|
|
@ -4,6 +4,7 @@
|
|
|
|
<a-button type="primary" v-if="details.bsstatus=='' || !details.bsstatus || details.bsstatus == '已录入' || details.bsstatus == '已驳回'" @click="handleSave">保存</a-button>
|
|
|
|
<a-button type="primary" v-if="details.bsstatus=='' || !details.bsstatus || details.bsstatus == '已录入' || details.bsstatus == '已驳回'" @click="handleSave">保存</a-button>
|
|
|
|
<a-button type="primary" @click="handleCopy">复制</a-button>
|
|
|
|
<a-button type="primary" @click="handleCopy">复制</a-button>
|
|
|
|
<a-button type="primary">存为模板</a-button>
|
|
|
|
<a-button type="primary">存为模板</a-button>
|
|
|
|
|
|
|
|
<a-button type="primary" v-if="details.bsstatus" @click="handleOpenStatus">状态历史</a-button>
|
|
|
|
<a-button type="danger" v-if="details.bsstatus == '已录入'" @click="handleDelete">删除</a-button>
|
|
|
|
<a-button type="danger" v-if="details.bsstatus == '已录入'" @click="handleDelete">删除</a-button>
|
|
|
|
<a-button
|
|
|
|
<a-button
|
|
|
|
type="primary"
|
|
|
|
type="primary"
|
|
|
@ -719,6 +720,25 @@
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</a-modal>
|
|
|
|
</a-modal>
|
|
|
|
|
|
|
|
<a-modal
|
|
|
|
|
|
|
|
title="状态历史"
|
|
|
|
|
|
|
|
:maskClosable="false"
|
|
|
|
|
|
|
|
:width="800"
|
|
|
|
|
|
|
|
:visible="statusFlag"
|
|
|
|
|
|
|
|
@cancel="statusFlag=false">
|
|
|
|
|
|
|
|
<div>
|
|
|
|
|
|
|
|
<vxe-table border ref="xTable" :data="statusList">
|
|
|
|
|
|
|
|
<vxe-column field="status" title="业务状态">
|
|
|
|
|
|
|
|
</vxe-column>
|
|
|
|
|
|
|
|
<vxe-column field="opTime" title="状态时间">
|
|
|
|
|
|
|
|
</vxe-column>
|
|
|
|
|
|
|
|
<vxe-column field="remark" title="备注">
|
|
|
|
|
|
|
|
</vxe-column>
|
|
|
|
|
|
|
|
<vxe-column field="createdUserName" title="创建者">
|
|
|
|
|
|
|
|
</vxe-column>
|
|
|
|
|
|
|
|
</vxe-table>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</a-modal>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<script>
|
|
|
|
<script>
|
|
|
@ -805,7 +825,7 @@ export default {
|
|
|
|
},
|
|
|
|
},
|
|
|
|
beforeRouteEnter(to, from, next) {
|
|
|
|
beforeRouteEnter(to, from, next) {
|
|
|
|
next(vm => {
|
|
|
|
next(vm => {
|
|
|
|
vm.getRouterHis()
|
|
|
|
vm.getRouterHisEnter()
|
|
|
|
})
|
|
|
|
})
|
|
|
|
},
|
|
|
|
},
|
|
|
|
data() {
|
|
|
|
data() {
|
|
|
@ -814,6 +834,7 @@ export default {
|
|
|
|
fileList: [],
|
|
|
|
fileList: [],
|
|
|
|
modelconfirm: false,
|
|
|
|
modelconfirm: false,
|
|
|
|
modelVisible: false,
|
|
|
|
modelVisible: false,
|
|
|
|
|
|
|
|
statusFlag: false,
|
|
|
|
textEntryModalVisible: false,
|
|
|
|
textEntryModalVisible: false,
|
|
|
|
textEntryModalTitle: '',
|
|
|
|
textEntryModalTitle: '',
|
|
|
|
historyData: {},
|
|
|
|
historyData: {},
|
|
|
@ -842,6 +863,7 @@ export default {
|
|
|
|
notifypartyname: '',
|
|
|
|
notifypartyname: '',
|
|
|
|
foreignAgentname: '',
|
|
|
|
foreignAgentname: '',
|
|
|
|
descriptionname: '',
|
|
|
|
descriptionname: '',
|
|
|
|
|
|
|
|
statusList: [],
|
|
|
|
isAdd: false,
|
|
|
|
isAdd: false,
|
|
|
|
etdWeek: '',
|
|
|
|
etdWeek: '',
|
|
|
|
details: {
|
|
|
|
details: {
|
|
|
@ -891,7 +913,6 @@ export default {
|
|
|
|
this.id = this.$route.query.id
|
|
|
|
this.id = this.$route.query.id
|
|
|
|
this.isCopy = this.$route.query.isCopy
|
|
|
|
this.isCopy = this.$route.query.isCopy
|
|
|
|
const $data = JSON.parse(JSON.stringify(this.historyData[newId]))
|
|
|
|
const $data = JSON.parse(JSON.stringify(this.historyData[newId]))
|
|
|
|
console.log(this.historyData)
|
|
|
|
|
|
|
|
this.fileList = $data.fileList
|
|
|
|
this.fileList = $data.fileList
|
|
|
|
if (this.isCopy && !$data.isCopy) {
|
|
|
|
if (this.isCopy && !$data.isCopy) {
|
|
|
|
this.fileList = []
|
|
|
|
this.fileList = []
|
|
|
@ -918,6 +939,46 @@ export default {
|
|
|
|
this.init()
|
|
|
|
this.init()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
getRouterHisEnter() {
|
|
|
|
|
|
|
|
this.inChildLoading = true
|
|
|
|
|
|
|
|
const newId = this.$route.query.id ? this.$route.query.id.toString() : ''
|
|
|
|
|
|
|
|
if (Object.keys(this.historyData).includes(`copy-${newId}`) && this.$route.query.isCopy === 'true') {
|
|
|
|
|
|
|
|
const $data = JSON.parse(JSON.stringify(this.historyData[`copy-${newId}`]))
|
|
|
|
|
|
|
|
this.details = $data.bookingDetails
|
|
|
|
|
|
|
|
this.fileList = $data.fileList
|
|
|
|
|
|
|
|
this.id = this.$route.query.id
|
|
|
|
|
|
|
|
this.isCopy = this.$route.query.isCopy
|
|
|
|
|
|
|
|
this.$forceUpdate()
|
|
|
|
|
|
|
|
} else if (Object.keys(this.historyData).includes(newId)) {
|
|
|
|
|
|
|
|
this.id = this.$route.query.id
|
|
|
|
|
|
|
|
this.isCopy = this.$route.query.isCopy
|
|
|
|
|
|
|
|
const $data = JSON.parse(JSON.stringify(this.historyData[newId]))
|
|
|
|
|
|
|
|
this.fileList = $data.fileList
|
|
|
|
|
|
|
|
if (this.isCopy && !$data.isCopy) {
|
|
|
|
|
|
|
|
this.fileList = []
|
|
|
|
|
|
|
|
const copyData = {
|
|
|
|
|
|
|
|
id: 0,
|
|
|
|
|
|
|
|
bookingno: '',
|
|
|
|
|
|
|
|
files: {},
|
|
|
|
|
|
|
|
tempFileNames: [],
|
|
|
|
|
|
|
|
notifyparty: $data.bookingDetails.notifyparty,
|
|
|
|
|
|
|
|
consignee: $data.bookingDetails.consignee,
|
|
|
|
|
|
|
|
shipper: $data.bookingDetails.shipper,
|
|
|
|
|
|
|
|
ctnList: [],
|
|
|
|
|
|
|
|
serviceList: []
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
this.details = { ...JSON.parse(JSON.stringify(copyData)) }
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
this.init()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
this.$forceUpdate()
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
this.id = this.$route.query.id
|
|
|
|
|
|
|
|
this.isCopy = this.$route.query.isCopy
|
|
|
|
|
|
|
|
this.$forceUpdate()
|
|
|
|
|
|
|
|
this.init()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
init() {
|
|
|
|
init() {
|
|
|
|
this.options = this.$options.filters['dictData']('booking_service_item')
|
|
|
|
this.options = this.$options.filters['dictData']('booking_service_item')
|
|
|
|
this.options.forEach(item => {
|
|
|
|
this.options.forEach(item => {
|
|
|
@ -939,6 +1000,9 @@ export default {
|
|
|
|
this.fileList = []
|
|
|
|
this.fileList = []
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
handleOpenStatus() {
|
|
|
|
|
|
|
|
this.statusFlag = true
|
|
|
|
|
|
|
|
},
|
|
|
|
handleCopy() {
|
|
|
|
handleCopy() {
|
|
|
|
this.$router.push({
|
|
|
|
this.$router.push({
|
|
|
|
name: 'BookingCustomerDetail',
|
|
|
|
name: 'BookingCustomerDetail',
|
|
|
@ -995,6 +1059,14 @@ export default {
|
|
|
|
})
|
|
|
|
})
|
|
|
|
this.fileList = arr
|
|
|
|
this.fileList = arr
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
res.data.logList.forEach(item => {
|
|
|
|
|
|
|
|
const arr = item.status.split(',')
|
|
|
|
|
|
|
|
item.status = arr[0]
|
|
|
|
|
|
|
|
if (arr.length > 1) {
|
|
|
|
|
|
|
|
item.remark = arr[1].slice(5, arr[1].length)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
this.statusList = res.data.logList
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
this.$message.error(res.message)
|
|
|
|
this.$message.error(res.message)
|
|
|
|
this.loading = false
|
|
|
|
this.loading = false
|
|
|
|