Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiedao-app-operator-master
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
lanbaoming
jiedao-app-operator-master
Commits
1d7200ad
Commit
1d7200ad
authored
Nov 20, 2022
by
我在何方
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新帮助客户延迟
parent
2910861d
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1521 additions
and
23 deletions
+1521
-23
customer.js
src/api/ecw/customer.js
+26
-0
internalHelpDoc.js
src/api/system/internalHelpDoc.js
+54
-0
help.png
src/assets/images/help.png
+0
-0
Navbar.vue
src/layout/components/Navbar.vue
+11
-2
dict.js
src/utils/dict.js
+1
-0
delay.vue
src/views/ecw/customer/delay.vue
+202
-0
editIndirect.vue
src/views/ecw/customer/editIndirect.vue
+862
-0
index.vue
src/views/ecw/customer/index.vue
+5
-0
indirectCustomer.vue
src/views/ecw/customer/indirectCustomer.vue
+179
-0
myAchievement.vue
src/views/ecw/deptTarget/myAchievement.vue
+146
-21
info.vue
src/views/system/helpDoc/info.vue
+35
-0
No files found.
src/api/ecw/customer.js
View file @
1d7200ad
...
@@ -259,3 +259,29 @@ export function getCustomerLines(customerId){
...
@@ -259,3 +259,29 @@ export function getCustomerLines(customerId){
})
})
}
}
// 获取客户延期调入公海池的审批详情
export
function
getDelayInfo
(
query
)
{
return
request
({
url
:
'
/ecw/customer/delay/approval/info
'
,
method
:
'
get
'
,
params
:
query
})
}
//客户延期调入公海池的审批申请
export
function
creatDelayApproval
(
data
){
return
request
({
url
:
'
/ecw/customer/delay/approval
'
,
method
:
'
post
'
,
data
})
}
// 取消客户延期调入公海池的审批申请
export
function
cancelDelayApproval
(
data
)
{
return
request
({
url
:
'
/ecw/customer/cancel/delay/approval
'
,
method
:
'
put
'
,
data
:
data
,
})
}
src/api/system/internalHelpDoc.js
0 → 100644
View file @
1d7200ad
import
request
from
'
@/utils/request
'
// 创建对内帮助文档
export
function
createInternalHelpDoc
(
data
)
{
return
request
({
url
:
'
/system/internal-help-doc/create
'
,
method
:
'
post
'
,
data
:
data
})
}
// 更新对内帮助文档
export
function
updateInternalHelpDoc
(
data
)
{
return
request
({
url
:
'
/system/internal-help-doc/update
'
,
method
:
'
put
'
,
data
:
data
})
}
// 删除对内帮助文档
export
function
deleteInternalHelpDoc
(
id
)
{
return
request
({
url
:
'
/system/internal-help-doc/delete?id=
'
+
id
,
method
:
'
delete
'
})
}
// 获得对内帮助文档
export
function
getInternalHelpDoc
(
id
)
{
return
request
({
url
:
'
/system/internal-help-doc/get?id=
'
+
id
,
method
:
'
get
'
})
}
// 获得对内帮助文档分页
export
function
getInternalHelpDocPage
(
query
)
{
return
request
({
url
:
'
/system/internal-help-doc/page
'
,
method
:
'
get
'
,
params
:
query
})
}
// 导出对内帮助文档 Excel
export
function
exportInternalHelpDocExcel
(
query
)
{
return
request
({
url
:
'
/system/internal-help-doc/export-excel
'
,
method
:
'
get
'
,
params
:
query
,
responseType
:
'
blob
'
})
}
src/assets/images/help.png
0 → 100644
View file @
1d7200ad
2.71 KB
src/layout/components/Navbar.vue
View file @
1d7200ad
...
@@ -7,10 +7,14 @@
...
@@ -7,10 +7,14 @@
<div
class=
"right-menu"
>
<div
class=
"right-menu"
>
<template
v-if=
"device!=='mobile'"
>
<template
v-if=
"device!=='mobile'"
>
<div
class=
"right-menu-item"
>
<el-image
style=
"width: 22px;height: 22px;cursor: pointer;"
:src=
"helpIcon"
@
click=
"tohelp"
></el-image>
</div>
<el-badge
:value=
"matterNum !== 0 ? matterNum : '' "
class=
"right-menu-item badge"
>
<el-badge
:value=
"matterNum !== 0 ? matterNum : '' "
class=
"right-menu-item badge"
>
<div
@
click=
"$router.push('/task/todo')"
style=
"font-size: 28px; color: #cccccc;cursor: pointer;"
class=
"el-icon-postcard"
></div>
<div
@
click=
"$router.push('/task/todo')"
style=
"font-size: 28px; color: #cccccc;cursor: pointer;"
class=
"el-icon-postcard"
></div>
</el-badge>
</el-badge>
<el-badge
:value=
"notMessage !== 0 ? notMessage : '' "
class=
"right-menu-item badge"
>
<el-badge
:value=
"notMessage !== 0 ? notMessage : '' "
class=
"right-menu-item badge"
>
<el-image
style=
"width: 22px;height: 20px;cursor: pointer;"
:src=
"unreadMessage"
@
click=
"notRead"
></el-image>
<el-image
style=
"width: 22px;height: 20px;cursor: pointer;"
:src=
"unreadMessage"
@
click=
"notRead"
></el-image>
</el-badge>
</el-badge>
...
@@ -40,7 +44,7 @@
...
@@ -40,7 +44,7 @@
<dict-selector
:type=
"DICT_TYPE.SYSTEM_LOCALE"
v-model=
"lang"
defaultable
class=
"right-menu-item select-nav"
/>
<dict-selector
:type=
"DICT_TYPE.SYSTEM_LOCALE"
v-model=
"lang"
defaultable
class=
"right-menu-item select-nav"
/>
<el-dropdown
class=
"avatar-container right-menu-item hover-effect"
trigger=
"click"
>
<el-dropdown
class=
"avatar-container right-menu-item hover-effect"
trigger=
"click"
>
<div
class=
"avatar-wrapper flex-center"
>
<div
class=
"avatar-wrapper flex-center"
>
{{$store.getters.name}}
{{$store.getters.name}}
<img
:src=
"avatar"
class=
"user-avatar ml-10"
>
<img
:src=
"avatar"
class=
"user-avatar ml-10"
>
...
@@ -74,11 +78,13 @@ import RuoYiGit from '@/components/RuoYi/Git'
...
@@ -74,11 +78,13 @@ import RuoYiGit from '@/components/RuoYi/Git'
import
RuoYiDoc
from
'
@/components/RuoYi/Doc
'
import
RuoYiDoc
from
'
@/components/RuoYi/Doc
'
import
{
getLocale
,
saveLocale
}
from
"
@/utils/db
"
;
import
{
getLocale
,
saveLocale
}
from
"
@/utils/db
"
;
import
unreadMessage
from
"
@/assets/images/unread-message.png
"
import
unreadMessage
from
"
@/assets/images/unread-message.png
"
import
helpIcon
from
"
@/assets/images/help.png
"
import
i18n
from
'
@/i18n
'
import
i18n
from
'
@/i18n
'
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
unreadMessage
,
unreadMessage
,
helpIcon
,
// locale: getLocale(),
// locale: getLocale(),
// 枚举
// 枚举
// langDatas: LangEnum.LANG,
// langDatas: LangEnum.LANG,
...
@@ -159,6 +165,9 @@ export default {
...
@@ -159,6 +165,9 @@ export default {
},
},
notRead
(){
notRead
(){
this
.
$router
.
push
({
path
:
'
/system/internalMessage/my-internal-message
'
,
query
:{
status
:
'
0
'
}});
this
.
$router
.
push
({
path
:
'
/system/internalMessage/my-internal-message
'
,
query
:{
status
:
'
0
'
}});
},
tohelp
(){
this
.
$router
.
push
({
path
:
'
/operation_manage/info
'
});
}
}
}
}
}
}
...
...
src/utils/dict.js
View file @
1d7200ad
...
@@ -148,6 +148,7 @@ export const DICT_TYPE = {
...
@@ -148,6 +148,7 @@ export const DICT_TYPE = {
//customer
//customer
CUSTOMER_CREDIT_RULE_TYPE
:
'
customer_credit_rule_type
'
,
CUSTOMER_CREDIT_RULE_TYPE
:
'
customer_credit_rule_type
'
,
CUSTOMER_LEVEL_RULE_TYPE
:
'
customer_level_rule_type
'
,
CUSTOMER_LEVEL_RULE_TYPE
:
'
customer_level_rule_type
'
,
CUSTOMER_ESOURCE_TYPE
:
'
customer_resource_type
'
,
//客户资源类型
// order
// order
ORDER_TYPE
:
'
order_type
'
,
// 订单类型
ORDER_TYPE
:
'
order_type
'
,
// 订单类型
PRODUCT_RECORD_ATTRIBUTE
:
'
product_record_attribute
'
,
//产品备案属性
PRODUCT_RECORD_ATTRIBUTE
:
'
product_record_attribute
'
,
//产品备案属性
...
...
src/views/ecw/customer/delay.vue
0 → 100644
View file @
1d7200ad
<
template
>
<div
class=
"app-container"
>
<el-card>
<el-form
:model=
"handlerParams"
ref=
"queryForms"
size=
"small"
:inline=
"true"
label-width=
"180px"
class=
"card"
>
<el-row>
<el-form-item
:label=
"$t('客户名称')+':'"
>
<span
style=
"margin-left: 8px;"
>
{{
handlerParams
.
customerName
}}
</span>
</el-form-item>
</el-row>
<el-row
>
<el-form-item
:label=
"$t('原时间掉入公海池时间')+':'"
>
<span
style=
"margin-left: 8px;"
>
{{
handlerParams
.
orgEstimateEnterOpenSeaTime
}}
</span>
</el-form-item>
</el-row>
<el-row>
<el-form-item
:label=
"$t('申请延期后掉入时间')+':'"
>
<el-date-picker
v-model=
"handlerParams.estimateEnterOpenSeaTime"
type=
"date"
value-format=
"timestamp"
:placeholder=
"$t('请输入申请延期后掉入时间')"
>
</el-date-picker>
</el-form-item>
</el-row>
<el-row
:span=
"8"
>
<el-form-item
:label=
"$t('凭证')+':'"
size=
"medium"
:require=
"true"
>
<upload
v-model=
"handlerParams.voucher"
:limit=
"1"
></upload>
</el-form-item>
</el-row>
<el-row
:span=
"8"
>
<el-form-item
:label=
"$t('申请理由')+':'"
size=
"medium"
>
<el-input
style=
"width: 500px;"
type=
"textarea"
v-model=
"handlerParams.reason"
/>
</el-form-item>
</el-row>
</el-form>
</el-card>
<!-- 只有不需要预付才需要审核 -->
<template>
<div
class=
"page-title"
>
{{
$t
(
'
审批流程
'
)
}}
</div>
<work-flow
xmlkey=
"quotation_customer_delay_public"
v-model=
"handlerParams.ccIds"
/>
</
template
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<!-- bpmStatus
异常流程状态,1处理中2通过3不通过4已取消
待审核可能没有bpmStatus字段
-->
<
template
v-if=
"handlerParams.status == 1"
>
<el-button
type=
"primary"
@
click=
"$router.push(`/bpm/process-instance/detail?id=`+handlerParams.bpmId)"
>
{{
$t
(
'
审核中
'
)
}}
</el-button>
<el-button
plain
type=
"primary"
@
click=
"cancelAudit"
>
{{
$t
(
'
取消审核
'
)
}}
</el-button>
<el-button
plain
type=
"primary"
@
click=
"$store.dispatch('tagsView/delCurrentView')"
>
{{
$t
(
'
返回
'
)
}}
</el-button>
</
template
>
<
template
v-else
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
{{
$t
(
'
提交
'
)
}}
</el-button>
<el-button
plain
type=
"primary"
@
click=
"$store.dispatch('tagsView/delCurrentView')"
>
{{
$t
(
'
取消
'
)
}}
</el-button>
</
template
>
</div>
</div>
</template>
<
script
>
import
upload
from
'
@/components/ImageUpload
'
import
{
getDictData
,
getDictDatas
}
from
'
@/utils/dict
'
import
{
getCustomer
,
getDelayInfo
,
creatDelayApproval
,
cancelDelayApproval
}
from
'
@/api/ecw/customer
'
import
WorkFlow
from
'
@/components/WorkFlow
'
import
{
cancelProcessInstance
}
from
'
@/api/bpm/processInstance
'
export
default
{
name
:
"
Delay
"
,
components
:
{
upload
,
WorkFlow
},
data
()
{
return
{
// 遮罩层
loading
:
false
,
handlerParams
:{
},
customerData
:{},
showWorkFlow
:
false
,
// 是否显示工作流
dateRangeCreateTime
:[]
};
},
created
()
{
if
(
this
.
$route
.
query
.
id
){
this
.
getData
(
this
.
$route
.
query
.
id
)
}
},
methods
:
{
getData
(
id
){
getCustomer
(
id
).
then
(
response
=>
{
this
.
customerData
=
response
.
data
this
.
getDely
(
id
)
});
},
getDely
(
id
){
console
.
log
(
this
.
customerData
)
let
that
=
this
getDelayInfo
({
customerId
:
id
}).
then
(
res
=>
{
if
(
res
.
data
){
that
.
handlerParams
=
res
.
data
if
(
!
that
.
handlerParams
.
orgEstimateEnterOpenSeaTime
){
that
.
handlerParams
.
orgEstimateEnterOpenSeaTime
=
that
.
getNowDate
(
that
.
customerData
.
enterOpenSeaTime
)
}
console
.
log
(
that
.
handlerParams
)
}
else
{
that
.
handlerParams
=
{
customerId
:
that
.
customerData
.
id
,
customerName
:
that
.
customerData
.
name
,
orgEstimateEnterOpenSeaTime
:
that
.
getNowDate
(
that
.
customerData
.
enterOpenSeaTime
)
}
}
})
},
submitForm
(){
// if(!this.handlerParams.orderExceptionHandlerResult){
// this.$modal.msgError(this.$t('请选择处理结果'));
// return
// }
// if(!this.handlerParams.fileList||this.handlerParams.fileList.length==0){
// this.$modal.msgError(this.$t('请上传报关资料'));
// return
// }
this
.
handlerParams
.
ccIds
=
Array
.
isArray
(
this
.
handlerParams
.
ccIds
)
?
this
.
handlerParams
.
ccIds
.
join
(
'
,
'
)
:
this
.
handlerParams
.
ccIds
this
.
handlerParams
.
voucher
=
Array
.
isArray
(
this
.
handlerParams
.
voucher
)
?
this
.
handlerParams
.
voucher
.
join
(
'
,
'
)
:
this
.
handlerParams
.
voucher
this
.
$set
(
this
.
handlerParams
,
'
createTime
'
,
this
.
formatDate
())
this
.
handlerParams
.
estimateEnterOpenSeaTime
=
this
.
getNowDate
(
this
.
handlerParams
.
estimateEnterOpenSeaTime
)
creatDelayApproval
(
this
.
handlerParams
).
then
(
res
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
'
提交成功
'
));
this
.
$store
.
dispatch
(
'
tagsView/delCurrentView
'
)
})
},
getNowDate
(
time
)
{
if
(
time
){
var
date
=
new
Date
(
time
);
}
else
{
var
date
=
new
Date
();
}
var
year
=
date
.
getFullYear
()
// 年
var
month
=
date
.
getMonth
()
+
1
;
// 月
var
day
=
date
.
getDate
();
// 日
// 给一位数的数据前面加 “0”
if
(
month
>=
1
&&
month
<=
9
)
{
month
=
"
0
"
+
month
;
}
if
(
day
>=
0
&&
day
<=
9
)
{
day
=
"
0
"
+
day
;
}
return
year
+
"
-
"
+
month
+
"
-
"
+
day
},
formatDate
()
{
var
date
=
new
Date
()
var
year
=
date
.
getFullYear
()
var
month
=
date
.
getMonth
()
+
1
<
10
?
'
0
'
+
(
date
.
getMonth
()
+
1
)
:
date
.
getMonth
()
+
1
var
day
=
date
.
getDate
()
<
10
?
'
0
'
+
date
.
getDate
()
:
date
.
getDate
()
var
hours
=
date
.
getHours
()
<
10
?
'
0
'
+
date
.
getHours
()
:
date
.
getHours
()
var
minutes
=
date
.
getMinutes
()
<
10
?
'
0
'
+
date
.
getMinutes
()
:
date
.
getMinutes
()
var
seconds
=
date
.
getSeconds
()
<
10
?
'
0
'
+
date
.
getSeconds
()
:
date
.
getSeconds
()
return
year
+
'
-
'
+
month
+
'
-
'
+
day
+
'
'
+
hours
+
'
:
'
+
minutes
+
'
:
'
+
seconds
},
// 取消审核
cancelAudit
(){
this
.
$prompt
(
"
请输入取消原因
"
,
{
inputPattern
:
/
[\S]
+/
,
inputErrorMessage
:
'
不能为空
'
}).
then
(({
value
})
=>
{
return
cancelDelayApproval
(
this
.
handlerParams
.
formId
,
value
)
})
.
then
(
res
=>
{
this
.
getList
()
})
}
}
};
</
script
>
<
style
scoped
>
.card-title
{
font-size
:
18px
;
font-weight
:
bold
;
margin-top
:
10px
;
}
.header
{
width
:
100%
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
}
.card
{
margin-top
:
20px
;
}
.dialog-footer
{
padding
:
40px
;
width
:
60%
;
align-items
:
center
;
display
:
flex
;
/* justify-content: space-between; */
}
</
style
>
src/views/ecw/customer/editIndirect.vue
0 → 100644
View file @
1d7200ad
This diff is collapsed.
Click to expand it.
src/views/ecw/customer/index.vue
View file @
1d7200ad
...
@@ -120,6 +120,7 @@
...
@@ -120,6 +120,7 @@
v-hasPermi=
"['ecw:customer:delete']"
>
{{
$t
(
'
删除
'
)
}}
</el-button>
v-hasPermi=
"['ecw:customer:delete']"
>
{{
$t
(
'
删除
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-collection"
@
click=
"followUp(scope.row)"
>
{{
$t
(
'
跟进
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-collection"
@
click=
"followUp(scope.row)"
>
{{
$t
(
'
跟进
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-user"
@
click=
"complaint(scope.row)"
>
{{
$t
(
'
客诉
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-user"
@
click=
"complaint(scope.row)"
>
{{
$t
(
'
客诉
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-user"
@
click=
"delay(scope.row)"
>
{{
$t
(
'
延期
'
)
}}
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -753,6 +754,10 @@ export default {
...
@@ -753,6 +754,10 @@ export default {
this
.
$refs
.
CustomerFollowList
.
customerFollow
.
dialogVisible
=
true
;
this
.
$refs
.
CustomerFollowList
.
customerFollow
.
dialogVisible
=
true
;
})
})
},
},
delay
(
row
){
this
.
$router
.
push
({
path
:
'
/customer/delay
'
,
query
:{
id
:
row
.
id
}})
},
complaint
(
row
){
complaint
(
row
){
this
.
customerId
=
row
.
id
;
this
.
customerId
=
row
.
id
;
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
...
...
src/views/ecw/customer/indirectCustomer.vue
0 → 100644
View file @
1d7200ad
<
template
>
<div
class=
"app-container"
>
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
:label=
"$t('客户名称')"
prop=
"name"
>
<el-input
v-model=
"queryParams.name"
placeholder=
"请输入客户名称"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('联系方式')"
>
<el-input
:placeholder=
"$t('请输入联系方式')"
v-model=
"queryParams.defaultContactPhone"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('客户经理')"
prop=
"customerService"
>
<el-select
clearable
v-model=
"queryParams.customerService"
:placeholder=
"$t('请选择客户经理')"
clearable
size=
"small"
>
<el-option
v-for=
"dict in customerServiceList"
:key=
"dict.id"
:label=
"dict.nickname"
:value=
"dict.id"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('客户来源')"
prop=
"source"
>
<el-select
clearable
v-model=
"queryParams.source"
:placeholder=
"$t('请选择客户来源')"
clearable
size=
"small"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('创建时间')"
>
<el-date-picker
clearable
v-model=
"dateRangeCreateTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
type=
"daterange"
range-separator=
"-"
:start-placeholder=
"$t('开始日期')"
:end-placeholder=
"$t('结束日期')"
/>
</el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
{{
$t
(
'
搜索
'
)
}}
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
{{
$t
(
'
重置
'
)
}}
</el-button>
</el-form-item>
</el-form>
<!-- 列表 -->
<el-table
ref=
"multipleTable"
v-loading=
"loading"
:data=
"list"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
>
</el-table-column>
<el-table-column
:label=
"$t('客户名称')"
align=
"center"
prop=
"name"
/>
<el-table-column
:label=
"$t('联系方式')"
prop=
"defaultContactPhone"
>
<template
v-slot=
"
{row}">
+
{{
row
.
defaultContactPhone
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('客户来源')"
align=
"center"
prop=
"sourse"
>
<
template
v-slot=
"{row}"
>
<dict-tag
:value=
"row.resourceType"
:type=
"DICT_TYPE.CUSTOMER_SOURCE"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('资源类型')"
align=
"center"
prop=
"resourceType"
>
<
template
v-slot=
"{row}"
>
<dict-tag
:value=
"row.resourceType"
:type=
"DICT_TYPE.CUSTOMER_ESOURCE_TYPE"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('客户类别')"
align=
"center"
prop=
"sourse"
>
<
template
v-slot=
"{row}"
>
<dict-tag
:value=
"row.type"
:type=
"DICT_TYPE.CUSTOMER_TYPE"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('创建时间')"
align=
"center"
prop=
"createTime"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('客户经理')"
align=
"center"
prop=
"customerService"
:formatter=
"customerServiceFn"
>
</el-table-column>
<el-table-column
:label=
"$t('操作')"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-user"
@
click=
"delay(scope.row)"
>
{{
$t
(
'
完善
'
)
}}
</el-button>
</
template
>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"queryParams.pageNo"
:limit.sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
</div>
</template>
<
script
>
import
{
createCustomer
,
updateCustomer
,
deleteCustomer
,
getCustomer
,
getCustomerPage
,
exportCustomerExcel
}
from
"
@/api/ecw/customer
"
;
import
{
getDictDatas
,
DICT_TYPE
}
from
'
@/utils/dict
'
;
import
{
CommonStatusEnum
}
from
'
@/utils/constants
'
import
{
getNodeList
}
from
"
@/api/ecw/node
"
import
{
listServiceUser
}
from
"
@/api/system/user
"
;
import
{
getCreditPage
}
from
"
@/api/customer/credit
"
;
export
default
{
name
:
"
IndirectCustomer
"
,
data
()
{
return
{
getDictDatas
,
DICT_TYPE
,
// 遮罩层
loading
:
true
,
// 导出遮罩层
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 客户列表
list
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
dateRangeCreateTime
:
[],
// 查询参数
queryParams
:
{
pageNo
:
1
,
pageSize
:
10
,
name
:
null
,
source
:
null
,
customerService
:
null
,
},
// 网点
nodeList
:
[],
customerId
:
undefined
,
customerServiceList
:[],
};
},
created
()
{
this
.
getList
();
listServiceUser
().
then
(
r
=>
{
this
.
customerServiceList
=
r
.
data
;
})
},
methods
:
{
customerServiceFn
(
val
){
if
(
this
.
customerServiceList
.
length
>
0
){
let
index
=
this
.
customerServiceList
.
findIndex
(
item
=>
item
.
id
===
val
.
customerService
);
return
index
!==
-
1
?
this
.
customerServiceList
[
index
]?.
nickname
:
''
}
else
{
return
''
}
},
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
// 处理查询参数
let
params
=
{...
this
.
queryParams
};
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeCreateTime
,
'
createTime
'
);
// 执行查询
getCustomerPage
(
params
).
then
(
response
=>
{
this
.
list
=
response
.
data
.
list
;
this
.
total
=
response
.
data
.
total
;
this
.
loading
=
false
;
});
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNo
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
dateRangeCreateTime
=
[];
this
.
resetForm
(
"
queryForm
"
);
this
.
queryParams
=
{
pageNo
:
1
,
pageSize
:
10
,
name
:
null
,
source
:
null
,
customerService
:
null
,
}
this
.
handleQuery
();
},
delay
(
row
){
this
.
$router
.
push
({
path
:
'
/customer/editIndirect
'
,
query
:{
id
:
row
.
id
}})
},
handleSelectionChange
(
val
){
}
}
};
</
script
>
src/views/ecw/deptTarget/myAchievement.vue
View file @
1d7200ad
This diff is collapsed.
Click to expand it.
src/views/system/helpDoc/info.vue
0 → 100644
View file @
1d7200ad
<
template
>
<div
class=
"infoheader"
>
<el-collapse
v-model=
"activeNames"
>
<div
v-for=
"item in helpData"
:key=
"item.id"
>
<el-collapse-item
:title=
"item.titleZh"
:name=
"item.id"
>
<span
v-html=
"item.contentZh"
>
{{
item
.
contentZh
}}
</span>
</el-collapse-item>
</div>
</el-collapse>
</div>
</
template
>
<
script
>
import
{
getInternalHelpDocPage
}
from
"
@/api/system/internalHelpDoc
"
;
export
default
{
data
()
{
return
{
activeNames
:
[],
helpData
:
[]
}
},
created
()
{
getInternalHelpDocPage
({
pageNo
:
1
,
pageSize
:
100
}).
then
((
r
)
=>
{
this
.
helpData
=
r
.
data
.
list
this
.
activeNames
=
this
.
helpData
.
map
(
m
=>
{
return
m
.
id
})
})
}
}
</
script
>
<
style
scoped
>
.infoheader
{
padding
:
20px
}
</
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