Browse Source

实现指定规则时必选规则和分类,驳回重新申请

manywhy 1 week ago
parent
commit
1882ac2ecd

+ 4 - 1
config/devtest.env.js

@@ -1,7 +1,7 @@
 'use strict'
 'use strict'
  module.exports = {
  module.exports = {
   NODE_ENV: '"production"',
   NODE_ENV: '"production"',
-  BASE_API: '"https://new.gdy.g107.com"',
+  BASE_API: '"http://test.qywx.g107.net"',
   BASE_API_KQ: '"https://nkaoqin.g107.net"',
   BASE_API_KQ: '"https://nkaoqin.g107.net"',
   APP_NAME: '"功道云-绩效版"',
   APP_NAME: '"功道云-绩效版"',
   APP_VER: '"7.0"',
   APP_VER: '"7.0"',
@@ -14,4 +14,7 @@
   WEB_LINK: '"https://new.gdy.g107.com/m"',
   WEB_LINK: '"https://new.gdy.g107.com/m"',
   IMG_UPLOADER_URL:'"https://intesys.cms.g107.com/integral.php/Api/get_signature"',
   IMG_UPLOADER_URL:'"https://intesys.cms.g107.com/integral.php/Api/get_signature"',
   APP_DOWNDOAD_URL: '"https://new.gdy.g107.com/m/#/android/"',
   APP_DOWNDOAD_URL: '"https://new.gdy.g107.com/m/#/android/"',
+  
+  APP_ID: '"ww4065f0d4bb232a6a"',
+  REDIRECT_URI: '"http://wechatgdym.vaiwan.com"',
  }
  }

+ 2 - 2
config/prod.env.js

@@ -4,13 +4,13 @@ module.exports = {
 
 
   // BASE_API: '"http://test.qywx.g107.net"',//开发
   // BASE_API: '"http://test.qywx.g107.net"',//开发
   BASE_API: '"https://qywx.g107.net"',//生产
   BASE_API: '"https://qywx.g107.net"',//生产
-  
+
   BASE_API_KQ: '"https://ad.g107.com"',
   BASE_API_KQ: '"https://ad.g107.com"',
   APP_NAME: '"功道云-绩效版"',
   APP_NAME: '"功道云-绩效版"',
   APP_VER: '"7.0"',
   APP_VER: '"7.0"',
   WEBSOCKET_API: '"https://socket.g107.com"',
   WEBSOCKET_API: '"https://socket.g107.com"',
   COPYRIGHT_CN: '"功道云 版权所有"',
   COPYRIGHT_CN: '"功道云 版权所有"',
-  COPYRIGHT_EN: '"Copyright ©2015-2021 Kung Dao Cloud All Rights Reserved."',
+  COPYRIGHT_EN: '"Copyright ©2015-2023 Kung Dao Cloud All Rights Reserved."',
   ALIOSS_URL: '"https://integralsys.oss-cn-shenzhen.aliyuncs.com"',
   ALIOSS_URL: '"https://integralsys.oss-cn-shenzhen.aliyuncs.com"',
   ALIOSS_CDN_URL: '"https://integralsys.oss-cn-shenzhen.aliyuncs.com"',
   ALIOSS_CDN_URL: '"https://integralsys.oss-cn-shenzhen.aliyuncs.com"',
   APPID: '"os_base"',
   APPID: '"os_base"',

+ 1 - 5
src/components/common/EmployeeSelector.vue

@@ -2,11 +2,7 @@
   <van-popup @open="openPopup" :duration="0.2" :overlay="false" class="employee_selector_popup" v-model="visible_" :position="position" :style="'height:' + com_height">
   <van-popup @open="openPopup" :duration="0.2" :overlay="false" class="employee_selector_popup" v-model="visible_" :position="position" :style="'height:' + com_height">
     <slot name="nav"></slot>
     <slot name="nav"></slot>
     <van-nav-bar v-if="!$slots.nav" :title="title" left-text="取消" @click-left="close"></van-nav-bar>
     <van-nav-bar v-if="!$slots.nav" :title="title" left-text="取消" @click-left="close"></van-nav-bar>
-    <van-search v-model="keyword" v-if="can_select_employee"
-    show-action
-    @search="onSearch"
-    @cancel="onCancel"
-    placeholder="请输入姓名搜索" maxlength="20"/>
+    <van-search v-model="keyword" v-if="can_select_employee" show-action placeholder="请输入姓名搜索" maxlength="20"/>
     <div style="height: 0.2rem;" v-else></div>
     <div style="height: 0.2rem;" v-else></div>
     <template v-if="isShowDeptsAll">
     <template v-if="isShowDeptsAll">
       <div @click="isShowDeptSelect()" class="sax">
       <div @click="isShowDeptSelect()" class="sax">

+ 30 - 1
src/components/common/OssUploader.vue

@@ -182,8 +182,9 @@ export default {
       } else {
       } else {
         ctx.drawImage(img, 0, 0, width, height)
         ctx.drawImage(img, 0, 0, width, height)
       }
       }
+      let brand = this.judgeBrand(navigator.userAgent.toLowerCase());
       // 修复ios上传图片的时候 被旋转的问题
       // 修复ios上传图片的时候 被旋转的问题
-      if (Orientation != '' && Orientation != 1) {
+      if (Orientation != '' && Orientation != 1&&(brand=='xiaomi'||brand=='samsung')) {
         switch (Orientation) {
         switch (Orientation) {
           case 6: // 需要顺时针(向左)90度旋转
           case 6: // 需要顺时针(向左)90度旋转
             this.rotateImg(img, 'left', canvas)
             this.rotateImg(img, 'left', canvas)
@@ -202,6 +203,34 @@ export default {
       tCanvas.width = tCanvas.height = canvas.width = canvas.height = 0
       tCanvas.width = tCanvas.height = canvas.width = canvas.height = 0
       return ndata
       return ndata
     },
     },
+    judgeBrand(sUserAgent) {
+       var isIphone = sUserAgent.match(/iphone/i) == "iphone";
+       var isHuawei = sUserAgent.match(/huawei/i) == "huawei";
+       var isHonor = sUserAgent.match(/honor/i) == "honor";
+       var isOppo = sUserAgent.match(/oppo/i) == "oppo";
+       var isOppoR15 = sUserAgent.match(/pacm00/i) == "pacm00";
+       var isVivo = sUserAgent.match(/vivo/i) == "vivo";
+       var isXiaomi = sUserAgent.match(/mi\s/i) == "mi ";
+       var isXiaomi2s = sUserAgent.match(/mix\s/i) == "mix ";
+       var isRedmi = sUserAgent.match(/redmi/i) == "redmi";
+       var isSamsung = sUserAgent.match(/sm-/i) == "sm-";
+    
+       if (isIphone) {
+           return 'iphone';
+       } else if (isHuawei || isHonor) {
+           return 'huawei';
+       } else if (isOppo || isOppoR15) {
+           return 'oppo';
+       } else if (isVivo) {
+           return 'vivo';
+       } else if (isXiaomi || isRedmi || isXiaomi2s) {
+           return 'xiaomi';
+       } else if (isSamsung) {
+           return 'samsung';
+       } else {
+           return 'default';
+       }
+    },
     // 旋转图片
     // 旋转图片
     rotateImg (img, direction, canvas) {
     rotateImg (img, direction, canvas) {
       // 最小与最大旋转方向,图片旋转4次后回到原方向
       // 最小与最大旋转方向,图片旋转4次后回到原方向

+ 55 - 24
src/components/common/vue-img-cropper.vue

@@ -158,6 +158,34 @@ export default {
     }
     }
   },
   },
   methods: {
   methods: {
+    judgeBrand(sUserAgent) {
+       var isIphone = sUserAgent.match(/iphone/i) == "iphone";
+       var isHuawei = sUserAgent.match(/huawei/i) == "huawei";
+       var isHonor = sUserAgent.match(/honor/i) == "honor";
+       var isOppo = sUserAgent.match(/oppo/i) == "oppo";
+       var isOppoR15 = sUserAgent.match(/pacm00/i) == "pacm00";
+       var isVivo = sUserAgent.match(/vivo/i) == "vivo";
+       var isXiaomi = sUserAgent.match(/mi\s/i) == "mi ";
+       var isXiaomi2s = sUserAgent.match(/mix\s/i) == "mix ";
+       var isRedmi = sUserAgent.match(/redmi/i) == "redmi";
+       var isSamsung = sUserAgent.match(/sm-/i) == "sm-";
+    
+       if (isIphone) {
+           return 'iphone';
+       } else if (isHuawei || isHonor) {
+           return 'huawei';
+       } else if (isOppo || isOppoR15) {
+           return 'oppo';
+       } else if (isVivo) {
+           return 'vivo';
+       } else if (isXiaomi || isRedmi || isXiaomi2s) {
+           return 'xiaomi';
+       } else if (isSamsung) {
+           return 'samsung';
+       } else {
+           return 'default';
+       }
+    },
     getImg () {
     getImg () {
       this.$refs.fileInput.click()
       this.$refs.fileInput.click()
     },
     },
@@ -214,31 +242,34 @@ export default {
             canvas.width = width = drawWidth
             canvas.width = width = drawWidth
             canvas.height = height = drawHeight
             canvas.height = height = drawHeight
             let context = canvas.getContext('2d')
             let context = canvas.getContext('2d')
+            let brand = self.judgeBrand(navigator.userAgent.toLowerCase());
             // 判断图片方向,重置canvas大小,确定旋转角度,iphone默认的是home键在右方的横屏拍摄方式
             // 判断图片方向,重置canvas大小,确定旋转角度,iphone默认的是home键在右方的横屏拍摄方式
-            switch (orientation) {
-              // iphone横屏拍摄,此时home键在左侧
-              case 3:
-                degree = 180
-                drawWidth = -width
-                drawHeight = -height
-                break
-                // iphone竖屏拍摄,此时home键在下方(正常拿手机的方向)
-              case 6:
-                canvas.width = height
-                canvas.height = width
-                degree = 90
-                drawWidth = width
-                drawHeight = -height
-                break
-                // iphone竖屏拍摄,此时home键在上方
-              case 8:
-                canvas.width = height
-                canvas.height = width
-                degree = 270
-                drawWidth = -width
-                drawHeight = height
-                break
-            }
+             if((brand=='xiaomi'||brand=='samsung')&&orientation){
+                switch (orientation) {
+                  // iphone横屏拍摄,此时home键在左侧
+                  case 3:
+                    degree = 180
+                    drawWidth = -width
+                    drawHeight = -height
+                    break
+                    // iphone竖屏拍摄,此时home键在下方(正常拿手机的方向)
+                  case 6:
+                    canvas.width = height
+                    canvas.height = width
+                    degree = 90
+                    drawWidth = width
+                    drawHeight = -height
+                    break
+                    // iphone竖屏拍摄,此时home键在上方
+                  case 8:
+                    canvas.width = height
+                    canvas.height = width
+                    degree = 270
+                    drawWidth = -width
+                    drawHeight = height
+                    break
+                }
+              }  
 
 
             context.rotate(degree * Math.PI / 180)
             context.rotate(degree * Math.PI / 180)
             context.drawImage(this, 0, 0, drawWidth, drawHeight)
             context.drawImage(this, 0, 0, drawWidth, drawHeight)

+ 1 - 1
src/components/home_body.vue

@@ -1,6 +1,6 @@
 <template>
 <template>
 <div>
 <div>
-  <van-search placeholder="请输入搜索关键词" />
+  <van-search maxlength="20" placeholder="请输入搜索关键词" />
   <swiper data_name="banner_index"></swiper>
   <swiper data_name="banner_index"></swiper>
 
 
 
 

+ 12 - 37
src/components/pk/pk_rules.vue

@@ -3,12 +3,7 @@
     <div class="pk_rules_scroller">
     <div class="pk_rules_scroller">
       <scroller>
       <scroller>
         <div style="padding: 0 0.32rem">
         <div style="padding: 0 0.32rem">
-          <van-panel
-            class="rule_list"
-            v-for="(item,index) in rules_list "
-            :key="index"
-            :title="item.name"
-          >
+          <van-panel class="rule_list" v-for="(item,index) in rules_list " :key="index" :title="item.name">
             <div class="rule_btn" v-if="hasPermission && pkStatus !== 'end'">
             <div class="rule_btn" v-if="hasPermission && pkStatus !== 'end'">
               <van-button color="#238dfa" type="primary" @click="edit_rule_btn(item)" size="mini">修改</van-button>
               <van-button color="#238dfa" type="primary" @click="edit_rule_btn(item)" size="mini">修改</van-button>
               <van-button type="danger" @click="del_rule(get_id,item)" size="mini">删除</van-button>
               <van-button type="danger" @click="del_rule(get_id,item)" size="mini">删除</van-button>
@@ -21,39 +16,20 @@
     <div style="padding: 0 0.32rem;" v-if="hasPermission && pkStatus !== 'end'">
     <div style="padding: 0 0.32rem;" v-if="hasPermission && pkStatus !== 'end'">
       <van-button type="info" block @click="add_rule_btn">新增规则</van-button>
       <van-button type="info" block @click="add_rule_btn">新增规则</van-button>
     </div>
     </div>
-    <div
-      style="padding: 0 0.32rem;"
-      v-else
-      v-for="(item,index) in pk_info.manager_ids"
-      :key="index"
-    >
-      <van-button
-        v-if="$store.getters.user_info.id == item && pkStatus !== 'end'"
-        type="info"
-        block
-        @click="add_rule_btn"
-      >新增规则</van-button>
-    </div>
+    <template v-else>
+      <div style="padding: 0 0.32rem;" v-for="(item, index) in pk_info.manager_ids" :key="index">
+        <van-button v-if="$store.getters.user_info.id == item && pkStatus !== 'end'" type="info" block
+          @click="add_rule_btn">新增规则</van-button>
+      </div>
+    </template>
+
 
 
     <!-- 添加规则弹窗 -->
     <!-- 添加规则弹窗 -->
-    <van-dialog
-      class="pk_rule"
-      v-model="show_Rule"
-      :closeOnClickOverlay="false"
-      :beforeClose="colseRules"
-      show-cancel-button
-    >
+    <van-dialog class="pk_rule" v-model="show_Rule" :closeOnClickOverlay="false" :beforeClose="colseRules"
+      show-cancel-button>
       <van-cell-group>
       <van-cell-group>
-        <van-field
-          v-model="popup_rules_input"
-          rows="2"
-          autosize
-          label="规则"
-          label-width="40"
-          type="textarea"
-          maxlength="50"
-          placeholder="请填写规则+积分值,以便成员阅读"
-        />
+        <van-field v-model="popup_rules_input" rows="2" autosize label="规则" label-width="40" type="textarea"
+          maxlength="50" placeholder="请填写规则+积分值,以便成员阅读" />
       </van-cell-group>
       </van-cell-group>
     </van-dialog>
     </van-dialog>
   </div>
   </div>
@@ -100,7 +76,6 @@ export default {
     hasPermission() {
     hasPermission() {
       const { createInfo } = this;
       const { createInfo } = this;
       const { is_creator, id } = this.$store.getters.user_info
       const { is_creator, id } = this.$store.getters.user_info
-      console.log(JSON.stringify(createInfo),is_creator,id)
       return is_creator == 1 || id == createInfo.creatorId || createInfo.manages.has(id.toString())
       return is_creator == 1 || id == createInfo.creatorId || createInfo.manages.has(id.toString())
     }
     }
   },
   },

+ 0 - 1
src/components/pk/read_pk.vue

@@ -73,7 +73,6 @@ export default {
   computed: {
   computed: {
     createInfo() {
     createInfo() {
       const { creator_id, managers } = this.$route.query
       const { creator_id, managers } = this.$route.query
-
       return {
       return {
         creatorId: creator_id,
         creatorId: creator_id,
         manages: new Set(managers ? managers.split(',') : undefined)
         manages: new Set(managers ? managers.split(',') : undefined)