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

1.修改续费
2、修改获取菜单

zhoux 1 год назад
Родитель
Сommit
feb94f8257

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

@@ -1,4 +1,4 @@
-<view style="display: flex;">
+<view style="display: flex;align-items: center;">
   <dk-tag padding="0 8rpx" class="vanTag" wx:if="{{titleTag && titleTag.length > 0}}" fontSize="{{fontSize + 'px'}}" value="{{titleTag}}"></dk-tag>
   <view class="title_class" style="--indent--:{{(indent && indent!= 0)?(indent + 'rpx'):((titleTag.length * fontSize + 2 + 12 ) * 2 + 'rpx') }};--height--:{{title.length == 0?'50rpx':'auto'}};color:#1B365D; margin-left: 8rpx;  font-weight:bold; --titleFontSize--:{{titleFontSize}} ">
     {{title}}

+ 1 - 0
i18n/zh-CN.js

@@ -21,6 +21,7 @@ const button = {
   leaveOffice: '离职',
   flgCanWxLogin: '手机登录',
   flgCanPcLogin: '电脑登录',
+  userAuthorize:'用户授权',
   flgCanLogin: '登录标识',
   parent: '父级',
   default: '默认',

+ 3 - 0
mixins/index.js

@@ -70,6 +70,8 @@ module.exports = {
     table: null,
     // 界面的功能编码
     menuUuid: null,
+    // 操作手册跳转的链接
+    guideUrl:null,
     // 语言包
     $t: app.globalData.lang,
     // 是否进行校验
@@ -1134,6 +1136,7 @@ module.exports = {
             other: data.item ? (data.item.button ? data.item.button.other : null) : "",
             formMode: data.formMode,
             menuUuid: data.menuUuid,
+            guideUrl:data.guideUrl
           })
         }
         if(data.params){

+ 75 - 3
package-basic-data/pages/activity/activity.js

@@ -16,10 +16,11 @@ Page({
      * 页面的初始数据
      */
     data: {
+        freeFlag: false,
         // 企业名称
         companyName: null,
-        staffName: null,
-        staffPhone: null,
+        cpManager: null,
+        cpPhone: null,
         webMaxNum: null,
         wxMaxNum: null,
         cpEndDate: null,
@@ -117,6 +118,37 @@ Page({
         this.countStaffInfo();
     },
     /**
+     * @desc : 获取标准版的价格显示
+     * @author : 周兴
+     * @date : 2024/4/1
+     */
+    countSummaryAmountSTD() {
+        let item = this.data.curentAdItem;
+        let summaryInfo = this.data.summaryInfo
+        let amount = 0;
+        // 先清空
+        summaryInfo.amountInfo = '';
+        // 手机端用户
+        if (summaryInfo.wxMaxNum) {
+            summaryInfo.amountInfo += item.wxPrice + '*' + summaryInfo.wxMaxNum
+            amount += item.wxPrice * summaryInfo.wxMaxNum
+        }
+        if (summaryInfo.amountInfo) {
+            summaryInfo.amountInfo += ' = ' + amount + '(元)'
+            summaryInfo.amount = amount;
+        }
+        // 计算一授权一天的单价
+        if (summaryInfo.userEndDate) {
+            let extendDays = new Date(summaryInfo.userEndDate).dayDiff(new Date());
+            let price = (summaryInfo.amount / summaryInfo.wxMaxNum / extendDays).toFixed(2);
+            summaryInfo.priceInfo = price
+        }
+
+        this.setData({
+            summaryInfo: summaryInfo
+        })
+    },
+    /**
      * @desc : 统计电脑端和手机端的用户数
      * @author : 周兴
      * @date : 2024/4/1
@@ -280,21 +312,61 @@ Page({
                     this.setData({
                         activityTable: activityTable
                     })
+                    // 如果是标准版,需要进行截止日期的处理
+                    if (this.data.gradeCode == Constants.gradeCode.STD) {
+                        this.handleDataStd(activityTable);
+                    }
                 }
             }
         });
     },
     /**
+     * @desc : 标准版处理数据
+     * @author : 周兴
+     * @date : 2024/4/1
+     */
+    handleDataStd(activityTable) {
+        if (activityTable && activityTable.length > 0) {
+            let item = activityTable[0]
+            this.setData({
+                curentAdItem: item
+            })
+            let summaryInfo = this.data.summaryInfo
+            let months = item.validLong + item.extraLong
+            let endDate = new Date().addMonths(months).addDays(-1)
+            // 如果截止日期是空,就取活动中的截止日期
+            if (!summaryInfo.userEndDate) {
+                summaryInfo.userEndDate = endDate.toDateStr();
+            }
+            console.log('summaryInfo', summaryInfo.userEndDate, endDate, months);
+
+            this.setData({
+                summaryInfo: summaryInfo
+            })
+            // 计算金额
+            this.countSummaryAmountSTD();
+        }
+    },
+    /**
      * 生命周期函数--监听页面加载
      */
     onLoad(options) {
         this.setData({
             companyName: app.globalData.company.cpName,
-            staffName: app.globalData.user.staffName,
+            cpManager: app.globalData.company.cpManager,
+            cpPhone: app.globalData.company.cpPhone,
             cpEndDate: app.globalData.company.endDate,
             webMaxNum: app.globalData.company.webMaxNum,
             wxMaxNum: app.globalData.company.wxMaxNum,
         })
+        // 如果是标准版,需要获取用户授权数(手机)
+        let summaryInfo = {}
+        summaryInfo.wxMaxNum = this.data.wxMaxNum
+        // 续费用户到期日期
+        summaryInfo.userEndDate = app.globalData.company.userEndDate
+        this.setData({
+            summaryInfo: summaryInfo
+        })
         // 获取活动
         this.getActivity();
         // 获取当前用户授权数

+ 37 - 9
package-basic-data/pages/activity/activity.wxml

@@ -8,16 +8,17 @@
 		<!-- 头像 -->
 		<open-data type="userAvatarUrl" class='wx-avatar'></open-data>
 		<view style="margin-left: 30rpx;">
-			<view class="cp-class">{{companyName}} <dk-tag style="margin-left: 20rpx;" type="primary" padding="0 10rpx" height="30rpx" color="linear-gradient(77.62deg, #CAA977 12.58%, #FFDA7A 85.49%),conic-gradient(from 154.5deg at 29.17% -8.33%, #FFE8BA -0.56deg, rgba(255, 230, 165, 0) 0.26deg, rgba(227, 184, 73, 0.34) 17.37deg, rgba(240, 187, 253, 0.23) 347.83deg, rgba(186, 234, 255, 0.38) 353.78deg, #FFE8BA 359.44deg, rgba(255, 230, 165, 0) 360.26deg);" textColor="#1B365D" radius="10rpx" fontSize="9px"  value="{{gradeCode == 'STD'?$t['std']:$t['pro']}}" catchtap="expandCard" data-item="{{card}}" data-index="{{cardIndex}}"></dk-tag></view>
-			<view class="staff-class">{{staffName + (staffPhone?(' | ' + staffPhone):'')}}</view>
-			<view class="end-date-class">{{$t['cpEndDate'] + ':' + cpEndDate}}</view>
+			<view class="cp-class">{{companyName}} <dk-tag style="margin-left: 20rpx;" type="primary" padding="0 10rpx" height="30rpx" color="linear-gradient(77.62deg, #CAA977 12.58%, #FFDA7A 85.49%),conic-gradient(from 154.5deg at 29.17% -8.33%, #FFE8BA -0.56deg, rgba(255, 230, 165, 0) 0.26deg, rgba(227, 184, 73, 0.34) 17.37deg, rgba(240, 187, 253, 0.23) 347.83deg, rgba(186, 234, 255, 0.38) 353.78deg, #FFE8BA 359.44deg, rgba(255, 230, 165, 0) 360.26deg);" textColor="#1B365D" radius="10rpx" fontSize="9px" value="{{gradeCode == 'STD'?$t['std']:$t['pro']}}" catchtap="expandCard" data-item="{{card}}" data-index="{{cardIndex}}"></dk-tag>
+			</view>
+			<view class="staff-class">{{cpManager + (cpPhone?(' | ' + cpPhone):'')}}</view>
+			<view class="end-date-class" wx:if="{{gradeCode != 'STD'}}">{{$t['cpEndDate'] + ':' + cpEndDate}}</view>
 			<view class="staff-count-class">{{'手机端授权:' + wxMaxNum + '个,电脑端授权' + webMaxNum + '个' }}</view>
 		</view>
 	</view>
 </view>
 
-<!--活动-->
-<view class="func">
+<!--活动(专业版)-->
+<view class="func" wx:if="{{gradeCode != 'STD'}}">
 	<view style="display:flex;flex-wrap: wrap;">
 		<view class="{{(curentAdItem && curentAdItem.itemId == item.itemId)?'func-card-selected':'func-card'}}" wx:for="{{activityTable}}" wx:for-item="item" wx:key="index" data-item="{{item}}" catchtap="chooseAdItem">
 			<!-- 标题 -->
@@ -32,8 +33,26 @@
 	</view>
 </view>
 
+<!--活动(标准版)-->
+<view class="func" wx:if="{{gradeCode == 'STD'}}">
+	<view style="display:flex;flex-wrap: wrap;">
+		<view class="func-card-std" wx:for="{{activityTable}}" wx:for-item="item" wx:key="index" data-item="{{item}}">
+			<!-- 标题 -->
+			<view class="card-title-std">{{item.activityItemName}}
+			</view>
+			<!-- 价格-->
+			<dk-cell fontSize="19" center="center" contentFontWeight="700" contentColor="#FF7B1A" content="{{item.wxPrice}}"></dk-cell>
+			<!-- 授权-->
+			<view class="card-desc-std">
+				<view>{{$t['userAuthorize']}}</view>
+				<van-stepper integer="{{true}}" value="{{ summaryInfo.wxMaxNum}}" min="1" bind:change="onChangeStepper" />
+			</view>
+		</view>
+	</view>
+</view>
+
 <!--用户数-->
-<view class="card-class">
+<view class="card-class" wx:if="{{gradeCode != 'STD'}}">
 	<!--用户数量-->
 	<van-cell border="{{ false }}" title-class="cell_title">
 		<view slot="title" style="display: flex;">
@@ -66,8 +85,8 @@
 	</van-cell>
 </view>
 
-<!--合计-->
-<view class="summary-class">
+<!--合计(专业版)-->
+<view class="summary-class" wx:if="{{gradeCode != 'STD'}}">
 	<view class="summary-item-class">订单详情:</view>
 	<view class="summary-item-class">{{summaryInfo.amountInfo}}</view>
 	<view class="summary-item-class">截止日期:{{summaryInfo.endDate}}</view>
@@ -76,8 +95,17 @@
 		折合<dk-cell fontSize="14" left="5rpx" fontWeight="bold" height="45rpx" contentColor="#FF7B1A" content="{{summaryInfo.priceInfo}}"></dk-cell>/天/授权</view>
 </view>
 
+<!--合计(标准版)-->
+<view class="summary-class" wx:if="{{gradeCode == 'STD'}}">
+	<view class="summary-item-class">订单详情:</view>
+	<view class="summary-item-class">{{summaryInfo.amountInfo}}</view>
+	<view class="summary-item-class">截止日期:{{summaryInfo.userEndDate}}</view>
+	<view class="summary-item-class" style="display: flex;justify-content: flex-end;" wx:if="{{summaryInfo.wxMaxNum}}">
+		折合<dk-cell fontSize="14" left="5rpx" fontWeight="bold" height="45rpx" contentColor="#FF7B1A" content="{{summaryInfo.priceInfo}}"></dk-cell>/天/授权</view>
+</view>
+
 <!--注册须知-->
-<view class="notice-class">
+<view class="notice-class" wx:if="{{gradeCode != 'STD'}}">
 	<view class="notice-item-class" style="font-size: 16px;font-weight: bold;">{{noticeInfo.title}}</view>
 	<view class="notice-item-class">{{noticeInfo.cpName}}</view>
 	<view class="notice-item-class">{{noticeInfo.contact}}</view>

+ 32 - 0
package-basic-data/pages/activity/activity.wxss

@@ -115,6 +115,15 @@ page {
 	border: 3rpx solid #CE9965;
 }
 
+.func-card-std{
+	margin: 15rpx 30rpx;
+	width: 50%;
+	height: 215rpx;
+	background: #FCF0DD;
+	border-radius: 19rpx;
+	border: 3rpx solid #CE9965;
+}
+
 .card-name {
 	font-style: normal;
 	font-weight: 600;
@@ -136,6 +145,18 @@ page {
 	font-weight: 600;
 }
 
+.card-title-std{
+	margin-top: 10rpx;
+	margin-left:20rpx;
+	display: flex;
+	height: 54rpx;
+	align-items: center;
+	width: 100%;
+	color: #1B365D;
+	font-size: 16px;
+	font-weight: 600;
+}
+
 .card-desc{
 	margin-top: 10rpx;
 	display: flex;
@@ -147,6 +168,17 @@ page {
 	font-size: 11px;
 }
 
+.card-desc-std{
+	margin: 10rpx 20rpx;
+	display: flex;
+	height: 54rpx;
+	align-items: center;
+	justify-content: space-between;
+	color: #1B365D;
+	font-weight: bold;
+	font-size: 14px;
+}
+
 .card-class{
 	margin: 0 30rpx;
 	border-radius: 16rpx;

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

@@ -315,13 +315,15 @@ Page({
     }
 
     let hasRightFlag = false;
-    let menuUuid = null
+    let menuUuid = null;
+    let guideUrl = null;
     let menuList = app.globalData.menus
     if (menuList && menuList.length > 0) {
       // 查看该功能是否有权限
       let filters = menuList.filter(it => it.objectCode == (item.objectCode || item.code));
       if (filters && filters.length > 0) {
         menuUuid = filters[0].menuUuid
+        guideUrl = filters[0].guideUrl
         hasRightFlag = true;
       }
     }
@@ -334,7 +336,7 @@ Page({
       wx.navigateTo({
         url: item.objectPath ? item.objectPath : item.url,
         success: function (res) {
-          res.eventChannel.emit('params', { formMode: 'index', menuUuid: menuUuid })
+          res.eventChannel.emit('params', { formMode: 'index', menuUuid: menuUuid ,guideUrl:guideUrl})
         }
       })
     }

+ 24 - 15
pages/index/index.js

@@ -20,8 +20,8 @@ Page({
    * 页面的初始数据
    */
   data: {
-    imageUrl:config.image_url + '/static/img/',
-    editTip:'长按拖动可以调整应用位置',
+    imageUrl: config.image_url + '/static/img/',
+    editTip: '长按拖动可以调整应用位置',
     size: 4,
     showMore: false,
     editFlag: false, // 编辑模式
@@ -75,22 +75,22 @@ Page({
   * @author : 周兴
   * @date : 2024/3/29
   */
-  comItemClick(e){
-    console.log('e',e);
+  comItemClick(e) {
+    console.log('e', e);
     // 操作常用应用
-    this.toApp(e,true);
-    setTimeout(()=>{
+    this.toApp(e, true);
+    setTimeout(() => {
       this.initDrag()
-    },50)
+    }, 50)
   },
   /**
   * @desc : 初始化drag组件
   * @author : 周兴
   * @date : 2024/3/29
   */
-  initDrag(){
+  initDrag() {
     let drag = this.selectComponent('#drag');
-    if(drag){
+    if (drag) {
       drag.init();
     }
   },
@@ -101,9 +101,9 @@ Page({
   */
   dragEnd(e) {
     this.setData({
-      comMenuList:e.detail.listData
+      comMenuList: e.detail.listData
     })
-	},
+  },
   /**
   * @desc : 进入编辑模式
   * @author : 周兴
@@ -378,13 +378,13 @@ Page({
   },
 
   /* 点击icon事件 */
-  toApp(e,comFlag) {
+  toApp(e, comFlag) {
     // 编辑模式不跳页
     if (this.data.editFlag) {
-      if(comFlag){
+      if (comFlag) {
         // 删除常用功能
         this.delCom(e.detail.data);
-      }else{
+      } else {
         // 增加到常用功能
         this.addToCom(e.currentTarget.dataset.item);
         // 刷新drag组件
@@ -412,11 +412,20 @@ Page({
       })
       return
     }
+    let guideUrl = null;
+    let menuList = app.globalData.menus
+    if (menuList && menuList.length > 0) {
+      // 查看该功能是否有权限
+      let filters = menuList.filter(it => it.objectCode == code);
+      if (filters && filters.length > 0) {
+        guideUrl = filters[0].guideUrl
+      }
+    }
     // 调转页面
     wx.navigateTo({
       url: url,
       success: function (res) {
-        res.eventChannel.emit('params', { formMode: 'index', menuUuid: code })
+        res.eventChannel.emit('params', { formMode: 'index', menuUuid: code, guideUrl: guideUrl })
       }
     })
   },

+ 17 - 5
pages/welcome/welcome.js

@@ -165,12 +165,14 @@ Page({
                     _this.getInfoAfterLogin()
                 }
             }
-            else if (res.data.code === 1015) {
-                // 当前用户未注册
+            else if (res.data.code === 1015 || res.data.code === 1016) {
+                // 当前用户未注册 // 公司到期
                 // 调转选择公司
-                wx.reLaunch({
-                    url: '../../pages/login/login',
-                })
+                setTimeout(() => {
+                    wx.reLaunch({
+                        url: '../../pages/login/login',
+                    })
+                }, 2000)
             }
         })
     },
@@ -228,6 +230,16 @@ Page({
                                 filters[0].name = '销售明细表'
                             }
                         }
+                        // 处理操作链接
+                        let filters = menuList.filter(it=>it.menuTags)
+                        if(filters && filters.length > 0){
+                            filters.forEach(t=>{
+                                if(t.menuTags.value){
+                                    let val = JSON.parse(t.menuTags.value)
+                                    t.guideUrl = val.guideUrl
+                                }
+                            })
+                        }
                         app.globalData.menus = menuList
                     }
                     // 常用菜单