Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
office-web
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
office
office-web
Commits
ec9c3de2
Commit
ec9c3de2
authored
Dec 19, 2018
by
无尘
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add: 增加审核中心
parent
1be4c741
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
897 additions
and
40 deletions
+897
-40
test.png
src/assets/test.png
+0
-0
store-change.vue
src/components/review/store-change.vue
+215
-0
index.vue
src/views/reviewCenter/index.vue
+2
-1
reviewed.vue
src/views/reviewCenter/reviewed.vue
+298
-19
unreview.vue
src/views/reviewCenter/unreview.vue
+382
-20
No files found.
src/assets/test.png
0 → 100644
View file @
ec9c3de2
29.6 KB
src/components/review/store-change.vue
0 → 100644
View file @
ec9c3de2
<
template
>
<div
class=
"custom-dialog-wrap"
>
<el-dialog
title=
"门店环境图变更"
:visible
.
sync=
"customDialog"
width=
"600px"
:before-close=
"handleCardClose"
>
<div
class=
"dialog-content"
>
<el-row>
<el-col
:span=
"11"
>
<div
class=
"grid-content bg-purple-dark"
>
变更前
</div>
<div
class=
"data-body"
>
<div
class=
"data-body-content flex flex-column flex-space-between"
>
<template
v-for=
"item in leftData"
>
<img
:src=
"item.src"
alt=
""
/>
</
template
>
</div>
</div>
</el-col>
<el-col
:span=
"11"
>
<div
class=
"grid-content bg-purple-dark"
>
变更后
</div>
<div
class=
"data-body"
>
<div
class=
"data-body-content flex flex-column flex-space-between"
>
<
template
v-for=
"item in rightData"
>
<img
:src=
"item.src"
alt=
""
/>
</
template
>
</div>
</div>
</el-col>
</el-row>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
getRequest
,
postRequest
,
postJsonRequest
}
from
'@/api/api'
;
import
showMsg
from
'@/common/js/showmsg'
;
import
errMsg
from
'@/common/js/error'
;
import
qs
from
'qs'
;
export
default
{
name
:
'custom-dialog'
,
props
:
{
value
:
{
type
:
Boolean
,
default
:
false
},
storeChangeData
:
{
type
:
Object
}
},
data
()
{
return
{
repProjectName
:
'gic-web'
,
// 项目名
customDialog
:
this
.
value
,
// 弹框显示
leftData
:
[
{
src
:
require
(
'../../assets/test.png'
)
},
{
src
:
require
(
'../../assets/test.png'
)
},
{
src
:
require
(
'../../assets/test.png'
)
}
],
rightData
:
[
{
src
:
require
(
'../../assets/test.png'
)
},
{
src
:
require
(
'../../assets/test.png'
)
},
{
src
:
require
(
'../../assets/test.png'
)
}
]
}
},
beforeMount
()
{
const
that
=
this
},
methods
:{
// 关闭
handleCardClose
()
{
const
that
=
this
;
that
.
customCancel
();
},
// 取消
customCancel
()
{
const
that
=
this
;
that
.
customDialog
=
false
that
.
$emit
(
'input'
,
that
.
customDialog
)
},
formatDate
(
time
,
flag
)
{
const
that
=
this
// (0-9)年月数字的显示
function
formatDig
(
num
)
{
return
num
>
9
?
''
+
num
:
'0'
+
num
;
}
let
myDate
=
new
Date
(
time
);
let
y
=
myDate
.
getFullYear
();
let
m
=
myDate
.
getMonth
()
+
1
;
let
d
=
myDate
.
getDate
();
return
y
+
flag
+
formatDig
(
m
)
+
flag
+
formatDig
(
d
)
+
flag
},
handleData
()
{
const
that
=
this
;
}
},
watch
:
{
value
:
function
(
newData
,
oldData
){
const
that
=
this
;
// console.log("新数据:",newData,oldData)
that
.
customDialog
=
newData
},
storeChangeData
:
function
(
newData
,
oldData
){
const
that
=
this
;
}
},
/* 接收数据 */
mounted
(){
const
that
=
this
;
// console.log("新数据:",that.value)
// that.customDialog = that.showStoreDialog
},
}
</
script
>
<
style
lang=
"scss"
scoped
>
.flex
{
display
:
-webkit-box
;
display
:
-webkit-flex
;
display
:
-ms-flexbox
;
display
:
flex
;
}
.flex-column
{
-webkit-flex-direction
:
column
;
-moz-flex-direction
:
column
;
-ms-flex-direction
:
column
;
-o-flex-direction
:
column
;
flex-direction
:
column
;
}
.flex-space-between
{
-webkit-justify-content
:
space-between
;
-moz-justify-content
:
space-between
;
-ms-justify-content
:
space-between
;
-o-justify-content
:
space-between
;
justify-content
:
space-between
;
}
.dialog-content
{
/*height: 484px;*/
padding-bottom
:
20px
;
.grid-content
{
width
:
100%
;
height
:
42px
;
line-height
:
42px
;
text-align
:
center
;
background
:
rgba
(
245
,
247
,
250
,
1
);
font-size
:
16px
;
color
:
#303133
;
/*border: 1px solid rgba(235,238,245,1);
border-radius: 4px;*/
}
.el-row
{
width
:
100%
;
font-size
:
0
}
.el-col-11
{
width
:
272px
;
border
:
1px
solid
rgba
(
235
,
238
,
245
,
1
);
border-radius
:
4px
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
&+.el-col-11
{
margin-left
:
14px
;
}
}
.data-body
{
height
:
442px
;
max-height
:
442px
;
padding
:
11px
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
.data-body-content
{
height
:
100%
;
overflow-x
:
hidden
;
overflow-y
:
auto
;
}
img
{
width
:
100%
;
&+img
{
margin-top
:
10px
;
}
}
}
}
</
style
>
src/views/reviewCenter/index.vue
View file @
ec9c3de2
...
@@ -63,7 +63,7 @@ export default {
...
@@ -63,7 +63,7 @@ export default {
}
}
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
>
.setting-wrap__body
{
.setting-wrap__body
{
.content{
.content{
padding-top
:
64px
;
padding-top
:
64px
;
...
@@ -98,4 +98,5 @@ export default {
...
@@ -98,4 +98,5 @@ export default {
}
}
}
}
}
}
</
style
>
</
style
>
src/views/reviewCenter/reviewed.vue
View file @
ec9c3de2
...
@@ -11,11 +11,14 @@
...
@@ -11,11 +11,14 @@
:label=
"item.label"
:label=
"item.label"
:value=
"item.value"
>
:value=
"item.value"
>
</el-option>
</el-option>
</el-select>
</el-select>
<el-input
<el-input
class=
"w-240 m-l-10"
placeholder=
"请输入提交人姓名或门店名称"
placeholder=
"请输入提交人姓名或门店名称"
prefix-icon=
"el-icon-search"
prefix-icon=
"el-icon-search"
v-model=
"searchValue"
>
v-model=
"searchValue"
clearable
@
clear=
"clearSearch"
@
keyup
.
enter
.
native=
"searchEnterFun"
>
</el-input>
</el-input>
</div>
</div>
<div
class=
"reviewed-body-content"
>
<div
class=
"reviewed-body-content"
>
...
@@ -23,12 +26,7 @@
...
@@ -23,12 +26,7 @@
ref=
"multipleTable"
ref=
"multipleTable"
:data=
"tableData"
:data=
"tableData"
tooltip-effect=
"dark"
tooltip-effect=
"dark"
style=
"width: 100%"
style=
"width: 100%"
>
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
>
</el-table-column>
<el-table-column
<el-table-column
label=
"审核事项"
>
label=
"审核事项"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
...
@@ -38,25 +36,82 @@
...
@@ -38,25 +36,82 @@
<el-table-column
<el-table-column
label=
"提交人"
label=
"提交人"
show-overflow-tooltip
>
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
date
}}
</
template
>
<
template
slot-scope=
"scope"
>
<el-popover
placement=
"top-start"
width=
"400"
trigger=
"hover"
@
show=
"showSingleInfo(scope.row.applyId)"
>
<div
class=
"apply-info-detail"
>
<div
class=
"flex"
>
<div
class=
"apply-info-img flex-align-center flex-pack-center bg-82C5FF "
>
<i
v-if=
"!applyInfo.photo"
class=
"iconfont icon-yewuduanmorentouxian"
></i>
<img
v-else
:src=
"applyInfo.photo"
alt=
"img"
/>
</div>
<div
class=
"flex flex-column apply-info-right flex-space-between"
>
<div
class=
"apply-info-name"
>
{{
applyInfo
.
applyName
}}
<i
:class=
"[applyInfo.sex == 1? 'icon-xingbienan color-508CEE': 'icon-xingbienv color-FF585C','iconfont']"
></i>
</div>
<div
class=
"apply-info-code"
>
<span
class=
"w-80"
>
员工代码:
</span><span
class=
"w-130"
>
{{
applyInfo
.
code
}}
</span>
</div>
<div
class=
"apply-info-phone"
>
<span
class=
"w-80"
>
手机号:
</span><span
class=
"w-130"
>
{{
applyInfo
.
phone
}}
</span>
</div>
<div
class=
"apply-info-job"
>
<span
class=
"w-80"
>
职位:
</span><span
class=
"w-130"
>
{{
applyInfo
.
job
}}
</span>
</div>
<div
class=
"apply-info-store"
>
<span
class=
"w-80"
>
所属门店:
</span><span
class=
"w-130"
>
{{
applyInfo
.
store
}}
</span>
</div>
</div>
</div>
</div>
<div
slot=
"reference"
>
<div
class=
"flex"
>
<div
class=
"flex flex-align-center flex-pack-center bg-82C5FF table-head-pic"
>
<i
v-if=
"!scope.row.headPic"
class=
"iconfont icon-yewuduanmorentouxian"
></i>
<img
v-else
:src=
"scope.row.headPic"
alt=
"img"
/>
</div>
<div
class=
"flex flex-column apply-info"
>
<span>
{{
scope
.
row
.
applyName
}}
</span>
<span>
{{
scope
.
row
.
storeName
}}
</span>
</div>
</div>
</div>
</el-popover>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
label=
"详情"
label=
"详情"
show-overflow-tooltip
>
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
date
}}
</
template
>
<
template
slot-scope=
"scope"
>
<div>
<span>
{{
scope
.
row
.
auditingType
==
0
?
'门店信息变更'
:
scope
.
row
.
auditingType
==
0
?
'新增成员'
:
'成员离职'
}}
</span>
<span>
{{
scope
.
row
.
detail
}}
</span>
<el-button
v-if=
"scope.row.auditingType == 0"
type=
"text"
@
click=
"showStoreChange(scope.row)"
>
查看详情
</el-button>
</div>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"address"
label=
"提交时间"
label=
"提交时间"
show-overflow-tooltip
>
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
date
}}
</
template
>
<
template
slot-scope=
"scope"
>
<div>
{{
scope
.
row
.
createTime
}}
</div>
<div>
{{
scope
.
row
.
createTime
}}
</div>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
label=
"操作"
label=
"状态"
>
width=
"100"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
@
click=
"handleClick(scope.$index,scope.row)"
type=
"text"
size=
"small"
>
同意
</el-button>
<span>
{{
scope
.
row
.
auditingStatus
==
1
?
'超级管理员已同意'
:
'超级管理员已拒绝'
}}
</span>
<el-button
@
click=
"handleClick(scope.$index,scope.row,'refuse')"
type=
"text"
size=
"small"
>
拒绝
</el-button>
<el-popover
placement=
"top"
width=
"150"
trigger=
"hover"
>
<div>
{{
scope
.
row
.
refuseReason
}}
</div>
<i
slot=
"reference"
class=
"el-icon-question"
v-if=
"scope.row.auditingStatus == 2"
></i>
</el-popover>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -76,10 +131,14 @@
...
@@ -76,10 +131,14 @@
</div>
</div>
</div>
</div>
<vue-gic-footer></vue-gic-footer>
<vue-gic-footer></vue-gic-footer>
<!-- 门店变更 -->
<storeChange
v-model=
"showStoreDialog"
:storeChangeData=
"storeChangeData"
></storeChange>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
navCrumb
from
'@/components/nav/nav.vue'
;
import
navCrumb
from
'@/components/nav/nav.vue'
;
import
storeChange
from
'@/components/review/store-change.vue'
;
import
showMsg
from
'@/common/js/showmsg'
;
import
showMsg
from
'@/common/js/showmsg'
;
import
errMsg
from
'@/common/js/error'
;
import
errMsg
from
'@/common/js/error'
;
import
strLength
from
'@/common/js/strlen'
;
import
strLength
from
'@/common/js/strlen'
;
...
@@ -136,7 +195,7 @@ export default {
...
@@ -136,7 +195,7 @@ export default {
headPic
:
''
,
headPic
:
''
,
storeName
:
'测试'
,
storeName
:
'测试'
,
refuseReason
:
'111111'
,
refuseReason
:
'111111'
,
auditingStatus
:
0
,
//审核状态 (0:待审核 ,1: 已同意,2:已拒绝)
auditingStatus
:
1
,
//审核状态 (0:待审核 ,1: 已同意,2:已拒绝)
beforeContent
:
''
,
beforeContent
:
''
,
afterContent
:
''
,
afterContent
:
''
,
createTime
:
'2018-12-09 14:34:56'
createTime
:
'2018-12-09 14:34:56'
...
@@ -148,6 +207,23 @@ export default {
...
@@ -148,6 +207,23 @@ export default {
currentPage
:
1
,
currentPage
:
1
,
pageSize
:
20
,
pageSize
:
20
,
total
:
0
,
total
:
0
,
// info
applyInfo
:
{
photo
:
''
,
applyName
:
'测试的'
,
sex
:
2
,
code
:
'223344545fffffffffffffff4'
,
phone
:
'13012343333'
,
job
:
'店长'
,
store
:
'测试门店'
},
// store
showStoreDialog
:
false
,
storeChangeData
:
{},
}
}
},
},
computed
:
{
computed
:
{
...
@@ -155,6 +231,28 @@ export default {
...
@@ -155,6 +231,28 @@ export default {
},
},
methods
:
{
methods
:
{
/**
/**
* 搜索标签清空
*/
clearSearch
()
{
const
that
=
this
that
.
getTableList
();
},
/**
* 搜索标签
*/
searchEnterFun
(
e
)
{
const
that
=
this
console
.
log
(
e
)
let
searchVal
=
String
(
e
.
target
.
value
).
trim
()
if
(
!
searchVal
)
{
return
false
;
}
that
.
getTableList
();
},
/**
* 表格---多选
* 表格---多选
*/
*/
handleSelectionChange
(
val
)
{
handleSelectionChange
(
val
)
{
...
@@ -185,6 +283,23 @@ export default {
...
@@ -185,6 +283,23 @@ export default {
},
},
/**
/**
* 获取头像处显示信息
*/
showSingleInfo
(
memberId
)
{
const
that
=
this
;
},
/**
* 显示门店变更
*/
showStoreChange
(
item
)
{
const
that
=
this
;
that
.
showStoreDialog
=
true
;
that
.
storeChangeData
=
item
;
},
/**
* 获取列表数据
* 获取列表数据
*/
*/
getTableList
(
val
)
{
getTableList
(
val
)
{
...
@@ -224,12 +339,114 @@ export default {
...
@@ -224,12 +339,114 @@ export default {
},
},
components
:
{
components
:
{
navCrumb
navCrumb
,
storeChange
}
}
}
}
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
scoped
>
.bg-82C5FF
{
background
:
#82C5FF
;
}
.color-508CEE
{
color
:
#508CEE
;
}
.color-FF585C
{
color
:
#FF585C
;
}
.w-80
{
width
:
80px
;
}
.w-130
{
display
:
inline-block
;
width
:
130px
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
}
.w-240
{
width
:
240px
;
}
.m-l-10
{
margin-left
:
10px
;
}
/* flex */
.flex
{
display
:
-webkit-box
;
display
:
-webkit-flex
;
display
:
-ms-flexbox
;
display
:
flex
;
}
.flex-1
{
-webkit-box-flex
:
1
;
-webkit-flex
:
1
;
-ms-flex
:
1
;
flex
:
1
;
}
.flex-column
{
-webkit-flex-direction
:
column
;
-moz-flex-direction
:
column
;
-ms-flex-direction
:
column
;
-o-flex-direction
:
column
;
flex-direction
:
column
;
}
.flex-row
{
-webkit-flex-direction
:
row
;
-moz-flex-direction
:
row
;
-ms-flex-direction
:
row
;
-o-flex-direction
:
row
;
flex-direction
:
row
;
}
.flex-align-center
{
-webkit-box-align
:
center
;
-webkit-align-items
:
center
;
-ms-flex-align
:
center
;
align-items
:
center
;
}
.flex-pack-center
{
-webkit-box-pack
:
center
;
-webkit-justify-content
:
center
;
-ms-flex-pack
:
center
;
justify-content
:
center
;
}
.flex-wrap
{
-webkit-flex-wrap
:
wrap
;
-moz-flex-wrap
:
wrap
;
-ms-flex-wrap
:
wrap
;
-o-flex-wrap
:
wrap
;
flex-wrap
:
wrap
;
}
.flex-space-between
{
-webkit-justify-content
:
space-between
;
-moz-justify-content
:
space-between
;
-ms-justify-content
:
space-between
;
-o-justify-content
:
space-between
;
justify-content
:
space-between
;
}
.text-center
{
text-align
:
center
;
}
.text-right
{
text-align
:
right
;
}
.right-content
{
.right-content
{
/*width: 100%;*/
/*width: 100%;*/
padding
:
24px
;
padding
:
24px
;
...
@@ -263,7 +480,69 @@ export default {
...
@@ -263,7 +480,69 @@ export default {
text-align
:
center
;
text-align
:
center
;
}
}
.reviewed-body-head
{
margin-bottom
:
22px
;
}
.table-head-pic
{
width
:
35px
;
height
:
35px
;
i
{
color
:
#fff
;
}
img
{
width
:
35px
;
height
:
35px
;
}
}
.apply-info
{
margin-left
:
15px
;
line-height
:
18px
;
span
{
font-size
:
13px
;
color
:
#606266
;
}
}
}
}
.apply-info-detail
{
/*padding: 18px;*/
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
.apply-info-img
{
width
:
150px
;
height
:
150px
;
border-radius
:
12px
;
text-align
:
center
;
i
{
font-size
:
100px
;
color
:
#fff
;
}
}
.apply-info-right
{
width
:
229px
;
padding-left
:
16px
;
font-size
:
13px
;
color
:
#606266
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
.w-80
{
display
:
inline-block
;
}
}
}
}
.el-icon-question
{
font-size
:
14px
;
color
:
#C0C4CC
;
cursor
:
pointer
;
}
}
</
style
>
</
style
>
src/views/reviewCenter/unreview.vue
View file @
ec9c3de2
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<nav-crumb
:navpath=
"navpath"
></nav-crumb>
<nav-crumb
:navpath=
"navpath"
></nav-crumb>
<div
class=
"right-content"
>
<div
class=
"right-content"
>
<div
class=
"right-box"
>
<div
class=
"right-box"
>
<div
class=
"reviewed-body-head"
>
<div
class=
"reviewed-body-head
flex flex-space-between
"
>
<el-select
v-model=
"filterValue"
placeholder=
"全部事项"
@
change=
"getTableList"
>
<el-select
v-model=
"filterValue"
placeholder=
"全部事项"
@
change=
"getTableList"
>
<el-option
<el-option
v-for=
"item in filterOptions"
v-for=
"item in filterOptions"
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
:value=
"item.value"
>
:value=
"item.value"
>
</el-option>
</el-option>
</el-select>
</el-select>
<el-button
type=
"primary"
>
批量同意
</el-button>
<el-button
type=
"primary"
@
click=
"approveAll"
>
批量同意
</el-button>
</div>
</div>
<div
class=
"reviewed-body-content"
>
<div
class=
"reviewed-body-content"
>
<el-table
<el-table
...
@@ -38,13 +38,40 @@
...
@@ -38,13 +38,40 @@
<el-popover
<el-popover
placement=
"top-start"
placement=
"top-start"
width=
"400"
width=
"400"
height=
"180"
trigger=
"hover"
trigger=
"hover"
@
show=
"showSingleInfo(scope.row.applyId)"
>
@
show=
"showSingleInfo(scope.row.applyId)"
>
<div
class=
"apply-info-detail"
>
<div
class=
"flex"
>
<div
class=
"apply-info-img flex-align-center flex-pack-center bg-82C5FF "
>
<i
v-if=
"!applyInfo.photo"
class=
"iconfont icon-yewuduanmorentouxian"
></i>
<img
v-else
:src=
"applyInfo.photo"
alt=
"img"
/>
</div>
<div
class=
"flex flex-column apply-info-right flex-space-between"
>
<div
class=
"apply-info-name"
>
{{
applyInfo
.
applyName
}}
<i
:class=
"[applyInfo.sex == 1? 'icon-xingbienan color-508CEE': 'icon-xingbienv color-FF585C','iconfont']"
></i>
</div>
<div
class=
"apply-info-code"
>
<span
class=
"w-80"
>
员工代码:
</span><span
class=
"w-130"
>
{{
applyInfo
.
code
}}
</span>
</div>
<div
class=
"apply-info-phone"
>
<span
class=
"w-80"
>
手机号:
</span><span
class=
"w-130"
>
{{
applyInfo
.
phone
}}
</span>
</div>
<div
class=
"apply-info-job"
>
<span
class=
"w-80"
>
职位:
</span><span
class=
"w-130"
>
{{
applyInfo
.
job
}}
</span>
</div>
<div
class=
"apply-info-store"
>
<span
class=
"w-80"
>
所属门店:
</span><span
class=
"w-130"
>
{{
applyInfo
.
store
}}
</span>
</div>
</div>
</div>
</div>
<div
slot=
"reference"
>
<div
slot=
"reference"
>
<div
class=
"flex"
>
<div
class=
"flex"
>
<img
:src=
"scope.row.headPic"
alt=
""
>
<div
class=
"flex flex-align-center flex-pack-center bg-82C5FF table-head-pic"
>
<div
class=
"flex flex-column"
>
<i
v-if=
"!scope.row.headPic"
class=
"iconfont icon-yewuduanmorentouxian"
></i>
<img
v-else
:src=
"scope.row.headPic"
alt=
"img"
/>
</div>
<div
class=
"flex flex-column apply-info"
>
<span>
{{
scope
.
row
.
applyName
}}
</span>
<span>
{{
scope
.
row
.
applyName
}}
</span>
<span>
{{
scope
.
row
.
storeName
}}
</span>
<span>
{{
scope
.
row
.
storeName
}}
</span>
</div>
</div>
...
@@ -54,15 +81,22 @@
...
@@ -54,15 +81,22 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
label=
"详情"
label=
"详情"
>
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
date
}}
</
template
>
<div>
<span>
{{
scope
.
row
.
auditingType
==
0
?
'门店信息变更'
:
scope
.
row
.
auditingType
==
0
?
'新增成员'
:
'成员离职'
}}
</span>
<span>
{{
scope
.
row
.
detail
}}
</span>
<el-button
v-if=
"scope.row.auditingType == 0"
type=
"text"
@
click=
"showStoreChange(scope.row)"
>
查看详情
</el-button>
</div>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"address"
label=
"提交时间"
label=
"提交时间"
show-overflow-tooltip
>
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
date
}}
</
template
>
<
template
slot-scope=
"scope"
>
<div>
{{
scope
.
row
.
createTime
}}
</div>
<div>
{{
scope
.
row
.
createTime
}}
</div>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
label=
"操作"
label=
"操作"
...
@@ -89,10 +123,44 @@
...
@@ -89,10 +123,44 @@
</div>
</div>
</div>
</div>
<vue-gic-footer></vue-gic-footer>
<vue-gic-footer></vue-gic-footer>
<!-- 门店变更 -->
<storeChange
v-model=
"showStoreDialog"
:storeChangeData=
"storeChangeData"
></storeChange>
<!-- 同意 -->
<el-dialog
class=
"approve-dialog"
title=
""
:visible
.
sync=
"approveVisible"
width=
"422px"
>
<div
class=
"approve-body text-center"
>
<div><i
class=
"el-icon-success"
></i><span
class=
"approve-icon-tip"
>
同意
</span></div>
<div
class=
"approve-tip"
>
是否确认同意
</div>
</div>
<div
slot=
"footer"
class=
"approve-footer dialog-footer"
style=
"text-align: center;"
>
<el-button
@
click=
"approveVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"sendApprove"
>
确 定
</el-button>
</div>
</el-dialog>
<!-- 拒绝 -->
<el-dialog
class=
"refuse-dialog"
title=
"提示"
:visible
.
sync=
"refuseVisible"
width=
"422px"
>
<div>
<div
class=
"refuse-tip"
>
请输入拒绝理由
</div>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
class=
"demo-ruleForm"
>
<el-form-item
label=
""
prop=
"refuseReason"
>
<el-input
v-model=
"ruleForm.refuseReason"
type=
"textarea"
:rows=
"3"
>
</el-input>
</el-form-item>
</el-form>
</div>
<div
slot=
"footer"
class=
"approve-footer dialog-footer"
>
<el-button
@
click=
"refuseVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"sendRefuse('ruleForm')"
>
确 定
</el-button>
</div>
</el-dialog>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
navCrumb
from
'@/components/nav/nav.vue'
;
import
navCrumb
from
'@/components/nav/nav.vue'
;
import
storeChange
from
'@/components/review/store-change.vue'
;
import
showMsg
from
'@/common/js/showmsg'
;
import
showMsg
from
'@/common/js/showmsg'
;
import
errMsg
from
'@/common/js/error'
;
import
errMsg
from
'@/common/js/error'
;
import
strLength
from
'@/common/js/strlen'
;
import
strLength
from
'@/common/js/strlen'
;
...
@@ -119,6 +187,7 @@ export default {
...
@@ -119,6 +187,7 @@ export default {
}
}
],
],
filterValue
:
''
,
filterValue
:
''
,
filterOptions
:
[
filterOptions
:
[
{
{
...
@@ -158,6 +227,36 @@ export default {
...
@@ -158,6 +227,36 @@ export default {
currentPage
:
1
,
currentPage
:
1
,
pageSize
:
20
,
pageSize
:
20
,
total
:
0
,
total
:
0
,
// info
applyInfo
:
{
photo
:
''
,
applyName
:
'测试的'
,
sex
:
1
,
code
:
'2233445454'
,
phone
:
'13012343333'
,
job
:
'店长'
,
store
:
'测试门店'
},
// 操作
selectId
:
''
,
ruleForm
:
{
refuseReason
:
''
},
rules
:
{
refuseReason
:
[
{
required
:
true
,
message
:
'请输入拒绝理由'
,
trigger
:
'blur'
},
{
min
:
1
,
max
:
50
,
message
:
'长度在 1 到 50 个字'
,
trigger
:
'blur'
}
],
},
showStoreDialog
:
false
,
storeChangeData
:
{},
approveVisible
:
false
,
refuseVisible
:
false
,
}
}
},
},
computed
:
{
computed
:
{
...
@@ -176,8 +275,7 @@ export default {
...
@@ -176,8 +275,7 @@ export default {
* 分页---页码变化
* 分页---页码变化
*/
*/
handleSizeChange
(
val
)
{
handleSizeChange
(
val
)
{
const
that
=
this
const
that
=
this
;
// console.log(`每页 ${val} 条`);
that
.
pageSize
=
val
;
that
.
pageSize
=
val
;
that
.
getTableList
();
that
.
getTableList
();
},
},
...
@@ -186,26 +284,142 @@ export default {
...
@@ -186,26 +284,142 @@ export default {
* 分页---当前页变化
* 分页---当前页变化
*/
*/
handleCurrentChange
(
val
)
{
handleCurrentChange
(
val
)
{
const
that
=
this
const
that
=
this
;
// console.log(`当前页: ${val}`);
that
.
currentPage
=
val
;
that
.
currentPage
=
val
;
let
fullPath
=
that
.
$route
.
fullPath
;
that
.
getTableList
();
that
.
getTableList
();
},
},
/**
/**
* 操作
*/
handleClick
(
index
,
item
,
flag
)
{
const
that
=
this
that
.
selectId
=
item
.
enterpriseAuditingId
;
!!
flag
?
that
.
refuseVisible
=
true
:
that
.
approveVisible
=
true
;
},
/**
* 确定同意
*/
sendApprove
()
{
const
that
=
this
that
.
postApprove
(
that
.
selectId
)
},
/**
* 批量同意
*/
approveAll
()
{
const
that
=
this
;
console
.
log
(
that
.
multipleSelection
)
let
ids
=
!!
that
.
multipleSelection
.
length
?
that
.
multipleSelection
.
map
(
item
=>
item
.
enterpriseAuditingId
)
:
''
;
if
(
!
ids
)
{
that
.
$message
.
error
({
duration
:
1000
,
message
:
'请选择列表'
})
return
false
;
}
that
.
postApprove
(
ids
)
},
postApprove
(
ids
)
{
const
that
=
this
;
const
para
=
{
enterpriseAuditingId
:
ids
}
getRequest
(
'/haoban-manage-web/audit/approve.json'
,
para
)
.
then
((
res
)
=>
{
// console.log(res,res.data,res.data.errorCode)
var
resData
=
res
.
data
if
(
resData
.
errorCode
==
1
)
{
showMsg
.
showmsg
(
'操作成功'
,
'success'
)
that
.
approveVisible
=
false
;
return
;
}
errMsg
.
errorMsg
(
resData
)
})
.
catch
(
function
(
error
)
{
console
.
log
(
error
);
that
.
$message
.
error
({
duration
:
1000
,
message
:
error
.
message
})
});
},
/**
* 确定拒绝
*/
sendRefuse
(
formName
)
{
const
that
=
this
;
that
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
that
.
postRefuse
()
}
else
{
// console.log('error submit!!');
return
false
;
}
})
},
postRefuse
()
{
const
that
=
this
;
const
para
=
{
enterpriseAuditingId
:
that
.
selectId
,
refuseReason
:
that
.
ruleForm
.
refuseReason
}
getRequest
(
'/haoban-manage-web/audit/refuse.json'
,
para
)
.
then
((
res
)
=>
{
// console.log(res,res.data,res.data.errorCode)
var
resData
=
res
.
data
if
(
resData
.
errorCode
==
1
)
{
showMsg
.
showmsg
(
'操作成功'
,
'success'
)
that
.
refuseVisible
=
false
;
return
;
}
errMsg
.
errorMsg
(
resData
)
})
.
catch
(
function
(
error
)
{
console
.
log
(
error
);
that
.
$message
.
error
({
duration
:
1000
,
message
:
error
.
message
})
});
},
/**
* 获取头像处显示信息
* 获取头像处显示信息
*/
*/
showSingleInfo
(
memberId
)
{
showSingleInfo
(
memberId
)
{
const
that
=
this
const
that
=
this
;
},
/**
* 显示门店变更
*/
showStoreChange
(
item
)
{
const
that
=
this
;
that
.
showStoreDialog
=
true
;
that
.
storeChangeData
=
item
;
},
},
/**
/**
* 获取列表数据
* 获取列表数据
*/
*/
getTableList
(
val
)
{
getTableList
(
val
)
{
const
that
=
this
const
that
=
this
;
const
para
=
{
const
para
=
{
auditingType
:
that
.
filterValue
,
auditingType
:
that
.
filterValue
,
auditingStatus
:
''
,
auditingStatus
:
''
,
...
@@ -241,12 +455,41 @@ export default {
...
@@ -241,12 +455,41 @@ export default {
},
},
components
:
{
components
:
{
navCrumb
navCrumb
,
storeChange
}
}
}
}
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
scoped
>
.bg-82C5FF
{
background
:
#82C5FF
;
}
.color-508CEE
{
color
:
#508CEE
;
}
.color-FF585C
{
color
:
#FF585C
;
}
.w-80
{
width
:
80px
;
}
.w-130
{
display
:
inline-block
;
width
:
130px
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
}
.common-wrap__page
{
margin-top
:
24px
;
}
/* flex */
/* flex */
.flex
{
.flex
{
display
:
-webkit-box
;
display
:
-webkit-box
;
...
@@ -299,6 +542,22 @@ export default {
...
@@ -299,6 +542,22 @@ export default {
-o-flex-wrap
:
wrap
;
-o-flex-wrap
:
wrap
;
flex-wrap
:
wrap
;
flex-wrap
:
wrap
;
}
}
.flex-space-between
{
-webkit-justify-content
:
space-between
;
-moz-justify-content
:
space-between
;
-ms-justify-content
:
space-between
;
-o-justify-content
:
space-between
;
justify-content
:
space-between
;
}
.text-center
{
text-align
:
center
;
}
.text-right
{
text-align
:
right
;
}
.right-content
{
.right-content
{
/*width: 100%;*/
/*width: 100%;*/
padding
:
24px
;
padding
:
24px
;
...
@@ -328,11 +587,114 @@ export default {
...
@@ -328,11 +587,114 @@ export default {
vertical-align
:
bottom
;
vertical-align
:
bottom
;
}
}
.text-center
{
text-align
:
center
;
.reviewed-body-head
{
margin-bottom
:
22px
;
}
.table-head-pic
{
width
:
35px
;
height
:
35px
;
i
{
color
:
#fff
;
}
img
{
width
:
35px
;
height
:
35px
;
}
}
.apply-info
{
margin-left
:
15px
;
line-height
:
18px
;
span
{
font-size
:
13px
;
color
:
#606266
;
}
}
}
}
.apply-info-detail
{
/*padding: 18px;*/
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
.apply-info-img
{
width
:
150px
;
height
:
150px
;
border-radius
:
12px
;
text-align
:
center
;
i
{
font-size
:
100px
;
color
:
#fff
;
}
}
.apply-info-right
{
width
:
229px
;
padding-left
:
16px
;
font-size
:
13px
;
color
:
#606266
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
.w-80
{
display
:
inline-block
;
}
}
}
}
.approve-dialog
{
.el-icon-success
{
display
:
inline-block
;
vertical-align
:
middle
;
font-size
:
24px
;
color
:
#67C23A
;
}
.approve-icon-tip
{
display
:
inline-block
;
vertical-align
:
middle
;
margin-left
:
6px
;
font-size
:
18px
;
color
:
#303133
;
}
.approve-tip
{
margin-top
:
31px
;
font-size
:
14px
;
color
:
#606266
;
}
/
deep
/
.el-dialog__footer
{
border
:
none
;
padding
:
18px
20px
22px
20px
;
}
}
.refuse-dialog
{
.refuse-tip
{
margin-bottom
:
20px
;
font-size
:
14px
;
color
:
#606266
;
}
/
deep
/
.el-dialog__footer
{
border
:
none
;
/*padding: 18px 20px 22px 20px;*/
}
.el-textarea
{
/deep/
.el-textarea__inner
{
font-size
:
12px
;
color
:
#606266
;
background-color
:
rgba
(
255
,
255
,
255
,
.1
);
resize
:
none
;
}
}
}
}
}
</
style
>
</
style
>
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