Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
backend
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
亲子游项目
backend
Commits
c4ff573e
Commit
c4ff573e
authored
Dec 10, 2018
by
LiuJunYi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
地区分类
parent
e879c80f
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
137 additions
and
37 deletions
+137
-37
application/admin/controller/Project.php
+11
-4
application/admin/controller/Region.php
+11
-0
application/admin/view/project/save.html
+115
-33
No files found.
application/admin/controller/Project.php
View file @
c4ff573e
...
...
@@ -8,13 +8,11 @@
namespace
app\admin\controller
;
use
app\admin\controller\AuthBase
;
use
app\common\model\Admin
as
AdminModel
;
use
app\admin\controller\Upload
;
use
app\common\model\Catalogs
;
use
app\common\model\Citys
;
use
app\common\model\Project
as
ProjectModel
;
use
app\common\model\Tags
;
use
app\common\model\Region
as
RegionModel
;
class
Project
extends
AuthBase
{
...
...
@@ -552,13 +550,22 @@ class Project extends AuthBase
halt
(
$project
->
getLastSql
());
}
//商家保存
public
function
save
()
{
$level_1
=
RegionModel
::
where
(
'level'
,
1
)
->
select
();
$level_1
=
collection
(
$level_1
)
->
visible
([
'id'
,
'title'
]);
if
(
input
(
'id'
))
{
$info
=
ProjectModel
::
get
(
input
(
'id'
));
$info
[
'tags_arr'
]
=
explode
(
'|'
,
trim
(
$info
->
getData
(
'tags'
),
'|'
));
$this
->
assign
(
'info'
,
$info
);
//地域选择
$level_1_arr
=
$level_1
;
$level_2_arr
=
RegionModel
::
where
(
'level'
,
2
)
->
where
(
'pid'
,
$info
[
'level_1'
])
->
select
();
$level_3_arr
=
RegionModel
::
where
(
'level'
,
3
)
->
where
(
'pid'
,
$info
[
'level_2'
])
->
select
();
$this
->
assign
(
compact
(
'level_1_arr'
,
'level_2_arr'
,
'level_3_arr'
));
}
//分类
$catalogs
=
Catalogs
::
all
();
...
...
@@ -584,7 +591,7 @@ class Project extends AuthBase
$this
->
error
(
'操作失败'
);
}
}
return
$this
->
fetch
(
''
,
compact
(
'catalogs'
,
'city'
,
'tags'
));
return
$this
->
fetch
(
''
,
compact
(
'catalogs'
,
'city'
,
'tags'
,
'level_1'
));
}
//上传图片
...
...
application/admin/controller/Region.php
View file @
c4ff573e
...
...
@@ -61,6 +61,10 @@ class Region extends AuthBase
return
json
([
'code'
=>
1
,
'msg'
=>
'删除失败'
]);
}
/**
* 修改
* @return \think\response\Json
*/
public
function
edit
()
{
if
(
request
()
->
isAjax
())
{
...
...
@@ -74,6 +78,13 @@ class Region extends AuthBase
return
json
([
'code'
=>
1
,
'msg'
=>
'访问失败'
]);
}
/**
* 查询
* @return array|\think\response\Json
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public
function
select
()
{
if
(
input
(
'id'
)
==
0
){
...
...
application/admin/view/project/save.html
View file @
c4ff573e
...
...
@@ -5,6 +5,7 @@
<link
rel=
"stylesheet"
href=
"/static/datetimepicker/css/bootstrap-datetimepicker.min.css"
>
<link
rel=
"stylesheet"
href=
"/static/layui/css/layui.css"
>
<script
src=
"/static/layui/layui.js"
></script>
<script
src=
"https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.min.js"
></script>
<style
type=
"text/css"
>
...
...
@@ -22,13 +23,18 @@
margin
:
0
10px
10px
0
;
}
.click-a
{
.click-a
{
color
:
#428bca
;
}
.click-a
:hover
{
.click-a
:hover
{
color
:
#777
;
}
[
v-cloak
]
{
display
:
none
;
}
</style>
<section
class=
"wrapper"
style=
"padding-top: 20px;"
>
...
...
@@ -45,8 +51,10 @@
<label
class=
"col-sm-2 control-label text-right"
>
类型
</label>
<div
class=
"col-sm-10 col-md-8 col-lg-6"
>
<select
name=
"type"
class=
"form-control"
onchange=
"changeType(this.value)"
>
<option
value=
"1"
{
if
isset
($
info
['
type
'])}{
if
$
info
['
type
']==
1
}
selected
{/
if
}{/
if
}
>
活动
</option>
<option
value=
"2"
{
if
isset
($
info
['
type
'])}{
if
$
info
['
type
']==
2
}
selected
{/
if
}{/
if
}
>
商家
</option>
<option
value=
"1"
{
if
isset
($
info
[
'
type
'])}{
if
$
info
['
type
']==
1
}
selected
{/
if
}{/
if
}
>
活动
</option>
<option
value=
"2"
{
if
isset
($
info
[
'
type
'])}{
if
$
info
['
type
']==
2
}
selected
{/
if
}{/
if
}
>
商家
</option>
</select>
</div>
</div>
...
...
@@ -64,22 +72,41 @@
<div
class=
"col-sm-10 col-md-8 col-lg-6"
>
<select
class=
"form-control selectpicker"
name=
'catalog_id'
data-live-search=
"true"
>
{foreach $catalogs as $v}
<option
value=
"{$v['id']}"
{
if
!
empty
($
info
['
catalog_id
'])}
{
if
$
info
['
catalog_id
']==$
v
['
id
']}
selected
{/
if
}
{/
if
}
>
{$v['name']}
</option>
<option
value=
"{$v['id']}"
{
if
!
empty
($
info
[
'
catalog_id
'])}
{
if
$
info
['
catalog_id
']==$
v
['
id
']}
selected
{/
if
}
{/
if
}
>
{$v['name']}
</option>
{/foreach}
</select>
</div>
</div>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label text-right"
>
国内/国外
</label>
<div
class=
"col-sm-10 col-md-8 col-lg-6"
>
<select
name=
"region_type"
class=
"form-control"
>
<option
value=
"1"
{
if
isset
($
info
['
region_type
'])}{
if
$
info
['
region_type
']==
1
}
selected
{/
if
}{/
if
}
>
国内
</option>
<option
value=
"2"
{
if
isset
($
info
['
region_type
'])}{
if
$
info
['
region_type
']==
2
}
selected
{/
if
}{/
if
}
>
国外
</option>
<div
class=
"form-group"
id=
"select"
v-cloak
>
<label
class=
"col-sm-2 control-label text-right"
>
地区
</label>
<div
class=
"col-sm-10 col-md-8 col-lg-6 form-inline"
>
<select
class=
"form-control validate[required]"
name=
"level_1"
@
change=
"change(1,$event.srcElement.value)"
v-model=
"level_1_select"
>
<option
v-for=
"item in level_1"
:value=
"item.id"
>
{{item.title}}
</option>
</select>
<select
class=
"form-control validate[required]"
name=
"level_2"
@
change=
"change(2,$event.srcElement.value)"
v-model=
"level_2_select"
>
<option
v-for=
"item in level_2"
:value=
"item.id"
>
{{item.title}}
</option>
</select>
<select
class=
"form-control validate[required]"
name=
"level_3"
@
change=
"change(3,$event.srcElement.value)"
v-model=
"level_3_select"
>
<option
v-for=
"item in level_3"
:value=
"item.id"
>
{{item.title}}
</option>
</select>
</div>
</div>
<!--<div class="form-group">-->
<!--<label class="col-sm-2 control-label text-right">国内/国外</label>-->
<!--<div class="col-sm-10 col-md-8 col-lg-6">-->
<!--<select name="region_type" class="form-control">-->
<!--<option value="1" {if isset($info['region_type'])}{if $info['region_type']==1}selected{/if}{/if}>国内</option>-->
<!--<option value="2" {if isset($info['region_type'])}{if $info['region_type']==2}selected{/if}{/if}>国外</option>-->
<!--</select>-->
<!--</div>-->
<!--</div>-->
<div
class=
"form-group type_toggle type-activity"
id=
"time_period"
>
<label
class=
"col-sm-2 control-label text-right"
>
活动时间
</label>
<div
class=
"col-sm-10 col-md-8 col-lg-6"
>
...
...
@@ -104,23 +131,24 @@
</div>
</div>
<
div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label text-right"
>
城市
</label
>
<div
class=
"col-sm-10 col-md-8 col-lg-6"
>
<select
class=
"form-control selectpicker"
name=
'city'
data-live-search=
"true"
>
{foreach city as $v}
<option
value=
"{$v.id}"
{
if
!
empty
($
info
['
city
'])}
{
if
$
v
['
id
']==$
info
['
city
']}
selected
{/
if
}
{/
if
}
>
{$v['name']}
</option
>
{/foreach}
</select
>
</div
>
<
/div
>
<
!--<div class="form-group">--
>
<!--<label class="col-sm-2 control-label text-right">城市</label>--
>
<!--<div class="col-sm-10 col-md-8 col-lg-6">--
>
<!--<select class="form-control selectpicker" name='city' data-live-search="true">--
>
<!--{foreach city as $v}-->
<!--<option value="{$v.id}" {if !empty($info['city'])} {if $v['id']==$info['city']}selected{/if} {/if}>{$v['name']}</option>--
>
<!--{/foreach}-->
<!--</select>--
>
<!--</div>--
>
<
!--</div>--
>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label text-right"
>
标签
</label>
<div
class=
"col-sm-10 col-md-8 col-lg-6"
>
<select
class=
"selectpicker form-control"
name=
"tags[]"
multiple
data-live-search=
"true"
>
{foreach $tags as $v}
<option
value=
"{$v['id']}"
{
if
!
empty
($
info
['
tags
'])}
{
if
in_array
($
v
['
id
'],$
info
['
tags_arr
'])}
selected
{/
if
}
{/
if
}
>
{$v['name']}
</option>
<option
value=
"{$v['id']}"
{
if
!
empty
($
info
[
'
tags
'])}
{
if
in_array
($
v
['
id
'],$
info
['
tags_arr
'])}
selected
{/
if
}
{/
if
}
>
{$v['name']}
</option>
{/foreach}
</select>
</div>
...
...
@@ -139,13 +167,16 @@
<div
class=
"col-sm-10 col-md-8 col-lg-6 "
>
<div
class=
"input-group"
>
<span
class=
"input-group-addon"
>
经度
</span>
<input
step=
"0.000000000001"
type=
"number"
class=
"form-control validate[required]"
name=
"longitude"
placeholder=
"经度"
<input
step=
"0.000000000001"
type=
"number"
class=
"form-control validate[required]"
name=
"longitude"
placeholder=
"经度"
value=
"{$info['longitude']??'';}"
>
<span
class=
"input-group-addon"
>
纬度
</span>
<input
step=
"0.000000000001"
type=
"number"
class=
"form-control validate[required]"
name=
"latitude"
placeholder=
"纬度"
<input
step=
"0.000000000001"
type=
"number"
class=
"form-control validate[required]"
name=
"latitude"
placeholder=
"纬度"
value=
"{$info['latitude']??'';}"
>
</div>
<span
class=
"form-group-tip"
>
经纬度在地图上搜索并复制粘贴过来即可,
<a
class=
"click-a"
href=
"http://www.gpsspg.com/maps.htm"
<span
class=
"form-group-tip"
>
经纬度在地图上搜索并复制粘贴过来即可,
<a
class=
"click-a"
href=
"http://www.gpsspg.com/maps.htm"
target=
"_blank"
>
立即查看地图
</a>
。
</span>
</div>
</div>
...
...
@@ -153,7 +184,8 @@
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label text-right"
>
价格
</label>
<div
class=
"col-sm-10 col-md-8 col-lg-6"
>
<input
step=
"0.01"
type=
"number"
class=
"form-control validate[required,custom[number]]"
name=
"price"
placeholder=
"价格"
<input
step=
"0.01"
type=
"number"
class=
"form-control validate[required,custom[number]]"
name=
"price"
placeholder=
"价格"
value=
"{$info['price']??'';}"
>
</div>
</div>
...
...
@@ -222,7 +254,8 @@
<div
class=
"layui-upload-list"
>
<img
class=
"layui-upload-img"
id=
"dome2"
{
:isset
($
info
['
kf_qrcode
'])?"
src=
'".$info->getData('
kf_qrcode
')."'"
:
''}
>
<!-- <input type="hidden" name="kf_qrcode" value="{:isset($info['kf_qrcode'])?"src='".$info->getData('kf_qrcode')."'":''}" id="qrcode-input"> -->
<input
type=
"hidden"
name=
"kf_qrcode"
value=
"{:isset($info['kf_qrcode'])?$info->getData('kf_qrcode'):''}"
id=
"qrcode-input"
>
<input
type=
"hidden"
name=
"kf_qrcode"
value=
"{:isset($info['kf_qrcode'])?$info->getData('kf_qrcode'):''}"
id=
"qrcode-input"
>
</div>
</div>
</div>
...
...
@@ -257,8 +290,7 @@
<script
type=
"text/javascript"
src=
"/static/validation/js/jquery.validationEngine-zh_CN.js"
></script>
<script
type=
"text/javascript"
src=
"/static/validation/js/jquery.validationEngine.js"
></script>
<script
type=
"text/javascript"
src=
"/static/datetimepicker/js/bootstrap-datetimepicker.min.js"
></script>
<script
type=
"text/javascript"
src=
"/static/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"
></script>
<script
type=
"text/javascript"
src=
"/static/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"
>
<
/scrip
t
<!--
编辑器配置文件
-->
<
script
src
=
"/static/qiniu_ueditor143/ueditor.config.js"
>
</script>
<script
src=
"/static/qiniu_ueditor143/ueditor.all.min.js"
></script>
...
...
@@ -296,6 +328,7 @@
$
(
'.type-business'
).
fadeIn
();
}
}
layui
.
use
([
'jquery'
,
'upload'
,
'form'
,
'layer'
],
function
()
{
var
$
=
layui
.
jquery
,
upload
=
layui
.
upload
...
...
@@ -375,14 +408,14 @@
var
ueditor
=
UE
.
getEditor
(
'post_container'
,
{
//编辑区域大小
'initialFrameHeight'
:
'350'
,
'elementPathEnabled'
:
false
,
'initialFrameHeight'
:
'350'
,
'elementPathEnabled'
:
false
,
'autoHeight'
:
false
,
'autoHeightEnabled'
:
false
,
'autoHeightEnabled'
:
false
,
'autoFloatEnabled'
:
false
,
'iframeCssUrl'
:
'/static/qiniu_ueditor143/themes/iframe.css'
,
// 引入css
//定制菜单
'toolbars'
:
[
'toolbars'
:
[
[
'fullscreen'
,
'source'
,
'undo'
,
'redo'
,
'|'
,
'fontsize'
,
...
...
@@ -400,5 +433,54 @@
});
//地域选择器
var
level_1
=
JSON
.
parse
(
'{:json_encode($level_1)}'
);
level_1
.
unshift
({
id
:
0
,
title
:
'全部'
});
var
app
=
new
Vue
({
el
:
'#select'
,
data
:
{
level_1
:
level_1
,
level_2
:
[{
id
:
0
,
title
:
'全部'
}],
level_3
:
[{
id
:
0
,
title
:
'全部'
}],
level_1_select
:
0
,
level_2_select
:
0
,
level_3_select
:
0
,
},
methods
:
{
change
:
function
(
level
,
id
)
{
layer
.
load
(
2
);
var
level
=
level
;
$
.
post
(
"{:url('Region/select')}"
,
{
id
:
id
},
function
(
data
)
{
layer
.
closeAll
();
if
(
level
==
1
)
{
app
.
$data
.
level_2
=
data
;
app
.
$data
.
level_2
.
unshift
({
id
:
0
,
title
:
'全部'
});
app
.
$data
.
level_3
=
[{
id
:
0
,
title
:
'全部'
}];
app
.
$data
.
level_2_select
=
0
;
app
.
$data
.
level_3_select
=
0
;
}
else
if
(
level
==
2
)
{
app
.
$data
.
level_3
=
data
;
app
.
$data
.
level_3
.
unshift
({
id
:
0
,
title
:
'全部'
});
app
.
$data
.
level_3_select
=
0
;
}
});
}
},
{
if
isset
(
$info
)}
mounted
:
function
()
{
this
.
$data
.
level_1_select
=
{
$info
[
'level_1'
]?:
0
;};
this
.
$data
.
level_2_select
=
{
$info
[
'level_2'
]?:
0
;};
this
.
$data
.
level_3_select
=
{
$info
[
'level_3'
]?:
0
;};
this
.
$data
.
level_1
=
JSON
.
parse
(
'{:json_encode($level_1_arr)}'
);
this
.
$data
.
level_2
=
JSON
.
parse
(
'{:json_encode($level_2_arr)}'
);
this
.
$data
.
level_3
=
JSON
.
parse
(
'{:json_encode($level_3_arr)}'
);
this
.
$data
.
level_1
.
unshift
({
id
:
0
,
title
:
'全部'
});
this
.
$data
.
level_2
.
unshift
({
id
:
0
,
title
:
'全部'
});
this
.
$data
.
level_3
.
unshift
({
id
:
0
,
title
:
'全部'
});
}
{
/if
}
}
);
</script>
</section>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment