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
acb9ebdb
Commit
acb9ebdb
authored
May 06, 2024
by
lanbaoming
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev'
parents
7e29b5c2
d3eb5c5f
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
593 additions
and
274 deletions
+593
-274
customeranalysis.js
src/api/report/customeranalysis.js
+9
-0
salesanalysis.js
src/api/report/salesanalysis.js
+10
-0
vz.js
src/api/report/vz.js
+9
-0
query.vue
src/views/ecw/box/query.vue
+2
-1
creatCollection.vue
src/views/ecw/financial/creatCollection.vue
+2
-1
paymentVoucher.vue
src/views/ecw/financial/paymentVoucher.vue
+339
-178
success.vue
src/views/ecw/order/success.vue
+1
-1
index.vue
src/views/report/customer_analysis/index.vue
+78
-49
index.vue
src/views/report/sales_analysis/index.vue
+125
-43
index.vue
src/views/report/vz/index.vue
+18
-1
No files found.
src/api/report/customeranalysis.js
View file @
acb9ebdb
...
@@ -19,3 +19,12 @@ export function exportExcel(data) {
...
@@ -19,3 +19,12 @@ export function exportExcel(data) {
responseType
:
'
blob
'
responseType
:
'
blob
'
})
})
}
}
export
function
exportExcel2
(
data
)
{
return
request
({
url
:
'
/Report/CustomerAnalysis/exportExcel2
'
,
method
:
'
get
'
,
params
:
data
,
responseType
:
'
blob
'
})
}
src/api/report/salesanalysis.js
View file @
acb9ebdb
...
@@ -18,3 +18,13 @@ export function exportExcel(query) {
...
@@ -18,3 +18,13 @@ export function exportExcel(query) {
responseType
:
'
blob
'
responseType
:
'
blob
'
})
})
}
}
//获取统计汇总数据 lanbm 2024-05-04 add
export
function
getStatisticalSummary
(
query
)
{
return
request
({
url
:
'
/Report/SalesAnalysis/getStatisticalSummary
'
,
method
:
'
get
'
,
params
:
query
})
}
src/api/report/vz.js
View file @
acb9ebdb
...
@@ -49,3 +49,12 @@ export function exportExcel(query) {
...
@@ -49,3 +49,12 @@ export function exportExcel(query) {
responseType
:
'
blob
'
responseType
:
'
blob
'
})
})
}
}
//测试功能
export
function
test
(
query
)
{
return
request
({
url
:
'
/ecwVz/vz/Test
'
,
method
:
'
get
'
,
params
:
query
})
}
src/views/ecw/box/query.vue
View file @
acb9ebdb
...
@@ -133,7 +133,8 @@
...
@@ -133,7 +133,8 @@
</el-table-column>
</el-table-column>
<el-table-column
prop=
"price"
:label=
"$t('金额')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"price"
:label=
"$t('金额')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"payPrice"
:label=
"$t('实付金额')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"payPrice"
:label=
"$t('实付金额')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"payTime"
:label=
"$t('实付日期')"
align=
"center"
>
<el-table-column
prop=
"payTime"
:label=
"$t('创建日期')"
align=
"center"
>
<!--实付日期 改为 创建日期 lanbm 2024-05-06 add-->
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.payTime"
>
{{
formatDate
(
scope
.
row
.
payTime
)
}}
</span>
<span
v-if=
"scope.row.payTime"
>
{{
formatDate
(
scope
.
row
.
payTime
)
}}
</span>
</
template
>
</
template
>
...
...
src/views/ecw/financial/creatCollection.vue
View file @
acb9ebdb
...
@@ -376,7 +376,8 @@
...
@@ -376,7 +376,8 @@
<
/template
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('期望收款汇率')
"
align
=
"
center
"
>
<
el
-
table
-
column
:
label
=
"
$t('期望收款汇率')
"
align
=
"
center
"
>
<
template
slot
-
scope
=
"
scope
"
>
<!--
lanbm
2024
-
05
-
06
汇率保留小数增加到
6
位,为了方便显示,加宽此列的显示
-->
<
template
slot
-
scope
=
"
scope
"
style
=
"
width: 200px;
"
>
<
el
-
form
-
item
<
el
-
form
-
item
v
-
if
=
"
scope.row.type !== 'total'
"
v
-
if
=
"
scope.row.type !== 'total'
"
label
=
""
label
=
""
...
...
src/views/ecw/financial/paymentVoucher.vue
View file @
acb9ebdb
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<div
slot=
"header"
class=
"card-title"
>
{{
$t
(
'
付款单
'
)
}}
</div>
<div
slot=
"header"
class=
"card-title"
>
{{
$t
(
"
付款单
"
)
}}
</div>
<!-- 搜索工作栏 -->
<!-- 搜索工作栏 -->
<el-card
v-show=
"showSearch"
class=
"card"
>
<el-card
v-show=
"showSearch"
class=
"card"
>
<el-form
<el-form
:model=
"queryParams"
:model=
"queryParams"
ref=
"queryForm"
ref=
"queryForm"
size=
"small"
size=
"small"
label-width=
"1
0
0px"
label-width=
"1
5
0px"
class=
"card"
class=
"card"
>
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('付款单号')"
>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('付款单号')"
>
<el-input
<el-input
clearable
clearable
style=
"max-width: 188px
"
style=
"max-width: 188px;
"
v-model=
"queryParams.paymentNo"
v-model=
"queryParams.paymentNo"
:placeholder=
"$t('请输入付款单号')"
:placeholder=
"$t('请输入付款单号')"
clearable
clearable
@
keyup.enter.native=
"handleQuery"
@
keyup.enter.native=
"handleQuery"
/>
/>
</el-form-item
</el-form-item></el-col>
></el-col>
<el-col
:span=
"4"
><el-form-item
:label=
"$t('供应商')"
>
<el-col
:span=
"4"
><el-form-item
:label=
"$t('供应商')"
>
<el-select
<el-select
clearable
clearable
v-model=
"queryParams.supplierId"
v-model=
"queryParams.supplierId"
...
@@ -33,9 +35,10 @@
...
@@ -33,9 +35,10 @@
:label=
"supplier.companyZh"
:label=
"supplier.companyZh"
:value=
"supplier.id"
:value=
"supplier.id"
></el-option>
></el-option>
</el-select>
</el-select>
</el-form-item
</el-form-item></el-col>
></el-col>
<el-col
:span=
"4"
><el-form-item
:label=
"$t('业务员')"
>
<el-col
:span=
"4"
><el-form-item
:label=
"$t('业务员')"
>
<!--
<el-select
v-model=
"form.salesmanId"
:placeholder=
"$t('请选择业务员')"
>
<!--
<el-select
v-model=
"form.salesmanId"
:placeholder=
"$t('请选择业务员')"
>
<el-option
<el-option
v-for=
"item in creatorData"
v-for=
"item in creatorData"
...
@@ -44,7 +47,10 @@
...
@@ -44,7 +47,10 @@
:value=
"item.id"
:value=
"item.id"
/>
/>
</el-select>
-->
</el-select>
-->
<el-select
v-model=
"queryParams.salesmanName"
filterable
:placeholder=
"$t('请选择业务员')"
<el-select
v-model=
"queryParams.salesmanName"
filterable
:placeholder=
"$t('请选择业务员')"
clearable
clearable
>
>
<el-option
<el-option
...
@@ -54,72 +60,103 @@
...
@@ -54,72 +60,103 @@
:value=
"item.nickname"
:value=
"item.nickname"
/>
/>
</el-select>
</el-select>
</el-form-item>
</el-col>
</el-form-item>
<el-col
:span=
"6"
><el-form-item
:label=
"$t('创建时间')"
>
</el-col>
<el-col
:span=
"6"
><el-form-item
:label=
"$t('创建时间')"
>
<el-date-picker
<el-date-picker
v-model=
"queryParams.beginCreateTime"
v-model=
"queryParams.beginCreateTime"
type=
"datetimerange"
type=
"datetimerange"
value-format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
range-separator=
"到"
range-separator=
"到"
:start-placeholder=
"$t('请选择日期')"
:start-placeholder=
"$t('请选择日期')"
:end-placeholder=
"$t('请选择日期')"
>
:end-placeholder=
"$t('请选择日期')"
</el-date-picker>
>
</el-form-item></el-col>
</el-date-picker>
</el-form-item
></el-col>
</el-row>
</el-row>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"4"
>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('状态')"
>
<el-form-item
:label=
"$t('状态')"
>
<dict-selector
clearable
:type=
"DICT_TYPE.ECW_PAYMENT_STATE"
v-model=
"queryParams.state"
/>
<dict-selector
clearable
:type=
"DICT_TYPE.ECW_PAYMENT_STATE"
v-model=
"queryParams.state"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"4"
><el-form-item
:label=
"$t('发票状态')"
>
<el-col
:span=
"4"
><el-form-item
:label=
"$t('发票状态')"
>
<el-select
<el-select
clearable
clearable
v-model=
"queryParams.invoiceStatus"
v-model=
"queryParams.invoiceStatus"
:placeholder=
"$t('请选择是否开票')"
:placeholder=
"$t('请选择是否开票')"
>
>
<el-option
:label=
"$t('未开票')"
value=
"0"
/>
<el-option
:label=
"$t('未开票')"
value=
"0"
/>
<el-option
:label=
"$t('已开票')"
value=
"1"
/>
<el-option
:label=
"$t('已开票')"
value=
"1"
/>
</el-select>
</el-select>
</el-form-item
</el-form-item></el-col>
></el-col>
<el-col
:span=
"6"
><el-form-item>
<el-col
:span=
"6"
<el-button
type=
"primary"
@
click=
"handleQuery"
>
{{
$t
(
'
查找
'
)
}}
</el-button>
><el-form-item>
<el-button
type=
"primary"
@
click=
"handleQuery"
>
{{
$t
(
"
查找
"
)
}}
</el-button>
<!--lanbm 2024-05-06 改 “新增请款单” 为 “新增付款单” -->
<el-button
<el-button
style=
"margin-left: 10px"
style=
"margin-left: 10px"
type=
"success"
type=
"success"
v-hasPermi=
"['ecw:paymentVoucher:create']"
v-hasPermi=
"['ecw:paymentVoucher:create']"
@
click=
"handleAdd(0)"
@
click=
"handleAdd(0)"
>
{{
$t
(
'
新增请款单
'
)
}}
</el-button
>
{{
$t
(
"
新增付款单
"
)
}}
</el-button
>
</el-form-item></el-col
>
>
</el-form-item></el-col>
</el-row>
</el-row>
</el-form>
</el-form>
</el-card>
</el-card>
<el-table
v-loading=
"loadings"
:data=
"list"
border
class=
"card"
>
<el-table
v-loading=
"loadings"
:data=
"list"
border
class=
"card"
>
<el-table-column
:label=
"$t('序号')"
align=
"center"
prop=
"id"
type=
"index"
>
<el-table-column
:label=
"$t('序号')"
align=
"center"
prop=
"id"
type=
"index"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('付款单号')"
align=
"center"
prop=
"paymentNo"
>
<el-table-column
:label=
"$t('付款单号')"
align=
"center"
prop=
"paymentNo"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span
style=
"color: #1890ff;"
@
click=
"paymentDetail(scope.row)"
>
{{
scope
.
row
.
paymentNo
}}
</span>
<span
style=
"color: #1890ff"
@
click=
"paymentDetail(scope.row)"
>
{{
scope
.
row
.
paymentNo
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('供应商')"
align=
"center"
prop=
"supplierName"
/>
<el-table-column
:label=
"$t('供应商')"
align=
"center"
prop=
"supplierName"
/>
<el-table-column
:label=
"$t('创建时间')"
align=
"center"
prop=
"createTime"
>
<el-table-column
:label=
"$t('创建时间')"
align=
"center"
prop=
"createTime"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
,
'
{y
}
-{m
}
-{d
}
'
)
}}
<
/span
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
,
"
{y
}
-{m
}
-{d
}
"
)
}}
<
/span
>
<
/template
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('最后付款时间')
"
align
=
"
center
"
prop
=
"
latestPayAt
"
>
<
el
-
table
-
column
:
label
=
"
$t('最后付款时间')
"
align
=
"
center
"
prop
=
"
latestPayAt
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
span
>
{{
parseTime
(
scope
.
row
.
latestPayAt
,
'
{y
}
-{m
}
-{d
}
'
)
}}
<
/span
>
<
span
>
{{
parseTime
(
scope
.
row
.
latestPayAt
,
"
{y
}
-{m
}
-{d
}
"
)
}}
<
/span
>
<
/template
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('发票')
"
align
=
"
center
"
prop
=
"
invoiceStatus
"
>
<
el
-
table
-
column
:
label
=
"
$t('发票')
"
align
=
"
center
"
prop
=
"
invoiceStatus
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
span
>
{{
scope
.
row
.
invoiceStatus
===
0
?
$t
(
'
未开票
'
)
:
$t
(
'
已开票
'
)
}}
<
/span
>
<
span
>
{{
scope
.
row
.
invoiceStatus
===
0
?
$t
(
"
未开票
"
)
:
$t
(
"
已开票
"
)
}}
<
/span
>
<
/template
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('状态')
"
align
=
"
center
"
>
<
el
-
table
-
column
:
label
=
"
$t('状态')
"
align
=
"
center
"
>
...
@@ -128,7 +165,11 @@
...
@@ -128,7 +165,11 @@
:
type
=
"
DICT_TYPE.ECW_PAYMENT_STATE
"
:
type
=
"
DICT_TYPE.ECW_PAYMENT_STATE
"
:
value
=
"
scope.row.state
"
:
value
=
"
scope.row.state
"
/>
/>
<
span
v
-
if
=
"
[2,4,6].includes(scope.row.state) && scope.row.comment
"
:
title
=
"
scope.row.comment
"
><
i
class
=
"
el-icon-question
"
><
/i></
span
>
<
span
v
-
if
=
"
[2, 4, 6].includes(scope.row.state) && scope.row.comment
"
:
title
=
"
scope.row.comment
"
><
i
class
=
"
el-icon-question
"
><
/
i
><
/span
>
<
/template
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
<
el
-
table
-
column
...
@@ -136,37 +177,107 @@
...
@@ -136,37 +177,107 @@
align
=
"
center
"
align
=
"
center
"
class
-
name
=
"
small-padding fixed-width
"
class
-
name
=
"
small-padding fixed-width
"
>
>
<
template
v
-
slot
=
"
{row
}
"
>
<
template
v
-
slot
=
"
{ row
}
"
>
<
el
-
button
v
-
if
=
"
[0,2].includes(row.state)
"
size
=
"
mini
"
@
click
=
"
handleAdd(row.id)
"
<
el
-
button
v
-
hasPermi
=
"
['ecw:paymentVoucher:edit']
"
type
=
"
text
"
>
{{
$t
(
'
编辑
'
)
}}
v
-
if
=
"
[0, 2].includes(row.state)
"
size
=
"
mini
"
@
click
=
"
handleAdd(row.id)
"
v
-
hasPermi
=
"
['ecw:paymentVoucher:edit']
"
type
=
"
text
"
>
{{
$t
(
"
编辑
"
)
}}
<
/el-button
>
<
/el-button
>
<!--
<
el
-
button
v
-
if
=
"
[1,3].includes(row.state)
"
size
=
"
mini
"
v
-
hasPermi
=
"
['ecw:paymentVoucher:process']
"
type
=
"
text
"
@
click
=
"
examineClick(scope.row.id)
"
>
{{
$t
(
'
审核
'
)
}}
<
/el-button>--
>
<!--
<
el
-
button
v
-
if
=
"
[1,3].includes(row.state)
"
size
=
"
mini
"
v
-
hasPermi
=
"
['ecw:paymentVoucher:process']
"
type
=
"
text
"
@
click
=
"
examineClick(scope.row.id)
"
>
{{
$t
(
'
审核
'
)
}}
<
/el-button>--
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
v
-
show
=
"
[1].includes(row.state)
"
v
-
hasPermi
=
"
['ecw:paymentVoucher:Unapprove']
"
@
click
=
"
bridgeFn(1, $t('取消审核'),row)
"
>
<
el
-
button
{{
$t
(
'
取消审核
'
)
}}
size
=
"
mini
"
type
=
"
text
"
v
-
show
=
"
[1].includes(row.state)
"
v
-
hasPermi
=
"
['ecw:paymentVoucher:Unapprove']
"
@
click
=
"
bridgeFn(1, $t('取消审核'), row)
"
>
{{
$t
(
"
取消审核
"
)
}}
<
/el-button
>
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
v
-
show
=
"
[7,3,1,5].includes(row.state)
"
v
-
hasPermi
=
"
['ecw:paymentVoucher:details']
"
@
click
=
"
$router.push({path:'/bpm/process-instance/detail',query:{id:row.bmpId
}}
)
"
>
{{
$t
(
'
审核详情
'
)
}}
<
/el-button
>
<
el
-
button
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
v
-
if
=
"
[3].includes(row.state)
"
v
-
hasPermi
=
"
['ecw:paymentVoucher:Cancel-De-approval']
"
@
click
=
"
bridgeFn(2, $t('取消付款单反审核'),row)
"
>
{{
$t
(
'
取消反审核
'
)
}}
<
/el-button
>
size
=
"
mini
"
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
v
-
if
=
"
[5].includes(row.state)
"
v
-
hasPermi
=
"
['ecw:paymentVoucher:Cancel-Write-off']
"
@
click
=
"
bridgeFn(3, $t('取消付款单核销'),row)
"
>
{{
$t
(
'
取消核销
'
)
}}
<
/el-button
>
type
=
"
text
"
v
-
show
=
"
[7, 3, 1, 5].includes(row.state)
"
v
-
hasPermi
=
"
['ecw:paymentVoucher:details']
"
@
click
=
"
$router.push({
path: '/bpm/process-instance/detail',
query: { id: row.bmpId
}
,
}
)
"
>
{{
$t
(
"
审核详情
"
)
}}
<
/el-butto
n
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
v
-
if
=
"
[3].includes(row.state)
"
v
-
hasPermi
=
"
['ecw:paymentVoucher:Cancel-De-approval']
"
@
click
=
"
bridgeFn(2, $t('取消付款单反审核'), row)
"
>
{{
$t
(
"
取消反审核
"
)
}}
<
/el-butto
n
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
v
-
if
=
"
[5].includes(row.state)
"
v
-
hasPermi
=
"
['ecw:paymentVoucher:Cancel-Write-off']
"
@
click
=
"
bridgeFn(3, $t('取消付款单核销'), row)
"
>
{{
$t
(
"
取消核销
"
)
}}
<
/el-butto
n
>
<
el
-
button
v
-
if
=
"
[4].includes(row.state)
"
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:paymentVoucher:De-approval']
"
<
el
-
button
@
click
=
"
bridgeFn(4, $t('反审核'),row)
"
>
{{
$t
(
'
反审核
'
)
}}
v
-
if
=
"
[4].includes(row.state)
"
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:paymentVoucher:De-approval']
"
@
click
=
"
bridgeFn(4, $t('反审核'), row)
"
>
{{
$t
(
"
反审核
"
)
}}
<
/el-button
>
<
/el-button
>
<
el
-
button
v
-
if
=
"
[4].includes(row.state)
"
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:paymentVoucher:writeOff']
"
<
el
-
button
@
click
=
"
bridgeFn(5, $t('核销'),row)
"
>
{{
$t
(
'
核销
'
)
}}
v
-
if
=
"
[4].includes(row.state)
"
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:paymentVoucher:writeOff']
"
@
click
=
"
bridgeFn(5, $t('核销'), row)
"
>
{{
$t
(
"
核销
"
)
}}
<
/el-button
>
<
/el-button
>
<
el
-
button
v
-
if
=
"
[6].includes(row.state)
"
size
=
"
mini
"
type
=
"
text
"
<
el
-
button
v
-
hasPermi
=
"
['ecw:paymentVoucher:cancelWriteOff']
"
@
click
=
"
bridgeFn(6, $t('反核销'),row)
"
>
v
-
if
=
"
[6].includes(row.state)
"
{{
$t
(
'
反核销
'
)
}}
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:paymentVoucher:cancelWriteOff']
"
@
click
=
"
bridgeFn(6, $t('反核销'), row)
"
>
{{
$t
(
"
反核销
"
)
}}
<
/el-button
>
<
/el-button
>
<
el
-
button
v
-
if
=
"
[7].includes(row.state)
"
v
-
hasPermi
=
"
['ecw:paymentVoucher:Cancel-Cancelling-Write-off']
"
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
bridgeFn(7, $t('取消付款单反核销'),row)
"
>
{{
$t
(
'
取消反核销
'
)
}}
<
/el-button
>
<
el
-
button
v
-
if
=
"
[7].includes(row.state)
"
v
-
hasPermi
=
"
['ecw:paymentVoucher:Cancel-Cancelling-Write-off']
"
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
bridgeFn(7, $t('取消付款单反核销'), row)
"
>
{{
$t
(
"
取消反核销
"
)
}}
<
/el-butto
n
>
<!--
<
el
-
button
v
-
if
=
"
scope.row.state == 3
"
size
=
"
mini
"
type
=
"
text
"
>
{{
$t
(
'
开票
'
)
}}
<
/el-button> --
>
<!--
<
el
-
button
v
-
if
=
"
scope.row.state == 3
"
size
=
"
mini
"
type
=
"
text
"
>
{{
$t
(
'
开票
'
)
}}
<
/el-button> --
>
<
el
-
button
v
-
if
=
"
[6,4].includes(row.state)
"
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
toprint(row.id)
"
<
el
-
button
v
-
hasPermi
=
"
['ecw:paymentVoucher:print']
"
>
{{
$t
(
'
打印
'
)
}}
v
-
if
=
"
[6, 4].includes(row.state)
"
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
toprint(row.id)
"
v
-
hasPermi
=
"
['ecw:paymentVoucher:print']
"
>
{{
$t
(
"
打印
"
)
}}
<
/el-button
>
<
/el-button
>
<
el
-
button
v
-
if
=
"
[0,2].includes(row.state)
"
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:paymentVoucher:delete']
"
<
el
-
button
@
click
=
"
deleteClick(row)
"
>
{{
$t
(
'
删除
'
)
}}
v
-
if
=
"
[0, 2].includes(row.state)
"
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:paymentVoucher:delete']
"
@
click
=
"
deleteClick(row)
"
>
{{
$t
(
"
删除
"
)
}}
<
/el-button
>
<
/el-button
>
<!--
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
open = true
"
>
{{
$t
(
'
导出订单
'
)
}}
<
/el-button> --
>
<!--
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
open = true
"
>
{{
$t
(
'
导出订单
'
)
}}
<
/el-button> --
>
<
/template
>
<
/template
>
...
@@ -193,44 +304,53 @@
...
@@ -193,44 +304,53 @@
class
=
"
card-title
"
class
=
"
card-title
"
style
=
"
border-bottom: 2px solid #f8f8f8
"
style
=
"
border-bottom: 2px solid #f8f8f8
"
>
>
<
span
>
{{
$t
(
'
导出账单
'
)
}}
<
/span
>
<
span
>
{{
$t
(
"
导出账单
"
)
}}
<
/span
>
<
i
class
=
"
el-icon-close
"
@
click
=
"
cancel
"
><
/i
>
<
i
class
=
"
el-icon-close
"
@
click
=
"
cancel
"
><
/i
>
<
/div
>
<
/div
>
<
div
class
=
"
dialog-footer
"
>
<
div
class
=
"
dialog-footer
"
>
<
el
-
button
type
=
"
primary
"
style
=
"
width: 130px
"
@
click
=
"
submitForm
"
<
el
-
button
type
=
"
primary
"
style
=
"
width: 130px
"
@
click
=
"
submitForm
"
>
{{
$t
(
'
国内账单
'
)
}}
>
{{
$t
(
"
国内账单
"
)
}}
<
/el-butto
n
<
/el-button
>
>
<
el
-
button
<
el
-
button
plain
plain
type
=
"
primary
"
type
=
"
primary
"
style
=
"
width: 130px; margin: 0
"
style
=
"
width: 130px; margin: 0
"
@
click
=
"
submitForm
"
@
click
=
"
submitForm
"
>
Debite
note
>
Debite
note
<
/el-butto
n
<
/el-button
>
>
<
/div
>
<
/div
>
<
/el-dialog
>
<
/el-dialog
>
<!--
对话框
审核
-->
<!--
对话框
审核
-->
<
el
-
dialog
width
=
"
30%
"
@
close
=
"
cancelReason = ''
"
:
title
=
"
examineTitle
"
:
visible
.
sync
=
"
examineShow
"
>
<
el
-
dialog
width
=
"
30%
"
@
close
=
"
cancelReason = ''
"
:
title
=
"
examineTitle
"
:
visible
.
sync
=
"
examineShow
"
>
<
div
class
=
"
cancel_content
"
>
<
div
class
=
"
cancel_content
"
>
<
span
>
{{
$t
(
'
申请理由
'
)
}}
<
/span
>
<
span
>
{{
$t
(
"
申请理由
"
)
}}
<
/span
>
<
el
-
input
type
=
"
textarea
"
:
rows
=
"
6
"
v
-
model
=
"
cancelReason
"
:
placeholder
=
"
$t('请输入取消理由')
"
><
/el-input
>
<
el
-
input
type
=
"
textarea
"
:
rows
=
"
6
"
v
-
model
=
"
cancelReason
"
:
placeholder
=
"
$t('请输入取消理由')
"
><
/el-input
>
<
/div
>
<
/div
>
<
span
slot
=
"
footer
"
class
=
"
dialog-footers
"
>
<
span
slot
=
"
footer
"
class
=
"
dialog-footers
"
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
cancelWriteOffClick()
"
>
{{
$t
(
'
提交
'
)
}}
<
/el-button
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
cancelWriteOffClick()
"
>
{{
<
el
-
button
@
click
=
"
examineShow = false;
"
>
{{
$t
(
'
取消
'
)
}}
<
/el-button
>
$t
(
"
提交
"
)
}}
<
/el-button
>
<
el
-
button
@
click
=
"
examineShow = false
"
>
{{
$t
(
"
取消
"
)
}}
<
/el-button
>
<
/span
>
<
/span
>
<
/el-dialog
>
<
/el-dialog
>
<
/div
>
<
/div
>
<
/template
>
<
/template
>
<
script
>
<
script
>
import
{
userList
,
listSimpleUsers
}
from
"
@/api/system/user
"
;
import
{
userList
,
listSimpleUsers
}
from
"
@/api/system/user
"
;
import
{
DICT_TYPE
}
from
"
@/utils/dict
"
;
import
{
DICT_TYPE
}
from
"
@/utils/dict
"
;
import
CustomerSelector
from
"
@/components/CustomerSelector
"
;
import
CustomerSelector
from
"
@/components/CustomerSelector
"
;
import
{
getSupplierPage
}
from
"
@/api/ecw/supplier
"
;
import
{
getSupplierPage
}
from
"
@/api/ecw/supplier
"
;
import
{
import
{
getPaymentList
,
getPaymentList
,
deletePayment
,
deletePayment
,
...
@@ -240,8 +360,9 @@ import {
...
@@ -240,8 +360,9 @@ import {
cancelFinancePaymentApproval
,
cancelFinancePaymentApproval
,
cancelFinancePaymentApprovalNo
,
cancelFinancePaymentApprovalNo
,
cancelFinancePaymentWriteOff
,
cancelFinancePaymentWriteOff
,
cancelFinancePaymentWriteOffNo
,
paymentCancelFinancePaymentWriteOffNo
cancelFinancePaymentWriteOffNo
,
}
from
"
@/api/ecw/financial
"
paymentCancelFinancePaymentWriteOffNo
,
}
from
"
@/api/ecw/financial
"
;
export
default
{
export
default
{
name
:
"
EcwFinancialPaymentvoucher
"
,
name
:
"
EcwFinancialPaymentvoucher
"
,
...
@@ -251,10 +372,10 @@ export default {
...
@@ -251,10 +372,10 @@ export default {
data
()
{
data
()
{
return
{
return
{
examineShow
:
false
,
examineShow
:
false
,
examineTitle
:
''
,
examineTitle
:
""
,
examineIndex
:
0
,
examineIndex
:
0
,
examineData
:
{
}
,
examineData
:
{
}
,
cancelReason
:
''
,
cancelReason
:
""
,
open
:
false
,
open
:
false
,
showSearch
:
true
,
showSearch
:
true
,
loadings
:
false
,
loadings
:
false
,
...
@@ -291,25 +412,29 @@ export default {
...
@@ -291,25 +412,29 @@ export default {
}
;
}
;
}
,
}
,
activated
()
{
activated
()
{
this
.
handleQuery
()
this
.
handleQuery
()
;
}
,
}
,
created
()
{
created
()
{
let
that
=
this
;
let
that
=
this
;
listSimpleUsers
().
then
((
res
)
=>
(
that
.
creatorData
=
res
.
data
));
listSimpleUsers
().
then
((
res
)
=>
(
that
.
creatorData
=
res
.
data
));
// userList("salesman").then((res) => (that.creatorData = res.data));
// userList("salesman").then((res) => (that.creatorData = res.data));
getSupplierPage
({
pageNo
:
"
1
"
,
pageSize
:
"
10000
"
}
).
then
((
res
)
=>
{
getSupplierPage
({
pageNo
:
"
1
"
,
pageSize
:
"
10000
"
}
).
then
((
res
)
=>
{
const
{
data
}
=
res
;
const
{
data
}
=
res
;
this
.
allSupplier
=
data
.
list
;
this
.
allSupplier
=
data
.
list
;
}
);
}
);
this
.
getList
()
this
.
getList
()
;
}
,
}
,
methods
:
{
methods
:
{
/** 查询列表 */
/** 查询列表 */
getList
()
{
getList
()
{
this
.
loading
=
true
;
this
.
loading
=
true
;
// 处理查询参数
// 处理查询参数
let
params
=
{...
this
.
queryParams
}
;
let
params
=
{
...
this
.
queryParams
}
;
this
.
addBeginAndEndTime
(
params
,
this
.
queryParams
.
beginCreateTime
,
"
createTime
"
);
this
.
addBeginAndEndTime
(
params
,
this
.
queryParams
.
beginCreateTime
,
"
createTime
"
);
// 执行查询
// 执行查询
getPaymentList
(
params
).
then
((
response
)
=>
{
getPaymentList
(
params
).
then
((
response
)
=>
{
this
.
list
=
response
.
data
.
list
;
this
.
list
=
response
.
data
.
list
;
...
@@ -329,13 +454,13 @@ export default {
...
@@ -329,13 +454,13 @@ export default {
stateMap
(
state
)
{
stateMap
(
state
)
{
switch
(
state
)
{
switch
(
state
)
{
case
1
:
case
1
:
return
this
.
$t
(
'
待审核
'
)
return
this
.
$t
(
"
待审核
"
);
case
2
:
case
2
:
return
this
.
$t
(
'
已审核待核销
'
)
return
this
.
$t
(
"
已审核待核销
"
);
case
3
:
case
3
:
return
this
.
$t
(
'
审批驳回
'
)
return
this
.
$t
(
"
审批驳回
"
);
case
4
:
case
4
:
return
this
.
$t
(
'
已核销
'
)
return
this
.
$t
(
"
已核销
"
);
}
}
}
,
}
,
/** 新增按钮操作 */
/** 新增按钮操作 */
...
@@ -347,43 +472,55 @@ export default {
...
@@ -347,43 +472,55 @@ export default {
}
,
}
,
deleteClick
(
row
)
{
deleteClick
(
row
)
{
const
id
=
row
.
id
;
const
id
=
row
.
id
;
this
.
$modal
.
confirm
(
this
.
$t
(
'
是否确认删除该付款单
'
)
+
'
?
'
).
then
(
function
()
{
this
.
$modal
.
confirm
(
this
.
$t
(
"
是否确认删除该付款单
"
)
+
"
?
"
)
.
then
(
function
()
{
return
deletePayment
(
id
);
return
deletePayment
(
id
);
}
).
then
(()
=>
{
}
)
.
then
(()
=>
{
this
.
getList
();
this
.
getList
();
this
.
$modal
.
msgSuccess
(
this
.
$t
(
'
删除成功
'
));
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
删除成功
"
));
}
).
catch
(()
=>
{
}
)
}
);
.
catch
(()
=>
{
}
);
}
,
}
,
verificationClick
(
row
)
{
verificationClick
(
row
)
{
const
id
=
row
.
id
;
const
id
=
row
.
id
;
this
.
$modal
.
confirm
(
this
.
$t
(
'
您确认要核销吗
'
)
+
'
?
'
).
then
(
function
()
{
this
.
$modal
.
confirm
(
this
.
$t
(
"
您确认要核销吗
"
)
+
"
?
"
)
.
then
(
function
()
{
return
paymentVerification
(
id
);
return
paymentVerification
(
id
);
}
).
then
(()
=>
{
}
)
.
then
(()
=>
{
this
.
getList
();
this
.
getList
();
this
.
$modal
.
msgSuccess
(
this
.
$t
(
'
核销成功
'
));
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
核销成功
"
));
}
).
catch
(()
=>
{
}
)
}
);
.
catch
(()
=>
{
}
);
}
,
}
,
verificationCancelClick
(
row
)
{
verificationCancelClick
(
row
)
{
const
id
=
row
.
id
;
const
id
=
row
.
id
;
this
.
$modal
.
confirm
(
this
.
$t
(
'
您确认要反核销吗
'
)
+
'
?
'
).
then
(
function
()
{
this
.
$modal
.
confirm
(
this
.
$t
(
"
您确认要反核销吗
"
)
+
"
?
"
)
.
then
(
function
()
{
return
paymentVerificationCancel
(
id
);
return
paymentVerificationCancel
(
id
);
}
).
then
(()
=>
{
}
)
.
then
(()
=>
{
this
.
getList
();
this
.
getList
();
this
.
$modal
.
msgSuccess
(
this
.
$t
(
'
反核销成功
'
));
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
反核销成功
"
));
}
).
catch
(()
=>
{
}
)
}
);
.
catch
(()
=>
{
}
);
}
,
}
,
verifyCancelClick
(
row
)
{
verifyCancelClick
(
row
)
{
const
id
=
row
.
id
;
const
id
=
row
.
id
;
this
.
$modal
.
confirm
(
this
.
$t
(
'
您确认要反审核吗
'
)
+
'
?
'
).
then
(
function
()
{
this
.
$modal
.
confirm
(
this
.
$t
(
"
您确认要反审核吗
"
)
+
"
?
"
)
.
then
(
function
()
{
return
paymentVerifyCancel
(
id
);
return
paymentVerifyCancel
(
id
);
}
).
then
(()
=>
{
}
)
.
then
(()
=>
{
this
.
getList
();
this
.
getList
();
this
.
$modal
.
msgSuccess
(
this
.
$t
(
'
反审核成功
'
));
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
反审核成功
"
));
}
).
catch
(()
=>
{
}
)
}
);
.
catch
(()
=>
{
}
);
}
,
}
,
toprint
(
id
)
{
toprint
(
id
)
{
return
this
.
$router
.
push
(
"
printPaymentVoucher?id=
"
+
id
);
return
this
.
$router
.
push
(
"
printPaymentVoucher?id=
"
+
id
);
...
@@ -402,53 +539,77 @@ export default {
...
@@ -402,53 +539,77 @@ export default {
this
.
examineShow
=
true
;
this
.
examineShow
=
true
;
}
,
}
,
cancelWriteOffClick
()
{
cancelWriteOffClick
()
{
if
(
!
this
.
cancelReason
)
{
if
(
!
this
.
cancelReason
)
{
return
this
.
$message
.
warning
(
this
.
$t
(
'
请输入申请理由!
'
))
return
this
.
$message
.
warning
(
this
.
$t
(
"
请输入申请理由!
"
));
}
}
let
resolve
=
(
val
=
this
.
$t
(
'
操作成功吗!
'
))
=>
{
let
resolve
=
(
val
=
this
.
$t
(
"
操作成功吗!
"
))
=>
{
this
.
getList
();
this
.
getList
();
this
.
$message
.
success
(
val
);
this
.
$message
.
success
(
val
);
this
.
examineShow
=
false
;
this
.
examineShow
=
false
;
}
}
;
let
reject
=
()
=>
{
let
reject
=
()
=>
{
this
.
examineShow
=
false
;
this
.
examineShow
=
false
;
}
}
;
let
{
id
:
paymentId
,
paymentNo
}
=
this
.
examineData
let
{
id
:
paymentId
,
paymentNo
}
=
this
.
examineData
;
let
p
=
{
paymentId
,
remark
:
this
.
cancelReason
,
paymentNo
,
reason
:
this
.
cancelReason
}
let
p
=
{
paymentId
,
remark
:
this
.
cancelReason
,
paymentNo
,
reason
:
this
.
cancelReason
,
}
;
switch
(
this
.
examineIndex
)
{
switch
(
this
.
examineIndex
)
{
case
1
:
case
1
:
// 取消审核
// 取消审核
cancelFinancePaymentApproval
(
p
).
then
(()
=>
resolve
(
this
.
$t
(
'
取消付款单审核成功!
'
)),
reject
)
cancelFinancePaymentApproval
(
p
).
then
(
break
()
=>
resolve
(
this
.
$t
(
"
取消付款单审核成功!
"
)),
reject
);
break
;
// 取消付款单反审核
// 取消付款单反审核
case
2
:
case
2
:
cancelFinancePaymentApprovalNo
(
p
).
then
(()
=>
resolve
(
this
.
$t
(
'
取消付款单反审核成功!
'
)),
reject
)
cancelFinancePaymentApprovalNo
(
p
).
then
(
()
=>
resolve
(
this
.
$t
(
"
取消付款单反审核成功!
"
)),
reject
);
break
;
break
;
case
3
:
case
3
:
//取消付款单核销
//取消付款单核销
cancelFinancePaymentWriteOffNo
(
p
).
then
(()
=>
resolve
(
this
.
$t
(
'
取消付款单核销成功!
'
)),
reject
)
cancelFinancePaymentWriteOffNo
(
p
).
then
(
break
()
=>
resolve
(
this
.
$t
(
"
取消付款单核销成功!
"
)),
reject
);
break
;
case
4
:
case
4
:
// 反审核
// 反审核
paymentVerifyCancel
(
p
).
then
(()
=>
resolve
(
this
.
$t
(
'
提交付款单反审核成功,请耐心等待审核结果!
'
)),
reject
)
paymentVerifyCancel
(
p
).
then
(
()
=>
resolve
(
this
.
$t
(
"
提交付款单反审核成功,请耐心等待审核结果!
"
)),
reject
);
break
;
break
;
case
5
:
case
5
:
// 核销
// 核销
paymentVerification
(
p
).
then
(()
=>
resolve
(
this
.
$t
(
'
提交付款单核销成功,请耐心等待审核结果!
'
)),
reject
);
paymentVerification
(
p
).
then
(
()
=>
resolve
(
this
.
$t
(
"
提交付款单核销成功,请耐心等待审核结果!
"
)),
reject
);
break
;
break
;
case
6
:
case
6
:
// 反核销
// 反核销
paymentVerificationCancel
(
p
).
then
(()
=>
resolve
(
this
.
$t
(
'
提交付款单反核销成功,请耐心等待审核结果!
'
)),
reject
)
paymentVerificationCancel
(
p
).
then
(
()
=>
resolve
(
this
.
$t
(
"
提交付款单反核销成功,请耐心等待审核结果!
"
)),
reject
);
break
;
break
;
case
7
:
case
7
:
// 取消反核销
// 取消反核销
paymentCancelFinancePaymentWriteOffNo
(
p
).
then
(()
=>
resolve
(
this
.
$t
(
'
取消付款单反核销成功!
'
)),
reject
)
paymentCancelFinancePaymentWriteOffNo
(
p
).
then
(
()
=>
resolve
(
this
.
$t
(
"
取消付款单反核销成功!
"
)),
reject
);
break
;
break
;
}
}
}
}
,
}
,
}
,
}
;
}
;
<
/script
>
<
/script
>
...
...
src/views/ecw/order/success.vue
View file @
acb9ebdb
...
@@ -88,7 +88,7 @@ export default {
...
@@ -88,7 +88,7 @@ export default {
},
},
computed
:{
computed
:{
orderInfoForCopy
(){
orderInfoForCopy
(){
return
`订单号:
${
this
.
order
.
orderNo
}
\n唛头:
${
this
.
order
.
marks
}
\n提货点:
${
this
.
order
.
logisticsInfoDto
?.
destTitleZh
}
\
n
送货地址:
$
{
this
.
order
.
logisticsInfoDto
?.
startAddressZh
}
`
return
`订单号:
${
this
.
order
.
orderNo
}
\n唛头:
${
this
.
order
.
marks
}
\n提货点:
${
this
.
order
.
logisticsInfoDto
?.
destTitleZh
}
\
n
送货地址:
$
{
this
.
order
.
logisticsInfoDto
?.
startAddressZh
}
\
n
仓库电话
:
$
{
this
.
order
.
logisticsInfoDto
?.
startTell
}
`
}
}
},
},
async created(){
async created(){
...
...
src/views/report/customer_analysis/index.vue
View file @
acb9ebdb
...
@@ -249,7 +249,7 @@
...
@@ -249,7 +249,7 @@
size=
"mini"
size=
"mini"
@
click=
"handleExport"
@
click=
"handleExport"
:loading=
"exportLoading"
:loading=
"exportLoading"
v-show=
"
objEcwReportPermission.exportdataq == 1
"
v-show=
"
false
"
>
>
{{
$t
(
"
导出
"
)
}}
</el-button
{{
$t
(
"
导出
"
)
}}
</el-button
>
>
...
@@ -264,9 +264,9 @@
...
@@ -264,9 +264,9 @@
size=
"mini"
size=
"mini"
@
click=
"handleExport2"
@
click=
"handleExport2"
:loading=
"exportLoading"
:loading=
"exportLoading"
v-show=
"
false
"
v-show=
"
objEcwReportPermission.exportdataq == 1
"
>
>
{{
$t
(
"
导出
测试
"
)
}}
</el-button
{{
$t
(
"
导出
"
)
}}
</el-button
>
>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
...
@@ -327,12 +327,24 @@
...
@@ -327,12 +327,24 @@
<el-table-column
label=
"泡货占比"
align=
"center"
prop=
"phSumZb"
/>
<el-table-column
label=
"泡货占比"
align=
"center"
prop=
"phSumZb"
/>
<el-table-column
label=
"控货总V值"
align=
"center"
prop=
"khSumV"
/>
<el-table-column
label=
"控货总V值"
align=
"center"
prop=
"khSumV"
/>
<el-table-column
label=
"控货占比"
align=
"center"
prop=
"khSumZb"
/>
<el-table-column
label=
"控货占比"
align=
"center"
prop=
"khSumZb"
/>
<el-table-column
label=
"是否首次成交"
align=
"center"
prop=
"isFirst"
/>
<!--2024-05-06和张工确认这几个参数无取数逻辑,暂时隐藏-->
<el-table-column
label=
"首次成交时间"
align=
"center"
prop=
"firstDate"
>
<el-table-column
label=
"是否首次成交"
v-show=
"false"
align=
"center"
prop=
"isFirst"
/>
<el-table-column
label=
"首次成交时间"
v-show=
"false"
align=
"center"
prop=
"firstDate"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
firstDate
)
}}
</span>
<span>
{{
parseTime
(
scope
.
row
.
firstDate
)
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<!--2024-05-06和张工确认这几个参数无取数逻辑,暂时隐藏-->
<el-table-column
label=
"提货率"
align=
"center"
prop=
"thL"
/>
<el-table-column
label=
"提货率"
align=
"center"
prop=
"thL"
/>
<el-table-column
label=
"客户业绩类型"
align=
"center"
prop=
"cusYjType"
/>
<el-table-column
label=
"客户业绩类型"
align=
"center"
prop=
"cusYjType"
/>
<el-table-column
label=
"客户来源"
align=
"center"
prop=
"sourcename"
/>
<el-table-column
label=
"客户来源"
align=
"center"
prop=
"sourcename"
/>
...
@@ -367,7 +379,11 @@ import Treeselect from "@riophae/vue-treeselect";
...
@@ -367,7 +379,11 @@ import Treeselect from "@riophae/vue-treeselect";
//自定义目录数样式
//自定义目录数样式
import
"
@/assets/styles/vue-treeselect.css
"
;
import
"
@/assets/styles/vue-treeselect.css
"
;
import
{
listSimpleDepts
}
from
"
@/api/system/dept
"
;
import
{
listSimpleDepts
}
from
"
@/api/system/dept
"
;
import
{
getListPage
,
exportExcel
}
from
"
@/api/report/customeranalysis
"
;
import
{
getListPage
,
exportExcel
,
exportExcel2
,
}
from
"
@/api/report/customeranalysis
"
;
import
{
import
{
getCurUserPermission
,
getCurUserPermission
,
getDeptChild
,
getDeptChild
,
...
@@ -517,7 +533,42 @@ export default {
...
@@ -517,7 +533,42 @@ export default {
getCountryListAll
().
then
((
r
)
=>
{
getCountryListAll
().
then
((
r
)
=>
{
this
.
countryList
=
r
.
data
;
this
.
countryList
=
r
.
data
;
});
});
this
.
doLoadData
();
},
watch
:
{
$route
(
to
)
{
//lanbm 2024-05-06 解决重新进入参数不刷新的问题
if
(
this
.
$route
.
name
==
"
客户分析
"
)
{
this
.
doLoadData
();
}
},
},
computed
:
{
//这几个函数的执行顺序
//created ------> computed ------> mounted ------> watch
},
methods
:
{
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
// 处理查询参数
// 执行查询
if
(
this
.
objEcwReportPermission
.
permissionFw
==
1
)
{
//只能看自己的,不能选择部门和客户经理
this
.
queryParams
.
salesmanid
=
this
.
objEcwReportPermission
.
userId
;
}
else
if
(
this
.
objEcwReportPermission
.
permissionFw
==
2
)
{
//部门权限
this
.
queryParams
.
deptid
=
parseInt
(
this
.
objEcwReportPermission
.
deptId
);
}
else
if
(
this
.
objEcwReportPermission
.
permissionFw
==
3
)
{
//全公司权限
}
getListPage
(
this
.
queryParams
).
then
((
response
)
=>
{
this
.
list
=
response
.
data
.
list
;
this
.
total
=
response
.
data
.
total
;
this
.
loading
=
false
;
});
},
doLoadData
()
{
//获取当前用户报表权限
//获取当前用户报表权限
getCurUserPermission
().
then
((
response
)
=>
{
getCurUserPermission
().
then
((
response
)
=>
{
//复制对象
//复制对象
...
@@ -560,28 +611,6 @@ export default {
...
@@ -560,28 +611,6 @@ export default {
this
.
getList
();
this
.
getList
();
});
});
},
},
computed
:
{},
methods
:
{
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
// 处理查询参数
// 执行查询
if
(
this
.
objEcwReportPermission
.
permissionFw
==
1
)
{
//只能看自己的,不能选择部门和客户经理
this
.
queryParams
.
salesmanid
=
this
.
objEcwReportPermission
.
userId
;
}
else
if
(
this
.
objEcwReportPermission
.
permissionFw
==
2
)
{
//部门权限
this
.
queryParams
.
deptid
=
parseInt
(
this
.
objEcwReportPermission
.
deptId
);
}
else
if
(
this
.
objEcwReportPermission
.
permissionFw
==
3
)
{
//全公司权限
}
getListPage
(
this
.
queryParams
).
then
((
response
)
=>
{
this
.
list
=
response
.
data
.
list
;
this
.
total
=
response
.
data
.
total
;
this
.
loading
=
false
;
});
},
isChinese
()
{
isChinese
()
{
//基础函数,判断系统显示语言是中文还是英文
//基础函数,判断系统显示语言是中文还是英文
return
this
.
$i18n
.
locale
===
"
zh_CN
"
;
return
this
.
$i18n
.
locale
===
"
zh_CN
"
;
...
@@ -688,7 +717,7 @@ export default {
...
@@ -688,7 +717,7 @@ export default {
.
confirm
(
"
是否确认导出所有数据项?
"
)
.
confirm
(
"
是否确认导出所有数据项?
"
)
.
then
(()
=>
{
.
then
(()
=>
{
this
.
exportLoading
=
true
;
this
.
exportLoading
=
true
;
return
exportExcel
(
this
.
queryParams
);
return
exportExcel
2
(
this
.
queryParams
);
})
})
.
then
((
response
)
=>
{
.
then
((
response
)
=>
{
//放入后台队列需要注释此行代码
//放入后台队列需要注释此行代码
...
...
src/views/report/sales_analysis/index.vue
View file @
acb9ebdb
...
@@ -68,10 +68,9 @@
...
@@ -68,10 +68,9 @@
v-model=
"queryParams.fhNumber"
v-model=
"queryParams.fhNumber"
placeholder=
"请输入发货人编号"
placeholder=
"请输入发货人编号"
clearable
clearable
@
keyup.enter.native=
"handleQuery"
/>
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"收货人编号"
prop=
"
delFlag
"
>
<el-form-item
label=
"收货人编号"
prop=
"
shNumber
"
>
<el-select
<el-select
v-model=
"queryParams.SearchType4"
v-model=
"queryParams.SearchType4"
clearable
clearable
...
@@ -86,18 +85,29 @@
...
@@ -86,18 +85,29 @@
</el-select>
</el-select>
<el-input
<el-input
style=
"width: 200px"
style=
"width: 200px"
v-model=
"queryParams.
f
hNumber"
v-model=
"queryParams.
s
hNumber"
placeholder=
"请输入收货人编号"
placeholder=
"请输入收货人编号"
clearable
clearable
@
keyup.enter.native=
"handleQuery"
/>
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"唛头"
prop=
"remark"
>
<el-form-item
label=
"唛头"
prop=
"remark"
>
<el-select
v-model=
"queryParams.SearchType5"
clearable
style=
"width: 100px"
>
<el-option
v-for=
"dict in SearchType"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
<el-input
<el-input
v-model=
"queryParams.
remark
"
v-model=
"queryParams.
marks
"
placeholder=
"请输入唛头"
placeholder=
"请输入唛头"
style=
"width: 200px"
clearable
clearable
@
keyup.enter.native=
"handleQuery"
/>
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"客户经理"
prop=
"salesmanId"
>
<el-form-item
label=
"客户经理"
prop=
"salesmanId"
>
...
@@ -190,13 +200,11 @@
...
@@ -190,13 +200,11 @@
></el-option>
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('控货')"
prop=
"isCargoControl"
>
<el-form-item
:label=
"$t('是否控货')"
prop=
"isCargoControl"
>
<dict-selector
<el-select
v-model=
"queryParams.isCargoControl"
clearable
>
v-model=
"queryParams.isCargoControl"
<el-option
label=
"是"
value=
"1"
></el-option>
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
<el-option
label=
"否"
value=
"0"
></el-option>
fomatter=
"bool"
</el-select>
clearable
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"重泡类型"
prop=
"remark"
>
<el-form-item
label=
"重泡类型"
prop=
"remark"
>
<el-select
v-model=
"queryParams.zpType"
clearable
>
<el-select
v-model=
"queryParams.zpType"
clearable
>
...
@@ -235,19 +243,28 @@
...
@@ -235,19 +243,28 @@
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"数据筛选"
prop=
"remark"
>
<el-form-item
label=
"数据筛选"
prop=
"remark"
>
<el-select
v-model=
"queryParams.dataSearch1"
clearable
style=
"width: 150px"
>
<el-select
v-model=
"queryParams.dataSearch1"
clearable
style=
"width: 150px"
>
<el-option
label=
"入仓箱数"
value=
"1"
></el-option>
<el-option
label=
"入仓箱数"
value=
"1"
></el-option>
<el-option
label=
"入仓体积"
value=
"2"
></el-option>
<el-option
label=
"入仓体积"
value=
"2"
></el-option>
<el-option
label=
"入仓重量"
value=
"3"
></el-option>
<el-option
label=
"入仓重量"
value=
"3"
></el-option>
<el-option
label=
"重/泡标准"
value=
"3"
></el-option>
<el-option
label=
"重/泡标准"
value=
"3"
></el-option>
<el-option
label=
"提货率"
value=
"4"
></el-option>
<el-option
label=
"提货率"
value=
"4"
></el-option>
</el-select>
</el-select>
<el-select
v-model=
"queryParams.dataSearch2"
clearable
style=
"width: 150px"
>
<el-select
v-model=
"queryParams.dataSearch2"
clearable
style=
"width: 150px"
>
<el-option
label=
"大于等于"
value=
"1"
></el-option>
<el-option
label=
"大于等于"
value=
"1"
></el-option>
<el-option
label=
"等于"
value=
"2"
></el-option>
<el-option
label=
"等于"
value=
"2"
></el-option>
<el-option
label=
"小于等于"
value=
"3"
></el-option>
<el-option
label=
"小于等于"
value=
"3"
></el-option>
</el-select>
</el-select>
<el-input
style=
"width: 100px"
<el-input
style=
"width: 100px"
v-model=
"queryParams.dataSearch3"
v-model=
"queryParams.dataSearch3"
placeholder=
"请输入数值"
placeholder=
"请输入数值"
clearable
clearable
...
@@ -292,21 +309,64 @@
...
@@ -292,21 +309,64 @@
>
>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<el-row
:gutter=
"32"
>
<el-row>
<el-col
:xs=
"24"
:sm=
"24"
:lg=
"8"
>
<el-col
:span=
"24"
class=
"card-box"
>
<div
class=
"chart-wrapper"
>
总箱数 总方数 总重量 总V值
</div>
<el-card>
</el-col>
<div
class=
"el-table el-table--enable-row-hover el-table--medium"
>
</el-row>
<table
cellspacing=
"0"
style=
"width: 100%"
>
<el-row
:gutter=
"32"
>
<tbody>
<el-col
:xs=
"24"
:sm=
"24"
:lg=
"8"
>
<tr>
<div
class=
"chart-wrapper"
>
新客户 总箱数 总方数 总重量 总V值
</div>
<td><div
class=
"cell"
></div></td>
</el-col>
<td>
</el-row>
<div
class=
"cell"
>
总箱数:
{{
StatisticalSummary
.
sumBox
}}
</div>
<el-row
:gutter=
"32"
>
</td>
<el-col
:xs=
"24"
:sm=
"24"
:lg=
"8"
>
<td>
<div
class=
"chart-wrapper"
>
旧客户 总箱数 总方数 总重量 总V值
</div>
<div
class=
"cell"
>
总方数:
{{
StatisticalSummary
.
sumM3
}}
</div>
</td>
<td>
<div
class=
"cell"
>
总重量:
{{
StatisticalSummary
.
sumKG
}}
</div>
</td>
<td>
<div
class=
"cell"
>
总V值:
{{
StatisticalSummary
.
sumV
}}
</div>
</td>
</tr>
<tr>
<td><div
class=
"cell"
>
新客户
</div></td>
<td>
<div
class=
"cell"
>
总箱数:
{{
StatisticalSummary
.
sumBoxNew
}}
</div>
</td>
<td>
<div
class=
"cell"
>
总方数:
{{
StatisticalSummary
.
sumM3New
}}
</div>
</td>
<td>
<div
class=
"cell"
>
总重量:
{{
StatisticalSummary
.
sumKGNew
}}
</div>
</td>
<td>
<div
class=
"cell"
>
总V值:
{{
StatisticalSummary
.
sumVNew
}}
</div>
</td>
</tr>
<tr>
<td><div
class=
"cell"
>
旧客户
</div></td>
<td>
<div
class=
"cell"
>
总箱数:
{{
StatisticalSummary
.
sumBoxOld
}}
</div>
</td>
<td>
<div
class=
"cell"
>
总方数:
{{
StatisticalSummary
.
sumM3Old
}}
</div>
</td>
<td>
<div
class=
"cell"
>
总重量:
{{
StatisticalSummary
.
sumKGOld
}}
</div>
</td>
<td>
<div
class=
"cell"
>
总V值:
{{
StatisticalSummary
.
sumVOld
}}
</div>
</td>
</tr>
</tbody>
</table>
</div>
</el-card>
</el-col>
</el-col>
</el-row>
</el-row>
<!-- 列表 -->
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
label=
"排名"
align=
"center"
prop=
"px"
/>
<el-table-column
label=
"排名"
align=
"center"
prop=
"px"
/>
...
@@ -383,7 +443,7 @@
...
@@ -383,7 +443,7 @@
<el-table-column
label=
"入仓箱数"
align=
"center"
prop=
"sumquantity"
/>
<el-table-column
label=
"入仓箱数"
align=
"center"
prop=
"sumquantity"
/>
<el-table-column
label=
"体积"
align=
"center"
prop=
"sumvolume"
/>
<el-table-column
label=
"体积"
align=
"center"
prop=
"sumvolume"
/>
<el-table-column
label=
"重量"
align=
"center"
prop=
"sumweight"
/>
<el-table-column
label=
"重量"
align=
"center"
prop=
"sumweight"
/>
<el-table-column
label=
"控货"
align=
"center"
prop=
"iscargocontrol"
/>
<el-table-column
label=
"
是否
控货"
align=
"center"
prop=
"iscargocontrol"
/>
<el-table-column
label=
"重货/泡货"
align=
"center"
prop=
"ordertypeShow"
/>
<el-table-column
label=
"重货/泡货"
align=
"center"
prop=
"ordertypeShow"
/>
<el-table-column
label=
"重货/泡货标准"
align=
"center"
prop=
"zpUnitShow"
/>
<el-table-column
label=
"重货/泡货标准"
align=
"center"
prop=
"zpUnitShow"
/>
<el-table-column
label=
"付款方"
align=
"center"
prop=
"draweeName"
/>
<el-table-column
label=
"付款方"
align=
"center"
prop=
"draweeName"
/>
...
@@ -421,7 +481,7 @@ import { getCountryListAll } from "@/api/ecw/country";
...
@@ -421,7 +481,7 @@ import { getCountryListAll } from "@/api/ecw/country";
import
Treeselect
from
"
@riophae/vue-treeselect
"
;
import
Treeselect
from
"
@riophae/vue-treeselect
"
;
import
"
@/assets/styles/vue-treeselect.css
"
;
import
"
@/assets/styles/vue-treeselect.css
"
;
import
{
getWarehouseList
}
from
"
@/api/ecw/warehouse
"
;
import
{
getWarehouseList
}
from
"
@/api/ecw/warehouse
"
;
import
{
getListPage
,
exportExcel
}
from
"
@/api/report/salesanalysis
"
;
import
{
getListPage
,
exportExcel
,
getStatisticalSummary
}
from
"
@/api/report/salesanalysis
"
;
import
{
getCurUserPermission
}
from
"
@/api/report/EcwReportPermission
"
;
import
{
getCurUserPermission
}
from
"
@/api/report/EcwReportPermission
"
;
import
{
getAllChannelList
,
getChannelList
}
from
"
@/api/ecw/channel
"
;
import
{
getAllChannelList
,
getChannelList
}
from
"
@/api/ecw/channel
"
;
import
{
listSimpleDepts
}
from
"
@/api/system/dept
"
;
import
{
listSimpleDepts
}
from
"
@/api/system/dept
"
;
...
@@ -464,19 +524,20 @@ export default {
...
@@ -464,19 +524,20 @@ export default {
queryParams
:
{
queryParams
:
{
pageNo
:
1
,
pageNo
:
1
,
pageSize
:
10
,
pageSize
:
10
,
SearchType3
:
undefined
,
SearchType3
:
"
eq
"
,
fhNumber
:
undefined
,
//发货客户编号
fhNumber
:
undefined
,
//发货客户编号
SearchType
3
:
undefined
,
SearchType
4
:
"
eq
"
,
shNumber
:
undefined
,
//收货客户编号
shNumber
:
undefined
,
//收货客户编号
startWarehouseId
:
undefined
,
//始发仓
startWarehouseId
:
undefined
,
//始发仓
muDiGuo
:
undefined
,
//目的国
muDiGuo
:
undefined
,
//目的国
muDiShi
:
undefined
,
//目的城市
muDiShi
:
undefined
,
//目的城市
dstwarehousename
:
undefined
,
//目的仓
dstwarehousename
:
undefined
,
//目的仓
transportId
:
undefined
,
//运输方式
transportId
:
undefined
,
//运输方式
SearchType1
:
undefined
,
//订单编号查询类型
SearchType1
:
"
eq
"
,
//订单编号查询类型
orderNo
:
undefined
,
//订单编号
orderNo
:
undefined
,
//订单编号
SearchType2
:
undefined
,
//提单号的查询类别
SearchType2
:
"
eq
"
,
//提单号的查询类别
tidanNo
:
undefined
,
//提单号
tidanNo
:
undefined
,
//提单号
SearchType5
:
"
in
"
,
marks
:
undefined
,
//唛头
marks
:
undefined
,
//唛头
status
:
undefined
,
//订单状态
status
:
undefined
,
//订单状态
salesmanId
:
undefined
,
//客户经理
salesmanId
:
undefined
,
//客户经理
...
@@ -488,9 +549,9 @@ export default {
...
@@ -488,9 +549,9 @@ export default {
dateSearch1
:
undefined
,
//时间筛选类型
dateSearch1
:
undefined
,
//时间筛选类型
sdate1
:
undefined
,
//开始时间
sdate1
:
undefined
,
//开始时间
edate2
:
undefined
,
//结束时间
edate2
:
undefined
,
//结束时间
dataSearch1
:
undefined
,
//数据类型筛选
dataSearch1
:
undefined
,
//数据类型筛选
dataSearch2
:
undefined
,
//比较符号设置
dataSearch2
:
undefined
,
//比较符号设置
dataSearch3
:
undefined
,
//数据值
dataSearch3
:
undefined
,
//数据值
},
},
channelList
:
[],
channelList
:
[],
countryList
:
[],
countryList
:
[],
...
@@ -504,6 +565,20 @@ export default {
...
@@ -504,6 +565,20 @@ export default {
DeptEx
:
{
id
:
undefined
,
name
:
undefined
,
parentId
:
undefined
},
DeptEx
:
{
id
:
undefined
,
name
:
undefined
,
parentId
:
undefined
},
showWarehouseInItemId
:
undefined
,
showWarehouseInItemId
:
undefined
,
type
:
1
,
type
:
1
,
StatisticalSummary
:{
sumBox
:
0
,
sumM3
:
0
,
sumKG
:
0
,
sumV
:
0
,
sumBoxNew
:
0
,
sumM3New
:
0
,
sumKGNew
:
0
,
sumVNew
:
0
,
sumBoxOld
:
0
,
sumM3Old
:
0
,
sumKGOld
:
0
,
sumVOld
:
0
,
}
};
};
},
},
created
()
{
created
()
{
...
@@ -511,9 +586,7 @@ export default {
...
@@ -511,9 +586,7 @@ export default {
getCountryListAll
().
then
((
r
)
=>
{
getCountryListAll
().
then
((
r
)
=>
{
this
.
countryList
=
r
.
data
;
this
.
countryList
=
r
.
data
;
});
});
getAllChannelList
().
then
((
res
)
=>
(
this
.
channelList
=
res
.
data
));
getAllChannelList
().
then
((
res
)
=>
(
this
.
channelList
=
res
.
data
));
getWarehouseList
().
then
((
res
)
=>
(
this
.
warehouseList
=
res
.
data
));
getWarehouseList
().
then
((
res
)
=>
(
this
.
warehouseList
=
res
.
data
));
this
.
loading
=
false
;
this
.
loading
=
false
;
//获取当前用户报表权限
//获取当前用户报表权限
...
@@ -555,6 +628,12 @@ export default {
...
@@ -555,6 +628,12 @@ export default {
this
.
total
=
response
.
data
.
total
;
this
.
total
=
response
.
data
.
total
;
this
.
loading
=
false
;
this
.
loading
=
false
;
});
});
//获取统计数据
getStatisticalSummary
(
params
).
then
((
response
)
=>
{
this
.
StatisticalSummary
=
response
.
data
;
});
},
},
/** 表单重置 */
/** 表单重置 */
...
@@ -591,14 +670,17 @@ export default {
...
@@ -591,14 +670,17 @@ export default {
params
.
pageSize
=
undefined
;
params
.
pageSize
=
undefined
;
// 执行导出
// 执行导出
this
.
$modal
this
.
$modal
.
confirm
(
"
是否确认导出所
选
数据?
"
)
.
confirm
(
"
是否确认导出所
有
数据?
"
)
.
then
(()
=>
{
.
then
(()
=>
{
this
.
exportLoading
=
true
;
this
.
exportLoading
=
true
;
return
exportExcel
(
params
);
return
exportExcel
(
params
);
})
})
.
then
((
response
)
=>
{
.
then
((
response
)
=>
{
this
.
$download
.
excel
(
response
,
"
销售分析数据报表.xls
"
);
//
this.$download.excel(response, "销售分析数据报表.xls");
this
.
exportLoading
=
false
;
this
.
exportLoading
=
false
;
this
.
$message
.
success
(
this
.
$t
(
"
已加入导出队列,请稍后在下载日志中下载
"
)
);
})
})
.
catch
(()
=>
{});
.
catch
(()
=>
{});
},
},
...
...
src/views/report/vz/index.vue
View file @
acb9ebdb
...
@@ -59,6 +59,17 @@
...
@@ -59,6 +59,17 @@
{{
$t
(
"
导出
"
)
}}
</el-button
{{
$t
(
"
导出
"
)
}}
</el-button
>
>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
v-show=
"false"
size=
"mini"
@
click=
"TestFun"
>
{{
$t
(
"
测试功能
"
)
}}
</el-button
>
</el-col>
<right-toolbar
<right-toolbar
:showSearch.sync=
"showSearch"
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
@
queryTable=
"getList"
...
@@ -149,6 +160,7 @@ import {
...
@@ -149,6 +160,7 @@ import {
getModel
,
getModel
,
getPageList
,
getPageList
,
exportExcel
,
exportExcel
,
test
,
}
from
"
@/api/report/vz
"
;
}
from
"
@/api/report/vz
"
;
import
Treeselect
from
"
@riophae/vue-treeselect
"
;
import
Treeselect
from
"
@riophae/vue-treeselect
"
;
import
"
@/assets/styles/vue-treeselect.css
"
;
import
"
@/assets/styles/vue-treeselect.css
"
;
...
@@ -337,6 +349,11 @@ export default {
...
@@ -337,6 +349,11 @@ export default {
})
})
.
catch
(()
=>
{});
.
catch
(()
=>
{});
},
},
TestFun
()
{
test
().
then
((
response
)
=>
{
this
.
$modal
.
msgSuccess
(
"
测试发送
"
);
});
},
/** 导出按钮操作 */
/** 导出按钮操作 */
handleExport
()
{
handleExport
()
{
// 处理查询参数
// 处理查询参数
...
...
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