|
|
@@ -31,17 +31,17 @@
|
|
|
</el-button>
|
|
|
<el-button size="small" style="margin-right: 8px" :loading="saveLoading" @click="previewDialogfun">预 览
|
|
|
</el-button>
|
|
|
- <el-button size="small" type="warning" :disabled="!form.id || detailData.seeDisabled||showLock"
|
|
|
+ <el-button size="small" type="warning" :disabled="!form.id || detailData.seeDisabled || showLock"
|
|
|
v-if="form.status == 1" @click.stop="revokeDocumentApproval">撤销单据请核
|
|
|
</el-button>
|
|
|
- <el-button size="small" type="success" :disabled="!form.id || detailData.seeDisabled||showLock"
|
|
|
+ <el-button size="small" type="success" :disabled="!form.id || detailData.seeDisabled || showLock"
|
|
|
v-if="form.status == 0 || form.status == 4" @click.stop="DocumentApproval">单据请核
|
|
|
</el-button>
|
|
|
<!--<el-button size="small" type="primary" style="margin-right: 8px" v-if="detailData.seeDisabled"-->
|
|
|
<!-- :loading="saveLoading" @click="editHandle">编 辑-->
|
|
|
<!--</el-button>-->
|
|
|
- <el-button size="small" type="primary" style="margin-right: 8px" :disabled="detailData.seeDisabled||showLock"
|
|
|
- :loading="saveLoading" @click="editCustomer">保 存
|
|
|
+ <el-button size="small" type="primary" style="margin-right: 8px"
|
|
|
+ :disabled="detailData.seeDisabled || showLock" :loading="saveLoading" @click="editCustomer">保 存
|
|
|
</el-button>
|
|
|
<el-dropdown style="line-height: 0">
|
|
|
<el-button type="warning" :loading="saveLoading" :disabled="!form.id" size="small">
|
|
|
@@ -72,7 +72,8 @@
|
|
|
<el-row>
|
|
|
<el-col :span="item[0].span ? item[0].span : 12">
|
|
|
<el-form-item :label="item[0].label" :prop="item[0].prop"
|
|
|
- :rules="item[0].rules" :label-width="item[0].labelWidth" :disabled="showLock">
|
|
|
+ :rules="item[0].rules" :label-width="item[0].labelWidth"
|
|
|
+ :disabled="showLock">
|
|
|
<span slot="label" v-if="item[0].label">
|
|
|
<span v-if="item[0].label == 'HB/L NO'"
|
|
|
style="color: #4c9e44;cursor: pointer;text-decoration: underline;"
|
|
|
@@ -89,7 +90,7 @@
|
|
|
:datalist="item[0].dicData" :selectValue="form[item[0].prop]"
|
|
|
:filterable="true" :allowCreate="item[0].allowCreate || false"
|
|
|
:clearable="false" :remote="true"
|
|
|
- :disabled="detailData.seeDisabled || item[0].disabled||showLock"
|
|
|
+ :disabled="detailData.seeDisabled || item[0].disabled || showLock"
|
|
|
:buttonIf="false" :placeholder="`${item[0].text || ''}`"
|
|
|
:forParameter="item[0].forParameter"
|
|
|
@remoteMethod="remoteMethod($event, item[0].prop)"
|
|
|
@@ -98,26 +99,27 @@
|
|
|
</search-query>
|
|
|
<el-input v-else type="age" style="width: 100%;"
|
|
|
v-model="form[item[0].prop]" size="small" autocomplete="off"
|
|
|
- :disabled="detailData.seeDisabled || item[0].disabled||showLock"
|
|
|
+ :disabled="detailData.seeDisabled || item[0].disabled || showLock"
|
|
|
:placeholder="item[0].text || ''"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="item[1].span ? item[1].span : 12">
|
|
|
<el-form-item :label="item[1].label" :prop="item[1].prop"
|
|
|
- :rules="item[1].rules" :label-width="item[1].labelWidth" :disabled="showLock">
|
|
|
+ :rules="item[1].rules" :label-width="item[1].labelWidth"
|
|
|
+ :disabled="showLock">
|
|
|
<span slot="label" v-if="item[1].label">
|
|
|
<span style="color: #1e9fff">{{ item[1].label }}</span>
|
|
|
</span>
|
|
|
<el-date-picker v-if="item[1].type == 'date'"
|
|
|
v-model="form[item[1].prop]" clearable style="width: 100%;"
|
|
|
type="date" size="small"
|
|
|
- :disabled="detailData.seeDisabled || item[1].disabled||showLock"
|
|
|
+ :disabled="detailData.seeDisabled || item[1].disabled || showLock"
|
|
|
value-format="yyyy-MM-dd HH:mm" placeholder="选择日期">
|
|
|
</el-date-picker>
|
|
|
<search-query v-else-if="item[1].type == 'select'"
|
|
|
:datalist="item[1].dicData" :selectValue="form[item[1].prop]"
|
|
|
:filterable="true" :clearable="false" :remote="true"
|
|
|
- :disabled="detailData.seeDisabled || item[1].disabled||showLock"
|
|
|
+ :disabled="detailData.seeDisabled || item[1].disabled || showLock"
|
|
|
:buttonIf="false" :placeholder="`${item[1].text || ''}`"
|
|
|
:forParameter="item[1].forParameter"
|
|
|
@remoteMethod="remoteMethod($event, item[1].prop)"
|
|
|
@@ -128,7 +130,7 @@
|
|
|
<tree-select v-else-if="item[1].type == 'tree'"
|
|
|
v-model="form[item[1].prop]" filterable :data="item[1].dicData"
|
|
|
:props="item[1].forParameter" nodeKey="title" size="small"
|
|
|
- :disabled="detailData.seeDisabled || item[1].disabled||showLock"
|
|
|
+ :disabled="detailData.seeDisabled || item[1].disabled || showLock"
|
|
|
:multiple="false" :clearable="false"
|
|
|
:placeholder="`${item[1].text || ''}`"
|
|
|
@input="corpChange($event, item[1].prop)">
|
|
|
@@ -136,20 +138,21 @@
|
|
|
|
|
|
<el-input v-else type="age" style="width: 100%;"
|
|
|
v-model="form[item[1].prop]" size="small" autocomplete="off"
|
|
|
- :disabled="detailData.seeDisabled || item[1].disabled||showLock"
|
|
|
+ :disabled="detailData.seeDisabled || item[1].disabled || showLock"
|
|
|
:placeholder="item[1].text || ''"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col v-if="item[2]" :span="item[2].span ? item[2].span : 12">
|
|
|
<el-form-item :label="item[2].label" :prop="item[2].prop"
|
|
|
- :rules="item[2].rules" :label-width="item[2].labelWidth" :disabled="detailData.seeDisabled || item[2].disabled||showLock">
|
|
|
+ :rules="item[2].rules" :label-width="item[2].labelWidth"
|
|
|
+ :disabled="detailData.seeDisabled || item[2].disabled || showLock">
|
|
|
<span slot="label" v-if="item[2].label">
|
|
|
<span style="color: #1e9fff">{{ item[2].label }}</span>
|
|
|
</span>
|
|
|
<search-query v-if="item[2].type == 'select'"
|
|
|
:datalist="item[2].dicData" :selectValue="form[item[2].prop]"
|
|
|
:filterable="true" :clearable="false" :remote="true"
|
|
|
- :disabled="detailData.seeDisabled || item[2].disabled||showLock"
|
|
|
+ :disabled="detailData.seeDisabled || item[2].disabled || showLock"
|
|
|
:buttonIf="false" :forParameter="item[2].forParameter"
|
|
|
:placeholder="`${item[2].text || ''}`"
|
|
|
@remoteMethod="remoteMethod($event, item[2].prop)"
|
|
|
@@ -158,7 +161,7 @@
|
|
|
</search-query>
|
|
|
<el-input v-else type="age" style="width: 100%;"
|
|
|
v-model="form[item[2].prop]" size="small" autocomplete="off"
|
|
|
- :disabled="detailData.seeDisabled || item[1].disabled||showLock"
|
|
|
+ :disabled="detailData.seeDisabled || item[1].disabled || showLock"
|
|
|
:placeholder="item[2].text || ''"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -166,14 +169,15 @@
|
|
|
</div>
|
|
|
<!--对象-->
|
|
|
<div v-else>
|
|
|
- <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules" :disabled="showLock">
|
|
|
+ <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules"
|
|
|
+ :disabled="showLock">
|
|
|
<span slot="label" v-if="item.label">
|
|
|
<span style="color: #1e9fff">{{ item.label }}</span>
|
|
|
</span>
|
|
|
<search-query v-if="item.type == 'select'" ref="searchQueryRef"
|
|
|
:datalist="item.dicData" :selectValue="form[item.prop]"
|
|
|
:filterable="true" :clearable="false" :remote="true"
|
|
|
- :disabled="detailData.seeDisabled || item.disabled||showLock"
|
|
|
+ :disabled="detailData.seeDisabled || item.disabled || showLock"
|
|
|
:buttonIf="item.buttonIf" :forParameter="item.forParameter"
|
|
|
:placeholder="`${item.text || ''}`"
|
|
|
@remoteMethod="remoteMethod($event, item.prop)"
|
|
|
@@ -188,7 +192,7 @@
|
|
|
</search-query>
|
|
|
<el-input v-else type="age" style="width: 100%;" v-model="form[item.prop]"
|
|
|
size="small" autocomplete="off"
|
|
|
- :disabled="detailData.seeDisabled || item.disabled||showLock"
|
|
|
+ :disabled="detailData.seeDisabled || item.disabled || showLock"
|
|
|
:placeholder="item.text || ''"></el-input>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
@@ -202,8 +206,9 @@
|
|
|
<basic-container :showBtn="true">
|
|
|
<el-tabs v-model="activeName" type="card" @tab-click="handleClick">
|
|
|
<el-tab-pane label="委托详情" name="first">
|
|
|
- <entrustment-lnformation :assemblyForm="form" :detailData="detailData" :disabled="showLock"
|
|
|
- :generateBillsfalse="generateBillsfalse" @billsDetailfun="billsDetailfun(form.id)">
|
|
|
+ <entrustment-lnformation :assemblyForm="form" :detailData="detailData"
|
|
|
+ :disabled="showLock" :generateBillsfalse="generateBillsfalse"
|
|
|
+ @billsDetailfun="billsDetailfun(form.id)">
|
|
|
</entrustment-lnformation>
|
|
|
</el-tab-pane>
|
|
|
<el-tab-pane label="配箱信息" name="second">
|
|
|
@@ -216,8 +221,8 @@
|
|
|
<!--</el-tab-pane>-->
|
|
|
<el-tab-pane label="报表管理" name="fourth"
|
|
|
v-if="roleName.indexOf('admin') != -1 ? true : roleName.indexOf('报表管理') != -1 ? true : false">
|
|
|
- <reports :id="form.id" :assemblyForm="form" :disabled="detailData.seeDisabled||showLock"
|
|
|
- businessValue="HYJK"></reports>
|
|
|
+ <reports :id="form.id" :assemblyForm="form"
|
|
|
+ :disabled="detailData.seeDisabled || showLock" businessValue="HYJK"></reports>
|
|
|
</el-tab-pane>
|
|
|
<!--<el-tab-pane label="EDI CODE" name="sixth">-->
|
|
|
<!-- <edicode :assemblyForm="form" :detailData="detailData"></edicode>-->
|
|
|
@@ -236,15 +241,17 @@
|
|
|
</el-tab-pane>
|
|
|
<el-tab-pane label="费用信息" name="fy" class="scrollable-container"
|
|
|
v-if="roleName.indexOf('admin') != -1 ? true : roleName.indexOf('应收修改') != -1 || roleName.indexOf('应付修改') != -1 || roleName.indexOf('应收查看') != -1 || roleName.indexOf('应付查看') != -1">
|
|
|
- <feecenter :assemblyForm="form" :copyFormData="copyFormData" :detailData="detailData" :disabled="showLock"
|
|
|
- :pleasereviewType="pleasereviewType" :pid="form.id" @billsDetailfun="billsDetailfun(form.id)">
|
|
|
+ <feecenter :assemblyForm="form" :copyFormData="copyFormData" :detailData="detailData"
|
|
|
+ :disabled="showLock" :pleasereviewType="pleasereviewType" :pid="form.id"
|
|
|
+ @billsDetailfun="billsDetailfun(form.id)">
|
|
|
</feecenter>
|
|
|
</el-tab-pane>
|
|
|
<el-tab-pane label="单证中心" name="dz" class="scrollable-container">
|
|
|
- <document-center ref="documentCenter" :detailData="detailData" :assemblyForm="form" :disabled="showLock"></document-center>
|
|
|
+ <document-center ref="documentCenter" :detailData="detailData" :assemblyForm="form"
|
|
|
+ :disabled="showLock"></document-center>
|
|
|
</el-tab-pane>
|
|
|
<el-tab-pane label="分单列表" name="fd" class="scrollable-container" v-if="form.billType == 'MM'">
|
|
|
- <Split-list :detailData="detailData" :assemblyForm="form" :data="billsListAllData" :disabled="showLock"
|
|
|
+ <Split-list :detailData="detailData" :assemblyForm="form" :data="billsListAllData" :disabled="showLock"
|
|
|
@billsListAllfun="billsListAllfun(form.id)"></Split-list>
|
|
|
</el-tab-pane>
|
|
|
</el-tabs>
|
|
|
@@ -302,6 +309,7 @@ import { popupReminder } from "@/util/messageReminder";
|
|
|
import editypes from "@/views/iosBasicData/editypes/index.vue";
|
|
|
import { editypesList } from "@/api/iosBasicData/editypes";
|
|
|
import { verifyEnglish } from "@/util/date";
|
|
|
+import { contrastObj, contrastList } from "@/util/contrastData";
|
|
|
export default {
|
|
|
components: {
|
|
|
checkSchedule,
|
|
|
@@ -329,7 +337,7 @@ export default {
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
- showLock:false,
|
|
|
+ showLock: false,
|
|
|
ediData: [], // edi 列表数据
|
|
|
previewDialog: false, // 预览报表弹窗开启
|
|
|
generateBillsfalse: false, // 如果生成账单就禁用
|
|
|
@@ -365,6 +373,29 @@ export default {
|
|
|
feeCenterListC: [], // 付
|
|
|
preContainersList: [], // 箱
|
|
|
},
|
|
|
+ oldForm: {
|
|
|
+ billDate: dateFormat(new Date(), "yyyy-MM-dd") + ' 00:00', // 单据日期 默认 当天
|
|
|
+ operatorName: JSON.parse(localStorage.getItem('saber-userInfo')).content.user_name, // OP 默认登录人
|
|
|
+ operatorId: JSON.parse(localStorage.getItem('saber-userInfo')).content.user_id, // OP 默认登录人
|
|
|
+ businessType: 'SI', // 业务类型 默认 海运出口
|
|
|
+ seaType: 'I', // 进出口 默认出口 E=出口 I=进口"
|
|
|
+ billType: 'DD', // 单据类型 默认 直单
|
|
|
+ accDeptName: '',// 核算部门 默认登录人的部门
|
|
|
+ issueType: 'ORI', // 签单方式 默认 正本
|
|
|
+ mpaymode: 'PP', // 主单付费方式 默认PP
|
|
|
+ hpaymode: 'PP', // 分单付费方式 默认 PP
|
|
|
+ loadType: 'FCL', // 装箱方式默认整箱
|
|
|
+ srcType: 'OWN', // 业务来源默认公司 来源 内容 默认登录人所属公司
|
|
|
+ numberOfObl: 'THREE', // 正本份数 默认 THREE
|
|
|
+ numberOfCopy: 'ONE', // 副本份数 默认 ONE
|
|
|
+ cargoType: 'dry', // 货物类型默认普货
|
|
|
+ marks: 'N/M',
|
|
|
+ dgPackingLevel: '0', // 危险品包装等级
|
|
|
+ filesList: [], // 文件中心
|
|
|
+ feeCenterListD: [], // 收
|
|
|
+ feeCenterListC: [], // 付
|
|
|
+ preContainersList: [], // 箱
|
|
|
+ },
|
|
|
// 循环的配置
|
|
|
basicData: {
|
|
|
column: [
|
|
|
@@ -826,7 +857,7 @@ export default {
|
|
|
},
|
|
|
// 获取客户名称数据 往来单位数据
|
|
|
getBcorpsListfun(cnName) {
|
|
|
- getBcorpsList(1, 10, { shortName:cnName, status: 0 }).then(res => {
|
|
|
+ getBcorpsList(1, 10, { shortName: cnName, status: 0 }).then(res => {
|
|
|
this.columnforfun('corpCnName').dicData = res.data.data.records.map(item => {
|
|
|
item.cnName = item.cnName + ' - ' + item.shortName
|
|
|
return item
|
|
|
@@ -1205,15 +1236,44 @@ export default {
|
|
|
},
|
|
|
//返回列表
|
|
|
backToList() {
|
|
|
- if(this.form.id){
|
|
|
- this.unLock({
|
|
|
- moduleName: "SI",
|
|
|
- tableName: "SI_order",
|
|
|
- billId: this.form.id,
|
|
|
- billNo: this.form.mblno
|
|
|
- });
|
|
|
+ if (contrastObj(this.form, this.oldForm)
|
|
|
+ || contrastList(this.form.preContainersList, this.oldForm.preContainersList)
|
|
|
+ || contrastList(this.form.containersList, this.oldForm.containersList)
|
|
|
+ || contrastList(this.form.feeCenterListC, this.oldForm.feeCenterListC)
|
|
|
+ || contrastList(this.form.feeCenterListD, this.oldForm.feeCenterListD)
|
|
|
+ || contrastList(this.form.filesList, this.oldForm.filesList)
|
|
|
+ || contrastList(this.form.waitingBoxList, this.oldForm.waitingBoxList)
|
|
|
+ ) {
|
|
|
+ this.$confirm("数据发生变化未有提交记录, 是否提交?", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ this.editCustomer('goBack')
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ if (this.form.id) {
|
|
|
+ this.unLock({
|
|
|
+ moduleName: "SI",
|
|
|
+ tableName: "SI_order",
|
|
|
+ billId: this.form.id,
|
|
|
+ billNo: this.form.mblno
|
|
|
+ });
|
|
|
+ }
|
|
|
+ this.$emit('goBack')
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ if (this.form.id) {
|
|
|
+ this.unLock({
|
|
|
+ moduleName: "SI",
|
|
|
+ tableName: "SI_order",
|
|
|
+ billId: this.form.id,
|
|
|
+ billNo: this.form.mblno
|
|
|
+ });
|
|
|
+ }
|
|
|
+ this.$emit('goBack')
|
|
|
}
|
|
|
- this.$emit('goBack')
|
|
|
},
|
|
|
// 单据请核
|
|
|
DocumentApproval() {
|
|
|
@@ -1495,6 +1555,17 @@ export default {
|
|
|
type: "success",
|
|
|
message: "操作成功!"
|
|
|
});
|
|
|
+ if (status == 'goBack') {
|
|
|
+ if (this.form.id) {
|
|
|
+ this.unLock({
|
|
|
+ moduleName: "SI",
|
|
|
+ tableName: "SI_order",
|
|
|
+ billId: this.form.id,
|
|
|
+ billNo: this.form.mblno
|
|
|
+ });
|
|
|
+ }
|
|
|
+ this.$emit('goBack')
|
|
|
+ }
|
|
|
// this.detailData.seeDisabled = true
|
|
|
this.billsDetailfun(res.data.data.id, status)
|
|
|
}).catch(err => {
|
|
|
@@ -1768,9 +1839,9 @@ export default {
|
|
|
let corpTypeName = '船公司'
|
|
|
getBcorpslistByType(1, 10, { cnName: this.form.carrierCnName, status: 0, corpTypeName }).then(res => {
|
|
|
// this.form.carrierCnName = this.form.carrierCnName + ' - ' + res.data.data.records[0].code
|
|
|
- res.data.data.records.forEach(e=>{
|
|
|
- if(this.form.carrierCnName==e.cnName)
|
|
|
- this.form.carrierCnName = this.form.carrierCnName + ' - ' + e.code
|
|
|
+ res.data.data.records.forEach(e => {
|
|
|
+ if (this.form.carrierCnName == e.cnName)
|
|
|
+ this.form.carrierCnName = this.form.carrierCnName + ' - ' + e.code
|
|
|
})
|
|
|
})
|
|
|
// this.form.carrierCnName = this.form.carrierCnName + ' - ' + this.form.carrierCode
|
|
|
@@ -1798,9 +1869,9 @@ export default {
|
|
|
// 船名
|
|
|
if (this.form.vesselCnName) {
|
|
|
getBvesselsList(1, 10, { cnName: this.form.vesselCnName }).then(res => {
|
|
|
- res.data.data.records.forEach(e=>{
|
|
|
- if(this.form.vesselCnName==e.cnName)
|
|
|
- this.form.vesselCnName = this.form.vesselCnName + ' - ' + e.code
|
|
|
+ res.data.data.records.forEach(e => {
|
|
|
+ if (this.form.vesselCnName == e.cnName)
|
|
|
+ this.form.vesselCnName = this.form.vesselCnName + ' - ' + e.code
|
|
|
})
|
|
|
// this.form.vesselCnName = this.form.vesselCnName + ' - ' + res.data.data.records[0].code
|
|
|
})
|
|
|
@@ -1808,10 +1879,11 @@ export default {
|
|
|
// 客户名称
|
|
|
if (this.form.corpCnName) {
|
|
|
getBcorpslistByType(1, 10, { cnName: this.form.corpCnName }).then(res => {
|
|
|
- res.data.data.records.forEach(e=>{
|
|
|
- if(this.form.corpCnName==e.cnName)
|
|
|
- this.form.corpCnName = this.form.corpCnName + ' - ' + e.shortName
|
|
|
+ res.data.data.records.forEach(e => {
|
|
|
+ if (this.form.corpCnName == e.cnName)
|
|
|
+ this.form.corpCnName = this.form.corpCnName + ' - ' + e.shortName
|
|
|
})
|
|
|
+ this.oldForm = this.deepClone(this.form);
|
|
|
})
|
|
|
}
|
|
|
|