Browse Source

钉钉第二期上线版本

347617796@qq.com 4 years ago
parent
commit
e8544fa6c0
41 changed files with 601 additions and 419 deletions
  1. 1 0
      Component/img-box/index.js
  2. 34 27
      Component/selectDate_two/selectDate_two.axml
  3. 4 3
      Component/selectDate_two/selectDate_two.js
  4. 1 1
      Component/selectRule/selectRule.js
  5. 2 2
      app.acss
  6. 81 77
      app.js
  7. 1 1
      app.json
  8. BIN
      image/all2.png
  9. 2 2
      pages/deploy/index/index.axml
  10. 2 2
      pages/deploy/integralRule/integralRule.axml
  11. 54 44
      pages/deploy/integralRule/integralRule.js
  12. 4 0
      pages/deploy/setCheck/setCheck.acss
  13. 6 6
      pages/deploy/setCheck/setCheck.axml
  14. 3 3
      pages/statistics/C_ranking/C_ranking.axml
  15. 53 49
      pages/statistics/C_ranking/C_ranking.js
  16. 1 1
      pages/statistics/C_ranking/C_ranking.json
  17. 2 2
      pages/statistics/index/index.axml
  18. 1 1
      pages/statistics/index/index.js
  19. 1 0
      pages/statistics/integralEvent/integralEvent.acss
  20. 27 7
      pages/statistics/integralEvent/integralEvent.js
  21. 22 7
      pages/statistics/my_PrizeBuckle/my_PrizeBuckle.js
  22. 12 6
      pages/statistics/my_issue/my_issue.axml
  23. 13 17
      pages/statistics/my_issue/my_issue.js
  24. 12 7
      pages/statistics/my_task/my_task.js
  25. 1 0
      pages/statistics/repetitive_tasks_detail/repetitive_tasks_detail.acss
  26. 1 1
      pages/statistics/repetitive_tasks_detail/repetitive_tasks_detail.axml
  27. 1 1
      pages/statistics/taskDetail/taskDetail.axml
  28. 4 0
      pages/statistics/taskDetail/taskDetail.js
  29. 3 0
      pages/statistics/workDetail/workDetail.acss
  30. 6 4
      pages/statistics/workDetail/workDetail.axml
  31. 2 1
      pages/statistics/workDetail/workDetail.js
  32. 76 39
      pages/workbench/apply/apply.js
  33. 1 1
      pages/workbench/approve/approve.acss
  34. 2 2
      pages/workbench/approve/approve.axml
  35. 3 3
      pages/workbench/approve/approve.js
  36. 7 0
      pages/workbench/index/index.acss
  37. 2 2
      pages/workbench/index/index.axml
  38. 26 12
      pages/workbench/index/index.js
  39. 1 2
      pages/workbench/my_approve/my_approve.acss
  40. 66 62
      pages/workbench/my_approve/my_approve.axml
  41. 60 24
      pages/workbench/my_approve/my_approve.js

+ 1 - 0
Component/img-box/index.js

@@ -25,6 +25,7 @@ Component({
   },
   methods: {
     setName(){
+        // console.log(this.props.name,this.props.imgUrl)
           var str=this.props.name;
           var name=str.substr(str.length-2);
           this.setData({

+ 34 - 27
Component/selectDate_two/selectDate_two.axml

@@ -1,39 +1,46 @@
 <view class="all-date">
   <view class="data-tier" catchTap="onClose"></view>
-  <view class="date-header {{isShow?'showPop':''}}" >
+  <view class="date-header {{isShow?'showPop':''}}">
     <view class="flex-box selectDateType">
-      <view data-index="1" class="{{dateIndex == '1' ? 'dateActive':''}} flex-1" catchTap="activeDate">年</view>
-      <view data-index="2" class="{{dateIndex == '2' ? 'dateActive':''}} flex-1" catchTap="activeDate">季度</view>
-      <view data-index="3" class="{{dateIndex == '3' ? 'dateActive':''}} flex-1" catchTap="activeDate">月</view>
+      <block a:if="{{showSelect}}">
+        <view data-index="1" a:if="{{dateIndex == '1'}}" class="{{dateIndex == '1' ? 'dateActive':''}} flex-1" catchTap="activeDate">年</view>
+        <view data-index="2" a:if="{{dateIndex == '2'}}" class="{{dateIndex == '2' ? 'dateActive':''}} flex-1" catchTap="activeDate">季度</view>
+        <view data-index="3" a:if="{{dateIndex == '3'}}" class="{{dateIndex == '3' ? 'dateActive':''}} flex-1" catchTap="activeDate">月</view>
+      </block>
+      <block a:else>
+        <view data-index="1"  class="{{dateIndex == '1' ? 'dateActive':''}} flex-1" catchTap="activeDate">年</view>
+        <view data-index="2"  class="{{dateIndex == '2' ? 'dateActive':''}} flex-1" catchTap="activeDate">季度</view>
+        <view data-index="3"  class="{{dateIndex == '3' ? 'dateActive':''}} flex-1" catchTap="activeDate">月</view>
+      </block>
     </view>
     <view class="data-main">
-        <block a:if="{{dateIndex=='1'}}">
-              <picker onChange="selectYear" value="{{yearIndex}}" range="{{yearArr}}">
-                  <view class="dateVal">{{yearArr[yearIndex]}}</view>
-              </picker>
-            <!-- <text class="dateVal" onTap="selectYear">{{year}}</text> -->
-        </block>
-        <block a:if="{{dateIndex=='3'}}">
-            <text class="dateVal" onTap="selectDate">{{month}}</text>
-        </block>
-        <block a:if="{{dateIndex=='2'}}">
-            <view class="flex-box flex-center-center">
-               <picker onChange="selectYear2" value="{{jdYearIndex}}" range="{{yearArr}}">
-                  <view class="dateVal">{{yearArr[jdYearIndex]}}</view>
-              </picker>
-               <!-- <text class="dateVal" onTap="selectDay">{{jdYear}}</text> -->
-               <text class="fontColorT" style="margin:0 20rpx;">--</text>
-               <picker onChange="setjdji" value="{{jdji}}" range="{{jdArr}}">
-                  <view class="dateVal">{{jdArr[jdji]}}</view>
-               </picker>
-               <!-- <text class="dateVal" onTap="selectDay2">{{jdji}}</text> -->
-            </view>
-        </block>
+      <block a:if="{{dateIndex=='1'}}">
+        <picker onChange="selectYear" value="{{yearIndex}}" range="{{yearArr}}">
+          <view class="dateVal">{{yearArr[yearIndex]}}</view>
+        </picker>
+        <!--<text class="dateVal" onTap="selectYear">{{year}}</text> -->
+      </block>
+      <block a:if="{{dateIndex=='3'}}">
+        <text class="dateVal" onTap="selectDate">{{month}}</text>
+      </block>
+      <block a:if="{{dateIndex=='2'}}">
+        <view class="flex-box flex-center-center">
+          <picker onChange="selectYear2" value="{{jdYearIndex}}" range="{{yearArr}}">
+            <view class="dateVal">{{yearArr[jdYearIndex]}}</view>
+          </picker>
+          <!--<text class="dateVal" onTap="selectDay">{{jdYear}}</text> -->
+          <text class="fontColorT" style="margin:0 20rpx;">--</text>
+          <picker onChange="setjdji" value="{{jdji}}" range="{{jdArr}}">
+            <view class="dateVal">{{jdArr[jdji]}}</view>
+          </picker>
+          <!--<text class="dateVal" onTap="selectDay2">{{jdji}}</text> -->
+        </view>
+      </block>
     </view>
     <view class="flex-box date-btn">
       <view class="flex-1" catchTap="onClose">取消</view>
       <view class="flex-1" catchTap="onConfirm">确定</view>
     </view>
   </view>
-   <view class="meng" catchTap="onClose"></view>
+  <view class="meng" catchTap="onClose"></view>
 </view>

+ 4 - 3
Component/selectDate_two/selectDate_two.js

@@ -18,19 +18,20 @@ Component({
     yearIndex:yearIndex,
     yearArr:app.globalData.yearArr,
     jdYearIndex:yearIndex,
+    isShowArr:[true,true,true],
+    showSelect:false,
   },
   props: {
     onClose: (data) => console.log(data),
     onConfirm: (data) => console.log(data),
+    showSelectP:false,
     dateObj:{
       type:'3',
       date:app.globalData.month
     },
   },
   didMount() {
-    this.setData({
-      isShow: this.props.isShow,
-    })
+    this.setData({isShow: this.props.isShow,showSelect:this.props.showSelectP})
     if(this.props.dateObj.type){
       this.setData({
         dateIndex:this.props.dateObj.type,

+ 1 - 1
Component/selectRule/selectRule.js

@@ -120,7 +120,7 @@ Component({
         typeObj=app.getTypesItem(that.props.isGzType);
         pt_id=typeObj.id;
       }
-      app.$get("api/integral/rule/trees", { pt_id: pt_id,cycle_type: 1 }).then((res)=>{
+      app.$get2("api/integral/rule/trees", { pt_id: pt_id,cycle_type: 1 }).then((res)=>{
         var item_list = res.data.data.item_list
         var rule_tree = res.data.data.rule_tree
         var list = []

+ 2 - 2
app.acss

@@ -183,10 +183,10 @@
 		border-radius: 50%;
 		background: #fff;
 		text-align: center;
-		bottom: 200rpx;
+		bottom: 50%;
 		box-sizing: border-box;
 		line-height: 100rpx;
-		box-shadow: 0 0 0.12rem rgba(0, 0, 0, .05);
+		box-shadow: 0 0 0.12rem rgba(0, 0, 0, .15);
 	}
 
 	.showPop {

+ 81 - 77
app.js

@@ -1,8 +1,8 @@
 import { showToast } from './utils/feedback'
 import { formatTime, arrRemoveObj, getTypeItem } from './utils/util'
 
-const baseUrl = "https://test-ding.g107.com/";//测试
-// const baseUrl = "https://ding.insys.g107.com/";//正式
+// const baseUrl = "https://test-ding.g107.com/";//测试
+const baseUrl = "https://ding.insys.g107.com/";//正式
 var that;
 var yearArr = [];
 var year = formatTime(new Date()).year;
@@ -17,8 +17,8 @@ App({
     year: formatTime(new Date()).year,//当前年
     month: formatTime(new Date()).month,//当前月
     day: formatTime(new Date()).day,//当前日
-    month_tow:formatTime(new Date()).month_tow,//当前月份
-    allDate:formatTime(new Date()).allDate,//带时分
+    month_tow: formatTime(new Date()).month_tow,//当前月份
+    allDate: formatTime(new Date()).allDate,//带时分
     types: [],
     userData: '',
     token: '',
@@ -173,93 +173,97 @@ App({
   },
   //封装post
   $post(url, data = {}, Accept) {
-    if (url == 'api/ding/login') {
-      return that.routerPost(url, data, Accept);
-    }
-    if (!that.globalData.token) {
-      dd.navigateTo({
-        url: '../../init/init'
-      })
-      return Promise.reject("登录中")
-    } else {
-      return that.routerPost(url, data, Accept);
-    }
+    // if (url == 'api/ding/login') {
+    //   return that.routerPost(url, data, Accept);
+    // }
+    // if (!that.globalData.token) {
+    //   dd.navigateTo({
+    //     url: '../../init/init'
+    //   })
+    //   return Promise.reject("登录中")
+    // } else {
+    return that.routerPost(url, data, Accept);
+    // }
   },
   //封装get
   $get(url, data = {}, Accept) {
-    if (url == 'api/integral/types' || url == 'api/order/corp') {
-      return that.routerGet(url, data, Accept);
-    }
-    if (!that.globalData.token) {
-      dd.navigateTo({
-        url: '../../init/init'
-      })
-      return Promise.reject("登录中")
-    } else {
-      return that.routerGet(url, data, Accept);
-    }
+    // if (url == 'api/integral/types' || url == 'api/order/corp') {
+    //   return that.routerGet(url, data, Accept);
+    // }
+    // if (!that.globalData.token) {
+    //   dd.navigateTo({
+    //     url: '../../init/init'
+    //   })
+    //   return Promise.reject("登录中")
+    // } else {
+    return that.routerGet(url, data, Accept);
+    // }
   },
   //封装get
   $get2(url, data = {}, Accept) {
-    if (url == 'api/integral/types' || url == 'api/order/corp') {
-      return that.routerGet2(url, data, Accept);
-    }
-    if (!that.globalData.token) {
-      dd.navigateTo({
-        url: '../../init/init'
-      })
-      return Promise.reject("登录中")
-    } else {
-      return that.routerGet2(url, data, Accept);
-    }
+    // if (url == 'api/integral/types' || url == 'api/order/corp') {
+    //   return that.routerGet2(url, data, Accept);
+    // }
+    // if (!that.globalData.token) {
+    //   dd.navigateTo({
+    //     url: '../../init/init'
+    //   })
+    //   return Promise.reject("登录中")
+    // } else {
+    return that.routerGet2(url, data, Accept);
+    // }
   },
   //免登
   login(corpId, callBack) {
-    dd.getAuthCode({
-      success: function (res) {
-        // console.log(res.authCode,corpId)
-        // return;
-        that.$post('api/ding/login', { authCode: res.authCode, corpId: corpId }).then(res => {
-          if (res.data.code == 1) {
-            var { token, user } = res.data.data;
-            var isStart = false;
-            if (user.is_official == 1) {
-              user.employee_detail.role_list.forEach(item => {
-                if (item.name == 'creator') {
-                  that.globalData.isCreator = true;
-                  isStart = true;
-                }
-                if (item.name == 'admin' || item.name == 'creator' || item.name == 'point_manager'||item.name=='dept_manager') {
-                  that.globalData.isAdministrator = true;
+    if (that.globalData.token) {
+      callBack(true)
+    } else {
+      dd.getAuthCode({
+        success: function (res) {
+          // console.log(res.authCode,corpId)
+          // return;
+          that.$post('api/ding/login', { authCode: res.authCode, corpId: corpId }).then(res => {
+            if (res.data.code == 1) {
+              var { token, user } = res.data.data;
+              var isStart = false;
+              if (user.is_official == 1) {
+                user.employee_detail.role_list.forEach(item => {
+                  if (item.name == 'creator') {
+                    that.globalData.isCreator = true;
+                    isStart = true;
+                  }
+                  if (item.name == 'admin' || item.name == 'creator' || item.name == 'point_manager' || item.name == 'dept_manager') {
+                    that.globalData.isAdministrator = true;
+                  }
+                });
+                that.globalData.token = token;
+                that.globalData.userData = user;
+                var getIsStart = dd.getStorageSync({ key: 'isStart' });//判断是否需要打开引导页
+                // console.log(JSON.stringify(user));
+                if (isStart && !getIsStart.data) {//判断是否需要打开引导
+                  dd.reLaunch({
+                    url: '../../start/start'
+                  })
+                } else {
+                  callBack(true);
                 }
-              });
-              that.globalData.token = token;
-              that.globalData.userData = user;
-              var getIsStart = dd.getStorageSync({ key: 'isStart' });//判断是否需要打开引导页
-              // console.log(JSON.stringify(user));
-              if (isStart && !getIsStart.data) {//判断是否需要打开引导
-                dd.reLaunch({
-                  url: '../../start/start'
-                })
               } else {
-                callBack(true);
+                callBack(false);
               }
+            } else if (res.data.code == 3000) {
+              that.globalData.showToast("员工信息同步中,请稍后进入")
             } else {
-              callBack(false);
+              that.globalData.showToast(res.msg)
             }
-          } else if (res.data.code == 3000) {
-            that.globalData.showToast("员工信息同步中,请稍后进入")
-          } else {
-            that.globalData.showToast(res.msg)
-          }
-        }).catch(err => {
-          console.log(err);
-        })
-      },
-      fail: function (err) {
-        console.log(err)
-      }
-    });
+          }).catch(err => {
+            console.log(err);
+          })
+        },
+        fail: function (err) {
+          console.log(err)
+        }
+      });
+    }
   },
 
   getTypesItem(id) {

+ 1 - 1
app.json

@@ -72,7 +72,7 @@
       },
       {
         "pagePath": "pages/statistics/index/index",
-        "name": "统计",
+        "name": "工作台",
         "icon": "image/tj.png",
         "activeIcon": "image/activeTj.png"
       },

BIN
image/all2.png


+ 2 - 2
pages/deploy/index/index.axml

@@ -22,7 +22,7 @@
           <view class="xusj" data-index="1" onTap="openView">续费升级</view>
         </view>
       </view>
-      <view class="flex-box flex-v-ce li " data-index="2" onTap="openView">
+      <!-- <view class="flex-box flex-v-ce li " data-index="2" onTap="openView">
         <image class="img-left" mode="scaleToFill" src="../../../image/bmyg.png"></image>
         <view class="flex-box flex-v-ce flex-1 li-right">
           <view class="title flex-1">组织架构</view>
@@ -42,7 +42,7 @@
           <view class="title flex-1">考勤积分规则</view>
           <image mode="scaleToFill" src="../../../image/right.png" class="img-right"></image>
         </view>
-      </view>
+      </view> -->
       
       <view class="flex-box flex-v-ce li" data-index="5" onTap="openView">
         <image class="img-left" mode="scaleToFill" src="../../../image/sj.png"></image>

+ 2 - 2
pages/deploy/integralRule/integralRule.axml

@@ -30,7 +30,7 @@
           <view class="green num flex-1" a:if="{{item.min_point<0}}">{{(item.range_type == 1 ? item.min_point : item.min_point+'~'+item.max_point)}}
             <text class="fontColorT" style="margin-left:10rpx">{{item.pt_Obj[0].name}}</text>
           </view>
-          <view class="item-type fontColorF num">{{item.typeName[0].name}}</view>
+          <view class="item-type fontColorF num">{{item.typeName.name}}</view>
         </view>
       </view>
     </view>
@@ -46,7 +46,7 @@
           <view class="green num flex-1" a:if="{{item.min_point<0}}">{{(item.range_type == 1 ? item.min_point : item.min_point+'~'+item.max_point)}}
             <text class="fontColorT" style="margin-left:10rpx">{{item.pt_Obj[0].name}}</text>
           </view>
-          <view class="item-type fontColorF num">{{item.typeName[0].name}}</view>
+          <view class="item-type fontColorF num">{{item.typeName.name}}</view>
         </view>
       </view>
     </view>

+ 54 - 44
pages/deploy/integralRule/integralRule.js

@@ -3,7 +3,7 @@ var that;
 Page({
   data: {
     allItems: [],
-    allTree:[],
+    allTree: [],
     item_list: {},
     rule_tree: {},
     types: '',
@@ -16,21 +16,23 @@ Page({
   onLoad(query) {
     that = this;
     this.setData({
-          terr: [
-      { name: '全部', id: 0 }
-    ],
+      terr: [
+        { name: '全部', id: 0 }
+      ],
     })
     dd.setNavigationBar({ title: "积分分类" });
+  },
+  onShow() {
     this.setData({ types: app.globalData.types })
     this.getData();
   },
-    onReset(){
-      this.setData({
-          selectItem: [],
-          isItem:true,
-          isVal:false
-      })
-    },  
+  onReset() {
+    this.setData({
+      selectItem: [],
+      isItem: true,
+      isVal: false
+    })
+  },
   //搜索
   bindKeyInput(e) {
     var item_list = this.data.allItems;
@@ -40,44 +42,43 @@ Page({
     this.setData({
       selectItem: items,
       isItem: e.detail.value ? false : true,
-          isVal:e.detail.value? true:false      
+      isVal: e.detail.value ? true : false
     })
 
   },
-      //点击导航栏
+  //点击导航栏
   activeItem(e) {
-    console.log(e);
-      var item = e.target.dataset.item;
-      var index = e.target.dataset.index;
-      var terr = this.data.terr;
-      if ((index + 1) == terr.length) { return false };
-      this.setData({ rule_tree: [] });
-      if (index == 0) {
-        this.setData({
-          terr: [{ name: '全部', id: 0 }],
-          rule_tree: this.data.allTree,
-          item_list:this.data.allItems
-        })
-      } else {
-        var arr = terr.slice(0, index + 1);
-        this.setData({
-          rule_tree: item.child,
-          terr: arr
-        })
-        this.getItem(item.id);
-      }
+    var item = e.target.dataset.item;
+    var index = e.target.dataset.index;
+    var terr = this.data.terr;
+    if ((index + 1) == terr.length) { return false };
+    this.setData({ rule_tree: [] });
+    if (index == 0) {
+      this.setData({
+        terr: [{ name: '全部', id: 0 }],
+        rule_tree: this.data.allTree,
+        item_list: this.data.allItems
+      })
+    } else {
+      var arr = terr.slice(0, index + 1);
+      this.setData({
+        rule_tree: item.child,
+        terr: arr
+      })
+      this.getItem(item.id);
+    }
 
-    },
+  },
   //点击一级
   activeTree(e) {
     var item = e.target.dataset.item
     var terr = this.data.terr;
     terr.push(item)
     this.setData({
-      rule_tree:item.child,
-      terr:terr
+      rule_tree: item.child,
+      terr: terr
     });
-    
+
     this.getItem(item.id);
   },
   //从全部中过滤
@@ -88,8 +89,21 @@ Page({
       item_list: items,
     })
   },
+  // 递归
+  getItem(id, arr) {
+    var obj = {};
+    for (let i = 0; i < arr.length; i++) {
+      if (id == arr[i].id) {
+        obj = arr[i];
+        break;
+      } else if (arr[i].child.length > 0) {
+        obj = this.getItem(id, arr[i].child)
+      }
+    }
+    return obj;
+  },
   getData() {
-    app.$get("api/integral/rule/trees",{cycle_type: 1}).then((res) => {
+    app.$get("api/integral/rule/trees", { cycle_type: 1 }).then((res) => {
       var item_list = res.data.data.item_list
       var rule_tree = res.data.data.rule_tree
       var list = []
@@ -98,9 +112,7 @@ Page({
           item_list[i][k].pt_Obj = this.data.types.filter((item) => {
             return item_list[i][k].pt_id == item.id
           })
-          item_list[i][k].typeName = rule_tree.filter((item) => {
-            return item_list[i][k].rule_id == item.id
-          })
+          item_list[i][k].typeName = that.getItem(item_list[i][k].rule_id, rule_tree);
           list.push(item_list[i][k])
         }
       }
@@ -108,10 +120,8 @@ Page({
         item_list: list,
         rule_tree: rule_tree,
         allItems: list,
-        allTree:rule_tree,
+        allTree: rule_tree,
       })
-    }, (err) => {
-
     })
   },
 });

+ 4 - 0
pages/deploy/setCheck/setCheck.acss

@@ -24,4 +24,8 @@
 }
 .li-left view:nth-child(2){
   color: rgb(96, 98, 102)
+}
+.null{
+  text-align: center;
+  margin-top: 30%;
 }

+ 6 - 6
pages/deploy/setCheck/setCheck.axml

@@ -1,12 +1,8 @@
 <view>
   <view class="yellow">以下分数皆为B分,请前往电脑端(PC)钉钉设置</view>
+  <block a:if="{{data.enable!=0}}">
   <view class="ul margin-bottom">
-    <!-- <view class="flex-box li">
-      <view class="li-left">
-        <view>月度全勤</view>
-        <view >当月加分{{data.month_full_ad}}分</view>
-      </view>
-    </view> -->
+    <!--<view class="flex-box li"><view class="li-left"><view>月度全勤</view><view >当月加分{{data.month_full_ad}}分</view></view></view> -->
     <view class="flex-box li">
       <view class="li-left">
         <view>正常打卡</view>
@@ -55,6 +51,10 @@
       </view>
     </view>
   </view>
+  </block>
+  <view a:else class="null">
+      <text class="fontColorF">未启动考勤设置,请前往电脑端(PC)钉钉设置</text>
+  </view>
   <!--<view class="flex-box li"><view class="li-left"><view>加班</view><view>每小时加{{data.ot_per_hour}}分</view></view></view><view class="flex-box li"><view class="li-left"><view>请假</view><view>每小时扣{{data.leave_per_hour}}分</view></view></view> -->
 </view>
 </view>

+ 3 - 3
pages/statistics/C_ranking/C_ranking.axml

@@ -1,7 +1,7 @@
 <view>
   <view class="flex-box flex-v-ce tab">
-    <view class="flex-1" catchTap="selectDay">
-      <text class="{{showDate? 'activeView':''}} dateVal">{{date}}</text>
+    <view class="flex-1" catchTap="selectDate">
+      <text class="{{showDate? 'activeView blue':''}}">{{selectDateVal}}</text>
     </view>
     <!-- <view class="flex-1" catchTap="selectRule">
       <text class="{{showRuleTwo? 'activeView blue':''}}">{{ruleVal}}</text>
@@ -34,5 +34,5 @@
     </scroll-view>
     <no-data a:if="{{list.length==0}}"></no-data>
   </view>
-  <select-rule-two a:if="{{showRuleTwo==true}}" isShow="{{showRuleTwo}}" onClose="onClose" onConfirm="onConfirmRule"></select-rule-two>
+   <select_date_two dateObj="{{dateObj}}" a:if="{{showDate==true}}" showSelectP="{{true}}"  isShow="{{showDate}}" onClose="onClose" onConfirm="onConfirmDate"></select_date_two>
 </view>

+ 53 - 49
pages/statistics/C_ranking/C_ranking.js

@@ -6,23 +6,33 @@ Page({
     month: app.globalData.month,
     showRuleTwo: false,//显示规则组件
     ruleVal: "规则分类",
-    date: app.globalData.month,
+    selectDateVal: app.globalData.month,
     isPx: true,
     id: '',
     page: 1,
     dateType: 1,
+    dateObj: {
+      date: '',
+      type: ''
+    }
   },
   onLoad(e) {
     that = this;
+    console.log(e.date_interval)
     if (e.date_interval == 3) {
       this.setData({
-        dateType: e.date_interval,
+        [`dateObj.type`]: "1",
+        [`dateObj.date`]: app.globalData.year,
         month: app.globalData.year,
-        date: app.globalData.year,
+        selectDateVal: app.globalData.year,
+
       })
     } else if (e.date_interval == 2) { // 传进入如果是季度
       this.setData({
+        [`dateObj.type`]: e.date_interval,
+        [`dateObj.date`]: app.globalData.year + String(this.getJ() + 1),
         month: app.globalData.year + String(this.getJ() + 1),
+        selectDateVal: app.globalData.year + String(this.getJ() + 1) + "季度",
         dateType: e.date_interval
       })
     } else {
@@ -31,16 +41,50 @@ Page({
         str = "0" + String(app.globalData.month_tow)
       }
       this.setData({
+        [`dateObj.type`]: "3",
+        [`dateObj.date`]: app.globalData.month,
         month: app.globalData.year + String(str),
-        dateType: e.date_interval
+        dateType: e.date_interval,
+        selectDateVal: app.globalData.month,
       })
     }
+
     if (e.id) {
       this.setData({ id: e.id });
       dd.setNavigationBar({ title: e.name });
       this.getData();
     }
   },
+  //选择时间
+  onConfirmDate(data) {
+    this.setData({
+      dateObj: data,
+    })
+    if (data.type == '1') {
+      this.setData({
+        selectDateVal: data.date,
+        month: data.date,
+        dateIndex: data.type
+      })
+    } else if (data.type == '2') {
+      this.setData({
+        selectDateVal: data.date + '季度',
+        month: data.date,
+        dateIndex: data.type
+      })
+    } else {
+      var str=data.date.slice(0,4)
+      var str2=data.date.slice(data.date.length-2)
+      this.setData({
+        selectDateVal: data.date,
+        month: str+str2,
+        dateIndex: data.type
+      })
+    }
+    this.setData({ page: 1 })
+    this.getData();
+  },
+
   // 获取当前是第几季
   getJ() {
     var getYearWeek = function (a, b, c) {
@@ -112,45 +156,10 @@ Page({
     this.setData({ page: ++that.data.page })
     this.getData(true);
   },
-  selectDay() {
-    var str = "yyyy-MM";
-    if (this.data.dateType == 3) {
-      str = "yyyy"
-    }
-    this.setData({ showDate: true })
-    dd.datePicker({
-      format: str,
-      currentDate: this.data.date,
-      success: (res) => {
-        if (res.date) {
-          if (that.data.dateType != 3) {
-            var str = res.date.substr(0, 4)
-            var str2 = res.date.substr(res.date.length - 2, 2)
-            this.setData({
-              month: String(str) + String(str2),
-              date: res.date
-            })
-            this.getData();
-          } else {
-            this.setData({
-              month: res.date,
-              date: res.date
-            })
-            this.getData();
-          }
-        }
-      },
-      complete: (res) => {
-        that.setData({
-          showDate: false
-        })
-      }
-    });
-  },
-  //显示规则组件
-  selectRule() {
+  //显示选择时间组件
+  selectDate() {
     this.setData({
-      showRuleTwo: true
+      showDate: true
     })
   },
   selectIsPx() {
@@ -160,7 +169,7 @@ Page({
     })
     this.getData();
   },
-  //打开兴趣
+  //打开详情
   openDetail(e) {
     var item = e.target.dataset.item;
     dd.navigateTo({
@@ -170,12 +179,7 @@ Page({
   //关闭弹窗
   onClose() {
     this.setData({
-      showRuleTwo: false
+      showDate: false
     })
   },
-  //选择规则
-  onConfirmRule(data) {
-    this.setData({ rule_id: data.id, page: 1, ruleVal: data.name })
-    this.getData();
-  },
 });

+ 1 - 1
pages/statistics/C_ranking/C_ranking.json

@@ -1,7 +1,7 @@
 {
   "usingComponents": {
     "img-box": "/Component/img-box/index",
-    "select-rule-two": "/Component/selectRule_two/selectRule_two",
+    "select_date_two": "/Component/selectDate_two/selectDate_two",
     "no-data": "/Component/noData/noData"
   }
 }

+ 2 - 2
pages/statistics/index/index.axml

@@ -1,9 +1,9 @@
 <view>
-  <view class="header margin-bottom">
+  <!-- <view class="header margin-bottom">
     <view class="img">
       <image mode="scaleToFill" src="../../../image/start3.png"/>
     </view>
-  </view>
+  </view> -->
   <view class="main">
     <view a:for="{{menuList}}" a:for-index="idx" a:for-item="itemName" class="menuAll">
       <view class="menu-title">{{itemName.code}}</view>

+ 1 - 1
pages/statistics/index/index.js

@@ -46,7 +46,7 @@ Page({
   },
   onLoad() {
     that = this;
-    dd.setNavigationBar({ title: "统计" });
+    dd.setNavigationBar({ title: "工作台" });
     this.setData({ isAdministrator: app.globalData.isAdministrator })
     if(app.globalData.isCreator){
       that.setMenuList("creator");

+ 1 - 0
pages/statistics/integralEvent/integralEvent.acss

@@ -20,6 +20,7 @@
     -webkit-line-clamp: 2;
     -webkit-box-orient: vertical;
     padding: 10rpx 0; 
+    padding-bottom: 0rpx;
 }
 .main-right .date{
    color: #909399;

+ 27 - 7
pages/statistics/integralEvent/integralEvent.js

@@ -55,13 +55,33 @@ Page({
   },
   onShow() {
     typeArr = [{ id: 0, name: '全部' }];
-    var arr = typeArr.concat(app.globalData.types);
-    arr = app.globalData.arrRemoveObj(arr, arr[1]);
-    if(arr){
-    this.setData({ types: arr })
-    }
-    if(this.data.page==1){
-    this.getData();
+    if (app.globalData.userData) {
+      var arr = typeArr.concat(app.globalData.types);
+      arr = app.globalData.arrRemoveObj(arr, arr[1]);
+      if (arr) {
+        that.setData({ types: arr })
+      }
+      if (that.data.page == 1) {
+        that.getData();
+      }
+    } else {
+      app.login(app.globalData.corpId, function (is) {
+        if (is) {
+          var arr = typeArr.concat(app.globalData.types);
+          arr = app.globalData.arrRemoveObj(arr, arr[1]);
+          if (arr) {
+            that.setData({ types: arr })
+          }
+          if (that.data.page == 1) {
+            that.getData();
+          }
+
+        } else {
+          dd.reLaunch({
+            url: '../noJurisdiction/noJurisdiction'
+          })
+        }
+      })
     }
   },
   getData(is) {

+ 22 - 7
pages/statistics/my_PrizeBuckle/my_PrizeBuckle.js

@@ -17,9 +17,24 @@ Page({
     dd.setNavigationBar({ title: "我奖扣的" });
   },
   onShow() {
-    if (this.data.page == 1) {
-      dd.hideLoading();
-      that.getData(that.data.activeIndex);
+    if (app.globalData.userData) {
+      if (that.data.page == 1) {
+        dd.hideLoading();
+        that.getData(that.data.activeIndex);
+      }
+    } else {
+      app.login(app.globalData.corpId, function (is) {
+        if (is) {
+          if (that.data.page == 1) {
+            dd.hideLoading();
+            that.getData(that.data.activeIndex);
+          }
+        } else {
+          dd.reLaunch({
+            url: '../noJurisdiction/noJurisdiction'
+          })
+        }
+      })
     }
   },
   onReset() {
@@ -33,7 +48,7 @@ Page({
   bindKeyInput(e) {
     this.setData({
       keyword: e.detail.value,
-      isVal:e.detail.value? true:false,
+      isVal: e.detail.value ? true : false,
       page: 1,
     })
     this.getData(that.data.activeIndex);
@@ -69,10 +84,10 @@ Page({
     app.$get(urlS[index - 1], data).then((res) => {
       var data = res.data.data.list;
       var list = that.data.list;
-      
+
       data.forEach(element => {
-        if(element.pt_id){
-          element.pt_name=app.getTypesItem(element.pt_id).name
+        if (element.pt_id) {
+          element.pt_name = app.getTypesItem(element.pt_id).name
         }
       });
 

+ 12 - 6
pages/statistics/my_issue/my_issue.axml

@@ -15,19 +15,25 @@
       <view class="flex-box li border-bottom" data-index="1" a:for="{{list}}" catchTap="openDetail" data-item="{{item}}">
         <img-box name="{{item.employee_name}}" a:if="{{activeIndex==1}}" imgUrl="{{item.employee_img_url}}" height="80rpx" width="80rpx" fSize="24rpx"></img-box>
         <block a:if="{{activeIndex==2}}">
-            <img-box name="{{item.owner_name}}" a:if="{{item.receiver_id==0}}" imgUrl="{{item.owner_img_url}}" height="80rpx" width="80rpx" fSize="24rpx"></img-box>
-             <img-box name="{{item.receiver_name}}" a:else imgUrl="{{item.receiver_img_url}}" height="80rpx" width="80rpx" fSize="24rpx"></img-box>
+          <img-box name="{{item.owner_name}}" a:if="{{item.receiver_id==0}}" imgUrl="{{item.owner_img_url}}" height="80rpx" width="80rpx" fSize="24rpx"></img-box>
+          <img-box name="{{item.receiver_name}}" a:else imgUrl="{{item.receiver_img_url}}" height="80rpx" width="80rpx" fSize="24rpx"></img-box>
         </block>
         <view class="flex-1 main-right">
           <view class="flex-box flex-v-ce">
             <view class="name flex-1" a:if="{{activeIndex==1}}">{{item.employee_name}}</view>
             <block a:else>
-                 <view class="name flex-1" a:if="{{item.status == 2 || item.status == 3 || item.receiver_id !=0 && item.status == 4}}">{{item.receiver_name}}的{{item.pt_name}}任务</view>
-                 <view class="name flex-1" a:if="{{item.status == 1 || item.status == -1 || item.receiver_id ==0 &&item.status == 4}}">我发布的{{item.pt_name}}任务</view>
+              <view class="name flex-1" a:if="{{item.status == 2 || item.status == 3 || item.receiver_id !=0 && item.status == 4}}">{{item.receiver_name}}的{{item.pt_name}}任务</view>
+              <view class="name flex-1" a:if="{{item.status == 1 || item.status == -1 || item.receiver_id ==0 &&item.status == 4}}">我发布的{{item.pt_name}}任务</view>
             </block>
             <block a:if="{{activeIndex==1}}">
-              <view class="red" a:if="{{item.point_config.base_point>0}}">+{{item.point_config.base_point}} {{item.pt_name}}</view>
-              <view class="green" a:else>{{item.point_config.base_point}} {{item.pt_name}}</view>
+              <block a:if="{{item.point_config.review_point>0}}">
+                <view class="red" a:if="{{item.point_config.review_point>0}}">+{{item.point_config.review_point}} {{item.pt_name}}</view>
+                <view class="green" a:else>{{item.point_config.review_point}} {{item.pt_name}}</view>
+              </block>
+              <block a:else>
+                <view class="red" a:if="{{item.point_config.base_point>0}}">+{{item.point_config.base_point}} {{item.pt_name}}</view>
+                <view class="green" a:else>{{item.point_config.base_point}} {{item.pt_name}}</view>
+              </block>
             </block>
             <block a:else>
               <view class="red" a:if="{{item.base_point>0}}">+{{item.base_point}} {{item.pt_name}}</view>

+ 13 - 17
pages/statistics/my_issue/my_issue.js

@@ -74,24 +74,20 @@ Page({
       that.getData(that.data.activeIndex);
     }
   },
-  onReset() {
-    this.setData({
-      keyword: '',
-      isVal: false,
-      page: 1,
-    })
-    this.getData(that.data.activeIndex);
-  },
-
-  bindKeyInput(e) {
-    this.setData({
-      keyword: e.detail.value,
-      isVal: e.detail.value ? true : false,
-      page: 1,
-    })
-    this.getData(that.data.activeIndex);
+    //过滤List,通常用于删除了某条数据,刷新列表
+  filtrationList(index,id) {
+    if (index == 1) {
+      this.getToDay()
+    } else if(index==2&&this.data.page!=1){
+      var list=this.data.list;
+      for (let i in list) {
+        if (list[i].id == id) {
+          list.splice(i, 1)
+        }
+      }
+      this.setData({ list:list})
+    }
   },
-
   getData(index, is) {
     var urlS = ['api/integral/work/list/publisher', 'api/integral/task/publish/list', 'api/integral/schedule/list'];
     var data;

+ 12 - 7
pages/statistics/my_task/my_task.js

@@ -23,10 +23,15 @@ Page({
     }
     that = this;
     this.getToDay();
-    that.getData();
     dd.setNavigationBar({ title: "我的任务" });
   },
-
+  onShow() {
+    if (this.data.page == 1) {
+      dd.hideLoading();
+      this.setData({list:[]})
+      that.getData();
+    }
+  },
   //显示选择员工
   selectSx() {
     this.setData({ showZp: true })
@@ -48,7 +53,7 @@ Page({
         sort: data[2]
       }
     })
-    this.getData(this.data.activeIndex);
+    this.getData();
   },
   //今天完成的任务
   getToDay() {
@@ -59,7 +64,7 @@ Page({
     })
   },
 
-  getData(index, is) {
+  getData(is) {
     var parameter = this.data.parameter;
     var data = {
       page: that.data.page,
@@ -120,7 +125,7 @@ Page({
         sort: 'publish',//排序
       }
     })
-    this.getData(index);
+    this.getData();
   },
   openPerform(e) {
     var id = e.target.dataset.item.id;
@@ -133,7 +138,7 @@ Page({
   filtrationList(index,id) {
     if (index == 1) {
       this.getToDay()
-    } else {
+    } else if(index==2&&this.data.page!=1){
       var list=this.data.list;
       for (let i in list) {
         if (list[i].id == id) {
@@ -153,7 +158,7 @@ Page({
   onScrollToLower() {
     if (!that.data.isData) {
       this.setData({ page: ++that.data.page })
-      this.getData(that.data.activeIndex, true);
+      this.getData(true);
     }
   },
 });

+ 1 - 0
pages/statistics/repetitive_tasks_detail/repetitive_tasks_detail.acss

@@ -74,6 +74,7 @@
 }
 .img-item{
   margin: 0 10rpx;
+  margin-bottom: 14rpx;
 }
 .img-item text{
     font-size: 24rpx;

+ 1 - 1
pages/statistics/repetitive_tasks_detail/repetitive_tasks_detail.axml

@@ -46,7 +46,7 @@
       </view>
       <view class="margin-top main-item" >
         <view class="margin-bottom">执行者</view>
-        <view class="flex-box">
+        <view class="flex-box flex-d-wrap ">
           <view class="flex-box-v flex-center-center img-item" a:for="{{dataDetail.target_info}}">
             <img-box name="{{item.name}}" height="90rpx" width="90rpx" fSize="28rpx"></img-box>
             <text>{{item.name}}</text>

+ 1 - 1
pages/statistics/taskDetail/taskDetail.axml

@@ -50,7 +50,7 @@
         </view>
       </view>
     </view>
-    <view class="btn-area" a:if="{{dataDetail.status == '1' && userId != dataDetail.owner_id && dataDetail.reviewer_id != userId}}">
+    <view class="btn-area" a:if="{{dataDetail.status == '1' && userId != dataDetail.owner_id && dataDetail.reviewer_id != userId&&!isCreator}}">
       <button type="default" loading="{{disabled}}" class="defBtn" disabled="{{disabled}}" catchTap="formSubmit">领取任务</button>
     </view>
   </view>

+ 4 - 0
pages/statistics/taskDetail/taskDetail.js

@@ -9,10 +9,14 @@ Page({
     isPublisher: true,//是不是发布者
     userId: '',
     id: '',
+    isCreator:false,
   },
   onLoad(e) {
     that = this;
     dd.setNavigationBar({ title: "任务详情" });
+    this.setData({
+      isCreator:app.globalData.isCreator
+    })
     if (e.id) {
       that.getDetail(e.id);
       this.setData({

+ 3 - 0
pages/statistics/workDetail/workDetail.acss

@@ -153,4 +153,7 @@
   height: 90rpx;
   text-align: center;
   line-height: 90rpx;
+}
+.footer{
+  margin-bottom: 2rem
 }

+ 6 - 4
pages/statistics/workDetail/workDetail.axml

@@ -2,7 +2,7 @@
   <view class="header margin-bottom">
     <view class="header-top flex-box flex-v-ce  margin-bottom">
       <view class="flex-box flex-v-ce flex-1 ">
-        <img-box name="{{dataDetail.employee_name}}" imgUrl="{{dataDetail.img_url}}" height="90rpx" width="90rpx" fSize="28rpx"></img-box>
+        <img-box name="{{dataDetail.employee_name}}" a:if="{{dataDetail.employee_name}}" imgUrl="{{dataDetail.img_url}}" height="90rpx" width="90rpx" fSize="28rpx"></img-box>
         <view class="top-left">
           <view class="name">{{dataDetail.employee_name}}</view>
           <view a:if="{{dataDetail.dept_list[0]}}">{{dataDetail.dept_list[0].dept_name}}</view>
@@ -13,8 +13,8 @@
         <view>{{dataDetail.point_config.base_point}}</view>
         <view>{{dataDetail.pt_name}}</view>
       </view>
-      <view class="top-right">
-        <view>{{dataDetail.point_config.timeout_deduction_point}}</view>
+      <view class="top-right" a:if="{{dataDetail.status == 4}}">
+        <view>{{dataDetail.point_config.review_point}}</view>
         <view>最终分</view>
       </view>
     </view>
@@ -25,7 +25,9 @@
       </view>
       <view class="flex-box flex-v-ce">
         <view class="laber">截止时间</view>
-        <view class="flex-1">{{dataDetail.expire_time}}</view>
+        <view class="flex-1">{{dataDetail.expire_time}}
+        <text style="padding-left: 10px;" class="red" a:if="{{dataDetail.expire_day > 0}}">逾期{{dataDetail.expire_day}}天</text>
+        </view>
       </view>
       <view class="flex-box flex-v-ce">
         <view class="laber">逾期扣分</view>

+ 2 - 1
pages/statistics/workDetail/workDetail.js

@@ -39,6 +39,7 @@ Page({
     this.setData({ array: actions })
   },
   bindPickerChange(e) {
+     var page = getCurrentPages()[getCurrentPages().length - 2]//上一个页面的数据
     if (this.data.array[e.detail.value] == '删除任务') {
       dd.confirm({
         title: '删除任务',
@@ -49,6 +50,7 @@ Page({
           if (result.confirm) {
             app.$get("api/integral/work/delete", { work_id: this.data.id }).then((res) => {
               app.globalData.showToast(res.data.msg);
+              page.filtrationList(2, this.data.id);
               setTimeout(() => {
                 dd.navigateBack({ delta: 1 })
               }, 1000);
@@ -139,7 +141,6 @@ Page({
     })
   },
   openWc(){
-    console.log("asdas")
     dd.navigateTo({
       url: '../../workbench/approve/approve?id=' + this.data.dataDetail.review_id
     })

+ 76 - 39
pages/workbench/apply/apply.js

@@ -18,7 +18,7 @@ Page({
       files: '',//附件数组列表
     }],
     animationInfo: '',
-    isShowType: true,//是显示选择规则还是显示选择分类
+    isShowType: '0',//是显示选择规则还是显示选择分类
     activeIndex: '',
     isArr: ['奖', '扣'],
     reviewerObj: [],//选中的审批人
@@ -27,29 +27,34 @@ Page({
     superior_list: [],//录入人的上级
     getReviewerObj: {},//默认当前的缓存对象
     defaultRuleId: '',
-    qrcode: {},//扫码进入
+    qrcodeId: '',//扫码进入
   },
   onLoad(e) {
-    if (e.item) { this.setData({ qrcode: e.item }) }//获取扫码进入参数
     that = this;
     dd.setNavigationBar({ title: "申请积分" });
-    this.getReviewerObj(app.globalData.userData.id, function (res) {
-      that.setData({
-        getReviewerObj: res,
-        items: [{//录入选项列表
-          checked: true,//判断是否开启指定规则
-          employee_id: app.globalData.isCreator ? '' : app.globalData.userData.id,
-          employeeName: app.globalData.isCreator ? '' : app.globalData.userData.name,
-          rule_id: '',//积分分类id
-          item_id: '',//积分细则id 不选可以为0
-          remark: '',//备注
-          event_time: app.globalData.day,//事件时间
-          reviewer_id: res.id,
-          revieweName: res.name,
-          files: '',//附件数组列表
-        }],
+    if (e.id) {
+      this.setData({ //获取扫码进入参数 
+        qrcodeId: e.id
       })
-    })
+    } else {
+      this.getReviewerObj(app.globalData.userData.id, function (res) {
+        that.setData({
+          getReviewerObj: res,
+          items: [{//录入选项列表
+            checked: true,//判断是否开启指定规则
+            employee_id: app.globalData.isCreator ? '' : app.globalData.userData.id,
+            employeeName: app.globalData.isCreator ? '' : app.globalData.userData.name,
+            rule_id: '',//积分分类id
+            item_id: '',//积分细则id 不选可以为0
+            remark: '',//备注
+            event_time: app.globalData.day,//事件时间
+            reviewer_id: res.id,
+            revieweName: res.name,
+            files: '',//附件数组列表
+          }],
+        })
+      })
+    }
   },
   //获取缓存的审批人
   getReviewerObj(id, fuc) {
@@ -64,27 +69,55 @@ Page({
       }
     });
   },
-
   onShow() {
     dd.hideLoading();
     animation = dd.createAnimation({
       duration: 200,
       timeFunction: "linear",
     });
-    if (this.data.qrcode.id) {
-      var item = this.data.qrcode
-      var selectRule = `items[0].selectRule`
-      var remark = `items[0].remark`
-      var employee_id = `items[0].employee_id`
-      var employeeName = `items[0].employeeName`
-      that.setData({
-        [employee_id]:app.globalData.userData.id,
-        [employeeName]: app.globalData.userData.name,
-        [selectRule]: item,
-        [remark]: item.remark,
+    if (app.globalData.userData) {
+     that.showQrcode();
+    } else {
+      app.login(app.globalData.corpId, function (is) {
+        if (is) {
+         that.showQrcode();
+        } else {
+          dd.reLaunch({
+            url: '../noJurisdiction/noJurisdiction'
+          })
+        }
       })
     }
-    console.log(this.data.qrcode);
+  },
+  //显示二维码规则ID内容
+  showQrcode() {
+    if (this.data.qrcodeId) {
+      if (app.globalData.isCreator) {
+        app.globalData.showToast("您当前身份为创始人,不需要申请记分功能");
+        setTimeout(() => {
+          dd.switchTab({
+            url: '../index/index'
+          })
+          this.setData({ disabled: false });
+        }, 1000);
+        return;
+      }
+      console.log(this.data.qrcodeId);
+      app.$get("api/integral/rule/items/info", { item_id: this.data.qrcodeId }).then((res) => {
+        var item = res.data.data || {}
+        item.pt_Obj = app.getTypesItem(item.pt_id);
+        var selectRule = `items[0].selectRule`
+        var remark = `items[0].remark`
+        var employee_id = `items[0].employee_id`
+        var employeeName = `items[0].employeeName`
+        that.setData({
+          [employee_id]:app.globalData.userData.id,
+          [employeeName]: app.globalData.userData.name,
+          [selectRule]: item,
+          [remark]: item.remark,
+        })
+      });
+    }
   },
   //显示图片
   showImg(e) {
@@ -113,7 +146,7 @@ Page({
     var index = e.target.dataset.index;
     var item = e.target.dataset.item;
     var num = e.target.dataset.num;
-    that.setData({ activeIndex: '' });
+    that.setData({ activeIndex: '', isShowType: '0' });
     if (num == 2) {
       if (!item.employee_id) {
         this.showToast('请先选择录入对象')
@@ -293,7 +326,6 @@ Page({
           break;
         }
       }
-
       obj.remark = item.remark;
       obj.event_time = item.event_time;
       obj.reviewer_id = item.reviewer_id;
@@ -318,16 +350,21 @@ Page({
         if (is) {
           app.globalData.showToast('申请成功');
           setTimeout(() => {
-            dd.navigateBack({
-              delta: 1
-            })
+            if (this.data.qrcodeId) {
+              dd.switchTab({
+                url: '../index/index'
+              })
+            } else {
+              dd.navigateBack({
+                delta: 1
+              })
+            }
             this.setData({ disabled: false });
           }, 1000);
         }
       }).catch(err => {
         this.setData({ disabled: false });
       }).finally(() => {
-        console.log(arr);
         if (arr.length > 0) {
           arr.forEach(item => {
             dd.setStorage({
@@ -437,7 +474,7 @@ Page({
   },
   //选择规则
   onSelectItem(item) {
-    console.log(item)
+    console.log(item);
     var index = this.data.activeIndex;
     var selectRule = `items[${index}].selectRule`
     var remark = `items[${index}].remark`

+ 1 - 1
pages/workbench/approve/approve.acss

@@ -133,7 +133,7 @@ textarea{
 .yuan{
   width: 50rpx;
   height: 50rpx;
-  background: #fff;
+  background: #26A2FF;
   border-radius: 100rpx;
   position: absolute;
   top: 5rpx;

+ 2 - 2
pages/workbench/approve/approve.axml

@@ -218,12 +218,12 @@
           </view>
         </view>
       </block>
-      <!-- <view class="fontColorF" style="font-size:24rpx;padding-left:28rpx">奖票多用于优秀表现和重要事项的表彰</view>
+      <view class="fontColorF" style="font-size:24rpx;padding-left:28rpx">奖票多用于优秀表现和重要事项的表彰</view>
       <view class="flex-box flex-v-ce li margin-bottom" style="padding:26rpx 28rpx;">
         <view class="label">发放奖票</view>
         <view class="flex-1"></view>
         <switch onChange="switchChange2" disabled="{{item.pid}}" checked="{{item.ticket_count}}" color="#26A2FF"></switch>
-      </view> -->
+      </view>
       <view class="flex-box flex-v-ce li margin-bottom" data-num="3" catchTap="openSelect">
         <view class="label">递交审批</view>
         <view class="flex-1">{{users.name}}</view>

+ 3 - 3
pages/workbench/approve/approve.js

@@ -26,9 +26,9 @@ Page({
       name:'',
     },
     animationInfo: '',
-    isShowType: "1",//是显示选择规则还是显示选择分类
+    isShowType: "0",//是显示选择规则还是显示选择分类
     isData: false,
-    isGzType:'BF',
+    isGzType:'',
   },
   onLoad(e) {
     that = this;
@@ -128,7 +128,7 @@ Page({
       point: Number(point),
       reviewer_id: that.data.users.id ? that.data.users.id : 0,
       remark: item.remark,
-      // ticket_count: item.ticket_count ? 1 : 0,
+      ticket_count: item.ticket_count ? 1 : 0,
     }
     this.setData({disabled:true});
     app.$post("api/integral/review", data).then((res) => {

+ 7 - 0
pages/workbench/index/index.acss

@@ -221,6 +221,13 @@
   width: 24rpx;
   height: 24rpx;
 }
+.img-right2 {
+  width: 24rpx;
+  height: 24rpx;
+  position: relative;
+  top: 4rpx;
+}
+
 
 .li-right {
   padding: 28rpx 0;

+ 2 - 2
pages/workbench/index/index.axml

@@ -38,7 +38,7 @@
     </view>
     <view class="rankingLists" onTap="openView" data-index="10">
       <text>查看所有排行榜</text>
-      <image mode="scaleToFill" src="../../../image/right.png" class="img-right"></image>
+      <image mode="scaleToFill" src="../../../image/right.png" class="img-right2"></image>
     </view>
   </view>
   <!-- 奖扣展示 -->
@@ -85,7 +85,7 @@
     <no-data a:if="{{pieTotal==0}}" content="无数据"></no-data>
     <view class="rankingLists" onTap="openView" style="border-top:1px solid #f1f1f1" data-index="11" a:if="{{pieTotal>0}}">
       <text>查看所有管理者奖扣</text>
-      <image mode="scaleToFill" src="../../../image/right.png" class="img-right"></image>
+      <image mode="scaleToFill" src="../../../image/right.png" class="img-right2"></image>
     </view>
   </view>
   <view class="bottom margin-bottom">

+ 26 - 12
pages/workbench/index/index.js

@@ -17,7 +17,7 @@ Page({
     pieTotal: 1,
     total:'',
     menuList: [
-      { name: '审批', imgUrl: '../../../image/sp.png', url: '../my_approve/my_approve', code: 'creator admin employee' },
+      { name: '审批', imgUrl: '../../../image/sp.png', url: '../my_approve/my_approve', code: 'creator admin' },
       { name: '任务', imgUrl: '../../../image/a7.png', url: '../../statistics/my_task/my_task', code: 'admin employee' },
       { name: '奖扣B分', imgUrl: '../../../image/point_entry.png', url: '../jk_B/jk_B?type=B', code: 'creator admin' },
       { name: '指派任务', imgUrl: '../../../image/my_publish.png', url: '../../statistics/assaign/assaign', code: 'creator admin' },
@@ -26,7 +26,7 @@ Page({
       { name: '领任务', imgUrl: '../../../image/task_hall.png', url: '../../statistics/getTask/getTask', code: 'admin employee' },
       { name: '发布悬赏', imgUrl: '../../../image/caback6.png', url: '../../statistics/offerAreward/offerAreward', code: 'creator admin' },
       { name: '发放奖票', imgUrl: '../../../image/add_ticket.png', url: '../../statistics/grant/grant', code: 'creator admin' },
-      { name: '全部', imgUrl: '../../../image/all.png', url: 'all', code: 'creator admin employee' },
+      { name: '全部', imgUrl: '../../../image/all2.png', url: 'all', code: 'creator admin employee' },
     ]
   },
   onLoad() {
@@ -66,6 +66,29 @@ Page({
       })
       return
     }
+    // if(url=='../apply/apply'){
+    //   var item = {
+    //     cycle_type: 1,
+    //     id: 578,
+    //     is_attendance: 0,
+    //     max_point: 10,
+    //     min_point: 10,
+    //     prize_type: 0,
+    //     pt_Obj: {
+    //       code: "BF",
+    //       id: 3,
+    //       name: "B分",
+    //     },
+    //     pt_id: 3,
+    //     range_type: 1,
+    //     remark: "分类1-测试缓存",
+    //     rule_id: 185,
+    //   }
+    //   dd.navigateTo({
+    //     url: '../apply/apply?item='+JSON.stringify(item)
+    //   })
+    //   return
+    // }
     dd.navigateTo({
       url: url
     })
@@ -264,7 +287,7 @@ Page({
   getUserData() {
     var http1 = app.$get2("api/integral/statistics", { employee_id: 0, month: app.globalData.month })
     var http2 = app.$get2("api/integral/statistics/integral", { month: app.globalData.month, page: 1, page_size: 5, employee_ids: app.globalData.userData.id })
-    var http3 = app.$get2("api/integral/review/list", { type: 'waiting', page: 1, pt_id: 0 })
+    var http3 = app.$get2("api/integral/review/list", { type: 'waiting',source_type:0, page: 1, pt_id: 0 })
     var ranking = app.$get('api/integral/statistics/ranking/list', { page: 1, page_size: 5 })// 获取排行榜
     var task = app.$get('api/integral/statistics/task/pie', { month: app.globalData.month })// 管理者奖扣任务柱状图
     var work = app.$get('api/integral/work/list', { status: 'running',page: 1,pt_id: 0})// 管理者奖扣任务柱状图
@@ -354,13 +377,4 @@ Page({
       })
     }, (err) => { })
   },
-
-  getIncidentNum() {
-    app.$get("api/integral/review/list", { type: 'waiting', page: 1, pt_id: 0 }).then((res) => {
-      var data = res.data.data;
-      this.setData({
-        total: data.total
-      })
-    }, (err) => { })
-  },
 });

+ 1 - 2
pages/workbench/my_approve/my_approve.acss

@@ -5,7 +5,6 @@
   margin: 0 auto;
   padding: 6rpx 10rpx;
 }
-
 .search input {
   background-color: #f1f1f1;
 }
@@ -30,7 +29,7 @@
 
 .selectItems .selectImg {
   border-left: 1px solid #f1f1f1;
-  padding: 0 20rpx;
+  /* padding: 0 20rpx; */
 }
 
 .selectImg image {

+ 66 - 62
pages/workbench/my_approve/my_approve.axml

@@ -1,79 +1,83 @@
 <view>
   <view class="header margin-bottom">
-   <form onReset="onReset">
-    <view class="search flex-box flex-v-ce">
-      <image mode="scaleToFill" src="../../../image/ss.png"/>
-      <input placeholder="请输入姓名或内容" onInput="bindKeyInput" onConfirm="bindKeyInput" class="flex-1"/>
+    <form onReset="onReset">
+      <view class="search flex-box flex-v-ce">
+        <image mode="scaleToFill" src="../../../image/ss.png"/>
+        <input placeholder="请输入姓名或内容" onInput="bindKeyInput" onConfirm="bindKeyInput" class="flex-1"/>
         <button a:if="{{isVal}}" class="delVal" formType="reset">×</button>
       </view>
     </form>
     <view class="flex-box flex-v-ce selectItems border-bottom">
       <view data-index="1" class="{{activeIndex == 1? 'active':''}} flex-1" catchTap="activeItem">待我审批</view>
       <view data-index="2" class="{{activeIndex == 2? 'active':''}} flex-1" catchTap="activeItem">我已审批</view>
-      <view class="selectImg" catchTap="openSearch">
-        <image mode="scaleToFill" src="../../../image/sx.png"/></view>
+      <view class="selectImg">
+        <picker class="picker" onChange="bindObjPickerChange" value="{{arrIndex}}" range="{{objectArray}}" range-key="name">
+          <view style="padding:20rpx 30rpx;">
+              <image mode="scaleToFill" src="../../../image/sx.png"/></view>
+          </view>
+        </picker>
+      </view>
     </view>
-  </view>
-  <view class="main scroll">
-    <no-bata a:if="{{dataList.length==0}}"></no-bata>
-    <scroll-view class="scroll" scroll-y="{{true}}" a:if="{{dataList.length>0&&activeIndex==1}}" onScrollToLower="onScrollToLower">
-      <view class="flex-box li border-bottom" data-item="{{item}}" catchTap="openDetail" a:for="{{dataList}}">
-        <img-box name="{{item.employee_name}}" height="80rpx" width="80rpx" fSize="24rpx"></img-box>
-        <view class="flex-1 main-right">
-          <view class="name" a:if="{{item.source_type == 2}}">{{item.employee_name}}的积分申请</view>
-          <view class="name" a:if="{{item.source_type == 1}}">{{item.employee_name}}的积分任务</view>
-          <view class="name" a:if="{{item.source_type == 3}}">{{item.employee_name}}的积分奖扣</view>
-          <view class="name" a:if="{{item.source_type == 4}}">{{item.employee_name}}的绩效工作</view>
-          <view class="context" a:if="{{item.remark.customize}}">{{item.remark.customize}}</view>
-          <view class="context" a:else>{{item.remark.rule}}</view>
-          <view class="flex-box flex-v-ce">
-            <view class="date flex-1">{{item.event_time}}</view>
+    <view class="main scroll">
+      <no-bata a:if="{{dataList.length==0}}"></no-bata>
+      <scroll-view class="scroll" scroll-y="{{true}}" a:if="{{dataList.length>0&&activeIndex==1}}" onScrollToLower="onScrollToLower">
+        <view class="flex-box li border-bottom" data-item="{{item}}" catchTap="openDetail" a:for="{{dataList}}">
+          <img-box name="{{item.employee_name}}" height="80rpx" width="80rpx" fSize="24rpx"></img-box>
+          <view class="flex-1 main-right">
+            <view class="name" a:if="{{item.source_type == 2}}">{{item.employee_name}}的积分申请</view>
+            <view class="name" a:if="{{item.source_type == 1}}">{{item.employee_name}}的积分任务</view>
+            <view class="name" a:if="{{item.source_type == 3}}">{{item.employee_name}}的积分奖扣</view>
+            <view class="name" a:if="{{item.source_type == 4}}">{{item.employee_name}}的绩效工作</view>
+            <view class="context" a:if="{{item.remark.customize}}">{{item.remark.customize}}</view>
+            <view class="context" a:else>{{item.remark.rule}}</view>
             <view class="flex-box flex-v-ce">
-              <text a:if="{{item.source_type != 4}}" catchTap="openBh" data-item="{{item}}">驳回</text>
-              <text>通过</text>
+              <view class="date flex-1">{{item.event_time}}</view>
+              <view class="flex-box flex-v-ce">
+                <text a:if="{{item.source_type != 4}}" catchTap="openBh" data-item="{{item}}">驳回</text>
+                <text>通过</text>
+              </view>
             </view>
           </view>
         </view>
-      </view>
-      <view class="noDatas" a:if="{{isData}}">没有更多咯</view>
-    </scroll-view>
-    <scroll-view class="scroll" scroll-y="{{true}}" a:if="{{dataList.length>0&&activeIndex==2}}" onScrollToLower="onScrollToLower">
-      <view class="flex-box li border-bottom" data-item="{{item}}" catchTap="openDetail" a:for="{{dataList}}">
-        <img-box name="{{item.employee_name}}" height="70rpx" width="70rpx" fSize="24rpx"></img-box>
-        <view class="flex-1 main-right">
-          <view class="flex-box flex-v-ce">
-            <view class="name flex-1" a:if="{{item.source_type == 2}}">{{item.employee_name}}的积分申请</view>
-            <view class="name flex-1" a:if="{{item.source_type == 1}}">{{item.employee_name}}的积分任务</view>
-            <view class="name flex-1" a:if="{{item.source_type == 3}}">{{item.employee_name}}的积分奖扣</view>
-            <view class="name flex-1" a:if="{{item.source_type == 4}}">{{item.employee_name}}的绩效工作</view>
-            <block a:if="{{item.status==1}}">
-              <view class="red" a:if="{{item.review_point>0}}">+{{item.review_point}} {{item.pt_name}}</view>
-              <view class="green" a:else>{{item.review_point}} {{item.pt_name}}</view>
-            </block>
-          </view>
-          <view class="context" a:if="{{item.remark.customize}}">{{item.remark.customize}}</view>
-          <view class="context" a:else>{{item.remark.rule}}</view>
-          <view class="flex-box flex-v-ce" style="margin-bottom:28rpx">
-            <view class="date flex-1">{{item.event_time}}</view>
-            <view class="greenBox" a:if="{{item.status==1}}">审批通过</view>
-            <view class="redBox" a:if="{{item.status==2}}">审批驳回</view>
+        <view class="noDatas" a:if="{{isData}}">没有更多咯</view>
+      </scroll-view>
+      <scroll-view class="scroll" scroll-y="{{true}}" a:if="{{dataList.length>0&&activeIndex==2}}" onScrollToLower="onScrollToLower">
+        <view class="flex-box li border-bottom" data-item="{{item}}" catchTap="openDetail" a:for="{{dataList}}">
+          <img-box name="{{item.employee_name}}" height="70rpx" width="70rpx" fSize="24rpx"></img-box>
+          <view class="flex-1 main-right">
+            <view class="flex-box flex-v-ce">
+              <view class="name flex-1" a:if="{{item.source_type == 2}}">{{item.employee_name}}的积分申请</view>
+              <view class="name flex-1" a:if="{{item.source_type == 1}}">{{item.employee_name}}的积分任务</view>
+              <view class="name flex-1" a:if="{{item.source_type == 3}}">{{item.employee_name}}的积分奖扣</view>
+              <view class="name flex-1" a:if="{{item.source_type == 4}}">{{item.employee_name}}的绩效工作</view>
+              <block a:if="{{item.status==1}}">
+                <view class="red" a:if="{{item.review_point>0}}">+{{item.review_point}} {{item.pt_name}}</view>
+                <view class="green" a:else>{{item.review_point}} {{item.pt_name}}</view>
+              </block>
+            </view>
+            <view class="context" a:if="{{item.remark.customize}}">{{item.remark.customize}}</view>
+            <view class="context" a:else>{{item.remark.rule}}</view>
+            <view class="flex-box flex-v-ce" style="margin-bottom:28rpx">
+              <view class="date flex-1">{{item.event_time}}</view>
+              <view class="greenBox" a:if="{{item.status==1}}">审批通过</view>
+              <view class="redBox" a:if="{{item.status==2}}">审批驳回</view>
+            </view>
           </view>
         </view>
-      </view>
-      <view class="noDatas" a:if="{{isData}}">没有更多咯</view>
-    </scroll-view>
-  </view>
-  <!-- 弹出框 -->
-  <view class="windows" a:if="{{isBh}}">
-    <view class="windows-box">
-      <view class="windows-title">确认驳回</view>
-      <view class="windows-content">
-        <textarea value="{{textArea}}" onInput="bindTextAreaBlur" maxlength="50" placeholder="请输入审批意见"/>
-      </view>
-      <view class="windows-btn flex-box flex-v-ce">
-        <view class="flex-1" catchTap="closeBh">取消</view>
-        <button type="default" loading="{{disabled}}" class="flex-1" disabled="{{disabled}}" catchTap="confirmBh">确定</button>
+        <view class="noDatas" a:if="{{isData}}">没有更多咯</view>
+      </scroll-view>
+    </view>
+    <!-- 弹出框 -->
+    <view class="windows" a:if="{{isBh}}">
+      <view class="windows-box">
+        <view class="windows-title">确认驳回</view>
+        <view class="windows-content">
+          <textarea value="{{textArea}}" onInput="bindTextAreaBlur" maxlength="50" placeholder="请输入审批意见"/>
+        </view>
+        <view class="windows-btn flex-box flex-v-ce">
+          <view class="flex-1" catchTap="closeBh">取消</view>
+          <button type="default" loading="{{disabled}}" class="flex-1" disabled="{{disabled}}" catchTap="confirmBh">确定</button>
+        </view>
       </view>
     </view>
-  </view>
-</view>
+  </view>

+ 60 - 24
pages/workbench/my_approve/my_approve.js

@@ -11,29 +11,68 @@ Page({
     isBh: false,//是否显示驳回弹窗
     textArea: "",
     disabled: false,
+    objectArray: [
+      {
+        id: 0,
+        name: '全部',
+      },
+      {
+        id: 1,
+        name: '积分任务',
+      },
+      {
+        id: 2,
+        name: '积分申请',
+      },
+      {
+        id: 3,
+        name: '积分奖扣',
+      },
+    ],
+    arrIndex: 0,
   },
   onLoad() {
     that = this;
     dd.setNavigationBar({ title: "我的审批" });
   },
   onShow() {
-    this.refreshData();
+    if (app.globalData.userData) {
+      that.refreshData();
+    } else {
+      app.login(app.globalData.corpId, function (is) {
+        if (is) {
+          that.refreshData();
+        } else {
+          dd.reLaunch({
+            url: '../noJurisdiction/noJurisdiction'
+          })
+        }
+      })
+    }
+  },
+  bindObjPickerChange(e) {
+    this.setData({
+      arrIndex: e.detail.value,
+      page: 1,
+    })
+    this.getData();
+
   },
-//当在详情返回时刷新列表,但你请求接口
-  refreshData(id){
-    if(this.data.page==1){
+  //当在详情返回时刷新列表,但你请求接口
+  refreshData(id) {
+    if (this.data.page == 1) {
       dd.hideLoading();
       that.getData();
-    }else{  
-       if(id){//当page不为一并下一页返回上一页不执行onshow()
-        var arr=this.data.dataList;
-        arr.forEach((element,index) => {
-          if(element.id==id){
+    } else {
+      if (id) {//当page不为一并下一页返回上一页不执行onshow()
+        var arr = this.data.dataList;
+        arr.forEach((element, index) => {
+          if (element.id == id) {
             arr.splice(index, 1);
           }
         });
         this.setData({
-          dataList:arr
+          dataList: arr
         })
       }
     }
@@ -45,20 +84,20 @@ Page({
   },
   confirmBh() {
     var item = that.data.bhItem;
-    if (that.data.textArea=='') {
+    if (that.data.textArea == '') {
       app.globalData.showToast("请输入审批意见");
       return;
     }
-    this.setData({disabled:true});
+    this.setData({ disabled: true });
     app.$post("api/integral/review", { review_id: item.id, remark: that.data.textArea, action: "refuse", ticket_count: 0 }).then((res) => {
       that.closeBh()
       app.globalData.showToast("已驳回");
-      that.setData({disabled:false});
+      that.setData({ disabled: false });
       that.refreshData(item.id);
     })
   },
   closeBh() {
-    this.setData({ isBh: false,textArea:''})
+    this.setData({ isBh: false, textArea: '' })
   },
   openBh(e) {
     var item = e.target.dataset.item;
@@ -90,13 +129,10 @@ Page({
     this.setData({
       keyword: e.detail.value,
       page: 1,
-      isVal:e.detail.value? true:false,
+      isVal: e.detail.value ? true : false,
     });
     this.getData();
   },
-  openSearch() {
-    app.globalData.showToast("暂不支持筛选");
-  },
   openDetail(e) {
     var id = e.target.dataset.item.id;
     dd.navigateTo({
@@ -104,11 +140,11 @@ Page({
     })
   },
   getData(type) {
-    app.$get("api/integral/review/list", { type: that.data.httpType, page: that.data.page, pt_id: 0, page_size: 20, keyword: that.data.keyword }).then((res) => {
-      var list=res.data.data.list || [];
+    app.$get("api/integral/review/list", {source_type:that.data.arrIndex,type: that.data.httpType, page: that.data.page, pt_id: 0, page_size: 20, keyword: that.data.keyword }).then((res) => {
+      var list = res.data.data.list || [];
       list.forEach(element => {
-        if(element.pt_id){
-          element.pt_name=app.getTypesItem(element.pt_id).name
+        if (element.pt_id) {
+          element.pt_name = app.getTypesItem(element.pt_id).name
         }
       });
       var data = list;
@@ -119,13 +155,13 @@ Page({
             dataList: dataList.concat(data),
             isData: true
           })
-        }else{
+        } else {
           this.setData({
             dataList: dataList.concat(data),
           })
         }
       } else {
-        this.setData({ dataList: data,isData: false })
+        this.setData({ dataList: data, isData: false })
       }
     })
   },