Ver código fonte

Merge branch 'master' of http://git.dongkesoft.com:9001/iBOSS-2.0-Mini/iboss-mini-web

changhaoning 2 anos atrás
pai
commit
7efa5a0f27

+ 1 - 4
src/api/pages/fin/receipt.js

@@ -6,10 +6,7 @@
 export default {
 export default {
   receiptService: {
   receiptService: {
     prefix: '/mdm-server/mac/recPay/',
     prefix: '/mdm-server/mac/recPay/',
-    selectRpInfoById: 'select_rp_info_by_id',
-    getRpForUpdate: 'get_rp_for_update',
-    insertReceipt: 'insert_receipt',
-    insertRefund: 'insert_refund',
+    insertReceivableReceipt: 'insert_receivable_receipt',
   }
   }
 }
 }
 
 

+ 14 - 2
src/locale/lang/zh-CN.js

@@ -271,8 +271,6 @@ export const columns = {
   sumAmount: '合计金额',
   sumAmount: '合计金额',
   saleDiscount: '销售折扣',
   saleDiscount: '销售折扣',
   amtReceivable: '应收金额',
   amtReceivable: '应收金额',
-  amtHandle: '还款金额',
-  amtResidue: '剩余应收',
   addressFull: '详细地址',
   addressFull: '详细地址',
   deliveryDate: '送货日期',
   deliveryDate: '送货日期',
   cusFromName: '客户来源',
   cusFromName: '客户来源',
@@ -435,6 +433,20 @@ export const columns = {
   ownerFlag:'主业务标识',
   ownerFlag:'主业务标识',
   receiptResidue:'客户可用余额',
   receiptResidue:'客户可用余额',
   macId:'资金账户',
   macId:'资金账户',
+  recStatusName:'账务状态',
+  amtShouldReceivable:'应收金额',
+  amtHandle: '已核销金额',
+  amtReceivableHandle: '本次核销金额',
+  amtWaiveHandle: '本次优惠金额',
+  amtWaive:'已优惠金额',
+  amtResidue: '剩余金额',
+  sumReceiptResidue: '总可用金额',
+  sumReceivableResidue: '总剩余应收',
+  sumAmtReceivableHandle: '本次总核销金额',
+  sumAmtWaiveHandle: '本次总优惠金额',
+  orgMac:'资金账户',
+  staffPurName:'采购人员',
+  orgPurName:'采购部门',
 }
 }
 
 
 /**
 /**

+ 1 - 1
src/view/fin/receipt/edit.vue

@@ -1,5 +1,5 @@
 <template>
 <template>
-  <CommonForm type="edit" ></CommonForm>
+  <CommonForm type="refund" ></CommonForm>
 </template>
 </template>
 
 
 <script>
 <script>

+ 250 - 101
src/view/fin/receipt/form.vue

@@ -66,19 +66,43 @@
       <BaseIndexButtonGroup ref="BaseIndexButtonGroup" id="BaseIndexButtonGroup">
       <BaseIndexButtonGroup ref="BaseIndexButtonGroup" id="BaseIndexButtonGroup">
         <template #left>
         <template #left>
           <BaseIndexButton ref="chooseReceivableInvoice" name="chooseReceivableInvoice"
           <BaseIndexButton ref="chooseReceivableInvoice" name="chooseReceivableInvoice"
-                           @click="chooseReceivableInvoice"></BaseIndexButton>
+                           @click="openReceivableModal"></BaseIndexButton>
         </template>
         </template>
       </BaseIndexButtonGroup>
       </BaseIndexButtonGroup>
-
+      <DkForm ref="receivableFootFormData" v-model="receivableFootFormData" :labelMaxWords="6" name="dk-form"
+              class="form-content-class">
+        <!--总可用金额-->
+        <DkFormItem prop="sumReceiptResidue">
+          <InputNumberPop ref="sumReceiptResidue" v-model="receivableFootFormData.sumReceiptResidue" :clearable="false"
+                          :digits="2" :readonly="true"/>
+        </DkFormItem>
+        <!--总剩余应收-->
+        <DkFormItem prop="sumReceivableResidue">
+          <InputNumberPop ref="sumReceivableResidue" v-model="receivableFootFormData.sumReceivableResidue"
+                          :clearable="false"
+                          :digits="2" :readonly="true"/>
+        </DkFormItem>
+        <!--总本次核销金额-->
+        <DkFormItem prop="sumAmtReceivableHandle">
+          <InputNumberPop ref="sumAmtReceivableHandle" v-model="receivableFootFormData.sumAmtReceivableHandle"
+                          :digits="2"
+                          @on-change="sumAmtReceivableHandleChange"/>
+        </DkFormItem>
+        <!--总本次优惠金额-->
+        <DkFormItem prop="sumAmtWaiveHandle">
+          <InputNumberPop ref="sumAmtWaiveHandle" v-model="receivableFootFormData.sumAmtWaiveHandle" :digits="2"
+                          @on-change="sumAmtWaiveHandleChange"/>
+        </DkFormItem>
+      </DkForm>
       <!--应收款单-->
       <!--应收款单-->
       <DkPanel prop="receivableInvoice">
       <DkPanel prop="receivableInvoice">
+
         <div id="search-cond-div-receivable-info" ref="search-cond-div-goods-info" slot="content">
         <div id="search-cond-div-receivable-info" ref="search-cond-div-goods-info" slot="content">
-          <EditTable ref="receivableTable" :data="formData.receivableList" showFooter
-                     major-field="receiptId"
-                     :height="this.tableHeight/2"
-                     :new-row-flag="true"
-                     :columns="receivableColumns"
-                     controlId="macId" @on-choose="getTotals" @changeValue="getTotals"/>
+          <EditTable ref="receivableTable" :data="formData.receivableList" showFooter major-field="itemId"
+                     :new-row-flag="false" :add-flag="false"
+                     :columns="receivableColumns" controlId="itemId" @on-choose="getReceivableTotals"
+                     @changeValue="getReceivableTotals"
+                     :height="this.tableHeight/2"/>
         </div>
         </div>
       </DkPanel>
       </DkPanel>
     </DkCollapse>
     </DkCollapse>
@@ -95,11 +119,11 @@
         </template>
         </template>
       </BaseIndexButtonGroup>
       </BaseIndexButtonGroup>
       <DkTable :id="'table-'+$options.name" ref="detail-select" :pageFlag="false"
       <DkTable :id="'table-'+$options.name" ref="detail-select" :pageFlag="false"
-               :data="tableData_receivable" :height="this.tableHeight" primaryKey="item_id" name="table">
+               :data="tableData_receivable" :height="this.tableHeight" primaryKey="itemId" name="table">
         <DkTableColumn field="biznisNo"/>
         <DkTableColumn field="biznisNo"/>
         <DkTableColumn field="accDate"/>
         <DkTableColumn field="accDate"/>
-        <DkTableColumn field="recStatus"/>
-        <DkTableColumn field="amtShould"/>
+        <DkTableColumn field="recStatusName"/>
+        <DkTableColumn field="amtShould" :title="$t('amtShouldReceivable')"/>
         <DkTableColumn field="amtHandle"/>
         <DkTableColumn field="amtHandle"/>
         <DkTableColumn field="amtWaive"/>
         <DkTableColumn field="amtWaive"/>
         <DkTableColumn field="amtResidue"/>
         <DkTableColumn field="amtResidue"/>
@@ -146,6 +170,13 @@ export default {
         itemList: [],
         itemList: [],
         receivableList: [],
         receivableList: [],
       },
       },
+      // 应收合计信息
+      receivableFootFormData: {
+        sumReceiptResidue: 0,
+        sumReceivableResidue: 0,
+        sumAmtReceivableHandle: 0,
+        sumAmtWaiveHandle: 0,
+      },
       receiptColumns: [
       receiptColumns: [
         {
         {
           field: 'macName',
           field: 'macName',
@@ -156,13 +187,6 @@ export default {
           fieldUpdate: self.$updateColumns.receiptChooseMac,
           fieldUpdate: self.$updateColumns.receiptChooseMac,
           searchDetailFlag: true
           searchDetailFlag: true
         },
         },
-        // //账户余额
-        // {
-        //   field: 'balance',
-        //   type: 'disabled',
-        //   digits: 2,
-        //   title: this.$t('accountBalance'),
-        // },
         //收款金额
         //收款金额
         {
         {
           field: 'amtRec',
           field: 'amtRec',
@@ -178,54 +202,37 @@ export default {
       receivableColumns: [
       receivableColumns: [
         {field: 'biznisNo', type: 'disabled'},
         {field: 'biznisNo', type: 'disabled'},
         {field: 'accDate', type: 'disabled'},
         {field: 'accDate', type: 'disabled'},
-        {field: 'recStatus', type: 'disabled'},
-        {field: 'amtShould', type: 'disabled'},
+        {field: 'recStatusName', type: 'disabled'},
+        {field: 'amtShould', title: self.$t('amtShouldReceivable'), type: 'disabled'},
         {field: 'amtHandle', type: 'disabled'},
         {field: 'amtHandle', type: 'disabled'},
         {field: 'amtWaive', type: 'disabled'},
         {field: 'amtWaive', type: 'disabled'},
+        // 本次核销金额
+        {
+          field: 'amtReceivableHandle',
+          type: 'number',
+          digits: 2,
+          number: true,
+          sum: true,
+          formula: {
+            amtResidue: ['amtShould-amtHandle-amtWaive-amtReceivableHandle-amtWaiveHandle', 'amtShould', 'amtHandle', 'amtWaive', 'amtReceivableHandle', 'amtWaiveHandle'],
+          },
+        },
+        // 本次优惠金额
+        {
+          field: 'amtWaiveHandle',
+          type: 'number',
+          digits: 2,
+          number: true,
+          sum: true,
+          formula: {
+            amtResidue: ['amtShould-amtHandle-amtWaive-amtReceivableHandle-amtWaiveHandle', 'amtShould', 'amtHandle', 'amtWaive', 'amtReceivableHandle', 'amtWaiveHandle'],
+          },
+        },
         {field: 'amtResidue', type: 'disabled'},
         {field: 'amtResidue', type: 'disabled'},
       ],
       ],
     }
     }
   },
   },
   methods: {
   methods: {
-    chooseReceivableInvoice() {
-      this.receivableModal = true
-    },
-    /**
-     * @desc   : 获取应收款单
-     * @author : 付斌
-     * @date   : 2024-03-22 16:42
-     */
-    getReceivableInvoice() {
-      // 查询客户可用余额
-      let params = {
-        'objectId': this.formData.objectId
-      }
-      this.excute(this.$service.accountService, this.$service.accountService.getReceivableAccountItem, params).then(res => {
-        if (res.code === this.$config.SUCCESS_CODE) {
-          this.tableData_receivable = res.data
-        }
-      })
-    },
-    receivableOk() {
-      let self = this;
-      let sensitiveList = self.sensitiveList
-      this.params = {
-        roleId: this.roleId
-      }
-      let roleSensitiveList = []
-      for (let it of sensitiveList) {
-        if (it.checked) {
-          let list = {
-            roleId: this.roleId,
-            senItemCode: it.itemCode,
-            flgShow: true,
-          }
-          roleSensitiveList.push(list)
-        }
-      }
-      this.params.roleSensitiveList = roleSensitiveList;
-      return this.excute(this.$service.roleSensitiveService, this.$service.roleSensitiveService.updateBatch, this.params, true, 'save')
-    },
     /**
     /**
      * @desc   : 加载数据
      * @desc   : 加载数据
      * @author : 付斌
      * @author : 付斌
@@ -256,12 +263,13 @@ export default {
         this.excute(this.$service.accountService, this.$service.accountService.selectByCond, params).then(res => {
         this.excute(this.$service.accountService, this.$service.accountService.selectByCond, params).then(res => {
           if (res.code === this.$config.SUCCESS_CODE && res.data.list.length > 0) {
           if (res.code === this.$config.SUCCESS_CODE && res.data.list.length > 0) {
             this.formData.receiptResidue = res.data.list[0].receiptResidue
             this.formData.receiptResidue = res.data.list[0].receiptResidue
+            this.receivableFootFormData.sumReceiptResidue = this.formData.receiptResidue + this.formData.sumAmtRec
           }
           }
         })
         })
       }
       }
     },
     },
     /**
     /**
-     *   @desc   : 计算合计
+     *   @desc   : 收款计算合计
      *   @date   : 2022/5/30 15:31
      *   @date   : 2022/5/30 15:31
      *   @author : 付斌
      *   @author : 付斌
      */
      */
@@ -275,35 +283,141 @@ export default {
           }
           }
         })
         })
         this.formData.sumAmtRec = sumAmtRec;
         this.formData.sumAmtRec = sumAmtRec;
+        this.receivableFootFormData.sumReceiptResidue = this.formData.receiptResidue + this.formData.sumAmtRec
       }
       }
     },
     },
     /**
     /**
-     * @desc   : 通过id查询
+     * @desc   : 应收计算合计
      * @author : 付斌
      * @author : 付斌
-     * @date   : 2022/03/04 13:17
+     * @date   : 2024-03-23 13:21
      */
      */
-    detail(id) {
-      return this.excuteNoParam(this.$service.cusReceiptService, this.$service.cusReceiptService.getRpForUpdate, [id]);
+    getReceivableTotals(field, row, rowIndex) {
+      let table = this.$refs['receivableTable'].getTableDataFilter();
+      let sumAmtReceivableHandle = 0;  // 本次核销金额
+      let sumAmtWaiveHandle = 0;  // 本次优惠金额
+      if (table && table.length > 0) {
+        table.forEach(row => {
+          if (row["amtReceivableHandle"]) {
+            sumAmtReceivableHandle += parseFloat(row["amtReceivableHandle"]);
+          }
+          if (row["amtWaiveHandle"]) {
+            sumAmtWaiveHandle += parseFloat(row["amtWaiveHandle"]);
+          }
+        })
+        this.receivableFootFormData.sumAmtReceivableHandle = sumAmtReceivableHandle
+        this.receivableFootFormData.sumAmtWaiveHandle = sumAmtWaiveHandle
+      }
     },
     },
     /**
     /**
-     * @desc   : 编辑页面赋值
+     * @desc   : 打开选择应收单据的Modal
      * @author : 付斌
      * @author : 付斌
-     * @date   : 2024-03-03 9:33
+     * @date   : 2024-03-23 11:10
      */
      */
-    setValuesByEdit(data) {
-      if (data) {
-        this.formData = data["data"];
-        this.formData.itemList = data["dataItem"];
+    openReceivableModal() {
+      this.receivableModal = true
+    },
+    /**
+     * @desc   : 获取应收单据
+     * @author : 付斌
+     * @date   : 2024-03-22 16:42
+     */
+    getReceivableInvoice() {
+      // 查询客户可用余额
+      let params = {
+        'objectId': this.formData.objectId
+      }
+      this.excute(this.$service.accountService, this.$service.accountService.getReceivableAccountItem, params).then(res => {
+        if (res.code === this.$config.SUCCESS_CODE) {
+          this.tableData_receivable = res.data
+        }
+      })
+    },
+    /**
+     * @desc   : 选择应收单据
+     * @author : 付斌
+     * @date   : 2024-03-23 11:10
+     */
+    receivableOk() {
+      this.formData.receivableList = this.$refs['detail-select'].batchRows
+      let sumReceivableResidue = 0;  // 合计数量
+      this.formData.receivableList.forEach(row => {
+        this.$set(row, 'amtReceivableHandle', row["amtResidue"]);
+        this.$set(row, 'amtResidue', 0);
+        sumReceivableResidue += parseFloat(row["amtReceivableHandle"]);
+      })
+      this.receivableFootFormData.sumReceivableResidue = sumReceivableResidue
+      this.receivableFootFormData.sumAmtReceivableHandle = sumReceivableResidue
+      this.receivableModal = false
+    },
+    /**
+     * @desc   : 核销金额改变事件
+     * @author : 付斌
+     * @date   : 2024-03-23 13:10
+     */
+    sumAmtReceivableHandleChange(val) {
+      this.formData.receivableList.forEach(row => {
+        // 先把本次核销金额清0
+        this.$set(row, 'amtReceivableHandle', 0);
+        // 如果本次优惠没有数值,则置为0
+        if (!row['amtWaiveHandle'] || row['amtWaiveHandle'] === '') {
+          this.$set(row, 'amtWaiveHandle', 0);
+        }
+        // 设置剩余应收 = 应收-已核销-已优惠-本次优惠
+        this.$set(row, 'amtResidue', parseFloat(row['amtShould']) - parseFloat(row['amtHandle'])
+          - parseFloat(row['amtWaive']) - parseFloat(row['amtWaiveHandle']));
 
 
-        // 如果是退款,editTable要输入负数
-        if (this.formData.rpType === this.$config.rpType.tuiShouKuan) {
-          this.showEditTable = false
-          this.negativeFlag = true;
-          setTimeout(() => {
-            this.showEditTable = true;
-          }, 50)
+        // 剩余应收
+        let amtResidue = parseFloat(row['amtResidue']);
+        if (amtResidue > 0) {
+          // 如果剩余应收比输入的值大,则把输入的值赋给本次应收,然后剩余应收减输入的值
+          if (amtResidue > val) {
+            this.$set(row, 'amtReceivableHandle', val);
+            this.$set(row, 'amtResidue', amtResidue - val);
+            val = 0;
+          }
+          // 否则把剩余应收赋给本次应收,然后剩余应收为0
+          else {
+            this.$set(row, 'amtReceivableHandle', amtResidue);
+            this.$set(row, 'amtResidue', 0);
+            val = val - amtResidue;
+          }
         }
         }
-      }
+      })
+    },
+    /**
+     * @desc   : 优惠金额改变事件
+     * @author : 付斌
+     * @date   : 2024-03-23 13:10
+     */
+    sumAmtWaiveHandleChange(val) {
+      this.formData.receivableList.forEach(row => {
+        // 先把本次优惠金额清0
+        this.$set(row, 'amtWaiveHandle', 0);
+        // 如果本次核销没有数值,则置为0
+        if (!row['amtReceivableHandle'] || row['amtReceivableHandle'] === '') {
+          this.$set(row, 'amtReceivableHandle', 0);
+        }
+        // 设置剩余应收 = 应收-已核销-已优惠-本次核销
+        this.$set(row, 'amtResidue', parseFloat(row['amtShould']) - parseFloat(row['amtHandle'])
+          - parseFloat(row['amtWaive']) - parseFloat(row['amtReceivableHandle']));
+
+        // 剩余应收
+        let amtResidue = parseFloat(row['amtResidue']);
+        if (amtResidue > 0) {
+          // 如果剩余应收比输入的值大,则把输入的值赋给本次优惠,然后剩余应收减输入的值
+          if (amtResidue > val) {
+            this.$set(row, 'amtWaiveHandle', val);
+            this.$set(row, 'amtResidue', amtResidue - val);
+            val = 0;
+          }
+          // 否则把剩余应收赋给本次优惠,然后剩余应收为0
+          else {
+            this.$set(row, 'amtWaiveHandle', amtResidue);
+            this.$set(row, 'amtResidue', 0);
+            val = val - amtResidue;
+          }
+        }
+      })
     },
     },
     /**
     /**
      * @desc   : 校验数据
      * @desc   : 校验数据
@@ -312,13 +426,57 @@ export default {
      */
      */
     validData() {
     validData() {
       let itemTable = this.$refs['receiptTable'].getTableDataFilter();
       let itemTable = this.$refs['receiptTable'].getTableDataFilter();
-      if (!itemTable || itemTable.length == 0) {
-        this.$Message.warning(this.$t('W_012'))
+      if (itemTable && itemTable.length > 0) {
+        for (let it of itemTable) {
+          if (!it.amtRec || it.amtRec === '') {
+            this.$Message.warning(this.$t('W_042', {'param': '收款金额不能'}))
+            return false;
+          }
+        }
+      }
+
+      let sumAmtReceivableHandle = 0;  // 本次核销金额
+      let sumAmtWaiveHandle = 0;  // 本次优惠金额
+      // 先把为空的单元格设置成0
+      this.formData.receivableList.forEach(row => {
+        // 如果本次核销没有数值,则置为0
+        if (!row['amtReceivableHandle'] || row['amtReceivableHandle'] === '') {
+          this.$set(row, 'amtReceivableHandle', 0);
+        }
+        // 如果本次优惠没有数值,则置为0
+        if (!row['amtWaiveHandle'] || row['amtWaiveHandle'] === '') {
+          this.$set(row, 'amtWaiveHandle', 0);
+        }
+        // 将优惠金额设置成保存时需要的列名
+        this.$set(row, 'amtWaive', row['amtWaiveHandle']);
+        sumAmtReceivableHandle += parseFloat(row["amtReceivableHandle"]);
+        sumAmtWaiveHandle += parseFloat(row["amtWaiveHandle"]);
+      })
+      if (this.receivableFootFormData.sumAmtReceivableHandle != sumAmtReceivableHandle) {
+        this.$Message.warning('本次核销金额合计与本次总核销金额不一致')
         return false;
         return false;
       }
       }
-      for (let it of itemTable) {
-        if (!it.amtRec || it.amtRec === '') {
-          this.$Message.warning(this.$t('W_042', {'param': '收款金额不能'}))
+      if (this.receivableFootFormData.sumAmtWaiveHandle != sumAmtWaiveHandle) {
+        this.$Message.warning('本次优惠金额合计与本次总优惠金额不一致')
+        return false;
+      }
+      if (this.receivableFootFormData.sumAmtReceivableHandle > this.receivableFootFormData.sumReceiptResidue) {
+        this.$Message.warning('本次总核销金额不能大于总可用金额')
+        return false;
+      }
+
+      let receivableTable = this.$refs['receivableTable'].getTableDataFilter();
+      if (!receivableTable || receivableTable.length == 0) {
+        this.$Message.warning(this.$t('W_042', {'param': '应收款单不能'}))
+        return false;
+      }
+      for (let it of receivableTable) {
+        if (!it.amtReceivableHandle === 0 && it.amtWaiveHandle === '') {
+          this.$Message.warning('本次核销金额和本次优惠金额不能都为0')
+          return false;
+        }
+        if (!it.amtResidue < 0) {
+          this.$Message.warning('剩余应收不能小于0')
           return false;
           return false;
         }
         }
       }
       }
@@ -330,21 +488,17 @@ export default {
      * @date   : 2023/6/25 14:31
      * @date   : 2023/6/25 14:31
      */
      */
     setParams(arg) {
     setParams(arg) {
-      if (this.type === this.$config.formMode.receipt) {
+      if (this.type === this.$config.formMode.add) {
         this.formData.rpType = this.$config.rpType.shouKuan
         this.formData.rpType = this.$config.rpType.shouKuan
-      } else if (this.type === this.$config.formMode.refund) {
-        this.formData.rpType = this.$config.rpType.tuiShouKuan
       }
       }
       this.formData.accDate = new Date(this.formData.accDate).toDateStr();
       this.formData.accDate = new Date(this.formData.accDate).toDateStr();
       // 修改新增的表数据
       // 修改新增的表数据
       let itemTable = this.$refs['receiptTable'].getTableDataFilter();
       let itemTable = this.$refs['receiptTable'].getTableDataFilter();
+      let receivableTable = this.$refs['receivableTable'].getTableDataFilter();
+
       this.formData.itemList = itemTable
       this.formData.itemList = itemTable
-      this.params = {...this.formData}
-      // itemTable.forEach((it, index) => {
-      //   this.$set(it, 'residueAmt', it["amtRec"]);
-      //   Object.assign(it, it, this.formData)
-      // });
-      // this.params = {"itemList": itemTable}
+      this.formData.receivableList = receivableTable
+      Object.assign(this.params, this.formData, this.receivableFootFormData)
     },
     },
     /**
     /**
      * @desc   : 保存数据
      * @desc   : 保存数据
@@ -352,12 +506,8 @@ export default {
      * @date   : 2023/6/25 14:31
      * @date   : 2023/6/25 14:31
      */
      */
     saveData() {
     saveData() {
-      if (this.type === this.$config.formMode.receipt) {
-        return this.excute(this.$service.cusReceiptService, this.$service.cusReceiptService.insertReceipt, this.params);
-      } else if (this.type === this.$config.formMode.refund) {
-        return this.excute(this.$service.cusReceiptService, this.$service.cusReceiptService.insertRefund, this.params)
-      } else if (this.type === this.$config.formMode.edit) {
-        return this.excute(this.$service.cusReceiptService, this.$service.cusReceiptService.update, this.params)
+      if (this.type === this.$config.formMode.add) {
+        return this.excute(this.$service.receiptService, this.$service.receiptService.insertReceivableReceipt, this.params);
       }
       }
     },
     },
     /**
     /**
@@ -385,10 +535,10 @@ export default {
         makeStaff: self.$store.state.user.id,
         makeStaff: self.$store.state.user.id,
         cpId: self.$store.state.user.cpId,
         cpId: self.$store.state.user.cpId,
         itemList: [],
         itemList: [],
+        receivableList: [],
       }
       }
     },
     },
-  }
-  ,
+  },
   /**
   /**
    * @desc   : 在实例创建完成后被立即同步调用
    * @desc   : 在实例创建完成后被立即同步调用
    * @author : 付斌
    * @author : 付斌
@@ -397,7 +547,6 @@ export default {
   created() {
   created() {
     this.focusItem = 'receiptId';    // 给第一个组件赋值,可以在混入中自动去聚焦
     this.focusItem = 'receiptId';    // 给第一个组件赋值,可以在混入中自动去聚焦
     this.primaryKey = 'receiptId'  // 设置主键Id
     this.primaryKey = 'receiptId'  // 设置主键Id
-    this.routeObjName = 'receipt'  // 设置路由名称
   }
   }
 }
 }
 </script>
 </script>

+ 31 - 10
src/view/ivt/ivt-freeze/form.vue

@@ -107,22 +107,35 @@ export default {
         orgList: [],//组织机构数组
         orgList: [],//组织机构数组
       },
       },
       freezeItemColumns: [
       freezeItemColumns: [
+        // 选择库存商品
         {
         {
           field: 'skuModel',
           field: 'skuModel',
-          type: 'disabled',
+          type: 'tableSelect',
+          controlId: 'skuId',
+          multiple: false,
+          sortBoolean: false,
+          dataType: self.$config.tableSelectType.inventory,
+          otherSearchParam: () => {
+            return {
+              skuId: self.currentRow?.skuId,
+              nonStdCode: self.currentRow?.nonStdCode,
+            }
+          },
+          fieldUpdate: [
+            {updateField: 'skuModel', valueFiled: 'skuModel'},
+            {updateField: 'skuName', valueFiled: 'skuName'},
+            {updateField: 'invId', valueFiled: 'invId'},
+            {updateField: 'skuId', valueFiled: 'skuId'},
+            {updateField: 'skuCode', valueFiled: 'skuCode'},
+            {updateField: 'whName', valueFiled: 'whName'},
+            {updateField: 'invQty', valueFiled: 'invQty'},
+          ],
+          searchDetailFlag: true
         },
         },
         {
         {
           field: 'skuName',
           field: 'skuName',
-          type: 'disabled',
-        },
-        {
-          field: 'skuCode',
-          type: 'disabled',
-        },
-        // 选择库存商品
-        {
-          field: 'whName',
           type: 'tableSelect',
           type: 'tableSelect',
+          controlId: 'skuId',
           multiple: false,
           multiple: false,
           sortBoolean: false,
           sortBoolean: false,
           dataType: self.$config.tableSelectType.inventory,
           dataType: self.$config.tableSelectType.inventory,
@@ -143,6 +156,14 @@ export default {
           ],
           ],
           searchDetailFlag: true
           searchDetailFlag: true
         },
         },
+        {
+          field: 'skuCode',
+          type: 'disabled',
+        },
+        {
+          field: 'whName',
+          type: 'disabled',
+        },
         //库存数量
         //库存数量
         {
         {
           field: 'invQty',
           field: 'invQty',

+ 11 - 14
src/view/ivt/ivt-freeze/index.vue

@@ -48,7 +48,7 @@
           <DkTableColumn field="cusName"></DkTableColumn>
           <DkTableColumn field="cusName"></DkTableColumn>
           <DkTableColumn field="orgName"></DkTableColumn>
           <DkTableColumn field="orgName"></DkTableColumn>
           <DkTableColumn field="staffName"></DkTableColumn>
           <DkTableColumn field="staffName"></DkTableColumn>
-          <DkTableColumn field="sumQuantity"></DkTableColumn>
+          <DkTableColumn field="sumQuantity" dataType="number"></DkTableColumn>
           <DkTableColumn field="makeStaffName"></DkTableColumn>
           <DkTableColumn field="makeStaffName"></DkTableColumn>
           <DkTableColumn field="autoUnfreezeDate"></DkTableColumn>
           <DkTableColumn field="autoUnfreezeDate"></DkTableColumn>
           <DkTableColumn field="flgValid" type="switch"/>
           <DkTableColumn field="flgValid" type="switch"/>
@@ -60,25 +60,22 @@
         <DkTable :id="'table-'+$options.name" ref="detail-select" :data="goodsDetailData" showFooter
         <DkTable :id="'table-'+$options.name" ref="detail-select" :data="goodsDetailData" showFooter
                    :height="this.tableHeight * split" primaryKey="itemId" name="table">
                    :height="this.tableHeight * split" primaryKey="itemId" name="table">
             <!-- 商品型号-->
             <!-- 商品型号-->
-            <DkTableColumn field="skuModel" width="150" :filter="false"></DkTableColumn>
+            <DkTableColumn field="skuModel"/>
             <!-- 商品名称-->
             <!-- 商品名称-->
-            <DkTableColumn field="skuName" width="150" :filter="false"></DkTableColumn>
+            <DkTableColumn field="skuName"/>
             <!-- 唯一编码-->
             <!-- 唯一编码-->
-            <DkTableColumn field="skuCode" width="200" :filter="false"></DkTableColumn>
+            <DkTableColumn field="skuCode"/>
             <!-- 品牌-->
             <!-- 品牌-->
-            <DkTableColumn field="shortName" width="auto" :filter="false" :title="$t('shortName')"></DkTableColumn>
+            <DkTableColumn field="shortName"/>
             <!-- 冻结数量-->
             <!-- 冻结数量-->
-            <DkTableColumn field="freezeQty" :title="'冻结数量'" width="auto" min-width="110" :filter=false
-                           :sum="true" :digits="0"></DkTableColumn>
+            <DkTableColumn field="freezeQty"dataType="number" :sum="true" />
             <!-- 解冻数量-->
             <!-- 解冻数量-->
-            <DkTableColumn field="unfreezeQty" :title="'解冻数量'" width="auto" min-width="110" :filter=false
-                         :sum="true" :digits="0"></DkTableColumn>
+            <DkTableColumn field="unfreezeQty" dataType="number":sum="true"/>
             <!-- 剩余解冻数量-->
             <!-- 剩余解冻数量-->
-            <DkTableColumn field="surplusQty" :title="'剩余解冻数量'" width="auto" min-width="110" :filter=false
-                         :sum="true" :digits="0"></DkTableColumn>
+            <DkTableColumn field="surplusQty" dataType="number" :sum="true"/>
             <!-- 仓库-->
             <!-- 仓库-->
-            <DkTableColumn field="whName" width="auto" :filter="false"></DkTableColumn>
-            <DkTableColumn field="remarks" min-width="200" width="auto" :filter=false></DkTableColumn>
+            <DkTableColumn field="whName" />
+            <DkTableColumn field="remarks" />
           </DkTable>
           </DkTable>
       </div>
       </div>
     </DkSplit>
     </DkSplit>
@@ -109,7 +106,7 @@ export default {
               code: 'freezeStatusList',
               code: 'freezeStatusList',
               data: [],
               data: [],
               valueKey: 'id',
               valueKey: 'id',
-              labelKey: 'kindCode',
+              labelKey: 'kindName',
             },
             },
             valueKind: 'M-CHOICE'
             valueKind: 'M-CHOICE'
           },
           },

+ 15 - 6
src/view/mst/org/index.vue

@@ -10,7 +10,7 @@
         <!--    清空条件    -->
         <!--    清空条件    -->
         <BaseIndexButton ref="clear" name="clear"></BaseIndexButton>
         <BaseIndexButton ref="clear" name="clear"></BaseIndexButton>
         <!--    编辑    -->
         <!--    编辑    -->
-        <BaseIndexButton ref="edit" name="edit"></BaseIndexButton>
+        <BaseIndexButton v-show="editTopFlgValid != null && editTopFlgValid" ref="edit" name="edit"></BaseIndexButton>
         <!--    启用    -->
         <!--    启用    -->
         <BaseIndexButton v-show="flgValid != null && flgValid" ref="enable" name="enable"></BaseIndexButton>
         <BaseIndexButton v-show="flgValid != null && flgValid" ref="enable" name="enable"></BaseIndexButton>
         <!--    停用    -->
         <!--    停用    -->
@@ -37,10 +37,11 @@
                tree-row-field="orgId"
                tree-row-field="orgId"
                @current-change="currentChangeEvent($event)"
                @current-change="currentChangeEvent($event)"
                ref="table-select" name="table">
                ref="table-select" name="table">
-        <DkTableColumn field="orgName" width="300" :tree-node="true" ></DkTableColumn>
-        <DkTableColumn field="levelName" width="350" :title="$t('orgLevelName')"></DkTableColumn>
-        <DkTableColumn field="orgCode" width="260" :title="$t('orgCode')"></DkTableColumn>
-        <DkTableColumn field="displayNo"></DkTableColumn>
+        <DkTableColumn field="orgName" :tree-node="true" ></DkTableColumn>
+        <DkTableColumn field="levelName" :title="$t('orgLevelName')"></DkTableColumn>
+        <DkTableColumn field="orgCode" ></DkTableColumn>
+        <DkTableColumn field="orgMac"></DkTableColumn>
+        <DkTableColumn field="whName"></DkTableColumn>
         <DkTableColumn field="flgValid" type="switch" ></DkTableColumn>
         <DkTableColumn field="flgValid" type="switch" ></DkTableColumn>
         <DkTableColumn field="remarks" width="auto"></DkTableColumn>
         <DkTableColumn field="remarks" width="auto"></DkTableColumn>
       </DkTable>
       </DkTable>
@@ -126,9 +127,11 @@ export default {
       topId: null,
       topId: null,
       // 是否显示启用或停用按钮
       // 是否显示启用或停用按钮
       flgValid: null,
       flgValid: null,
+      // 如果parent_id是空,则不能编辑
+      editTopFlgValid:null,
       // 父级信息
       // 父级信息
       parentOrgList:[],
       parentOrgList:[],
-           // 查询条件
+      // 查询条件
       searchContent: [
       searchContent: [
         {
         {
           itemCode: 'orgName',
           itemCode: 'orgName',
@@ -240,6 +243,12 @@ export default {
         this.formData.parentId = row.orgId;
         this.formData.parentId = row.orgId;
         // 判断是否是底层数据
         // 判断是否是底层数据
         this.flgValid = row.levelLeaf;
         this.flgValid = row.levelLeaf;
+        if(row.parentId==null){
+          this.editTopFlgValid=false;
+        }
+        else{
+          this.editTopFlgValid=true;
+        }
       }
       }
     },
     },
 
 

+ 22 - 11
src/view/mst/supplier/index.vue

@@ -46,9 +46,9 @@
       <DkTableColumn field="supTypeName"></DkTableColumn>
       <DkTableColumn field="supTypeName"></DkTableColumn>
       <DkTableColumn field="serviceCategoriesName"></DkTableColumn>
       <DkTableColumn field="serviceCategoriesName"></DkTableColumn>
       <DkTableColumn field="brandName"></DkTableColumn>
       <DkTableColumn field="brandName"></DkTableColumn>
-      <DkTableColumn field="staffName"></DkTableColumn>
-      <DkTableColumn field="orgCode"></DkTableColumn>
-      <DkTableColumn field="orgName"></DkTableColumn>
+      <DkTableColumn field="staffPurName"></DkTableColumn>
+      <DkTableColumn field="初始欠款"></DkTableColumn>
+      <DkTableColumn field="orgPurName"></DkTableColumn>
       <DkTableColumn field="flgValid" type="switch"></DkTableColumn>
       <DkTableColumn field="flgValid" type="switch"></DkTableColumn>
       <DkTableColumn field="remarks" width="auto"></DkTableColumn>
       <DkTableColumn field="remarks" width="auto"></DkTableColumn>
     </DkTable>
     </DkTable>
@@ -68,14 +68,20 @@
         <DkFormItem prop="supName" :required="true">
         <DkFormItem prop="supName" :required="true">
           <InputPop v-model="formData.supName"/>
           <InputPop v-model="formData.supName"/>
         </DkFormItem>
         </DkFormItem>
+        <!--  供应商类别  -->
+        <DkFormItem prop="supType">
+          <SelectPop v-model="formData.supType" ref="supType" :options="supTypeList" :multiple="false"
+                     labelKey="kindName" valueKey="kindCode">
+          </SelectPop>
+        </DkFormItem>
         <!--  业务员  -->
         <!--  业务员  -->
-        <DkFormItem prop="staff" :data-type="$config.dataType.array">
+        <DkFormItem prop="staffPurName" :data-type="$config.dataType.array">
           <SelectMagnifier v-model="formData.staffId" :display-text="formData.staffId"
           <SelectMagnifier v-model="formData.staffId" :display-text="formData.staffId"
                            :type="this.$config.MagnifierType.staff"
                            :type="this.$config.MagnifierType.staff"
                            :multiple="false"></SelectMagnifier>
                            :multiple="false"></SelectMagnifier>
         </DkFormItem>
         </DkFormItem>
         <!--  业务部门  -->
         <!--  业务部门  -->
-        <DkFormItem prop="organization" :data-type="$config.dataType.array">
+        <DkFormItem prop="orgPurName" :data-type="$config.dataType.array">
           <SelectMagnifier v-model="formData.orgId" :display-text="formData.orgId"
           <SelectMagnifier v-model="formData.orgId" :display-text="formData.orgId"
                            :type="this.$config.MagnifierType.org"
                            :type="this.$config.MagnifierType.org"
                            :multiple="false"></SelectMagnifier>
                            :multiple="false"></SelectMagnifier>
@@ -96,12 +102,6 @@
         <DkFormItem prop="contactPhone">
         <DkFormItem prop="contactPhone">
           <InputPop v-model="formData.contactPhone"/>
           <InputPop v-model="formData.contactPhone"/>
         </DkFormItem>
         </DkFormItem>
-        <!--  供应商类别  -->
-        <DkFormItem prop="supType">
-          <SelectPop v-model="formData.supType" ref="supType" :options="supTypeList" :multiple="false"
-                     labelKey="kindName" valueKey="kindCode">
-          </SelectPop>
-        </DkFormItem>
         <!--  服务类别  -->
         <!--  服务类别  -->
         <DkFormItem prop="serviceCategories">
         <DkFormItem prop="serviceCategories">
           <SelectPop v-model="formData.serviceCategories" ref="serviceCategories" :options="serviceCategoriesList"
           <SelectPop v-model="formData.serviceCategories" ref="serviceCategories" :options="serviceCategoriesList"
@@ -152,6 +152,17 @@ export default {
         {
         {
           itemCode: 'supName',
           itemCode: 'supName',
         },
         },
+        {
+          itemCode: 'supTypeList',
+          itemName: self.$t('supType'),
+          valueFormat: {
+            code: 'supTypeList',
+            data: [],
+            valueKey: 'kindName',
+            labelKey: 'kindCode',
+          },
+          valueKind: 'M-CHOICE'
+        },
         self.$config.flgValidSearch // 有效标识
         self.$config.flgValidSearch // 有效标识
       ],
       ],
     }
     }

+ 1 - 1
src/view/sale/order-out/form.vue

@@ -73,7 +73,7 @@
       <DkPanel prop="goodsInformation">
       <DkPanel prop="goodsInformation">
         <div id="search-cond-div-goods-info" ref="search-cond-div-goods-info" slot="content">
         <div id="search-cond-div-goods-info" ref="search-cond-div-goods-info" slot="content">
           <EditTable ref="goodsTable" :data="formData.itemList" showFooter major-field="itemId"
           <EditTable ref="goodsTable" :data="formData.itemList" showFooter major-field="itemId"
-                     :new-row-flag="false" :add-flag="false" :delete-flag="false" :readonly="false"
+                     :new-row-flag="false" :add-flag="false" :delete-flag="false"
                      :columns="addOutItemColumns" controlId="skuId"
                      :columns="addOutItemColumns" controlId="skuId"
                      @cell-click="handleClickTable" @on-choose="getTotals" @changeValue="getTotals"
                      @cell-click="handleClickTable" @on-choose="getTotals" @changeValue="getTotals"
           ></EditTable>
           ></EditTable>

+ 1 - 1
src/view/sale/order-return/form.vue

@@ -72,7 +72,7 @@
       <DkPanel prop="goodsInformation">
       <DkPanel prop="goodsInformation">
         <div id="search-cond-div-goods-info" ref="search-cond-div-goods-info" slot="content">
         <div id="search-cond-div-goods-info" ref="search-cond-div-goods-info" slot="content">
           <EditTable ref="goodsTable" :data="formData.itemList" showFooter major-field="itemId"
           <EditTable ref="goodsTable" :data="formData.itemList" showFooter major-field="itemId"
-                     :new-row-flag="false" :add-flag="false" :delete-flag="false" :readonly="false"
+                     :new-row-flag="false" :add-flag="false" :delete-flag="false"
                      :columns="addOutReturnItemColumns" controlId="skuId"
                      :columns="addOutReturnItemColumns" controlId="skuId"
                      @on-choose="getTotals" @changeValue="getTotals"
                      @on-choose="getTotals" @changeValue="getTotals"
           ></EditTable>
           ></EditTable>