于继渤 пре 2 година
родитељ
комит
b3347416dd

+ 1 - 0
api/pages/mst/goodsSku.js

@@ -23,6 +23,7 @@ module.exports = {
           goodsSeries: { key: 'goodsSeries', url: '/package-basic-data/pages/product-file/product-series/product-series'  }, 
         //   openingInventory: { key: 'openingInventory', url: '/package-base-select/pages/select-warehouse/select-warehouse'  },
           openingInventory: { key: 'openingInventory', url: '/package-base-select/pages/select-data/select-data',type:'warehouse'  },
+          saleOrder:{key: 'saleOrder', url: '/package-sales/pages/order-billing/add/add' }
         }
     }
 };

+ 83 - 40
package-base-select/pages/select-goods/select-goods.js

@@ -31,16 +31,58 @@ Page({
     popContent:
       [
         { code: 'itemQty', type: 'step', title: '数量', required: true },
-        { code: 'whId', name: 'whName', title: '仓库',  type: 'choose',urlKey: 'openingInventory' },
+        { code: 'whId', name: 'whName', title: '仓库', type: 'choose', urlKey: 'openingInventory' },
         { code: 'skuSpec', title: '规格', type: 'str', readonly: true, dropType: '' },
         { code: 'nonStdCode', title: '商品批次', type: 'str', },
       ],
-      // 确定按钮
-      buttonList: [{
-        name: 'confirm',
-        title: '确定'
+    // 确定按钮
+    buttonList: [{
+      name: 'confirm',
+      title: '确定'
     }],
+    contentList: []
   },
+
+
+  /**
+   * @desc : 加载数据
+   * @date : 2024/2/1 15:49
+   * @author : 姜永辉
+   */
+  loadInit() {
+    this.setData({
+      billType: this.data.item
+    })
+    //销售选品
+    console.log(this.data.item)
+    if (this.data.item == Constants.billType.sale) {
+      let buttonList = this.data.buttonList
+      buttonList = [{ name: 'confirm', title: '结算', color: '#CAA977' }]
+      this.setData({
+        buttonList: buttonList,
+        contentList: [
+          { code: 'need', title: mixins.$t("totalAmount"), type: 'str' },
+          { code: 'amount', content: 0, type: 'number' },
+          { type: 'count', code: 'count', quantity: 0 }
+        ]
+      })
+    }
+  },
+  /**
+    * @desc : 顶部切换
+    * @date : 2024/2/1 15:49
+    * @author : 于继渤
+    */
+  changeTag(e) {
+    this.setData({
+      active: e.detail.index
+    })
+  },
+  /**
+  * @desc : 分类切换
+  * @date : 2024/2/1 15:49
+  * @author : 于继渤
+  */
   changeSidebar(e) {
     console.log(e.detail)
     let index = e.detail
@@ -74,21 +116,7 @@ Page({
     } else {
       return this.excute(this.data.service, this.data.service.selectByCond, params);
     }
-    // 
-  },
-
-  /**
-   * @desc : 加载数据
-   * @date : 2024/2/1 15:49
-   * @author : 姜永辉
-   */
-  loadInit() {
-    this.setData({
-      billType:this.data.item 
-    })    
   },
-
-
   /**
 * @desc : 获取种类
 * @date : 2024/2/1 15:49
@@ -112,40 +140,57 @@ Page({
     let item = e.currentTarget.dataset.item
     item.itemQty = 1   //打开 popur 数量默认为1
     this.setData({
-
       dataItem: JSON.stringify(item),
       showPop: true,
     })
   },
   /**
-* @desc : 商品确认事件
-* @date : 2024/2/1 15:49
-* @author : 于继渤
-*/
+    * @desc : 商品确认事件
+    * @date : 2024/2/1 15:49
+    * @author : 于继渤
+    */
   editItems(e) {
     let choosedGoodsList = this.data.choosedGoodsList
     choosedGoodsList.push(e.detail.form)
     this.setData({
       choosedGoodsList: choosedGoodsList
     })
+    //销售订单需要计算底部按钮
+    if (this.data.item == Constants.billType.sale) {
+      this.calculateParameters()
+    }
   },
+
+
+
   /**
-* @desc : 顶部切换
-* @date : 2024/2/1 15:49
-* @author : 于继渤
-*/
-  changeTag(e) {
+  * @desc : 计算数量金额 销售用
+  * @date : 2024/2/1 15:49
+  * @author : 于继渤
+  */
+  calculateParameters() {
+    let contentList = this.data.contentList
+    let choosedGoodsList = this.data.choosedGoodsList
+    let sumAmt = Number(0)
+    let sumQty = Number(0)
+    choosedGoodsList.forEach(res => {
+      sumAmt += (res.priceStandard * res.itemQty)
+      sumQty += res.itemQty
+    })
+    contentList[1].content = sumAmt
+    contentList[2].quantity = sumQty
     this.setData({
-      active: e.detail.index
+      contentList: contentList
     })
   },
 
 
+
   /**
-* @desc : 结算按钮
-* @date : 2024/2/1 15:49
-* @author : 于继渤
-*/
+    * @desc : 结算按钮
+    * @date : 2024/2/1 15:49
+    * @author : 于继渤
+    */
   submit() {
     const eventChannel = this.getOpenerEventChannel();
     const choosedGoodsList = this.data.choosedGoodsList
@@ -156,14 +201,12 @@ Page({
   },
 
 
-
   /**
-* @desc : 初始化
-* @date : 2024/2/1 15:49
-* @author : 于继渤
-*/
+    * @desc : 初始化
+    * @date : 2024/2/1 15:49
+    * @author : 于继渤
+    */
   onLoad() {
-
     this.getGoodsCategoryNoPage()
     let _this = this;
     wx.getSystemInfo({

+ 6 - 3
package-base-select/pages/select-goods/select-goods.wxml

@@ -51,7 +51,7 @@
               <!-- 标准价/标价-->
               <view style="width: 85%;">
                 <dk-cell wx:if="{{billType == 'pur'}}" height="46rpx" spaceWidth="1rpx" left="0" fontSize="13" contentColor="#CAA977" fontWeight="bold" title="采购价:" content="{{item.pricePurchase?item.pricePurchase:0}}"></dk-cell>
-                <dk-cell wx:else height="46rpx" spaceWidth="1rpx" left="0" fontSize="13" contentColor="#CAA977" fontWeight="bold" title="销售价:" content="{{item.priceStandard?item.priceStandard:0}}"></dk-cell>
+                <dk-cell wx:else height="46rpx" spaceWidth="1rpx" left="0" fontSize="13" contentColor="#CAA977" fontWeight="bold" title="价:" content="{{item.priceStandard?item.priceStandard:0}}"></dk-cell>
               </view>
               <!-- 加号 -->
               <view class="van-icon-class">
@@ -243,9 +243,12 @@
 
 
 
-<dk-popup type="sale" descCol="skuModel" titleCol="skuModel" priceCol="pricePromotion" subCol="desc" value="{{dataItem}}" show="{{showPop}}" routeObjName="{{routeObjName}}" contentObj="{{popContent}}" bind:commit="editItems">
+<dk-popup wx:if="{{ billType != 'sale'}}" type="sale" descCol="skuModel" titleCol="skuModel" priceCol="pricePromotion" subCol="desc" value="{{dataItem}}" show="{{showPop}}" routeObjName="{{routeObjName}}" contentObj="{{popContent}}" bind:commit="editItems">
 </dk-popup>
 
 
-<dk-save-button model:value="{{btnFormData}}" btnAutoWidthFlag="{{false}}" btnRightFlag="{{true}}" buttonList="{{buttonList}}" contentList="{{contentList}}" bind:open="submit"></dk-save-button>
+<dk-popup wx:else type="sale" titleTagCol="brandName" subCol="skuCode" descCol="skuModel" titleCol="skuName" priceTitle="标价:" priceCol="priceStandard"  value="{{dataItem}}" show="{{showPop}}" routeObjName="{{routeObjName}}" contentObj="{{popContent}}" bind:commit="editItems">
+</dk-popup>
+
+<dk-save-button cssType="{{ billType == 'sale' ? 'shopping':''}}" model:value="{{btnFormData}}" btnAutoWidthFlag="{{false}}" btnRightFlag="{{true}}" buttonList="{{buttonList}}" contentList="{{contentList}}" bind:open="submit"></dk-save-button>
  

+ 98 - 77
package-sales/pages/order-billing/add/add.js

@@ -55,7 +55,7 @@ Page({
       { code: 'nonStdCode', title: mixins.$t("goodsBatch"), type: 'str', },
       { code: 'flgGift', title: mixins.$t("flgGift"), type: 'checkbox', },
     ],
-    table:Constants.tables.order,
+    table: Constants.tables.order,
   },
   /**
    * @desc   : 打开商品事件
@@ -67,44 +67,7 @@ Page({
   },
 
 
-  /**
-   * @desc   : 计算金额
-   * @author : 于继渤
-   * @date   : 2024/1/26 11:46
-   */
-  calculateAmount(goodsItem, index) {
-    let formData = JSON.parse(this.data.formData)
-    if (goodsItem) {
-
-      //设置商品信息
-      goodsItem.amtStd = Number(goodsItem.priceStd * goodsItem.itemQty) //合计标价金额
-      goodsItem.itemAmt = goodsItem.priceSale * goodsItem.itemQty //商品金额
-      goodsItem.priceDiscount = Number((goodsItem.priceSale / goodsItem.priceStd) * 100).toFixed(2)//售价折扣
-      formData.goodsList[index] = goodsItem
 
-      ///设置总单信息
-      let sumStandard = Number(0)
-      let sumAmount = Number(0)
-      let sumQuantity = Number(0)
-      formData.goodsList.forEach(item => {
-        //标价合计 =  商品标价 x  商品数量
-        sumStandard += item.amtStd
-        sumAmount += item.itemAmt //没有售价默认取标价
-        sumQuantity += item.itemQty //数量
-
-      })
-      formData.sumStandard = sumStandard
-      formData.saleDiscount = Number((sumAmount / sumStandard) * 100).toFixed(2)
-      formData.sumAmount = sumAmount
-      formData.canUseCollect = 0
-      formData.useCollect = 0
-      formData.sumQuantity = sumQuantity
-      console.log('formData', formData)
-      this.setData({
-        formData: JSON.stringify(formData)
-      })
-    }
-  },
 
   /**
    * @desc   : 选择回调
@@ -137,10 +100,10 @@ Page({
       formData.addressGcj02 = item.addressGcj02
       formData.addressName = item.addressName
       formData.addressNo = item.addressNo
-      //订单销售渠道 ,默认取的客户的渠道
-      formData.salesChannel = item.channelId
-      formData.channelId = item.channelId
-      formData.channelName = item.channelName
+      //订单销售渠道 ,默认取的部门的渠道
+      // formData.salesChannel = item.channelId
+      // formData.channelId = item.channelId
+      // formData.channelName = item.channelName
       formData.contactPhone = item.contactPhone
       formData.contactPhone = item.contactPhone
     }
@@ -196,7 +159,7 @@ Page({
     params.amtResidue = params.amtReceivable //剩余应收 = 应收金额 
 
     params.deleteItemList = params.deleteList ? params.deleteList : []
-    // params.addressName= params.address.addressName
+    params.salesChannel = params.channelId
     delete params['goodsList']
     return params
   },
@@ -265,7 +228,7 @@ Page({
     cardList[1].sumQuantity = data.sumQuantity
     cardList[1].saleDiscount = data.saleDiscount
     this.setData({
-      cardList:cardList,
+      cardList: cardList,
       formData: JSON.stringify(data)
     })
     //查询商品明细
@@ -290,52 +253,110 @@ Page({
     });
   },
 
+  /**
+    * @desc   : 设置顶部默认值
+    * @author : 于继渤
+    * @date   : 2024/1/26 11:46
+    */
+  setTopStaffAndOrg(formData) {
+    formData['staff'] = {
+      text: app.globalData.user.staffName,
+      value: [app.globalData.user.staffId]
+    }
+    formData['org'] = {
+      text: app.globalData.user.orgName,
+      value: [app.globalData.user.orgId]
+    }
+    formData.orgId = app.globalData.user.orgId
+    formData.orgList = [
+      {
+        orgId: app.globalData.user.orgId,
+        orgName: app.globalData.user.orgName,
+        ownerFlag: true,
+        allocationRatio: 100,
+      }
+    ]
+    formData.staffId = app.globalData.user.staffId
+    formData.staffList = [
+      {
+        staffId: app.globalData.user.staffId,
+        staffName: app.globalData.user.staffName,
+        ownerFlag: true,
+        allocationRatio: 100
+      }
+    ]
+    this.setData({
+      formData: JSON.stringify(formData)
+    })
+  },
+
+
 
 
+  /**
+    * @desc   : 计算金额
+    * @author : 于继渤
+    * @date   : 2024/1/26 11:46
+    */
+  calculateAmount(formData) {
+    let cardList = this.data.cardList
+    ///设置总单信息
+    console.log('formData1', formData)
+    let sumStandard = Number(0)
+    let sumAmount = Number(0)
+    let sumQuantity = Number(0)
+    formData.goodsList.forEach(item => {
+      //标价合计 =  商品标价 x  商品数量
+      item.priceStd = item.priceStd ? item.priceStd : item.priceStandard//标价
+      item.amtStd = Number(item.priceStd * item.itemQty) //合计标价金额
+      item.itemAmt = item.priceSale * item.itemQty
+      item.priceDiscount = Number((item.priceSale / item.priceStandard) * 100).toFixed(2)//售价折扣
+      sumStandard += item.priceStandard * item.itemQty
+      sumAmount += item.itemAmt
+      sumQuantity += item.itemQty //数量
+
+    })
+    formData.sumStandard = sumStandard
+    formData.saleDiscount = Number((sumAmount / sumStandard) * 100).toFixed(2)
+    formData.sumAmount = sumAmount
+    formData.canUseCollect = 0
+    formData.useCollect = 0
+    formData.sumQuantity = sumQuantity
+
+    cardList[1].sumAmount = formData.sumAmount
+    cardList[1].sumStandard = formData.sumStandard
+    cardList[1].sumQuantity = formData.sumQuantity
+    cardList[1].saleDiscount = formData.saleDiscount
+    console.log('formData2', formData)
+    this.setData({
+      cardList: cardList,
+      formData: JSON.stringify(formData)
+    })
+
+  },
 
 
   /**
    * 生命周期函数--监听页面加载
    */
   loadInit() {
-    console.log(app.globalData.user)
+    let formData = JSON.parse(this.data.formData)
     if (this.data.formMode == Constants.formMode.edit) {
       wx.setNavigationBarTitle({
         title: '编辑订单'
       })
-    }else{
-      let formData = JSON.parse(this.data.formData)
-      formData['staff'] = {
-        text: app.globalData.user.staffName,
-        value: [app.globalData.user.staffId]
-      }
-      formData['org'] = {
-        text: app.globalData.user.orgName,
-        value: [app.globalData.user.orgId]
-      }
-      formData.orgId = app.globalData.user.orgId
-      formData.orgList = [
-        {
-          orgId: app.globalData.user.orgId,
-          orgName: app.globalData.user.orgName,
-          ownerFlag: true,
-          allocationRatio: 100,
-        }
-      ]
-      formData.staffId = app.globalData.user.staffId
-      formData.staffList = [
-        {
-          staffId: app.globalData.user.staffId,
-          staffName: app.globalData.user.staffName,
-          ownerFlag: true,
-          allocationRatio: 100,
-        }
-      ]
-      this.setData({
-        formData: JSON.stringify(formData)
-      })
+    } else {
+      //设置默认业务员业务部门
+      this.setTopStaffAndOrg(formData)
     }
-  
+    let that = this
+    const eventChannel = this.getOpenerEventChannel()
+    eventChannel.on('params', function (data) {
+      if (data && data.goodsList && data.goodsList.length > 0) {
+        formData.goodsList = data.goodsList
+        that.calculateAmount(formData)
+      }
+    })
   },
 
 })

+ 25 - 11
pages/shopping/shopping.js

@@ -6,9 +6,8 @@
  *		作者				日期					版本				修改内容
  *		于继渤		 2024-1-23			1.00		    选品
  *******************************************************************************/
-const Constants = require('@/utils/Constants.js');
-const util = require('@/utils/util.js')
 const mixins = require('@/mixins/index.js')
+import Dialog from '@/dist/dialog/dialog.js';
 const app = getApp()
 Page({
   mixins: [mixins],
@@ -93,7 +92,7 @@ Page({
         res.priceSale = res.priceStandard
       })
       this.setData({
-        tableData:tableData
+        tableData: tableData
       })
     }
   },
@@ -143,9 +142,21 @@ Page({
 * @author : 于继渤
 */
   editItems(e) {
-    console.log('editItems',e)
+    console.log('editItems', e)
     let choosedGoodsList = this.data.choosedGoodsList
-    choosedGoodsList.push(e.detail.form)
+    let item = e.detail.form
+    item.priceSale = Number(item.priceSale)
+    //校验销售价格输入是否符合规则
+    //销售价格不能低于销售限价
+    console.log(item.priceSale, item.priceLimited)
+    if (item.priceSale < item.priceLimited) {
+      Dialog.alert({
+        title: '提示',
+        message: '销售价格不能低于销售限价',
+      }).then(() => { })
+      return
+    }
+    choosedGoodsList.push(item)
     this.setData({
       choosedGoodsList: choosedGoodsList
     })
@@ -192,11 +203,15 @@ Page({
 * @author : 于继渤
 */
   submit() {
-    const eventChannel = this.getOpenerEventChannel();
-    const choosedGoodsList = this.data.choosedGoodsList
-    eventChannel.emit('bindData', { choosedGoodsList })
-    wx.navigateBack({
-      delta: 1
+    //跳转销售订单
+    let that = this
+    wx.navigateTo({
+      url: that.data.route.saleOrder.url,
+      success: function (res) {
+        res.eventChannel.emit('params', {
+          goodsList: that.data.choosedGoodsList
+        })
+      }
     })
   },
 
@@ -208,7 +223,6 @@ Page({
 * @author : 于继渤
 */
   onLoad() {
-
     this.getGoodsCategoryNoPage()
     let _this = this;
     wx.getSystemInfo({