Browse Source

货代海运出口10.27

caojunjie 2 years ago
parent
commit
e76a2f09aa

+ 30 - 0
src/api/iosBasicData/bills.js

@@ -77,3 +77,33 @@ export const billsRevokeReinsurancePolicy = (ids,id) => {
     }
   })
 }
+// 收货地 装货港 当前登录人的默认
+export const deptGetDetailPol = (id) => {
+  return request({
+    url: '/api/blade-system/dept/getDetailPol',
+    method: 'get',
+    params: {
+      id
+    }
+  })
+}
+// 费用获取模板列表
+export const losbfeestemplateGetListTemplate = (current, size, params) => {
+  return request({
+    url: '/api/blade-los/losbfeestemplate/getListTemplate',
+    method: 'get',
+    params: {
+      ...params,
+      current,
+      size,
+    }
+  })
+}
+// 费用模板导入
+export const feecenterTemplateImport = (row) => {
+  return request({
+    url: '/api/blade-los/feecenter/templateImport',
+    method: 'post',
+    data: row
+  })
+}

+ 92 - 4
src/views/iosBasicData/SeafreightExportF/bills/assembly/EntrustmentLnformation.vue

@@ -5,6 +5,9 @@
                 <el-col span="8">
                     <el-row>
                         <el-form-item label="发货人" prop="hShipperCnName" >
+                            <span slot="label">
+                               <span style="color: #1e9fff">发货人</span>
+                            </span>
                             <div>
                                 <el-col :span="16">
                                     <search-query :datalist="hShipperData"
@@ -38,6 +41,9 @@
                             </el-form-item>
                         </div>
                         <el-form-item label="收货人" prop="hConsigneeCnName" >
+                            <span slot="label">
+                               <span style="color: #1e9fff">收货人</span>
+                            </span>
                             <div>
                                 <el-col :span="16">
                                     <search-query :datalist="hConsigneeData"
@@ -71,6 +77,9 @@
                             </el-form-item>
                         </div>
                         <el-form-item label="通知人" prop="hNotifyCnName" >
+                            <span slot="label">
+                               <span style="color: #1e9fff">通知人</span>
+                            </span>
                             <div>
                                 <el-col :span="16">
                                     <search-query :datalist="hNotifyData"
@@ -114,7 +123,7 @@
                 <el-col span="8">
                     <el-row>
                         <div>
-                            <span style="font-size: 14px">唛头</span>
+                            <span style="font-size: 14px;color: #1e9fff">唛头</span>
                         </div>
                         <div style="margin-top: 4px">
                             <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.marks"
@@ -124,6 +133,9 @@
                         </div>
                         <div style="margin-top: 4px">
                             <el-form-item label="HS CODE" prop="commodityCnName" >
+                                <span slot="label">
+                                    <span style="color: #1e9fff">HS CODE</span>
+                                </span>
                                 <el-col :span="16">
                                     <search-query :datalist="commodityData"
                                                   :selectValue="assemblyForm.commodityCnName"
@@ -154,7 +166,10 @@
                                       clearable placeholder="商品简称" ></el-input>
                         </div>
                         <div style="margin-top: 4px">
-                            <el-form-item label="货描" prop="cargoType" label-width="30" >
+                            <el-form-item label="货描" prop="cargoType" label-width="90px" >
+                                <span slot="label">
+                                    <span style="color: #1e9fff">货描</span>
+                                </span>
                                 <el-col :span="5">
                                     <el-checkbox size="medium" :true-label="1" :false-label="0" v-model="assemblyForm.isLargeCargo">大件货</el-checkbox>
                                 </el-col>
@@ -187,6 +202,9 @@
                 </el-col>
                 <el-col span="8">
                     <el-form-item label="ETD" prop="etd" label-width="90px">
+                        <span slot="label">
+                             <span style="color: #1e9fff">ETD</span>
+                        </span>
                         <el-date-picker v-model="assemblyForm.etd" clearable style="width: 100%"
                                         type="date" size="small" :disabled="detailData.seeDisabled"
                                         value-format="yyyy-MM-dd HH:mm:ss"
@@ -195,6 +213,9 @@
                     </el-form-item>
                     <div>
                         <el-form-item label="船名" prop="vesselCnName" label-width="90px" >
+                            <span slot="label">
+                                <span style="color: #1e9fff">船名</span>
+                            </span>
                             <search-query :datalist="vesselData"
                                           :selectValue="assemblyForm.vesselCnName"
                                           :filterable="true"
@@ -209,6 +230,9 @@
                             </search-query>
                         </el-form-item>
                         <el-form-item label="航次" prop="voyageNo" label-width="90px"  >
+                            <span slot="label">
+                                <span style="color: #1e9fff">航次</span>
+                            </span>
                             <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo"
                                       size="small" autocomplete="off"
                                       :disabled="detailData.seeDisabled"
@@ -216,12 +240,18 @@
                         </el-form-item>
                     </div>
                     <el-form-item label="客户约号" prop="corpArgreementNo" label-width="90px">
+                        <span slot="label">
+                            <span style="color: #1e9fff">客户约号</span>
+                        </span>
                         <el-input type="age" style="width: 100%;" v-model="assemblyForm.corpArgreementNo"
                                   size="small" autocomplete="off"
                                   :disabled="detailData.seeDisabled"
                                   clearable placeholder="请选择客户约号" ></el-input>
                     </el-form-item>
                     <el-form-item label="船公司" prop="carrierCnName" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">船公司</span>
+                        </span>
                         <search-query :datalist="carrierData"
                                       :selectValue="assemblyForm.carrierCnName"
                                       :filterable="true"
@@ -236,12 +266,18 @@
                         </search-query>
                     </el-form-item>
                     <el-form-item label="船公司约号" prop="carrierArgreementNo" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">船公司约号</span>
+                        </span>
                         <el-input type="age" style="width: 100%;" v-model="assemblyForm.carrierArgreementNo"
                                   size="small" autocomplete="off"
                                   :disabled="detailData.seeDisabled"
                                   clearable placeholder="请选择船公司约号" ></el-input>
                     </el-form-item>
                     <el-form-item label="订舱日期" prop="bookingDate">
+                        <span slot="label">
+                            <span style="color: #1e9fff">订舱日期</span>
+                        </span>
                         <el-date-picker v-model="assemblyForm.bookingDate" clearable style="width: 100%"
                                         type="date" size="small" :disabled="detailData.seeDisabled"
                                         value-format="yyyy-MM-dd HH:mm:ss"
@@ -256,6 +292,9 @@
                     </div>
 
                     <el-form-item label="箱数或件数大写" prop="quantityPackingDescr" label-width="100px">
+                        <span slot="label">
+                            <span style="color: #1e9fff">箱数或件数大写</span>
+                        </span>
                         <el-input type="age" style="width: 100%;" v-model="assemblyForm.quantityPackingDescr"
                                   size="small" autocomplete="off"
                                   :disabled="true"
@@ -264,6 +303,9 @@
                     <div>
                         <el-col :span="12">
                             <el-form-item label="件数" prop="quantity" label-width="80px" >
+                                <span slot="label">
+                                    <span style="color: #1e9fff">件数</span>
+                                </span>
                                 <el-input type="age" style="width: 100%;" v-model="assemblyForm.quantity"
                                           size="small" autocomplete="off"
                                           :disabled="detailData.seeDisabled"
@@ -272,6 +314,9 @@
                         </el-col>
                         <el-col :span="12">
                             <el-form-item label="包装" prop="packingUnit" label-width="50px"  >
+                                <span slot="label">
+                                    <span style="color: #1e9fff">包装</span>
+                                </span>
                                 <search-query :datalist="packingUnitData"
                                               :selectValue="assemblyForm.packingUnit"
                                               :filterable="true"
@@ -290,6 +335,9 @@
                     <div>
                         <el-col :span="12">
                             <el-form-item label="毛重" prop="grossWeight" label-width="80px" >
+                                <span slot="label">
+                                    <span style="color: #1e9fff">毛重</span>
+                                </span>
                                 <el-input type="age" style="width: 100%;" v-model="assemblyForm.grossWeight"
                                           size="small" autocomplete="off"
                                           :disabled="detailData.seeDisabled"
@@ -298,6 +346,9 @@
                         </el-col>
                         <el-col :span="12">
                             <el-form-item label="尺码" prop="measurement" label-width="50px"  >
+                                <span slot="label">
+                                    <span style="color: #1e9fff">尺码</span>
+                                </span>
                                 <el-input type="age" style="width: 100%;" v-model="assemblyForm.measurement"
                                           size="small" autocomplete="off"
                                           :disabled="detailData.seeDisabled"
@@ -311,6 +362,9 @@
             <el-row :gutter="20">
                 <el-col :span="8">
                     <el-form-item label="收货地" prop="placeReceiptName" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">收货地</span>
+                        </span>
                         <el-row>
                             <el-col :span="16">
                                 <search-query :datalist="placeReceiptData"
@@ -336,6 +390,9 @@
                         </el-row>
                     </el-form-item>
                     <el-form-item label="装货港" prop="polCnName" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">装货港</span>
+                        </span>
                         <el-row>
                             <el-col :span="16">
                                 <search-query :datalist="polData"
@@ -361,9 +418,12 @@
                         </el-row>
                     </el-form-item>
                     <el-form-item label="卸货港" prop="podCnName" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">卸货港</span>
+                        </span>
                         <el-row>
                             <el-col :span="16">
-                                <search-query :datalist="polData"
+                                <search-query :datalist="podData"
                                               :selectValue="assemblyForm.podCnName"
                                               :filterable="true"
                                               :clearable="true"
@@ -386,6 +446,9 @@
                         </el-row>
                     </el-form-item>
                     <el-form-item label="目的地" prop="destinationName" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">目的地</span>
+                        </span>
                         <el-row>
                             <el-col :span="16">
                                 <search-query :datalist="destinationData"
@@ -411,6 +474,9 @@
                         </el-row>
                     </el-form-item>
                     <el-form-item label="交货地" prop="placeDeliveryName" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">交货地</span>
+                        </span>
                         <el-row>
                             <el-col :span="16">
                                 <search-query :datalist="placeDeliveryData"
@@ -441,6 +507,9 @@
                 </el-col>
             </el-row>
             <el-form-item label="备注" prop="remarks" >
+                <span slot="label">
+                   <span style="color: #1e9fff">备注</span>
+                </span>
                 <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.remarks"
                           size="small" autocomplete="off"
                           :disabled="detailData.seeDisabled" rows="3"
@@ -450,6 +519,9 @@
             <el-row :gutter="20">
                 <el-col :span="12">
                     <el-form-item label="COLOADER" prop="coloaderCnName" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">COLOADER</span>
+                        </span>
                         <search-query :datalist="coloaderCnNameData"
                                       :selectValue="assemblyForm.coloaderCnName"
                                       :filterable="true"
@@ -465,6 +537,9 @@
                         </search-query>
                     </el-form-item>
                     <el-form-item label="订舱代理" prop="bookingAgentCnName" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">订舱代理</span>
+                        </span>
                         <el-col :span="8">
                             <search-query :datalist="bookingAgentData"
                                           :selectValue="assemblyForm.bookingAgentCnName"
@@ -487,6 +562,9 @@
                         </el-col>
                     </el-form-item>
                     <el-form-item label="订舱备注" prop="bookingRemarks" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">订舱备注</span>
+                        </span>
                         <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.bookingRemarks"
                                   size="small" autocomplete="off"
                                   :disabled="detailData.seeDisabled" rows="3"
@@ -497,6 +575,9 @@
                     <el-row>
                         <el-col :span="12">
                             <el-form-item label="航线" prop="lineCnName" >
+                                <span slot="label">
+                                    <span style="color: #1e9fff">航线</span>
+                                </span>
                                 <search-query :datalist="lineData"
                                               :selectValue="assemblyForm.lineCnName"
                                               :filterable="true"
@@ -513,6 +594,9 @@
                         </el-col>
                     </el-row>
                     <el-form-item label="SI备注" prop="siRemarks" >
+                        <span slot="label">
+                           <span style="color: #1e9fff">SI备注</span>
+                        </span>
                         <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.siRemarks"
                                   size="small" autocomplete="off"
                                   :disabled="detailData.seeDisabled" rows="3"
@@ -832,7 +916,11 @@ import bcorpstypedefine from "@/views/iosBasicData/bcorps/bcorpstypedefine.vue";
                             this.$set(this.assemblyForm,name + 'EnName',item.enName)
                             this.$set(this.assemblyForm,name + 'Code',item.code)
                             this.$set(this.assemblyForm,name + 'NamePrint',item.enName)
-                            this.$set(this.assemblyForm,'issueAt',this.assemblyForm.polCnName) // 签单地点 默认 装货港
+                            // 签单地点 默认 装货港
+                            if (name == 'pol') {
+                                this.$set(this.assemblyForm,'issueAt',this.assemblyForm.polCnName)
+                            }
+
                         }
                     }
                 }

+ 24 - 0
src/views/iosBasicData/SeafreightExportF/bills/assembly/edicode.vue

@@ -6,6 +6,9 @@
                     <el-row>
                         <el-col :span="12">
                             <el-form-item label="ERNNO" prop="ediErnno" >
+                                <span slot="label">
+                                    <span style="color: #1e9fff">ERNNO</span>
+                                </span>
                                 <el-input type="age" style="width: 100%;" v-model="assemblyForm.ediErnno"
                                           size="small" autocomplete="off"
                                           :disabled="detailData.seeDisabled"
@@ -14,6 +17,9 @@
                         </el-col>
                         <el-col :span="12">
                             <el-form-item label="VAENO" prop="ediVaeno" >
+                                <span slot="label">
+                                    <span style="color: #1e9fff">VAENO</span>
+                                </span>
                                 <el-input type="age" style="width: 100%;" v-model="assemblyForm.ediVaeno"
                                           size="small" autocomplete="off"
                                           :disabled="detailData.seeDisabled"
@@ -24,6 +30,9 @@
                     <el-row>
                         <el-col :span="12">
                             <el-form-item label="TACNO" prop="ediTacno" >
+                                <span slot="label">
+                                    <span style="color: #1e9fff">TACNO</span>
+                                </span>
                                 <el-input type="age" style="width: 100%;" v-model="assemblyForm.ediTacno"
                                           size="small" autocomplete="off"
                                           :disabled="detailData.seeDisabled"
@@ -32,6 +41,9 @@
                         </el-col>
                         <el-col :span="12">
                             <el-form-item label="IEMAL" prop="ediVaeno" >
+                                <span slot="label">
+                                    <span style="color: #1e9fff">IEMAL</span>
+                                </span>
                                 <el-input type="age" style="width: 100%;" v-model="assemblyForm.ediVaeno"
                                           size="small" autocomplete="off"
                                           :disabled="detailData.seeDisabled"
@@ -40,6 +52,9 @@
                         </el-col>
                     </el-row>
                     <el-form-item label="订舱备注" prop="bookingRemarks" >
+                        <span slot="label">
+                             <span style="color: #1e9fff">订舱备注</span>
+                        </span>
                         <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.bookingRemarks"
                                   size="small" autocomplete="off"
                                   :disabled="detailData.seeDisabled" rows="3"
@@ -58,6 +73,9 @@
                         <!--</el-col>-->
                         <el-col :span="12">
                             <el-form-item label="IEIEC" prop="ediIeiec" >
+                                <span slot="label">
+                                    <span style="color: #1e9fff">IEIEC</span>
+                                </span>
                                 <el-input type="age" style="width: 100%;" v-model="assemblyForm.ediIeiec"
                                           size="small" autocomplete="off"
                                           :disabled="detailData.seeDisabled"
@@ -66,6 +84,9 @@
                         </el-col>
                         <el-col :span="12">
                             <el-form-item label="IEGSTIN" prop="ediIegstin" >
+                                <span slot="label">
+                                    <span style="color: #1e9fff">IEGSTIN</span>
+                                </span>
                                 <el-input type="age" style="width: 100%;" v-model="assemblyForm.ediIegstin"
                                           size="small" autocomplete="off"
                                           :disabled="detailData.seeDisabled"
@@ -74,6 +95,9 @@
                         </el-col>
                     </el-row>
                     <el-form-item label="SI备注" prop="siRemarks" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">SI备注</span>
+                        </span>
                         <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.siRemarks"
                                   size="small" autocomplete="off"
                                   :disabled="detailData.seeDisabled" rows="3"

+ 291 - 80
src/views/iosBasicData/SeafreightExportF/bills/assembly/feecenter.vue

@@ -1,10 +1,13 @@
 <template>
     <div>
         <div>
-            <el-form :model="assemblyForm" ref="form" label-width="90px" class="demo-ruleForm">
-                <el-row :gutter="20">
+            <el-form :model="assemblyForm" ref="form" label-width="90px" style="margin-bottom: 4px" class="demo-ruleForm">
+                <el-row :gutter="10">
                     <el-col :span="6">
                         <el-form-item label="客户名称" prop="corpCnName" >
+                            <span slot="label">
+                                <span style="color: #1e9fff">客户名称</span>
+                            </span>
                             <el-input type="age" style="width: 100%;" v-model="assemblyForm.corpCnName"
                                       size="small" autocomplete="off"
                                       disabled
@@ -13,6 +16,9 @@
                     </el-col>
                     <el-col :span="6">
                         <el-form-item label="MB/L NO" prop="mblno" >
+                            <span slot="label">
+                                <span style="color: #1e9fff">MB/L NO</span>
+                            </span>
                             <el-input type="age" style="width: 100%;" v-model="assemblyForm.mblno"
                                       size="small" autocomplete="off"
                                       disabled
@@ -21,6 +27,9 @@
                     </el-col>
                     <el-col :span="6">
                         <el-form-item label="HB/L NO" prop="hblno" >
+                            <span slot="label">
+                                <span style="color: #1e9fff">HB/L NO</span>
+                            </span>
                             <el-input type="age" style="width: 100%;" v-model="assemblyForm.hblno"
                                       size="small" autocomplete="off"
                                       disabled
@@ -29,6 +38,9 @@
                     </el-col>
                     <el-col :span="6">
                         <el-form-item label="船名" prop="vesselCnName" >
+                            <span slot="label">
+                                <span style="color: #1e9fff">船名</span>
+                            </span>
                             <el-input type="age" style="width: 100%;" v-model="assemblyForm.vesselCnName"
                                       size="small" autocomplete="off"
                                       disabled
@@ -37,6 +49,9 @@
                     </el-col>
                     <el-col :span="6">
                         <el-form-item label="航次" prop="voyageNo" >
+                            <span slot="label">
+                                <span style="color: #1e9fff">航次</span>
+                            </span>
                             <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo"
                                       size="small" autocomplete="off"
                                       disabled
@@ -52,19 +67,14 @@
                         </el-form-item>
                     </el-col>
                     <el-col :span="6">
-                        <el-form-item label="箱型" prop="cntrTypeCode" >
-                            <el-input type="age" style="width: 100%;" v-model="assemblyForm.cntrTypeCode"
+                        <el-form-item label="箱型箱量" prop="quantityCntrDescr" >
+                            <span slot="label">
+                                <span style="color: #1e9fff">箱型箱量</span>
+                            </span>
+                            <el-input type="age" style="width: 100%;" v-model="assemblyForm.quantityCntrDescr"
                                       size="small" autocomplete="off"
                                       disabled
-                                      clearable placeholder="箱型" ></el-input>
-                        </el-form-item>
-                    </el-col>
-                    <el-col :span="6">
-                        <el-form-item label="箱量" prop="quantity" >
-                            <el-input type="age" style="width: 100%;" v-model="assemblyForm.quantity"
-                                      size="small" autocomplete="off"
-                                      disabled
-                                      clearable placeholder="箱量" ></el-input>
+                                      clearable placeholder="箱型箱量" ></el-input>
                         </el-form-item>
                     </el-col>
                 </el-row>
@@ -93,11 +103,13 @@
                 <!--        </el-select>-->
                 <!--    </div>-->
                 <!--</el-col>-->
-                <el-col :span="8">
+                <el-col :span="15">
+                    <el-button type="danger" plain size="small"
+                               :disabled="!selectionDList.length" @click="batchDelete('D')">批量删除</el-button>
                     <el-button type="success" plain size="small">应收账单</el-button>
                     <el-button type="primary" plain size="small">应付账单</el-button>
                     <el-button type="primary" plain size="small">打印账单</el-button>
-                    <el-button type="success" plain size="small">应收模板</el-button>
+                    <el-button type="success" plain size="small" @click="templateClick('D')">应收模板</el-button>
                 </el-col>
             </el-row>
             <div style="margin-top: 10px">
@@ -106,7 +118,7 @@
                     :cell-style="{padding:'0px',fontSize:'12px'}"
                     :header-cell-style="tableHeaderCellStyle"
                     :data="assemblyForm.feeCenterListD"
-                    @selection-change="handleSelectionChange"
+                    @selection-change="handleSelectionChange($event,'D')"
                     border
                     stripe
                     style="width: 100%">
@@ -138,7 +150,7 @@
                                           :forParameter="{key:'id',label:'cnName',value:'cnName'}"
                                           @remoteMethod="getBcorpsListfun($event,'corpCnName')"
                                           @corpChange="corpChange($event,'corpCnName',row)"
-                                          @corpFocus="getRateListfun($event,'corpCnName')" >
+                                          @corpFocus="getBcorpsListfun($event,'corpCnName')" >
                             </search-query>
                             <span v-else>{{row.corpCnName}}</span>
                         </template>
@@ -158,7 +170,7 @@
                                           :forParameter="{key:'id',label:'cnName',value:'cnName'}"
                                           @remoteMethod="bfeesListfun($event,'feeCnName')"
                                           @corpChange="corpChange($event,'feeCnName',row)"
-                                          @corpFocus="getRateListfun($event,'feeCnName')" >
+                                          @corpFocus="bfeesListfun($event,'feeCnName')" >
                             </search-query>
                             <span v-else>{{row.feeCnName}}</span>
                         </template>
@@ -192,34 +204,14 @@
                                           :remote="true"
                                           :buttonIf="false"
                                           :forParameter="{key:'id',label:'cnName',value:'cnName'}"
-                                          @remoteMethod="bfeesListfun($event,'unitNo')"
+                                          @remoteMethod="getBunitsListfun($event,'unitNo')"
                                           @corpChange="corpChange($event,'unitNo',row)"
-                                          @corpFocus="getRateListfun($event,'unitNo')" >
+                                          @corpFocus="getBunitsListfun($event,'unitNo')" >
                             </search-query>
                             <span v-else>{{row.unitNo}}</span>
                         </template>
                     </el-table-column>
                     <el-table-column
-                        prop="price"
-                        header-align="center"
-                        label="单价" width="120px">
-                        <template slot-scope="{ row }">
-                            <el-input v-if="row.edit" type="number" v-model="row.price" size="small"
-                                      placeholder="请输入" @blur="priceinputfun($event,row)"></el-input>
-                            <span v-else>{{row.price}}</span>
-                        </template>
-                    </el-table-column>
-                    <el-table-column
-                        prop="quantity"
-                        header-align="center"
-                        label="数量" width="120px" >
-                        <template slot-scope="{ row }">
-                            <el-input v-if="row.edit" type="number" v-model="row.quantity" size="small"
-                                      placeholder="请输入" @blur="quantityinputfun(row)"></el-input>
-                            <span v-else>{{row.quantity}}</span>
-                        </template>
-                    </el-table-column>
-                    <el-table-column
                         prop="curCode"
                         header-align="center"
                         label="币种" width="120px">
@@ -240,6 +232,26 @@
                         </template>
                     </el-table-column>
                     <el-table-column
+                        prop="price"
+                        header-align="center"
+                        label="单价" width="120px">
+                        <template slot-scope="{ row }">
+                            <el-input v-if="row.edit" type="number" v-model="row.price" size="small"
+                                      placeholder="请输入" @blur="priceinputfun($event,row)"></el-input>
+                            <span v-else>{{row.price}}</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column
+                        prop="quantity"
+                        header-align="center"
+                        label="数量" width="120px" >
+                        <template slot-scope="{ row }">
+                            <el-input v-if="row.edit" type="number" v-model="row.quantity" size="small"
+                                      placeholder="请输入" @blur="quantityinputfun(row)"></el-input>
+                            <span v-else>{{row.quantity}}</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column
                         prop="rmbAmount"
                         header-align="center"
                         label="CNY(含税)" width="100px">
@@ -282,7 +294,7 @@
                         <template slot-scope="scope">
                             <el-button v-if="scope.row.edit" type="text" size="small" @click="savefun(scope.row,scope.$index,'D')">保存</el-button>
                             <el-button v-else type="text" size="small" @click="editDfun(scope.row,scope.$index)">编辑</el-button>
-                            <el-button type="text" size="small" @click="deleteDfun(scope.row,scope.$index)">删除</el-button>
+                            <el-button type="text" size="small" @click="deletefun(scope.row,scope.$index,'D')">删除</el-button>
                         </template>
                     </el-table-column>
                 </el-table>
@@ -297,8 +309,10 @@
                         <span>应付费用</span>
                     </div>
                 </el-col>
-                <el-col :span="8">
-                    <el-button type="success" plain size="small">应付模板</el-button>
+                <el-col :span="15">
+                    <el-button type="danger" plain size="small"
+                               :disabled="!selectionCList.length" @click="batchDelete('C')">批量删除</el-button>
+                    <el-button type="success" plain size="small" @click="templateClick('C')">应付模板</el-button>
                 </el-col>
             </el-row>
             <div style="margin-top: 10px">
@@ -307,7 +321,7 @@
                     :cell-style="{padding:'0px',fontSize:'12px'}"
                     :header-cell-style="tableHeaderCellStyle"
                     :data="assemblyForm.feeCenterListC"
-                    @selection-change="handleSelectionChange"
+                    @selection-change="handleSelectionChange($event,'C')"
                     border
                     stripe
                     style="width: 100%">
@@ -339,7 +353,7 @@
                                           :forParameter="{key:'id',label:'cnName',value:'cnName'}"
                                           @remoteMethod="getBcorpsListfun($event,'corpCnName')"
                                           @corpChange="corpChange($event,'corpCnName',row)"
-                                          @corpFocus="getRateListfun($event,'corpCnName')"  >
+                                          @corpFocus="getBcorpsListfun($event,'corpCnName')"  >
                             </search-query>
                             <span v-else>{{row.corpCnName}}</span>
                         </template>
@@ -359,7 +373,7 @@
                                           :forParameter="{key:'id',label:'cnName',value:'cnName'}"
                                           @remoteMethod="bfeesListfun($event,'feeCnName')"
                                           @corpChange="corpChange($event,'feeCnName',row)"
-                                          @corpFocus="getRateListfun($event,'feeCnName')" >
+                                          @corpFocus="bfeesListfun($event,'feeCnName')" >
                             </search-query>
                             <span v-else>{{row.feeCnName}}</span>
                         </template>
@@ -393,14 +407,34 @@
                                           :remote="true"
                                           :buttonIf="false"
                                           :forParameter="{key:'id',label:'cnName',value:'cnName'}"
-                                          @remoteMethod="bfeesListfun($event,'unitNo')"
+                                          @remoteMethod="getBunitsListfun($event,'unitNo')"
                                           @corpChange="corpChange($event,'unitNo',row)"
-                                          @corpFocus="getRateListfun($event,'unitNo')" >
+                                          @corpFocus="getBunitsListfun($event,'unitNo')" >
                             </search-query>
                             <span v-else>{{row.unitNo}}</span>
                         </template>
                     </el-table-column>
                     <el-table-column
+                        prop="curCode"
+                        label="币种" width="120px"
+                        header-align="center">
+                        <template slot-scope="{ row }">
+                            <search-query v-if="row.edit"
+                                          :datalist="curCodeData"
+                                          :selectValue="row.curCode"
+                                          :filterable="true"
+                                          :clearable="true"
+                                          :remote="true"
+                                          :buttonIf="false"
+                                          :forParameter="{key:'id',label:'code',value:'code'}"
+                                          @remoteMethod="getRateListfun($event,'curCode')"
+                                          @corpChange="corpChange($event,'curCode',row)"
+                                          @corpFocus="getRateListfun($event,'curCode')">
+                            </search-query>
+                            <span v-else>{{row.curCode}}</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column
                         prop="price"
                         label="单价" width="120px"
                         header-align="center">
@@ -421,26 +455,6 @@
                         </template>
                     </el-table-column>
                     <el-table-column
-                        prop="curCode"
-                        label="币种" width="120px"
-                        header-align="center">
-                        <template slot-scope="{ row }">
-                            <search-query v-if="row.edit"
-                                          :datalist="curCodeData"
-                                          :selectValue="row.curCode"
-                                          :filterable="true"
-                                          :clearable="true"
-                                          :remote="true"
-                                          :buttonIf="false"
-                                          :forParameter="{key:'id',label:'cnName',value:'cnName'}"
-                                          @remoteMethod="getRateListfun($event,'curCode')"
-                                          @corpChange="corpChange($event,'curCode',row)"
-                                          @corpFocus="getRateListfun($event,'curCode')">
-                            </search-query>
-                            <span v-else>{{row.curCode}}</span>
-                        </template>
-                    </el-table-column>
-                    <el-table-column
                         prop="rmbAmount"
                         label="CNY(含税)" width="100px"
                         header-align="center">
@@ -482,7 +496,7 @@
                         <template slot-scope="scope">
                             <el-button v-if="scope.row.edit" type="text" size="small" @click="savefun(scope.row,scope.$index,'C')">保存</el-button>
                             <el-button v-else type="text" size="small" @click="editCfun(scope.row,scope.$index)">编辑</el-button>
-                            <el-button type="text" size="small" @click="deleteDfun(scope.row,scope.$index)">删除</el-button>
+                            <el-button type="text" size="small" @click="deletefun(scope.row,scope.$index,'C')">删除</el-button>
                         </template>
                     </el-table-column>
                 </el-table>
@@ -563,6 +577,31 @@
                 </el-card>
             </div>
         </div>
+
+        <!--模板弹窗-->
+        <el-dialog
+            title="提示"
+            :visible.sync="templateVisible"
+            append-to-body
+            width="60%"
+            :before-close="handleClose">
+            <div>
+                <avue-crud :option="templateOption"
+                           :table-loading="templateLoading"
+                           :data="templateData"
+                           :page.sync="templatePage"
+                           @size-change="sizeChange"
+                           @current-change="currentChange" >
+                    <template slot="radio" slot-scope="{row}">
+                        <el-radio v-model="templateRadio" :label="row.$index"></el-radio>
+                    </template>
+                </avue-crud>
+            </div>
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="templateVisible = false">取 消</el-button>
+                <el-button type="primary" @click="templateExport">导 入</el-button>
+            </span>
+        </el-dialog>
     </div>
 
 </template>
@@ -575,6 +614,7 @@
     import {getRateList} from "@/api/iosBasicData/rateManagement";
     import {feecenterList, feecenterRemove, feecenterSubmit} from "@/api/iosBasicData/feecenter";
     import {getWorkDicts} from "@/api/system/dictbiz";
+    import {feecenterTemplateImport, losbfeestemplateGetListTemplate} from "@/api/iosBasicData/bills";
 
     export default {
         components: {SearchQuery},
@@ -613,6 +653,101 @@
                 unitNoData:[],
                 // 币别数据
                 curCodeData:[],
+                // 模板弹窗
+                templateVisible:false,
+                templateOption:{
+                    height: 'auto',
+                    calcHeight: 30,
+                    border: true,
+                    index: true,
+                    addBtn:false,
+                    editBtn:false,
+                    delBtn:false,
+                    viewBtn:false,
+                    highlightCurrentRow:true,
+                    menu:false,
+                    column:[
+                        {
+                            label: '',
+                            prop: 'radio',
+                            width: 30,
+                            hide: false
+                        },
+                        {
+                            label: "编码",
+                            prop: "code",
+                            width: "180",
+                        },
+                        {
+                            label: "中文名称",
+                            prop: "cnName",
+                            width: "180",
+                            searchLabelWidth: 120,
+                        },
+                        {
+                            label: "英文名称",
+                            prop: "enName",
+                            width: "180",
+                            searchLabelWidth: 120,
+                        },
+                        {
+                            label: "业务类型中文名称",
+                            prop: "businessTypeCnName",
+                            width: 160,
+                        },
+                        {
+                            label: "业务类型英文名称",
+                            prop: "businessTypeEnName",
+                            width: 160,
+                        },
+                        {
+                            label: "收付",
+                            prop: "dc",
+                            type: 'select',
+                            dicData: [{
+                                label: '收',
+                                value: 'D'
+                            }, {
+                                label: '付',
+                                value: 'C'
+                            }],
+                        },
+                        {
+                            label: "是否公开共享",
+                            prop: "isShared",
+                            width: 100,
+                            type: 'select',
+                            dicData: [{
+                                label: '否',
+                                value: 0
+                            }, {
+                                label: '是',
+                                value: 1
+                            }],
+                        },
+                        {
+                            label: "备注",
+                            prop: "remarks",
+                            span: 24,
+                            type: 'textarea',
+                            width: "180",
+                            slot: true,
+                            minRows: 3,
+                        },
+                    ]
+                },
+                templateLoading:false,
+                templateData:[],
+                templateRadio:null,
+                templatePage:{
+                    pageSize: 10,
+                    currentPage: 1,
+                    total: 0,
+                    pageSizes: [10, 20, 30, 40, 50, 100, 200, 300, 400, 500]
+                },
+                selectionDList:[], // 收选择的
+                selectionCList:[], // 付选择的
+
             }
         },
         created() {
@@ -623,6 +758,49 @@
             // this.getWorkDictsfun()
         },
         methods:{
+
+            // 模板列表的分页
+            sizeChange(val){
+                this.page.currentPage = 1
+                this.page.pageSize = val
+                this.templateClick()
+            },
+            currentChange(val){
+                this.page.currentPage = val
+                this.templateRadio = null
+                this.templateClick()
+            },
+            // 模板导入
+            templateExport(){
+                if (this.templateRadio || this.templateRadio == 0) {
+                    feecenterTemplateImport({
+                        ...this.templateData[this.templateRadio],
+                        billNoId:this.assemblyForm.id
+                    }).then(res=>{
+                        this.$message({
+                            type: "success",
+                            message: "操作成功!"
+                        });
+                        this.$emit('billsDetailfun')
+                        this.templateVisible = false
+                    })
+                }else {
+                    this.$message.warning('请先选择要导入的数据')
+                }
+            },
+            // 模板
+            templateClick(dc){
+                this.templateVisible = true
+                this.templateLoading = true
+                losbfeestemplateGetListTemplate(this.templatePage.currentPage,this.templatePage.pageSize,{
+                    dc:dc,
+                    status:0
+                }).then(res=>{
+                    this.templateData = res.data.data.records
+                    this.templatePage.total = res.data.data.total;
+                    this.templateLoading = false
+                })
+            },
             // 应收新增
             addDfun(){
                 if (!this.pid) {
@@ -693,21 +871,53 @@
                 row.podEnName = this.assemblyForm.podEnName // 卸货港英文名称
                 this.feecenterSubmitfun(row)
             },
+            // 多选删除
+            handleSelectionChange(list,dc){
+                if (dc == 'D') {
+                    this.selectionDList = list
+                }else {
+                    this.selectionCList = list
+                }
+            },
+            // 批量删除
+            batchDelete(dc){
+                let arr = []
+                if (dc == 'D') {
+                    arr = this.selectionDList.map(item=>{
+                        return item.id
+                    })
+                }else {
+                    arr = this.selectionCList.map(item=>{
+                        return item.id
+                    })
+                }
+                this.deletefun({id:arr.join(',')})
+            },
             // 应收删除
-            deleteDfun(row,index) {
+            deletefun(row,index,dc) {
                 this.$confirm("确定将选择数据删除?", {
                     confirmButtonText: "确定",
                     cancelButtonText: "取消",
                     type: "warning"
                 }).then(()=>{
-                    // 删除接口
-                    feecenterRemove(row.id).then(res=>{
-                        this.$message({
-                            type: "success",
-                            message: "操作成功!"
-                        });
-                        this.$emit('billsDetailfun')
-                    })
+                    if (row.id) {
+                        // 删除接口
+                        feecenterRemove(row.id).then(res=>{
+                            this.$message({
+                                type: "success",
+                                message: "操作成功!"
+                            });
+                            this.$emit('billsDetailfun')
+                        })
+                    }else {
+                        if(dc == 'D') {
+                            this.assemblyForm.feeCenterListD.splice(index, 1)
+                        }else {
+                            this.assemblyForm.feeCenterListC.splice(index, 1)
+                        }
+
+
+                    }
                 })
             },
             // 客户的回调
@@ -731,7 +941,7 @@
                     }
                 }else if (name == 'curCode') {
                     for(let item of this.curCodeData) {
-                        if (item.cnName == value){
+                        if (item.code == value){
                             this.$set(row,'curCode',item.code)
                             this.$set(row,'exrate',item.exrate)
                             if (row.curCode == 'CNY') {
@@ -824,6 +1034,7 @@
             // 获取币别数据
             getRateListfun(cnName){
                 getRateList({current:1,size:10,cnName}).then(res=>{
+                    console.log(res.data.data,1013)
                     this.curCodeData = res.data.data.records
                 })
             },
@@ -882,6 +1093,6 @@
         margin: 3px 0;
     }
     ::v-deep.el-form-item {
-        margin-bottom: 4px;
+        margin-bottom: 0px;
     }
 </style>

+ 37 - 3
src/views/iosBasicData/SeafreightExportF/bills/assembly/filescenter.vue

@@ -6,6 +6,8 @@
                :page.sync="page"
                :permission="permissionList"
                :before-open="beforeOpen"
+               id="out-table"
+               :header-cell-class-name="headerClassName"
                v-model="form"
                ref="crud"
                @row-update="rowUpdate"
@@ -148,6 +150,7 @@
             {
               label: "文件接收日期",
               prop: "receivedData",
+                width:"120",
               rules: [{
                 required: true,
                 message: "请输入文件接收日期",
@@ -166,6 +169,7 @@
             {
               label: "文件扩展名",
               prop: "fileExt",
+                width:"120",
               rules: [{
                 required: true,
                 message: "请输入文件扩展名",
@@ -182,7 +186,7 @@
               }]
             },
             {
-              label: "是否图片(0 否 1是)",
+              label: "是否图片",
               prop: "isImage",
               rules: [{
                 required: true,
@@ -193,6 +197,7 @@
             {
               label: "缩略图 64*64 文件地址",
               prop: "thumbnailSmall",
+                width:"160",
               rules: [{
                 required: true,
                 message: "请输入缩略图 64*64 文件地址",
@@ -202,6 +207,7 @@
             {
               label: "缩略图 128*128 文件地址",
               prop: "thumbnailMiddle",
+                width:"170",
               rules: [{
                 required: true,
                 message: "请输入缩略图 128*128 文件地址",
@@ -211,6 +217,7 @@
             {
               label: "缩略图 256*256 文件地址",
               prop: "thumbnailLarge",
+                width:"170",
               rules: [{
                 required: true,
                 message: "请输入缩略图 256*256 文件地址",
@@ -220,6 +227,7 @@
             {
               label: "缩略图 512*512 文件地址",
               prop: "thumbnailHuge",
+                width:"170",
               rules: [{
                 required: true,
                 message: "请输入缩略图 512*512 文件地址",
@@ -425,10 +433,36 @@
           this.loading = false;
           this.selectionClear();
         });
-      }
+      },
+
+        // 更改表格颜色
+        headerClassName(tab) {
+            //颜色间隔
+            let back = ""
+            if (tab.columnIndex >= 0 && tab.column.level === 1) {
+                if (tab.columnIndex % 2 === 0) {
+                    back = "back-one"
+                } else if (tab.columnIndex % 2 === 1) {
+                    back = "back-two"
+                }
+            }
+            return back;
+        },
+
     }
   };
 </script>
 
-<style>
+<style scoped>
+::v-deep#out-table .back-one {
+    background: #ecf5ff !important;
+    text-align: center;
+    padding: 4px 0;
+}
+
+::v-deep#out-table .back-two {
+    background: #ecf5ff !important;
+    text-align: center;
+    padding: 4px 0;
+}
 </style>

+ 104 - 10
src/views/iosBasicData/SeafreightExportF/bills/assembly/formbottom.vue

@@ -5,6 +5,9 @@
                 <el-col :span="12">
                     <el-col :span="12">
                         <el-form-item label="场站" prop="cyCnName" >
+                            <span slot="label">
+                                <span style="color: #1e9fff">场站</span>
+                            </span>
                             <search-query :datalist="cyData"
                                           :selectValue="assemblyForm.cyCnName"
                                           :filterable="true"
@@ -21,6 +24,9 @@
                     </el-col>
                     <el-col :span="12">
                         <el-form-item label="联系人" prop="cyContacts" >
+                            <span slot="label">
+                                <span style="color: #1e9fff">联系人</span>
+                            </span>
                             <el-input type="age" style="width: 100%;" v-model="assemblyForm.cyContacts"
                                       size="small" autocomplete="off"
                                       :disabled="detailData.seeDisabled"
@@ -30,6 +36,9 @@
                 </el-col>
                 <el-col :span="12">
                     <el-form-item label="地址" prop="cyAddress" >
+                        <span slot="label">
+                             <span style="color: #1e9fff">地址</span>
+                        </span>
                         <el-input type="age" style="width: 100%;" v-model="assemblyForm.cyAddress"
                                   size="small" autocomplete="off"
                                   :disabled="detailData.seeDisabled"
@@ -38,6 +47,9 @@
                 </el-col>
             </el-row>
             <el-form-item label="场站备注" prop="cyRemarks" >
+                <span slot="label">
+                     <span style="color: #1e9fff">场站备注</span>
+                </span>
                 <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.cyRemarks"
                           size="small" autocomplete="off"
                           :disabled="detailData.seeDisabled" rows="3"
@@ -47,6 +59,9 @@
             <el-row :gutter="20">
                 <el-col :span="6">
                     <el-form-item label="背箱时间" prop="cyTrailerTime" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">背箱时间</span>
+                        </span>
                         <el-date-picker
                             v-model="assemblyForm.cyTrailerTime"
                             type="date"
@@ -60,6 +75,9 @@
                 </el-col>
                 <el-col :span="6">
                     <el-form-item label="还箱时间" prop="cyReturnTime" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">还箱时间</span>
+                        </span>
                         <el-date-picker
                             v-model="assemblyForm.cyReturnTime"
                             type="date"
@@ -73,22 +91,41 @@
                 </el-col>
                 <el-col :span="6">
                     <el-form-item label="正本份数" prop="numberOfObl" >
-                        <el-input type="age" style="width: 100%;" v-model="assemblyForm.numberOfObl"
-                                  size="small" autocomplete="off"
-                                  :disabled="detailData.seeDisabled"
-                                  clearable placeholder="请输入正本份数" ></el-input>
+                        <span slot="label">
+                            <span style="color: #1e9fff">正本份数</span>
+                        </span>
+                        <search-query :datalist="numberOfData"
+                                      :selectValue="assemblyForm.numberOfObl"
+                                      :filterable="true"
+                                      :clearable="true"
+                                      :remote="true"
+                                      :disabled="detailData.seeDisabled"
+                                      :buttonIf="false"
+                                      @corpChange="corpChange($event,'numberOfObl')">
+                        </search-query>
                     </el-form-item>
                 </el-col>
                 <el-col :span="6">
                     <el-form-item label="副本份数" prop="numberOfCopy" >
-                        <el-input type="age" style="width: 100%;" v-model="assemblyForm.numberOfCopy"
-                                  size="small" autocomplete="off"
-                                  :disabled="detailData.seeDisabled"
-                                  clearable placeholder="请输入副本份数" ></el-input>
+                        <span slot="label">
+                            <span style="color: #1e9fff">副本份数</span>
+                        </span>
+                        <search-query :datalist="numberOfData"
+                                      :selectValue="assemblyForm.numberOfCopy"
+                                      :filterable="true"
+                                      :clearable="true"
+                                      :remote="true"
+                                      :disabled="detailData.seeDisabled"
+                                      :buttonIf="false"
+                                      @corpChange="corpChange($event,'numberOfCopy')">
+                        </search-query>
                     </el-form-item>
                 </el-col>
                 <el-col :span="6">
                     <el-form-item label="HB/L付款地点" prop="hPayplace" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">HB/L付款地点</span>
+                        </span>
                         <el-input type="age" style="width: 100%;" v-model="assemblyForm.hPayplace"
                                   size="small" autocomplete="off"
                                   :disabled="detailData.seeDisabled"
@@ -97,6 +134,9 @@
                 </el-col>
                 <el-col :span="6">
                     <el-form-item label="MB/L付款地点" prop="mPayplace" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">MB/L付款地点</span>
+                        </span>
                         <el-input type="age" style="width: 100%;" v-model="assemblyForm.mPayplace"
                                   size="small" autocomplete="off"
                                   :disabled="detailData.seeDisabled"
@@ -105,6 +145,9 @@
                 </el-col>
                 <el-col :span="6">
                     <el-form-item label="服务方式" prop="serviceTerms" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">服务方式</span>
+                        </span>
                         <search-query :datalist="serviceTermsData"
                                       :selectValue="assemblyForm.serviceTerms"
                                       :filterable="true"
@@ -125,6 +168,9 @@
                 </el-col>
                 <el-col span="6">
                     <el-form-item label="签单日期" prop="issueDate" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">签单日期</span>
+                        </span>
                         <el-date-picker
                             v-model="assemblyForm.issueDate"
                             type="date"
@@ -138,6 +184,9 @@
                 </el-col>
                 <el-col span="6">
                     <el-form-item label="退舱日期" prop="bookingWithdrawTime" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">退舱日期</span>
+                        </span>
                         <el-date-picker
                             v-model="assemblyForm.bookingWithdrawTime"
                             type="date"
@@ -150,7 +199,10 @@
                     </el-form-item>
                 </el-col>
                 <el-col span="6">
-                    <el-form-item label="签单地点" prop="cyReturnTime" >
+                    <el-form-item label="签单地点" prop="issueAt" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">签单地点</span>
+                        </span>
                         <el-input type="age" style="width: 100%;" v-model="assemblyForm.issueAt"
                                   size="small" autocomplete="off"
                                   :disabled="detailData.seeDisabled"
@@ -257,7 +309,49 @@
                 inttraVisible:false,
                 inttraTitle:'',
                 inttraData:[],
-
+                // 份数
+                numberOfData:[
+                    {
+                        label:'ONE',
+                        value:'ONE'
+                    },
+                    {
+                        label:'TWO',
+                        value:'TWO'
+                    },
+                    {
+                        label:'THREE',
+                        value:'THREE'
+                    },
+                    {
+                        label:'FOUR',
+                        value:'FOUR'
+                    },
+                    {
+                        label:'FIVE',
+                        value:'FIVE'
+                    },
+                    {
+                        label:'SIX',
+                        value:'SIX'
+                    },
+                    {
+                        label:'SEVEN',
+                        value:'SEVEN'
+                    },
+                    {
+                        label:'EIGHT',
+                        value:'EIGHT'
+                    },
+                    {
+                        label:'NINE',
+                        value:'NINE'
+                    },
+                    {
+                        label:'TEN',
+                        value:'TEN'
+                    }
+                ],
             }
         },
         created() {

+ 51 - 0
src/views/iosBasicData/SeafreightExportF/bills/assembly/mbinformation.vue

@@ -4,6 +4,9 @@
             <el-row :gutter="20">
                 <el-col :span="12">
                     <el-form-item label="提单号" prop="mblno" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">提单号</span>
+                        </span>
                         <el-input type="age" style="width: 100%;" v-model="assemblyForm.mblno"
                                   size="small" autocomplete="off"
                                   :disabled="detailData.seeDisabled"
@@ -12,6 +15,9 @@
                     <el-row>
                         <el-col :span="12">
                             <el-form-item label="船名" prop="vesselCnName" >
+                                <span slot="label">
+                                    <span style="color: #1e9fff">船名</span>
+                                </span>
                                 <search-query :datalist="vesselData"
                                               :selectValue="assemblyForm.vesselCnName"
                                               :filterable="true"
@@ -28,6 +34,9 @@
                         </el-col>
                         <el-col :span="12">
                             <el-form-item label="航次" prop="voyageNo" >
+                                <span slot="label">
+                                    <span style="color: #1e9fff">航次</span>
+                                </span>
                                 <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo"
                                           size="small" autocomplete="off"
                                           :disabled="detailData.seeDisabled"
@@ -36,6 +45,9 @@
                         </el-col>
                     </el-row>
                     <el-form-item label="船公司" prop="carrierCnName" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">船公司</span>
+                        </span>
                         <search-query :datalist="carrierData"
                                       :selectValue="assemblyForm.carrierCnName"
                                       :filterable="true"
@@ -50,6 +62,9 @@
                         </search-query>
                     </el-form-item>
                     <el-form-item label="订舱代理" prop="bookingAgentCnName" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">订舱代理</span>
+                        </span>
                         <search-query :datalist="bookingAgentData"
                                       :selectValue="assemblyForm.bookingAgentCnName"
                                       :filterable="true"
@@ -64,6 +79,9 @@
                         </search-query>
                     </el-form-item>
                     <el-form-item label="订舱备注" prop="bookingRemarks" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">订舱备注</span>
+                        </span>
                         <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.bookingRemarks"
                                   size="small" autocomplete="off"
                                   :disabled="detailData.seeDisabled" rows="3"
@@ -72,6 +90,9 @@
                 </el-col>
                 <el-col :span="12">
                     <el-form-item label="外提单号" prop="refno" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">外提单号</span>
+                        </span>
                         <el-input type="age" style="width: 100%;" v-model="assemblyForm.refno"
                                   size="small" autocomplete="off"
                                   :disabled="detailData.seeDisabled"
@@ -80,6 +101,9 @@
                     <el-row>
                         <el-col :span="12">
                             <el-form-item label="ETD" prop="etd" >
+                                <span slot="label">
+                                    <span style="color: #1e9fff">ETD</span>
+                                </span>
                                 <el-date-picker v-model="assemblyForm.etd"
                                                 clearable type="date" size="small"
                                                 :disabled="detailData.seeDisabled"
@@ -90,6 +114,9 @@
                         </el-col>
                         <el-col :span="12">
                             <el-form-item label="ETA" prop="eta" >
+                                <span slot="label">
+                                    <span style="color: #1e9fff">ETA</span>
+                                </span>
                                 <el-date-picker v-model="assemblyForm.eta"
                                                 clearable type="date" size="small"
                                                 :disabled="detailData.seeDisabled"
@@ -102,6 +129,9 @@
                     <el-row>
                         <el-col :span="12">
                             <el-form-item label="订舱日期" prop="bookingDate" >
+                                <span slot="label">
+                                    <span style="color: #1e9fff">订舱日期</span>
+                                </span>
                                 <el-date-picker v-model="assemblyForm.bookingDate"
                                                 clearable type="date" size="small"
                                                 :disabled="detailData.seeDisabled"
@@ -112,6 +142,9 @@
                         </el-col>
                         <el-col :span="12">
                             <el-form-item label="航线" prop="lineCnName" >
+                                <span slot="label">
+                                    <span style="color: #1e9fff">航线</span>
+                                </span>
                                 <search-query :datalist="lineData"
                                               :selectValue="assemblyForm.lineCnName"
                                               :filterable="true"
@@ -130,6 +163,9 @@
                     <el-row>
                         <el-col :span="12">
                             <el-form-item label="船司约号" prop="carrierArgreementNo" >
+                                <span slot="label">
+                                    <span style="color: #1e9fff">船司约号</span>
+                                </span>
                                 <el-input type="age" style="width: 100%;" v-model="assemblyForm.carrierArgreementNo"
                                           size="small" autocomplete="off"
                                           :disabled="detailData.seeDisabled"
@@ -138,6 +174,9 @@
                         </el-col>
                     </el-row>
                     <el-form-item label="SI备注" prop="siRemarks" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">SI备注</span>
+                        </span>
                         <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.siRemarks"
                                   size="small" autocomplete="off"
                                   :disabled="detailData.seeDisabled" rows="3"
@@ -150,6 +189,9 @@
             <el-rwo>
                 <el-col :span="6">
                     <el-form-item label="MB/L 发货人" prop="mShipperCnName" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">MB/L 发货人</span>
+                        </span>
                         <search-query :datalist="mShipperData"
                                       :selectValue="assemblyForm.mShipperCnName"
                                       :filterable="true"
@@ -174,6 +216,9 @@
                 </el-col>
                 <el-col :span="6">
                     <el-form-item label="MB/L 收货人" prop="mConsigneeCnName" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">MB/L 收货人</span>
+                        </span>
                         <search-query :datalist="mConsigneeData"
                                       :selectValue="assemblyForm.mConsigneeCnName"
                                       :filterable="true"
@@ -198,6 +243,9 @@
                 </el-col>
                 <el-col :span="6">
                     <el-form-item label="MB/L 通知人" prop="mNotifyCnName" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">MB/L 通知人</span>
+                        </span>
                         <search-query :datalist="mNotifyData"
                                       :selectValue="assemblyForm.mNotifyCnName"
                                       :filterable="true"
@@ -222,6 +270,9 @@
                 </el-col>
                 <el-col :span="6">
                     <el-form-item label="第二通知人" prop="mNotify2CnName" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">第二通知人</span>
+                        </span>
                         <search-query :datalist="mNotify2Data"
                                       :selectValue="assemblyForm.mNotify2CnName"
                                       :filterable="true"

+ 78 - 30
src/views/iosBasicData/SeafreightExportF/bills/billsDetails.vue

@@ -36,9 +36,10 @@
                                                     <span slot="label" v-if="item[0].label">
                                                         <span style="color: #1e9fff">{{item[0].label}}</span>
                                                     </span>
+                                                            <!--<div v-if="item[0].type == 'button'" style="width: 100%;background: #1eff11" class="buttomBlNO">-->
+                                                            <!--</div>-->
                                                             <el-button v-if="item[0].type == 'button'" :disabled="item[0].disabled"
-                                                                       size="small" type="success" plain @click="applyforfun(item[0].label)" >
-                                                                {{item[0].label}}
+                                                                       size="small" type="success" icon="el-icon-edit" circle @click="applyforfun(item[0].label)" >
                                                             </el-button>
                                                             <search-query v-else-if="item[0].type == 'select'"
                                                                           :datalist="item[0].dicData"
@@ -223,7 +224,8 @@ import {getBlocationsList} from "@/api/iosBasicData/blocations";
 import {getBcorpsattnList} from "@/api/iosBasicData/bcorpsattn";
 import {getWorkDicts} from "@/api/system/dictbiz";
 import {getDeptLazyTree} from "@/api/system/dept";
-import {billsDetail, billsGetBillNo, billsListAll, billsSubmit} from '@/api/iosBasicData/bills'
+import {billsDetail, billsGetBillNo, billsListAll, billsSubmit,deptGetDetailPol} from '@/api/iosBasicData/bills'
+import {dateFormat} from "@/util/date";
     export default {
         components:{
             SearchQuery,
@@ -249,9 +251,21 @@ import {billsDetail, billsGetBillNo, billsListAll, billsSubmit} from '@/api/iosB
                 billsListAllData:[],
                 pageLoading:false,
                 saveLoading:false,
+                // 详情数据
                 form:{
-                    billType:'DD',
-                    seaType:'E'
+                    billDate:dateFormat(new Date(), "yyyy-MM-dd"), // 单据日期 默认 当天
+                    operatorName:JSON.parse(localStorage.getItem('saber-userInfo')).content.role_name, // OP 默认登录人
+                    businessType:'SE', // 业务类型 默认 海运出口
+                    billType:'DD', // 单据类型 默认 直单
+                    accDeptName:'',// 核算部门 默认登录人的部门
+                    issueType:'正本', // 签单方式 默认 正本
+                    mpaymode:'PP', // 主单付费方式 默认PP
+                    hpaymode:'PP', // 分单付费方式 默认 PP
+                    loadType:'FCL', // 装箱方式默认整箱
+                    srcType:'OWN', // 业务来源默认公司   来源 内容 默认登录人所属公司
+                    numberOfObl:'THREE', // 正本份数 默认 THREE
+                    numberOfCopy:'ONE', // 副本份数 默认 ONE
+                    seaType:'E' // 进出口 默认出口 E=出口 I=进口"
 
                 },
                 basicData:{
@@ -390,11 +404,6 @@ import {billsDetail, billsGetBillNo, billsListAll, billsSubmit} from '@/api/iosB
                                     label:'cname',
                                     value:'cname',
                                 },
-                                rules: [{
-                                    required: true,
-                                    message: "请输入客户OP",
-                                    trigger: "blur"
-                                }]
                             },
                             {
                                 label: "", //客户联系人电话
@@ -471,7 +480,7 @@ import {billsDetail, billsGetBillNo, billsListAll, billsSubmit} from '@/api/iosB
                             },
                             {
                                 label: "",  // MB/L 付款方式 PP=预付, CC=到付, FPA, Other
-                                prop: "hpaymode",
+                                prop: "mpaymode",
                                 type:'select',
                                 labelWidth:'10px',
                                 disabled:false,
@@ -565,19 +574,19 @@ import {billsDetail, billsGetBillNo, billsListAll, billsSubmit} from '@/api/iosB
                                 label: "申请B/L NO",  //弹窗点击确认还是取消申请 调后台接口获取到一个编号
                                 prop: "申请B/L NO",
                                 type:'button',
-                                span:9,
+                                span:7,
                                 disabled:false,
                             },
                             {
                                 label: "",
                                 prop: "hblno",
                                 labelWidth:'10px',
-                                span:10,
+                                span:12,
                                 disabled:true,
                             },
                             {
                                 label: "", // HB/L 付款方式 PP=预付, CC=到付, FPA, Other', 申请之后默认 PP
-                                prop: "hPaymode",
+                                prop: "hpaymode",
                                 labelWidth:'10px',
                                 disabled:true,
                                 type:'select',
@@ -598,21 +607,46 @@ import {billsDetail, billsGetBillNo, billsListAll, billsSubmit} from '@/api/iosB
                 },
                 activeName:'first',
                 bigtabs:'wt',
+                saberUserInfo:{}, // 当前登录人信息
             }
         },
         created() {
-            // this.userGetListfun()
+            this.saberUserInfo = JSON.parse(localStorage.getItem('saber-userInfo')).content
+            this.deptGetDetailPolfun()
+            this.userGetListfun(undefined,true)
+
             // this.getLazylistfun()
             // this.getBcorpsListfun()
             // this.getBlocationsListfun()
             // this.getWorkDictsfun()
-            // this.ownDeptLazyTreefun()
+            this.ownDeptLazyTreefun() // 获取公司数据
         },
         methods:{
+            // 收货地 装货港 当前登录人的默认
+            deptGetDetailPolfun(){
+                deptGetDetailPol(this.saberUserInfo.dept_id).then(res=>{
+                    this.form.placeReceiptName = res.data.data.polCnName
+                    this.form.placeReceiptId = res.data.data.polId
+                    this.form.placeReceiptNamePrint = res.data.data.polEnName
+                    this.form.polCnName = res.data.data.polCnName
+                    this.form.placeReceiptId = res.data.data.polId
+                    this.form.polNamePrint = res.data.data.polEnName
+                })
+            },
             // 获取用户管理数据
-            userGetListfun(account){
+            userGetListfun(account = undefined,type = false,){
                 userGetList(1,10,{account}).then(res=>{
                     this.columnforfun('operatorName').dicData = res.data.data.records
+                    if (type) {
+                        // 核算部门 默认登录人的部门
+                        for (let item of this.columnforfun('operatorName').dicData) {
+                            if (item.name == this.form.operatorName) {
+                                this.$set(this.form,'accDeptName',item.deptName)
+                                this.$set(this.form,'accDeptId',item.deptId)
+                            }
+                        }
+                    }
+
                 })
             },
             // 获取核算部分数据 // 机构管理接口
@@ -662,6 +696,15 @@ import {billsDetail, billsGetBillNo, billsListAll, billsSubmit} from '@/api/iosB
             ownDeptLazyTreefun(){
                 getDeptLazyTree(0).then(res=>{
                     this.columnforfun('srcCnName').dicData = res.data.data
+                    // 来源 内容 默认登录人所属公司
+                    for(let item of this.columnforfun('srcCnName').dicData) {
+                        if (item.id == JSON.parse(localStorage.getItem('saber-userInfo')).content.dept_id) {
+                            this.$set(this.form,'srcId',item.id)
+                            this.$set(this.form,'srcCnName',item.title)
+                            this.$set(this.form,'srcEnName',item.title)
+                        }
+                    }
+
                 })
             },
             // 申请B/L NO
@@ -672,9 +715,8 @@ import {billsDetail, billsGetBillNo, billsListAll, billsSubmit} from '@/api/iosB
                     billType:this.form.businessType,
                     corpCode:this.form.corpCode,
                 }).then(res=>{
-                    this.columnforfun('hPaymode').disabled = false
+                    this.columnforfun('hpaymode').disabled = false
                     this.form.hblno = res.data.data
-                    this.form.hPaymode = 'PP'
                 })
             },
             /* 远程模糊查询操作用户 */
@@ -814,14 +856,6 @@ import {billsDetail, billsGetBillNo, billsListAll, billsSubmit} from '@/api/iosB
                         }
                     }
                 }
-                else if (name == 'billType') {
-                    this.form.billType = value
-                    if (value == 'MM') {
-                        // 主单付费方式 默认PP
-                        this.$set(this.form,'hPaymode','PP')
-                    }
-                    // 分单付费方式 默认 PP ?
-                }
                 else {
                     this.form[name] = value
                 }
@@ -876,8 +910,11 @@ import {billsDetail, billsGetBillNo, billsListAll, billsSubmit} from '@/api/iosB
             },
             // 大保存按钮
             editCustomer(){
-                console.log(this.form,344)
-                this.billsSubmitfun()
+                this.$refs.form.validate((valid)=>{
+                    if (valid) {
+                        this.billsSubmitfun()
+                    }
+                })
             },
             // 主表保存接口大保存
             billsSubmitfun(){
@@ -908,7 +945,7 @@ import {billsDetail, billsGetBillNo, billsListAll, billsSubmit} from '@/api/iosB
                     this.$set(item,'editMeasurement',item.measurement)
                     this.$set(item,'edit',false)
                 }
-                // 应收应付
+                // 应收
                 for(let item of this.form.feeCenterListD) {
                     if (item.curCode == 'CNY') {
                         this.$set(item,'rmbAmount',item.amount)
@@ -919,6 +956,17 @@ import {billsDetail, billsGetBillNo, billsListAll, billsSubmit} from '@/api/iosB
                     }
                     item.edit = false
                 }
+                // 应付
+                for(let item of this.form.feeCenterListC) {
+                    if (item.curCode == 'CNY') {
+                        this.$set(item,'rmbAmount',item.amount)
+                        this.$set(item,'usdAmount','')
+                    }else {
+                        this.$set(item,'usdAmount',item.amount)
+                        this.$set(item,'rmbAmount','')
+                    }
+                    item.edit = false
+                }
             },
             // tbas切换
             handleClick(tba,event) {

+ 28 - 6
src/views/iosBasicData/SeafreightExportF/bills/index.vue

@@ -40,6 +40,14 @@
                              plain
                              @click="increaseMawb">添加到主单
                   </el-button>
+                  <div style="margin-top: 10px">
+                      <el-tabs type="card" v-model="query.billStatus" @tab-click="handleClick">
+                          <el-tab-pane label="新建" name="0"></el-tab-pane>
+                          <el-tab-pane label="退仓" name="1"></el-tab-pane>
+                          <el-tab-pane label="暂停" name="2"></el-tab-pane>
+                          <el-tab-pane label="完成" name="3"></el-tab-pane>
+                      </el-tabs>
+                  </div>
               </template>
               <template slot-scope="scope" slot="menu">
                   <el-button :type="scope.type" :size="scope.size" icon="el-icon-edit"
@@ -56,6 +64,11 @@
                       <small slot="more">...</small>
                   </avue-text-ellipsis>
               </template>
+              <template slot-scope="scope" slot="mblno">
+                  <avue-text-ellipsis :text="scope.row.mblno" :height="30" use-tooltip placement="top">
+                      <small slot="more">...</small>
+                  </avue-text-ellipsis>
+              </template>
               <template slot="expand" slot-scope="{row}" >
                   <SplitList :typeMenu="true" :data="row.billsListAllData" :loading="SplitLoading" ></SplitList>
               </template>
@@ -115,7 +128,9 @@ import {getWorkDicts} from "@/api/system/dictbiz";
           dialogVisible:false, // 弹窗开启
 
         form: {},
-        query: {},
+        query: {
+            billStatus:'0'
+        },
           // 弹窗的搜索项
           mawbQuery:{
               billType:'MM'
@@ -231,6 +246,14 @@ import {getWorkDicts} from "@/api/system/dictbiz";
             {
               label: "开船日期",
               prop: "etd",
+              type: "date",
+              search: true,
+              unlinkPanels: true,
+              searchRange: true,
+              overHidden: true,
+              forma: "yyyy-MM-dd",
+              valueFormat: "yyyy-MM-dd HH:mm:ss",
+              searchDefaultTime: ["00:00:00", "23:59:59"],
             },
             {
               label: "到港日期",
@@ -597,6 +620,10 @@ import {getWorkDicts} from "@/api/system/dictbiz";
           this.accountStatusWorkDictsfun()
       },
       methods: {
+        // tabs切换筛选
+          handleClick(tab, event){
+              this.onLoad(this.page, this.query);
+          },
         // 获取业务状态字典数据
         billStatusWorkDictsfun(){
            getWorkDicts('bill_status').then(res=>{
@@ -822,11 +849,6 @@ import {getWorkDicts} from "@/api/system/dictbiz";
               item.accountStatus = item.accountStatus + ''
               return item
           })
-            console.log(this.data,811)
-          // for (let item of this.data) {
-          //
-          // }
-          // this.data = data.records;
           this.loading = false;
           this.selectionClear();
         });

+ 5 - 6
src/views/iosBasicData/losbfeestemplate/feesTemplateItems.vue

@@ -170,7 +170,7 @@
                                                   :filterable="true"
                                                   :clearable="true"
                                                   :remote="true"
-                                                  :forParameter="{key:'id',label:'cnName',value:'cnName'}"
+                                                  :forParameter="{key:'id',label:'code',value:'code'}"
                                                   @remoteMethod="getRateListfun" @corpChange="curCodeCorpChange" >
                                         <bfeesdefine></bfeesdefine>
                                     </search-query>
@@ -183,7 +183,7 @@
                                                   :filterable="true"
                                                   :clearable="true"
                                                   :remote="true"
-                                                  :forParameter="{key:'id',label:'cnName',value:'cnName'}"
+                                                  :forParameter="{key:'id',label:'code',value:'code'}"
                                                   @remoteMethod="getBunitsListfun" @corpChange="unitNoCorpChange" >
                                         <bunits></bunits>
                                     </search-query>
@@ -494,7 +494,7 @@ export default {
         },
         // 获取计算属性
         getBunitsListfun(){
-            getBunitsList().then(res=>{
+            getBunitsList(1,10,).then(res=>{
                 this.unitNoData = res.data.data.records
             })
         },
@@ -526,12 +526,11 @@ export default {
         // 计算属性选择之后
         unitNoCorpChange(value) {
             for(let item of this.unitNoData) {
-                if (item.cnName == value) {
+                if (item.code == value) {
                     this.$set(this.feestemplateForm,'unitId',item.id)
-                    this.$set(this.feestemplateForm,'unitNo',item.cnName)
+                    this.$set(this.feestemplateForm,'unitNo',item.code)
                 }
             }
-            console.log(value)
         },
         // 获取详情数据
         losbfeestemplateDetailfun(id){