瀏覽代碼

Merge remote-tracking branch 'origin/dev' into dev

wangzhuo 2 年之前
父節點
當前提交
95d3bf82d2

+ 17 - 1
src/api/iosBasicData/bills.js

@@ -117,4 +117,20 @@ export const billsDisembarking = (ids) => {
     }
   })
 }
-//
+
+// 单据请核
+export const billsCheckBills = (data) => {
+  return request({
+    url: '/api/blade-los/bills/checkBills',
+    method: 'post',
+    data: data
+  })
+}
+// 撤销单据请核
+export const billsRevokeCheckBills = (data) => {
+  return request({
+    url: '/api/blade-los/bills/revokeCheckBills',
+    method: 'post',
+    data: data
+  })
+}

+ 3 - 0
src/page/index/tags.vue

@@ -388,6 +388,9 @@ export default {
         if(tag.label == "采购(E)"){
           this.$store.commit("OUT_CG_STATUS");
         }
+        if(tag.label == "审批详情(F)"){
+          this.$store.commit("HYCKLOS_OUT_DETAIL")
+        }
         this.$store.commit("DEL_TAG", tag);
         if (tag.value === this.tag.value) {
           tag = this.tagList[key === 0 ? key : key - 1]; //如果关闭本标签让前推一个

+ 15 - 0
src/router/views/index.js

@@ -2793,5 +2793,20 @@ export default [{
       component: () => import( /* webpackChunkName: "views" */ '@/views/financialManagementF/agreementprice/index.vue')
     }]
   },
+  // 审批详情
+  {
+    path: '/iosBasicData/SeafreightExportF/bills/approvalDetails',
+    component: Layout,
+    hidden: true,
+    children: [{
+      path: '/iosBasicData/SeafreightExportF/bills/approvalDetails',
+      name: '审批详情(F)',
+      meta: {
+        i18n: '/iosBasicData/SeafreightExportF/bills/approvalDetails',
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/iosBasicData/SeafreightExportF/bills/approvalDetails.vue')
+    }]
+  },
 
 ]

+ 2 - 1
src/store/getters.js

@@ -62,6 +62,7 @@ const getters = {
   pjcgStatus:state => state.ifdetail.pjcgStatus,
   maritimeExport:state => state.ifdetail.maritimeExport,
   collectionSettlement:state => state.ifdetail.collectionSettlement,
-  cgStatus:state => state.ifdetail.cgStatus
+  cgStatus:state => state.ifdetail.cgStatus,
+  approvalDetails: state => state.ifdetail.approvalDetails,
 }
 export default getters

+ 11 - 0
src/store/modules/ifdetail.js

@@ -40,6 +40,7 @@ const ifdetail = {
     collectionSettlement: false,
     // 销售政策
     xiaoshozhengce:false,
+    approvalDetails:false, // 海运出口 审批详情
   },
   actions: {},
   mutations: {
@@ -335,6 +336,13 @@ const ifdetail = {
     JXSSALE_OUT_DETAIL(state) {
       state.dealerSaleStatus = false;
     },
+    // 海运出口 审核详情
+    HYCKLOS_IN_DETAIL(state) {
+      state.approvalDetails = true;
+    },
+    HYCKLOS_OUT_DETAIL(state) {
+      state.approvalDetails = false;
+    },
     //关闭所有
     DEL_ALL_DETAIL(state) {
       for (let item in state) {
@@ -455,6 +463,9 @@ const ifdetail = {
       if (tag.label == '采购(E)') {
         state.cgStatus = true
       }
+      if (tag.label == '审批详情(F)') {
+        state.approvalDetails = true
+      }
     }
   }
 

+ 13 - 1
src/views/approveDataH/index.vue

@@ -58,6 +58,9 @@
         <span v-else-if="scope.row.checkType == 'PJTK'">售后</span>
         <span v-else-if="scope.row.checkType == 'PJCG'">采购</span>
       </template>
+        <template slot-scope="scope" slot="billNo">
+            <span style="color: #1e9fff" @click="billNoDetails(scope.row)">{{scope.row.billNo}}</span>
+        </template>
       <!-- <template slot="menuLeft">
         <el-button size="small" type="success" :disabled="selectionList.length == 0" @click.stop="batchCheck">批量审批
         </el-button>
@@ -199,6 +202,15 @@ export default {
       this.refreshChange();
       this.idList = [];
     },
+      // 业务编号跳转详情
+      billNoDetails(row){
+          this.$router.push({
+              path: '/iosBasicData/SeafreightExportF/bills/index',
+              query: {
+                  id:row.billId
+              }
+          });
+      },
     //跳转页面
     jumpPage(row) {
       console.log('row',row);
@@ -222,7 +234,7 @@ export default {
           this.$router.$avueRouter.closeTag(row.url);
           this.$router.push({
             path: row.url,
-            query: { check: row }
+            query: {}
           });
         }
       }

+ 39 - 535
src/views/billM/billingCenter/index.vue

@@ -23,16 +23,38 @@
                @saveColumn="saveColumnTwo('crud', 'option', 'optionBack', 313)"
                @on-load="onLoad">
       <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.finaccbills_delete"
-                   @click="handleDelete">删 除
-        </el-button>
+        <!--<el-button type="danger"-->
+        <!--           size="small"-->
+        <!--           icon="el-icon-delete"-->
+        <!--           plain-->
+        <!--           v-if="permission.finaccbills_delete"-->
+        <!--           @click="handleDelete">删 除-->
+        <!--</el-button>-->
+          <el-button type="primary"
+                     size="small"
+                     plain
+                     @click="handleDelete">结 算
+          </el-button>
+          <el-button type="success"
+                     size="small"
+                     plain
+                     @click="handleDelete">发 票
+          </el-button>
+          <el-button type="info"
+                     size="small"
+                     plain
+                     @click="handleDelete">凭 证
+          </el-button>
+          <el-button type="warning"
+                     size="small"
+                     plain
+                     @click="handleDelete">付费申请
+          </el-button>
       </template>
-      <template slot="billKey" slot-scope="scope">
-        <avue-text-ellipsis :text="scope.row.billKey" :height="30" use-tooltip placement="top">
+      <template slot="billNo" slot-scope="scope" @click="billNoDetails(scope.row)">
+        <avue-text-ellipsis :text="scope.row.billNo"
+                            style="color: #1e9fff;cursor: pointer"
+                            :height="30" use-tooltip placement="top">
           <small slot="more">...</small>
         </avue-text-ellipsis>
       </template>
@@ -46,21 +68,11 @@
           <small slot="more">...</small>
         </avue-text-ellipsis>
       </template>
-      <template slot="voucherBillNo" slot-scope="scope">
-        <avue-text-ellipsis :text="scope.row.voucherBillNo" :height="30" use-tooltip placement="top">
-          <small slot="more">...</small>
-        </avue-text-ellipsis>
-      </template>
       <template slot="voucherNo" slot-scope="scope">
         <avue-text-ellipsis :text="scope.row.voucherNo" :height="30" use-tooltip placement="top">
           <small slot="more">...</small>
         </avue-text-ellipsis>
       </template>
-      <template slot="corpEnName" slot-scope="scope">
-        <avue-text-ellipsis :text="scope.row.corpEnName" :height="30" use-tooltip placement="top">
-          <small slot="more">...</small>
-        </avue-text-ellipsis>
-      </template>
       <template slot="remarks" slot-scope="scope">
         <avue-text-ellipsis :text="scope.row.remarks" :height="30" use-tooltip placement="top">
           <small slot="more">...</small>
@@ -98,97 +110,8 @@
           viewBtn: true,
           selection: true,
           dialogClickModal: false,
+            menu:false,
           column: [
-            // {
-            //   label: "主键",
-            //   prop: "id",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入主键",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "分公司 Id",
-            //   prop: "branchId",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入分公司 Id",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "创建人 Id",
-            //   prop: "createUser",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入创建人 Id",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "创建人",
-            //   prop: "createUserName",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入创建人",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "创建部门 Id",
-            //   prop: "createDept",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入创建部门 Id",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "创建部门",
-            //   prop: "createDeptName",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入创建部门",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "创建时间",
-            //   prop: "createTime",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入创建时间",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "修改人 Id",
-            //   prop: "updateUser",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入修改人 Id",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "修改人",
-            //   prop: "updateUserName",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入修改人",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "修改时间",
-            //   prop: "updateTime",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入修改时间",
-            //     trigger: "blur"
-            //   }]
-            // },
             {
               label: "账单编号",
               prop: "billNo",
@@ -214,23 +137,6 @@
               }]
             },
             {
-              label: "账单类型",
-              prop: "accountType",
-              type: 'select',
-              dicData:[{
-                label:'应收',
-                value:'LOCAL'
-              },{
-                label:'应付',
-                value:'LOCAL'
-              }],
-              rules: [{
-                required: true,
-                message: "请输入账单类型,LOCAL 应收,LOCAL 应付,舱单 应收,舱单 应付",
-                trigger: "blur"
-              }]
-            },
-            {
               label: "账单属性",
               prop: "accountDc",
               type: 'select',
@@ -261,16 +167,6 @@
               }]
             },
             {
-              label: "账单关键字",
-              prop: "billKey",
-              width:"180",
-              rules: [{
-                required: true,
-                message: "请输入账单关键字 业务表的id+结算单位+收付  +核算要素作为关键字",
-                trigger: "blur"
-              }]
-            },
-            {
               label: "业务类型",
               prop: "businessType",
               type: 'select',
@@ -287,15 +183,6 @@
                 trigger: "blur"
               }]
             },
-            // {
-            //   label: "业务 id(主单,直单)",
-            //   prop: "businessBillId",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入业务 id(主单,直单)",
-            //     trigger: "blur"
-            //   }]
-            // },
             {
               label: "业务单据编号(主单,直单)",
               prop: "businessBillNo",
@@ -319,47 +206,6 @@
                 trigger: "blur"
               }]
             },
-            // {
-            //   label: "业务 id(分单)",
-            //   prop: "businessBillDivideId",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入业务 id(分单)",
-            //     trigger: "blur"
-            //   }]
-            // },
-            {
-              label: "业务单据编号(分单)",
-              prop: "businessBillDivideNo",
-              width:"180",
-              rules: [{
-                required: true,
-                message: "请输入业务单据编号(分单)",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "业务单据日期(分单)",
-              prop: "businessDivideDate",
-              type: "date",
-              width:"140",
-              valueFormat:'yyyy-MM-dd',
-              format: 'yyyy-MM-dd',
-              rules: [{
-                required: true,
-                message: "请输入业务单据日期(分单)",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "合同号",
-              prop: "contractNo",
-              rules: [{
-                required: true,
-                message: "请输入合同号",
-                trigger: "blur"
-              }]
-            },
             {
               label: "付款方式",
               prop: "paymode",
@@ -383,36 +229,8 @@
                 trigger: "blur"
               }]
             },
-            // {
-            //   label: "核算要素 id",
-            //   prop: "accelementid",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入核算要素 id",
-            //     trigger: "blur"
-            //   }]
-            // },
-            {
-              label: "核算要素名称",
-              prop: "accelementname",
-              width:"120",
-              rules: [{
-                required: true,
-                message: "请输入核算要素名称",
-                trigger: "blur"
-              }]
-            },
-            // {
-            //   label: "客户 id",
-            //   prop: "corpId",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入客户 id",
-            //     trigger: "blur"
-            //   }]
-            // },
             {
-              label: "客户中文名称",
+              label: "结算单位",
               prop: "corpCnName",
               width:"180",
               rules: [{
@@ -422,53 +240,7 @@
               }]
             },
             {
-              label: "客户英文名称",
-              prop: "corpEnName",
-              width:"180",
-              rules: [{
-                required: true,
-                message: "请输入客户英文名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "客户是否签约",
-              prop: "corpIsSigned",
-              width:"100",
-              type: 'select',
-              dicData:[{
-                label:'否',
-                value:0
-              },{
-                label:'是',
-                value:1
-              }],
-              rules: [{
-                required: true,
-                message: "请输入客户是否已签约",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "客户约号",
-              prop: "corpArgreementNo",
-              rules: [{
-                required: true,
-                message: "请输入客户约号",
-                trigger: "blur"
-              }]
-            },
-            // {
-            //   label: "主表客户 id",
-            //   prop: "billCorpId",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入主表客户 id",
-            //     trigger: "blur"
-            //   }]
-            // },
-            {
-              label: "主表客户中文名称",
+              label: "客户中文名称",
               prop: "billCorpCnName",
               width:"180",
               rules: [{
@@ -478,73 +250,6 @@
               }]
             },
             {
-              label: "主表客户英文名称",
-              prop: "billCorpEnName",
-              width:"180",
-              rules: [{
-                required: true,
-                message: "请输入主表客户英文名称",
-                trigger: "blur"
-              }]
-            },
-            // {
-            //   label: "业务所在部门 Id",
-            //   prop: "deptId",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入业务所在部门 Id",
-            //     trigger: "blur"
-            //   }]
-            // },
-            {
-              label: "业务所在部门",
-              prop: "deptName",
-              width:"120",
-              rules: [{
-                required: true,
-                message: "请输入业务所在部门",
-                trigger: "blur"
-              }]
-            },
-            // {
-            //   label: "船名 id",
-            //   prop: "vesselId",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入船名 id",
-            //     trigger: "blur"
-            //   }]
-            // },
-            {
-              label: "中文船名",
-              prop: "vesselCnName",
-              width:"180",
-              rules: [{
-                required: true,
-                message: "请输入中文船名",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "英文船名",
-              prop: "vesselEnName",
-              width:"180",
-              rules: [{
-                required: true,
-                message: "请输入英文船名",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "航次",
-              prop: "voyageNo",
-              rules: [{
-                required: true,
-                message: "请输入航次",
-                trigger: "blur"
-              }]
-            },
-            {
               label: "MB/L NO",
               prop: "mblno",
               width:"180",
@@ -575,130 +280,6 @@
               }]
             },
             {
-              label: "开船日期",
-              prop: "etd",
-              type: "date",
-              width:"100",
-              valueFormat:'yyyy-MM-dd',
-              format: 'yyyy-MM-dd',
-              rules: [{
-                required: true,
-                message: "请输入开船日期",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "到港日期",
-              prop: "eta",
-              type: "date",
-              width:"100",
-              valueFormat:'yyyy-MM-dd',
-              format: 'yyyy-MM-dd',
-              rules: [{
-                required: true,
-                message: "请输入到港日期",
-                trigger: "blur"
-              }]
-            },
-            // {
-            //   label: "装货港 id",
-            //   prop: "polId",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入装货港 id",
-            //     trigger: "blur"
-            //   }]
-            // },
-            {
-              label: "装货港代码",
-              prop: "polCode",
-              width:"120",
-              rules: [{
-                required: true,
-                message: "请输入装货港代码",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "装货港英文名称",
-              prop: "polCnName",
-              width:"180",
-              rules: [{
-                required: true,
-                message: "请输入装货港英文名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "装货港英文名称",
-              prop: "polEnName",
-              width:"180",
-              rules: [{
-                required: true,
-                message: "请输入装货港英文名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "装货港英文名称打印",
-              prop: "polNamePrint",
-              width:"180",
-              rules: [{
-                required: true,
-                message: "请输入装货港英文名称打印 默认等于pol_en_name 可以编辑",
-                trigger: "blur"
-              }]
-            },
-            // {
-            //   label: "卸货港 id",
-            //   prop: "podId",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入卸货港 id",
-            //     trigger: "blur"
-            //   }]
-            // },
-            {
-              label: "卸货港代码",
-              prop: "podCode",
-              width:"120",
-              rules: [{
-                required: true,
-                message: "请输入卸货港代码",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "卸货港中文名称",
-              prop: "podCnName",
-              width:"180",
-              rules: [{
-                required: true,
-                message: "请输入卸货港中文名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "卸货港英文名称",
-              prop: "podEnName",
-              width:"180",
-              rules: [{
-                required: true,
-                message: "请输入卸货港英文名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "卸货港英文名称打印",
-              prop: "podNamePrint",
-              width:"180",
-              rules: [{
-                required: true,
-                message: "请输入卸货港英文名称打印 默认等于pol_en_name 可以编辑",
-                trigger: "blur"
-              }]
-            },
-            {
               label: "CNY应收",
               prop: "amountDr",
               rules: [{
@@ -756,15 +337,6 @@
                 trigger: "blur"
               }]
             },
-            // {
-            //   label: "结算 Id",
-            //   prop: "stlBillId",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入结算 Id",
-            //     trigger: "blur"
-            //   }]
-            // },
             {
               label: "结算单据编号",
               prop: "stlBillNo",
@@ -848,25 +420,6 @@
                 trigger: "blur"
               }]
             },
-            // {
-            //   label: "发票 Id",
-            //   prop: "invoiceBillId",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入发票 Id",
-            //     trigger: "blur"
-            //   }]
-            // },
-            {
-              label: "发票单据编号",
-              prop: "invoiceBillNo",
-              width:"180",
-              rules: [{
-                required: true,
-                message: "请输入发票单据编号",
-                trigger: "blur"
-              }]
-            },
             {
               label: "发票号",
               prop: "invoiceNo",
@@ -889,25 +442,6 @@
                 trigger: "blur"
               }]
             },
-            // {
-            //   label: "凭证 Id",
-            //   prop: "voucherBillId",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入凭证 Id",
-            //     trigger: "blur"
-            //   }]
-            // },
-            {
-              label: "凭证单据编号",
-              prop: "voucherBillNo",
-              width:"180",
-              rules: [{
-                required: true,
-                message: "请输入凭证单据编号",
-                trigger: "blur"
-              }]
-            },
             {
               label: "凭证号",
               prop: "voucherNo",
@@ -985,41 +519,6 @@
                 trigger: "blur"
               }]
             },
-            // {
-            //   label: "版本",
-            //   prop: "version",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入版本",
-            //     trigger: "blur"
-            //   }]
-            // },
-            {
-              label: "状态",
-              prop: "status",
-              type: 'select',
-              dicData:[{
-                label:'正常',
-                value:0
-              },{
-                label:'停用',
-                value:1
-              }],
-              rules: [{
-                required: true,
-                message: "请输入状态",
-                trigger: "blur"
-              }]
-            },
-            // {
-            //   label: "是否已删除(0 否 1是)",
-            //   prop: "isDeleted",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入是否已删除(0 否 1是)",
-            //     trigger: "blur"
-            //   }]
-            // },
             {
               label: "备注",
               prop: "remarks",
@@ -1100,6 +599,11 @@
             });
           });
       },
+        // 详情数据
+        billNoDetails(){
+
+        },
+        // 批量删除 这个表不能批量删除
       handleDelete() {
         if (this.selectionList.length === 0) {
           this.$message.warning("请选择至少一条数据");

+ 1 - 1
src/views/financialManagement/receiptSettle/receiptSettleDetailsPage.vue

@@ -776,7 +776,7 @@
                 } else if (Number(this.allAmount) > 0 && (Number(this.form.amount) > Number(this.allAmount))) {
                   this.form.caseOverPayment = 0;
                 } else if (Number(this.allAmount) > 0 && (Number(this.form.amount) < Number(this.allAmount))) {
-                  this.form.caseOverPayment = Number(this.allAmount) - Number(this.form.amount)
+                  this.form.caseOverPayment = (Number(this.allAmount) - Number(this.form.amount)).toFixed(2)
                   if (Number(this.form.caseOverPayment) > Number(this.form.overPayment)) {
                     return this.$message.error('溢付款余额不足,无法收费')
                   }

+ 1255 - 0
src/views/iosBasicData/SeafreightExportF/bills/approvalDetails.vue

@@ -0,0 +1,1255 @@
+<template>
+    <div class="borderless" v-loading="pageLoading">
+        <div class="customer-head">
+            <div class="customer-back">
+                <!--        <i class="back-icon el-icon-arrow-left"></i><i style="font-style:normal">返回管理列表</i>-->
+                <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
+                           @click="backToList">返回列表
+                </el-button>
+            </div>
+            <div class="add-customer-btn">
+                <el-button  size="small" type="" style="margin-right: 8px"
+                            :loading="saveLoading" >预 览
+                </el-button>
+                <el-button  size="small" type="warning" style="margin-right: 8px"
+                            :loading="saveLoading" >打 印
+                </el-button>
+                <el-button size="small" type="success" :disabled="!form.id" v-if="form.status == 0"
+                           @click.stop="DocumentApproval">单据请核
+                </el-button>
+                <el-button size="small" type="success" :disabled="!form.id" v-if="form.status == 1"
+                           @click.stop="revokeDocumentApproval">撤销单据请核
+                </el-button>
+                <el-button  size="small" type="primary" style="margin-right: 8px" v-if="detailData.seeDisabled"
+                            :loading="saveLoading" @click="editHandle">编 辑
+                </el-button>
+                <el-button  size="small" type="primary" style="margin-right: 8px" v-else
+                            :loading="saveLoading" @click="editCustomer">保 存
+                </el-button>
+            </div>
+        </div>
+
+        <div style="margin-top: 65px">
+            <el-tabs type="border-card" v-model="bigtabs" @tab-click="bigHandleClick">
+                <el-tab-pane label="委托信息" name="wt">
+                    <div>
+                        <div>
+                            <el-form :model="form" ref="form" label-width="90px" class="demo-ruleForm">
+                                <containerTitle title="基础资料"></containerTitle>
+                                <basic-container :showBtn="true">
+                                    <el-row :gutter="60">
+                                        <el-col v-for="(item, index) in basicData.column" :key="index" :span="8">
+                                            <!--数组-->
+                                            <div v-if="item instanceof Array" style="display: flex;align-items: center;justify-content: space-between">
+                                                <el-row>
+                                                    <el-col :span="item[0].span?item[0].span:12">
+                                                        <el-form-item :label="item[0].label" :prop="item[0].prop" :rules="item[0].rules"
+                                                                      :label-width="item[0].labelWidth">
+                                                    <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="detailData.seeDisabled || item[0].disabled"
+                                                                       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"
+                                                                          :selectValue="form[item[0].prop]"
+                                                                          :filterable="true"
+                                                                          :clearable="true"
+                                                                          :remote="true"
+                                                                          :disabled="detailData.seeDisabled || item[0].disabled"
+                                                                          :buttonIf="false"
+                                                                          :forParameter="item[0].forParameter"
+                                                                          @remoteMethod="remoteMethod($event,item[0].prop)"
+                                                                          @corpChange="corpChange($event,item[0].prop)"
+                                                                          @corpFocus="remoteMethod($event,item[0].prop)" >
+                                                            </search-query>
+                                                            <el-input v-else type="age" style="width: 100%;" v-model="form[item[0].prop]"
+                                                                      size="small" autocomplete="off"
+                                                                      :disabled="detailData.seeDisabled || item[0].disabled"
+                                                                      clearable :placeholder="'请输入' + item[0].label" ></el-input>
+                                                        </el-form-item>
+                                                    </el-col>
+                                                    <el-col :span="item[1].span?item[1].span:12">
+                                                        <el-form-item :label="item[1].label" :prop="item[1].prop" :rules="item[1].rules"
+                                                                      :label-width="item[1].labelWidth">
+                                                    <span slot="label" v-if="item[1].label">
+                                                        <span style="color: #1e9fff">{{item[1].label}}</span>
+                                                    </span>
+                                                            <el-date-picker v-if="item[1].type == 'date'"
+                                                                            v-model="form[item[1].prop]" clearable style="width: 100%;"
+                                                                            type="date" size="small" :disabled="detailData.seeDisabled || item[1].disabled"
+                                                                            value-format="yyyy-MM-dd HH:mm"
+                                                                            placeholder="选择日期">
+                                                            </el-date-picker>
+                                                            <search-query v-else-if="item[1].type == 'select'"
+                                                                          :datalist="item[1].dicData"
+                                                                          :selectValue="form[item[1].prop]"
+                                                                          :filterable="true"
+                                                                          :clearable="true"
+                                                                          :remote="true"
+                                                                          :disabled="detailData.seeDisabled || item[1].disabled"
+                                                                          :buttonIf="false"
+                                                                          :forParameter="item[1].forParameter"
+                                                                          @remoteMethod="remoteMethod($event,item[1].prop)"
+                                                                          @corpChange="corpChange($event,item[1].prop)"
+                                                                          @corpFocus="remoteMethod($event,item[1].prop)" >
+                                                            </search-query>
+
+                                                            <tree-select v-else-if="item[1].type == 'tree'"
+                                                                         v-model="form[item[1].prop]" filterable
+                                                                         :data="item[1].dicData"
+                                                                         :props="item[1].forParameter"
+                                                                         nodeKey="title"
+                                                                         size="small"
+                                                                         :disabled="detailData.seeDisabled || item[1].disabled"
+                                                                         :multiple="false"
+                                                                         @input="corpChange($event,item[1].prop)">
+                                                            </tree-select>
+
+                                                            <el-input v-else type="age" style="width: 100%;" v-model="form[item[1].prop]"
+                                                                      size="small" autocomplete="off"
+                                                                      :disabled="detailData.seeDisabled || item[1].disabled"
+                                                                      clearable :placeholder="'请输入' + item[1].label" ></el-input>
+                                                        </el-form-item>
+                                                    </el-col>
+                                                    <el-col v-if="item[2]" :span="item[2].span?item[2].span:12">
+                                                        <el-form-item :label="item[2].label" :prop="item[2].prop" :rules="item[2].rules"
+                                                                      :label-width="item[2].labelWidth">
+                                                    <span slot="label" v-if="item[2].label">
+                                                        <span style="color: #1e9fff">{{item[2].label}}</span>
+                                                    </span>
+                                                            <search-query v-if="item[2].type == 'select'"
+                                                                          :datalist="item[2].dicData"
+                                                                          :selectValue="form[item[2].prop]"
+                                                                          :filterable="true"
+                                                                          :clearable="true"
+                                                                          :remote="true"
+                                                                          :disabled="detailData.seeDisabled || item[2].disabled"
+                                                                          :buttonIf="false"
+                                                                          :forParameter="item[1].forParameter"
+                                                                          @remoteMethod="remoteMethod($event,item[2].prop)"
+                                                                          @corpChange="corpChange($event,item[2].prop)"
+                                                                          @corpFocus="remoteMethod($event,item[2].prop)" >
+                                                            </search-query>
+                                                            <el-input v-else type="age" style="width: 100%;" v-model="form[item[2].prop]"
+                                                                      size="small" autocomplete="off"
+                                                                      :disabled="detailData.seeDisabled || item[1].disabled"
+                                                                      clearable :placeholder="'请输入' + item[2].label" ></el-input>
+                                                        </el-form-item>
+                                                    </el-col>
+                                                </el-row>
+                                            </div>
+                                            <!--对象-->
+                                            <div v-else>
+                                                <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules">
+                                                    <span slot="label" v-if="item.label">
+                                                        <span style="color: #1e9fff">{{item.label}}</span>
+                                                    </span>
+                                                    <search-query v-if="item.type == 'select'"
+                                                                  :datalist="item.dicData"
+                                                                  :selectValue="form[item.prop]"
+                                                                  :filterable="true"
+                                                                  :clearable="true"
+                                                                  :remote="true"
+                                                                  :disabled="detailData.seeDisabled || item.disabled"
+                                                                  :buttonIf="item.buttonIf"
+                                                                  :forParameter="item.forParameter"
+                                                                  @remoteMethod="remoteMethod($event,item.prop)"
+                                                                  @corpChange="corpChange($event,item.prop)"
+                                                                  @corpFocus="remoteMethod($event,item.prop)">
+                                                        <bcorps v-if="item.slot == 'bcorps'"></bcorps>
+                                                        <bcorpstypedefine v-if="item.slot == 'bcorpstypedefine'"></bcorpstypedefine>
+                                                    </search-query>
+                                                    <el-input v-else type="age" style="width: 100%;" v-model="form[item.prop]"
+                                                              size="small" autocomplete="off"
+                                                              :disabled="detailData.seeDisabled || item.disabled"
+                                                              clearable :placeholder="'请输入' + item.label" ></el-input>
+                                                </el-form-item>
+                                            </div>
+
+                                        </el-col>
+
+                                    </el-row>
+                                </basic-container>
+                            </el-form>
+                        </div>
+                        <div class="customer-main margintop">
+                            <containerTitle title="详细"></containerTitle>
+                            <basic-container :showBtn="true">
+                                <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
+                                    <el-tab-pane label="委托详情" name="first">
+                                        <entrustment-lnformation :assemblyForm="form" :detailData="detailData" @billsDetailfun="billsDetailfun(form.id)"></entrustment-lnformation>
+                                    </el-tab-pane>
+                                    <el-tab-pane label="配箱处理" name="second">
+                                        <DistributionBox :assemblyForm="form" :detailData="detailData" @billsDetailfun="billsDetailfun(form.id)"></DistributionBox>
+                                    </el-tab-pane>
+                                    <el-tab-pane label="MB/L信息" name="third">
+                                        <mbinformation :assemblyForm="form" :detailData="detailData"></mbinformation>
+                                    </el-tab-pane>
+                                    <el-tab-pane label="单证中心" name="fourth">
+                                        <reports :id="form.id" :disabled="detailData.seeDisabled"></reports>
+                                    </el-tab-pane>
+                                    <el-tab-pane label="EDI CODE" name="sixth">
+                                        <edicode :assemblyForm="form" :detailData="detailData"></edicode>
+                                    </el-tab-pane>
+                                    <el-tab-pane label="文件中心" name="seventh">
+                                        <filescenter :assemblyForm="form" :detailData="detailData"></filescenter>
+                                    </el-tab-pane>
+                                </el-tabs>
+                            </basic-container>
+                            <basic-container :showBtn="true" v-if="activeName == 'first' || activeName == 'third'">
+                                <formbottom :assemblyForm="form" :detailData="detailData"></formbottom>
+                            </basic-container>
+
+                        </div>
+                    </div>
+                </el-tab-pane>
+                <el-tab-pane label="费用信息" name="fy">
+                    <feecenter :assemblyForm="form" :detailData="detailData" :pid="form.id" @billsDetailfun="billsDetailfun(form.id)"></feecenter>
+                </el-tab-pane>
+                <el-tab-pane label="分单列表" name="fd">
+                    <Split-list :detailData="detailData" :assemblyForm="form"
+                                :data="billsListAllData"
+                                @billsListAllfun="billsListAllfun(this.form.id)"></Split-list>
+                </el-tab-pane>
+            </el-tabs>
+        </div>
+
+
+    </div>
+</template>
+
+<script>
+import EntrustmentLnformation from "@/views/iosBasicData/SeafreightExportF/bills/assembly/EntrustmentLnformation.vue";
+import mbinformation from "@/views/iosBasicData/SeafreightExportF/bills/assembly/mbinformation.vue";
+import reports from "@/views/iosBasicData/SeafreightExportF/bills/assembly/reports.vue";
+import formbottom from "@/views/iosBasicData/SeafreightExportF/bills/assembly/formbottom.vue";
+import edicode from '@/views/iosBasicData/SeafreightExportF/bills/assembly/edicode.vue'
+import filescenter from "@/views/iosBasicData/SeafreightExportF/bills/assembly/filescenter.vue";
+import DistributionBox from "@/views/iosBasicData/SeafreightExportF/bills/assembly/DistributionBox.vue";
+import feecenter from '@/views/iosBasicData/SeafreightExportF/bills/assembly/feecenter.vue'
+import {getList as userGetList} from '@/api/system/user'
+import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
+import TreeSelect from "@/components/iosbasic-data/TreeSelect.vue";
+import bcorps from "@/views/iosBasicData/bcorps/index.vue";
+import bcorpstypedefine from "@/views/iosBasicData/bcorps/bcorpstypedefine.vue";
+import SplitList from "@/views/iosBasicData/SeafreightExportF/bills/assembly/SplitList.vue";
+import {getLazylist} from "@/api/basicData/agreement";
+import {getBcorpsList, getBcorpslistByType} from "@/api/iosBasicData/bcorps";
+import {getBlocationsList} from "@/api/iosBasicData/blocations";
+import {getBcorpsattnList} from "@/api/iosBasicData/bcorpsattn";
+import {getWorkDicts} from "@/api/system/dictbiz";
+import {getDeptLazyTree, getDeptTree, getLazyList} from "@/api/system/dept";
+import {
+    billsCheckBills,
+    billsDetail,
+    billsGetBillNo,
+    billsListAll, billsRevokeCheckBills,
+    billsSubmit,
+    deptGetDetailPol
+} from '@/api/iosBasicData/bills'
+import {dateFormat} from "@/util/date";
+export default {
+    components:{
+        SearchQuery,
+        EntrustmentLnformation,
+        formbottom,
+        mbinformation,
+        reports,
+        edicode,
+        filescenter,
+        DistributionBox,
+        feecenter,
+        bcorps,
+        bcorpstypedefine,
+        SplitList,
+        TreeSelect
+    },
+    props:{
+        // detailData: {
+        //     type: Object,
+        // }
+    },
+    data() {
+        return {
+            // 分单列表数据
+            billsListAllData:[],
+            pageLoading:false,
+            saveLoading:false,
+            // 详情数据
+            form:{
+                billDate:dateFormat(new Date(), "yyyy-MM-dd") + ' 00:00', // 单据日期 默认 当天
+                operatorName:JSON.parse(localStorage.getItem('saber-userInfo')).content.user_name, // OP 默认登录人
+                operatorId:JSON.parse(localStorage.getItem('saber-userInfo')).content.user_id, // 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=进口"
+                cargoType:'dry', // 货物类型默认普货
+                filesList:[], // 文件中心
+            },
+            // 循环的配置
+            basicData:{
+                column:[
+                    {
+                        label: "客户名称", // 调往来单位接口
+                        prop: "corpCnName",
+                        type:'select',
+                        dicData:[],
+                        disabled:false,
+                        buttonIf:true,
+                        slot:'bcorps',
+                        forParameter:{
+                            key:'id',
+                            label:'cnName',
+                            value:'cnName',
+                        },
+                        rules: [{
+                            required: true,
+                            message: "请输入客户名称",
+                            trigger: "blur"
+                        }]
+                    },
+                    [
+                        {
+                            label: "客户OP", // 客户联系人姓名 电话和邮箱带出来,可以修改 往来单位接口 需要传一个客户名称的值过去
+                            prop: "corpAttnName",
+                            type:'select',
+                            dicData:[],
+                            span:10,
+                            disabled:true,
+                            forParameter:{
+                                key:'id',
+                                label:'cname',
+                                value:'cname',
+                            },
+                        },
+                        {
+                            label: "", //客户联系人电话
+                            prop: "corpAttnTel",
+                            labelWidth:'10px',
+                            disabled:true,
+                            span:7,
+                            rules: [{
+                                required: true,
+                                message: "",
+                                trigger: "blur"
+                            }]
+                        },
+                        {
+                            label: "", // 客户联系人邮箱
+                            prop: "corpAttnEmail",
+                            labelWidth:'10px',
+                            disabled:true,
+                            span:7,
+                            rules: [{
+                                required: true,
+                                message: "请输入客户联系人邮箱",
+                                trigger: "blur"
+                            }]
+                        },
+                    ],
+                    [
+                        {
+                            label: "业务来源", // OWN=公司  AGENT=代理 SALES=业务员
+                            prop: "srcType",
+                            type:'select',
+                            disabled:true,
+                            dicData:[
+                                {
+                                    label:'公司',
+                                    value:'OWN'
+                                },
+                                {
+                                    label:'代理',
+                                    value:'AGENT'
+                                },
+                                {
+                                    label:'业务员',
+                                    value:'SALES'
+                                }
+                            ],
+                        },
+                        {
+                            label: "",
+                            prop: "srcCnName", // 来源中文 公司不是下拉写死公司两字 业务员调用户管理列表 代理调往来单位四个代理数据
+                            labelWidth:'10px',
+                            type:'select',
+                            disabled:true,
+                            dicData:[],
+                            forParameter:{
+                                key:'id',
+                                label:'cnName',
+                                value:'cnName',
+                            },
+                        },
+                    ],
+                    [
+                        {
+                            label: "MB/L NO",
+                            prop: "mblno",
+                            span:19,
+                            disabled:false,
+
+                        },
+                        {
+                            label: "",  // MB/L 付款方式 PP=预付, CC=到付, FPA, Other
+                            prop: "mpaymode",
+                            type:'select',
+                            labelWidth:'10px',
+                            disabled:false,
+                            span:5,
+                            dicData:[
+                                {
+                                    label:'预付',
+                                    value:'PP'
+                                },
+                                {
+                                    label:'到付',
+                                    value:'CC'
+                                }
+                            ],
+                        },
+                    ],
+                    [
+                        {
+                            label: "申请B/L NO",  //弹窗点击确认还是取消申请 调后台接口获取到一个编号
+                            prop: "申请B/L NO",
+                            type:'button',
+                            span:7,
+                            disabled:false,
+                        },
+                        {
+                            label: "",
+                            prop: "hblno",
+                            labelWidth:'10px',
+                            span:12,
+                            disabled:true,
+                        },
+                        {
+                            label: "", // HB/L 付款方式 PP=预付, CC=到付, FPA, Other', 申请之后默认 PP
+                            prop: "hpaymode",
+                            labelWidth:'10px',
+                            disabled:false,
+                            type:'select',
+                            span:5,
+                            dicData:[
+                                {
+                                    label:'预付',
+                                    value:'PP'
+                                },
+                                {
+                                    label:'到付',
+                                    value:'CC'
+                                }
+                            ],
+                        },
+                    ],
+                    {
+                        label: "booking NO", // 订舱号
+                        prop: "bookingNo",
+                        disabled:false,
+                    },
+                    {
+                        label: "外提单号", // Co-Loader 中文名称  往来单位 类别
+                        prop: "refno",
+                        disabled:false,
+                    },
+                    [
+                        {
+                            label: "业务编号",
+                            prop: "billNo",
+                            disabled:true,
+                        },
+                        {
+                            label: "单据日期",
+                            prop: "billDate",
+                            type:'date',
+                            disabled:false,
+                            rules: [{
+                                required: true,
+                                message: "请输入单据日期",
+                                trigger: "blur"
+                            }]
+                        },
+                    ],
+                    [
+                        {
+                            label: "OP",  // 操作id 用户管理下拉 模糊搜索
+                            prop: "operatorName",
+                            type:'select',
+                            dicData:[],
+                            disabled:false,
+                            forParameter:{
+                                key:'id',
+                                label:'name',
+                                value:'name',
+                            },
+                            rules: [{
+                                required: true,
+                                message: "请选择OP",
+                                trigger: "blur"
+                            }]
+                        },
+                        {
+                            label: "核算部门", // 核算部门Id accDept 核算部门 accDeptName 调机构管理接口
+                            prop: "accDeptName",
+                            type:'tree',
+                            dicData:[],
+                            disabled:false,
+                            forParameter:{
+                                label: "title",
+                                children:'children'
+                            },
+                            rules: [{
+                                required: true,
+                                message: "请选择核算部门",
+                                trigger: "blur"
+                            }]
+                        },
+                        // {
+                        //     label: "业务类型", // SE=海运出口 SI=海运进口"
+                        //     prop: "businessType",
+                        //     type:'select',
+                        //     disabled:false,
+                        //     dicData:[
+                        //         {
+                        //             label:'海运出口',
+                        //             value:'SE'
+                        //         },
+                        //         {
+                        //             label:'海运进口',
+                        //             value:'SI'
+                        //         },
+                        //     ],
+                        //     rules: [{
+                        //         required: true,
+                        //         message: "请输入业务类型",
+                        //         trigger: "blur"
+                        //     }]
+                        // },
+                    ],
+                    // [
+                    //     {
+                    //         label: "单据类型", // DD=直单(默认) MM=主单 MH=分单 HH=从分单
+                    //         prop: "billType",
+                    //         type:'select',
+                    //         disabled:false,
+                    //         dicData:[
+                    //             {
+                    //                 label:'直单',
+                    //                 value:'DD'
+                    //             },
+                    //             {
+                    //                 label:'主单',
+                    //                 value:'MM'
+                    //             },
+                    //             {
+                    //                 label:'分单',
+                    //                 value:'MH'
+                    //             }
+                    //         ],
+                    //         rules: [{
+                    //             required: true,
+                    //             message: "请输入单据类型",
+                    //             trigger: "blur"
+                    //         }]
+                    //     },
+                    //     {
+                    //         label: "核算部门", // 核算部门Id accDept 核算部门 accDeptName 调机构管理接口
+                    //         prop: "accDeptName",
+                    //         type:'tree',
+                    //         dicData:[],
+                    //         disabled:false,
+                    //         forParameter:{
+                    //             label: "title",
+                    //             children:'children'
+                    //         },
+                    //         rules: [{
+                    //             required: true,
+                    //             message: "请选择核算部门",
+                    //             trigger: "blur"
+                    //         }]
+                    //     },
+                    // ],
+                    // [
+                    //     {
+                    //         label: "签单方式",
+                    //         prop: "issueType",
+                    //         type:'select',
+                    //         dicData:[],
+                    //         disabled:false,
+                    //         forParameter:{
+                    //             key:'dictKey',
+                    //             label:'dictValue',
+                    //             value:'dictValue',
+                    //         },
+                    //         rules: [{
+                    //             required: true,
+                    //             message: "请输入签单方式",
+                    //             trigger: "blur"
+                    //         }]
+                    //     },
+                    //     {
+                    //         label: "装箱方式", // FCL=整箱, LCL=拼箱",
+                    //         prop: "loadType",
+                    //         type:'select',
+                    //         disabled:false,
+                    //         dicData:[
+                    //             {
+                    //                 label:'整箱',
+                    //                 value:'FCL'
+                    //             },
+                    //             {
+                    //                 label:'拼箱',
+                    //                 value:'LCL'
+                    //             }
+                    //         ],
+                    //         rules: [{
+                    //             required: true,
+                    //             message: "请输入装箱方式",
+                    //             trigger: "blur"
+                    //         }]
+                    //     },
+                    // ],
+                    // {
+                    //     label: "付费地点", // MB/L 付款地点 地点管理表
+                    //     prop: "mPayplace",
+                    //     type:'select',
+                    //     dicData:[],
+                    //     disabled:false,
+                    //     buttonIf:false,
+                    //     forParameter:{
+                    //         key:'id',
+                    //         label:'cnName',
+                    //         value:'cnName',
+                    //     },
+                    // },
+                    // {
+                    //     label: "COLOADER", // Co-Loader 中文名称  往来单位 类别
+                    //     prop: "coloaderCnName",
+                    //     type:'select',
+                    //     dicData:[],
+                    //     slot:'bcorpstypedefine',
+                    //     buttonIf:true,
+                    //     disabled:false,
+                    //     forParameter:{
+                    //         key:'id',
+                    //         label:'cnName',
+                    //         value:'cnName',
+                    //     },
+                    // },
+                ]
+            },
+            activeName:'first',
+            bigtabs:'wt',
+            saberUserInfo:{}, // 当前登录人信息
+
+
+            detailData:{
+                seeDisabled:false,
+            },
+        }
+    },
+    watch:{
+        // 监听业务类型 如果不是分单 可以编辑分单号
+        'form.billType':{
+            // 执行方法
+            handler(oldValue,newValue) {
+                // 只要分单不能编辑
+                if (oldValue == 'MH') {
+                    this.columnforfun('hblno').disabled = true
+                }else {
+                    this.columnforfun('hblno').disabled = false
+                }
+            },
+            deep: true, // 深度监听
+            immediate: true  // 第一次改变就执行
+        },
+        // 监听箱信息数据 箱信息中有温度 自动切换 冻货
+        'form.preContainersList':{
+            // 执行方法
+            handler(oldValue,newValue) {
+                // 判断是否是数组
+                if (oldValue instanceof Array) {
+                    // 循环 有温度反 true 没有反 false
+                    const arr = oldValue.map(item=>{
+                        if (Number(item.temperature)) {
+                            return true
+                        }else {
+                            return false
+                        }
+                    })
+                    // 判断是否有温度
+                    if (arr[0]) {
+                        // 判断之前是否是冻货
+                        if (this.form.cargoType == 'reefer') return
+                        this.$message({
+                            message: '箱信息里有温度已将货描切换为冻柜',
+                            type: 'warning'
+                        });
+                        this.$set(this.form,'cargoType','reefer')
+                    }
+                }
+            },
+            deep: true, // 深度监听
+            immediate: true  // 第一次改变就执行
+        }
+    },
+    created() {
+        this.$store.commit('HYCKLOS_IN_DETAIL')
+        this.saberUserInfo = JSON.parse(localStorage.getItem('saber-userInfo')).content
+        // 判断是否员id, 有id 就不显示
+        if (!this.form.id) {
+            this.deptGetDetailPolfun() // 收货地 装货港 当前登录人的默认
+            this.userGetListfun(undefined,true) // 获取用户管理数据
+        }
+        // this.ownDeptLazyTreefun() // 获取公司数据
+        this.getLazylistfun() // 获取审核数据
+    },
+    methods:{
+        // 收货地 装货港 当前登录人的默认
+        deptGetDetailPolfun(){
+            deptGetDetailPol(this.saberUserInfo.dept_id).then(res=>{
+                // 收货地
+                this.form.placeReceiptName = res.data.data.polEnName
+                this.form.placeReceiptId = res.data.data.polId
+                this.form.placeReceiptNamePrint = res.data.data.polEnName
+                // 装货港
+                this.form.polCnName = res.data.data.polCnName
+                this.form.polEnName = res.data.data.polEnName
+                this.form.polId = res.data.data.polId
+                this.form.polNamePrint = res.data.data.polEnName
+                // 签单地点 默认 装货港
+                this.$set(this.form,'issueAt',this.form.polCnName)
+                // 主单单付费地点 默认  如果主单付费方式 为PP 取装货港 如果主单付费地点为CC 取卸货港
+                if (this.form.mpaymode == 'PP') {
+                    this.$set(this.form,'mPayplace',this.form.polCnName)
+                }
+                // 分单单付费地点 默认  如果分单付费方式 为PP 取装货港 如果分单付费地点为CC 取卸货港
+                if (this.form.hpaymode == 'PP') {
+                    this.$set(this.form,'hpayplace',this.form.polCnName)
+                }
+            })
+        },
+        // 获取用户管理数据
+        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)
+                        }
+                    }
+                }
+
+            })
+        },
+        // 获取核算部分数据 // 机构管理接口
+        getLazylistfun(){
+            getDeptTree().then(res=>{
+                this.columnforfun('accDeptName').dicData = res.data.data
+            })
+        },
+        // 获取客户名称数据 往来单位数据
+        getBcorpsListfun(cnName){
+            getBcorpsList(1,10,{cnName}).then(res=>{
+                this.columnforfun('corpCnName').dicData = res.data.data.records
+            })
+        },
+        // 获取客户联系人 客户OP
+        getBcorpsattnListfun(cnName){
+            getBcorpsattnList(1,10,{pid:this.form.corpId,cnName}).then(res=>{
+                this.columnforfun('corpAttnName').dicData = res.data.data.records
+            })
+        },
+        // 获取地点信息
+        getBlocationsListfun(cnName){
+            getBlocationsList(1,10,{cnName}).then(res=>{
+                this.columnforfun('mPayplace').dicData = res.data.data.records
+            })
+        },
+        // 获取业务来源代理数据
+        agentBcorpsListfun(cnName){
+            let corpType = '1712285382575398914,1712285645314990082,1712285842321448962,1712286433378574338'
+            getBcorpslistByType(1,10,{cnName,corpType}).then(res=>{
+                this.columnforfun('srcCnName').dicData = res.data.data.records
+            })
+        },
+        // 获取业务来源业务员数据
+        salesUserGetListfun(account){
+            userGetList(1,10,{account}).then(res=>{
+                this.columnforfun('srcCnName').dicData = res.data.data.records
+            })
+        },
+        // 获取公司名称 用户管理左侧
+        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
+        billsGetBillNofun(){
+            let billNoFormat = ''
+            if (this.form.cargoType == 'dry') {
+                billNoFormat = 'HYCK-PH'
+            }else if (this.form.cargoType == 'danger') {
+                billNoFormat = 'HYCK-WXP'
+            }else if (this.form.cargoType == 'reefer') {
+                billNoFormat = 'HYCK-DG'
+            }else {}
+            billsGetBillNo({
+                businessTypeCode:'HYCK',
+                billNoFormat:billNoFormat
+            }).then(res=>{
+                this.columnforfun('hpaymode').disabled = false
+                this.$set(this.form,'hblno',res.data.data)
+                this.billsSubmitfun()
+            })
+        },
+        /* 远程模糊查询操作用户 */
+        remoteMethod(value,name) {
+            if (name == 'operatorName') {
+                this.userGetListfun(value)
+            }else if (name == 'accDeptName') {
+                this.getLazylistfun(value)
+            }else if (name == 'corpCnName') {
+                this.getBcorpsListfun(value)
+            }else if (name == 'mPayplace') {
+                this.getBlocationsListfun(value)
+            }else if (name == 'corpAttnName') {
+                this.getBcorpsattnListfun(value)
+            }else if (name == 'srcCnName') {
+                if (this.form.srcType == 'SALES') {
+                    // 业务员
+                    this.salesUserGetListfun(value)
+                }else if (this.form.srcType == 'AGENT') {
+                    // 代理
+                    this.agentBcorpsListfun(value)
+                }else if (this.form.srcType == 'OWN') {
+                    // 公司
+                    this.ownDeptLazyTreefun()
+                }else {}
+            }else {
+
+            }
+
+        },
+        // 下拉的监听事件
+        corpChange(value,name){
+            if (name == 'operatorName') {
+                // OP 下拉赋值 用户管理列表
+                for(let item of this.columnforfun('operatorName').dicData) {
+                    if (item.name == value) {
+                        this.form.operatorName = item.name
+                        this.form.operatorId = item.id
+                    }
+                }
+            }
+            else if (name == 'accDeptName') {
+                // OP 下拉赋值 用户管理列表
+                for(let item of this.columnforfun('accDeptName').dicData) {
+                    if (item.title == value) {
+                        this.form.accDeptName = item.title
+                        this.form.accDeptId = item.id
+                    }
+                }
+            }
+            else if (name == 'corpCnName') {
+                if (value) {
+                    this.columnforfun('corpAttnName').disabled = false
+                    this.columnforfun('corpAttnTel').disabled = false
+                    this.columnforfun('corpAttnEmail').disabled = false
+                }else {
+                    this.columnforfun('corpAttnName').disabled = true
+                    this.columnforfun('corpAttnTel').disabled = true
+                    this.columnforfun('corpAttnEmail').disabled = true
+                    // 如果点击清空按钮把值赋值为空
+                    this.form.corpCnName = ''
+                    this.form.corpEnName = ''
+                    this.form.corpId = ''
+                    this.form.corpCode = ''
+                }
+                // 往来单位
+                for(let item of this.columnforfun('corpCnName').dicData) {
+                    if (item.cnName == value) {
+                        this.form.corpCnName = item.cnName
+                        this.form.corpEnName = item.enName
+                        this.form.corpId = item.id
+                        this.form.corpCode = item.code
+                        // 获取 客户op数据
+                        this.getBcorpsattnListfun()
+                        // 业务来源参数带出
+                        this.$set(this.form,'srcType',item.sourceType)
+                        this.$set(this.form,'srcId',item.srcId)
+                        this.$set(this.form,'srcCnName',item.srcCnName)
+                        this.$set(this.form,'srcEnName',item.srcEnName)
+                        this.columnforfun('srcType').disabled = false
+                        this.columnforfun('srcCnName').disabled = false
+                    }
+                }
+            }
+            else if (name == 'corpAttnName') {
+                for(let item of this.columnforfun('corpAttnName').dicData) {
+                    if (item.cname == value) {
+                        this.form.corpAttnName = item.cname
+                        this.form.corpAttnId = item.id
+                        this.$set(this.form,'corpAttnTel',item.tel)
+                        this.$set(this.form,'corpAttnEmail',item.email)
+                    }
+                }
+            }
+            else if (name == 'srcType') {
+                if (!value) {
+                    this.$set(this.form,'srcType','')
+                    // this.columnforfun('srcCnName').disabled = true
+                    return
+                }
+                this.$set(this.form,'srcId','')
+                this.$set(this.form,'srcCnName','')
+                this.$set(this.form,'srcEnName','')
+                this.form[name] = value
+                if (value == 'OWN') {
+                    // 公司
+                    // this.columnforfun('srcCnName').type = ''
+                    this.columnforfun('srcCnName').forParameter = { key:'id', label:'title', value:'title'}
+                    this.ownDeptLazyTreefun()
+                    // 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)
+                    //     }
+                    // }
+                    // this.columnforfun('srcCnName').disabled = true
+                }else if (value == 'AGENT') {
+                    // 代理
+                    this.columnforfun('srcCnName').type = 'select'
+                    this.columnforfun('srcCnName').forParameter = { key:'id', label:'cnName', value:'cnName'}
+                    this.columnforfun('srcCnName').disabled = false
+                    this.agentBcorpsListfun()
+                }else if (value == 'SALES') {
+                    // 业务员
+                    this.columnforfun('srcCnName').type = 'select'
+                    this.columnforfun('srcCnName').forParameter = { key:'id', label:'name', value:'name'}
+                    this.columnforfun('srcCnName').disabled = false
+                    this.salesUserGetListfun()
+                }else {}
+            }
+            else if (name == 'srcCnName'){
+                for(let item of this.columnforfun('srcCnName').dicData) {
+                    if (item[this.columnforfun('srcCnName').forParameter.value] == value) {
+                        if (this.form.srcType == 'SALES') {
+                            // 业务员
+                            this.$set(this.form,'srcId',item.id)
+                            this.$set(this.form,'srcCnName',item.name)
+                            this.$set(this.form,'srcEnName',item.name)
+                        }else if (this.form.srcType == 'AGENT') {
+                            // 代理
+                            this.$set(this.form,'srcId',item.id)
+                            this.$set(this.form,'srcCnName',item.cnName)
+                            this.$set(this.form,'srcEnName',item.enName)
+                        }else {}
+                    }
+                }
+            }
+            else if (name == 'coloaderCnName') {
+                for(let item of this.columnforfun('coloaderCnName').dicData) {
+                    if (item.cnName == value) {
+                        this.$set(this.form,'coloaderId',item.id)
+                        this.$set(this.form,'coloaderCnName',item.cnName)
+                        this.$set(this.form,'coloaderEnName',item.enName)
+                    }
+                }
+            }
+            else {
+                this.form[name] = value
+            }
+        },
+        // 申请B/L NO
+        applyforfun(text){
+            if (!this.form.id) {
+                this.$message({
+                    message: '请先保存数据',
+                    type: 'warning'
+                });
+                return
+            }
+            // 如果不是分单
+            if (this.form.billType != 'MH') {
+                this.$message({
+                    message: '只要分单需要申请',
+                    type: 'warning'
+                });
+                return
+            }
+            if (this.form.hblno) {
+                this.$message({
+                    message: 'B/L NO 只能申请一次',
+                    type: 'warning'
+                });
+                return
+            }
+            if (!this.form.businessType) {
+                this.$message({
+                    message: '请先选择业务类型',
+                    type: 'warning'
+                });
+                return
+            }
+            if (!this.form.corpCnName) {
+                this.$message({
+                    message: '请先选择客户名称',
+                    type: 'warning'
+                });
+                return
+            }
+            this.$confirm(`确定${text}?`, {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning"
+            }).then(res=>{
+                this.billsGetBillNofun()
+            })
+        },
+        // 配置项
+        columnforfun(value){
+            for(let item of this.basicData.column) {
+                if (item instanceof Array) {
+                    for(let ite of item) {
+                        if (value == ite.prop) {
+                            return ite
+                        }
+                    }
+                }else {
+                    if (value == item.prop) {
+                        return item
+                    }
+                }
+            }
+        },
+        //返回列表
+        backToList() {
+            this.$emit('goBack')
+        },
+        // 单据请核
+        DocumentApproval(){
+            this.$confirm("确定要请核数据?", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning"
+            }).then(()=>{
+                billsCheckBills({
+                    id:this.form.id,
+                    url: '/iosBasicData/SeafreightExportF/bills/approvalDetails',
+                    pageStatus: "this.$store.getters.approvalDetails",
+                    pageLabel: "审批详情(F)",
+                }).then(res=>{
+                    this.$message({
+                        type: "success",
+                        message: "操作成功!"
+                    });
+                    // 详情
+                    this.billsDetailfun(this.form.id)
+                })
+            })
+        },
+        // 撤销单据请核
+        revokeDocumentApproval(){
+            this.$confirm("确定要撤销请核数据?", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning"
+            }).then(()=>{
+                billsRevokeCheckBills({
+                    id:this.form.id
+                }).then(res=>{
+                    this.$message({
+                        type: "success",
+                        message: "操作成功!"
+                    });
+                    // 详情
+                    this.billsDetailfun(this.form.id)
+                })
+            })
+        },
+        // 编辑按钮
+        editHandle(){
+            this.detailData.seeDisabled = false
+        },
+        // 大保存按钮
+        editCustomer(){
+            this.$refs.form.validate((valid)=>{
+                if (valid) {
+                    this.billsSubmitfun()
+                }
+            })
+        },
+        // 主表保存接口大保存
+        billsSubmitfun(){
+            this.form.billNoFormat = 'HYCK'
+            this.form.businessTypeCode = 'HYCK'
+            // 把拼接的数据拆开 开始 🐒🐒🐒🐒🐒🐒🐒🐒🐒🐒🐒🐒🐒🐒
+            this.searchSplit()
+            // 把拼接的数据拆开 结束 💩💩💩💩💩💩💩💩💩💩💩💩💩💩
+            billsSubmit(this.form).then(res=>{
+                this.$message({
+                    type: "success",
+                    message: "操作成功!"
+                });
+                this.detailData.seeDisabled = true
+                this.billsDetailfun(res.data.data.id)
+            })
+        },
+        // 详情接口
+        async billsDetailfun(id){
+            const res = await billsDetail(id)
+            this.form = res.data.data;
+            this.pageLoading = false
+            this.searchMontage() // 下拉 中文名称和编号拼接
+
+            // 配箱最上面可以编辑
+            for(let item of this.form.containersList) {
+                item.edit = false
+            }
+            // 配箱最下面的
+            for(let item of this.form.waitingBoxList) {
+                this.$set(item,'editQuantity',item.quantity)
+                this.$set(item,'editGrossWeight',item.grossWeight)
+                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)
+                    this.$set(item,'usdAmount','')
+                }else {
+                    this.$set(item,'usdAmount',item.amount)
+                    this.$set(item,'rmbAmount','')
+                }
+                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
+            }
+            // 文件中心
+            for(let item of this.form.filesList) {
+                this.$set(item,'edit',false)
+            }
+
+        },
+        // 下拉 把拼接的拆分
+        searchSplit(){
+            // 发货人
+            if (this.form.hshipperCnName) {
+                this.form.hshipperCnName = this.form.hshipperCnName.split(' - ')[0]
+            }
+            // 收货人
+            if (this.form.hconsigneeCnName) {
+                this.form.hconsigneeCnName = this.form.hconsigneeCnName.split(' - ')[0]
+            }
+            // 通知人
+            if (this.form.hnotifyCnName) {
+                this.form.hnotifyCnName = this.form.hnotifyCnName.split(' - ')[0]
+            }
+            // 船公司
+            if (this.form.carrierCnName) {
+                this.form.carrierCnName = this.form.carrierCnName.split(' - ')[0]
+            }
+        },
+        // 下拉 中文名称和编号拼接
+        searchMontage(){
+            // 发货人
+            if (this.form.hshipperCnName) {
+                this.form.hshipperCnName = this.form.hshipperCnName + ' - ' + this.form.hShipperCode
+            }
+            // 收货人
+            if (this.form.hconsigneeCnName) {
+                this.form.hconsigneeCnName = this.form.hconsigneeCnName + ' - ' + this.form.hConsigneeCode
+            }
+            // 通知人
+            if (this.form.hnotifyCnName) {
+                this.form.hnotifyCnName = this.form.hnotifyCnName + ' - ' + this.form.hNotifyCode
+            }
+            // 船公司
+            if (this.form.carrierCnName) {
+                this.form.carrierCnName = this.form.carrierCnName + ' - ' + this.form.carrierCode
+            }
+        },
+        // tbas切换
+        handleClick(tba,event) {
+
+        },
+        // 大tbas切换
+        bigHandleClick(){
+            if (this.bigtabs == 'fd') {
+                if (this.form.id) {
+                    this.billsListAllfun(this.form.id)
+                }
+            }
+        },
+        // 获取不分页的分单列表
+        billsListAllfun(masterId){
+            billsListAll({masterId}).then(res=>{
+                this.billsListAllData = res.data.data
+
+            })
+        },
+
+    },
+}
+
+</script>
+
+<style scoped>
+.borderless {
+    height: 100%;
+    box-sizing: border-box
+}
+.customer-main {
+    margin-bottom: 15px;
+}
+.demo-ruleForm {
+    font-size: 14px;
+}
+.margintop {
+    margin-top: 10px;
+}
+::v-deep.el-form-item {
+    margin-bottom: 0;
+}
+.isShow {
+    display: none;
+}
+</style>

+ 62 - 22
src/views/iosBasicData/SeafreightExportF/bills/assembly/EntrustmentLnformation/precontainers.vue

@@ -73,6 +73,7 @@
   import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
   import {bcntrtypesList} from "@/api/iosBasicData/bcntrtypes";
   import {containersEqualDistribution} from "@/api/iosBasicData/containers";
+  import {requiredMessage} from "@/util/messageReminder";
 
   export default {
       components: {SearchQuery},
@@ -168,41 +169,26 @@
             {
               label: "温度",
               prop: "temperature",
-              rules: [{
-                required: true,
-                message: "请输入温度",
-                trigger: "blur"
-              }]
             },
             {
               label: "温度单位",
               prop: "temperatureUnit",
               type: 'select',
-              dicData: [{
-                 label: '摄氏度',
-                 value: 'C'
-              }, {
-                 label: '华氏度',
-                 value: 'F'
-              }]
+                dicData: [{
+                    label: '摄氏度',
+                    value: 'C'
+                }, {
+                    label: '华氏度',
+                    value: 'F'
+                }]
             },
             {
               label: "通风度",
               prop: "ventilation",
-              rules: [{
-                required: true,
-                message: "请输入通风度",
-                trigger: "blur"
-              }]
             },
             {
               label: "湿度",
               prop: "humidity",
-              rules: [{
-                required: true,
-                message: "请输入湿度",
-                trigger: "blur"
-              }]
             },
             {
               label: "是否货主自有箱",
@@ -374,8 +360,35 @@
                this.cntrTypeCodeData= res.data.data.records
            })
         },
+          // 添加按钮确认
       rowSave(row, done, loading) {
           row.pid = this.pid
+          // 如果是冻柜,则需要输入相应的通度和温度、温度,如果不是冻柜,不需要输入相应的温度等内容;
+          if (this.assemblyForm.cargoType == 'reefer') {
+              // 要判断的必填
+              const arr = [
+                  {
+                      name: "温度",
+                      value: "temperature",
+                  },
+                  {
+                      name: "温度单位",
+                      value: "temperatureUnit",
+                  },
+                  {
+                      name: "通风度",
+                      value: "ventilation",
+                  },
+                  {
+                      name: "湿度",
+                      value: "humidity",
+                  },
+              ]
+              if (!requiredMessage(row,arr)) {
+                  loading(); // 按钮的禁用关闭
+                  return;
+              }
+          }
         precontainersSubmit(row).then(() => {
           this.$message({
             type: "success",
@@ -388,8 +401,35 @@
           window.console.log(error);
         });
       },
+          // 编辑确认按钮
       rowUpdate(row, index, done, loading) {
           if (row.id) {
+              // 如果是冻柜,则需要输入相应的通度和温度、温度,如果不是冻柜,不需要输入相应的温度等内容;
+              if (this.assemblyForm.cargoType == 'reefer') {
+                  // 要判断的必填
+                  const arr = [
+                      {
+                          name: "温度",
+                          value: "temperature",
+                      },
+                      {
+                          name: "温度单位",
+                          value: "temperatureUnit",
+                      },
+                      {
+                          name: "通风度",
+                          value: "ventilation",
+                      },
+                      {
+                          name: "湿度",
+                          value: "humidity",
+                      },
+                  ]
+                  if (!requiredMessage(row,arr)) {
+                      loading(); // 按钮的禁用关闭
+                      return;
+                  }
+              }
               this.$confirm("已经存在配箱信息,如果修改预配箱数据 要清除全部配箱信息?", {
                   confirmButtonText: "确定",
                   cancelButtonText: "取消",

+ 1 - 1
src/views/iosBasicData/SeafreightExportF/bills/assembly/SplitList.vue

@@ -166,7 +166,7 @@
         methods:{
             // 点击进详情
             corpfun(scope){
-                this.$emit('corpfun',scope.row)
+                this.$emit('corpfun',scope.row.id)
             },
             // 批量撤回
             batchWithdrawfun(){

+ 87 - 5
src/views/iosBasicData/SeafreightExportF/bills/billsDetails.vue

@@ -14,6 +14,12 @@
                 <el-button  size="small" type="warning" style="margin-right: 8px"
                             :loading="saveLoading" >打 印
                 </el-button>
+                <el-button size="small" type="success" :disabled="!form.id" v-if="form.status == 0"
+                           @click.stop="DocumentApproval">单据请核
+                </el-button>
+                <el-button size="small" type="success" :disabled="!form.id" v-if="form.status == 1"
+                           @click.stop="revokeDocumentApproval">撤销单据请核
+                </el-button>
                 <el-button  size="small" type="primary" style="margin-right: 8px" v-if="detailData.seeDisabled"
                             :loading="saveLoading" @click="editHandle">编 辑
                 </el-button>
@@ -238,7 +244,14 @@ import {getBlocationsList} from "@/api/iosBasicData/blocations";
 import {getBcorpsattnList} from "@/api/iosBasicData/bcorpsattn";
 import {getWorkDicts} from "@/api/system/dictbiz";
 import {getDeptLazyTree, getDeptTree, getLazyList} from "@/api/system/dept";
-import {billsDetail, billsGetBillNo, billsListAll, billsSubmit,deptGetDetailPol} from '@/api/iosBasicData/bills'
+import {
+    billsCheckBills,
+    billsDetail,
+    billsGetBillNo,
+    billsListAll, billsRevokeCheckBills,
+    billsSubmit,
+    deptGetDetailPol
+} from '@/api/iosBasicData/bills'
 import {dateFormat} from "@/util/date";
     export default {
         components:{
@@ -286,6 +299,7 @@ import {dateFormat} from "@/util/date";
                     cargoType:'dry', // 货物类型默认普货
                     filesList:[], // 文件中心
                 },
+                // 循环的配置
                 basicData:{
                     column:[
                         {
@@ -645,6 +659,7 @@ import {dateFormat} from "@/util/date";
             }
         },
         watch:{
+            // 监听业务类型 如果不是分单 可以编辑分单号
             'form.billType':{
                 // 执行方法
                 handler(oldValue,newValue) {
@@ -657,6 +672,35 @@ import {dateFormat} from "@/util/date";
                 },
                 deep: true, // 深度监听
                 immediate: true  // 第一次改变就执行
+            },
+            // 监听箱信息数据 箱信息中有温度 自动切换 冻货
+            'form.preContainersList':{
+                // 执行方法
+                handler(oldValue,newValue) {
+                    // 判断是否是数组
+                    if (oldValue instanceof Array) {
+                        // 循环 有温度反 true 没有反 false
+                        const arr = oldValue.map(item=>{
+                            if (Number(item.temperature)) {
+                                return true
+                            }else {
+                                return false
+                            }
+                        })
+                        // 判断是否有温度
+                        if (arr[0]) {
+                            // 判断之前是否是冻货
+                            if (this.form.cargoType == 'reefer') return
+                            this.$message({
+                                message: '箱信息里有温度已将货描切换为冻柜',
+                                type: 'warning'
+                            });
+                            this.$set(this.form,'cargoType','reefer')
+                        }
+                    }
+                },
+                deep: true, // 深度监听
+                immediate: true  // 第一次改变就执行
             }
         },
         created() {
@@ -666,7 +710,7 @@ import {dateFormat} from "@/util/date";
                 this.deptGetDetailPolfun() // 收货地 装货港 当前登录人的默认
                 this.userGetListfun(undefined,true) // 获取用户管理数据
             }
-            this.ownDeptLazyTreefun() // 获取公司数据
+            // this.ownDeptLazyTreefun() // 获取公司数据
             this.getLazylistfun() // 获取审核数据
         },
         methods:{
@@ -1005,6 +1049,47 @@ import {dateFormat} from "@/util/date";
             backToList() {
                 this.$emit('goBack')
             },
+            // 单据请核
+            DocumentApproval(){
+                this.$confirm("确定要请核数据?", {
+                    confirmButtonText: "确定",
+                    cancelButtonText: "取消",
+                    type: "warning"
+                }).then(()=>{
+                    billsCheckBills({
+                        id:this.form.id,
+                        url: '/iosBasicData/SeafreightExportF/bills/approvalDetails',
+                        pageStatus: "this.$store.getters.approvalDetails",
+                        pageLabel: "审批详情(F)",
+                    }).then(res=>{
+                        this.$message({
+                            type: "success",
+                            message: "操作成功!"
+                        });
+                        // 详情
+                        this.billsDetailfun(this.form.id)
+                    })
+                })
+            },
+            // 撤销单据请核
+            revokeDocumentApproval(){
+                this.$confirm("确定要撤销请核数据?", {
+                    confirmButtonText: "确定",
+                    cancelButtonText: "取消",
+                    type: "warning"
+                }).then(()=>{
+                    billsRevokeCheckBills({
+                        id:this.form.id
+                    }).then(res=>{
+                        this.$message({
+                            type: "success",
+                            message: "操作成功!"
+                        });
+                        // 详情
+                        this.billsDetailfun(this.form.id)
+                    })
+                })
+            },
             // 编辑按钮
             editHandle(){
                 this.detailData.seeDisabled = false
@@ -1024,8 +1109,6 @@ import {dateFormat} from "@/util/date";
                 // 把拼接的数据拆开 开始 🐒🐒🐒🐒🐒🐒🐒🐒🐒🐒🐒🐒🐒🐒
                 this.searchSplit()
                 // 把拼接的数据拆开 结束 💩💩💩💩💩💩💩💩💩💩💩💩💩💩
-                console.log(this.form,985)
-
                 billsSubmit(this.form).then(res=>{
                     this.$message({
                         type: "success",
@@ -1040,7 +1123,6 @@ import {dateFormat} from "@/util/date";
                 const res = await billsDetail(id)
                 this.form = res.data.data;
                 this.pageLoading = false
-                console.log(this.form,1000)
                 this.searchMontage() // 下拉 中文名称和编号拼接
 
                 // 配箱最上面可以编辑

+ 22 - 13
src/views/iosBasicData/SeafreightExportF/bills/index.vue

@@ -253,7 +253,7 @@
               </template>
               <template slot-scope="scope" slot="menu">
                   <el-button :type="scope.type" :size="scope.size" icon="el-icon-edit"
-                             @click.stop="rowCellfun(scope.row, scope.index)">编辑
+                             @click.stop="rowCellfun(scope.row.id, scope.index)">编辑
                   </el-button>
               </template>
               <template slot-scope="scope" slot="coloaderEnName">
@@ -295,7 +295,7 @@
               </template>
               <template slot="corpCnName" slot-scope="scope">
                   <span style="color: #1e9fff;cursor: pointer;"
-                        @click.stop="rowCellfun(scope.row, scope.index)" >
+                        @click.stop="rowCellfun(scope.row.id, scope.index)" >
                       {{scope.row.corpCnName}}
                   </span>
               </template>
@@ -754,16 +754,14 @@ import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
                 width: "180",
             },
             {
-              label: "状态",
+              label: "审核状态",
               prop: "status",
                 type: 'select',
-                dicData: [{
-                    label: '正常',
-                    value: 0
-                }, {
-                    label: '停用',
-                    value: 1
-                }],
+                dicData: [],
+                props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                },
             },
             {
               label: "备注",
@@ -896,10 +894,14 @@ import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
       }
     },
       async created() {
+          if (this.$route.query.id) {
+              this.rowCellfun(this.$route.query.id)
+          }
           this.option = await this.getColumnData(this.getColumnName(309), this.optionBack);
           this.billStatusWorkDictsfun()
           this.accountStatusWorkDictsfun()
           this.getWorkDictsfun() // 获取签单方式字典数据
+          this.statusWorkDictsfun() // 业务审核类型
       },
       methods: {
         // 展开和收起
@@ -940,6 +942,12 @@ import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
               this.accountStatusData = res.data.data
            })
         },
+          // 获取业务审核状态
+          statusWorkDictsfun(){
+              getWorkDicts('audit_status_los').then(res=>{
+                  this.findObject(this.option.column, "status").dicData = res.data.data;
+              })
+          },
         // 添加到主单
         increaseMawb(){
             if (this.selectionList.length === 0) {
@@ -1050,15 +1058,15 @@ import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
             this.isShow = false
         },
         // 编辑详情打开
-        rowCellfun(row,index) {
+        rowCellfun(id,index) {
             this.detailData = {
                 seeDisabled: true,
-                id: row.id
+                id: id
             };
             this.isShow = false
             this.$nextTick(()=>{
                 this.$refs.billsDetails.pageLoading = true
-                this.$refs.billsDetails.billsDetailfun(row.id)
+                this.$refs.billsDetails.billsDetailfun(id)
             })
         },
 
@@ -1183,6 +1191,7 @@ import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
               item.billsListAllData = []
               item.billStatus = item.billStatus + ''
               item.accountStatus = item.accountStatus + ''
+              item.status = item.status + ''
               return item
           })
           this.loading = false;