chen.cheng 4 месяцев назад
Родитель
Сommit
b822d67508

+ 14 - 6
.env.test

@@ -1,14 +1,22 @@
 # 页面标题
-VUE_APP_TITLE = 交通强国工作台
+VUE_APP_TITLE = Digital Construction Management
 
-# 生产环境配置
 BABEL_ENV = production
 
 NODE_ENV = production
 
-# 若依管理系统/生产环境
-VUE_APP_BASE_API = '/prod-api'
+# 若依管理系统/开发环境
+VUE_APP_BASE_API = '/pkb-api'
 
-VUE_APP_BD_BASE_API = '/prod-bd-api'
+VUE_APP_BASE_URL = 'http://127.0.0.1:28080/pkb'
 
-VUE_APP_BASE_URL = 'http://172.192.13.80:8080/tfc':
+VUE_APP_WS_URL = 'ws://127.0.0.1:28080/pkb'
+
+VUE_APP_BD_BASE_API = '/dev-db-api'
+
+VUE_APP_BD_BASE_URL = 'http://200.200.19.253:31838/bdgis'
+
+VUE_APP_DEF_LANGUAGE = 'zh'
+
+# 3D图层开关
+VUE_APP_3D_SWITCH = false

+ 45 - 6
src/i18n/en.js

@@ -18,16 +18,19 @@ export default {
     typeInfo: "Enter {name}",
     select: "Select {name}",
     search: "Search",
+    tip: "Tips",
     reset: "Reset",
     expand_collapse: "Expand/Collapse",
-    updateTime: "Last Modified Time",
-    createTime: "Creation Time",
+    updateTime: "Modified Time",
+    createTime: "Created Time",
     operation: 'Operation',
     confirm: 'Confirm',
     cancel: 'Cancel',
+    close: 'Close',
     addDialog: `Add {name}`,
     modifyDialog: `Modify {name}`,
     required: "{name} is required.",
+    checkFormat: "Input a correct {name}.",
     showSearch: "Show Search",
     hideSearch: "Hide Search",
     refresh: "Refresh",
@@ -47,6 +50,7 @@ export default {
   },
   menus: {
     "index": "Home",
+    "user-center": "User Center",
     "1": "System Management",
     "2": "System Monitoring",
     "3": "System Tools",
@@ -115,7 +119,9 @@ export default {
     // 分配施工机械
     assignMachine: "Assign Construction Machine",
     // 下载竣工图纸 工程规范用词
-    downloadFinishDrawing: "Download As-built Drawings",
+    downloadFinishDrawing: "Download As-built CAD Drawings",
+    // 下载施工数据
+    downloadPileData: "Download Construction Data (CSV)",
     // 上级施工单元
     parentUnit: "Parent Construction Unit",
     // 创建类型
@@ -205,8 +211,41 @@ export default {
   },
   search: "search",
   sysSetting: {
-    layout: "Layout settings",
-    usrCenter: "Personal center",
-    logout: "Logout"
+    layout: "Layout Settings",
+    usrCenter: "User Center",
+    logout: "Logout",
+    logoutTips: "Are you sure you want to log out and exit the system?",
+    title: "Theme Customization",
+    themeColor: "Theme Color",
+    sysLayout: "System Layout",
+    open: "Enable {name}",
+    fix: "Pin {name}",
+    show: "Display {name}",
+    dynamicTitle: "Dynamic Page Title",
+    saveSetting: "Save",
+    resetSetting: "Reset",
+    clearCache: "Clearing cache and refreshing...",
+    saveChange: "Saving changes...",
+  },
+  usrInfo: {
+    title: "Personal Info",
+    usrName: "Username",
+    nickName: "Display Name",
+    dept: "Department",
+    tel: "Mobile Number",
+    email: "Email",
+    status: "Account Status",
+    roles: "Roles",
+    baseInfo: "Basic Profile",
+    sex: "Sex",
+    male: "male",
+    female: "female",
+    "resetPwd": "Change Password",
+    "oldPwd": "Current Password",
+    "newPwd": "New Password",
+    "confirmPwd": "Confirm Password",
+    "pwdNotMatch": "Passwords do not match",
+    "pwdLength": "Length must be between 6 and 20 characters",
+    "pwdIllegal": "Cannot contain invalid characters: < > \" ' \\ |"
   }
 }

+ 47 - 3
src/i18n/zh.js

@@ -24,11 +24,14 @@ export default {
     updateTime: "修改时间",
     createTime: "创建时间",
     operation: '操作',
+    close: '关闭',
     confirm: '确 认',
     cancel: '取 消',
+    tip: "提示",
     addDialog: `添加{name}`,
     modifyDialog: `修改{name}`,
     required: "{name}不能为空。",
+    checkFormat: "请输入正确的{name}。",
     showSearch: "显示搜索",
     hideSearch: "隐藏搜索",
     refresh: "刷新",
@@ -65,6 +68,7 @@ export default {
   },
   menus: {
     "index": "首页",
+    "user-center": "用户中心",
     "1": "系统管理",
     "2": "系统监控",
     "3": "系统工具",
@@ -133,7 +137,9 @@ export default {
     // 分配施工机械
     assignMachine: "分配施工机械",
     // 下载竣工图纸
-    downloadFinishDrawing: "下载竣工图纸",
+    downloadFinishDrawing: "下载竣工CAD图纸",
+    // 下载施工数据
+    downloadPileData: "下载施工数据CSV",
     // 上级施工单元
     parentUnit: "上级施工单元",
     // 创建类型
@@ -200,7 +206,7 @@ export default {
     desDepth: "设计深度",
     pileRadius: "桩径",
   },
-  projestInfo: {
+  projectInfo: {
     title: "项目信息",
     projName: "项目名称"
   },
@@ -209,6 +215,44 @@ export default {
   sysSetting: {
     layout: "布局设置",
     usrCenter: "个人中心",
-    logout: "退出登录"
+    logout: "退出登录",
+    logoutTips: "确定注销并退出系统吗?",
+    title: "主题风格设置",
+    themeColor: "主题颜色",
+    sysLayout: "系统布局设置",
+    open: "开启 {name}",
+    fix: "固定 {name}",
+    show: "显示 {name}",
+    dynamicTitle: "动态标题",
+    saveSetting: "保存配置",
+    resetSetting: "重置配置",
+    clearCache: "正在清除设置缓存并刷新,请稍候...",
+    saveChange: "正在保存到本地,请稍候...",
   },
+  usrInfo: {
+    title: "个人信息",
+    usrName: "用户名称",
+    nickName: "用户昵称",
+    dept: "部门",
+    tel: "手机号码",
+    email: "邮箱",
+    status: "状态",
+    roles: "所属角色",
+    baseInfo: "基本资料",
+    // 性别
+    sex: "性别",
+    female: "女",
+    male: "男",
+    resetPwd: "修改密码",
+    oldPwd: "旧密码",
+    newPwd: "新密码",
+    confirmPwd: "确认密码",
+    // 两次输入的密码不一致
+    pwdNotMatch: "两次输入的密码不一致",
+    // 长度在 6 到 20 个字符
+    pwdLength: "长度在 6 到 20 个字符",
+    // 不能包含非法字符:< > " ' \ |
+    pwdIllegal: "不能包含非法字符:< > \" ' \\ |",
+
+  }
 }

+ 3 - 3
src/layout/components/Navbar.vue

@@ -87,9 +87,9 @@ export default {
       this.$store.dispatch('app/toggleSideBar')
     },
     async logout() {
-      this.$confirm('确定注销并退出系统吗?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
+      this.$confirm(this.$t("logoutTips"), '提示', {
+        confirmButtonText: this.$t("common.confirm"),
+        cancelButtonText: this.$t("common.cancel"),
         type: 'warning'
       }).then(() => {
         this.$store.dispatch('LogOut').then(() => {

+ 12 - 12
src/layout/components/Settings/index.vue

@@ -4,7 +4,7 @@
       <div>
         <div class="setting-drawer-content">
           <div class="setting-drawer-title">
-            <h3 class="drawer-title">主题风格设置</h3>
+            <h3 class="drawer-title">{{ $t("sysSetting.title") }}</h3>
           </div>
           <div class="setting-drawer-block-checbox">
             <div class="setting-drawer-block-checbox-item" @click="handleTheme('theme-dark')">
@@ -30,44 +30,44 @@
           </div>
 
           <div class="drawer-item">
-            <span>主题颜色</span>
+            <span>{{ $t("sysSetting.themeColor") }}</span>
             <theme-picker style="float: right;height: 26px;margin: -3px 8px 0 0;" @change="themeChange" />
           </div>
         </div>
 
         <el-divider/>
 
-        <h3 class="drawer-title">系统布局配置</h3>
+        <h3 class="drawer-title">{{ $t("sysSetting.sysLayout") }}</h3>
 
         <div class="drawer-item">
-          <span>开启 TopNav</span>
+          <span>{{ $t("sysSetting.open",{name: "TopNav"}) }}</span>
           <el-switch v-model="topNav" class="drawer-switch" />
         </div>
 
         <div class="drawer-item">
-          <span>开启 Tags-Views</span>
+          <span>{{ $t("sysSetting.open",{name: "Tags-Views"}) }}</span>
           <el-switch v-model="tagsView" class="drawer-switch" />
         </div>
 
         <div class="drawer-item">
-          <span>固定 Header</span>
+          <span>{{ $t("sysSetting.fix",{name: "Header"}) }}</span>
           <el-switch v-model="fixedHeader" class="drawer-switch" />
         </div>
 
         <div class="drawer-item">
-          <span>显示 Logo</span>
+          <span>{{ $t("sysSetting.show",{name: "Logo"}) }}</span>
           <el-switch v-model="sidebarLogo" class="drawer-switch" />
         </div>
 
         <div class="drawer-item">
-          <span>动态标题</span>
+          <span>{{ $t("sysSetting.dynamicTitle") }}</span>
           <el-switch v-model="dynamicTitle" class="drawer-switch" />
         </div>
 
         <el-divider/>
 
-        <el-button size="small" type="primary" plain icon="el-icon-document-add" @click="saveSetting">保存配置</el-button>
-        <el-button size="small" plain icon="el-icon-refresh" @click="resetSetting">重置配置</el-button>
+        <el-button size="small" type="primary" plain icon="el-icon-document-add" @click="saveSetting">{{ $t("sysSetting.saveSetting") }}</el-button>
+        <el-button size="small" plain icon="el-icon-refresh" @click="resetSetting">{{ $t("sysSetting.resetSetting") }}</el-button>
       </div>
     </div>
   </el-drawer>
@@ -166,7 +166,7 @@ export default {
       this.sideTheme = val;
     },
     saveSetting() {
-      this.$modal.loading("正在保存到本地,请稍候...");
+      this.$modal.loading(this.$t("sysSetting.saveChange"));
       this.$cache.local.set(
         "layout-setting",
         `{
@@ -182,7 +182,7 @@ export default {
       setTimeout(this.$modal.closeLoading(), 1000)
     },
     resetSetting() {
-      this.$modal.loading("正在清除设置缓存并刷新,请稍候...");
+      this.$modal.loading(this.$t("sysSetting.clearCache"));
       this.$cache.local.remove("layout-setting")
       setTimeout("window.location.reload()", 1000)
     }

+ 1 - 1
src/router/index.js

@@ -93,7 +93,7 @@ export const constantRoutes = [
         path: 'profile',
         component: () => import('@/views/system/user/profile/index'),
         name: 'Profile',
-        meta: {title: '个人中心', icon: 'user'}
+        meta: {title: '个人中心', icon: 'user',id: "user-center"}
       }
     ]
   }

+ 25 - 6
src/views/cons/consUnit/index.vue

@@ -28,7 +28,7 @@
             icon="el-icon-plus"
             size="mini"
             @click="handleAdd"
-            v-hasPermi="['system:dept:add']"
+            v-hasPermi="['cons:consUnitInfo:add']"
         >
           {{ $t('common.add') }}
         </el-button>
@@ -80,7 +80,7 @@
               type="text"
               icon="el-icon-edit"
               @click="handleUpdate(scope.row)"
-              v-hasPermi="['system:dept:edit']"
+              v-hasPermi="['cons:consUnitInfo:edit']"
           >
             {{
               $t('common.edit')
@@ -91,7 +91,7 @@
               type="text"
               icon="el-icon-plus"
               @click="handleAdd(scope.row)"
-              v-hasPermi="['system:dept:add']"
+              v-hasPermi="['cons:consUnitInfo:add']"
           >
             {{
               $t('common.add')
@@ -103,7 +103,7 @@
               type="text"
               icon="el-icon-delete"
               @click="handleDelete(scope.row)"
-              v-hasPermi="['system:dept:remove']"
+              v-hasPermi="['cons:consUnitInfo:remove']"
           >
             {{
               $t('common.delete')
@@ -116,7 +116,7 @@
               type="text"
               icon="el-icon-upload"
               @click="handleImport(scope.row)"
-              v-hasPermi="['system:dept:edit']"
+              v-hasPermi="['cons:consUnitInfo:edit']"
           >
             {{
               $t('cons.uploadCAD')
@@ -128,7 +128,7 @@
               type="text"
               icon="el-icon-set-up"
               @click="handleAssign(scope.row)"
-              v-hasPermi="['system:dept:edit']"
+              v-hasPermi="['cons:consUnitInfo:edit']"
           >
             {{
               $t('cons.assignMachine')
@@ -145,6 +145,17 @@
               $t('cons.downloadFinishDrawing')
             }}
           </el-button>
+          <el-button
+              v-if="scope.row.type==='2'"
+              size="mini"
+              type="text"
+              icon="el-icon-download"
+              @click="handleExportCsv(scope.row)"
+          >
+            {{
+              $t('cons.downloadPileData')
+            }}
+          </el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -550,11 +561,19 @@ export default {
       }).catch(() => {
       });
     },
+
     handleExport(row) {
       this.download('cons/consUnitInfo/export/cad', {
         id: row.id
       }, `attendGroup_${new Date().getTime()}.dwg`)
     },
+
+    handleExportCsv(row) {
+      this.download('cons/consUnitInfo/export/csv', {
+        id: row.id
+      }, `unit_construct_${new Date().getTime()}.csv`)
+    },
+
   }
 };
 </script>

+ 2 - 1
src/views/cons/projectInfo/index.vue

@@ -10,7 +10,8 @@
         />
       </el-form-item>
       <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">
+          {{
             $t('common.search')
           }}
         </el-button>

+ 21 - 15
src/views/system/user/profile/index.vue

@@ -4,35 +4,41 @@
       <el-col :span="6" :xs="24">
         <el-card class="box-card">
           <div slot="header" class="clearfix">
-            <span>个人信息</span>
+            <span>{{ $t("usrInfo.title") }}</span>
           </div>
           <div>
             <div class="text-center">
-              <userAvatar />
+              <userAvatar/>
             </div>
             <ul class="list-group list-group-striped">
               <li class="list-group-item">
-                <svg-icon icon-class="user" />用户名称
+                <svg-icon icon-class="user"/>
+                {{ $t("usrInfo.usrName") }}
                 <div class="pull-right">{{ user.userName }}</div>
               </li>
               <li class="list-group-item">
-                <svg-icon icon-class="phone" />手机号码
+                <svg-icon icon-class="phone"/>
+                {{ $t("usrInfo.tel") }}
                 <div class="pull-right">{{ user.phonenumber }}</div>
               </li>
               <li class="list-group-item">
-                <svg-icon icon-class="email" />用户邮箱
+                <svg-icon icon-class="email"/>
+                {{ $t("usrInfo.email") }}
                 <div class="pull-right">{{ user.email }}</div>
               </li>
               <li class="list-group-item">
-                <svg-icon icon-class="tree" />所属部门
+                <svg-icon icon-class="tree"/>
+                {{ $t("usrInfo.dept") }}
                 <div class="pull-right" v-if="user.dept">{{ user.dept.deptName }} / {{ postGroup }}</div>
               </li>
               <li class="list-group-item">
-                <svg-icon icon-class="peoples" />所属角色
+                <svg-icon icon-class="peoples"/>
+                {{ $t("usrInfo.roles") }}
                 <div class="pull-right">{{ roleGroup }}</div>
               </li>
               <li class="list-group-item">
-                <svg-icon icon-class="date" />创建日期
+                <svg-icon icon-class="date"/>
+                {{ $t("common.createTime") }}
                 <div class="pull-right">{{ user.createTime }}</div>
               </li>
             </ul>
@@ -42,14 +48,14 @@
       <el-col :span="18" :xs="24">
         <el-card>
           <div slot="header" class="clearfix">
-            <span>基本资料</span>
+            <span>{{ $t("usrInfo.baseInfo") }}</span>
           </div>
           <el-tabs v-model="activeTab">
-            <el-tab-pane label="基本资料" name="userinfo">
-              <userInfo :user="user" />
+            <el-tab-pane :label='$t("usrInfo.baseInfo")' name="userinfo">
+              <userInfo :user="user"/>
             </el-tab-pane>
-            <el-tab-pane label="修改密码" name="resetPwd">
-              <resetPwd />
+            <el-tab-pane :label='$t("usrInfo.resetPwd")' name="resetPwd">
+              <resetPwd/>
             </el-tab-pane>
           </el-tabs>
         </el-card>
@@ -62,11 +68,11 @@
 import userAvatar from "./userAvatar";
 import userInfo from "./userInfo";
 import resetPwd from "./resetPwd";
-import { getUserProfile } from "@/api/system/user";
+import {getUserProfile} from "@/api/system/user";
 
 export default {
   name: "Profile",
-  components: { userAvatar, userInfo, resetPwd },
+  components: {userAvatar, userInfo, resetPwd},
   data() {
     return {
       user: {},

+ 22 - 17
src/views/system/user/profile/resetPwd.vue

@@ -1,29 +1,34 @@
 <template>
   <el-form ref="form" :model="user" :rules="rules" label-width="80px">
-    <el-form-item label="旧密码" prop="oldPassword">
-      <el-input v-model="user.oldPassword" placeholder="请输入旧密码" type="password" show-password/>
+    <el-form-item :label="$t('usrInfo.oldPwd')" prop="oldPassword">
+      <el-input v-model="user.oldPassword" :placeholder="$t('common.typeInfo',{name:$t('usrInfo.oldPwd')})"
+                type="password"
+                show-password/>
     </el-form-item>
-    <el-form-item label="新密码" prop="newPassword">
-      <el-input v-model="user.newPassword" placeholder="请输入新密码" type="password" show-password/>
+    <el-form-item :label="$t('usrInfo.newPwd')" prop="newPassword">
+      <el-input v-model="user.newPassword" :placeholder="$t('common.typeInfo',{name:$t('usrInfo.newPwd')})"
+                type="password"
+                show-password/>
     </el-form-item>
-    <el-form-item label="确认密码" prop="confirmPassword">
-      <el-input v-model="user.confirmPassword" placeholder="请确认新密码" type="password" show-password/>
+    <el-form-item :label="$t('usrInfo.confirmPwd')" prop="confirmPassword">
+      <el-input v-model="user.confirmPassword" :placeholder="$t('common.typeInfo',{name:$t('usrInfo.confirmPwd')})"
+                type="password" show-password/>
     </el-form-item>
     <el-form-item>
-      <el-button type="primary" size="mini" @click="submit">保存</el-button>
-      <el-button type="danger" size="mini" @click="close">关闭</el-button>
+      <el-button type="primary" size="mini" @click="submit">{{ $t("common.confirm") }}</el-button>
+      <el-button type="danger" size="mini" @click="close">{{ $t("common.close") }}</el-button>
     </el-form-item>
   </el-form>
 </template>
 
 <script>
-import { updateUserPwd } from "@/api/system/user";
+import {updateUserPwd} from "@/api/system/user";
 
 export default {
   data() {
     const equalToPassword = (rule, value, callback) => {
       if (this.user.newPassword !== value) {
-        callback(new Error("两次输入的密码不一致"));
+        callback(new Error(this.$t("usrInfo.pwdNotMatch")));
       } else {
         callback();
       }
@@ -37,16 +42,16 @@ export default {
       // 表单校验
       rules: {
         oldPassword: [
-          { required: true, message: "旧密码不能为空", trigger: "blur" }
+          {required: true, message: this.$t("common.required", {name: this.$t("usrInfo.oldPwd")}), trigger: "blur"}
         ],
         newPassword: [
-          { required: true, message: "新密码不能为空", trigger: "blur" },
-          { min: 6, max: 20, message: "长度在 6 到 20 个字符", trigger: "blur" },
-          { pattern: /^[^<>"'|\\]+$/, message: "不能包含非法字符:< > \" ' \\\ |", trigger: "blur" }
+          {required: true, message: this.$t("common.required", {name: this.$t("usrInfo.newPwd")}), trigger: "blur"},
+          {min: 6, max: 20, message: this.$t("usrInfo.pwdLength"), trigger: "blur"},
+          {pattern: /^[^<>"'|\\]+$/, message: this.$t("usrInfo.pwdIllegal"), trigger: "blur"}
         ],
         confirmPassword: [
-          { required: true, message: "确认密码不能为空", trigger: "blur" },
-          { required: true, validator: equalToPassword, trigger: "blur" }
+          {required: true, message: this.$t("common.required", {name: this.$t("usrInfo.confirmPwd")}), trigger: "blur"},
+          {required: true, validator: equalToPassword, trigger: "blur"}
         ]
       }
     };
@@ -56,7 +61,7 @@ export default {
       this.$refs["form"].validate(valid => {
         if (valid) {
           updateUserPwd(this.user.oldPassword, this.user.newPassword).then(response => {
-            this.$modal.msgSuccess("修改成功");
+            this.$modal.msgSuccess(this.$t("tips.modifySuccess"));
           });
         }
       });

+ 20 - 20
src/views/system/user/profile/userInfo.vue

@@ -1,29 +1,29 @@
 <template>
   <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-    <el-form-item label="用户昵称" prop="nickName">
-      <el-input v-model="form.nickName" maxlength="30" />
-    </el-form-item> 
-    <el-form-item label="手机号码" prop="phonenumber">
-      <el-input v-model="form.phonenumber" maxlength="11" />
+    <el-form-item :label="$t('usrInfo.nickName')" prop="nickName">
+      <el-input v-model="form.nickName" maxlength="30"/>
     </el-form-item>
-    <el-form-item label="邮箱" prop="email">
-      <el-input v-model="form.email" maxlength="50" />
+    <el-form-item :label="$t('usrInfo.tel')" prop="phonenumber">
+      <el-input v-model="form.phonenumber" maxlength="11"/>
     </el-form-item>
-    <el-form-item label="性别">
+    <el-form-item :label="$t('usrInfo.email')" prop="email">
+      <el-input v-model="form.email" maxlength="50"/>
+    </el-form-item>
+    <el-form-item :label="$t('usrInfo.sex')">
       <el-radio-group v-model="form.sex">
-        <el-radio label="0">男</el-radio>
-        <el-radio label="1">女</el-radio>
+        <el-radio label="0">{{ $t('usrInfo.male') }}</el-radio>
+        <el-radio label="1">{{ $t('usrInfo.female') }}</el-radio>
       </el-radio-group>
     </el-form-item>
     <el-form-item>
-      <el-button type="primary" size="mini" @click="submit">保存</el-button>
-      <el-button type="danger" size="mini" @click="close">关闭</el-button>
+      <el-button type="primary" size="mini" @click="submit">{{ $t('common.confirm') }}</el-button>
+      <el-button type="danger" size="mini" @click="close">{{ $t('common.close') }}</el-button>
     </el-form-item>
   </el-form>
 </template>
 
 <script>
-import { updateUserProfile } from "@/api/system/user";
+import {updateUserProfile} from "@/api/system/user";
 
 export default {
   props: {
@@ -37,21 +37,21 @@ export default {
       // 表单校验
       rules: {
         nickName: [
-          { required: true, message: "用户昵称不能为空", trigger: "blur" }
+          {required: true, message: this.$t("common.required", this.$t("usrInfo.nickName")), trigger: "blur"}
         ],
         email: [
-          { required: true, message: "邮箱地址不能为空", trigger: "blur" },
+          {required: true, message: this.$t("common.required", this.$t("usrInfo.email")), trigger: "blur"},
           {
             type: "email",
-            message: "请输入正确的邮箱地址",
+            message: this.$t("common.checkFormat", this.$t("usrInfo.email")),
             trigger: ["blur", "change"]
           }
         ],
         phonenumber: [
-          { required: true, message: "手机号码不能为空", trigger: "blur" },
+          {required: true, message: this.$t("common.required", this.$t("usrInfo.tel")), trigger: "blur"},
           {
             pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
-            message: "请输入正确的手机号码",
+            message: this.$t("common.checkFormat", this.$t("usrInfo.tel")),
             trigger: "blur"
           }
         ]
@@ -62,7 +62,7 @@ export default {
     user: {
       handler(user) {
         if (user) {
-          this.form = { nickName: user.nickName, phonenumber: user.phonenumber, email: user.email, sex: user.sex };
+          this.form = {nickName: user.nickName, phonenumber: user.phonenumber, email: user.email, sex: user.sex};
         }
       },
       immediate: true
@@ -73,7 +73,7 @@ export default {
       this.$refs["form"].validate(valid => {
         if (valid) {
           updateUserProfile(this.form).then(response => {
-            this.$modal.msgSuccess("修改成功");
+            this.$modal.msgSuccess(this.$t("tips.modifySuccess"));
             this.user.phonenumber = this.form.phonenumber;
             this.user.email = this.form.email;
           });