Pārlūkot izejas kodu

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

姜永辉 2 gadi atpakaļ
vecāks
revīzija
b7a669e8e6
60 mainītis faili ar 2662 papildinājumiem un 158 dzēšanām
  1. 20 1
      app.json
  2. 147 118
      components/dkbase/dk-cell/dk-cell.js
  3. 6 13
      components/dkbase/dk-cell/dk-cell.wxml
  4. 54 6
      components/dkbase/dk-cell/dk-cell.wxss
  5. 15 0
      components/dkbase/dk-save-bottom/dk-save-bottom.wxml
  6. 66 0
      package5/pages/purchase-based-sales/purchase-based-sales.js
  7. 4 0
      package5/pages/purchase-based-sales/purchase-based-sales.json
  8. 2 0
      package5/pages/purchase-based-sales/purchase-based-sales.wxml
  9. 1 0
      package5/pages/purchase-based-sales/purchase-based-sales.wxss
  10. 66 0
      package5/pages/purchase-details/purchase-details.js
  11. 4 0
      package5/pages/purchase-details/purchase-details.json
  12. 2 0
      package5/pages/purchase-details/purchase-details.wxml
  13. 1 0
      package5/pages/purchase-details/purchase-details.wxss
  14. 66 0
      package5/pages/purchase-order/add/add.js
  15. 3 0
      package5/pages/purchase-order/add/add.json
  16. 2 0
      package5/pages/purchase-order/add/add.wxml
  17. 1 0
      package5/pages/purchase-order/add/add.wxss
  18. 66 0
      package5/pages/purchase-order/purchase-order-detail/purchase-order-detail.js
  19. 3 0
      package5/pages/purchase-order/purchase-order-detail/purchase-order-detail.json
  20. 2 0
      package5/pages/purchase-order/purchase-order-detail/purchase-order-detail.wxml
  21. 1 0
      package5/pages/purchase-order/purchase-order-detail/purchase-order-detail.wxss
  22. 66 0
      package5/pages/purchase-order/purchase-order-sales/purchase-order-sales.js
  23. 3 0
      package5/pages/purchase-order/purchase-order-sales/purchase-order-sales.json
  24. 2 0
      package5/pages/purchase-order/purchase-order-sales/purchase-order-sales.wxml
  25. 1 0
      package5/pages/purchase-order/purchase-order-sales/purchase-order-sales.wxss
  26. 66 0
      package5/pages/purchase-order/purchase-order-selection-goods/purchase-order-selection-goods.js
  27. 3 0
      package5/pages/purchase-order/purchase-order-selection-goods/purchase-order-selection-goods.json
  28. 2 0
      package5/pages/purchase-order/purchase-order-selection-goods/purchase-order-selection-goods.wxml
  29. 1 0
      package5/pages/purchase-order/purchase-order-selection-goods/purchase-order-selection-goods.wxss
  30. 66 0
      package5/pages/purchase-order/purchase-order.js
  31. 4 0
      package5/pages/purchase-order/purchase-order.json
  32. 2 0
      package5/pages/purchase-order/purchase-order.wxml
  33. 1 0
      package5/pages/purchase-order/purchase-order.wxss
  34. 66 0
      package5/pages/purchase-receipt/purchase-receipt.js
  35. 4 0
      package5/pages/purchase-receipt/purchase-receipt.json
  36. 2 0
      package5/pages/purchase-receipt/purchase-receipt.wxml
  37. 1 0
      package5/pages/purchase-receipt/purchase-receipt.wxss
  38. 66 0
      package5/pages/purchase-return/purchase-return.js
  39. 4 0
      package5/pages/purchase-return/purchase-return.json
  40. 2 0
      package5/pages/purchase-return/purchase-return.wxml
  41. 1 0
      package5/pages/purchase-return/purchase-return.wxss
  42. 66 0
      package5/pages/purchase-tracking/purchase-tracking.js
  43. 4 0
      package5/pages/purchase-tracking/purchase-tracking.json
  44. 2 0
      package5/pages/purchase-tracking/purchase-tracking.wxml
  45. 1 0
      package5/pages/purchase-tracking/purchase-tracking.wxss
  46. 66 0
      package5/pages/supplier-list/add/add.js
  47. 3 0
      package5/pages/supplier-list/add/add.json
  48. 2 0
      package5/pages/supplier-list/add/add.wxml
  49. 1 0
      package5/pages/supplier-list/add/add.wxss
  50. 122 0
      package5/pages/supplier-list/supplier-list.js
  51. 4 0
      package5/pages/supplier-list/supplier-list.json
  52. 133 0
      package5/pages/supplier-list/supplier-list.wxml
  53. 1 0
      package5/pages/supplier-list/supplier-list.wxss
  54. 7 7
      pages/index/index.js
  55. 42 0
      pages/mine/mine-report-params.js
  56. 435 7
      pages/mine/mine.js
  57. 6 1
      pages/mine/mine.json
  58. 403 2
      pages/mine/mine.wxml
  59. 432 1
      pages/mine/mine.wxss
  60. 37 2
      utils/common.js

+ 20 - 1
app.json

@@ -44,7 +44,26 @@
             "root": "package4",
             "name": "package4",
             "pages": []
-        }
+        },
+        {
+          "root": "package5",
+          "name": "package5",
+          "pages": [
+              "pages/purchase-order/purchase-order",
+              "pages/purchase-order/add/add",
+              "pages/purchase-order/purchase-order-detail/purchase-order-detail",
+              "pages/purchase-order/purchase-order-selection-goods/purchase-order-selection-goods",
+              "pages/purchase-order/purchase-order-sales/purchase-order-sales",
+              "pages/purchase-return/purchase-return",
+              "pages/purchase-receipt/purchase-receipt",
+              "pages/purchase-based-sales/purchase-based-sales",
+              "pages/purchase-details/purchase-details",
+              "pages/purchase-tracking/purchase-tracking",
+              "pages/supplier-list/supplier-list",
+              "pages/supplier-list/add/add"
+          ]
+      }
+        
     ],
     "window": {
         "backgroundTextStyle": "light",

+ 147 - 118
components/dkbase/dk-cell/dk-cell.js

@@ -5,7 +5,7 @@
  *		2.功能描述:dkCell组件
  * 编辑履历:
  *		作者				日期					版本				修改内容
- *		admin		  	2022-11-17    1.00		   	  新建
+ *		周兴		  	2021-7-9  			1.00		   	  新建
  *******************************************************************************/
 const common = require('../../../utils/common.js')
 Component({
@@ -13,189 +13,218 @@ Component({
    * 组件的属性列表
    */
   properties: {
+    car:{
+      type:String,
+      value:'¥'
+    },
     /**
-     * 单元格大小,可选值为 large
+     * 尾部字符串
      */
-    size: {
-      type: String,
-      value: 'large'
+    tail:{
+      type:String,
+      value:''
+    },
+    percent:{
+      type:String,
+      value:'%'
+    },
+    percentSignFlag:{
+      type:Boolean,
+      value:false
     },
     /**
-    * 左侧标题
-    */
-    title: {
-      type: String,
-      value: ''
+     * 标题
+     */
+    title:{
+      type:String,
+      value:'',
+      observer: function (newVal) {
+        if(newVal){
+          // 计算标题宽度
+          let titleWidth = newVal.length * this.data.fontSize;
+          this.setData({
+            titleWidth:titleWidth
+          })
+        }
+      }
     },
     /**
-     * 左侧图标名称或图片链接,可选值见 Icon 组件
+     * 内容
      */
-    icon: {
-      type: String,
-      value: ''
+    content:{
+      type:String,
+      value:'',
+      observer: function (newVal) {
+        // if(newVal){
+          //设置显示的值
+          this.handleDisplayValue(this.data.amount,newVal);
+        // }
+      }
     },
     /**
-     * 是否使内容垂直居中
+     * 内容的颜色
      */
-    center: {
-      type: Boolean,
-      value: false
+    contentColor:{
+      type:String,
+      value:'#d9001b'
     },
     /**
-   * 是否显示下边框
-   */
-    border: {
-      type: Boolean,
-      value: true
+     * 尾部内容的颜色
+     */
+    tailColor:{
+      type:String,
+      value:''
     },
     /**
-   * 是否展示右侧箭头并开启点击反馈
-   */
-    isLink: {
-      type: Boolean,
-      value: false
+     * 尾部的中删除线
+     */
+    tailLine:{
+      type:Boolean,
+      value:false
     },
     /**
-       * 是否显示表单必填星号
-       */
-    required: {
-      type: Boolean,
-      value: false
+     * 标题的颜色
+     */
+    titleColor:{
+      type:String,
+      value:''
     },
     /**
-       * 是否开启点击反馈
-       */
-    clickable: {
-      type: Boolean,
-      value: false
+     * 标识的大小
+     */
+    signSize:{
+      type:String,
+      value:''
     },
     /**
-       * 标题宽度,须包含单位
-       */
-    titleWidth: {
-      type: String,
-      value: ''
+     * 字体大小
+     */
+    fontSize:{
+      type:Number,
+      value:14,
     },
     /**
-     * 右侧内容
+     * 高度
      */
-    values: {
-      type: String,
-      value: ''
+    height:{
+      type:String,
+      value:'88rpx',
     },
     /**
-     * 标题下方的描述信息
+     * 左侧距离
      */
-    label: {
-      type: String,
-      value: ''
+    left:{
+      type:String,
+      value:'30rpx',
     },
     /**
-     * 标题样式
+     * 是否居中
      */
-    titleStyle: {
-      type: String,
-      value: ''
+    center:{
+      type:String,
+      value:'left',
     },
     /**
-    * 箭头方向,可选值为 left up down
-    */
-    arrowDirection: {
-      type: String,
-      value: ''
+     * 内容字体大小
+     */
+    contentFontSize:{
+      type:Number,
+      value:0,
     },
     /**
-       * 是否使用 label slot
-       */
-    useLabelSlot: {
-      type: Boolean,
-      value: false
+     * 标题字体粗细
+     */
+    fontWeight:{
+      type:String,
+      value:'nomal'
     },
     /**
-    * 根节点样式类
-    */
-    customClass: {
-      type: String,
-      value: ''
+     * 尾部的字体大小
+     */
+    tailFontWeight:{
+      type:String,
+      value:''
     },
     /**
-       * 标题样式类
-       */
-    titleClass: {
-      type: String,
-      value: ''
+     * 内容字体粗细
+     */
+    contentFontWeight:{
+      type:String,
+      value:''
     },
     /**
-     * 描述信息样式类
+     * 内容是否居右(默认居左)
      */
-    labelClass: {
-      type: String,
-      value: ''
+    contentRight:{
+      type:Boolean,
+      value:false,
     },
     /**
-       * 右侧内容样式类
-       */
-    valueClass: {
-      type: String,
-      value: ''
+     * 间距
+     */
+    spaceWidth:{
+      type:String,
+      value:'20rpx'
     },
-
-    //左右边距
-    cellHorizontalPadding: {
-      type: String,
-      value: '14px'
-    },
-    //上下边距
-    cellVerticalPadding: {
-      type: String,
-      value: '10px'
-    },
-    //字体大小
-    cellFontSize: {
-      type: String,
-      value: '12px',
-      observer: function (newval) {
-        console.log(newval);
+    /**
+     * 内容是否是金额
+     */
+    amount:{
+      type:Boolean,
+      value:true,
+      observer: function (newVal) {
+        //设置显示的值
+        this.handleDisplayValue(newVal,this.data.content);
       }
     },
-    //字體顔色
-    cellValueColor:{
-      type: String,
-      value: '#969799',
-    }
-  },
-
-  options: {
-    multipleSlots: true,//插槽
   },
 
   /**
    * 组件的初始数据
    */
   data: {
-    displayValue: '', 
-    style:``,
+    displayValue:'',
+    titleWidth:'',
+    // fontSize:14
   },
 
   /**
    * 组件的方法列表
    */
   methods: {
-    onClick(e){ 
-      this.triggerEvent("click",e)
+    /**
+     * 处理数据显示
+     */
+    handleDisplayValue(amount,content){
+      let displayValue = ''
+      if(content){
+        // 非数字直接显示
+        if(!amount){
+          displayValue = content;
+        }else{
+          if(content.indexOf(',') < 0){
+            content = Number(content);
+            displayValue = common.toThousandCents(content)
+          }else{
+            displayValue = content;
+          }
+        }
+      }else{
+        displayValue = '';
+      }
+      this.setData({
+        displayValue:displayValue
+      })
     }
-
   },
   /**
     * 组件生命周期
     */
-  lifetimes: {
+   lifetimes: {
     attached: function () {
-      console.log("attached");
     },
     detached: function () {
       // 在组件实例被从页面节点树移除时执行
-      console.log("detached");
     },
   },
 })

+ 6 - 13
components/dkbase/dk-cell/dk-cell.wxml

@@ -1,14 +1,7 @@
-<van-cell size="{{ size }}" title="{{ title }}" icon="{{ icon }}" center="{{ center }}" border="{{ border }}" is-link="{{ isLink }}" required="{{ required }}" clickable="{{ clickable }}" title-width="{{ titleWidth }}" value="{{ values }}" label="{{ label }}" title-style="{{titleStyle}}" arrow-direction="{{ arrowDirection }}" use-label-slot="{{useLabelSlot}}" custom-class="custom-class {{customClass}}" title-class="{{titleClass}}" label-class="{{labelClass}}" value-class="{{valueClass}}" style="--cell-horizontal-padding--:{{cellHorizontalPadding}};--cell-vertical-padding--:{{cellVerticalPadding}};--cell-font-size--:{{cellFontSize}}; --cell-value-color:{{cellValueColor}}" bind:click="onClick">
-  <view slot="title">
-    <slot name="title"></slot>
+<view id="totalView" class="total_class" style="--height--:{{height}};--left--:{{left}};--center--:{{center?center:(title?'left':'center')}}">
+  <view class="title_class" wx:if="{{title}}" style="--titleColor--:{{titleColor==''?contentColor:titleColor}};--fontSize--:{{fontSize + 'px'}};--fontWeight--:{{fontWeight}}">{{title}}</view>
+  <view class="{{contentRight?'content_class':'content_left_class'}}" style="--contentColor--:{{contentColor}};--fontSize--:{{(contentFontSize==0?fontSize:contentFontSize) + 'px'}};--titleWidth--:{{titleWidth + 'px'}};--fontWeight--:{{contentFontWeight==''?fontWeight:contentFontWeight}};--spaceWidth--:{{title?spaceWidth:''}}">
+    <view wx:if="{{amount && displayValue}}" class="sign-class" style="--fontSize--:{{signSize?signSize:((fontSize - 5 ) + 'px')}};--color--:{{contentColor}}">{{percentSignFlag ? '' :car}}</view>{{displayValue}} <view wx:if="{{tail}}" class="sign-class-tail" style="--fontSize--:{{signSize?signSize:((fontSize - 5 ) + 'px')}};--color--:{{tailColor==''?contentColor:tailColor}};--line--:{{tailLine?'line-through':'none'}};--tailFontWeight--:{{tailFontWeight==''?fontWeight:tailFontWeight}}">{{tail}}</view>
   </view>
-  <view slot="label">
-    <slot name="label"></slot>
-  </view>
-  <view slot="icon">
-    <slot name="icon"></slot>
-  </view>
-  <view slot="right-icon">
-    <slot name="right-icon"></slot>
-  </view> 
-</van-cell>
+
+</view>

+ 54 - 6
components/dkbase/dk-cell/dk-cell.wxss

@@ -1,6 +1,54 @@
-.custom-class {
-  --cell-horizontal-padding: var(--cell-horizontal-padding--);
-  --cell-vertical-padding: var(--cell-vertical-padding--);
-  --cell-font-size: var(--cell-font-size--);
-  --cell-value-color:var(--cell-value-color--);
-} 
+.total_class{
+  height:var(--height--);
+  line-height:var(--height--);
+  margin-left:var(--left--);
+  position:relative;
+  display: flex;
+  text-align: var(--center--);
+  justify-content: var(--center--);
+}
+.title_class{
+  font-size: var(--fontSize--);
+  color: var(--titleColor--);
+  font-weight: var(--fontWeight--);
+}
+.content_class{
+  position:absolute;
+  right:10rpx;
+  overflow-x: auto;
+  color: var(--contentColor--);
+  font-size: var(--fontSize--);
+  font-weight: var(--fontWeight--);
+  max-width: calc(100% - var(--titleWidth--) - 20rpx);
+  display: flex;
+}
+.content_left_class{
+  position:absolute;
+  left:calc(var(--titleWidth--) + var(--spaceWidth--));
+  overflow-x: auto;
+  color: var(--contentColor--);
+  font-size: var(--fontSize--);
+  font-weight: var(--fontWeight--);
+  max-width: calc(100% - var(--titleWidth--) - 20rpx);
+  display: flex;
+}
+.content_class_red{
+  color:#d9001b;
+}
+
+/**人民币符号的字体*/
+.sign-class{
+  font-size: var(--fontSize--);
+  color: var(--contentColor--);
+  margin-right: 5rpx;
+  margin-top:5rpx
+}
+.sign-class-tail{
+  font-size: var(--fontSize--);
+  color: var(--color--);
+  margin-right: 5rpx;
+  margin-top:1rpx;
+  margin-left:10rpx;
+  font-weight: var(--tailFontWeight--);
+  text-decoration:var(--line--);
+}

+ 15 - 0
components/dkbase/dk-save-bottom/dk-save-bottom.wxml

@@ -441,4 +441,19 @@
       </van-button>
     </view>
   </view>
+
+  <view wx:if="{{flagTypeName ==='supplier-list'}}" style="display: flex; padding:35rpx 34rpx 62rpx 34rpx;justify-content: center;align-items: center;">
+    <view style="width:48%">
+      <view style="display: flex;justify-content: left;align-items: center;">
+        <van-checkbox value="{{checked}}" data-index="{{index}}" checked-color="#1989FA" />
+        <view style="color: #1B365D;font-size: 13px;margin-left: 20rpx;">启动</view>
+      </view>
+    </view>
+    <view style="width: 4%;"></view>
+    <view style="width:48%;">
+      <van-button size="large" round color="#1B365D" custom-style="height:88rpx;" bind:click="allClean" type="default">新建
+      </van-button>
+    </view>
+  </view>
+
 </view>

+ 66 - 0
package5/pages/purchase-based-sales/purchase-based-sales.js

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

+ 4 - 0
package5/pages/purchase-based-sales/purchase-based-sales.json

@@ -0,0 +1,4 @@
+{
+    "usingComponents": {},
+    "navigationBarTitleText": "以销定采"
+}

+ 2 - 0
package5/pages/purchase-based-sales/purchase-based-sales.wxml

@@ -0,0 +1,2 @@
+<!--package5/pages/purchase-based-sales/purchase-based-sales.wxml-->
+<text>package5/pages/purchase-based-sales/purchase-based-sales.wxml</text>

+ 1 - 0
package5/pages/purchase-based-sales/purchase-based-sales.wxss

@@ -0,0 +1 @@
+/* package5/pages/purchase-based-sales/purchase-based-sales.wxss */

+ 66 - 0
package5/pages/purchase-details/purchase-details.js

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

+ 4 - 0
package5/pages/purchase-details/purchase-details.json

@@ -0,0 +1,4 @@
+{
+    "usingComponents": {},
+    "navigationBarTitleText": "采购明细"
+}

+ 2 - 0
package5/pages/purchase-details/purchase-details.wxml

@@ -0,0 +1,2 @@
+<!--package5/pages/purchase-details/purchase-details.wxml-->
+<text>package5/pages/purchase-details/purchase-details.wxml</text>

+ 1 - 0
package5/pages/purchase-details/purchase-details.wxss

@@ -0,0 +1 @@
+/* package5/pages/purchase-details/purchase-details.wxss */

+ 66 - 0
package5/pages/purchase-order/add/add.js

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

+ 3 - 0
package5/pages/purchase-order/add/add.json

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

+ 2 - 0
package5/pages/purchase-order/add/add.wxml

@@ -0,0 +1,2 @@
+<!--package5/pages/purchase-order/add/add.wxml-->
+<text>package5/pages/purchase-order/add/add.wxml</text>

+ 1 - 0
package5/pages/purchase-order/add/add.wxss

@@ -0,0 +1 @@
+/* package5/pages/purchase-order/add/add.wxss */

+ 66 - 0
package5/pages/purchase-order/purchase-order-detail/purchase-order-detail.js

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

+ 3 - 0
package5/pages/purchase-order/purchase-order-detail/purchase-order-detail.json

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

+ 2 - 0
package5/pages/purchase-order/purchase-order-detail/purchase-order-detail.wxml

@@ -0,0 +1,2 @@
+<!--package5/pages/purchase-order/purchase-order-detail/purchase-order-detail.wxml-->
+<text>package5/pages/purchase-order/purchase-order-detail/purchase-order-detail.wxml</text>

+ 1 - 0
package5/pages/purchase-order/purchase-order-detail/purchase-order-detail.wxss

@@ -0,0 +1 @@
+/* package5/pages/purchase-order/purchase-order-detail/purchase-order-detail.wxss */

+ 66 - 0
package5/pages/purchase-order/purchase-order-sales/purchase-order-sales.js

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

+ 3 - 0
package5/pages/purchase-order/purchase-order-sales/purchase-order-sales.json

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

+ 2 - 0
package5/pages/purchase-order/purchase-order-sales/purchase-order-sales.wxml

@@ -0,0 +1,2 @@
+<!--package5/pages/purchase-order/purchase-order-sales/purchase-order-sales.wxml-->
+<text>package5/pages/purchase-order/purchase-order-sales/purchase-order-sales.wxml</text>

+ 1 - 0
package5/pages/purchase-order/purchase-order-sales/purchase-order-sales.wxss

@@ -0,0 +1 @@
+/* package5/pages/purchase-order/purchase-order-sales/purchase-order-sales.wxss */

+ 66 - 0
package5/pages/purchase-order/purchase-order-selection-goods/purchase-order-selection-goods.js

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

+ 3 - 0
package5/pages/purchase-order/purchase-order-selection-goods/purchase-order-selection-goods.json

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

+ 2 - 0
package5/pages/purchase-order/purchase-order-selection-goods/purchase-order-selection-goods.wxml

@@ -0,0 +1,2 @@
+<!--package5/pages/purchase-order/purchase-order-selection-goods/purchase-order-selection-goods.wxml-->
+<text>package5/pages/purchase-order/purchase-order-selection-goods/purchase-order-selection-goods.wxml</text>

+ 1 - 0
package5/pages/purchase-order/purchase-order-selection-goods/purchase-order-selection-goods.wxss

@@ -0,0 +1 @@
+/* package5/pages/purchase-order/purchase-order-selection-goods/purchase-order-selection-goods.wxss */

+ 66 - 0
package5/pages/purchase-order/purchase-order.js

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

+ 4 - 0
package5/pages/purchase-order/purchase-order.json

@@ -0,0 +1,4 @@
+{
+    "usingComponents": {},
+    "navigationBarTitleText": "采购记录"
+}

+ 2 - 0
package5/pages/purchase-order/purchase-order.wxml

@@ -0,0 +1,2 @@
+<!--package5/pages/purchase-order/purchase-order.wxml-->
+<text>package5/pages/purchase-order/purchase-order.wxml</text>

+ 1 - 0
package5/pages/purchase-order/purchase-order.wxss

@@ -0,0 +1 @@
+/* package5/pages/purchase-order/purchase-order.wxss */

+ 66 - 0
package5/pages/purchase-receipt/purchase-receipt.js

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

+ 4 - 0
package5/pages/purchase-receipt/purchase-receipt.json

@@ -0,0 +1,4 @@
+{
+    "usingComponents": {},
+    "navigationBarTitleText": "采购入库"
+}

+ 2 - 0
package5/pages/purchase-receipt/purchase-receipt.wxml

@@ -0,0 +1,2 @@
+<!--package5/pages/purchase-receipt/purchase-receipt.wxml-->
+<text>package5/pages/purchase-receipt/purchase-receipt.wxml</text>

+ 1 - 0
package5/pages/purchase-receipt/purchase-receipt.wxss

@@ -0,0 +1 @@
+/* package5/pages/purchase-receipt/purchase-receipt.wxss */

+ 66 - 0
package5/pages/purchase-return/purchase-return.js

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

+ 4 - 0
package5/pages/purchase-return/purchase-return.json

@@ -0,0 +1,4 @@
+{
+    "usingComponents": {},
+    "navigationBarTitleText": "采购退货"
+}

+ 2 - 0
package5/pages/purchase-return/purchase-return.wxml

@@ -0,0 +1,2 @@
+<!--package5/pages/purchase-return/purchase-return.wxml-->
+<text>package5/pages/purchase-return/purchase-return.wxml</text>

+ 1 - 0
package5/pages/purchase-return/purchase-return.wxss

@@ -0,0 +1 @@
+/* package5/pages/purchase-return/purchase-return.wxss */

+ 66 - 0
package5/pages/purchase-tracking/purchase-tracking.js

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

+ 4 - 0
package5/pages/purchase-tracking/purchase-tracking.json

@@ -0,0 +1,4 @@
+{
+    "usingComponents": {},
+    "navigationBarTitleText": "采购跟踪"
+}

+ 2 - 0
package5/pages/purchase-tracking/purchase-tracking.wxml

@@ -0,0 +1,2 @@
+<!--package5/pages/purchase-tracking/purchase-tracking.wxml-->
+<text>package5/pages/purchase-tracking/purchase-tracking.wxml</text>

+ 1 - 0
package5/pages/purchase-tracking/purchase-tracking.wxss

@@ -0,0 +1 @@
+/* package5/pages/purchase-tracking/purchase-tracking.wxss */

+ 66 - 0
package5/pages/supplier-list/add/add.js

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

+ 3 - 0
package5/pages/supplier-list/add/add.json

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

+ 2 - 0
package5/pages/supplier-list/add/add.wxml

@@ -0,0 +1,2 @@
+<!--package5/pages/supplier-list/add/add.wxml-->
+<text>package5/pages/supplier-list/add/add.wxml</text>

+ 1 - 0
package5/pages/supplier-list/add/add.wxss

@@ -0,0 +1 @@
+/* package5/pages/supplier-list/add/add.wxss */

+ 122 - 0
package5/pages/supplier-list/supplier-list.js

@@ -0,0 +1,122 @@
+/*******************************************************************************
+ * Copyright(c) 2022 dongke All rights reserved. / Confidential
+ * 类的信息:
+ *		1.程序名称:
+ * 编辑履历:
+ *		作者				日期					版本				修改内容
+ *		于继渤		 2024-1-24			1.00		    供应商列表
+ *******************************************************************************/
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    tableData: []
+  },
+  toChecked(e) {
+    console.log(e)
+    let index = e.currentTarget.dataset.index
+    let tableData = this.data.tableData
+    tableData.forEach(res => {
+      res.checked = false
+    })
+    tableData[index].checked = true
+    this.setData({
+      tableData: tableData
+    })
+  },
+
+  toAdd() {
+    
+  },
+  /**
+ * @desc : 关闭弹窗
+ * @author : 于继渤
+ * @date : 2024/1/23 9:16
+ */
+  onClosePopup() {
+    this.setData({
+      showPopup: false
+    })
+  },
+
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad(options) {
+    this.setData({
+
+      tableData: [
+        {
+          name: '佛山蒙娜丽莎瓷砖',
+          code: '张经理',
+          type: '采购供应商',
+          phone: '156 5678 5643',
+          brand:'蒙娜丽莎瓷砖',
+          account:'-6.000.00',
+          flagValue: true
+        },
+        {
+          name: '京东配送物流公司',
+          code: '王经理',
+          type: '服务供应商',
+          phone: '156 5678 5643',
+          brand:'蒙娜丽莎瓷砖',
+          account:'-6.000.00',
+          flagValue: true
+        },
+      ]
+    })
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload() {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh() {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom() {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage() {
+
+  }
+})

+ 4 - 0
package5/pages/supplier-list/supplier-list.json

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

+ 133 - 0
package5/pages/supplier-list/supplier-list.wxml

@@ -0,0 +1,133 @@
+<!-- 顶部信息 -->
+<van-sticky scroll-top="0">
+  <van-search model:value="{{ searchText }}" bind:change="onSearchText" bind:search="doSearch" placeholder="输入供应商名称/联系人/电话/品牌/服务类别/备注"> </van-search>
+</van-sticky>
+
+
+
+<!-- 内容列表 -->
+<view style="width: 100%;">
+  <view wx:for="{{tableData}}" wx:key="index" class="main-class">
+    <van-swipe-cell right-width="{{ 65 }}">
+      <view bind:tap="toChecked" data-index="{{index}}" class="main-foot" style="border-radius:15rpx;">
+        <view class="table-content">
+          <view class="table-content-row">
+            <view style="display: flex;">
+              <view catchtap="toCustomer" style="width: 39rpx;height: 39rpx;background-color: #95A8CB;border-radius:50%;margin-top: 5rpx;">
+                <view style="width: 39rpx; height: 39rpx;text-align: center;">
+                  <van-image round width="20rpx" height="24rpx" src="/static/img/Vector.png" />
+                </view>
+              </view>
+              <view style="font-size: 14px;font-weight: 600;width: 80%;margin-left: 20rpx;">
+                {{item.name}}
+              </view>
+              <view style="height: 49rpx;border-radius: 6rpx;background-color: {{ item.flagValue ?'#77C5D5':'rgba(228, 0, 43, 1)'}};text-align: center;width: 20%;">
+                  <text style=" font-size: 13px;color:  #FFFFFF;">{{item.flagValue ? '启用' : '停用'}}</text>
+                </view>
+            </view>
+          </view>
+          <view style="width: 100%;flex-direction: row; margin-top: 0px;">
+            <view class="table-content-row">
+              <view style="display: flex;width: 100%;">
+                <view style="width: 80%;display: flex;">
+                  <view class="table-content-row-font">
+                    <dk-text fontSize="14px" color="#95A8CB" fontWeight="nomal" value="联系人" copyValue="{{item.code}}"></dk-text>
+                  </view>
+                  <view class="table-content-class">
+                    {{item.code ? item.code :''}}
+                  </view>
+                </view>
+
+                <view style="width: 20%;text-align: center;">
+                  <dk-tag type="primary" height="32rpx" color="#EAF1FF" textColor="#606EB2" radius="5rpx" roundFlag="{{true}}" value="{{item.type}}"></dk-tag>
+                </view>
+              </view>
+            </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="联系电话" copyValue="{{item.phone}}"></dk-text>
+                </view>
+                <view class="table-content-class">
+                  {{item.phone ? item.phone :''}}
+                </view>
+              </view>
+            </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="{{item.type == '服务供应商' ? '服务类别':'供货品牌'}}" copyValue="{{item.brand}}"></dk-text>
+                </view>
+                <view class="table-content-class">
+                  {{item.brand ? item.brand :''}}
+                </view>
+              </view>
+            </view>
+          </view>
+          <view style="width: 100%;flex-direction: row; margin-top: 0px;padding-top: 20rpx;">
+            <view class="table-content-row" style="display: flex;">
+              <view style="display: flex;width:85%">
+                <view class="table-content-row-font">
+                  <dk-text fontSize="14px" color="#1B365D" fontWeight="nomal" value="应付款" copyValue="{{item.account}}"></dk-text>
+                </view>
+                <view class="table-content-class" style="color:#CAA977;">
+                  {{item.account ? item.account :''}}
+                </view>
+              </view>
+              <view style="display: flex;width:15%;text-align: right;">
+                <dk-tag height="40rpx" plain="true" color="#00A7B5" textColor="#00A7B5" radius="5rpx" roundFlag="{{true}}" value="{{'打电话'}}"></dk-tag>
+              </view>
+            </view>
+          </view>
+        </view>
+      </view>
+      <view data-index="{{index}}" bind:tap="onCloseDel" slot="right">{{item.flagValue ? '停用' : '启用'}}</view>
+    </van-swipe-cell>
+  </view>
+  <!-- 保留高度 -->
+  <view style="height: 220rpx;"></view>
+</view>
+
+
+<!-- 弹窗 新建-->
+<van-popup show="{{showPopup}}" position="bottom" bind:close="onClosePopup" custom-class="function-pop-class">
+
+  <view style="background-color:#F8F9FD;color:#1B365D;font-size: 17px;font-weight: 600;display: flex;justify-content: left;align-items: center;padding: 40rpx;">
+    <view>供应商</view>
+  </view>
+
+  <van-field input-width="200rpx" disabled="{{true}}" input-class="dk-cell-value-class" input-align="left" label-class="nomal-label" data-key="addressNo" maxlength="50" value="{{ '张经理' }}" input-align="right" label="联系人" placeholder="" autosize border="{{ false }}" bind:change="changeCustomerFormField">
+  </van-field>
+
+  <van-field input-width="200rpx" input-class="dk-cell-value-class" input-align="left" label-class="red-label" data-key="addressNo" maxlength="50" value="{{ '蒙娜丽莎瓷砖' }}" input-align="right" label="供应商名称" placeholder="" autosize border="{{ false }}" bind:change="changeCustomerFormField">
+  </van-field>
+
+
+  <van-field input-width="200rpx" disabled="{{false}}" input-class="dk-cell-value-class" input-align="left" label-class="nomal-label" data-key="addressNo" maxlength="50" value="{{ '156 5678 5643' }}" input-align="right" label="联系人电话" placeholder="" autosize border="{{ false }}" bind:change="changeCustomerFormField">
+  </van-field>
+  <van-field disabled="{{false}}" input-width="200rpx" input-class="dk-cell-value-class" input-align="left" label-class="nomal-label" maxlength="50" value="" input-align="right" label="备注" placeholder="{{'请输入' + '备注'}}" autosize border="{{ false }}">
+  </van-field>
+
+
+  <view style="display: flex; padding:35rpx 34rpx 62rpx 34rpx;">
+    <view style="width:48%">
+      <van-button size="large" plain round color="#1B365D" custom-style="height:88rpx;" bind:click="onClosePopup" type="default">取消
+      </van-button>
+    </view>
+    <view style="width: 4%;"></view>
+    <view style="width:48%;">
+      <van-button size="large" round color="#1B365D" custom-style="height:88rpx;" bind:click="allClean" type="default">保存
+      </van-button>
+    </view>
+  </view>
+</van-popup>
+
+
+<!-- 底部信息 -->
+<dk-save-bottom flagTypeName="supplier-list" bottomClass="{{true}}" bind:submit="toClose" bind:allClean="toAdd" />

+ 1 - 0
package5/pages/supplier-list/supplier-list.wxss

@@ -0,0 +1 @@
+/* package5/pages/supplier-list/supplier-list.wxss */

+ 7 - 7
pages/index/index.js

@@ -239,49 +239,49 @@ Page({
       // '采购管理', 
       {
         FunctionName: '采购订单',
-        FormName: '/package4/pages/order-billing/order-billing',
+        FormName: '/package5/pages/purchase-order/purchase-order',
         ImageUri: '/static/img/order-billing.png',
         PFunctionCode: '04',
         FunctionCode: '0401'
       },
       {
         FunctionName: '采购入库',
-        FormName: '/package4/pages/order-billing/customer-collection/customer-collection',
+        FormName: '/package5/pages/purchase-receipt/purchase-receipt',
         ImageUri: '/static/img/inventory-query.png',
         PFunctionCode: '04',
         FunctionCode: '0402'
       },
       {
         FunctionName: '以销定采',
-        FormName: '/package4/pages/order-billing/customer-collection/customer-collection',
+        FormName: '/package5/pages/purchase-based-sales/purchase-based-sales',
         ImageUri: '/static/img/collection.png',
         PFunctionCode: '04',
         FunctionCode: '0403'
       },
       {
         FunctionName: '采购退货',
-        FormName: '/package4/pages/order-billing/customer-collection/customer-collection',
+        FormName: '/package5/pages/purchase-return/purchase-return',
         ImageUri: '/static/img/collection.png',
         PFunctionCode: '04',
         FunctionCode: '0404'
       },
       {
         FunctionName: '采购明细',
-        FormName: '/package4/pages/order-billing/customer-collection/customer-collection',
+        FormName: '/package5/pages/purchase-details/purchase-details',
         ImageUri: '/static/img/collection.png',
         PFunctionCode: '04',
         FunctionCode: '0405'
       },
       {
         FunctionName: '采购跟踪',
-        FormName: '/package4/pages/order-billing/customer-collection/customer-collection',
+        FormName: '/package5/pages/purchase-tracking/purchase-tracking',
         ImageUri: '/static/img/collection.png',
         PFunctionCode: '04',
         FunctionCode: '0406'
       },
       {
         FunctionName: '供应商',
-        FormName: '/package4/pages/order-billing/customer-collection/customer-collection',
+        FormName: '/package5/pages/supplier-list/supplier-list',
         ImageUri: '/static/img/collection.png',
         PFunctionCode: '04',
         FunctionCode: '0407'

+ 42 - 0
pages/mine/mine-report-params.js

@@ -0,0 +1,42 @@
+const util = require('../../utils/util.js')
+const app = getApp()
+
+
+const getDateQuery = (type) => {
+  let date = new Date()
+  switch (type) {
+    case 'today':
+      return { beginDate: util.formatDayTimeApple(date), endDate: util.formatDayTimeApple(date) };
+    case 'yesterday':
+      return { beginDate: util.formatDayTimeApple(new Date(util.getobjDateApple(date.getTime() - (1000 * 60 * 60 * 24)))), endDate: util.formatDayTimeApple(new Date(util.getobjDateApple(date.getTime() - (1000 * 60 * 60 * 24)))) };
+    case 'nearly30days':
+      return { beginDate: util.formatDayTimeApple(new Date(util.getobjDateApple(date.getTime() - (1000 * 60 * 60 * 24 * 30)))), endDate: util.formatDayTimeApple(date) };
+    case 'nearly7days':
+      return { beginDate: util.formatDayTimeApple(new Date(util.getobjDateApple(date.getTime() - (1000 * 60 * 60 * 24 * 7)))), endDate: util.formatDayTimeApple(date) };
+    default:
+      return {};  
+  }
+}
+
+const getQueryData = (type) => {
+  switch (type) {
+    case 'storeHelper':
+      return { cpId: app.globalData.user.cpId, orgId: app.globalData.user.orgId, type: 'f_my_sale_info' }
+    case 'staffHelper':
+      return { cpId: app.globalData.user.cpId, orgId: app.globalData.user.orgId, userId: app.globalData.user.userId, type: 'f_my_sale_info' }
+    case 'storeOrderRate':
+    case 'storeRepayRate':  
+      return { cpId: app.globalData.user.cpId, orgId: app.globalData.user.orgId,rateDate: util.formatDayTime(new Date()) }
+    case 'staffOrderRate':
+    case 'staffRepayRate':  
+      return { cpId: app.globalData.user.cpId, orgId: app.globalData.user.orgId, userId: app.globalData.user.userId,rateDate: util.formatDayTime(new Date()) } 
+  }
+}
+
+
+const getReportQuery = (reportType, dateType) => {
+  return Object.assign(getQueryData(reportType), getDateQuery(dateType));
+}
+
+
+module.exports = { getReportQuery,getDateQuery };

+ 435 - 7
pages/mine/mine.js

@@ -2,33 +2,461 @@
  * Copyright(c) 2022 dongke All rights reserved. / Confidential
  * 类的信息:
  *		1.程序名称:
- *		2.功能描述:我的tab画面
+ *		2.功能描述:我的
  * 编辑履历:
  *		作者				日期					版本				修改内容
- *		admin		  	2022-11-22			1.00		   	新建
+ *		于继渤		        2022-0-12	            1.00		   	    
  *******************************************************************************/
+const api = require('../../utils/api.js');
+const app = getApp()
+const Constants = require('../../utils/Constants.js');
+const util = require('../../utils/util.js')
+const common = require('../../utils/common.js')
+import { getReportQuery, getDateQuery } from '/mine-report-params.js'
+
 Page({
 
   /**
    * 页面的初始数据
    */
   data: {
+    appCount: 0,
+    noticeCount: 0,
+
+    /** 6个切换组件的值 */
+    storeHelperValue: 'nearly7days',
+    staffHelperValue: 'nearly7days',
+    storeOrderRateValue: 'month',
+    staffOrderRateValue: 'month',
+    storeRepayRateValue: 'month',
+    staffRepayRateValue: 'month',
+
+    /** 6个数据源 */
+    shopHelper: {},
+    staffHelper: {},
+    storeOrderRate: {},
+    staffOrderRate: {},
+    storeRepayRate: {},
+    staffRepayRate: {},
+
+    /** 3个加载loading(实际页面上是6个 因为左右切换无法同时显示两个所以3个就够了) */
+    filterBlur1: '0',
+    filterBlur2: '0',
+    filterBlur3: '0',
+
+    /** 2种切换组件的options */
+    tagList: [{ name: '今日', id: 'today' }, { name: '近7天', id: 'nearly7days' }, { name: '近30天', id: 'nearly30days' }],
+    tagList2: [{ name: '本月', id: 'month' }, { name: '本年', id: 'year' }],
+
+    active: 'store',
+    showStoreFlag: true,
+
+    menuBtnInfo: null,
+    functionItems_mine: [
+      {
+        FunctionName: '我的开单',
+        FormName: '/package4/pages/order-billing/order-billing',
+        ImageUri: '/static/image/order-billing.png',
+        PFunctionCode: '01',
+        FunctionCode: '0101'
+      },
+      {
+        FunctionName: '我的客户',
+        FormName: '/package3/pages/customer/customer',
+        ImageUri: '/static/image/customer.png',
+        PFunctionCode: '01',
+        FunctionCode: '0102'
+      },
 
+      {
+        FunctionName: '客户收款',
+        FormName: '/package4/pages/collection/add/add',
+        ImageUri: '/static/image/collection.png',
+        PFunctionCode: '01',
+        FunctionCode: '0103'
+      },
+    ]
   },
 
   /**
-   * 生命周期函数--监听页面加载
+   * @desc : 修改密码跳转
+   * @date : 2022/5/12 13:49
+   * @author : 于继渤
    */
-  onLoad: function (options) {
-    
+  toEditPassword() {
+    wx.navigateTo({
+      url: './setting/setting',
+    })
   },
+
+  /**
+    * @desc : 公告跳转
+    * @date : 2022/5/12 13:49
+    * @author : 于继渤
+    */
+  toNotice() {
+    wx.navigateTo({
+      url: '/package2/pages/notice/notice',
+    })
+  },
+
+  /**
+    * @desc : 菜单跳转
+    * @date : 2022/5/12 13:49
+    * @author : 于继渤
+    */
+  toApp(e) {
+    let _this = this;
+    let url = e.currentTarget.dataset.url
+    if (!url) {
+      wx.showToast({
+        title: '功能开发中',
+        image: '../../static/image/warning.png',
+        duration: 1000
+      })
+      return
+    }
+  }, 
+
+  /**
+    * @desc : 设置跳转
+    * @date : 2022/5/12 13:49
+    * @author : 于继渤
+    */
+  toSetting() {
+    wx.navigateTo({
+      url: './setting/setting',
+    })
+  },
+  /**
+    * @desc : 获取用户信息
+    * @date : 2022/5/12 13:49
+    * @author : 于继渤
+    */
+  getUserProfile() {
+    wx.getUserProfile({
+      desc: '用于完善用户资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
+      success: (res) => {
+        let user = res.userInfo
+        wx.setStorageSync('user', user) //保存用户信息到本地缓存
+        this.setData({
+          isShowUserName: true,
+          userInfo: user,
+        })
+      },
+      fail: res => {
+
+      }
+    })
+  },
+
+  toOtherPage(e) {
+    
+    let type = e.currentTarget.dataset.type
+    let dateValue = e.currentTarget.dataset.datevalue
+    let jumpType = e.currentTarget.dataset.jumptype
+    let url = "";
+    let param = {};
  
+    let dateObj = {
+      today: { text: '本日', value: 1 },
+      nearly30days: { text: '近30天', value: 5 },
+      nearly7days: { text: '近7天', value: 6 }
+    }
+
+
+    let staffObj = {}
+   
+    if (jumpType === 2) {
+      staffObj = {
+        staffId: app.globalData.user.userId,
+        staffNames: app.globalData.user.userName
+      }
 
+    }
+    let hasrightflg = true
+    switch (type) {
+      case 1:
+        hasrightflg = this.data.orderflg
+        url = '/package4/pages/order-billing/order-billing'
+        param = { active: 1, date: dateObj[dateValue], receiveStatusParam: [], receiveStatusParamIds: [] }
+        break;
+      case 2:
+        hasrightflg = this.data.customerflg
+        url = '/package3/pages/customer/customer'
+        param = { active: 0, date: dateObj[dateValue], keyTypeList: [], keyTypeNameList: [] }
+        break;
+      case 3:
+        hasrightflg = this.data.customerflg
+        url = '/package3/pages/customer/customer'
+        param = { active: 3, date: dateObj[dateValue], keyTypeList: [0, 1], keyTypeNameList: ["客意品类-定制", "客意品类-智能"] }
+        break;
+      case 4:
+        hasrightflg = this.data.orderflg
+        url = '/package4/pages/order-billing/order-billing'
+        param = { active: 2, date: { text: '自定义', value: -2 }, receiveStatusParam: ['收款状态-未收', '收款状态-部分'], receiveStatusParamIds: [0, 1], type: 2 }
+        break;
+      case 5:
+        hasrightflg = this.data.receivecustomersflg
+        url = '/package3/pages/receive-customers/receive-customers'
+        param = { active: 1, date: { text: '自定义', value: -2 }, followStatusNameList: [], followStatusList: [], type: 2 }
+        break;
+      case 6:
+        hasrightflg = this.data.orderflg
+        url = '/package4/pages/order-billing/order-billing'
+        param = { active: 3, date: dateObj[dateValue], receiveStatusParam: [], receiveStatusParamIds: [] }
+        break;
+      case 7:
+        hasrightflg = this.data.receivecustomersflg
+        url = '/package3/pages/receive-customers/receive-customers'
+        param = { active: 0, date: dateObj[dateValue], followStatusNameList: ['跟进状态-接待', '跟进状态-报备'], followStatusList: [0, 1] }
+        break;
+      case 8:
+        hasrightflg = this.data.receivecustomersflg
+        url = '/package3/pages/receive-customers/receive-customers'
+        param = { active: 0, date: dateObj[dateValue], followStatusNameList: ['跟进状态-报备'], followStatusList: [0] }
+        break;
+      case 9:
+        hasrightflg = this.data.receivecustomersflg
+        url = '/package3/pages/receive-customers/receive-customers'
+        param = { active: 0, date: dateObj[dateValue], followStatusNameList: ['跟进状态-接待'], followStatusList: [1] }
+        break;
+      case 10:
+        hasrightflg = this.data.customerflg
+        url = '/package3/pages/customer/customer'
+        param = { active: 1, date: dateObj.nearly30days }
+        break;
+    }
+    if (hasrightflg) {
+      wx.navigateTo({
+        url: url + '?frommine=' + JSON.stringify(Object.assign(param, staffObj))
+      })
+    } else {
+      wx.showModal({ title: '提示', content: '没有该功能权限', showCancel: false })
+    }
+  },
   /**
-   * 生命周期函数--监听页面显示
+   * 
+   * @param {获取待审条数} options 
    */
-  onShow: function () {
+  getAppCount() {
+    let params = {
+      cpId: app.globalData.user.cpId,
+      userId: app.globalData.user.userId,
+    }
+    api.request(Constants.BPM_WAITING_FOR_APPRAVAL + 'list_count', 'POST', params).then(res => {
+      if (res.data.code === 200) {
+        this.setData({
+          appCount: res.data.data
+        })
+      }
+    })
+
+  },
+  /**
+ * 
+ * @param {获取未读公告条数} options 
+   * @param {获取未读公告条数} options 
+ * @param {获取未读公告条数} options 
+ */
+  getNoticeCount() {
+    let param = {
+      cpId: app.globalData.user.cpId,
+      orgId: app.globalData.user.orgId,
+      userId: app.globalData.user.userId,
+    }
+    //操作后台
+    api.request(Constants.NOTICE_API + 'search_select_count', 'POST', param).then(res => {
 
+      if (res.data.code == 200) {
+        this.setData({
+          noticeCount: res.data.data
+        })
+      }
+    })
   },
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function (options) {      
+    //20220820加入和客户列表的权限
+    let customerflg = common.hasPageUUidRight(Constants.PAGE_RIGHT.CUSTOMERS)
+    let orderflg = common.hasPageUUidRight(Constants.PAGE_RIGHT.ORDER_BILLING)
+    let receivecustomersflg = common.hasPageUUidRight(Constants.PAGE_RIGHT.RECEIVE_CUSTOMERS)
+    let waitApprovalflg = common.hasPageUUidRight(Constants.PAGE_RIGHT.WAITAPPROVAL)
+    let storeManagerFlg = common.hasPageUUidRight(Constants.PAGE_RIGHT.STORE_MANAGER)
+    this.setData({
+      storeManagerFlg,
+      customerflg,
+      orderflg,
+      receivecustomersflg,
+      waitApprovalflg,
+      version:wx.getAccountInfoSync().miniProgram.version,
+    })
+    /**
+     * @desc : 获取用户信息
+     * @date : 2022/5/12 13:49
+     * @author : 于继渤
+     */
+    if (app.globalData.user) {
+      this.setData({
+        userInfo: app.globalData.user,
+        showStoreFlag: storeManagerFlg,
+        active: storeManagerFlg ? 'store' : 'staff'
+      })
+    }
+    this.getAppCount()
+    /** 获取胶囊信息 */
+    this.setData({
+      menuBtnInfo: wx.getMenuButtonBoundingClientRect()
+    })
+
+    this.getReportData()
  
+
+    this.getNoticeCount()
+  },
+
+
+  /** 查询页面展示的所有 */
+  getReportData() {
+    let params = {
+      storeHelper: getReportQuery('storeHelper', 'nearly7days'),
+      staffHelper: getReportQuery('staffHelper', 'nearly7days'),
+      storeOrderRate: Object.assign(getReportQuery('storeOrderRate', null), { type: 'f_kpi_order_rate_month' }),
+      staffOrderRate: Object.assign(getReportQuery('staffOrderRate', null), { type: 'f_kpi_order_rate_month' }),
+      storeRepayRate: Object.assign(getReportQuery('storeRepayRate', null), { type: 'f_kpi_repay_rate_month' }),
+      staffRepayRate: Object.assign(getReportQuery('staffRepayRate', null), { type: 'f_kpi_repay_rate_month' }),
+    }
+
+    api.request(Constants.WX_REPORT + 'select_report_batch', 'POST', params).then(res => {
+  
+      if (res.data.code === 200) {
+        this.setData({
+          storeHelper: res.data.data.storeHelper,
+          staffHelper: res.data.data.staffHelper,
+          storeOrderRate: res.data.data.storeOrderRate,
+          staffOrderRate: res.data.data.staffOrderRate,
+          storeRepayRate: res.data.data.storeRepayRate,
+          staffRepayRate: res.data.data.staffRepayRate
+        })
+      } else {
+        console.error("获取报表失败", res)
+      }
+    })
+  },
+
+  /** 查询单个(助手) */
+  getReportDataSingle(e) {
+    let elementQuery = e.currentTarget.dataset
+    let params = getReportQuery(elementQuery.querytype, e.detail.id)
+    this.setData({
+      ['filterBlur' + elementQuery.filterindex]: '5px'
+    })
+    api.request(Constants.WX_REPORT + 'select_report', 'POST', params).then(res => {
+      setTimeout(() => {
+        this.setData({
+          ['filterBlur' + elementQuery.filterindex]: '0'
+        })
+        if (res.data.code === 200) {
+          this.setData({
+            [elementQuery.querytype]: res.data.data,
+          })
+        } else {
+          console.error("获取报表失败", res)
+        }
+      }, 500); /** loading效果 记得去掉 */
+    })
+  },
+  /** 查询单个的(kpi) */
+  getReportDataSingleRate(e) {
+    let elementQuery = e.currentTarget.dataset
+    let params = Object.assign(getReportQuery(elementQuery.querytype, null), { type: elementQuery.funcname + e.detail.id })
+    this.setData({
+      ['filterBlur' + elementQuery.filterindex]: '5px'
+    })
+    api.request(Constants.WX_REPORT + 'select_report', 'POST', params).then(res => {
+      setTimeout(() => {
+        this.setData({
+          ['filterBlur' + elementQuery.filterindex]: '0'
+        })
+        if (res.data.code === 200) {
+          this.setData({
+            [elementQuery.querytype]: res.data.data,
+          })
+        } else {
+          console.error("获取报表失败", res)
+        }
+      }, 500);/** loading效果 记得去掉 */
+    })
+  },
+
+  /**
+   * @desc : 跳转审批中心
+   * @date : 2022/8/09 9:49
+   * @author : 于继渤
+   */
+  toApprove() {
+    wx.navigateTo({
+      url: '/package2/pages/approval-center/approval-center',
+    })
+  },
+  onShow() {
+    if (this.data.mineFlag) {
+      
+      this.getAppCount()
+      /** 获取胶囊信息 */
+      this.setData({
+        menuBtnInfo: wx.getMenuButtonBoundingClientRect()
+      })
+      this.getReportData()
+    
+      this.getNoticeCount()
+    }
+  },
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function () {
+   
+    let that = this
+    //调用刷新时将执行的方法
+    that.setData({
+      loadingShow: true,
+    })
+      this.getAppCount()
+      /** 获取胶囊信息 */
+      this.setData({
+        menuBtnInfo: wx.getMenuButtonBoundingClientRect()
+      })
+      this.getReportData()
+      this.getNoticeCount()
+            //隐藏导航条加载动画
+      wx.hideNavigationBarLoading();
+      setTimeout(function () {
+        that.setData({
+          loadingShow: false,
+        })
+        //停止下拉刷新
+        wx.stopPullDownRefresh();
+      }, 800)
+    
+  },
+  
+  /**
+   *  检测是否有新版本-手动更新
+   */
+  checkHasManualUpdate(){
+    app.checkHasManualUpdate()
+  },
+   /**
+   *  当前版本号
+   */
+  getAccountInfoSync(){
+      const accountInfo = wx.getAccountInfoSync();
+      wx.showToast({
+        title: '当前版本号:' + accountInfo.miniProgram.version,
+        icon:'none', 
+      })     
+    },
 })

+ 6 - 1
pages/mine/mine.json

@@ -1,3 +1,8 @@
 {
-  "usingComponents": {}
+  "usingComponents": {},
+  "navigationStyle":"custom",
+  "navigationBarTitleText":"我的",
+  "enablePullDownRefresh": true,
+  "backgroundColor": "#1B365D"
+ 
 }

+ 403 - 2
pages/mine/mine.wxml

@@ -1,2 +1,403 @@
-<!--pages/mine/mine.wxml-->
-<text>pages/mine/mine.wxml</text>
+<wxs src='../../utils/numberFormat.wxs' module="numberFormat"></wxs>
+<!-- loading -->
+<loading wx:if="{{loading}}" loadingName="加载中" backgroundColor="#f2f2f2;" opacity="0.8"></loading>
+<loading wx:if="{{loadingShow}}" loadingName="加载中" backgroundColor="#f2f2f2;" opacity="0"></loading>
+<view class="head">
+  <view class="company">
+    <view>
+      沈阳东科软件有限公司
+      <image src="/static/img/triangle.png" style="width: 28rpx;height:28rpx;"></image>
+    </view>
+    <!-- 头像 -->
+    <view style="margin-top: 40rpx;" catchtap="openCode">
+      <open-data type="userAvatarUrl" class='wx-avatar'></open-data>
+    </view>
+    <!-- 昵称 -->
+    <view class="nick-name" style="display: flex;width: 100%;">
+      <view style="width: 99%;">
+        你好 王暖暖
+      </view>
+      <view style="text-align: right;margin-right: 10rpx;" bindtap="toNotice">
+        <view class="notice-view">
+          <view class="todo-view-app-item-icon-tip" wx:if="{{noticeCount}}">{{noticeCount}}</view>
+          <image src="/static/img/notice-icon.png" style="width: 27rpx;height:23rpx;" />
+        </view>
+      </view>
+    </view>
+    <!-- 门店 -->
+    <view class="store">
+      <view>
+        <view> 沈阳浑南红心美凯龙店</view>
+        <view wx:if="{{version}}" style="width:77vw;text-align-last: right;font-size: 11px;display: flex; justify-content: flex-end;"> 当前版本号: {{version}}
+          <van-icon name="upgrade" size="20px" bind:click="checkHasManualUpdate" />
+        </view>
+      </view>
+    </view>
+  </view>
+</view>
+<!-- 待办 -->
+
+<view style="background-color:#f8f9fd;border-radius:40rpx 40rpx 0rpx 0rpx;margin-top: -57rpx;">
+  <view style="height: 35rpx;"></view>
+  <view class="todo-view">
+
+    <view class="todo-view-title">待办工作</view>
+    <view class="todo-view-app">
+
+      <view class="todo-view-app-item"  >
+        <view class="todo-view-app-item-icon" catchtap="toApprove">
+          <!-- 待办角标提醒 -->
+          <view class="todo-view-app-item-icon-tip"  >{{appCount}}</view>
+          <image src="../../static/img/spzx.png" style="width:100%;height:100%;" />
+        </view>
+        <view class="todo-view-app-item-name">待审中心</view>
+      </view>
+      <!-- 20220820加入和客户列表的权限 -->
+      <view class="todo-view-app-item"   catchtap="toOtherPage" data-type="{{10}}" data-jumptype="{{1}}" data-datevalue="{{storeHelperValue}}">
+        <view class="todo-view-app-item-icon">
+          <!-- 待办角标提醒 -->
+          <view class="todo-view-app-item-icon-tip" wx:if="{{staffHelper.publicCustomerCount}}">{{staffHelper.publicCustomerCount}}</view>
+          <image src="../../static/img/order.png" style="width:100%;height:100%;" />
+        </view>
+        <view class="todo-view-app-item-name">待成交</view>
+      </view>
+
+      <view class="todo-view-app-item"   catchtap="toOtherPage" data-type="{{10}}" data-jumptype="{{1}}" data-datevalue="{{storeHelperValue}}">
+        <view class="todo-view-app-item-icon">
+          <!-- 待办角标提醒 -->
+          <view class="todo-view-app-item-icon-tip" wx:if="{{staffHelper.publicCustomerCount}}">{{staffHelper.publicCustomerCount}}</view>
+          <image src="../../static/img/ghxk.png" style="width:100%;height:100%;" />
+        </view>
+        <view class="todo-view-app-item-name">公海新客</view>
+      </view>
+
+    </view>
+  </view>
+
+  <van-tabs animated active="{{ active }}" swipeable nav-class="mine-tabs-custom-class" bind:change="onChange">
+    <van-tab title="标签 1" name="store" >
+      <!-- 助手 -->
+      <view class="helper-out-view">
+        <view class="helper-view">
+          <!-- 顶部部分 -->
+          <view class="helper-view-header">
+            <view class="helper-view-header-name">门店助手</view>
+            <view class="helper-view-header-tags">
+              <dk-tabs-custom model:value="{{storeHelperValue}}" data-filterindex="1" data-querytype="storeHelper" bind:change="getReportDataSingle" list="{{tagList}}" />
+            </view>
+          </view>
+          <!-- 主体部分 -->
+
+          <view class="helper-view-content" style="position: relative;">
+
+            <view class="help-view-content-item" catchtap="toOtherPage" data-type="{{1}}" data-jumptype="{{1}}" data-datevalue="{{storeHelperValue}}" style="--filterBlur--:{{filterBlur1}}">
+              <view class="help-view-content-item-absolute" wx:if="{{storeHelper.orderListCustomerCount && storeHelper.orderListCustomerCount>0}}">{{storeHelper.orderListCustomerCount}}户</view>
+              <view class="help-view-content-item-important">
+                <!-- {{storeHelper.orderListAmount}} -->
+                <view><text class="small-small-font">¥</text>69.99</view>
+
+              </view>
+              <view class="help-view-content-item-text">预算报价(万元)</view>
+            </view>
+
+            <view class="help-view-content-item" catchtap="toOtherPage" data-type="{{2}}" data-jumptype="{{1}}" data-datevalue="{{storeHelperValue}}" style="--filterBlur--:{{filterBlur1}}">
+              <view class="help-view-content-item-important">
+                10
+                <view class="help-view-content-item-important-small">户</view>
+              </view>
+              <view class="help-view-content-item-text">潜在客户</view>
+            </view>
+
+            <view class="help-view-content-item" catchtap="toOtherPage" data-type="{{3}}" data-jumptype="{{1}}" data-datevalue="{{storeHelperValue}}" style="--filterBlur--:{{filterBlur1}}">
+              <view class="help-view-content-item-important">
+                5
+                <view class="help-view-content-item-important-small">户</view>
+              </view>
+              <view class="help-view-content-item-text">定+智客户</view>
+            </view>
+
+            <view class="help-view-content-item" catchtap="toOtherPage" data-type="{{4}}" data-jumptype="{{1}}" data-datevalue="{{storeHelperValue}}" style="--filterBlur--:{{filterBlur1}}">
+              <view class="help-view-content-item-absolute" wx:if="{{storeHelper.arrearsCustomerCount && storeHelper.arrearsCustomerCount>0}}">{{storeHelper.arrearsCustomerCount}}户</view>
+              <view class="help-view-content-item-important">
+                <!-- {{storeHelper.arrearsAmount}} -->
+                <view><text class="small-small-font">¥</text>30.80</view>
+
+              </view>
+              <view class="help-view-content-item-text">欠款客户(万元)</view>
+            </view>
+
+            <view class="help-view-content-item" catchtap="toOtherPage" data-type="{{5}}" data-jumptype="{{1}}" data-datevalue="{{storeHelperValue}}" style="--filterBlur--:{{filterBlur1}}">
+              <view class="help-view-content-item-important">
+                5
+                <view class="help-view-content-item-important-small">户</view>
+              </view>
+              <view class="help-view-content-item-text">跟进任务</view>
+            </view>
+
+            <view class="help-view-content-item" catchtap="toOtherPage" data-type="{{6}}" data-jumptype="{{1}}" data-datevalue="{{storeHelperValue}}" style="--filterBlur--:{{filterBlur1}}">
+              <view class="help-view-content-item-important">
+               3
+                <view class="help-view-content-item-important-small">户</view>
+              </view>
+              <view class="help-view-content-item-text">设计制图</view>
+            </view>
+
+            <view class="help-view-content-item" catchtap="toOtherPage" data-type="{{7}}" data-jumptype="{{1}}" data-datevalue="{{storeHelperValue}}" style="--filterBlur--:{{filterBlur1}}">
+              <view class="help-view-content-item-important">
+                20
+                <view class="help-view-content-item-important-small">户</view>
+              </view>
+              <view class="help-view-content-item-text">接待客户数</view>
+            </view>
+            <view class="help-view-content-item" catchtap="toOtherPage" data-type="{{8}}" data-jumptype="{{1}}" data-datevalue="{{storeHelperValue}}" style="--filterBlur--:{{filterBlur1}}">
+              <view class="help-view-content-item-important">
+               67
+                <view class="help-view-content-item-important-small">户</view>
+              </view>
+              <view class="help-view-content-item-text">留资客户数</view>
+            </view>
+            <view class="help-view-content-item" catchtap="toOtherPage" data-type="{{9}}" data-jumptype="{{1}}" data-datevalue="{{storeHelperValue}}" style="--filterBlur--:{{filterBlur1}}">
+              <view class="help-view-content-item-important">
+                33
+                <view class="help-view-content-item-important-small">户</view>
+              </view>
+              <view class="help-view-content-item-text">陌生客户数</view>
+            </view>
+
+            <inner-loading wx:if="{{filterBlur1==='5px'}}"></inner-loading>
+
+          </view>
+        </view>
+
+      </view>
+
+      <!-- 销售任务进度 -->
+      <view class="task-progress">
+        <view class="task-progress-header">
+          <view class="task-progress-header-name">销售任务进度</view>
+          <view class="task-progress-header-tags">
+            <dk-tabs-custom model:value="{{storeOrderRateValue}}" data-querytype="storeOrderRate" data-filterindex="2" bind:change="getReportDataSingleRate" data-funcname="f_kpi_order_rate_" background="#ECF7FF" slider-background="#fff" text-color="#9CCCEC" slider-text-color="#1B365D" list="{{tagList2}}" />
+          </view>
+        </view>
+        <view style="position: relative;">
+          <view class="task-progress-content">
+            <view class="task-progress-content-left" style="--filterBlur--:{{filterBlur2}}">
+              <view><text class="small-cny">¥</text>155,546.00</view>
+              <view>成交额(万)</view>
+              <view style="font-size: 12px;color:#95A8CB;">同比:<text class="small-cny">50 ↑  </text>环比<text class="small-cny_red">    50 ↓</text> </view>
+         
+            </view>
+            <view class="task-progress-content-right" style="--filterBlur--:{{filterBlur2}}">
+              <view>58.98%</view>
+              <view>销售任务进度</view>
+              <view>
+                <dk-progress progress="{{storeOrderRate.kpiRate}}"></dk-progress>
+              </view>
+            </view>
+          </view>
+          <inner-loading wx:if="{{filterBlur2==='5px'}}"></inner-loading>
+        </view>
+       
+      </view>
+
+      <!-- 收款任务进度 -->
+      <view class="task-progress">
+        <view class="task-progress-header">
+          <view class="task-progress-header-name">收款任务进度</view>
+          <view class="task-progress-header-tags">
+            <dk-tabs-custom model:value="{{storeRepayRateValue}}" data-querytype="storeRepayRate" data-filterindex="3" bind:change="getReportDataSingleRate" data-funcname="f_kpi_repay_rate_" background="#ECF7FF" slider-background="#fff" text-color="#9CCCEC" slider-text-color="#1B365D" list="{{tagList2}}" />
+          </view>
+        </view>
+        <view style="position: relative;">
+          <view class="task-progress-content">
+            <view class="task-progress-content-left" style="--filterBlur--:{{filterBlur3}}">
+              <view><text class="small-cny">¥</text>155,546.00</view>
+              <view>收款额(万)</view>
+              <view style="font-size: 12px;color:#95A8CB;">同比:<text class="small-cny">50 ↑  </text>环比<text class="small-cny_red">    50 ↓</text> </view>
+         
+            </view>
+            <view class="task-progress-content-right" style="--filterBlur--:{{filterBlur3}}">
+              <view>58.98%</view>
+              <view>收款任务进度</view>
+              <view>
+                <dk-progress progress="{{storeRepayRate.kpiRate}}"></dk-progress>
+              </view>
+            </view>
+          </view>
+          <inner-loading wx:if="{{filterBlur3==='5px'}}"></inner-loading>
+        </view>
+       
+      </view>
+
+    </van-tab>
+
+
+    <van-tab title="标签 2" name="staff" wx:if="{{false}}">
+      <!-- 助手2 -->
+      <view class="helper-out-view">
+        <view class="helper-view">
+          <!-- 顶部部分 -->
+          <view class="helper-view-header">
+            <view class="helper-view-header-name">业务员助手</view>
+            <view class="helper-view-header-tags">
+              <dk-tabs-custom model:value="{{staffHelperValue}}" data-filterindex="1" data-querytype="staffHelper" bind:change="getReportDataSingle" list="{{tagList}}" />
+            </view>
+          </view>
+          <!-- 主体部分 -->
+          <view class="helper-view-content" style="position: relative;">
+
+            <view class="help-view-content-item" catchtap="toOtherPage" data-type="{{1}}" data-jumptype="{{2}}" data-datevalue="{{staffHelperValue}}" style="--filterBlur--:{{filterBlur1}}">
+              <view class="help-view-content-item-absolute" wx:if="{{staffHelper.orderListCustomerCount && staffHelper.orderListCustomerCount>0}}">{{staffHelper.orderListCustomerCount}}户</view>
+              <view class="help-view-content-item-important">
+                <!-- {{staffHelper.orderListAmount}} -->
+                <view><text class="small-small-font">¥</text>{{staffHelper.orderListAmount ? numberFormat.toThousandCents(numberFormat.numberFormat(staffHelper.orderListAmount/10000)) : '0.00'}}</view>
+
+              </view>
+              <view class="help-view-content-item-text">预算报价(万元)</view>
+            </view>
+
+            <view class="help-view-content-item" catchtap="toOtherPage" data-type="{{2}}" data-jumptype="{{2}}" data-datevalue="{{staffHelperValue}}" style="--filterBlur--:{{filterBlur1}}">
+              <view class="help-view-content-item-important">
+                {{staffHelper.potentialCustomerCount}}
+                <view class="help-view-content-item-important-small">户</view>
+              </view>
+              <view class="help-view-content-item-text">潜在客户</view>
+            </view>
+
+            <view class="help-view-content-item" catchtap="toOtherPage" data-type="{{3}}" data-jumptype="{{2}}" data-datevalue="{{staffHelperValue}}" style="--filterBlur--:{{filterBlur1}}">
+              <view class="help-view-content-item-important">
+                {{staffHelper.strangeCount}}
+                <view class="help-view-content-item-important-small">户</view>
+              </view>
+              <view class="help-view-content-item-text">定+智客户</view>
+            </view>
+
+            <view class="help-view-content-item" catchtap="toOtherPage" data-type="{{4}}" data-jumptype="{{2}}" data-datevalue="{{staffHelperValue}}" style="--filterBlur--:{{filterBlur1}}">
+              <view class="help-view-content-item-absolute" wx:if="{{staffHelper.arrearsCustomerCount && staffHelper.arrearsCustomerCount>0}}">{{staffHelper.arrearsCustomerCount}}户</view>
+              <view class="help-view-content-item-important">
+                <!-- {{staffHelper.arrearsAmount}} -->
+                <view><text class="small-small-font">¥</text>{{staffHelper.arrearsAmount ? numberFormat.toThousandCents(numberFormat.numberFormat(staffHelper.arrearsAmount/10000)) : '0.00'}}</view>
+
+              </view>
+              <view class="help-view-content-item-text">欠款客户(万元)</view>
+            </view>
+            <view class="help-view-content-item" catchtap="toOtherPage" data-type="{{5}}" data-jumptype="{{2}}" data-datevalue="{{staffHelperValue}}" style="--filterBlur--:{{filterBlur1}}">
+              <view class="help-view-content-item-important">
+                {{staffHelper.planCount}}
+                <view class="help-view-content-item-important-small">户</view>
+              </view>
+              <view class="help-view-content-item-text">跟进任务</view>
+            </view>
+            <view class="help-view-content-item" catchtap="toOtherPage" data-type="{{6}}" data-jumptype="{{2}}" data-datevalue="{{staffHelperValue}}" style="--filterBlur--:{{filterBlur1}}">
+              <view class="help-view-content-item-important">
+                {{staffHelper.designCount}}
+                <view class="help-view-content-item-important-small">户</view>
+              </view>
+              <view class="help-view-content-item-text">设计制图</view>
+            </view>
+            <view class="help-view-content-item" catchtap="toOtherPage" data-type="{{7}}" data-jumptype="{{2}}" data-datevalue="{{staffHelperValue}}" style="--filterBlur--:{{filterBlur1}}">
+              <view class="help-view-content-item-important">
+                {{staffHelper.specsCount}}
+                <view class="help-view-content-item-important-small">户</view>
+              </view>
+              <view class="help-view-content-item-text">接待客户数</view>
+            </view>
+            <view class="help-view-content-item" catchtap="toOtherPage" data-type="{{8}}" data-jumptype="{{2}}" data-datevalue="{{staffHelperValue}}" style="--filterBlur--:{{filterBlur1}}">
+              <view class="help-view-content-item-important">
+                {{staffHelper.receptionCount}}
+                <view class="help-view-content-item-important-small">户</view>
+              </view>
+              <view class="help-view-content-item-text">留资客户数</view>
+            </view>
+            <view class="help-view-content-item" catchtap="toOtherPage" data-type="{{9}}" data-jumptype="{{2}}" data-datevalue="{{staffHelperValue}}" style="--filterBlur--:{{filterBlur1}}">
+              <view class="help-view-content-item-important">
+                {{staffHelper.materialCount}}
+                <view class="help-view-content-item-important-small">户</view>
+              </view>
+              <view class="help-view-content-item-text">陌生客户数</view>
+            </view>
+
+            <inner-loading wx:if="{{filterBlur1==='5px'}}"></inner-loading>
+
+          </view>
+        </view>
+
+      </view>
+
+      <!-- 销售任务进度 -->
+      <view class="task-progress">
+        <view class="task-progress-header">
+          <view class="task-progress-header-name">销售任务进度</view>
+          <view class="task-progress-header-tags">
+            <dk-tabs-custom model:value="{{staffOrderRateValue}}" data-querytype="staffOrderRate" data-filterindex="2" bind:change="getReportDataSingleRate" data-funcname="f_kpi_order_rate_" background="#ECF7FF" slider-background="#fff" text-color="#9CCCEC" slider-text-color="#1B365D" list="{{tagList2}}" />
+          </view>
+        </view>
+        <view style="position: relative;">
+          <view class="task-progress-content">
+            <view class="task-progress-content-left" style="--filterBlur--:{{filterBlur2}}">
+              <view><text class="small-cny">¥</text>{{staffOrderRate.orderAmount ? numberFormat.toThousandCents(numberFormat.numberFormat(staffOrderRate.orderAmount/10000)) : '0.00'}}</view>
+              <view>成交额(万)</view>
+
+            </view>
+            <view class="task-progress-content-right" style="--filterBlur--:{{filterBlur2}}">
+              <view>{{staffOrderRate.kpiRate}}%</view>
+              <view>销售任务进度</view>
+              <view>
+                <dk-progress progress="{{staffOrderRate.kpiRate}}"></dk-progress>
+              </view>
+            </view>
+          </view>
+          <inner-loading wx:if="{{filterBlur2==='5px'}}"></inner-loading>
+        </view>
+        <view style="width: calc(100% - 40rpx);display: flex;align-items: center;justify-content: space-between;padding: 0 20rpx 20rpx 20rpx;margin-bottom: 20rpx;">
+          <view style="font-size: 12px;color:#95A8CB;">目标:<text class="small-cny">¥</text>{{staffOrderRate.kpiOrderAmount ? numberFormat.toThousandCents(numberFormat.numberFormat(staffOrderRate.kpiOrderAmount/10000)) : '0.00'}}</view>
+          <view style="font-size: 12px;color:#95A8CB;">差额:<text class="small-cny">¥</text>{{staffOrderRate.kpiOrderAmount ? numberFormat.toThousandCents(numberFormat.numberFormat((staffOrderRate.kpiOrderAmount - staffOrderRate.orderAmount)/10000)) : '0.00'}}</view>
+        </view>
+      </view>
+
+      <!-- 收款任务进度 -->
+      <view class="task-progress">
+        <view class="task-progress-header">
+          <view class="task-progress-header-name">收款任务进度</view>
+          <view class="task-progress-header-tags">
+            <dk-tabs-custom model:value="{{staffRepayRateValue}}" data-querytype="staffRepayRate" data-filterindex="3" bind:change="getReportDataSingleRate" data-funcname="f_kpi_repay_rate_" background="#ECF7FF" slider-background="#fff" text-color="#9CCCEC" slider-text-color="#1B365D" list="{{tagList2}}" />
+          </view>
+        </view>
+        <view style="position: relative;">
+          <view class="task-progress-content">
+            <view class="task-progress-content-left" style="--filterBlur--:{{filterBlur3}}">
+              <view><text class="small-cny">¥</text>{{staffRepayRate.repayAmount ? numberFormat.toThousandCents(numberFormat.numberFormat(staffRepayRate.repayAmount/10000)) : '0.00'}}</view>
+              <view>收款额(万)</view>
+
+            </view>
+            <view class="task-progress-content-right" style="--filterBlur--:{{filterBlur3}}">
+              <view>{{staffRepayRate.kpiRate}}%</view>
+              <view>收款任务进度</view>
+              <view>
+                <dk-progress progress="{{staffRepayRate.kpiRate}}"></dk-progress>
+              </view>
+            </view>
+          </view>
+          <inner-loading wx:if="{{filterBlur3==='5px'}}"></inner-loading>
+        </view>
+        <view style="width: calc(100% - 40rpx);display: flex;align-items: center;justify-content: space-between;padding: 0 20rpx 20rpx 20rpx;margin-bottom: 20rpx;">
+          <view style="font-size: 12px;color:#95A8CB;">目标:<text class="small-cny">¥</text>{{staffRepayRate.kpiRepayAmount ? numberFormat.toThousandCents(numberFormat.numberFormat(staffRepayRate.kpiRepayAmount/10000)) : '0.00'}}</view>
+          <view style="font-size: 12px;color:#95A8CB;">差额:<text class="small-cny">¥</text>{{staffRepayRate.kpiRepayAmount ? numberFormat.toThousandCents(numberFormat.numberFormat((staffRepayRate.kpiRepayAmount - staffRepayRate.repayAmount)/10000)) : '0.00'}}</view>
+        </view>
+      </view>
+    </van-tab>
+  </van-tabs>
+
+
+  <view class="swiper-controller" wx:if="{{showStoreFlag}}">
+    <view data-type="store" catchtap="swiperChange">
+      <van-icon name="play" style="transform: rotate(180deg);" size="20rpx" color="#1B365D" />
+    </view>
+    <view data-type="staff" catchtap="swiperChange">
+      <van-icon name="play" size="20rpx" color="#1B365D" />
+    </view>
+  </view>
+
+  <view style="height: 39rpx;"></view>
+
+</view>

+ 432 - 1
pages/mine/mine.wxss

@@ -1 +1,432 @@
-/* pages/mine/mine.wxss */
+page {
+	background-color: #f8f9fd;
+  }
+  
+  .head {
+   
+  
+	z-index: 1; 
+	height: 384rpx;
+	width: 100%; 
+	background: #A51006;
+  }
+  
+  .head-center {
+	position: absolute;
+	width: 78rpx;
+	height: 80rpx;
+	left: 39rpx;
+	top: 204rpx;
+  }
+  
+  .nick-name {
+	width: 70% !important;
+	position: absolute;
+	width: 64rpx;
+	height: 45rpx;
+	left: 120rpx;
+	top: 80rpx;
+	font-family: 'PingFang HK';
+	font-style: normal;
+	font-weight: 600;
+	font-size: 28rpx;
+	line-height: 45rpx;
+	color: #FFFFFF;
+  }
+  .head-name {
+	margin-left: 23rpx;
+  }
+  .store{
+	position: absolute;
+	width: 364rpx;
+	height: 34rpx;
+	left: 120rpx;
+	top: 135rpx;
+	font-family: 'PingFang HK';
+	font-style: normal;
+	font-weight: 400;
+	font-size: 24rpx;
+	line-height: 34rpx;
+	color: white;
+  } 
+  
+  .setting {
+	text-align: center;
+	padding: 20rpx;
+  }
+  
+  .head-center-ercode {
+	width: 30rpx;
+	height: 30rpx;
+  }
+  
+  .wx-avatar {
+	overflow: hidden;
+	display: block;
+	width: 80rpx;
+	height: 80rpx;
+	border-radius: 50%;
+	border: 1px solid #95a8cb;
+  }
+  
+  .applications {
+	color: #fff;
+	margin-top: 70rpx;
+	width: 100%;
+  }
+  
+  .application-block {
+	width: 25%;
+	text-align: center;
+	float: left;
+  }
+  
+  .application-number {
+	display: flex;
+	justify-content: center;
+  }
+  
+  .application-name {
+	display: flex;
+	font-size: 25rpx;
+	font-family: 'PingFang SC';
+	justify-content: center;
+	margin-top: 5rpx;
+  }
+  
+  .panel-class {
+	margin-bottom: 20rpx;
+  }
+  
+  .menu-class {
+	background: white;
+	justify-content: center;
+  }
+  
+  
+  
+  
+  /* 沈博 2022年7月29日14:37:16 */
+  .mb-left {
+	width: 200px;
+	display: flex;
+	align-items: center;
+  }
+  
+  .notice-view {
+	width: 45rpx;
+	height: 45rpx;
+	background: #FFFFFF;
+	opacity: 0.62;
+	border-radius: 50%;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	position: relative;
+  }
+  
+  .todo-view {
+	margin-left: 34rpx;
+	width: calc(100% - 68rpx - 48rpx);
+	background: #FFFFFF;
+	box-shadow: 0px 10px 20px rgba(225, 229, 238, 0.6);
+	border-radius: 15rpx;
+	padding: 24rpx;
+	/* margin-top: 35rpx; */
+	z-index: 2;
+  }
+  
+  .todo-view-title {
+	font-style: normal;
+	font-weight: 500;
+	font-size: 16px;
+	font-family: 'PingFang SC';
+  }
+  
+  .todo-view-app {
+	padding-top: 24rpx;
+	display: -webkit-box;
+	overflow: auto;
+	width: 100%;
+  }
+  
+  .todo-view-app-item {
+	width: 25%;
+	display: grid;
+	justify-items: center;
+  }
+  
+  .todo-view-app-item-icon {
+	width: 66rpx;
+	height: 66rpx;
+	/* background-color: #B280E4; */
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	border-radius: 50%;
+	position: relative;
+  }
+  
+  .todo-view-app-item-icon-tip {
+	position: absolute;
+	width: 26rpx;
+	height: 26rpx;
+	top: -6rpx;
+	right: -6rpx;
+	font-size: 9px;
+	font-family: 'PingFang SC';
+	background: #FF594E;
+	border: 1px solid #FFFFFF;
+	border-radius: 50%;
+	color: #fff;
+	text-align: center;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+  }
+  
+  .todo-view-app-item-name {
+	font-style: normal;
+	font-weight: 400;
+	font-size: 14px;
+	font-family: 'PingFang SC';
+	/* font-family: 'SimSun'; */
+	color: #1B365D;
+	margin-top: 10rpx;
+  }
+  
+  .helper-view {
+	margin-left: 34rpx;
+	width: calc(100% - 68rpx - 48rpx);
+	background: #FFFFFF;
+	box-shadow: 0px 10px 20px rgba(225, 229, 238, 0.6);
+	border-radius: 15rpx;
+	padding: 24rpx;
+	margin-top: 30rpx;
+  }
+  
+  .helper-view-header {
+	display: flex;
+	justify-content: space-between;
+	align-items: center;
+  }
+  
+  .helper-view-content {
+	display: flex;
+	flex-flow: wrap;
+	justify-content: space-between;
+	margin-top: 44rpx;
+  }
+  
+  .help-view-content-item {
+	border-radius: 15rpx;
+	position: relative;
+	display: grid;
+	align-content: center;
+	width: 32%;
+	height: 108rpx;
+	background: #F8F8F8;
+	filter: blur(var(--filterBlur--));
+  }
+  
+  .help-view-content-item:nth-child(n+4) {
+	margin-top: 12rpx;
+  }
+  
+  .help-view-content-item-absolute {
+	color: #1B365D;
+	background-color: #EBEEF3;
+	font-size: 10px;
+	font-family: 'PingFang SC';
+	line-height: 30rpx;
+	padding: 0 10rpx 0 10rpx;
+	border-radius: 15rpx;
+	width: max-content;
+	position: absolute;
+	right: 4.3rpx;
+	top: 4.3rpx;
+  
+  }
+  
+  .help-view-content-item-important {
+	font-weight: 600;
+	font-size: 16px;
+	font-family: 'PingFang SC';
+	color: #1B365D;
+	justify-content: center;
+	display: flex;
+	align-items: center;
+  }
+  
+  .help-view-content-item-important-small {
+	font-style: normal;
+	font-weight: 400;
+	font-size: 10px;
+	font-family: 'PingFang SC';
+  }
+  
+  .help-view-content-item-text {
+	font-style: normal;
+	font-weight: 400;
+	font-size: 10px;
+	color: #95A8CB;
+	text-align: center;
+	font-family: 'PingFang SC';
+  }
+  
+  
+  .mine-tabs-custom-class {
+	display: none !important;
+  }
+  
+  .van-tabs__wrap {
+	display: none !important;
+  }
+  
+  .swiper-controller {
+	display: flex;
+	justify-content: space-between;
+	align-items: center;
+	padding: 39rpx 38% 0 38%;
+  }
+  
+  .swiper-controller>view:nth-child(n) {
+	background: #D1DCF1;
+	border-radius: 50%;
+	width: 35rpx;
+	height: 35rpx;
+	display: flex;
+	justify-content: center;
+	align-items: center;
+  }
+  
+  
+  .task-progress {
+	margin-left: 34rpx;
+	width: calc(100% - 68rpx);
+	background: #FFFFFF;
+	box-shadow: 0px 10px 20px rgba(225, 229, 238, 0.6);
+	border-radius: 15rpx;
+	margin-top: 30rpx;
+  }
+  
+  .task-progress-header {
+	display: flex;
+	background: linear-gradient(90.12deg, #9BCBEB 0.13%, #D9F0FF 99.92%);
+	padding: 24rpx;
+	border-radius: 15rpx 15rpx 0px 0px;
+	align-items: center;
+	justify-content: space-between;
+  }
+  
+  .task-progress-header-name {
+	font-style: normal;
+	font-weight: 500;
+	font-size: 16px;
+	color: #FFFFFF;
+	font-family: 'PingFang SC';
+  }
+  
+  .task-progress-content {
+	display: flex;
+	justify-content: space-between;
+	padding: 24rpx 24rpx 0 24rpx;
+	position: relative;
+  }
+  .task-progress-content-left {
+	filter: blur(var(--filterBlur--));
+	padding: 20rpx 0;
+  }
+  
+  .task-progress-content-left>view:nth-child(1) {
+	font-style: normal;
+	font-weight: 600;
+	font-family: 'PingFang SC';
+	font-size: 25px;
+	color: #1B365D;
+  }
+  
+  
+  .task-progress-content-left>view:nth-child(2) {
+	font-style: normal;
+	font-weight: 400;
+	font-size: 14px;
+	color: #95A8CB;
+	font-family: 'PingFang SC';
+	margin-top: 13rpx;
+  }
+  
+  
+  .task-progress-content-left>view:nth-child(3) {
+	font-style: normal;
+	font-weight: 400;
+	font-size: 10px;
+	color: #1B365D;
+	display: flex;
+	align-items: center;
+	line-height: 40rpx;
+	font-family: 'PingFang SC';
+	margin-top: 11rpx;
+  }
+  
+  .task-progress-content-left>view:nth-child(3)>view:nth-child(n), .task-progress-content-left>view:nth-child(3)>view:nth-child(n)>view:nth-child(n){
+	display: flex;
+	align-items: center;
+  }
+  
+  .task-progress-content-left>view:nth-child(3)>view:nth-child(2){
+	margin-left: 19rpx;
+  }
+  
+  .task-progress-content-right{
+	padding: 20rpx 0;
+	display: grid;
+	filter: blur(var(--filterBlur--));
+  }
+  .task-progress-content-right>view:nth-child(1) {
+	font-style: normal;
+	font-weight: 400;
+	font-size: 14px;
+	color: #1B365D;
+	text-align: right;
+	font-family: 'PingFang SC';
+  }
+  
+  .task-progress-content-right>view:nth-child(2) {
+	font-style: normal;
+	font-weight: 400;
+	font-size: 10px;
+	color: #95A8CB;
+	margin-bottom: 12rpx;
+	text-align: right;
+	font-family: 'PingFang SC';
+  }
+  
+  .task-progress-content-right>view:nth-child(3) {
+	font-style: normal;
+	font-weight: 400;
+	font-size: 10px;
+	color: #95A8CB;
+	text-align: right;
+	font-family: 'PingFang SC';
+  }
+  
+  .small-cny{
+	font-size: 12px;
+	color: green;
+  }
+   .small-cny_red{
+	font-size: 12px;
+	color: red;
+  }
+  .small-small-font{
+	font-size: 10px;
+	line-height: 16px;
+  }
+  .company{
+	width: 100%;
+	position: absolute;
+	left: 40rpx;
+	top: 120rpx;
+	color: #F8F9FD;
+  }

+ 37 - 2
utils/common.js

@@ -44,7 +44,41 @@ function hasRight(functionCode) {
   }
   return value
 }
-
+/**
+ * @desc : 前台实现千分位
+ * @date : 2022/6/30 16:49
+ * @author : 周兴
+ */
+function toThousandCents(num) {
+  if (num == undefined) {
+      return 0;
+  }
+  var num = num + '';
+  var d = '';
+  if (num.slice(0, 1) == '-') {
+      d = num.slice(0, 1);
+      num = num.slice(1);
+  }
+  var len = num.length;
+  var index = num.indexOf('.');
+  if (index == -1) {
+      num = num + '.00';
+  } else if ((index + 2) == len) {
+      num = num + '0';
+  }
+  var index = num.indexOf('.'); // 字符出现的位置
+  var num2 = num.slice(-3);
+  num = num.slice(0, index)
+  var result = '';
+  while (num.length > 3) {
+      result = ',' + num.slice(-3) + result;
+      num = num.slice(0, num.length - 3);
+  }
+  if (num) {
+      result = num + result;
+  }
+  return d + (result + num2)
+}
 /**
  * 跳转到固定节点的位置
  * @param {*} selectid 
@@ -231,7 +265,8 @@ module.exports = {
   wxMap_to_bdMap,
   bdMap_to_wxMap,  
   onClickWxchartAddress,  
-  hasPageUUidRight 
+  hasPageUUidRight ,
+  toThousandCents
 }