|
|
@ -40,7 +40,7 @@
|
|
|
|
:style="{color: threeLevel.key==='CAUTION_NOTICE' ? 'red' : '' }"
|
|
|
|
:style="{color: threeLevel.key==='CAUTION_NOTICE' ? 'red' : '' }"
|
|
|
|
:show-icon="false"
|
|
|
|
:show-icon="false"
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<div slot="title" :style="{color: threeLevel.key==='CAUTION_NOTICE' ? 'red' : '' }">
|
|
|
|
<div slot="title" :style="{color: threeLevel.key==='CAUTION_NOTICE' ? 'red' : '' }">
|
|
|
|
{{ `${threeLevel.name} (${threeLevel.total})` }}</div>
|
|
|
|
{{ `${threeLevel.name} (${threeLevel.total})` }}</div>
|
|
|
|
</a-tree-node>
|
|
|
|
</a-tree-node>
|
|
|
|
</a-tree-node>
|
|
|
|
</a-tree-node>
|
|
|
@ -228,9 +228,9 @@
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<span class="tab-btn"> <a-icon type="redo" :style="{ fontSize: '16px' }" /> 刷新 </span>
|
|
|
|
<span class="tab-btn"> <a-icon type="redo" :style="{ fontSize: '16px' }" /> 刷新 </span>
|
|
|
|
</a-popconfirm>
|
|
|
|
</a-popconfirm>
|
|
|
|
<!-- <span class="tab-btn" @click="tableHeaderEdit">
|
|
|
|
<span class="tab-btn" @click="tableHeaderEdit">
|
|
|
|
<a-icon type="setting" :style="{ fontSize: '14px' }" />
|
|
|
|
<a-icon type="setting" :style="{ fontSize: '14px' }" />
|
|
|
|
</span> -->
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</vxe-toolbar>
|
|
|
|
</vxe-toolbar>
|
|
|
@ -245,104 +245,18 @@
|
|
|
|
<template #status="{ row }">
|
|
|
|
<template #status="{ row }">
|
|
|
|
<span>{{ selectStatus(row.status) }}</span>
|
|
|
|
<span>{{ selectStatus(row.status) }}</span>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<template #iS_EXCEPT="{ row }">
|
|
|
|
|
|
|
|
<span v-if="row.iS_EXCEPT==1">异常</span>
|
|
|
|
|
|
|
|
<span v-if="row.iS_EXCEPT==0">未异常</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template #iS_COMPLETE="{ row }">
|
|
|
|
|
|
|
|
<span v-if="row.iS_COMPLETE==1">已完成</span>
|
|
|
|
|
|
|
|
<span v-if="row.iS_COMPLETE==0">未完成</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template #iS_PUBLIC="{ row }">
|
|
|
|
|
|
|
|
<span v-if="row.iS_PUBLIC==1">公共</span>
|
|
|
|
|
|
|
|
<span v-if="row.iS_PUBLIC==0">非公共</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template #iS_SET_AUTO_EMAIL="{ row }">
|
|
|
|
|
|
|
|
<span v-if="row.iS_SET_AUTO_EMAIL==1">是</span>
|
|
|
|
|
|
|
|
<span v-if="row.iS_SET_AUTO_EMAIL==0">否</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template #iS_DONGSH_RECV="{ row }">
|
|
|
|
|
|
|
|
<span v-if="row.iS_DONGSH_RECV==1">是</span>
|
|
|
|
|
|
|
|
<span v-if="row.iS_DONGSH_RECV==0">否</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template #iS_DONGSH_RESULT="{ row }">
|
|
|
|
|
|
|
|
<span v-if="row.iS_DONGSH_RESULT==1">是</span>
|
|
|
|
|
|
|
|
<span v-if="row.iS_DONGSH_RESULT==0">否</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template #iS_WEEK_DIFF="{ row }">
|
|
|
|
|
|
|
|
<span v-if="row.iS_WEEK_DIFF==1">是</span>
|
|
|
|
|
|
|
|
<span v-if="row.iS_WEEK_DIFF==0">否</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template #iS_PRICE_DATE_DIFF="{ row }">
|
|
|
|
|
|
|
|
<span v-if="row.iS_PRICE_DATE_DIFF==1">是</span>
|
|
|
|
|
|
|
|
<span v-if="row.iS_PRICE_DATE_DIFF==0">否</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template #iS_TRANSFER="{ row }">
|
|
|
|
|
|
|
|
<span v-if="row.iS_TRANSFER==1">是</span>
|
|
|
|
|
|
|
|
<span v-if="row.iS_TRANSFER==0">否</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template #iS_CUT_DATE_ADVANCED="{ row }">
|
|
|
|
|
|
|
|
<span v-if="row.iS_CUT_DATE_ADVANCED==1">是</span>
|
|
|
|
|
|
|
|
<span v-if="row.iS_CUT_DATE_ADVANCED==0">否</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template #iS_UPDATE_BOOKING="{ row }">
|
|
|
|
|
|
|
|
<span v-if="row.iS_UPDATE_BOOKING==1">是</span>
|
|
|
|
|
|
|
|
<span v-if="row.iS_UPDATE_BOOKING==0">否</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template #iS_SEND_EMAIL="{ row }">
|
|
|
|
|
|
|
|
<span v-if="row.iS_SEND_EMAIL==1">已发送</span>
|
|
|
|
|
|
|
|
<span v-if="row.iS_SEND_EMAIL==0">未发送</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template #iS_CHANGE="{ row }">
|
|
|
|
|
|
|
|
<span v-if="row.iS_CHANGE==1">已发送</span>
|
|
|
|
|
|
|
|
<span v-if="row.iS_CHANGE==0">未发送</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template #iS_EMAIL_SEND="{ row }">
|
|
|
|
|
|
|
|
<span v-if="row.iS_EMAIL_SEND==1">已推送</span>
|
|
|
|
|
|
|
|
<span v-if="row.iS_EMAIL_SEND==0">未推送</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template #procesS_STATUS="{ row }">
|
|
|
|
|
|
|
|
<span v-if="row.procesS_STATUS=='TEMP'">待处理</span>
|
|
|
|
|
|
|
|
<span v-if="row.procesS_STATUS=='SUCC'">处理成功</span>
|
|
|
|
|
|
|
|
<span v-if="row.procesS_STATUS=='FAILURE'">失败</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template #cautioN_NOTICE_TYPE="{ row }">
|
|
|
|
|
|
|
|
<span v-if="row.cautioN_NOTICE_TYPE=='WeekAt'">计费周差异</span>
|
|
|
|
|
|
|
|
<span v-if="row.cautioN_NOTICE_TYPE=='PriceCalcDate'">计费日期差异</span>
|
|
|
|
|
|
|
|
<span v-if="row.cautioN_NOTICE_TYPE=='ChangeTransfer'">直达转为中转</span>
|
|
|
|
|
|
|
|
<span v-if="row.cautioN_NOTICE_TYPE=='ChangeVesselVoyno'">船名航次变化</span>
|
|
|
|
|
|
|
|
<span v-if="row.cautioN_NOTICE_TYPE=='VGMCutDateAdvanced'">VGM截止时间提前</span>
|
|
|
|
|
|
|
|
<span v-if="row.cautioN_NOTICE_TYPE=='SICutDateAdvanced'">SI截止时间提前</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template #ouT_BUSI_TYPE="{ row }">
|
|
|
|
|
|
|
|
<span v-if="row.ouT_BUSI_TYPE==' SPLIT'">已拆单</span>
|
|
|
|
|
|
|
|
<span v-else>未拆单</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template #sI_SUBTYPE="{ row }">
|
|
|
|
|
|
|
|
<span v-if="row.sI_SUBTYPE=='BOOK_ORDER'">订舱</span>
|
|
|
|
|
|
|
|
<span v-if="row.sI_SUBTYPE=='MAIL_RECV'">邮件接受</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template #plaN_TYPE="{ row }">
|
|
|
|
|
|
|
|
<span v-if="row.plaN_TYPE=='Rolling'">预甩货</span>
|
|
|
|
|
|
|
|
<span v-if="row.plaN_TYPE=='Transfer'">中专预甩</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template #busI_TYPE="{ row }">
|
|
|
|
|
|
|
|
<span v-if="row.busI_TYPE=='BookingConfirmation'">订舱</span>
|
|
|
|
|
|
|
|
<span v-if="row.busI_TYPE=='BookingAmendment'">订舱变更</span>
|
|
|
|
|
|
|
|
<span v-if="row.busI_TYPE=='BookingCancellation'">订舱取消</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template #truckName="{ row }">
|
|
|
|
<template #truckName="{ row }">
|
|
|
|
<a-icon @click="handleOpen(row)" style="cursor: pointer;" type="edit" />
|
|
|
|
<a-icon @click="handleOpen(row)" style="cursor: pointer;" type="edit" />
|
|
|
|
{{ row.trucK_NAME }}
|
|
|
|
{{ row.truckName }}
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<template #taskType="{ row }">
|
|
|
|
<template #taskType="{ row }">
|
|
|
|
<span>{{ filterType(row.tasK_TYPE) }}</span>
|
|
|
|
<span>{{ filterType(row.taskType) }}</span>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<template #taskScource="{ row }">
|
|
|
|
<template #taskScource="{ row }">
|
|
|
|
<span>{{ filterScource(row.tasK_SOURCE) }}</span>
|
|
|
|
<span>{{ filterScource(row.taskSource) }}</span>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<template #taskTitle="{ row }">
|
|
|
|
<template #taskTitle="{ row }">
|
|
|
|
<span class="task-tit" @click="changePage(row)">{{ row.tasK_TITLE }}</span>
|
|
|
|
<span class="task-tit" @click="changePage(row)">{{ row.taskTitle }}</span>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<template #operate="{ row }">
|
|
|
|
<template #operate="{ row }">
|
|
|
|
<vxe-button class="operate-btn" type="text" icon="vxe-icon-edit" @click="changePage(row)"></vxe-button>
|
|
|
|
<vxe-button class="operate-btn" type="text" icon="vxe-icon-edit" @click="changePage(row)"></vxe-button>
|
|
|
@ -567,11 +481,11 @@ export default {
|
|
|
|
if (this.saveNeedCar !== null && this.saveNeedCar !== '') {
|
|
|
|
if (this.saveNeedCar !== null && this.saveNeedCar !== '') {
|
|
|
|
let index = 0
|
|
|
|
let index = 0
|
|
|
|
this.gridOptions.data.forEach((ite, inde) => {
|
|
|
|
this.gridOptions.data.forEach((ite, inde) => {
|
|
|
|
if (ite.pK_ID === this.saveNeedCar) {
|
|
|
|
if (ite.pkId === this.saveNeedCar) {
|
|
|
|
index = inde
|
|
|
|
index = inde
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
|
GetTaskManagePage({ pK_ID: this.saveNeedCar })
|
|
|
|
GetTaskManagePage({ pkId: this.saveNeedCar })
|
|
|
|
.then(res => {
|
|
|
|
.then(res => {
|
|
|
|
if (res.success) {
|
|
|
|
if (res.success) {
|
|
|
|
this.$set(this.gridOptions.data, index, res.data.items[0])
|
|
|
|
this.$set(this.gridOptions.data, index, res.data.items[0])
|
|
|
@ -674,7 +588,6 @@ export default {
|
|
|
|
},
|
|
|
|
},
|
|
|
|
// 页数计算
|
|
|
|
// 页数计算
|
|
|
|
paperCalcVisible: false,
|
|
|
|
paperCalcVisible: false,
|
|
|
|
taskTypeColumeList: [],
|
|
|
|
|
|
|
|
paperCalcRes: [],
|
|
|
|
paperCalcRes: [],
|
|
|
|
paperCalcColumns: [
|
|
|
|
paperCalcColumns: [
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -740,7 +653,7 @@ export default {
|
|
|
|
},
|
|
|
|
},
|
|
|
|
handleSaveSend() {
|
|
|
|
handleSaveSend() {
|
|
|
|
const data = {
|
|
|
|
const data = {
|
|
|
|
taskPKId: this.editRow.pK_ID,
|
|
|
|
taskPKId: this.editRow.pkId,
|
|
|
|
truckId: this.selectCar,
|
|
|
|
truckId: this.selectCar,
|
|
|
|
truckCode: this.selectCarCode,
|
|
|
|
truckCode: this.selectCarCode,
|
|
|
|
truckName: this.selectCarName,
|
|
|
|
truckName: this.selectCarName,
|
|
|
@ -764,7 +677,7 @@ export default {
|
|
|
|
},
|
|
|
|
},
|
|
|
|
handleChangeCar() {
|
|
|
|
handleChangeCar() {
|
|
|
|
const data = {
|
|
|
|
const data = {
|
|
|
|
taskPKId: this.editRow.pK_ID,
|
|
|
|
taskPKId: this.editRow.pkId,
|
|
|
|
truckId: this.selectCar,
|
|
|
|
truckId: this.selectCar,
|
|
|
|
truckCode: this.selectCarCode,
|
|
|
|
truckCode: this.selectCarCode,
|
|
|
|
truckName: this.selectCarName,
|
|
|
|
truckName: this.selectCarName,
|
|
|
@ -920,7 +833,7 @@ export default {
|
|
|
|
},
|
|
|
|
},
|
|
|
|
getConfigUser(isInit = false) {
|
|
|
|
getConfigUser(isInit = false) {
|
|
|
|
const query = {
|
|
|
|
const query = {
|
|
|
|
typeArr: ['task_list_cond', 'task_list_page']
|
|
|
|
typeArr: ['task_list_cond', 'task_list_column', 'task_list_page']
|
|
|
|
}
|
|
|
|
}
|
|
|
|
DjyUserConfigMulti(this.$qs.stringify(query, { arrayFormat: 'repeat' })).then(res => {
|
|
|
|
DjyUserConfigMulti(this.$qs.stringify(query, { arrayFormat: 'repeat' })).then(res => {
|
|
|
|
const $data = {}
|
|
|
|
const $data = {}
|
|
|
@ -929,6 +842,9 @@ export default {
|
|
|
|
case 'task_list_cond':
|
|
|
|
case 'task_list_cond':
|
|
|
|
this.$set($data, 'task_list_cond', item)
|
|
|
|
this.$set($data, 'task_list_cond', item)
|
|
|
|
break
|
|
|
|
break
|
|
|
|
|
|
|
|
case 'task_list_column':
|
|
|
|
|
|
|
|
this.$set($data, 'task_list_column', item)
|
|
|
|
|
|
|
|
break
|
|
|
|
case 'task_list_page':
|
|
|
|
case 'task_list_page':
|
|
|
|
this.setPageSize(item)
|
|
|
|
this.setPageSize(item)
|
|
|
|
break
|
|
|
|
break
|
|
|
@ -940,26 +856,11 @@ export default {
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
this.setFormData({}, false, true)
|
|
|
|
this.setFormData({}, false, true)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// if (Object.keys($data).includes('task_list_column')) {
|
|
|
|
if (Object.keys($data).includes('task_list_column')) {
|
|
|
|
// this.setTableList($data.task_list_column)
|
|
|
|
this.setTableList($data.task_list_column)
|
|
|
|
// } else {
|
|
|
|
} else {
|
|
|
|
// this.setTableList({})
|
|
|
|
this.setTableList({})
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
const query1 = {
|
|
|
|
|
|
|
|
typeArr: ['basic', 'SI_FEEDBACK', 'BC', 'PER_BILL', 'TRUCK_DISPATCH', 'CUT_MODIFY', 'ROLLING_NOMINATION', 'DRAFT', 'POD_DISCHARGE_FULL', 'CAUTION_NOTICE', 'ROUTE_CUT_CHANGE']
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
DjyUserConfigMulti(this.$qs.stringify(query1, { arrayFormat: 'repeat' })).then(res => {
|
|
|
|
|
|
|
|
if (res.data.length > 0) {
|
|
|
|
|
|
|
|
const arr = []
|
|
|
|
|
|
|
|
res.data.forEach(item => {
|
|
|
|
|
|
|
|
arr.push({
|
|
|
|
|
|
|
|
list: JSON.parse(item.configJson),
|
|
|
|
|
|
|
|
type: item.type
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
this.taskTypeColumeList = arr
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
})
|
|
|
|
},
|
|
|
|
},
|
|
|
|
setFormData(data, isReset = false, isInit = false) {
|
|
|
|
setFormData(data, isReset = false, isInit = false) {
|
|
|
@ -1123,7 +1024,7 @@ export default {
|
|
|
|
FnPrint() {
|
|
|
|
FnPrint() {
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
return item.pK_ID
|
|
|
|
return item.pkId
|
|
|
|
})
|
|
|
|
})
|
|
|
|
if (pkIdArr.length != 1) {
|
|
|
|
if (pkIdArr.length != 1) {
|
|
|
|
this.$message.error('请仅选择一条数据')
|
|
|
|
this.$message.error('请仅选择一条数据')
|
|
|
@ -1142,7 +1043,7 @@ export default {
|
|
|
|
FnSendCar() {
|
|
|
|
FnSendCar() {
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
return item.pK_ID
|
|
|
|
return item.pkId
|
|
|
|
})
|
|
|
|
})
|
|
|
|
if (pkIdArr.length === 0) {
|
|
|
|
if (pkIdArr.length === 0) {
|
|
|
|
this.$message.error('请选择数据')
|
|
|
|
this.$message.error('请选择数据')
|
|
|
@ -1183,7 +1084,7 @@ export default {
|
|
|
|
CancelSendCar() {
|
|
|
|
CancelSendCar() {
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
return item.pK_ID
|
|
|
|
return item.pkId
|
|
|
|
})
|
|
|
|
})
|
|
|
|
if (pkIdArr.length === 0) {
|
|
|
|
if (pkIdArr.length === 0) {
|
|
|
|
this.$message.error('请选择数据')
|
|
|
|
this.$message.error('请选择数据')
|
|
|
@ -1224,14 +1125,16 @@ export default {
|
|
|
|
this.activeTreeKey = selectedKeys
|
|
|
|
this.activeTreeKey = selectedKeys
|
|
|
|
if (selectedKeys.length === 0) {
|
|
|
|
if (selectedKeys.length === 0) {
|
|
|
|
this.gridOptions.loading = true
|
|
|
|
this.gridOptions.loading = true
|
|
|
|
this.formRes.taskType = ''
|
|
|
|
|
|
|
|
this.init()
|
|
|
|
this.init()
|
|
|
|
return false
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
const indexArr = selectedKeys[0].split('-')
|
|
|
|
const indexArr = selectedKeys[0].split('-')
|
|
|
|
|
|
|
|
console.log(indexArr)
|
|
|
|
if (indexArr.length > 2) {
|
|
|
|
if (indexArr.length > 2) {
|
|
|
|
const key = this.levelTree[indexArr[2]].actionKey
|
|
|
|
const key = this.levelTree[indexArr[2]].actionKey
|
|
|
|
const action = key.split('#')
|
|
|
|
const action = key.split('#')
|
|
|
|
|
|
|
|
console.log('=== activeTreeKey ===', this.activeTreeKey)
|
|
|
|
|
|
|
|
console.log('选择', indexArr[2], key)
|
|
|
|
this.taskType = action[2]
|
|
|
|
this.taskType = action[2]
|
|
|
|
this.form.setFieldsValue({
|
|
|
|
this.form.setFieldsValue({
|
|
|
|
taskCategory: action[0],
|
|
|
|
taskCategory: action[0],
|
|
|
@ -1240,24 +1143,6 @@ export default {
|
|
|
|
})
|
|
|
|
})
|
|
|
|
this.formRes.taskCategory = action[0]
|
|
|
|
this.formRes.taskCategory = action[0]
|
|
|
|
this.formRes.taskType = action[2]
|
|
|
|
this.formRes.taskType = action[2]
|
|
|
|
let columnsArr1 = []
|
|
|
|
|
|
|
|
let columnsArr2 = []
|
|
|
|
|
|
|
|
this.taskTypeColumeList.forEach(item => {
|
|
|
|
|
|
|
|
if (item.type === action[2]) {
|
|
|
|
|
|
|
|
columnsArr1 = item.list
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (item.type === 'basic') {
|
|
|
|
|
|
|
|
columnsArr2 = item.list
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
if (columnsArr1.length === 0 && columnsArr2.length === 0) {
|
|
|
|
|
|
|
|
this.gridOptions.columns = JSON.parse(JSON.stringify(initData.columns))
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
const arr = columnsArr2.concat(columnsArr1)
|
|
|
|
|
|
|
|
arr.push({ field: 'operate', title: '操作', width: 100, noDraggable: true, slots: { default: 'operate' }, fixed: 'right', resizable: false })
|
|
|
|
|
|
|
|
arr.unshift({ type: 'checkbox', width: 60, noDraggable: true })
|
|
|
|
|
|
|
|
this.gridOptions.columns = arr
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
this.init({
|
|
|
|
this.init({
|
|
|
|
taskCategory: action[0],
|
|
|
|
taskCategory: action[0],
|
|
|
|
status: action[1],
|
|
|
|
status: action[1],
|
|
|
@ -1282,7 +1167,6 @@ export default {
|
|
|
|
this.activeTreeKey = []
|
|
|
|
this.activeTreeKey = []
|
|
|
|
},
|
|
|
|
},
|
|
|
|
init(queryParam = {}) {
|
|
|
|
init(queryParam = {}) {
|
|
|
|
console.log(queryParam)
|
|
|
|
|
|
|
|
this.gridOptions.pagerConfig = {
|
|
|
|
this.gridOptions.pagerConfig = {
|
|
|
|
total: 0,
|
|
|
|
total: 0,
|
|
|
|
currentPage: 1,
|
|
|
|
currentPage: 1,
|
|
|
@ -1559,114 +1443,107 @@ export default {
|
|
|
|
},
|
|
|
|
},
|
|
|
|
changePage(data) {
|
|
|
|
changePage(data) {
|
|
|
|
console.log(data)
|
|
|
|
console.log(data)
|
|
|
|
if (data.tasK_TYPE === 'VGM_COMPARE') {
|
|
|
|
if (data.taskType === 'VGM_COMPARE') {
|
|
|
|
// VGM比对查看页面
|
|
|
|
// VGM比对查看页面
|
|
|
|
this.$router.push({
|
|
|
|
this.$router.push({
|
|
|
|
path: '/commontaskmanage/TaskVgmContrast',
|
|
|
|
path: '/commontaskmanage/TaskVgmContrast',
|
|
|
|
query: { taskPKId: data.pK_ID, type: data.status }
|
|
|
|
query: { taskPKId: data.pkId, type: data.status }
|
|
|
|
})
|
|
|
|
})
|
|
|
|
} else if (data.tasK_TYPE === 'INVOICE_BILL_MAIL') {
|
|
|
|
} else if (data.taskType === 'INVOICE_BILL_MAIL') {
|
|
|
|
// 航次账单查看
|
|
|
|
// 航次账单查看
|
|
|
|
this.$router.push({ path: '/commontaskmanage/VoyageBill', query: { taskPKId: data.pK_ID } })
|
|
|
|
this.$router.push({ path: '/commontaskmanage/VoyageBill', query: { taskPKId: data.pkId } })
|
|
|
|
} else if (data.tasK_TYPE === 'PER_BILL') {
|
|
|
|
} else if (data.taskType === 'PER_BILL') {
|
|
|
|
// 单票账单查看
|
|
|
|
// 单票账单查看
|
|
|
|
this.$router.push({ path: '/commontaskmanage/singleTicket', query: { taskPKId: data.pK_ID } })
|
|
|
|
this.$router.push({ path: '/commontaskmanage/singleTicket', query: { taskPKId: data.pkId } })
|
|
|
|
} else if (data.tasK_TYPE === 'CHANGE_SHIP') {
|
|
|
|
} else if (data.taskType === 'CHANGE_SHIP') {
|
|
|
|
// 换船通知查看
|
|
|
|
// 换船通知查看
|
|
|
|
this.$router.push({ path: '/commontaskmanage/TaskChangeShip', query: { taskPKId: data.pK_ID, type: 'change' } })
|
|
|
|
this.$router.push({ path: '/commontaskmanage/TaskChangeShip', query: { taskPKId: data.pkId, type: 'change' } })
|
|
|
|
} else if (data.tasK_TYPE === 'ABORT_CHANGE_SHIP') {
|
|
|
|
} else if (data.taskType === 'ABORT_CHANGE_SHIP') {
|
|
|
|
// 取消换船通知查看
|
|
|
|
// 取消换船通知查看
|
|
|
|
this.$router.push({
|
|
|
|
this.$router.push({
|
|
|
|
path: '/commontaskmanage/TaskChangeShip',
|
|
|
|
path: '/commontaskmanage/TaskChangeShip',
|
|
|
|
query: { taskPKId: data.pK_ID, type: 'abortChange' }
|
|
|
|
query: { taskPKId: data.pkId, type: 'abortChange' }
|
|
|
|
})
|
|
|
|
})
|
|
|
|
} else if (data.tasK_TYPE === 'ORIGINAL_LOST') {
|
|
|
|
} else if (data.taskType === 'ORIGINAL_LOST') {
|
|
|
|
// 正本缺失查看
|
|
|
|
// 正本缺失查看
|
|
|
|
this.$router.push({ path: '/commontaskmanage/TaskOriginalLost', query: { taskPKId: data.pK_ID } })
|
|
|
|
this.$router.push({ path: '/commontaskmanage/TaskOriginalLost', query: { taskPKId: data.pkId } })
|
|
|
|
} else if (data.tasK_TYPE === 'SHIPPING_ORDER') {
|
|
|
|
} else if (data.taskType === 'SHIPPING_ORDER') {
|
|
|
|
// 订舱详情查看
|
|
|
|
// 订舱详情查看
|
|
|
|
this.$router.push({ path: '/commontaskmanage/BookingDetails', query: { taskPKId: data.pK_ID } })
|
|
|
|
this.$router.push({ path: '/commontaskmanage/BookingDetails', query: { taskPKId: data.pkId } })
|
|
|
|
} else if (data.tasK_TYPE === 'SI_FEEDBACK') {
|
|
|
|
} else if (data.taskType === 'SI_FEEDBACK') {
|
|
|
|
// 订舱详情编辑
|
|
|
|
// 订舱详情编辑
|
|
|
|
this.$router.push({ path: '/commontaskmanage/TaskmanageDetail', query: { taskPKId: data.pK_ID } })
|
|
|
|
this.$router.push({ path: '/commontaskmanage/TaskmanageDetail', query: { taskPKId: data.pkId } })
|
|
|
|
} else if (data.tasK_TYPE === 'TRUCK_DISPATCH') {
|
|
|
|
} else if (data.taskType === 'TRUCK_DISPATCH') {
|
|
|
|
// 派车编辑
|
|
|
|
// 派车编辑
|
|
|
|
// this.$router.push({ path: '/commontaskmanage/TaskmanageDetail', query: { taskPKId: data.pK_ID } })
|
|
|
|
// this.$router.push({ path: '/commontaskmanage/TaskmanageDetail', query: { taskPKId: data.pkId } })
|
|
|
|
this.$router.push({
|
|
|
|
this.$router.push({
|
|
|
|
name: 'SendCarAdd',
|
|
|
|
name: 'SendCarAdd',
|
|
|
|
query: {
|
|
|
|
query: {
|
|
|
|
type: 'Edit',
|
|
|
|
type: 'Edit',
|
|
|
|
taskPKId: data.pK_ID
|
|
|
|
taskPKId: data.pkId
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
|
} else if (data.tasK_TYPE === 'BC') {
|
|
|
|
} else if (data.taskType === 'BC') {
|
|
|
|
// BC详情
|
|
|
|
// BC详情
|
|
|
|
// this.$router.push({ path: '/commontaskmanage/BcFileDetail', query: { taskPKId: data.pK_ID } })
|
|
|
|
// this.$router.push({ path: '/commontaskmanage/BcFileDetail', query: { taskPKId: data.pkId } })
|
|
|
|
// BC编辑
|
|
|
|
// BC编辑
|
|
|
|
this.$router.push({ path: '/commontaskmanage/BcEditing', query: { taskPKId: data.pK_ID } })
|
|
|
|
this.$router.push({ path: '/commontaskmanage/BcEditing', query: { taskPKId: data.pkId } })
|
|
|
|
} else if (data.tasK_TYPE === 'BC_MODIFY') {
|
|
|
|
} else if (data.taskType === 'BC_MODIFY') {
|
|
|
|
// BC变更
|
|
|
|
// BC变更
|
|
|
|
this.$router.push({ path: '/commontaskmanage/BCModify', query: { taskPKId: data.pK_ID } })
|
|
|
|
this.$router.push({ path: '/commontaskmanage/BCModify', query: { taskPKId: data.pkId } })
|
|
|
|
} else if (data.tasK_TYPE === 'CANCELLATION') {
|
|
|
|
} else if (data.taskType === 'CANCELLATION') {
|
|
|
|
// Cancellation
|
|
|
|
// Cancellation
|
|
|
|
this.$router.push({ path: '/commontaskmanage/Cancellation', query: { taskPKId: data.pK_ID } })
|
|
|
|
this.$router.push({ path: '/commontaskmanage/Cancellation', query: { taskPKId: data.pkId } })
|
|
|
|
} else if (data.tasK_TYPE === 'ROLLING_NOMINATION') {
|
|
|
|
} else if (data.taskType === 'ROLLING_NOMINATION') {
|
|
|
|
// ROLLING_NOMINATION
|
|
|
|
|
|
|
|
this.$router.push({ path: '/commontaskmanage/rollingNomination', query: { taskPKId: data.pK_ID } })
|
|
|
|
|
|
|
|
} else if (data.tasK_TYPE === 'VGM_FEEDBACK') {
|
|
|
|
|
|
|
|
// ROLLING_NOMINATION
|
|
|
|
// ROLLING_NOMINATION
|
|
|
|
this.$router.push({ path: '/commontaskmanage/vgmDetail', query: { taskPKId: data.pK_ID, type: 'VGM_FEEDBACK' } })
|
|
|
|
this.$router.push({ path: '/commontaskmanage/rollingNomination', query: { taskPKId: data.pkId } })
|
|
|
|
} else if (data.tasK_TYPE === 'CAUTION_NOTICE') {
|
|
|
|
} else if (data.taskType === 'VGM_FEEDBACK') {
|
|
|
|
// ROLLING_NOMINATION
|
|
|
|
// ROLLING_NOMINATION
|
|
|
|
this.$router.push({ path: '/commontaskmanage/cautionNotice', query: { taskPKId: data.pK_ID } })
|
|
|
|
this.$router.push({ path: '/commontaskmanage/vgmDetail', query: { taskPKId: data.pkId, type: 'VGM_FEEDBACK' } })
|
|
|
|
} else if (data.tasK_TYPE === 'VGM_MISSING') {
|
|
|
|
} else if (data.taskType === 'CAUTION_NOTICE') {
|
|
|
|
// ROLLING_NOMINATION
|
|
|
|
// ROLLING_NOMINATION
|
|
|
|
this.$router.push({ path: '/commontaskmanage/vgmDetail', query: { taskPKId: data.pK_ID, type: 'VGM_MISSING' } })
|
|
|
|
this.$router.push({ path: '/commontaskmanage/cautionNotice', query: { taskPKId: data.pkId } })
|
|
|
|
} else if (data.tasK_TYPE === 'CUT_MODIFY') {
|
|
|
|
} else if (data.taskType === 'VGM_MISSING') {
|
|
|
|
// ROLLING_NOMINATION
|
|
|
|
// ROLLING_NOMINATION
|
|
|
|
this.$router.push({ path: '/commontaskmanage/cutTime', query: { taskPKId: data.pK_ID } })
|
|
|
|
this.$router.push({ path: '/commontaskmanage/vgmDetail', query: { taskPKId: data.pkId, type: 'VGM_MISSING' } })
|
|
|
|
} else if (data.tasK_TYPE === 'POD_DISCHARGE_FULL') {
|
|
|
|
} else if (data.taskType === 'CUT_MODIFY') {
|
|
|
|
// ROLLING_NOMINATION
|
|
|
|
// ROLLING_NOMINATION
|
|
|
|
this.$router.push({ path: '/commontaskmanage/POD_DISCHARGE_FULL', query: { taskPKId: data.pK_ID } })
|
|
|
|
this.$router.push({ path: '/commontaskmanage/cutTime', query: { taskPKId: data.pkId } })
|
|
|
|
} else if (data.tasK_TYPE === 'TRNAS_PLAN_HAS_CHANGE') {
|
|
|
|
} else if (data.taskType === 'POD_DISCHARGE_FULL') {
|
|
|
|
// ROLLING_NOMINATION
|
|
|
|
// ROLLING_NOMINATION
|
|
|
|
this.$router.push({ path: '/commontaskmanage/trnasPlan', query: { taskPKId: data.pK_ID } })
|
|
|
|
this.$router.push({ path: '/commontaskmanage/POD_DISCHARGE_FULL', query: { taskPKId: data.pkId } })
|
|
|
|
} else if (data.tasK_TYPE === 'DRAFT') {
|
|
|
|
} else if (data.taskType === 'DRAFT') {
|
|
|
|
// ROLLING_NOMINATION
|
|
|
|
// ROLLING_NOMINATION
|
|
|
|
this.$router.push({ path: '/commontaskmanage/draft', query: { taskPKId: data.pK_ID } })
|
|
|
|
this.$router.push({ path: '/commontaskmanage/draft', query: { taskPKId: data.pkId } })
|
|
|
|
} else if (data.tasK_TYPE === 'ROUTE_CUT_CHANGE') {
|
|
|
|
} else if (data.taskType === 'ROUTE_CUT_CHANGE') {
|
|
|
|
// ROLLING_NOMINATION
|
|
|
|
// ROLLING_NOMINATION
|
|
|
|
this.$router.push({ path: '/commontaskmanage/cutChange', query: { taskPKId: data.pK_ID } })
|
|
|
|
this.$router.push({ path: '/commontaskmanage/cutChange', query: { taskPKId: data.pkId } })
|
|
|
|
} else if (data.tasK_TYPE === 'POD_GATEOUT_FULL') {
|
|
|
|
} else if (data.taskType === 'POD_GATEOUT_FULL') {
|
|
|
|
// ROLLING_NOMINATION
|
|
|
|
// ROLLING_NOMINATION
|
|
|
|
this.$router.push({ path: '/commontaskmanage/POD_GATEOUT_FULL', query: { taskPKId: data.pK_ID } })
|
|
|
|
this.$router.push({ path: '/commontaskmanage/POD_GATEOUT_FULL', query: { taskPKId: data.pkId } })
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
// 订舱详情查看
|
|
|
|
// 订舱详情查看
|
|
|
|
this.$router.push({ path: '/commontaskmanage/BookingDetails', query: { taskPKId: data.pK_ID } })
|
|
|
|
this.$router.push({ path: '/commontaskmanage/BookingDetails', query: { taskPKId: data.pkId } })
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
filterType(val) {
|
|
|
|
filterType(val) {
|
|
|
|
const res = this.taskTypeList.filter((item, index) => {
|
|
|
|
const res = this.taskTypeList.filter((item, index) => {
|
|
|
|
return item.code === val
|
|
|
|
return item.code === val
|
|
|
|
})
|
|
|
|
})
|
|
|
|
if (res.length > 0) {
|
|
|
|
return res[0].name
|
|
|
|
return res[0].name
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
filterScource(val) {
|
|
|
|
filterScource(val) {
|
|
|
|
const res = this.sourceList.filter((item, index) => {
|
|
|
|
const res = this.sourceList.filter((item, index) => {
|
|
|
|
return item.code === val
|
|
|
|
return item.code === val
|
|
|
|
})
|
|
|
|
})
|
|
|
|
if (res.length > 0) {
|
|
|
|
return res[0].name
|
|
|
|
return res[0].name
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
cancelFun() {},
|
|
|
|
cancelFun() {},
|
|
|
|
// 取消
|
|
|
|
// 取消
|
|
|
|
removeFun() {
|
|
|
|
removeFun() {
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
return item.pK_ID
|
|
|
|
return item.pkId
|
|
|
|
})
|
|
|
|
})
|
|
|
|
console.log('当前选中', pkIdArr)
|
|
|
|
console.log('当前选中', pkIdArr)
|
|
|
|
if (pkIdArr.length === 0) {
|
|
|
|
if (pkIdArr.length === 0) {
|
|
|
@ -1692,7 +1569,7 @@ export default {
|
|
|
|
submitFun() {
|
|
|
|
submitFun() {
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
return item.pK_ID
|
|
|
|
return item.pkId
|
|
|
|
})
|
|
|
|
})
|
|
|
|
console.log('当前选中', pkIdArr)
|
|
|
|
console.log('当前选中', pkIdArr)
|
|
|
|
if (pkIdArr.length === 0) {
|
|
|
|
if (pkIdArr.length === 0) {
|
|
|
@ -1718,7 +1595,7 @@ export default {
|
|
|
|
downloadFun() {
|
|
|
|
downloadFun() {
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
return item.pK_ID
|
|
|
|
return item.pkId
|
|
|
|
})
|
|
|
|
})
|
|
|
|
console.log('当前选中', pkIdArr)
|
|
|
|
console.log('当前选中', pkIdArr)
|
|
|
|
if (pkIdArr.length === 0) {
|
|
|
|
if (pkIdArr.length === 0) {
|
|
|
@ -1761,7 +1638,7 @@ export default {
|
|
|
|
// 未找到接口
|
|
|
|
// 未找到接口
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
return item.pK_ID
|
|
|
|
return item.pkId
|
|
|
|
})
|
|
|
|
})
|
|
|
|
if (pkIdArr.length === 0) {
|
|
|
|
if (pkIdArr.length === 0) {
|
|
|
|
this.$message.error('请选择数据')
|
|
|
|
this.$message.error('请选择数据')
|
|
|
@ -1784,7 +1661,7 @@ export default {
|
|
|
|
SendEmailFun() {
|
|
|
|
SendEmailFun() {
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
return item.pK_ID
|
|
|
|
return item.pkId
|
|
|
|
})
|
|
|
|
})
|
|
|
|
console.log('当前选中', pkIdArr)
|
|
|
|
console.log('当前选中', pkIdArr)
|
|
|
|
if (pkIdArr.length === 0) {
|
|
|
|
if (pkIdArr.length === 0) {
|
|
|
@ -1827,7 +1704,7 @@ export default {
|
|
|
|
laraPaperCalc() {
|
|
|
|
laraPaperCalc() {
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
return item.pK_ID
|
|
|
|
return item.pkId
|
|
|
|
})
|
|
|
|
})
|
|
|
|
if (pkIdArr.length === 0) {
|
|
|
|
if (pkIdArr.length === 0) {
|
|
|
|
this.$message.error('请选择数据')
|
|
|
|
this.$message.error('请选择数据')
|
|
|
@ -1855,7 +1732,7 @@ export default {
|
|
|
|
copyPrintFun() {
|
|
|
|
copyPrintFun() {
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
return item.pK_ID
|
|
|
|
return item.pkId
|
|
|
|
})
|
|
|
|
})
|
|
|
|
if (pkIdArr.length === 0) {
|
|
|
|
if (pkIdArr.length === 0) {
|
|
|
|
this.$message.error('请选择数据')
|
|
|
|
this.$message.error('请选择数据')
|
|
|
@ -1895,7 +1772,7 @@ export default {
|
|
|
|
copyDownloadFun() {
|
|
|
|
copyDownloadFun() {
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
return item.pK_ID
|
|
|
|
return item.pkId
|
|
|
|
})
|
|
|
|
})
|
|
|
|
if (pkIdArr.length === 0) {
|
|
|
|
if (pkIdArr.length === 0) {
|
|
|
|
this.$message.error('请选择数据')
|
|
|
|
this.$message.error('请选择数据')
|
|
|
@ -1935,7 +1812,7 @@ export default {
|
|
|
|
printBatchFun() {
|
|
|
|
printBatchFun() {
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
return item.pK_ID
|
|
|
|
return item.pkId
|
|
|
|
})
|
|
|
|
})
|
|
|
|
if (pkIdArr.length === 0) {
|
|
|
|
if (pkIdArr.length === 0) {
|
|
|
|
this.$message.error('请选择数据')
|
|
|
|
this.$message.error('请选择数据')
|
|
|
@ -1969,7 +1846,7 @@ export default {
|
|
|
|
laraPaperRegistFun() {
|
|
|
|
laraPaperRegistFun() {
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const select = this.$refs.xGrid.getCheckboxRecords()
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
return item.pK_ID
|
|
|
|
return item.pkId
|
|
|
|
})
|
|
|
|
})
|
|
|
|
if (pkIdArr.length === 0) {
|
|
|
|
if (pkIdArr.length === 0) {
|
|
|
|
this.$message.error('请选择数据')
|
|
|
|
this.$message.error('请选择数据')
|
|
|
@ -1985,7 +1862,7 @@ export default {
|
|
|
|
},
|
|
|
|
},
|
|
|
|
taskDownloadFun(data) {
|
|
|
|
taskDownloadFun(data) {
|
|
|
|
// 非DRAFT 任务类型下,接口报错。
|
|
|
|
// 非DRAFT 任务类型下,接口报错。
|
|
|
|
this.DownloadTaskAttach(data.pK_ID, data.taskTitle)
|
|
|
|
this.DownloadTaskAttach(data.pkId, data.taskTitle)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// onDownloadErrClose() {
|
|
|
|
// onDownloadErrClose() {
|
|
|
|
// console.log('关闭')
|
|
|
|
// console.log('关闭')
|
|
|
|