Browse Source

通告添加倒计时

xiaohaizhao 1 year ago
parent
commit
59f8f9a2de

+ 24 - 1
pages/index/annunciate/index.js

@@ -8,6 +8,9 @@ Component({
     lookItem: null,
     show: false,
     height: 0,
+    countDown: 10,
+    Interval: null,
+    sat_noticeids: [],
   },
   methods: {
     getList() {
@@ -54,6 +57,26 @@ Component({
         lookItem.content = res.data.content;
         lookItem.inquire = true;
         this.data.list[lookItem.rowindex - 1].content = res.data.content;
+
+        if (!this.data.sat_noticeids.some(v => v == res.data.sat_noticeid)) {
+          this.data.sat_noticeids.push(res.data.sat_noticeid)
+          this.setData({
+            countDown: 10
+          })
+          this.data.Interval = setInterval(() => {
+            if (this.data.countDown == 0) {
+              clearInterval(this.data.Interval)
+              this.setData({
+                Interval: null
+              })
+            } else {
+              this.setData({
+                countDown: this.data.countDown - 1
+              })
+            }
+          }, 1000);
+        }
+
         this.setData({
           lookItem
         });
@@ -101,6 +124,7 @@ Component({
       })
     },
     changeLook(e) {
+      if (this.data.countDown != 0) return;
       let lookItem = this.data.lookItem;
       this.rander("")
       switch (e.target.id) {
@@ -119,7 +143,6 @@ Component({
           lookItem.inquire ? this.rander(lookItem.content) : this.getDetail();
           break;
         default:
-          console.log("关闭")
           this.setData({
             show: false
           })

+ 3 - 1
pages/index/annunciate/index.scss

@@ -50,11 +50,13 @@
 		.count {
 			font-size: 28rpx;
 			color: #666;
+			flex: 1;
 		}
 
 		.button-box {
 			display: flex;
-
+			justify-content: flex-end;
+			flex: 1;
 			.button {
 				height: 50rpx;
 			}

+ 8 - 4
pages/index/annunciate/index.wxml

@@ -22,12 +22,16 @@
 			<view class="count">
 				{{lookItem.rowindex}}/{{list.length}}
 			</view>
+			<view wx:if="{{countDown}}" style="text-align: center;font-size: 24rpx;color: #999;">
+				倒计时:{{countDown}}秒
+			</view>
 			<view class="button-box">
-				<van-button custom-class='button' wx:if="{{lookItem.rowindex!=1}}" plain type="info" id='previous' catchtap="changeLook">上一条</van-button>
+				<van-button custom-class='button' wx:if="{{lookItem.rowindex!=1 && !countDown}}" plain type="info" id='previous' catchtap="changeLook">上一条</van-button>
 				<view style="width: 20rpx;" />
-				<van-button wx:if="{{lookItem.rowindex==list.length}}" custom-class='button' plain type="info" catchtap="changeLook">关闭</van-button>
-				<van-button wx:else custom-class='button' plain type="info" id='next' catchtap="changeLook">下一条</van-button>
+				<van-button wx:if="{{lookItem.rowindex==list.length}}" disabled='{{countDown!=0}}' custom-class='button' plain type="info" catchtap="changeLook">关闭</van-button>
+				<van-button wx:else custom-class='button' disabled='{{countDown!=0}}' plain type="info" id='next' catchtap="changeLook">下一条</van-button>
 			</view>
 		</view>
 	</view>
-</van-popup>
+</van-popup>
+<!-- {{countDown?countDown+'s':'下一条'}} -->

+ 6 - 48
pages/index/index.js

@@ -90,58 +90,11 @@ Page({
 		if (page && wx.getStorageSync('userauth').length != 0) {
 			let authList = {},
 				entrance = [{
-					label: "营销工具",
-					icon: "work-yingxiaogongju",
-					appid: "wx7505ddb0a1ec6146",
-					list: gettool()
-				}, {
 					label: "E-订单",
 					appid: "wx7505ddb0a1ec6146",
 					icon: "work-E-dingdan",
 					list: getedd()
 				}];
-			//营销工具
-			function gettool() {
-				const paths = [{
-					name: "通告",
-					path: "/marketing/annunciate/index",
-					icon: "work-a-shouyejingangqutonggao",
-					objectname: "sat_notice"
-				}, {
-					name: "营销物料",
-					path: "/marketing/mediaLibrary/index",
-					icon: "work-a-shouyejingangquyingxiaowuliao",
-					objectname: "sys_attachment"
-				}, {
-					name: "推广素材",
-					path: "/marketing/promotional/index",
-					icon: "work-a-shouyejingangqutuiguangsucai",
-					objectname: "sat_sharematerial"
-				}, {
-					name: "商学院",
-					path: "/marketing/college/index",
-					icon: "work-a-shangxueyuanxuexi",
-					objectname: "sat_courseware"
-				}, {
-					name: "提报",
-					path: "/marketing/submission/index",
-					icon: "work-a-tibaoguanlitibao",
-					objectname: "sat_submiteditmodel"
-				}];
-				let tool = getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ['营销工具'], paths.map(v => v.name)),
-					list = [];
-				tool.forEach(v => {
-					let auth = v.apps[0].meta.auth;
-					if (!auth.some(r => r.option == 'read')) return;
-					authList[v.apps[0].name] = {
-						options: auth.map(a => a.option),
-						optionnames: auth.map(a => a.optionname)
-					};
-					let item = paths.find(s => s.name == v.systemmodulename);
-					item && list.push(item)
-				});
-				return dye(list.sort((a, b) => a.index - b.index))
-			};
 			//E订单
 			function getedd() {
 				let paths = [{
@@ -209,8 +162,13 @@ Page({
 					key: "wfavorites",
 					path: "/packageA/favorites/index",
 					icon: "work-webshoucang"
+				}, {
+					name: "通告",
+					path: "/marketing/annunciate/index",
+					icon: "work-a-shouyejingangqutonggao",
+					objectname: "sat_notice"
 				}];
-				let edd = getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ["E-订单"], ["商品档案", "销售管理", "财务管理", "售后管理", "发货管理", "业绩查询"]),
+				let edd = getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ["E-订单"], ["商品档案", "销售管理", "财务管理", "售后管理", "发货管理", "业绩查询", '消息中心']).concat(getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ["通用"], ['消息中心'])),
 					list = [];
 				edd.forEach(v => {
 					v.apps.forEach(s => {