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
17b1deec
Commit
17b1deec
authored
May 16, 2024
by
lanbaoming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
2024-05-16修改
parent
c5838e3f
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
2067 additions
and
605 deletions
+2067
-605
box.js
src/api/ecw/box.js
+9
-0
salesreport.js
src/api/report/salesreport.js
+0
-2
costForm.vue
src/views/ecw/box/costForm.vue
+1
-0
query.vue
src/views/ecw/box/query.vue
+453
-92
queryAir.vue
src/views/ecw/box/queryAir.vue
+28
-1
voucher.vue
src/views/ecw/financial/voucher.vue
+328
-196
memberDetails.vue
src/views/member/user/memberDetails.vue
+587
-250
index.vue
src/views/report/BankReceiptDetails/index.vue
+415
-0
index.vue
src/views/report/salesreport/index.vue
+245
-63
index.vue
src/views/report/vz/index.vue
+1
-1
No files found.
src/api/ecw/box.js
View file @
17b1deec
...
...
@@ -124,6 +124,15 @@ export function getCostList(params) {
params
,
});
}
// 付款单主表 SELECT * from ecw_payment
// 付款单费用明细 SELECT * from ecw_payable
// 根据明细获取主表ID
export
function
getPaymentId
(
id
)
{
return
request
({
url
:
"
/ecw/box-cost/getPaymentId?id=
"
+
id
,
method
:
"
get
"
});
}
// 获得出货异常记录列表
export
function
getAbnormalList
(
params
)
{
...
...
src/api/report/salesreport.js
View file @
17b1deec
...
...
@@ -48,8 +48,6 @@ export function getEChartData(query) {
})
}
// 导出测试 Excel 2024-04-27
export
function
exportTestExcel
(
query
)
{
return
request
({
...
...
src/views/ecw/box/costForm.vue
View file @
17b1deec
...
...
@@ -94,6 +94,7 @@ export default {
});
const
{
costDetail
}
=
this
.
$attrs
;
this
.
costObj
=
{
...
costDetail
};
//币种获取接口 lanbm 2024-05-16 添加注释
getCurrencyList
().
then
((
res
)
=>
{
this
.
currencyList
=
res
.
data
??
[];
});
...
...
src/views/ecw/box/query.vue
View file @
17b1deec
<
template
>
<div
class=
"app-container shipping-detail"
>
<el-row
type=
"flex"
style=
"margin-top: 15px; margin-bottom: 15px"
justify=
"center"
>
<el-row
type=
"flex"
style=
"margin-top: 15px; margin-bottom: 15px"
justify=
"center"
>
<el-col
:xs=
"24"
:sm=
"24"
:md=
"24"
:lg=
"20"
:xl=
"22"
>
<div
style=
"display: flex; justify-content: space-between;align-items: flex-end;"
>
<h2>
{{
$t
(
'
出货详情
'
)
}}
</h2>
<div
style=
"
display: flex;
justify-content: space-between;
align-items: flex-end;
"
>
<h2>
{{
$t
(
"
出货详情
"
)
}}
</h2>
<div>
<!--
<el-button
size=
"small"
@
click=
"handleCommand('edit')"
>
{{
$t
(
'
编辑
'
)
}}
</el-button>
-->
<el-button
size=
"small"
v-hasPermi=
"['shipment:box:action:sea']"
@
click=
"handleCommand('router')"
>
{{
$t
(
'
操作
'
)
}}
</el-button>
<el-button
type=
"primary"
v-hasPermi=
"['shipment:box:action:error']"
size=
"small"
@
click=
"handleCommand('error')"
>
{{
$t
(
'
异常登记
'
)
}}
</el-button>
<el-button
type=
"primary"
v-hasPermi=
"['shipment:box:action:cost']"
size=
"small"
@
click=
"handleCommand('cost')"
>
{{
$t
(
'
费用登记
'
)
}}
</el-button>
<el-button
size=
"small"
v-hasPermi=
"['shipment:box:action:sea']"
@
click=
"handleCommand('router')"
>
{{
$t
(
"
操作
"
)
}}
</el-button
>
<el-button
type=
"primary"
v-hasPermi=
"['shipment:box:action:error']"
size=
"small"
@
click=
"handleCommand('error')"
>
{{
$t
(
"
异常登记
"
)
}}
</el-button
>
<el-button
type=
"primary"
v-hasPermi=
"['shipment:box:action:cost']"
size=
"small"
@
click=
"handleCommand('cost')"
>
{{
$t
(
"
费用登记
"
)
}}
</el-button
>
<!--
<el-button
type=
"danger"
size=
"small"
@
click=
"handleCommand('delete')"
>
{{
$t
(
'
删除
'
)
}}
</el-button>
-->
</div>
</div>
<el-card
style=
"margin-top: 15px"
>
<el-descriptions
:column=
"4"
border
>
<el-descriptions-item
:label=
"$t('自编号')"
>
{{
shipmentObj
.
selfNo
}}
{{
shipmentObj
.
selfNo
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('运输方式')"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"shipmentObj.transportType"
/>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"shipmentObj.transportType"
/>
</el-descriptions-item>
<!--
<el-descriptions-item
:label=
"$t('出货渠道')"
>
{{
getShipChannelName
(
shipmentObj
.
shippingChannelId
)
}}
</el-descriptions-item>
-->
<el-descriptions-item
:label=
"$t('柜型')"
>
{{
getCabinetLabel
(
shipmentObj
.
cabinetId
)
}}
{{
getCabinetLabel
(
shipmentObj
.
cabinetId
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('状态')"
>
{{
shipmentObj
.
shipmentStatusText
}}
{{
shipmentObj
.
shipmentStatusText
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('总计')"
>
{{
getBoxSum
(
shipmentObj
.
boxStatistics
)
}}
{{
getBoxSum
(
shipmentObj
.
boxStatistics
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('始发地')"
>
{{
getCityName
(
shipmentObj
.
startWarehouseId
)
}}
{{
getCityName
(
shipmentObj
.
startWarehouseId
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('目的地')"
>
{{
getCityName
(
shipmentObj
.
destWarehouseId
)
}}
{{
getCityName
(
shipmentObj
.
destWarehouseId
)
}}
</el-descriptions-item>
<el-descriptions-item
label=
"SO NO"
>
{{
shipmentObj
.
bookSeaInfo
?
shipmentObj
.
bookSeaInfo
.
sono
:
''
}}
{{
shipmentObj
.
bookSeaInfo
?
shipmentObj
.
bookSeaInfo
.
sono
:
""
}}
</el-descriptions-item>
</el-descriptions>
</el-card>
...
...
@@ -47,103 +77,321 @@
<el-tabs
style=
"margin-top: 15px"
type=
"border-card"
value=
"detail"
>
<el-tab-pane
:label=
"$t('明细')"
name=
"detail"
>
<div
class=
"detail-pane"
>
<div>
{{
$t
(
'
当前部分
'
)
}}
:
</div>
<el-select
:placeholder=
"$t('请选择')"
v-model=
"sectionId"
@
change=
"sectionChange"
>
<div>
{{
$t
(
"
当前部分
"
)
}}
:
</div>
<el-select
:placeholder=
"$t('请选择')"
v-model=
"sectionId"
@
change=
"sectionChange"
>
<el-option
key=
"0"
:label=
"$t('全部')"
value=
"0"
></el-option>
<el-option
v-for=
"item in sectionList"
:key=
"item.id"
:label=
"item.title"
:value=
"item.id"
></el-option>
<el-option
v-for=
"item in sectionList"
:key=
"item.id"
:label=
"item.title"
:value=
"item.id"
></el-option>
</el-select>
<p
class=
"box-weight"
>
{{
getSectionInfo
}}
{{
getSectionInfo
}}
</p>
<div
style=
"margin-left:30px;"
>
<el-button
type=
"primary"
v-hasPermi=
"['shipment:box:order:select']"
size=
"small"
@
click=
"()=>updateStatus('selected')"
>
{{
$t
(
'
更新所选订单状态
'
)
}}
</el-button>
<el-button
type=
"primary"
v-hasPermi=
"['shipment:box:order:all']"
size=
"small"
@
click=
"()=>updateStatus('all')"
>
{{
$t
(
'
更新全部订单状态
'
)
}}
</el-button>
<div
style=
"margin-left: 30px"
>
<el-button
type=
"primary"
v-hasPermi=
"['shipment:box:order:select']"
size=
"small"
@
click=
"() => updateStatus('selected')"
>
{{
$t
(
"
更新所选订单状态
"
)
}}
</el-button
>
<el-button
type=
"primary"
v-hasPermi=
"['shipment:box:order:all']"
size=
"small"
@
click=
"() => updateStatus('all')"
>
{{
$t
(
"
更新全部订单状态
"
)
}}
</el-button
>
</div>
<div
class=
"document-status"
>
<p>
{{
$t
(
'
单证状态
'
)
}}
:
</p>
<template
v-for=
"(item, index) in getDocStatus(sectionObj.sectionOrderList)"
>
<dict-tag
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
:value=
"item"
:key=
"index"
/>
<p>
{{
$t
(
"
单证状态
"
)
}}
:
</p>
<template
v-for=
"(item, index) in getDocStatus(
sectionObj.sectionOrderList
)"
>
<dict-tag
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
:value=
"item"
:key=
"index"
/>
</
template
>
</div>
</div>
<el-table
:data=
"sectionObj.sectionOrderList"
style=
"width: 100%"
border
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"50"
:selectable=
"selectable"
></el-table-column>
>
<el-table-column
align=
"center"
:label=
"$t('序号')"
width=
"50"
prop=
"tidanNum"
/>
<el-table-column
prop=
"orderNo"
:label=
"$t('订单号')"
align=
"center"
>
<el-table
:data=
"sectionObj.sectionOrderList"
style=
"width: 100%"
border
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"50"
:selectable=
"selectable"
></el-table-column
>
>
<el-table-column
align=
"center"
:label=
"$t('序号')"
width=
"50"
prop=
"tidanNum"
/>
<el-table-column
prop=
"orderNo"
:label=
"$t('订单号')"
align=
"center"
>
<
template
v-slot=
"scope"
>
<a
href=
"javascript:void(0)"
@
click=
"jumpOrderDetail(scope.row)"
>
{{
scope
.
row
.
orderNo
}}
</a>
<a
href=
"javascript:void(0)"
@
click=
"jumpOrderDetail(scope.row)"
>
{{
scope
.
row
.
orderNo
}}
</a
>
</
template
>
</el-table-column>
<el-table-column
prop=
"goodsList"
:label=
"$t('货物信息')"
width=
"230px"
align=
"center"
>
<
template
v-slot=
"{row}"
>
<el-table-column
prop=
"goodsList"
:label=
"$t('货物信息')"
width=
"230px"
align=
"center"
>
<
template
v-slot=
"{ row }"
>
<section>
<div
v-for=
"(item, index) in row.goodsList"
:key=
"index"
>
{{
index
+
1
}}
:
{{
item
.
prodTitleZh
}}
{{
index
+
1
}}
:
{{
item
.
prodTitleZh
}}
</div>
</section>
</
template
>
</el-table-column>
<el-table-column
prop=
"num"
:label=
"$t('计划箱数')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"installNum"
:label=
"$t('实装箱数')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"unloadNum"
:label=
"$t('卸柜箱数')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"destWarehouseName"
:label=
"$t('提货点')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"volume"
:label=
"$t('体积')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"weight"
:label=
"$t('重量')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"totalWorth"
:label=
"$t('货值')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"customsType"
:label=
"$t('报关方式')"
align=
"center"
>
<el-table-column
prop=
"num"
:label=
"$t('计划箱数')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"installNum"
:label=
"$t('实装箱数')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"unloadNum"
:label=
"$t('卸柜箱数')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"destWarehouseName"
:label=
"$t('提货点')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"volume"
:label=
"$t('体积')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"weight"
:label=
"$t('重量')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"totalWorth"
:label=
"$t('货值')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"customsType"
:label=
"$t('报关方式')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<div
:class=
"scope.row.customsType !== 1 ? 'customsType-red' : ''"
>
<dict-tag
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
:value=
"scope.row.customsType"
/>
<div
:class=
"
scope.row.customsType !== 1 ? 'customsType-red' : ''
"
>
<dict-tag
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
:value=
"scope.row.customsType"
/>
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"customsFee"
:label=
"$t('报关费用')"
align=
"center"
></el-table-column>
<el-table-column
prop=
""
:label=
"$t('操作')"
align=
"center"
width=
"120px"
>
<el-table-column
prop=
"customsFee"
:label=
"$t('报关费用')"
align=
"center"
></el-table-column>
<el-table-column
prop=
""
:label=
"$t('操作')"
align=
"center"
width=
"120px"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"small"
:disabled=
"scope.row.abnormalDealStatus === 1"
@
click=
"()=>updateStatus('single', scope.row)"
>
{{
$t
(
'
更新状态
'
)
}}
</el-button>
<el-button
type=
"primary"
size=
"small"
:disabled=
"scope.row.abnormalDealStatus === 1"
@
click=
"() => updateStatus('single', scope.row)"
>
{{
$t
(
"
更新状态
"
)
}}
</el-button
>
</
template
>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane
:label=
"$t('状态')"
name=
"status"
>
<div
v-for=
"(item, index) in logList"
:key=
"item.id"
:class=
"`shipping-status ${index === 0 ? 'curr-status' : '' }`"
>
<div
v-for=
"(item, index) in logList"
:key=
"item.id"
:class=
"`shipping-status ${index === 0 ? 'curr-status' : ''}`"
>
<div
class=
"status-line"
></div>
<div
class=
"status-number"
>
{{
logList.length - index
}}
</div>
<div
class=
"status-number"
>
{{
logList.length - index
}}
</div>
<div
class=
"status-info"
>
<div>
{{$l(item, 'title')}}
<el-button
v-if=
"item.approvalId>0"
type=
"text"
@
click=
"handleApproval(item.bpmProcessId)"
>
{{$t('查看审批')}}
</el-button></div>
<div>
<p>
{{formatDate(item.createTime)}}
</p>
<p>
{{item.operator}}
</p>
{{ $l(item, "title") }}
<el-button
v-if=
"item.approvalId > 0"
type=
"text"
@
click=
"handleApproval(item.bpmProcessId)"
>
{{ $t("查看审批") }}
</el-button
>
</div>
<div>
<p>
{{ formatDate(item.createTime) }}
</p>
<p>
{{ item.operator }}
</p>
</div>
</div>
</div>
</el-tab-pane>
<el-tab-pane
:label=
"$t('费用')"
name=
"fee"
>
<el-table
:data=
"costList"
style=
"width: 100%"
border
>
<el-table-column
type=
"index"
align=
"center"
:label=
"$t('序号')"
width=
"50"
/>
<el-table-column
prop=
"costType"
:label=
"$t('费用类型')"
align=
"center"
>
<el-table-column
type=
"index"
align=
"center"
:label=
"$t('序号')"
width=
"50"
/>
<el-table-column
prop=
"costType"
:label=
"$t('费用类型')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.FEE_TYPE"
:value=
"scope.row.costType"
/>
<dict-tag
:type=
"DICT_TYPE.FEE_TYPE"
:value=
"scope.row.costType"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"supplierId"
:label=
"$t('供应商')"
align=
"center"
>
<el-table-column
prop=
"supplierId"
:label=
"$t('供应商')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
{{
getSupplier
(
scope
.
row
.
supplierId
)
}}
{{
getSupplier
(
scope
.
row
.
supplierId
)
}}
</
template
>
</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=
"payTime"
:label=
"$t('创建日期')"
align=
"center"
>
<el-table-column
prop=
"price"
:label=
"$t('金额')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"priceUnitName"
:label=
"$t('币种')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"payPrice"
:label=
"$t('实付金额')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"payPriceBz"
:label=
"$t('实付币种')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"payTime"
:label=
"$t('实付日期')"
align=
"center"
>
<!--实付日期 改为 创建日期 lanbm 2024-05-06 add-->
<
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
>
</el-table-column>
<el-table-column
prop=
"payableNo"
:label=
"$t('付款单号')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span
style=
"color: #1890ff"
@
click=
"paymentDetail(scope.row)"
>
{{
scope
.
row
.
payableNo
}}
</span
>
</
template
>
</el-table-column>
<el-table-column
prop=
"creator"
:label=
"$t('创建人')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"createTime"
:label=
"$t('创建日期')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"updater"
:label=
"$t('修改人')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"updateTime"
:label=
"$t('修改日期')"
align=
"center"
></el-table-column>
<!--添加备注信息列 lanbm 2024-05-16 add-->
<el-table-column
prop=
"remarks"
:label=
"$t('备注')"
align=
"center"
></el-table-column>
<el-table-column
:label=
"$t('操作')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"editCostClick(scope.row)"
style=
"marginRight:10px;"
v-hasPermi=
"['ecw:box-cost:update']"
>
{{
$t
(
'
编辑
'
)
}}
</el-button>
<el-popconfirm
:title=
"$t('确定是否删除')"
@
confirm=
"deleteCostClick(scope.row)"
>
<el-button
type=
"danger"
size=
"small"
slot=
"reference"
v-hasPermi=
"['ecw:box-cost:delete']"
>
{{
$t
(
'
删除
'
)
}}
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"editCostClick(scope.row)"
style=
"marginright: 10px"
v-hasPermi=
"['ecw:box-cost:update']"
>
{{
$t
(
"
编辑
"
)
}}
</el-button
>
<el-popconfirm
:title=
"$t('确定是否删除')"
@
confirm=
"deleteCostClick(scope.row)"
>
<el-button
type=
"danger"
size=
"small"
slot=
"reference"
v-hasPermi=
"['ecw:box-cost:delete']"
>
{{
$t
(
"
删除
"
)
}}
</el-button
>
</el-popconfirm>
</
template
>
</el-table-column>
...
...
@@ -151,34 +399,76 @@
</el-tab-pane>
<el-tab-pane
:label=
"$t('异常')"
name=
"error"
>
<el-table
:data=
"errorList"
style=
"width: 100%"
border
>
<el-table-column
type=
"index"
align=
"center"
:label=
"$t('序号')"
width=
"50"
/>
<el-table-column
type=
"index"
align=
"center"
:label=
"$t('序号')"
width=
"50"
/>
<el-table-column
prop=
"opStep"
:label=
"$t('操作')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.BOX_SHIPPING_PROCESS"
:value=
"scope.row.opStep"
/>
<dict-tag
:type=
"DICT_TYPE.BOX_SHIPPING_PROCESS"
:value=
"scope.row.opStep"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"billAbnId"
:label=
"$t('异常')"
align=
"center"
>
<el-table-column
prop=
"billAbnId"
:label=
"$t('异常')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.BOX_SHIPPING_TICKET_EXCEPTION"
:value=
"scope.row.billAbnId"
/>
<dict-tag
:type=
"DICT_TYPE.BOX_SHIPPING_TICKET_EXCEPTION"
:value=
"scope.row.billAbnId"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"abnDetail"
:label=
"$t('异常描述')"
align=
"center"
width=
"300"
></el-table-column>
<el-table-column
prop=
"delayDays"
:label=
"$t('异常延迟天数')"
align=
"center"
></el-table-column>
<el-table-column
prop=
""
:label=
"$t('异常时间')"
align=
"center"
width=
"200"
>
<el-table-column
prop=
"abnDetail"
:label=
"$t('异常描述')"
align=
"center"
width=
"300"
></el-table-column>
<el-table-column
prop=
"delayDays"
:label=
"$t('异常延迟天数')"
align=
"center"
></el-table-column>
<el-table-column
prop=
""
:label=
"$t('异常时间')"
align=
"center"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.abnStartTime"
>
{{
formatDate
(
scope
.
row
.
abnStartTime
)
}}
-
</span>
<span
v-if=
"scope.row.abnEndTime"
>
{{
formatDate
(
scope
.
row
.
abnEndTime
)
}}
</span>
<span
v-if=
"scope.row.abnStartTime"
>
{{
formatDate
(
scope
.
row
.
abnStartTime
)
}}
-
</span>
<span
v-if=
"scope.row.abnEndTime"
>
{{
formatDate
(
scope
.
row
.
abnEndTime
)
}}
</span>
</
template
>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane
:label=
"$t('表单')"
name=
"download"
>
<el-table
:data=
"downloadList"
style=
"width: 50%"
>
<el-table-column
prop=
"title"
:label=
"$t('文件类型')"
></el-table-column>
<el-table-column
prop=
"title"
:label=
"$t('文件类型')"
></el-table-column>
<el-table-column
prop=
""
:label=
"$t('下载链接')"
>
<
template
slot-scope=
"scope"
>
<a
v-if=
"scope.row.serviceName"
href=
"javascript:void(0)"
@
click=
"downloadDetailFile(scope.row)"
v-hasPermi=
"[`$
{scope.row.hasPermi}`]">
{{
$t
(
'
下载
'
)
}}
</a>
<div
v-else
>
{{
$t
(
'
未完成
'
)
}}
</div>
<a
v-if=
"scope.row.serviceName"
href=
"javascript:void(0)"
@
click=
"downloadDetailFile(scope.row)"
v-hasPermi=
"[`$
{scope.row.hasPermi}`]"
>
{{
$t
(
"
下载
"
)
}}
</a
>
<div
v-else
>
{{
$t
(
"
未完成
"
)
}}
</div>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -188,18 +478,48 @@
</el-row>
<!-- 对话框(添加 / 修改) -->
<el-dialog
:title=
"dialogConfig.title"
:visible.sync=
"dialogConfig.visible"
:width=
"dialogConfig.width"
append-to-body
class=
"shippingSea-dialog"
>
<el-dialog
:title=
"dialogConfig.title"
:visible.sync=
"dialogConfig.visible"
:width=
"dialogConfig.width"
append-to-body
class=
"shippingSea-dialog"
>
<
template
v-if=
"dialogConfig.type === 'edit'"
>
<editForm
v-if=
"dialogConfig.visible"
@
closeDialog=
"closeDialog"
:shipmentObj=
"shipmentObj"
:warehouseList=
"warehouseList"
:transportTypes=
"transportTypes"
:cabinetList=
"cabinetList"
/>
<editForm
v-if=
"dialogConfig.visible"
@
closeDialog=
"closeDialog"
:shipmentObj=
"shipmentObj"
:warehouseList=
"warehouseList"
:transportTypes=
"transportTypes"
:cabinetList=
"cabinetList"
/>
</
template
>
<
template
v-if=
"dialogConfig.type === 'cost'"
>
<costForm
v-if=
"dialogConfig.visible"
@
closeDialog=
"closeDialog"
:shipmentObj=
"shipmentObj"
:costDetail=
"costDetail"
flag=
"sea"
/>
<costForm
v-if=
"dialogConfig.visible"
@
closeDialog=
"closeDialog"
:shipmentObj=
"shipmentObj"
:costDetail=
"costDetail"
flag=
"sea"
/>
</
template
>
<
template
v-if=
"dialogConfig.type === 'error'"
>
<regError
v-if=
"dialogConfig.visible"
@
closeDialog=
"closeDialog"
:shipmentObj=
"shipmentObj"
:allUsers=
"allUsers"
flag=
"sea"
/>
<regError
v-if=
"dialogConfig.visible"
@
closeDialog=
"closeDialog"
:shipmentObj=
"shipmentObj"
:allUsers=
"allUsers"
flag=
"sea"
/>
</
template
>
<
template
v-if=
"dialogConfig.type === 'updateError'"
>
<updateError
v-if=
"dialogConfig.visible"
@
closeDialog=
"closeDialog"
:shipmentObj=
"shipmentObj"
:errorInfo=
"errorInfo"
/>
<updateError
v-if=
"dialogConfig.visible"
@
closeDialog=
"closeDialog"
:shipmentObj=
"shipmentObj"
:errorInfo=
"errorInfo"
/>
</
template
>
</el-dialog>
</div>
...
...
@@ -213,6 +533,7 @@ import {
getAbnormalList
,
deleteCost
,
deletebox
,
getPaymentId
,
}
from
"
@/api/ecw/box
"
;
import
{
getChannelList
}
from
"
@/api/ecw/channel
"
;
import
{
getCabinetPage
}
from
"
@/api/ecw/cabinet
"
;
...
...
@@ -231,6 +552,8 @@ import regError from "./regError.vue";
import
editForm
from
"
./editForm.vue
"
;
import
updateError
from
"
./updateError.vue
"
;
import
{
listUser
}
from
"
@/api/system/user
"
;
//lanbm 2024-05-16 add
import
{
getCurrencyList
}
from
"
@/api/ecw/currency
"
;
export
default
{
name
:
"
EcwBoxQuery
"
,
...
...
@@ -254,6 +577,11 @@ export default {
const
{
data
}
=
res
;
this
.
allUsers
=
data
.
list
??
[];
});
//lanbm 2024-05-16 add
/* 不用此方式
getCurrencyList().then((res) => {
this.currencyList = res.data ?? [];
});*/
},
data
()
{
return
{
...
...
@@ -299,27 +627,44 @@ export default {
costDetail
:
{},
// 下载
downloadList
:
[
{
title
:
this
.
$t
(
"
预装单
"
),
serviceName
:
"
downloadPreloadGoodsList
"
,
hasPermi
:
"
shipment:box:download:downloadPreloadGoodsList
"
},
{
title
:
this
.
$t
(
"
已装单
"
),
serviceName
:
"
downloadLoadGoodsList
"
,
hasPermi
:
"
shipment:box:download:downloadLoadGoodsList
"
},
{
title
:
this
.
$t
(
"
应收汇总表
"
),
serviceName
:
"
downloadReceivableList
"
,
hasPermi
:
"
shipment:box:download:downloadReceivableList
"
},
{
title
:
this
.
$t
(
"
预装单
"
),
serviceName
:
"
downloadPreloadGoodsList
"
,
hasPermi
:
"
shipment:box:download:downloadPreloadGoodsList
"
,
},
{
title
:
this
.
$t
(
"
已装单
"
),
serviceName
:
"
downloadLoadGoodsList
"
,
hasPermi
:
"
shipment:box:download:downloadLoadGoodsList
"
,
},
{
title
:
this
.
$t
(
"
应收汇总表
"
),
serviceName
:
"
downloadReceivableList
"
,
hasPermi
:
"
shipment:box:download:downloadReceivableList
"
,
},
{
title
:
this
.
$t
(
"
提货单
"
),
serviceName
:
"
zipDownload
"
,
fileFormat
:
"
zip
"
,
hasPermi
:
"
shipment:box:download:zipDownload
"
hasPermi
:
"
shipment:box:download:zipDownload
"
,
},
{
title
:
"
agent list
"
,
serviceName
:
"
downloadAgentListFiles
"
,
type
:
"
url
"
,
hasPermi
:
"
shipment:box:download:downloadAgentListFiles
"
hasPermi
:
"
shipment:box:download:downloadAgentListFiles
"
,
},
{
title
:
"
soncap
"
,
serviceName
:
"
downloadSoncapFiles
"
,
type
:
"
url
"
,
hasPermi
:
"
shipment:box:download:downloadSoncapFiles
"
,
},
{
title
:
"
soncap
"
,
serviceName
:
"
downloadSoncapFiles
"
,
type
:
"
url
"
,
hasPermi
:
"
shipment:box:download:downloadSoncapFiles
"
},
{
title
:
this
.
$t
(
"
提单Copy
"
),
serviceName
:
"
downloadLadingCopy
"
,
type
:
"
url
"
,
hasPermi
:
"
shipment:box:download:downloadLadingCopy
"
hasPermi
:
"
shipment:box:download:downloadLadingCopy
"
,
},
],
// 选中行
...
...
@@ -330,9 +675,19 @@ export default {
errorType
:
""
,
operate
:
""
,
},
//币种信息 lanbm 2024-05-16 add
currencyList
:
[],
};
},
methods
:
{
paymentDetail
(
row
)
{
//lanbm 2024-05-16跳转到付款单详情页面
const
id
=
row
.
payableId
;
getPaymentId
(
id
).
then
((
r
)
=>
{
let
sId
=
r
.
data
;
this
.
$router
.
push
(
"
/financial/paymentDetail?id=
"
+
sId
);
});
},
selectable
(
row
,
index
)
{
if
(
row
.
abnormalDealStatus
===
1
)
return
false
;
return
true
;
...
...
@@ -442,6 +797,7 @@ export default {
},
// 获取费用
getCost
()
{
//lanbm 2024-05-16 添加注释
getCostList
({
shipmentId
:
this
.
shipmentId
}).
then
((
res
)
=>
{
this
.
costList
=
res
.
data
;
});
...
...
@@ -574,11 +930,14 @@ export default {
fileFormat ?? "xlsx"
);
}
this.$message.success(this.$t(
'已加入导出队列,请稍后在下载日志中下载'))
this.$message.success(this.$t(
"已加入导出队列,请稍后在下载日志中下载"));
},
handleApproval(id) {
this.$router.push({path: '/bpm/process-instance/detail', query: {id: id}})
}
this.$router.push({
path: "/bpm/process-instance/detail",
query: { id: id },
});
},
},
computed: {
visitedViews() {
...
...
@@ -643,10 +1002,12 @@ export default {
}
},
// 异常登记和费用登记用到的标识
flag(){
flag()
{
// 地址中有seaAir则表示海空联运,否则就是海运
return this.$route.fullPath.toLowerCase().indexOf('seaair') > -1 ? 'seaAir' : 'air'
}
return this.$route.fullPath.toLowerCase().indexOf("seaair") > -1
? "seaAir"
: "air";
},
},
};
</
script
>
...
...
src/views/ecw/box/queryAir.vue
View file @
17b1deec
...
...
@@ -140,12 +140,30 @@
</
template
>
</el-table-column>
<el-table-column
prop=
"price"
:label=
"$t('金额')"
align=
"center"
></el-table-column>
<!--lanbm 2024-05-16 修改-->
<el-table-column
prop=
"priceUnitName"
:label=
"$t('币种')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"payPrice"
:label=
"$t('实付金额')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"payPriceBz"
:label=
"$t('实付币种')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"payTime"
:label=
"$t('实付日期')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.payTime"
>
{{
formatDate
(
scope
.
row
.
payTime
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"payableNo"
:label=
"$t('付款单号')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span
style=
"color: #1890ff"
@
click=
"paymentDetail(scope.row)"
>
{{
scope
.
row
.
payableNo
}}
</span
>
</
template
>
</el-table-column>
<el-table-column
prop=
"creator"
:label=
"$t('创建人')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"createTime"
:label=
"$t('创建日期')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"updater"
:label=
"$t('修改人')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"updateTime"
:label=
"$t('修改日期')"
align=
"center"
></el-table-column>
<!--添加备注信息列 lanbm 2024-05-16 add-->
<el-table-column
prop=
"remarks"
:label=
"$t('备注')"
align=
"center"
></el-table-column>
<el-table-column
:label=
"$t('操作')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"editCostClick(scope.row)"
style=
"marginRight:10px;"
v-hasPermi=
"['ecw:box-cost:update']"
>
{{
$t
(
'
编辑
'
)
}}
</el-button>
...
...
@@ -228,7 +246,7 @@ import {
getCostList
,
getAbnormalList
,
deleteCost
,
deletebox
,
deletebox
,
getPaymentId
}
from
"
@/api/ecw/box
"
;
import
{
getChannelList
}
from
"
@/api/ecw/channel
"
;
import
{
getCabinetPage
}
from
"
@/api/ecw/cabinet
"
;
...
...
@@ -368,6 +386,14 @@ export default {
};
},
methods
:
{
paymentDetail
(
row
)
{
//lanbm 2024-05-16跳转到付款单详情页面
const
id
=
row
.
payableId
;
getPaymentId
(
id
).
then
((
r
)
=>
{
let
sId
=
r
.
data
;
this
.
$router
.
push
(
"
/financial/paymentDetail?id=
"
+
sId
);
});
},
getregprocess
(
val
)
{
var
data
=
''
switch
(
val
){
...
...
@@ -535,6 +561,7 @@ export default {
},
// 获取费用
getCost
()
{
//空运费用 lanbm 2024-05-16
getCostList
({
shipmentId
:
this
.
shipmentId
}).
then
((
res
)
=>
{
this
.
costList
=
res
.
data
;
});
...
...
src/views/ecw/financial/voucher.vue
View file @
17b1deec
<
template
>
<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-form
...
...
@@ -74,48 +74,87 @@
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"handleQuery"
>
{{
$t
(
'
查找
'
)
}}
</el-button>
<el-button
type=
"primary"
@
click=
"handleQuery"
>
{{
$t
(
"
查找
"
)
}}
</el-button>
<el-button
type=
"primary"
@
click=
"handleQuery2"
>
{{
$t
(
"
批量反审核
"
)
}}
</el-button>
<el-button
type=
"primary"
@
click=
"handleQuery3"
>
{{
$t
(
"
批量反核销
"
)
}}
</el-button>
<el-button
type=
"primary"
@
click=
"handleQuery3"
>
{{
$t
(
"
批量核销
"
)
}}
</el-button>
</el-form-item>
</el-row>
</el-form>
</el-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"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('收款单号')"
align=
"center"
prop=
"receiptNo"
/>
<el-table-column
:label=
"$t('收款单号')"
align=
"center"
prop=
"receiptNo"
/>
<!-- <template slot-scope="scope"> -->
<!-- <span style="color: #1890ff;" @click="verificationCancelClick(scope.row)">{{scope.row.receiptNo}}</span> -->
<!-- </template> -->
<!-- </el-table-column> -->
<el-table-column
:label=
"$t('客户名称')"
align=
"center"
prop=
"customerName"
/>
<el-table-column
:label=
"$t('客户名称')"
align=
"center"
prop=
"customerName"
/>
<el-table-column
:label=
"$t('创建日期')"
align=
"center"
prop=
"createTime"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
,
'
{y
}
-{m
}
-{d
}
'
)
}}
<
/span
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
,
"
{y
}
-{m
}
-{d
}
"
)
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('实收日期')
"
align
=
"
center
"
prop
=
"
payedAt
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
span
>
{{
parseTime
(
scope
.
row
.
payedAt
,
'
{y
}
-{m
}
-{d
}
'
)
}}
<
/span
>
<
span
>
{{
parseTime
(
scope
.
row
.
payedAt
,
"
{y
}
-{m
}
-{d
}
"
)
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('业务员')
"
align
=
"
center
"
prop
=
"
salesmanName
"
/>
<
el
-
table
-
column
:
label
=
"
$t('业务员')
"
align
=
"
center
"
prop
=
"
salesmanName
"
/>
<
el
-
table
-
column
:
label
=
"
$t('状态')
"
align
=
"
center
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_RECEIPT_STATE
"
:
value
=
"
scope.row.state
"
/>
<
span
v
-
if
=
"
scope.row.remark&&(scope.row.state==1 || scope.row.state ==3 || scope.row.state==8)
"
:
title
=
"
scope.row.remark
"
><
i
class
=
"
el-icon-question
"
><
/i></
span
>
<
span
v
-
if
=
"
scope.row.remark &&
(scope.row.state == 1 ||
scope.row.state == 3 ||
scope.row.state == 8)
"
:
title
=
"
scope.row.remark
"
><
i
class
=
"
el-icon-question
"
><
/
i
><
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('是否开票')
"
align
=
"
center
"
>
<
template
slot
-
scope
=
"
scope
"
>
{{
scope
.
row
.
openInvoice
===
0
?
$t
(
'
否
'
)
:
$t
(
'
是
'
)
}}
{{
scope
.
row
.
openInvoice
===
0
?
$t
(
"
否
"
)
:
$t
(
"
是
"
)
}}
<
/template
>
<
/el-table-column
>
<!--
lanbm
2024
-
05
-
14
add
-->
<
el
-
table
-
column
:
label
=
"
$t('明细状态')
"
align
=
"
center
"
prop
=
"
mxStatus
"
/>
<
el
-
table
-
column
:
label
=
"
$t('操作')
"
align
=
"
center
"
...
...
@@ -127,14 +166,15 @@
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:voucher:see']
"
@
click
=
"
verificationCancelClick(scope.row)
"
>
{{
$t
(
'
查看
'
)
}}
<
/el-button
>
>
{{
$t
(
"
查看
"
)
}}
<
/el-butto
n
>
<
el
-
button
v
-
if
=
"
scope.row.state === 0
"
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:voucher:edit']
"
@
click
=
"
handleAdd(scope.row.id)
"
>
{{
$t
(
'
编辑
'
)
}}
<
/el-butto
n
>
{{
$t
(
"
编辑
"
)
}}
<
/el-butto
n
>
<!--
<
el
-
button
v
-
if
=
"
scope.row.state ==
"
...
...
@@ -144,60 +184,71 @@
>
{{
$t
(
'
核销
'
)
}}
<
/el-butto
n
>
-->
<
el
-
button
v
-
if
=
"
scope.row.state == 4 || scope.row.state == 5 || scope.row.state == 6
"
v
-
if
=
"
scope.row.state == 4 ||
scope.row.state == 5 ||
scope.row.state == 6
"
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:voucher:cancelWriteOff']
"
@
click
=
"
writeOffShow(2,scope.$index)
"
>
{{
$t
(
'
反核销
'
)
}}
<
/el-butto
n
@
click
=
"
writeOffShow(2,
scope.$index)
"
>
{{
$t
(
"
反核销
"
)
}}
<
/el-butto
n
>
<
el
-
button
v
-
if
=
"
scope.row.state == 1
"
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:voucher:deApproval']
"
@
click
=
"
writeOffShow(1,scope.$index)
"
>
{{
$t
(
'
反审核
'
)
}}
<
/el-butto
n
@
click
=
"
writeOffShow(1,
scope.$index)
"
>
{{
$t
(
"
反审核
"
)
}}
<
/el-butto
n
>
<
el
-
button
v
-
if
=
"
scope.row.state == 7
"
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:vocher:cancelAppoval']
"
@
click
=
"
cancelClick(scope.$index,1)
"
>
{{
$t
(
'
取消审核
'
)
}}
<
/el-butto
n
@
click
=
"
cancelClick(scope.$index,
1)
"
>
{{
$t
(
"
取消审核
"
)
}}
<
/el-butto
n
>
<
el
-
button
v
-
if
=
"
scope.row.state == 11
"
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:vocher:cancelWriteOfflNo']
"
@
click
=
"
cancelClick(scope.$index,3)
"
>
{{
$t
(
'
取消反核销审核
'
)
}}
<
/el-butto
n
@
click
=
"
cancelClick(scope.$index,
3)
"
>
{{
$t
(
"
取消反核销审核
"
)
}}
<
/el-butto
n
>
<
el
-
button
v
-
if
=
"
scope.row.state == 10
"
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:vocher:cancelWriteOffAll']
"
@
click
=
"
cancelClick(scope.$index,4)
"
>
{{
$t
(
'
取消全部核销审核
'
)
}}
<
/el-butto
n
@
click
=
"
cancelClick(scope.$index,
4)
"
>
{{
$t
(
"
取消全部核销审核
"
)
}}
<
/el-butto
n
>
<
el
-
button
v
-
if
=
"
scope.row.state == 9
"
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:vocher:cancelAppovalNo']
"
@
click
=
"
cancelClick(scope.$index,2)
"
>
{{
$t
(
'
取消反审核
'
)
}}
<
/el-butto
n
@
click
=
"
cancelClick(scope.$index,
2)
"
>
{{
$t
(
"
取消反审核
"
)
}}
<
/el-butto
n
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
v
-
if
=
"
scope.row.state == 9 || scope.row.state == 7 || scope.row.state == 11|| scope.row.state == 10
"
v
-
if
=
"
scope.row.state == 9 ||
scope.row.state == 7 ||
scope.row.state == 11 ||
scope.row.state == 10
"
v
-
hasPermi
=
"
['ecw:voucher:cancelWriteOff']
"
@
click
=
"
$router.push(`/bpm/process-instance/detail?id=`+scope.row.bmpId)
"
>
{{
$t
(
'
审核详情
'
)
}}
<
/el-butto
n
@
click
=
"
$router.push(`/bpm/process-instance/detail?id=` + scope.row.bmpId)
"
>
{{
$t
(
"
审核详情
"
)
}}
<
/el-butto
n
>
<
el
-
button
v
-
if
=
"
scope.row.state == 5
"
...
...
@@ -205,25 +256,55 @@
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:voucher:ballot']
"
@
click
=
"
openInvoice(scope.row.id)
"
>
{{
$t
(
'
开票
'
)
}}
<
/el-butto
n
>
{{
$t
(
"
开票
"
)
}}
<
/el-butto
n
>
<
el
-
button
v
-
if
=
"
scope.row.state == 1 ||
scope.row.state == 2 ||
scope.row.state == 3
"
v
-
hasPermi
=
"
['ecw:voucher:payment']
"
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
verificationCancelClick(scope.row)
"
>
{{
$t
(
"
收款
"
)
}}
<
/el-butto
n
>
<
el
-
button
v
-
if
=
"
scope.row.state == 1 || scope.row.state == 2 || scope.row.state == 3
"
v
-
hasPermi
=
"
['ecw:voucher:payment']
"
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
verificationCancelClick(scope.row)
"
>
{{
$t
(
'
收款
'
)
}}
<
/el-button
>
<
el
-
button
v
-
if
=
"
scope.row.state == 0
"
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:voucher:delete']
"
@
click
=
"
deleteClick(scope.row)
"
>
{{
$t
(
'
删除
'
)
}}
<
/el-button
>
<
el
-
button
v
-
if
=
"
scope.row.state != 0 && scope.row.state != 7 && scope.row.state != 11 && scope.row.state != 8 && scope.row.state != 9
"
v
-
if
=
"
scope.row.state == 0
"
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:voucher:delete']
"
@
click
=
"
deleteClick(scope.row)
"
>
{{
$t
(
"
删除
"
)
}}
<
/el-butto
n
>
<
el
-
button
v
-
if
=
"
scope.row.state != 0 &&
scope.row.state != 7 &&
scope.row.state != 11 &&
scope.row.state != 8 &&
scope.row.state != 9
"
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
toprint(scope.row.id)
"
v
-
hasPermi
=
"
['ecw:voucher:print']
"
>
{{
$t
(
'
打印
'
)
}}
<
/el-butto
n
>
{{
$t
(
"
打印
"
)
}}
<
/el-butto
n
>
<
el
-
button
v
-
if
=
"
scope.row.state != 0 && scope.row.state != 7 && scope.row.state != 11 && scope.row.state != 8 && scope.row.state != 9
"
v
-
if
=
"
scope.row.state != 0 &&
scope.row.state != 7 &&
scope.row.state != 11 &&
scope.row.state != 8 &&
scope.row.state != 9
"
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:voucher:derive']
"
@
click
=
"
exportReceipt(scope.row.id)
"
>
{{
$t
(
'
导出账单
'
)
}}
<
/el-butto
n
>
{{
$t
(
"
导出账单
"
)
}}
<
/el-butto
n
>
<
/template
>
<
/el-table-column
>
...
...
@@ -249,7 +330,12 @@
<
i
class
=
"
el-icon-close
"
@
click
=
"
cancel
"
><
/i
>
<
/div> --
>
<
div
class
=
"
dialog-footer
"
>
<
el
-
button
type
=
"
primary
"
style
=
"
width: 130px
"
@
click
=
"
submitForm(1)
"
v
-
loading
=
"
downloading
"
>
{{
$t
(
'
国内账单
'
)
}}
<
/el-butto
n
<
el
-
button
type
=
"
primary
"
style
=
"
width: 130px
"
@
click
=
"
submitForm(1)
"
v
-
loading
=
"
downloading
"
>
{{
$t
(
"
国内账单
"
)
}}
<
/el-butto
n
>
<
el
-
button
plain
...
...
@@ -262,30 +348,47 @@
<
/div
>
<
/el-dialog
>
<
el
-
dialog
:
title
=
"
writeOffType==1?$t('收款单反审核'):
$t('收款单反核销')
"
:
title
=
"
writeOffType == 1 ? $t('收款单反审核') :
$t('收款单反核销')
"
:
visible
.
sync
=
"
dialogVisible
"
width
=
"
30%
"
>
width
=
"
30%
"
>
<
div
class
=
"
cancel_content
"
>
<
span
>
{{
$t
(
'
申请理由
'
)
}}
<
/span
>
<
el
-
input
type
=
"
textarea
"
:
rows
=
"
6
"
v
-
model
=
"
reason
"
:
placeholder
=
"
$t('请输入理由')
"
><
/el-input
>
<
span
>
{{
$t
(
"
申请理由
"
)
}}
<
/span
>
<
el
-
input
type
=
"
textarea
"
:
rows
=
"
6
"
v
-
model
=
"
reason
"
:
placeholder
=
"
$t('请输入理由')
"
><
/el-input
>
<
/div
>
<
span
slot
=
"
footer
"
class
=
"
dialog-footers
"
>
<
el
-
button
v
-
if
=
"
writeOffType==1
"
type
=
"
primary
"
@
click
=
"
writeOffClick()
"
>
{{
$t
(
'
提交反审核
'
)
}}
<
/el-button
>
<
el
-
button
v
-
else
type
=
"
primary
"
@
click
=
"
writeOffClick()
"
>
{{
$t
(
'
提交反核销
'
)
}}
<
/el-button
>
<
el
-
button
@
click
=
"
dialogVisible = false
"
>
{{
$t
(
'
取消
'
)
}}
<
/el-button
>
<
el
-
button
v
-
if
=
"
writeOffType == 1
"
type
=
"
primary
"
@
click
=
"
writeOffClick()
"
>
{{
$t
(
"
提交反审核
"
)
}}
<
/el-butto
n
>
<
el
-
button
v
-
else
type
=
"
primary
"
@
click
=
"
writeOffClick()
"
>
{{
$t
(
"
提交反核销
"
)
}}
<
/el-button
>
<
el
-
button
@
click
=
"
dialogVisible = false
"
>
{{
$t
(
"
取消
"
)
}}
<
/el-button
>
<
/span
>
<
/el-dialog
>
<
el
-
dialog
:
title
=
"
cancelTitle
"
:
visible
.
sync
=
"
cancelShow
"
width
=
"
30%
"
>
<
el
-
dialog
:
title
=
"
cancelTitle
"
:
visible
.
sync
=
"
cancelShow
"
width
=
"
30%
"
>
<
div
class
=
"
cancel_content
"
>
<
span
>
{{
$t
(
'
申请理由
'
)
}}
<
/span
>
<
el
-
input
type
=
"
textarea
"
:
rows
=
"
6
"
v
-
model
=
"
cancelReason
"
:
placeholder
=
"
$t('请输入取消理由')
"
><
/el-input
>
<
span
>
{{
$t
(
"
申请理由
"
)
}}
<
/span
>
<
el
-
input
type
=
"
textarea
"
:
rows
=
"
6
"
v
-
model
=
"
cancelReason
"
:
placeholder
=
"
$t('请输入取消理由')
"
><
/el-input
>
<
/div
>
<
span
slot
=
"
footer
"
class
=
"
dialog-footers
"
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
cancelWriteOffClick()
"
>
{{
$t
(
'
提交
'
)
}}
<
/el-button
>
<
el
-
button
@
click
=
"
cancelShow = false
"
>
{{
$t
(
'
取消
'
)
}}
<
/el-button
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
cancelWriteOffClick()
"
>
{{
$t
(
"
提交
"
)
}}
<
/el-button
>
<
el
-
button
@
click
=
"
cancelShow = false
"
>
{{
$t
(
"
取消
"
)
}}
<
/el-button
>
<
/span
>
<
/el-dialog
>
<
/div
>
...
...
@@ -306,7 +409,7 @@ import {
cancelFinanceReceiptApproval
,
cancelFinanceReceiptApprovalNo
,
cancelFinanceReceiptWriteOffNo
,
cancelFinanceReceiptWriteOff
cancelFinanceReceiptWriteOff
,
}
from
"
@/api/ecw/financial
"
;
export
default
{
...
...
@@ -326,9 +429,7 @@ export default {
total
:
0
,
dateType
:
[],
loading
:
""
,
params
:
{
}
,
params
:
{
}
,
// 查询参数
queryParams
:
{
page
:
1
,
...
...
@@ -348,20 +449,20 @@ export default {
productRecord
:
null
,
followUpSalesmanId
:
null
,
}
,
dateFilter
:[],
dateFilter
:
[],
downloading
:
false
,
// 导出状态
dialogVisible
:
false
,
reason
:
''
,
writeOffType
:
1
,
writeOffIndex
:
0
,
cancelShow
:
false
,
cancelTitle
:
''
,
cancelReason
:
''
,
cancelIndex
:
0
,
selectIndex
:
0
dialogVisible
:
false
,
reason
:
""
,
writeOffType
:
1
,
writeOffIndex
:
0
,
cancelShow
:
false
,
cancelTitle
:
""
,
cancelReason
:
""
,
cancelIndex
:
0
,
selectIndex
:
0
,
}
;
}
,
activated
(){
activated
()
{
this
.
getList
();
}
,
created
()
{
...
...
@@ -373,13 +474,13 @@ export default {
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
this
.
params
=
{
}
for
(
var
key
in
this
.
queryParams
)
{
if
(
this
.
queryParams
[
key
])
{
this
.
params
[
key
]
=
this
.
queryParams
[
key
]
this
.
params
=
{
}
;
for
(
var
key
in
this
.
queryParams
)
{
if
(
this
.
queryParams
[
key
])
{
this
.
params
[
key
]
=
this
.
queryParams
[
key
];
}
}
console
.
log
(
this
.
params
)
console
.
log
(
this
.
params
)
;
// 处理查询参数
let
params
=
{
...
this
.
params
}
;
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeCreateTime
,
"
createTime
"
);
...
...
@@ -390,8 +491,8 @@ export default {
this
.
loading
=
false
;
}
);
}
,
changeCustomerId
(
e
){
this
.
$set
(
this
.
queryParams
,
'
customerId
'
,
e
.
id
)
changeCustomerId
(
e
)
{
this
.
$set
(
this
.
queryParams
,
"
customerId
"
,
e
.
id
);
}
,
verificationClick
(
row
)
{
const
id
=
row
.
id
;
...
...
@@ -422,114 +523,141 @@ export default {
// .catch(() =>
{
}
);
}
,
//显示取消审核弹窗
cancelClick
(
index
,
type
)
{
this
.
selectIndex
=
index
this
.
cancelIndex
=
type
this
.
cancelReason
=
''
if
(
this
.
cancelIndex
==
1
)
{
this
.
cancelTitle
=
this
.
$t
(
'
取消审核
'
)
}
else
if
(
this
.
cancelIndex
==
2
)
{
this
.
cancelTitle
=
this
.
$t
(
'
取消反审核
'
)
}
else
if
(
this
.
cancelIndex
==
3
)
{
this
.
cancelTitle
=
this
.
$t
(
'
取消反核销审核
'
)
}
else
{
this
.
cancelTitle
=
this
.
$t
(
'
取消全部核销审核
'
)
cancelClick
(
index
,
type
)
{
this
.
selectIndex
=
index
;
this
.
cancelIndex
=
type
;
this
.
cancelReason
=
""
;
if
(
this
.
cancelIndex
==
1
)
{
this
.
cancelTitle
=
this
.
$t
(
"
取消审核
"
);
}
else
if
(
this
.
cancelIndex
==
2
)
{
this
.
cancelTitle
=
this
.
$t
(
"
取消反审核
"
);
}
else
if
(
this
.
cancelIndex
==
3
)
{
this
.
cancelTitle
=
this
.
$t
(
"
取消反核销审核
"
);
}
else
{
this
.
cancelTitle
=
this
.
$t
(
"
取消全部核销审核
"
);
}
this
.
cancelShow
=
true
this
.
cancelShow
=
true
;
}
,
//取消审核
cancelWriteOffClick
(){
if
(
!
this
.
cancelReason
)
{
this
.
$modal
.
msgError
(
this
.
$t
(
'
请输入申请理由
'
));
return
cancelWriteOffClick
()
{
if
(
!
this
.
cancelReason
)
{
this
.
$modal
.
msgError
(
this
.
$t
(
"
请输入申请理由
"
));
return
;
}
var
receiptId
=
this
.
list
[
this
.
selectIndex
].
id
if
(
this
.
cancelIndex
==
1
){
cancelFinanceReceiptApproval
({
receiptId
:
receiptId
,
remark
:
this
.
cancelReason
}
).
then
(
res
=>
{
this
.
cancelShow
=
false
var
receiptId
=
this
.
list
[
this
.
selectIndex
].
id
;
if
(
this
.
cancelIndex
==
1
)
{
cancelFinanceReceiptApproval
({
receiptId
:
receiptId
,
remark
:
this
.
cancelReason
,
}
).
then
((
res
)
=>
{
this
.
cancelShow
=
false
;
this
.
getList
();
this
.
$message
.
success
(
this
.
$t
(
"
提交成功
"
));
}
);
}
else
if
(
this
.
cancelIndex
==
2
){
cancelFinanceReceiptApprovalNo
({
receiptId
:
receiptId
,
remark
:
this
.
cancelReason
}
).
then
(
res
=>
{
this
.
cancelShow
=
false
}
else
if
(
this
.
cancelIndex
==
2
)
{
cancelFinanceReceiptApprovalNo
({
receiptId
:
receiptId
,
remark
:
this
.
cancelReason
,
}
).
then
((
res
)
=>
{
this
.
cancelShow
=
false
;
this
.
getList
();
this
.
$message
.
success
(
this
.
$t
(
"
提交成功
"
));
}
);
}
else
if
(
this
.
cancelIndex
==
3
){
cancelFinanceReceiptWriteOffNo
({
receiptId
:
receiptId
,
remark
:
this
.
cancelReason
}
).
then
(
res
=>
{
this
.
cancelShow
=
false
}
else
if
(
this
.
cancelIndex
==
3
)
{
cancelFinanceReceiptWriteOffNo
({
receiptId
:
receiptId
,
remark
:
this
.
cancelReason
,
}
).
then
((
res
)
=>
{
this
.
cancelShow
=
false
;
this
.
getList
();
this
.
$message
.
success
(
this
.
$t
(
"
提交成功
"
));
}
);
}
else
{
cancelFinanceReceiptWriteOff
({
receiptId
:
receiptId
,
remark
:
this
.
cancelReason
}
).
then
(
res
=>
{
this
.
cancelShow
=
false
}
else
{
cancelFinanceReceiptWriteOff
({
receiptId
:
receiptId
,
remark
:
this
.
cancelReason
,
}
).
then
((
res
)
=>
{
this
.
cancelShow
=
false
;
this
.
getList
();
this
.
$message
.
success
(
this
.
$t
(
"
提交成功
"
));
}
);
}
}
,
writeOffClick
(){
if
(
!
this
.
reason
)
{
this
.
$modal
.
msgError
(
this
.
$t
(
'
请输入申请理由
'
));
return
writeOffClick
()
{
if
(
!
this
.
reason
)
{
this
.
$modal
.
msgError
(
this
.
$t
(
"
请输入申请理由
"
));
return
;
}
const
receiptIdData
=
this
.
list
[
this
.
writeOffIndex
]
if
(
this
.
writeOffType
==
1
)
{
const
receiptIdData
=
this
.
list
[
this
.
writeOffIndex
]
;
if
(
this
.
writeOffType
==
1
)
{
// this.$alert()
// .confirm(this.$t('您确认要反审核吗')+'?')
// .then(()=>
{
financeApproveNo
({
receiptId
:
receiptIdData
.
id
,
receiptNo
:
receiptIdData
.
receiptNo
,
remark
:
this
.
reason
}
).
then
(
res
=>
{
financeApproveNo
({
receiptId
:
receiptIdData
.
id
,
receiptNo
:
receiptIdData
.
receiptNo
,
remark
:
this
.
reason
,
}
).
then
((
res
)
=>
{
this
.
getList
();
this
.
$message
.
success
(
this
.
$t
(
"
提交成功
"
));
this
.
dialogVisible
=
false
this
.
dialogVisible
=
false
;
// this.$store.dispatch('tagsView/delCurrentView')
}
);
//
}
)
// .catch(() =>
{
this
.
dialogVisible
=
false
}
);
}
else
{
}
else
{
// this.$modal
// .confirm(this.$t('您确认要反核销吗')+'?')
// .then(()=>
{
financeReceiptWriteOffNo
({
receiptId
:
receiptIdData
.
id
,
receiptNo
:
receiptIdData
.
receiptNo
,
remark
:
this
.
reason
}
).
then
(
res
=>
{
financeReceiptWriteOffNo
({
receiptId
:
receiptIdData
.
id
,
receiptNo
:
receiptIdData
.
receiptNo
,
remark
:
this
.
reason
,
}
).
then
((
res
)
=>
{
this
.
getList
();
this
.
$message
.
success
(
this
.
$t
(
"
提交成功
"
));
this
.
dialogVisible
=
false
this
.
dialogVisible
=
false
;
// this.$store.dispatch('tagsView/delCurrentView')
}
);
//
}
)
// .catch(() =>
{
this
.
dialogVisible
=
false
}
);
}
}
,
deleteClick
(
row
)
{
const
id
=
row
.
id
;
this
.
$modal
.
confirm
(
this
.
$t
(
'
是否确认删除该收款单
'
)
+
'
?
'
).
then
(
function
()
{
this
.
$modal
.
confirm
(
this
.
$t
(
"
是否确认删除该收款单
"
)
+
"
?
"
)
.
then
(
function
()
{
return
deleteReceipt
(
id
);
}
).
then
(()
=>
{
}
)
.
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
this
.
$t
(
'
删除成功
'
));
}
).
catch
(()
=>
{
}
);
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
删除成功
"
));
}
)
.
catch
(()
=>
{
}
);
}
,
/** 搜索按钮操作 */
handleQuery
()
{
if
(
this
.
dateFilter
&&
this
.
dateFilter
.
length
>
0
)
{
this
.
queryParams
.
beginCreateTime
=
this
.
dateFilter
[
0
]
this
.
queryParams
.
endCreateTime
=
this
.
dateFilter
[
1
]
}
else
{
this
.
queryParams
.
beginCreateTime
=
''
this
.
queryParams
.
endCreateTime
=
''
if
(
this
.
dateFilter
&&
this
.
dateFilter
.
length
>
0
)
{
this
.
queryParams
.
beginCreateTime
=
this
.
dateFilter
[
0
]
;
this
.
queryParams
.
endCreateTime
=
this
.
dateFilter
[
1
]
;
}
else
{
this
.
queryParams
.
beginCreateTime
=
""
;
this
.
queryParams
.
endCreateTime
=
""
;
}
this
.
queryParams
.
page
=
1
;
this
.
getList
();
}
,
handleQuery2
()
{
//批量反审核 lanbm 2024-05-14 add
}
,
handleQuery3
()
{
//批量反核销 lanbm 2024-05-14 add
}
,
handleQuery4
()
{
//批量核销 lanbm 2024-05-14 add
}
,
/** 新增按钮操作 */
handleAdd
(
id
)
{
return
this
.
$router
.
push
(
"
creatCollection?id=
"
+
id
);
...
...
@@ -545,19 +673,23 @@ export default {
this
.
exportId
=
id
;
}
,
//显示反审核反核销弹窗
writeOffShow
(
type
,
index
)
{
this
.
writeOffType
=
type
this
.
writeOffIndex
=
index
this
.
reason
=
''
this
.
dialogVisible
=
true
writeOffShow
(
type
,
index
)
{
this
.
writeOffType
=
type
;
this
.
writeOffIndex
=
index
;
this
.
reason
=
""
;
this
.
dialogVisible
=
true
;
}
,
submitForm
(
type
)
{
this
.
downloading
=
true
receiptExportExcel
({
id
:
this
.
exportId
,
billType
:
type
}
).
then
((
response
)
=>
{
this
.
$download
.
excel
(
response
,
`${type === 1 ? this.$t('国内账单') : "Debite_note"
}
.xls`
);
this
.
downloading
=
true
;
receiptExportExcel
({
id
:
this
.
exportId
,
billType
:
type
}
)
.
then
((
response
)
=>
{
this
.
$download
.
excel
(
response
,
`${type === 1 ? this.$t("国内账单") : "Debite_note"
}
.xls`
);
this
.
open
=
false
;
}
).
finally
(()
=>
this
.
downloading
=
false
)
}
)
.
finally
(()
=>
(
this
.
downloading
=
false
));
}
,
/** 取消按钮 */
// cancel()
{
...
...
@@ -579,7 +711,7 @@ export default {
justify
-
content
:
space
-
between
;
height
:
160
px
;
}
.
dialog
-
footers
{
.
dialog
-
footers
{
display
:
flex
;
align
-
items
:
center
;
justify
-
content
:
space
-
between
;
...
...
@@ -588,13 +720,13 @@ export default {
font
-
size
:
18
px
;
font
-
weight
:
bold
;
}
.
cancel_content
{
.
cancel_content
{
display
:
flex
;
flex
-
direction
:
column
;
}
.
cancel_content
span
{
}
.
cancel_content
span
{
font
-
size
:
16
px
;
font
-
weight
:
600
;
margin
-
bottom
:
10
px
}
font
-
weight
:
600
;
margin
-
bottom
:
10
px
;
}
<
/style
>
src/views/member/user/memberDetails.vue
View file @
17b1deec
<
template
>
<div
style=
"padding: 20px"
>
<header
style=
"display: flex;justify-content: space-between;align-items: center;"
>
<h1
style=
"font-weight: 600;font-size: 20px"
>
{{
$t
(
'
会员详情
'
)
}}
</h1>
<header
style=
"display: flex; justify-content: space-between; align-items: center"
>
<h1
style=
"font-weight: 600; font-size: 20px"
>
{{
$t
(
"
会员详情
"
)
}}
</h1>
<div>
<el-button
type=
"primary"
v-has-permi=
"['member:certificate']"
@
click=
"guarantee(details)"
>
{{
$t
(
'
保函证书
'
)
}}
</el-button>
<el-button
type=
"primary"
v-has-permi=
"['member:log']"
@
click=
"operationLogFn(details)"
>
{{
$t
(
'
操作日志
'
)
}}
</el-button>
<el-button
type=
"primary"
v-has-permi=
"['member:id-card']"
@
click=
"identityFn(details , '1')"
>
{{
$t
(
'
身份证
'
)
}}
</el-button>
<el-button
type=
"primary"
v-has-permi=
"['member:business-license']"
@
click=
"identityFn(details, '2')"
>
{{
$t
(
'
营业执照
'
)
}}
</el-button>
<el-button
type=
"danger"
v-has-permi=
"['member:delete']"
@
click=
"deleteFn(details)"
>
{{
$t
(
'
删除
'
)
}}
</el-button>
<el-button
type=
"primary"
v-has-permi=
"['member:certificate']"
@
click=
"guarantee(details)"
>
{{
$t
(
"
保函证书
"
)
}}
</el-button
>
<el-button
type=
"primary"
v-has-permi=
"['member:log']"
@
click=
"operationLogFn(details)"
>
{{
$t
(
"
操作日志
"
)
}}
</el-button
>
<el-button
type=
"primary"
v-has-permi=
"['member:id-card']"
@
click=
"identityFn(details, '1')"
>
{{
$t
(
"
身份证
"
)
}}
</el-button
>
<el-button
type=
"primary"
v-has-permi=
"['member:business-license']"
@
click=
"identityFn(details, '2')"
>
{{
$t
(
"
营业执照
"
)
}}
</el-button
>
<el-button
type=
"danger"
v-has-permi=
"['member:delete']"
@
click=
"deleteFn(details)"
>
{{
$t
(
"
删除
"
)
}}
</el-button
>
</div>
</header>
<el-descriptions
:title=
"$t('公司信息')"
:column=
"4"
border
>
<el-descriptions-item
:label=
"$t('会员编号')"
>
{{
details
.
id
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('会员昵称')"
>
{{
details
.
nickname
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('英文名称')"
>
{{
details
.
englishName
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('真实姓名')"
>
{{
details
.
identityName
||
'
-
'
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('联系方式')"
><span
style=
"margin-right: 10px;"
>
+
{{
details
.
areaCode
}}
</span><span>
{{
details
.
mobile
}}
</span>
<!--lanbm 2024-05-15 修改信息显示BUG-->
<el-descriptions
:title=
"$t('基础信息')"
:column=
"4"
border
>
<el-descriptions-item
:label=
"$t('会员编号')"
>
{{
details
.
id
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('会员昵称')"
>
{{
details
.
nickname
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('英文名称')"
>
{{
details
.
englishName
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('真实姓名')"
>
{{
details
.
identityName
||
"
-
"
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('联系方式')"
><span
style=
"margin-right: 10px"
>
+
{{
details
.
areaCode
}}
</span
><span>
{{
details
.
mobile
}}
</span>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('绑定邮箱')"
>
{{
details
.
email
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('生日')"
>
{{
details
.
birthday
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('性别')"
>
{{
details
.
gender
===
0
?
'
女
'
:
details
.
gender
===
1
?
'
男
'
:
'
保密
'
<el-descriptions-item
:label=
"$t('绑定邮箱')"
>
{{
details
.
email
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('生日')"
>
{{
details
.
birthday
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('性别')"
>
{{
details
.
gender
===
0
?
"
女
"
:
details
.
gender
===
1
?
"
男
"
:
"
保密
"
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('地址')"
>
{{
details
.
address
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('部门')"
>
{{
details
.
department
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('职位')"
>
{{
details
.
jobPosition
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('创建时间')"
>
{{
details
.
createTime
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('上次登录')"
>
{{
details
.
loginDate
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('地址')"
>
{{
details
.
address
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('部门')"
>
{{
details
.
department
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('职位')"
>
{{
details
.
jobPosition
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('创建时间')"
>
{{
details
.
createTime
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('上次登录')"
>
{{
details
.
loginDate
}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions
style=
"margin-top: 20px"
:title=
"$t('基础信息')"
:column=
"4"
border
>
<el-descriptions-item
:label=
"$t('公司名称')"
>
{{
details
.
enterpriseName
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('公司英文名称')"
>
{{
details
.
enterpriseNameEn
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('档口')"
>
{{
details
.
enterpriseStall
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('品牌')"
>
{{
details
.
enterpriseBrand
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('公司地址')"
>
{{
details
.
enterpriseAddress
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('公司简介')"
>
{{
details
.
enterpriseDesc
}}
</el-descriptions-item>
<!--lanbm 2024-05-15 修改信息显示BUG-->
<el-descriptions
style=
"margin-top: 20px"
:title=
"$t('公司信息')"
:column=
"4"
border
>
<el-descriptions-item
:label=
"$t('公司名称')"
>
{{
details
.
enterpriseName
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('公司英文名称')"
>
{{
details
.
enterpriseNameEn
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('档口')"
>
{{
details
.
enterpriseStall
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('品牌')"
>
{{
details
.
enterpriseBrand
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('公司地址')"
>
{{
details
.
enterpriseAddress
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('公司简介')"
>
{{
details
.
enterpriseDesc
}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions
style=
"margin-top: 20px"
:title=
"$t('认证信息')"
:column=
"4"
border
>
<el-descriptions-item
:label=
"$t('成交')"
>
{{
details
.
customerStatus
===
3
?
'
成交
'
:
'
未成交
'
}}
</el-descriptions-item>
<el-descriptions
style=
"margin-top: 20px"
:title=
"$t('认证信息')"
:column=
"4"
border
>
<el-descriptions-item
:label=
"$t('成交')"
>
{{
details
.
customerStatus
===
3
?
"
成交
"
:
"
未成交
"
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('认证')"
>
<span
v-if=
"details.identityAuditStatus === 2 && details.enterpriseAuditStatus === 2"
>
{{
$t
(
'
双认证
'
)
}}
</span>
<span
v-else-if=
"details.identityAuditStatus === 2 && details.enterpriseAuditStatus !== 2 "
>
{{
$t
(
'
身份证
'
)
}}
</span>
<span
v-else-if=
"details.identityAuditStatus !== 2 && details.enterpriseAuditStatus === 2 "
>
{{
$t
(
'
企业
'
)
}}
</span>
<span
v-else-if=
"details.identityAuditStatus !== 2 && details.enterpriseAuditStatus !== 2 "
>
{{
$t
(
'
否
'
)
}}
</span>
<span
v-if=
"
details.identityAuditStatus === 2 &&
details.enterpriseAuditStatus === 2
"
>
{{
$t
(
"
双认证
"
)
}}
</span
>
<span
v-else-if=
"
details.identityAuditStatus === 2 &&
details.enterpriseAuditStatus !== 2
"
>
{{
$t
(
"
身份证
"
)
}}
</span
>
<span
v-else-if=
"
details.identityAuditStatus !== 2 &&
details.enterpriseAuditStatus === 2
"
>
{{
$t
(
"
企业
"
)
}}
</span
>
<span
v-else-if=
"
details.identityAuditStatus !== 2 &&
details.enterpriseAuditStatus !== 2
"
>
{{
$t
(
"
否
"
)
}}
</span
>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('身份证认证状态')"
>
{{
details
.
identityAuditStatus
!==
null
?
$l
(
getDictDatas
(
this
.
DICT_TYPE
.
AUDIT_STATUS
).
find
(
i
=>
i
.
value
==
details
.
identityAuditStatus
),
'
label
'
)
:
''
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('身份证认证状态')"
>
{{
details
.
enterpriseAuditStatus
!==
null
?
$l
(
getDictDatas
(
this
.
DICT_TYPE
.
AUDIT_STATUS
).
find
(
i
=>
i
.
value
==
details
.
enterpriseAuditStatus
),
'
label
'
)
:
''
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('身份证认证状态')"
>
{{
details
.
identityAuditStatus
!==
null
?
$l
(
getDictDatas
(
this
.
DICT_TYPE
.
AUDIT_STATUS
).
find
(
(
i
)
=>
i
.
value
==
details
.
identityAuditStatus
),
"
label
"
)
:
""
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('营业执照认证状态')"
>
{{
details
.
enterpriseAuditStatus
!==
null
?
$l
(
getDictDatas
(
this
.
DICT_TYPE
.
AUDIT_STATUS
).
find
(
(
i
)
=>
i
.
value
==
details
.
enterpriseAuditStatus
),
"
label
"
)
:
""
}}
</el-descriptions-item>
</el-descriptions>
<el-dialog
title=
"保函/证书"
:visible.sync=
"guaranteeShow"
:before-close=
"()=>
{guaranteeUrl = ''; guaranteeShow = false;}"
width="50%">
:before-close=
"
() =>
{
guaranteeUrl = '';
guaranteeShow = false;
}
"
width="50%"
>
<el-form>
<el-form-item
:label=
"$t('保函/证书')"
>
<el-row
:gutter=
"20"
type=
"flex"
justify=
"center"
>
...
...
@@ -62,30 +186,38 @@
<el-input
v-model=
"guaranteeUrl"
></el-input>
</el-col>
<el-col
:span=
"4"
>
<div
style=
"height: 45px;overflow: hidden;"
>
<file-upload
v-model=
"guaranteeUrl"
:fileType=
"['png', 'jpg', 'jpeg','pdf']"
:limit=
"1"
:isShowTip=
"false"
></file-upload>
<div
style=
"height: 45px; overflow: hidden"
>
<file-upload
v-model=
"guaranteeUrl"
:fileType=
"['png', 'jpg', 'jpeg', 'pdf']"
:limit=
"1"
:isShowTip=
"false"
></file-upload>
</div>
</el-col>
<el-col
:span=
"6"
>
<div>
{{
$t
(
'
可上传图片,pdf文档
'
)
}}
</div>
<div>
{{
$t
(
"
可上传图片,pdf文档
"
)
}}
</div>
</el-col>
</el-row>
</el-form-item>
</el-form>
<div
style=
"text-align: center
;
"
>
<el-button
@
click=
"setGuarantee"
>
{{
$t
(
'
保 存
'
)
}}
</el-button>
<div
style=
"text-align: center"
>
<el-button
@
click=
"setGuarantee"
>
{{
$t
(
"
保 存
"
)
}}
</el-button>
</div>
</el-dialog>
<el-dialog
:title=
"$t('操作日志')"
:visible.sync=
"operationLogShow"
width=
"50%"
>
width=
"50%"
>
<el-table
:data=
"operationLogList"
>
<el-table-column
:label=
"$t('标题')"
prop=
"title"
></el-table-column>
<el-table-column
:label=
"$t('操作内容')"
prop=
"content"
></el-table-column>
<el-table-column
:label=
"$t('操作内容')"
prop=
"content"
></el-table-column>
<el-table-column
:label=
"$t('操作人')"
prop=
"userId"
>
<template
v-slot=
"
{
row
}">
<template
v-slot=
"
{
row
}">
{{
details
.
identityName
}}
</
template
>
</el-table-column>
...
...
@@ -96,75 +228,154 @@
</el-table-column>
<el-table-column
:label=
"$t('操作ip')"
prop=
"ip"
></el-table-column>
</el-table>
<pagination
v-show=
"totalLog > 0"
:total=
"totalLog"
:page.sync=
"operationLogFrom.page"
<pagination
v-show=
"totalLog > 0"
:total=
"totalLog"
:page.sync=
"operationLogFrom.page"
:limit.sync=
"operationLogFrom.row"
@
pagination=
"getOperationLogList"
/>
@
pagination=
"getOperationLogList"
/>
</el-dialog>
<el-dialog
:title=
"$t('认证')"
:visible.sync=
"attestationShow"
width=
"80%"
>
<el-dialog
:title=
"$t('认证')"
:visible.sync=
"attestationShow"
width=
"80%"
>
<div
class=
"details"
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<el-tab-pane
:label=
"$t('身份证')"
name=
"1"
>
<div
style=
"padding:0 40px;box-sizing: border-box;"
>
<el-form
:disabled=
"[2,3].includes(IdDetails.status) && modifyIdCard"
ref=
"formId"
label-position=
"left"
label-width=
"100px"
:rules=
"rulesId"
:model=
"IdDetails"
>
<div
style=
"padding: 0 40px; box-sizing: border-box"
>
<el-form
:disabled=
"[2, 3].includes(IdDetails.status) && modifyIdCard"
ref=
"formId"
label-position=
"left"
label-width=
"100px"
:rules=
"rulesId"
:model=
"IdDetails"
>
<el-form-item
:label=
"$t('姓名')"
prop=
"name"
>
<el-input
v-model=
"IdDetails.name"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('证件类型')"
prop=
"cardType"
>
<dict-selector
v-model=
"IdDetails.cardType"
:type=
"DICT_TYPE.CERTIFICATE_TYPE"
></dict-selector>
<dict-selector
v-model=
"IdDetails.cardType"
:type=
"DICT_TYPE.CERTIFICATE_TYPE"
></dict-selector>
</el-form-item>
<el-form-item
:label=
"$t('证件号码')"
prop=
"cardNumber"
>
<el-input
v-model=
"IdDetails.cardNumber"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('证件正面照')"
prop=
"img1"
>
<div>
<el-input
readonly
style=
"margin-bottom: 20px"
v-model=
"IdDetails.img1"
></el-input>
<ImageUpload
:isShowTip=
"false"
v-model=
"IdDetails.img1"
:limit=
"1"
></ImageUpload>
<el-input
readonly
style=
"margin-bottom: 20px"
v-model=
"IdDetails.img1"
></el-input>
<ImageUpload
:isShowTip=
"false"
v-model=
"IdDetails.img1"
:limit=
"1"
></ImageUpload>
</div>
</el-form-item>
<el-form-item
:label=
"$t('证件背面照')"
prop=
"img2"
>
<div>
<el-input
readonly
style=
"margin-bottom: 20px"
v-model=
"IdDetails.img2"
></el-input>
<ImageUpload
:isShowTip=
"false"
:limit=
"1"
v-model=
"IdDetails.img2"
></ImageUpload>
<el-input
readonly
style=
"margin-bottom: 20px"
v-model=
"IdDetails.img2"
></el-input>
<ImageUpload
:isShowTip=
"false"
:limit=
"1"
v-model=
"IdDetails.img2"
></ImageUpload>
</div>
</el-form-item>
<el-form-item
:label=
"$t('审核状态')"
v-if=
"modifyIdCard && IdDetails.status !== 0 "
>
<el-form-item
:label=
"$t('审核状态')"
v-if=
"modifyIdCard && IdDetails.status !== 0"
>
{{
getDictDatas(DICT_TYPE.AUDIT_STATUS)[IdDetails.status] ? getDictDatas(DICT_TYPE.AUDIT_STATUS)[IdDetails.status].label : ''
getDictDatas(DICT_TYPE.AUDIT_STATUS)[IdDetails.status]
? getDictDatas(DICT_TYPE.AUDIT_STATUS)[IdDetails.status]
.label
: ""
}}
</el-form-item>
<el-form-item
:label=
"$t('审核时间')"
v-if=
"[2,3].includes(IdDetails.status) && modifyIdCard"
>
<el-form-item
:label=
"$t('审核时间')"
v-if=
"[2, 3].includes(IdDetails.status) && modifyIdCard"
>
{{ parseTime(IdDetails.auditTime) }}
</el-form-item>
<el-form-item
v-if=
"modifyIdCard && IdDetails.status !== 0"
:label=
"$t('审核备注')"
>
<el-input
v-model=
"IdDetails.auditRemark"
:disabled=
"IdDetails.status === 3"
type=
"textarea"
></el-input>
<el-form-item
v-if=
"modifyIdCard && IdDetails.status !== 0"
:label=
"$t('审核备注')"
>
<el-input
v-model=
"IdDetails.auditRemark"
:disabled=
"IdDetails.status === 3"
type=
"textarea"
></el-input>
</el-form-item>
</el-form>
<div
v-if=
"IdDetails.status === 1"
style=
"text-align: center;margin-top: 20px;"
>
<el-button
type=
"primary"
@
click=
"idCardAuditFn(2)"
>
{{ $t('审核通过') }}
</el-button>
<el-button
type=
"primary"
@
click=
"idCardAuditFn(3)"
>
{{ $t('审核不通过') }}
</el-button>
<el-button
@
click=
"attestationShow = false"
>
{{ $t('取 消') }}
</el-button>
<div
v-if=
"IdDetails.status === 1"
style=
"text-align: center; margin-top: 20px"
>
<el-button
type=
"primary"
@
click=
"idCardAuditFn(2)"
>
{{
$t("审核通过")
}}
</el-button>
<el-button
type=
"primary"
@
click=
"idCardAuditFn(3)"
>
{{
$t("审核不通过")
}}
</el-button>
<el-button
@
click=
"attestationShow = false"
>
{{
$t("取 消")
}}
</el-button>
</div>
<div
v-if=
"IdDetails.status === 2 || IdDetails.status === 3"
style=
"text-align: center;margin-top: 20px;"
>
<el-button
type=
"primary"
v-if=
"modifyIdCard"
@
click=
"modifyIdCard = false;"
>
{{ $t('修 改') }}
<div
v-if=
"IdDetails.status === 2 || IdDetails.status === 3"
style=
"text-align: center; margin-top: 20px"
>
<el-button
type=
"primary"
v-if=
"modifyIdCard"
@
click=
"modifyIdCard = false"
>
{{ $t("修 改") }}
</el-button>
<el-button
type=
"primary"
v-else
@
click=
"setMemberUserUpdateIdCard"
>
{{ $t('提交审核') }}
</el-button>
<el-button
@
click=
"attestationShow = false"
>
{{ $t('取 消') }}
</el-button>
<el-button
type=
"primary"
v-else
@
click=
"setMemberUserUpdateIdCard"
>
{{ $t("提交审核") }}
</el-button
>
<el-button
@
click=
"attestationShow = false"
>
{{
$t("取 消")
}}
</el-button>
</div>
<div
v-if=
"IdDetails.status === 0"
style=
"text-align: center;margin-top: 20px;"
>
<el-button
type=
"primary"
@
click=
"submitId"
>
{{ $t('上 传') }}
</el-button>
<el-button
@
click=
"attestationShow = false"
>
{{ $t('取 消') }}
</el-button>
<div
v-if=
"IdDetails.status === 0"
style=
"text-align: center; margin-top: 20px"
>
<el-button
type=
"primary"
@
click=
"submitId"
>
{{
$t("上 传")
}}
</el-button>
<el-button
@
click=
"attestationShow = false"
>
{{
$t("取 消")
}}
</el-button>
</div>
</div>
</el-tab-pane>
<el-tab-pane
:label=
"$t('营业执照')"
name=
"2"
>
<div
style=
"width: 500px;padding:0 40px;box-sizing: border-box;"
>
<el-form
:disabled=
"modifyLicense && [2,3].includes(enterpriseFrom.status)"
:rules=
"rulesEnterprise"
:model=
"enterpriseFrom"
label-position=
"left"
ref=
"formEnter"
label-width=
"100px"
>
<div
style=
"width: 500px; padding: 0 40px; box-sizing: border-box"
>
<el-form
:disabled=
"
modifyLicense && [2, 3].includes(enterpriseFrom.status)
"
:rules=
"rulesEnterprise"
:model=
"enterpriseFrom"
label-position=
"left"
ref=
"formEnter"
label-width=
"100px"
>
<el-form-item
:label=
"$t('企业名称')"
prop=
"name"
>
<el-input
v-model=
"enterpriseFrom.name"
></el-input>
</el-form-item>
...
...
@@ -176,40 +387,102 @@
</el-form-item>
<el-form-item
:label=
"$t('证件照')"
prop=
"img1"
>
<div>
<el-input
readonly
style=
"margin-bottom: 20px"
v-model=
"enterpriseFrom.img1"
></el-input>
<ImageUpload
:isShowTip=
"false"
:limit=
"1"
v-model=
"enterpriseFrom.img1"
></ImageUpload>
<el-input
readonly
style=
"margin-bottom: 20px"
v-model=
"enterpriseFrom.img1"
></el-input>
<ImageUpload
:isShowTip=
"false"
:limit=
"1"
v-model=
"enterpriseFrom.img1"
></ImageUpload>
</div>
</el-form-item>
<el-form-item
:label=
"$t('附件')"
>
<el-input
readonly
v-model=
"enterpriseFrom.img2"
></el-input>
<ImageUpload
:isShowTip=
"false"
:limit=
"1"
v-model=
"enterpriseFrom.img2"
></ImageUpload>
<ImageUpload
:isShowTip=
"false"
:limit=
"1"
v-model=
"enterpriseFrom.img2"
></ImageUpload>
</el-form-item>
<el-form-item
v-if=
"modifyLicense && enterpriseFrom.status !== 0 "
:label=
"$t('审核状态')"
>
{{ getDictDatas(DICT_TYPE.AUDIT_STATUS)[enterpriseFrom.status].label }}
<el-form-item
v-if=
"modifyLicense && enterpriseFrom.status !== 0"
:label=
"$t('审核状态')"
>
{{
getDictDatas(DICT_TYPE.AUDIT_STATUS)[enterpriseFrom.status]
.label
}}
</el-form-item>
<el-form-item
v-if=
"[2,3].includes(enterpriseFrom.status) && modifyLicense "
:label=
"$t('审核时间')"
>
<el-form-item
v-if=
"[2, 3].includes(enterpriseFrom.status) && modifyLicense"
:label=
"$t('审核时间')"
>
{{ parseTime(enterpriseFrom.auditTime) }}
</el-form-item>
<el-form-item
v-if=
"modifyLicense && enterpriseFrom.status !== 0"
:label=
"$t('审核备注')"
>
<el-input
v-model=
"enterpriseFrom.auditRemark"
:disabled=
"enterpriseFrom.status === 3"
type=
"textarea"
></el-input>
<el-form-item
v-if=
"modifyLicense && enterpriseFrom.status !== 0"
:label=
"$t('审核备注')"
>
<el-input
v-model=
"enterpriseFrom.auditRemark"
:disabled=
"enterpriseFrom.status === 3"
type=
"textarea"
></el-input>
</el-form-item>
</el-form>
<div
v-if=
"enterpriseFrom.status === 1"
style=
"text-align: center;margin-top: 20px;"
>
<el-button
type=
"primary"
@
click=
"certificateVerificationFn(2)"
>
{{ $t('审核通过') }}
</el-button>
<el-button
type=
"primary"
@
click=
"certificateVerificationFn(3)"
>
{{ $t('审核不通过') }}
</el-button>
<el-button
@
click=
"attestationShow = false"
>
{{ $t('取 消') }}
</el-button>
<div
v-if=
"enterpriseFrom.status === 1"
style=
"text-align: center; margin-top: 20px"
>
<el-button
type=
"primary"
@
click=
"certificateVerificationFn(2)"
>
{{ $t("审核通过") }}
</el-button
>
<el-button
type=
"primary"
@
click=
"certificateVerificationFn(3)"
>
{{ $t("审核不通过") }}
</el-button
>
<el-button
@
click=
"attestationShow = false"
>
{{
$t("取 消")
}}
</el-button>
</div>
<div
v-if=
"enterpriseFrom.status === 2 || enterpriseFrom.status === 3"
style=
"text-align: center;margin-top: 20px;"
>
<el-button
type=
"primary"
v-if=
"modifyLicense"
@
click=
"modifyLicense = false"
>
{{ $t('修 改') }}
<div
v-if=
"
enterpriseFrom.status === 2 || enterpriseFrom.status === 3
"
style=
"text-align: center; margin-top: 20px"
>
<el-button
type=
"primary"
v-if=
"modifyLicense"
@
click=
"modifyLicense = false"
>
{{ $t("修 改") }}
</el-button>
<el-button
type=
"primary"
v-else
@
click=
"setMemberUserUpdateEnterprise"
>
{{ $t('提交审核') }}
</el-button>
<el-button
@
click=
"attestationShow = false"
>
{{ $t('取 消') }}
</el-button>
<el-button
type=
"primary"
v-else
@
click=
"setMemberUserUpdateEnterprise"
>
{{ $t("提交审核") }}
</el-button
>
<el-button
@
click=
"attestationShow = false"
>
{{
$t("取 消")
}}
</el-button>
</div>
<div
v-if=
"enterpriseFrom.status === 0"
style=
"text-align: center;margin-top: 20px;"
>
<el-button
type=
"primary"
@
click=
"submit"
>
{{ $t('上 传') }}
</el-button>
<el-button
@
click=
"attestationShow = false"
>
{{ $t('取 消') }}
</el-button>
<div
v-if=
"enterpriseFrom.status === 0"
style=
"text-align: center; margin-top: 20px"
>
<el-button
type=
"primary"
@
click=
"submit"
>
{{
$t("上 传")
}}
</el-button>
<el-button
@
click=
"attestationShow = false"
>
{{
$t("取 消")
}}
</el-button>
</div>
</div>
</el-tab-pane>
...
...
@@ -220,122 +493,185 @@
</template>
<
script
>
import
{
createAuditIdCard
,
deleteUser
,
createAuditIdCard
,
deleteUser
,
memberGetAuthEnterpriseInfo
,
memberGetAuthIdcardInfo
,
memberUserAuditEnterprise
,
memberUserAuditIdCard
,
memberUserGet
,
memberUserUpdateEnterprise
,
memberUserGet
,
memberUserUpdateEnterprise
,
memberUserUpdateIdCard
,
operationLogApi
,
seTupdateBackletter
,
userCreateAuditEnterprise
operationLogApi
,
seTupdateBackletter
,
userCreateAuditEnterprise
,
}
from
"
@/api/member/user
"
;
import
FileUpload
from
"
@/components/FileUpload/index.vue
"
;
import
ImageUpload
from
"
@/components/ImageUpload/index.vue
"
;
import
{
DICT_TYPE
,
getDictDatas
}
from
"
@/utils/dict
"
;
import
{
DICT_TYPE
,
getDictDatas
}
from
"
@/utils/dict
"
;
export
default
{
name
:
"
memberDetails
"
,
components
:
{
ImageUpload
,
FileUpload
},
components
:
{
ImageUpload
,
FileUpload
},
data
()
{
return
{
// 表单校验
rulesId
:
{
name
:
[{
required
:
true
,
message
:
this
.
$t
(
'
用户昵称不能为空
'
),
trigger
:
"
blur
"
}],
cardType
:
[{
required
:
true
,
message
:
this
.
$t
(
'
证件类型不能为空
'
),
trigger
:
"
blur
"
}],
cardNumber
:
[{
required
:
true
,
message
:
this
.
$t
(
'
证件号码不能为空
'
),
trigger
:
"
blur
"
}],
img1
:
[{
required
:
true
,
message
:
this
.
$t
(
'
身份正面照不能为空
'
),
trigger
:
[
'
blur
'
,
'
change
'
]}],
img2
:
[{
required
:
true
,
message
:
this
.
$t
(
'
身份正面照不能为空
'
),
trigger
:
[
'
blur
'
,
'
change
'
]}],
name
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
用户昵称不能为空
"
),
trigger
:
"
blur
"
,
},
],
cardType
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
证件类型不能为空
"
),
trigger
:
"
blur
"
,
},
],
cardNumber
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
证件号码不能为空
"
),
trigger
:
"
blur
"
,
},
],
img1
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
身份正面照不能为空
"
),
trigger
:
[
"
blur
"
,
"
change
"
],
},
],
img2
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
身份正面照不能为空
"
),
trigger
:
[
"
blur
"
,
"
change
"
],
},
],
},
rulesEnterprise
:
{
name
:
[{
required
:
true
,
message
:
this
.
$t
(
'
企业名称不能为空
'
),
trigger
:
"
blur
"
}],
legalName
:
[{
required
:
true
,
message
:
this
.
$t
(
'
企业法人不能为空
'
),
trigger
:
"
blur
"
}],
cardNumber
:
[{
required
:
true
,
message
:
this
.
$t
(
'
证件号码不能为空
'
),
trigger
:
"
blur
"
}],
img1
:
[{
required
:
true
,
message
:
this
.
$t
(
'
证件照不能为空
'
),
trigger
:
[
'
blur
'
,
'
change
'
]}],
name
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
企业名称不能为空
"
),
trigger
:
"
blur
"
,
},
],
legalName
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
企业法人不能为空
"
),
trigger
:
"
blur
"
,
},
],
cardNumber
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
证件号码不能为空
"
),
trigger
:
"
blur
"
,
},
],
img1
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
证件照不能为空
"
),
trigger
:
[
"
blur
"
,
"
change
"
],
},
],
},
getDictDatas
,
DICT_TYPE
,
details
:
{
"
address
"
:
""
,
"
areaCode
"
:
""
,
"
avatar
"
:
""
,
"
backLetterImg
"
:
""
,
"
birthday
"
:
""
,
"
createTime
"
:
""
,
"
customerStatus
"
:
""
,
"
department
"
:
""
,
"
email
"
:
""
,
"
englishName
"
:
""
,
"
enterpriseAddress
"
:
""
,
"
enterpriseAuditCreateTime
"
:
""
,
"
enterpriseAuditRemark
"
:
""
,
"
enterpriseAuditStatus
"
:
""
,
"
enterpriseAuditTime
"
:
""
,
"
enterpriseBrand
"
:
""
,
"
enterpriseDesc
"
:
""
,
"
enterpriseName
"
:
""
,
"
enterpriseNameEn
"
:
""
,
"
enterpriseStall
"
:
""
,
"
enterpriseWebsite
"
:
""
,
"
gender
"
:
""
,
"
groupCount
"
:
""
,
"
id
"
:
""
,
"
identityAuditCreateTime
"
:
""
,
"
identityAuditRemark
"
:
""
,
"
identityAuditStatus
"
:
""
,
"
identityAuditTime
"
:
""
,
"
identityName
"
:
""
,
"
isDeal
"
:
""
,
"
isSimplePassword
"
:
""
,
"
jobPosition
"
:
""
,
"
loginDate
"
:
""
,
"
loginIp
"
:
""
,
"
mobile
"
:
""
,
"
nickname
"
:
""
,
"
password
"
:
""
,
"
registDate
"
:
""
,
"
registerIp
"
:
""
,
"
status
"
:
""
address
:
""
,
areaCode
:
""
,
avatar
:
""
,
backLetterImg
:
""
,
birthday
:
""
,
createTime
:
""
,
customerStatus
:
""
,
department
:
""
,
email
:
""
,
englishName
:
""
,
enterpriseAddress
:
""
,
enterpriseAuditCreateTime
:
""
,
enterpriseAuditRemark
:
""
,
enterpriseAuditStatus
:
""
,
enterpriseAuditTime
:
""
,
enterpriseBrand
:
""
,
enterpriseDesc
:
""
,
enterpriseName
:
""
,
enterpriseNameEn
:
""
,
enterpriseStall
:
""
,
enterpriseWebsite
:
""
,
gender
:
""
,
groupCount
:
""
,
id
:
""
,
identityAuditCreateTime
:
""
,
identityAuditRemark
:
""
,
identityAuditStatus
:
""
,
identityAuditTime
:
""
,
identityName
:
""
,
isDeal
:
""
,
isSimplePassword
:
""
,
jobPosition
:
""
,
loginDate
:
""
,
loginIp
:
""
,
mobile
:
""
,
nickname
:
""
,
password
:
""
,
registDate
:
""
,
registerIp
:
""
,
status
:
""
,
},
publicObj
:
{},
guaranteeShow
:
false
,
guaranteeUrl
:
''
,
guaranteeUrl
:
""
,
operationLogFrom
:
{
page
:
1
,
row
:
10
,
userId
:
undefined
userId
:
undefined
,
},
attestationShow
:
false
,
modifyLicense
:
false
,
modifyIdCard
:
true
,
//修改身份证
modifyIdCard
:
true
,
//修改身份证
IdDetails
:
{},
enterpriseFrom
:
{},
operationLogShow
:
false
,
activeName
:
"
1
"
,
operationLogList
:
[],
totalLog
:
0
,
}
}
;
},
created
()
{
this
.
getDetails
()
this
.
getDetails
()
;
},
methods
:
{
deleteFn
(
row
)
{
const
nickname
=
row
.
nickname
;
this
.
$modal
.
confirm
(
`
${
this
.
$t
(
'
是否确认删除昵称为{nickname}的会员?
'
,
{
nickname
})}
`
).
then
(
function
()
{
return
deleteUser
(
row
.
id
)
}).
then
(
res
=>
{
this
.
$message
.
success
(
this
.
$t
(
'
删除成功
'
))
this
.
$router
.
back
()
}).
catch
(()
=>
{
// this.$message.success(this.$t('删除失败'))
}
this
.
$modal
.
confirm
(
`
${
this
.
$t
(
"
是否确认删除昵称为{nickname}的会员?
"
,
{
nickname
})}
`
)
.
then
(
function
()
{
return
deleteUser
(
row
.
id
);
})
.
then
((
res
)
=>
{
this
.
$message
.
success
(
this
.
$t
(
"
删除成功
"
));
this
.
$router
.
back
();
})
.
catch
(()
=>
{
// this.$message.success(this.$t('删除失败'))
});
},
getDetails
()
{
memberUserGet
({
id
:
this
.
$route
.
params
.
id
}).
then
(
r
=>
{
console
.
log
(
r
,
'
rrrr
'
)
this
.
details
=
r
.
data
})
memberUserGet
({
id
:
this
.
$route
.
params
.
id
}).
then
((
r
)
=>
{
console
.
log
(
r
,
"
rrrr
"
);
this
.
details
=
r
.
data
;
})
;
},
// 保函证书
guarantee
(
row
)
{
...
...
@@ -347,19 +683,18 @@ export default {
operationLogFn
(
row
)
{
this
.
publicObj
=
row
;
this
.
operationLogFrom
.
page
=
1
;
this
.
operationLogFrom
.
userId
=
row
.
id
this
.
operationLogFrom
.
userId
=
row
.
id
;
this
.
operationLogShow
=
true
;
this
.
operationLogList
=
[];
this
.
getOperationLogList
();
},
getOperationLogList
()
{
operationLogApi
(
this
.
operationLogFrom
).
then
(
r
=>
{
operationLogApi
(
this
.
operationLogFrom
).
then
(
(
r
)
=>
{
if
(
r
.
code
===
0
)
{
this
.
operationLogList
=
r
.
data
.
list
this
.
totalLog
=
r
.
data
.
total
this
.
operationLogList
=
r
.
data
.
list
;
this
.
totalLog
=
r
.
data
.
total
;
}
})
})
;
},
identityFn
(
row
,
val
)
{
this
.
attestationShow
=
true
;
...
...
@@ -380,51 +715,51 @@ export default {
},
getIdentityDetails
()
{
this
.
resetId
();
memberGetAuthIdcardInfo
({
userId
:
this
.
publicObj
.
id
}).
then
(
r
=>
{
memberGetAuthIdcardInfo
({
userId
:
this
.
publicObj
.
id
}).
then
((
r
)
=>
{
if
(
r
.
code
===
0
&&
!!
r
.
data
)
{
this
.
IdDetails
=
r
.
data
this
.
IdDetails
=
r
.
data
;
}
})
})
;
},
getEnterpriseFn
()
{
this
.
resetEnterprise
();
memberGetAuthEnterpriseInfo
({
userId
:
this
.
publicObj
.
id
}).
then
(
r
=>
{
memberGetAuthEnterpriseInfo
({
userId
:
this
.
publicObj
.
id
}).
then
((
r
)
=>
{
if
(
r
.
code
===
0
&&
!!
r
.
data
)
{
this
.
enterpriseFrom
=
r
.
data
this
.
enterpriseFrom
=
r
.
data
;
}
})
})
;
},
//身份证审核
idCardAuditFn
(
val
)
{
let
p
=
{
auditStatus
:
val
,
userCardAuthId
:
this
.
IdDetails
.
id
,
auditRemark
:
this
.
IdDetails
.
auditRemark
}
memberUserAuditIdCard
(
p
).
then
(
r
=>
{
auditRemark
:
this
.
IdDetails
.
auditRemark
,
}
;
memberUserAuditIdCard
(
p
).
then
(
(
r
)
=>
{
if
(
r
.
code
===
0
)
{
this
.
$message
.
success
(
this
.
$t
(
'
修改成功
'
));
this
.
getList
()
this
.
getIdentityDetails
()
this
.
$message
.
success
(
this
.
$t
(
"
修改成功
"
));
this
.
getList
()
;
this
.
getIdentityDetails
()
;
}
})
})
;
},
// 企业证书审核
certificateVerificationFn
(
val
)
{
let
p
=
{
auditStatus
:
val
,
userEnterpriseAuthId
:
this
.
enterpriseFrom
.
id
,
auditRemark
:
this
.
enterpriseFrom
.
auditRemark
}
memberUserAuditEnterprise
(
p
).
then
(
r
=>
{
auditRemark
:
this
.
enterpriseFrom
.
auditRemark
,
}
;
memberUserAuditEnterprise
(
p
).
then
(
(
r
)
=>
{
if
(
r
.
code
===
0
)
{
this
.
getList
()
this
.
getList
()
;
this
.
getEnterpriseFn
();
}
})
})
;
},
setMemberUserUpdateIdCard
()
{
this
.
$refs
.
formId
.
validate
(
async
valid
=>
{
this
.
$refs
.
formId
.
validate
(
async
(
valid
)
=>
{
if
(
valid
)
{
let
p
=
{
cardNumber
:
this
.
IdDetails
.
cardNumber
,
...
...
@@ -435,21 +770,21 @@ export default {
userCardAuthId
:
this
.
IdDetails
.
id
,
auditPass
:
true
,
};
memberUserUpdateIdCard
(
p
).
then
(
r
=>
{
memberUserUpdateIdCard
(
p
).
then
(
(
r
)
=>
{
if
(
r
.
code
===
0
)
{
this
.
$message
.
success
(
this
.
$t
(
'
修改成功
'
))
this
.
$message
.
success
(
this
.
$t
(
"
修改成功
"
));
if
(
p
.
auditPass
===
true
)
{
this
.
getIdentityDetails
()
this
.
getIdentityDetails
()
;
}
this
.
getList
()
this
.
getList
()
;
this
.
modifyIdCard
=
true
;
}
})
})
;
}
})
})
;
},
setMemberUserUpdateEnterprise
()
{
this
.
$refs
.
formEnter
.
validate
(
async
valid
=>
{
this
.
$refs
.
formEnter
.
validate
(
async
(
valid
)
=>
{
if
(
valid
)
{
let
p
=
{
cardNumber
:
this
.
enterpriseFrom
.
cardNumber
,
...
...
@@ -459,19 +794,19 @@ export default {
name
:
this
.
enterpriseFrom
.
name
,
userEnterpriseAuthId
:
this
.
enterpriseFrom
.
id
,
auditPass
:
true
,
}
memberUserUpdateEnterprise
(
p
).
then
(
r
=>
{
}
;
memberUserUpdateEnterprise
(
p
).
then
(
(
r
)
=>
{
if
(
r
.
code
===
0
)
{
if
(
p
.
auditPass
===
true
)
{
this
.
getEnterpriseFn
();
}
this
.
getList
()
this
.
getList
()
;
this
.
modifyLicense
=
true
;
this
.
$message
.
success
(
this
.
$t
(
'
修改成功
'
));
this
.
$message
.
success
(
this
.
$t
(
"
修改成功
"
));
}
})
})
;
}
})
})
;
},
submit
()
{
let
p
=
{
...
...
@@ -481,20 +816,20 @@ export default {
legalName
:
this
.
enterpriseFrom
.
legalName
,
name
:
this
.
enterpriseFrom
.
name
,
userEnterpriseAuthId
:
this
.
enterpriseFrom
.
id
,
userId
:
this
.
publicObj
.
id
}
userCreateAuditEnterprise
(
p
).
then
(
r
=>
{
userId
:
this
.
publicObj
.
id
,
}
;
userCreateAuditEnterprise
(
p
).
then
(
(
r
)
=>
{
if
(
r
.
code
===
0
)
{
this
.
$message
.
success
(
this
.
$t
(
'
添加成功!
'
));
this
.
enterpriseFrom
.
status
=
2
this
.
enterpriseFrom
.
auditTime
=
new
Date
().
getTime
()
this
.
$message
.
success
(
this
.
$t
(
"
添加成功!
"
));
this
.
enterpriseFrom
.
status
=
2
;
this
.
enterpriseFrom
.
auditTime
=
new
Date
().
getTime
()
;
this
.
getEnterpriseFn
();
this
.
getList
()
this
.
getList
()
;
}
})
})
;
},
submitId
()
{
this
.
$refs
.
formId
.
validate
(
async
valid
=>
{
this
.
$refs
.
formId
.
validate
(
async
(
valid
)
=>
{
if
(
valid
)
{
let
p
=
{
cardNumber
:
this
.
IdDetails
.
cardNumber
,
...
...
@@ -503,19 +838,19 @@ export default {
img2
:
this
.
IdDetails
.
img2
,
name
:
this
.
IdDetails
.
name
,
status
:
2
,
userId
:
this
.
publicObj
.
id
userId
:
this
.
publicObj
.
id
,
};
createAuditIdCard
(
p
).
then
(
r
=>
{
createAuditIdCard
(
p
).
then
(
(
r
)
=>
{
if
(
r
.
code
===
0
)
{
this
.
$message
.
success
(
this
.
$t
(
'
添加成功!
'
));
this
.
IdDetails
.
status
=
2
this
.
IdDetails
.
auditTime
=
new
Date
().
getTime
()
this
.
$message
.
success
(
this
.
$t
(
"
添加成功!
"
));
this
.
IdDetails
.
status
=
2
;
this
.
IdDetails
.
auditTime
=
new
Date
().
getTime
()
;
this
.
getIdentityDetails
();
this
.
getList
()
this
.
getList
()
;
}
})
})
;
}
})
})
;
},
/** 表单重置 */
resetId
()
{
...
...
@@ -528,11 +863,11 @@ export default {
id
:
0
,
img1
:
undefined
,
img2
:
undefined
,
name
:
''
,
name
:
""
,
status
:
0
,
userId
:
0
}
},
//清空身份证
userId
:
0
,
}
;
},
//清空身份证
resetEnterprise
()
{
this
.
enterpriseFrom
=
{
auditRemark
:
undefined
,
...
...
@@ -545,21 +880,23 @@ export default {
legalName
:
undefined
,
name
:
undefined
,
status
:
0
,
userId
:
undefined
}
},
//清空企业
userId
:
undefined
,
}
;
},
//清空企业
setGuarantee
()
{
seTupdateBackletter
({
userId
:
this
.
publicObj
.
id
,
backLetter
:
this
.
guaranteeUrl
}).
then
(
r
=>
{
seTupdateBackletter
({
userId
:
this
.
publicObj
.
id
,
backLetter
:
this
.
guaranteeUrl
,
}).
then
((
r
)
=>
{
if
(
r
.
code
===
0
)
{
this
.
publicObj
.
backLetterImg
=
this
.
guaranteeUrl
;
this
.
guaranteeShow
=
false
;
this
.
$message
.
success
(
this
.
$t
(
'
保存成功
'
));
this
.
$message
.
success
(
this
.
$t
(
"
保存成功
"
));
}
})
})
;
},
}
}
}
,
}
;
</
script
>
<
style
scoped
lang=
"scss"
>
</
style
>
src/views/report/BankReceiptDetails/index.vue
0 → 100644
View file @
17b1deec
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"运输方式"
prop=
"titleZh"
>
<el-select
v-model=
"queryParams.titleZh"
clearable
style=
"width: 200px"
>
<el-option
label=
"海运拼柜"
value=
"海运拼柜"
></el-option>
<el-option
label=
"专线空运"
value=
"专线空运"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"基础单位"
prop=
"fuhao"
>
<el-input
v-model=
"queryParams.fuhao"
placeholder=
"请输入基础单位"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
v-show=
"false"
>
<Treeselect
v-model=
"id"
:options=
"listTree"
>
</Treeselect>
</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-form-item>
</el-form>
<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=
"['report:vz:create']"
>
{{
$t
(
"
新增
"
)
}}
</el-button
>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
v-show=
"false"
@
click=
"handleExport"
:loading=
"exportLoading"
v-hasPermi=
"['my:test:export']"
>
{{
$t
(
"
导出
"
)
}}
</el-button
>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
v-show=
"true"
size=
"mini"
@
click=
"TestFun"
>
{{
$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"
/>
<el-table-column
label=
"运输方式"
align=
"center"
prop=
"titleZh"
/>
<el-table-column
label=
"基础单位"
align=
"center"
prop=
"fuhao"
/>
<el-table-column
label=
"V值"
align=
"center"
prop=
"vz"
width=
"100"
>
</el-table-column>
<el-table-column
label=
"修改日期"
align=
"center"
prop=
"updateTime"
>
<template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
updateTime
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['report:vz:update']"
>
{{
$t
(
"
修改
"
)
}}
</el-button
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['report:vz:delete']"
>
{{
$t
(
"
删除
"
)
}}
</el-button
>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"queryParams.pageNo"
:limit.sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"500px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-form-item
label=
"运输方式"
prop=
"titleZh"
>
<el-select
v-model=
"form.titleZh"
@
change=
"handleSelectChange"
clearable
style=
"width: 200px"
>
<el-option
label=
"海运拼柜"
value=
"海运拼柜"
></el-option>
<el-option
label=
"专线空运"
value=
"专线空运"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"1V="
prop=
"vz"
>
<el-input
v-model=
"form.vz"
placeholder=
""
style=
"width: 100px"
/>
<el-input
v-model=
"form.fuhao"
style=
"width: 100px"
placeholder=
"基础单位"
readonly=
"true"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
create
,
update
,
del
,
getModel
,
getPageList
,
exportExcel
,
test
,
}
from
"
@/api/report/vz
"
;
import
Treeselect
from
"
@riophae/vue-treeselect
"
;
import
"
@/assets/styles/vue-treeselect.css
"
;
//弹出消息框
import
{
MessageBox
}
from
"
element-ui
"
;
//日期库函数
import
dayjs
from
"
dayjs
"
;
//2024-05-14 银行收款明细列表
export
default
{
name
:
"
ReportBankReceiptDetailsIndex
"
,
components
:
{
Treeselect
,
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 导出遮罩层
exportLoading
:
false
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
list
:
[],
// 弹出层标题
title
:
""
,
//是否显示弹出层
open
:
false
,
// 查询参数
queryParams
:
{
pageNo
:
1
,
pageSize
:
10
,
titleZh
:
null
,
//运输方式
fuhao
:
null
,
//基础单位
},
// 表单参数
form
:
{},
// 表单校验
rules
:
{
vz
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
V值不能为空
"
),
trigger
:
"
blur
"
,
},
],
},
id
:
1
,
listTree
:
[
{
//https://www.cnblogs.com/javahr/p/13607024.html
id
:
1
,
label
:
"
1
"
,
children
:
[
{
id
:
11
,
label
:
"
11
"
,
children
:
[
{
id
:
111
,
label
:
"
111
"
,
},
],
},
{
id
:
12
,
label
:
"
12
"
,
},
],
},
{
id
:
2
,
label
:
"
2
"
,
children
:
[
{
id
:
21
,
label
:
"
21
"
,
},
{
id
:
22
,
label
:
"
22
"
,
},
],
},
],
};
},
created
()
{
this
.
getList
();
},
methods
:
{
handleSelectChange
(
sValue
)
{
if
(
sValue
==
"
海运拼柜
"
)
{
this
.
form
.
fuhao
=
"
M3
"
;
}
else
if
(
sValue
==
"
专线空运
"
)
{
this
.
form
.
fuhao
=
"
KG
"
;
}
},
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
// 处理查询参数
let
params
=
{
...
this
.
queryParams
};
// 执行查询
getPageList
(
params
).
then
((
response
)
=>
{
this
.
list
=
response
.
data
.
list
;
this
.
total
=
response
.
data
.
total
;
this
.
loading
=
false
;
});
},
/** 取消按钮 */
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
},
/** 表单重置 */
reset
()
{
this
.
form
=
{
id
:
undefined
,
titleZh
:
undefined
,
//运输方式
fuhao
:
undefined
,
//基础单位
vz
:
undefined
,
//v值
};
this
.
resetForm
(
"
form
"
);
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNo
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"
queryForm
"
);
this
.
handleQuery
();
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"
添加V值
"
;
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
const
id
=
row
.
id
;
getModel
(
id
).
then
((
response
)
=>
{
this
.
form
=
response
.
data
;
this
.
open
=
true
;
this
.
title
=
"
修改V值
"
;
});
},
/** 提交按钮 */
submitForm
()
{
this
.
$refs
[
"
form
"
].
validate
((
valid
)
=>
{
if
(
!
valid
)
{
return
;
}
// 修改的提交
if
(
this
.
form
.
id
!=
null
)
{
update
(
this
.
form
).
then
((
response
)
=>
{
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
open
=
false
;
this
.
getList
();
});
return
;
}
// 添加的提交
create
(
this
.
form
).
then
((
response
)
=>
{
this
.
$modal
.
msgSuccess
(
"
新增成功
"
);
this
.
open
=
false
;
this
.
getList
();
});
});
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
id
=
row
.
id
;
this
.
$modal
.
confirm
(
"
是否确认删除选中数据项?
"
)
.
then
(
function
()
{
return
del
(
id
);
})
.
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"
删除成功
"
);
})
.
catch
(()
=>
{});
},
TestFun
()
{
var
bR
=
dayjs
(
'
2024-05-11
'
).
isBefore
(
dayjs
(
'
2024-05-12
'
));
alert
(
bR
);
//获取当前日期
var
now
=
dayjs
().
format
(
'
YYYY-MM-DD dddd HH:mm:ss.SSS A
'
);
MessageBox
(
now
);
//dayjs("2019-01-25").toArray(); // [ 2019, 0, 25, 0, 0, 0, 0 ]
var
dJs
=
dayjs
(
"
2019-01-25
"
).
toJSON
();
//'2019-01-25T02:00:00.000Z'
//MessageBox(dJs);
//dayjs 使用的相关参考
//https://segmentfault.com/a/1190000040835957?sort=newest
//https://dayjs.fenxianglu.cn/category/plugin.html#advancedformat
//年 : dayjs().year()
//月 : dayjs().month()
//日 : dayjs().date()
//星期 : dayjs().day()
//时 : dayjs().hour()
//分 : dayjs().minute()
//秒 : dayjs().second()
//毫秒 : dayjs().millisecond()
//调用后台函数
/*
test().then((response) => {
this.$modal.msgSuccess("测试发送");
});*/
},
/** 导出按钮操作 */
handleExport
()
{
// 处理查询参数
let
params
=
{
...
this
.
queryParams
};
params
.
pageNo
=
undefined
;
params
.
pageSize
=
undefined
;
// 执行导出
this
.
$modal
.
confirm
(
"
是否确认导出所有测试数据项?
"
)
.
then
(()
=>
{
this
.
exportLoading
=
true
;
return
exportExcel
(
params
);
})
.
then
((
response
)
=>
{
this
.
$download
.
excel
(
response
,
"
${table.classComment}.xls
"
);
this
.
exportLoading
=
false
;
})
.
catch
(()
=>
{});
},
normalizer
(
node
)
{
if
(
node
.
children
&&
!
node
.
children
.
length
)
{
delete
node
.
children
;
}
return
{
id
:
node
.
id
,
label
:
node
.
name
,
children
:
node
.
children
,
};
},
},
};
</
script
>
\ No newline at end of file
src/views/report/salesreport/index.vue
View file @
17b1deec
...
...
@@ -45,7 +45,11 @@
:normalizer=
"normalizer"
/>
</el-form-item>
<el-form-item
label=
"客户经理"
prop=
"salesmanid"
v-show=
"showCustomsManage"
>
<el-form-item
label=
"客户经理"
prop=
"salesmanid"
v-show=
"showCustomsManage"
>
<user-selector
manage
v-model=
"queryParams.salesmanid"
...
...
@@ -71,8 +75,12 @@
<div
class=
"card-panel-text"
>
{{
$t
(
"
业绩总览 Total
"
)
}}
</div>
<div
class=
"card-panel-num"
>
{{
allsumvolume
}}
</div>
<div
style=
"text-align: right"
>
同比:13%
</div>
<div
class=
"card-panel-num"
>
{{
SalesReportCountList1
.
curValue
}}
V
</div>
<div
style=
"text-align: right"
>
同比:
{{
SalesReportCountList1
.
tbShow
}}
</div>
</div>
</div>
</el-col>
...
...
@@ -85,8 +93,12 @@
<div
class=
"card-panel-text"
>
{{
$t
(
"
海运拼柜
"
)
}}
</div>
<div
class=
"card-panel-num"
>
{{
sumvolume1
}}
</div>
<div
style=
"text-align: right"
>
同比:13%
</div>
<div
class=
"card-panel-num"
>
{{
SalesReportCountList2
.
curValue
}}
M3
</div>
<div
style=
"text-align: right"
>
同比:
{{
SalesReportCountList2
.
tbShow
}}
</div>
</div>
</div>
</el-col>
...
...
@@ -99,8 +111,12 @@
<div
class=
"card-panel-text"
>
{{
$t
(
"
专线空运
"
)
}}
</div>
<div
class=
"card-panel-num"
>
{{
sumweight3
}}
</div>
<div
style=
"text-align: right"
>
同比:13%
</div>
<div
class=
"card-panel-num"
>
{{
SalesReportCountList3
.
curValue
}}
KG
</div>
<div
style=
"text-align: right"
>
同比:
{{
SalesReportCountList3
.
tbShow
}}
</div>
</div>
</div>
</el-col>
...
...
@@ -115,8 +131,12 @@
<div
class=
"card-panel-text"
>
{{
$t
(
"
成交总览 Total
"
)
}}
</div>
<div
class=
"card-panel-num"
>
{{
sumCustomerCount
}}
</div>
<div
style=
"text-align: right"
>
同比:13%
</div>
<div
class=
"card-panel-num"
>
{{
sumCustomerObject
.
sumCustomerCount
}}
</div>
<div
style=
"text-align: right"
>
同比:
{{
sumCustomerObject
.
tbShow
}}
</div>
</div>
</div>
</el-col>
...
...
@@ -129,8 +149,12 @@
<div
class=
"card-panel-text"
>
{{
$t
(
"
首次成交
"
)
}}
</div>
<div
class=
"card-panel-num"
>
{{
fisCustomerCount
}}
</div>
<div
style=
"text-align: right"
>
同比:13%
</div>
<div
class=
"card-panel-num"
>
{{
fisCustomerObject
.
sumCustomerCount
}}
</div>
<div
style=
"text-align: right"
>
同比:
{{
fisCustomerObject
.
tbShow
}}
</div>
</div>
</div>
</el-col>
...
...
@@ -150,7 +174,10 @@ import Treeselect from "@riophae/vue-treeselect";
import
"
@/assets/styles/vue-treeselect.css
"
;
import
{
listSimpleDepts
}
from
"
@/api/system/dept
"
;
//报表权限接口
import
{
getCurUserPermission
,
getDeptChild
}
from
"
@/api/report/EcwReportPermission
"
;
import
{
getCurUserPermission
,
getDeptChild
,
}
from
"
@/api/report/EcwReportPermission
"
;
import
{
SalesReportCount
,
FirstCustomerCount
,
...
...
@@ -184,8 +211,12 @@ function getLastYear() {
let
year
=
date
.
getFullYear
();
return
year
.
toString
();
}
function
goPage
()
{
alert
(
11
);
}
//2024-05-01合并
//https://2zmzrd.axshare.com 报表原型地址
export
default
{
name
:
"
ReportSalesreportIndex
"
,
components
:
{
...
...
@@ -205,7 +236,7 @@ export default {
},
height
:
{
type
:
String
,
default
:
"
5
00px
"
,
default
:
"
10
00px
"
,
},
autoResize
:
{
type
:
Boolean
,
...
...
@@ -220,16 +251,17 @@ export default {
exportLoading
:
false
,
// 显示搜索条件
showSearch
:
true
,
showCustomsManage
:
true
,
//是否显示客户经理查询条件
showDept
:
true
,
//是否显示部门查询条件
showCustomsManage
:
true
,
//是否显示客户经理查询条件
showDept
:
true
,
//是否显示部门查询条件
chart
:
null
,
allsumvolume
:
undefined
,
//总V值
sumvolume1
:
undefined
,
//海运拼柜
sumweight3
:
undefined
,
//专线空运
sumCustomerCount
:
undefined
,
//成交客户总数
fisCustomerCount
:
undefined
,
//首次成交客户户数
SalesReportCountList3
:
{},
SalesReportCountList2
:
{},
SalesReportCountList1
:
{},
salesReportRespAll
:
[],
sumCustomerObject
:
{},
//成交客户总数
fisCustomerObject
:
{},
//首次成交客户户数
dateRangeCreateTime
:
[],
SalesReportRespShow
:[],
SalesReportRespShow
:
[],
queryParams
:
{
salesmanid
:
undefined
,
//销售经理
deptid
:
undefined
,
//部门
...
...
@@ -261,66 +293,214 @@ export default {
//this.deptData.add
});
},
getCustomerTargetCount
()
{
CustomerTargetCount
(
this
.
queryParams
).
then
((
response
)
=>
{
this
.
sumCustomerCount
=
response
.
data
;
});
},
getSalesReportCount
()
{
//获取运输方式统计数 lanbm 2024-04-01 add
//数据遍历参考地址
//https://blog.csdn.net/weixin_49826079/article/details/132172368
SalesReportCount
(
this
.
queryParams
).
then
((
response
)
=>
{
//业绩总览
this
.
allsumvolume
=
response
.
data
.
allsumvolume
;
//海运拼柜
this
.
sumvolume1
=
response
.
data
.
sumvolume1
;
//专线空运
this
.
sumweight3
=
response
.
data
.
sumweight3
;
this
.
SalesReportCountList1
=
response
.
data
[
0
];
this
.
SalesReportCountList2
=
response
.
data
[
1
];
this
.
SalesReportCountList3
=
response
.
data
[
2
];
});
},
getSalesReportCount
()
{
//获取运输方式统计数 lanbm 2024-04-01 add
SalesReportCount
(
this
.
queryParams
).
then
((
response
)
=>
{
//业绩总览
this
.
allsumvolume
=
response
.
data
.
allsumvolume
;
//海运拼柜
this
.
sumvolume1
=
response
.
data
.
sumvolume1
;
//专线空运
this
.
sumweight3
=
response
.
data
.
sumweight3
;
getCustomerTargetCount
()
{
CustomerTargetCount
(
this
.
queryParams
).
then
((
response
)
=>
{
this
.
sumCustomerObject
=
response
.
data
;
});
},
getFirstCustomerCount
()
{
//获取首次成交客户数 lanbm 2024-04-01 add
FirstCustomerCount
(
this
.
queryParams
).
then
((
response
)
=>
{
//首次成交客户数
this
.
fisCustomer
Coun
t
=
response
.
data
;
this
.
fisCustomer
Objec
t
=
response
.
data
;
});
},
initChart
()
{
// 柱状图
createChart
()
{
getEChartData
(
this
.
queryParams
).
then
((
response
)
=>
{
//图表参考网址
//https://blog.csdn.net/m0_65983287/article/details/133909409
let
salesReportRespAll1
=
response
.
data
.
salesReportRespAll
;
var
chartDom
=
this
.
$refs
[
"
mainBar
"
];
this
.
chart
=
echarts
.
init
(
chartDom
,
"
macarons
"
);
this
.
setOptions
();
},
setOptions
()
{
this
.
loading
=
true
;
getEChartData
(
this
.
queryParams
).
then
((
response
)
=>
{
this
.
chart
.
setOption
({
this
.
chart
.
on
(
"
click
"
,
(
params
)
=>
{
if
(
this
.
isRight
()
==
false
)
return
;
let
p
=
{};
if
(
params
.
componentType
===
"
title
"
)
{
this
.
$router
.
push
({
path
:
"
/report/sales_analysis
"
,
query
:
p
,
});
return
;
}
/*
this.queryParams.salesmanid = parseInt(
this.resultList[params.dataIndex].salesmanid
);
this.queryParams.number = this.resultList[params.dataIndex].number;
Object.assign(p, this.queryParams);*/
this
.
$router
.
push
({
path
:
"
/report/sales_analysis
"
,
query
:
p
,
});
});
this
.
option
=
{
title
:
{
text
:
"
月度业绩分布
"
,
text
:
"
月度业绩分布
"
,
//主标题
link
:
""
,
//主标题链接
target
:
"
self
"
,
//窗口打开方式self本窗口,blank新窗口
textStyle
:
{
//color: "skyblue", //主标题颜色
fontSize
:
"
20
"
,
//主标题大小
},
legend
:
{},
grid
:
{
left
:
"
3%
"
,
right
:
"
4%
"
,
bottom
:
"
3%
"
,
containLabel
:
true
,
subtext
:
"
更多...
"
,
//副标题
sublink
:
"
javascript:goPage()
"
,
//副标题链接
subtarget
:
"
self
"
,
//self/blank
subtextStyle
:
{
//color: "#0f0",
fontSize
:
"
10
"
,
textAlign
:
"
right
"
,
},
left
:
"
left
"
,
//位置
show
:
true
,
//是否显示true/false
textAlign
:
"
left
"
,
//水平对齐:auto/left,right,center
textVerticalAlign
:
"
auto
"
,
//垂直对齐:auto,top,middle,bottom
},
tooltip
:
{
trigger
:
"
axis
"
,
axisPointer
:
{
type
:
"
shadow
"
,
},
formatter
:
function
(
params
)
{
//params 是一个数组,数组中每个元素代表一个系列的数据信息
var
result
=
""
;
params
.
forEach
(
function
(
item
)
{
let
vR
=
salesReportRespAll1
.
filter
(
(
r
)
=>
r
.
strMonth
===
item
.
name
);
result
=
"
统计月份:
"
+
item
.
name
+
"
<br/>
"
;
result
+=
"
Total:
"
+
vR
[
0
].
curValue
+
"
同比:
"
+
vR
[
0
].
tbShow
+
"
,环比:
"
+
vR
[
0
].
hbShow
+
"
<br/>
"
;
result
+=
"
海运拼柜:
"
+
vR
[
0
].
curValue1
+
"
同比:
"
+
vR
[
0
].
tbShow1
+
"
,环比:
"
+
vR
[
0
].
hbShow1
+
"
<br/>
"
;
result
+=
"
专线空运:
"
+
vR
[
0
].
curValue3
+
"
同比:
"
+
vR
[
0
].
tbShow3
+
"
,环比:
"
+
vR
[
0
].
hbShow3
+
"
<br/>
"
;
});
return
result
;
},
},
legend
:
{},
xAxis
:
{
type
:
"
value
"
,
boundaryGap
:
[
0
,
0.5
],
},
yAxis
:
response
.
data
.
objyAxis
,
series
:
response
.
data
.
obSseries
,
});
yAxis
:
{
type
:
"
category
"
,
data
:
response
.
data
.
objyAxis
.
data
,
axisLabel
:
{
showMaxLabel
:
true
,
interval
:
0
,
rotate
:
0
,
},
},
grid
:
{
show
:
false
,
top
:
"
5%
"
,
right
:
"
5%
"
,
bottom
:
"
5%
"
,
left
:
"
10%
"
,
},
series
:
[
{
name
:
"
Total
"
,
data
:
response
.
data
.
obSseries
[
0
].
data
,
type
:
"
bar
"
,
barGap
:
"
0px
"
,
label
:
{
show
:
true
,
position
:
"
right
"
,
//在上方显示
textStyle
:
{
//数值样式
fontSize
:
"
16px
"
,
color
:
"
#999
"
,
},
formatter
:
function
(
d
)
{
return
d
.
data
;
},
},
},
{
name
:
"
海运拼柜
"
,
data
:
response
.
data
.
obSseries
[
1
].
data
,
type
:
"
bar
"
,
barGap
:
"
0px
"
,
label
:
{
show
:
true
,
position
:
"
right
"
,
//在上方显示
textStyle
:
{
//数值样式
fontSize
:
"
16px
"
,
color
:
"
##999
"
,
},
formatter
:
function
(
d
)
{
/*
let sum =
(
(d.data / (d.data + res[d.dataIndex].maleCount)) *
100
).toFixed(2) + "%";
*/
return
d
.
data
;
},
},
},
{
name
:
"
专线空运
"
,
data
:
response
.
data
.
obSseries
[
2
].
data
,
type
:
"
bar
"
,
barGap
:
"
0px
"
,
label
:
{
show
:
true
,
position
:
"
right
"
,
//在上方显示
textStyle
:
{
//数值样式
fontSize
:
"
16px
"
,
color
:
"
##999
"
,
},
formatter
:
function
(
d
)
{
/*
let sum =
(
(d.data / (d.data + res[d.dataIndex].maleCount)) *
100
).toFixed(2) + "%";
*/
return
d
.
data
;
},
},
},
],
};
this
.
option
&&
this
.
chart
.
setOption
(
this
.
option
);
});
},
isChinese
()
{
...
...
@@ -357,11 +537,11 @@ export default {
//获取成交客户数,出重结果
this
.
getCustomerTargetCount
();
//获取权限后再初始化统计图表
this
.
initChart
();
//this.initChart();
this
.
createChart
();
this
.
loading
=
false
;
});
},
getList
()
{},
resetQuery
()
{
this
.
queryParams
=
{
salesmanid
:
undefined
,
//销售经理
...
...
@@ -408,7 +588,9 @@ export default {
}
return
true
;
},
handleAdd
()
{},
handleAdd
()
{
alert
(
1
);
},
handleExport
()
{},
/** 查询部门下拉树结构 + 岗位下拉 */
getTreeselect
()
{
...
...
src/views/report/vz/index.vue
View file @
17b1deec
...
...
@@ -64,7 +64,7 @@
type=
"primary"
plain
icon=
"el-icon-plus"
v-show=
"
tru
e"
v-show=
"
fals
e"
size=
"mini"
@
click=
"TestFun"
>
...
...
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