Просмотр исходного кода

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

王英杰 1 год назад
Родитель
Сommit
410a785d03

+ 1 - 0
api/pages/ivt/inboundProcessing.js

@@ -16,6 +16,7 @@ module.exports = {
     inboundUpdate: 'inbound_update',
     inboundRepeal: 'repeal/',
     inBoundCancel: 'inbound_cancel',
+    selectTotalDetail: 'select_total_detail',
   },
 
   routeUrl: {

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

@@ -51,6 +51,7 @@ module.exports = {
       chooseInitialPaymentType: { key: 'chooseInitialPaymentType', url: '/package-base-select/pages/select-data/select-data',type:'kindData', kindType:'初始款项' ,  },
       chooseMoneyAccount: { key: 'chooseMoneyAccount', url: '/package-base-select/pages/select-data/select-data',type:'moneyAccount',  },
       orderDetail: { key: 'orderDetail', url: '/package-sales/pages/order-billing/detail/detail', formMode: 'other', idKey: 'orderId' },
+      outDetail: { key: 'outDetail', url: '/package-sales/pages/sales-outbound/add/add', formMode: 'other', idKey: 'outId'},
       orderRetuenDetail: { key: 'orderRetuenDetail', url: '/package-sales/pages/order-return/add/add', formMode: 'other', idKey: 'outId' },
       toFollowStatus1: { key: 'toFollowStatus1', url: '/package-basic-data/pages/customer-reception/add/add' },
       toFollowStatus2: { key: 'toFollowStatus2', url: '/package-basic-data/pages/customer-follow-up/customer-follow-up' },

+ 10 - 1
api/pages/mst/supplier.js

@@ -17,7 +17,16 @@ module.exports = {
   routeUrl: {
     supplier: { 
       add: { key: 'add', url: '/package-purchase/pages/supplier-list/add/add'  },
-      edit: { key: 'edit', url: '/package-purchase/pages/supplier-list/add/add'  },
+      edit: { key: 'edit', url: '/package-purchase/pages/supplier-list/add/add',idKey:'supId'  },
+      detail: { key: 'detail', url: '/package-purchase/pages/supplier-list/detail/detail'  },
+      purDetail: { key: 'purDetail', url: '/package-purchase/pages/purchase-order/purchase-order-detail/purchase-order-detail', formMode: 'edit', idKey: 'purId' },
+      purRetuenDetail: { key: 'purRetuenDetail', url: '/package-purchase/pages/purchase-return/detail/detail', formMode: 'edit', idKey: 'intoId' },
+      refundDetail:{ key: 'refundDetail', url: '/package-purchase/pages/pur-refund/detail/detail', formMode: 'edit',formType:'edit', idKey: 'supId' },
+      receiptDetail:{ key: 'receiptDetail', url: '/package-purchase/pages/pur-receipt/detail/detail', formMode: 'edit',formType:'edit', idKey: 'supId', image:'btn-customer-collection.png' },
+
+      toPurOrder:{ key: 'toPurOrder', url: '/package-purchase/pages/purchase-order/add/add', formMode: 'add' ,formType: 'add', idKey: 'supId' } ,
+      toPurOrderReturn:{ key: 'toPurOrderReturn', url: '/package-purchase/pages/purchase-return/add/add',  formMode: 'add' ,formType: 'add', idKey: 'supId' } ,
+      toPurReceipt:{ key: 'toPurReceipt', url: '/package-purchase/pages/pur-receipt/add/add', formMode: 'add',formType:'add', idKey: 'cusId', image:'btn-customer-collection.png' },
       chooseSupplierCategory: { key: 'chooseSupplierCategory', url: '/package-base-select/pages/select-data/select-data',type:'kindData', kindType:'供应商类别' },
       chooseServiceCategory: { key: 'chooseServiceCategory', url: '/package-base-select/pages/select-data/select-data',type:'kindData', kindType:'服务类别' , chooseFlag:true },
       chooseStaff: { key: 'chooseStaff', url: '/package-base-select/pages/select-data/select-data',type:'staff'  },

+ 2 - 1
api/pages/pur/purchase.js

@@ -15,7 +15,8 @@ module.exports = {
       selectListByItem :'list_by_item', //查询采购订单(入库来源单)
       invalid:'invalid/',//作废
       purSelectId:'pur_select_id/',//转入库 查询采购订单 总单带明细(过滤明细已入库数据)
-      oneKeyInvalid: 'one_key_invalid' //一键作废
+      oneKeyInvalid: 'one_key_invalid', //一键作废
+      selectTotalDetail: 'select_total_detail'
   },
 
   routeUrl: { 

+ 1 - 0
app.json

@@ -144,6 +144,7 @@
                 "pages/purchase-tracking/purchase-tracking",
                 "pages/supplier-list/supplier-list",
                 "pages/supplier-list/add/add",
+                "pages/supplier-list/detail/detail",
                 "pages/purchase-receipt/add/add",
                 "pages/purchase-receipt/choose-purchase-order/choose-purchase-order",
                 "pages/pur-track-report/pur-track-report",

+ 1 - 0
components/dkbase/dk-list/dk-list.wxss

@@ -176,6 +176,7 @@
   height: 49rpx;
   text-align: center;
   background-color: #FFE5BD;
+  border-radius: 10rpx;
   line-height: 49rpx;
   padding-left: 8rpx;
   padding-right: 8rpx;

+ 3 - 1
i18n/zh-CN.js

@@ -240,7 +240,9 @@ const home = {
   homeFreeLogin: '免费体验',
   homeAddCompany: '加入企业',
   homeCreateCompany: '注册企业',
-  agreementPrivacy: '我已阅读并同意《用户协议》和《隐私条款》',
+  agreementPrivacy: '我已阅读并同意',
+  userAgreement:'《用户协议》',
+  privacyAgreement:'《隐私条款》',
   checkPrivacy: '请勾选用户协议和隐私条款',
   scanQrcode: '请同事扫下方二维码',
   requestAddCompany: '邀请你进入企业',

+ 2 - 2
package-accounts-manage/pages/daily-reconciliation-statement/daily-reconciliation-statement.wxml

@@ -30,11 +30,11 @@
           <dk-cell left="0rpx" contentFontWeight="bold" height="45rpx" title="期末" contentRight="{{false}}" fontSize="13" contentColor="#002340" spaceWidth="10rpx" content="{{item.balance ? item.balance : 0}}"></dk-cell>
         </view>
       </view>
-
+      <view style="width: 100%;border: 0.1px solid #a3b1ca3a;margin-top: 25rpx;border-radius: 50%;"></view>
       <!-- 明细 -->
       <view wx:for="{{item.itemList}}" wx:for-index="index_" wx:for-item="item_"  bind:tap="toDetail" data-item="{{item_}}">
         <view style="margin-top: 30rpx;">
-          <view class="list">
+          <view class="list"> 
             <view class="left">
               {{ item_.cusName?  (item_.cusName + '/'+item_.cusPhone) : item_.flowTypeName}}
             </view>

+ 17 - 1
package-base-select/pages/select-goods/select-goods.js

@@ -988,7 +988,7 @@ Page({
    * @date   : 2024/2/2 11:46
    */
   changeField(e) {
-    let dataItem = JSON.parse(this.data.dataItem)
+    let dataItem = JSON.parse(this.data.dataItem) 
     dataItem[e.detail.key] = e.detail.name
     this.setData({
       dataItem: JSON.stringify(dataItem)
@@ -1350,6 +1350,22 @@ Page({
     })
   },
   /**
+   * @desc : 选择回调
+   * @date : 2024/7/11 15:59
+   * @author : 刘尧
+   */
+  openChoose(e){
+    console.log('openChoose', e.detail);
+    const key = e.detail.key
+    const nameKey = e.detail.nameKey
+    let dataItem = JSON.parse(this.data.dataItem)
+    dataItem[key] = e.detail.id
+    dataItem[nameKey] = e.detail.name
+    this.setData({
+      dataItem: JSON.stringify(dataItem)
+    })
+  },
+  /**
    * @desc : 初始化
    * @date : 2024/2/1 15:49
    * @author : 于继渤

+ 1 - 1
package-base-select/pages/select-goods/select-goods.wxml

@@ -400,7 +400,7 @@
 
 <!--  采购入库 采购订单 其它入库  -->
  
-<dk-popup wx:if="{{ billType != 'sale' && billType != 'saleOut' && billType !== 'inventory' && billType !== 'out'   }}" stepperDecimal="decimalPlaces" type="sale" descCol="skuName" titleTagCol="brandName" titleCol="skuModel" iconCol="imagesUrl" subCol="calculationFormula" value="{{dataItem}}" show="{{showPop}}" routeObjName="{{routeObjName}}" priceTitle="" priceCol="sumPrice" contentObj="{{popContent}}" bind:changeStep="changeStep" bind:changeField="changeField" bind:blurNumberField="blurNumberField" bind:openPackageBox="openPackageBox" bind:commit="editItems"validFlag='{{true}}'>
+<dk-popup wx:if="{{ billType != 'sale' && billType != 'saleOut' && billType !== 'inventory' && billType !== 'out'   }}" stepperDecimal="decimalPlaces" type="sale" descCol="skuName" titleTagCol="brandName" titleCol="skuModel" iconCol="imagesUrl" subCol="calculationFormula" value="{{dataItem}}" show="{{showPop}}" routeObjName="{{routeObjName}}" priceTitle="" priceCol="sumPrice" contentObj="{{popContent}}" bind:changeStep="changeStep" bind:changeField="changeField" bind:blurNumberField="blurNumberField" bind:openPackageBox="openPackageBox" bind:commit="editItems"validFlag='{{true}}' bind:openChoose="openChoose">
 </dk-popup> 
  
 <dk-popup wx:if="{{ billType == 'out' }}" stepperDecimal="decimalPlaces" type="sale" descCol="skuName" titleTagCol="brandName" titleCol="skuModel" iconCol="imagesUrl" subCol="calculationFormula" value="{{dataItem}}" show="{{showPop}}" routeObjName="{{routeObjName}}" priceTitle="" priceCol="" contentObj="{{popContent}}" bind:changeStep="changeStep" bind:changeField="changeField" bind:blurNumberField="blurNumberField" bind:openPackageBox="openPackageBox" bind:commit="editItems">

+ 17 - 7
package-base-select/pages/web-view-select/web-view-select.js

@@ -63,15 +63,25 @@ Page({
             })
             wx.navigateBack({
               delta: 1,
-            })
-            // 如果有值就打开文档
-            wx.openDocument({
-              filePath: filePath,
-              showMenu: true,
-              fileType: 'pdf',
-              success: function (reso) {
+              complete(cplt) {
+                // 如果有值就打开文档
+                wx.openDocument({
+                  filePath: filePath,
+                  showMenu: true,
+                  fileType: 'pdf',
+                  success: function (reso) {
+                    console.log('openDocument-success',reso);
+                  }, 
+                  fail(err) {
+                    console.log('openDocument-fail',err);
+                  },
+                  complete(cplt) {
+                    console.log('openDocument-complete',cplt);
+                  },
+                })
               }
             })
+
           }
         }
       }, fail(err) {

+ 43 - 0
package-basic-data/pages/customer-list/detail/detail.js

@@ -40,6 +40,7 @@ Page({
     buyCusFollowFlag: false,
     // 是否标准版
     flgStd: app.globalData.company.gradeCode == Constants.gradeCode.STD ? true : false,
+    initialValueFlag: true
   },
   /**
    * @desc : 展开明细
@@ -503,6 +504,38 @@ Page({
   }
   },
 
+  /**
+   * @desc 跳转销售出库源单
+   * @date : 2024/7/11 09:39
+   * @author : 刘尧
+   */
+  toOutDetail(e){
+      console.log('toOutDetail', e.currentTarget.dataset.item);
+      let item = e.currentTarget.dataset.item
+      this.setData({
+        selectflag: true
+      })
+      
+    let route = this.data.route
+    let that = this
+    wx.navigateTo({
+      url: route.outDetail.url,
+      events: {
+        // 保存成功后刷新页面
+        refresh: function (data) {
+        
+        }
+      },
+      success: function (res) {
+        // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取
+        res.eventChannel.emit('params', {
+          id: item.outId,
+          formMode: Constants.formMode.detail
+        })
+      }
+    })
+  },
+
 
   toOrderOutReturnDetail(e){
     let item = e.currentTarget.dataset.item
@@ -663,5 +696,15 @@ Page({
         }
     })
   },
+  /**
+   * @desc : 显示初始欠款
+   * @date : 2024/7/11 10:47
+   * @author : 刘尧
+   */
+  showInitial(e){
+    this.setData({
+      initialValueFlag: !this.data.initialValueFlag
+    })
+  }
 
 })

+ 21 - 5
package-basic-data/pages/customer-list/detail/detail.wxml

@@ -69,9 +69,17 @@
       </view>
 
       <view class="number" style=" margin-right: 0;">
+        <view class="button-view">
+          <view class="initial-button" bind:tap="showInitial" wx:if="{{initialValueFlag && item.startAmount && item.startAmount > 0}}">有初始</view>
+          <view class="initial-value" bind:tap="showInitial" wx:if="{{!initialValueFlag}}">          
+            <dk-cell center="center" height="46rpx" spaceWidth="1rpx" left="0" fontSize="12" contentColor="#3E69F6" fontWeight="600" title="" 
+            content="{{item.startAmount?item.startAmount:0}}">
+            </dk-cell>
+          </view>
+        </view>
         <view class="order-summary">
           <!--标准版 客户欠款 = 订单金额+退货金额-收款金额-->
-          <dk-cell center="center" height="46rpx" spaceWidth="1rpx" left="0" fontSize="17" contentColor="#1B365D" fontWeight="600" title="" content="{{((item.orderAmount?item.orderAmount:0) - (item.receiptResidue?item.receiptResidue:0) + (item.outboundReturnAmount ? item.outboundReturnAmount : 0 ) > 0) ? ((item.orderAmount?item.orderAmount:0) - (item.receiptResidue?item.receiptResidue:0) + (item.outboundReturnAmount ? item.outboundReturnAmount : 0 )) : 0}}">
+          <dk-cell center="center" height="46rpx" spaceWidth="1rpx" left="0" fontSize="17" contentColor="#1B365D" fontWeight="600" title="" content="{{((item.orderAmount?item.orderAmount:0) - (item.receiptResidue?item.receiptResidue:0) + (item.outboundReturnAmount ? item.outboundReturnAmount : 0 )  + (item.startAmount?item.startAmount:0) > 0) ? ((item.orderAmount?item.orderAmount:0) - (item.receiptResidue?item.receiptResidue:0) + (item.outboundReturnAmount ? item.outboundReturnAmount : 0 ) + (item.startAmount?item.startAmount:0)) : 0}}">
           </dk-cell>
         </view>
         <view class="oreder-summary-detail">
@@ -355,14 +363,22 @@
 
             <view class="dk-card-outer-class">
               <view class="dk-card-class">
-                <view style="display:flex;padding: 2vw;">
-                  <image style="width:20px;height:20px;" src="{{imageUrl + 'customer_detail_icon_04.png'}}"> </image>
-                  <view style="font-weight:bold;font-size: 13px;white-space:nowrap;align-self:center;margin-left: 20rpx;">{{item.outNo}}
+                <view style="display:flex;padding: 2vw;justify-content: space-between;">
+                  <view style="display: flex;">
+                    <image style="width:20px;height:20px;" src="{{imageUrl + 'customer_detail_icon_04.png'}}"> </image>
+                    <view style="font-weight:bold;font-size: 13px;white-space:nowrap;align-self:center;margin-left: 20rpx;">{{item.outNo}}
+                    </view>
                   </view>
-                  <view class="status-class">
+                  <view class="status-class" wx:if="{{flgStd}}">
                     <view class="status-detail-class"> {{item.outStatusName}}
                     </view>
                   </view>
+                  
+                  <view style="color: #00A7B5;font-size: 13px;align-items:center;display: flex;justify-content: flex-end;width: 30%;margin-left: 20rpx;" bindtap="toOutDetail" wx:if="{{!flgStd}}" data-item="{{item}}">
+                    <view>查看原单 </view>
+                    <van-icon name="arrow" />
+                  </view>
+
                 </view>
 
                 <view style="height: 1px;background:#E9F0FE;width:90%;margin-left:5vw;" />

+ 25 - 0
package-basic-data/pages/customer-list/detail/detail.wxss

@@ -311,3 +311,28 @@ page {
 	padding: 20rpx;
 	box-shadow: 0px 17px 22px 0px #1B365D33;
 }
+
+.button-view{
+  position: relative;
+}
+.button-view .initial-button{
+  display: flex;
+  justify-content: center;
+  align-content: center;
+  width: 100rpx;
+  font-size: 12px;
+  border-radius: 8rpx;
+  border: #3E69F6 0.5rpx solid;
+  color: #3E69F6;
+  position: absolute;
+  right: 10rpx;
+  top: 10rpx;
+}
+.button-view .initial-value{
+  display: flex;
+  justify-content: center;
+  align-content: center;
+  position: absolute;
+  right: 10rpx;
+  top: 5rpx;
+}

+ 14 - 0
package-purchase/pages/pur-receipt/add/add.js

@@ -370,6 +370,20 @@ Page({
         title: '编辑供应商付款',
       })
       this.getRpForUpdate(this.data.id)
+    }else{
+      if(this.data.formReturnMode == 'supplier'){
+        let item = this.data.item
+        //供应商详情跳转来的 新建 
+        formData.supId = item.supId
+        formData.supName = item.supName
+        formData.objInfo = {
+          supId: item.supId,
+          supName: item.supName,
+          payableResidue: item.payableResidue,
+          paymentResidue: item.paymentResidue,
+          arrearsResidue:Number(item.payableResidue - item.paymentResidue)
+        }
+      }
     }
     this.setData({
       formData: JSON.stringify(formData)

+ 5 - 0
package-purchase/pages/purchase-order/add/add.js

@@ -668,6 +668,11 @@ Page({
             formdata.pickupDate = this.getTomorrowsDateString()
             formdata.whId = app.globalData.user.defaultWhId
             formdata.whName = app.globalData.user.defaultWhName
+            if(this.data.formReturnMode == 'supplier'){
+              //供应商详情跳转来的 新建  formdata 是小写的 注意
+              formdata.supId = this.data.item.supId
+              formdata.supName = this.data.item.supName
+            }
             this.setData({
                 dataTime: dataTime,
                 formData: JSON.stringify(formdata)

+ 9 - 0
package-purchase/pages/purchase-return/add/add.js

@@ -490,6 +490,15 @@ Page({
     if (this.data.formMode != Constants.formMode.edit) {
       let formData = JSON.parse(this.data.formData)
       formData.intoDate = utils.formatDayTime(new Date())
+      if(this.data.formReturnMode == 'supplier'){
+        //供应商详情跳转来的 新建
+        formData.supId = this.data.item.supId
+        formData.supName = this.data.item.supName
+        formData.address = {
+          address: this.data.item.returnAddress,
+          addressFull: this.data.item.returnAddress
+        }
+      }
       //设置业务员业务部门
       this.setStaffOrg()
       this.setData({

+ 395 - 0
package-purchase/pages/supplier-list/detail/detail.js

@@ -0,0 +1,395 @@
+const Constants = require('@/utils/Constants.js');
+const util = require('@/utils/util.js')
+const mixins = require('@/mixins/index.js')
+const app = getApp()
+Page({
+  mixins: [mixins],
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    gradeCode: app.globalData.company.gradeCode,
+    // 路由
+    routeObjName: 'supplier',
+    active: 'deal',
+    activeCard: 'purchase',
+    purchaseService: app.globalData['purchaseService'],
+    inboundProcessingService: app.globalData['inboundProcessingService'],
+    supReceiptPaymentService: app.globalData['supReceiptPaymentService'],
+  },
+  /**
+   * @desc : 展开明细
+   * @date : 2024/5/24 15:49
+   * @author : 周兴
+   */
+  handleExpandItem(e) {
+    let type = e.currentTarget.dataset.type
+    let index = e.currentTarget.dataset.index
+    // 销售退货
+    if (type == 'purchase-return') {
+      let purchaseOutReturnList = this.data.purchaseOutReturnList;
+      purchaseOutReturnList[index].showReturnDetailFlag = !purchaseOutReturnList[index].showReturnDetailFlag
+      this.setData({
+        purchaseOutReturnList: purchaseOutReturnList
+      })
+    } else if (type == 'purchase-out') {
+      // 销售出库
+      let purchaseOutList = this.data.purchaseOutList;
+      purchaseOutList[index].showDetailFlag = !purchaseOutList[index].showDetailFlag
+      this.setData({
+        purchaseOutList: purchaseOutList
+      })
+    }
+    else if (type == 'purchase') {
+      // 销售訂單
+      let purchaseList = this.data.purchaseList;
+      purchaseList[index].showOrderDetailFlag = !purchaseList[index].showOrderDetailFlag
+      this.setData({
+        purchaseList: purchaseList
+      })
+    }
+  },
+
+  /**
+* @desc : 切换tab
+* @date : 2024/5/24 15:49
+* @author : 周兴
+*/
+  onChange(e) {
+    //体验跳转显示假数据
+    if (this.data.params && this.data.params.testFlag) {
+      return
+    } else {
+      let name = e.detail.name
+      let supId = this.data.id
+      if (name == 'follow') {
+        this.getCusFollowList(supId)
+      }
+      else if (name == 'deal') {
+        this.getPurchaseList(supId)
+      }
+      // 收款
+      else if (name == 'receipt') {
+        this.getPayRecords(supId, '收付款类型-付款')
+      }
+      // 退款
+      else if (name == 'payment') {
+        this.getPayRecords(supId, '收付款类型-退付款')
+      }
+    }
+  },
+
+
+  /**
+  * @desc : 收款记录
+  * @date : 2024/2/1 15:49
+  * @author : 于继渤
+  */
+  getPayRecords(supId, type) {
+    let params = {}
+    params.objectId = supId
+    params.rpTypeList = [type]
+    params.flgValidList = [true]
+    this.setData({
+      loading: true
+    })
+    this.excute(this.data.supReceiptPaymentService, this.data.supReceiptPaymentService.getRpSupList, params).then(res => {
+      if (res.data.code == 200) {
+        this.setData({
+          loading: false
+        })
+        let list = res.data.data.list
+        if (type == '收付款类型-付款') {
+          this.setData({
+            paymentRecordsList: list
+          })
+        } else {
+          this.setData({
+            refundRecordsList: list
+          })
+        }
+
+      }
+    })
+  },
+  /**
+  * @desc : 采购订单
+  * @date : 2024/2/1 15:49
+  * @author : 于继渤
+  */
+  getPurchaseList(supId) {
+    let params = {}
+    params.supId = supId
+    params.flgValid = true
+    this.setData({
+      loading: true
+    })
+    this.excute(this.data.purchaseService, this.data.purchaseService.selectTotalDetail, params).then(res => {
+      if (res.data.code == 200) {
+        this.setData({
+          loading: false
+        })
+        res.data.data.list.forEach(item => {
+          if (item.purchaseItemResponseList && item.purchaseItemResponseList.length > 0) {
+            item.purchaseItemResponseList.forEach(it => {
+              it.packageDetailsFlag = true
+              if (it.skuImages && it.skuImages.value) {
+                it.skuImages.value = JSON.parse(it.skuImages.value)
+                it['imagesUrl'] = it.skuImages.value.length > 0 ? it.skuImages.value[0].url : null
+              }
+            })
+          }
+        })
+        let list = res.data.data.list
+        this.setData({
+          purchaseList: list
+        })
+      }
+    })
+  },
+
+  /**
+  * @desc : 查询入库
+  * @date : 2024/2/1 15:49
+  * @author : 于继渤
+  */
+  getInboundProcessing(supId, type) {
+    let params = {}
+    params.supId = supId
+    params.flgValid = true
+    params.intoType = type
+    this.setData({
+      loading: true
+    })
+    this.excute(this.data.inboundProcessingService, this.data.inboundProcessingService.selectTotalDetail, params).then(res => {
+      if (res.data.code == 200) {
+        this.setData({
+          loading: false
+        })
+        res.data.data.list.forEach(item => {
+          if (item.inboundItemList && item.inboundItemList.length > 0) {
+            item.inboundItemList.forEach(it => {
+              it.packageDetailsFlag = true
+              if (it.skuImages && it.skuImages.value) {
+                it.skuImages.value = JSON.parse(it.skuImages.value)
+
+                it['imagesUrl'] = it.skuImages.value.length > 0 ? it.skuImages.value[0].url : null
+              }
+              // 根据状态显示不同的字段
+              if (it.intoStatus == Constants.intoStatus.inBounding) {
+                it.intoAmt = it.intoingAmt
+                it.intoQty = it.intoingQty
+              }
+            })
+          }
+          // 根据状态显示不同的字段
+          if (item.intoStatus == Constants.intoStatus.inBounding) {
+            item.intoAmt = item.intoingAmt
+            item.intoQty = item.intoingQty
+          }
+        })
+        let list = res.data.data.list
+        if (type == Constants.intoType.pur) {
+          this.setData({
+            purchaseOutList: list
+          })
+        } else {
+          this.setData({
+            purchaseOutReturnList: list
+          })
+        }
+      }
+    })
+  },
+
+
+  /**
+  * @desc : 交易记录切换
+  * @date : 2024/2/1 15:49
+  * @author : 于继渤
+  */
+  changeTag(e) {
+    //体验跳转显示假数据
+    if (this.data.params && this.data.params.testFlag) {
+      return
+    } else {
+      let data = this.data.item
+      let name = e.detail.name
+      this.setData({
+        activeCard: e.detail.name
+      })
+      if (name == 'purchase') {
+        this.getPurchaseList(data.supId)
+      }
+      else if (name == 'purchase-out') {
+        this.getInboundProcessing(data.supId, Constants.intoType.pur)
+      }
+      else if (name == 'purchase-return') {
+        this.getInboundProcessing(data.supId, Constants.intoType.saleReturn)
+      }
+    }
+  },
+
+  /**
+    * @desc : 给表单赋值
+    * @date : 2024/2/1 15:49
+    * @author : 于继渤
+    */
+  setValuesByEdit(data) {
+    this.setData({
+      item: data
+    })
+  },
+
+  /**
+   * @desc : 跳转查看采购订单源单
+   * @date : 2024/2/1 15:49
+   * @author : 于继渤
+   */
+  toOrderDetail(e) {
+    //体验跳转显示假数据
+    if (this.data.params && this.data.params.testFlag) {
+      return
+    } else {
+      let item = e.currentTarget.dataset.item
+      this.setData({
+        selectflag: true
+      })
+      let route = this.data.route
+      let that = this
+      wx.navigateTo({
+        url: route.purDetail.url,
+        events: {
+          // 保存成功后刷新页面
+          refresh: function (data) {
+
+          }
+        },
+        success: function (res) {
+          // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取
+          res.eventChannel.emit('params', { id: item.purId, item: item, formMode: Constants.formMode.edit, formReturnMode: 'supplier' })
+        }
+      })
+    }
+  },
+  /**
+  * @desc : 跳转采购退货源单
+  * @date : 2024/2/1 15:49
+  * @author : 于继渤
+  */
+  toOrderOutReturnDetail(e) {
+    let item = e.currentTarget.dataset.item
+    this.setData({
+      selectflag: true
+    })
+    let route = this.data.route
+    let that = this
+    wx.navigateTo({
+      url: route.purRetuenDetail.url,
+      events: {
+        // 保存成功后刷新页面
+        refresh: function (data) {
+
+        }
+      },
+      success: function (res) {
+        // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取
+        res.eventChannel.emit('params', { id: item.intoId, formMode: Constants.formMode.edit, formType: Constants.formMode.detail, formReturnMode: 'supplier' })
+      }
+    })
+  },
+
+
+  /**
+ * @desc : 跳转查看收款源单
+ * @date : 2024/2/1 15:49
+ * @author : 于继渤
+ */
+  toOriginalCollection(e) {
+    let item = e.currentTarget.dataset.item
+    this.setData({
+      selectflag: true
+    })
+    let method = null;
+    let route = this.data.route
+    // 标准版跳转客户收款
+    if (this.data.gradeCode == Constants.gradeCode.STD) {
+      if (item.rpType == Constants.rpType.returnPayment) {
+        method = 'refundDetail'
+      } else {
+        method = 'receiptDetail'
+      }
+    } else {
+      method = 'refundDetail'
+    }
+    let url = route[method].url
+    let that = this
+    if (!url) return;
+    wx.navigateTo({
+      url: url,
+      events: {
+        // 保存成功后刷新页面
+        refresh: function (data) {
+        }
+      },
+      success: function (res) {
+        // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取
+        res.eventChannel.emit('params', { id: item.rpId, formMode: Constants.formMode.other, formReturnMode: 'supplier' })
+      }
+    })
+  },
+
+
+
+  /**
+   * @desc : 跳转
+   * @date : 2024/2/1 15:49
+   * @author : 于继渤
+   */
+  toJump(e) {
+    //体验跳转显示假数据
+    let key = e.currentTarget.dataset.key
+    let url = null
+    let gradeCode = this.data.gradeCode
+    if (key == 'sale') {
+      url = this.data.route.toPurOrder.url
+    }
+    else if (key == 'receipt') {
+      if (gradeCode == Constants.gradeCode.STD) { //标准
+        url = this.data.route.toPurReceipt.url
+      } else if (gradeCode == Constants.gradeCode.PRO) {
+        // url = this.data.route.toReceipt.url
+      }
+    }
+    else if (key == 'saleReturn') {
+      url = this.data.route.toPurOrderReturn.url
+    }
+    let that = this
+    wx.navigateTo({
+      url: url,
+      events: {
+        // 保存成功后刷新页面
+        refresh: function (data) {
+        }
+      },
+      success: function (res) {
+        res.eventChannel.emit('params', { id: that.data.item.supId, item: that.data.item, formType: Constants.formMode.add, formMode: Constants.formMode.add ,formReturnMode: 'supplier'});
+      }
+    })
+  },
+
+
+  /**
+  * @desc : 初始加载
+  * @date : 2024/5/24 15:49
+  * @author : 周兴
+  */
+  loadInit() {
+    if (this.data.gradeCode == Constants.gradeCode.STD) {
+
+    }
+    let e = { detail: { name: 'deal' } }
+    this.onChange(e);
+
+  },
+})

+ 4 - 0
package-purchase/pages/supplier-list/detail/detail.json

@@ -0,0 +1,4 @@
+{
+  "usingComponents": {},
+  "navigationBarTitleText": "供应商详情"
+}

+ 644 - 0
package-purchase/pages/supplier-list/detail/detail.wxml

@@ -0,0 +1,644 @@
+<!-- 前台导入wxmlUtil.wxs -->
+<wxs src='/utils/wxmlUtil.wxs' module="wxmlUtil"></wxs>
+<loading wx:if="{{loading}}"></loading>
+<view class="detail-top" data-item="{{item}}">
+  <image class="scan-image" fit="fill" src="{{imageUrl+'/customer_detail_04.png'}}"></image>
+  <view class="detail-top-sup" style="display: flex;">
+    <view>
+      <image class="scan-image-icon" fit="fill" src="{{imageUrl+'/customer_detail_01.png'}}"></image>
+    </view>
+    <view style="padding-left: 10rpx;">
+      {{item.supName}}
+    </view>
+
+    <view style="padding-left: 20rpx;">
+      <dk-tag border="1rpx solid #FF7B1A" height="30rpx" color="transparent" textColor="#FF7B1A" radius="10rpx" roundFlag="{{true}}" marginRight="20rpx" value="{{item.supTypeName}}"></dk-tag>
+    </view>
+    <image src="{{imageUrl + 'edit.png'}} " style="width: 60rpx;height: 60rpx;position: absolute; right: 20rpx;" data-item="{{item}}" bind:tap="toDetail" />
+  </view>
+  <view class="detail-top-color" style="display: flex;" wx:if="{{item.contactName || item.contactPhone}}">
+    <view>
+      <image class="scan-image-icon" fit="fill" src="{{imageUrl+'/customer_detail_02.png'}}"></image>
+    </view>
+    <view style="padding-left: 10rpx;" catchtap="openTelPhone" data-item="{{item}}">
+      {{ (item.contactName ? item.contactName  : '') +(item.contactName && item.contactPhone ? '/':'')+ (item.contactPhone ? item.contactPhone : '') }}
+    </view>
+  </view>
+  <view class="detail-top-color" style="display: flex;" wx:if="{{item.returnAddress}}">
+
+    <view>
+      <image class="scan-image-icon" fit="fill" src="{{imageUrl+'/customer_detail_03.png'}}"></image>
+    </view>
+    <view style="padding-left: 10rpx;z-index: 2;">
+      {{ wxmlUtil.addressToIndexOf(item.returnAddress)}}
+    </view>
+  </view>
+</view>
+
+
+
+<view style="border-radius: 16rpx;margin: 20rpx 0;box-shadow: 0px 10px 20px 0px #0000000D;padding:20rpx;">
+  <!--标准版-->
+  <van-grid column-num="2" border="{{false}}" wx:if="{{freeVersionFlag}}">
+    <view style="display: flex;">
+      <view class="number">
+        <view class="order-summary">
+          <dk-cell center="center" height="46rpx" spaceWidth="1rpx" left="0" fontSize="17" contentColor="#1B365D" fontWeight="600" title="" content="{{item.purchaseAmount ? item.purchaseAmount : 0}}"></dk-cell>
+        </view>
+        <view class="oreder-summary-detail">
+          订单({{item.purchaseQuantity}}单)
+        </view>
+      </view>
+      <view class="number" style="margin-right: 0;">
+        <view class="order-summary">
+          <dk-cell center="center" height="46rpx" spaceWidth="1rpx" left="0" fontSize="17" contentColor="#1B365D" fontWeight="600" title="" content="{{item.inboundReturnAmount ? item.inboundReturnAmount : 0 }}"></dk-cell>
+        </view>
+        <view class="oreder-summary-detail">
+          退货({{item.inboundReturnQuantity}}单)
+        </view>
+      </view>
+    </view>
+    <view style="display: flex;">
+      <view class="number">
+        <view class="order-summary">
+          <dk-cell center="center" height="46rpx" spaceWidth="1rpx" left="0" fontSize="17" contentColor="#1B365D" fontWeight="600" title="" content="{{item.payment ? item.payment : 0}}"></dk-cell>
+        </view>
+        <view class="oreder-summary-detail">
+          付款总额
+        </view>
+      </view>
+
+      <view class="number" style=" margin-right: 0;">
+        <view class="order-summary">
+          <!--标准版 余额 = 订单金额+退货金额-付款金额-->
+          <dk-cell center="center" height="46rpx" spaceWidth="1rpx" left="0" fontSize="17" contentColor="#1B365D" fontWeight="600" title="" content="{{((item.purchaseAmount ? item.purchaseAmount : 0) + (item.inboundReturnAmount ? item.inboundReturnAmount : 0) - (item.payment ? item.payment : 0)) > 0 ? ((item.purchaseAmount ? item.purchaseAmount : 0) + (item.inboundReturnAmount ? item.inboundReturnAmount : 0) - (item.payment ? item.payment : 0)) : 0 }}">
+          </dk-cell>
+        </view>
+        <view class="oreder-summary-detail">
+          余额
+        </view>
+      </view>
+    </view>
+  </van-grid>
+  <!--专业版-->
+  <van-grid column-num="3" border="{{false}}" wx:else>
+    <view style="display: flex;">
+      <view class="number">
+        <view class="order-summary">
+          <dk-cell center="center" height="46rpx" spaceWidth="1rpx" left="0" fontSize="17" contentColor="#1B365D" fontWeight="600" title="" content="{{item.purchaseAmount ? item.purchaseAmount : 0}}"></dk-cell>
+        </view>
+        <view class="oreder-summary-detail">
+          订单({{item.purchaseQuantity}}单)
+        </view>
+      </view>
+      <view class="number" style="margin-left: 0; margin-right: 0;">
+        <view class="order-summary">
+          <dk-cell center="center" height="46rpx" spaceWidth="1rpx" left="0" fontSize="17" contentColor="#1B365D" fontWeight="600" title="" content="{{item.inboundAmount ? item.inboundAmount : 0}}"></dk-cell>
+        </view>
+        <view class="oreder-summary-detail">
+          已出库({{item.inboundQuantity}}单)
+        </view>
+      </view>
+      <view class="number" style="margin-right: 0;">
+        <view class="order-summary">
+          <dk-cell center="center" height="46rpx" spaceWidth="1rpx" left="0" fontSize="17" contentColor="#1B365D" fontWeight="600" title="" content="{{item.inboundNotAmount ? item.inboundNotAmount : 0}}"></dk-cell>
+        </view>
+        <view class="oreder-summary-detail">
+          出库中({{item.inboundNotQuantity}}单)
+        </view>
+      </view>
+    </view>
+    <view style="display: flex;">
+      <view class="number">
+        <view class="order-summary">
+          <dk-cell center="center" height="46rpx" spaceWidth="1rpx" left="0" fontSize="17" contentColor="#1B365D" fontWeight="600" title="" content="{{item.payment ? item.payment : 0}}"></dk-cell>
+        </view>
+        <view class="oreder-summary-detail">
+          付款总额
+        </view>
+      </view>
+
+      <view class="number" style="margin-left: 0; margin-right: 0;">
+        <view class="order-summary">
+          <!--专业版(应收 - 收款) -->
+          <dk-cell center="center" height="46rpx" spaceWidth="1rpx" left="0" fontSize="17" contentColor="#1B365D" fontWeight="600" title="" content="{{item.payableResidue ? item.payableResidue : 0}}">
+          </dk-cell>
+        </view>
+        <view class="oreder-summary-detail">
+          余额
+        </view>
+      </view>
+
+      <view class="number" style="margin-right: 0;">
+        <view class="order-summary">
+          <dk-cell center="center" height="46rpx" spaceWidth="1rpx" left="0" fontSize="17" contentColor="#1B365D" fontWeight="600" title="" content="{{item.inboundReturnAmount ? item.inboundReturnAmount : 0 }}"></dk-cell>
+        </view>
+        <view class="oreder-summary-detail">
+          退货({{item.inboundReturnQuantity}}单)
+        </view>
+      </view>
+    </view>
+  </van-grid>
+</view>
+
+
+<van-cell border="{{ false }}">
+  <view style=" display:flex;height: 102rpx;width:100%;">
+    <view class="order-button" style="background: linear-gradient(76.18deg, #87B8F1 5.1%, #F0F5FF 88.86%);border: 1px solid #8BBAF2;position: relative;" bindtap="toJump" data-key="sale">
+      <image class="scan-image-icon-3" fit="fill" src="{{imageUrl+'/customer_detail_icon_02.png'}}"></image>
+      <view style="color:#0458C0;font-weight:bold;font-size: 14px;z-index: 2;">
+        采购订单
+      </view>
+    </view>
+    <view class="order-button" style="background: linear-gradient(76.18deg, #87A5F1 5.1%, #F0F5FF 88.86%);border: 1px solid #8DAAF2;margin-left: 23rpx;position: relative;" bindtap="toJump" data-key="receipt">
+      <image class="scan-image-icon-3" fit="fill" src="{{imageUrl+'/customer_detail_icon_01.png'}}"></image>
+      <view style="color:#253FC9;font-weight:bold;font-size: 14px;z-index: 2;">
+        付款单
+      </view>
+    </view>
+    <view class="order-button" style="background: linear-gradient(76.18deg, #7BCDEF 5.1%, #F0FDFF 88.86%);border: 1px solid #85D1F1;margin-left: 23rpx;position: relative;" bindtap="toJump" data-key="saleReturn">
+      <image class="scan-image-icon-3" fit="fill" src="{{imageUrl+'/customer_detail_icon_03.png'}}"></image>
+      <view style="color:#0B8DB7;font-weight:bold;font-size: 14px;z-index: 2;">
+        采购退货
+      </view>
+
+    </view>
+  </view>
+</van-cell>
+<view style="margin-bottom: 15rpx;"></view>
+
+
+
+<van-tabs color="#1B365D" active="{{ active }}" bind:change="onChange">
+
+
+  <van-tab title-style="color:#96A7C5;" title="交易记录" name="deal">
+    <view style="margin-top: 20rpx;">
+      <van-tabs type="card" border="{{false}}" active="{{ activeCard }}" bind:change="changeTag" tab-active-class="{{activeCard==0?'van-tab-active-left':(activeCard==2?'van-tab-active-right':'van-tab-active-middle')}}">
+        <van-tab title="采购订单" name='purchase'>
+          <view wx:for="{{purchaseList}}" data-index="{{index}}" data-item="item">
+            <view class="dk-card-outer-class">
+              <view class="dk-card-class">
+                <view style="display:flex;padding: 2vw;">
+                  <view style="display: flex;width: 70%;">
+                    <image style="width:20px;height:20px;" src="{{imageUrl + 'customer_detail_icon_04.png'}}"> </image>
+                    <view style="font-weight:bold;font-size: 13px;white-space:nowrap;align-self:center;margin-left: 20rpx;">{{item.purNo}}
+                    </view>
+                  </view>
+
+                  <view style="color: #00A7B5;font-size: 13px;align-items:center;display: flex;justify-content: flex-end;width: 30%;" bindtap="toOrderDetail" data-item="{{item}}">
+                    <view>查看原单 </view>
+                    <van-icon name="arrow" />
+                  </view>
+                </view>
+                <view style="height: 1px;background:#E9F0FE;width:90%;margin-left:5vw;" />
+                <view style="display:flex;font-size: 26rpx;">
+                  <view style="margin:2vw;margin-left: 32rpx;">门店:{{item.orgName}}</view>
+                  <view style="flex:1;text-align:right;margin: 2vw;margin-right: 32rpx;white-space:nowrap;">
+                    业务员:{{item.staffName}}</view>
+                </view>
+                <van-grid column-num="3">
+                  <view style="display: flex;background-color:white;">
+                    <view class="number-out-order">
+                      <view class="order-summary">
+                        <dk-cell center="center" height="46rpx" spaceWidth="1rpx" left="0" fontSize="17" contentColor="#FF7B1A" fontWeight="600" title="" content="{{item.sumAmount}}"></dk-cell>
+                      </view>
+                      <view class="out-oreder-detail">
+                        采购金额
+                      </view>
+                    </view>
+
+                    <view class="number-out-order">
+                      <view class="order-summary">
+                        <dk-text fontSize="17" color="#1B365D" value="{{item.categoryCount}}">
+                        </dk-text>
+                      </view>
+                      <view class="out-oreder-detail">
+                        种类数
+                      </view>
+                    </view>
+
+                    <view class="number-out-order">
+                      <view class="order-summary">
+                        <dk-text fontSize="17" color="#1B365D" value="{{item.sumQuantity}}">
+                        </dk-text>
+                      </view>
+                      <view class="out-oreder-detail">
+                        产品件数
+                      </view>
+                    </view>
+                  </view>
+                </van-grid>
+
+                <view style="height: 1px;background:#E9F0FE;width:90%;margin-left:5vw;" />
+
+                <view style="display: flex; justify-content: space-between;margin: 10rpx 25rpx;font-size: 12px;" catchtap="handleExpandItem" data-type="purchase" data-item="{{item}}" data-index="{{index}}">
+                  <view>商品明细</view>
+                  <view style="display: flex; align-items: center;">{{!item.showOrderDetailFlag?'展开':'收缩'}}
+                    <van-icon style="margin-left: 8rpx;" name="{{!item.showOrderDetailFlag?'arrow-down':'arrow-up'}}" />
+                  </view>
+                </view>
+                <view wx:if="{{item.showOrderDetailFlag}}" wx:for="{{item.purchaseItemResponseList}}" data-item="{{cItem}}" wx:for-item="cItem" wx:key="childindex" wx:for-index="childindex" border="{{ true }}">
+                  <van-card data-item="{{cItem}}" data-index="{{childindex}}">
+                    <view slot="thumb">
+                      <van-image radius="5px" width="80" height="80" src="{{cItem.imagesUrl }}" />
+                    </view>
+                    <view slot="title" style="display: flex;">
+                      <view style="display: flex;">
+                        <dk-title titleTag="{{cItem.brandName}}" title="{{cItem.skuModel}}"></dk-title>
+                      </view>
+                    </view>
+                    <view slot="desc">
+                      <view style="display:flex;width: 100%;">
+                        <view style="width: 80%;">
+                          <dk-text fontWeight="nomal" value="{{cItem.skuName}}"></dk-text>
+                        </view>
+                      </view>
+                    </view>
+                    <view slot="price">
+                      <view style="display: flex;width: 100%;flex-direction: row;">
+                        <view style="color: red;font-size: 4vw;width: 100%;">
+                          <dk-cell center="center" height="46rpx" spaceWidth="1rpx" left="0" fontSize="16" contentColor="#FF7B1A" fontWeight="600" title="" content="{{cItem.pricePur}}"></dk-cell>
+                        </view>
+                        <view style="width: 100%;text-align: right;font-size: 3.5vw;color: #95A8CB;">x <span style="line-height:56rpx;">{{cItem.itemQty}}</span></view>
+                      </view>
+                    </view>
+                  </van-card>
+                  <van-divider />
+                </view>
+
+
+              </view>
+            </view>
+          </view>
+          <van-empty wx:if="{{orderList.length==0}}" description="暂无数据" />
+        </van-tab>
+        <van-tab title="采购入库" name='purchase-out'>
+
+          <view wx:for="{{purchaseOutList}}" data-index="{{index}}" data-item="item">
+
+            <view class="dk-card-outer-class">
+              <view class="dk-card-class">
+                <view style="display:flex;padding: 2vw;">
+                  <image style="width:20px;height:20px;" src="{{imageUrl + 'customer_detail_icon_04.png'}}"> </image>
+                  <view style="font-weight:bold;font-size: 13px;white-space:nowrap;align-self:center;margin-left: 20rpx;">{{item.intoNo}}
+                  </view>
+                  <view class="status-class">
+                    <view class="status-detail-class"> {{item.intoStatusName}}
+                    </view>
+                  </view>
+                </view>
+
+                <view style="height: 1px;background:#E9F0FE;width:90%;margin-left:5vw;" />
+                <view style="display:flex;font-size: 26rpx;">
+                  <view style="margin:2vw;margin-left: 32rpx;">门店:{{item.orgName}}</view>
+                  <view style="flex:1;text-align:right;margin: 2vw;margin-right: 32rpx;white-space:nowrap;">
+                    业务员:{{item.staffName}}</view>
+                </view>
+                <van-grid column-num="3">
+                  <view style="display: flex;background-color:white;">
+                    <view class="number-out-order">
+                      <view class="order-summary">
+                        <dk-cell center="center" height="46rpx" spaceWidth="1rpx" left="0" fontSize="17" contentColor="#FF7B1A" fontWeight="600" title="" content="{{item.intoAmt}}"></dk-cell>
+                      </view>
+                      <view class="out-oreder-detail">
+                        货物总额
+                      </view>
+                    </view>
+
+                    <view class="number-out-order">
+                      <view class="order-summary">
+                        <dk-text fontSize="17" color="#1B365D" value="{{item.categoryCount}}">
+                        </dk-text>
+                      </view>
+                      <view class="out-oreder-detail">
+                        种类数
+                      </view>
+                    </view>
+
+                    <view class="number-out-order">
+                      <view class="order-summary">
+                        <dk-text fontSize="17" color="#1B365D" value="{{item.intoQty}}">
+                        </dk-text>
+                      </view>
+                      <view class="out-oreder-detail">
+                        产品件数
+                      </view>
+                    </view>
+                  </view>
+                </van-grid>
+
+                <view style="height: 1px;background:#E9F0FE;width:90%;margin-left:5vw;" />
+                <view style="display: flex; justify-content: space-between;margin: 10rpx 25rpx;font-size: 12px;" catchtap="handleExpandItem" data-type="purchase-out" data-item="{{item}}" data-index="{{index}}">
+                  <view>商品明细</view>
+                  <view style="display: flex; align-items: center;">{{!item.showDetailFlag?'展开':'收缩'}}
+                    <van-icon style="margin-left: 8rpx;" name="{{!item.showDetailFlag?'arrow-down':'arrow-up'}}" />
+                  </view>
+                </view>
+
+                <view wx:if="{{item.showDetailFlag}}" wx:for="{{item.inboundItemList}}" data-item="{{cItem}}" wx:for-item="cItem" wx:key="childindex" wx:for-index="childindex" border="{{ true }}">
+
+                  <van-card data-item="{{cItem}}" data-index="{{childindex}}">
+
+                    <view slot="thumb">
+                      <van-image radius="5px" width="80" height="80" src="{{cItem.imagesUrl }}" />
+                    </view>
+                    <view slot="title" style="display: flex;">
+
+                      <view style="display: flex;">
+
+                        <dk-title titleTag="{{cItem.brandName}}" title="{{cItem.skuModel}}"></dk-title>
+                      </view>
+                    </view>
+                    <view slot="desc">
+                      <view style="display:flex;width: 100%;">
+                        <view style="width: 80%;">
+                          <dk-text fontWeight="nomal" value="{{cItem.skuName}}"></dk-text>
+                        </view>
+                      </view>
+                    </view>
+                    <view slot="price-top" style="display: flex;justify-content: space-between;" wx:if="{{cItem.skuId}}">
+                      <view>
+                        规格:{{cItem.skuSpec}}
+                      </view>
+                      <view>
+                        色号:{{cItem.nonStdCode}}
+                      </view>
+                    </view>
+                    <view slot="price">
+                      <view style="display: flex;width: 100%;flex-direction: row;">
+                        <view style="color: red;font-size: 14px;width: 100%;">
+                          <dk-cell center="left" height="46rpx" spaceWidth="1rpx" left="0" fontSize="16" contentColor="#FF7B1A" fontWeight="600" title="" content="{{cItem.priceInto ? cItem.priceInto : 0}}"></dk-cell>
+                        </view>
+                        <view style="width: 100%;text-align: right;font-size: 3.5vw;color: #95A8CB;">x <span style="line-height:56rpx;">{{(cItem.intoQty) + (cItem.packBoxText? ('(' + cItem.packBoxText + ')'):'') }}</span></view>
+                      </view>
+                    </view>
+                  </van-card>
+                  <van-divider />
+                </view>
+              </view>
+            </view>
+          </view>
+
+          <van-empty wx:if="{{purchaseOutList.length==0}}" description="暂无数据" />
+        </van-tab>
+        <van-tab title="采购退货" name='purchase-return'>
+          <view wx:for="{{purchaseOutReturnList}}" data-index="{{index}}" data-item="item">
+
+            <view class="dk-card-outer-class">
+              <view class="dk-card-class">
+                <view style="display:flex;padding: 2vw;">
+                  <view style="display: flex;width: 70%;">
+                    <image style="width:20px;height:20px;" src="{{imageUrl + 'customer_detail_icon_04.png'}}"> </image>
+                    <view style="font-weight:bold;font-size: 13px;white-space:nowrap;align-self:center;margin-left: 20rpx;">{{item.intoNo}}
+                    </view>
+                  </view>
+
+                  <view style="color: #00A7B5;font-size: 13px;align-items:center;display: flex;justify-content: flex-end;width: 30%;" bindtap="toOrderOutReturnDetail" data-item="{{item}}">
+                    <view>查看原单 </view>
+                    <van-icon name="arrow" />
+                  </view>
+                </view>
+
+                <view style="height: 1px;background:#E9F0FE;width:90%;margin-left:5vw;" />
+                <view style="display:flex;font-size: 26rpx;">
+                  <view style="margin:2vw;margin-left: 32rpx;">门店:{{item.orgName}}</view>
+                  <view style="flex:1;text-align:right;margin: 2vw;margin-right: 32rpx;white-space:nowrap;">
+                    业务员:{{item.staffName}}</view>
+                </view>
+                <van-grid column-num="3">
+                  <view style="display: flex;background-color:white;">
+                    <view class="number-out-order">
+                      <view class="order-summary">
+                        <dk-cell center="center" height="46rpx" spaceWidth="1rpx" left="0" fontSize="17" contentColor="#FF7B1A" fontWeight="600" title="" content="{{item.intoAmt}}"></dk-cell>
+                      </view>
+                      <view class="out-oreder-detail">
+                        退货金额
+                      </view>
+                    </view>
+
+                    <view class="number-out-order">
+                      <view class="order-summary">
+                        <dk-text fontSize="17" color="#1B365D" value="{{item.inboundItemList.length}}">
+                        </dk-text>
+                      </view>
+                      <view class="out-oreder-detail">
+                        种类数
+                      </view>
+                    </view>
+
+                    <view class="number-out-order">
+                      <view class="order-summary">
+                        <dk-text fontSize="17" color="#1B365D" value="{{item.intoQty}}">
+                        </dk-text>
+                      </view>
+                      <view class="out-oreder-detail">
+                        产品件数
+                      </view>
+                    </view>
+                  </view>
+                </van-grid>
+
+                <view style="height: 1px;background:#E9F0FE;width:90%;margin-left:5vw;" />
+                <view style="display: flex; justify-content: space-between;margin: 10rpx 25rpx;font-size: 12px;" catchtap="handleExpandItem" data-type="purchase-return" data-item="{{item}}" data-index="{{index}}">
+                  <view>商品明细</view>
+                  <view style="display: flex; align-items: center;">{{!item.showReturnDetailFlag?'展开':'收缩'}}
+                    <van-icon style="margin-left: 8rpx;" name="{{!item.showReturnDetailFlag?'arrow-down':'arrow-up'}}" />
+                  </view>
+                </view>
+                <view wx:if="{{item.showReturnDetailFlag}}" wx:for="{{item.inboundItemList}}" data-item="{{cItem}}" wx:for-item="cItem" wx:key="index" wx:for-index="childindex" border="{{ true }}">
+
+                  <van-card data-item="{{cItem}}" data-index="{{index}}">
+
+                    <view slot="thumb">
+                      <van-image radius="5px" width="80" height="80" src="{{cItem.imagesUrl }}" />
+                    </view>
+                    <view slot="title" style="display: flex;">
+                      <view style="display: flex;">
+                        <dk-title titleTag="{{cItem.brandName}}" title="{{cItem.skuModel}}"></dk-title>
+                      </view>
+                    </view>
+
+                    <view slot="desc">
+                      <view style="display:flex;width: 100%;">
+                        <view style="width: 80%;">
+                          <dk-text fontWeight="nomal" value="{{cItem.skuName}}"></dk-text>
+                        </view>
+                      </view>
+                    </view>
+                    <view slot="price-top" style="display: flex;justify-content: space-between;" wx:if="{{cItem.skuId}}">
+                      <view>
+                        规格:{{cItem.skuSpec}}
+                      </view>
+                      <view>
+                        色号:{{cItem.nonStdCode}}
+                      </view>
+                    </view>
+                    <view slot="price">
+                      <view style="display: flex;width: 100%;flex-direction: row;">
+                        <view style="color: red;font-size: 14px;width: 100%;">
+                          <dk-cell center="left" height="46rpx" spaceWidth="1rpx" left="0" fontSize="16" contentColor="#FF7B1A" fontWeight="600" title="" content="{{cItem.intoAmt}}"></dk-cell>
+                        </view>
+                        <view style="width: 100%;text-align: right;font-size: 3.5vw;color: #95A8CB;">x <span style="line-height:56rpx;">{{cItem.intoQty + (cItem.packBoxText? ('(' + cItem.packBoxText + ')'):'')}}</span></view>
+                      </view>
+                    </view>
+                  </van-card>
+
+                  <van-divider />
+                </view>
+              </view>
+            </view>
+
+
+          </view>
+
+          <van-empty wx:if="{{purchaseOutReturnList.length==0}}" description="暂无数据" />
+        </van-tab>
+      </van-tabs>
+    </view>
+  </van-tab>
+  <van-tab title-style="color:#96A7C5;" title="付款记录" name="receipt">
+    <view style="margin-bottom: 1vw;" wx:for="{{paymentRecordsList}}" wx:for-index="index">
+
+      <view class="table-show">
+        <view class="table-show-detail">
+          <view style="display:flex;background: linear-gradient(95.33deg, #ADC6FF -2.27%, #F0F5FF 60.66%),radial-gradient(35.34% 100.27% at 10.78% 50%, rgba(159, 197, 255, 0.6) 0%, rgba(255, 255, 255, 0.426) 56.69%);border-radius: 15rpx  15rpx  0rpx  0rpx;padding: 20rpx;">
+            <view style="width: 10%;display: flex;align-items: center;">
+              <image style="width:20px;height:20px;" src="{{imageUrl + 'customer_detail_icon_04.png'}}"> </image>
+            </view>
+
+            <view style="display: flex;align-items: center;width: 60%;">
+              <view style="font-weight:bold;font-size: 26rpx;">{{item.rpNo}}</view>
+            </view>
+            <view style="color: #00A7B5;font-size: 13px;align-items:center;display: flex;justify-content: flex-end;width: 30%;" bindtap="toOriginalCollection" data-item="{{item}}">
+              <view>查看原单 </view>
+              <van-icon name="arrow" />
+            </view>
+          </view>
+
+          <view class="table-row">
+            <view class="table-content-row">
+              <view style="display: flex;">
+                <view class="table-content-row-font">
+                  <dk-text fontSize="14px" color="#95A8CB" fontWeight="nomal" value="门店/业务员"></dk-text>
+                </view>
+                <view class="table-content-class">
+                  {{item.orgName}} | {{item.staffName}}
+                </view>
+              </view>
+            </view>
+          </view>
+
+          <view class="table-row">
+            <view class="table-content-row" style="width:100%;">
+              <view style="display: flex;justify-content:space-between;">
+                <view style="display: flex; width: 50%;">
+                  <view class="table-content-row-font">
+                    <dk-text fontSize="14px" color="#95A8CB" fontWeight="nomal" value="账户名称">
+                    </dk-text>
+                  </view>
+                  <view class="table-content-class">
+                    {{item.macNames}}
+                  </view>
+
+                </view>
+
+                <view style="text-align:right;width: 50%;">
+
+                  <dk-cell height="46rpx" contentRight="{{true}}" spaceWidth="15rpx" fontSize="17" contentColor="#FF7B1A" fontWeight="" title=" " content="{{item.amtPay ? item.amtPay : 0}}"></dk-cell>
+                </view>
+              </view>
+
+            </view>
+          </view>
+
+
+        </view>
+
+      </view>
+    </view>
+
+    <van-empty wx:if="{{paymentRecordsList.length==0}}" description="暂无数据" />
+  </van-tab>
+  <van-tab title-style="color:#96A7C5;" title="退款记录" name="payment">
+    <view style="margin-bottom: 1vw;" wx:for="{{refundRecordsList}}" wx:for-index="index">
+      <view class="table-show">
+        <view class="table-show-detail">
+          <view style="display:flex;background: linear-gradient(95.33deg, #ADC6FF -2.27%, #F0F5FF 60.66%),radial-gradient(35.34% 100.27% at 10.78% 50%, rgba(159, 197, 255, 0.6) 0%, rgba(255, 255, 255, 0.426) 56.69%);border-radius: 15rpx  15rpx  0rpx  0rpx;padding: 20rpx;">
+            <view style="width: 10%;display: flex;align-items: center;">
+              <image style="width:20px;height:20px;" src="{{imageUrl + 'customer_detail_icon_04.png'}}"> </image>
+            </view>
+
+            <view style="display: flex;align-items: center;width: 60%;">
+              <view style="font-weight:bold;font-size: 26rpx;">{{item.rpNo}}</view>
+            </view>
+            <view style="color: #00A7B5;font-size: 13px;align-items:center;display: flex;justify-content: flex-end;width: 30%;" bindtap="toOriginalCollection" data-item="{{item}}">
+              <view>查看原单 </view>
+              <van-icon name="arrow" />
+            </view>
+          </view>
+
+          <view class="table-row">
+            <view class="table-content-row">
+              <view style="display: flex;">
+                <view class="table-content-row-font">
+                  <dk-text fontSize="14px" color="#95A8CB" fontWeight="nomal" value="门店/业务员"></dk-text>
+                </view>
+                <view class="table-content-class">
+                  {{item.orgName}} | {{item.staffName}}
+                </view>
+              </view>
+            </view>
+          </view>
+
+          <view class="table-row">
+            <view class="table-content-row" style="width:100%;">
+              <view style="display: flex;justify-content:space-between;">
+                <view style="display: flex; width: 50%;">
+                  <view class="table-content-row-font">
+                    <dk-text fontSize="14px" color="#95A8CB" fontWeight="nomal" value="收款类型">
+                    </dk-text>
+                  </view>
+                  <view class="table-content-class">
+                    {{item.rpTypeName}}
+                  </view>
+
+                </view>
+
+                <view style="text-align:right;width: 50%;">
+                  <!-- <dk-text fontSize="17" color="#FF7B1A" value=" ¥{{item.sumAmount}}">
+                  </dk-text> -->
+                  <dk-cell height="46rpx" contentRight="{{true}}" spaceWidth="15rpx" fontSize="17" contentColor="#FF7B1A" fontWeight="" title=" " content="{{item.sumAmtPay ? item.sumAmtPay : 0}}"></dk-cell>
+                </view>
+              </view>
+
+            </view>
+          </view>
+
+
+        </view>
+
+      </view>
+    </view>
+
+    <van-empty wx:if="{{refundRecordsList.length==0}}" description="暂无数据" />
+  </van-tab>
+  <van-tab title-style="color:#96A7C5;" title="详细信息" name="customer">
+
+    <view class="table-show">
+      <view class="table-show-detail" style="padding: 5rpx;">
+
+        <van-cell border="{{ false }}" title-width="180rpx" title="供应商名称" value=" {{item.supName ? item.supName : ''}}" title-class="dk-cell-title" />
+        <van-cell border="{{ false }}" title-width="180rpx" title="供应商类型" value="{{item.supTypeName ? item.supTypeName : ''}}" title-class="dk-cell-title" />
+        <van-cell border="{{ false }}" title-width="180rpx" title="供应商品牌" value="{{item.brandNames ? item.brandNames : ''}}" title-class="dk-cell-title" />
+        <van-cell border="{{ false }}" title-width="180rpx" title="联系人" value=" {{item.contactName ? item.contactName : ''}}" title-class="dk-cell-title" />
+        <van-cell border="{{ false }}" title-width="180rpx" title="联系电话" value=" {{item.contactPhone ? item.contactPhone : ''}}" title-class="dk-cell-title" />
+        <van-cell border="{{ false }}" title-width="180rpx" title="供应商地址" value=" {{item.returnAddress ? item.returnAddress : ''}}" title-class="dk-cell-title" />
+        <van-cell border="{{ false }}" title-width="180rpx" title="采购人员" value=" {{item.staffName ? item.staffName : ''}}" title-class="dk-cell-title" />
+        <van-cell border="{{ false }}" title-width="180rpx" title="采购部门" value=" {{item.orgName ? item.orgName : ''}}" title-class="dk-cell-title" />
+        <view style="margin-bottom: 35rpx;"></view>
+      </view>
+    </view>
+
+  </van-tab>
+</van-tabs>

+ 313 - 0
package-purchase/pages/supplier-list/detail/detail.wxss

@@ -0,0 +1,313 @@
+page {
+  background: #FFFFFF;
+}
+
+.steps_box {
+  width: 80rpx;
+
+  background: white;
+  align-items: center;
+  justify-content: center;
+  padding: 2vw 6vw 1vw 6vw;
+}
+.status-class {
+  /* width: 40%; */
+  height: 49rpx;
+  line-height: 49rpx;
+  padding-right: 4rpx;
+  flex: 1;
+}
+
+.status-detail-class {
+  min-width: 120rpx;
+  height: 49rpx;
+  text-align: center;
+  font-size: 13px;
+  font-weight: 600;
+  color: #437FF8;
+  padding: 0 2rpx;
+  text-align: right;
+}
+.block-step {
+  display: flex;
+  flex-direction: row;
+  /* align-items: center;
+      justify-content: center; */
+}
+
+.r_box {
+  width: 453rpx;
+  background: #F4F8FB;
+  border-radius: 14rpx;
+  box-sizing: border-box;
+  padding: 16rpx 28rpx 23rpx 15rpx;
+  position: relative;
+  margin-bottom: 60rpx;
+}
+
+.r_box::after {
+  content: '';
+  position: absolute;
+  width: 0;
+  height: 0;
+  border-top: 0rpx solid transparent;
+  border-bottom: 13rpx solid transparent;
+  border-right: 17rpx solid #eaeaea;
+  left: -15rpx;
+  top: 15%;
+}
+
+.hr {
+  width: 100%;
+  height: 3rpx;
+  margin-top: 15rpx;
+  /* margin-left: 37.5rpx; */
+  background-color: #dfdedd;
+}
+
+.number {
+  background-color: #F4F9FF;
+  width: 100%;
+  height: 134rpx;
+  border-radius: 15rpx;
+  margin: 7px;
+
+}
+
+.dk-cell-title {
+  color: #95A8CB;
+  font-size: 28rpx;
+}
+
+.van-tab {
+  border-right: none !important;
+}
+
+.van-tab-active-left {
+  background: linear-gradient(90.12deg, #4A5E98 0.13%, #718AC6 99.92%);
+  border-radius: 13rpx 0px 0px 13rpx;
+  border: none !important;
+}
+
+.van-tab-active-left>.van-ellipsis {
+  color: #fff !important;
+}
+
+.van-tab-active-right {
+  background: linear-gradient(90.12deg, #4A5E98 0.13%, #718AC6 99.92%);
+  border-radius: 0 13rpx 13rpx 0;
+  border: none !important;
+  color: #fff !important;
+}
+
+.van-tab-active-right>.van-ellipsis {
+  color: #fff !important;
+}
+
+.van-tab-active-middle {
+  background: linear-gradient(90.12deg, #4A5E98 0.13%, #718AC6 99.92%);
+  border: none !important;
+  color: #fff !important;
+}
+
+.van-tab-active-middle>.van-ellipsis {
+  color: #fff !important;
+}
+
+.van-tabs__nav--card {
+  border: none !important;
+  color: #95A8CB !important
+}
+
+.van-tabs__wrap {
+  height: 84rpx !important;
+}
+
+.van-tabs__nav {
+  height: 84rpx !important;
+}
+
+.van-ellipsis {
+  height: 84rpx !important;
+  line-height: 84rpx !important;
+  color: #95A8CB;
+}
+
+/* 客户订单数据 */
+.order-summary {
+  margin-top: 14px;
+  font-size: 17px;
+  color: #1B365D;
+  text-align: center;
+}
+
+/* 客户订单名称 */
+.oreder-summary-detail {
+  /* margin: 5px; */
+  padding-top: 4px;
+  /* font-weight: bold; */
+  font-size: 12px;
+  color: #95A8CB;
+  text-align: center;
+}
+
+/* 客户详细展示 */
+.customer-detail {
+  box-shadow: 0px 10px 20px rgba(225, 229, 238, 0.6);
+  display: flex;
+  margin-left: 6px;
+  border-radius: 15px;
+  width: 96.5%;
+  /* height: 257rpx; */
+  background-image: linear-gradient(90.12deg, #718AC6 0.84%, #4A5E98 99.43%);
+}
+
+/* 客户联系方式外框 */
+.customer-tel {
+  box-shadow: 0px 10px 20px rgba(225, 229, 238, 0.6);
+  display: flex;
+  margin-left: 6px;
+  border-radius: 0px 0px 15px 15px;
+  width: 96.5%;
+  height: 95rpx;
+  background: #DBE6FF;
+  display: flex;
+  justify-content: space-around;
+}
+
+/* 客户联系方式详细 */
+.customer-tel-detail {
+  text-align: center;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  /* width: 212rpx; */
+  border-radius: 15rpx;
+  margin-left: 23rpx;
+  height: 95rpx;
+}
+
+/* 订单相关按钮 */
+.order-button {
+  text-align: center;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  width: 212rpx;
+  box-shadow: 0px 13px 10px rgba(119, 197, 213, 0.17);
+  border-radius: 15rpx;
+}
+
+/* 列表展示 */
+.table-show {
+  margin: 10px 32rpx 10px 32rpx;
+  margin-top: 10px;
+  border-radius: 15rpx;
+  box-shadow: 2px 2px 5px #e5e5e6;
+}
+
+.table-show-detail {
+  box-shadow: 0rpx 10rpx 20rpx rgba(225, 229, 238, 0.6);
+  border-radius: 15rpx;
+}
+
+/* 销售退货展示 */
+.number-out-order {
+  background-color: #F8F8F8;
+  width: 218.5rpx;
+  /* height: 114rpx; */
+  border-radius: 15rpx;
+  margin: 7px;
+}
+
+/* 销售退货展示 */
+.out-oreder-detail {
+  margin: 5px;
+  font-weight: bold;
+  font-size: 10px;
+  color: #1B365D;
+  text-align: center;
+}
+
+/*图标显示*/
+.image-class {
+  width: 36rpx;
+  height: 36rpx;
+  left: 16rpx;
+  top: calc((100% - 36rpx)/2);
+}
+
+
+.font {
+  font-family: PingFang HK;
+  font-size: 28rpx;
+  font-weight: 400;
+  line-height: 39rpx;
+  letter-spacing: -0.03em;
+  text-align: left;
+
+}
+
+.scan-image {
+  width: 200rpx;
+  height: 200rpx;
+  position: absolute;
+  right: 0;
+  bottom: 0;
+  border-radius: 0px 0px 16rpx 0px;
+}
+
+.detail-top {
+  position: relative;
+  border: 1px solid #F3FBFF;
+  margin: 10px 32rpx 10px 32rpx;
+  background-color: #FFFF;
+  background: radial-gradient(61.26% 65.52% at 6.12% 18.49%, #CDD8FF 0%, #F3FAFF 100%);
+  padding: 20rpx;
+  border-radius: 16rpx;
+}
+
+.dk-card-outer-class-1 {
+  margin: 10px 32rpx 10px 32rpx;
+  margin-top: 10px;
+  border-radius: 15rpx;
+  /* box-shadow: 2px 2px 5px #e5e5e6; */
+}
+
+.detail-top-sup {
+  color: #002340;
+  font-weight: bold;
+  font-size: 28rpx;
+  padding: 10rpx;
+}
+
+.detail-top-color {
+  font-weight: bold;
+  color: #002340;
+  font-size: 14px;
+  padding: 10rpx;
+}
+
+.scan-image-icon {
+  width: 40rpx;
+  height: 40rpx;
+}
+
+.scan-image-icon-3{
+  width: 96rpx;
+  height: 96rpx;
+  position: absolute;
+  right: 0;
+  bottom: 0;
+  border-radius: 0px 0px 16rpx 0px;
+}
+
+.btn-add-class {
+	background: #3E69F6;
+	border-radius: 50%;
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	padding: 20rpx;
+	box-shadow: 0px 17px 22px 0px #1B365D33;
+}

+ 28 - 0
package-purchase/pages/supplier-list/supplier-list.js

@@ -212,5 +212,33 @@ Page({
     })
     this.searchData()
   },
+
+
+      /**
+   * @desc : 跳转明细
+   * @date : 2024/2/1 15:49
+   * @author : 于继渤
+   */
+  toDetail(e) {
+    let url = this.data.route.detail.url
+    let _this = this;
+    wx.navigateTo({
+      url: url,
+      events: {
+        // 保存成功后刷新页面
+        refresh: function (data) {
+          // 刷新一览界面
+          _this.searchData();
+        }
+      },
+      success: function (res) {
+        let data = {
+          id: e.detail.item.supId,
+          formMode: Constants.formMode.edit
+        }
+        res.eventChannel.emit('params', data);
+      }
+    })
+  },
    
 })

+ 8 - 6
package-sales/pages/order-return/add/add.js

@@ -560,9 +560,9 @@ Page({
       //res.outAmt = Number(res.priceOut * res.outQty)
       res.itemIndex = itemIndex++
       // res.canNegativeFlag = true
-      if (this.data.formMode != 'detail') {
-        delete res['itemId']
-      }
+      // if (this.data.formMode != 'detail') {
+      //   delete res['itemId']
+      // }
 
     })
     let btnFormData = this.data.btnFormData ? JSON.parse(this.data.btnFormData) : ''
@@ -595,6 +595,7 @@ Page({
     params.objectId = params.cusId
     // params.canNegativeFlag = true
     params.outDate = utils.formatDayTime(new Date())
+    params.limitEdit = true
     delete params['goodsList']
     delete params['orderItemResponseList']
     console.log('params', params)
@@ -621,15 +622,16 @@ Page({
       this.handRefunding()
       return
     }
+    if (this.data.formMode == Constants.formMode.other && this.data.formType == Constants.formMode.edit) { //编辑
+      return this.excute(this.data.service, this.data.service.otherOutboundUpdate, this.data.params);
+    }
     if (this.data.formMode == Constants.formMode.other || this.data.formMode == Constants.formMode.add) { //关联源单新建退货
       return this.excute(this.data.service, this.data.service.outboundInsert, this.data.params);
     }
     if (this.data.formMode == Constants.formMode.detail) { //办理
       return this.excute(this.data.service, this.data.service.saleReturnHandleOutbound, this.data.params);
     }
-    if (this.data.formMode == Constants.formMode.other && this.data.formType == Constants.formMode.edit) { //编辑
-      return this.excute(this.data.service, this.data.service.otherOutboundUpdate, this.data.params);
-    }
+    
   },
   /**
    * @desc : 处理保存后的数据

+ 53 - 5
pages/login/login.js

@@ -71,12 +71,60 @@ Page({
 
     }
   },
+  /**
+  * @desc : 用户协议
+  * @date : 2024/7/11 13:49
+  * @author : 周兴
+  */
+  openUserAgreement() {
+    let url = config.image_url + '/agreement/userAgreement.pdf'
+    let toUrl = null;
+    if (url) {
+      // 看下是否包括http,http就跳转到product页面
+      if (url.indexOf('http') >= 0) {
+        toUrl = '/pages/product/product'
+      } else {
+        // 说明是跳本产品
+        toUrl = url;
+      }
+      wx.navigateTo({
+        url: toUrl,
+        success: function (res) {
+          res.eventChannel.emit('url', url);
+        }
+      })
+    }
+  },
+  /**
+  * @desc : 隐私协议
+  * @date : 2024/7/11 13:49
+  * @author : 周兴
+  */
+ openPrivacyAgreement() {
+  let url = config.image_url + '/agreement/privacyAgreement.pdf'
 
+  let toUrl = null;
+  if (url) {
+    // 看下是否包括http,http就跳转到product页面
+    if (url.indexOf('http') >= 0) {
+      toUrl = '/pages/product/product'
+    } else {
+      // 说明是跳本产品
+      toUrl = url;
+    }
+    wx.navigateTo({
+      url: toUrl,
+      success: function (res) {
+        res.eventChannel.emit('url', url);
+      }
+    })
+  }
+},
   /**
-* @desc : 了解产品
-* @date : 2022/5/12 13:49
-* @author : 姜永辉
-*/
+  * @desc : 了解产品
+  * @date : 2022/5/12 13:49
+  * @author : 姜永辉
+  */
   productClick(e) {
     wx.navigateTo({
       url: '/pages/product/product'
@@ -225,7 +273,7 @@ Page({
           // 菜单
           let menuList = res.data.data.menuList
           if (menuList) {
-            app.globalData.menus = util.handleMenu(app.globalData.company.funPackage,menuList);
+            app.globalData.menus = util.handleMenu(app.globalData.company.funPackage, menuList);
           }
           // 常用菜单
           let comMenuList = res.data.data.comMenuList

+ 1 - 1
pages/login/login.wxml

@@ -25,7 +25,7 @@
 
     <view class="foot-agreement-privacy">
       <van-checkbox custom-class="checkbox-class" shape="square" value="{{agreementPrivacy}}" bind:change="onCheckboxChange" />
-      <view style="padding-left: 10rpx;"> {{$t['agreementPrivacy']}}</view>
+      <view style="padding-left: 10rpx;display: flex;"> {{$t['agreementPrivacy']}} <view style="text-decoration: underline;color: rgb(54, 153, 245);font-weight: bold;" catchtap="openUserAgreement">{{$t['userAgreement']}}</view>和<view style="text-decoration: underline;color: rgb(54, 153, 245);font-weight: bold;" catchtap="openPrivacyAgreement">{{$t['privacyAgreement']}}</view></view>
     </view>
   </view>
 </view>