@ -17,12 +17,11 @@
< a-row >
< a-col :span = "8" >
< a-form-item label = "船期编号" name = "ssNo" >
< a-input-search v -model :value = "formState.ssNo" : disabled= "isDisable" placeholder = "请选择船期" readonly @search ="onContract " />
< a-input-search v -model :value = "formState.ssNo" : disabled= "isDisable || pageType " placeholder = "请选择船期" readonly @search ="onSearchShip " />
< / a -form -item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "交易主体" name = "comName" >
<!-- < a-input v -model :value = "formState.comName" disabled / > -- >
< a-select v -model :value = "formState.comId" disabled placeholder = "请选择" style = "width: 100%" allow -clear >
< a-select-option v-for = "item in optionSelect.comIdList" :key="item.value" :value="item.value" >
{{ item.label }}
@ -32,7 +31,7 @@
< / a-col >
< a-col :span = "8" >
< a-form-item label = "业务类型" name = "ssTypeCode" >
< a-select v -model :value = "formState.ssTypeCode" :disabled = "isDisable" placeholder = "请选择" style = "width: 100%" allow -clear @change ="periodTypeCodeChange" >
< a-select v -model :value = "formState.ssTypeCode" :disabled = "isDisable" placeholder = "请选择" style = "width: 100%" allow -clear >
< a-select-option v-for = "item in optionSelect.ssTypeCodeList" :key="item.code" :value="item.code" >
{{ item.name }}
< / a -select -option >
@ -69,12 +68,9 @@
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "销售区域" name = "ownSign " >
< a-select v -model :value = "formState.ownSign" :disabled = "isDisable" placeholder = "请选择是否自采" style = "width: 100%" allow -clear >
< a-select-option v-for = "item in optionSelect.ownSignList" :key="item.code" :value="item.code" >
{{ item.name }}
< / a -select -option >
< / a-select >
< a-form-item label = "销售区域" name = "salesAreaCode " >
< a-cascader v -model :value = "formState.salesAreaCode" :options = "options" :load-data = "loadData" :disabled = "isDisable" @change ="onChange" change -on -select
: field -names = " { label : ' fullName ' , value : ' code ' , children : ' children ' } " placeholder = "请选择区域" / >
< / a-form-item >
< / a-col >
< a-col :span = "8" >
@ -93,9 +89,9 @@
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "信用证号" name = "ownSign " >
< a-select v -model :value = "formState.ownSign " :disabled = "isDisable" placeholder = "请选择是否自采 " style = "width: 100%" allow -clear >
< a-select-option v-for = "item in optionSelect.ownS ignList" :key="item.code" :value="item.code" >
< a-form-item label = "信用证号" name = "lcNo " >
< a-select v -model :value = "formState.lcNo " :disabled = "isDisable" placeholder = "请选择" style = "width: 100%" allow -clear >
< a-select-option v-for = "item in optionSelect.s ignList" :key="item.code" :value="item.code" >
{{ item.name }}
< / a -select -option >
< / a-select >
@ -106,13 +102,13 @@
< Card title = "货物信息" :bordered = "false" >
< a-row >
< a-col :span = "8" >
< a-form-item label = "执行日" name = "dateNor " >
< a-date-picker v -model :value = "formState.dateNor " style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期" / >
< a-form-item label = "执行日" name = "dateOps " >
< a-date-picker v -model :value = "formState.dateOps " style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期" / >
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "货权转移日" name = "dateNor " >
< a-date-picker v -model :value = "formState.dateNor " style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期" / >
< a-form-item label = "货权转移日" name = "dateTrans " >
< a-date-picker v -model :value = "formState.dateTrans " style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期" / >
< / a-form-item >
< / a-col >
< a-col :span = "8" >
@ -125,9 +121,9 @@
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "是否自租船" name = "own Sign" >
< a-select v -model :value = "formState.own Sign" :disabled = "isDisable" placeholder = "请选择" style = "width: 100%" allow -clear >
< a-select-option v-for = "item in optionSelect.ownS ignList" :key="item.code" :value="item.code" >
< a-form-item label = "是否自租船" name = "frt Sign" >
< a-select v -model :value = "formState.frt Sign" :disabled = "isDisable" placeholder = "请选择" style = "width: 100%" allow -clear >
< a-select-option v-for = "item in optionSelect.s ignList" :key="item.code" :value="item.code" >
{{ item.name }}
< / a -select -option >
< / a-select >
@ -144,17 +140,17 @@
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "是否保险" name = "own Sign" >
< a-select v -model :value = "formState.own Sign" :disabled = "isDisable" placeholder = "请选择" style = "width: 100%" allow -clear >
< a-select-option v-for = "item in optionSelect.ownS ignList" :key="item.code" :value="item.code" >
< a-form-item label = "是否保险" name = "insur Sign" >
< a-select v -model :value = "formState.insur Sign" :disabled = "isDisable" placeholder = "请选择" style = "width: 100%" allow -clear >
< a-select-option v-for = "item in optionSelect.s ignList" :key="item.code" :value="item.code" >
{{ item.name }}
< / a -select -option >
< / a-select >
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "币种" name = "curr Code" >
< a-select v -model :value = "formState.curr Code" :disabled = "isDisable" placeholder = "请选择币种" style = "width: 100%" allow -clear >
< a-form-item label = "币种" name = "curCode" >
< a-select v -model :value = "formState.curCode" :disabled = "isDisable" placeholder = "请选择币种" style = "width: 100%" allow -clear >
< a-select-option v-for = "item in optionSelect.curCodeList" :key="item.code" :value="item.code" >
{{ item.fullName }}
< / a -select -option >
@ -167,18 +163,18 @@
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "预估币种价格" name = "priceMmbtuPur " >
< input-number v -model :value = "formState.priceMmbtuPur" :disabled = "isDisable" :digits = "4" :min = "0" style = "width: 100%" placeholder = "请输入" / >
< a-form-item label = "预估币种价格" name = "priceCurrEst " >
< input-number v -model :value = "formState.priceCurrEst" @change ="numCount" :disabled = "isDisable" :digits = "4" :min = "0" style = "width: 100%" placeholder = "请输入" / >
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "预估币种金额" name = "amountP ur" >
< input-number v -model :value = "formState.amountP ur" : disabled= "isDisable" :digits = "2" :min = "0" style = "width: 100%" placeholder = "请输入" / >
< a-form-item label = "预估币种金额" name = "amountC urrEst " >
< input-number v -model :value = "formState.amountC urrEst " disabled :digits = "2" :min = "0" style = "width: 100%" placeholder = "请输入" / >
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "热值(MMBtu)" name = "qtyMmbtu" >
< input-number v -model :value = "formState.qtyMmbtu" :disabled = "isDisable" :digits = "3" :min = "0" style = "width: 100%" placeholder = "请输入" / >
< input-number v -model :value = "formState.qtyMmbtu" @change ="numCount" :disabled= "isDisable" :digits = "3" :min = "0" style = "width: 100%" placeholder = "请输入" / >
< / a-form-item >
< / a-col >
< a-col :span = "8" >
@ -197,18 +193,18 @@
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "结算量(MMBtu)" name = "qtyMmbtu" >
< input-number v -model :value = "formState.qtyMmbtu" :disabled = "isDisable" :digits = "3" :min = "0" style = "width: 100%" placeholder = "请输入" / >
< a-form-item label = "结算量(MMBtu)" name = "qtySettle Mmbtu" >
< input-number v -model :value = "formState.qtySettle Mmbtu" @change ="numChange" :disabled = "isDisable" :digits = "3" :min = "0" style = "width: 100%" placeholder = "请输入" / >
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "结算币种价格" name = "qtyGj " >
< input-number v -model :value = "formState.qtyGj" :disabled = "isDisable" :digits = "3 " :min = "0" style = "width: 100%" placeholder = "请输入" / >
< a-form-item label = "结算币种价格" name = "priceCurr " >
< input-number v -model :value = "formState.priceCurr" @change ="numChange" :disabled = "isDisable" :digits = "4 " :min = "0" style = "width: 100%" placeholder = "请输入" / >
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "结算币种金额" name = "qtyTon " >
< input-number v -model :value = "formState.qtyTon " :disabled = "isDisable" :digits = "3 " :min = "0" style = "width: 100%" placeholder = "请输入" / >
< a-form-item label = "结算币种金额" name = "amountCurr " >
< input-number v -model :value = "formState.amountCurr " :disabled = "isDisable" :digits = "2 " :min = "0" style = "width: 100%" placeholder = "请输入" / >
< / a-form-item >
< / a-col >
< a-col :span = "8" >
@ -217,23 +213,23 @@
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "最迟交货日" name = "dateNor " >
< a-date-picker v -model :value = "formState.dateNor " style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期" / >
< a-form-item label = "最迟交货日" name = "dateEnd " >
< a-date-picker v -model :value = "formState.dateEnd " style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期" / >
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "发出付款通知日" name = "dateNor " >
< a-date-picker v -model :value = "formState.dateNor " style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期" / >
< a-form-item label = "发出付款通知日" name = "datePayNtc " >
< a-date-picker v -model :value = "formState.datePayNtc " style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期" / >
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "收到发票日" name = "dateNor " >
< a-date-picker v -model :value = "formState.dateNor " style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期" / >
< a-form-item label = "收到发票日" name = "dateInv " >
< a-date-picker v -model :value = "formState.dateInv " style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期" / >
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "付款日" name = "dateNor " >
< a-date-picker v -model :value = "formState.dateNor " style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期" / >
< a-form-item label = "付款日" name = "dateRp " >
< a-date-picker v -model :value = "formState.dateRp " style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期" / >
< / a-form-item >
< / a-col >
< / a-row >
@ -241,33 +237,33 @@
< Card title = "装港信息" :bordered = "false" >
< a-row >
< a-col :span = "8" >
< a-form-item label = "装港" name = "portUnl oading1Name" >
< a-input-search v -model :value = "formState.portUnl oading1Name" :disabled = "isDisable" placeholder = "请选择卸港港口" readonly @search ="onSearchPort" />
< a-form-item label = "装港" name = "portL oading1Name" >
< a-input-search v -model :value = "formState.portL oading1Name" :disabled = "isDisable" placeholder = "请选择卸港港口" readonly @search ="onSearchPort('portLoad') " />
< / a -form -item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "替代装港" name = "cuName " >
< a-input v -model :value = "formState.cuName " :disabled = "isDisable" placeholder = "请输入" / >
< a-form-item label = "替代装港" name = "portLoading2 " >
< a-input v -model :value = "formState.portLoading2 " :disabled = "isDisable" placeholder = "请输入" / >
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "装港ETA" name = "dateNor " >
< a-date-picker v -model :value = "formState.dateNor " style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期" / >
< a-form-item label = "装港ETA" name = "dateEtaL " >
< a-date-picker v -model :value = "formState.dateEtaL " style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期" / >
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "装港ETB" name = "dateNor " >
< a-date-picker v -model :value = "formState.dateNor " style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期" / >
< a-form-item label = "装港ETB" name = "dateEtbL " >
< a-date-picker v -model :value = "formState.dateEtbL " style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期" / >
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "装港ETC" name = "dateNor " >
< a-date-picker v -model :value = "formState.dateNor " style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期" / >
< a-form-item label = "装港ETC" name = "dateEtcL " >
< a-date-picker v -model :value = "formState.dateEtcL " style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期" / >
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "装港ETD" name = "dateNor " >
< a-date-picker v -model :value = "formState.dateNor " style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期" / >
< a-form-item label = "装港ETD" name = "dateEtdL " >
< a-date-picker v -model :value = "formState.dateEtdL " style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期" / >
< / a-form-item >
< / a-col >
< / a-row >
@ -276,12 +272,12 @@
< a-row >
< a-col :span = "8" >
< a-form-item label = "卸港" name = "portUnloading1Name" >
< a-input-search v -model :value = "formState.portUnloading1Name" :disabled = "isDisable" placeholder = "请选择卸港港口" readonly @search ="onSearchPort" />
< a-input-search v -model :value = "formState.portUnloading1Name" :disabled = "isDisable" placeholder = "请选择卸港港口" readonly @search ="onSearchPort('portUnload') " />
< / a -form -item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "替代卸港" name = "cuName " >
< a-input v -model :value = "formState.cuName " :disabled = "isDisable" placeholder = "请输入" / >
< a-form-item label = "替代卸港" name = "portUnloading2 " >
< a-input v -model :value = "formState.portUnloading2 " :disabled = "isDisable" placeholder = "请输入" / >
< / a-form-item >
< / a-col >
< a-col :span = "8" >
@ -305,8 +301,8 @@
< / a-form-item >
< / a-col >
< a-col :span = "24" >
< a-form-item label = "卸港信息说明" name = "note" : label -col = " { span : 3 } " : wrapper -col = " { span : 24 } " >
< a-textarea v -model :value = "formState.note" :disabled = "isDisable" placeholder = "请输入内容,最多2 00字" :maxLength = "2 00" : auto -size = " { minRows : 2 , maxRows : 5 } " / >
< a-form-item label = "卸港信息说明" name = "noteArrival " : label -col = " { span : 3 } " : wrapper -col = " { span : 24 } " >
< a-textarea v -model :value = "formState.noteArrival " :disabled = "isDisable" placeholder = "请输入内容,最多1 00字" :maxLength = "1 00" : auto -size = " { minRows : 2 , maxRows : 5 } " / >
< / a-form-item >
< / a-col >
< / a-row >
@ -314,41 +310,45 @@
< Card title = "通关信息" :bordered = "false" >
< a-row >
< a-col :span = "8" >
< a-form-item label = "提单号" name = "unloadSign " >
< a-input v -model :value = "formState.date Nor " style = "width: 100%" :disabled = "isDisable" placeholder = "请输入" / >
< a-form-item label = "提单号" name = "blNo " >
< a-input v -model :value = "formState.bl No" style = "width: 100%" :disabled = "isDisable" placeholder = "请输入" / >
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "提单日" name = "dateNor " >
< a-date-picker v -model :value = "formState.dateNor " style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期" / >
< a-form-item label = "提单日" name = "dateBl " >
< a-date-picker v -model :value = "formState.dateBl " style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期" / >
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "商检公司" name = "unloadSign " >
< a-input v -model :value = "formState.dateNor " style = "width: 100%" :disabled = "isDisable" placeholder = "请输入" / >
< a-form-item label = "商检公司" name = "inspName " >
< a-input v -model :value = "formState.inspName " style = "width: 100%" :disabled = "isDisable" placeholder = "请输入" / >
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "最迟交货日 " name = "dateEnd " >
< a-date-picker v -model :value = "formState.dateEnd " style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期 " / >
< a-form-item label = "报关单号 " name = "cdNo " >
< a-input v -model :value = "formState.cdNo " style = "width: 100%" :disabled = "isDisable" placeholder = "请输入 " / >
< / a-form-item >
< / a-col >
< / a-row >
< a-row >
< a-col :span = "24" >
< a-form-item label = "对在港烧气有特别要求" class = "formItemWarp" name = "request" : label -col = " { span : 3 } " : wrapper -col = " { span : 24 } " >
< a-textarea v -model :value = "formState.request" :disabled = "isDisable" :maxLength = "100" placeholder = "请输入内容, 最多100字" : auto -size = " { minRows : 2 , maxRows : 5 } " / >
< a-col :span = "8" >
< a-form-item label = "邮寄报关资料日" name = "datePost" >
< a-date-picker v -model :value = "formState.datePost" style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期" / >
< / a-form-item >
< / a-col >
< a-col :span = "24 " >
< a-form-item label = "备注 " name = "note" : label -col = " { span : 3 } " : wrapper -col = " { span : 24 } " >
< a-textarea v -model :value = "formState.note " :disabled = "isDisable" placeholder = "请输入内容, 最多200字" :maxLength = "200" : auto -size = " { minRows : 2 , maxRows : 5 } " / >
< a-col :span = "8 " >
< a-form-item label = "产地证 " name = "origin " >
< a-input v -model :value = "formState.origin" style = "width: 100% " :disabled = "isDisable" placeholder = "请输入" / >
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "许可证编号" name = "licNo" >
< a-input v -model :value = "formState.licNo" style = "width: 100%" :disabled = "isDisable" placeholder = "请输入" / >
< / a-form-item >
< / a-col >
< a-col :span = "8" >
< a-form-item label = "办理许可证日" name = "dateLic" >
< a-date-picker v -model :value = "formState.dateLic" style = "width: 100%" :disabled = "isDisable" placeholder = "请选择日期" / >
< / a-form-item >
< / a-col >
< / a-row >
< / Card >
< Card title = "附件信息" :bordered = "false" >
@ -357,11 +357,10 @@
< / a -form >
< / div >
< deptUserModal @register ="register" @success ="handleSuccess" />
< C ontractPurIntListModal @register ="registerContractPurInt" @success ="handleSuccessContractPurInt" selectType = "radio" / >
< supplierListModal @register ="registerSupplier" @success ="handleSuccessSupplier" selectType = "radio" / >
< customerListModal @register ="registerCustomer" @success ="handleSuccessCustomer" selectType = "radio" / >
< c ontractPurIntListModal @register ="registerContractPurInt" @success ="handleSuccessContractPurInt" selectType = "radio" / >
< lngStationModal @register ="registerStation" @success ="handleSuccessStation" />
< portListModal @register ="registerPort" @success ="handleSuccessPort" />
< shipScheduleListModal @register ="registerShip" @success ="handleSuccessShip" / >
< / a-spin >
< / template >
@ -379,20 +378,25 @@
import { getDictionary } from '/@/api/sales/Customer' ;
import { useModal } from '/@/components/Modal' ;
import { getAllPriceTerm } from '/@/api/contract/ContractPurInt' ;
import { addLngShipSchedule , updateLngShipSchedule , getLngShipSchedule } from '/@/api/ship/ShipSchedule ' ;
import { addLngOpsPurInt , updateLngOpsPurInt , getLngOpsPurInt } from '/@/api/ship/OpsPurInt ' ;
import { getAllCurrency } from '/@/api/contract/ContractFact' ;
import dayjs from 'dayjs' ;
import { getAppEnvConfig } from '/@/utils/env' ;
import { message } from 'ant-design-vue' ;
import UploadList from '/@/components/Form/src/components/UploadList.vue' ;
import deptUserModal from '/@/components/common/deptUserModal.vue' ;
import C ontractPurIntListModal from '/@ /components/common/C ontractPurIntListModal.vue' ;
import c ontractPurIntListModal from '../../../.. /components/common/c ontractPurIntListModal.vue' ;
import supplierListModal from '/@/components/common/supplierListModal.vue' ;
import lngStationModal from '/@/components/common/lngStationModal.vue' ;
import customerListModal from '/@/components/common/customerListModal.vue' ;
import portListModal from '/@/components/common/portListModal.vue' ;
import shipScheduleListModal from '/@/components/common/shipScheduleListModal.vue' ;
import { useUserStore } from '/@/store/modules/user' ;
import { getAllCom } from '/@/api/contract/ContractPurInt' ;
import type { CascaderProps } from 'ant-design-vue' ;
import { getAreaList , getAreaInfo } from '/@/api/mdm/CountryRegion' ;
import { getCompDept } from '/@/api/approve/Appro' ;
import { getLngShipSchedule } from '/@/api/ship/ShipSchedule' ;
const userStore = useUserStore ( ) ;
const userInfo = userStore . getUserInfo ;
@ -425,20 +429,25 @@
const { t } = useI18n ( )
const formState = reactive ( {
approCode : 'WTJ'
} ) ;
const [ register , { openModal : openModal } ] = useModal ( ) ;
const [ registerContractPurInt , { openModal : openModalContractPurInt } ] = useModal ( ) ;
const [ registerSupplier , { openModal : openModalSupplier } ] = useModal ( ) ;
const [ registerStation , { openModal : openModalStation } ] = useModal ( ) ;
const [ registerCustomer , { openModal : openModalCustomer } ] = useModal ( ) ;
const [ registerPort , { openModal : openModalPort } ] = useModal ( ) ;
const [ registerShip , { openModal : openModalShip } ] = useModal ( ) ;
const rules = reactive ( {
ownSign : [ { required : true , message : "该项为必填项" , trigger : 'change' } ] ,
ssNo : [ { required : true , message : "该项为必填项" , trigger : 'change' } ] ,
comId : [ { required : true , message : "该项为必填项" , trigger : 'change' } ] ,
ssTypeCode : [ { required : true , message : "该项为必填项" , trigger : 'change' } ] ,
curr Code : [ { required : true , message : "该项为必填项" , trigger : 'change' } ] ,
curCode : [ { required : true , message : "该项为必填项" , trigger : 'change' } ] ,
dateEta : [ { required : true , message : "该项为必填项" , trigger : 'change' } ] ,
kName : [ { required : true , message : "该项为必填项" , trigger : 'change' } ] ,
staName : [ { required : true , message : "该项为必填项" , trigger : 'change' } ] ,
dateOps : [ { required : true , message : "该项为必填项" , trigger : 'change' } ] ,
frtSign : [ { required : true , message : "该项为必填项" , trigger : 'change' } ] ,
insurSign : [ { required : true , message : "该项为必填项" , trigger : 'change' } ] ,
} ) ;
const layout = {
labelCol : { span : 8 } ,
@ -446,7 +455,7 @@
}
const dataFile = ref ( [ ] ) ;
let optionSelect = reactive ( {
ownS ignList: [ ] ,
s ignList: [ ] ,
comIdList : [ ] ,
ssTypeCodeList : [ ] ,
longSpotCodeList : [ ] ,
@ -484,16 +493,57 @@
formState . empTel = userInfo . mobile
getOptionParams ( )
}
initialFetch ( )
} ) ;
const options = ref < CascaderProps [ ' options ' ] > ( [ ] ) ;
const loadData : CascaderProps [ 'loadData' ] = async ( selectedOptions ) => {
const targetOption = selectedOptions [ selectedOptions . length - 1 ] ;
targetOption . loading = true ;
try {
const res = await getAreaList ( { pid : targetOption . id , excludeType : 'CONTINENT' } ) ;
if ( Array . isArray ( res ) ) {
const children = ( res || [ ] ) . map ( item => {
return {
... item ,
isLeaf : ! item . hasChild ,
}
} ) ;
targetOption . children = children ;
return ;
}
} catch ( e ) {
console . error ( e ) ;
} finally {
targetOption . loading = false ;
}
} ;
async function initialFetch ( ) {
try {
const res = await getAreaList ( { pid : '' , excludeType : 'CONTINENT' } ) ;
options . value = ( res || [ ] ) . map ( item => {
return {
... item ,
isLeaf : ! item . hasChild ,
}
} )
} catch ( error ) { }
}
const onChange = ( value , selectedOptions ) => {
}
const getArea = async ( val ) => {
const resData = await getAreaInfo ( { code : val , excludeType : 'CONTINENT' } ) ;
options . value = resData . areaList
formState . salesAreaCode = resData . regionCode
}
const uploadListChange = ( val ) => {
dataFile . value = val
}
async function getInfo ( id ) {
spinning . value = true
try {
let data = await getLngShipSchedule ( id )
let data = await getLngOpsPurInt ( id )
spinning . value = false
Object . assign ( formState , { ... data } )
Object . assign ( dataFile . value , formState . lngFileUploadList || [ ] )
@ -503,17 +553,49 @@
formState . dateEtb = formState . dateEtb ? dayjs ( formState . dateEtb ) : null
formState . dateEtc = formState . dateEtc ? dayjs ( formState . dateEtc ) : null
formState . dateEtd = formState . dateEtd ? dayjs ( formState . dateEtd ) : null
formState . dateOps = formState . dateOps ? dayjs ( formState . dateOps ) : null
formState . dateTrans = formState . dateTrans ? dayjs ( formState . dateTrans ) : null
formState . dateEnd = formState . dateEnd ? dayjs ( formState . dateEnd ) : null
formState . datePayNtc = formState . datePayNtc ? dayjs ( formState . datePayNtc ) : null
formState . dateInv = formState . dateInv ? dayjs ( formState . dateInv ) : null
formState . dateRp = formState . dateRp ? dayjs ( formState . dateRp ) : null
formState . dateEtaL = formState . dateEtaL ? dayjs ( formState . dateEtaL ) : null
formState . dateEtbL = formState . dateEtbL ? dayjs ( formState . dateEtbL ) : null
formState . dateEtcL = formState . dateEtcL ? dayjs ( formState . dateEtcL ) : null
formState . dateEtdL = formState . dateEtdL ? dayjs ( formState . dateEtdL ) : null
formState . dateBl = formState . dateBl ? dayjs ( formState . dateBl ) : null
formState . datePost = formState . datePost ? dayjs ( formState . datePost ) : null
formState . dateLic = formState . dateLic ? dayjs ( formState . dateLic ) : null
getOptionParams ( )
if ( formState . salesAreaCode ) {
getArea ( formState . salesAreaCode )
}
} catch ( error ) {
console . log ( error , '533' )
spinning . value = false
}
}
const getCompDeptInfo = async ( id , deptId ) => {
const res = await getCompDept ( id , deptId )
formState . empDeptName = res ? . dept ? . name
formState . empDeptId = res ? . dept ? . id
if ( ! pageId . value ) {
formState . comName = res ? . comp ? . name
formState . comId = res ? . comp ? . id
}
}
async function getOption ( ) {
optionSelect . ownS ignList = await getDictionary ( 'LNG_YN' )
optionSelect . s ignList = await getDictionary ( 'LNG_YN' )
optionSelect . ssTypeCodeList = await getDictionary ( 'LNG_SHP_S' )
optionSelect . approCodeList = await getDictionary ( 'LNG_APPRO' )
optionSelect . longSpotCodeList = await getDictionary ( 'LNG_LONG' )
if ( ! pageId . value ) {
getCompDeptInfo ( userInfo . id )
}
let res = await getAllCom ( ) || [ ]
optionSelect . comIdList = res . map ( v => {
return {
@ -521,23 +603,30 @@
value : v . id
}
} )
}
async function getOptionParams ( ) {
optionSelect . curCodeList = await getAllCurrency ( { eid : formState . curCode } )
optionSelect . prcTermCodeList = await getAllPriceTerm ( { eid : formState . prcTermCode } )
}
const onSearchPor t= ( ) => {
openModalPort ( true , { isUpdate : false } )
const numCoun t = ( ) => {
formState . amountCurrEst = ( Number ( formState . qtyMmbtu ) || 0 ) * ( Number ( formState . priceCurrEst ) || 0 )
formState . amountCurrEst = formState . amountCurrEst ? formState . amountCurrEst . toFixed ( 2 ) : ''
}
const onSearchCustomer = ( ) => {
openModalCustomer ( true , { isUpdate : false } )
const numChange = ( ) => {
formState . amountCurr = ( Number ( formState . qtySettleMmbtu ) || 0 ) * ( Number ( formState . priceCurr ) || 0 )
formState . amountCurr = formState . amountCurr ? formState . amountCurr . toFixed ( 2 ) : ''
}
const onSearchPort = ( type ) => {
openModalPort ( true , { isUpdate : false , type } )
}
const onSearchShip = ( ) => {
openModalShip ( true , { isUpdate : false } )
}
const onSearchStation = ( val ) => {
openModalStation ( true , { isUpdate : false } )
}
const onSearchSupplier = ( ) => {
openModalSupplier ( true , { isUpdate : false } )
}
const onSearchUser = ( val ) => {
openModal ( true , { isUpdate : false } )
}
@ -548,22 +637,60 @@
formState . empName = val [ 0 ] . name
formState . empId = val [ 0 ] . id
formState . empTel = val [ 0 ] . mobile
getCompDeptInfo ( formState . empId , deptId )
}
const handleSuccessPort = ( val ) => {
formState . portUnloading1Code = val [ 0 ] . code
formState . portUnloading1Name = val [ 0 ] . fullName
const handleSuccessPort = ( val , type ) => {
if ( type == 'portUnload' ) {
formState . portUnloading1Code = val [ 0 ] . code
formState . portUnloading1Name = val [ 0 ] . fullName
} else {
formState . portLoading1Code = val [ 0 ] . code
formState . portLoading1Name = val [ 0 ] . fullName
}
}
const handleSuccessStation = ( val ) => {
formState . staCode = val [ 0 ] . code
formState . staName = val [ 0 ] . fullName
}
const handleSuccessCustomer = ( val ) => {
formState . cuCode = val [ 0 ] . cuCode
formState . cuName = val [ 0 ] . cuName
const handleSuccessShip = ( val ) => {
formState . ssNo = val [ 0 ] . ssNo
formState . ssId = val [ 0 ] . id
getLngShipInfo ( val [ 0 ] . id )
}
const handleSuccessSupplier = ( val ) => {
formState . suCode = val [ 0 ] . suCode
formState . suName = val [ 0 ] . suName
const getLngShipInfo = async ( id ) => {
let data = await getLngShipSchedule ( id )
formState . comId = data . comId
formState . kId = data . kId
formState . kName = data . kName
formState . longSpotCode = data . longSpotCode
formState . suCode = data . suCode
formState . suName = data . suName
formState . staCode = data . staCode
formState . staName = data . staName
formState . sourceName = data . sourceName
formState . empId = data . empId
formState . empName = data . empName
formState . empTel = data . empTel
formState . prcTermCode = data . prcTermCode
formState . shipCode = data . shipCode
formState . shipName = data . shipName
formState . dateNor = data . dateNor ? dayjs ( data . dateNor ) : null
formState . portUnloading1Code = data . portUnloading1Code
formState . portUnloading1Name = data . portUnloading1Name
formState . dateEta = data . dateEta ? dayjs ( data . dateEta ) : null
formState . dateEtb = data . dateEtb ? dayjs ( data . dateEtb ) : null
formState . dateEtc = data . dateEtc ? dayjs ( data . dateEtc ) : null
formState . dateEtd = data . dateEtd ? dayjs ( data . dateEtd ) : null
formState . qtyMmbtu = data . qtyMmbtu
formState . qtyGj = data . qtyGj
formState . qtyTon = data . qtyTon
formState . qtyM3 = data . qtyM3
formState . curCode = data . curCode
formState . rateEx = data . rateEx
formState . priceCurrEst = data . priceCurrEst
formState . amountCurrEst = data . amountCurrEst
}
const handleSuccessContractPurInt = ( val ) => {
formState . kId = val [ 0 ] . id
@ -586,10 +713,11 @@
await formRef . value . validateFields ( ) ;
let obj = {
... formState ,
salesAreaCode : formState . salesAreaCode ? formState . salesAreaCode [ formState . salesAreaCode . length - 1 ] : '' ,
lngFileUploadList : dataFile . value ,
}
spinning . value = true ;
let request = ! formState . id ? addLngShipSchedule : updateLngShipSchedule
let request = ! formState . id ? addLngOpsPurInt : updateLngOpsPurInt
try {
const data = await request ( obj ) ;