Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
store-system
Project
Project
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
luoyangfei
store-system
Commits
7de07c63
Commit
7de07c63
authored
Nov 08, 2018
by
扫地僧
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
半成品
parent
178f14ed
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
747 additions
and
145 deletions
+747
-145
index.js
2code/web/mgt_pro/config/index.js
+2
-2
adver.js
2code/web/mgt_pro/src/api/adver.js
+2
-2
system.js
2code/web/mgt_pro/src/api/system.js
+9
-0
index.js
2code/web/mgt_pro/src/router/index.js
+5
-5
administratorstList.vue
.../mgt_pro/src/views/administrators/administratorstList.vue
+102
-32
advertList.vue
2code/web/mgt_pro/src/views/advert/advertList.vue
+369
-77
ViewPage.vue
2code/web/mgt_pro/src/views/advert/components/ViewPage.vue
+77
-0
cropper.vue
2code/web/mgt_pro/src/views/advert/components/cropper.vue
+142
-0
user.vue
2code/web/mgt_pro/src/views/system/user.vue
+39
-27
No files found.
2code/web/mgt_pro/config/index.js
View file @
7de07c63
...
...
@@ -13,8 +13,8 @@ module.exports = {
proxyTable
:
{},
// Various Dev Server settings
host
:
'localhost'
,
// can be overwritten by process.env.HOST
// host: '192.168.1.100
', // can be overwritten by process.env.HOST
//
host: 'localhost', // can be overwritten by process.env.HOST
host
:
'192.168.1.112
'
,
// can be overwritten by process.env.HOST
port
:
9527
,
// can be overwritten by process.env.PORT, if port is in use, a free one will be determined
autoOpenBrowser
:
true
,
errorOverlay
:
true
,
...
...
2code/web/mgt_pro/src/api/adver.js
View file @
7de07c63
import
request
from
'./request'
import
qs
from
'qs'
export
function
getA
dvertList
(
data
)
{
export
function
a
dvertList
(
data
)
{
return
request
({
url
:
'/advert/
getA
dvertList'
,
url
:
'/advert/
a
dvertList'
,
method
:
'post'
,
data
:
qs
.
stringify
(
data
)
})
...
...
2code/web/mgt_pro/src/api/system.js
View file @
7de07c63
...
...
@@ -37,6 +37,15 @@ export function queryAllSysRole() {
})
}
// 选择管理员
export
function
queryAllShopAdmin
()
{
return
request
({
url
:
'/sysRole/queryAllSysRole'
,
method
:
'post'
,
})
}
// --------user---end-----------
...
...
2code/web/mgt_pro/src/router/index.js
View file @
7de07c63
...
...
@@ -54,18 +54,18 @@ export const asyncRouterMap = [
//
商家
管理
//
店铺
管理
{
path
:
'/store'
,
alwaysShow
:
true
,
component
:
Layout
,
redirect
:
'/store/storeList'
,
meta
:
{
title
:
'
商家
管理'
,
title
:
'
店铺
管理'
,
icon
:
'cheliang'
},
children
:
[
{
path
:
'storeList'
,
component
:
_import
(
'store/storeList'
),
name
:
'store_storeList'
,
meta
:
{
title
:
'
商家
列表'
}}
{
path
:
'storeList'
,
component
:
_import
(
'store/storeList'
),
name
:
'store_storeList'
,
meta
:
{
title
:
'
店铺
列表'
}}
]
},
...
...
@@ -84,14 +84,14 @@ export const asyncRouterMap = [
]
},
// 店铺管理
// 店铺管理
员
{
path
:
'/administrators'
,
alwaysShow
:
true
,
component
:
Layout
,
redirect
:
'/administrators/administratorstList'
,
meta
:
{
title
:
'店铺管理'
,
title
:
'店铺管理
员
'
,
icon
:
'cheliang'
},
children
:
[
...
...
2code/web/mgt_pro/src/views/administrators/administratorstList.vue
View file @
7de07c63
...
...
@@ -11,9 +11,26 @@
<el-row
:gutter=
"15"
>
<el-col
:span=
"4"
>
<el-col
class=
"input-name"
:span=
"7"
>
管理员名称
</el-col>
<el-col
:span=
"17"
><el-input
placeholder=
"请输入关键字"
v-model=
"seacherParam.
repairWorker
Name"
@
keyup
.
enter
.
native=
"seachFun"
></el-input></el-col>
<el-col
:span=
"17"
><el-input
placeholder=
"请输入关键字"
v-model=
"seacherParam.
administrators
Name"
@
keyup
.
enter
.
native=
"seachFun"
></el-input></el-col>
</el-col>
<!--
<el-col
:xl=
"4"
:lg=
"6"
:md=
"6"
:sm=
"8"
id=
"visReason"
>
<el-col
class=
"input-name"
:xl=
"7"
:lg=
"7"
:md=
"7"
:sm=
"7"
>
审核状态
</el-col>
<el-col
:xl=
"17"
:lg=
"17"
:md=
"17"
:sm=
"17"
>
<el-select
v-model=
"seacherParam.isAuditing"
placeholder=
"请选择"
>
<el-option
v-for=
"item in isAuditingData"
:key=
"item.code"
:label=
"item.name"
:value=
"item.code"
>
</el-option>
</el-select>
</el-col>
</el-col>
-->
</el-row>
</el-card>
<el-card>
<div
slot=
"header"
class=
"clearfix"
>
...
...
@@ -26,19 +43,32 @@
<el-table
empty-text=
"暂无数据"
:stripe=
"true"
:data=
"dataOption"
v-loading=
"!dataOption"
>
<el-table-column
prop=
"
repairWorker
Name"
label=
"姓名"
></el-table-column>
<el-table-column
label=
"性别"
>
<el-table-column
prop=
"
administrators
Name"
label=
"姓名"
></el-table-column>
<
!--
<
el-table-column
label=
"性别"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
sex
===
1
?
'男'
:
'女'
}}
</span>
</
template
>
</el-table-column>
-->
<el-table-column
prop=
"contactNumber"
label=
"联系电话"
></el-table-column>
<el-table-column
prop=
"wechat"
label=
"微信"
></el-table-column>
<el-table-column
prop=
"qq"
label=
"qq"
></el-table-column>
<!-- <el-table-column prop="qrCode" label="二维码"></el-table-column> -->
<el-table-column
label=
"二维码"
>
<
template
slot-scope=
"scope"
>
<img
:src=
"scope.row.qrCode"
style=
"width:80px;height:80px;"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"repairWorkerPhone"
label=
"电话"
></el-table-column>
<el-table-column
prop=
"repairWorkerIdCard"
label=
"身份证号"
></el-table-column>
<el-table-column
label=
"创建时间"
>
<
template
slot-scope=
"scope"
>
<span>
{{
fattTime
(
scope
.
row
.
createTime
)
}}
</span>
</
template
>
</el-table-column>
<!-- <el-table-column label="审核状态">
<template slot-scope="scope">
<span>{{scope.row.isAuditing===1?'已审核':'未审核'}}</span>
</template>
</el-table-column> -->
<el-table-column
label=
"操作"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"primary"
circle
class=
"table-icon"
@
click=
"check(scope.row)"
><i
class=
"iconfont icon-chakan"
></i></el-button>
...
...
@@ -73,40 +103,65 @@
<div
class=
"dialog-body-content"
>
<el-row
:gutter=
"15"
>
<el-col
:span=
"8"
class=
"content-left"
><label>
姓名
</label></el-col>
<el-col
:span=
"8"
class=
"content-left"
><label>
名称
</label></el-col>
<el-col
:span=
"16"
class=
"content-right"
>
<el-input
v-if=
"dialogType===1 || dialogType===2"
size=
"small"
placeholder=
"请输入
姓名"
v-model=
"dialogBindData.repairWorker
Name"
></el-input>
<span
v-else
>
{{dialogBindData.
repairWorker
Name}}
</span>
<el-input
v-if=
"dialogType===1 || dialogType===2"
size=
"small"
placeholder=
"请输入
管理员名称"
v-model=
"dialogBindData.administrators
Name"
></el-input>
<span
v-else
>
{{dialogBindData.
administrators
Name}}
</span>
</el-col>
</el-row>
<
el-row
:gutter=
"15
"
>
<el-col
:span=
"8"
class=
"content-left"
><label>
性别
</label></el-col>
<
!-- <el-row :gutter="15" v-if="dialogType===3
">
<el-col :span="8" class="content-left"><label>
审核状态
</label></el-col>
<el-col :span="16" class="content-right">
<el-radio-group
v-if=
"dialogType===1 || dialogType===2"
v-model=
"dialogBindData.
sex
"
>
<el-radio
size=
"small"
:label=
"1"
>
男
</el-radio>
<el-radio
size=
"small"
:label=
"0"
>
女
</el-radio>
<el-radio-group v-if="dialogType===1 || dialogType===2" v-model="dialogBindData.
isAuditing
">
<el-radio size="small" :label="1">
已审核
</el-radio>
<el-radio size="small" :label="0">
未审核
</el-radio>
</el-radio-group>
<span
v-else
>
{{dialogBindData.
sex===1?"男":"女
"}}
</span>
<span v-else>{{dialogBindData.
isAuditing===1?"已审核":"未审核
"}}</span>
</el-col>
</el-row>
</el-row>
-->
<el-row
:gutter=
"15"
>
<el-col
:span=
"8"
class=
"content-left"
><label>
电话
</label></el-col>
<el-col
:span=
"16"
class=
"content-right"
>
<el-input
v-if=
"dialogType===1 || dialogType===2"
size=
"small"
placeholder=
"请输入电话号码"
v-model=
"dialogBindData.repairWorkerPhone"
></el-input>
<span
v-else
>
{{dialogBindData.repairWorkerPhone}}
</span>
<el-input
v-if=
"dialogType===1 || dialogType===2"
size=
"small"
placeholder=
"请输入电话号码"
v-model=
"dialogBindData.contactNumber"
></el-input>
<span
v-else
>
{{dialogBindData.contactNumber}}
</span>
</el-col>
</el-row>
<el-row
:gutter=
"15"
>
<el-col
:span=
"8"
class=
"content-left"
><label>
微信
</label></el-col>
<el-col
:span=
"16"
class=
"content-right"
>
<el-input
v-if=
"dialogType===1 || dialogType===2"
size=
"small"
placeholder=
"请输入微信号"
v-model=
"dialogBindData.wechat"
></el-input>
<span
v-else
>
{{dialogBindData.wechat}}
</span>
</el-col>
</el-row>
<el-row
:gutter=
"15"
>
<el-col
:span=
"8"
class=
"content-left"
><label>
QQ
</label></el-col>
<el-col
:span=
"16"
class=
"content-right"
>
<el-input
v-if=
"dialogType===1 || dialogType===2"
size=
"small"
placeholder=
"请输入QQ"
v-model=
"dialogBindData.qq"
></el-input>
<span
v-else
>
{{dialogBindData.qq}}
</span>
</el-col>
</el-row>
<el-row
:gutter=
"15"
>
<el-col
:span=
"8"
class=
"content-left"
><label>
身份证号
</label></el-col>
<el-col
:span=
"8"
class=
"content-left"
><label>
二维码
</label></el-col>
<el-col
:span=
"16"
class=
"content-right"
>
<el-input
v-if=
"dialogType===1 || dialogType===2"
size=
"small"
placeholder=
"请输入身份证号"
v-model=
"dialogBindData.repairWorkerIdCard"
></el-input>
<span
v-else
>
{{dialogBindData.repairWorkerIdCard}}
</span>
<up-load-img
ref=
"imgComponent"
v-if=
"dialogType===1 || dialogType===2"
width=
"120"
height=
"120"
resPath=
"qrCode"
:type=
"dialogType===2"
:viewUrl=
"this.dialogBindData.qrCode"
@
emitSuccess=
"handleImgLoad"
>
</up-load-img>
<img
@
click=
"magnify(dialogBindData.qrCode)"
v-else
:src=
"dialogBindData.qrCode"
width=
"120"
height=
"120"
>
</el-col>
</el-row>
...
...
@@ -126,12 +181,22 @@
import
*
as
admin
from
"../../api/administrators"
;
import
*
as
common
from
"../../api/common"
;
import
{
fattCreateTime
}
from
"../../utils/fattTime"
;
import
UpLoadImg
from
"@/components/UpLoadImg"
;
export
default
{
components
:
{
UpLoadImg
},
data
()
{
return
{
seacherParam
:
{
repairWorkerName
:
""
administratorsName
:
""
,
isAuditing
:
""
},
//审核状态 选择数据项
isAuditingData
:
[
{
code
:
"0"
,
name
:
"未审核"
},
{
code
:
"1"
,
name
:
"已审核"
}
],
// 表格数据
dataOption
:
null
,
// 分页数据
...
...
@@ -144,10 +209,13 @@ export default {
dialogBindData
:
{
repairWorkerId
:
""
,
repairWorkerName
:
""
,
sex
:
1
,
repairWorkerPhone
:
""
,
administratorsName
:
""
,
contactNumber
:
""
,
wechat
:
""
,
qq
:
""
,
qrCode
:
""
,
isAuditing
:
1
,
createTime
:
""
,
repairWorkerIdCard
:
""
},
// 是否提交
...
...
@@ -224,13 +292,9 @@ export default {
}
},
submmitFun
()
{
// if (this.dialogType === 1) {
// alert(`添加${JSON.stringify(this.dialogBindData)}`);
// } else {
// alert(`编辑${JSON.stringify(this.dialogBindData)}`);
// }
// 发送添加请求
const
isSubmitActive
=
this
.
dialogBindData
.
repairWorkerName
&&
this
.
dialogBindData
.
repairWorkerPhone
&&
this
.
dialogBindData
.
repairWorkerIdCard
;
const
isSubmitActive
=
this
.
dialogBindData
.
administratorsName
&&
this
.
dialogBindData
.
contactNumber
&&
this
.
dialogBindData
.
wechat
&&
this
.
dialogBindData
.
qq
&&
this
.
dialogBindData
.
qrCode
;
if
(
isSubmitActive
)
{
this
.
submmitSuccess
=
true
;
admin
.
addOrEditAdministrators
(
this
.
dialogBindData
).
then
(
res
=>
{
...
...
@@ -305,7 +369,13 @@ export default {
});
}
});
}
},
handleImgLoad
(
url
)
{
this
.
dialogBindData
.
qrCode
=
url
;
},
},
computed
:
{
// 激活重置按钮
...
...
2code/web/mgt_pro/src/views/advert/advertList.vue
View file @
7de07c63
...
...
@@ -9,10 +9,39 @@
</div>
</div>
<el-row
:gutter=
"15"
>
<el-col
:span=
"4"
>
<el-col
class=
"input-name"
:span=
"7"
>
维修工名称
</el-col>
<el-col
:span=
"17"
><el-input
placeholder=
"请输入关键字"
v-model=
"seacherParam.repairWorkerName"
@
keyup
.
enter
.
native=
"seachFun"
></el-input></el-col>
<el-col
:xl=
"4"
:lg=
"6"
:md=
"6"
:sm=
"8"
>
<el-col
class=
"input-name"
:span=
"7"
>
活动名称
</el-col>
<el-col
:span=
"17"
><el-input
placeholder=
"请输入关键字"
v-model=
"seacherParam.advertTitle"
@
keyup
.
enter
.
native=
"seachFun"
></el-input></el-col>
</el-col>
<el-col
:span=
"4"
:lg=
"6"
:md=
"6"
:sm=
"8"
>
<el-col
class=
"input-name"
:span=
"7"
>
启用状态
</el-col>
<el-col
:span=
"17"
style=
"line-height:40px"
>
<el-select
v-model=
"seacherParam.isAvailable"
placeholder=
"请选择"
>
<el-option
v-for=
"item in isAvailableData"
:key=
"item.code"
:label=
"item.name"
:value=
"item.code"
>
</el-option>
</el-select>
</el-col>
</el-col>
<!--
<el-col
:span=
"4"
>
<el-col
class=
"input-name"
:span=
"7"
>
审核状态
</el-col>
<el-col
:span=
"17"
style=
"line-height:40px"
>
<el-select
v-model=
"seacherParam.censorStatus"
placeholder=
"请选择"
>
<el-option
v-for=
"item in censorStatusData"
:key=
"item.code"
:label=
"item.name"
:value=
"item.code"
>
</el-option>
</el-select>
</el-col>
</el-col>
-->
</el-row>
</el-card>
<el-card>
...
...
@@ -26,51 +55,89 @@
<el-table
empty-text=
"暂无数据"
:stripe=
"true"
:data=
"dataOption"
v-loading=
"!dataOption"
>
<el-table-column
prop=
"repairWorkerName"
label=
"姓名"
></el-table-column>
<el-table-column
label=
"
性别
"
>
<el-table-column
label=
"
活动标题
"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
sex
===
1
?
'男'
:
'女
'
}}
</span>
<span>
{{
`${scope.row.advertTitle
}
-${scope.row.advertTitle
}
`
||
'暂无数据
'
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<el-table-column
prop=
"repairWorkerPhone"
label=
"电话"
></el-table-column>
<el-table-column
prop=
"repairWorkerIdCard"
label=
"身份证号"
></el-table-column>
<el-table-column
label=
"创建时间"
>
<
el
-
table
-
column
prop
=
"linkUrl"
label
=
"链接地址"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"启用状态"
>
<
template
slot
-
scope
=
"scope"
>
<span>
{{
fattTime
(
scope
.
row
.
createTime
)
}}
</span>
<
span
>
{{
scope
.
row
.
isAvailable
==
1
?
'已启用'
:
'未启用'
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<!-- <el-table-column prop="memo" label="备注"></el-table-column> -->
<!-- <el-table-column label="启用状态">
<!--
<
el
-
table
-
column
label
=
"审核状态"
>
<
template
slot
-
scope
=
"scope"
>
<span>
<el-switch
v-model="scope.row.isVailable"
:active-value="1"
:inactive-value="0"
@change="handleIsVailable(scope.row)">
</el-switch>
</span>
<
span
>
{{
viewCensorStatus
(
scope
.
row
.
censorStatus
)
}}
<
/span
>
<
/template
>
<
/el-table-column> --
>
<
el
-
table
-
column
label
=
"创建时间"
>
<
template
slot
-
scope
=
"scope"
>
<
span
>
{{
scope
.
row
.
createTime
?
fattTime
(
scope
.
row
.
createTime
):
'暂无数据'
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<!--
<
el
-
table
-
column
prop
=
"memo"
label
=
"备注"
><
/el-table-column> --
>
<
el
-
table
-
column
label
=
"操作"
>
<
template
slot
-
scope
=
"scope"
>
<
el
-
button
type
=
"primary"
circle
class
=
"table-icon"
@
click
=
"check(scope.row)"
><
i
class
=
"iconfont icon-chakan"
><
/i></
el
-
button
>
<el-button
type=
"primary"
icon=
"el-icon-edit"
circle
class=
"table-icon"
@
click=
"edit(scope.row)"
></el-button>
<
el
-
button
v
-
if
=
"scope.row.isAvailable===0"
type
=
"primary"
icon
=
"el-icon-edit"
circle
class
=
"table-icon"
@
click
=
"edit(scope.row)"
><
/el-button
>
<!--
<
el
-
popover
v
-
if
=
"scope.row.censorStatus!=1"
placement
=
"top"
width=
"160"
v-model=
"scope.row.delState"
>
<p
style=
"margin-bottom:10px;font-weight:700;"
>
确认删除吗?
</p>
trigger
=
"hover"
width
=
"240"
v
-
model
=
"scope.row.delState1"
>
<
p
style
=
"margin-bottom:10px;font-weight:700;"
>
审核
<
/p
>
<
div
style
=
"padding:10px 0;"
>
<
template
>
<
el
-
radio
v
-
model
=
"censorStatus"
:
label
=
"1"
>
已审核
<
/el-radio
>
<
el
-
radio
v
-
model
=
"censorStatus"
:
label
=
"2"
>
未通过
<
/el-radio
>
<
/template
>
<
/div
>
<
div
style
=
"text-align: right; margin: 0"
>
<el-button
size=
"mini"
type=
"text"
@
click=
"scope.row.delState = false"
>
取消
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"
del
(scope.row)"
>
确定
</el-button>
<
el
-
button
size
=
"mini"
type
=
"text"
@
click
=
"scope.row.delState
1
= false"
>
取消
<
/el-button
>
<
el
-
button
type
=
"primary"
size
=
"mini"
@
click
=
"
handleCensor
(scope.row)"
>
确定
<
/el-button
>
<
/div
>
<el-button
slot=
"reference"
type=
"warning"
circle
icon=
"el-icon-
delete
"
class=
"table-icon popver-btn"
></el-button>
<
el
-
button
slot
=
"reference"
type
=
"warning"
circle
icon
=
"el-icon-
setting
"
class
=
"table-icon popver-btn"
><
/el-button
>
<
/el-popover> --
>
<
el
-
popover
v
-
if
=
"scope.row.censorStatus==1&&scope.row.isAvailable==0"
placement
=
"top"
width
=
"160"
trigger
=
"hover"
v
-
model
=
"scope.row.delState2"
>
<
p
style
=
"margin-bottom:10px;font-weight:700;"
>
确定启用吗?
<
/p
>
<
div
style
=
"text-align: right; margin: 0"
>
<
el
-
button
size
=
"mini"
type
=
"text"
@
click
=
"scope.row.delState2 = false"
>
取消
<
/el-button
>
<
el
-
button
type
=
"primary"
size
=
"mini"
@
click
=
"handleUserState(scope.row)"
>
确定
<
/el-button
>
<
/div
>
<
el
-
button
slot
=
"reference"
type
=
"success"
icon
=
"el-icon-circle-check-outline
"
circle
class
=
"table-icon popver-btn"
><
/el-button
>
<
/el-popover
>
<
el
-
popover
v
-
if
=
"scope.row.censorStatus==1&&scope.row.isAvailable==1"
placement
=
"top"
width
=
"160"
trigger
=
"hover"
v
-
model
=
"scope.row.delState2"
>
<
p
style
=
"margin-bottom:10px;font-weight:700;"
>
确定停用吗?
<
/p
>
<
div
style
=
"text-align: right; margin: 0"
>
<
el
-
button
size
=
"mini"
type
=
"text"
@
click
=
"scope.row.delState2 = false"
>
取消
<
/el-button
>
<
el
-
button
type
=
"primary"
size
=
"mini"
@
click
=
"handleUserState(scope.row)"
>
确定
<
/el-button
>
<
/div
>
<
el
-
button
slot
=
"reference"
type
=
"warning"
icon
=
"el-icon-circle-close-outline"
circle
class
=
"table-icon popver-btn"
><
/el-button
>
<
/el-popover
>
<
/template
>
<
/el-table-column
>
<
/el-table
>
...
...
@@ -97,58 +164,126 @@
<
el
-
dialog
:
title
=
"dialogTitle"
:
visible
.
sync
=
"dialogState"
width=
"30%"
:
width
=
"dialogType==3?'100%':'80%'"
:
fullscreen
=
"dialogType==3"
:
before
-
close
=
"handleClose"
>
<
div
class
=
"dialog-body-content"
>
<el-row
:gutter=
"15"
>
<el-col
:span=
"8"
class=
"content-left"
><label>
姓名
</label></el-col>
<el-col
:span=
"16"
class=
"content-right"
>
<el-input
v-if=
"dialogType===1 || dialogType===2"
size=
"small"
placeholder=
"请输入姓名"
v-model=
"dialogBindData.repairWorkerName"
></el-input>
<span
v-else
>
{{dialogBindData.repairWorkerName}}
</span>
</el-col>
</el-row>
<el-row
:gutter=
"15"
>
<el-col
:span=
"8"
class=
"content-left"
><label>
性别
</label></el-col>
<el-col
:span=
"16"
class=
"content-right"
>
<el-radio-group
v-if=
"dialogType===1 || dialogType===2"
v-model=
"dialogBindData.sex"
>
<el-radio
size=
"small"
:label=
"1"
>
男
</el-radio>
<el-radio
size=
"small"
:label=
"0"
>
女
</el-radio>
<
el
-
row
:
gutter
=
"12"
>
<
el
-
col
:
span
=
"dialogType==3?12:8"
>
<
h1
class
=
"food-title"
>
活动信息
<
/h1
>
<!--
<
el
-
row
:
gutter
=
"15"
>
<
el
-
col
:
span
=
"6"
class
=
"content-left"
><
label
>
类型
<
/label></
el
-
col
>
<
el
-
col
:
span
=
"18"
class
=
"content-right"
style
=
"width:330px"
>
<
el
-
radio
-
group
v
-
if
=
"dialogType===1 || dialogType===2"
v
-
model
=
"dialogBindData.advertType"
>
<
el
-
radio
size
=
"small"
:
label
=
"1"
>
活动广告
<
/el-radio
>
<
el
-
radio
size
=
"small"
:
label
=
"2"
>
系统公告
<
/el-radio
>
<
el
-
radio
size
=
"small"
:
label
=
"3"
>
新闻资讯
<
/el-radio
>
<
/el-radio-group
>
<span
v-else
>
{{dialogBindData.sex===1?"男":"女"
}}
</span>
<
span
v
-
else
>
{{
viewAdverType
(
dialogBindData
.
advertType
)
}}
<
/span
>
<
/el-col
>
</el-row
>
<
/el-row> --
>
<!--
<
el
-
row
:
gutter
=
"15"
>
<
el
-
col
:
span
=
"6"
class
=
"content-left"
><
label
>
名称
<
/label></
el
-
col
>
<
el
-
col
:
span
=
"18"
class
=
"content-right"
>
<
el
-
input
v
-
if
=
"dialogType===1 || dialogType===2"
size
=
"small"
placeholder
=
"请输入活动名称"
resize
=
"none"
v
-
model
=
"dialogBindData.advertName"
><
/el-input
>
<
span
v
-
else
>
{{
dialogBindData
.
advertName
}}
<
/span
>
<
/el-col
>
<
/el-row> --
>
<
el
-
row
:
gutter
=
"15"
>
<el-col
:span=
"8"
class=
"content-left"
><label>
电话
</label></el-col>
<el-col
:span=
"16
"
class=
"content-right"
>
<el-input
v-if=
"dialogType===1 || dialogType===2"
size=
"small"
placeholder=
"请输入电话号码"
v-model=
"dialogBindData.repairWorkerPhon
e"
></el-input>
<span
v-else
>
{{dialogBindData.repairWorkerPhon
e}}
</span>
<
el
-
col
:
span
=
"6"
class
=
"content-left"
><
label
>
标题
<
/label></
el
-
col
>
<
el
-
col
:
span
=
"18
"
class
=
"content-right"
>
<
el
-
input
v
-
if
=
"dialogType===1 || dialogType===2"
size
=
"small"
type
=
"textarea"
rows
=
"3"
placeholder
=
"请输入活动标题"
resize
=
"none"
v
-
model
=
"dialogBindData.advertTitl
e"
><
/el-input
>
<
span
v
-
else
>
{{
dialogBindData
.
advertTitl
e
}}
<
/span
>
<
/el-col
>
<
/el-row
>
<!--
<
el
-
row
:
gutter
=
"15"
>
<
el
-
col
:
span
=
"6"
class
=
"content-left"
><
label
>
副标题
<
/label></
el
-
col
>
<
el
-
col
:
span
=
"18"
class
=
"content-right"
>
<
el
-
input
v
-
if
=
"dialogType===1 || dialogType===2"
size
=
"small"
type
=
"textarea"
rows
=
"3"
placeholder
=
"请输入活动副标题"
resize
=
"none"
v
-
model
=
"dialogBindData.advertSubtitle"
><
/el-input
>
<
span
v
-
else
>
{{
dialogBindData
.
advertSubtitle
}}
<
/span
>
<
/el-col
>
<
/el-row> --
>
<!--
<
el
-
row
:
gutter
=
"15"
>
<
el
-
col
:
span
=
"6"
class
=
"content-left"
><
label
>
外链地址
<
/label></
el
-
col
>
<
el
-
col
:
span
=
"18"
class
=
"content-right"
>
<
el
-
input
v
-
if
=
"dialogType===1 || dialogType===2"
size
=
"small"
placeholder
=
"请插入外链地址"
v
-
model
=
"dialogBindData.linkUrl"
><
/el-input
>
<
span
v
-
else
>
{{
dialogBindData
.
linkUrl
}}
<
/span
>
<
/el-col
>
<
/el-row> --
>
<!--
<
el
-
row
:
gutter
=
"15"
v
-
if
=
"dialogBindData.advertType!==2"
>
<
el
-
col
:
span
=
"6"
class
=
"content-left"
><
label
>
图片
<
/label></
el
-
col
>
<
el
-
col
:
span
=
"18"
class
=
"content-right"
>
<
tailor
width
=
"246"
height
=
"144"
imageType
=
'banner'
resPath
=
"advertImg"
:
type
=
"dialogType"
@
emitSuccess
=
"handleImgLoad"
:
viewUrl
=
"this.dialogBindData.advertPicUrl"
v
-
if
=
"dialogType===1 || dialogType===2"
>
<
/tailor
>
<
img
v
-
else
:
src
=
"this.dialogBindData.advertPicUrl"
width
=
"216"
height
=
"144"
>
<
/el-col
>
<
/el-row> --
>
<
el
-
row
:
gutter
=
"15"
>
<el-col
:span=
"8"
class=
"content-left"
><label>
身份证号
</label></el-col>
<el-col
:span=
"16"
class=
"content-right"
>
<el-input
v-if=
"dialogType===1 || dialogType===2"
size=
"small"
placeholder=
"请输入身份证号"
v-model=
"dialogBindData.repairWorkerIdCard"
></el-input>
<span
v-else
>
{{dialogBindData.repairWorkerIdCard}}
</span>
<
el
-
col
:
span
=
"6"
class
=
"content-left"
><
label
>
图片
<
/label></
el
-
col
>
<
el
-
col
:
span
=
"18"
class
=
"content-right"
>
<
up
-
load
-
img
ref
=
"imgComponent"
v
-
if
=
"dialogType===1 || dialogType===2"
width
=
"246"
height
=
"144"
resPath
=
"advertImg"
:
type
=
"dialogType"
:
viewUrl
=
"this.dialogBindData.advertPicUrl"
@
emitSuccess
=
"handleImgLoad"
>
<
/up-load-img
>
<
img
@
click
=
"magnify(dialogBindData.advertPicUrl)"
v
-
else
:
src
=
"dialogBindData.advertPicUrl"
width
=
"246"
height
=
"144"
>
<
/el-col
>
<
/el-row
>
<!--
<
el
-
row
:
gutter
=
"15"
>
<el-col :span="8" class="content-left"><label>备注
</label></el-col>
<el-col :span="16
" class="content-right">
<el-input v-if="dialogType===1 || dialogType===2" size="small" type="textarea" rows="3" placeholder="请输入备注" resize="none" v-model="dialogBindData.memo
"></el-input>
<span v-else>{{dialogBindData.memo || "暂无备注"
}}</span>
<
el
-
col
:
span
=
"6"
class
=
"content-left"
><
label
>
二级链接
<
/label></
el
-
col
>
<
el
-
col
:
span
=
"18
"
class
=
"content-right"
>
<
el
-
input
v
-
if
=
"dialogType===1 || dialogType===2"
size
=
"small"
type
=
"text"
placeholder
=
"请输入二级链接"
resize
=
"none"
v
-
model
=
"dialogBindData.linkUrl
"
><
/el-input
>
<
span
v
-
else
>
{{
dialogBindData
.
linkUrl
}}
<
/span
>
<
/el-col
>
<
/el-row> --
>
<!--
<
el
-
input
v
-
if
=
"dialogType===1 || dialogType===2"
size
=
"small"
type
=
"textarea"
rows
=
"3"
placeholder
=
"请输入备注"
resize
=
"none"
v
-
model
=
"dialogBindData.memo"
><
/el-input> --
>
<
/el-col
>
<
el
-
col
:
span
=
"dialogType==3?12:16"
>
<
h1
class
=
"food-title"
>
活动详情
<
/h1
>
<
tinymce
v
-
if
=
"dialogType===1 || dialogType===2"
:
height
=
"400"
v
-
model
=
"dialogBindData.advertContent"
:
hasImageLoad
=
"1"
resPath
=
"adverImg"
><
/tinymce
>
<
template
v
-
else
>
信息展示
<
view
-
page
:
data
=
"dialogBindData"
><
/view-page
>
<
/template
>
<
/el-col
>
<
/el-row
>
<
/div
>
<
div
class
=
"btns-wrapper"
>
<
el
-
button
size
=
"small"
@
click
=
"handleClose"
:
disabled
=
"dialogType===3"
><
i
class
=
"iconfont icon-quxiao"
><
/i>取消</
el
-
button
>
...
...
@@ -160,15 +295,40 @@
<
/template
>
<
script
>
import
*
as
repair
from
"../../api/repair"
;
import
UpLoadImg
from
"@/components/UpLoadImg"
;
import
Tinymce
from
"@/components/Tinymce"
;
import
ViewPage
from
"./components/ViewPage"
;
import
cropper
from
"./components/cropper"
;
// import tailor from "./components/tailor";
import
*
as
adver
from
"../../api/adver"
;
import
*
as
common
from
"../../api/common"
;
import
{
fattCreateTime
}
from
"../../utils/fattTime"
;
export
default
{
components
:
{
Tinymce
,
UpLoadImg
,
ViewPage
,
cropper
}
,
data
()
{
return
{
seacherParam
:
{
repairWorkerName
:
""
advertType
:
1
,
menuType
:
"1"
,
advertTitle
:
""
,
advertName
:
""
,
isAvailable
:
null
,
censorStatus
:
null
}
,
isAvailableData
:
[
{
code
:
1
,
name
:
"已启用"
}
,
{
code
:
0
,
name
:
"未启用"
}
],
censorStatusData
:
[
{
code
:
0
,
name
:
"待审核"
}
,
{
code
:
1
,
name
:
"已审核"
}
,
{
code
:
2
,
name
:
"未通过"
}
],
advertTypeData
:
[
{
code
:
1
,
name
:
"活动广告"
}
,
{
code
:
2
,
name
:
"系统公告"
}
,
{
code
:
3
,
name
:
"新闻资讯"
}
],
// 表格数据
dataOption
:
null
,
// 分页数据
...
...
@@ -195,14 +355,19 @@ export default {
// visitReasonId:"1001"
dialogBindData
:
{
repairWorkerId
:
""
,
repairWorkerName
:
""
,
sex
:
1
,
repairWorkerPhone
:
""
,
repairWorkerIdCard
:
""
advertId
:
""
,
advertType
:
1
,
advertName
:
""
,
advertTitle
:
""
,
advertSubtitle
:
""
,
advertContent
:
""
,
advertPicUrl
:
""
,
linkUrl
:
""
// linkUrl:""
}
,
// 是否提交
submmitSuccess
:
false
submmitSuccess
:
false
,
censorStatus
:
1
}
;
}
,
...
...
@@ -213,7 +378,7 @@ export default {
methods
:
{
seachFun
()
{
this
.
$seach
.
submmit
(
this
,
repair
.
getRepairWorker
List
)
.
submmit
(
this
,
adver
.
advert
List
)
.
then
(
res
=>
{
this
.
dataOption
=
res
.
data
.
data
;
// 初始化分页数据
...
...
@@ -281,10 +446,34 @@ export default {
// alert(`
编辑
$
{
JSON
.
stringify
(
this
.
dialogBindData
)
}
`);
//
}
// 发送添加请求
const
isSubmitActive
=
this
.
dialogBindData
.
repairWorkerName
&&
this
.
dialogBindData
.
repairWorkerPhone
&&
this
.
dialogBindData
.
repairWorkerIdCard
;
const param = {
advertId: this.dialogBindData.advertId,
advertType: 1,
// advertName: this.dialogBindData.advertName,
advertTitle: this.dialogBindData.advertTitle,
// advertSubtitle: this.dialogBindData.advertSubtitle,
advertContent: this.dialogBindData.advertContent,
advertPicUrl:
this.dialogBindData.advertType == 2
? null
: this.dialogBindData.advertPicUrl,
censorStatus: 1,
isAvailable: 1,
linkUrl: this.dialogBindData.linkUrl
}
;
const isSubmitActive =
param.advertType &&
// param.advertName &&
param.advertTitle &&
// param.advertSubtitle &&
(param.advertPicUrl === null
? true
: this.dialogBindData.advertPicUrl) &&
param.advertContent;
if (isSubmitActive) {
this.submmitSuccess = true;
repair
.
addOrEditRepairWorker
(
this
.
dialogBindData
).
then
(
res
=>
{
adver.addOrEditAdvert(param
).then(res => {
this.getList(() => {
this.$message({
message: this.dialogType === 1 ? "添加成功" : "编辑成功",
...
...
@@ -305,12 +494,17 @@ export default {
handleClose() {
this.dialogState = false;
for (const key in this.dialogBindData) {
if
(
key
===
"
sex
"
)
{
if (key === "
advertType
") {
this.dialogBindData[key] = 1;
}
else {
this.dialogBindData[key] = "";
}
}
this.$refs.imgComponent ? this.$refs.imgComponent.clearImg() : "";
// 销毁富文本编辑器的dom对象
setTimeout(() => {
this.dialogType = 0;
}
, 500);
}
,
// 分页处理
handleSizeChange(val) {
...
...
@@ -325,9 +519,19 @@ export default {
}
,
// 获取表格数据
getList(cb) {
repair
.
getRepairWorkerList
({
pageNo
:
this
.
pageNo
,
pageSize
:
this
.
pageSize
})
.
then
(
res
=>
{
let param = {
pageNo: this.pageNo,
pageSize: this.pageSize,
advertType: 1,
menuType: "1"
}
;
// 组装搜索参数
for (const key in this.seacherParam) {
if (this.seacherParam[key] === 0 || this.seacherParam[key]) {
param[key] = this.seacherParam[key];
}
}
adver.advertList(param).then(res => {
// 初始话表格数据
this.dataOption = res.data.data;
// 初始化分页数据
...
...
@@ -343,17 +547,77 @@ export default {
}
,
// 改变启用状态
handleIsVailable(data) {
console
.
log
(
data
.
isVailable
);
console.log(data.isAvailable);
const param = {
advertId: data.advertId,
isAvailable: data.isAvailable ? 1 : 0
}
;
adver.addOrEditAdvert(param).then(res => {
if (res.data.code === "1") {
this.$message({
message: "设置成功",
type: "success"
}
);
}
}
);
}
,
// 显示活动类型
viewAdverType(code) {
if (code === 1) {
return "活动广告";
}
if (code === 2) {
return "系统公告";
}
else {
return "新闻资讯";
}
}
,
// 上传图片成功
handleImgLoad(data) {
this.dialogBindData.advertPicUrl = data.url;
}
,
viewCensorStatus(code) {
if (code == 0) {
return "待审核";
}
else if (code == 1) {
return "已审核";
}
else {
return "未通过";
}
}
,
// 审核函数
handleCensor(data) {
const param = {
visitReasonId
:
data
.
visitReason
Id
,
isVailable
:
data
.
isVailable
?
0
:
1
advertId: data.advert
Id,
censorStatus: this.censorStatus
}
;
visitor
.
addOrEditVisitReason
(
param
).
then
(
res
=>
{
adver.addOrEditAdvert
(param).then(res => {
if (res.data.code === "1") {
this.getList(() => {
this.$message({
message: "审核完成",
type: "success"
}
);
this.submmitSuccess = false;
}
);
}
}
);
}
,
// 启用停用
handleUserState(data) {
const param = {
advertId: data.advertId,
isAvailable: data.isAvailable == 1 ? 0 : 1
}
;
adver.addOrEditAdvert(param).then(res => {
if (res.data.code === "1") {
this.getList(() => {
this.$message({
message: "设置成功",
type: "success"
}
);
this.submmitSuccess = false;
}
);
}
}
);
}
...
...
@@ -362,7 +626,16 @@ export default {
// 激活重置按钮
isActiveReset() {
for (const key in this.seacherParam) {
if
(
this
.
seacherParam
[
key
])
{
if (key === "advertType") {
this.seacherParam[key] = 1;
}
else if (key === "menuType") {
this.seacherParam[key] = "1";
}
else if (
this.seacherParam[key] === 0 ||
this.seacherParam[key] ||
this.seacherParam[key] === 1 ||
this.seacherParam[key] === "1"
) {
return false;
}
}
...
...
@@ -383,6 +656,24 @@ export default {
}
;
</script>
<style lang="scss" scoped>
.food-title {
font-size: 14px;
&::before {
content: "1";
background: #3a8ee6;
color: transparent;
margin-right: 10px;
}
}
.food-title {
font-size: 14px;
&::before {
content: "1";
background: #3a8ee6;
color: transparent;
margin-right: 10px;
}
}
.dialog-body-content {
.el-row {
margin-top: 14px;
...
...
@@ -410,3 +701,4 @@ export default {
}
}
</style>
2code/web/mgt_pro/src/views/advert/components/ViewPage.vue
0 → 100644
View file @
7de07c63
<
template
>
<div
class=
"view-page"
>
<div
class=
"phone-bg"
>
<img
:src=
"require('../../../../static/images/phone-bg.png')"
alt=
""
>
</div>
<div
class=
"page-infro"
>
<!--
<el-carousel
height=
"202px"
indicator-position=
"none"
>
<el-carousel-item
v-for=
"(item,index) in imageArr"
:key=
"index"
>
<div
class=
"bannerImg"
><img
:src=
"item"
alt=
""
></div>
</el-carousel-item>
</el-carousel>
-->
<!--
<div
class=
"bannerImg"
>
<img
:src=
"data.advertPicUrl"
alt=
""
height=
"202"
>
</div>
-->
<div
class=
"text-infro"
v-html=
"data.advertContent"
></div>
</div>
</div>
</
template
>
<
script
>
export
default
{
props
:[
"data"
],
data
(){
return
{
imageArr
:[]
}
},
beforeMount
(){
const
data
=
this
.
data
;
// let arr = [];
// for(const key in data){
// if(key.indexOf('dishesPicUrl')>-1 && data[key]){
// arr.push(data[key])
// }
// }
// this.imageArr = arr
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.view-page
{
position
:
relative
;
.phone-bg
{
width
:
360px
;
img
{
width
:
100%
;
}
}
.page-infro
{
background
:
#fff
;
position
:
absolute
;
top
:
110px
;
left
:
30px
;
width
:
304px
;
height
:
540px
;
overflow-x
:
hidden
;
overflow-y
:
auto
;
.bannerImg
{
width
:
100%
;
height
:
202px
;
img
{
width
:
100%
;
height
:
100%
;
}
}
.text-infro
{
padding
:
0
15px
;
}
}
}
</
style
>
\ No newline at end of file
2code/web/mgt_pro/src/views/advert/components/cropper.vue
0 → 100644
View file @
7de07c63
<
template
>
<div
class=
"uploadimg-container"
:style=
"
{width:width+'px'}">
<el-upload
class=
"uploader-component"
:style=
"styleObj"
action=
""
:show-file-list=
"false"
:before-upload=
"uploadFile"
>
<img
:style=
"styleObj"
v-if=
"(type||imageUrl)&&viewUrl"
:src=
"viewUrl || imageUrl"
class=
"avatar"
>
<i
v-else
:style=
"styleObj"
class=
"el-icon-plus avatar-uploader-icon"
></i>
</el-upload>
<div
class=
"tip"
>
宽/高:
{{
`${width
}
*${height
}
`
}}
<
/div
>
<
/div
>
<
/template
>
<
script
>
import
axios
from
"axios"
;
export
default
{
props
:
[
"width"
,
"height"
,
"resPath"
,
"type"
,
"viewUrl"
,
"imageType"
,
"idx"
],
data
()
{
return
{
imageUrl
:
""
,
param
:
{
resPath
:
this
.
resPath
}
,
styleObj
:
{
width
:
this
.
width
+
"px"
,
height
:
this
.
height
+
"px"
,
lineHeight
:
this
.
height
+
"px"
}
}
;
}
,
mounted
()
{
}
,
updated
()
{
}
,
methods
:
{
uploadFile
(
file
)
{
const
upLoadUrl
=
process
.
env
.
BASE_API
+
"/upload/uploadFile"
;
let
formData
=
new
FormData
();
formData
.
append
(
"files"
,
file
);
formData
.
append
(
"resPath"
,
this
.
resPath
);
// 限制图片上传比例
// if (this.imageType === "banner")
{
// console.log(this.imageType);
// formData.append("imageType", this.imageType);
//
}
const
fileSize
=
file
.
size
/
1024
/
1024
;
if
(
fileSize
>
2
)
{
this
.
$message
({
message
:
"上传图片不能大于2M"
,
type
:
"warning"
}
);
}
else
{
axios
.
post
(
upLoadUrl
,
formData
).
then
(
res
=>
{
if
(
res
.
data
.
code
==
1
)
{
this
.
imageUrl
=
res
.
data
.
data
;
if
(
this
.
idx
===
undefined
)
{
this
.
$emit
(
"emitSuccess"
,
res
.
data
.
data
);
}
else
{
const
param
=
{
url
:
res
.
data
.
data
,
idx
:
this
.
idx
}
;
this
.
$emit
(
"emitSuccess"
,
param
);
}
this
.
$message
({
message
:
"上传成功"
,
type
:
"success"
}
);
}
else
{
this
.
$message
({
message
:
res
.
data
.
msg
,
type
:
"warning"
}
);
}
}
);
}
}
,
clearImg
()
{
this
.
imageUrl
=
""
;
}
}
}
;
<
/script
>
<
style
lang
=
"scss"
scoped
>
.
uploadimg
-
container
{
position
:
relative
;
overflow
:
hidden
;
display
:
inline
-
block
;
.
uploader
-
component
{
border
:
1
px
dashed
#
d9d9d9
;
border
-
radius
:
6
px
;
cursor
:
pointer
;
position
:
relative
;
overflow
:
hidden
;
width
:
178
px
;
height
:
178
px
;
transition
:
all
0.3
s
;
.
avatar
-
uploader
-
icon
{
font
-
size
:
28
px
;
color
:
#
8
c939d
;
width
:
178
px
;
height
:
178
px
;
line
-
height
:
178
px
;
text
-
align
:
center
;
transition
:
all
0.3
s
;
}
.
avatar
{
width
:
178
px
;
height
:
178
px
;
display
:
block
;
}
&
:
hover
{
border
-
color
:
#
409
eff
;
.
avatar
-
uploader
-
icon
{
font
-
size
:
28
px
;
color
:
#
409
eff
;
width
:
178
px
;
height
:
178
px
;
line
-
height
:
178
px
;
text
-
align
:
center
;
}
&
+
.
tip
{
left
:
10
px
;
opacity
:
1
;
}
}
}
.
tip
{
position
:
absolute
;
left
:
-
140
px
;
opacity
:
0
;
top
:
0
;
width
:
131
px
;
color
:
#
fff
;
text
-
shadow
:
2
px
2
px
2
px
rgba
(
$color
:
#
000000
,
$alpha
:
1
);
font
-
weight
:
700
;
cursor
:
pointer
;
transition
:
all
0.3
s
;
&
:
hover
{
left
:
10
px
;
opacity
:
1
;
}
}
}
<
/style
>
2code/web/mgt_pro/src/views/system/user.vue
View file @
7de07c63
...
...
@@ -103,7 +103,7 @@
<el-row
:gutter=
"15"
v-if=
"this.dialogBindData.flag!=='1'"
>
<el-col
:span=
"8"
class=
"content-left"
><label>
用户角色
</label></el-col>
<el-col
:span=
"16"
class=
"content-right"
>
<el-select
size=
"small"
v-if=
"dialogType===1 || dialogType===2"
placeholder=
"请选择
人员
"
v-model=
"dialogBindData.sysRole"
>
<el-select
size=
"small"
v-if=
"dialogType===1 || dialogType===2"
placeholder=
"请选择
角色
"
v-model=
"dialogBindData.sysRole"
>
<el-option
v-for=
"item in chooseRole"
:key=
"item.roleId"
...
...
@@ -116,11 +116,11 @@
</el-row>
<el-row
:gutter=
"15"
>
<el-col
:span=
"8"
class=
"content-left"
><label>
所属部门
</label></el-col>
<el-col
:span=
"8"
class=
"content-left"
><label>
店铺管理员
</label></el-col>
<el-col
:span=
"16"
class=
"content-right"
>
<el-select
size=
"small"
v-if=
"dialogType===1 || dialogType===2"
placeholder=
"请选择
部门
"
v-model=
"dialogBindData.deptId"
@
change=
"getSectionsByDeptId"
>
<el-select
size=
"small"
v-if=
"dialogType===1 || dialogType===2"
placeholder=
"请选择
店铺管理员
"
v-model=
"dialogBindData.deptId"
@
change=
"getSectionsByDeptId"
>
<el-option
v-for=
"item in
deptDatas
"
v-for=
"item in
shopAdminsData
"
:key=
"item.deptId"
:label=
"item.deptName"
:value=
"item.deptId"
>
...
...
@@ -130,25 +130,11 @@
</el-col>
</el-row>
<el-row
:gutter=
"15"
>
<el-col
:span=
"8"
class=
"content-left"
><label>
所属科室
</label></el-col>
<el-col
:span=
"16"
class=
"content-right"
>
<el-select
size=
"small"
v-if=
"dialogType===1 || dialogType===2"
placeholder=
"请选择部门"
v-model=
"dialogBindData.sectionId"
>
<el-option
v-for=
"item in sectionDatas"
:key=
"item.sectionId"
:label=
"item.sectionName"
:value=
"item.sectionId"
>
</el-option>
</el-select>
<span
v-else
>
{{viewSectionName(dialogBindData.sectionId)}}
</span>
</el-col>
</el-row>
<el-row
:gutter=
"15"
>
<el-col
:span=
"8"
class=
"content-left"
><label>
用户名
称
</label></el-col>
<el-col
:span=
"8"
class=
"content-left"
><label>
用户名
</label></el-col>
<el-col
:span=
"16"
class=
"content-right"
>
<el-input
v-if=
"dialogType===1 || dialogType===2"
size=
"small"
placeholder=
"请输入用户名
称
"
v-model=
"dialogBindData.userName"
></el-input>
<el-input
v-if=
"dialogType===1 || dialogType===2"
size=
"small"
placeholder=
"请输入用户名"
v-model=
"dialogBindData.userName"
></el-input>
<span
v-else
>
{{dialogBindData.userName}}
</span>
</el-col>
</el-row>
...
...
@@ -156,7 +142,7 @@
<el-row
:gutter=
"15"
>
<el-col
:span=
"8"
class=
"content-left"
><label>
真实姓名
</label></el-col>
<el-col
:span=
"16"
class=
"content-right"
>
<el-input
v-if=
"dialogType===1 || dialogType===2"
size=
"small"
placeholder=
"请输入
用户
名"
v-model=
"dialogBindData.realName"
></el-input>
<el-input
v-if=
"dialogType===1 || dialogType===2"
size=
"small"
placeholder=
"请输入
真实姓
名"
v-model=
"dialogBindData.realName"
></el-input>
<span
v-else
>
{{dialogBindData.realName}}
</span>
</el-col>
</el-row>
...
...
@@ -219,6 +205,7 @@
</template>
<
script
>
import
axios
from
'axios'
;
import
elDragDialog
from
"@/directive/el-dragDialog"
;
import
*
as
system
from
"../../api/system"
;
import
{
fattCreateTime
}
from
"../../utils/fattTime"
;
...
...
@@ -248,11 +235,12 @@ export default {
mobilePhone
:
""
,
isAvailable
:
1
,
sysRole
:
""
,
deptId
:
""
,
flag
:
""
,
sectionName
:
""
,
sectionId
:
""
flag
:
""
},
//店铺管理员下拉数据
shopAdminsData
:
null
,
// 是否提交
submmitSuccess
:
false
,
// 角色选择数据
...
...
@@ -337,7 +325,10 @@ export default {
// },
add
()
{
this
.
dialogType
=
1
;
this
.
getRoleList
(()
=>
{
// this.getRoleList(() => {
// this.dialogState = true;
// });
this
.
getRoleAndUserData
(()
=>
{
this
.
dialogState
=
true
;
});
},
...
...
@@ -412,7 +403,7 @@ export default {
}
else
{
this
.
submmitSuccess
=
true
;
system
.
addOrEditSysUser
(
this
.
dialogBindData
).
then
(
res
=>
{
debugger
debugger
;
if
(
res
.
data
.
code
==
1
)
{
this
.
getList
(()
=>
{
this
.
$message
({
...
...
@@ -496,6 +487,27 @@ export default {
cb
?
cb
()
:
""
;
});
},
//获取角色和管理员下拉数据
getRoleAndUserData
(
cb
)
{
axios
.
all
([
//方法一
system
.
queryAllSysRole
().
then
(
res
=>
{
this
.
chooseRole
=
res
.
data
;
}),
//方法二
system
.
queryAllShopAdmin
().
then
(
res
=>
{
this
.
shopAdminsData
=
res
.
data
;
})
])
.
then
(
axios
.
spread
((
acct
,
perms
)
=>
{
cb
?
cb
()
:
""
;
})
);
},
// 格式化时间
fattTime
(
time
)
{
return
fattCreateTime
(
time
);
...
...
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