Ver Fonte

货代10.19

caojunjie há 1 ano atrás
pai
commit
71a5cc36d3

+ 178 - 70
src/views/iosBasicData/SeafreightExportF/bills/assembly/EntrustmentLnformation.vue

@@ -115,7 +115,7 @@
                             <span style="font-size: 14px">唛头</span>
                         </div>
                         <div style="margin-top: 10px">
-                            <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.mShipperCnName"
+                            <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.marks"
                                       size="small" autocomplete="off"
                                       :disabled="detailData.seeDisabled" rows="5"
                                       clearable placeholder="备注唛头" ></el-input>
@@ -147,7 +147,7 @@
                             <el-form-item label="货物描述" prop="mShipperCnName" >
                                 <el-col :span="16">
                                     <el-checkbox size="medium" v-model="checked">危险品</el-checkbox>
-                                    <el-checkbox size="medium" v-model="checked">大件货</el-checkbox>
+                                    <el-checkbox size="medium" :true-label="1" :false-label="0" v-model="assemblyForm.isLargeCargo">大件货</el-checkbox>
                                 </el-col>
                                 <el-col :span="8">
                                     <el-button size="small">详细内容</el-button>
@@ -186,7 +186,7 @@
                             <el-form-item label="船名" prop="carrierCnName" label-width="80px" >
                                 <el-input type="age" style="width: 100%;" v-model="assemblyForm.vesselCnName"
                                           size="small" autocomplete="off"
-                                          :disabled="detailData.vesselCnName"
+                                          :disabled="detailData.seeDisabled"
                                           clearable placeholder="请选择船名" ></el-input>
                             </el-form-item>
                         </el-col>
@@ -194,66 +194,77 @@
                             <el-form-item label="航次" prop="carrierCnName" label-width="50px"  >
                                 <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo"
                                           size="small" autocomplete="off"
-                                          :disabled="detailData.voyageNo"
+                                          :disabled="detailData.seeDisabled"
                                           clearable placeholder="请选择航次" ></el-input>
                             </el-form-item>
                         </el-col>
                     </div>
-                    <el-form-item label="ETD" prop="carrierCnName">
-                        <el-input type="age" style="width: 100%;" v-model="assemblyForm.vesselCnName"
-                                  size="small" autocomplete="off"
-                                  :disabled="detailData.vesselCnName"
-                                  clearable placeholder="请选择ETD" ></el-input>
+                    <el-form-item label="ETD" prop="etd">
+                        <el-date-picker v-model="assemblyForm.etd" clearable
+                                        type="date" size="small" :disabled="detailData.seeDisabled"
+                                        value-format="yyyy-MM-dd HH:mm:ss"
+                                        placeholder="选择日期">
+                        </el-date-picker>
                     </el-form-item>
                     <el-form-item label="订舱日期" prop="bookingDate">
-                        <el-input type="age" style="width: 100%;" v-model="assemblyForm.bookingDate"
-                                  size="small" autocomplete="off"
-                                  :disabled="detailData.bookingDate"
-                                  clearable placeholder="请选择订舱日期" ></el-input>
+                        <el-date-picker v-model="assemblyForm.bookingDate" clearable
+                                        type="date" size="small" :disabled="detailData.seeDisabled"
+                                        value-format="yyyy-MM-dd HH:mm:ss"
+                                        placeholder="选择日期">
+                        </el-date-picker>
                     </el-form-item>
+
                     <div>
-                        <el-checkbox size="medium" v-model="checked">陆运</el-checkbox>
-                        <el-checkbox size="medium" v-model="checked">需报关</el-checkbox>
-                        <el-checkbox size="medium" v-model="checked">需三检</el-checkbox>
+                        <el-checkbox size="medium" :true-label="1" :false-label="0" v-model="assemblyForm.isNeedLand">陆运</el-checkbox>
+                        <el-checkbox size="medium" :true-label="1" :false-label="0" v-model="assemblyForm.isNeedDeclare">需报关</el-checkbox>
+                        <el-checkbox size="medium" :true-label="1" :false-label="0" v-model="assemblyForm.isNeedIq">需三检</el-checkbox>
                     </div>
+
                     <el-form-item label="箱数或件数大写" prop="carrierCnName" label-width="100px">
                         <el-input type="age" style="width: 100%;" v-model="assemblyForm.vesselCnName"
                                   size="small" autocomplete="off"
-                                  :disabled="detailData.vesselCnName"
+                                  :disabled="detailData.seeDisabled"
                                   clearable placeholder="请选择ETD" ></el-input>
                     </el-form-item>
                     <div>
                         <el-col :span="12">
-                            <el-form-item label="件数" prop="carrierCnName" label-width="80px" >
-                                <el-input type="age" style="width: 100%;" v-model="assemblyForm.vesselCnName"
+                            <el-form-item label="件数" prop="quantity" label-width="80px" >
+                                <el-input type="age" style="width: 100%;" v-model="assemblyForm.quantity"
                                           size="small" autocomplete="off"
-                                          :disabled="detailData.vesselCnName"
-                                          clearable placeholder="请选择船名" ></el-input>
+                                          :disabled="detailData.seeDisabled"
+                                          clearable placeholder="件数" ></el-input>
                             </el-form-item>
                         </el-col>
                         <el-col :span="12">
-                            <el-form-item label="包装" prop="carrierCnName" label-width="50px"  >
-                                <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo"
-                                          size="small" autocomplete="off"
-                                          :disabled="detailData.voyageNo"
-                                          clearable placeholder="请选择航次" ></el-input>
+                            <el-form-item label="包装" prop="packingUnit" label-width="50px"  >
+                                <search-query :datalist="packingUnitData"
+                                              :selectValue="assemblyForm.packingUnit"
+                                              :filterable="true"
+                                              :clearable="true"
+                                              :remote="true"
+                                              :disabled="detailData.seeDisabled"
+                                              :buttonIf="false"
+                                              :forParameter="{key:'id',label:'cnName',value:'cnName'}"
+                                              @remoteMethod="remoteMethod($event,'packingUnit')"
+                                              @corpChange="corpChange($event,'packingUnit')" >
+                                </search-query>
                             </el-form-item>
                         </el-col>
                     </div>
                     <div>
                         <el-col :span="12">
-                            <el-form-item label="毛重" prop="carrierCnName" label-width="80px" >
+                            <el-form-item label="毛重" prop="grossWeight" label-width="80px" >
                                 <el-input type="age" style="width: 100%;" v-model="assemblyForm.grossWeight"
                                           size="small" autocomplete="off"
-                                          :disabled="detailData.grossWeight"
+                                          :disabled="detailData.seeDisabled"
                                           clearable placeholder="请选择毛重" ></el-input>
                             </el-form-item>
                         </el-col>
                         <el-col :span="12">
-                            <el-form-item label="尺码" prop="carrierCnName" label-width="50px"  >
-                                <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo"
+                            <el-form-item label="尺码" prop="measurement" label-width="50px"  >
+                                <el-input type="age" style="width: 100%;" v-model="assemblyForm.measurement"
                                           size="small" autocomplete="off"
-                                          :disabled="detailData.voyageNo"
+                                          :disabled="detailData.seeDisabled"
                                           clearable placeholder="请选择尺码" ></el-input>
                             </el-form-item>
                         </el-col>
@@ -282,89 +293,110 @@
                                 <span style="padding-left: 20px"></span>
                                 <el-input type="age" style="width: 100%;" v-model="assemblyForm.placeReceiptNamePrint"
                                           size="small" autocomplete="off"
-                                          :disabled="detailData.voyageNo"
+                                          :disabled="detailData.seeDisabled"
                                           clearable placeholder="收货地" ></el-input>
                             </el-col>
                         </el-row>
                     </el-form-item>
-                    <el-form-item label="装货港" prop="placeReceiptName" >
+                    <el-form-item label="装货港" prop="polCnName" >
                         <el-row>
                             <el-col :span="16">
-                                <search-query :datalist="placeReceiptData"
-                                              :selectValue="assemblyForm.placeReceiptName"
+                                <search-query :datalist="polData"
+                                              :selectValue="assemblyForm.polCnName"
                                               :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')" >
+                                              @remoteMethod="remoteMethod($event,'pol')"
+                                              @corpChange="corpChange($event,'pol')" >
                                 </search-query>
                             </el-col>
                             <el-col :span="7">
                                 <span style="padding-left: 20px"></span>
-                                <el-input type="age" style="width: 100%;" v-model="assemblyForm.placeReceiptNamePrint"
+                                <el-input type="age" style="width: 100%;" v-model="assemblyForm.polNamePrint"
                                           size="small" autocomplete="off"
-                                          :disabled="detailData.voyageNo"
+                                          :disabled="detailData.seeDisabled"
                                           clearable placeholder="装货港" ></el-input>
                             </el-col>
                         </el-row>
                     </el-form-item>
-                    <el-form-item label="卸货地" prop="carrierCnName" >
+                    <el-form-item label="卸货港" prop="podCnName" >
                         <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="polData"
+                                              :selectValue="assemblyForm.podCnName"
+                                              :filterable="true"
+                                              :clearable="true"
+                                              :remote="true"
+                                              :disabled="detailData.seeDisabled"
+                                              :buttonIf="false"
+                                              :forParameter="{key:'id',label:'enName',value:'enName'}"
+                                              @remoteMethod="remoteMethod($event,'pod')"
+                                              @corpChange="corpChange($event,'pod')" >
+                                </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.podNamePrint"
                                           size="small" autocomplete="off"
-                                          :disabled="detailData.voyageNo"
-                                          clearable placeholder="请选择卸货地" ></el-input>
+                                          :disabled="detailData.seeDisabled"
+                                          clearable placeholder="卸货港" ></el-input>
                             </el-col>
                         </el-row>
                     </el-form-item>
-                    <el-form-item label="目的地" prop="carrierCnName" >
+                    <el-form-item label="目的地" prop="destinationName" >
                         <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="destinationData"
+                                              :selectValue="assemblyForm.destinationName"
+                                              :filterable="true"
+                                              :clearable="true"
+                                              :remote="true"
+                                              :disabled="detailData.seeDisabled"
+                                              :buttonIf="false"
+                                              :forParameter="{key:'id',label:'enName',value:'enName'}"
+                                              @remoteMethod="remoteMethod($event,'destination')"
+                                              @corpChange="corpChange($event,'destination')" >
+                                </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.destinationNamePrint"
                                           size="small" autocomplete="off"
-                                          :disabled="detailData.voyageNo"
-                                          clearable placeholder="请选择目的地" ></el-input>
+                                          :disabled="detailData.seeDisabled"
+                                          clearable placeholder="目的地" ></el-input>
                             </el-col>
                         </el-row>
                     </el-form-item>
-                    <el-form-item label="交货地" prop="carrierCnName" >
+                    <el-form-item label="交货地" prop="placeDeliveryName" >
                         <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="placeDeliveryData"
+                                              :selectValue="assemblyForm.placeDeliveryName"
+                                              :filterable="true"
+                                              :clearable="true"
+                                              :remote="true"
+                                              :disabled="detailData.seeDisabled"
+                                              :buttonIf="false"
+                                              :forParameter="{key:'id',label:'enName',value:'enName'}"
+                                              @remoteMethod="remoteMethod($event,'placeDelivery')"
+                                              @corpChange="corpChange($event,'placeDelivery')" >
+                                </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.placeDeliveryNamePrint"
                                           size="small" autocomplete="off"
-                                          :disabled="detailData.voyageNo"
-                                          clearable placeholder="请选择交货地" ></el-input>
+                                          :disabled="detailData.seeDisabled"
+                                          clearable placeholder="交货地" ></el-input>
                             </el-col>
                         </el-row>
                     </el-form-item>
                 </el-col>
                 <el-col :span="16">
-                    <precontainers></precontainers>
+                    <precontainers :pid="assemblyForm.id"></precontainers>
                 </el-col>
             </el-row>
             <el-form-item label="备注" prop="carrierCnName" >
@@ -376,17 +408,17 @@
 
             <el-row :gutter="20">
                 <el-col :span="12">
-                    <el-form-item label="外提单号" prop="carrierCnName" >
-                        <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo"
+                    <el-form-item label="外提单号" prop="refno" >
+                        <el-input type="age" style="width: 100%;" v-model="assemblyForm.refno"
                                   size="small" autocomplete="off"
-                                  :disabled="detailData.voyageNo"
+                                  :disabled="detailData.seeDisabled"
                                   clearable placeholder="请输入外提单号" ></el-input>
                     </el-form-item>
                     <el-form-item label="订舱代理" prop="carrierCnName" >
                         <el-col :span="8">
                             <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo"
                                       size="small" autocomplete="off"
-                                      :disabled="detailData.voyageNo"
+                                      :disabled="detailData.seeDisabled"
                                       clearable placeholder="请输入订舱代理" ></el-input>
                         </el-col>
                         <el-col :span="16">
@@ -487,6 +519,7 @@ import precontainers
 import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
 import {getBcorpslistByType} from "@/api/iosBasicData/bcorps";
 import {bportsList} from "@/api/iosBasicData/bports";
+import {bpackagesList} from "@/api/iosBasicData/bpackages";
 
     export default {
         props:{
@@ -514,6 +547,16 @@ import {bportsList} from "@/api/iosBasicData/bports";
                 hNotify2Visible:false,
                 // 收货地
                 placeReceiptData:[],
+                // 装货港
+                polData:[],
+                // 卸货港
+                podData:[],
+                // 目的地
+                destinationData:[],
+                // 交货地
+                placeDeliveryData:[],
+                // 包装
+                packingUnitData:[],
 
             }
         },
@@ -525,18 +568,29 @@ import {bportsList} from "@/api/iosBasicData/bports";
             this.hNotify2BcorpsListfun()
             // 港口接口
             this.placeReceiptBportsListfun()
+            this.polBportsListfun()
+            this.podBportsListfun()
+            this.destinationBportsListfun()
+            this.placeDeliveryBportsListfun()
+            // 包装
+            this.packingUnitBpackagesListfun()
         },
         methods:{
             // 远程搜索
             remoteMethod(value,name){
                 let arr = ['hShipper','hConsignee','hNotify','hNotify2']
-                let portArr = ['placeReceipt']
+                let portArr = ['placeReceipt','pol','pod','destination','placeDelivery']
                 if (arr.indexOf(name) != -1) {
                     this[name + 'BcorpsListfun'](value)
                 }
+                // 港口
                 else if (portArr.indexOf(name) != -1) {
                     this[name + 'BportsListfun'](value)
                 }
+                // 包装
+                else if (name == 'packingUnit') {
+                    this.packingUnitBpackagesListfun(value)
+                }
                 else {
 
                 }
@@ -544,7 +598,8 @@ import {bportsList} from "@/api/iosBasicData/bports";
             // 选择框的回调
             corpChange(value,name) {
                 let arr = ['hShipper','hConsignee','hNotify','hNotify2']
-                let portArr = ['placeReceipt']
+                let portArr = ['placeReceipt','destination','placeDelivery']
+                let cnPorArr = ['pol','pod']
                 if (arr.indexOf(name) != -1) {
                     for(let item of this[name + 'Data']) {
                         if (item.cnName == value) {
@@ -560,6 +615,19 @@ import {bportsList} from "@/api/iosBasicData/bports";
                         }
                     }
                 }
+                // 有中文名称的港口
+                else if (cnPorArr.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 + 'CnName',item.cnName)
+                            this.$set(this.assemblyForm,name + 'EnName',item.enName)
+                            this.$set(this.assemblyForm,name + 'Code',item.code)
+                            this.$set(this.assemblyForm,name + 'NamePrint',item.enName)
+                        }
+                    }
+                }
+                // 没有中文名的港口
                 else if (portArr.indexOf(name) != -1) {
                     for(let item of this[name + 'Data']) {
                         if (item.enName == value) {
@@ -570,6 +638,15 @@ import {bportsList} from "@/api/iosBasicData/bports";
                         }
                     }
                 }
+                // 包装
+                else if (name == 'packingUnit') {
+                    for(let item of this[name + 'Data']) {
+                        if (item.cnName == value) {
+                            this.$set(this.assemblyForm,'packingUnitId',item.id)
+                            this.$set(this.assemblyForm,'packingUnit',item.cnName)
+                        }
+                    }
+                }
                 else {}
             },
             // 通知人添加第二个通知人弹窗
@@ -641,6 +718,37 @@ import {bportsList} from "@/api/iosBasicData/bports";
                     this.placeReceiptData = res.data.data.records
                 })
             },
+            // 装货港数据
+            polBportsListfun(enName){
+                bportsList(1,10,{enName}).then(res=>{
+                    this.polData = res.data.data.records
+                })
+            },
+            // 卸货港数据
+            podBportsListfun(enName){
+                bportsList(1,10,{enName}).then(res=>{
+                    this.podData = res.data.data.records
+                })
+            },
+            // 目的地
+            destinationBportsListfun(enName){
+                bportsList(1,10,{enName}).then(res=>{
+                    this.destinationData = res.data.data.records
+                })
+            },
+            // 交货地
+            placeDeliveryBportsListfun(enName){
+                bportsList(1,10,{enName}).then(res=>{
+                    this.placeDeliveryData = res.data.data.records
+                })
+            },
+            // 包装数据
+            packingUnitBpackagesListfun(cnName) {
+                bpackagesList(1,10,{cnName}).then(res=>{
+                    this.packingUnitData = res.data.data.records
+                })
+            },
+
 
         }
 

+ 26 - 12
src/views/iosBasicData/SeafreightExportF/bills/assembly/EntrustmentLnformation/precontainers.vue

@@ -36,6 +36,9 @@
   import {mapGetters} from "vuex";
 
   export default {
+      props:{
+          pid:{}
+      },
     data() {
       return {
         form: {},
@@ -131,10 +134,13 @@
             {
               label: "温度单位",
               prop: "temperatureUnit",
-              rules: [{
-                required: true,
-                message: "请输入温度单位 C=摄氏度 F=华氏度",
-                trigger: "blur"
+              type: 'select',
+              dicData: [{
+                 label: '摄氏度',
+                 value: 'C'
+              }, {
+                 label: '华氏度',
+                 value: 'F'
               }]
             },
             {
@@ -159,19 +165,25 @@
               label: "是否货主自有箱",
               prop: "isSoc",
               width:'120',
-              rules: [{
-                required: true,
-                message: "请输入是否货主自有箱 SOC 箱(0 否 1是)",
-                trigger: "blur"
+              type: 'select',
+              dicData: [{
+                  label: '否',
+                  value: 0
+              }, {
+                  label: '是',
+                  value: 1
               }]
             },
             {
               label: "是否单程",
               prop: "isOneway",
-              rules: [{
-                required: true,
-                message: "请输入是否单程 ONEWAY 箱(0 否 1是)",
-                trigger: "blur"
+              type: 'select',
+              dicData: [{
+                 label: '否',
+                 value: 0
+              }, {
+                label: '是',
+                value: 1
               }]
             },
             // {
@@ -217,6 +229,7 @@
     },
     methods: {
       rowSave(row, done, loading) {
+          row.pid = this.pid
         precontainersSubmit(row).then(() => {
           this.onLoad(this.page);
           this.$message({
@@ -230,6 +243,7 @@
         });
       },
       rowUpdate(row, index, done, loading) {
+          row.pid = this.pid
         precontainersSubmit(row).then(() => {
           this.onLoad(this.page);
           this.$message({

+ 9 - 3
src/views/iosBasicData/SeafreightExportF/bills/billsDetails.vue

@@ -179,7 +179,7 @@ import {getBcorpsattnList} from "@/api/iosBasicData/bcorpsattn";
 import {getWorkDicts} from "@/api/system/dictbiz";
 import {getDeptLazyTree} from "@/api/system/dept";
 import {bcorpstypedefineList} from "@/api/iosBasicData/bcorpstypedefine";
-import {billsGetBillNo, billsSubmit} from '@/api/iosBasicData/bills'
+import {billsDetail, billsGetBillNo, billsSubmit} from '@/api/iosBasicData/bills'
     export default {
         components:{
             SearchQuery,
@@ -813,12 +813,12 @@ import {billsGetBillNo, billsSubmit} from '@/api/iosBasicData/bills'
             },
             // 编辑按钮
             editHandle(){
-
+                this.detailData.seeDisabled = false
             },
             // 大保存按钮
             editCustomer(){
                 console.log(this.form,344)
-                // this.billsSubmitfun()
+                this.billsSubmitfun()
             },
             // 主表保存接口大保存
             billsSubmitfun(){
@@ -826,6 +826,12 @@ import {billsGetBillNo, billsSubmit} from '@/api/iosBasicData/bills'
                     console.log(res)
                 })
             },
+            // 详情接口
+            billsDetailfun(id){
+                billsDetail(id).then(res => {
+                    this.form = res.data.data;
+                });
+            },
             // tbas切换
             handleClick(tba,event) {
 

+ 16 - 0
src/views/iosBasicData/SeafreightExportF/bills/index.vue

@@ -29,6 +29,11 @@
                              @click="handleDelete">删 除
                   </el-button>
               </template>
+              <template slot-scope="scope" slot="menu">
+                  <el-button :type="scope.type" :size="scope.size" icon="el-icon-edit"
+                             @click.stop="rowCellfun(scope.row, scope.index)">编辑
+                  </el-button>
+              </template>
           </avue-crud>
       </basic-container>
 
@@ -2066,6 +2071,17 @@
             this.detailData.seeDisabled = false
             this.isShow = false
         },
+        // 编辑详情打开
+        rowCellfun(row,index) {
+            this.detailData = {
+                seeDisabled: true,
+                id: row.id
+            };
+            this.isShow = false
+            this.$nextTick(()=>{
+                this.$refs.billsDetails.billsDetailfun(row.id)
+            })
+        },
 
       rowSave(row, done, loading) {
         billsSubmit(row).then(() => {