Преглед на файлове

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

zhoux преди 1 година
родител
ревизия
85c43fab3f

+ 3 - 1
api/pages/report/report.js

@@ -38,7 +38,9 @@ module.exports = {
     // 客户收款明细表
     // 客户收款明细表
     getRecPayDetailReport:'get_rec_pay_detail_report',
     getRecPayDetailReport:'get_rec_pay_detail_report',
     // 客户收支表
     // 客户收支表
-    getCusRecPayReportItem:'get_cus_rec_pay_report_item'
+    getCusRecPayReportItem:'get_cus_rec_pay_report_item',
+    // 销售利润
+    getSaleProfit:'get_sale_profit'
   },
   },
   routeUrl: {
   routeUrl: {
     report: {
     report: {

+ 2 - 1
app.json

@@ -198,7 +198,8 @@
                 "pages/staff-order-rank/staff-order-rank",
                 "pages/staff-order-rank/staff-order-rank",
                 "pages/staff-repay-rank/staff-repay-rank",
                 "pages/staff-repay-rank/staff-repay-rank",
                 "pages/detail-report/detail-report",
                 "pages/detail-report/detail-report",
-                "pages/cus-rec-pay-report/cus-rec-pay-report"
+                "pages/cus-rec-pay-report/cus-rec-pay-report",
+                "pages/profit-report/profit-report"
             ]
             ]
         },
         },
         {
         {

+ 1 - 1
components/dkbase/dk-popup/dk-popup.wxml

@@ -79,7 +79,7 @@
       </van-cell>
       </van-cell>
       <!--数字类--> 
       <!--数字类--> 
       <dk-number-input wx:if="{{item.type=='number'}}" sign="{{(item.sign || item.sign == '')?item.sign:'¥'}}" digits="{{(item.digits || item.digits == 0)?item.digits:2}}" fontSize="14" left="30rpx" data-key="{{item.code}}" data-item="{{item}}" max="{{(item.max || item.max == '')?item.max:10000000}}" min="{{(item.min || item.min == '')?item.min:-10000000}}"  data-index="{{index}}" center="{{'right'}}" readonly="{{!!readonly || !!item.readonly}}" 
       <dk-number-input wx:if="{{item.type=='number'}}" sign="{{(item.sign || item.sign == '')?item.sign:'¥'}}" digits="{{(item.digits || item.digits == 0)?item.digits:2}}" fontSize="14" left="30rpx" data-key="{{item.code}}" data-item="{{item}}" max="{{(item.max || item.max == '')?item.max:10000000}}" min="{{(item.min || item.min == '')?item.min:-10000000}}"  data-index="{{index}}" center="{{'right'}}" readonly="{{!!readonly || !!item.readonly}}" 
-      placeholder="{{wxmlUtil.setPlaceholder($t,item.title?item.title:item.code)}}" errorMessage="{{item.errMsg}}" contentRight="{{true}}" titleValue="{{item.title?item.title:$t[item.code]}}" inputColor="{{item.inputColor?item.inputColor:'#FF7B1A'}}" titleFontWeight="normal" required="{{item.required?true:false }}" requiredLeft="15rpx" titleColor="#95A8CB" inputValue="{{form[item.code]}}" titleWidth = "174px"bind:triggerBindValue="changeNumberField" bind:triggerBindBlur="blurNumberField"percentSignFlag="{{item.percentSignFlag}}" negative="{{item.negative}}"></dk-number-input>
+      placeholder="{{wxmlUtil.setPlaceholder($t,item.title?item.title:item.code)}}" errorMessage="{{item.errMsg}}" contentRight="{{true}}" titleValue="{{item.title?item.title:$t[item.code]}}" inputColor="{{item.inputColor?item.inputColor:'#FF7B1A'}}" titleFontWeight="normal" required="{{item.required?true:false }}" requiredLeft="15rpx" titleColor="{{item.readonly?'#272829':'#95A8CB'}}" inputValue="{{form[item.code]}}" titleWidth = "174px"bind:triggerBindValue="changeNumberField" bind:triggerBindBlur="blurNumberField"percentSignFlag="{{item.percentSignFlag}}" negative="{{item.negative}}"></dk-number-input>
  
  
       <!--备注-->
       <!--备注-->
       <van-field wx:if="{{item.type=='textarea'}}" type="textarea" required="{{item.required?true:false }}" data-key="{{item.code}}" data-item="{{item}}" data-index="{{index}}" value="{{ form[item.code]}}" input-align="left" label="{{item.title?item.title:$t[item.code]}}" placeholder="{{wxmlUtil.setPlaceholder($t,item.title?item.title:item.code)}}" autosize border="{{ false }}" readonly="{{!!readonly || !!item.readonly}}" input-class="dk-cell-value-class" maxlength="{{item.maxlength?item.maxlength:500}}" right-icon="{{item.rightIcon}}" bind:change="changeField" errorMessage="{{item.errMsg}}">
       <van-field wx:if="{{item.type=='textarea'}}" type="textarea" required="{{item.required?true:false }}" data-key="{{item.code}}" data-item="{{item}}" data-index="{{index}}" value="{{ form[item.code]}}" input-align="left" label="{{item.title?item.title:$t[item.code]}}" placeholder="{{wxmlUtil.setPlaceholder($t,item.title?item.title:item.code)}}" autosize border="{{ false }}" readonly="{{!!readonly || !!item.readonly}}" input-class="dk-cell-value-class" maxlength="{{item.maxlength?item.maxlength:500}}" right-icon="{{item.rightIcon}}" bind:change="changeField" errorMessage="{{item.errMsg}}">

+ 6 - 0
mixins/index.js

@@ -1174,6 +1174,12 @@ module.exports = {
             guideUrl: data.guideUrl
             guideUrl: data.guideUrl
           })
           })
         }
         }
+        //是否返回原始页面
+        if (data.formReturnMode) {
+          _this.setData({
+            formReturnMode: data.formReturnMode
+          })
+        }
         if (data.params) {
         if (data.params) {
           _this.setData({
           _this.setData({
             params: data.params
             params: data.params

+ 222 - 60
package-basic-data/pages/beginner-guide/beginner-guide.js

@@ -1,66 +1,228 @@
-// package-basic-data/pages/beginner-guide/beginner-guide.js
+const Constants = require('@/utils/Constants.js');
 Page({
 Page({
 
 
-    /**
-     * 页面的初始数据
-     */
-    data: {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面加载
-     */
-    onLoad(options) {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面初次渲染完成
-     */
-    onReady() {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面显示
-     */
-    onShow() {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面隐藏
-     */
-    onHide() {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面卸载
-     */
-    onUnload() {
-
-    },
-
-    /**
-     * 页面相关事件处理函数--监听用户下拉动作
-     */
-    onPullDownRefresh() {
-
-    },
-
-    /**
-     * 页面上拉触底事件的处理函数
-     */
-    onReachBottom() {
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    stepsText: '录入商品信息是进行店铺管理的第一步,店铺信息的完善是精细化运营的必经之路',
+    steps: [
+      {
+        no: 1,
+        title: '录入资料',
+        status: 1
+      },
+      {
+        no: 2,
+        title: '开单记账',
+        status: 0
+      },
+      {
+        no: 3,
+        title: '分析报表',
+        status: 0
+      },
+    ],
+    stepsItems: [
+      {
+        title: '添加商品',
+        label: '管理你的商品信息',
+        desc: '演示教程'
+      },
+      {
+        title: '添加客户',
+        label: '维护你的客户资料',
+        desc: '演示教程'
+      },
+      {
+        title: '添加供应商',
+        label: '维护你的供应商',
+        desc: ''
+      },
+      {
+        title: '添加营业员',
+        label: '多人看店不忙碌',
+        desc: '演示教程'
+      },
+
+    ]
+  },
+  /**
+   * @desc :顶部步骤点击事件
+   * @date : 2024/6/13 08:49
+   * @author : 于继渤
+   */
+  handleClickStep(e) {
+    let steps = this.data.steps
+    let stepsItems = this.data.stepsItems
+    let stepsText = this.data.stepsText
+    let index = e.currentTarget.dataset.index
+    console.log(e.currentTarget.dataset.index)
+    steps.forEach(res => {
+      res.status = 0
+    })
+    steps[index].status = 1
+    if (steps[index].no == 1) {
+      stepsText = '录入商品信息是进行店铺管理的第一步,店铺信息的完善是精细化运营的必经之路'
+      stepsItems = [
+        {
+          title: '添加商品',
+          label: '管理你的商品信息',
+          desc: '演示教程'
+        },
+        {
+          title: '添加客户',
+          label: '维护你的客户资料',
+          desc: '演示教程'
+        },
+        {
+          title: '添加供应商',
+          label: '维护你的供应商',
+          desc: ''
+        },
+        {
+          title: '添加营业员',
+          label: '多人看店不忙碌',
+          desc: '演示教程'
+        }
+      ]
+
+    } else if (steps[index].no == 2) {
+      stepsText = '记录单据让每笔交易有速可循,告别手工记录,数字化管理店铺'
+      stepsItems = [
+        {
+          title: '销售单',
+          label: '卖一笔记一笔',
+          desc: '演示教程'
+        },
+        {
+          title: '进货单',
+          label: '记录每次进货',
+          desc: '演示教程'
+        },
+        {
+          title: '收款单',
+          label: '不忘每笔应收款',
+          desc: ''
+        },
+        {
+          title: '付款单',
+          label: '记录每笔应付款',
+          desc: ''
+        },
+      ]
+    } else if (steps[index].no == 3) {
+      stepsText = '系统自动生成数据报表,数据辅助决策,助力生意增长'
+      stepsItems = [
+        {
+          title: '利润统计',
+          label: '查看店铺盈利情况',
+          desc: '演示教程'
+        },
+        {
+          title: '销售统计',
+          label: '掌握商品销售排名',
+          desc: ''
+        },
+        {
+          title: '库存统计',
+          label: '库存清晰不错乱',
+          desc: ''
+        }
+      ]
+    }
 
 
-    },
+    this.setData({
+      steps: steps,
+      stepsItems: stepsItems,
+      stepsText: stepsText
+    })
+  },
+
+
+  /**
+   * @desc :列表点击事件
+   * @date : 2024/6/13 08:49
+   * @author : 于继渤
+   */
+  chickStepsItem(e) {
+    let item = e.currentTarget.dataset.item
+    let url = ''
+    if (item.title == '添加商品') {
+      url = '/package-basic-data/pages/product-file/add/add'
+    }
+    if (item.title == '添加客户') {
+      url = '/package-basic-data/pages/customer-list/add/add'
+    }
+    if (item.title == '添加供应商') {
+      url = '/package-purchase/pages/supplier-list/add/add'
+    }
+    if (item.title == '添加营业员') {
+      url = '/package-basic-data/pages/staff/add/add'
+    }
+    if (item.title == '销售单') {
+      url = '/package-sales/pages/order-billing/add/add'
+    }
+    if (item.title == '进货单') {
+      url = '/package-purchase/pages/purchase-order/add/add'
+    }
+    if (item.title == '收款单') {
+      url = '/'
+    }
+    if (item.title == '付款单') {
+      url = '/'
+    }
+    if (item.title == '利润统计') {
+      url = '/'
+    }
+    if (item.title == '销售统计') {
+      url = '/'
+    }
+    if (item.title == '库存统计') {
+      url = '/'
+    }
+    this.setData({
+      loading: true
+    })
+    let _this = this
+    wx.navigateTo({
+      url: url,
+      events: {
+        bandData: function (e) {
+        }
+      },
+      success: function (res) {
+        res.eventChannel.emit('params', {
+          formMode:  Constants.formMode.add ,
+          formReturnMode: Constants.formReturnMode.beginnerGuide 
+        })
+        setTimeout(() => {
+          _this.setData({
+            loading: false
+          })
+        }, 1000)
+      }
+    })
+  },
+
+  /**
+   * @desc :演示教程
+   * @date : 2024/6/13 08:49
+   * @author : 于继渤
+   */
+  openBeginnerGuide(e) {
+    let item = e.currentTarget.dataset.item
+    console.log('演示教程', item)
+  },
+
+
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad(options) {
+
+  },
 
 
-    /**
-     * 用户点击右上角分享
-     */
-    onShareAppMessage() {
 
 
-    }
 })
 })

+ 2 - 1
package-basic-data/pages/beginner-guide/beginner-guide.json

@@ -1,3 +1,4 @@
 {
 {
-    "usingComponents": {}
+    "usingComponents": {},
+    "navigationBarTitleText": "新手引导"
 }
 }

+ 41 - 2
package-basic-data/pages/beginner-guide/beginner-guide.wxml

@@ -1,2 +1,41 @@
-<!--package-basic-data/pages/beginner-guide/beginner-guide.wxml-->
-<text>package-basic-data/pages/beginner-guide/beginner-guide.wxml</text>
+<view class="dk-card-outer-class">
+  <view class="dk-card-class">
+    <view class="steps-container">
+      <view class="steps">
+        <view class="step-line-1"></view>
+        <view wx:for="{{steps}}" wx:key="index" class="step {{item.status}}" data-id="{{index}}">
+
+          <view class="step-icon">
+
+            <view wx:if="{{item.status === 1}}" catch:tap="handleClickStep" data-index="{{index}}" style="display: flex;align-items: center;justify-content:center; width: 60rpx;height: 60rpx; background-color: #1B365D;padding:10rpx;border-radius: 50%;color: white;">{{item.no}}</view>
+            <!-- <view wx:elif="{{item.status === 'completed'}}">2</view> -->
+            <view wx:else catch:tap="handleClickStep" data-index="{{index}}" style="display: flex;align-items: center;justify-content:center; width: 60rpx;height: 60rpx; padding:10rpx;border-radius: 50%;color: #1B365D;background-color: #F8F8F8;">{{item.no}}</view>
+
+
+            <view class="step-line" wx:if="{{index !== steps.length - 1}}"></view>
+          </view>
+          <view class="step-title">{{item.title}}</view>
+        </view>
+        <view class="step-line-2"></view>
+      </view>
+    </view>
+
+
+    <view style="padding:20rpx;padding-left: 30rpx;padding-right: 30rpx; font-size: 26rpx;color: #1B365D;line-height: 40rpx;">{{stepsText}}</view>
+  </view>
+
+</view>
+
+<view class="dk-card-outer-class">
+  <view class="dk-card-class">
+
+    <view wx:for="{{stepsItems}}">
+      <van-cell is-link label="{{item.label}}"  border="{{ false }}" data-item="{{item}}" bind:tap="chickStepsItem">
+        <view slot="title" style="display: flex;font-size: 30rpx;">
+          <view>{{item.title}}</view>
+          <view catch:tap="openBeginnerGuide"  data-item="{{item}}"  style="margin-left: 40rpx;color: #56CBD4;">{{item.desc}}</view>
+        </view>
+      </van-cell>
+    </view>
+  </view>
+</view>

+ 67 - 1
package-basic-data/pages/beginner-guide/beginner-guide.wxss

@@ -1 +1,67 @@
-/* package-basic-data/pages/beginner-guide/beginner-guide.wxss */
+.steps-container {
+  display: flex;
+  /* padding: 0 55rpx; */
+  padding: 10rpx;
+  justify-content: space-between;
+  /* width: 100%; */
+}
+.steps {
+  display: flex;
+  justify-content: space-between;
+  width: 100%;
+  position: relative;
+}
+ 
+.step {
+  display: flex;
+  align-items: center;
+  flex-direction: column;
+  flex: 1;
+}
+ 
+.step-icon {
+  width: 44rpx;
+  height: 44rpx;
+  position: relative;
+  margin: 10rpx 60rpx 60rpx 20rpx;
+}
+ 
+.step-title {
+  color: #1B365D;
+  text-align: center;
+  font-size: 30rpx;
+  font-weight: 500;
+  /* line-height: 44rpx; */
+}
+ 
+.step-title image {
+  width: 44rpx;
+  height: 44rpx;
+}
+ 
+.step-line {
+  width: 150rpx;
+  height: 2rpx;
+  background-color: #ccc;
+  position: absolute;
+  left: 80rpx;
+  top: 40rpx;
+}
+.step-line-1 {
+  width: 55rpx;
+  height: 2rpx;
+  background-color: #ccc;
+  position: absolute;
+  left: 20rpx;
+  /* z-index: 99; */
+  top: 50rpx;
+}
+.step-line-2 {
+  width: 55rpx;
+  height: 2rpx;
+  background-color: #ccc;
+  position: absolute;
+  right: 20rpx;
+  /* z-index: 99; */
+  top: 50rpx;
+}

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

@@ -61,6 +61,17 @@ Page({
       })
       })
     }
     }
   },
   },
+    /**
+    * @desc   : 打电话
+    * @author : 周兴
+    * @date   : 2024/2/19 11:46
+    */
+   openTelPhone(e) { 
+    let item = e.currentTarget.dataset.item; 
+    wx.makePhoneCall({
+      phoneNumber: item.cusPhone,
+    })
+  },
   /**
   /**
    * @desc : 收款单保存后重新刷新数据
    * @desc : 收款单保存后重新刷新数据
    * @date : 2024/5/24 15:49
    * @date : 2024/5/24 15:49

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

@@ -20,7 +20,7 @@
     <view>
     <view>
       <image class="scan-image-icon" fit="fill" src="{{imageUrl+'/customer_detail_02.png'}}"></image>
       <image class="scan-image-icon" fit="fill" src="{{imageUrl+'/customer_detail_02.png'}}"></image>
     </view>
     </view>
-    <view style="padding-left: 10rpx;">
+    <view style="padding-left: 10rpx;"catchtap="openTelPhone"data-item="{{item}}">
       {{item.cusPhone}}
       {{item.cusPhone}}
     </view>
     </view>
   </view>
   </view>

+ 12 - 0
package-basic-data/pages/product-file/add/add.js

@@ -949,6 +949,18 @@ Page({
         });
         });
       }, 200)
       }, 200)
     }
     }
+    //新手引导过来,需要返回
+    if (this.data.formReturnMode == Constants.formReturnMode.beginnerGuide) {
+      const eventChannel = this.getOpenerEventChannel();
+      eventChannel.emit('refresh', {
+        id: 1
+      })
+      setTimeout(() => {
+        wx.navigateBack({
+          delta: 1
+        });
+      }, 200)
+    }
   },
   },
   /**
   /**
    * @desc : 页面加载数据方法
    * @desc : 页面加载数据方法

+ 147 - 21
package-business-analysis/pages/echarts-data.js

@@ -16,44 +16,77 @@ const option1 = {
     width: '74%',
     width: '74%',
     y: '-7%',
     y: '-7%',
   },
   },
-  xAxis: {
-    offset: 5,
+  xAxis: [
+    {
+      offset: 5,
+      axisTick: {
+        show: false,
+      },
+      axisLine: {
+        onZero: false,
+        lineStyle: {
+          color: '#E9F0FE',
+          width: 2
+        },
+      },
+      axisLabel:{textStyle: { fontSize: 8, color: '#95A8CB' }},
+      type: 'category',
+      data: [],
+    }
+  ],
+  yAxis: [{
+    type: 'value',
     axisTick: {
     axisTick: {
       show: false,
       show: false,
     },
     },
     axisLine: {
     axisLine: {
-      onZero: false,
+      show: true,
+    },
+    axisLabel: {
+      show: true,
+    },
+    splitLine: {
       lineStyle: {
       lineStyle: {
-        color: '#E9F0FE',
-        width: 2
-      },
+        type: 'dashed',
+        color: '#41bc95',
+        opacity: 0.37
+      }
     },
     },
-    axisLabel:{textStyle: { fontSize: 8, color: '#95A8CB' }},
-    type: 'category',
-    data: [],
+    min: 0,
+    splitNumber: 3
   },
   },
-  yAxis: {
+  {
+    type: 'value',
     axisTick: {
     axisTick: {
       show: false,
       show: false,
     },
     },
     axisLine: {
     axisLine: {
-      show: false,
+      show: true,
     },
     },
     axisLabel: {
     axisLabel: {
-      show: false,
+      show: true,
     },
     },
     splitLine: {
     splitLine: {
       lineStyle: {
       lineStyle: {
         type: 'dashed',
         type: 'dashed',
-        color: '#95A8CB',
+        color: '#41bc95',
         opacity: 0.37
         opacity: 0.37
       }
       }
     },
     },
     min: 0,
     min: 0,
     splitNumber: 3
     splitNumber: 3
   },
   },
+],
   series: [
   series: [
     {
     {
+      name: '销售毛利',
+      barMinHeight:5,
+      barWidth: '20px',
+      data: [],
+      type: 'bar'
+    },
+    {
+      name: '销售毛利率',
       barMinHeight:5,
       barMinHeight:5,
       barWidth: '20px',
       barWidth: '20px',
       data: [],
       data: [],
@@ -307,7 +340,7 @@ const option3 = {
     {
     {
       showBackground: true,
       showBackground: true,
       backgroundStyle: {
       backgroundStyle: {
-        color: '#F8F9FD',
+        color: '#85a0f8',
         barBorderRadius: 6,
         barBorderRadius: 6,
       },
       },
       barWidth: '6px',
       barWidth: '6px',
@@ -341,26 +374,119 @@ const getWAmount = (number)=>{
 
 
 const getOpData = (data,labelKey,valueKey,optionType)=>{
 const getOpData = (data,labelKey,valueKey,optionType)=>{
   let options;
   let options;
+
+  //简化为万元 改为10000 不简化为1
+  let divisor = 1
+
   /* 1:正常的纵向 2:横向标题在左 3:横向标题在上*/
   /* 1:正常的纵向 2:横向标题在左 3:横向标题在上*/
   if(optionType === 1){
   if(optionType === 1){
-    options = {...option1}
-    options.xAxis.data = data.map(it=>it[labelKey].length>2?(it[labelKey].substring(0,2)+'\n'+it[labelKey].substring(2,4)):it[labelKey])
-    options.series[0].data = data.map((it,index)=>{return {value:getWAmount(it[valueKey]/10000),itemStyle: {color: option1BarColor[index],barBorderRadius: 1}}})
+    // options = {...option1}
+    options = {
+      tooltip: {
+        trigger: 'axis',
+        axisPointer: {
+          type: 'cross',
+          crossStyle: {
+            color: '#999'
+          }
+        }
+      },
+      grid: {
+        left: '15%',
+        width: '70%',
+        // y: '-7%',
+      },
+      legend: {
+        data: ['销售毛利', '销售毛利率'],
+        left: '0%',
+        // top: '1%'
+      },
+      xAxis: [
+        {
+          type: 'category',
+          data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
+          axisPointer: {
+            type: 'shadow'
+          }
+        }
+      ],
+      yAxis: [
+        {
+          type: 'value',
+          name: '销售毛利',
+    
+          // interval: 50,
+          axisLabel: {
+            formatter: '¥{value}'
+          }
+        },
+        {
+          type: 'value',
+          name: '销售毛利率',
+          // min: 0,
+          // max: 100,
+          // min: 0,
+          // max: 25,
+          // interval: 5,
+          axisLabel: {
+            formatter: '{value}%'
+          }
+        }
+      ],
+      series: [
+        {
+          name: '销售毛利',
+          type: 'bar',
+          color: '#41be92',
+          tooltip: {
+            // valueFormatter: function (value) {
+            //   return value + ' ml';
+            // }
+          },
+          data: [
+            2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3
+          ]
+        },
+        {
+          name: '销售毛利率',
+          type: 'line',
+          color: '#efc25b',
+          yAxisIndex: 1,
+          tooltip: {
+            // valueFormatter: function (value) {
+            //   return value + ' ml';
+            // }
+          },
+          data: [
+            2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3
+          ]
+        }
+      ]
+    };
+    // options.xAxis.data = data.map(it=>it[labelKey].length>2?(it[labelKey].substring(0,2)+'\n'+it[labelKey].substring(2,4)):it[labelKey])
+    options.xAxis[0].data = data.map(it=>it[labelKey])
+    // options.yAxis[0].data = data.map(it=>getWAmount(it[valueKey]/divisor))
+    // options.yAxis[1].data = data.map(it=>it.profitRate)
 
 
+    // options.yAxis[0].data = data.map(it=>getWAmount(it[valueKey]/divisor))
+    // options.series[0].data = data.map((it,index)=>{return {value:getWAmount(it.profit/divisor),itemStyle: {color: option1BarColor[index],barBorderRadius: 1}}})
+    options.series[0].data = data.map(it=>it.profit)
+    options.series[1].data = data.map(it=>it.profitRate)
+console.log('options',options)
     return options;
     return options;
   }
   }
   if(optionType === 2){
   if(optionType === 2){
     options = {...option2} /** 业务员姓名太长 type2也用type3的展现形式 单独换下颜色*/
     options = {...option2} /** 业务员姓名太长 type2也用type3的展现形式 单独换下颜色*/
     options.yAxis[0].data = data.map(it=>it[labelKey])
     options.yAxis[0].data = data.map(it=>it[labelKey])
-    options.yAxis[1].data = data.map(it=>getWAmount(it[valueKey]/10000))
-    options.series[0].data = data.map(it=>getWAmount(it[valueKey]/10000))
+    options.yAxis[1].data = data.map(it=>getWAmount(it[valueKey]/divisor))
+    options.series[0].data = data.map(it=>getWAmount(it[valueKey]/divisor))
     return options
     return options
   }
   }
   if(optionType === 3){
   if(optionType === 3){
     options = {...option3}
     options = {...option3}
     options.yAxis[0].data = data.map(it=>it[labelKey])
     options.yAxis[0].data = data.map(it=>it[labelKey])
-    options.yAxis[1].data = data.map(it=>getWAmount(it[valueKey]/10000))
-    options.series[0].data = data.map(it=>getWAmount(it[valueKey]/10000))
+    options.yAxis[1].data = data.map(it=>getWAmount(it[valueKey]/divisor))
+    options.series[0].data = data.map(it=>getWAmount(it[valueKey]/divisor))
     return options
     return options
   }
   }
 }
 }

+ 1 - 1
package-inventory/pages/ivt-warning-report/ivt-warning-report.wxml

@@ -3,7 +3,7 @@
 <loading wx:if="{{loading}}"></loading>
 <loading wx:if="{{loading}}"></loading>
 <van-dialog id="van-dialog" />
 <van-dialog id="van-dialog" />
 <van-sticky offset-top="{{ 0 }}">
 <van-sticky offset-top="{{ 0 }}">
-  <dk-navbar titleFontColor="#000000" navbarTitle="库存查询" bind:clickBack="handleNavBack" operateShow="{{ guideUrl ? true: false}}" operateUrl="{{guideUrl}}"  bind:getNavbarHeight="getNavbarHeight"/>
+  <dk-navbar titleFontColor="#000000" navbarTitle="库存预警" bind:clickBack="handleNavBack" operateShow="{{ guideUrl ? true: false}}" operateUrl="{{guideUrl}}"  bind:getNavbarHeight="getNavbarHeight"/>
   <!-- 查询条件 -->
   <!-- 查询条件 -->
   <dk-dropdown-menu model:value="{{searchForm}}" menuList="{{searchContent}}" pullMenuList="{{pullMenuList}}" navBarHeight="{{navBarHeight}}"bind:search="searchData" searchTextPlaceholder="{{wxmlUtil.setSearchPlaceholder($t,['skuName','skuModel','colorNumber'])}}">
   <dk-dropdown-menu model:value="{{searchForm}}" menuList="{{searchContent}}" pullMenuList="{{pullMenuList}}" navBarHeight="{{navBarHeight}}"bind:search="searchData" searchTextPlaceholder="{{wxmlUtil.setSearchPlaceholder($t,['skuName','skuModel','colorNumber'])}}">
   </dk-dropdown-menu>
   </dk-dropdown-menu>

+ 1 - 1
package-sales/pages/order-billing/add/add.js

@@ -338,7 +338,7 @@ Page({
       value = Number(e.detail.value)
       value = Number(e.detail.value)
       dataItem.factAmt = value
       dataItem.factAmt = value
       //折扣 = (实际合计金额+优惠)/合计金额
       //折扣 = (实际合计金额+优惠)/合计金额
-      dataItem.discount = Math.floor(((Number(value) + Number(dataItem.discAmt)) / Number(dataItem.sumAmount)) * 100)
+      dataItem.discount = dataItem.sumAmount? Math.floor(((Number(value) + Number(dataItem.discAmt)) / Number(dataItem.sumAmount)) * 100):0
       if (dataItem.sumAmount != 0) { //预防 算出的折扣是无线循环  差的金额 放到优惠上
       if (dataItem.sumAmount != 0) { //预防 算出的折扣是无线循环  差的金额 放到优惠上
         dataItem.discAmt = ((dataItem.sumAmount * (dataItem.discount / 100)) - dataItem.factAmt).toFixed(2)
         dataItem.discAmt = ((dataItem.sumAmount * (dataItem.discount / 100)) - dataItem.factAmt).toFixed(2)
       }
       }

+ 2 - 2
package-sales/pages/order-billing/add/add.wxml

@@ -7,11 +7,11 @@
 bind:editItems="editItems"  bind:openChoosedItemInfo="openChoosedItemInfo" deleteName="deleteItemList"bind:onCloseDel="deleteItemList" 
 bind:editItems="editItems"  bind:openChoosedItemInfo="openChoosedItemInfo" deleteName="deleteItemList"bind:onCloseDel="deleteItemList" 
 bind:customersChoose="customersChoose" bind:changeCheckBox="changeCheckBox" bind:changePhoneblur="changePhoneblur"  popType="sale" priceTitle="" staff="staff" org="org"bind:openReverseCalculationPop="openReverseCalculationPop"reverseCalculationFlag="true"wholeOrderDiscountCol="discount"discountAmountCol="discAmt">
 bind:customersChoose="customersChoose" bind:changeCheckBox="changeCheckBox" bind:changePhoneblur="changePhoneblur"  popType="sale" priceTitle="" staff="staff" org="org"bind:openReverseCalculationPop="openReverseCalculationPop"reverseCalculationFlag="true"wholeOrderDiscountCol="discount"discountAmountCol="discAmt">
 </dk-form-bill>
 </dk-form-bill>
-<van-dialog id="van-dialog" />
+<van-dialog id="van-dialog" />  
 <view style="height: 200rpx;"></view>
 <view style="height: 200rpx;"></view>
 
 
 <!--  保存 -->
 <!--  保存 -->
-<dk-save-button id="saveButton"  model:value="{{btnFormData}}" btnAutoWidthFlag="{{true}}" contentLineFlag="{{false}}" btnRightFlag="{{true}}" buttonList="{{buttonSaveList}}" bind:open="saveButton" contentList="{{contentSaveList}}" bind:change="saveChange"></dk-save-button>
+<dk-save-button id="saveButton"  model:value="{{btnFormData}}" btnAutoWidthFlag="{{formMode != 'add'}}" contentLineFlag="{{false}}" btnRightFlag="{{true}}" buttonList="{{buttonSaveList}}" bind:open="saveButton" contentList="{{contentSaveList}}" bind:change="saveChange"></dk-save-button>
 <!-- 修改价格反算 -->
 <!-- 修改价格反算 -->
 <dk-popup type="basic" title="修改价格"   value="{{dataItem}}" show="{{showReverseCalculationPop}}" routeObjName="{{routeObjName}}" contentObj="{{popContentReverse}}" validFlag="{{true}}"  bind:blurNumberField ="blurNumberField"   bind:commit="editItemsReverse"  ></dk-popup>
 <dk-popup type="basic" title="修改价格"   value="{{dataItem}}" show="{{showReverseCalculationPop}}" routeObjName="{{routeObjName}}" contentObj="{{popContentReverse}}" validFlag="{{true}}"  bind:blurNumberField ="blurNumberField"   bind:commit="editItemsReverse"  ></dk-popup>
 <!--  新手引导 -->
 <!--  新手引导 -->

+ 7 - 1
pages/home-page/home-page.js

@@ -141,7 +141,8 @@ Page({
     ],
     ],
     // 功能模块组件高度和宽度
     // 功能模块组件高度和宽度
     funcViewHeight: 0,
     funcViewHeight: 0,
-    funcViewWidth: 0
+    funcViewWidth: 0,
+    freeVersionFlag: true,
   },
   },
   /**
   /**
   * @desc : 切换公司
   * @desc : 切换公司
@@ -427,6 +428,11 @@ Page({
    * 生命周期函数--监听页面加载
    * 生命周期函数--监听页面加载
    */
    */
   onLoad: function (options) {
   onLoad: function (options) {
+    const gradeCode = app.globalData.company.gradeCode;
+    console.log('gradeCode', gradeCode);
+    this.setData({
+      freeVersionFlag: gradeCode === 'STD'
+    })
     // 如果企业还有15天到期给出提示信息
     // 如果企业还有15天到期给出提示信息
     let company = app.globalData.company;
     let company = app.globalData.company;
     if (company && company.endDate) {
     if (company && company.endDate) {

+ 1 - 1
pages/home-page/home-page.wxml

@@ -78,7 +78,7 @@
   <view wx:if="{{advertisementList && advertisementList.length == 0}}" style="margin-top: 10rpx;"></view>
   <view wx:if="{{advertisementList && advertisementList.length == 0}}" style="margin-top: 10rpx;"></view>
   <view class="func">
   <view class="func">
     <!-- 水印模块 -->
     <!-- 水印模块 -->
-    <view class="permissions-masks-fa" catchtap="masksClick" style="height: {{ funcViewHeight }}px;">
+    <view class="permissions-masks-fa" wx:if="{{freeVersionFlag}}" catchtap="masksClick" style="height: {{ funcViewHeight }}px;">
       <canvas canvas-id="watermarkCanvas" id="watermarkCanvas" style="width: {{funcViewWidth}}px; height: {{ funcViewHeight }}px;"></canvas>
       <canvas canvas-id="watermarkCanvas" id="watermarkCanvas" style="width: {{funcViewWidth}}px; height: {{ funcViewHeight }}px;"></canvas>
     </view>
     </view>
     <view style="display:flex;flex-wrap: wrap;justify-content: center;">
     <view style="display:flex;flex-wrap: wrap;justify-content: center;">

+ 4 - 0
utils/Constants.js

@@ -193,6 +193,10 @@ module.exports = {
     //详情编辑
     //详情编辑
     detailEdit: 'detailEdit'
     detailEdit: 'detailEdit'
   },
   },
+  //是否返回原始页面
+  formReturnMode:{
+    beginnerGuide:'beginnerGuide'
+  },
   formType: {
   formType: {
     shopping: 'shopping'
     shopping: 'shopping'
   },
   },