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
b706f640
Commit
b706f640
authored
Oct 22, 2022
by
dragondean@qq.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev'
parents
96f9d231
8da5c2a3
Changes
51
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
51 changed files
with
1068 additions
and
580 deletions
+1068
-580
README.md
README.md
+6
-1
Navbar.vue
src/layout/components/Navbar.vue
+5
-4
index.js
src/router/index.js
+2
-2
user.js
src/store/modules/user.js
+4
-4
dict.js
src/utils/dict.js
+1
-0
detail.vue
src/views/bpm/processInstance/detail.vue
+3
-3
index.vue
src/views/bpm/processInstance/index.vue
+36
-32
copy.vue
src/views/bpm/task/copy.vue
+25
-15
done.vue
src/views/bpm/task/done.vue
+13
-13
todo.vue
src/views/bpm/task/todo.vue
+40
-21
PanelGroup.vue
src/views/dashboard/PanelGroup.vue
+7
-2
indexSeaAir.vue
src/views/ecw/box/indexSeaAir.vue
+4
-1
query.vue
src/views/ecw/box/query.vue
+1
-1
edit.vue
src/views/ecw/coupon/edit.vue
+105
-90
index.vue
src/views/ecw/coupon/index.vue
+8
-2
edit.vue
src/views/ecw/customer/edit.vue
+18
-5
index.vue
src/views/ecw/customer/index.vue
+19
-4
index.vue
src/views/ecw/customerCommissionInfo/index.vue
+1
-1
index.vue
src/views/ecw/customerConfirm/index.vue
+21
-2
index.vue
src/views/ecw/customerToBeAssigned/index.vue
+19
-4
index.vue
src/views/ecw/deptTarget/index.vue
+16
-5
creatCollection.vue
src/views/ecw/financial/creatCollection.vue
+103
-64
creatPayment.vue
src/views/ecw/financial/creatPayment.vue
+2
-1
printPaymentVoucher.vue
src/views/ecw/financial/printPaymentVoucher.vue
+11
-7
printVoucher.vue
src/views/ecw/financial/printVoucher.vue
+70
-49
receiptDetail.vue
src/views/ecw/financial/receiptDetail.vue
+146
-57
receivable.vue
src/views/ecw/financial/receivable.vue
+5
-1
voucher.vue
src/views/ecw/financial/voucher.vue
+2
-2
index.vue
src/views/ecw/myCustomerService/index.vue
+19
-4
index.vue
src/views/ecw/oceanCustomer/index.vue
+16
-3
Commossion.vue
src/views/ecw/offer/components/Commossion.vue
+16
-2
SpecialDiscount.vue
src/views/ecw/offer/components/SpecialDiscount.vue
+16
-1
edit.vue
src/views/ecw/offer/edit.vue
+35
-26
cargoControl.vue
src/views/ecw/order/cargoControl.vue
+1
-1
Release.vue
src/views/ecw/order/components/Release.vue
+1
-1
Transfer.vue
src/views/ecw/order/components/Transfer.vue
+5
-7
warehouseDetails.vue
src/views/ecw/order/components/warehouseDetails.vue
+6
-0
warehouseLocation.vue
src/views/ecw/order/components/warehouseLocation.vue
+85
-52
detail.vue
src/views/ecw/order/detail.vue
+15
-6
edit.vue
src/views/ecw/order/edit.vue
+34
-14
index.vue
src/views/ecw/order/exception/index.vue
+1
-1
index.vue
src/views/ecw/order/index.vue
+1
-1
prepayDeal.vue
src/views/ecw/order/prepayDeal.vue
+14
-8
singleApply.vue
src/views/ecw/order/singleApply.vue
+2
-1
Commission.vue
src/views/ecw/order/special/Commission.vue
+15
-1
Discount.vue
src/views/ecw/order/special/Discount.vue
+14
-1
transferWarehousing.vue
src/views/ecw/order/transferWarehousing.vue
+4
-6
editDialog.vue
src/views/ecw/order/warehousing/components/editDialog.vue
+3
-3
index.vue
src/views/ecw/order/warehousing/index.vue
+3
-3
batchEdit.vue
src/views/ecw/productPrice/batchEdit.vue
+48
-39
edit.vue
src/views/ecw/productPrice/edit.vue
+21
-6
No files found.
README.md
View file @
b706f640
捷道项目管理后台-前端
后台:
本地运行:npm run dev
测试环境:npm run build:dev
生产环境:npm run build:prod
\ No newline at end of file
src/layout/components/Navbar.vue
View file @
b706f640
...
...
@@ -79,7 +79,7 @@ export default {
data
()
{
return
{
unreadMessage
,
locale
:
getLocale
(),
//
locale: getLocale(),
// 枚举
// langDatas: LangEnum.LANG,
notReadTotal
:
0
,
//要去取VUEX里面的未读数据总数,我不会,登录之后要调得到当前人未读记录总数接口放到VUEX中
...
...
@@ -87,8 +87,10 @@ export default {
}
},
created
()
{
setInterval
(()
=>
{
this
.
$store
.
dispatch
(
'
getNotMessage
'
);
this
.
$store
.
dispatch
(
'
getToDoList
'
);
},
3000
)
},
components
:
{
Breadcrumb
,
...
...
@@ -128,7 +130,6 @@ export default {
matterNum
(){
return
this
.
$store
.
state
.
user
.
matterNum
}
},
watch
:{
lang
(
val
){
...
...
src/router/index.js
View file @
b706f640
...
...
@@ -255,7 +255,7 @@ export const constantRoutes = [
path
:
'
/customerCommissionInfo/:dictId(
\\
d+)
'
,
component
:
(
resolve
)
=>
require
([
'
@/views/ecw/customerCommissionInfo/index
'
],
resolve
),
name
:
'
customerCommissionInfo
'
,
meta
:
{
title
:
'
佣金
详情
'
,
icon
:
''
,
activeMenu
:
'
/customer/customerCommissionInfo
'
}
meta
:
{
title
:
'
佣金
设置
'
,
icon
:
''
,
activeMenu
:
'
/customer/customerCommissionInfo
'
}
},
{
path
:
'
edit/:customerId(
\\
d+)
'
,
...
...
src/store/modules/user.js
View file @
b706f640
...
...
@@ -34,10 +34,10 @@ const user = {
SET_PERMISSIONS
:
(
state
,
permissions
)
=>
{
state
.
permissions
=
permissions
},
NOt_MESSAGE
:(
state
,
notMessage
)
=>
{
SET_UNREAD
:(
state
,
notMessage
)
=>
{
state
.
notMessage
=
notMessage
;
},
GET_MAATER
:(
state
,
matterNum
)
=>
{
SET_TODO
:(
state
,
matterNum
)
=>
{
state
.
matterNum
=
matterNum
;
}
},
...
...
@@ -161,7 +161,7 @@ const user = {
getNotMessage
({
commit
}){
return
new
Promise
((
resolve
,
reject
)
=>
{
getNotReadInternalMessageTotal
().
then
((
r
)
=>
{
commit
(
'
NOt_MESSAGE
'
,
r
.
data
);
commit
(
'
SET_UNREAD
'
,
r
.
data
);
resolve
()
}).
catch
(
error
=>
{
reject
(
error
);
...
...
@@ -172,7 +172,7 @@ const user = {
getToDoList
({
commit
}){
return
new
Promise
((
resolve
,
reject
)
=>
{
taskTodoCount
().
then
(
r
=>
{
commit
(
'
GET_MAATER
'
,
r
.
data
)
commit
(
'
SET_TODO
'
,
r
.
data
)
resolve
()
}).
catch
(
err
=>
{
reject
(
err
)
...
...
src/utils/dict.js
View file @
b706f640
...
...
@@ -12,6 +12,7 @@ export const DICT_TYPE = {
AUDIT_STATUS
:
'
audit_status
'
,
ADVANCE_STATUS
:
'
advance_status
'
,
BOX_SHIPMENT_STATUS
:
'
box_shipment_status
'
,
BOX_SEA_AIR_SHIPMENT_STATUS
:
'
shipment_sea_air_state
'
,
// ========== SYSTEM 模块 ==========
SYSTEM_USER_SEX
:
'
system_user_sex
'
,
...
...
src/views/bpm/processInstance/detail.vue
View file @
b706f640
...
...
@@ -568,14 +568,14 @@ export default {
if
(
pass
)
{
approveTask
(
data
).
then
(
response
=>
{
let
p
=
this
.
matterNum
this
.
$store
.
commit
(
'
GET_MAATER
'
,
--
p
)
//
this.$store.commit('GET_MAATER', --p)
this
.
$modal
.
msgSuccess
(
"
审批通过成功!
"
);
this
.
getDetail
();
// 获得最新详情
});
}
else
{
rejectTask
(
data
).
then
(
response
=>
{
let
p
=
this
.
matterNum
this
.
$store
.
commit
(
'
GET_MAATER
'
,
--
p
)
//
this.$store.commit('GET_MAATER', --p)
this
.
$modal
.
msgSuccess
(
"
审批不通过成功!
"
);
this
.
getDetail
();
// 获得最新详情
});
...
...
@@ -599,7 +599,7 @@ export default {
updateTaskAssignee
(
this
.
updateAssignee
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"
转派任务成功!
"
);
let
p
=
this
.
matterNum
this
.
$store
.
commit
(
'
GET_MAATER
'
,
--
p
)
//
this.$store.commit('GET_MAATER', --p)
this
.
updateAssignee
.
open
=
false
;
this
.
getDetail
();
// 获得最新详情
});
...
...
src/views/bpm/processInstance/index.vue
View file @
b706f640
...
...
@@ -2,34 +2,37 @@
<div
class=
"app-container"
>
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"任务名称
"
prop=
"name"
>
<el-input
v-model=
"queryParams.
name"
placeholder=
"任务名称
"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-form-item
:label=
"$t('流程编号')
"
prop=
"name"
>
<el-input
v-model=
"queryParams.
processDefinitionId"
:placeholder=
"$t('流程编号')
"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"流程分类"
prop=
"category"
>
<el-select
v-model=
"queryParams.category"
placeholder=
"请选择流程分类"
clearable
>
<el-form-item
:label=
"$t('流程名称')"
prop=
"name"
>
<el-input
v-model=
"queryParams.name"
:placeholder=
"$t('任务名称')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('流程分类')"
prop=
"category"
>
<el-select
v-model=
"queryParams.category"
:placeholder=
"$t('请选择流程分类')"
clearable
>
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.BPM_MODEL_CATEGORY)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"提交时间
"
>
<el-form-item
:label=
"$t('提交时间')
"
>
<el-date-picker
v-model=
"dateRangeCreateTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
type=
"daterange"
range-separator=
"-"
start-
placeholder=
"开始日期"
end-placeholder=
"结束日期
"
/>
type=
"daterange"
range-separator=
"-"
start-
:placeholder=
"$t('开始日期')"
end-:placeholder=
"$t('结束日期')
"
/>
</el-form-item>
<el-form-item
label=
"状态
"
prop=
"status"
>
<el-select
v-model=
"queryParams.status"
placeholder=
"请选择状态
"
clearable
>
<el-form-item
:label=
"$t('状态')
"
prop=
"status"
>
<el-select
v-model=
"queryParams.status"
:placeholder=
"$t('请选择状态')
"
clearable
>
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.BPM_PROCESS_INSTANCE_STATUS)"
:key=
"dict.value"
:label=
"
dict.label
"
:value=
"dict.value"
/>
:key=
"dict.value"
:label=
"
$l(dict, 'label')
"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"结果
"
prop=
"result"
>
<el-select
v-model=
"queryParams.result"
placeholder=
"请选择流结果
"
clearable
>
<el-form-item
:label=
"$t('结果')
"
prop=
"result"
>
<el-select
v-model=
"queryParams.result"
:placeholder=
"$t('请选择流结果')
"
clearable
>
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
重置
</el-button>
<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>
...
...
@@ -37,54 +40,55 @@
<el-row
:gutter=
"10"
class=
"mb8"
>
<!--
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['bpm:process-instance:query']"
>
发起流程
</el-button>
v-hasPermi=
"['bpm:process-instance:query']"
>
{{
$t
(
'
发起流程
'
)
}}
</el-button>
</el-col>
-->
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
label=
"编号"
align=
"center"
prop=
"id"
width=
"320"
/>
<el-table-column
label=
"任务名称"
align=
"center"
prop=
"name"
/>
<el-table-column
label=
"流程分类"
align=
"center"
prop=
"category"
>
<el-table-column
:label=
"$t('流程编号')"
align=
"center"
prop=
"id"
width=
"320"
/>
<el-table-column
:label=
"$t('流程名称')"
align=
"center"
prop=
"name"
/>
<el-table-column
:label=
"$t('业务编号')"
align=
"center"
prop=
"businessNo"
/>
<el-table-column
:label=
"$t('流程分类')"
align=
"center"
prop=
"category"
>
<template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.BPM_MODEL_CATEGORY"
:value=
"scope.row.category"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"当前审批任务
"
align=
"center"
prop=
"tasks"
>
<el-table-column
:label=
"$t('当前审批节点')
"
align=
"center"
prop=
"tasks"
>
<
template
slot-scope=
"scope"
>
<el-button
v-for=
"(task, taskIndex) in scope.row.tasks"
type=
"text"
@
click=
"handleFormDetail(task.id)"
:key=
"taskIndex"
>
<span>
{{
task
.
name
}}
</span>
</el-button>
</
template
>
</el-table-column>
<el-table-column
label=
"状态
"
align=
"center"
prop=
"status"
>
<el-table-column
:label=
"$t('状态')
"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.BPM_PROCESS_INSTANCE_STATUS"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"结果
"
align=
"center"
prop=
"result"
>
<el-table-column
:label=
"$t('结果')
"
align=
"center"
prop=
"result"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT"
:value=
"scope.row.result"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"提交时间
"
align=
"center"
prop=
"createTime"
width=
"180"
>
<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=
"结束时间
"
align=
"center"
prop=
"createTime"
width=
"180"
>
<el-table-column
:label=
"$t('结束时间')
"
align=
"center"
prop=
"createTime"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
endTime
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
class-name=
"small-padding fixed-width
"
>
<
template
slot-scope=
"scope
"
>
<el-table-column
:label=
"$t('操作')"
align=
"center"
fixed=
"right"
class-name=
"small-padding fixed-width"
width=
"120px
"
>
<
div
slot-scope=
"scope"
style=
"white-space:nowrap
"
>
<el-button
type=
"text"
size=
"small"
icon=
"el-icon-delete"
v-if=
"scope.row.result === 1"
v-hasPermi=
"['bpm:process-instance:cancel']"
@
click=
"handleCancel(scope.row)"
>
取消
</el-button>
v-hasPermi=
"['bpm:process-instance:cancel']"
@
click=
"handleCancel(scope.row)"
>
{{$t('取消')}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleDetail(scope.row)"
v-hasPermi=
"['bpm:process-instance:query']"
>
详情
</el-button>
</
template
>
v-hasPermi=
"['bpm:process-instance:query']"
>
{{$t('详情')}}
</el-button>
</
div
>
</el-table-column>
</el-table>
<!-- 分页组件 -->
...
...
@@ -160,17 +164,17 @@ export default {
/** 取消按钮操作 */
handleCancel
(
row
)
{
const
id
=
row
.
id
;
this
.
$prompt
(
'
请输入取消原因?
'
,
"
取消流程
"
,
{
this
.
$prompt
(
this
.
$t
(
'
请输入取消原因?
'
),
this
.
$t
(
"
取消流程
"
)
,
{
type
:
'
warning
'
,
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
confirmButtonText
:
this
.
$t
(
"
确定
"
)
,
cancelButtonText
:
this
.
$t
(
"
取消
"
)
,
inputPattern
:
/^
[\s\S]
*.*
[^\s][\s\S]
*$/
,
// 判断非空,且非空格
inputErrorMessage
:
"
取消原因不能为空
"
,
inputErrorMessage
:
this
.
$t
(
"
取消原因不能为空
"
)
,
}).
then
(({
value
})
=>
{
return
cancelProcessInstance
(
id
,
value
);
}).
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"
取消成功
"
);
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
取消成功
"
)
);
})
},
/** 处理详情按钮 */
...
...
src/views/bpm/task/copy.vue
View file @
b706f640
...
...
@@ -2,21 +2,21 @@
<div
class=
"app-container"
>
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"任务编号
"
prop=
"processId"
>
<el-input
v-model=
"queryParams.instanceId"
placeholder=
"请输入任务编号
"
clearable
/>
<el-form-item
:label=
"$t('流程编号')
"
prop=
"processId"
>
<el-input
v-model=
"queryParams.instanceId"
:placeholder=
"$t('请输入流程编号')
"
clearable
/>
</el-form-item>
<el-form-item
label=
"流程分类"
prop=
"processName"
>
<el-select
v-model=
"queryParams.categoryId"
placeholder=
"请选择流程分类"
clearable
>
<el-form-item
:label=
"$t('流程名称')"
prop=
"processName"
>
<el-input
v-model=
"queryParams.processName"
:placeholder=
"$t('请输入任务名称')"
clearable
/>
</el-form-item>
<el-form-item
:label=
"$t('流程分类')"
prop=
"processName"
>
<el-select
v-model=
"queryParams.categoryId"
:placeholder=
"$t('请选择流程分类')"
clearable
>
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.BPM_MODEL_CATEGORY)"
:key=
"dict.value"
:label=
"
dict.label
"
:value=
"dict.value"
/>
:key=
"dict.value"
:label=
"
$l(dict, 'label')
"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"任务名称"
prop=
"processName"
>
<el-input
v-model=
"queryParams.processName"
placeholder=
"请输入任务名称"
clearable
/>
</el-form-item>
<el-form-item
:label=
"$t('创建时间')"
>
<el-date-picker
v-model=
"dateRangeCreateTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
type=
"daterange"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期
"
/>
type=
"daterange"
range-separator=
"-"
:start-placeholder=
"$t('开始日期')"
:end-placeholder=
"$t('结束日期')
"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
{{
$t
(
'
搜索
'
)
}}
</el-button>
...
...
@@ -26,23 +26,33 @@
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
label=
"任务编号"
align=
"center"
prop=
"instanceId"
width=
"320"
/>
<el-table-column
label=
"流程分类"
align=
"center"
prop=
"categoryId"
>
<el-table-column
:label=
"$t('流程编号')"
align=
"center"
prop=
"instanceId"
width=
"320"
/>
<el-table-column
:label=
"$t('流程名称')"
align=
"center"
prop=
"processName"
/>
<!--
<el-table-column
:label=
"$t('业务编号')"
align=
"center"
prop=
"processName"
/>
-->
<el-table-column
:label=
"$t('流程分类')"
align=
"center"
prop=
"categoryId"
>
<template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.BPM_MODEL_CATEGORY"
:value=
"scope.row.categoryId"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"任务名称"
align=
"center"
prop=
"processName"
/>
<el-table-column
label=
"流程发起人"
align=
"center"
prop=
"originatorName"
/>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"180"
>
<!-- <el-table-column :label="$t('当前审批节点')" align="center" prop="originatorName"/>
<el-table-column :label="$t('状态')" align="center" prop="originatorName"/>
<el-table-column :label="$t('结果')" align="center" prop="originatorName"/> -->
<!-- <el-table-column :label="$t('流程发起人')" align="center" prop="originatorName"/> -->
<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="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column> -->
<el-table-column
:label=
"$t('操作')"
align=
"center"
fixed=
"right"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleAudit(scope.row)"
v-hasPermi=
"['bpm:task:query']"
>
详情
v-hasPermi=
"['bpm:task:query']"
>
{{
$t
(
'
详情
'
)
}}
</el-button>
</
template
>
</el-table-column>
...
...
src/views/bpm/task/done.vue
View file @
b706f640
...
...
@@ -3,29 +3,28 @@
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"编号"
prop=
"processInstanceId"
>
<el-input
v-model=
"queryParams.processInstanceId"
:placeholder=
"$t('编号')"
clearable
<el-form-item
label=
"
流程
编号"
prop=
"processInstanceId"
>
<el-input
v-model=
"queryParams.processInstanceId"
:placeholder=
"$t('
流程
编号')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('流程名')"
prop=
"name"
>
<el-input
v-model=
"queryParams.name"
:placeholder=
"$t('流程名')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-form-item
:label=
"$t('流程名
称
')"
prop=
"name"
>
<el-input
v-model=
"queryParams.name"
:placeholder=
"$t('流程名
称
')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('流程分类')"
prop=
"category"
>
<el-select
v-model=
"queryParams.category"
:placeholder=
"$t('请选择流程分类')"
clearable
>
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.BPM_MODEL_CATEGORY)"
:key=
"dict.value"
:label=
"
dict.label
"
:value=
"dict.value"
/>
:key=
"dict.value"
:label=
"
$l(dict, 'label')
"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('业务编号')"
prop=
"businessNo"
>
<el-input
v-model=
"queryParams.businessNo"
:placeholder=
"$t('请输入业务编号')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('提交时间')"
>
<el-date-picker
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-form-item :label="$t('业务编号')" prop="businessNo">
<el-input
v-model=
"queryParams.businessNo"
:placeholder=
"$t('请输入业务编号')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
-->
<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>
...
...
@@ -34,19 +33,20 @@
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
:label=
"$t('
编号')"
align=
"center"
prop=
"
id"
width=
"320"
fixed
/>
<el-table-column
:label=
"$t('流程名')"
align=
"center"
prop=
"processInstance.name"
width=
"200"
/>
<el-table-column
:label=
"$t('
流程编号')"
align=
"center"
prop=
"processInstance.
id"
width=
"320"
fixed
/>
<el-table-column
:label=
"$t('流程名
称
')"
align=
"center"
prop=
"processInstance.name"
width=
"200"
/>
<el-table-column
:label=
"$t('业务编号')"
align=
"center"
prop=
"businessNo"
/>
<el-table-column
:label=
"$t('流程分类')"
align=
"center"
prop=
"category"
width=
"200"
>
<template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.BPM_MODEL_CATEGORY"
:value=
"scope.row.category"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('当前审批节点')"
align=
"center"
prop=
"name"
width=
"200"
/>
<!-- <el-table-column :label="$t('状态')" align="center" prop="" width="200" >
缺少字段
</el-table-column> -->
<
el-table-column
:label=
"$t('流程发起人')"
align=
"center"
prop=
"processInstance.startUserNickname"
width=
"120"
/
>
<
!-- <el-table-column :label="$t('流程发起人')" align="center" prop="processInstance.startUserNickname" width="120"/>--
>
<el-table-column
:label=
"$t('结果')"
align=
"center"
prop=
"result"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT"
:value=
"scope.row.result"
/>
...
...
src/views/bpm/task/todo.vue
View file @
b706f640
...
...
@@ -2,31 +2,28 @@
<div
class=
"app-container"
>
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"流程编号
"
prop=
"processInstanceId"
>
<el-form-item
:label=
"$t('流程编号')
"
prop=
"processInstanceId"
>
<el-input
v-model=
"queryParams.processInstanceId"
:placeholder=
"$t('流程编号')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('
任务
名称')"
prop=
"name"
>
<el-form-item
:label=
"$t('
流程
名称')"
prop=
"name"
>
<el-input
v-model=
"queryParams.name"
:placeholder=
"$t('任务名称')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('流程分类')"
prop=
"category"
>
<el-select
v-model=
"queryParams.category"
:placeholder=
"$t('请选择流程分类')"
clearable
>
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.BPM_MODEL_CATEGORY)"
:key=
"dict.value"
:label=
"
dict.label
"
:value=
"dict.value"
/>
:key=
"dict.value"
:label=
"
$l(dict, 'label')
"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('业务编号')"
prop=
"businessNo"
>
<el-input
v-model=
"queryParams.businessNo"
:placeholder=
"$t('请输入业务编号')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('提交时间')"
>
<el-date-picker
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-form-item
:label=
"$t('业务编号')"
prop=
"businessNo"
>
<el-input
v-model=
"queryParams.businessNo"
:placeholder=
"$t('请输入业务编号')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
{{
$t
(
'
搜索
'
)
}}
</el-button>
...
...
@@ -36,44 +33,51 @@
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
:label=
"$t('
任务编号')"
align=
"center"
prop=
"
id"
width=
"320"
/>
<el-table-column
:label=
"$t('
任务
名称')"
align=
"center"
prop=
"processInstance.name"
width=
"320"
/>
<el-table-column
:label=
"$t('业务编号')"
align=
"center"
prop=
"businessNo"
/>
<el-table-column
:label=
"$t('
流程编号')"
align=
"center"
prop=
"processInstance.
id"
width=
"320"
/>
<el-table-column
:label=
"$t('
流程
名称')"
align=
"center"
prop=
"processInstance.name"
width=
"320"
/>
<el-table-column
:label=
"$t('流程分类')"
align=
"center"
prop=
"category"
>
<template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.BPM_MODEL_CATEGORY"
:value=
"scope.row.category"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('业务编号')"
align=
"center"
prop=
"businessNo"
/>
<el-table-column
:label=
"$t('当前审批节点')"
align=
"center"
prop=
"name"
/>
<el-table-column
:label=
"$t('状态')"
align=
"center"
prop=
"version"
width=
"80"
>
<
!-- <
el-table-column :label="$t('状态')" align="center" prop="version" width="80">
<template slot-scope="scope">
<el-tag type="success" v-if="scope.row.suspensionState === 1">{{ $t('激活') }}</el-tag>
<el-tag type="warning" v-if="scope.row.suspensionState === 2">{{ $t('挂起') }}</el-tag>
</template>
</el-table-column>
</el-table-column>
-->
<el-table-column
:label=
"$t('结果')"
align=
"center"
prop=
"result"
>
<
!-- <
el-table-column :label="$t('结果')" align="center" prop="result">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT" :value="scope.row.result"/>
</template>
</el-table-column>
</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=
"createTime"
width=
"180"
>
<
!-- <
el-table-column :label="$t('结束时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.endTime) }}</span>
</template>
</el-table-column>
</el-table-column>
-->
<el-table-column
:label=
"$t('操作')"
align=
"center"
fixed=
"right"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<!--
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleCancel(scope.row)"
v-hasPermi=
"['bpm:task:update']"
>
{{
$t
(
'
取消
'
)
}}
</el-button>
-->
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleAudit(scope.row)"
v-hasPermi=
"['bpm:task:update']"
>
{{
$t
(
'
详情
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleAudit(scope.row)"
v-hasPermi=
"['bpm:task:update']"
>
{{
$t
(
'
审批
'
)
}}
</el-button>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -86,7 +90,7 @@
<
script
>
import
{
getTodoTaskPage
}
from
'
@/api/bpm/task
'
import
{
cancelProcessInstance
}
from
"
@/api/bpm/processInstance
"
;
export
default
{
name
:
"
Todo
"
,
components
:
{},
...
...
@@ -142,6 +146,21 @@ export default {
handleAudit
(
row
)
{
this
.
$router
.
push
({
path
:
"
/bpm/process-instance/detail
"
,
query
:
{
id
:
row
.
processInstance
.
id
}});
},
handleCancel
(
row
)
{
const
id
=
row
.
id
;
this
.
$prompt
(
this
.
$t
(
'
请输入取消原因?
'
),
this
.
$t
(
"
取消流程
"
),
{
type
:
'
warning
'
,
confirmButtonText
:
this
.
$t
(
"
确定
"
),
cancelButtonText
:
this
.
$t
(
"
取消
"
),
inputPattern
:
/^
[\s\S]
*.*
[^\s][\s\S]
*$/
,
// 判断非空,且非空格
inputErrorMessage
:
this
.
$t
(
"
取消原因不能为空
"
),
}).
then
(({
value
})
=>
{
return
cancelProcessInstance
(
id
,
value
);
}).
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
取消成功
"
));
})
},
}
};
</
script
>
src/views/dashboard/PanelGroup.vue
View file @
b706f640
...
...
@@ -35,7 +35,7 @@
<div
class=
"card-panel-text"
>
{{
$t
(
'
待办事项
'
)
}}
</div>
<count-to
:start-val=
"0"
:end-val=
"
data.
todoCount"
:duration=
"3200"
class=
"card-panel-num"
/>
<count-to
:start-val=
"0"
:end-val=
"todoCount"
:duration=
"3200"
class=
"card-panel-num"
/>
</div>
</div>
</el-col>
...
...
@@ -72,13 +72,15 @@
import
CountTo
from
'
vue-count-to
'
import
{
panelData
}
from
'
@/api/system/pannel
'
import
{
checkPermi
}
from
'
@/utils/permission
'
import
{
taskTodoCount
}
from
'
@/api/bpm/task
'
export
default
{
components
:
{
CountTo
},
data
(){
return
{
data
:
null
data
:
null
,
todoCount
:
0
}
},
methods
:
{
...
...
@@ -91,6 +93,9 @@ export default {
panelData
().
then
(
res
=>
{
this
.
data
=
res
.
data
})
taskTodoCount
().
then
(
res
=>
{
this
.
todoCount
=
res
.
data
})
}
}
</
script
>
...
...
src/views/ecw/box/indexSeaAir.vue
View file @
b706f640
...
...
@@ -100,7 +100,7 @@
size=
"small"
>
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.BOX_
ORDER_SHIPMENT_STATE
)"
v-for=
"dict in this.getDictDatas(DICT_TYPE.BOX_
SEA_AIR_SHIPMENT_STATUS
)"
:key=
"dict.value"
:label=
"$l(dict, 'label')"
:value=
"dict.value"
...
...
@@ -481,6 +481,9 @@ export default {
this
.
$set
(
this
.
dialogCfg
,
"
width
"
,
"
600px
"
);
this
.
$set
(
this
.
dialogCfg
,
"
fullscreen
"
,
false
);
this
.
$set
(
this
.
dialogCfg
,
"
open
"
,
true
);
this
.
currRow
=
{
transportType
:
"
4
"
,
};
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
...
...
src/views/ecw/box/query.vue
View file @
b706f640
...
...
@@ -27,7 +27,7 @@
{{
getCabinetLabel
(
shipmentObj
.
cabinetId
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('状态')"
>
{{
getBoxStatus
(
shipmentObj
)
}}
{{
shipmentObj
.
shipmentStatusText
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('总计')"
>
{{
getBoxSum
(
shipmentObj
.
boxStatistics
)
}}
...
...
src/views/ecw/coupon/edit.vue
View file @
b706f640
This diff is collapsed.
Click to expand it.
src/views/ecw/coupon/index.vue
View file @
b706f640
...
...
@@ -161,6 +161,8 @@
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row, true)"
v-hasPermi=
"['ecw:coupon:update']"
>
查看
</el-button>
<el-button
v-if=
"scope.row.status != 1"
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['ecw:coupon:update']"
>
编辑
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleCopy(scope.row)"
...
...
@@ -277,9 +279,13 @@ export default {
return
this
.
$router
.
push
(
'
edit
'
)
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
handleUpdate
(
row
,
readonly
)
{
const
couponId
=
row
.
couponId
;
return
this
.
$router
.
push
(
'
edit?id=
'
+
couponId
)
let
url
=
'
edit?id=
'
+
couponId
if
(
readonly
){
url
+=
'
&readonly=1
'
}
return
this
.
$router
.
push
(
url
)
},
handleCopy
(
row
){
this
.
$router
.
push
(
'
edit?action=copy&id=
'
+
row
.
couponId
)
...
...
src/views/ecw/customer/edit.vue
View file @
b706f640
<
template
xmlns=
""
>
<div>
<el-row
type=
"flex"
style=
"margin-top: 15px;margin-bottom: 15px"
justify=
"center"
>
<el-col
:xs=
"24"
:sm=
"24"
:md=
"24"
:lg=
"22"
:xl=
"20"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"150px"
>
...
...
@@ -103,7 +102,7 @@
</el-col>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('客户经理')"
prop=
"customerService"
>
<el-select
v-model=
"form.customerService"
:placeholder=
"$t('请选择客户经理')"
:disabled=
"!!(customerId !== '0' && form.customerService
)"
>
<el-select
v-model=
"form.customerService"
:placeholder=
"$t('请选择客户经理')"
:disabled=
"(!!(customerId !== '0' && form.customerService) || isCustomerServiceConfirmed
)"
>
<el-option
v-for=
"item in serviceUserList"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
/>
</el-select>
...
...
@@ -169,7 +168,7 @@
</el-col>
<el-col
:span=
"24"
>
<el-form-item
:label=
"$t('到仓确认')"
prop=
"arrivalConfirm"
>
<el-switch
v-model=
"form.arrivalConfirm"
:active-value=
"
0"
:inactive-value=
"1
"
/>
<el-switch
v-model=
"form.arrivalConfirm"
:active-value=
"
1"
:inactive-value=
"0
"
/>
</el-form-item>
</el-col>
<el-col
:span=
"13"
>
...
...
@@ -282,7 +281,7 @@
>
<
template
v-slot =
"{row}"
>
<el-form-item
label=
""
>
<el-select
v-model=
"row.userid"
remote
:remote-method=
"getUserMemberUserFn"
@
change=
"selectBD"
size=
"mini"
filterable
>
<el-select
v-model=
"row.userid"
clearable
remote
:remote-method=
"getUserMemberUserFn"
@
change=
"selectBD"
size=
"mini"
filterable
>
<el-option
v-for=
"(item,index) in userMemberUser"
:value=
"item.id"
:key=
"index"
:label=
"item.nickname + '(' + item.mobile + ')'"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -430,7 +429,7 @@ import {customerDropDownList} from "@/api/ecw/customerCommissionInfo";
export
default
{
name
:
"
edit
"
,
props
:
{
customerId
:
String
customerId
:
String
,
},
components
:
{
Template
,
...
...
@@ -438,6 +437,7 @@ export default {
CustomerLineTable
},
created
()
{
this
.
isCustomerServiceConfirmed
=
this
.
$route
.
query
.
isCustomerServiceConfirmed
?
true
:
false
this
.
getCustomerSelect
()
this
.
reset
()
this
.
getUserMemberUserFn
()
...
...
@@ -462,6 +462,10 @@ export default {
}
else
{
// 新建客户
this
.
handleAddContact
()
if
(
this
.
isCustomerServiceConfirmed
){
console
.
log
(
this
.
userId
);
this
.
form
.
customerService
=
this
.
userId
}
}
getNodeList
().
then
(
r
=>
{
...
...
@@ -489,6 +493,7 @@ export default {
},
data
(){
return
{
isCustomerServiceConfirmed
:
false
,
getDictDatas
,
DICT_TYPE
,
...
...
@@ -595,6 +600,9 @@ export default {
}
},
selectBD
(
val
){
if
(
!
val
){
return
}
let
i
=
this
.
selectMemberList
.
find
(
item
=>
item
.
id
===
val
);
if
(
i
===
undefined
){
this
.
selectMemberList
.
push
(
this
.
memberList
.
find
(
item
=>
item
.
id
===
val
))
...
...
@@ -642,6 +650,8 @@ export default {
return
;
}
// 添加的提交
//我的客户页面跳转直接
form
.
isCustomerServiceConfirmed
=
true
;
createCustomer
(
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
'
新增成功
'
));
this
.
open
=
false
;
...
...
@@ -752,6 +762,9 @@ export default {
}
},
computed
:
{
userId
(){
return
this
.
$store
.
state
.
user
.
id
},
userMemberUser
(){
let
list
=
this
.
memberList
.
filter
(
item
=>
{
return
this
.
selectMemberList
.
findIndex
(
i
=>
i
.
id
===
item
.
id
)
<
0
...
...
src/views/ecw/customer/index.vue
View file @
b706f640
...
...
@@ -19,7 +19,7 @@
<el-input
:placeholder=
"$t('请输入联系方式')"
v-model=
"queryParams.defaultContactPhone"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('客户类别')"
prop=
"level"
>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_TYPE"
multiple
v-model=
"queryParams.type"
></dict-selector>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_TYPE"
v-model=
"queryParams.type"
></dict-selector>
</el-form-item>
<el-form-item
:label=
"$t('客户经理')"
prop=
"customerService"
>
<el-select
clearable
v-model=
"queryParams.customerService"
:placeholder=
"$t('请选择客户经理')"
clearable
size=
"small"
>
...
...
@@ -34,7 +34,7 @@
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('国家')"
prop=
"source"
>
<el-select
clearable
v-model=
"
form
.country"
:placeholder=
"$t('请选择国家')"
>
<el-select
clearable
v-model=
"
queryParams
.country"
:placeholder=
"$t('请选择国家')"
>
<el-option
v-for=
"dict in countryList"
:key=
"dict.id"
:label=
"dict.nameZh"
:value=
"parseInt(dict.id)"
/>
</el-select>
...
...
@@ -50,7 +50,7 @@
type=
"daterange"
range-separator=
"-"
:start-placeholder=
"$t('开始日期')"
:end-placeholder=
"$t('结束日期')"
/>
</el-form-item>
<el-form-item
:label=
"$t('信用等级')"
prop=
"department"
>
<el-select
clearable
v-model=
"
form.l
evel"
>
<el-select
clearable
v-model=
"
queryParams.creditL
evel"
>
<el-option
v-for=
"(item,index) in creditList"
:label=
"item.nameZh"
:key=
"index"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -71,7 +71,7 @@
v-hasPermi=
"['ecw:customer:export']"
>
{{
$t
(
'
导出
'
)
}}
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
:disabled=
"selectCustomerList.length === 0"
type=
"primary"
size=
"mini"
@
click=
"transferShow = true;"
:loading=
"exportLoading"
<el-button
:disabled=
"selectCustomerList.length === 0"
type=
"primary"
size=
"mini"
@
click=
"transferShow = true;"
v-hasPermi=
"['ecw:customer:export']"
>
{{
$t
(
'
批量移交
'
)
}}
</el-button>
</el-col>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
...
...
@@ -529,6 +529,8 @@ export default {
customerService
:
null
,
status
:
null
,
department
:
null
,
creditLevel
:
null
,
country
:
null
,
},
// 表单参数
form
:
{},
...
...
@@ -651,6 +653,19 @@ export default {
resetQuery
()
{
this
.
dateRangeCreateTime
=
[];
this
.
resetForm
(
"
queryForm
"
);
this
.
queryParams
=
{
pageNo
:
1
,
pageSize
:
10
,
number
:
null
,
name
:
null
,
level
:
null
,
source
:
null
,
customerService
:
null
,
status
:
null
,
department
:
null
,
creditLevel
:
null
,
country
:
null
,
}
this
.
handleQuery
();
},
/** 新增按钮操作 */
...
...
src/views/ecw/customerCommissionInfo/index.vue
View file @
b706f640
...
...
@@ -4,7 +4,7 @@
<el-card
class=
"box-card"
style=
"padding: 10px"
>
<div
slot=
"header"
class=
"clearfix"
>
<el-row>
<el-col
:span=
"
5
"
>
<el-col
:span=
"
8
"
>
<el-form-item
:label=
"$t('客户名称')"
prop=
"customerId"
>
<div
style=
"display: flex"
>
<el-input
readonly=
"readonly"
:placeholder=
"$t('请输入选择客户')"
v-model=
"customerName"
></el-input>
...
...
src/views/ecw/customerConfirm/index.vue
View file @
b706f640
...
...
@@ -19,7 +19,7 @@
<el-input
:placeholder=
"$t('请输入联系方式')"
v-model=
"queryParams.defaultContactPhone"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('客户类别')"
prop=
"level"
>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_TYPE"
multiple
v-model=
"queryParams.type"
></dict-selector>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_TYPE"
v-model=
"queryParams.type"
></dict-selector>
</el-form-item>
<el-form-item
:label=
"$t('客户经理')"
prop=
"customerService"
>
<el-select
clearable
v-model=
"queryParams.customerService"
:placeholder=
"$t('请选择客户经理')"
clearable
size=
"small"
>
...
...
@@ -50,7 +50,7 @@
type=
"daterange"
range-separator=
"-"
:start-placeholder=
"$t('开始日期')"
:end-placeholder=
"$t('结束日期')"
/>
</el-form-item>
<el-form-item
:label=
"$t('信用等级')"
prop=
"department"
>
<el-select
clearable
v-model=
"
form.l
evel"
>
<el-select
clearable
v-model=
"
queryParams.creditL
evel"
>
<el-option
v-for=
"(item,index) in creditList"
:label=
"item.nameZh"
:key=
"index"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -67,6 +67,10 @@
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
:loading=
"exportLoading"
v-hasPermi=
"['ecw:customer:export']"
>
{{
$t
(
'
导出
'
)
}}
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"$router.push(
{path:'/customer/add-edit/0',query:{isCustomerServiceConfirmed:true,}})"
v-hasPermi="['ecw:customer:create']">
{{
$t
(
'
新增
'
)
}}
</el-button>
</el-col>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
...
...
@@ -364,6 +368,8 @@ export default {
customerService
:
null
,
status
:
null
,
department
:
null
,
creditLevel
:
null
,
country
:
null
,
},
// 表单参数
form
:
{},
...
...
@@ -479,6 +485,19 @@ export default {
resetQuery
()
{
this
.
dateRangeCreateTime
=
[];
this
.
resetForm
(
"
queryForm
"
);
this
.
queryParams
=
{
pageNo
:
1
,
pageSize
:
10
,
number
:
null
,
name
:
null
,
level
:
null
,
source
:
null
,
customerService
:
null
,
status
:
null
,
department
:
null
,
creditLevel
:
null
,
country
:
null
,
}
this
.
handleQuery
();
},
/** 新增按钮操作 */
...
...
src/views/ecw/customerToBeAssigned/index.vue
View file @
b706f640
...
...
@@ -20,7 +20,7 @@
<el-input
:placeholder=
"$t('请输入联系方式')"
v-model=
"queryParams.defaultContactPhone"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('客户类别')"
prop=
"level"
>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_TYPE"
multiple
v-model=
"queryParams.type"
></dict-selector>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_TYPE"
v-model=
"queryParams.type"
></dict-selector>
</el-form-item>
<el-form-item
:label=
"$t('客户经理')"
prop=
"customerService"
>
<el-select
clearable
v-model=
"queryParams.customerService"
:placeholder=
"$t('请选择客户经理')"
clearable
size=
"small"
>
...
...
@@ -35,7 +35,7 @@
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('国家')"
prop=
"source"
>
<el-select
clearable
v-model=
"
form
.country"
:placeholder=
"$t('请选择国家')"
>
<el-select
clearable
v-model=
"
queryParams
.country"
:placeholder=
"$t('请选择国家')"
>
<el-option
v-for=
"dict in countryList"
:key=
"dict.id"
:label=
"dict.nameZh"
:value=
"parseInt(dict.id)"
/>
</el-select>
...
...
@@ -51,7 +51,7 @@
type=
"daterange"
range-separator=
"-"
:start-placeholder=
"$t('开始日期')"
:end-placeholder=
"$t('结束日期')"
/>
</el-form-item>
<el-form-item
:label=
"$t('信用等级')"
prop=
"department"
>
<el-select
clearable
v-model=
"
form.l
evel"
>
<el-select
clearable
v-model=
"
queryParams.creditL
evel"
>
<el-option
v-for=
"(item,index) in creditList"
:label=
"item.nameZh"
:key=
"index"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -73,7 +73,7 @@
</el-col>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
:disabled=
"selectCustomerList.length === 0"
type=
"primary"
size=
"mini"
@
click=
"batchTransferShow = true;"
:loading=
"exportLoading"
<el-button
:disabled=
"selectCustomerList.length === 0"
type=
"primary"
size=
"mini"
@
click=
"batchTransferShow = true;"
v-hasPermi=
"['ecw:customer:export']"
>
{{
$t
(
'
批量移交
'
)
}}
</el-button>
</el-col>
</el-col>
...
...
@@ -193,6 +193,8 @@ export default {
customerService
:
null
,
status
:
null
,
department
:
null
,
creditLevel
:
null
,
country
:
null
,
},
// 表单参数
form
:
{},
...
...
@@ -312,6 +314,19 @@ export default {
resetQuery
()
{
this
.
dateRangeCreateTime
=
[];
this
.
resetForm
(
"
queryForm
"
);
this
.
queryParams
=
{
pageNo
:
1
,
pageSize
:
10
,
number
:
null
,
name
:
null
,
level
:
null
,
source
:
null
,
customerService
:
null
,
status
:
null
,
department
:
null
,
creditLevel
:
null
,
country
:
null
,
}
this
.
handleQuery
();
},
/** 新增按钮操作 */
...
...
src/views/ecw/deptTarget/index.vue
View file @
b706f640
...
...
@@ -106,11 +106,15 @@
</el-select> -->
<dict-selector
:type=
"DICT_TYPE.TARGET_TYPE"
v-model=
"form.targetType"
:placeholder=
"$t('请选择目标类型')"
/>
</el-form-item>
<el-form-item
:label=
"$t('计算周期')"
prop=
"targetPeriodName"
>
<el-select
v-model=
"form.targetPeriodName"
:placeholder=
"$t('请选择计算周期')"
@
change=
"setTime"
>
<el-option
v-for=
"item in targetPeriod"
:label=
"item.name"
:value=
"item.name"
:key=
"item.name"
></el-option>
</el-select>
<div
class=
"flex"
>
<el-form-item
:label=
"$t('计算周期')"
prop=
"startTime"
>
<el-date-picker
v-model=
"form.startTime"
placeholder=
""
value-format=
"yyyy-MM-dd HH:mm:ss"
class=
"w-150"
></el-date-picker>
</el-form-item>
<div
class=
"ml-10 mr-10 flex flex-center"
style=
"margin-bottom:22px"
>
-
</div>
<el-form-item
prop=
"endTime"
label-width=
"0"
>
<el-date-picker
v-model=
"form.endTime"
placeholder=
""
value-format=
"yyyy-MM-dd HH:mm:ss"
class=
"w-150"
></el-date-picker>
</el-form-item>
</div>
<el-form-item
:label=
"$t('运输方式')"
prop=
"transportType"
>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model=
"form.transportType"
formatter=
"number"
@
change=
"showChannel"
/>
</el-form-item>
...
...
@@ -147,6 +151,7 @@
import
{
listSimpleDepts
}
from
"
@/api/system/dept
"
;
import
{
getChannelList
}
from
'
@/api/ecw/channel
'
;
import
dayjs
from
"
dayjs
"
;
import
{
parseTime
}
from
'
@/utils/ruoyi
'
;
export
default
{
name
:
"
DeptTarget
"
,
...
...
@@ -213,6 +218,8 @@
targetPeriodName
:
[{
required
:
true
,
message
:
this
.
$t
(
"
计算周期不能为空
"
),
trigger
:
"
change
"
}],
transportType
:
[{
required
:
true
,
message
:
this
.
$t
(
"
运输方式不能为空
"
),
trigger
:
"
change
"
}],
cubeNum
:
[{
required
:
true
,
message
:
this
.
$t
(
"
立方数不能为空
"
),
trigger
:
"
blur
"
}],
startTime
:
[{
required
:
true
,
message
:
this
.
$t
(
"
起始时间不能为空
"
),
trigger
:
"
change
"
}],
endTime
:
[{
required
:
true
,
message
:
this
.
$t
(
"
截止时间不能为空
"
),
trigger
:
"
change
"
}],
}
};
},
...
...
@@ -372,6 +379,10 @@
}
else
{
this
.
targetPeriod
=
this
.
yearList
;
}
this
.
form
.
startTime
=
parseTime
(
this
.
form
.
startTime
)
this
.
form
.
endTime
=
parseTime
(
this
.
form
.
endTime
)
this
.
open
=
true
;
this
.
title
=
this
.
$t
(
"
修改部门业绩目标设置
"
);
});
...
...
src/views/ecw/financial/creatCollection.vue
View file @
b706f640
This diff is collapsed.
Click to expand it.
src/views/ecw/financial/creatPayment.vue
View file @
b706f640
...
...
@@ -460,7 +460,8 @@ export default {
if
(
that
.
$route
.
query
.
payableId
&&
that
.
$route
.
query
.
payableId
!==
'
0
'
)
{
this
.
payableId
=
this
.
$route
.
query
.
payableId
;
getPayableInfoByIds
({
id
:
this
.
payableId
}).
then
(
res
=>
{
this
.
list
=
[{...
res
.
data
}]
this
.
handleSelectionChange
([
res
.
data
])
this
.
list
=
this
.
multipleSelection
this
.
$set
(
this
.
form
,
'
supplierId
'
,
res
.
data
.
supplierId
)
})
}
...
...
src/views/ecw/financial/printPaymentVoucher.vue
View file @
b706f640
...
...
@@ -9,15 +9,18 @@
</div>
<div
style=
"display: flex;width: 80%;align-items: center;margin-bottom: 10px;"
>
<div
style=
"flex:1"
><div
style=
"width: 120px;text-align: right;display:inline-block;"
>
{{
$t
(
'
申请日期
'
)
}}
:
</div>
<span>
{{
form
.
applicationAt
||
'
-
'
}}
</span></div>
<div
style=
"flex:1"
><div
style=
"width: 120px;text-align: right;display:inline-block;"
>
{{
$t
(
'
结算方式
'
)
}}
:
</div><span>
{{
form
.
settlementType
||
'
-
'
}}
</span></div>
<div
style=
"flex:1"
><div
style=
"width: 120px;text-align: right;display:inline-block;"
>
{{
$t
(
'
结算方式
'
)
}}
:
</div><span>
<dict-tag
:type=
"DICT_TYPE.CUSTOMER_BALANCE"
v-model=
"form.settlementType"
/></span></div>
</div>
<div
style=
"display: flex;width: 80%;align-items: center;margin-bottom: 10px;"
>
<div
style=
"flex:1"
><div
style=
"width: 120px;text-align: right;display:inline-block;"
>
{{
$t
(
'
付款公司
'
)
}}
:
</div><span>
{{
form
.
supplierName
||
'
-
'
}}
</span></div>
<div
style=
"flex:1"
><div
style=
"width: 120px;text-align: right;display:inline-block;"
>
{{
$t
(
'
银行户名
'
)
}}
:
</div><span>
{{
f
indBank
(
form
.
supplierBankAccount
).
ba
AccountName
||
'
-
'
}}
</span></div>
<div
style=
"flex:1"
><div
style=
"width: 120px;text-align: right;display:inline-block;"
>
{{
$t
(
'
银行户名
'
)
}}
:
</div><span>
{{
f
orm
.
supplierBank
AccountName
||
'
-
'
}}
</span></div>
</div>
<div
style=
"display: flex;width: 80%;align-items: center;margin-bottom: 10px;"
>
<div
style=
"flex:1"
><div
style=
"width: 120px;text-align: right;display:inline-block;"
>
{{
$t
(
'
银行名称
'
)
}}
:
</div><span>
{{
f
indBank
(
form
.
supplierBankAccount
).
baBankName
||
'
-
'
}}
</span></div>
<div
style=
"flex:1"
><div
style=
"width: 120px;text-align: right;display:inline-block;"
>
{{
$t
(
'
银行账号
'
)
}}
:
</div><span>
{{
f
indBank
(
form
.
supplierBankAccount
).
baAccountNum
||
'
-
'
}}
</span></div>
<div
style=
"flex:1"
><div
style=
"width: 120px;text-align: right;display:inline-block;"
>
{{
$t
(
'
银行名称
'
)
}}
:
</div><span>
{{
f
orm
.
supplierBank
||
'
-
'
}}
</span></div>
<div
style=
"flex:1"
><div
style=
"width: 120px;text-align: right;display:inline-block;"
>
{{
$t
(
'
银行账号
'
)
}}
:
</div><span>
{{
f
orm
.
supplierBankAccount
||
'
-
'
}}
</span></div>
</div>
<!--
<div
style=
"display: flex;width: 80%;align-items: center;margin-bottom: 10px;"
>
<div
style=
"flex:1"
><div
style=
"width: 120px;text-align: right;"
>
水单号:
</div><span>
{{
form
?
form
.
accountBank
:
'
无
'
}}
</span></div>
...
...
@@ -174,6 +177,7 @@
},
findBank
(
val
)
{
const
t
=
this
.
bankData
.
find
(
v
=>
v
.
id
==
val
)
console
.
log
(
t
)
return
t
||
{}
},
totalMoney
()
{
...
...
src/views/ecw/financial/printVoucher.vue
View file @
b706f640
...
...
@@ -35,7 +35,7 @@
</tr>
<tr
v-for=
"(item, index) in list"
:key=
"index"
>
<td>
{{
index
+
1
}}
</td>
<td>
{{
item
.
receipt
No
||
''
}}
</td>
<td>
{{
orderData
.
tidan
No
||
''
}}
</td>
<td>
{{
item
.
orderNo
}}
</td>
<td>
{{
item
.
titleZh
}}
</td>
<td><dict-tag
:value=
"item.feeType"
:type=
"DICT_TYPE.FEE_TYPE"
></dict-tag></td>
...
...
@@ -44,39 +44,28 @@
<td>
{{
item
.
discountTotal
||
0
}}
</td>
</tr>
<tr
v-for=
"(items, indexs) in receiptAccountList"
:key=
"indexs"
>
<td><dict-tag
:type=
"DICT_TYPE.BOX_SHIPPING_PRICE_UNIT"
:value=
"items.collectionCurrencyId"
/>
应收合计
</td>
<td
>
{{
`${item.receivableAmount - item.discountTotal
}
(${item.receivableAmount
}
- ${item.discountTotal
}
)`
}}
<
/td
>
<td><dict-tag
:type=
"DICT_TYPE.BOX_SHIPPING_PRICE_UNIT"
:value=
"items.currencyId"
/>
应收合计
</td>
<td
><span
v-if=
"items.discountTotal>0"
>
{{
`${items.receivableAmount - items.discountTotal
}
(${items.receivableAmount
}
- ${items.discountTotal
}
)`
}}
<
/span
>
<
span
v
-
else
>
{{
`${items.receivableAmount - items.discountTotal
}
`
}}
<
/span
>
<
/td
>
<
td
>
汇率
<
/td
>
<
td
>
{{
items
.
collectionRate
.
toFixed
(
6
)
}}
<
/td
>
<
td
>
{{
items
.
collectionRate
}}
<
/td
>
<
td
>
收款金额
(
<
dict
-
tag
:
type
=
"
DICT_TYPE.BOX_SHIPPING_PRICE_UNIT
"
:
value
=
"
items.collectionCurrencyId
"
/>
)
<
/td
>
<
td
colspan
=
"
3
"
>
{{
items
.
collectionAmount
.
toFixed
(
6
)
}}
<
/td
>
<
td
colspan
=
"
3
"
>
{{
items
.
collectionAmount
}}
<
/td
>
<
/tr
>
<
/table
>
<
div
style
=
"
text-align: center;border-left:1px solid #666;border-right: 1px solid #666;height: 36px;line-height: 36px;
"
>
银行信息
<
/div
>
<
div
style
=
"
display: flex;align-items: center;border-top: 1px solid #666;border-left:1px solid #666;border-right: 1px solid #666;
"
>
<
div
style
=
"
padding:6px 0;width: 12.5%;text-align: center;border-right: 1px solid #666;
"
>
<
p
style
=
"
margin: 0;word-break: break-all;
"
>
户名:
<
/p
>
<
p
style
=
"
margin: 0;word-break: break-all;
"
>
银行名称:
<
/p
>
<
p
style
=
"
margin: 0;word-break: break-all;
"
>
A
/
C
NO
:
<
/p
>
<
div
style
=
"
display: flex;align-items: center;border-top: 1px solid #666;border-left:1px solid #666;border-right: 1px solid #666;
"
v
-
for
=
"
(bankTiem,index) in detailed
"
:
key
=
"
index
"
>
<
div
style
=
"
padding:6px 0;width: 12.5%;text-align: center;border-right: 1px solid #666;
"
>
<
p
style
=
"
margin: 0;word-break: break-all;
"
>
户名:
{{
bankTiem
.
accountName
}}
<
/p
>
<
p
style
=
"
margin: 0;word-break: break-all;
"
>
银行名称:
{{
bankTiem
.
accountBankName
||
''
}}
<
/p
>
<
p
style
=
"
margin: 0;word-break: break-all;
"
>
A
/
C
NO
:
{{
bankTiem
.
accountNo
}}
<
/p
>
<
/div
>
<
div
style
=
"
padding:6px 0;width: 87.5%;text-align: center;
"
>
<
p
style
=
"
margin: 0;
"
>
应收人民币:¥
<
/p
>
<
p
style
=
"
margin: 0;
"
>
优惠后人民币:¥
<
/p
>
<
p
style
=
"
margin: 0;
"
>
未收:¥
<
/p
>
<
/div
>
<
/div
>
<
div
style
=
"
display: flex;align-items: center;border-top: 1px solid #666;border-left:1px solid #666;border-right: 1px solid #666;
"
>
<
div
style
=
"
padding:6px 0;width: 12.5%;text-align: center;border-right: 1px solid #666;
"
>
<
p
style
=
"
margin: 0;word-break: break-all;
"
>
户名:
<
/p
>
<
p
style
=
"
margin: 0;word-break: break-all;
"
>
银行名称:
<
/p
>
<
p
style
=
"
margin: 0;word-break: break-all;
"
>
A
/
C
NO
:
<
/p
>
<
/div
>
<
div
style
=
"
padding:6px 0;width: 87.5%;text-align: center;
"
>
<
p
style
=
"
margin: 0;
"
>
应收美元:
$
<
/p
>
<
p
style
=
"
margin: 0;
"
>
优惠后美元:
$
<
/p
>
<
p
style
=
"
margin: 0;
"
>
未收:
$
<
/p
>
<
p
style
=
"
margin: 0;
"
>
实收
<
dict
-
tag
:
type
=
"
DICT_TYPE.BOX_SHIPPING_PRICE_UNIT
"
:
value
=
"
bankTiem.currencyId
"
/>
:
{{
bankTiem
.
writeOffAmount
}}
¥
<
/p
>
<!--
<
p
style
=
"
margin: 0;
"
>
未收:¥
{{
bankTiem
.
noReceipt
}}
<
/p> --
>
<
/div
>
<
/div
>
<
div
style
=
"
display: flex;align-items: center;border: 1px solid #666;
"
>
...
...
@@ -106,7 +95,7 @@
import
lodop
from
'
@/utils/lodop
'
import
NP
from
'
number-precision
'
import
{
getOrder
}
from
'
@/api/ecw/order
'
import
{
getReceiptInfoByIds
,
getInvoicingItem
,
getReceiptAccountList
}
from
"
@/api/ecw/financial
"
;
import
{
getReceiptInfoByIds
,
getInvoicingItem
,
getReceiptAccountList
,
getReceivableItem
}
from
"
@/api/ecw/financial
"
;
export
default
{
name
:
"
PrintVoucher
"
,
...
...
@@ -118,7 +107,7 @@
loadings
:
false
,
form
:{
}
,
title
:
'
收款单
'
,
creatorData
:[],
//
creatorData:[],
list
:[],
fileList
:[],
bankData
:[],
...
...
@@ -130,13 +119,14 @@
deptData
:[],
deptArr
:[],
id
:
0
,
orderData
:[]
orderData
:{
}
,
detailed
:[]
}
}
,
async
created
()
{
let
that
=
this
listSimpleUsers
().
then
(
res
=>
that
.
creatorData
=
res
.
data
)
getBankAccountPage
(
that
.
params
).
then
(
res
=>
that
.
bankData
=
res
.
data
.
list
)
//
listSimpleUsers().then(res =>that.creatorData = res.data)
//
getBankAccountPage(that.params).then(res =>that.bankData = res.data.list)
await
listSimpleDepts
().
then
(
res
=>
{
res
.
data
.
forEach
((
item
)
=>
{
if
(
item
.
parentId
==
0
){
...
...
@@ -159,31 +149,32 @@
if
(
that
.
$route
.
query
.
id
){
that
.
id
=
that
.
$route
.
query
.
id
that
.
getCollectionData
()
that
.
getList
()
getInvoicingItem
({
id
:
this
.
id
}
).
then
(
res
=>
{
this
.
list
=
res
.
data
if
(
this
.
list
.
length
>
0
)
this
.
getOrder
(
this
.
list
[
0
].
orderId
)
}
)
}
getReceiptAccountList
({
id
:
this
.
id
}
).
then
(
res
=>
{
if
(
res
.
data
.
length
>
0
)
{
// totalAmount
res
.
data
=
[...
res
.
data
,
{
type
:
'
total
'
,
writeOffAmount
:
res
.
data
.
reduce
((
total
,
currentValue
)
=>
NP
.
plus
(
total
,
currentValue
.
writeOffAmount
||
0
),
0
),
collectionAmount
:
[
0
,
0
,
0
]
}
]
}
//
if (res.data.length > 0)
{
//
// totalAmount
//
res.data = [...res.data,
{
//
type: 'total',
//
writeOffAmount: res.data.reduce((total, currentValue) => NP.plus(total, currentValue.writeOffAmount || 0), 0),
//
collectionAmount: [0, 0, 0]
//
}
]
//
}
// 收款总计
const
dollarList
=
res
.
data
.
filter
(
v
=>
v
.
collectionCurrencyId
==
1
)
const
dollar
=
dollarList
.
reduce
((
total
,
currentValue
)
=>
NP
.
plus
(
total
,
currentValue
.
collectionAmount
||
0
),
0
)
//
const dollarList = res.data.filter(v => v.collectionCurrencyId == 1)
//
const dollar = dollarList.reduce((total, currentValue) => NP.plus(total, currentValue.collectionAmount || 0), 0)
const
rmbList
=
res
.
data
.
filter
(
v
=>
v
.
collectionCurrencyId
==
2
)
const
rmb
=
rmbList
.
reduce
((
total
,
currentValue
)
=>
NP
.
plus
(
total
,
currentValue
.
collectionAmount
||
0
),
0
)
//
const rmbList = res.data.filter(v => v.collectionCurrencyId == 2)
//
const rmb = rmbList.reduce((total, currentValue) => NP.plus(total, currentValue.collectionAmount || 0), 0)
const
nairaList
=
res
.
data
.
filter
(
v
=>
v
.
collectionCurrencyId
==
3
)
const
naira
=
nairaList
.
reduce
((
total
,
currentValue
)
=>
NP
.
plus
(
total
,
currentValue
.
collectionAmount
||
0
),
0
)
//
const nairaList = res.data.filter(v => v.collectionCurrencyId == 3)
//
const naira = nairaList.reduce((total, currentValue) => NP.plus(total, currentValue.collectionAmount || 0), 0)
res
.
data
[
res
.
data
.
length
-
1
].
collectionAmount
=
[
dollar
,
rmb
,
naira
]
//
res.data[res.data.length -1].collectionAmount = [dollar, rmb, naira]
// this.$set(this.form, 'receiptAccountList', [...this.form.receiptAccountList])
const
dollarListByList
=
this
.
list
.
filter
(
v
=>
v
.
currencyId
===
1
)
...
...
@@ -201,8 +192,8 @@
const
n
=
res
.
data
.
find
(
v
=>
v
.
currencyId
==
3
)
n
&&
(
n
.
discountTotal
=
discountNaira
)
this
.
$set
(
this
.
form
,
'
receiptAccountList
'
,
[...
res
.
data
])
console
.
log
(
res
.
data
)
this
.
$set
(
this
,
'
receiptAccountList
'
,
[...
res
.
data
])
this
.
$nextTick
(()
=>
{
// this.form.receiptAccountList.forEach((item, index) =>
{
// this.rateChange(item, index)
...
...
@@ -212,6 +203,11 @@
}
,
methods
:
{
getList
()
{
getReceivableItem
({
id
:
this
.
id
}
).
then
(
res
=>
{
this
.
detailed
=
res
.
data
}
)
}
,
getCollectionData
(){
let
that
=
this
getReceiptInfoByIds
({
id
:
that
.
id
}
).
then
(
res
=>
{
...
...
@@ -219,6 +215,31 @@
that
.
form
.
departmentName
=
that
.
deptData
.
find
(
v
=>
v
.
id
==
that
.
form
.
departmentId
).
name
}
)
}
,
getRecep
(
id
){
var
total
=
0
if
(
id
){
var
data
=
this
.
detailed
.
filter
(
item
=>
item
.
currencyId
==
id
)
data
.
forEach
(
item
=>
{
total
=
NP
.
plus
(
total
,
item
.
writeOffAmount
)
}
)
}
return
total
}
,
handleAddReceiptItem
()
{
let
recepted
=
[]
this
.
detailed
.
forEach
(
item
=>
{
if
(
!
recepted
[
item
.
currencyId
]){
recepted
[
item
.
currencyId
]
=
item
.
amount
}
else
recepted
[
item
.
currencyId
]
=
NP
.
plus
(
recepted
[
item
.
currencyId
],
item
.
amount
)
}
)
console
.
log
(
'
rece
'
,
recepted
)
let
collom
=
[]
this
.
receiptAccountList
.
forEach
(
item
=>
{
if
(
recepted
[
item
.
currencyId
]){
item
.
noReceipt
=
+
parseFloat
(
item
.
receivableAmount
-
recepted
[
item
.
currencyId
])
}
}
)
}
,
getOrder
(
orderId
){
getOrder
(
orderId
).
then
(
response
=>
{
this
.
orderData
=
response
.
data
...
...
@@ -333,7 +354,7 @@
}
}
if
(
chineseStr
==
''
){
chineseStr
+=
cnNums
[
0
]
+
cnIntLast
+
cnInteger
;
chineseStr
=
cnNums
[
0
]
+
cnIntLast
+
cnInteger
}
else
if
(
decimalNum
==
''
){
chineseStr
+=
cnInteger
;
}
...
...
src/views/ecw/financial/receiptDetail.vue
View file @
b706f640
This diff is collapsed.
Click to expand it.
src/views/ecw/financial/receivable.vue
View file @
b706f640
...
...
@@ -193,7 +193,11 @@
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('箱数')"
align=
"center"
prop=
"num"
/>
<el-table-column
:label=
"$t('体积/重量')"
align=
"center"
prop=
"weight"
/>
<el-table-column
:label=
"$t('体积/重量')"
align=
"center"
prop=
"weight"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
volume
}}
/
{{
scope
.
row
.
weight
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('发货人')"
align=
"center"
prop=
"consignorName"
/>
<el-table-column
:label=
"$t('收货人')"
align=
"center"
prop=
"consigneeName"
/>
<el-table-column
:label=
"$t('订单状态')"
align=
"center"
prop=
"status"
>
...
...
src/views/ecw/financial/voucher.vue
View file @
b706f640
...
...
@@ -193,13 +193,13 @@
>
<
el
-
button
v
-
if
=
"
scope.row.state == 1 || scope.row.state == 2 || scope.row.state == 3
"
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
verificationCancelClick(scope.row)
"
>
{{
$t
(
'
收款
'
)
}}
<
/el-button
>
<
el
-
button
v
-
if
=
"
scope.row.state == 0 || scope.row.state == 1
"
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
deleteClick(scope.row)
"
>
{{
$t
(
'
删除
'
)
}}
<
/el-button
>
<
!--
<
el
-
button
<
el
-
button
v
-
if
=
"
scope.row.state != 0
"
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
toprint(scope.row.id)
"
>
{{
$t
(
'
打印
'
)
}}
<
/el-butto
n
>
-->
>
<
el
-
button
v
-
if
=
"
scope.row.state != 0
"
size
=
"
mini
"
...
...
src/views/ecw/myCustomerService/index.vue
View file @
b706f640
...
...
@@ -20,7 +20,7 @@
<el-input
:placeholder=
"$t('请输入联系方式')"
v-model=
"queryParams.defaultContactPhone"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('客户类别')"
prop=
"level"
>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_TYPE"
multiple
v-model=
"queryParams.type"
></dict-selector>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_TYPE"
v-model=
"queryParams.type"
></dict-selector>
</el-form-item>
<el-form-item
:label=
"$t('客户经理')"
prop=
"customerService"
>
<el-select
clearable
v-model=
"queryParams.customerService"
:placeholder=
"$t('请选择客户经理')"
clearable
size=
"small"
>
...
...
@@ -35,7 +35,7 @@
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('国家')"
prop=
"source"
>
<el-select
clearable
v-model=
"
form
.country"
:placeholder=
"$t('请选择国家')"
>
<el-select
clearable
v-model=
"
queryParams
.country"
:placeholder=
"$t('请选择国家')"
>
<el-option
v-for=
"dict in countryList"
:key=
"dict.id"
:label=
"dict.nameZh"
:value=
"parseInt(dict.id)"
/>
</el-select>
...
...
@@ -51,7 +51,7 @@
type=
"daterange"
range-separator=
"-"
:start-placeholder=
"$t('开始日期')"
:end-placeholder=
"$t('结束日期')"
/>
</el-form-item>
<el-form-item
:label=
"$t('信用等级')"
prop=
"department"
>
<el-select
clearable
v-model=
"
form.l
evel"
>
<el-select
clearable
v-model=
"
queryParams.creditL
evel"
>
<el-option
v-for=
"(item,index) in creditList"
:label=
"item.nameZh"
:key=
"index"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -179,6 +179,8 @@ export default {
customerService
:
null
,
status
:
null
,
department
:
null
,
creditLevel
:
null
,
country
:
null
,
},
// 表单参数
form
:
{},
...
...
@@ -299,11 +301,24 @@ export default {
resetQuery
()
{
this
.
dateRangeCreateTime
=
[];
this
.
resetForm
(
"
queryForm
"
);
this
.
queryParams
=
{
pageNo
:
1
,
pageSize
:
10
,
number
:
null
,
name
:
null
,
level
:
null
,
source
:
null
,
customerService
:
null
,
status
:
null
,
department
:
null
,
creditLevel
:
null
,
country
:
null
,
}
this
.
handleQuery
();
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
$router
.
push
(
'
/customer/add-edit/0
'
)
this
.
$router
.
push
(
{
path
:
'
/customer/add-edit/0
'
,
query
:{
isCustomerServiceConfirmed
:
true
,}}
)
// this.reset();
// this.open = true;
// this.title = "添加客户";
...
...
src/views/ecw/oceanCustomer/index.vue
View file @
b706f640
...
...
@@ -20,7 +20,7 @@
<el-input
:placeholder=
"$t('请输入联系方式')"
v-model=
"queryParams.defaultContactPhone"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('客户类别')"
prop=
"level"
>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_TYPE"
multiple
v-model=
"queryParams.type"
></dict-selector>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_TYPE"
v-model=
"queryParams.type"
></dict-selector>
</el-form-item>
<el-form-item
:label=
"$t('客户经理')"
prop=
"customerService"
>
<el-select
clearable
v-model=
"queryParams.customerService"
:placeholder=
"$t('请选择客户经理')"
clearable
size=
"small"
>
...
...
@@ -35,7 +35,7 @@
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('国家')"
prop=
"source"
>
<el-select
clearable
v-model=
"
form
.country"
:placeholder=
"$t('请选择国家')"
>
<el-select
clearable
v-model=
"
queryParams
.country"
:placeholder=
"$t('请选择国家')"
>
<el-option
v-for=
"dict in countryList"
:key=
"dict.id"
:label=
"dict.nameZh"
:value=
"parseInt(dict.id)"
/>
</el-select>
...
...
@@ -51,7 +51,7 @@
type=
"daterange"
range-separator=
"-"
:start-placeholder=
"$t('开始日期')"
:end-placeholder=
"$t('结束日期')"
/>
</el-form-item>
<el-form-item
:label=
"$t('信用等级')"
prop=
"department"
>
<el-select
clearable
v-model=
"
form.l
evel"
>
<el-select
clearable
v-model=
"
queryParams.creditL
evel"
>
<el-option
v-for=
"(item,index) in creditList"
:label=
"item.nameZh"
:key=
"index"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -295,6 +295,19 @@ export default {
resetQuery
()
{
this
.
dateRangeCreateTime
=
[];
this
.
resetForm
(
"
queryForm
"
);
this
.
queryParams
=
{
pageNo
:
1
,
pageSize
:
10
,
number
:
null
,
name
:
null
,
level
:
null
,
source
:
null
,
customerService
:
null
,
status
:
null
,
department
:
null
,
creditLevel
:
null
,
country
:
null
,
}
this
.
handleQuery
();
},
/** 新增按钮操作 */
...
...
src/views/ecw/offer/components/Commossion.vue
View file @
b706f640
...
...
@@ -31,7 +31,7 @@
{{
form
.
orgSeaFreight
}}
{{
currencyMap
[
form
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
seaFreightVolume
]
}}
<
/el-form-item
>
<
el
-
form
-
item
:
label
=
"
$t('佣金类型')
"
prop
=
"
commissionType
"
>
<
dict
-
selector
:
type
=
"
DICT_TYPE.COMMISSION_TYPE
"
v
-
model
=
"
form.commissionType
"
form
-
type
=
"
radio
"
/>
<
dict
-
selector
:
type
=
"
DICT_TYPE.COMMISSION_TYPE
"
v
-
model
=
"
form.commissionType
"
form
-
type
=
"
radio
"
formatter
=
"
number
"
/>
<
/el-form-item
>
<!--
明佣或者明佣
+
暗佣才显示
-->
...
...
@@ -73,7 +73,7 @@
<
div
v
-
if
=
"
form.applyStatus != 1
"
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
handleSubmit
"
>
提交
<
/el-button
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
handleSubmit
"
:
disabled
=
"
!submitable
"
>
提交
<
/el-button
>
<
/div
>
<
div
v
-
else
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
$router.push('/bpm/process-instance/detail?id=' + form.formId)
"
>
...
...
@@ -133,6 +133,20 @@ export default {
}
}
,
computed
:
{
// 是否可以提交
submitable
(){
let
submitable
=
false
;
[
[
'
orgLightCommissionAmount
'
,
'
lightCommissionAmount
'
],
[
'
orgShadeCommissionAmount
'
,
'
shadeCommissionAmount
'
],
[
'
commissionType
'
,
'
orgCommissionType
'
]
].
forEach
(
item
=>
{
if
(
this
.
form
[
item
[
0
]]
!=
this
.
form
[
item
[
1
]]){
submitable
=
true
}
}
)
return
submitable
}
,
// 根据渠道id显示渠道名
getChannelNameById
(){
return
channelId
=>
{
...
...
src/views/ecw/offer/components/SpecialDiscount.vue
View file @
b706f640
...
...
@@ -56,7 +56,7 @@
<
div
class
=
"
page-title
"
>
审批流程
<
/div
>
<
work
-
flow
xmlkey
=
"
sheet_sale
"
v
-
model
=
"
ccIdArr
"
/>
<
div
v
-
if
=
"
form.applyStatus != 1
"
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
handleSubmit
"
>
提交
<
/el-button
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
handleSubmit
"
:
disabled
=
"
!submitable
"
>
提交
<
/el-button
>
<
/div
>
<
div
v
-
else
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
$router.push('/bpm/process-instance/detail?id=' + form.formId)
"
>
...
...
@@ -107,6 +107,7 @@ export default {
form
:
{
type
:
1
}
,
orignal
:
{
}
,
// 原始数据,用来判断是否做了修改
rules
:{
seaFreight
:
{
required
:
true
,
message
:
'
运费不能为空
'
}
,
clearanceFreight
:
{
required
:
true
,
message
:
'
清关费不能为空
'
}
...
...
@@ -130,6 +131,7 @@ export default {
getOfferSpecial
(){
getOfferSpecial
(
this
.
offerProdId
,
{
type
:
1
}
).
then
(
r
=>
{
this
.
form
=
r
.
data
this
.
orignal
=
r
.
data
}
)
}
,
getProductTypeNameById
(
id
){
...
...
@@ -140,6 +142,19 @@ export default {
}
}
,
computed
:
{
// 是否可以提交
submitable
(){
let
submitable
=
false
;
[
[
'
orgClearanceFreight
'
,
'
clearanceFreight
'
],
[
'
orgSeaFreight
'
,
'
seaFreight
'
]
].
forEach
(
item
=>
{
if
(
this
.
form
[
item
[
0
]]
!=
this
.
form
[
item
[
1
]]){
submitable
=
true
}
}
)
return
submitable
}
,
// 根据渠道id显示渠道名
getChannelNameById
(){
return
channelId
=>
{
...
...
src/views/ecw/offer/edit.vue
View file @
b706f640
<
template
>
<div
class=
"app-container"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
inline
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
inline
:validate-on-rule-change=
"false"
>
<el-card>
<div
slot=
"header"
class=
"card-title"
>
{{
$t
(
'
新建报价单
'
)
}}
</div>
<el-form-item
:label=
"$t('所属人')"
prop=
"relation"
>
...
...
@@ -552,7 +552,19 @@ export default {
transportVO
:
{}
},
// 表单校验
rules
:
{
labelStyle
:
'
width:120px
'
,
productNames
:
{},
// 品名id和名称对应关系
couponAvailableGroupDtoList
:
[],
// 可用优惠
couponTotalAmountList
:
[],
// 优惠总额
contactChooseType
:
null
,
// 联系人选择对象consignor(发货人) 或者 consignee(收货人)
quickCreateType
:
null
,
// 快速新建客户类型,1发货人,2收货人
getOpenedRouterListHandler
:
undefined
};
},
computed
:{
rules
(){
let
rules
=
{
marks
:
[
{
validator
:
(
rule
,
value
,
callback
)
=>
{
...
...
@@ -565,8 +577,8 @@ export default {
}
],
lineId
:
[{
required
:
true
,
message
:
"
请选择线路
"
}],
consignorId
:
[{
required
:
true
,
message
:
"
发货人不能为空
"
,}],
consigneeId
:
[{
required
:
true
,
message
:
"
收货人不能为空
"
}],
/*
consignorId: [{ required: true, message: "发货人不能为空",}],
consigneeId: [{ required: true, message: "收货人不能为空"}], */
startTime
:
[{
required
:
true
,
message
:
"
有效期开始时间不能为空
"
}],
endTime
:
[{
required
:
true
,
message
:
"
有效期结束时间不能为空
"
}],
transportId
:
[{
required
:
true
,
message
:
"
选择运输方式
"
}],
...
...
@@ -575,18 +587,15 @@ export default {
relation
:
[{
required
:
true
,
message
:
"
请选择所属人
"
}],
control
:
[{
required
:
true
,
message
:
"
请选择是否控货
"
}],
importance
:
[{
required
:
true
,
message
:
"
请选择重要成都
"
}]
/*sendstatus: [{ required: true, message: "站内信状态,0未发送,1已发送不能为空", trigger: "blur" }], */
},
labelStyle
:
'
width:120px
'
,
productNames
:
{},
// 品名id和名称对应关系
couponAvailableGroupDtoList
:
[],
// 可用优惠
couponTotalAmountList
:
[],
// 优惠总额
contactChooseType
:
null
,
// 联系人选择对象consignor(发货人) 或者 consignee(收货人)
quickCreateType
:
null
,
// 快速新建客户类型,1发货人,2收货人
getOpenedRouterListHandler
:
undefined
};
}
if
(
this
.
form
.
relation
==
1
){
rules
.
consignorId
=
[{
required
:
true
,
message
:
"
发货人不能为空
"
,}]
}
if
(
this
.
form
.
relation
==
2
){
rules
.
consigneeId
=
[{
required
:
true
,
message
:
"
收货人不能为空
"
,}]
}
return
rules
},
computed
:{
exportCityList
(){
return
this
.
tradeCityList
.
filter
(
item
=>
item
.
type
==
2
)
},
...
...
src/views/ecw/order/cargoControl.vue
View file @
b706f640
...
...
@@ -99,7 +99,7 @@
</el-table-column>
<el-table-column
:label=
"$t('控货状态')"
align=
"center"
prop=
"transportId"
>
<
template
slot-scope=
"{row}"
>
<template
v-if=
"row.cargoControlStatus == 1 && row.isToReview"
>
放货中
</
template
>
<template
v-if=
"row.cargoControlStatus == 1 && row.isToReview"
>
{{
$t
(
'
放货中
'
)
}}
</
template
>
<dict-tag
v-else
:type=
"DICT_TYPE.CONTROL_GOODS_STATUS"
:value=
"row.cargoControlStatus"
/>
</template>
</el-table-column>
...
...
src/views/ecw/order/components/Release.vue
View file @
b706f640
...
...
@@ -49,7 +49,7 @@
</div>
<el-table
:data=
"[formData]"
border
class=
"release-table"
>
<el-table-column
:label=
"$t('控货箱数')"
>
{{
detail
.
sumNum
}}
{{
detail
.
sumNum
-
detail
.
releaseNum
}}
</el-table-column>
<el-table-column
:label=
"$t('放货箱数')"
>
<template
slot-scope=
"
{row}">
...
...
src/views/ecw/order/components/Transfer.vue
View file @
b706f640
...
...
@@ -6,7 +6,7 @@
<el-input
v-model=
"cargoControlName"
disabled
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('原控货手机号')"
>
<el-input
:value=
"
consignee
CountryCode + ' ' + cargoControlPhone"
disabled
></el-input>
<el-input
:value=
"
'+' + cargoControl
CountryCode + ' ' + cargoControlPhone"
disabled
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('新控货人')"
prop=
"name"
>
...
...
@@ -14,15 +14,14 @@
</el-form-item>
<el-form-item
:label=
"$t('新控货手机号')"
prop=
"phone"
>
<area-code-selector
v-model=
"form.dialCodeSrc"
/>
<el-input
v-model=
"form.phone"
type=
"tel"
class=
"ml-10 w-200"
/>
<el-input
v-model=
"form.phone"
type=
"tel"
maxlength=
"11"
class=
"ml-10 w-200"
/>
</el-form-item>
<el-form-item
:label=
"$t('新控货人邮箱')"
prop=
"email"
>
<el-input
v-model=
"form.email"
type=
"email"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('手机验证码')"
prop=
"code"
>
<el-input
v-model.number=
"form.code"
type=
"number"
>
<send-sms-code
slot=
"append"
:order-id=
"orderId"
scene=
"4"
/>
</el-input>
<el-input
v-model.number=
"form.code"
type=
"number"
class=
"w-200 mr-10"
></el-input>
<send-sms-code
:order-id=
"orderId"
scene=
"4"
/>
</el-form-item>
<el-form-item
label=
""
>
<el-button
type=
"primary"
@
click=
"submit"
>
{{
$t
(
'
确定转移
'
)
}}
</el-button>
...
...
@@ -49,9 +48,8 @@ export default {
orderId
:
[
String
,
Number
],
cargoControlName
:
String
,
cargoControlPhone
:
String
,
c
onsignee
CountryCode
:
String
,
c
argoControl
CountryCode
:
String
,
orderNo
:
String
,
},
components
:
{
SendSmsCode
,
NeedKnow
,
AreaCodeSelector
},
data
(){
...
...
src/views/ecw/order/components/warehouseDetails.vue
View file @
b706f640
...
...
@@ -121,6 +121,10 @@
<div
v-if=
"type === 2"
>
<p>
申请理由
</p>
<div>
<dict-tag
:type=
"DICT_TYPE.FEE_TYPE"
:value=
"FeeDetails.feeType"
/>
{{FeeDetails.applicationFee}}
<dict-tag
:type=
"DICT_TYPE.COMMISSION_CURRENCY_TYPE"
:value=
"FeeDetails.applicationFeeCurrency"
/>
<dict-tag
:value=
"FeeDetails.payType"
:type=
"DICT_TYPE.PAYMENT_TYPE"
></dict-tag>
{{FeeDetails.remarks}}
</div>
</div>
...
...
@@ -162,6 +166,7 @@ import {
import
{
getChannelList
}
from
'
@/api/ecw/channel
'
;
import
Template
from
"
@/views/cms/template
"
;
import
{
getSupplierPage
}
from
"
@/api/ecw/supplier
"
;
import
{
DICT_TYPE
}
from
"
@/utils/dict
"
;
export
default
{
components
:
{
Template
},
props
:{
...
...
@@ -176,6 +181,7 @@ export default {
name
:
"
warehouseDetails
"
,
data
(){
return
{
DICT_TYPE
,
FeeDetails
:{
orderBackVO
:{},
logisticsInfoDto
:{}
...
...
src/views/ecw/order/components/warehouseLocation.vue
View file @
b706f640
<
template
>
<div>
<el-dialog
...
...
@@ -9,12 +8,12 @@
v-bind=
"$attrs"
>
<el-tabs
v-model=
"activeName"
type=
"card"
@
tab-click=
"activeWarehouse =
{}">
<el-tab-pane
v-if=
"item.warehouseId === warehouseId"
:label=
"item.name"
:name=
"'' + index"
v-for=
"(item, index) in area"
:key=
"item.id +
index"
>
<el-tab-pane
v-if=
"item.warehouseId === warehouseId"
:label=
"item.name"
:name=
"'' + index"
v-for=
"(item, index) in area"
:key=
"
index"
>
<div>
<div
style=
"text-align: center"
>
区域
</div>
<div
style=
"background-color: #efefef;padding: 10px 10px 0;border: #dcdcdc solid 1px;border-radius: 2px"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
v-for=
"
(warehouse, i) in item.children"
:key=
"warehouse.id + i
"
>
<el-col
:span=
"12"
v-for=
"
warehouse in item.children"
:key=
"warehouse.id
"
>
<div
class=
"warehouse-block"
:class=
"
{'warehouse-block-selected': warehouse.selected, 'warehouse-block-active': warehouse.id === activeWarehouse.id}"
...
...
@@ -29,14 +28,25 @@
<div>
<div
style=
"text-align: center"
>
仓位
</div>
<div
class=
"position-group"
>
<div
class=
"position"
v-for=
"(position ,index) in activeWarehouse.positionList"
:key=
"item.id + index "
>
<div
class=
"position"
v-for=
"position in activeWarehouse.positionList"
:key=
"position.id"
@
click=
"handleSelectPosition(position)"
>
<template
v-if=
"position.children"
>
<div
class=
"position-item"
v-for=
"item in position.children"
@
click=
"handleSelectPosition(item)"
:key=
"item.id"
@
click.stop=
"handleSelectPositionChild(item)"
:class=
"
{'position-item-active': item.selected}">
{{
item
.
code
}}
</div>
</
template
>
<
template
v-else
>
<div
class=
"position-item"
:class=
"
{'position-item-active': position.selected}">
{{
position
.
code
}}
</div>
</
template
>
</div>
</div>
</div>
...
...
@@ -57,7 +67,7 @@
import
{
getByWarehouseId
}
from
'
@/api/ecw/warehouseArea
'
export
default
{
name
:
'
warehouseLocation
'
,
name
:
'
WarehouseAreaDialog
'
,
props
:
{
visible
:
{
type
:
Boolean
,
...
...
@@ -72,7 +82,7 @@ export default {
warehouseId
:
{
type
:
Number
,
default
:
undefined
}
,
}
},
data
()
{
...
...
@@ -83,7 +93,8 @@ export default {
activeName
:
'
0
'
,
selectedWarehouse
:
[],
selectedPosition
:
[],
activeWarehouse
:
{}
activeWarehouse
:
{},
activeWarehouseId
:
undefined
};
},
...
...
@@ -92,16 +103,17 @@ export default {
if
(
val
)
{
this
.
opened
=
true
getByWarehouseId
({
cityId
:
this
.
cityId
,
}).
then
(
r
=>
{
if
(
this
.
area
.
length
===
0
)
getByWarehouseId
({
cityId
:
this
.
cityId
,
warehouseId
:
this
.
warehouseId
}).
then
(
r
=>
{
const
area
=
r
.
data
area
.
forEach
(
e
=>
{
// 仓库
e
.
children
.
forEach
(
f
=>
{
e
.
children
?
.
forEach
(
f
=>
{
// 区域
f
.
selected
=
false
if
(
f
.
positionList
)
f
.
positionList
.
forEach
(
g
=>
{
// 位置
if
(
g
.
children
)
g
.
children
.
forEach
(
k
=>
{
g
.
selected
=
false
g
.
children
?.
forEach
(
k
=>
{
// 子位置
k
.
selected
=
false
})
...
...
@@ -131,18 +143,25 @@ export default {
this
.
activeWarehouse
=
warehouse
if
(
!!
warehouse
.
selected
)
{
warehouse
.
selected
=
false
}
else
{
return
}
else
if
(
this
.
activeWarehouseId
!==
warehouse
.
id
)
{
this
.
activeWarehouseId
=
warehouse
.
id
console
.
log
(
this
.
inputValue
.
find
(
e
=>
e
.
areaId
===
warehouse
.
id
),
warehouse
.
id
)
if
(
this
.
inputValue
.
find
(
e
=>
e
.
areaId
===
warehouse
.
id
)){
return
}
}
warehouse
.
selected
=
true
// 区域被选,清空该区域下的位置
if
(
warehouse
.
positionList
)
warehouse
.
positionList
.
forEach
(
g
=>
{
if
(
g
.
children
)
g
.
children
.
forEach
(
k
=>
{
if
(
warehouse
.
positionList
)
warehouse
.
positionList
?.
forEach
(
g
=>
{
g
.
selected
=
false
g
.
children
?.
forEach
(
k
=>
{
k
.
selected
=
false
})
})
}
},
handleSelectPosition
(
position
)
{
handleSelectPosition
Child
(
position
)
{
if
(
!!
position
.
selected
)
{
position
.
selected
=
false
...
...
@@ -151,9 +170,9 @@ export default {
if
(
!
parentAre
.
selected
)
{
// 检查父区域下是否所有位置被反选
let
hasSelected
=
false
parentAre
.
positionList
.
forEach
(
g
=>
{
parentAre
.
positionList
?
.
forEach
(
g
=>
{
// 位置
g
.
children
.
forEach
(
k
=>
{
g
.
children
?
.
forEach
(
k
=>
{
// 子位置
if
(
k
.
selected
)
hasSelected
=
true
})
...
...
@@ -167,6 +186,17 @@ export default {
// 选位置时,父区域反选
this
.
area
.
find
(
e
=>
e
.
id
===
position
.
domainId
).
children
.
find
(
f
=>
f
.
id
===
position
.
areaId
).
selected
=
false
}
},
handleSelectPosition
(
position
)
{
if
(
!!
position
.
selected
)
{
position
.
selected
=
false
}
else
{
position
.
selected
=
true
// 选位置时,父区域反选
this
.
area
.
find
(
e
=>
e
.
id
===
position
.
domainId
).
children
.
find
(
f
=>
f
.
id
===
position
.
areaId
).
selected
=
false
}
}
},
...
...
@@ -180,17 +210,17 @@ export default {
selected
()
{
const
result
=
[]
this
.
area
.
forEach
(
e
=>
{
this
.
area
?
.
forEach
(
e
=>
{
// 仓库
e
.
children
.
forEach
(
f
=>
{
e
.
children
?
.
forEach
(
f
=>
{
// 区域
if
(
f
.
selected
)
result
.
push
(
f
.
code
)
else
if
(
f
.
positionList
)
f
.
positionList
.
forEach
(
g
=>
{
else
f
.
positionList
?
.
forEach
(
g
=>
{
// 位置
if
(
g
.
selected
)
result
.
push
(
k
.
code
)
if
(
g
.
children
)
g
.
children
.
forEach
(
k
=>
{
if
(
g
.
selected
)
result
.
push
(
f
.
code
+
g
.
code
)
else
if
(
g
.
children
)
g
.
children
?
.
forEach
(
k
=>
{
// 子位置
if
(
k
.
selected
)
result
.
push
(
k
.
code
)
if
(
k
.
selected
)
result
.
push
(
f
.
code
+
k
.
code
)
})
})
})
...
...
@@ -201,16 +231,17 @@ export default {
inputValue
(){
const
result
=
[]
this
.
area
.
forEach
(
e
=>
{
this
.
area
?
.
forEach
(
e
=>
{
// 仓库
e
.
children
.
forEach
(
f
=>
{
e
.
children
?
.
forEach
(
f
=>
{
// 区域
if
(
f
.
selected
)
result
.
push
({
orderId
:
this
.
orderId
,
wareId
:
f
.
pid
,
areaId
:
f
.
id
})
else
if
(
f
.
positionList
)
f
.
positionList
.
forEach
(
g
=>
{
else
{
f
.
positionList
?.
forEach
(
g
=>
{
// 位置
if
(
g
.
selected
)
result
.
push
({
orderId
:
this
.
orderId
,
...
...
@@ -218,7 +249,7 @@ export default {
areaId
:
g
.
areaId
,
locationId
:
g
.
id
})
else
if
(
g
.
children
)
g
.
children
.
forEach
(
k
=>
{
else
g
.
children
?
.
forEach
(
k
=>
{
// 子位置
if
(
k
.
selected
)
result
.
push
({
orderId
:
this
.
orderId
,
...
...
@@ -228,6 +259,7 @@ export default {
})
})
})
}
})
})
...
...
@@ -272,9 +304,10 @@ export default {
border
:
1px
#EFEFEF
solid
;
gap
:
1px
;
min-height
:
64px
;
flex-flow
:
wrap
;
}
.position
{
width
:
20%
;
width
:
calc
(
20%
-
1px
)
;
height
:
64px
;
display
:
flex
;
flex-direction
:
column
;
...
...
src/views/ecw/order/detail.vue
View file @
b706f640
...
...
@@ -89,12 +89,17 @@
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('代收货款')"
>
<dict-tag
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
:value=
"order.isCollection"
/>
<
template
v-if=
"order.isCollection == 1"
>
(
{{
order
.
collectionProxy
}}{{
currencyMap
[
order
.
collectionProxyCurrency
]
}}
)
</
template
>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('集运仓库')"
>
{{isExternalWarehouse ? '自有仓' : '外部仓'}}
<div
v-for=
"(item, index) in order.externalWarehouseDtoList"
:key=
"index"
>
装柜时间: {{item.estLoadingTime}} 装柜地址:{{item.loadingAddress}}
{{order.isExternalWarehouse ? $t('外部仓') : $t('自有仓') }}
<
template
v-for=
"(item, index) in order.externalWarehouseDtoList"
>
<div
v-if=
"item.estLoadingTime || item.loadingAddress"
:key=
"index"
>
<!--
{{
$t
(
'
装柜时间
'
)
}}
:
{{
item
.
estLoadingTime
}}
-->
{{
$t
(
'
装柜地址
'
)
}}
:
{{
item
.
loadingAddress
}}
</div>
</
template
>
</el-descriptions-item>
</el-descriptions>
</el-card>
...
...
@@ -196,10 +201,14 @@
{{objective.titleZh || '-'}}
</el-table-column>
<el-table-column
:label=
"$t('品名')"
prop=
"titleZh"
></el-table-column>
<el-table-column
:label=
"$t('箱数')"
prop=
"num"
></el-table-column>
<el-table-column
:label=
"$t('箱数')"
prop=
"num"
>
<
template
slot-scope=
"{row}"
>
{{
row
.
num
||
'
-
'
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('体积/重量')"
>
<
template
slot-scope=
"{row}"
>
{{
row
.
volume
}}
/
{{
row
.
weight
}}
{{
row
.
volume
||
'
-
'
}}
/
{{
row
.
weight
||
'
-
'
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('收款类型')"
>
...
...
src/views/ecw/order/edit.vue
View file @
b706f640
...
...
@@ -291,11 +291,11 @@
</div>
<div>
<el-form-item
:label=
"$t('外部仓库')"
prop=
"isExternalWarehouse"
>
<el-checkbox
label=
""
:checked=
"!!
form.isExternalWarehouse"
@
change=
"form.isExternalWarehouse=$event"
:disabled=
"false"
></el-checkbox>
<el-checkbox
label=
""
v-model=
"
form.isExternalWarehouse"
@
change=
"form.isExternalWarehouse=$event"
:disabled=
"false"
></el-checkbox>
</el-form-item>
<div
v-if=
"form.isExternalWarehouse"
class=
"pl-50"
>
<div
v-for=
"(item, index) in form.externalWarehouseDtoList"
class=
"flex"
:key=
"index"
>
<div
class=
"w-300"
>
<
!-- <
div class="w-300">
<el-form-item :label="$t('装货时间')"
:prop="'externalWarehouseDtoList.' + index + '.estLoadingTime'"
:rules="{
...
...
@@ -304,8 +304,8 @@
>
<el-date-picker v-model="item.estLoadingTime" value-format="yyyy-MM-dd HH:mm:ss" class="w-200"></el-date-picker>
</el-form-item>
</div>
<div
class=
"w-300
ml-10
"
>
</div>
-->
<div
class=
"w-300"
>
<el-form-item
:label=
"$t('装货地址')"
:prop=
"'externalWarehouseDtoList.' + index + '.loadingAddress'"
:rules=
"{
...
...
@@ -535,7 +535,7 @@ export default {
isCollection
:
false
,
type
:[],
isExternalWarehouse
:
false
,
externalWarehouseDtoList
:[
{}
],
externalWarehouseDtoList
:[],
orderItemVOList
:[],
drawee
:
2
},
...
...
@@ -583,7 +583,7 @@ export default {
computed
:{
// 是否已完成入仓
inWarehouse
(){
return
this
.
form
.
inWarehouseState
&&
this
.
form
.
inWarehouseState
>
201
return
!!
this
.
form
.
inWarehouseState
&&
this
.
form
.
inWarehouseState
>
201
},
exportCityList
(){
return
this
.
tradeCityList
.
filter
(
item
=>
item
.
type
==
2
||
item
.
type
==
3
)
...
...
@@ -733,9 +733,22 @@ export default {
if
(
!
router
)
return
this
.
$set
(
this
.
form
,
'
departureId
'
,
router
.
startCityId
)
this
.
$set
(
this
.
form
,
'
objectiveId
'
,
router
.
destCityId
)
this
.
calculationPrice
()
},
'
form.packageTypeArr
'
(
val
){
console
.
log
(
'
packageType
'
,
val
,
val
.
length
)
this
.
$set
(
this
.
form
,
'
packageType
'
,
val
?
val
.
join
(
'
,
'
)
:
''
)
},
'
form.isExternalWarehouse
'
(
isExternalWarehouse
){
// 勾选外部仓则添加一个默认的,取消则删除默认的空的
if
(
!
isExternalWarehouse
){
this
.
$set
(
this
.
form
,
'
externalWarehouseDtoList
'
,
[])
}
else
if
(
!
this
.
form
.
externalWarehouseDtoList
.
length
){
this
.
$set
(
this
.
form
,
'
externalWarehouseDtoList
'
,
[{}])
}
},
// 选择的路线变化后,需要判断是否开通了对应的服务,如果没开通需要取消对应的服务选择
selectedRouter
(
val
){
...
...
@@ -777,12 +790,12 @@ export default {
methods
:
{
getOrder
(){
getUpdateInfo
(
this
.
$route
.
query
.
id
).
then
(
res
=>
{
this
.
form
=
res
.
data
this
.
form
=
{...
res
.
data
}
this
.
form
.
orderItemVOList
=
[];
this
.
form
.
orderItemVOList
.
forEach
(
item
=>
{
item
.
prodAttrArr
=
item
.
prodAttrIds
.
split
(
'
,
'
).
filter
(
item
=>
item
!=
''
)
})
this
.
form
.
type
=
this
.
form
.
type
?
this
.
form
.
type
.
split
(
'
,
'
).
filter
(
item
=>
item
!=
''
)
:
[]
this
.
form
.
packageTypeArr
=
this
.
form
.
packageType
?
this
.
form
.
packageType
.
split
(
'
,
'
).
filter
(
item
=>
item
!=
''
)
:
[]
this
.
$set
(
this
.
form
,
'
consignorCompany
'
,
res
.
data
.
consignorVO
.
company
)
this
.
$set
(
this
.
form
,
'
consignorContactsId
'
,
res
.
data
.
consignorVO
.
customerContactsId
)
this
.
$set
(
this
.
form
,
'
consignorCountryCode
'
,
res
.
data
.
consignorVO
.
countryCode
.
replace
(
'
+
'
,
''
))
...
...
@@ -808,7 +821,12 @@ export default {
}
// 如果已完成入仓,则需要监听必填内容,发生更改后需要填写审批表单
this
.
$nextTick
(
res
=>
{
this
.
$nextTick
(()
=>
{
res
.
data
.
orderItemVOList
.
forEach
(
item
=>
{
item
.
prodAttrArr
=
item
.
prodAttrIds
.
split
(
'
,
'
).
filter
(
item
=>
item
!=
''
).
map
(
attrId
=>
+
attrId
)
this
.
form
.
orderItemVOList
.
push
({...
item
})
})
if
(
this
.
inWarehouse
){
Object
.
keys
(
this
.
rules
).
forEach
(
field
=>
{
console
.
log
(
"
watch
"
,
field
)
...
...
@@ -898,7 +916,9 @@ export default {
onProductChange
(
row
,
product
){
console
.
log
(
product
)
// row.goodsType = product ? product.typeId : null
if
(
product
.
id
!=
row
.
prodId
){
row
.
prodAttrArr
=
!
product
?
[]
:
product
.
attrId
.
split
(
'
,
'
).
filter
(
item
=>
item
!==
''
).
map
(
item
=>
+
item
)
}
row
.
prodTitleEn
=
product
.
titleEn
row
.
prodTitleZh
=
product
.
titleZh
this
.
calculationPrice
()
...
...
@@ -962,8 +982,8 @@ export default {
if
(
this
.
form
.
harvestMethod
==
2
){
if
(
!
this
.
form
.
country
||
!
this
.
form
.
province
||
!
this
.
form
.
city
){
return
this
.
$notify
({
title
:
'
提示
'
,
message
:
"
收货地区填写不完整
"
,
title
:
this
.
$t
(
'
提示
'
)
,
message
:
this
.
$t
(
"
收货地区填写不完整
"
)
,
type
:
'
warning
'
});
}
...
...
src/views/ecw/order/exception/index.vue
View file @
b706f640
...
...
@@ -105,7 +105,7 @@
<el-table-column
:label=
"$t('运输方式/目的地')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span><dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"scope.row.transportId"
></dict-tag>
{{
'
/
'
+
scope
.
row
.
destinationZh
}}
</span>
/
{{
$l
(
scope
.
row
,
'
destination
'
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('控货')"
align=
"center"
>
...
...
src/views/ecw/order/index.vue
View file @
b706f640
...
...
@@ -146,7 +146,7 @@
<el-table-column
:label=
"$t('始发仓')"
align=
"center"
prop=
"startWarehouseName"
>
<
template
slot-scope=
"{row}"
>
{{
row
.
startWarehouseName
}}
<
template
v-if=
"row.isExternalWarehouse"
>
(
{{
$t
(
'
外部仓
'
)
}}
)
</
template
>
<
span
style=
"color:red"
v-if=
"row.isExternalWarehouse"
>
(
{{
$t
(
'
外部仓
'
)
}}
)
</span
>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('运输方式/目的地')"
align=
"center"
prop=
"transportId"
>
...
...
src/views/ecw/order/prepayDeal.vue
View file @
b706f640
...
...
@@ -209,7 +209,7 @@
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"
8
"
>
<
el
-
form
-
item
:
label
=
"
$t('预付商品货值占
佣金额
比例')+':'
"
label
-
width
=
"
200px
"
>
<
el
-
form
-
item
:
label
=
"
$t('预付商品货值占
总货值
比例')+':'
"
label
-
width
=
"
200px
"
>
{{
orderFee
.
paymentGoodsWorthScale
}}
%
<
/el-form-item
>
<
/el-col
>
...
...
@@ -232,7 +232,7 @@
<
/el-col
>
<
/el-row
>
<
el
-
row
:
span
=
"
8
"
v
-
if
=
"
orderExceptionData.orderExceptionType=='order_doc_exception'
"
>
<
el
-
form
-
item
:
label
=
"
$t('报关资料')+':'
"
size
=
"
medium
"
>
<
el
-
form
-
item
:
label
=
"
$t('报关资料')+':'
"
size
=
"
medium
"
:
require
=
"
true
"
>
<
file
-
upload
v
-
model
=
"
handlerParams.fileList
"
:
value
=
"
orderExceptionData.file
"
><
/file-upload
>
<
/el-form-item
>
<
/el-row
>
...
...
@@ -384,7 +384,7 @@
'
handlerParams.orderExceptionHandlerResult
'
(
val
){
if
(
val
==
'
no_pay
'
){
this
.
showWorkFlow
=
true
}
}
else
this
.
showWorkFlow
=
false
}
}
,
computed
:
{
...
...
@@ -470,6 +470,12 @@
this
.
$modal
.
msgError
(
this
.
$t
(
'
请选择处理结果
'
));
return
}
if
(
this
.
orderExceptionData
.
orderExceptionType
==
'
order_doc_exception
'
){
if
(
!
this
.
handlerParams
.
fileList
||
this
.
handlerParams
.
fileList
.
length
==
0
){
this
.
$modal
.
msgError
(
this
.
$t
(
'
请上传报关资料
'
));
return
}
}
handlerExceptionByExceptionId
(
this
.
handlerParams
).
then
(
res
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
'
提交成功
'
));
this
.
$redirect
(
'
/order/pending?id=
'
+
this
.
orderData
.
orderId
)
...
...
src/views/ecw/order/singleApply.vue
View file @
b706f640
...
...
@@ -130,7 +130,7 @@
</el-table-column>
<el-table-column
:label=
"$t('状态')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
abnormalState
!=
0
?
$t
(
'
异常
'
):
$t
(
'
正常
'
)
}}
<dict-tag
:type=
"DICT_TYPE.ORDER_STATUS"
:value=
"scope.row.status"
></dict-tag>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -180,6 +180,7 @@ export default {
},
data
()
{
return
{
DICT_TYPE
,
checked
:
false
,
orderData
:{},
// 订单异常列表
...
...
src/views/ecw/order/special/Commission.vue
View file @
b706f640
...
...
@@ -78,7 +78,7 @@
<
div
class
=
"
page-title
"
>
审批流程
<
/div
>
<
work
-
flow
xmlkey
=
"
commission_config
"
v
-
model
=
"
ccIdArr
"
/>
<
div
v
-
if
=
"
form.applyStatus != 1
"
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
handleSubmit
"
>
提交
<
/el-button
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
handleSubmit
"
:
disabled
=
"
!submitable
"
>
提交
<
/el-button
>
<
/div
>
<
div
v
-
else
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
$router.push('/bpm/process-instance/detail?id=' + form.formId)
"
>
...
...
@@ -199,6 +199,20 @@ export default {
}
}
,
computed
:
{
// 是否可以提交
submitable
(){
let
submitable
=
false
;
[
[
'
orgLightCommissionAmount
'
,
'
lightCommissionAmount
'
],
[
'
orgShadeCommissionAmount
'
,
'
shadeCommissionAmount
'
],
[
'
commissionType
'
,
'
orgCommissionType
'
]
].
forEach
(
item
=>
{
if
(
this
.
form
[
item
[
0
]]
!=
this
.
form
[
item
[
1
]]){
submitable
=
true
}
}
)
return
submitable
}
,
// 根据渠道id显示渠道名
getChannelNameById
(){
return
channelId
=>
{
...
...
src/views/ecw/order/special/Discount.vue
View file @
b706f640
...
...
@@ -58,7 +58,7 @@
<
div
class
=
"
page-title
"
>
审批流程
<
/div
>
<
work
-
flow
xmlkey
=
"
special_apply
"
v
-
model
=
"
ccIdArr
"
/>
<
div
v
-
if
=
"
form.applyStatus != 1
"
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
handleSubmit
"
>
提交
<
/el-button
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
handleSubmit
"
:
disabled
=
"
!submitable
"
>
提交
<
/el-button
>
<
/div
>
<
div
v
-
else
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
$router.push('/bpm/process-instance/detail?id=' + form.formId)
"
>
...
...
@@ -148,6 +148,19 @@ export default {
}
}
,
computed
:
{
// 是否可以提交
submitable
(){
let
submitable
=
false
;
[
[
'
orgClearanceFreight
'
,
'
clearanceFreight
'
],
[
'
orgFreight
'
,
'
freight
'
]
].
forEach
(
item
=>
{
if
(
this
.
form
[
item
[
0
]]
!=
this
.
form
[
item
[
1
]]){
submitable
=
true
}
}
)
return
submitable
}
,
// 根据渠道id显示渠道名
getChannelNameById
(){
return
channelId
=>
{
...
...
src/views/ecw/order/transferWarehousing.vue
View file @
b706f640
...
...
@@ -67,7 +67,7 @@
<el-descriptions
style=
"margin-top: 20px"
:column=
"4"
border
>
<el-descriptions-item
:label=
"$t('集运仓库')"
>
{{ warehouseDetails
&&
warehouseDetails.warehouseOutName ? warehouseDetails.warehouseOutName : '' }}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('储位')"
>
<div
v-for=
"item in storageSpaceList"
style=
"display: flex;"
><div>
{{item.warehouseName ? item.warehouseName : ''}}
</div><div>
{{item.warehouseName ? item.regionName :''}} {{$t('区')}}
</div>
<div>
{{item.code}}
</div></div>
<div
v-for=
"item in storageSpaceList"
style=
"display: flex;"
><div>
{{item.warehouseName ? item.warehouseName : ''}}
{{$t('仓')}}
</div><div>
{{item.warehouseName ? item.regionName :''}} {{$t('区')}}
</div>
<div>
{{item.code}}
</div></div>
</el-descriptions-item>
<el-descriptions-item
v-if=
"type == 2"
:label=
"$t('选择储位')"
>
<div
@
click=
"areaVisible = true"
style=
"color: #0a84ff;cursor: pointer;"
>
{{$t('选择储位')}}
</div>
...
...
@@ -383,18 +383,17 @@ export default {
},
watch
:{
'
params.orderLocationCreateReqVOList
'
(
val
){
console
.
log
(
val
,
'
123
'
)
console
.
log
(
val
,
'
val
'
);
getByWarehouseId
().
then
(
r
=>
{
console
.
log
(
r
,
'
仓库
'
)
let
obj
=
[];
val
.
forEach
(
item
=>
{
r
.
data
.
forEach
(
itemm
=>
{
if
(
item
.
wareId
===
itemm
.
id
){
itemm
.
children
.
forEach
(
itemmm
=>
{
if
(
itemmm
.
id
===
item
.
areaId
){
if
(
itemmm
.
positionList
.
length
>
0
){
if
(
itemmm
.
positionList
&&
itemmm
.
positionList
.
length
>
0
){
itemmm
.
positionList
.
forEach
(
ic
=>
{
if
(
ic
.
children
.
length
>
0
){
if
(
ic
.
children
&&
ic
.
children
.
length
>
0
){
ic
.
children
.
forEach
(
icc
=>
{
if
(
icc
.
id
===
item
.
locationId
){
obj
.
push
({
...
...
@@ -412,7 +411,6 @@ export default {
}
})
})
console
.
log
(
obj
,
'
obj
'
)
this
.
storageSpaceList
=
obj
;
})
}
...
...
src/views/ecw/order/warehousing/components/editDialog.vue
View file @
b706f640
...
...
@@ -586,7 +586,7 @@ export default {
}
return
orderWarehouseIn
({
...
this
.
form1
,
brandType
:
this
.
form1
.
brand
?
1
:
0
,
brandType
:
this
.
warehousing
.
brandType
,
orderId
:
this
.
warehousing
.
orderId
,
orderItemId
:
undefined
,
orderNo
:
this
.
warehousing
.
orderNo
,
...
...
@@ -616,7 +616,7 @@ export default {
// 入仓修改
return
orderWarehouseInUpdateApply
({
...
this
.
form
,
brandType
:
this
.
form
.
brand
?
1
:
0
,
brandType
:
this
.
warehousing
.
brandType
,
orderId
:
this
.
warehousing
.
orderId
,
orderItemId
:
this
.
warehousing
.
orderItemId
,
orderNo
:
this
.
warehousing
.
orderNo
,
...
...
@@ -643,7 +643,7 @@ export default {
// 首次入仓
return
orderWarehouseIn
({
...
this
.
form
,
brandType
:
(
this
.
form
.
brand
&&
this
.
form
.
brand
!==
'
0
'
)
?
1
:
0
,
brandType
:
this
.
warehousing
.
brandType
,
orderId
:
this
.
warehousing
.
orderId
,
orderItemId
:
this
.
warehousing
.
orderItemId
,
orderNo
:
this
.
warehousing
.
orderNo
,
...
...
src/views/ecw/order/warehousing/index.vue
View file @
b706f640
...
...
@@ -140,7 +140,7 @@
</el-form>
<warehouse-area-dialog
ref=
"area"
:visible.sync=
"areaVisible"
v-model=
"form.orderLocationCreateReqVOList"
:order-id=
"orderId"
:
city-id=
"city
Id"
></warehouse-area-dialog>
:order-id=
"orderId"
:
warehouse-id=
"warehouse
Id"
></warehouse-area-dialog>
<edit-dialog
:title=
"title"
:order-id=
"order.orderId"
:visible.sync=
"warehousingVisible"
:warehousing=
"warehousing"
:edit=
"isEdit"
></edit-dialog>
...
...
@@ -431,8 +431,8 @@ export default {
})
return
result
},
city
Id
(){
return
this
.
order
?.
departureVO
?.
departur
eId
warehouse
Id
(){
return
this
.
order
?.
logisticsInfoDto
?.
startWarehous
eId
}
}
}
...
...
src/views/ecw/productPrice/batchEdit.vue
View file @
b706f640
This diff is collapsed.
Click to expand it.
src/views/ecw/productPrice/edit.vue
View file @
b706f640
...
...
@@ -63,10 +63,16 @@
<div
slot=
"header"
style=
"font-size:20px;"
>
{{$t('价格设置')}}
<span>
<el-checkbox
label=
""
v-model=
"needPay"
>
{{$t('预付')}}
</el-checkbox>
<el-checkbox
v-if=
"$route.query.action != 'batchUpdate'"
label=
""
v-model=
"needPay"
>
{{$t('预付')}}
</el-checkbox>
<el-checkbox
label=
""
v-model=
"stepPrice"
>
{{$t('阶梯定价')}}
</el-checkbox>
</span>
</div>
<el-form-item
:label=
"$t('预付')"
prop=
"needPay"
v-if=
"$route.query.action == 'batchUpdate'"
>
<el-radio-group
v-model=
"form.needPay"
>
<el-radio
:label=
"1"
>
预付
</el-radio>
<el-radio
:label=
"0"
>
均可
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
:label=
"$t('单价模式')"
prop=
"priceType"
>
<dict-selector
:type=
"DICT_TYPE.ECW_PRICE_TYPE"
v-model=
"form.priceType"
form-type=
"radio"
formatter=
"number"
defaultable
/>
</el-form-item>
...
...
@@ -194,7 +200,7 @@
<
/el-form
>
<
div
style
=
"
margin: 20px 0
"
>
<
el
-
button
@
click
=
"
submitForm
"
type
=
"
primary
"
v
-
if
=
"
!readonly
"
>
{{
$t
(
'
确认提交
'
)
}}
<
/el-button
>
<
el
-
button
@
click
=
"
submitForm
"
type
=
"
primary
"
v
-
if
=
"
!readonly
"
:
loading
=
"
loading
"
>
{{
$t
(
'
确认提交
'
)
}}
<
/el-button
>
<
el
-
button
type
=
"
default
"
@
click
=
"
$router.back()
"
>
{{
$t
(
'
返回上一页
'
)
}}
<
/el-button
>
<
/div
>
<
/div
>
...
...
@@ -241,7 +247,8 @@ export default {
productTypeList
:
[],
productDisabled
:
true
,
readonly
:
false
,
lineList
:
[]
//路线数组
lineList
:
[],
//路线数组
loading
:
false
}
}
,
computed
:
{
...
...
@@ -309,6 +316,11 @@ export default {
item
.
clearancePriceUnit
=
val
}
)
}
,
'
form.allPriceUnit
'
(
val
){
this
.
specialProducts
.
forEach
(
item
=>
{
item
.
allPriceUnit
=
val
}
)
}
,
'
form.allVolumeUnit
'
(
val
){
this
.
specialProducts
.
forEach
(
item
=>
{
item
.
allVolumeUnit
=
val
...
...
@@ -455,10 +467,11 @@ export default {
// 修改单条路线
if
(
this
.
$route
.
query
.
action
==
'
update
'
)
{
this
.
loading
=
true
return
updateProductPrice
(
data
).
then
(
res
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
请求成功
"
));
this
.
$router
.
back
()
}
)
}
)
.
finally
(
res
=>
this
.
loading
=
false
)
}
// 批量修改(单个商品的单个路线,多个路线,或者全部路线)的提交
...
...
@@ -491,10 +504,11 @@ export default {
return
this
.
$message
.
error
(
this
.
$t
(
'
请选择需要修改的路线
'
))
}
data
.
productIdList
=
[
this
.
form
.
productId
]
this
.
loading
=
true
batchUpdateProductPrice
(
data
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
修改成功
"
));
this
.
$router
.
replace
(
'
/product/product-price?
'
+
(
new
URLSearchParams
(
this
.
$route
.
query
)).
toString
())
}
)
}
)
.
finally
(
res
=>
this
.
loading
=
false
)
return
;
}
// 添加的提交
...
...
@@ -504,10 +518,11 @@ export default {
if
((
this
.
form
.
priceType
==
0
&&
!
this
.
form
.
transportPrice
)
||
(
this
.
form
.
priceType
==
1
&&
!
this
.
form
.
allPrice
)){
return
this
.
$message
.
error
(
this
.
$t
(
'
运费/全包价不能为0
'
))
}
this
.
loading
=
true
createProductPrice
(
data
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
请求成功
"
));
this
.
$router
.
replace
(
'
/product/product-price?
'
+
(
new
URLSearchParams
(
this
.
$route
.
query
)).
toString
())
}
);
}
)
.
finally
(
res
=>
this
.
loading
=
false
)
;
}
);
}
,
}
...
...
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