Kaynağa Gözat

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

jiangn 1 yıl önce
ebeveyn
işleme
9752bfcea4

+ 14 - 0
src/components/base/dk-date-picker-pop/dk-date-picker-pop.vue

@@ -84,6 +84,11 @@
         type: Boolean,
         default: true
       },
+      // 是否选择当前日期之前的日期
+      minFlag: {
+        type: Boolean,
+        default: false
+      },
     },
     data() {
       let self = this
@@ -190,6 +195,15 @@
       getOptions() {
         if (this.shortCutFlag) {
           let options = {}
+
+          if(this.minFlag && this.type === 'date'){
+            options = {
+              disabledDate(date){
+                return date && date.valueOf() < Date.now() - 86400000;
+              }
+            }
+          }
+
           if (this.type === 'daterange') { // 日期范围
             options.shortcuts = [
               {

+ 3 - 0
src/libs/update-columns/index.js

@@ -196,6 +196,9 @@ export default {
     {updateField: 'packBox', valueFiled: 'packBox'},
     {updateField: 'unitId', valueFiled: 'unitId'},
     {updateField: 'subUnitId', valueFiled: 'subUnitId'},
+    {updateField: 'unitName', valueFiled: 'unitName'},
+    {updateField: 'subUnitName', valueFiled: 'subUnitName'},
+    {updateField: 'decimalPlaces' , valueFiled: 'decimalPlaces'},
   ],
 
   /**

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

@@ -275,7 +275,9 @@ export const columns = {
   expand: '展开',
   collapse: '折叠',
   orgId: '组织',
+  deptOrg:'申请部门',
   staffId: '员工',
+  deptStaff:'申请员工',
   parentName: '上级组织',
   staffIds: '业务员',
   staffNames: '员工',

+ 72 - 32
src/view/ivt/ivt-freeze/form.vue

@@ -28,7 +28,7 @@
             <InputPop ref="cusName"  v-model="formData.cusName" :readonly="true"/>
           </DkFormItem>
           <!--业务部门-->
-          <DkFormItem prop="orgId" :label="$t('orgId')" :required="true">
+          <DkFormItem prop="orgId" :label="$t('deptOrg')" :required="true">
             <SelectMagnifier v-model="formData.orgId" :display-text="formData.orgName"
                              :type="this.$config.MagnifierType.org"
                              @ok="orgOk"
@@ -36,7 +36,7 @@
                              :multiple="false"/>
           </DkFormItem>
           <!--业务员-->
-          <DkFormItem prop="staffId" :label="$t('staffId')" :required="true">
+          <DkFormItem prop="staffId" :label="$t('deptStaff')" :required="true">
             <SelectMagnifier v-model="formData.staffId" :display-text="formData.staffName"
                              :type="this.$config.MagnifierType.staff"
                              @ok="staffOk"
@@ -46,7 +46,7 @@
           <!--自动解冻时间-->
           <DkFormItem prop="autoUnfreezeDate" :data-type="$config.dataType.autoUnfreezeDate">
             <DatePickerPop v-model="formData.autoUnfreezeDate"  :readonly="checkColumnIsEdit('autoUnfreezeDate')"
-                           :short-cut-flag="true"/>
+                           :short-cut-flag="true" :min-flag="true"/>
           </DkFormItem>
           <!--商品总数量-->
           <DkFormItem prop="sumQuantity">
@@ -64,9 +64,11 @@
           <EditTable ref="goodsTable" :data="formData.itemList" showFooter
                      major-field="itemId"
                      control-id="invId"
-                     :new-row-flag="true" :height="tableHeight"
+                     :new-row-flag="true" :height="400"
                      :columns="this.type === this.$config.formMode.add ? freezeItemColumns: unfreezeItemColumns"
                      @changeValue="getTotals"
+                     @on-choose="getTotals"
+                     @changeNonStandard="changeNonStandard"
           ></EditTable>
         </div>
       </DkPanel>
@@ -94,15 +96,15 @@ export default {
     let self = this
     return {
       formData: {
-        orgId: null,
+        orgId: self.$store.state.user.orgId,
         makeStaff: self.$store.state.user.id,
-        staffId: null,
-        staffName: null,
+        staffId: self.$store.state.user.staffId,
+        staffName: self.$store.state.user.staffName,
         staffCode: null,
         cusId:null,
         cusPhone:null,
         cusName:null,
-        orgName: null,
+        orgName: self.$store.state.user.orgName,
         orgCode: null,
         remarks: null,
         sumQuantity:null,
@@ -119,7 +121,13 @@ export default {
           controlId: 'invId',
           dataType: self.$config.tableSelectType.inventory,
           fieldUpdate: self.$updateColumns.freezeChooseIvt,
-          searchDetailFlag: true
+          searchDetailFlag: true,
+          // 查询条件
+          otherSearchParam: () => {
+            return {
+              inqtyFlag: true,
+            }
+          },
         },
         {
           field: 'skuName',
@@ -127,7 +135,13 @@ export default {
           controlId: 'invId',
           dataType: self.$config.tableSelectType.inventory,
           fieldUpdate: self.$updateColumns.freezeChooseIvt,
-          searchDetailFlag: true
+          searchDetailFlag: true,
+          // 查询条件
+          otherSearchParam: () => {
+            return {
+              inqtyFlag: true,
+            }
+          },
         },
         {
           field: 'skuCode',
@@ -158,31 +172,16 @@ export default {
             piece: ['freezeQty%packBox', 'freezeQty', 'packBox'],
           },
         },
-        //包装
+        //基本单位
         {
-          field: 'packBox',
+          field: 'unitName',
+          title: self.$t('piece'),
           type: 'disabled',
         },
-        //箱
         {
-          field: 'box',
-          type: 'number',
-          digits: 0,
-          sum: true,
-          formula: {
-            freezeQty: ['box*packBox+piece', 'box', 'packBox','piece'],
-          },
-        },
-        //片
-        {
-          field: 'piece',
-          type: 'number',
-          digits: 0,
-          sum: true,
-          formula: {
-            freezeQty: ['box*packBox+piece', 'piece','box','packBox'],
-            box: ['(box*packBox+piece)%packBox', 'piece', 'box' , 'packBox','packBox'],
-          },
+          field: 'unitInfo',
+          title: self.$t('boxPiece'),
+          type: 'nonStandard',
         },
         //备注
         {
@@ -268,6 +267,21 @@ export default {
 
   methods: {
     /**
+     * @desc   : 修改包装数
+     * @author : 周兴
+     * @date   : 2024/5/24 15:02
+     */
+    changeNonStandard({row,rowIndex,field}){
+      let table = this.$refs['goodsTable'].tableData
+      table[rowIndex][field] = (row['nonStandardForm']['box']?row['nonStandardForm']['box']:0)
+        + row['subUnitName']
+        +(row['nonStandardForm']['piece'] == 0 || row['nonStandardForm']['piece'] ?row['nonStandardForm']['piece']:'')
+        +(row['unitName']?(row['nonStandardForm']['piece']?row['unitName']:''):'')
+      table[rowIndex]['box'] = row['nonStandardForm']['box']?row['nonStandardForm']['box']:0
+      table[rowIndex]['piece'] = row['nonStandardForm']['piece'] ?row['nonStandardForm']['piece']:0
+      table[rowIndex]['freezeQty'] = row['packBox'] * (row['nonStandardForm']['box']?row['nonStandardForm']['box']:0) + (row['nonStandardForm']['piece'] ?row['nonStandardForm']['piece']:0)
+    },
+    /**
      * @desc   : 获取客户相关
      * @author : 宋扬
      * @date   : 2024/3/14 15:05
@@ -316,13 +330,39 @@ export default {
      * @date   : 2024/3/14 16:36
      */
     getTotals(field, row, rowIndex) {
-      let table = this.$refs['goodsTable'].getTableDataFilter();
+      let table = this.$refs['goodsTable'].tableData;
       let sumQuantity = 0;  // 合计数量
       if (table && table.length > 0) {
         table.forEach(row => {
           if (row["freezeQty"]) {
             sumQuantity += parseFloat(row["freezeQty"]);
           }
+          this.decimalPlaces = row['decimalPlaces']
+          if(row['subUnitId']){
+            row.nonStandardForm = {
+              formula: (row['subUnitName']?'1'+row['subUnitName']+ '=':'' ) + row['packBox'] + row['unitName'],
+              box:(row['freezeQty']/row['packBox'] >= 1 ? Math.floor(row['freezeQty']/row['packBox']):0),
+              piece:row['freezeQty']%row['packBox']?row['freezeQty']%row['packBox']:0,
+            }
+            row.nonStandardItems = [
+              {code:'formula',label:'计算公式',type:'text',readonly:true},
+              {code:'box',label:row['subUnitName'],type:'number' },
+              {code:'piece',label:row['unitName'],type:'number',digits:this.decimalPlaces}
+            ]
+            row['unitInfo'] = (row['freezeQty']/row['packBox'] >= 1 ? Math.floor(row['freezeQty']/row['packBox']):0) + row['subUnitName'] + (row['freezeQty']%row['packBox']?row['freezeQty']%row['packBox']:0).toFixed(this.decimalPlaces) + row['unitName']
+          }else{
+            row.nonStandardForm = {
+              formula: (row['subUnitName']?'1'+row['subUnitName']+ '=':'' ) + row['packBox'] + row['unitName'],
+              piece:row['freezeQty'],
+            }
+            row.nonStandardItems = [
+              {code:'formula',label:'计算公式',type:'text',readonly:true},
+              {code:'piece',label:row['unitName'],type:'number',digits: this.decimalPlaces}
+            ]
+            row['unitInfo'] = row['freezeQty'] + row['unitName']
+          }
+          row['box'] = row['nonStandardForm']['box']
+          row['piece'] = row['nonStandardForm']['piece']
         })
         this.formData.sumQuantity = sumQuantity;
       }

+ 30 - 16
src/view/sale/order-return/index.vue

@@ -9,6 +9,8 @@
         <BaseIndexButton ref="entryHandle" name="entryHandle"></BaseIndexButton>
         <BaseIndexButton ref="entryBack" name="entryBack"></BaseIndexButton>
         <BaseIndexButton ref="invalid" name="invalid"></BaseIndexButton>
+        <!--打印-->
+        <BaseIndexButton ref="print" name="print"></BaseIndexButton>
       </template>
       <template #right>
         <BaseIndexButton ref="add" name="add"></BaseIndexButton>
@@ -43,20 +45,20 @@
                    :page-size-opts="pageSizeOpts"
                    :page-size="pageInfo.pageSize"
                    name="table">
-            <DkTableColumn field="outNo" :type="$libaray.checkButtonHasRight('order-return-edit')?'link':''"
+            <DkTableColumn field="outNo" :title="$t('returnNo')" :type="$libaray.checkButtonHasRight('order-return-edit')?'link':''"
                            @on-link="handleLink"/>
+            <DkTableColumn field="outDate" :title="$t('intoDate')" data-type="date"></DkTableColumn>
+            <DkTableColumn field="outStatusName" :title="$t('intoStatus')" :color-cards="['待出库','出库中','已出库']"></DkTableColumn>
             <DkTableColumn field="biznisNo"></DkTableColumn>
             <DkTableColumn field="cusName" :type="$libaray.checkButtonHasRight('customer-detail')?'link':''"
                            @on-link="openCustomerMessage"></DkTableColumn>
             <DkTableColumn field="cusPhone"></DkTableColumn>
             <DkTableColumn field="contactName"></DkTableColumn>
             <DkTableColumn field="addressFull"></DkTableColumn>
-            <DkTableColumn field="outingQty" dataType="number" sum></DkTableColumn>
-            <DkTableColumn field="outingAmt" :digits="2" dataType="number" sum></DkTableColumn>
-            <DkTableColumn field="outQty" dataType="number" sum></DkTableColumn>
-            <DkTableColumn field="outAmt" :digits="2" dataType="number" sum></DkTableColumn>
-            <DkTableColumn field="outDate" data-type="date"></DkTableColumn>
-            <DkTableColumn field="outStatusName" :color-cards="['待出库','出库中','已出库']"></DkTableColumn>
+            <DkTableColumn field="outingQty" :title="$t('intoingQty')" dataType="number" sum></DkTableColumn>
+            <DkTableColumn field="outingAmt" :title="$t('intoingAmt')" :digits="2" dataType="number" sum></DkTableColumn>
+            <DkTableColumn field="outQty" :title="$t('intoQty')" dataType="number" sum></DkTableColumn>
+            <DkTableColumn field="outAmt" :title="$t('intoAmt')" :digits="2" dataType="number" sum></DkTableColumn>
             <DkTableColumn field="orgName"></DkTableColumn>
             <DkTableColumn field="staffName"></DkTableColumn>
             <DkTableColumn field="makeTime" :dataType="$config.columnType.dateTime"></DkTableColumn>
@@ -76,14 +78,12 @@
               <DkTableColumn field="skuModel"></DkTableColumn>
               <DkTableColumn field="skuName"></DkTableColumn>
               <DkTableColumn field="skuCode"></DkTableColumn>
-              <DkTableColumn field="outStatusName"></DkTableColumn>
-              <DkTableColumn field="outingQty" dataType="number" sum></DkTableColumn>
-              <DkTableColumn field="outingAmt" :digits="2" dataType="number" sum></DkTableColumn>
-              <DkTableColumn field="outQty" dataType="number" sum></DkTableColumn>
-              <DkTableColumn field="outAmt" :digits="2" dataType="number" sum></DkTableColumn>
-              <DkTableColumn field="returnQty" dataType="number" sum></DkTableColumn>
-              <DkTableColumn field="returnAmt" :digits="2" dataType="number" sum></DkTableColumn>
-              <DkTableColumn field="priceOut"></DkTableColumn>
+              <DkTableColumn field="outStatusName" :title="$t('intoStatus')"></DkTableColumn>
+              <DkTableColumn field="outingQty" :title="$t('intoingQty')" dataType="number" sum></DkTableColumn>
+              <DkTableColumn field="outingAmt" :title="$t('intoingAmt')" :digits="2" dataType="number" sum></DkTableColumn>
+              <DkTableColumn field="outQty" :title="$t('intoQty')" dataType="number" sum></DkTableColumn>
+              <DkTableColumn field="outAmt" :title="$t('intoAmt')" :digits="2" dataType="number" sum></DkTableColumn>
+              <DkTableColumn field="priceOut" :title="$t('intoItemPrice')"></DkTableColumn>
               <DkTableColumn field="whName"></DkTableColumn>
               <DkTableColumn field="nonStdCode"></DkTableColumn>
               <DkTableColumn field="remarks"></DkTableColumn>
@@ -100,16 +100,21 @@
         </div>
       </DkSplit>
     </div>
+    <PrintModal ref="printModal" :doc-name="$config.docCode.return"
+                :postName="'order_out'"
+                :id="$refs?.['table-select']?.batchRows?.[0]?.outId||null"/>
   </div>
 </template>
 
 <script>
 
-import {indexMixin} from '@/mixins'
+import {indexMixin} from '@/mixins';
+import PrintModal from '_c/business/print/modal';
 
 export default {
   name: 'order-return',
   mixins: [indexMixin],
+  components: {PrintModal},
   data() {
     let self = this
     return {
@@ -205,6 +210,15 @@ export default {
   },
   methods: {
     /**
+     * @desc   : 选择模板、打印机
+     * @author : 洪旭东
+     * @date   : 2023-04-10 13:45
+     */
+    print() {
+      this.$refs.printModal.showChooseTemplate = true
+    },
+
+    /**
      * @desc   : 进入客户页面
      * @author : 常皓宁
      * @date   : 2024/5/21 11:05