|
@@ -4,85 +4,111 @@
|
|
|
<el-row :gutter="20">
|
|
|
<el-col span="8">
|
|
|
<el-row>
|
|
|
- <el-form-item label="发货人" prop="mShipperCnName" >
|
|
|
+ <el-form-item label="发货人" prop="hShipperCnName" >
|
|
|
<div>
|
|
|
<el-col :span="16">
|
|
|
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.mShipperCnName"
|
|
|
- size="small" autocomplete="off"
|
|
|
- :disabled="detailData.seeDisabled"
|
|
|
- clearable placeholder="请选择发货人" ></el-input>
|
|
|
+ <search-query :datalist="hShipperData"
|
|
|
+ :selectValue="assemblyForm.hShipperCnName"
|
|
|
+ :filterable="true"
|
|
|
+ :clearable="true"
|
|
|
+ :remote="true"
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
+ :buttonIf="false"
|
|
|
+ :forParameter="{key:'id',label:'cnName',value:'cnName'}"
|
|
|
+ @remoteMethod="remoteMethod($event,'hShipper')"
|
|
|
+ @corpChange="corpChange($event,'hShipper')" >
|
|
|
+ </search-query>
|
|
|
</el-col>
|
|
|
<el-col :span="7">
|
|
|
<span style="padding-left: 20px"></span>
|
|
|
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.mShipperCnName"
|
|
|
+ <el-input type="age" style="width: 100%;" v-model="assemblyForm.hShipperCntyName"
|
|
|
size="small" autocomplete="off"
|
|
|
:disabled="detailData.seeDisabled"
|
|
|
- clearable placeholder="通知人" ></el-input>
|
|
|
+ clearable placeholder="国家" ></el-input>
|
|
|
</el-col>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
<div style="margin-top: 10px">
|
|
|
- <el-form-item label="" prop="mShipperCnName" >
|
|
|
- <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.mShipperCnName"
|
|
|
+ <el-form-item label="" prop="hShipperDetails" >
|
|
|
+ <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.hShipperDetails"
|
|
|
size="small" autocomplete="off"
|
|
|
:disabled="detailData.seeDisabled" rows="4"
|
|
|
- clearable placeholder="备注内容把" ></el-input>
|
|
|
+ clearable placeholder="发货人提单描述" ></el-input>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
- <el-form-item label="收货人" prop="mShipperCnName" >
|
|
|
+ <el-form-item label="收货人" prop="hConsigneeCnName" >
|
|
|
<div>
|
|
|
<el-col :span="16">
|
|
|
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.mShipperCnName"
|
|
|
- size="small" autocomplete="off"
|
|
|
- :disabled="detailData.seeDisabled"
|
|
|
- clearable placeholder="请选择发货人" ></el-input>
|
|
|
+ <search-query :datalist="hConsigneeData"
|
|
|
+ :selectValue="assemblyForm.hConsigneeCnName"
|
|
|
+ :filterable="true"
|
|
|
+ :clearable="true"
|
|
|
+ :remote="true"
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
+ :buttonIf="false"
|
|
|
+ :forParameter="{key:'id',label:'cnName',value:'cnName'}"
|
|
|
+ @remoteMethod="remoteMethod($event,'hConsignee')"
|
|
|
+ @corpChange="corpChange($event,'hConsignee')" >
|
|
|
+ </search-query>
|
|
|
</el-col>
|
|
|
<el-col :span="7">
|
|
|
<span style="padding-left: 20px"></span>
|
|
|
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.mShipperCnName"
|
|
|
+ <el-input type="age" style="width: 100%;" v-model="assemblyForm.hConsigneeCntyName"
|
|
|
size="small" autocomplete="off"
|
|
|
:disabled="detailData.seeDisabled"
|
|
|
- clearable placeholder="通知人" ></el-input>
|
|
|
+ clearable placeholder="国家" ></el-input>
|
|
|
</el-col>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
<div>
|
|
|
- <el-form-item label="" prop="mShipperCnName" >
|
|
|
- <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.mShipperCnName"
|
|
|
+ <el-form-item label="" prop="hConsigneeDetails" >
|
|
|
+ <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.hConsigneeDetails"
|
|
|
size="small" autocomplete="off"
|
|
|
:disabled="detailData.seeDisabled" rows="4"
|
|
|
- clearable placeholder="备注内容把" ></el-input>
|
|
|
+ clearable placeholder="收货人提单描述" ></el-input>
|
|
|
</el-form-item>
|
|
|
-
|
|
|
</div>
|
|
|
- <el-form-item label="通知人" prop="mShipperCnName" >
|
|
|
+ <el-form-item label="通知人" prop="hNotifyCnName" >
|
|
|
<div>
|
|
|
<el-col :span="16">
|
|
|
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.mShipperCnName"
|
|
|
- size="small" autocomplete="off"
|
|
|
- :disabled="detailData.seeDisabled"
|
|
|
- clearable placeholder="请选择发货人" ></el-input>
|
|
|
+ <search-query :datalist="hNotifyData"
|
|
|
+ :selectValue="assemblyForm.hNotifyCnName"
|
|
|
+ :filterable="true"
|
|
|
+ :clearable="true"
|
|
|
+ :remote="true"
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
+ :buttonIf="false"
|
|
|
+ :forParameter="{key:'id',label:'cnName',value:'cnName'}"
|
|
|
+ @remoteMethod="remoteMethod($event,'hNotify')"
|
|
|
+ @corpChange="corpChange($event,'hNotify')" >
|
|
|
+ </search-query>
|
|
|
</el-col>
|
|
|
<el-col :span="7">
|
|
|
- <span style="padding-left: 20px"></span>
|
|
|
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.mShipperCnName"
|
|
|
- size="small" autocomplete="off"
|
|
|
- :disabled="detailData.seeDisabled"
|
|
|
- clearable placeholder="通知人" ></el-input>
|
|
|
+ <div style="display: flex;align-items: center;justify-content: space-between;padding-left: 10px">
|
|
|
+ <div style="flex: 4">
|
|
|
+ <el-input type="age" style="width: 100%;" v-model="assemblyForm.hNotifyCntyName"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
+ clearable placeholder="国家" ></el-input>
|
|
|
+ </div>
|
|
|
+ <div style="flex: 1;margin-left: 10px">
|
|
|
+ <div class="addbuttonClass" @click="hNotifyClick">+</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</el-col>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
<div>
|
|
|
- <el-form-item label="通知人" prop="mShipperCnName" >
|
|
|
- <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.mShipperCnName"
|
|
|
+ <el-form-item label="" prop="hNotifyDetails" >
|
|
|
+ <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.hNotifyDetails"
|
|
|
size="small" autocomplete="off"
|
|
|
- :disabled="detailData.seeDisabled" rows="5"
|
|
|
- clearable placeholder="备注内容把" ></el-input>
|
|
|
+ :disabled="detailData.seeDisabled" rows="4"
|
|
|
+ clearable placeholder="通知人提单描述" ></el-input>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
</el-row>
|
|
|
-
|
|
|
</el-col>
|
|
|
+
|
|
|
<el-col span="8">
|
|
|
<el-row>
|
|
|
<div>
|
|
@@ -237,37 +263,51 @@
|
|
|
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="收货地" prop="carrierCnName" >
|
|
|
+ <el-form-item label="收货地" prop="placeReceiptName" >
|
|
|
<el-row>
|
|
|
<el-col :span="16">
|
|
|
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo"
|
|
|
- size="small" autocomplete="off"
|
|
|
- :disabled="detailData.voyageNo"
|
|
|
- clearable placeholder="请选择收货地" ></el-input>
|
|
|
+ <search-query :datalist="placeReceiptData"
|
|
|
+ :selectValue="assemblyForm.placeReceiptName"
|
|
|
+ :filterable="true"
|
|
|
+ :clearable="true"
|
|
|
+ :remote="true"
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
+ :buttonIf="false"
|
|
|
+ :forParameter="{key:'id',label:'enName',value:'enName'}"
|
|
|
+ @remoteMethod="remoteMethod($event,'placeReceipt')"
|
|
|
+ @corpChange="corpChange($event,'placeReceipt')" >
|
|
|
+ </search-query>
|
|
|
</el-col>
|
|
|
<el-col :span="7">
|
|
|
<span style="padding-left: 20px"></span>
|
|
|
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo"
|
|
|
+ <el-input type="age" style="width: 100%;" v-model="assemblyForm.placeReceiptNamePrint"
|
|
|
size="small" autocomplete="off"
|
|
|
:disabled="detailData.voyageNo"
|
|
|
- clearable placeholder="请选择收货地" ></el-input>
|
|
|
+ clearable placeholder="收货地" ></el-input>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="装货地" prop="carrierCnName" >
|
|
|
+ <el-form-item label="装货港" prop="placeReceiptName" >
|
|
|
<el-row>
|
|
|
<el-col :span="16">
|
|
|
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo"
|
|
|
- size="small" autocomplete="off"
|
|
|
- :disabled="detailData.voyageNo"
|
|
|
- clearable placeholder="请选择装货地" ></el-input>
|
|
|
+ <search-query :datalist="placeReceiptData"
|
|
|
+ :selectValue="assemblyForm.placeReceiptName"
|
|
|
+ :filterable="true"
|
|
|
+ :clearable="true"
|
|
|
+ :remote="true"
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
+ :buttonIf="false"
|
|
|
+ :forParameter="{key:'id',label:'enName',value:'enName'}"
|
|
|
+ @remoteMethod="remoteMethod($event,'placeReceipt')"
|
|
|
+ @corpChange="corpChange($event,'placeReceipt')" >
|
|
|
+ </search-query>
|
|
|
</el-col>
|
|
|
<el-col :span="7">
|
|
|
<span style="padding-left: 20px"></span>
|
|
|
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo"
|
|
|
+ <el-input type="age" style="width: 100%;" v-model="assemblyForm.placeReceiptNamePrint"
|
|
|
size="small" autocomplete="off"
|
|
|
:disabled="detailData.voyageNo"
|
|
|
- clearable placeholder="请选择装货地" ></el-input>
|
|
|
+ clearable placeholder="装货港" ></el-input>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form-item>
|
|
@@ -386,18 +426,67 @@
|
|
|
</el-form>
|
|
|
|
|
|
|
|
|
+ <el-dialog
|
|
|
+ title="第二通知人"
|
|
|
+ :visible.sync="hNotify2Visible"
|
|
|
+ width="30%"
|
|
|
+ append-to-body
|
|
|
+ :before-close="hNotify2HandleClose">
|
|
|
+ <div>
|
|
|
+ <el-form :model="assemblyForm" ref="form" label-width="60px">
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="通知人" prop="hNotify2CnName" >
|
|
|
+ <search-query :datalist="hNotify2Data"
|
|
|
+ :selectValue="assemblyForm.hNotify2CnName"
|
|
|
+ :filterable="true"
|
|
|
+ :clearable="true"
|
|
|
+ :remote="true"
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
+ :buttonIf="false"
|
|
|
+ :forParameter="{key:'id',label:'cnName',value:'cnName'}"
|
|
|
+ @remoteMethod="remoteMethod($event,'hNotify2')"
|
|
|
+ @corpChange="corpChange($event,'hNotify2')" >
|
|
|
+ </search-query>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="国家" prop="hNotify2CntyName" >
|
|
|
+ <el-input type="age" style="width: 100%;" v-model="assemblyForm.hNotify2CntyName"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
+ clearable placeholder="国家" ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="提单描述" prop="hNotify2Details" >
|
|
|
+ <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.hNotify2Details"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="detailData.seeDisabled" rows="4"
|
|
|
+ clearable placeholder="通知人提单描述" ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="hNotify2Visible = false">取 消</el-button>
|
|
|
+ <el-button type="danger" @click="hNotify2Cancellation('删除')">删 除</el-button>
|
|
|
+ <el-button type="primary" @click="hNotify2Visible = false">确 定</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import {
|
|
|
- precontainersDetail,
|
|
|
- precontainersList,
|
|
|
- precontainersRemove, precontainersSubmit
|
|
|
-} from "@/api/iosBasicData/ReceivingOrders/precontainers";
|
|
|
import precontainers
|
|
|
from "@/views/iosBasicData/SeafreightExportF/bills/assembly/EntrustmentLnformation/precontainers.vue";
|
|
|
+import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
|
|
|
+import {getBcorpslistByType} from "@/api/iosBasicData/bcorps";
|
|
|
+import {bportsList} from "@/api/iosBasicData/bports";
|
|
|
|
|
|
export default {
|
|
|
props:{
|
|
@@ -408,18 +497,150 @@ import precontainers
|
|
|
type:Object,
|
|
|
}
|
|
|
},
|
|
|
- components:{precontainers},
|
|
|
+ components:{SearchQuery, precontainers},
|
|
|
data(){
|
|
|
return {
|
|
|
- // assemblyForm:{},
|
|
|
// 多选的数据
|
|
|
tabsMultipleChoice:[],
|
|
|
+ // 发货人数据
|
|
|
+ hShipperData:[],
|
|
|
+ // 收货人数据
|
|
|
+ hConsigneeData:[],
|
|
|
+ // 通知人
|
|
|
+ hNotifyData:[],
|
|
|
+ // 第二通知人
|
|
|
+ hNotify2Data:[],
|
|
|
+ // 通知人弹窗开启关闭
|
|
|
+ hNotify2Visible:false,
|
|
|
+ // 收货地
|
|
|
+ placeReceiptData:[],
|
|
|
+
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
+ // 往来单位
|
|
|
+ this.hShipperBcorpsListfun()
|
|
|
+ this.hConsigneeBcorpsListfun()
|
|
|
+ this.hNotifyBcorpsListfun()
|
|
|
+ this.hNotify2BcorpsListfun()
|
|
|
+ // 港口接口
|
|
|
+ this.placeReceiptBportsListfun()
|
|
|
},
|
|
|
methods:{
|
|
|
+ // 远程搜索
|
|
|
+ remoteMethod(value,name){
|
|
|
+ let arr = ['hShipper','hConsignee','hNotify','hNotify2']
|
|
|
+ let portArr = ['placeReceipt']
|
|
|
+ if (arr.indexOf(name) != -1) {
|
|
|
+ this[name + 'BcorpsListfun'](value)
|
|
|
+ }
|
|
|
+ else if (portArr.indexOf(name) != -1) {
|
|
|
+ this[name + 'BportsListfun'](value)
|
|
|
+ }
|
|
|
+ else {
|
|
|
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 选择框的回调
|
|
|
+ corpChange(value,name) {
|
|
|
+ let arr = ['hShipper','hConsignee','hNotify','hNotify2']
|
|
|
+ let portArr = ['placeReceipt']
|
|
|
+ if (arr.indexOf(name) != -1) {
|
|
|
+ for(let item of this[name + 'Data']) {
|
|
|
+ if (item.cnName == value) {
|
|
|
+ this.$set(this.assemblyForm,name + 'Id',item.id)
|
|
|
+ this.$set(this.assemblyForm,name + 'CnName',item.cnName)
|
|
|
+ this.$set(this.assemblyForm,name + 'EnName',item.enName)
|
|
|
+ this.$set(this.assemblyForm,name + 'Code',item.code)
|
|
|
+ this.$set(this.assemblyForm,name + 'Details',item.details)
|
|
|
+ // 国家名称
|
|
|
+ this.$set(this.assemblyForm,name + 'CntyName',item.cntyName)
|
|
|
+ // 国家代码
|
|
|
+ this.$set(this.assemblyForm,name + 'CntyCode',item.cntyCode)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (portArr.indexOf(name) != -1) {
|
|
|
+ for(let item of this[name + 'Data']) {
|
|
|
+ if (item.enName == value) {
|
|
|
+ this.$set(this.assemblyForm,name + 'Id',item.id)
|
|
|
+ this.$set(this.assemblyForm,name + 'Name',item.enName)
|
|
|
+ this.$set(this.assemblyForm,name + 'Code',item.code)
|
|
|
+ this.$set(this.assemblyForm,name + 'NamePrint',item.enName)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else {}
|
|
|
+ },
|
|
|
+ // 通知人添加第二个通知人弹窗
|
|
|
+ hNotifyClick(){
|
|
|
+ this.hNotify2Visible = true
|
|
|
+ },
|
|
|
+ // 第二通知人弹窗的取消
|
|
|
+ hNotify2Cancellation(name){
|
|
|
+ let title = ''
|
|
|
+ if (name == '删除') {
|
|
|
+ title = '确认删除吗?'
|
|
|
+ }
|
|
|
+ if (name == '取消') {
|
|
|
+ title = '确认取消吗?填写的内容不会保存'
|
|
|
+ }
|
|
|
+ this.$confirm(title)
|
|
|
+ .then(_ => {
|
|
|
+ this.$set(this.assemblyForm,'hNotify2Id','')
|
|
|
+ this.$set(this.assemblyForm,'hNotify2CnName','')
|
|
|
+ this.$set(this.assemblyForm,'hNotify2EnName','')
|
|
|
+ this.$set(this.assemblyForm,'hNotify2Code','')
|
|
|
+ this.$set(this.assemblyForm,'hNotify2Details','')
|
|
|
+ this.$set(this.assemblyForm,'hNotify2CntyName','')
|
|
|
+ this.$set(this.assemblyForm,'hNotify2CntyCode','')
|
|
|
+ this.hNotify2Visible = false
|
|
|
+ })
|
|
|
+ .catch(_ => {});
|
|
|
+ },
|
|
|
+ // 通知人
|
|
|
+ hNotify2HandleClose(done){
|
|
|
+ this.$confirm('确认关闭?')
|
|
|
+ .then(_ => {
|
|
|
+ done();
|
|
|
+ })
|
|
|
+ .catch(_ => {});
|
|
|
+ },
|
|
|
+ // 接口数据请求🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏
|
|
|
+ // 获取发货人数据 (往来单位 前四个代理)
|
|
|
+ hShipperBcorpsListfun(cnName){
|
|
|
+ let corpType = '1712285382575398914,1712285645314990082,1712285842321448962,1712286433378574338'
|
|
|
+ getBcorpslistByType(1,10,{cnName,corpType}).then(res=>{
|
|
|
+ this.hShipperData = res.data.data.records
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 获取收货人数据 (往来单位 前四个代理)
|
|
|
+ hConsigneeBcorpsListfun(cnName){
|
|
|
+ let corpType = '1712285382575398914,1712285645314990082,1712285842321448962,1712286433378574338'
|
|
|
+ getBcorpslistByType(1,10,{cnName,corpType}).then(res=>{
|
|
|
+ this.hConsigneeData = res.data.data.records
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 获取通知人数据 (往来单位 前四个代理)
|
|
|
+ hNotifyBcorpsListfun(cnName){
|
|
|
+ let corpType = '1712285382575398914,1712285645314990082,1712285842321448962,1712286433378574338'
|
|
|
+ getBcorpslistByType(1,10,{cnName,corpType}).then(res=>{
|
|
|
+ this.hNotifyData = res.data.data.records
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 获取第二通知人数据 (往来单位 前四个代理)
|
|
|
+ hNotify2BcorpsListfun(cnName){
|
|
|
+ let corpType = '1712285382575398914,1712285645314990082,1712285842321448962,1712286433378574338'
|
|
|
+ getBcorpslistByType(1,10,{cnName,corpType}).then(res=>{
|
|
|
+ this.hNotify2Data = res.data.data.records
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 收货地数据 (港口表)
|
|
|
+ placeReceiptBportsListfun(enName){
|
|
|
+ bportsList(1,10,{enName}).then(res=>{
|
|
|
+ this.placeReceiptData = res.data.data.records
|
|
|
+ })
|
|
|
+ },
|
|
|
|
|
|
}
|
|
|
|
|
@@ -431,4 +652,16 @@ import precontainers
|
|
|
::v-deep.el-form-item {
|
|
|
margin-bottom: 10px;
|
|
|
}
|
|
|
+.addbuttonClass {
|
|
|
+ width: 30px;
|
|
|
+ height: 30px;
|
|
|
+ line-height: 27px;
|
|
|
+ color: #fff;
|
|
|
+ font-weight: 500;
|
|
|
+ font-size: 26px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ border-radius: 4px;
|
|
|
+ background-color: rgba(16, 16, 16, 1);
|
|
|
+ text-align: center;
|
|
|
+}
|
|
|
</style>
|