Преглед на файлове

修改禅道3725的问题

Qukatie преди 1 седмица
родител
ревизия
dd16b73fc8

+ 8 - 0
src/api/iosBasicData/cashier.js

@@ -73,6 +73,14 @@ export const getListAll = (data) => {
     params: data
   });
 };
+// 出纳明细列表
+export const getListAllDetail = (data) => {
+  return request({
+    url: "/api/blade-los/applycashier/listAllDetail",
+    method: "get",
+    params: data
+  });
+};
 // 增加出纳明细
 export const submit = (data) => {
   return request({

+ 27 - 28
src/views/iosBasicData/ComputationCenter/settlementDetails.vue

@@ -410,29 +410,6 @@
                   <el-button size="small" type="success" :disabled="editSave || generateStatus" :loading="saveLoading" @click="SelectedRows"
                     >确认选定行
                   </el-button>
-                  <span style="font-size: 18px;font-weight: 600;margin-left: 50px;">
-                    <span style="color: #67C23A;margin-right: 10px;"> CNY:¥{{ Number(amountSubSum).toFixed(2) }}元 </span>
-                    <span style="color: #E6A23C;"> USD:${{ Number(amountSubUsdSum).toFixed(2) }}元 </span>
-                  </span>
-                </div>
-              </template>
-            </query-finstlbillsitems>
-          </el-tab-pane>
-          <el-tab-pane label="选定数据" name="2">
-            <finstlbillsitems
-              ref="finstlbillsitems"
-              :tableData="tableData"
-              :editSave="editSave || form.requestNo"
-              :settlementdistar="settlementdistar"
-              :handleSelectionData="handleSelectionData"
-              @handleSelectionChange="handleSelectionChange"
-              @deletefun="finstlbillsitemsRemovefun"
-            >
-              <template slot="menuLeft">
-                <div>
-                  <el-button size="small" type="danger" style="margin-left: 10px" :disabled="editSave" :loading="saveLoading" @click="batchDeletefun"
-                    >一键删除
-                  </el-button>
                   <el-input
                     style="width: 10%;margin-left: 10px;"
                     v-model="invoiceAmountCNY"
@@ -464,6 +441,29 @@
                   </span>
                 </div>
               </template>
+            </query-finstlbillsitems>
+          </el-tab-pane>
+          <el-tab-pane label="选定数据" name="2">
+            <finstlbillsitems
+              ref="finstlbillsitems"
+              :tableData="tableData"
+              :editSave="editSave || form.requestNo"
+              :settlementdistar="settlementdistar"
+              :handleSelectionData="handleSelectionData"
+              @handleSelectionChange="handleSelectionChange"
+              @deletefun="finstlbillsitemsRemovefun"
+            >
+              <template slot="menuLeft">
+                <div>
+                  <el-button size="small" type="danger" style="margin-left: 10px" :disabled="editSave" :loading="saveLoading" @click="batchDeletefun"
+                    >一键删除
+                  </el-button>
+                  <span style="font-size: 18px;font-weight: 600;margin-left: 50px;">
+                    <span style="color: #67C23A;margin-right: 10px;"> CNY:¥{{ Number(amountSubSum).toFixed(2) }}元 </span>
+                    <span style="color: #E6A23C;"> USD:${{ Number(amountSubUsdSum).toFixed(2) }}元 </span>
+                  </span>
+                </div>
+              </template>
             </finstlbillsitems>
           </el-tab-pane>
           <el-tab-pane label="凭证数据" name="3">
@@ -2812,11 +2812,11 @@ export default {
       if (list.length) {
         list.forEach(e => {
           console.log(e.accountDc);
-          if (e.accountDc == "D") {
+          if (e.dc == "D") {
             this.amountDSubSum += Number(e.currentStlAmountRMB ? e.currentStlAmountRMB : 0);
             this.amountDSubUsdSum += Number(e.currentStlAmountUSD ? e.currentStlAmountUSD : 0);
           }
-          if (e.accountDc == "C") {
+          if (e.dc == "C") {
             this.amountCSubSum += Number(e.currentStlAmountRMB ? e.currentStlAmountRMB : 0);
             this.amountCSubUsdSum += Number(e.currentStlAmountUSD ? e.currentStlAmountUSD : 0);
           }
@@ -2836,12 +2836,11 @@ export default {
       this.amountCSubUsdSum = 0;
       if (list.length) {
         list.forEach(e => {
-          console.log(e.accountDc);
-          if (e.accountDc == "D") {
+          if (e.dc == "D") {
             this.amountDSubSum += Number(e.currentStlAmountRMB ? e.currentStlAmountRMB : 0);
             this.amountDSubUsdSum += Number(e.currentStlAmountUSD ? e.currentStlAmountUSD : 0);
           }
-          if (e.accountDc == "C") {
+          if (e.dc == "C") {
             this.amountCSubSum += Number(e.currentStlAmountRMB ? e.currentStlAmountRMB : 0);
             this.amountCSubUsdSum += Number(e.currentStlAmountUSD ? e.currentStlAmountUSD : 0);
           }

+ 70 - 2
src/views/iosBasicData/PaymentApplication/assembly/finstlbillsitems2.vue

@@ -99,6 +99,18 @@
         </el-date-picker>
         <span v-else>{{ row.deductionTime }}</span>
       </template>
+      <template slot="reconciliationAmount" slot-scope="{ row }">
+        <el-popover trigger="click">
+          <avue-crud :data="rlaData" :option="rlaOption"></avue-crud>
+          <span style="color: #409EFF;cursor: pointer" slot="reference" @click="viewRLA(row)">{{ row.reconciliationAmount }}</span>
+        </el-popover>
+      </template>
+      <template slot="reconciliationAmountUsd" slot-scope="{ row }">
+        <el-popover trigger="click">
+          <avue-crud :data="rlaData" :option="rlaOption"></avue-crud>
+          <span style="color: #409EFF;cursor: pointer" slot="reference" @click="viewRLA(row)">{{ row.reconciliationAmountUsd }}</span>
+        </el-popover>
+      </template>
     </avue-crud>
   </div>
 </template>
@@ -109,7 +121,7 @@ import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
 import { getRateList } from "@/api/iosBasicData/rateManagement";
 import costDetails from "@/views/iosBasicData/finstlbills/assembly/costDetails.vue";
 import { feecenterSelectByAccNoList } from "@/api/iosBasicData/finstlbills";
-
+import { getListAllDetail } from "@/api/iosBasicData/finstlbills";
 export default {
   components: { costDetails, SearchQuery },
   props: {
@@ -141,6 +153,44 @@ export default {
   },
   data() {
     return {
+      rlaData: [],
+      rlaOption: {
+        header: false,
+        menu: false,
+        align: "center",
+        column: [
+          {
+            label: "来源单号",
+            prop: "srcNo",
+            width: "200",
+            overHidden: true
+          },
+          {
+            label: "来源类型",
+            prop: "srcType",
+            width: "80",
+            overHidden: true
+          },
+          {
+            label: "签收金额",
+            prop: "signedAmount",
+            width: "100",
+            overHidden: true
+          },
+          {
+            label: "签收人",
+            prop: "consigneeName",
+            width: "100",
+            overHidden: true
+          },
+          {
+            label: "签收时间",
+            prop: "signingTime",
+            width: "120",
+            overHidden: true
+          }
+        ]
+      },
       ifInvoiceData: [], // 是否数据
       invoicelosDara: [], // 发票
       curCodeData: [], // 币种
@@ -320,6 +370,18 @@ export default {
             overHidden: true
           },
           {
+            label: "已签收CNY",
+            prop: "reconciliationAmount",
+            width: 100,
+            overHidden: true
+          },
+          {
+            label: "已签收USD",
+            prop: "reconciliationAmountUsd",
+            width: 100,
+            overHidden: true
+          },
+          {
             label: "ETA",
             prop: "eta",
             width: 120,
@@ -348,6 +410,12 @@ export default {
     this.invoicelosWorkDictsfun();
   },
   methods: {
+    viewRLA(row) {
+      this.rlaData = [];
+      getListAllDetail({ billId: row.accBillId }).then(res => {
+        this.rlaData = res.data.data;
+      });
+    },
     sizeChange(val) {
       this.page.currentPage = 1;
       this.page.pageSize = val;
@@ -685,7 +753,7 @@ export default {
     removeEventListener("keydown", this.keyDown);
     removeEventListener("keyup", this.keyUp);
   },
-   watch: {
+  watch: {
     tableData: {
       // 执行方法
       handler(oldValue, newValue) {

+ 18 - 17
src/views/iosBasicData/PaymentApplication/finstlbillsDetails.vue

@@ -606,7 +606,7 @@ import bcorps from "@/views/iosBasicData/bcorps/index.vue";
 import checkSchedule from "@/components/checkH/checkSchedule.vue";
 import dicSelect from "@/components/dicSelect/main";
 import cashierItem from "./assembly/cashierItem.vue";
-import { getListAll } from "@/api/iosBasicData/cashier.js";
+import { getListAllDetail } from "@/api/iosBasicData/cashier.js";
 export default {
   components: {
     checkSchedule,
@@ -986,22 +986,23 @@ export default {
       this.finstlbillsDetailfun(this.form.id, "updateCashier");
     },
     submit(type) {
-      getListAll({ srcId: this.form.id }).then(res => {
-        // if (res.data.data.length == 0) {
-        //   return this.$message.error("请在指示维护费用");
-        // }
-        // for (let item of res.data.data) {
-        //   if (item.status == 0) {
-        //     return this.$message.error("请在指示维护未支付数据!");
-        //   }
-        // }
-        this.$confirm("确定进行申请操作?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(() => {
-          this.editCustomer(type);
-        });
+      // getListAllDetail({ srcId: this.form.id }).then(res => {
+      //   // if (res.data.data.length == 0) {
+      //   //   return this.$message.error("请在指示维护费用");
+      //   // }
+      //   // for (let item of res.data.data) {
+      //   //   if (item.status == 0) {
+      //   //     return this.$message.error("请在指示维护未支付数据!");
+      //   //   }
+      //   // }
+
+      // });
+      this.$confirm("确定进行申请操作?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        this.editCustomer(type);
       });
     },
     newbillFun() {

+ 1 - 0
src/views/iosBasicData/cashier/components/cashierItem.vue

@@ -32,6 +32,7 @@
             :max="row.remainingCashierAmount"
             @change="calculateChange(row)"
             :controls="false"
+            :disabled="row.status == 1"
           ></el-input-number>
         </template>
       </avue-crud>

+ 28 - 4
src/views/iosBasicData/cashier/index.vue

@@ -61,6 +61,21 @@
         <template slot="billNo" slot-scope="{ row }">
           <span class="pointerClick" @click="editfun(row)">{{ row.billNo }} </span>
         </template>
+        <template slot="amountSub" slot-scope="{ row }">
+          <span v-if="tabsValue == '对账收费'">{{ row.amountDr }} </span>
+          <span v-if="tabsValue == '对账付费'">{{ row.amountCr }} </span>
+          <span v-if="tabsValue == '付费申请'">{{ row.amountSub }} </span>
+          <span v-if="tabsValue == '发票申请'">{{ row.amountSub }} </span>
+        </template>
+        <template slot="amountSubUsd" slot-scope="{ row }">
+          <span v-if="tabsValue == '对账收费'">{{ row.amountDrUsd }} </span>
+          <span v-if="tabsValue == '对账付费'">{{ row.amountCrUsd }} </span>
+          <span v-if="tabsValue == '付费申请'">{{ row.amountSubUsd }} </span>
+          <span v-if="tabsValue == '发票申请'">{{ row.amountSubUsd }} </span>
+        </template>
+        <template slot="cashierStatusSearch">
+          <el-checkbox v-model="query.cashierStatus" :true-label="2" :false-label="1"></el-checkbox>
+        </template>
       </avue-crud>
     </basic-container>
     <cashier-item ref="cashier"></cashier-item>
@@ -350,6 +365,13 @@ export default {
             label: "事由",
             prop: "remarks",
             overHidden: true
+          },
+          {
+            label: "已完成",
+            prop: "cashierStatus",
+            search: true,
+            hide:true,
+            overHidden: true
           }
         ]
       },
@@ -485,6 +507,7 @@ export default {
       this.amountSubUsdSum = 0;
       // this.query = {};
       this.page.currentPage = 1;
+      this.query.cashierStatus=1;
       this.selectionList = [];
       this.$set(this.query, "billNo", "");
       this.$set(this.query, "corpCnName", "");
@@ -613,6 +636,7 @@ export default {
     },
     // 列表获取数据
     async onLoad(page, params = {}) {
+      console.log(this.query.cashierStatus)
       this.loading = true;
       let res = {};
       if (this.tabsValue == "对账收费") {
@@ -621,7 +645,7 @@ export default {
           ...Object.assign(params, this.query),
           businessType: "CHK",
           dc: "D",
-          cashierStatus: 1
+          cashierStatus:this.query.cashierStatus?this.query.cashierStatus:1
         });
       } else if (this.tabsValue == "对账付费") {
         // 调用 付费申请数据
@@ -629,14 +653,14 @@ export default {
           ...Object.assign(params, this.query),
           businessType: "CHK",
           dc: "C",
-          cashierStatus: 1
+          cashierStatus:this.query.cashierStatus?this.query.cashierStatus:1
         });
       } else if (this.tabsValue == "付费申请") {
         // 调用 销项发票业务数据
         res = await finstlbillsList(page.currentPage, page.pageSize, {
           ...Object.assign(params, this.query),
           businessType: "FFSQ",
-          cashierStatus: 1
+          cashierStatus: this.query.cashierStatus?this.query.cashierStatus:1
         });
       } else if (this.tabsValue == "发票申请") {
         // 应收应付 业务数据
@@ -645,7 +669,7 @@ export default {
           type: "申请",
           billNoFormat: "FPSQ",
           businessTypeCode: "FPSQ",
-          cashierStatus: 1
+          cashierStatus: this.query.cashierStatus?this.query.cashierStatus:1
         });
       }
       const data = res.data.data;

+ 60 - 4
src/views/iosBasicData/dcOffset/assembly/finstlbillsitems2.vue

@@ -27,7 +27,7 @@
           placeholder="请输入 本次金额CNY"
           size="mini"
           style="width: 100%;"
-          :disabled="row.currentStlCurCode != 'CNY' || row.isSignfor == 1||form.status == 3"
+          :disabled="row.currentStlCurCode != 'CNY' || row.isSignfor == 1 || form.status == 3"
         ></el-input-number>
         <span v-else>{{ row.currentStlAmountRMB }}</span>
       </tempalte>
@@ -40,7 +40,7 @@
           placeholder="请输入 本次金额USD"
           size="mini"
           style="width: 100%;"
-          :disabled="row.currentStlCurCode != 'USD' || row.isSignfor == 1||form.status == 3"
+          :disabled="row.currentStlCurCode != 'USD' || row.isSignfor == 1 || form.status == 3"
         ></el-input-number>
         <span v-else>{{ row.currentStlAmountUSD }}</span>
       </tempalte>
@@ -57,6 +57,18 @@
         </el-input>
         <span v-else>{{ row.remarkss }}</span>
       </template>
+      <template slot="reconciliationAmount" slot-scope="{ row }">
+        <el-popover trigger="click">
+          <avue-crud :data="rlaData" :option="rlaOption"></avue-crud>
+          <span style="color: #409EFF;cursor: pointer" slot="reference" @click="viewRLA(row)">{{ row.reconciliationAmount }}</span>
+        </el-popover>
+      </template>
+      <template slot="reconciliationAmountUsd" slot-scope="{ row }">
+        <el-popover trigger="click">
+          <avue-crud :data="rlaData" :option="rlaOption"></avue-crud>
+          <span style="color: #409EFF;cursor: pointer" slot="reference" @click="viewRLA(row)">{{ row.reconciliationAmountUsd }}</span>
+        </el-popover>
+      </template>
     </avue-crud>
   </div>
 </template>
@@ -67,7 +79,7 @@ import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
 import costDetails from "../assembly/costDetails.vue";
 import { getRateList } from "@/api/iosBasicData/rateManagement";
 import { feecenterSelectByAccNoList } from "@/api/iosBasicData/finstlbills";
-
+import { getListAll } from "@/api/iosBasicData/finstlbills";
 export default {
   components: { SearchQuery, costDetails },
   props: {
@@ -94,11 +106,49 @@ export default {
   },
   data() {
     return {
+      rlaData: [],
+      rlaOption: {
+        header: false,
+        menu: false,
+        align: "center",
+        column: [
+          {
+            label: "来源单号",
+            prop: "srcNo",
+            width: "200",
+            overHidden: true
+          },
+          {
+            label: "来源类型",
+            prop: "srcType",
+            width: "80",
+            overHidden: true
+          },
+          {
+            label: "签收金额",
+            prop: "signedAmount",
+            width: "100",
+            overHidden: true
+          },
+          {
+            label: "签收人",
+            prop: "consigneeName",
+            width: "100",
+            overHidden: true
+          },
+          {
+            label: "签收时间",
+            prop: "signingTime",
+            width: "120",
+            overHidden: true
+          }
+        ]
+      },
       ifInvoiceData: [], // 是否数据
       invoicelosDara: [], // 发票
       curCodeData: [], // 币种
       option: {},
-        optionBack: {
+      optionBack: {
         height: "auto",
         calcHeight: 30,
         menuWidth: 60,
@@ -378,6 +428,12 @@ export default {
     this.invoicelosWorkDictsfun();
   },
   methods: {
+    viewRLA(row) {
+      this.rlaData = [];
+      getListAll({ billId: row.accBillId }).then(res => {
+        this.rlaData = res.data.data;
+      });
+    },
     sizeChange(val) {
       this.page.currentPage = 1;
       this.page.pageSize = val;

+ 2 - 2
src/views/iosBasicData/fininvoicesApplyfor/assembly/cashierItem.vue

@@ -109,7 +109,7 @@
 <script>
 import { MktSlotQuotation, quotationImportBatch } from "@/api/iosBasicData/bills";
 import dicSelect from "@/components/dicSelect/main";
-import { getListAll, submit, remove, applyCashier2, revokeCashier2 } from "@/api/iosBasicData/cashier.js";
+import { getListAllDetail, submit, remove, applyCashier2, revokeCashier2 } from "@/api/iosBasicData/cashier.js";
 import { bcurrencyGetExrate } from "@/api/iosBasicData/rateManagement";
 export default {
   props: {
@@ -423,7 +423,7 @@ export default {
         srcId: row.id
       };
       this.loading = true;
-      getListAll(obj)
+      getListAllDetail(obj)
         .then(res => {
           this.data = res.data.data;
         })

+ 69 - 1
src/views/iosBasicData/fininvoicesApplyfor/assembly/fininvoicesitems2.vue

@@ -31,6 +31,18 @@
         ></el-input-number>
         <span v-else>{{ row.currentAmountCNY }}</span>
       </tempalte>
+      <template slot="reconciliationAmount" slot-scope="{ row }">
+        <el-popover trigger="click">
+          <avue-crud :data="rlaData" :option="rlaOption"></avue-crud>
+          <span style="color: #409EFF;cursor: pointer" slot="reference" @click="viewRLA(row)">{{ row.reconciliationAmount }}</span>
+        </el-popover>
+      </template>
+      <template slot="reconciliationAmountUsd" slot-scope="{ row }">
+        <el-popover trigger="click">
+          <avue-crud :data="rlaData" :option="rlaOption"></avue-crud>
+          <span style="color: #409EFF;cursor: pointer" slot="reference" @click="viewRLA(row)">{{ row.reconciliationAmountUsd }}</span>
+        </el-popover>
+      </template>
       <tempalte slot="currentAmountUSD" slot-scope="{ row }">
         <el-input-number
           v-if="!editSave"
@@ -51,7 +63,7 @@
 <script>
 import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
 import { getRateList } from "@/api/iosBasicData/rateManagement";
-
+import { getListAll } from "@/api/iosBasicData/finstlbills";
 export default {
   components: { SearchQuery },
   props: {
@@ -74,6 +86,44 @@ export default {
   },
   data() {
     return {
+      rlaData: [],
+      rlaOption: {
+        header: false,
+        menu: false,
+        align: "center",
+        column: [
+          {
+            label: "来源单号",
+            prop: "srcNo",
+            width: "200",
+            overHidden: true
+          },
+          {
+            label: "来源类型",
+            prop: "srcType",
+            width: "80",
+            overHidden: true
+          },
+          {
+            label: "签收金额",
+            prop: "signedAmount",
+            width: "100",
+            overHidden: true
+          },
+          {
+            label: "签收人",
+            prop: "consigneeName",
+            width: "100",
+            overHidden: true
+          },
+          {
+            label: "签收时间",
+            prop: "signingTime",
+            width: "120",
+            overHidden: true
+          }
+        ]
+      },
       curCodeData: [], // 本次币种
       option: {},
       optionBack: {
@@ -212,6 +262,18 @@ export default {
             overHidden: true
           },
           {
+            label: "已签收CNY",
+            prop: "reconciliationAmount",
+            width: 100,
+            overHidden: true
+          },
+          {
+            label: "已签收USD",
+            prop: "reconciliationAmountUsd",
+            width: 100,
+            overHidden: true
+          },
+          {
             label: "备注",
             prop: "remarks",
             width: 120,
@@ -232,6 +294,12 @@ export default {
     this.option = await this.getColumnData(this.getColumnName(494), this.optionBack);
   },
   methods: {
+    viewRLA(row) {
+      this.rlaData = [];
+      getListAll({ billId: row.accBillId }).then(res => {
+        this.rlaData = res.data.data;
+      });
+    },
     sizeChange(val) {
       this.page.currentPage = 1;
       this.page.pageSize = val;

+ 4 - 4
src/views/iosBasicData/fininvoicesApplyfor/fininvoicesDetails.vue

@@ -884,7 +884,7 @@ import dicSelect from "@/components/dicSelect/main";
 import { finstlbillslistAccBillByCorp } from "@/api/iosBasicData/finstlbills";
 import { getMonthDate, getYearDate } from "@/util/date";
 import cashierItem from "./assembly/cashierItem.vue";
-import { getListAll } from "@/api/iosBasicData/cashier.js";
+import { getListAllDetail } from "@/api/iosBasicData/cashier.js";
 export default {
   components: {
     checkSchedule,
@@ -1565,7 +1565,7 @@ export default {
       // if (this.form.cashierStatus == 0) {
       //   return this.$message.error("请申请收费!");
       // }
-      getListAll({ srcId: this.form.id }).then(res => {
+      // getListAllDetail({ srcId: this.form.id }).then(res => {
         // if (res.data.data.length == 0) {
         //   return this.$message.error("请在指示维护费用");
         // }
@@ -1574,7 +1574,8 @@ export default {
         //     return this.$message.error("请在指示维护未收款数据");
         //   }
         // }
-        this.$confirm("确定进行发票申请操作?", {
+      // });
+      this.$confirm("确定进行发票申请操作?", {
           confirmButtonText: "确定",
           cancelButtonText: "取消",
           type: "warning"
@@ -1585,7 +1586,6 @@ export default {
           .finally(() => {
             this.saveLoading = false;
           });
-      });
     },
     newbillFun() {
       if (this.statusType) {

+ 27 - 7
src/views/iosBasicData/finstlbills/assembly/cashierItem.vue

@@ -112,7 +112,7 @@
 <script>
 import { MktSlotQuotation, quotationImportBatch } from "@/api/iosBasicData/bills";
 import dicSelect from "@/components/dicSelect/main";
-import { getListAll, submit, remove, applyCashier, revokeCashier } from "@/api/iosBasicData/cashier.js";
+import { getListAllDetail, submit, remove, applyCashier, revokeCashier } from "@/api/iosBasicData/cashier.js";
 import { bcurrencyGetExrate } from "@/api/iosBasicData/rateManagement";
 export default {
   props: {
@@ -249,7 +249,7 @@ export default {
           {
             label: "备注",
             prop: "remarks",
-            cell:true,
+            cell: true,
             width: 120,
             overHidden: true
           }
@@ -400,16 +400,36 @@ export default {
         if (row) {
           el.exrate = row.exrate;
           if (el.dc == "D" && el.curCode == "CNY") {
-            el.amount = Number(this.form.amountDr - this.form.actualAmountDr).toFixed(2);
+            if (this.data.filter(item => el.dc == item.dc && el.curCode == item.curCode).length == 1) {
+              el.amount = Number(this.form.amountDr - this.form.actualAmountDr).toFixed(2);
+            }
+            if (this.data.filter(item => el.dc == item.dc && el.curCode == item.curCode).length == 2) {
+              el.amount = Number(0).toFixed(2);
+            }
           }
           if (el.dc == "D" && el.curCode == "USD") {
-            el.amount = Number(this.form.amountDrUsd - this.form.actualAmountDrUsd).toFixed(2);
+            if (this.data.filter(item => el.dc == item.dc && el.curCode == item.curCode).length == 1) {
+              el.amount = Number(this.form.amountDrUsd - this.form.actualAmountDrUsd).toFixed(2);
+            }
+            if (this.data.filter(item => el.dc == item.dc && el.curCode == item.curCode).length == 2) {
+              el.amount = Number(0).toFixed(2);
+            }
           }
           if (el.dc == "C" && el.curCode == "CNY") {
-            el.amount = Number(this.form.amountCr - this.form.actualAmountCr).toFixed(2);
+            if (this.data.filter(item => el.dc == item.dc && el.curCode == item.curCode).length == 1) {
+              el.amount = Number(this.form.amountCr - this.form.actualAmountCr).toFixed(2);
+            }
+            if (this.data.filter(item => el.dc == item.dc && el.curCode == item.curCode).length == 2) {
+              el.amount = Number(0).toFixed(2);
+            }
           }
           if (el.dc == "C" && el.curCode == "USD") {
-            el.amount = Number(this.form.amountCrUsd - this.form.actualAmountCrUsd).toFixed(2);
+            if (this.data.filter(item => el.dc == item.dc && el.curCode == item.curCode).length == 1) {
+              el.amount = Number(this.form.amountCrUsd - this.form.actualAmountCrUsd).toFixed(2);
+            }
+            if (this.data.filter(item => el.dc == item.dc && el.curCode == item.curCode).length == 2) {
+              el.amount = Number(0).toFixed(2);
+            }
           }
           this.calculateChange(el);
         } else {
@@ -428,7 +448,7 @@ export default {
         srcId: row.id
       };
       this.loading = true;
-      getListAll(obj)
+      getListAllDetail(obj)
         .then(res => {
           this.data = res.data.data;
         })

+ 2 - 2
src/views/iosBasicData/finstlbills/finstlbillsDetails.vue

@@ -788,7 +788,7 @@ import reportContainer from "@/views/iosBasicData/report-container/report-contai
 import { getList as getreportsList, reportsGetReportData } from "@/api/iosBasicData/reports";
 import dicSelect from "@/components/dicSelect/main";
 import cashierItem from "./assembly/cashierItem.vue";
-import { getListAll } from "@/api/iosBasicData/cashier.js";
+import { getListAllDetail } from "@/api/iosBasicData/cashier.js";
 export default {
   components: { reportContainer, reportformsList, reports, SearchQuery, expand, finstlbillsitems, dicSelect, queryfinstlbillsitems, cashierItem },
   props: {
@@ -1201,7 +1201,7 @@ export default {
       // if (this.form.cashierStatus == 0) {
       //   return this.$message.error("请申请" + (this.form.dc == "D" ? "收费!" : "付费!"));
       // }
-      getListAll({ srcId: this.form.id }).then(res => {
+      getListAllDetail({ srcId: this.form.id }).then(res => {
         // if (res.data.data.length == 0) {
         //   return this.$message.error("请在指示维护费用");
         // }

+ 258 - 2
src/views/iosBasicData/finstlbills/index.vue

@@ -28,7 +28,8 @@
         @expand-change="expandChange"
       >
         <template slot="expand" slot-scope="{ row }">
-          <finstlbillsitems :tableData="row.finStlBillsItemsList || []" :brfalse="false"></finstlbillsitems>
+          <!-- <finstlbillsitems :tableData="row.finStlBillsItemsList" :brfalse="false"></finstlbillsitems> -->
+          <avue-crud :data="row.finStlBillsItemsList" :option="itemOption" :cell-style="cellStyle" class="itemTable"></avue-crud>
         </template>
         <tempalte slot="feeCnNameSearch">
           <dic-select
@@ -554,6 +555,255 @@ export default {
           }
         ]
       },
+      itemOption: {
+        height: "auto",
+        header: false,
+        index: true,
+        menu:false,
+        align: "center",
+        column: [
+          {
+            label: "原业务编号",
+            prop: "billNo",
+            width: 120,
+            overHidden: true
+          },
+          {
+            label: "发票号",
+            prop: "invoiceNo",
+            width: 80,
+            overHidden: true
+          },
+          {
+            label: "结算单位",
+            prop: "corpCnName",
+            width: 120,
+            overHidden: true
+          },
+          {
+            label: "MB/L NO",
+            prop: "mblno",
+            width: 100,
+            overHidden: true
+          },
+          {
+            label: "本次签收CNY",
+            prop: "currentStlAmountRMB",
+            width: 100,
+            overHidden: true
+          },
+          {
+            label: "本次签收USD",
+            prop: "currentStlAmountUSD",
+            width: 100,
+            overHidden: true
+          },
+          {
+            label: "币种",
+            prop: "currentStlCurCode",
+            width: 60,
+            overHidden: true
+          },
+          {
+            label: "汇率",
+            prop: "currentStlExrate",
+            width: 80,
+            overHidden: true
+          },
+          {
+            label: "对账",
+            prop: "isChecked",
+            width: 60,
+            overHidden: true,
+            type: "select",
+            dicData: [
+              {
+                label: "否",
+                value: 0
+              },
+              {
+                label: "是",
+                value: 1
+              }
+            ]
+          },
+          {
+            label: "签收",
+            prop: "isSignfor",
+            width: 60,
+            overHidden: true,
+            type: "select",
+            dicData: [
+              {
+                label: "否",
+                value: 0
+              },
+              {
+                label: "是",
+                value: 1
+              }
+            ]
+          },
+          {
+            label: "发票状态",
+            prop: "isInvoice",
+            width: 80,
+            type: "select",
+            dicData: [
+              {
+                label: "待开发票",
+                value: 1
+              },
+              {
+                label: "确认开票",
+                value: 2
+              },
+              {
+                label: "不开发票",
+                value: 3
+              }
+            ],
+            overHidden: true
+          },
+          {
+            label: "ETD",
+            prop: "etd",
+            width: 100,
+            overHidden: true
+          },
+          {
+            label: "账单编号",
+            prop: "accBillNo",
+            width: 100,
+            overHidden: true
+          },
+          {
+            label: "签收人",
+            prop: "signforName",
+            width: 80,
+            overHidden: true
+          },
+          {
+            label: "签收日期",
+            prop: "signforDate",
+            width: 100,
+            overHidden: true
+          },
+          {
+            label: "操作人",
+            prop: "operatorName",
+            width: 80,
+            overHidden: true
+          },
+          {
+            label: "BOOKINGNO",
+            prop: "bookingNo",
+            width: 100,
+            overHidden: true
+          },
+          {
+            label: "HB/L NO",
+            prop: "hblno",
+            width: 100,
+            overHidden: true
+          },
+          {
+            label: "船名",
+            prop: "vesselCnName",
+            width: 80,
+            overHidden: true
+          },
+          {
+            label: "航次",
+            prop: "voyageNo",
+            width: 80,
+            overHidden: true
+          },
+          {
+            label: "发票CNY",
+            prop: "currentInvoiceAmountRMB",
+            width: 80,
+            overHidden: true
+          },
+          {
+            label: "发票USD",
+            prop: "currentInvoiceAmountUSD",
+            width: 80,
+            overHidden: true
+          },
+          {
+            label: "箱量",
+            prop: "quantityCntrTypesDescr",
+            width: 80,
+            overHidden: true
+          },
+          {
+            label: "收付",
+            prop: "dc",
+            width: 60,
+            type: "select",
+            dicData: [
+              {
+                label: "收",
+                value: "D"
+              },
+              {
+                label: "付",
+                value: "C"
+              }
+            ],
+            overHidden: true
+          },
+          {
+            label: "账单CNY",
+            prop: "unsettledAmountRMB",
+            width: 100,
+            overHidden: true
+          },
+          {
+            label: "账单USD",
+            prop: "unsettledAmountUSD",
+            width: 100,
+            overHidden: true
+          },
+          {
+            label: "已签收CNY",
+            prop: "reconciliationAmount",
+            width: 100,
+            overHidden: true
+          },
+          {
+            label: "已签收USD",
+            prop: "reconciliationAmountUsd",
+            width: 100,
+            overHidden: true
+          },
+          {
+            label: "已结算CNY",
+            prop: "stlAmountDr",
+            width: 90,
+            overHidden: true
+          },
+          {
+            label: "已结算USD",
+            prop: "stlAmountDrUSD",
+            width: 90,
+            overHidden: true
+          },
+          {
+            label: "业务员",
+            prop: "srcCnName",
+            width: 80,
+            overHidden: true
+          },
+          {
+            label: "备注",
+            prop: "remarkss",
+            width: 120,
+            overHidden: true
+          }
+        ]
+      },
       data: [],
       editSave: false, // 编辑保存打印状态
       saberUserInfo: {} // 当前登录人个人信息
@@ -604,7 +854,7 @@ export default {
     expandChange(row, expendList) {
       finstlbillsitemsList(1, 20, { pid: row.id }).then(res => {
         console.log(res.data.data.records, 476);
-        row.finStlBillsItemsList = res.data.data.records.map(item => {
+        this.data[row.$index].finStlBillsItemsList = res.data.data.records.map(item => {
           if (item.curCode == "CNY") {
             this.$set(item, "amountRMB", item.amount);
             this.$set(item, "currentInvoiceAmountRMB", item.currentInvoiceAmount);
@@ -822,6 +1072,9 @@ export default {
       };
       this.loading = true;
       finstlbillsList(page.currentPage, page.pageSize, obj).then(res => {
+        res.data.data.records.forEach(item => {
+          item.finStlBillsItemsList = [];
+        });
         const data = res.data.data;
         this.page.total = data.total;
         this.data = data.records.map(item => {
@@ -923,4 +1176,7 @@ export default {
   cursor: pointer;
   color: #1e9fff;
 }
+::v-deep .el-table__expanded-cell[class*="cell"] {
+  padding: 0px 0px 0px 136px !important;
+}
 </style>