Przeglądaj źródła

Merge branch 'master' of http://47.100.37.243:10080/wutt/manHourHousekeeper

cs 2 lat temu
rodzic
commit
ec9904ff6e

+ 7 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/AuthRedirectController.java

@@ -8,6 +8,7 @@ import com.management.platform.mapper.CompanyMapper;
 import com.management.platform.mapper.SysConfigMapper;
 import com.management.platform.mapper.UserMapper;
 import com.management.platform.mapper.WxCorpInfoMapper;
+import com.management.platform.service.UserService;
 import com.management.platform.util.HttpRespMsg;
 import com.management.platform.util.MessageUtils;
 import com.management.platform.util.UserAgentUtils;
@@ -54,6 +55,8 @@ public class AuthRedirectController {
     UserMapper userMapper;
     @Resource
     WxCorpInfoMapper wxCorpInfoMapper;
+    @Resource
+    UserService userService;
 
     @RequestMapping("/corpWXAuth")
     public ModelAndView auth(String code, String state) {
@@ -96,6 +99,8 @@ public class AuthRedirectController {
                     reqParam.put("errorMsg", MessageUtils.message("user.accountNoExist"));
                 } else if (curUser.getIsActive() == 1) {
                     reqParam.put("userId", curUser.getId());
+//                    HttpRespMsg httpRespMsg = userService.loginByUserId(curUser.getId(), request);
+//                    reqParam.put("userInfo", httpRespMsg.data);
                 } else {
                     //提示账号已停用
                     //reqParam.put("errorMsg", "您的账号已停用,无法登录");
@@ -106,9 +111,9 @@ public class AuthRedirectController {
         reqParam.put("hasTriedAutoLogin", 1);
         String redirecUrl = null;
         if (isMobile) {
-            redirecUrl = "http://mobworktime.ttkuaiban.com";
+            redirecUrl = "http://mobworktime.ttkuaiban.com/#/login";
         } else {
-            redirecUrl = "http://worktime.ttkuaiban.com";
+            redirecUrl = "http://worktime.ttkuaiban.com#/#/login";
         }
         ModelAndView modelAndView = new ModelAndView(
                 new RedirectView(redirecUrl), reqParam);

+ 22 - 20
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/WeiXinCorpController.java

@@ -549,7 +549,7 @@ public class WeiXinCorpController {
                         JSONArray department = userObj.getJSONArray("department");
                         Integer curUserWXDeptid = getMaxDeptIdFromArray(department);
                         Department sysDept = departmentMapper.selectOne(new QueryWrapper<Department>().eq("company_id", companyId).eq("corpwx_deptid", curUserWXDeptid));
-
+                        String userId = userObj.getString("userid");
                         User user = new User()
                                 .setId(id.toString())
                                 .setRoleId(defaultRole.getId())
@@ -559,7 +559,7 @@ public class WeiXinCorpController {
                                 .setPassword(MD5Util.getPassword("000000"))
                                 .setCorpwxUserid(openUserId)
                                 .setCorpwxRealUserid(corpWxUserId)
-                                .setJobNumber(userObj.getString("userid"))
+                                .setJobNumber(openUserId.equals(userId)?null:userId)
                                 .setColor(ColorUtil.randomColor())
                                 .setCompanyId(companyId);
                         if (sysDept != null) {
@@ -590,7 +590,7 @@ public class WeiXinCorpController {
                             JSONArray department = userObj.getJSONArray("department");
                             curUserWXDeptid = getMaxDeptIdFromArray(department);
                             Department sysDept = departmentMapper.selectOne(new QueryWrapper<Department>().eq("company_id", companyId).eq("corpwx_deptid", curUserWXDeptid));
-
+                            String userId = userObj.getString("userid");
                             User user = new User()
                                     .setId(id.toString())
                                     .setRoleId(defaultRole.getId())
@@ -600,7 +600,7 @@ public class WeiXinCorpController {
                                     .setPassword(MD5Util.getPassword("000000"))
                                     .setCorpwxUserid(openUserId)
                                     .setCorpwxRealUserid(corpWxUserId)
-                                    .setJobNumber(userObj.getString("userid"))
+                                    .setJobNumber(openUserId.equals(userId)?null:userId)
                                     .setColor(ColorUtil.randomColor())
                                     .setCorpwxDeptid(curUserWXDeptid)
                                     .setCompanyId(companyId);
@@ -688,14 +688,15 @@ public class WeiXinCorpController {
                                     changeUser.setDepartmentId(sysDept.getDepartmentId());
                                     change = true;
                                 }
-                                if (userObj.containsKey("direct_leader") && userObj.getJSONArray("direct_leader").size() > 0) {
-                                    String directLeader = userObj.getJSONArray("direct_leader").getString(0);
-                                    User leader = userMapper.selectOne(new QueryWrapper<User>().eq("company_id", companyId).eq("corpwx_userid", directLeader));
-                                    if (leader != null && !leader.equals(user.getSuperiorId())) {
-                                        changeUser.setSuperiorId(leader.getId());
-                                        change = true;
-                                    }
-                                }
+                                //暂不处理直属领导
+//                                if (userObj.containsKey("direct_leader") && userObj.getJSONArray("direct_leader").size() > 0) {
+//                                    String directLeader = userObj.getJSONArray("direct_leader").getString(0);
+//                                    User leader = userMapper.selectOne(new QueryWrapper<User>().eq("company_id", companyId).eq("corpwx_userid", directLeader));
+//                                    if (leader != null && !leader.equals(user.getSuperiorId())) {
+//                                        changeUser.setSuperiorId(leader.getId());
+//                                        change = true;
+//                                    }
+//                                }
                                 if (change) {
                                     userMapper.updateById(changeUser);
                                 }
@@ -911,7 +912,7 @@ public class WeiXinCorpController {
                     JSONObject authUserInfo = obj.getJSONObject("auth_user_info");
                     data.setAuthUsername(authUserInfo.getString("name"));
                     String userId = authUserInfo.getString("userid");//授权人的userid
-
+                    String openUserId = authUserInfo.getString("open_userid");
                     //检查公司名称是否存在,按照corpid比对
                     WxCorpInfo findCorp = wxCorpInfoMapper.selectById(corpId);
 
@@ -1035,10 +1036,10 @@ public class WeiXinCorpController {
                                 .setRoleName(managerRole.getRolename())
                                 .setName(name)
                                 .setPassword(MD5Util.getPassword("000000"))
-                                .setCorpwxUserid(userId)
+                                .setCorpwxUserid(openUserId)
                                 .setColor(ColorUtil.randomColor())
                                 .setCompanyId(company.getId())
-                                .setJobNumber(userId);
+                                .setJobNumber(openUserId.equals(userId)?null:userId);
                         userMapper.insert(user);
                         //todo: 生成初始测试项目及任务
                         Project project=new Project();
@@ -1128,6 +1129,7 @@ public class WeiXinCorpController {
                     JSONObject authUserInfo = obj.getJSONObject("auth_user_info");
                     data.setAuthUsername(authUserInfo.getString("name"));
                     String userId = authUserInfo.getString("userid");//授权人的userid
+                    String openUserId = authUserInfo.getString("open_userid");
                     //检查该授权人是否已经存在
                     if (userMapper.selectCount(new QueryWrapper<User>().eq("corpwx_userid", userId)) == 0) {
                         JSONObject userDetail = getUserInfo(curCorpAccessToken, userId);
@@ -1153,7 +1155,7 @@ public class WeiXinCorpController {
                                 .setCorpwxUserid(userId)
                                 .setColor(ColorUtil.randomColor())
                                 .setCompanyId(companyId)
-                                .setJobNumber(userId);//工号就是企业微信的用户ID
+                                .setJobNumber(openUserId.equals(userId)?null:userId);//工号就是企业微信的用户ID
                         userMapper.insert(user);
                     }
                 }
@@ -1673,7 +1675,7 @@ public class WeiXinCorpController {
                     .setCorpwxRealUserid(curUserid)
                     .setColor(ColorUtil.randomColor())
                     .setPassword(MD5Util.getPassword("000000"))
-                    .setJobNumber(curUserid)
+                    .setJobNumber(openUserid.equals(curUserid)?null:curUserid)
                     .setCorpwxDeptid(maxDeptId);
             allCorpWxUserList.add(user);
         }
@@ -1729,7 +1731,7 @@ public class WeiXinCorpController {
                                 .setCorpwxUserid(openUserid)
                                 .setCorpwxRealUserid(curUserid)
                                 .setColor(ColorUtil.randomColor())
-                                .setJobNumber(curUserid)
+                                .setJobNumber(openUserid.equals(curUserid)?null:curUserid)
                                 .setPassword(MD5Util.getPassword("000000"))
                                 .setCorpwxDeptid(curDept.getCorpwxDeptid());
                         allCorpWxUserList.add(user);
@@ -1761,7 +1763,7 @@ public class WeiXinCorpController {
             if (first.isPresent()) {
                 User oldUser = first.get();
                 User changeUser = new User();
-                if (!userItem.getJobNumber().equals(oldUser.getJobNumber())) {
+                if (userItem.getJobNumber() != null && !userItem.getJobNumber().equals(oldUser.getJobNumber())) {
                     changeUser.setId(oldUser.getId());
                     changeUser.setJobNumber(userItem.getJobNumber());
                 }
@@ -2081,7 +2083,7 @@ public class WeiXinCorpController {
             if (first.isPresent()) {
                 User oldUser = first.get();
                 User changeUser = new User();
-                if (!userItem.getJobNumber().equals(oldUser.getJobNumber())) {
+                if (userItem.getJobNumber() != null && !userItem.getJobNumber().equals(oldUser.getJobNumber())) {
                     changeUser.setId(oldUser.getId());
                     changeUser.setJobNumber(userItem.getJobNumber());
                 }

+ 1 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DingDingServiceImpl.java

@@ -768,7 +768,7 @@ public class DingDingServiceImpl implements DingDingService {
             OapiV2DepartmentGetRequest req = new OapiV2DepartmentGetRequest();
             req.setDeptId(deptId);
             OapiV2DepartmentGetResponse rsp = client.execute(req, accessToken);
-//            System.out.println(rsp.getBody());
+//            System.out.println("获取部门返回="+rsp.getBody());
             JSONObject json = JSONObject.parseObject(rsp.getBody());
             if (json.getInteger("errcode") == 0) {
                 JSONObject dept = json.getJSONObject("result");
@@ -955,8 +955,6 @@ public class DingDingServiceImpl implements DingDingService {
                     .setJobNumber(userJson.getString("job_number"))
                     .setColor(ColorUtil.randomColor());
 
-
-
             if (departmentId != null) {
                 user.setDepartmentCascade(convertDepartmentIdToCascade(departmentId));
             }

+ 10 - 4
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/WxCorpInfoServiceImpl.java

@@ -795,6 +795,9 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
 
                     ct.setStartTime(DateTimeUtil.getTimeFromSeconds(sTime));
                     ct.setEndTime(DateTimeUtil.getTimeFromSeconds(eTime));
+                    //有一次有效打卡
+                    boolean hitOnce = (ct.getStartTime().equals(ct.getEndTime()) && !"00:00".equals(ct.getStartTime()));
+                    String originHitTime = ct.getStartTime();
                     //直接设置打卡时长,以企业微信的为准,不考虑漏打卡的情况
                     ct.setCardTime(DateTimeUtil.getHoursFromSeconds(regular_work_sec));
                     ct.setAskLeaveTime(0.0);
@@ -1100,18 +1103,21 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
 //                        } else {
 //                            ct.setWorkHours(DateTimeUtil.getHoursFromDouble(ct.getCardTime()));
 //                        }
-                        //仅有一次打卡,并且没有请假,外出的情况,需要补足下班的打卡时间
-                        if (ct.getStartTime().equals(ct.getEndTime()) && !"00:00".equals(ct.getStartTime())) {
+                        if (showLog) System.out.println("ct.getStartTime()==" + ct.getStartTime()+", ct.getEndTime()="+ct.getEndTime());
+                        //仅有一次打卡,需要补足下班的打卡时间;重新计算工作时长
+                        if (hitOnce) {
                             if (ct.getEndTime().compareTo(baseAfternoonEnd) < 0) {
+                                if (showLog) System.out.println("打卡一次,自动补足下班时间"+baseAfternoonEnd);
                                 ct.setEndTime(baseAfternoonEnd);
                                 //重新计算时长
                                 double workTime = DateTimeUtil.getHoursFromSeconds(DateTimeUtil.getSecondsFromTime(ct.getEndTime()) - DateTimeUtil.getSecondsFromTime(ct.getStartTime()));
-                                if (ct.getStartTime().compareTo(baseMorningEnd) >= 0) {
+                                if (ct.getStartTime().compareTo(baseMorningEnd) <= 0) {
                                     //重新计算打卡工时时,需要减去中间午休时间
                                     workTime -= restTime;
                                 }
                                 ct.setCardTime(workTime);
-                                ct.setWorkHours(DateTimeUtil.getHoursFromDouble(workTime));
+                                ct.setWorkHours(DateTimeUtil.getHoursFromDouble(workTime) - ct.getAskLeaveTime() + ct.getOutdoorTime());
+                                if (showLog) System.out.println("workTime="+workTime+", 二次校正后workHours="+ct.getWorkHours());
                             }
                         }
                     }

+ 2 - 1
fhKeeper/formulahousekeeper/timesheet/src/i18n/en.json

@@ -1445,5 +1445,6 @@
   "can-yu-de-xiang-mu-de-shu-liang": "number of projects involved",
   "can-yu-ren-ci": "Number of participants",
   "chu-cha-de-tian-shu": "Days of business trip",
-  "xiang-mu-chuang-jian-shi-jian-duan": "Project Creation Period"
+  "xiang-mu-chuang-jian-shi-jian-duan": "Project Creation Period",
+  "dao-chu-jia-qi": "Export holidays"
 }

+ 2 - 1
fhKeeper/formulahousekeeper/timesheet/src/i18n/zh.json

@@ -1445,5 +1445,6 @@
   "can-yu-de-xiang-mu-de-shu-liang": "参与的项目的数量",
   "can-yu-ren-ci": "参与人次",
   "chu-cha-de-tian-shu": "出差的天数",
-  "xiang-mu-chuang-jian-shi-jian-duan": "项目创建时间段"
+  "xiang-mu-chuang-jian-shi-jian-duan": "项目创建时间段",
+  "dao-chu-jia-qi": "导出假期"
 }

+ 38 - 3
fhKeeper/formulahousekeeper/timesheet/src/views/leave/list.vue

@@ -544,7 +544,7 @@
           <div class="flex">
             <div>
               <span>{{ $t('leavetype') }}</span>
-              <el-select v-model="leaveTypeItem" :placeholder="$t('pleaseselectthetypeofleave')" @change="leaveTypeChange()" style="width: 180px" size="small"  filterable="true">
+              <el-select v-model="leaveTypeItem" :placeholder="$t('pleaseselectthetypeofleave')" @change="leaveTypeChange()" style="width: 120px" size="small"  filterable="true">
                   <span v-for="item in leaveTypeList" :key="item.leaveCode">
                   <el-option :label="item.leaveName" :value="item.leaveCode"></el-option>
                   </span> 
@@ -565,14 +565,15 @@
               </div>
               <div>
                 <span>{{ $t('personnelselection') }}</span>
-                <el-select v-model="userSelId" :placeholder="$t('pleaseselectthepersonaskingforleave')" clearable @change="userChg()" style="width: 180px" size="small" v-show="permissions.leaveAll" filterable="true">
+                <el-select v-model="userSelId" :placeholder="$t('pleaseselectthepersonaskingforleave')" clearable @change="userChg()" style="width: 140px" size="small" v-show="permissions.leaveAll" filterable="true">
                     <span v-for="(item, index) in users" :key="index">
                     <el-option :label="item.name" :value="item.id"></el-option>
                     </span> 
                 </el-select>
               </div>
-              <div style="margin:0 10px 0 40px">
+              <div style="margin:0 0px 0 10px">
                 <el-button size="small" type="primary" @click="listSynchronize" :loading="synchronizeLoading">{{ $t('synchronizefromStaple') }}</el-button>
+                <el-button size="small" type="primary" @click="exportLeaveList" :loading="exporLoading">{{ $t('dao-chu-jia-qi') }}</el-button>
               </div>
             </template>
             
@@ -853,6 +854,7 @@ export default {
       hubs: 0,
       vueCasaderItem: [], // 仿数据
       vueIAlDataSItems: undefined, // 仿数据
+      exporLoading: false
     };
   },
   computed: {},
@@ -922,6 +924,39 @@ export default {
         })
       })
     },
+    // 导出假期
+    exportLeaveList() {
+      this.exporLoading = true
+      let param = {
+        leaveCode: this.leaveTypeItem,
+        companyId: this.user.companyId,
+        departmentId: this.departmentSel ? this.departmentSel[this.departmentSel.length - 1] : '',
+        userId: this.userSelId,
+      }
+      this.http.post('/user-yearleave-setting/exportDingDingLeaveQt',param,
+      res => {
+        this.exporLoading = false
+        if(res.code == 'ok'){
+          var filePath = res.data;
+          const a = document.createElement('a'); // 创建a标签
+          a.setAttribute('download', '剩余假期');// download属性
+          a.setAttribute('href', filePath);// href链接
+          a.click(); //自执行点击事件
+          a.remove();
+        }else{
+          this.$message({
+            message: res.msg,
+            type: 'error'
+          })
+        }
+      },err => {
+        this.exporLoading = false
+        this.$message({
+          message: err,
+          type: 'error'
+        })
+      })
+    },
 
     // 从钉钉同步假期剩余表
     listSynchronize(){

+ 3 - 2
fhKeeper/formulahousekeeper/timesheet/src/views/project/projectInside.vue

@@ -1041,8 +1041,8 @@
     import 'quill/dist/quill.bubble.css'
     // 导入富文本
     import { quillEditor } from 'vue-quill-editor'
-import { error } from 'dingtalk-jsapi';
-import delete$ from 'dingtalk-jsapi/api/biz/cspace/delete';
+    import { error } from 'dingtalk-jsapi';
+    import delete$ from 'dingtalk-jsapi/api/biz/cspace/delete';
     let id=1;
     export default {
         name: "two-list-headerslots",
@@ -3258,6 +3258,7 @@ import delete$ from 'dingtalk-jsapi/api/biz/cspace/delete';
             };
         },
         mounted() {
+
             this.curProjectId = parseInt(this.$route.params.id);
             this.activeName = this.$route.path.split("/")[1];
             this.getDetail();

+ 106 - 93
fhKeeper/formulahousekeeper/timesheet_h5/src/views/index/index.vue

@@ -50,92 +50,88 @@
             //     document.head.appendChild(consoleScript);
             // }
             // console.log('userNameNeedTranslate',window.location.href);
-            if(this.user.userNameNeedTranslate == '1'){
-                this.agentConfig()
-            }
-            var ua = navigator.userAgent.toLowerCase();
-            if (ua.indexOf("wxwork") > 0) {
-                this.isCorpWX = true;
-            } else if (ua.indexOf("micromessenger") > 0) {
-                this.isWX = true;
-            }
-
-            if (this.user.company.packageEngineering == 1) {
-                this.routers.push(
-                {
-                    name: '专业审核',
-                    url: '/profession_review',
-                    icon: 'todo-list-o'
-                });
+            let that = this
+            if (localStorage.userInfo != null) {
+                that.getAccountInfo();
             }
-            var list = this.user.moduleList
-            for (var i in list) {
-                if(list[i].name == '工时报告') {
-                    this.routers.push({name: '查看日报',url: '/calendar',icon: 'description'})
-                    this.routers.push({name: '填写日报',url: '/edit',icon: 'edit'})
-                    // if (this.user.companyId == 817 || this.user.companyId == 7 || this.user.companyId == 10) {
-                        this.routers.push({name: '按周填报',url: '/weekEdit',icon: 'records'})
-                    // }
-                }
-                if(list[i].name == '待办任务') {
-                    this.routers.push({
-                        name: '待办任务',
-                        url: '/task',
-                        icon: 'coupon-o'
-                    });
+            that.getModule()
+            that.getMessage();
+            that.bindIfNessary();
+        },
+        components: {
+            Footer
+        },
+        methods: {
+            // 模块
+            getModule() {
+                if(this.user.userNameNeedTranslate == '1'){
+                    this.agentConfig()
                 }
-                if(list[i].name == '项目报告审核') {
-                    this.routers.push({name: '项目报告审核',url: '/review',icon: 'todo-list-o'})
+                var ua = navigator.userAgent.toLowerCase();
+                if (ua.indexOf("wxwork") > 0) {
+                    this.isCorpWX = true;
+                } else if (ua.indexOf("micromessenger") > 0) {
+                    this.isWX = true;
                 }
-                if(list[i].name == '项目管理') {
-                    this.routers.push({name: '项目管理',url: '/project',icon: 'label-o'})
+
+                if (this.user.company.packageEngineering == 1) {
+                    this.routers.push(
+                    {
+                        name: '专业审核',
+                        url: '/profession_review',
+                        icon: 'todo-list-o'
+                    });
                 }
-                if(list[i].name == '导入日报审核') {
-                    this.routers.push({name: '导入日报审核',url: '/audit',icon: 'label-o'})
+                var list = this.user.moduleList
+                for (var i in list) {
+                    if(list[i].name == '工时报告') {
+                        this.routers.push({name: '查看日报',url: '/calendar',icon: 'description'})
+                        this.routers.push({name: '填写日报',url: '/edit',icon: 'edit'})
+                        // if (this.user.companyId == 817 || this.user.companyId == 7 || this.user.companyId == 10) {
+                            this.routers.push({name: '按周填报',url: '/weekEdit',icon: 'records'})
+                        // }
+                    }
+                    if(list[i].name == '待办任务') {
+                        this.routers.push({
+                            name: '待办任务',
+                            url: '/task',
+                            icon: 'coupon-o'
+                        });
+                    }
+                    if(list[i].name == '项目报告审核') {
+                        this.routers.push({name: '项目报告审核',url: '/review',icon: 'todo-list-o'})
+                    }
+                    if(list[i].name == '项目管理') {
+                        this.routers.push({name: '项目管理',url: '/project',icon: 'label-o'})
+                    }
+                    if(list[i].name == '导入日报审核') {
+                        this.routers.push({name: '导入日报审核',url: '/audit',icon: 'label-o'})
+                    }
+                    if(list[i].name == '费用报销') {
+                        this.routers.push({
+                            name: '费用报销',
+                            url: '/expense',
+                            icon: 'balance-list-o'
+                        });
+                    }
                 }
-                if(list[i].name == '费用报销') {
-                    this.routers.push({
-                        name: '费用报销',
-                        url: '/expense',
-                        icon: 'balance-list-o'
+                if (this.user.manageDeptId != 0 && this.user.company.packageEngineering == 1) {
+                    this.routers.push(
+                    {
+                        name: '部门审核',
+                        url: '/department_review',
+                        icon: 'todo-list-o'
                     });
                 }
-            }
-            if (this.user.manageDeptId != 0 && this.user.company.packageEngineering == 1) {
-                this.routers.push(
-                {
-                    name: '部门审核',
-                    url: '/department_review',
-                    icon: 'todo-list-o'
-                });
-            }
-            
-            this.routers.push({
-                                name: '消息记录',
-                                url: '/msg',
-                                icon: 'todo-list-o',
-                                info: this.unreadNum
-                            });
+                
+                this.routers.push({
+                                    name: '消息记录',
+                                    url: '/msg',
+                                    icon: 'todo-list-o',
+                                    info: this.unreadNum
+                                });
+            },
 
-            
-            this.getMessage();
-            this.bindIfNessary();
-            if (localStorage.userInfo != null) {
-                this.getAccountInfo();
-            }
-            
-            this.getMessage();
-            this.bindIfNessary();
-            if (localStorage.userInfo != null) {
-                this.getAccountInfo();
-            }
-            
-            
-        },
-        components: {
-            Footer
-        },
-        methods: {
             // 获取企业微信参数
             agentConfig(){
                 let curUrl = window.location.href.split('#')[0]
@@ -196,22 +192,37 @@
 
             //获取账户信息
             getAccountInfo() {
-                this.$axios.get('/user/loginByUserId', {params:{userId: this.user.id}})
-                            .then(res => {
-                                // console.log(res);
-                                if (res.code == 'error') {
-                                    localStorage.errorMsg = res.msg;
-                                    //账号信息有问题,不能使用。
-                                    this.$router.push("/error");
-                                } else {
-                                    
-                                    localStorage.userInfo = JSON.stringify(res.data);
-                                    this.user = res.data;
-                                } 
-                            }).catch(err=> {
-                                alert('err=' + err);
-                            });
+                let userId = this.user.id
+                if(window.location.href.indexOf('userId') != '-1') {
+                    let href = window.location.href;
+                    var loginUserId = href.substring(href.indexOf("userId=")+"userId=".length);
+                    if (loginUserId.includes('#/')) {
+                        loginUserId = loginUserId.substring(0, loginUserId.indexOf('#/'));
+                    }
+                    userId = loginUserId
+                }
+                if(window.location.href.indexOf('errorMsg') != '-1') {
+                    let err = window.location.href.split('errorMsg=')[1]
+                    let str = err.split('#/')[0]
+                    this.$router.push("/error");
+                }
+                this.$axios.get('/user/loginByUserId', {params:{userId: userId}})
+                .then(res => {
+                    // console.log(res);
+                    if (res.code == 'error') {
+                        localStorage.errorMsg = res.msg;
+                        //账号信息有问题,不能使用。
+                        this.$router.push("/error");
+                    } else {
+                        
+                        localStorage.userInfo = JSON.stringify(res.data);
+                        this.user = res.data;
+                    } 
+                }).catch(err=> {
+                    alert('err=' + err);
+                });
             },
+
             bindIfNessary() {
                 let href = window.location.href;
                 var requestUrl = "";
@@ -267,6 +278,7 @@
                     }
                 }
             },
+
             //获取消息
             getMessage() {
                 this.$axios.post("/information/list", {
@@ -280,6 +292,7 @@
                     } 
                 }).catch(err=> {this.$toast.clear();});
             },
+
         },
         activated(){
             this.getMessage()

+ 11 - 4
fhKeeper/formulahousekeeper/timesheet_h5/src/views/login/index.vue

@@ -144,7 +144,8 @@
                                     //获取openId
                                     if (res.data != null && ((this.isWX && res.data.wxOpenid != undefined)
                                                 || (this.isCorpWX && res.data.corpwxUserid != undefined))) {
-                                        localStorage.userInfo = JSON.stringify(res.data);
+                                        // localStorage.userInfo = JSON.stringify(res.data);
+                                        localStorage.setItem('userInfo', JSON.stringify(res.data))
                                         console.log('绑定成功');
                                         this.user = res.data;
                                         window.location.href = '/#/my/center';
@@ -160,6 +161,7 @@
                 }
             },
             tryAutoLogin() {
+                console.log('第三方回调')
                 var appId = "ww4e237fd6abb635af";//企业微信第三方的SUIT ID
                 var url = "http://worktime.ttkuaiban.com/api/corpWXAuth";//授权回调页面
                 var weixinUrl="https://open.weixin.qq.com/connect/oauth2/authorize?appid="+appId+"&redirect_uri="+encodeURI(url)+"&response_type=code&scope=snsapi_base&state=0#wechat_redirect";
@@ -172,13 +174,17 @@
                         if (res == null) {
 
                         } else if(res.errcode != null) {
-                            
+
                         } else {
                             //获取openId
                             if (res.data != null) {
-                                localStorage.userInfo = JSON.stringify(res.data);
+                                // alert('赋值成功' + JSON.stringify(res.data))
+                                localStorage.setItem('userInfo', JSON.stringify(res.data))
+                                this.$store.commit("updateLogin", true);
                                 this.user = res.data;
-                                window.location.href = '/#/index';
+                                // alert('本地存储的值' + localStorage.getItem('userInfo'))
+                                // window.location.href = '/#/index';
+                                this.$router.push("/index");
                             }
                         }
                     }).catch(err=> {
@@ -211,6 +217,7 @@
                 if (localStorage.userInfo != null && !this.isCorpWX) {
                     this.$router.push("/index").catch(err => { console.log(err, '错误5')});
                 } else {
+                    console.log('判断企业微信是否授权',this.isCorpWX || this.isWX)
                     if (this.isCorpWX || this.isWX) {
                         //判断企业微信,是否存在授权
                         if (href.includes("com/?code")) {