Jelajahi Sumber

Merge branch 'liqk/account-band' into develop

liqk 3 tahun lalu
induk
melakukan
0dd4d325bc

+ 8 - 1
TEAMModelOS/ClientApp/public/lang/en-US.js

@@ -6153,7 +6153,14 @@ const LANG_EN_US = {
         toSchool: 'Go To School Platform',
         schoolMgt: 'School Management',
         systemSet: 'System Settings',
-        updErr: 'Failed to modify'
+        updErr: 'Failed to modify',
+        band1:'賬號綁定:',
+        band2:'微信',
+        band3:'已綁定',
+        band4:'未綁定',
+        band5:'解除綁定',
+        band6:'進行綁定',
+        band7:'釘釘',
     },
     // 工具类
     utils: {

+ 8 - 1
TEAMModelOS/ClientApp/public/lang/zh-CN.js

@@ -6154,7 +6154,14 @@ const LANG_ZH_CN = {
         toSchool: '前往校级平台',
         schoolMgt: '学校管理',
         systemSet: '系统设置',
-        updErr: '修改失败'
+        updErr: '修改失败',
+        band1:'账号绑定:',
+        band2:'微信',
+        band3:'已绑定',
+        band4:'未绑定',
+        band5:'解除绑定',
+        band6:'进行绑定',
+        band7:'钉钉',
     },
     // 工具类
     utils: {

+ 8 - 1
TEAMModelOS/ClientApp/public/lang/zh-TW.js

@@ -6153,7 +6153,14 @@ const LANG_ZH_TW = {
         toSchool: '前往校級平臺',
         schoolMgt: '學校管理',
         systemSet: '系統設定',
-        updErr: '修改失敗'
+        updErr: '修改失敗',
+        band1:'賬號綁定:',
+        band2:'微信',
+        band3:'已綁定',
+        band4:'未綁定',
+        band5:'解除綁定',
+        band6:'進行綁定',
+        band7:'釘釘',
     },
     // 工具类
     utils: {

+ 124 - 6
TEAMModelOS/ClientApp/src/view/user/UserCenter.vue

@@ -26,6 +26,7 @@
                     {{userInfo.name ? $t('user.edit') : $t('user.setting')}}
                 </span>
             </div>
+            <!-- 密码 -->
             <div class="base-info-item">
                 <Icon type="md-key" class="info-label-icon" />
                 <div class="base-value-wrap">
@@ -38,6 +39,7 @@
                     {{userInfo.is_set_pw ? $t('user.edit') : $t('user.setting')}}
                 </span>
             </div>
+            <!-- 手机 -->
             <div class="base-info-item">
                 <Icon type="md-phone-portrait" class="info-label-icon" />
                 <div class="base-value-wrap">
@@ -50,6 +52,7 @@
                     {{userInfo.mobile ? $t('user.edit') : $t('user.setting')}}
                 </span>
             </div>
+            <!-- 邮箱 -->
             <div class="base-info-item">
                 <Icon type="ios-mail" class="info-label-icon" />
                 <div class="base-value-wrap">
@@ -62,9 +65,27 @@
                     {{userInfo.mail ? $t('user.edit') : $t('user.setting')}}
                 </span>
             </div>
+            <!-- 账号绑定 暂不处理 -->
+            <!-- <div class="base-info-item">
+                <Icon type="md-link" class="info-label-icon" />
+                <div class="base-value-wrap">
+                    <p class="info-label">
+                        {{$t('user.band1')}}
+                    </p>
+                    <p class="info-value" style="color:#c5c8ce">
+                        <Icon v-show="srvAdr == 'China'" custom="iconfont icon-wechat" :color="userInfo.wechat ? '#00c80f':''" class="other-account-status" />
+                        <Icon v-show="srvAdr == 'China'" custom="iconfont icon-dingding" :color="userInfo.ding ? '#3296FA':''" class="other-account-status" />
+                        <Icon v-show="srvAdr == 'Global'" custom="iconfont icon-google" :color="userInfo.google ? '#4287f2':''" class="other-account-status" />
+                        <Icon v-show="srvAdr == 'Global'" type="logo-facebook" :color="userInfo.facebook ? '#4460A0':''" class="other-account-status" />
+                    </p>
+                </div>
+                <span class="edit-btn" @click="editInfo('band')">
+                    {{$t('user.edit')}}
+                </span>
+            </div> -->
         </div>
         <div v-show="editAttr !== 'none'" class="user-info-box light-iview-input">
-            <!-- <Icon type="md-close" class="close-edit-info" @click="editAttr = 'none'" /> -->
+            <Icon type="md-close" class="close-edit-info" @click="editAttr = 'none'" />
             <!-- 编辑名称 -->
             <div v-show="editAttr == 'name'" style="margin:auto;width:fit-content" :class="nameErr ? 'error-input' : ''">
                 <span style="margin-right:10px">{{$t('user.name')}}</span>
@@ -130,16 +151,79 @@
                     </FormItem>
                 </Form>
             </div>
-            <div class="submit-btn-wrap">
-                <Button type="primary" style="width:150px;margin-right:10px" @click="submit" :loading="loading">{{$t('user.confirm')}}</Button>
-                <Button style="width:150px" @click="editAttr = 'none'">{{$t('user.cancel')}}</Button>
+            <!-- 账号绑定 -->
+            <div v-show="editAttr == 'band'" style="margin:auto;width:fit-content;display:flex">
+                <!-- 微信 -->
+                <div class="other-box" v-show="srvAdr == 'China'">
+                    <Icon custom="iconfont icon-wechat" class="other-account-icon" color="#00c80f" />
+                    <div class="other-info-wrap">
+                        <p class="other-name">
+                            {{$t('user.band2')}}
+                        </p>
+                        <p class="band-status">
+                            {{userInfo.wechat ? $t('user.band3') : $t('user.band4')}}
+                            <Icon :type="userInfo.wechat ? 'md-checkmark-circle':'md-warning'" :color="userInfo.wechat ? '#00c80f':'#ff9900'" />
+                        </p>
+                        <Tag :type="userInfo.wechat ? 'border':''" :color="userInfo.wechat ? 'default':'primary'" class="band-btn">
+                            {{userInfo.wechat ? $t('user.band5') : $t('user.band6')}}
+                        </Tag>
+                    </div>
+                </div>
+                <!-- 钉钉 -->
+                <div class="other-box" v-show="srvAdr == 'China'">
+                    <Icon custom="iconfont icon-dingding" class="other-account-icon" color="#3296FA" />
+                    <div class="other-info-wrap">
+                        <p class="other-name">
+                            {{$t('user.band7')}}
+                        </p>
+                        <p class="band-status">
+                            {{userInfo.ding ? $t('user.band3') : $t('user.band4')}}
+                            <Icon :type="userInfo.ding ? 'md-checkmark-circle':'md-warning'" :color="userInfo.ding ? '#00c80f':'#ff9900'" />
+                        </p>
+                        <Tag :type="userInfo.ding ? 'border':''" :color="userInfo.ding ? 'default':'primary'" class="band-btn">
+                            {{userInfo.ding ? $t('user.band5') : $t('user.band6')}}
+                        </Tag>
+                    </div>
+                </div>
+                <!-- google -->
+                <div class="other-box" v-show="srvAdr == 'Global'">
+                    <Icon custom="iconfont icon-dingding" class="other-account-icon" color="#3296FA" />
+                    <div class="other-info-wrap">
+                        <p class="other-name">Google</p>
+                        <p class="band-status">
+                            {{userInfo.google ? $t('user.band3') : $t('user.band4')}}
+                            <Icon :type="userInfo.google ? 'md-checkmark-circle':'md-warning'" :color="userInfo.google ? '#00c80f':'#ff9900'" />
+                        </p>
+                        <Tag :type="userInfo.google ? 'border':''" :color="userInfo.google ? 'default':'primary'" class="band-btn">
+                            {{userInfo.google ? $t('user.band5') : $t('user.band6')}}
+                        </Tag>
+                    </div>
+                </div>
+                <!-- facebook -->
+                <div class="other-box" v-show="srvAdr == 'Global'">
+                    <Icon custom="iconfont icon-dingding" class="other-account-icon" color="#3296FA" />
+                    <div class="other-info-wrap">
+                        <p class="other-name">Facebook</p>
+                        <p class="band-status">
+                            {{userInfo.facebook ? $t('user.band3') : $t('user.band4')}}
+                            <Icon :type="userInfo.facebook ? 'md-checkmark-circle':'md-warning'" :color="userInfo.facebook ? '#00c80f':'#ff9900'" />
+                        </p>
+                        <Tag :type="userInfo.facebook ? 'border':''" :color="userInfo.facebook ? 'default':'primary'" class="band-btn">
+                            {{userInfo.facebook ? $t('user.band5') : $t('user.band6')}}
+                        </Tag>
+                    </div>
+                </div>
+            </div>
+            <div class="submit-btn-wrap" v-show="editAttr != 'band'">
+                <Button type="primary" style="width:300px;" @click="submit" :loading="loading">{{$t('user.confirm')}}</Button>
+                <!-- <Button style="width:150px" @click="editAttr = 'none'">{{$t('user.cancel')}}</Button> -->
             </div>
         </div>
     </div>
 </template>
 <script>
+import { mapGetters } from 'vuex'
 import jwtDecode from 'jwt-decode'
-// import countryCode from '@/static/countryCodeData.js'
 import CountryCode from '@/components/public/countryCode/Index.vue'
 export default {
     components: {
@@ -212,6 +296,11 @@ export default {
             // areaList: []
         }
     },
+    computed: {
+        ...mapGetters({
+            srvAdr: 'config/getSrvAdr'
+        }),
+    },
     created() {
         if (localStorage.getItem('auth_token')) {
             this.updHeader['x-auth-authtoken'] = localStorage.getItem('auth_token')
@@ -527,6 +616,36 @@ export default {
 }
 </script>
 <style lang="less" scoped>
+.other-account-status {
+    margin-right: 5px;
+    font-size: 16px;
+}
+.band-btn {
+    cursor: pointer;
+    line-height: 22px;
+}
+.band-status {
+    margin-top: 2px;
+    font-size: 12px;
+    color: #808695;
+}
+.other-name {
+    margin-top: 8px;
+    font-size: 16px;
+    color: #17233d;
+    font-weight: 900;
+}
+.other-info-wrap {
+    margin-left: 10px;
+}
+.other-box {
+    display: flex;
+    margin: 20px 30px 40px 30px;
+}
+.other-account-icon {
+    font-size: 90px;
+    display: block;
+}
 .edit-pw-input {
     display: inline-block;
     width: 230px;
@@ -545,7 +664,6 @@ export default {
     text-align: center;
 }
 .close-edit-info {
-    color: white;
     position: absolute;
     right: 10px;
     top: 8px;