Przeglądaj źródła

费用 不同状态不同颜色 新加结算发票记录
进出场记录新加可编辑的字段

Qukatie 1 tydzień temu
rodzic
commit
dda4e50b9a

+ 17 - 0
src/api/boxManagement/buyContainer/index.js

@@ -324,4 +324,21 @@ export function batchAddPod(params) {
     method: 'get',
     params: params
   })
+}
+
+// 查看结算金额记录
+export const finstlbillsGetAccBillIdList = (params) => {
+  return request({
+    url: '/api/blade-los/finstlbills/getAccBillIdList',
+    method: 'get',
+    params:params
+  })
+}
+// 查看发票金额记录
+export const fininvoicesGetAccBillIdList = (params) => {
+  return request({
+    url: '/api/blade-los/fininvoices/getAccBillIdList',
+    method: 'get',
+    params:params
+  })
 }

+ 16 - 0
src/api/iosBasicData/feecenter.js

@@ -100,4 +100,20 @@ export const synchronizationSettlementObject = (params) => {
     method: 'get',
     params:params
   })
+}
+// 查看结算金额记录
+export const finstlbillsGetAccBillIdList = (params) => {
+  return request({
+    url: '/api/blade-los/finstlbills/getAccBillIdList',
+    method: 'get',
+    params:params
+  })
+}
+// 查看发票金额记录
+export const fininvoicesGetAccBillIdList = (params) => {
+  return request({
+    url: '/api/blade-los/fininvoices/getAccBillIdList',
+    method: 'get',
+    params:params
+  })
 }

+ 94 - 2
src/views/boxManagement/agentBox/detailsPage.vue

@@ -432,6 +432,32 @@
               <template slot="index" slot-scope="{ row, index }">
                 <span>{{ index + 1 }}</span>
               </template>
+              <template slot="auditStatus" slot-scope="{ row, size }">
+                <span v-if="row.auditStatus == 0">录入</span>
+                <span v-if="row.auditStatus == 1">提交审核</span>
+                <span v-if="row.auditStatus == 2">审核中</span>
+                <span v-if="row.auditStatus == 4" style="color:#409EFF;">审核通过</span>
+                <span v-if="row.auditStatus == 5" style="color:#67C23A;">申请修改</span>
+                <span v-if="row.auditStatus == 6" style="color:#F56C6C;">申请删除</span>
+              </template>
+              <template slot="uninvoicedAmount" slot-scope="{ row }">
+                <el-popover trigger="click" v-if="Number(row.uninvoicedAmount)">
+                  <avue-crud :data="fininvoicesData" :option="fininvoicesOption"></avue-crud>
+                  <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFininvoices(row)">
+                    {{ row.uninvoicedAmount }}
+                  </span>
+                </el-popover>
+                <span v-else>{{ row.uninvoicedAmount }}</span>
+              </template>
+              <template slot="stlTtlAmount" slot-scope="{ row }">
+                <el-popover trigger="click" v-if="Number(row.stlTtlAmount)">
+                  <avue-crud :data="finstlbillsData" :option="finstlbillsOption"></avue-crud>
+                  <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFinstlbills(row)">
+                    {{ row.stlTtlAmount }}
+                  </span>
+                </el-popover>
+                <span v-else>{{ row.stlTtlAmount }}</span>
+              </template>
               <template slot="billTypeForm" slot-scope="{ row, index }">
                 <dic-select
                   v-if="row.$cellEdit && !(row.automaticGenerated == 1)"
@@ -706,7 +732,9 @@ import {
   boxRemove,
   copyAgent,
   pleaseVerifyCost,
-  getAccurate
+  getAccurate,
+  finstlbillsGetAccBillIdList,
+  fininvoicesGetAccBillIdList
 } from "@/api/boxManagement/buyContainer/index.js";
 import dicSelect from "@/components/dicSelect/main";
 import checkSchedule from "@/components/checkH/checkSchedule.vue";
@@ -722,6 +750,58 @@ export default {
   name: "detailsPage",
   data() {
     return {
+      fininvoicesData: [],
+      fininvoicesOption: {
+        header: false,
+        menu: false,
+        align: "center",
+        column: [
+          {
+            label: "发票号",
+            prop: "taxInvoiceNo",
+            width: "200",
+            overHidden: true
+          },
+          {
+            label: "开票日期",
+            prop: "invoiceDate",
+            width: "150",
+            overHidden: true
+          },
+          {
+            label: "开票人",
+            prop: "createUserName",
+            width: "100",
+            overHidden: true
+          }
+        ]
+      },
+      finstlbillsData: [],
+      finstlbillsOption: {
+        header: false,
+        menu: false,
+        align: "center",
+        column: [
+          {
+            label: "结算单号",
+            prop: "billNo",
+            width: "200",
+            overHidden: true
+          },
+          {
+            label: "结算日期",
+            prop: "billDate",
+            width: "150",
+            overHidden: true
+          },
+          {
+            label: "结算人",
+            prop: "createUserName",
+            width: "100",
+            overHidden: true
+          }
+        ]
+      },
       searchStatus: false,
       query: {},
       CNYSUM: 0,
@@ -1097,7 +1177,7 @@ export default {
         menuWidth: 60,
         searchMenuSpan: 18,
         tip: false,
-        index:true,
+        index: true,
         border: true,
         addBtn: false,
         viewBtn: false,
@@ -1736,6 +1816,18 @@ export default {
     this.saveLocalCurrency(this.deptId);
   },
   methods: {
+    viewFininvoices(row) {
+      this.fininvoicesData = [];
+      fininvoicesGetAccBillIdList({ accBillId: row.accBillId }).then(res => {
+        this.fininvoicesData = res.data.data;
+      });
+    },
+    viewFinstlbills(row) {
+      this.finstlbillsData = [];
+      finstlbillsGetAccBillIdList({ accBillId: row.accBillId }).then(res => {
+        this.finstlbillsData = res.data.data;
+      });
+    },
     verifyChange(name, row) {
       if (row[name]) {
         row[name] = row[name].replace(/\s+/g, "");

+ 98 - 11
src/views/boxManagement/boxAdjustment/detailsPage.vue

@@ -76,7 +76,7 @@
                   key="id"
                   label="cnName"
                   res="records"
-                 url="/blade-los/bcntrtypes/list?current=1&size=100"
+                  url="/blade-los/bcntrtypes/list?current=1&size=100"
                   :filterable="true"
                   :remote="true"
                   dataName="cnName"
@@ -165,12 +165,7 @@
                 </el-date-picker>
               </tempalte>
               <tempalte slot="containerNumber">
-                <el-input
-                  v-model="form.containerNumber"
-                  placeholder="请输入 放箱号"
-                  size="small"
-                  :disabled="true"
-                >
+                <el-input v-model="form.containerNumber" placeholder="请输入 放箱号" size="small" :disabled="true">
                   <el-button
                     slot="prepend"
                     icon="el-icon-search"
@@ -300,7 +295,7 @@
                   key="id"
                   label="cnName"
                   res="records"
-                 url="/blade-los/bcntrtypes/list?current=1&size=100"
+                  url="/blade-los/bcntrtypes/list?current=1&size=100"
                   :filterable="true"
                   :remote="true"
                   dataName="cnName"
@@ -443,6 +438,32 @@
               <template slot="index" slot-scope="{ row, index }">
                 <span>{{ index + 1 }}</span>
               </template>
+              <template slot="auditStatus" slot-scope="{ row, size }">
+                <span v-if="row.auditStatus == 0">录入</span>
+                <span v-if="row.auditStatus == 1">提交审核</span>
+                <span v-if="row.auditStatus == 2">审核中</span>
+                <span v-if="row.auditStatus == 4" style="color:#409EFF;">审核通过</span>
+                <span v-if="row.auditStatus == 5" style="color:#67C23A;">申请修改</span>
+                <span v-if="row.auditStatus == 6" style="color:#F56C6C;">申请删除</span>
+              </template>
+              <template slot="uninvoicedAmount" slot-scope="{ row }">
+                <el-popover trigger="click" v-if="Number(row.uninvoicedAmount)">
+                  <avue-crud :data="fininvoicesData" :option="fininvoicesOption"></avue-crud>
+                  <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFininvoices(row)">
+                    {{ row.uninvoicedAmount }}
+                  </span>
+                </el-popover>
+                <span v-else>{{ row.uninvoicedAmount }}</span>
+              </template>
+              <template slot="stlTtlAmount" slot-scope="{ row }">
+                <el-popover trigger="click" v-if="Number(row.stlTtlAmount)">
+                  <avue-crud :data="finstlbillsData" :option="finstlbillsOption"></avue-crud>
+                  <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFinstlbills(row)">
+                    {{ row.stlTtlAmount }}
+                  </span>
+                </el-popover>
+                <span v-else>{{ row.stlTtlAmount }}</span>
+              </template>
               <template slot="billTypeForm" slot-scope="{ row, index }">
                 <dic-select
                   v-if="row.$cellEdit && !(row.automaticGenerated == 1)"
@@ -661,7 +682,9 @@ import {
   revoke,
   pleaseVerifyCost,
   getAccurate,
-  revokeCheckPleaseVerifyCost
+  revokeCheckPleaseVerifyCost,
+  finstlbillsGetAccBillIdList,
+  fininvoicesGetAccBillIdList
 } from "@/api/boxManagement/buyContainer/index.js";
 import dicSelect from "@/components/dicSelect/main";
 import checkSchedule from "@/components/checkH/checkSchedule.vue";
@@ -678,6 +701,58 @@ export default {
   name: "detailsPage",
   data() {
     return {
+      fininvoicesData: [],
+      fininvoicesOption: {
+        header: false,
+        menu: false,
+        align: "center",
+        column: [
+          {
+            label: "发票号",
+            prop: "taxInvoiceNo",
+            width: "200",
+            overHidden: true
+          },
+          {
+            label: "开票日期",
+            prop: "invoiceDate",
+            width: "150",
+            overHidden: true
+          },
+          {
+            label: "开票人",
+            prop: "createUserName",
+            width: "100",
+            overHidden: true
+          }
+        ]
+      },
+      finstlbillsData: [],
+      finstlbillsOption: {
+        header: false,
+        menu: false,
+        align: "center",
+        column: [
+          {
+            label: "结算单号",
+            prop: "billNo",
+            width: "200",
+            overHidden: true
+          },
+          {
+            label: "结算日期",
+            prop: "billDate",
+            width: "150",
+            overHidden: true
+          },
+          {
+            label: "结算人",
+            prop: "createUserName",
+            width: "100",
+            overHidden: true
+          }
+        ]
+      },
       saberUserInfo: JSON.parse(localStorage.getItem("saber-userInfo")).content, // 当前登录人个人信息
       boxSelectionList: [],
       boxOption: {
@@ -1216,7 +1291,7 @@ export default {
             prop: "polPickUpDate",
             width: 150,
             type: "date",
-            cell:true,
+            cell: true,
             format: "yyyy-MM-dd",
             valueFormat: "yyyy-MM-dd 00:00:00",
             overHidden: true
@@ -1226,7 +1301,7 @@ export default {
             prop: "polStationEmptyContainerExitDate",
             width: 150,
             type: "date",
-            cell:true,
+            cell: true,
             format: "yyyy-MM-dd",
             valueFormat: "yyyy-MM-dd 00:00:00",
             overHidden: true
@@ -1655,6 +1730,18 @@ export default {
     this.saveLocalCurrency(this.deptId);
   },
   methods: {
+    viewFininvoices(row) {
+      this.fininvoicesData = [];
+      fininvoicesGetAccBillIdList({ accBillId: row.accBillId }).then(res => {
+        this.fininvoicesData = res.data.data;
+      });
+    },
+    viewFinstlbills(row) {
+      this.finstlbillsData = [];
+      finstlbillsGetAccBillIdList({ accBillId: row.accBillId }).then(res => {
+        this.finstlbillsData = res.data.data;
+      });
+    },
     importData(obj, val) {
       if (val) {
         this.form.containerNumber = obj.containerNumber;

+ 132 - 15
src/views/boxManagement/boxCost/detailsPage.vue

@@ -176,7 +176,7 @@
                   key="id"
                   label="cnName"
                   res="records"
-                 url="/blade-los/bcntrtypes/list?current=1&size=100"
+                  url="/blade-los/bcntrtypes/list?current=1&size=100"
                   :filterable="true"
                   :remote="true"
                   dataName="cnName"
@@ -347,6 +347,32 @@
               <template slot="index" slot-scope="{ row, index }">
                 <span>{{ index + 1 }}</span>
               </template>
+              <template slot="auditStatus" slot-scope="{ row, size }">
+                <span v-if="row.auditStatus == 0">录入</span>
+                <span v-if="row.auditStatus == 1">提交审核</span>
+                <span v-if="row.auditStatus == 2">审核中</span>
+                <span v-if="row.auditStatus == 4" style="color:#409EFF;">审核通过</span>
+                <span v-if="row.auditStatus == 5" style="color:#67C23A;">申请修改</span>
+                <span v-if="row.auditStatus == 6" style="color:#F56C6C;">申请删除</span>
+              </template>
+              <template slot="uninvoicedAmount" slot-scope="{ row }">
+                <el-popover trigger="click" v-if="Number(row.uninvoicedAmount)">
+                  <avue-crud :data="fininvoicesData" :option="fininvoicesOption"></avue-crud>
+                  <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFininvoices(row)">
+                    {{ row.uninvoicedAmount }}
+                  </span>
+                </el-popover>
+                <span v-else>{{ row.uninvoicedAmount }}</span>
+              </template>
+              <template slot="stlTtlAmount" slot-scope="{ row }">
+                <el-popover trigger="click" v-if="Number(row.stlTtlAmount)">
+                  <avue-crud :data="finstlbillsData" :option="finstlbillsOption"></avue-crud>
+                  <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFinstlbills(row)">
+                    {{ row.stlTtlAmount }}
+                  </span>
+                </el-popover>
+                <span v-else>{{ row.stlTtlAmount }}</span>
+              </template>
               <template slot="billTypeForm" slot-scope="{ row, index }">
                 <dic-select
                   v-if="row.$cellEdit && !(row.automaticGenerated == 1)"
@@ -550,6 +576,32 @@
               <template slot="index" slot-scope="{ row, index }">
                 <span>{{ index + 1 }}</span>
               </template>
+              <template slot="auditStatus" slot-scope="{ row, size }">
+                <span v-if="row.auditStatus == 0">录入</span>
+                <span v-if="row.auditStatus == 1">提交审核</span>
+                <span v-if="row.auditStatus == 2">审核中</span>
+                <span v-if="row.auditStatus == 4" style="color:#409EFF;">审核通过</span>
+                <span v-if="row.auditStatus == 5" style="color:#67C23A;">申请修改</span>
+                <span v-if="row.auditStatus == 6" style="color:#F56C6C;">申请删除</span>
+              </template>
+              <template slot="uninvoicedAmount" slot-scope="{ row }">
+                <el-popover trigger="click" v-if="Number(row.uninvoicedAmount)">
+                  <avue-crud :data="fininvoicesData" :option="fininvoicesOption"></avue-crud>
+                  <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFininvoices(row)">
+                    {{ row.uninvoicedAmount }}
+                  </span>
+                </el-popover>
+                <span v-else>{{ row.uninvoicedAmount }}</span>
+              </template>
+              <template slot="stlTtlAmount" slot-scope="{ row }">
+                <el-popover trigger="click" v-if="Number(row.stlTtlAmount)">
+                  <avue-crud :data="finstlbillsData" :option="finstlbillsOption"></avue-crud>
+                  <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFinstlbills(row)">
+                    {{ row.stlTtlAmount }}
+                  </span>
+                </el-popover>
+                <span v-else>{{ row.stlTtlAmount }}</span>
+              </template>
               <template slot="billTypeForm" slot-scope="{ row, index }">
                 <dic-select
                   v-if="row.$cellEdit && !(row.automaticGenerated == 1)"
@@ -883,7 +935,7 @@
       pageLabel="箱管费用"
     ></fee-modify>
     <fee-modify-view ref="feeModifyView" :form="form"></fee-modify-view>
-   <reportContainer ref="reportContainer"></reportContainer>
+    <reportContainer ref="reportContainer"></reportContainer>
     <!--结算单位弹窗-->
     <el-dialog title="打印" :visible.sync="printingDialog" append-to-body width="70%" :close-on-click-modal="false" :before-close="handleClose">
       <div>
@@ -912,7 +964,7 @@
         <el-button size="small" @click="printingDialog = false">取 消</el-button>
       </span>
     </el-dialog>
-     <el-dialog title="打印" :visible.sync="selectPrintingDialog" append-to-body width="70%" :close-on-click-modal="false" :before-close="handleClose">
+    <el-dialog title="打印" :visible.sync="selectPrintingDialog" append-to-body width="70%" :close-on-click-modal="false" :before-close="handleClose">
       <div>
         <reportformsList ref="reportformsList" @reportRadio="reportRadio"></reportformsList>
       </div>
@@ -920,7 +972,6 @@
         <el-button size="small" @click="selectPrintingDialog = false">取 消</el-button>
       </span>
     </el-dialog>
-
   </div>
 </template>
 
@@ -939,7 +990,9 @@ import {
   confirm,
   revoke,
   pleaseVerifyCost,
-  revokeCheckPleaseVerifyCost
+  revokeCheckPleaseVerifyCost,
+  finstlbillsGetAccBillIdList,
+  fininvoicesGetAccBillIdList
 } from "@/api/boxManagement/buyContainer/index.js";
 import reportContainer from "@/views/iosBasicData/report-container/report-container.vue";
 import { getFeeCenterCorpIds } from "@/api/iosBasicData/feecenter";
@@ -961,6 +1014,58 @@ export default {
   name: "detailsPage",
   data() {
     return {
+      fininvoicesData: [],
+      fininvoicesOption: {
+        header: false,
+        menu: false,
+        align: "center",
+        column: [
+          {
+            label: "发票号",
+            prop: "taxInvoiceNo",
+            width: "200",
+            overHidden: true
+          },
+          {
+            label: "开票日期",
+            prop: "invoiceDate",
+            width: "150",
+            overHidden: true
+          },
+          {
+            label: "开票人",
+            prop: "createUserName",
+            width: "100",
+            overHidden: true
+          }
+        ]
+      },
+      finstlbillsData: [],
+      finstlbillsOption: {
+        header: false,
+        menu: false,
+        align: "center",
+        column: [
+          {
+            label: "结算单号",
+            prop: "billNo",
+            width: "200",
+            overHidden: true
+          },
+          {
+            label: "结算日期",
+            prop: "billDate",
+            width: "150",
+            overHidden: true
+          },
+          {
+            label: "结算人",
+            prop: "createUserName",
+            width: "100",
+            overHidden: true
+          }
+        ]
+      },
       CNYSUM: 0,
       USDSUM: 0,
       sumData: [],
@@ -2176,7 +2281,7 @@ export default {
       printingDialog: false, // 打印弹窗开关
       printingDC: "", // 打印弹窗选择是应收还是应付
       PrintingData: [], // 打印弹窗列表数据
-          printingLoading: false, // 打印弹窗加载动画
+      printingLoading: false, // 打印弹窗加载动画
       optionPrinting: {
         stripe: true,
         maxHeight: "250",
@@ -2244,7 +2349,7 @@ export default {
       reportTypeData: [], // 打印选择的数据
       reportformsObj: {}, // 打印选择的数据
       selectPrintingDialog: false, // 打印弹窗
-      idArr:[],
+      idArr: []
     };
   },
   components: {
@@ -2277,7 +2382,19 @@ export default {
     this.saveLocalCurrency(this.deptId);
   },
   methods: {
-        // 预览报表
+    viewFininvoices(row) {
+      this.fininvoicesData = [];
+      fininvoicesGetAccBillIdList({ accBillId: row.accBillId }).then(res => {
+        this.fininvoicesData = res.data.data;
+      });
+    },
+    viewFinstlbills(row) {
+      this.finstlbillsData = [];
+      finstlbillsGetAccBillIdList({ accBillId: row.accBillId }).then(res => {
+        this.finstlbillsData = res.data.data;
+      });
+    },
+    // 预览报表
     handleReportPreview(url, data) {
       console.log(url, 1670);
       console.log(data, 1671);
@@ -2446,7 +2563,7 @@ export default {
       );
       console.log("加载成功完成!");
     },
-        createViewerButtons(viewer) {
+    createViewerButtons(viewer) {
       viewer.jsObject.collections.images["myClose.png"] =
         "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAA0ElEQVQ4ja3TO05CQRQG4A8iOwAbtYWETndAaecK7NwCKmETtJZsSBNLobEz8ZFIJQ0UnOGSm3DnYviTybzO/895DQXGWGCVGQuMEqkRcwcfuMOLalziCaf4TIe9UG9nyMJmFRzNGoRK1BU4xxx9G7cfwostciGk+x8MqgySwDXe4tU53hVV+MNtTmAoX84JGv9NYgrHyR6DV8wUSW7hItZLm36ZVoVQxsFJLOMsPOrH/h7dQwR2cdxOTEn8DtUbPGc4V2H7Vb4Yqfedf/GYSGt8VUmxgyfuBAAAAABJRU5ErkJggg==";
       const closeBtn = viewer.jsObject.SmallButton("closeBtn", "关闭", "myClose.png");
@@ -2555,7 +2672,7 @@ export default {
         this.printingDialog = true;
       }
     },
-        // 费用弹窗里的打印
+    // 费用弹窗里的打印
     dialogPreviewfun(row) {
       if (!this.reportformsObj.id) {
         this.$message.warning("请选择打印类型");
@@ -2573,7 +2690,7 @@ export default {
         this.handleReportPreview(this.reportformsObj.url, res.data.data.data);
       });
     },
-       // 打印弹窗里回调
+    // 打印弹窗里回调
     reportRadio(val) {
       // 多选打印
       // 获取报表数据
@@ -2587,7 +2704,7 @@ export default {
         this.handleReportPreview(val.url, res.data.data.data);
       });
     },
-        // 获取打印表格数据
+    // 获取打印表格数据
     reportsListfun(obj) {
       reportsList(1, 50, obj).then(res => {
         this.reportTypeData = res.data.data.records;
@@ -2595,7 +2712,7 @@ export default {
         this.reportformsObj = res.data.data.records[0];
       });
     },
-        // 打印表格选择
+    // 打印表格选择
     reportNodeClick(data) {
       this.reportformsObj = data;
     },
@@ -2834,11 +2951,11 @@ export default {
         if (row) {
           el.feeId = row.id;
           el.feeCode = row.code;
-          el.feeEnName=row.enName;
+          el.feeEnName = row.enName;
         } else {
           el.feeId = null;
           el.feeCode = null;
-          el.feeEnName=null;
+          el.feeEnName = null;
           el.feeCnName = null;
         }
       }

Plik diff jest za duży
+ 617 - 237
src/views/boxManagement/boxExit/detailsPage.vue


+ 93 - 1
src/views/boxManagement/buyContainer/detailsPage.vue

@@ -319,6 +319,32 @@
               <template slot="index" slot-scope="{ row, index }">
                 <span>{{ index + 1 }}</span>
               </template>
+              <template slot="auditStatus" slot-scope="{ row, size }">
+                <span v-if="row.auditStatus == 0">录入</span>
+                <span v-if="row.auditStatus == 1">提交审核</span>
+                <span v-if="row.auditStatus == 2">审核中</span>
+                <span v-if="row.auditStatus == 4" style="color:#409EFF;">审核通过</span>
+                <span v-if="row.auditStatus == 5" style="color:#67C23A;">申请修改</span>
+                <span v-if="row.auditStatus == 6" style="color:#F56C6C;">申请删除</span>
+              </template>
+              <template slot="uninvoicedAmount" slot-scope="{ row }">
+                <el-popover trigger="click" v-if="Number(row.uninvoicedAmount)">
+                  <avue-crud :data="fininvoicesData" :option="fininvoicesOption"></avue-crud>
+                  <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFininvoices(row)">
+                    {{ row.uninvoicedAmount }}
+                  </span>
+                </el-popover>
+                <span v-else>{{ row.uninvoicedAmount }}</span>
+              </template>
+              <template slot="stlTtlAmount" slot-scope="{ row }">
+                <el-popover trigger="click" v-if="Number(row.stlTtlAmount)">
+                  <avue-crud :data="finstlbillsData" :option="finstlbillsOption"></avue-crud>
+                  <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFinstlbills(row)">
+                    {{ row.stlTtlAmount }}
+                  </span>
+                </el-popover>
+                <span v-else>{{ row.stlTtlAmount }}</span>
+              </template>
               <template slot="billTypeForm" slot-scope="{ row, index }">
                 <dic-select
                   v-if="row.$cellEdit && !(row.automaticGenerated == 1)"
@@ -591,7 +617,9 @@ import {
   revokEnable,
   copyAgent,
   pleaseVerifyCost,
-  getAccurate
+  getAccurate,
+  finstlbillsGetAccBillIdList,
+  fininvoicesGetAccBillIdList
 } from "@/api/boxManagement/buyContainer/index.js";
 import dicSelect from "@/components/dicSelect/main";
 import checkSchedule from "@/components/checkH/checkSchedule.vue";
@@ -608,6 +636,58 @@ export default {
   name: "detailsPage",
   data() {
     return {
+      fininvoicesData: [],
+      fininvoicesOption: {
+        header: false,
+        menu: false,
+        align: "center",
+        column: [
+          {
+            label: "发票号",
+            prop: "taxInvoiceNo",
+            width: "200",
+            overHidden: true
+          },
+          {
+            label: "开票日期",
+            prop: "invoiceDate",
+            width: "150",
+            overHidden: true
+          },
+          {
+            label: "开票人",
+            prop: "createUserName",
+            width: "100",
+            overHidden: true
+          }
+        ]
+      },
+      finstlbillsData: [],
+      finstlbillsOption: {
+        header: false,
+        menu: false,
+        align: "center",
+        column: [
+          {
+            label: "结算单号",
+            prop: "billNo",
+            width: "200",
+            overHidden: true
+          },
+          {
+            label: "结算日期",
+            prop: "billDate",
+            width: "150",
+            overHidden: true
+          },
+          {
+            label: "结算人",
+            prop: "createUserName",
+            width: "100",
+            overHidden: true
+          }
+        ]
+      },
       saberUserInfo: JSON.parse(localStorage.getItem("saber-userInfo")).content, // 当前登录人个人信息
       CNYSUM: 0,
       USDSUM: 0,
@@ -1522,6 +1602,18 @@ export default {
     this.saveLocalCurrency(this.deptId);
   },
   methods: {
+    viewFininvoices(row) {
+      this.fininvoicesData = [];
+      fininvoicesGetAccBillIdList({ accBillId: row.accBillId }).then(res => {
+        this.fininvoicesData = res.data.data;
+      });
+    },
+    viewFinstlbills(row) {
+      this.finstlbillsData = [];
+      finstlbillsGetAccBillIdList({ accBillId: row.accBillId }).then(res => {
+        this.finstlbillsData = res.data.data;
+      });
+    },
     verifyChange(name, row) {
       if (row[name]) {
         row[name] = row[name].replace(/\s+/g, "");

+ 180 - 110
src/views/boxManagement/enterRecord/detailsPage.vue

@@ -2,13 +2,17 @@
   <div>
     <div class="customer-head">
       <div class="customer-back">
-        <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
-          @click="goBack()">返回列表
-        </el-button>
+        <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left" @click="goBack()">返回列表 </el-button>
       </div>
       <div class="add-customer-btn">
-        <el-button class="el-button--small-yh" style="margin-left: 6px;" type="primary" size="small"
-          :disabled="selectionList.length == 0" @click="synchronous">箱动态同步
+        <el-button
+          class="el-button--small-yh"
+          style="margin-left: 6px;"
+          type="primary"
+          size="small"
+          :disabled="selectionList.length == 0"
+          @click="synchronous"
+          >箱动态同步
         </el-button>
         <!-- <el-button v-if="form.status == '审核提交'" class="el-button--small-yh" style="margin-left: 6px;" type="danger"
           size="small" @click="revokeApplication">撤销单据请核
@@ -31,16 +35,43 @@
         </avue-form>
       </trade-card> -->
       <trade-card title="基础明细">
-        <avue-crud :option="option" :data="dataList" id="out-table" ref="crud" :header-cell-class-name="headerClassName"
-          :row-style="{ height: '20px', padding: '0px' }" :cell-style="{ height: '20px', padding: '0px' }"
-          @selection-change="selectionChange" @select="selectHandle" @row-update="rowUpdate"
+        <avue-crud
+          :option="option"
+          :data="dataList"
+          id="out-table"
+          ref="crud"
+          :header-cell-class-name="headerClassName"
+          :row-style="{ height: '20px', padding: '0px' }"
+          :cell-style="{ height: '20px', padding: '0px' }"
+          @selection-change="selectionChange"
+          @select="selectHandle"
+          @row-update="rowUpdate"
           @resetColumn="resetColumn('crud', 'option', 'optionBack', 517)"
-          @saveColumn="saveColumn('crud', 'option', 'optionBack', 517)">
+          @saveColumn="saveColumn('crud', 'option', 'optionBack', 517)"
+        >
           <template slot="menu" slot-scope="{ row, index }">
-            <el-button size="small" type="text" @click="rowEdit(row)">
-              {{ row.$cellEdit ? '保存' : '编辑' }}
+            <el-button size="small" type="text" @click="rowEdit(row)" :disabled="row.whetherSynchronous == 1">
+              {{ row.$cellEdit ? "保存" : "编辑" }}
             </el-button>
           </template>
+          <tempalte slot="portCname" slot-scope="{ row, index }">
+            <dic-select
+              v-if="row.$cellEdit"
+              v-model="row.portCname"
+              placeholder="港口"
+              label="cnName"
+              res="records"
+              url="/blade-los/bports/list?status=0&current=1&size=5"
+              :filterable="true"
+              :remote="true"
+              dataName="cnName"
+              @selectChange="rowDicChange('portCname', $event, row)"
+              :disabled="editDisabled"
+              :slotRight="true"
+              rightLabel="code"
+            ></dic-select>
+            <span v-else>{{ row.portCname }}</span>
+          </tempalte>
         </avue-crud>
       </trade-card>
     </div>
@@ -73,32 +104,37 @@ export default {
         labelWidth: 100,
         column: [
           {
-            label: '起运港',
-            prop: 'polCname',
+            label: "起运港",
+            prop: "polCname",
             disabled: false,
-            rules: [{
-              required: true,
-              message: " ",
-              trigger: "blur"
-            }],
+            rules: [
+              {
+                required: true,
+                message: " ",
+                trigger: "blur"
+              }
+            ]
           },
           {
-            label: '目的港',
-            prop: 'podCname',
+            label: "目的港",
+            prop: "podCname",
             disabled: false,
-            rules: [{
-              required: true,
-              message: " ",
-              trigger: "blur"
-            }],
+            rules: [
+              {
+                required: true,
+                message: " ",
+                trigger: "blur"
+              }
+            ]
           },
           {
-            label: '备注',
-            prop: 'remarks',
-            type: 'textarea',
+            label: "备注",
+            prop: "remarks",
+            type: "textarea",
             minRows: 2,
             span: 12
-          }]
+          }
+        ]
       },
       option: {},
       optionBack: {
@@ -115,84 +151,102 @@ export default {
         refreshBtn: false,
         selection: true,
         index: true,
-        align: 'center',
+        align: "center",
         // menu: false,
         column: [
           {
-            label: '是否同步',
-            prop: 'whetherSynchronous',
-            type: 'select',
-            dicData: [{
-              label: '否',
-              value: '0'
-            }, {
-              label: '是',
-              value: '1'
-            }],
-            overHidden: true,
+            label: "是否同步",
+            prop: "whetherSynchronous",
+            type: "select",
+            dicData: [
+              {
+                label: "否",
+                value: "0"
+              },
+              {
+                label: "是",
+                value: "1"
+              }
+            ],
+            overHidden: true
           },
           {
-            label: '放箱号',
-            prop: 'containerNumber',
-            overHidden: true,
+            label: "放箱号",
+            prop: "containerNumber",
+            cell: true,
+            width: 150,
+            overHidden: true
           },
           {
-            label: '箱号',
-            prop: 'boxCode',
-            overHidden: true,
+            label: "箱号",
+            prop: "boxCode",
+            overHidden: true
           },
           {
-            label: '箱型',
-            prop: 'boxType',
-            overHidden: true,
+            label: "箱型",
+            prop: "boxType",
+            overHidden: true
           },
           {
-            label: '港口',
-            prop: 'portCname',
-            overHidden: true,
+            label: "港口",
+            prop: "portCname",
+            overHidden: true
           },
           {
-            label: '场站',
-            prop: 'stationCname',
-            overHidden: true,
+            label: "场站",
+            prop: "stationCname",
+            overHidden: true
           },
           {
-            label: '提单号',
-            prop: 'hblno',
-            overHidden: true,
+            label: "提单号",
+            prop: "hblno",
+            cell: true,
+            overHidden: true
           },
           {
-            label: '进场日期',
-            prop: 'approachExitDate',
+            label: "进场日期",
+            prop: "approachExitDate",
             overHidden: true,
+            cell: true,
+            type: "date",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd 00:00:00"
           },
           {
-            label: '进场目的',
-            prop: 'objective',
+            label: "进场目的",
+            prop: "objective",
             cell: true,
-            type: 'select',
+            type: "select",
             dicUrl: "/api/blade-system/dict-biz/dictionary?code=enter_purpose",
             props: {
               label: "dictValue",
               value: "dictKey"
             },
-            overHidden: true,
+            overHidden: true
           },
           {
-            label: '箱好坏',
-            prop: 'boxStatus',
+            label: "箱好坏",
+            prop: "boxStatus",
+            cell: true,
             overHidden: true,
+            type: "select",
+            dicUrl: "/api/blade-system/dict-biz/dictionary?code=box_status",
+            props: {
+              label: "dictValue",
+              value: "dictValue"
+            }
           },
           {
-            label: '备注',
-            prop: 'remarks',
+            label: "备注",
+            prop: "remarks",
             cell: true,
             width: 150,
-            overHidden: true,
-          }]
+            overHidden: true
+          }
+        ]
       },
-      roleName: [],
-    }
+      roleName: []
+    };
   },
   components: {
     dicSelect,
@@ -209,26 +263,40 @@ export default {
       // this.editButton = true
       // this.editDisabled = true
       // this.optionForm.disabled = true
-      this.getDetail(this.detailData.id)
+      this.getDetail(this.detailData.id);
     }
   },
   methods: {
+    rowDicChange(name, row, el) {
+      if (name == "portCname") {
+        if (row) {
+          el.corpId = row.id;
+          el.portCode = row.code;
+          el.portEname = row.enName;
+        } else {
+          el.corpId = null;
+          el.portCode = null;
+          el.portEname = null;
+          el.portCname = null;
+        }
+      }
+    },
     synchronous() {
-      let ids = []
+      let ids = [];
       for (let item of this.selectionList) {
         if (item.whetherSynchronous == 1) {
           return this.$message.error("请选择未同步的明细");
         }
-        ids.push(item.id)
+        ids.push(item.id);
       }
       let obj = {
         id: this.detailData.id,
-        ids: ids.join(',')
-      }
+        ids: ids.join(",")
+      };
       synchronous(obj).then(res => {
         this.$message.success("操作成功");
-        this.getDetail(this.detailData.id)
-      })
+        this.getDetail(this.detailData.id);
+      });
     },
     rowEdit(row) {
       if (row.$cellEdit == true) {
@@ -237,7 +305,7 @@ export default {
           this.$message.success("保存成功");
           this.$set(row, "$cellEdit", false);
           // this.getDetail(this.detailData.id)
-        })
+        });
       } else {
         this.$set(row, "$cellEdit", true);
       }
@@ -248,33 +316,37 @@ export default {
     getDetail(id) {
       const loading = this.$loading({
         lock: true,
-        text: '加载中',
-        spinner: 'el-icon-loading',
-        background: 'rgba(255,255,255,0.7)'
+        text: "加载中",
+        spinner: "el-icon-loading",
+        background: "rgba(255,255,255,0.7)"
       });
-      detail({ pid: id }).then(res => {
-        this.dataList = res.data.data
-        this.$nextTick(() => {
-          this.$refs.crud.doLayout();
-          this.$refs.crud.dicInit();
+      detail({ pid: id })
+        .then(res => {
+          this.dataList = res.data.data;
+          this.$nextTick(() => {
+            this.$refs.crud.doLayout();
+            this.$refs.crud.dicInit();
+          });
+        })
+        .finally(() => {
+          loading.close();
         });
-      }).finally(() => {
-        loading.close()
-      })
     },
     submit(type) {
       const loading = this.$loading({
         lock: true,
-        text: '加载中',
-        spinner: 'el-icon-loading',
-        background: 'rgba(255,255,255,0.7)'
+        text: "加载中",
+        spinner: "el-icon-loading",
+        background: "rgba(255,255,255,0.7)"
       });
-      itemSubmit(this.dataList).then(res => {
-        this.$message.success("保存成功");
-        this.getDetail(this.detailData.id)
-      }).finally(() => {
-        loading.close();
-      })
+      itemSubmit(this.dataList)
+        .then(res => {
+          this.$message.success("保存成功");
+          this.getDetail(this.detailData.id);
+        })
+        .finally(() => {
+          loading.close();
+        });
     },
     //自定义列保存
     async saveColumn(ref, option, optionBack, code) {
@@ -297,21 +369,21 @@ export default {
     // 更改表格颜色
     headerClassName(tab) {
       //颜色间隔
-      let back = ""
+      let back = "";
       if (tab.columnIndex >= 0 && tab.column.level === 1) {
         if (tab.columnIndex % 2 === 0) {
-          back = "back-one"
+          back = "back-one";
         } else if (tab.columnIndex % 2 === 1) {
-          back = "back-two"
+          back = "back-two";
         }
       }
       return back;
     },
     goBack(type) {
       this.$emit("goBack");
-    },
+    }
   }
-}
+};
 </script>
 
 <style lang="scss" scoped>
@@ -329,7 +401,6 @@ export default {
   .el-form-item {
     margin-bottom: 0px !important;
   }
-
 }
 
 ::v-deep .avue-crud .el-table .el-form-item__label {
@@ -356,7 +427,6 @@ export default {
   padding: 4px 0;
 }
 
-
 ::v-deep .el-table--small td,
 .el-table--small th {
   padding: 2px !important;
@@ -377,11 +447,11 @@ export default {
 
 .meetSize {
   font-size: 16px;
-  color: #54BCBD;
+  color: #54bcbd;
 }
 
 .fontSize {
   font-size: 16px;
-  color: #81B337;
+  color: #81b337;
 }
 </style>

+ 182 - 112
src/views/boxManagement/exitRecord/detailsPage.vue

@@ -2,13 +2,17 @@
   <div>
     <div class="customer-head">
       <div class="customer-back">
-        <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
-          @click="goBack()">返回列表
-        </el-button>
+        <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left" @click="goBack()">返回列表 </el-button>
       </div>
       <div class="add-customer-btn">
-        <el-button class="el-button--small-yh" style="margin-left: 6px;" type="primary" size="small"
-          :disabled="selectionList.length == 0" @click="synchronous">箱动态同步
+        <el-button
+          class="el-button--small-yh"
+          style="margin-left: 6px;"
+          type="primary"
+          size="small"
+          :disabled="selectionList.length == 0"
+          @click="synchronous"
+          >箱动态同步
         </el-button>
         <!-- <el-button v-if="form.status == '审核提交'" class="el-button--small-yh" style="margin-left: 6px;" type="danger"
           size="small" @click="revokeApplication">撤销单据请核
@@ -31,16 +35,43 @@
         </avue-form>
       </trade-card> -->
       <trade-card title="基础明细">
-        <avue-crud :option="option" :data="dataList" id="out-table" ref="crud" :header-cell-class-name="headerClassName"
-          :row-style="{ height: '20px', padding: '0px' }" :cell-style="{ height: '20px', padding: '0px' }"
-          @selection-change="selectionChange" @select="selectHandle" @row-update="rowUpdate"
+        <avue-crud
+          :option="option"
+          :data="dataList"
+          id="out-table"
+          ref="crud"
+          :header-cell-class-name="headerClassName"
+          :row-style="{ height: '20px', padding: '0px' }"
+          :cell-style="{ height: '20px', padding: '0px' }"
+          @selection-change="selectionChange"
+          @select="selectHandle"
+          @row-update="rowUpdate"
           @resetColumn="resetColumn('crud', 'option', 'optionBack', 515)"
-          @saveColumn="saveColumn('crud', 'option', 'optionBack', 515)">
+          @saveColumn="saveColumn('crud', 'option', 'optionBack', 515)"
+        >
           <template slot="menu" slot-scope="{ row, index }">
-            <el-button size="small" type="text" @click="rowEdit(row)">
-              {{ row.$cellEdit ? '保存' : '编辑' }}
+            <el-button size="small" type="text" @click="rowEdit(row)" :disabled="row.whetherSynchronous==1">
+              {{ row.$cellEdit ? "保存" : "编辑" }}
             </el-button>
           </template>
+          <tempalte slot="portCname" slot-scope="{ row, index }">
+            <dic-select
+              v-if="row.$cellEdit"
+              v-model="row.portCname"
+              placeholder="港口"
+              label="cnName"
+              res="records"
+              url="/blade-los/bports/list?status=0&current=1&size=5"
+              :filterable="true"
+              :remote="true"
+              dataName="cnName"
+              @selectChange="rowDicChange('portCname', $event, row)"
+              :disabled="editDisabled"
+              :slotRight="true"
+              rightLabel="code"
+            ></dic-select>
+            <span v-else>{{ row.portCname }}</span>
+          </tempalte>
         </avue-crud>
       </trade-card>
     </div>
@@ -73,32 +104,37 @@ export default {
         labelWidth: 100,
         column: [
           {
-            label: '起运港',
-            prop: 'polCname',
+            label: "起运港",
+            prop: "polCname",
             disabled: false,
-            rules: [{
-              required: true,
-              message: " ",
-              trigger: "blur"
-            }],
+            rules: [
+              {
+                required: true,
+                message: " ",
+                trigger: "blur"
+              }
+            ]
           },
           {
-            label: '目的港',
-            prop: 'podCname',
+            label: "目的港",
+            prop: "podCname",
             disabled: false,
-            rules: [{
-              required: true,
-              message: " ",
-              trigger: "blur"
-            }],
+            rules: [
+              {
+                required: true,
+                message: " ",
+                trigger: "blur"
+              }
+            ]
           },
           {
-            label: '备注',
-            prop: 'remarks',
-            type: 'textarea',
+            label: "备注",
+            prop: "remarks",
+            type: "textarea",
             minRows: 2,
             span: 12
-          }]
+          }
+        ]
       },
       option: {},
       optionBack: {
@@ -115,84 +151,102 @@ export default {
         refreshBtn: false,
         selection: true,
         index: true,
-        align: 'center',
+        align: "center",
         // menu: false,
         column: [
           {
-            label: '是否同步',
-            prop: 'whetherSynchronous',
-            type: 'select',
-            dicData: [{
-              label: '否',
-              value: '0'
-            }, {
-              label: '是',
-              value: '1'
-            }],
-            overHidden: true,
+            label: "是否同步",
+            prop: "whetherSynchronous",
+            type: "select",
+            dicData: [
+              {
+                label: "否",
+                value: "0"
+              },
+              {
+                label: "是",
+                value: "1"
+              }
+            ],
+            overHidden: true
           },
           {
-            label: '放箱号',
-            prop: 'containerNumber',
-            overHidden: true,
-          }, 
+            label: "放箱号",
+            prop: "containerNumber",
+            cell: true,
+            width: 150,
+            overHidden: true
+          },
           {
-            label: '箱号',
-            prop: 'boxCode',
-            overHidden: true,
+            label: "箱号",
+            prop: "boxCode",
+            overHidden: true
           },
           {
-            label: '箱型',
-            prop: 'boxType',
-            overHidden: true,
+            label: "箱型",
+            prop: "boxType",
+            overHidden: true
           },
           {
-            label: '港口',
-            prop: 'portCname',
-            overHidden: true,
+            label: "港口",
+            prop: "portCname",
+            overHidden: true
           },
           {
-            label: '场站',
-            prop: 'stationCname',
-            overHidden: true,
+            label: "场站",
+            prop: "stationCname",
+            overHidden: true
           },
           {
-            label: '提单号',
-            prop: 'hblno',
-            overHidden: true,
+            label: "提单号",
+            prop: "hblno",
+            cell: true,
+            overHidden: true
           },
           {
-            label: '出场日期',
-            prop: 'approachExitDate',
+            label: "出场日期",
+            prop: "approachExitDate",
             overHidden: true,
+            cell: true,
+            type: "date",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd 00:00:00"
           },
           {
-            label: '出场目的',
-            prop: 'objective',
+            label: "出场目的",
+            prop: "objective",
             cell: true,
-            type: 'select',
+            type: "select",
             dicUrl: "/api/blade-system/dict-biz/dictionary?code=exit_purpose",
             props: {
               label: "dictValue",
               value: "dictKey"
             },
-            overHidden: true,
+            overHidden: true
           },
           {
-            label: '箱好坏',
-            prop: 'boxStatus',
+            label: "箱好坏",
+            prop: "boxStatus",
+            cell: true,
             overHidden: true,
+            type: "select",
+            dicUrl: "/api/blade-system/dict-biz/dictionary?code=box_status",
+            props: {
+              label: "dictValue",
+              value: "dictValue"
+            }
           },
           {
-            label: '备注',
-            prop: 'remarks',
+            label: "备注",
+            prop: "remarks",
             cell: true,
             width: 150,
-            overHidden: true,
-          }]
+            overHidden: true
+          }
+        ]
       },
-      roleName: [],
-    }
+      roleName: []
+    };
   },
   components: {
     dicSelect,
@@ -209,26 +263,40 @@ export default {
       // this.editButton = true
       // this.editDisabled = true
       // this.optionForm.disabled = true
-      this.getDetail(this.detailData.id)
+      this.getDetail(this.detailData.id);
     }
   },
   methods: {
+    rowDicChange(name, row, el) {
+      if (name == "portCname") {
+        if (row) {
+          el.corpId = row.id;
+          el.portCode = row.code;
+          el.portEname = row.enName;
+        } else {
+          el.corpId = null;
+          el.portCode = null;
+          el.portEname = null;
+          el.portCname = null;
+        }
+      }
+    },
     synchronous() {
-      let ids = []
+      let ids = [];
       for (let item of this.selectionList) {
         if (item.whetherSynchronous == 1) {
           return this.$message.error("请选择未同步的明细");
         }
-        ids.push(item.id)
+        ids.push(item.id);
       }
       let obj = {
         id: this.detailData.id,
-        ids: ids.join(',')
-      }
+        ids: ids.join(",")
+      };
       synchronous(obj).then(res => {
         this.$message.success("操作成功");
-        this.getDetail(this.detailData.id)
-      })
+        this.getDetail(this.detailData.id);
+      });
     },
     rowEdit(row) {
       if (row.$cellEdit == true) {
@@ -236,8 +304,8 @@ export default {
         itemSubmit(row).then(res => {
           this.$message.success("保存成功");
           this.$set(row, "$cellEdit", false);
-          this.getDetail(this.detailData.id)
-        })
+          this.getDetail(this.detailData.id);
+        });
       } else {
         this.$set(row, "$cellEdit", true);
       }
@@ -248,33 +316,37 @@ export default {
     getDetail(id) {
       const loading = this.$loading({
         lock: true,
-        text: '加载中',
-        spinner: 'el-icon-loading',
-        background: 'rgba(255,255,255,0.7)'
+        text: "加载中",
+        spinner: "el-icon-loading",
+        background: "rgba(255,255,255,0.7)"
       });
-      detail({ pid: id }).then(res => {
-        this.dataList = res.data.data
-        this.$nextTick(() => {
-          this.$refs.crud.doLayout();
-          this.$refs.crud.dicInit();
+      detail({ pid: id })
+        .then(res => {
+          this.dataList = res.data.data;
+          this.$nextTick(() => {
+            this.$refs.crud.doLayout();
+            this.$refs.crud.dicInit();
+          });
+        })
+        .finally(() => {
+          loading.close();
         });
-      }).finally(() => {
-        loading.close()
-      })
     },
     submit(type) {
       const loading = this.$loading({
         lock: true,
-        text: '加载中',
-        spinner: 'el-icon-loading',
-        background: 'rgba(255,255,255,0.7)'
+        text: "加载中",
+        spinner: "el-icon-loading",
+        background: "rgba(255,255,255,0.7)"
       });
-      itemSubmit(this.dataList).then(res => {
-        this.$message.success("保存成功");
-        this.getDetail(this.detailData.id)
-      }).finally(() => {
-        loading.close();
-      })
+      itemSubmit(this.dataList)
+        .then(res => {
+          this.$message.success("保存成功");
+          this.getDetail(this.detailData.id);
+        })
+        .finally(() => {
+          loading.close();
+        });
     },
     //自定义列保存
     async saveColumn(ref, option, optionBack, code) {
@@ -297,21 +369,21 @@ export default {
     // 更改表格颜色
     headerClassName(tab) {
       //颜色间隔
-      let back = ""
+      let back = "";
       if (tab.columnIndex >= 0 && tab.column.level === 1) {
         if (tab.columnIndex % 2 === 0) {
-          back = "back-one"
+          back = "back-one";
         } else if (tab.columnIndex % 2 === 1) {
-          back = "back-two"
+          back = "back-two";
         }
       }
       return back;
     },
     goBack(type) {
       this.$emit("goBack");
-    },
+    }
   }
-}
+};
 </script>
 
 <style lang="scss" scoped>
@@ -329,7 +401,6 @@ export default {
   .el-form-item {
     margin-bottom: 0px !important;
   }
-
 }
 
 ::v-deep .avue-crud .el-table .el-form-item__label {
@@ -356,7 +427,6 @@ export default {
   padding: 4px 0;
 }
 
-
 ::v-deep .el-table--small td,
 .el-table--small th {
   padding: 2px !important;
@@ -377,11 +447,11 @@ export default {
 
 .meetSize {
   font-size: 16px;
-  color: #54BCBD;
+  color: #54bcbd;
 }
 
 .fontSize {
   font-size: 16px;
-  color: #81B337;
+  color: #81b337;
 }
 </style>

+ 93 - 1
src/views/boxManagement/rentalBox/detailsPage.vue

@@ -421,6 +421,32 @@
               <template slot="index" slot-scope="{ row, index }">
                 <span>{{ index + 1 }}</span>
               </template>
+              <template slot="auditStatus" slot-scope="{ row, size }">
+                <span v-if="row.auditStatus == 0">录入</span>
+                <span v-if="row.auditStatus == 1">提交审核</span>
+                <span v-if="row.auditStatus == 2">审核中</span>
+                <span v-if="row.auditStatus == 4" style="color:#409EFF;">审核通过</span>
+                <span v-if="row.auditStatus == 5" style="color:#67C23A;">申请修改</span>
+                <span v-if="row.auditStatus == 6" style="color:#F56C6C;">申请删除</span>
+              </template>
+              <template slot="uninvoicedAmount" slot-scope="{ row }">
+                <el-popover trigger="click" v-if="Number(row.uninvoicedAmount)">
+                  <avue-crud :data="fininvoicesData" :option="fininvoicesOption"></avue-crud>
+                  <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFininvoices(row)">
+                    {{ row.uninvoicedAmount }}
+                  </span>
+                </el-popover>
+                <span v-else>{{ row.uninvoicedAmount }}</span>
+              </template>
+              <template slot="stlTtlAmount" slot-scope="{ row }">
+                <el-popover trigger="click" v-if="Number(row.stlTtlAmount)">
+                  <avue-crud :data="finstlbillsData" :option="finstlbillsOption"></avue-crud>
+                  <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFinstlbills(row)">
+                    {{ row.stlTtlAmount }}
+                  </span>
+                </el-popover>
+                <span v-else>{{ row.stlTtlAmount }}</span>
+              </template>
               <template slot="billTypeForm" slot-scope="{ row, index }">
                 <dic-select
                   v-if="row.$cellEdit && !(row.automaticGenerated == 1)"
@@ -700,7 +726,9 @@ import {
   revokeRentCalculation,
   copyAgent,
   pleaseVerifyCost,
-  getAccurate
+  getAccurate,
+  finstlbillsGetAccBillIdList,
+  fininvoicesGetAccBillIdList
 } from "@/api/boxManagement/buyContainer/index.js";
 import dicSelect from "@/components/dicSelect/main";
 import checkSchedule from "@/components/checkH/checkSchedule.vue";
@@ -718,6 +746,58 @@ export default {
   name: "detailsPage",
   data() {
     return {
+      fininvoicesData: [],
+      fininvoicesOption: {
+        header: false,
+        menu: false,
+        align: "center",
+        column: [
+          {
+            label: "发票号",
+            prop: "taxInvoiceNo",
+            width: "200",
+            overHidden: true
+          },
+          {
+            label: "开票日期",
+            prop: "invoiceDate",
+            width: "150",
+            overHidden: true
+          },
+          {
+            label: "开票人",
+            prop: "createUserName",
+            width: "100",
+            overHidden: true
+          }
+        ]
+      },
+      finstlbillsData: [],
+      finstlbillsOption: {
+        header: false,
+        menu: false,
+        align: "center",
+        column: [
+          {
+            label: "结算单号",
+            prop: "billNo",
+            width: "200",
+            overHidden: true
+          },
+          {
+            label: "结算日期",
+            prop: "billDate",
+            width: "150",
+            overHidden: true
+          },
+          {
+            label: "结算人",
+            prop: "createUserName",
+            width: "100",
+            overHidden: true
+          }
+        ]
+      },
       searchStatus: false,
       query: {},
       saberUserInfo: JSON.parse(localStorage.getItem("saber-userInfo")).content, // 当前登录人个人信息
@@ -1809,6 +1889,18 @@ export default {
     this.saveLocalCurrency(this.deptId);
   },
   methods: {
+    viewFininvoices(row) {
+      this.fininvoicesData = [];
+      fininvoicesGetAccBillIdList({ accBillId: row.accBillId }).then(res => {
+        this.fininvoicesData = res.data.data;
+      });
+    },
+    viewFinstlbills(row) {
+      this.finstlbillsData = [];
+      finstlbillsGetAccBillIdList({ accBillId: row.accBillId }).then(res => {
+        this.finstlbillsData = res.data.data;
+      });
+    },
     verifyChange(name, row) {
       if (row[name]) {
         row[name] = row[name].replace(/\s+/g, "");

+ 127 - 9
src/views/iosBasicData/OceanFreightImport/bills/assembly/feecenter.vue

@@ -186,6 +186,14 @@
         <template slot="accStatus" slot-scope="{ row, size }">
           <span>{{ row.accStatus ? "是" : "否" }}</span>
         </template>
+        <template slot="auditStatus" slot-scope="{ row, size }">
+          <span v-if="row.auditStatus == 0">录入</span>
+          <span v-if="row.auditStatus == 1">提交审核</span>
+          <span v-if="row.auditStatus == 2">审核中</span>
+          <span v-if="row.auditStatus == 4" style="color:#409EFF;">审核通过</span>
+          <span v-if="row.auditStatus == 5" style="color:#67C23A;">申请修改</span>
+          <span v-if="row.auditStatus == 6" style="color:#F56C6C;">申请删除</span>
+        </template>
         <template slot="corpType" slot-scope="{ row, index }">
           <dic-select
             v-if="row.edit"
@@ -379,6 +387,24 @@
           ></el-input-number>
           <span v-else>{{ row.taxRate }}</span>
         </template>
+        <template slot="uninvoicedAmount" slot-scope="{ row }">
+          <el-popover trigger="click" v-if="Number(row.uninvoicedAmount)">
+            <avue-crud :data="fininvoicesData" :option="fininvoicesOption"></avue-crud>
+            <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFininvoices(row)">
+              {{ row.uninvoicedAmount }}
+            </span>
+          </el-popover>
+          <span v-else>{{ row.uninvoicedAmount }}</span>
+        </template>
+        <template slot="stlTtlAmount" slot-scope="{ row }">
+          <el-popover trigger="click" v-if="Number(row.stlTtlAmount)">
+            <avue-crud :data="finstlbillsData" :option="finstlbillsOption"></avue-crud>
+            <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFinstlbills(row)">
+              {{ row.stlTtlAmount }}
+            </span>
+          </el-popover>
+          <span v-else>{{ row.stlTtlAmount }}</span>
+        </template>
         <template slot="remarks" slot-scope="{ row }">
           <el-input v-if="row.edit" v-model="row.remarks" size="small" placeholder="请输入"></el-input>
           <span v-else>{{ row.remarks }}</span>
@@ -507,6 +533,14 @@
         <template slot="index" slot-scope="scope">
           <span>{{ scope.index + 1 }}</span>
         </template>
+        <template slot="auditStatus" slot-scope="{ row, size }">
+          <span v-if="row.auditStatus == 0">录入</span>
+          <span v-if="row.auditStatus == 1">提交审核</span>
+          <span v-if="row.auditStatus == 2">审核中</span>
+          <span v-if="row.auditStatus == 4" style="color:#409EFF;">审核通过</span>
+          <span v-if="row.auditStatus == 5" style="color:#67C23A;">申请修改</span>
+          <span v-if="row.auditStatus == 6" style="color:#F56C6C;">申请删除</span>
+        </template>
         <template slot="accStatus" slot-scope="{ row, size }">
           <span>{{ row.accStatus ? "是" : "否" }}</span>
         </template>
@@ -686,6 +720,24 @@
           ></el-input-number>
           <span v-else>{{ row.taxRate }}</span>
         </template>
+        <template slot="uninvoicedAmount" slot-scope="{ row }">
+          <el-popover trigger="click" v-if="Number(row.uninvoicedAmount)">
+            <avue-crud :data="fininvoicesData" :option="fininvoicesOption"></avue-crud>
+            <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFininvoices(row)">
+              {{ row.uninvoicedAmount }}
+            </span>
+          </el-popover>
+          <span v-else>{{ row.uninvoicedAmount }}</span>
+        </template>
+        <template slot="stlTtlAmount" slot-scope="{ row }">
+          <el-popover trigger="click" v-if="Number(row.stlTtlAmount)">
+            <avue-crud :data="finstlbillsData" :option="finstlbillsOption"></avue-crud>
+            <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFinstlbills(row)">
+              {{ row.stlTtlAmount }}
+            </span>
+          </el-popover>
+          <span v-else>{{ row.stlTtlAmount }}</span>
+        </template>
         <template slot="remarks" slot-scope="{ row }">
           <el-input v-if="row.edit" v-model="row.remarks" size="small" placeholder="请输入"></el-input>
           <span v-else>{{ row.remarks }}</span>
@@ -1043,7 +1095,9 @@ import {
   finaccbillsRevokeBill,
   getFeeCenterCorpIds,
   pleaseVerifyCost,
-  revokeCheckPleaseVerifyCost
+  revokeCheckPleaseVerifyCost,
+  finstlbillsGetAccBillIdList,
+  fininvoicesGetAccBillIdList
 } from "@/api/iosBasicData/feecenter";
 import { getWorkDicts } from "@/api/system/dictbiz";
 import { feecenterTemplateImport, listFeeCountByCorp, losbfeestemplateGetListTemplate, templateImportBatch } from "@/api/iosBasicData/bills";
@@ -1106,6 +1160,58 @@ export default {
   },
   data() {
     return {
+      fininvoicesData: [],
+      fininvoicesOption: {
+        header: false,
+        menu: false,
+        align: "center",
+        column: [
+          {
+            label: "发票号",
+            prop: "taxInvoiceNo",
+            width: "200",
+            overHidden: true
+          },
+          {
+            label: "开票日期",
+            prop: "invoiceDate",
+            width: "150",
+            overHidden: true
+          },
+          {
+            label: "开票人",
+            prop: "createUserName",
+            width: "100",
+            overHidden: true
+          }
+        ]
+      },
+      finstlbillsData: [],
+      finstlbillsOption: {
+        header: false,
+        menu: false,
+        align: "center",
+        column: [
+          {
+            label: "结算单号",
+            prop: "billNo",
+            width: "200",
+            overHidden: true
+          },
+          {
+            label: "结算日期",
+            prop: "billDate",
+            width: "150",
+            overHidden: true
+          },
+          {
+            label: "结算人",
+            prop: "createUserName",
+            width: "100",
+            overHidden: true
+          }
+        ]
+      },
       amendsStatus: false,
       amendOption: {
         border: true,
@@ -2201,6 +2307,18 @@ export default {
     }
   },
   methods: {
+    viewFininvoices(row) {
+      this.fininvoicesData = [];
+      fininvoicesGetAccBillIdList({ accBillId: row.accBillId }).then(res => {
+        this.fininvoicesData = res.data.data;
+      });
+    },
+    viewFinstlbills(row) {
+      this.finstlbillsData = [];
+      finstlbillsGetAccBillIdList({ accBillId: row.accBillId }).then(res => {
+        this.finstlbillsData = res.data.data;
+      });
+    },
     rowView(row, index) {
       this.$refs.feeModifyView.openDialog(row);
     },
@@ -3197,34 +3315,34 @@ export default {
         console.log(value, name, row);
         // 计量单位
         this.$set(row, name, value);
-         for (let item of this.unitNoData) {
-          console.log(item.code,value,item,1111)
+        for (let item of this.unitNoData) {
+          console.log(item.code, value, item, 1111);
           if (item.code == value) {
             // 按箱型
-            if (item.quantityRule == '按箱量') {
+            if (item.quantityRule == "按箱量") {
               // 选择的箱那边的数据
               if (item.boxquantity) {
                 this.$set(row, "quantity", item.boxquantity);
               }
             }
             // 按票
-            if (item.quantityRule == '按票') {
+            if (item.quantityRule == "按票") {
               this.$set(row, "quantity", 1);
             }
             // 按重量
-            if (item.quantityRule =='按重量') {
+            if (item.quantityRule == "按重量") {
               this.$set(row, "quantity", this.assemblyForm.grossWeight);
             }
             // 按TEU
-            if (item.quantityRule == '按TEU') {
+            if (item.quantityRule == "按TEU") {
               this.$set(row, "quantity", item.boxquantity);
             }
             // 按尺码
-            if (item.quantityRule == '按尺码') {
+            if (item.quantityRule == "按尺码") {
               this.$set(row, "quantity", this.assemblyForm.measurement);
             }
             // 按件数
-            if (item.quantityRule == '按件数') {
+            if (item.quantityRule == "按件数") {
               this.$set(row, "quantity", this.assemblyForm.quantity);
             }
           }

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

@@ -2024,6 +2024,7 @@ export default {
           // return time.getTime() < Date.now() || time.getTime() > Date.parse(NdayDate(90))
           // 获取前后的45天 Date.parse(NdayDate(45))
           let timeDay = localStorage.getItem("timeFrame") ? localStorage.getItem("timeFrame") : 45;
+          console.log(timeDay,time.getTime() < Date.parse(NdayDate(-timeDay)) || time.getTime() > Date.parse(NdayDate(timeDay - 1)))
           return time.getTime() < Date.parse(NdayDate(-timeDay)) || time.getTime() > Date.parse(NdayDate(timeDay - 1));
         }
       },

+ 133 - 18
src/views/iosBasicData/SeafreightExportF/bills/assembly/feecenter.vue

@@ -183,9 +183,14 @@
         <template slot="index" slot-scope="scope">
           <span>{{ scope.index + 1 }}</span>
         </template>
-        <!-- <template slot="accStatus" slot-scope="{row,size}">
-                    <span>{{ row.accStatus ? '是' : '否' }}</span>
-                </template> -->
+        <template slot="auditStatus" slot-scope="{ row, size }">
+          <span v-if="row.auditStatus == 0">录入</span>
+          <span v-if="row.auditStatus == 1">提交审核</span>
+          <span v-if="row.auditStatus == 2">审核中</span>
+          <span v-if="row.auditStatus == 4" style="color:#409EFF;">审核通过</span>
+          <span v-if="row.auditStatus == 5" style="color:#67C23A;">申请修改</span>
+          <span v-if="row.auditStatus == 6" style="color:#F56C6C;">申请删除</span>
+        </template>
         <template slot="corpType" slot-scope="{ row, index }">
           <dic-select
             v-if="row.edit"
@@ -385,6 +390,24 @@
           <el-input v-if="row.edit" v-model="row.remarks" size="small" placeholder="请输入"></el-input>
           <span v-else>{{ row.remarks }}</span>
         </template>
+        <template slot="uninvoicedAmount" slot-scope="{ row }">
+          <el-popover trigger="click" v-if="Number(row.uninvoicedAmount)">
+            <avue-crud :data="fininvoicesData" :option="fininvoicesOption"></avue-crud>
+            <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFininvoices(row)">
+              {{ row.uninvoicedAmount }}
+            </span>
+          </el-popover>
+          <span v-else>{{ row.uninvoicedAmount }}</span>
+        </template>
+        <template slot="stlTtlAmount" slot-scope="{ row }">
+          <el-popover trigger="click" v-if="Number(row.stlTtlAmount)">
+            <avue-crud :data="finstlbillsData" :option="finstlbillsOption"></avue-crud>
+            <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFinstlbills(row)">
+              {{ row.stlTtlAmount }}
+            </span>
+          </el-popover>
+          <span v-else>{{ row.stlTtlAmount }}</span>
+        </template>
         <template slot-scope="{ row, index }" slot="menu">
           <el-button v-if="row.id" type="text" size="small" @click="rowView(row, index)">查看</el-button>
           <!--<el-button v-if="scope.row.edit" type="text" size="small" @click="savefun(scope.row,scope.index,'D')">保存</el-button>-->
@@ -504,6 +527,14 @@
         <template slot="index" slot-scope="scope">
           <span>{{ scope.index + 1 }}</span>
         </template>
+        <template slot="auditStatus" slot-scope="{ row, size }">
+          <span v-if="row.auditStatus == 0">录入</span>
+          <span v-if="row.auditStatus == 1">提交审核</span>
+          <span v-if="row.auditStatus == 2">审核中</span>
+          <span v-if="row.auditStatus == 4" style="color:#409EFF;">审核通过</span>
+          <span v-if="row.auditStatus == 5" style="color:#67C23A;">申请修改</span>
+          <span v-if="row.auditStatus == 6" style="color:#F56C6C;">申请删除</span>
+        </template>
         <template slot="accStatus" slot-scope="{ row, size }">
           <span>{{ row.accStatus ? "是" : "否" }}</span>
         </template>
@@ -686,6 +717,24 @@
           ></el-input-number>
           <span v-else>{{ row.taxRate }}</span>
         </template>
+        <template slot="uninvoicedAmount" slot-scope="{ row }">
+          <el-popover trigger="click" v-if="Number(row.uninvoicedAmount)">
+            <avue-crud :data="fininvoicesData" :option="fininvoicesOption"></avue-crud>
+            <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFininvoices(row)">
+              {{ row.uninvoicedAmount }}
+            </span>
+          </el-popover>
+          <span v-else>{{ row.uninvoicedAmount }}</span>
+        </template>
+        <template slot="stlTtlAmount" slot-scope="{ row }">
+          <el-popover trigger="click" v-if="Number(row.stlTtlAmount)">
+            <avue-crud :data="finstlbillsData" :option="finstlbillsOption"></avue-crud>
+            <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFinstlbills(row)">
+              {{ row.stlTtlAmount }}
+            </span>
+          </el-popover>
+          <span v-else>{{ row.stlTtlAmount }}</span>
+        </template>
         <template slot="remarks" slot-scope="{ row }">
           <el-input v-if="row.edit" v-model="row.remarks" size="small" placeholder="请输入"></el-input>
           <span v-else>{{ row.remarks }}</span>
@@ -1042,7 +1091,9 @@ import {
   getFeeCenterCorpIds,
   pleaseVerifyCost,
   revokeCheckPleaseVerifyCost,
-  synchronizationPrompt
+  synchronizationPrompt,
+  finstlbillsGetAccBillIdList,
+  fininvoicesGetAccBillIdList
 } from "@/api/iosBasicData/feecenter";
 import { getWorkDicts } from "@/api/system/dictbiz";
 import { feecenterTemplateImport, listFeeCountByCorp, losbfeestemplateGetListTemplate, templateImportBatch } from "@/api/iosBasicData/bills";
@@ -1095,6 +1146,58 @@ export default {
   },
   data() {
     return {
+      fininvoicesData: [],
+      fininvoicesOption: {
+        header: false,
+        menu: false,
+        align: "center",
+        column: [
+          {
+            label: "发票号",
+            prop: "taxInvoiceNo",
+            width: "200",
+            overHidden: true
+          },
+          {
+            label: "开票日期",
+            prop: "invoiceDate",
+            width: "150",
+            overHidden: true
+          },
+          {
+            label: "开票人",
+            prop: "createUserName",
+            width: "100",
+            overHidden: true
+          }
+        ]
+      },
+      finstlbillsData: [],
+      finstlbillsOption: {
+        header: false,
+        menu: false,
+        align: "center",
+        column: [
+          {
+            label: "结算单号",
+            prop: "billNo",
+            width: "200",
+            overHidden: true
+          },
+          {
+            label: "结算日期",
+            prop: "billDate",
+            width: "150",
+            overHidden: true
+          },
+          {
+            label: "结算人",
+            prop: "createUserName",
+            width: "100",
+            overHidden: true
+          }
+        ]
+      },
       amendsStatus: false,
       amendOption: {
         border: true,
@@ -2203,6 +2306,18 @@ export default {
     });
   },
   methods: {
+    viewFininvoices(row) {
+      this.fininvoicesData = [];
+      fininvoicesGetAccBillIdList({ accBillId: row.accBillId }).then(res => {
+        this.fininvoicesData = res.data.data;
+      });
+    },
+    viewFinstlbills(row) {
+      this.finstlbillsData = [];
+      finstlbillsGetAccBillIdList({ accBillId: row.accBillId }).then(res => {
+        this.finstlbillsData = res.data.data;
+      });
+    },
     rowView(row, index) {
       this.$refs.feeModifyView.openDialog(row);
     },
@@ -3206,33 +3321,33 @@ export default {
         // 计量单位
         this.$set(row, name, value);
         for (let item of this.unitNoData) {
-          console.log(item.code,value,item,1111)
+          console.log(item.code, value, item, 1111);
           if (item.code == value) {
             // 按箱型
-            if (item.quantityRule == '按箱量') {
+            if (item.quantityRule == "按箱量") {
               // 选择的箱那边的数据
               if (item.boxquantity) {
                 this.$set(row, "quantity", item.boxquantity);
               }
             }
             // 按票
-            if (item.quantityRule == '按票') {
+            if (item.quantityRule == "按票") {
               this.$set(row, "quantity", 1);
             }
             // 按重量
-            if (item.quantityRule =='按重量') {
+            if (item.quantityRule == "按重量") {
               this.$set(row, "quantity", this.assemblyForm.grossWeight);
             }
             // 按TEU
-            if (item.quantityRule == '按TEU') {
+            if (item.quantityRule == "按TEU") {
               this.$set(row, "quantity", item.boxquantity);
             }
             // 按尺码
-            if (item.quantityRule == '按尺码') {
+            if (item.quantityRule == "按尺码") {
               this.$set(row, "quantity", this.assemblyForm.measurement);
             }
             // 按件数
-            if (item.quantityRule == '按件数') {
+            if (item.quantityRule == "按件数") {
               this.$set(row, "quantity", this.assemblyForm.quantity);
             }
           }
@@ -3453,16 +3568,16 @@ export default {
         srcBillId = this.assemblyForm.id;
       }
       const res = await getBunitsPage({ srcBillId });
-      console.log(res)
+      console.log(res);
       this.unitNoData = [];
       let boxarr40 = ["40HC", "40GP", "40FB", "40RF", "40RH"];
-      let boxarr20 = ["20GP","20HC"];
+      let boxarr20 = ["20GP", "20HC"];
       let teunum = 0;
       for (let item of res.data.data) {
         // 按箱型
-        if (item.quantityRule != '按箱量') {
+        if (item.quantityRule != "按箱量") {
           // TEU
-          if (item.quantityRule == '按TEU') {
+          if (item.quantityRule == "按TEU") {
             for (let data of this.assemblyForm.preContainersList) {
               // 40*2 20*1
               if (boxarr40.indexOf(data.cntrTypeCode) != -1) {
@@ -3479,16 +3594,16 @@ export default {
       }
       let arr = this.assemblyForm.preContainersList.map(item => {
         return {
-          quantityRule:'按箱量', // 1 是按箱量
+          quantityRule: "按箱量", // 1 是按箱量
           code: item.cntrTypeCode,
           boxquantity: item.quantity
         };
       });
       this.unitNoData = [...arr, ...this.unitNoData];
-      console.log(this.unitNoData)
+      console.log(this.unitNoData);
       // 选择费用时带出第一条
       if (type) {
-        console.log()
+        console.log();
         let feeunitNodata = [];
         for (let item of this.unitNoData) {
           if (item.quantityRule == feeRow.unitNo) {

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

@@ -1195,10 +1195,9 @@ export default {
         this.$refs.form.validate((valid, done) => {
           done();
           if (!valid) return;
-          // 结算单位
-          // if (!this.form.corpId) {
-          //   return this.$message.error("请选择结算单位");
-          // }
+          if (!this.form.taxInvoiceNo) {
+            return this.$message.error("税控发票号不能为空");
+          }
           this.form.billNoFormat = "XXFP";
           this.form.businessTypeCode = "XXFP";
           let obj = {

+ 147 - 29
src/views/ow/owPut/detailsPage.vue

@@ -73,7 +73,7 @@
                   label="shortName"
                   res="records"
                   @selectChange="dicChange('purchaseCompanyName', $event)"
-                  :disabled="editDisabled ||fixData && form.whetherEnable == '是'"
+                  :disabled="editDisabled || (fixData && form.whetherEnable == '是')"
                   url="/blade-los/bcorps/selectList?status=0&current=1&size=5&corpTypeName=箱东"
                   :filterable="true"
                   :remote="true"
@@ -196,7 +196,7 @@
                   key="id"
                   label="cnName"
                   res="records"
-                 url="/blade-los/bcntrtypes/list?current=1&size=100"
+                  url="/blade-los/bcntrtypes/list?current=1&size=100"
                   :filterable="true"
                   :remote="true"
                   dataName="cnName"
@@ -286,7 +286,7 @@
                   key="id"
                   label="cnName"
                   res="records"
-                 url="/blade-los/bcntrtypes/list?current=1&size=100"
+                  url="/blade-los/bcntrtypes/list?current=1&size=100"
                   :filterable="true"
                   :remote="true"
                   dataName="cnName"
@@ -544,6 +544,32 @@
               <template slot="index" slot-scope="{ row, index }">
                 <span>{{ index + 1 }}</span>
               </template>
+              <template slot="auditStatus" slot-scope="{ row, size }">
+                <span v-if="row.auditStatus == 0">录入</span>
+                <span v-if="row.auditStatus == 1">提交审核</span>
+                <span v-if="row.auditStatus == 2">审核中</span>
+                <span v-if="row.auditStatus == 4" style="color:#409EFF;">审核通过</span>
+                <span v-if="row.auditStatus == 5" style="color:#67C23A;">申请修改</span>
+                <span v-if="row.auditStatus == 6" style="color:#F56C6C;">申请删除</span>
+              </template>
+              <template slot="uninvoicedAmount" slot-scope="{ row }">
+                <el-popover trigger="click" v-if="Number(row.uninvoicedAmount)">
+                  <avue-crud :data="fininvoicesData" :option="fininvoicesOption"></avue-crud>
+                  <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFininvoices(row)">
+                    {{ row.uninvoicedAmount }}
+                  </span>
+                </el-popover>
+                <span v-else>{{ row.uninvoicedAmount }}</span>
+              </template>
+              <template slot="stlTtlAmount" slot-scope="{ row }">
+                <el-popover trigger="click" v-if="Number(row.stlTtlAmount)">
+                  <avue-crud :data="finstlbillsData" :option="finstlbillsOption"></avue-crud>
+                  <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFinstlbills(row)">
+                    {{ row.stlTtlAmount }}
+                  </span>
+                </el-popover>
+                <span v-else>{{ row.stlTtlAmount }}</span>
+              </template>
               <template slot="billTypeForm" slot-scope="{ row, index }">
                 <dic-select
                   v-if="row.$cellEdit && !(row.automaticGenerated == 1)"
@@ -722,6 +748,32 @@
               <template slot="index" slot-scope="{ row, index }">
                 <span>{{ index + 1 }}</span>
               </template>
+              <template slot="auditStatus" slot-scope="{ row, size }">
+                <span v-if="row.auditStatus == 0">录入</span>
+                <span v-if="row.auditStatus == 1">提交审核</span>
+                <span v-if="row.auditStatus == 2">审核中</span>
+                <span v-if="row.auditStatus == 4" style="color:#409EFF;">审核通过</span>
+                <span v-if="row.auditStatus == 5" style="color:#67C23A;">申请修改</span>
+                <span v-if="row.auditStatus == 6" style="color:#F56C6C;">申请删除</span>
+              </template>
+              <template slot="uninvoicedAmount" slot-scope="{ row }">
+                <el-popover trigger="click" v-if="Number(row.uninvoicedAmount)">
+                  <avue-crud :data="fininvoicesData" :option="fininvoicesOption"></avue-crud>
+                  <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFininvoices(row)">
+                    {{ row.uninvoicedAmount }}
+                  </span>
+                </el-popover>
+                <span v-else>{{ row.uninvoicedAmount }}</span>
+              </template>
+              <template slot="stlTtlAmount" slot-scope="{ row }">
+                <el-popover trigger="click" v-if="Number(row.stlTtlAmount)">
+                  <avue-crud :data="finstlbillsData" :option="finstlbillsOption"></avue-crud>
+                  <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFinstlbills(row)">
+                    {{ row.stlTtlAmount }}
+                  </span>
+                </el-popover>
+                <span v-else>{{ row.stlTtlAmount }}</span>
+              </template>
               <template slot="billTypeForm" slot-scope="{ row, index }">
                 <dic-select
                   v-if="row.$cellEdit && !(row.automaticGenerated == 1)"
@@ -1147,7 +1199,9 @@ import {
   mergeGenerateCost,
   revokeMergeGenerateCost,
   revokePickUpCost,
-  revokeCheckPleaseVerifyCost
+  revokeCheckPleaseVerifyCost,
+  finstlbillsGetAccBillIdList,
+  fininvoicesGetAccBillIdList
 } from "@/api/boxManagement/buyContainer";
 import dicSelect from "@/components/dicSelect/main";
 import containerNumber from "@/components/dicSelect/containerNumber";
@@ -1164,6 +1218,58 @@ export default {
   name: "detailsPage",
   data() {
     return {
+      fininvoicesData: [],
+      fininvoicesOption: {
+        header: false,
+        menu: false,
+        align: "center",
+        column: [
+          {
+            label: "发票号",
+            prop: "taxInvoiceNo",
+            width: "200",
+            overHidden: true
+          },
+          {
+            label: "开票日期",
+            prop: "invoiceDate",
+            width: "150",
+            overHidden: true
+          },
+          {
+            label: "开票人",
+            prop: "createUserName",
+            width: "100",
+            overHidden: true
+          }
+        ]
+      },
+      finstlbillsData: [],
+      finstlbillsOption: {
+        header: false,
+        menu: false,
+        align: "center",
+        column: [
+          {
+            label: "结算单号",
+            prop: "billNo",
+            width: "200",
+            overHidden: true
+          },
+          {
+            label: "结算日期",
+            prop: "billDate",
+            width: "150",
+            overHidden: true
+          },
+          {
+            label: "结算人",
+            prop: "createUserName",
+            width: "100",
+            overHidden: true
+          }
+        ]
+      },
       userId: JSON.parse(localStorage.getItem("saber-userInfo")).content.user_id,
       saberUserInfo: JSON.parse(localStorage.getItem("saber-userInfo")).content, // 当前登录人个人信息
       selecPickList: [],
@@ -1767,31 +1873,31 @@ export default {
               }
             ]
           },
-          {
-            label: "箱况",
-            prop: "boxCondition",
-            overHidden: true,
-            cell: true,
-            width: 100,
-            type: "select",
-            dicData: [
-              {
-                label: "新",
-                value: "新"
-              },
-              {
-                label: "旧",
-                value: "旧"
-              }
-            ],
-            rules: [
-              {
-                required: true,
-                message: "请选择箱况",
-                trigger: "blur"
-              }
-            ]
-          },
+          // {
+          //   label: "箱况",
+          //   prop: "boxCondition",
+          //   overHidden: true,
+          //   cell: true,
+          //   width: 100,
+          //   type: "select",
+          //   dicData: [
+          //     {
+          //       label: "新",
+          //       value: "新"
+          //     },
+          //     {
+          //       label: "旧",
+          //       value: "旧"
+          //     }
+          //   ],
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: "请选择箱况",
+          //       trigger: "blur"
+          //     }
+          //   ]
+          // },
           {
             label: "箱状态",
             prop: "status",
@@ -2970,6 +3076,18 @@ export default {
     this.saveLocalCurrency(this.deptId);
   },
   methods: {
+    viewFininvoices(row) {
+      this.fininvoicesData = [];
+      fininvoicesGetAccBillIdList({ accBillId: row.accBillId }).then(res => {
+        this.fininvoicesData = res.data.data;
+      });
+    },
+    viewFinstlbills(row) {
+      this.finstlbillsData = [];
+      finstlbillsGetAccBillIdList({ accBillId: row.accBillId }).then(res => {
+        this.finstlbillsData = res.data.data;
+      });
+    },
     verifyChange(name, row) {
       if (row[name]) {
         row[name] = row[name].replace(/\s+/g, "");

+ 148 - 34
src/views/ow/owTask/detailsPage.vue

@@ -236,7 +236,7 @@
                   key="id"
                   label="cnName"
                   res="records"
-                 url="/blade-los/bcntrtypes/list?current=1&size=100"
+                  url="/blade-los/bcntrtypes/list?current=1&size=100"
                   :filterable="true"
                   :remote="true"
                   dataName="cnName"
@@ -250,11 +250,7 @@
               <template slot="boxNumber">
                 <el-input-number
                   v-model="form.boxNumber"
-                  :disabled="
-                    editDisabled ||
-                      (fixData && form.whetherEnable == '是') ||
-                      form.suitcaseNum != 0
-                  "
+                  :disabled="editDisabled || (fixData && form.whetherEnable == '是') || form.suitcaseNum != 0"
                   :min="1"
                   :controls="false"
                   placeholder="请输入 箱量"
@@ -334,7 +330,7 @@
                   key="id"
                   label="cnName"
                   res="records"
-                 url="/blade-los/bcntrtypes/list?current=1&size=100"
+                  url="/blade-los/bcntrtypes/list?current=1&size=100"
                   :filterable="true"
                   :remote="true"
                   dataName="cnName"
@@ -604,6 +600,32 @@
               <template slot="index" slot-scope="{ row, index }">
                 <span>{{ index + 1 }}</span>
               </template>
+              <template slot="auditStatus" slot-scope="{ row, size }">
+                <span v-if="row.auditStatus == 0">录入</span>
+                <span v-if="row.auditStatus == 1">提交审核</span>
+                <span v-if="row.auditStatus == 2">审核中</span>
+                <span v-if="row.auditStatus == 4" style="color:#409EFF;">审核通过</span>
+                <span v-if="row.auditStatus == 5" style="color:#67C23A;">申请修改</span>
+                <span v-if="row.auditStatus == 6" style="color:#F56C6C;">申请删除</span>
+              </template>
+              <template slot="uninvoicedAmount" slot-scope="{ row }">
+                <el-popover trigger="click" v-if="Number(row.uninvoicedAmount)">
+                  <avue-crud :data="fininvoicesData" :option="fininvoicesOption"></avue-crud>
+                  <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFininvoices(row)">
+                    {{ row.uninvoicedAmount }}
+                  </span>
+                </el-popover>
+                <span v-else>{{ row.uninvoicedAmount }}</span>
+              </template>
+              <template slot="stlTtlAmount" slot-scope="{ row }">
+                <el-popover trigger="click" v-if="Number(row.stlTtlAmount)">
+                  <avue-crud :data="finstlbillsData" :option="finstlbillsOption"></avue-crud>
+                  <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFinstlbills(row)">
+                    {{ row.stlTtlAmount }}
+                  </span>
+                </el-popover>
+                <span v-else>{{ row.stlTtlAmount }}</span>
+              </template>
               <template slot="billTypeForm" slot-scope="{ row, index }">
                 <dic-select
                   v-if="row.$cellEdit && !(row.automaticGenerated == 1)"
@@ -785,6 +807,32 @@
               <template slot="index" slot-scope="{ row, index }">
                 <span>{{ index + 1 }}</span>
               </template>
+              <template slot="auditStatus" slot-scope="{ row, size }">
+                <span v-if="row.auditStatus == 0">录入</span>
+                <span v-if="row.auditStatus == 1">提交审核</span>
+                <span v-if="row.auditStatus == 2">审核中</span>
+                <span v-if="row.auditStatus == 4" style="color:#409EFF;">审核通过</span>
+                <span v-if="row.auditStatus == 5" style="color:#67C23A;">申请修改</span>
+                <span v-if="row.auditStatus == 6" style="color:#F56C6C;">申请删除</span>
+              </template>
+              <template slot="uninvoicedAmount" slot-scope="{ row }">
+                <el-popover trigger="click" v-if="Number(row.uninvoicedAmount)">
+                  <avue-crud :data="fininvoicesData" :option="fininvoicesOption"></avue-crud>
+                  <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFininvoices(row)">
+                    {{ row.uninvoicedAmount }}
+                  </span>
+                </el-popover>
+                <span v-else>{{ row.uninvoicedAmount }}</span>
+              </template>
+              <template slot="stlTtlAmount" slot-scope="{ row }">
+                <el-popover trigger="click" v-if="Number(row.stlTtlAmount)">
+                  <avue-crud :data="finstlbillsData" :option="finstlbillsOption"></avue-crud>
+                  <span style="color: #409eff; cursor: pointer" slot="reference" @click="viewFinstlbills(row)">
+                    {{ row.stlTtlAmount }}
+                  </span>
+                </el-popover>
+                <span v-else>{{ row.stlTtlAmount }}</span>
+              </template>
               <template slot="billTypeForm" slot-scope="{ row, index }">
                 <dic-select
                   v-if="row.$cellEdit && !(row.automaticGenerated == 1)"
@@ -1247,7 +1295,9 @@ import {
   bfeesList,
   mergeGenerateCost,
   revokeMergeGenerateCost,
-  revokePickUpCost
+  revokePickUpCost,
+  finstlbillsGetAccBillIdList,
+  fininvoicesGetAccBillIdList
 } from "@/api/boxManagement/buyContainer";
 import { getList as getOwList } from "@/api/boxManagement/buyContainer/index.js";
 import dicSelect from "@/components/dicSelect/main";
@@ -1266,6 +1316,58 @@ export default {
   name: "detailsPage",
   data() {
     return {
+      fininvoicesData: [],
+      fininvoicesOption: {
+        header: false,
+        menu: false,
+        align: "center",
+        column: [
+          {
+            label: "发票号",
+            prop: "taxInvoiceNo",
+            width: "200",
+            overHidden: true
+          },
+          {
+            label: "开票日期",
+            prop: "invoiceDate",
+            width: "150",
+            overHidden: true
+          },
+          {
+            label: "开票人",
+            prop: "createUserName",
+            width: "100",
+            overHidden: true
+          }
+        ]
+      },
+      finstlbillsData: [],
+      finstlbillsOption: {
+        header: false,
+        menu: false,
+        align: "center",
+        column: [
+          {
+            label: "结算单号",
+            prop: "billNo",
+            width: "200",
+            overHidden: true
+          },
+          {
+            label: "结算日期",
+            prop: "billDate",
+            width: "150",
+            overHidden: true
+          },
+          {
+            label: "结算人",
+            prop: "createUserName",
+            width: "100",
+            overHidden: true
+          }
+        ]
+      },
       owhyDialog: false,
       userId: JSON.parse(localStorage.getItem("saber-userInfo")).content.user_id,
       saberUserInfo: JSON.parse(localStorage.getItem("saber-userInfo")).content, // 当前登录人个人信息
@@ -1561,7 +1663,7 @@ export default {
         boxCondition: "新",
         conditions: "CW",
         freeDay: 30,
-        priorityLevel:'1',
+        priorityLevel: "1",
         // loloPol: '箱东付',
         // loloPod: '箱东付',
         rentTermList: [
@@ -2063,31 +2165,31 @@ export default {
               }
             ]
           },
-          {
-            label: "箱况",
-            prop: "boxCondition",
-            overHidden: true,
-            cell: true,
-            width: 100,
-            type: "select",
-            dicData: [
-              {
-                label: "新",
-                value: "新"
-              },
-              {
-                label: "旧",
-                value: "旧"
-              }
-            ],
-            rules: [
-              {
-                required: true,
-                message: "请选择箱况",
-                trigger: "blur"
-              }
-            ]
-          },
+          // {
+          //   label: "箱况",
+          //   prop: "boxCondition",
+          //   overHidden: true,
+          //   cell: true,
+          //   width: 100,
+          //   type: "select",
+          //   dicData: [
+          //     {
+          //       label: "新",
+          //       value: "新"
+          //     },
+          //     {
+          //       label: "旧",
+          //       value: "旧"
+          //     }
+          //   ],
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: "请选择箱况",
+          //       trigger: "blur"
+          //     }
+          //   ]
+          // },
           {
             label: "箱状态",
             prop: "status",
@@ -3280,6 +3382,18 @@ export default {
     }
   },
   methods: {
+    viewFininvoices(row) {
+      this.fininvoicesData = [];
+      fininvoicesGetAccBillIdList({ accBillId: row.accBillId }).then(res => {
+        this.fininvoicesData = res.data.data;
+      });
+    },
+    viewFinstlbills(row) {
+      this.finstlbillsData = [];
+      finstlbillsGetAccBillIdList({ accBillId: row.accBillId }).then(res => {
+        this.finstlbillsData = res.data.data;
+      });
+    },
     updateDetail() {
       this.getDetail(this.form.id);
     },

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików