Browse Source

对于钉钉用户,登录后如果不需要转译,缺少姓名的要弹窗提示录入姓名(H5)

Lijy 1 year ago
parent
commit
4304ae7abe

+ 52 - 8
fhKeeper/formulahousekeeper/timesheet_h5/src/views/editPerfect/editPerfect.vue

@@ -1,11 +1,23 @@
 <template>
-    <div class='perfect'>
-        <div class="perfectTitle">完善工号</div>
-        <div class="perfectNumber">
-            <input type="text" v-model.trim="jobNumber" placeholder="请输入工号">
+    <div class="perfectBox">
+        <div class='perfect' v-if="showjobNumber">
+            <div class="perfectTitle">完善工号</div>
+            <div class="perfectNumber">
+                <input type="text" v-model.trim="jobNumber" placeholder="请输入工号">
+            </div>
+            <div class="perfectBtn">
+                <van-button type="info" round :disabled="!jobNumber" @click="editPerfectJobNumber">确定</van-button>
+            </div>
         </div>
-        <div class="perfectBtn">
-            <van-button type="info" round :disabled="!jobNumber" @click="editPerfectJobNumber">确定</van-button>
+
+        <div class='perfect' v-if="!showjobNumber">
+            <div class="perfectTitle">完善姓名</div>
+            <div class="perfectNumber">
+                <input type="text" v-model.trim="userName" placeholder="请输入姓名">
+            </div>
+            <div class="perfectBtn">
+                <van-button type="info" round :disabled="!userName" @click="editPerfectName">确定</van-button>
+            </div>
         </div>
     </div>
 </template>
@@ -18,13 +30,21 @@ export default {
     data() {
         return {
             jobNumber: '',
-            user: JSON.parse(localStorage.userInfo)
+            userName: '',
+            showjobNumber: true,
+            user: JSON.parse(localStorage.userInfo),
         }
     },
     computed: {},
     watch: {},
     created() { },
-    mounted() { },
+    mounted() { 
+        console.log(this.$route)
+        const { showjobNumber } = this.$route.query
+        if (showjobNumber == 'false') {
+            this.showjobNumber = false
+        }
+    },
     methods: {
         editPerfectJobNumber() {
             const { id } = this.user
@@ -47,6 +67,26 @@ export default {
             }).catch(err => {
                 this.$toast.fail(err);
             });
+        },
+        editPerfectName() {
+            this.$axios.post("/user/userRename", {
+                newName: this.userName
+            })
+            .then(res => {
+                if (res.code == "ok") {
+                    this.$toast.success('操作成功');
+                    let newUserInfo = {
+                        ...this.user,
+                        name: this.userName
+                    }
+                    localStorage.setItem('userInfo', JSON.stringify(newUserInfo))
+                    this.$router.go(-1);
+                } else {
+                    this.$toast.fail(res.msg);
+                }
+            }).catch(err => {
+                this.$toast.fail(err);
+            });
         }
     },
 }
@@ -82,6 +122,10 @@ export default {
         }
     }
 
+.perfectBox {
+    width: 100vw;
+    height: 100vh;
+}
     .perfectBtn {
         width: 80%;
         margin: 0 auto;

+ 17 - 2
fhKeeper/formulahousekeeper/timesheet_h5/src/views/index/index.vue

@@ -103,9 +103,24 @@
             }
 
             // 检查是否有工号
-            const { companyId, jobNumber } = this.user
+            const { companyId, jobNumber, userNameNeedTranslate, name, dingdingUserid } = this.user
             if(this.jobNumberCheckCompanyId.includes(companyId) && !jobNumber) {
-                this.$router.push("/editPerfect");
+                this.$router.push({
+                    path: '/editPerfect',
+                    query: {
+                        showjobNumber: 'true'
+                    }
+                });
+            }
+
+            // 检查是否需要完成姓名
+            if(userNameNeedTranslate == 0 && (name == dingdingUserid)) {
+                this.$router.push({
+                    path: '/editPerfect',
+                    query: {
+                        showjobNumber: 'false'
+                    }
+                });
             }
 
             if(this.user.dingdingUserid) {