Explorar el Código

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

zhoux hace 2 años
padre
commit
c04bf7122b

+ 3 - 1
api/pages/ivt/check.js

@@ -20,7 +20,9 @@ module.exports = {
      
       // detail: { key: 'detail', url: '/package-purchase/pages/purchase-receipt/detail/detail'  },
       add: { key: 'add', url: '/package-inventory/pages/inventory-check/add/add'  },
-      // edit: { key: 'edit', url: '/package-inventory/pages/warehousing-processing/detail/detail'  }, 
+      chooseStaff: { key: 'chooseStaff', url: '/package-base-select/pages/select-data/select-data',type:'staff'  }, 
+      chooseOrg: { key: 'chooseOrg',url: '/package-base-select/pages/select-data/select-data',type:'org' }, 
+      chooseWh: { key: 'chooseWh', url: '/package-base-select/pages/select-data/select-data',type:'warehouse'  },
       selectGoods:{ key: 'selectGoods', url: '/package-base-select/pages/select-goods/select-goods' }, 
     } 
   } 

+ 4 - 0
api/pages/mac/receiptPayment.js

@@ -26,8 +26,12 @@ module.exports = {
 			editOrder: { key: 'editOrder', method: 'editOrder', primaryKey: 'rpId' },
 			// 收款单新建
 			add: { key: 'add', url: '/package-accounts-manage/pages/receipt/add/add' },
+			// 收款单新建
+			addReturn: { key: 'addReturn', url: '/package-accounts-manage/pages/receipt/add-return/add-return' },
 			// 付款单新建
 			addPay: { key: 'addPay', url: '/package-accounts-manage/pages/payment-order/add/add' },
+			// 付款单新建
+			addReturnPay: { key: 'addReturnPay', url: '/package-accounts-manage/pages/payment-order/add-return/add-return' },
 
 			edit: { key: 'edit', url: '/package-accounts-manage/pages/receipt/detail/detail' },
 			detail: {

+ 2 - 0
app.json

@@ -136,6 +136,7 @@
             "pages": [
                 "pages/receipt/receipt",
                 "pages/receipt/add/add",
+                "pages/receipt/add-return/add-return",
                 "pages/receipt/detail/detail",
                 "pages/other-receipt/other-receipt",
                 "pages/other-receipt/add/add",
@@ -151,6 +152,7 @@
                 "pages/funds-transfer/detail/detail",
                 "pages/payment-order/payment-order",
                 "pages/payment-order/add/add",
+                "pages/payment-order/add-return/add-return",
                 "pages/payment-order/detail/detail",
                 "pages/accounting-verification/accounting-verification",
                 "pages/accounting-verification/add/add",

+ 1 - 2
mixins/index.js

@@ -341,7 +341,7 @@ module.exports = {
    * @author : 周兴
    * @date : 2024/1/22
    */
-  save({ saveFlag = true, url, dialogMes }) {
+  save({ saveFlag = true, url, dialogMes}) {
     // 校验
     this._validData().then(res => {
       if (!res) {
@@ -352,7 +352,6 @@ module.exports = {
       })
       // 设置参数
       this._setParams();
-
       // 如果需要有询问
       if (dialogMes) {
         Dialog.confirm({

+ 66 - 0
package-accounts-manage/pages/payment-order/add-return/add-return.js

@@ -0,0 +1,66 @@
+// package-accounts-manage/pages/payment-order/add-return/add-return.js
+Page({
+
+    /**
+     * 页面的初始数据
+     */
+    data: {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面加载
+     */
+    onLoad(options) {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面初次渲染完成
+     */
+    onReady() {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面显示
+     */
+    onShow() {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面隐藏
+     */
+    onHide() {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面卸载
+     */
+    onUnload() {
+
+    },
+
+    /**
+     * 页面相关事件处理函数--监听用户下拉动作
+     */
+    onPullDownRefresh() {
+
+    },
+
+    /**
+     * 页面上拉触底事件的处理函数
+     */
+    onReachBottom() {
+
+    },
+
+    /**
+     * 用户点击右上角分享
+     */
+    onShareAppMessage() {
+
+    }
+})

+ 3 - 0
package-accounts-manage/pages/payment-order/add-return/add-return.json

@@ -0,0 +1,3 @@
+{
+    "usingComponents": {}
+}

+ 2 - 0
package-accounts-manage/pages/payment-order/add-return/add-return.wxml

@@ -0,0 +1,2 @@
+<!--package-accounts-manage/pages/payment-order/add-return/add-return.wxml-->
+<text>package-accounts-manage/pages/payment-order/add-return/add-return.wxml</text>

+ 1 - 0
package-accounts-manage/pages/payment-order/add-return/add-return.wxss

@@ -0,0 +1 @@
+/* package-accounts-manage/pages/payment-order/add-return/add-return.wxss */

+ 449 - 0
package-accounts-manage/pages/receipt/add-return/add-return.js

@@ -0,0 +1,449 @@
+/*******************************************************************************
+ * Copyright(c) 2022 dongke All rights reserved. / Confidential
+ * 类的信息:
+ *		1.程序名称:  新建收款单
+ * 编辑履历:
+ *		作者				日期					版本				修改内容
+ *		姜永辉      2024-03-22    1.00		   	    
+ *******************************************************************************/
+const mixins = require('@/mixins/index.js')
+const Constants = require('@/utils/Constants.js');
+const app = getApp();
+Page({
+  mixins: [mixins],
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    cardList: [
+      { name: 'main' },
+      { name: 'bill', title: '应收', chooseFlag: true, chooseTitle: '选应收', urlKey: 'selectBill' },
+      { name: 'file' }],
+    contentObj: {
+      main: [
+        {
+          code: 'accDate',
+          name: 'accDate',
+          type: 'date',
+          required: true,
+        },
+        {
+          code: 'staffId',
+          name: 'staffName',
+          required: true,
+          title: '收款人',
+          type: 'choose',
+          urlKey: 'chooseStaff'
+        },
+        {
+          code: 'orgId',
+          name: 'orgName',
+          required: true,
+          type: 'choose',
+          urlKey: 'chooseOrg'
+        },
+        {
+          code: 'sumAmtRec',
+          type: 'number',
+          title: '本次收款',
+          required: true
+        },
+
+      ],
+      bill: [
+        { code: 'cancelAmount', type: 'cancel', title: '核销应收', bill: 0, amount: 0 },
+        { code: 'receivableResidue', type: 'number', title: '待核销金额', readonly: true, },
+        { code: 'receiptResidue', type: 'number', title: '使用预存', readonly: true, },
+        { code: 'sumWaiveAmt', type: 'number', title: '优惠金额', },
+        { code: 'currentReceivableResidue', type: 'number', title: '本次核销', required: true },
+      ],
+      file: [{
+        code: 'remarks', type: 'textarea', title: '备注'
+      },
+      { code: 'file', type: 'uploader', title: '附件' }]
+    },
+    // 弹出按钮
+    buttonList: [{
+      name: 'merge',
+      title: mixins.$t('collection')
+    }],
+    contentList: [{
+      code: 'need',
+      title: mixins.$t('totalAmount'),
+      type: 'str'
+    }, {
+      code: 'amount',
+      content: 0,
+      type: 'number'
+    }],
+    btnFormData: null,
+    routeObjName: 'receiptPayment',
+    accountService: app.globalData['accountService'],
+    receivableResidue: 0,
+    receiptResidue: 0,
+    bill: 0,
+    objInfo: {},
+    table: Constants.tables.recPay,
+  },
+  /**
+    * @desc : 页面加载数据方法
+    * @date : 2024/2/1 15:49
+    * @author : 姜永辉
+    */
+  loadInit() {
+    console.log(this.data.item, this.data.formMode);
+    if (this.data.formMode == Constants.formMode.edit) {
+      wx.setNavigationBarTitle({
+        title: mixins.$t('receiptReturnOrderEdit'),
+      })
+
+    } else {      
+      wx.setNavigationBarTitle({
+        title: mixins.$t('receiptReturnOrderAdd'),
+      })
+      // 新增
+      if (this.data.formData == '{}') {
+        this.setData({
+          formData: JSON.stringify({ accDate: new Date().toDateStr() })
+        })
+      }
+    }
+  },
+
+  /**
+  * @desc : 给表单赋值
+  * @date : 2024/2/1 15:49
+  * @author : 姜永辉
+  */
+  setValuesByEdit(data) {
+    
+
+  },
+
+  /**
+      * @desc   : 绑定数据-选择页面返回的逻辑处理
+      * @author : 姜永辉
+      * @date   : 2024年3月12日
+      */
+  chooseData(e) {
+    console.log("chooseData", e, this.data.formData);
+    let formData = JSON.parse(this.data.formData)
+    let cardList_ = this.data.cardList
+    let contentObj = this.data.contentObj
+    let code = e.detail.code
+    let data = e.detail.data.data
+    if (code == "supId") { //供应商
+      formData.supId = data.id
+      formData.supName = data.name
+    }
+    if (code == "staffId") { //员工
+      formData.staffId = data.id
+      formData.staffName = data.name
+    }
+    if (code == "orgId") { //部门
+      formData.orgId = data.id
+      formData.orgName = data.name
+    }
+    if (code == "bill") { //选取应收的返回值     
+      formData.receivableList = data.receivableList
+      this.setData({
+        receivableList: data.receivableList,
+        objInfo: data.objInfo,
+        receivableResidue: data.receivableResidue,
+        receiptResidue: data.receiptResidue,
+        bill: data.receivableList.length,
+      })
+      this.setForm(formData, contentObj, data.receivableResidue, data.receiptResidue, data.receivableList.length)
+      return
+    }
+    this.setData({
+      cardList: cardList_,
+      formData: JSON.stringify(formData)
+    })
+  },
+
+  /**
+   * @desc : 选择客户后的回调
+   * @date : 2024/2/1 15:49
+   * @author : 姜永辉
+   */
+  chooseObjTypeData(e) {
+    let _this = this
+    console.log("chooseObjTypeData", e, this.data.formData);
+    let formData = JSON.parse(this.data.formData)
+    let contentObj = this.data.contentObj
+    let objInfo = e.detail.data.objInfo
+    let cusId = e.detail.data.cusId
+    let params = {
+      objectId: cusId,
+      accItemType: '账款类型-应收',
+      amtResidueFlg: true,
+    }
+    this.excute(this.data.accountService, this.data.accountService.getReceivableAccountItem, params).then(res => {
+      console.log("getReceivableAccountItem", res);
+      formData.cancelAmount = true
+      formData.receivableList = res.data.data
+      _this.setForm(formData, contentObj, objInfo.receivableResidue,
+        objInfo.receiptResidue, res.data.data.length)
+      _this.setData({
+        objInfo,
+        receivableList: res.data.data,
+        receivableResidue: objInfo.receivableResidue,
+        receiptResidue: objInfo.receiptResidue,
+        bill: res.data.data.length
+      })
+
+    })
+  },
+
+  /**
+ * @desc : 设置表单的数据
+ * @date : 2024/2/1 15:49
+ * @author : 姜永辉
+ */
+  onCheckChange(e) {
+    let cancelAmount = e.detail.data.cancelAmount
+    let formData = JSON.parse(this.data.formData)
+    let contentObj = this.data.contentObj
+    if (cancelAmount) {
+      formData.receivableList = this.data.receivableList
+      this.setForm(formData, contentObj, this.data.receivableResidue, this.data.receiptResidue, this.data.bill)
+    } else {
+      formData.receivableList = []
+      this.setForm(formData, contentObj, 0, 0, 0)
+    }
+  },
+
+  /**
+  * @desc : 设置表单的数据
+  * @date : 2024/2/1 15:49
+  * @author : 姜永辉
+  */
+  changeNumber(e) {
+    let formData = JSON.parse(this.data.formData)
+    let code = e.detail.code
+    let data = e.detail.data
+    console.log(code, data, e);
+    // 本次收款金额
+    if (code == "sumAmtRec") {
+      formData.sumAmtRec = data
+      formData.sumAmount = data
+      let contentList = this.data.contentList
+      contentList.forEach(it => {
+        if (it.type == 'number') {
+          it.content = data
+        }
+      })
+      this.setData({
+        contentList,
+      })
+    }
+    // 本次核销金额
+    if (code == "currentReceivableResidue") {
+      formData.currentReceivableResidue = data
+    }
+    // 优惠金额
+    if (code == "sumWaiveAmt") {
+      formData.sumWaiveAmt = data
+    }
+    this.setData({
+      formData: JSON.stringify(formData)
+    })
+  },
+
+  /**
+   * @desc : 设置表单的数据
+   * @date : 2024/2/1 15:49
+   * @author : 姜永辉
+   */
+  setForm(formData, contentObj, receivableResidue, receiptResidue, bill) {
+    if (receivableResidue == null) {
+      receivableResidue = 0
+    }
+    if (receiptResidue == null) {
+      receiptResidue = 0
+    }
+    if (bill == null) {
+      bill = 0
+    }
+    formData.receivableResidue = receivableResidue  // 总剩余应收
+    formData.currentReceivableResidue = receivableResidue  // 总剩余应收 
+    if (receivableResidue > receiptResidue) {
+      formData.receiptResidue = receiptResidue  // 预存 
+    } else {
+      formData.receiptResidue = receivableResidue  // 预存 (用总剩余应收来负值)
+    }
+    if (formData.staffId == null) {
+      formData.staffId = app.globalData.user.staffId
+      formData.orgId = app.globalData.user.orgId
+      formData.staffName = app.globalData.user.staffName
+      formData.orgName = app.globalData.user.orgName
+    }
+    contentObj['bill'].forEach(itcard => {
+      if (itcard.code === 'cancelAmount') {
+        //单数和金额
+        itcard.bill = bill
+        itcard.amount = receivableResidue //总应收
+      }
+    })
+    this.setData({
+      contentObj,
+      formData: JSON.stringify(formData)
+    })
+  },
+
+  /**
+     * @desc : 保存数据服务--校验
+     * @date : 2024/2/1 15:49
+     * @author : 姜永辉
+     */
+  validData() {
+    let msgError = null
+    let formData = JSON.parse(this.data.formData)
+    // 本次核销不能大于待核销金额
+    if (Number(formData.currentReceivableResidue)
+      > Number(formData.receivableResidue)) {
+      msgError = '本次核销不能大于待核销金额'
+    }
+    if (Number(formData.currentReceivableResidue) == 0
+      && Number(formData.sumAmtRec) == 0) {
+      msgError = '本次核销金额和本次收款不能同时为0'
+    }
+    // 预存+本次收款》= 本次核销
+    if (Number(formData.sumAmtRec) + Number(formData.receiptResidue)
+      < Number(formData.currentReceivableResidue)) {
+      msgError = '本次核销金额不能大于收款和预存金额之和'
+    }
+
+    if (msgError != null) {
+      wx.showToast({
+        title: msgError,
+        icon: 'none'
+      })
+      return false
+    }
+
+    return true
+  },
+
+  /**
+   * @desc : 保存的參數設置
+   * @date : 2024/2/1 15:49
+   * @author : 姜永辉
+   */
+  setParams(params) {
+    let formData = JSON.parse(this.data.formData)
+    if (Number(formData.sumAmtRec) != 0) {
+      return params
+    }
+    //收付款类型-收款的查询参数
+    params.rpType = Constants.rpType.receipt
+    params.orgId = formData.orgId  //组织部门
+    params.staffId = formData.staffId  // 员工
+    //  // 供应商1 客户2 所有 传空
+    params.objectId = this.data.objInfo.cusId  // 客户
+    // 收款金额	- 本次收款				
+    params.sumAmtRec = formData.sumAmtRec
+    // 合计应收冲抵金额								
+    params.sumAmtReceivableHandle = formData.currentReceivableResidue
+    // 合计优惠金额
+    params.sumWaiveAmt = formData.sumWaiveAmt
+    // 预存的使用
+    params.receiptResidue = formData.receiptResidue
+    params.annexPaths = formData.annexPaths || [] //附件 
+    // params.biznisType = null
+    // params.biznisId	 = null
+    // params.biznisNo	= null	 
+    params.accDate = formData.accDate  // 
+    params.remarks = formData.remarks  // 备注
+    params.makeStaff = app.globalData.user.staffId  // 制单人
+
+    params.itemList = [] //明细 
+    let rlsit = this.setReturnReceivableList(formData.receivableList || [], formData.sumWaiveAmt, formData.currentReceivableResidue, formData.receivableResidue)
+    params.receivableList = rlsit //应收收款的明细 
+
+    return params
+  },
+
+  /**
+  * @desc : 将优惠和本次核销的金额分摊到应收单据的明细里
+  * @date : 2024/2/1 15:49
+  * @author : 姜永辉
+  */
+  setReturnReceivableList(list, sumWaiveAmt, currentReceivableResidue, totalAmount) {
+    let retList = []
+    if (sumWaiveAmt == null || sumWaiveAmt == undefined) {
+      sumWaiveAmt = 0
+    }
+    if (currentReceivableResidue == null || currentReceivableResidue == null) {
+      currentReceivableResidue = 0
+    }
+    if (currentReceivableResidue == 0 && sumWaiveAmt == 0 || list == null) {
+      return retList
+    }
+    let finalAmout = currentReceivableResidue
+    let finalSumWaiveAmt = sumWaiveAmt
+    for (let index = 0; index < list.length; index++) {
+      const element = list[index];
+      // 应收冲抵金额	== 明细的剩余金额	默认
+      let amtReceivableHandle = (finalAmout < element.amtResidue ? finalAmout : element.amtResidue)
+      let amtWaive = Number(parseFloat(element.amtResidue / totalAmount * sumWaiveAmt).toFixed(2))
+      finalAmout -= amtReceivableHandle
+      finalSumWaiveAmt -= amtWaive
+
+      retList.push({
+        accDate: list.accDate,
+        accItemId: element.accItemId,
+        // 应收冲抵金额	
+        amtReceivableHandle: amtReceivableHandle,
+        // 优惠金额-分摊之后 最后一条的数据取剩余的值
+        amtWaive: (index == list.length - 1 ? finalSumWaiveAmt : amtWaive),
+      })
+    }
+
+    return retList
+
+  },
+
+  /**
+  * @desc : 保存数据服务
+  * @date : 2024/2/1 15:49
+  * @author : 姜永辉
+  */
+  saveData() {
+    let formData = JSON.parse(this.data.formData)
+    // 本次收款金额大于0 进入收款页面否则 直接保存
+    if (formData.sumAmtRec == 0) {
+      return this.excute(this.data.service, this.data.service.insertReceivableReceipt, this.data.params)
+    } else {
+      this.open()
+    }
+
+  },
+
+  /**
+  * @desc : 保存数据服务-跳转收款页面
+  * @date : 2024/2/1 15:49
+  * @author : 姜永辉
+  */
+  open(e) {
+    let _this = this
+    wx.navigateTo({
+      url: '/package-base-select/pages/select-collection_confirm/select-collection_confirm',
+      events: {
+        // 回调后
+        bindData: function (data) {
+          // 保存成功后 回调
+          wx.navigateBack({
+            data: 1
+          })
+        }
+      },
+      success: function (res) {
+        // 通过eventChannel向被打开页面传送数据 
+        res.eventChannel.emit('params', { item: _this.data.formData, formType: 1 })
+      }
+    })
+  }
+
+})

+ 4 - 0
package-accounts-manage/pages/receipt/add-return/add-return.json

@@ -0,0 +1,4 @@
+{
+    "usingComponents": {},
+    "navigationBarTitleText":"新建退收款单"
+}

+ 10 - 0
package-accounts-manage/pages/receipt/add-return/add-return.wxml

@@ -0,0 +1,10 @@
+
+<loading wx:if="{{loading}}"></loading>
+
+<dk-form-more-items id="{{formName}}" routeObjName="{{routeObjName}}" objCol="customerId" objLabel="{{$t['cusName']}}" objType="customer" cardList="{{cardList}}" contentObj="{{contentObj}}" model:value="{{formData}}" bind:chooseData="chooseData" table="{{table}}" readonly = "{{true}}" bind:chooseObjTypeData="chooseObjTypeData" bind:onCheckChange="onCheckChange" bind:changeNumber="changeNumber">
+</dk-form-more-items>
+
+<view style="height: 220rpx;"></view>
+
+<!-- 新建按钮 -->
+<dk-save-button model:value="{{btnFormData}}" btnAutoWidthFlag="{{false}}" btnRightFlag="{{true}}" buttonList="{{buttonList}}" contentList="{{contentList}}" bind:open="save"></dk-save-button>

+ 1 - 0
package-accounts-manage/pages/receipt/add-return/add-return.wxss

@@ -0,0 +1 @@
+/* package-accounts-manage/pages/receipt/add-return/add-return.wxss */

+ 3 - 62
package-accounts-manage/pages/receipt/add/add.js

@@ -97,16 +97,14 @@ Page({
         title: mixins.$t('receiptOrderEdit'),
       })
 
-
-    } else {
-      
+    } else {      
       wx.setNavigationBarTitle({
         title: mixins.$t('receiptOrderAdd'),
       })
       // 新增
       if (this.data.formData == '{}') {
         this.setData({
-          formData: JSON.stringify({ intoDate: new Date().toDateStr() })
+          formData: JSON.stringify({ accDate: new Date().toDateStr() })
         })
       }
     }
@@ -118,64 +116,7 @@ Page({
   * @author : 姜永辉
   */
   setValuesByEdit(data) {
-    let cardList_ = this.data.cardList
-    let contentList_ = this.data.contentList
-    let sumitemAmt = 0
-    let formType = this.data.formType
-    //  入库状态-已入库
-    if (data.intoStatus == Constants.intoStatus.inBounded) {
-      //查询采购订单表 未入库的 详细 
-      this.setData({
-        buttonList: [{
-          name: 'merge',
-          title: mixins.$t("close")
-        }],
-      })
-    } else {
-      this.setData({
-        buttonList: [{
-          name: 'merge',
-          title: mixins.$t("inProcessing")
-        }],
-      })
-    }
-    sumitemAmt = Number(data.intoingQty) * Number(data.intoingAmt)
-    cardList_.forEach(card => {
-      if (card.name === 'items') {
-        if (formType == 1) {
-          card.info = "(" + mixins.$t("warehousingProcessing") + ")"
-          card.color = "#E4002B"
-        } else {
-          card.info = "(" + mixins.$t("checkined") + ")"
-          card.color = "#1B365D"
-        }
-        card.itemAmt = sumitemAmt
-      }
-    })
-    contentList_[1].content = sumitemAmt
-
-    // 明细的最大入库办理的量
-    data.goodsList.forEach(element => {
-      if (this.data.item.intoType == Constants.intoType.saleReturn) {
-        element['intoingQty_max'] = -1
-        element['intoingQty_min'] = -1 * Math.abs(element.intoingQty)
-      } else {
-        element['intoingQty_max'] = element.intoingQty
-        element['intoingQty_min'] = 1
-      }
-    })
-
-    // 刷新商品明细 显示 查看更多
-    let card = this.data.cardList.filter(it => it.name == 'items');
-    this.selectComponent('#' + this.data.formName).handleContentObj(card[0])
-
-    this.setData({
-      itemData: data,
-      cardList: cardList_,
-      contentList: contentList_,
-      formData: JSON.stringify(data),
-      sumitemAmt
-    })
+    
 
   },
 

+ 1 - 4
package-accounts-manage/pages/receipt/add/add.wxml

@@ -1,9 +1,6 @@
-<!-- 前台导入wxmlUtil.wxs -->
-<wxs src='/utils/wxmlUtil.wxs' module="wxmlUtil"></wxs>
-
 <loading wx:if="{{loading}}"></loading>
 
-<dk-form-more-items id="{{formName}}" routeObjName="{{routeObjName}}" objCol="customerId" objLabel="客户名称" objType="customer" cardList="{{cardList}}" contentObj="{{contentObj}}" model:value="{{formData}}" bind:chooseData="chooseData" table="{{table}}" readonly = "{{true}}" bind:chooseObjTypeData="chooseObjTypeData" bind:onCheckChange="onCheckChange" bind:changeNumber="changeNumber">
+<dk-form-more-items id="{{formName}}" routeObjName="{{routeObjName}}" objCol="customerId" objLabel="{{$t['cusName']}}" objType="customer" cardList="{{cardList}}" contentObj="{{contentObj}}" model:value="{{formData}}" bind:chooseData="chooseData" table="{{table}}" readonly = "{{true}}" bind:chooseObjTypeData="chooseObjTypeData" bind:onCheckChange="onCheckChange" bind:changeNumber="changeNumber">
 </dk-form-more-items>
 
 <view style="height: 220rpx;"></view>

+ 2 - 2
package-accounts-manage/pages/receipt/receipt.js

@@ -169,7 +169,7 @@ Page({
   cusReturnCollection(e) {
     let item = e
     wx.navigateTo({
-      url: this.data.route.add.url,
+      url: this.data.route.addReturn.url,
       events: {
         // 回调后,在这里给页面赋值
         bandData: function (e) { }
@@ -212,7 +212,7 @@ Page({
     // 退收款
     else if (item.rpType == Constants.rpType.returnReceipt) {
       wx.navigateTo({
-        url: this.data.route.addOther.url,
+        url: this.data.route.addReturn.url,
         events: {
           // 回调后,在这里给页面赋值
           bandData: function (e) { }

+ 1 - 0
package-basic-data/pages/staff/detail/detail.js

@@ -106,6 +106,7 @@ Page({
   * 生命周期函数--监听页面加载
   */
   onLoad: function (options) {
+    console.log("onLoad",options);
     
   },
 

+ 70 - 275
package-inventory/pages/inventory-check/add/add.js

@@ -8,25 +8,20 @@ Page({
      * 页面的初始数据
      */
     data: {
+      draftFlag:false,
         purIdArray: '', //来源单id 
         // 弹出按钮
-        buttonList: [{
-            name: 'merge',
-            title: mixins.$t("save"), //'保存'
-        }],
-        contentList: [{
-            code: 'flag',
-            title: mixins.$t("antoHandle"), //'自动入库办理',
-            type: 'checkbox'
-        }, {
-            code: 'need',
-            title: mixins.$t("totalAmount"), //'合计金额',
-            type: 'str'
-        }, {
-            code: 'amount',
-            content: 0,
-            type: 'number'
-        }],
+        buttonList: [ {
+          code:'draft',
+          name: 'merge',
+          color:'#636FB4',
+          title: '暂存', //'暂存'
+        },{
+          code:'save',
+        name: 'merge',
+        title: mixins.$t("save"), //'保存'
+    }],
+  
         btnFormData: null,
         popContent: [{
                 code: 'itemQty',
@@ -57,10 +52,7 @@ Page({
 
         cardList: [{
                 name: 'main',
-            }, {
-                name: 'wh'
-            }, {
-                name: 'relation'
+                title: '盘点信息', //'商品明细',
             },
             {
                 name: 'items',
@@ -74,46 +66,31 @@ Page({
             }
         ],
         contentObj: {
-            main: [{
-                    code: 'supId',
-                    name: 'supplierName',
-                    title: mixins.$t("supplier"), //'供应商',
-                    type: 'choose',
-                    required: true,
-                    urlKey: 'chooseSupplier'
-                },
+            main: [ 
                 {
                     code: 'staffId',
                     name: 'staffName',
-                    title: mixins.$t("procureStaff"), //'采购人',
+                    title: '盘点员工', //'采购人',
                     type: 'choose',
                     required: true,
                     urlKey: 'chooseStaff'
                 }, {
                     code: 'orgId',
                     name: 'orgName',
-                    title: mixins.$t("procureOrg"), //'采购部门',
+                    title: '盘点部门', //'采购部门', mixins.$t("procureOrg")
                     type: 'choose',
                     required: true,
                     urlKey: 'chooseOrg'
                 },
+                {
+                  code: 'whId',
+                  name: 'whName',
+                  type: 'choose', 
+                  title: '盘点仓库', //'入库仓库',
+                  urlKey: 'chooseWh'
+              }
             ],
-            wh: [{
-                code: 'whId',
-                name: 'whName',
-                type: 'choose',
-                required: true,
-                title: mixins.$t("enterWhName"), //'入库仓库',
-                urlKey: 'chooseWh'
-            }],
-            relation: [{
-                code: 'sourceNo',
-                name: 'fromNo',
-                type: 'choose',
-                controlChooseFlag: true,
-                title: mixins.$t("sourceOrder"), //'关联源单',
-                urlKey: 'choosePurchaseOrder'
-            }],
+        
             items: [ ], 
             other: [{
                 code: 'remarks',
@@ -127,10 +104,9 @@ Page({
             }]
         },
         // 路由
-        routeObjName: 'inbound',
-        //接口
-        purchaseService: app.globalData['purchaseService'], //采购订单 路由
-        inboundProcessingService: app.globalData['inboundProcessingService'],
+        routeObjName: 'check',
+ 
+       // inboundProcessingService: app.globalData['inboundProcessingService'],
     },
     /**
      * @desc : 选择框右边删除 回调
@@ -174,10 +150,7 @@ Page({
         let formData = JSON.parse(this.data.formData)
         let code = e.detail.code
         let data = e.detail.data.data
-        if (code == "supId") { //供应商
-            formData.supId = data.id
-            formData.supplierName = data.name
-        }
+      
         if (code == "staffId") { //员工
             formData.staffId = data.id
             formData.staffName = data.name
@@ -197,176 +170,32 @@ Page({
             }
        
         }
-        if (code == "sourceNo") { //来源单  
-           
-            this.calculateTotal(data.chooosepurchaseItemResponseList) 
-
-            return
-        }
-
-        this.setData({
-            formData: JSON.stringify(formData)
-        })
-    },
-    /**
-     * @desc : 给表单赋值
-     * @date : 2024/2/1 15:49
-     * @author : 王英杰
-     */
-    setValuesByEdit(data) {
-        { //是否可编辑逻辑
-            if (data.fromId) { //有来源单据
-                this.setData({ //隐藏选商品按钮
-                    chooseVisible: true
-                })
-                if (this.data.isSysSetting) { //系统参数为自动办理
-                    if (this.data.nopay) { //未付款
-                        data.goodsList.forEach(element => {
-                            // (添加商品、修改数量不能超出订单商品范围)添加商品TODO(后期改为跳入来源单据让他选择原单数据回来)
-                            element['itemQty_max'] = element.purItemQty - element.purItemIntoingQty - element.purItemIntoQty + element.intoQty
-                        });
-                   
-                    } else { //已付款 (只可以编辑备注和附件)
-                        this.setData({
-                            readonly: true
-                        })
-                    }
-                } else { //系统参数为手动办理
-                    if (data.intoStatus = Constants.intoStatus.inBounding) { //入库中 可以编辑修改商品、数量(修改商品、数量不能超出订单商品范围)和备注附件
-                        data.goodsList.forEach(element => {
-                            // (添加商品、修改数量不能超出订单商品范围)添加商品TODO(后期改为跳入来源单据让他选择原单数据回来)
-                            element['itemQty_max'] = element.purItemQty - element.purItemIntoingQty - element.purItemIntoQty + element.intoQty
-                        });
-                    } else { //已入库(未付款、已付款),只可以编辑备注、附件
-                        this.setData({
-                            readonly: true
-                        })
-                    } 
-                }
-            } else { //无来源单据
-                if (this.data.isSysSetting) { //系统参数为自动办理  
-                    if (this.data.nopay) { //已入库(未付款),可以编辑修改数量(修改商品、数量不限制,数量改大时要校验库存量)和备注附件; 
-                    data.goodsList.forEach(element => {  //  设置库存量未最大值
-                        element['itemQty_max'] = element.invQty
-                    });
-                    } else { //已付款 (只可以编辑备注和附件)
-                        this.setData({
-                            readonly: true
-                        })
-                    }
-                } else { //系统参数为手动办理
-                    if (data.intoStatus = Constants.intoStatus.inBounded) { //已入库
-                        if(this.data.nopay){ //(未付款),可以编辑修改数量(修改商品、数量不限制,数量改大时要校验库存量)和备注附件 
-                          data.goodsList.forEach(element => {  //  设置库存量未最大值
-                            element['itemQty_max'] = element.invQty
-                        });
-                        }else{//已付款 (只可以编辑备注和附件)
-                            this.setData({
-                                readonly: true
-                            }) 
-                        } 
-                    } 
-                }
-            }
-        } 
-        let purIdArray_ = this.data.purIdArray //来源单id
-        let cardList_ = this.data.cardList
-        let contentList_ = this.data.contentList //底部按钮上的合计金额
-
-        // 提取purNo字段为数组,并去重
-        const purNoArray = [...new Set(data.goodsList.map(item => item.purNo))];
-        const purIdArray = [...new Set(data.goodsList.map(item => item.purId))]
-        // 将数组元素转换为逗号分隔的字符串
-        data.fromNo = purNoArray.join(','); //来源单号
-        purIdArray_ = purIdArray.join(',');
-
-        data.goodsList.forEach(element => {
-            element.itemAmt = element.intoingAmt * element.intoingQty
-            element.itemQty = element.intoingQty
-        });
-        cardList_.forEach(card => { //循环出商品总共价格 展示用
-            if (card.name === 'items') {
-                card.itemAmt = data.goodsList.sum("itemAmt")
-            }
-        })
-        contentList_.forEach(card => { //底部按钮 展示价格 用
-            if (card.code === 'amount') {
-                card.content = data.goodsList.sum("itemAmt")
-            }
-        })
-           // 刷新商品明细 显示 查看更多
-    let card = this.data.cardList.filter(it => it.name == 'items');
-    this.selectComponent('#'+this.data.formName).handleContentObj(card[0])
-
-        this.setData({
-            contentList: contentList_,
-            purIdArray: purIdArray_,
-            cardList: cardList_,
-            formData: JSON.stringify(data)
-        })
-    },
-    /**
-     * @desc :处理商品(选择采购订单处理)
-     * @date : 2024/2/1 15:49
-     * @author : 王英杰
-     */
-    calculateTotal(choooseItemList) {
-        let formData = JSON.parse(this.data.formData)
-        let purIdArray_ = this.data.purIdArray //来源单id
-        let cardList_ = this.data.cardList
-        let contentList_ = this.data.contentList //底部按钮上的合计金额
-        let contentObj_ = this.data.contentObj
-        formData.goodsList = choooseItemList
-        // 提取purNo字段为数组,并去重
-        const purNoArray = [...new Set(formData.goodsList.map(item => item.purNo))];
-        const purIdArray = [...new Set(formData.goodsList.map(item => item.purId))]
-        // 将数组元素转换为逗号分隔的字符串
-        formData.fromNo = purNoArray.join(','); //来源单号
-        purIdArray_ = purIdArray.join(',');
     
-        formData.goodsList.forEach(element => {
-            element.intoingAmt = element.itemAmt
-            element.intoingQty = element.itemQty
-            element.sumAmt = element.itemQty * element.itemAmt
-            element.costPrice = element.pricePur
-            element.costAmt = element.itemAmt
-            element.fromId = element.purId
-            element.fromItemId = element.itemId
-            element.priceInto = element.pricePur
-            element.nonStdCode = element.nonStdCode ? element.nonStdCode : '' // 色号  批次号 
-            element.outQty = 0
-            delete element.opAppCode
-            delete element.opCreateTime
-            delete element.opCreateUserId
-            delete element.opDbUser
-            delete element.opTimestamp
-            delete element.opUpdateTime
-            delete element.opUpdateUserId
-        });
-        cardList_.forEach(card => { //循环出商品总共价格 展示用
-            if (card.name === 'items') {
-                card.itemAmt = formData.goodsList.sum("sumAmt")
-            }
-        })
-        contentList_.forEach(card => { //底部按钮 展示价格 用
-            if (card.code === 'amount') {
-                card.content = formData.goodsList.sum("sumAmt")
-            }
-        }) 
-            contentObj_["relation"].forEach(element => {
-               if(element.code == "sourceNo"){ //来源单号
-                element.purNo = purNoArray.join(',')
-                element.chooseList =  formData.goodsList
-               }
-            }); 
+
         this.setData({
-            contentList: contentList_,
-            purIdArray: purIdArray_,
-            cardList: cardList_,
-            contentObj:contentObj_,
             formData: JSON.stringify(formData)
         })
     },
+   /**
+   * @desc : 按钮点击事件回调
+   * @date : 2024/2/1 15:49
+   * @author : 王英杰
+   */
+  open(e) {
+    console.log('ee',e);
+    let that = this
+     let code = e.detail.name 
+ 
+     let draftFlag = false;
+     if(code == 'draft'){ //暂存
+      draftFlag = true;
+     }
+     this.setData({
+      draftFlag:draftFlag
+     })
+     this.save();
+   },
+   
     /**
      * @desc : 外露设置产品方法 
      * @date : 2024/2/1 15:49
@@ -413,6 +242,9 @@ Page({
      * @author : 王英杰
      */
     validData() { 
+      if(this.data.draftFlag){
+        return true;
+      }
         let formData = JSON.parse(this.data.formData)
         let that = this
         if (formData.goodsList == null || formData.goodsList.length == 0) {
@@ -461,28 +293,22 @@ Page({
      * @author : 王英杰
      */
     setParams(params) {
-        let btnFormData = this.data.btnFormData ? JSON.parse(this.data.btnFormData) : ''
-        let formData = JSON.parse(this.data.formData)
-        formData.goodsList.forEach((element,index) => {
-            element.itemIndex = index
-        }); 
-        params.intoingAmt = formData.goodsList.sum("intoingAmt") //金额
-        params.intoingQty = formData.goodsList.sum("intoingQty") //一共的商品数量
-        params.intoAmt = 0 //  已入库金额
-        params.intoQty = 0 //  已入库数量         
-        params.flgAutoHandle = btnFormData ? btnFormData.flag : false //自动出入库标识 
-        params.fromId = this.data.purIdArray?this.data.purIdArray:null //来源id
-        params.fromNo = formData.fromNo //来源单号
-        params.orgId = formData.orgId //组织部门
-        params.staffId = formData.staffId // 员工
-        params.supId = formData.supId // 供应商
-        params.whId = formData.whId // 仓库
-        params.remarks = formData.remarks // 备注
-        params.makeStaff = app.globalData.user.staffId // 制单人
+      let formData = JSON.parse(this.data.formData)
+      let draftFlag = this.data.draftFlag
+      if(draftFlag){ //暂存
+        params.draftFlag = this.data.draftFlag
+        params.staffId = formData.staffId
+        params.remarks = formData.remarks
+        params.orgId = formData.orgId
+        params.flgLock = false //锁库标识 todo 不知道为啥
+        params.checkStatus = '盘点状态-完成'
+
+      }else{ //完成
+
+      }
     
-        params.itemList = formData.goodsList //商品明细
-        console.log("save", this.data.params);
-        return params
+
+        return params;
     },
 
     /**
@@ -491,40 +317,9 @@ Page({
      * @author : 王英杰
      */
     saveData() {
-        if (this.data.formMode == Constants.formMode.edit) { //编辑保存
-            return this.excute(this.data.inboundProcessingService, this.data.inboundProcessingService.inboundUpdate, this.data.params)
-        } else { //新建保存
-            return this.excute(this.data.inboundProcessingService, this.data.inboundProcessingService.inboundInsert, this.data.params)
-        }
-
-    },
-    /**
-     * @desc : 查询数据 (转入库调用)
-     * @date : 2024/2/1 15:49
-     * @author : 王英杰
-     */
-    getData(e) {
-        if (!e.idKey) {
-            return
-        }
-        let param = {}
-        let excute = this.excute(this.data.purchaseService, e.id, {});
-        excute.then(res => {
-            if (res.data.code === Constants.SUCESS_CODE) {
-                let formData = JSON.parse(this.data.formData)
-                formData = res.data.data
-                this.setData({
-                    formData:JSON.stringify(formData),
-                    chooseVisible: true
-                })
-                this.calculateTotal(res.data.data.purchaseItemResponseList)
-                   // 刷新商品明细 显示 查看更多
-                 let card = this.data.cardList.filter(it => it.name == 'items');
-             this.selectComponent('#'+this.data.formName).handleContentObj(card[0])
-
-            }
-        })
+      return this.excute(this.data.service, this.data.service.insert, this.data.params) 
     },
+  
     /**
      * @desc : 初始化数据
      * @date : 2024/2/1 15:49
@@ -532,7 +327,7 @@ Page({
      */
     loadInit() {
         let  formData = JSON.parse( this.data.formData)
-        let item = this.data.item
+        let item = this.data.item 
         formData.goodsList = item
          this.setData({
           formData:JSON.stringify(formData)

+ 2 - 2
package-inventory/pages/inventory-check/add/add.wxml

@@ -6,11 +6,11 @@
 <!-- <dk-form id="{{formName}}" cardList="{{cardList}}" contentObj="{{contentObj}}" model:value="{{formData}}" bind:chooseData="chooseData">
 </dk-form> -->
 
-<dk-form-bill type="pur" id="{{formName}}" routeObjName="{{routeObjName}}" cardList="{{cardList}}" titleTagCol="shortName" titleCol="skuCode" descCol="skuModel" priceCol="intoingAmt" quantityCol="intoingQty" sumAmountCol="itemAmt" contentObj="{{contentObj}}" model:value="{{formData}}" popContent="{{popContent}}" bind:chooseData="chooseData" popType="sale" priceTitle="批发价:" bind:editItems="setGoods" bind:clear = "clear" readonly = "{{readonly}}"chooseVisible="{{!chooseVisible}}"
+<dk-form-bill type="pur" id="{{formName}}" routeObjName="{{routeObjName}}" cardList="{{cardList}}" titleTagCol="shortName" titleCol="skuCode" descCol="skuModel"   quantityCol="itemQty"   contentObj="{{contentObj}}" model:value="{{formData}}" popContent="{{popContent}}" bind:chooseData="chooseData" popType="sale" priceTitle="批发价:" bind:editItems="setGoods" bind:clear = "clear" readonly = "{{readonly}}"chooseVisible="{{!chooseVisible}}"
 bind:delItem="setGoods" bind:setGoods="setGoods">
 </dk-form-bill>
 
 
  
 <!-- 新建按钮 -->
-<dk-save-button model:value="{{btnFormData}}" btnAutoWidthFlag="{{false}}" btnRightFlag="{{true}}" buttonList="{{buttonList}}" contentList="{{contentList}}" bind:open="save"></dk-save-button>
+<dk-save-button   btnAutoWidthFlag="{{true}}"  buttonList="{{buttonList}}"   bind:open="open"></dk-save-button>

+ 3 - 2
pages/home-page/home-page.js

@@ -335,7 +335,8 @@ Page({
     console.log("homepage", options);
     // options 中的 scene  
     if (options.scene) {
-      var scene = options.scene
+      // var scene = options.scene
+      var scene = decodeURLComponent(options.scene)
 
       // 邀请员工的确认
       wx.navigateTo({
@@ -347,7 +348,7 @@ Page({
         },
         success: function (res) {
           // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取
-          res.eventChannel.emit('params', { other: scene, formMode: Constants.formMode.other })
+          res.eventChannel.emit('params', { formType: scene, formMode: Constants.formMode.index })
         }
       })
 

+ 11 - 4
pages/welcome/welcome.js

@@ -123,7 +123,7 @@ Page({
         _this.getTokenPromise().then(res => {
             if (res.data.code === Constants.SUCESS_CODE) {
                 let data = res.data.data;
-                console.log('company',data.company);
+                console.log('company', data.company);
                 // 记录登录的缓存
                 app.globalData.company = data.company
                 app.globalData.user = {
@@ -137,14 +137,21 @@ Page({
                     app.globalData.URI = data.company.svcIp + ':' + data.company.svcPort
                 }
                 if (res.data.data.company == undefined
-                    || res.data.data.company.cpId == null
+                ) {
+                    // 调转加入企业
+                    wx.reLaunch({
+                        url: '../../pages/login/login',
+                    })
+                }
+                else if (res.data.data.company.cpId == null
                     || res.data.data.company.cpId == ''
                     || res.data.data.company.cpId == undefined) {
                     // 调转选择公司
                     wx.reLaunch({
                         url: '../../pages/company/company',
                     })
-                } else {
+                }
+                else {
                     // // 接口登录后获取数据
                     _this.getInfoAfterLogin();
                 }
@@ -206,7 +213,7 @@ Page({
                     }
                     // 系统参数
                     let setting = res.data.data.settingValue
-                    if(setting){
+                    if (setting) {
                         app.globalData.setting = JSON.parse(setting.setting.value)
                         // console.log('setting', app.globalData.setting[Constants.settingCode.IVT001]);
                     }