王英杰 1 an în urmă
părinte
comite
9f4e61ff62

+ 6 - 6
components/dkbase/dk-form-bill/dk-form-bill.js

@@ -1589,7 +1589,7 @@ Component({
      * @author : 周兴
      * @date : 2024/1/19
      */
-    setGoods(e) {
+    setGoods(e) { 
       if (e.data) {
         let form = this.data.form
         let goodsList = form[this.data.itemName] || []
@@ -1600,12 +1600,12 @@ Component({
         this.setData({
           form: form,
           value: JSON.stringify(form)
-        })
+        }) 
         // 设置商品总单的金额信息 
         if (this.data.type == Constants.billType.sale) {
           this.setGoodsAmount(e.data);
         }
-        if (this.data.type == Constants.billType.saleOut) { //销售出库
+        if (this.data.type == Constants.billType.saleOut) { //销售出库 
           this.setGoodsOutList(e.data)
         }
         if (this.data.type == Constants.billType.purReturn) { //采购退货
@@ -1621,7 +1621,7 @@ Component({
 
         // 设置是否进行收缩
         let card = this.data.cardList.filter(it => it.name == 'items');
-        this.handleContentObj(card[0])
+        this.handleContentObj(card[0]) 
         // 外露setGoods方法
         this.triggerEvent("setGoods", {
           data: goodsList
@@ -1865,7 +1865,7 @@ Component({
       this.setData({
         cardList: cardList,
         form: form
-      })
+      }) 
     },
     /**
      * @desc : 设置商品明细金额相关信息 销售出库
@@ -1922,7 +1922,7 @@ Component({
       }
       this.setData({
         form: form
-      })
+      }) 
       this.setGoodsOutAmount()
     },
     /**

+ 12 - 0
package-base-select/pages/select-source-sale-out-order/select-source-sale-out-order.js

@@ -26,6 +26,18 @@ Page({
   getData(params) {
     return this.excute(this.data.service, this.data.service.selectByCondDetail, params);
   },
+   /**
+     * @desc :   处理接口返回数据
+     * @date : 2024年3月8日
+     * @author : 于继渤
+     */
+    handleSearchData() {
+      let  tableData = this.data.tableData
+      tableData.forEach(element => {
+        element.outQty = Number( element.outQty) - Number(element.outingQty)
+      });
+      this.setData({tableData:tableData})
+    },
   /**
  * @desc : 设置查询参数
  * @date : 2024/2/1 15:49

+ 2 - 2
package-purchase/pages/supplier-list/supplier-list.js

@@ -80,12 +80,12 @@ Page({
     totallength: 0, //视图下方提醒数量
   // 列表区(脚部金额)
   footerAmount: {
-    name: 'sumAmtPayable',
+    name: 'payableResidue',
     title: mixins.$t('payAmount')
   },
   // 列表区(脚部信息)
   footerInfo: [{
-    name: 'sumAmtPayable',
+    name: 'payableResidue',
   }],
  
     // 路由

+ 9 - 0
package-sales/pages/order-return/add/add.js

@@ -1104,6 +1104,15 @@ Page({
         formData: JSON.stringify(formData)
       })
     }
+
+       // 标准版,自动出库办理标识默认勾上
+       if (this.data.gradeCode == Constants.gradeCode.STD) {
+        let btnFormData = JSON.parse(this.data.btnFormData) || {}
+        btnFormData.flag = true
+        this.setData({
+          btnFormData: JSON.stringify(btnFormData)
+        })
+      }
   },
 
 })

+ 14 - 13
package-sales/pages/sales-outbound/add/add.js

@@ -670,10 +670,10 @@ Page({
    * @date : 2024/2/1 15:49
    * @author : 于继渤
    */
-  setGoods(e) {
+  setGoods(e) { 
     //设置需收款
     let contentSaveList = this.data.contentSaveList
-    let formData = JSON.parse(this.data.formData)
+    let formData = JSON.parse(this.data.formData) 
     let itemIndex = 0
     let list = []
     formData.goodsList.forEach(res => {
@@ -689,6 +689,7 @@ Page({
       }
       res.sumPrice = res.priceInto * res.outingQty
     })
+     
     if (list.length > 0) {
       //批量查库存
       this.getInventory({
@@ -734,17 +735,17 @@ Page({
         } else {
           contentSaveList[0]['content'] = Number(formData.sumAmount)
         }
-
+        console.log('setGoods2',formData);
         this.setData({
           formData: JSON.stringify(formData),
           contentSaveList: contentSaveList
         })
         //处理库存量
-        this.calculationSalesUsableQty()
+        this.calculationSalesUsableQty('itemQty')
       })
     }
 
-
+ 
 
     this.calculateAmount(formData)
   },
@@ -770,23 +771,23 @@ Page({
 
   editItems() {
     //处理库存量
-    this.calculationSalesUsableQty()
+    this.calculationSalesUsableQty('outingQty')
     let formData = JSON.parse(this.data.formData)
     this.calculateAmount(formData)
   },
 
   //计算可售量相关
-  calculationSalesUsableQty() {
+  calculationSalesUsableQty(key) { 
     let btnFormData = JSON.parse(this.data.btnFormData)
-    //销售订单、销售出库、采购退货-自动出库或者办理时要读取系统参数【欠货开单】开启就不判断库存,调取后台自动生成对应入库单
+    //销售订单、销售出库、采购退货-自动出库或者办理时要读取系统参数【欠货开单】开启就不判断库存,调取后台自动生成对应入库单 
     if (btnFormData.flag && this.data.flgBackStockInvoicingSetting) {
       return
-    }
+    } 
     let formData = JSON.parse(this.data.formData)
     formData.goodsList.forEach(res => {
       if (res.invId) {
         //选择的数量大于可售量
-        if (Math.abs(res.outQty) > res.usableQty) {
+        if (Math.abs(key?res[key]:res.outQty) > res.usableQty) {
           res['usableQtyInsufficientFlag'] = true //可售量不足
           res['usableQty'] = res.usableQty //可售量
           res['titpsItemColorFlagKey'] = true
@@ -1009,14 +1010,14 @@ Page({
       sumStandard += item.priceStandard * item.outingQty
 
       if (item.flgSubUnit && item.subUnitName) {
-        item.box = item.outingBox
-        item.piece = item.outingPiece
+        item.box = (item.box != null)?item.box: item.outingBox
+        item.piece = (item.piece != null)?item.piece:item.outingPiece
         item.calculationFormula = item.packBox + item.unitName + '= 1' + item.subUnitName
         item.packageBox = item['box'] + item.subUnitName + item['piece'] + item.unitName
       }
 
     })
-
+ 
     formData.sumAmount = sumAmount
     formData.outingAmt = sumAmount
     formData.sumStandard = sumStandard

+ 289 - 75
package-sales/pages/sales-outbound/sales-outbound.js

@@ -16,77 +16,211 @@ Page({
    * 页面的初始数据 
    */
   data: {
-    tagList: [{ title: mixins.$t("all"), code: '' }, { title: mixins.$t("unOutBoundOutStatusName"), code: mixins.$t("outBoundingOutStatus") }, { title: mixins.$t("outBoundedOutStatusName"), code: mixins.$t("outBoundedOutStatus") }],
+    tagList: [{
+      title: mixins.$t("all"),
+      code: ''
+    }, {
+      title: mixins.$t("unOutBoundOutStatusName"),
+      code: mixins.$t("outBoundingOutStatus")
+    }, {
+      title: mixins.$t("outBoundedOutStatusName"),
+      code: mixins.$t("outBoundedOutStatus")
+    }],
     // 列表区(脚部金额)
-    footerAmount: { name: 'sumOutAmt', title: mixins.$t("totalAmount") },
+    footerAmount: {
+      name: 'sumOutAmt',
+      title: mixins.$t("totalAmount")
+    },
     // 列表区(脚部信息)
-    footerInfo: [{ name: 'sumOutQty', title: mixins.$t("piece"), prefix: mixins.$t("together"), }],
+    footerInfo: [{
+      name: 'sumOutQty',
+      title: mixins.$t("piece"),
+      prefix: mixins.$t("together"),
+    }],
     // 列表区(内容)
-    contentList: [
-      { name: 'outNo', title: mixins.$t("outOrderNo") },
-      { name: 'cusPhone', title: mixins.$t("cusPhone") },
-      { name: 'addressFull', title: mixins.$t("adddressFull") },
-      { name: [{ name: 'orgName', title: '' }, { name: 'staffName', title: mixins.$t("staffId") }], title: mixins.$t("storeInformation") }
+    contentList: [{
+        name: 'outNo',
+        title: mixins.$t("outOrderNo")
+      },
+      {
+        name: 'cusPhone',
+        title: mixins.$t("cusPhone")
+      },
+      {
+        name: 'addressFull',
+        title: mixins.$t("adddressFull")
+      },
+      {
+        name: [{
+          name: 'orgName',
+          title: ''
+        }, {
+          name: 'staffName',
+          title: mixins.$t("staffId")
+        }],
+        title: mixins.$t("storeInformation")
+      }
     ],
     // 查询条件
-    searchContent: [
-      { code: 'createtime', title: mixins.$t("pastThirthtyDays"), defaultValue: 5, searchType: Constants.searchType.date },
-      { code: 'staff', title: mixins.$t("staffId"), dropType: 'staff' },
-      { code: 'org', title: mixins.$t("orgId"), dropType: 'org' },
-      { code: 'choose', title: mixins.$t("choose"), searchType: Constants.searchType.pick }
+    searchContent: [{
+        code: 'createtime',
+        title: mixins.$t("pastThirthtyDays"),
+        defaultValue: 5,
+        searchType: Constants.searchType.date
+      },
+      {
+        code: 'staff',
+        title: mixins.$t("staffId"),
+        dropType: 'staff'
+      },
+      {
+        code: 'org',
+        title: mixins.$t("orgId"),
+        dropType: 'org'
+      },
+      {
+        code: 'choose',
+        title: mixins.$t("choose"),
+        searchType: Constants.searchType.pick
+      }
     ],
     // 查询条件-筛选
-    pullMenuList: [
-      { code: 'outStatus', pullType: 'mSelect', typeName: 'outStatus' },
-      { code: 'receiveStatus', pullType: 'mSelect', typeName: 'receiveStatus' },
-      { code: 'delivery_Time', dataType: 'date' },
-      { code: 'viewVoidedDocuments', dataType: 'checkbox' },
+    pullMenuList: [{
+        code: 'outStatus',
+        pullType: 'mSelect',
+        typeName: 'outStatus'
+      },
+      {
+        code: 'receiveStatus',
+        pullType: 'mSelect',
+        typeName: 'receiveStatus'
+      },
+      {
+        code: 'delivery_Time',
+        dataType: 'date'
+      },
+      {
+        code: 'viewVoidedDocuments',
+        dataType: 'checkbox'
+      },
     ],
     contentObj: {
-      '待出库': [
-        { name: 'outNo', title: mixins.$t("outOrderNo") },
-        { name: 'cusPhone', title: mixins.$t("cusPhone") },
-        { name: 'addressFull', title: mixins.$t("adddressFull") },
-        { name: [{ name: 'orgName', title: '' }, { name: 'staffName', title: mixins.$t("staffId") }], title: mixins.$t("storeInformation") }
+      '待出库': [{
+          name: 'outNo',
+          title: mixins.$t("outOrderNo")
+        },
+        {
+          name: 'cusPhone',
+          title: mixins.$t("cusPhone")
+        },
+        {
+          name: 'addressFull',
+          title: mixins.$t("adddressFull")
+        },
+        {
+          name: [{
+            name: 'orgName',
+            title: ''
+          }, {
+            name: 'staffName',
+            title: mixins.$t("staffId")
+          }],
+          title: mixins.$t("storeInformation")
+        }
       ],
-      '出库中': [
-        { name: 'outNo', title: mixins.$t("outOrderNo") },
-        { name: 'cusPhone', title: mixins.$t("cusPhone") },
-        { name: 'addressFull', title: mixins.$t("adddressFull") },
-        { name: [{ name: 'orgName', title: '' }, { name: 'staffName', title: mixins.$t("staffId") }], title: mixins.$t("storeInformation") }
+      '出库中': [{
+          name: 'outNo',
+          title: mixins.$t("outOrderNo")
+        },
+        {
+          name: 'cusPhone',
+          title: mixins.$t("cusPhone")
+        },
+        {
+          name: 'addressFull',
+          title: mixins.$t("adddressFull")
+        },
+        {
+          name: [{
+            name: 'orgName',
+            title: ''
+          }, {
+            name: 'staffName',
+            title: mixins.$t("staffId")
+          }],
+          title: mixins.$t("storeInformation")
+        }
       ],
-      '已出库': [
-        { name: 'outNo', title: mixins.$t("outOrderNo") },
-        { name: 'cusPhone', title: mixins.$t("cusPhone") },
-        { name: 'addressFull', title: mixins.$t("adddressFull") },
-        { name: [{ name: 'orgName', title: '' }, { name: 'staffName', title: mixins.$t("staffId") }], title: mixins.$t("storeInformation") }
+      '已出库': [{
+          name: 'outNo',
+          title: mixins.$t("outOrderNo")
+        },
+        {
+          name: 'cusPhone',
+          title: mixins.$t("cusPhone")
+        },
+        {
+          name: 'addressFull',
+          title: mixins.$t("adddressFull")
+        },
+        {
+          name: [{
+            name: 'orgName',
+            title: ''
+          }, {
+            name: 'staffName',
+            title: mixins.$t("staffId")
+          }],
+          title: mixins.$t("storeInformation")
+        }
       ],
     },
-    buttonSaveList: [{ code: 'add', title: mixins.$t("add") }],
-    contentSaveList: [{ code: 'need', title: mixins.$t("totalAmount"), type: 'str' }, { code: 'amount', content: 0, type: 'number' }],
+    buttonSaveList: [{
+      code: 'add',
+      title: mixins.$t("add")
+    }],
+    contentSaveList: [{
+      code: 'need',
+      title: mixins.$t("totalAmount"),
+      type: 'str'
+    }, {
+      code: 'amount',
+      content: 0,
+      type: 'number'
+    }],
 
     // 弹出按钮
-    buttonList: [
-      {
+    buttonList: [{
         name: 'editInto',
         title: mixins.$t('edit')
       },
-      { name: 'salesOutbound', title: mixins.$t("outProcessing") },
+      {
+        name: 'salesOutbound',
+        title: mixins.$t("outProcessing")
+      },
       {
         name: 'printedBill',
         title: mixins.$t('printedBill') //打印票据
       },
-      { name: 'invalid', title: mixins.$t("invaidOrder") }, //作废
       {
-        name: 'saleOrderReturn', title: mixins.$t("saleReturn"), formMode: Constants.formMode.other, other: {
+        name: 'invalid',
+        title: mixins.$t("invaidOrder")
+      }, //作废
+      {
+        name: 'saleOrderReturn',
+        title: mixins.$t("saleReturn"),
+        formMode: Constants.formMode.other,
+        other: {
           idKey: 'outId'
-        },formType:'toSaleOut'
-      },//退货
+        },
+        formType: 'toSaleOut'
+      }, //退货
 
       {
-        name: 'cusReturnCollection',formType:Constants.formMode.add,
+        name: 'cusReturnCollection',
+        formType: Constants.formMode.add,
         title: mixins.$t("cusReturnCollection")
-      }, 
+      },
     ],
     // 系统参数
     flgHandleSetting: app.globalData.setting[Constants.settingCode.IVT001] == "true" ? true : false,
@@ -96,10 +230,83 @@ Page({
   },
 
   /**
-    * @desc :   销售出库退货方法提示校验
-    * @date : 2024年3月8日
-    * @author : 于继渤
-    */
+   * @desc :   三个小点打开
+   * @date : 2024年3月8日
+   * @author : 于继渤
+   */
+  toPoint(e) {
+    console.log('toPoint', e);
+    let item = e.detail.item
+    //除了已入库 不显示销售退货
+    if (item.outStatus == Constants.outStatus.outBounded) { //"出库状态-已出库"
+      this.setData({
+        // 弹出按钮
+        buttonList: [{
+            name: 'editInto',
+            title: mixins.$t('edit')
+          },
+          {
+            name: 'salesOutbound',
+            title: mixins.$t("outProcessing")
+          },
+          {
+            name: 'printedBill',
+            title: mixins.$t('printedBill') //打印票据
+          },
+          {
+            name: 'invalid',
+            title: mixins.$t("invaidOrder")
+          }, //作废
+          {
+            name: 'saleOrderReturn',
+            title: mixins.$t("saleReturn"),
+            formMode: Constants.formMode.other,
+            other: {
+              idKey: 'outId'
+            },
+            formType: 'toSaleOut'
+          }, //退货
+
+          {
+            name: 'cusReturnCollection',
+            formType: Constants.formMode.add,
+            title: mixins.$t("cusReturnCollection")
+          },
+        ],
+      })
+    } else {
+      this.setData({
+        // 弹出按钮
+        buttonList: [{
+            name: 'editInto',
+            title: mixins.$t('edit')
+          }, {
+            name: 'salesOutbound',
+            title: mixins.$t("outProcessing")
+          },
+          {
+            name: 'printedBill',
+            title: mixins.$t('printedBill') //打印票据
+          },
+          {
+            name: 'invalid',
+            title: mixins.$t("invaidOrder")
+          }, //作废 
+          {
+            name: 'cusReturnCollection',
+            formType: Constants.formMode.add,
+            title: mixins.$t("cusReturnCollection")
+          },
+        ],
+      })
+    }
+  },
+
+  /**
+   * @desc :   销售出库退货方法提示校验
+   * @date : 2024年3月8日
+   * @author : 于继渤
+   */
   isAllowedSaleOrderReturn(e) {
     console.log(e)
     let result = ''
@@ -113,17 +320,21 @@ Page({
 
 
   /**
-     * @desc : 编辑
-     * @author : 于继渤
-     * @date : 2024/1/23 9:16
-     */
+   * @desc : 编辑
+   * @author : 于继渤
+   * @date : 2024/1/23 9:16
+   */
   editInto(e) {
     let item = e
     wx.navigateTo({
       url: this.data.route.add.url,
       success: function (res) {
         // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取
-        res.eventChannel.emit('params', { id: item.outId, formMode: Constants.formMode.edit, item: item })
+        res.eventChannel.emit('params', {
+          id: item.outId,
+          formMode: Constants.formMode.edit,
+          item: item
+        })
       }
     })
   },
@@ -145,10 +356,10 @@ Page({
   },
 
   /**
- * @desc : 切换
- * @date : 2024/2/1 15:49
- * @author : 于继渤
- */
+   * @desc : 切换
+   * @date : 2024/2/1 15:49
+   * @author : 于继渤
+   */
   onChangeTabs(e) {
     let code = e.detail.detail.code
     console.log(e)
@@ -159,10 +370,10 @@ Page({
   },
 
   /**
-* @desc : 设置查询参数
-* @date : 2024/2/1 15:49
-* @author : 于继渤
-*/
+   * @desc : 设置查询参数
+   * @date : 2024/2/1 15:49
+   * @author : 于继渤
+   */
   setSearchParams(params) {
     console.log('pa', params);
     //销售状态
@@ -195,15 +406,15 @@ Page({
     }
     this.setData({
       tableData: tableData
-    })  //计算底部金额
+    }) //计算底部金额
     this.calculateTotalAmount()
   },
 
   /**
-  * @desc :   计算底部合计金额等
-  * @date : 2024年4月8日
-  * @author : 于继渤
-  */
+   * @desc :   计算底部合计金额等
+   * @date : 2024年4月8日
+   * @author : 于继渤
+   */
   calculateTotalAmount() {
     let tableData = this.data.tableData
     let contentSaveList = this.data.contentSaveList
@@ -223,10 +434,10 @@ Page({
   },
 
   /**
-  * @desc :   跳转明细
-  * @date :   2024年5月27日
-  * @author : 周兴
-  */
+   * @desc :   跳转明细
+   * @date :   2024年5月27日
+   * @author : 周兴
+   */
   toDetail(e) {
     let outId = e.outId ? e.outId : e.detail.item.outId
     let _this = this
@@ -241,15 +452,18 @@ Page({
       },
       success: function (res) {
         // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取
-        res.eventChannel.emit('params', { id: outId, formMode: Constants.formMode.detail })
+        res.eventChannel.emit('params', {
+          id: outId,
+          formMode: Constants.formMode.detail
+        })
       }
     })
   },
   /**
-  * @desc :   初始加载(生命周期函数)
-  * @date :   2024年5月11日
-  * @author : 周兴
-  */
+   * @desc :   初始加载(生命周期函数)
+   * @date :   2024年5月11日
+   * @author : 周兴
+   */
   onLoad() {
     // 标准版叫订单开单
     if (this.data.gradeCode == Constants.gradeCode.STD) {