Browse Source

修改费用名称和计价单位的判断

Qukatie 4 weeks ago
parent
commit
aa067158aa

+ 6 - 6
src/components/feeModify/main.vue

@@ -268,14 +268,14 @@ export default {
       }
       const res = await getBunitsPage({ srcBillId })
       this.unitNoData = []
-      let boxarr40 = ['40HC', '40GP']
-      let boxarr20 = ['20GP']
-      let teunum = 0
+      let boxarr40 = ["40HC", "40GP", "40FB", "40RF", "40RH"];
+      let boxarr20 = ["20GP","20HC"];
+      let teunum = 0;
       for (let item of res.data.data) {
         // 按箱型
-        if (item.quantityRule != 1) {
+        if (item.quantityRule != '按箱量') {
           // TEU
-          if (item.quantityRule == 4) {
+          if (item.quantityRule == '按TEU') {
             for (let data of this.form.preContainersList) {
               // 40*2 20*1
               if (boxarr40.indexOf(data.cntrTypeCode) != -1) {
@@ -292,7 +292,7 @@ export default {
       }
       let arr = this.form.preContainersList.map(item => {
         return {
-          quantityRule: 1, // 1 是按箱量
+          quantityRule:'按箱量', // 1 是按箱量
           code: item.cntrTypeCode,
           quantity: item.quantity,
         }

+ 33 - 1
src/util/contrastData.js

@@ -69,4 +69,36 @@ export function contrastList2(newlist, oldlist) {
     }
   }
   return false;
-}
+}
+// //比较指定的几个字段数组的值(无序)
+// export function contrastListKey(newlist, oldlist,keyNames) {
+//   if (newlist.length != oldlist.length) {
+//     return true
+//   }
+//   let reg = /^[A-Za-z]+$/;
+//   for (var i = 0; i < newlist.length; i++) {
+//     for (var j = 0; j < oldlist.length; j++) {
+//       for (let newitem in newlist[i]) {
+//         if(keyNames.)
+//         for (let olditem in oldlist[j]) {
+//           if (newlist[i].id == oldlist[j].id) {
+//             if (!reg.test(newitem)) {
+//               delete newlist[i].newitem
+//             }
+//             if (!reg.test(oldlist[j])) {
+//               delete oldlist[j].olditem
+//             }
+//             if (newitem == olditem) {
+//               if (!(newlist[i][newitem] instanceof Array)) {
+//                 if (newlist[i][newitem] != oldlist[j][olditem]) {
+//                   return true
+//                 }
+//               }
+//             }
+//           }
+//         }
+//       }
+//     }
+//   }
+//   return false;
+// }

+ 0 - 2
src/views/boxManagement/enterRecord/index.vue

@@ -178,7 +178,6 @@ export default {
             label: '放箱号',
             prop: 'containerNumber',
             search: true,
-            hide: true,
             overHidden: true,
           },
           {
@@ -192,7 +191,6 @@ export default {
             label: '箱号',
             prop: 'boxCode',
             search: true,
-            hide: true,
             overHidden: true,
           },
           {

+ 0 - 2
src/views/boxManagement/exitRecord/index.vue

@@ -190,7 +190,6 @@ export default {
             label: '放箱号',
             prop: 'containerNumber',
             search: true,
-            hide: true,
             overHidden: true,
           },
           {
@@ -204,7 +203,6 @@ export default {
             label: '箱号',
             prop: 'boxCode',
             search: true,
-            hide: true,
             overHidden: true,
           },
           {

+ 18 - 19
src/views/iosBasicData/OceanFreightImport/bills/assembly/feecenter.vue

@@ -3197,33 +3197,34 @@ export default {
         console.log(value, name, row);
         // 计量单位
         this.$set(row, name, value);
-        for (let item of this.unitNoData) {
+         for (let item of this.unitNoData) {
+          console.log(item.code,value,item,1111)
           if (item.code == value) {
             // 按箱型
-            if (item.quantityRule == 1) {
+            if (item.quantityRule == '按箱量') {
               // 选择的箱那边的数据
               if (item.boxquantity) {
                 this.$set(row, "quantity", item.boxquantity);
               }
             }
             // 按票
-            if (item.quantityRule == 2) {
+            if (item.quantityRule == '按票') {
               this.$set(row, "quantity", 1);
             }
             // 按重量
-            if (item.quantityRule == 3) {
+            if (item.quantityRule =='按重量') {
               this.$set(row, "quantity", this.assemblyForm.grossWeight);
             }
             // 按TEU
-            if (item.quantityRule == 4) {
+            if (item.quantityRule == '按TEU') {
               this.$set(row, "quantity", item.boxquantity);
             }
             // 按尺码
-            if (item.quantityRule == 5) {
+            if (item.quantityRule == '按尺码') {
               this.$set(row, "quantity", this.assemblyForm.measurement);
             }
             // 按件数
-            if (item.quantityRule == 6) {
+            if (item.quantityRule == '按件数') {
               this.$set(row, "quantity", this.assemblyForm.quantity);
             }
           }
@@ -3453,18 +3454,17 @@ export default {
       } else {
         srcBillId = this.assemblyForm.id;
       }
-      const res = await getBunitsPage({
-        srcBillId
-      });
+      const res = await getBunitsPage({ srcBillId });
+      console.log(res);
       this.unitNoData = [];
-      let boxarr40 = ["40HC", "40GP"];
-      let boxarr20 = ["20GP"];
+      let boxarr40 = ["40HC", "40GP", "40FB", "40RF", "40RH"];
+      let boxarr20 = ["20GP", "20HC"];
       let teunum = 0;
       for (let item of res.data.data) {
         // 按箱型
-        if (item.quantityRule != 1) {
+        if (item.quantityRule != "按箱量") {
           // TEU
-          if (item.quantityRule == 4) {
+          if (item.quantityRule == "按TEU") {
             for (let data of this.assemblyForm.preContainersList) {
               // 40*2 20*1
               if (boxarr40.indexOf(data.cntrTypeCode) != -1) {
@@ -3473,10 +3473,7 @@ export default {
                 teunum += Number(data.quantity);
               }
             }
-            this.unitNoData.push({
-              ...item,
-              boxquantity: teunum
-            });
+            this.unitNoData.push({ ...item, boxquantity: teunum });
           } else {
             this.unitNoData.push(item); // 不是TEU和不是箱的走这个
           }
@@ -3484,14 +3481,16 @@ export default {
       }
       let arr = this.assemblyForm.preContainersList.map(item => {
         return {
-          quantityRule: 1, // 1 是按箱量
+          quantityRule: "按箱量", // 1 是按箱量
           code: item.cntrTypeCode,
           boxquantity: item.quantity
         };
       });
       this.unitNoData = [...arr, ...this.unitNoData];
+      console.log(this.unitNoData);
       // 选择费用时带出第一条
       if (type) {
+        console.log();
         let feeunitNodata = [];
         for (let item of this.unitNoData) {
           if (item.quantityRule == feeRow.unitNo) {

+ 504 - 342
src/views/iosBasicData/SeafreightExportF/bills/assembly/billLading.vue

@@ -1,370 +1,532 @@
 <template>
-    <div>
-        <el-dialog title="客户订舱" :visible.sync="dialogVisible" append-to-body width="60%" :before-close="handleClose">
-            <span>
-                <trade-card title="基础信息">
-                    <el-form :model="form" ref="form" label-width="90px" class="demo-ruleForm" :disabled="true">
-                        <el-row>
-                            <el-col span="12">
-                                <el-row>
-                                    <el-col span="12">
-                                        <el-row>
-                                            <el-form-item label="发货人" prop="hshipperDetails">
-                                                <el-input type="textarea" style="width: 100%;"
-                                                    v-model="form.detail.hshipperDetails" size="small"
-                                                    autocomplete="off" :disabled="true" :rows="3" clearable></el-input>
-                                            </el-form-item>
-                                        </el-row>
-                                        <el-row>
-                                            <el-form-item label="收货人" prop="hconsigneeDetails">
-                                                <el-input type="textarea" style="width: 100%;"
-                                                    v-model="form.detail.hconsigneeDetails" size="small"
-                                                    autocomplete="off" :disabled="true" :rows="3" clearable></el-input>
-                                            </el-form-item>
-                                        </el-row>
-                                        <el-row>
-                                            <el-form-item label="通知人" prop="hnotifyDetails">
-                                                <el-input type="textarea" style="width: 100%;"
-                                                    v-model="form.detail.hnotifyDetails" size="small" autocomplete="off"
-                                                    :disabled="true" :rows="3" clearable></el-input>
-                                            </el-form-item>
-                                        </el-row>
-                                    </el-col>
-                                    <el-col span="12">
-                                        <el-row>
-                                            <el-form-item label="唛头" prop="marks">
-                                                <el-input type="textarea" style="width: 100%;" v-model="form.marks"
-                                                    size="small" autocomplete="off" :disabled="true" :rows="5"
-                                                    clearable></el-input>
-                                            </el-form-item>
-                                        </el-row>
-                                        <el-row>
-                                            <el-form-item label="货物" prop="commodityDescr">
-                                                <el-input type="textarea" style="width: 100%;"
-                                                    v-model="form.commodityDescr" size="small" autocomplete="off"
-                                                    :disabled="true" :rows="5" clearable></el-input>
-                                            </el-form-item>
-                                        </el-row>
-                                    </el-col>
-                                </el-row>
-                            </el-col>
-                            <el-col span="12">
-                                <el-row>
-                                    <el-col span="12">
-                                        <el-form-item label="装货港" prop="polCnName">
-                                            <el-input style="width: 100%;" v-model="form.polCnName" size="small"
-                                                :disabled="true"></el-input>
-                                        </el-form-item>
-                                    </el-col>
-                                    <el-col span="12">
-                                        <el-form-item label="卸货港" prop="podCnName">
-                                            <el-input style="width: 100%;" v-model="form.podCnName" size="small"
-                                                :disabled="true"></el-input>
-                                        </el-form-item>
-                                    </el-col>
-                                </el-row>
-                                <el-row>
-                                    <el-col span="12">
-                                        <el-form-item label="ETD" prop="etd">
-                                            <el-date-picker v-model="form.etd" type="date" placeholder="请选择 ETD"
-                                                :disabled="true" size="small" format="yyyy-MM-dd"
-                                                value-format="yyyy-MM-dd" style="width: 100%;">
-                                            </el-date-picker>
-                                        </el-form-item>
-                                    </el-col>
-
-                                </el-row>
-                                <el-row>
-                                    <el-col span="12">
-                                        <el-form-item label="付款方式" prop="mpaymode">
-                                            <el-input style="width: 100%;" v-model="form.mpaymode" size="small"
-                                                :disabled="true"></el-input>
-                                        </el-form-item>
-                                    </el-col>
-                                    <el-col span="12">
-                                        <el-form-item label="运输条款" prop="serviceTerms">
-                                            <el-input style="width: 100%;" v-model="form.serviceTerms" size="small"
-                                                :disabled="true"></el-input>
-                                        </el-form-item>
-                                    </el-col>
-                                </el-row>
-                                <el-row>
-                                    <el-col span="12">
-                                        <el-form-item label="件数" prop="quantity">
-                                            <el-input style="width: 100%;" v-model="form.quantity" size="small"
-                                                :disabled="true"></el-input>
-                                        </el-form-item>
-                                    </el-col>
-                                    <el-col span="12">
-                                        <el-form-item label="包装" prop="packingUnit">
-                                            <el-input style="width: 100%;" v-model="form.packingUnit" size="small"
-                                                :disabled="true"></el-input>
-                                        </el-form-item>
-                                    </el-col>
-                                </el-row>
-                                <el-row>
-                                    <el-col span="12">
-                                        <el-form-item label="毛重(KGS)" prop="grossWeight">
-                                            <el-input style="width: 100%;" v-model="form.grossWeight" size="small"
-                                                :disabled="true"></el-input>
-                                        </el-form-item>
-                                    </el-col>
-                                    <el-col span="12">
-                                        <el-form-item label="尺码(CBM)" prop="measurement">
-                                            <el-input style="width: 100%;" v-model="form.measurement" size="small"
-                                                :disabled="true"></el-input>
-                                        </el-form-item>
-                                    </el-col>
-                                </el-row>
-                            </el-col>
-                        </el-row>
-                        <el-row>
-                            <el-form-item label="SI备注" prop="siRemarks">
-                                <el-input type="textarea" style="width: 100%;" v-model="form.siRemarks"
-                                    size="small" autocomplete="off" :disabled="true" :rows="3" clearable></el-input>
-                            </el-form-item>
-                        </el-row>
-                    </el-form>
-                </trade-card>
-                <trade-card title="配箱信息">
-                    <avue-crud :option="option" :table-loading="loading" :data="form.containersList" v-model="form"
-                        id="out-table" :header-cell-class-name="headerClassName" ref="crud"
-                        :row-style="{ height: '20px' }" :cell-style="{ padding: '0px' }">
-                    </avue-crud>
-                </trade-card>
-            </span>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="dialogVisible = false" size="mini">取 消</el-button>
-                <el-button type="primary" @click="submit" size="mini">导 入</el-button>
-            </span>
-        </el-dialog>
-    </div>
+  <div>
+    <el-dialog title="客户订舱" :visible.sync="dialogVisible" append-to-body width="60%" :before-close="handleClose">
+      <span>
+        <trade-card title="基础信息">
+          <el-form :model="form" ref="form" label-width="90px" class="demo-ruleForm" :disabled="true">
+            <el-row>
+              <el-col span="12">
+                <el-row>
+                  <el-col span="12">
+                    <el-row>
+                      <el-form-item label="发货人" prop="hshipperDetails">
+                        <el-input
+                          type="textarea"
+                          style="width: 100%;"
+                          v-model="form.detail.hshipperDetails"
+                          size="small"
+                          autocomplete="off"
+                          :disabled="true"
+                          :rows="3"
+                          clearable
+                        ></el-input>
+                        <span v-if="form.detail.hshipperDetails != oldForm.detail.hshipperDetails" style="color: #F56C6C;">
+                          <el-popover placement="bottom-start" width="400" trigger="click">
+                            <div>
+                              <el-input
+                                type="textarea"
+                                style="width: 100%;"
+                                v-model="oldForm.detail.hshipperDetails"
+                                size="small"
+                                disabled
+                                rows="10"
+                              ></el-input>
+                            </div>
+                            <span style="font-size: 12px;color: #F56C6C; text-decoration: underline;cursor: pointer;" slot="reference"
+                              >修改前的发货人</span
+                            >
+                          </el-popover>
+                        </span>
+                      </el-form-item>
+                    </el-row>
+                    <el-row>
+                      <el-form-item label="收货人" prop="hconsigneeDetails">
+                        <el-input
+                          type="textarea"
+                          style="width: 100%;"
+                          v-model="form.detail.hconsigneeDetails"
+                          size="small"
+                          autocomplete="off"
+                          :disabled="true"
+                          :rows="3"
+                          clearable
+                        ></el-input>
+                        <span v-if="form.detail.hconsigneeDetails != oldForm.detail.hconsigneeDetails" style="color: #F56C6C;">
+                          <el-popover placement="bottom-start" width="400" trigger="click">
+                            <div>
+                              <el-input
+                                type="textarea"
+                                style="width: 100%;"
+                                v-model="oldForm.detail.hconsigneeDetails"
+                                size="small"
+                                disabled
+                                rows="10"
+                              ></el-input>
+                            </div>
+                            <span style="font-size: 12px;color: #F56C6C; text-decoration: underline;cursor: pointer;" slot="reference"
+                              >修改前的收货人</span
+                            >
+                          </el-popover>
+                        </span>
+                      </el-form-item>
+                    </el-row>
+                    <el-row>
+                      <el-form-item label="通知人" prop="hnotifyDetails">
+                        <el-input
+                          type="textarea"
+                          style="width: 100%;"
+                          v-model="form.detail.hnotifyDetails"
+                          size="small"
+                          autocomplete="off"
+                          :disabled="true"
+                          :rows="3"
+                          clearable
+                        ></el-input>
+                        <span v-if="form.detail.hnotifyDetails != oldForm.detail.hnotifyDetails" style="color: #F56C6C;">
+                          <el-popover placement="bottom-start" width="400" trigger="click">
+                            <div>
+                              <el-input
+                                type="textarea"
+                                style="width: 100%;"
+                                v-model="oldForm.detail.hnotifyDetails"
+                                size="small"
+                                disabled
+                                rows="10"
+                              ></el-input>
+                            </div>
+                            <span style="font-size: 12px;color: #F56C6C; text-decoration: underline;cursor: pointer;" slot="reference"
+                              >修改前的通知人</span
+                            >
+                          </el-popover>
+                        </span>
+                      </el-form-item>
+                    </el-row>
+                  </el-col>
+                  <el-col span="12">
+                    <el-row>
+                      <el-form-item label="唛头" prop="marks">
+                        <el-input
+                          type="textarea"
+                          style="width: 100%;"
+                          v-model="form.marks"
+                          size="small"
+                          autocomplete="off"
+                          :disabled="true"
+                          :rows="5"
+                          clearable
+                        ></el-input>
+                        <span v-if="form.marks != oldForm.marks" style="color: #F56C6C;">
+                          <el-popover placement="bottom-start" width="400" trigger="click">
+                            <div>
+                              <el-input type="textarea" style="width: 100%;" v-model="oldForm.marks" size="small" disabled rows="10"></el-input>
+                            </div>
+                            <span style="font-size: 12px;color: #F56C6C; text-decoration: underline;cursor: pointer;" slot="reference"
+                              >修改前的唛头</span
+                            >
+                          </el-popover>
+                        </span>
+                      </el-form-item>
+                    </el-row>
+                    <el-row>
+                      <el-form-item label="货物" prop="commodityDescr">
+                        <el-input
+                          type="textarea"
+                          style="width: 100%;"
+                          v-model="form.commodityDescr"
+                          size="small"
+                          autocomplete="off"
+                          :disabled="true"
+                          :rows="5"
+                          clearable
+                        ></el-input>
+                        <span v-if="form.commodityDescr != oldForm.commodityDescr" style="color: #F56C6C;">
+                          <el-popover placement="bottom-start" width="400" trigger="click">
+                            <div>
+                              <el-input
+                                type="textarea"
+                                style="width: 100%;"
+                                v-model="oldForm.commodityDescr"
+                                size="small"
+                                disabled
+                                rows="10"
+                              ></el-input>
+                            </div>
+                            <span style="font-size: 12px;color: #F56C6C; text-decoration: underline;cursor: pointer;" slot="reference"
+                              >修改前的货物</span
+                            >
+                          </el-popover>
+                        </span>
+                      </el-form-item>
+                    </el-row>
+                  </el-col>
+                </el-row>
+              </el-col>
+              <el-col span="12">
+                <el-row>
+                  <el-col span="12">
+                    <el-form-item label="装货港" prop="polCnName">
+                      <el-input style="width: 100%;" v-model="form.polCnName" size="small" :disabled="true"></el-input>
+                      <span v-if="form.polCnName != oldForm.polCnName" style="color: #F56C6C;">修改前:{{ oldForm.polCnName }}</span>
+                    </el-form-item>
+                  </el-col>
+                  <el-col span="12">
+                    <el-form-item label="卸货港" prop="podCnName">
+                      <el-input style="width: 100%;" v-model="form.podCnName" size="small" :disabled="true"></el-input>
+                      <span v-if="form.podCnName != oldForm.podCnName" style="color: #F56C6C;">修改前:{{ oldForm.podCnName }}</span>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col span="12">
+                    <el-form-item label="ETD" prop="etd">
+                      <el-date-picker
+                        v-model="form.etd"
+                        type="date"
+                        placeholder="请选择 ETD"
+                        :disabled="true"
+                        size="small"
+                        format="yyyy-MM-dd"
+                        value-format="yyyy-MM-dd"
+                        style="width: 100%;"
+                      >
+                      </el-date-picker>
+                      <span v-if="form.etd != oldForm.etd" style="color: #F56C6C;">修改前:{{ oldForm.etd }}</span>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col span="12">
+                    <el-form-item label="付款方式" prop="mpaymode">
+                      <el-input style="width: 100%;" v-model="form.mpaymode" size="small" :disabled="true"></el-input>
+                      <span v-if="form.mpaymode != oldForm.mpaymode" style="color: #F56C6C;">修改前:{{ oldForm.mpaymode }}</span>
+                    </el-form-item>
+                  </el-col>
+                  <el-col span="12">
+                    <el-form-item label="服务方式" prop="serviceTerms">
+                      <el-input style="width: 100%;" v-model="form.serviceTerms" size="small" :disabled="true"></el-input>
+                      <span v-if="form.serviceTerms != oldForm.serviceTerms" style="color: #F56C6C;">修改前:{{ oldForm.serviceTerms }}</span>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col span="12">
+                    <el-form-item label="件数" prop="quantity">
+                      <el-input style="width: 100%;" v-model="form.quantity" size="small" :disabled="true"></el-input>
+                      <span v-if="form.quantity != oldForm.quantity" style="color: #F56C6C;">修改前:{{ oldForm.packingUnit }}</span>
+                    </el-form-item>
+                  </el-col>
+                  <el-col span="12">
+                    <el-form-item label="包装" prop="packingUnit">
+                      <el-input style="width: 100%;" v-model="form.packingUnit" size="small" :disabled="true"></el-input>
+                      <span v-if="form.packingUnit != oldForm.packingUnit" style="color: #F56C6C;">修改前:{{ oldForm.packingUnit }}</span>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col span="12">
+                    <el-form-item label="毛重(KGS)" prop="grossWeight">
+                      <el-input style="width: 100%;" v-model="form.grossWeight" size="small" :disabled="true"></el-input>
+                      <span v-if="form.grossWeight != oldForm.grossWeight" style="color: #F56C6C;">修改前:{{ oldForm.grossWeight }}</span>
+                    </el-form-item>
+                  </el-col>
+                  <el-col span="12">
+                    <el-form-item label="尺码(CBM)" prop="measurement">
+                      <el-input style="width: 100%;" v-model="form.measurement" size="small" :disabled="true"></el-input>
+                      <span v-if="form.measurement != oldForm.measurement" style="color: #F56C6C;">修改前:{{ oldForm.measurement }}</span>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-form-item label="SI备注" prop="siRemarks">
+                <el-input
+                  type="textarea"
+                  style="width: 100%;"
+                  v-model="form.siRemarks"
+                  size="small"
+                  autocomplete="off"
+                  :disabled="true"
+                  :rows="3"
+                  clearable
+                ></el-input>
+              </el-form-item>
+            </el-row>
+          </el-form>
+        </trade-card>
+        <trade-card title="配箱信息">
+          <span v-if="fixListShow" style="font-size: 12px;color: #F56C6C;" slot="reference">修改前配箱信息</span>
+          <avue-crud
+            v-if="fixListShow"
+            :option="option"
+            :table-loading="loading"
+            :data="oldForm.containersList"
+            id="out-table"
+            :header-cell-class-name="headerClassName"
+            ref="crud"
+            :row-style="{ height: '20px' }"
+            :cell-style="cellStyle"
+          >
+          </avue-crud>
+          <span v-if="fixListShow" style="font-size: 12px;color: #F56C6C;" slot="reference">修改后配箱信息</span>
+          <avue-crud
+            :option="option"
+            :table-loading="loading"
+            :data="form.containersList"
+            v-model="form"
+            id="out-table"
+            :header-cell-class-name="headerClassName"
+            ref="crud"
+            :row-style="{ height: '20px' }"
+            :cell-style="{ padding: '0px' }"
+          >
+          </avue-crud>
+        </trade-card>
+      </span>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible = false" size="mini">取 消</el-button>
+        <el-button type="primary" @click="submit" size="mini">导 入</el-button>
+      </span>
+    </el-dialog>
+  </div>
 </template>
 
 <script>
 import { getDetail } from "@/api/iosBasicData/businessCenter/bookingCabin.js";
-import { billLadingConfirm } from '@/api/iosBasicData/bills'
+import { billLadingConfirm } from "@/api/iosBasicData/bills";
+import { contrastList } from "@/util/contrastData";
 export default {
-    props: {
-        oldForm: {
-            type: Object,
-            default: () => { }
-        },
-    },
-    data() {
-        return {
-            form: {},
-            dialogVisible: false,
-            option: {
-                height: '200',
-                calcHeight: 30,
-                header: false,
-                menu: false,
-                column: [
-                    {
-                        label: "箱型",
-                        prop: "cntrTypeCode",
-                        width: "100",
-                    },
-                    {
-                        label: "箱号",
-                        prop: "cntrNo",
-                        width: "140",
-                        overHidden: true,
-                    },
-                    {
-                        label: "封号",
-                        prop: "sealNo",
-                        width: "140",
-                        overHidden: true,
-                    },
+  props: {
+    oldForm: {
+      type: Object,
+      default: () => {}
+    }
+  },
+  data() {
+    return {
+      fixListShow: false,
+      form: {},
+      dialogVisible: false,
+      option: {
+        height: "200",
+        calcHeight: 30,
+        header: false,
+        menu: false,
+        column: [
+          {
+            label: "箱型",
+            prop: "cntrTypeCode",
+            width: "100"
+          },
+          {
+            label: "箱号",
+            prop: "cntrNo",
+            width: "140",
+            overHidden: true
+          },
+          {
+            label: "封号",
+            prop: "sealNo",
+            width: "140",
+            overHidden: true
+          },
 
-                    {
-                        label: "件数",
-                        prop: "quantity",
-                        width: "100",
-                    },
-                    {
-                        label: "毛重(KGM)",
-                        prop: "grossWeight",
-                        width: "120",
-                    },
-                    {
-                        label: "尺码/体积(CBM)",
-                        prop: "measurement",
-                        width: "140",
-                    },
-                    {
-                        label: "箱皮重",
-                        prop: "tare",
-                        width: "140",
-                        overHidden: true,
-                    },
-                    {
-                        label: "VGM总重(KGM)",
-                        prop: "vgmWeight",
-                        width: "140",
-                        overHidden: true,
-                    },
-                    {
-                        label: "备注",
-                        prop: "remarks",
-                        type: 'textarea',
-                        width: 180,
-                        slot: true,
-                        minRows: 3,
-                        span: 24,
-                    },
-                    {
-                        label: "POD堆场",
-                        prop: "podStationCname",
-                        width: "140",
-                    },
-                ]
-            },
-        }
-    },
-    async created() {
-        // this.option = await this.getColumnData(this.getColumnName(309.6), this.optionBack);
+          {
+            label: "件数",
+            prop: "quantity",
+            width: "100"
+          },
+          {
+            label: "毛重(KGM)",
+            prop: "grossWeight",
+            width: "120"
+          },
+          {
+            label: "尺码/体积(CBM)",
+            prop: "measurement",
+            width: "140"
+          },
+          {
+            label: "箱皮重",
+            prop: "tare",
+            width: "140",
+            overHidden: true
+          },
+          {
+            label: "VGM总重(KGM)",
+            prop: "vgmWeight",
+            width: "140",
+            overHidden: true
+          },
+          {
+            label: "备注",
+            prop: "remarks",
+            type: "textarea",
+            width: 180,
+            slot: true,
+            minRows: 3,
+            span: 24
+          },
+          {
+            label: "POD堆场",
+            prop: "podStationCname",
+            width: "140"
+          }
+        ]
+      }
+    };
+  },
+  async created() {
+    // this.option = await this.getColumnData(this.getColumnName(309.6), this.optionBack);
+  },
+  methods: {
+    openDialog(id) {
+      this.dialogVisible = true;
+      const obj = {
+        id: id,
+        confirmStatus: 1
+      };
+      const loading = this.$loading({
+        lock: true,
+        text: "加载中",
+        spinner: "el-icon-loading",
+        background: "rgba(255,255,255,0.7)"
+      });
+      getDetail(obj)
+        .then(res => {
+          this.form = res.data.data;
+          this.fixListShow = contrastList(this.form.containersList, this.oldForm.containersList, "id");
+        })
+        .finally(() => {
+          loading.close();
+        });
     },
-    methods: {
-        openDialog(id) {
-            this.dialogVisible = true
-            const obj = {
-                id: id,
-                confirmStatus: 1
-            }
-            const loading = this.$loading({
-                lock: true,
-                text: '加载中',
-                spinner: 'el-icon-loading',
-                background: 'rgba(255,255,255,0.7)'
-            });
-            getDetail(obj).then(res => {
-                this.form = res.data.data
-            }).finally(() => {
-                loading.close()
+    submit() {
+      let text = [];
+      if (this.form.polCnName != this.oldForm.polCnName) {
+        text.push("装货港");
+      }
+      if (this.form.podCnName != this.oldForm.podCnName) {
+        text.push("卸货港");
+      }
+      if (this.form.quantity != this.oldForm.quantity) {
+        text.push("件数");
+      }
+      if (this.form.grossWeight != this.oldForm.grossWeight) {
+        text.push("毛重");
+      }
+      if (this.form.measurement != this.oldForm.measurement) {
+        text.push("尺码");
+      }
+      if (text.length) {
+        this.$confirm(`${text.join(",")}是否需要覆盖?`, "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(() => {
+          const loading = this.$loading({
+            lock: true,
+            text: "加载中",
+            spinner: "el-icon-loading",
+            background: "rgba(255,255,255,0.7)"
+          });
+          billLadingConfirm(this.oldForm)
+            .then(res => {
+              this.$message.success("操作成功");
+              this.dialogVisible = false;
+              this.$emit("upDate");
             })
-        },
-        submit() {
-            let text = []
-            if (this.form.polCnName != this.oldForm.polCnName) {
-                text.push('装货港')
-            }
-            if (this.form.podCnName != this.oldForm.podCnName) {
-                text.push('卸货港')
-            }
-            if (this.form.quantity != this.oldForm.quantity) {
-                text.push('件数')
-            }
-            if (this.form.grossWeight != this.oldForm.grossWeight) {
-                text.push('毛重')
-            }
-            if (this.form.measurement != this.oldForm.measurement) {
-                text.push('尺码')
-            }
-            if (text.length) {
-                this.$confirm(`${text.join(",")}是否需要覆盖?`, '提示', {
-                    confirmButtonText: '确定',
-                    cancelButtonText: '取消',
-                    type: 'warning'
-                }).then(() => {
-                    const loading = this.$loading({
-                        lock: true,
-                        text: '加载中',
-                        spinner: 'el-icon-loading',
-                        background: 'rgba(255,255,255,0.7)'
-                    });
-                    billLadingConfirm(this.oldForm).then(res => {
-                        this.$message.success("操作成功");
-                        this.dialogVisible = false
-                        this.$emit('upDate')
-                    }).finally(() => {
-                        loading.close()
-                    })
-                })
-            } else {
-                const loading = this.$loading({
-                    lock: true,
-                    text: '加载中',
-                    spinner: 'el-icon-loading',
-                    background: 'rgba(255,255,255,0.7)'
-                });
-                billLadingConfirm(this.oldForm).then(res => {
-                    this.$message.success("操作成功");
-                    this.dialogVisible = false
-                    this.$emit('upDate')
-                }).finally(() => {
-                    loading.close()
-                })
-            }
-
-        },
-        //自定义列保存
-        async saveColumn(ref, option, optionBack, code) {
-            /**
-             * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
-             * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
-             * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
-             */
-            const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
-            if (inSave) {
-                this.$message.success("保存成功");
-                //关闭窗口
-                this.$refs[ref].$refs.dialogColumn.columnBox = false;
-                this.searchReset()
-            }
-        },
-        //自定义列重置
-        async resetColumn(ref, option, optionBack, code) {
-            this[option] = this[optionBack];
-            const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
-            if (inSave) {
-                this.$message.success("重置成功");
-                this.$refs[ref].$refs.dialogColumn.columnBox = false;
-            }
-        },
-
-        // 更改表格颜色
-        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;
-        },
-
+            .finally(() => {
+              loading.close();
+            });
+        });
+      } else {
+        const loading = this.$loading({
+          lock: true,
+          text: "加载中",
+          spinner: "el-icon-loading",
+          background: "rgba(255,255,255,0.7)"
+        });
+        billLadingConfirm(this.oldForm)
+          .then(res => {
+            this.$message.success("操作成功");
+            this.dialogVisible = false;
+            this.$emit("upDate");
+          })
+          .finally(() => {
+            loading.close();
+          });
+      }
+    },
+    //自定义列保存
+    async saveColumn(ref, option, optionBack, code) {
+      /**
+       * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
+       * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
+       * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
+       */
+      const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
+      if (inSave) {
+        this.$message.success("保存成功");
+        //关闭窗口
+        this.$refs[ref].$refs.dialogColumn.columnBox = false;
+        this.searchReset();
+      }
+    },
+    //自定义列重置
+    async resetColumn(ref, option, optionBack, code) {
+      this[option] = this[optionBack];
+      const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
+      if (inSave) {
+        this.$message.success("重置成功");
+        this.$refs[ref].$refs.dialogColumn.columnBox = false;
+      }
+    },
+    cellStyle({ row, rowIndex, columnIndex }) {
+      return "padding:0px;fontSize:12px";
+    },
+    // 更改表格颜色
+    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 lang="scss" scoped>
 ::v-deep#out-table .back-one {
-    background: #ecf5ff !important;
-    text-align: center;
-    padding: 4px 0;
+  background: #ecf5ff !important;
+  text-align: center;
+  padding: 4px 0;
 }
 
 ::v-deep#out-table .back-two {
-    background: #ecf5ff !important;
-    text-align: center;
-    padding: 4px 0;
+  background: #ecf5ff !important;
+  text-align: center;
+  padding: 4px 0;
 }
 
 ::v-deep .el-form-item__error {
-    display: none !important;
+  display: none !important;
 }
 
 ::v-deep .el-form-item {
-    margin-bottom: 8px !important;
+  margin-bottom: 8px !important;
 }
 
 ::v-deep .el-dialog__body {
-    padding: 0px 20px !important;
+  padding: 0px 20px !important;
+}
+::v-deep .el-form-item__content {
+  line-height: 20px !important;
 }
 </style>

+ 15 - 11
src/views/iosBasicData/SeafreightExportF/bills/assembly/feecenter.vue

@@ -3206,32 +3206,33 @@ export default {
         // 计量单位
         this.$set(row, name, value);
         for (let item of this.unitNoData) {
+          console.log(item.code,value,item,1111)
           if (item.code == value) {
             // 按箱型
-            if (item.quantityRule == 1) {
+            if (item.quantityRule == '按箱量') {
               // 选择的箱那边的数据
               if (item.boxquantity) {
                 this.$set(row, "quantity", item.boxquantity);
               }
             }
             // 按票
-            if (item.quantityRule == 2) {
+            if (item.quantityRule == '按票') {
               this.$set(row, "quantity", 1);
             }
             // 按重量
-            if (item.quantityRule == 3) {
+            if (item.quantityRule =='按重量') {
               this.$set(row, "quantity", this.assemblyForm.grossWeight);
             }
             // 按TEU
-            if (item.quantityRule == 4) {
+            if (item.quantityRule == '按TEU') {
               this.$set(row, "quantity", item.boxquantity);
             }
             // 按尺码
-            if (item.quantityRule == 5) {
+            if (item.quantityRule == '按尺码') {
               this.$set(row, "quantity", this.assemblyForm.measurement);
             }
             // 按件数
-            if (item.quantityRule == 6) {
+            if (item.quantityRule == '按件数') {
               this.$set(row, "quantity", this.assemblyForm.quantity);
             }
           }
@@ -3452,15 +3453,16 @@ export default {
         srcBillId = this.assemblyForm.id;
       }
       const res = await getBunitsPage({ srcBillId });
+      console.log(res)
       this.unitNoData = [];
-      let boxarr40 = ["40HC", "40GP"];
-      let boxarr20 = ["20GP"];
+      let boxarr40 = ["40HC", "40GP", "40FB", "40RF", "40RH"];
+      let boxarr20 = ["20GP","20HC"];
       let teunum = 0;
       for (let item of res.data.data) {
         // 按箱型
-        if (item.quantityRule != 1) {
+        if (item.quantityRule != '按箱量') {
           // TEU
-          if (item.quantityRule == 4) {
+          if (item.quantityRule == '按TEU') {
             for (let data of this.assemblyForm.preContainersList) {
               // 40*2 20*1
               if (boxarr40.indexOf(data.cntrTypeCode) != -1) {
@@ -3477,14 +3479,16 @@ export default {
       }
       let arr = this.assemblyForm.preContainersList.map(item => {
         return {
-          quantityRule: 1, // 1 是按箱量
+          quantityRule:'按箱量', // 1 是按箱量
           code: item.cntrTypeCode,
           boxquantity: item.quantity
         };
       });
       this.unitNoData = [...arr, ...this.unitNoData];
+      console.log(this.unitNoData)
       // 选择费用时带出第一条
       if (type) {
+        console.log()
         let feeunitNodata = [];
         for (let item of this.unitNoData) {
           if (item.quantityRule == feeRow.unitNo) {

+ 6 - 1
src/views/iosBasicData/financialManagement/fininvoicesApplyfor/detailsPage.vue

@@ -1078,7 +1078,9 @@ export default {
         let obj = {
           ...this.form
         };
-        fininvoicesAdd(obj);
+        fininvoicesAdd(obj).then(res=>{
+          this.form.version=res.data.data.version
+        })
         this.finstlbillslistAccBillV1fun();
       }
     },
@@ -1119,6 +1121,7 @@ export default {
           return this.$message.error("费用明细暂无数据,请重新选择");
         }
         fininvoicesAdd(this.form).then(res => {
+          // this.form.version=res.data.data.version
           let obj = {
             id: this.form.id,
             finAccBillsVOList: itemData,
@@ -1155,6 +1158,7 @@ export default {
         }
 
         fininvoicesAdd(this.form).then(res => {
+          // this.form.version=res.data.data.version
           let obj = {
             id: this.form.id,
             finAccBillsVOList: this.itemSelectionList,
@@ -1439,6 +1443,7 @@ export default {
         ...this.form
       };
       fininvoicesAdd(obj).then(res => {
+        this.form.version=res.data.data.version
         this.finstlbillslistAccBillV1fun();
       });
     },

+ 4 - 1
src/views/iosBasicData/financialManagement/fininvoicesOutput/detailsPage.vue

@@ -1083,7 +1083,9 @@ export default {
         let obj = {
           ...this.form
         };
-        fininvoicesAdd(obj);
+        fininvoicesAdd(obj).then(res => {
+          this.form.version = res.data.data.version;
+        });
         this.finstlbillslistAccBillV1fun();
       }
     },
@@ -1506,6 +1508,7 @@ export default {
         ...this.form
       };
       fininvoicesAdd(obj).then(res => {
+        this.form.version = res.data.data.version;
         this.finstlbillslistAccBillV1fun();
       });
     },

+ 18 - 17
src/views/iosBasicData/seamends/assembly/amendsCostdetails.vue

@@ -625,33 +625,33 @@ export default {
         // 计量单位
         this.$set(row, name, value);
         for (let item of this.unitNoData) {
-          if (item.code == value) {
+         if (item.code == value) {
             // 按箱型
-            if (item.quantityRule == 1) {
+            if (item.quantityRule == '按箱量') {
               // 选择的箱那边的数据
               if (item.boxquantity) {
                 this.$set(row, "quantity", item.boxquantity);
               }
             }
             // 按票
-            if (item.quantityRule == 2) {
+            if (item.quantityRule == '按票') {
               this.$set(row, "quantity", 1);
             }
             // 按重量
-            if (item.quantityRule == 3) {
-              this.$set(row, "quantity", this.form.grossWeight);
+            if (item.quantityRule =='按重量') {
+              this.$set(row, "quantity", this.assemblyForm.grossWeight);
             }
             // 按TEU
-            if (item.quantityRule == 4) {
+            if (item.quantityRule == '按TEU') {
               this.$set(row, "quantity", item.boxquantity);
             }
             // 按尺码
-            if (item.quantityRule == 5) {
-              this.$set(row, "quantity", this.form.measurement);
+            if (item.quantityRule == '按尺码') {
+              this.$set(row, "quantity", this.assemblyForm.measurement);
             }
             // 按件数
-            if (item.quantityRule == 6) {
-              this.$set(row, "quantity", this.form.quantity);
+            if (item.quantityRule == '按件数') {
+              this.$set(row, "quantity", this.assemblyForm.quantity);
             }
           }
         }
@@ -906,15 +906,16 @@ export default {
       }
       const res = await getBunitsPage({ srcBillId });
       this.unitNoData = [];
-      let boxarr40 = ["40HC", "40GP"];
-      let boxarr20 = ["20GP"];
+       let boxarr40 = ["40HC", "40GP", "40FB", "40RF", "40RH"];
+      let boxarr20 = ["20GP", "20HC"];
       let teunum = 0;
       for (let item of res.data.data) {
         // 按箱型
-        if (item.quantityRule != 1) {
+        if (item.quantityRule != "按箱量") {
           // TEU
-          if (item.quantityRule == 4) {
-            for (let data of this.form.preContainersList) {
+          if (item.quantityRule == "按TEU") {
+            for (let data of this.assemblyForm.preContainersList) {
+              // 40*2 20*1
               if (boxarr40.indexOf(data.cntrTypeCode) != -1) {
                 teunum += Number(data.quantity) * 2;
               } else if (boxarr20.indexOf(data.cntrTypeCode) != -1) {
@@ -927,9 +928,9 @@ export default {
           }
         }
       }
-      let arr = this.form.preContainersList.map(item => {
+      let arr = this.assemblyForm.preContainersList.map(item => {
         return {
-          quantityRule: 1, // 1 是按箱量
+          quantityRule: "按箱量", // 1 是按箱量
           code: item.cntrTypeCode,
           boxquantity: item.quantity
         };

+ 17 - 16
src/views/iosBasicData/siamends/assembly/amendsCostdetails.vue

@@ -629,31 +629,31 @@ export default {
         for (let item of this.unitNoData) {
           if (item.code == value) {
             // 按箱型
-            if (item.quantityRule == 1) {
+            if (item.quantityRule == "按箱量") {
               // 选择的箱那边的数据
               if (item.boxquantity) {
                 this.$set(row, "quantity", item.boxquantity);
               }
             }
             // 按票
-            if (item.quantityRule == 2) {
+            if (item.quantityRule == "按票") {
               this.$set(row, "quantity", 1);
             }
             // 按重量
-            if (item.quantityRule == 3) {
-              this.$set(row, "quantity", this.form.grossWeight);
+            if (item.quantityRule == "按重量") {
+              this.$set(row, "quantity", this.assemblyForm.grossWeight);
             }
             // 按TEU
-            if (item.quantityRule == 4) {
+            if (item.quantityRule == "按TEU") {
               this.$set(row, "quantity", item.boxquantity);
             }
             // 按尺码
-            if (item.quantityRule == 5) {
-              this.$set(row, "quantity", this.form.measurement);
+            if (item.quantityRule == "按尺码") {
+              this.$set(row, "quantity", this.assemblyForm.measurement);
             }
             // 按件数
-            if (item.quantityRule == 6) {
-              this.$set(row, "quantity", this.form.quantity);
+            if (item.quantityRule == "按件数") {
+              this.$set(row, "quantity", this.assemblyForm.quantity);
             }
           }
         }
@@ -905,15 +905,16 @@ export default {
       }
       const res = await getBunitsPage({ srcBillId });
       this.unitNoData = [];
-      let boxarr40 = ["40HC", "40GP"];
-      let boxarr20 = ["20GP"];
+      let boxarr40 = ["40HC", "40GP", "40FB", "40RF", "40RH"];
+      let boxarr20 = ["20GP", "20HC"];
       let teunum = 0;
       for (let item of res.data.data) {
         // 按箱型
-        if (item.quantityRule != 1) {
+        if (item.quantityRule != "按箱量") {
           // TEU
-          if (item.quantityRule == 4) {
-            for (let data of this.form.preContainersList) {
+          if (item.quantityRule == "按TEU") {
+            for (let data of this.assemblyForm.preContainersList) {
+              // 40*2 20*1
               if (boxarr40.indexOf(data.cntrTypeCode) != -1) {
                 teunum += Number(data.quantity) * 2;
               } else if (boxarr20.indexOf(data.cntrTypeCode) != -1) {
@@ -926,9 +927,9 @@ export default {
           }
         }
       }
-      let arr = this.form.preContainersList.map(item => {
+      let arr = this.assemblyForm.preContainersList.map(item => {
         return {
-          quantityRule: 1, // 1 是按箱量
+          quantityRule: "按箱量", // 1 是按箱量
           code: item.cntrTypeCode,
           boxquantity: item.quantity
         };

+ 1 - 1
src/views/ow/owTask/index.vue

@@ -26,7 +26,7 @@
           <el-tabs v-model="query.whetherDisplay" type="card" @tab-click="handleClick">
             <el-tab-pane label="未提箱" name="2"></el-tab-pane>
             <el-tab-pane label="已提箱" name="1"></el-tab-pane>
-            <el-tab-pane label="延期提" name="4"></el-tab-pane>
+            <el-tab-pane label="延期提" name="4"></el-tab-pane>
             <el-tab-pane label="失效" name="3"></el-tab-pane>
             <el-tab-pane label="全部" name="0"></el-tab-pane>
           </el-tabs>