Forráskód Böngészése

bug-1316 用户信息不可编辑

cfort 2 éve
szülő
commit
60d932792f

+ 13 - 11
src/views/platform/org/employee/edit/basic-info.vue

@@ -2,22 +2,22 @@
     <el-row style="height: 500px">
     <el-row style="height: 500px">
         <el-col :span="6">
         <el-col :span="6">
             <div style="padding-left: 55px">
             <div style="padding-left: 55px">
-                <span class="photo-area" @click="dialogFormVisible = !readonly">
+                <span class="photo-area" @click="dialogFormVisible = canEdit">
                     <img v-if="formData.photo" :src="image" class="avatar">
                     <img v-if="formData.photo" :src="image" class="avatar">
                     <i v-else class="el-icon-plus avatar-uploader-icon" />
                     <i v-else class="el-icon-plus avatar-uploader-icon" />
                     <div
                     <div
-                        v-if="!readonly"
+                        v-if="canEdit"
                         :class="formData.photo !== '' ? 'handle-photo-buttons' : null"
                         :class="formData.photo !== '' ? 'handle-photo-buttons' : null"
                         @click.stop="() => { dialogFormVisible = false }"
                         @click.stop="() => { dialogFormVisible = false }"
                     >
                     >
                         <div v-if="formData.photo !== ''">
                         <div v-if="formData.photo !== ''">
-                            <i class="el-icon-edit" @click.stop="dialogFormVisible = !readonly" />
+                            <i class="el-icon-edit" @click.stop="dialogFormVisible = canEdit" />
                             <i class="el-icon-delete" @click.stop="formData.photo = ''" />
                             <i class="el-icon-delete" @click.stop="formData.photo = ''" />
                         </div>
                         </div>
                     </div>
                     </div>
                 </span>
                 </span>
             </div>
             </div>
-            <span v-if="!readonly" class="operation">点击上方进行头像操作</span>
+            <span v-if="canEdit" class="operation">点击上方进行头像操作</span>
             <ibps-uploader
             <ibps-uploader
                 :visible="dialogFormVisible"
                 :visible="dialogFormVisible"
                 :limit="limit"
                 :limit="limit"
@@ -36,12 +36,12 @@
             >
             >
                 <input type="password" style="width: 0; height: 0; line-height: 0; padding: 0; border-width: 0">
                 <input type="password" style="width: 0; height: 0; line-height: 0; padding: 0; border-width: 0">
                 <el-form-item label="账号" prop="account">
                 <el-form-item label="账号" prop="account">
-                    <el-input v-if="!readonly" v-model="formData.account" autocomplete="off" clearable />
+                    <el-input v-if="canEdit" v-model="formData.account" autocomplete="off" clearable />
                     <span v-else>{{ formData.account }}</span>
                     <span v-else>{{ formData.account }}</span>
                 </el-form-item>
                 </el-form-item>
                 <el-form-item v-show="!formData.id" label="密码" :prop="!formData.id ? 'password' : ''">
                 <el-form-item v-show="!formData.id" label="密码" :prop="!formData.id ? 'password' : ''">
                     <el-input
                     <el-input
-                        v-if="!readonly"
+                        v-if="canEdit"
                         v-model="formData.password"
                         v-model="formData.password"
                         autocomplete="off"
                         autocomplete="off"
                         type="password"
                         type="password"
@@ -67,11 +67,11 @@
                     <span v-else>{{ formData.qq }}</span>
                     <span v-else>{{ formData.qq }}</span>
                 </el-form-item>
                 </el-form-item>
                 <el-form-item label="员工编号">
                 <el-form-item label="员工编号">
-                    <el-input v-if="!readonly" v-model="formData.jianDingZiGeZ" clearable />
+                    <el-input v-if="canEdit" v-model="formData.jianDingZiGeZ" clearable />
                     <span v-else>{{ formData.jianDingZiGeZ }}</span>
                     <span v-else>{{ formData.jianDingZiGeZ }}</span>
                 </el-form-item>
                 </el-form-item>
                 <el-form-item label="员工姓名" prop="name">
                 <el-form-item label="员工姓名" prop="name">
-                    <el-input v-if="!readonly" v-model="formData.name" clearable />
+                    <el-input v-if="canEdit" v-model="formData.name" clearable />
                     <span v-else>{{ formData.name }}</span>
                     <span v-else>{{ formData.name }}</span>
                 </el-form-item>
                 </el-form-item>
                 <el-form-item label="员工状态" prop="status">
                 <el-form-item label="员工状态" prop="status">
@@ -111,15 +111,15 @@
                 </el-form-item>
                 </el-form-item>
                 <el-form-item label="邮箱" prop="email">
                 <el-form-item label="邮箱" prop="email">
                     <!-- <el-input v-model="formData.email" clearable /> -->
                     <!-- <el-input v-model="formData.email" clearable /> -->
-                    <el-input v-if="!readonly || formType== 'part'" v-model="formData.email" clearable />
+                    <el-input v-if="canEdit" v-model="formData.email" clearable />
                     <span v-else>{{ formData.email }}</span>
                     <span v-else>{{ formData.email }}</span>
                 </el-form-item>
                 </el-form-item>
                 <el-form-item label="地址">
                 <el-form-item label="地址">
-                    <el-input v-if="!readonly || formType== 'part'" v-model="formData.address" clearable />
+                    <el-input v-if="canEdit" v-model="formData.address" clearable />
                     <span v-else>{{ formData.address }}</span>
                     <span v-else>{{ formData.address }}</span>
                 </el-form-item>
                 </el-form-item>
                 <el-form-item label="手机号码">
                 <el-form-item label="手机号码">
-                    <el-input v-if="!readonly || formType== 'part'" v-model="formData.mobile" clearable />
+                    <el-input v-if="canEdit" v-model="formData.mobile" clearable />
                     <span v-else>{{ formData.mobile }}</span>
                     <span v-else>{{ formData.mobile }}</span>
                 </el-form-item>
                 </el-form-item>
                 <el-form-item v-if="!readonly">
                 <el-form-item v-if="!readonly">
@@ -244,7 +244,9 @@ export default {
                 callback()
                 callback()
             }
             }
         }
         }
+        const canEdit = !this.readonly || this.formType === 'part'
         return {
         return {
+            canEdit,
             formAsterisk: {
             formAsterisk: {
                 title: '关于用户类型',
                 title: '关于用户类型',
                 content: `此属性用于设置用户端展示的功能`
                 content: `此属性用于设置用户端展示的功能`

+ 5 - 0
src/views/platform/org/employee/edit/index.vue

@@ -92,6 +92,7 @@
         </el-tabs>
         </el-tabs>
         <div slot="footer" class="el-dialog--center">
         <div slot="footer" class="el-dialog--center">
             <ibps-toolbar
             <ibps-toolbar
+                v-if="!readonly || formType === 'part'"
                 :actions="toolbars"
                 :actions="toolbars"
                 @action-event="handleActionEvent"
                 @action-event="handleActionEvent"
             />
             />
@@ -357,6 +358,10 @@ export default {
                     // 启动培训
                     // 启动培训
                     this.createTrain(response.variables.id)
                     this.createTrain(response.variables.id)
                     this.$emit('dialog-callback', this)
                     this.$emit('dialog-callback', this)
+                    if (this.formType === 'part') {
+                        this.closeDialog()
+                        return this.$router.currentRoute.path === '/dashboard' ? location.reload() : this.$router.push('/')
+                    }
                     ActionUtils.saveSuccessMessage(response.message, r => {
                     ActionUtils.saveSuccessMessage(response.message, r => {
                         // if (this.$utils.isEmpty(this.formId)) {
                         // if (this.$utils.isEmpty(this.formId)) {
                         //     this.$refs[this.formName].resetFields()
                         //     this.$refs[this.formName].resetFields()

+ 1 - 1
src/views/system/dashboard/templates/userInfoTab.vue

@@ -8,7 +8,7 @@
                     :icon="data.photo ? null : 'ibps-icon-user-circle'"
                     :icon="data.photo ? null : 'ibps-icon-user-circle'"
                     :src="getPhoto()"
                     :src="getPhoto()"
                     :size="85"
                     :size="85"
-                    style="font-size: 100px; color: #c0c4cc; background: #fff;"
+                    style="font-size: 85px; color: #c0c4cc; background: #fff;"
                 >
                 >
                     <img :src="getPhoto(data.photo)" class="photo-img" @error="errorAvatarHandler(data)">
                     <img :src="getPhoto(data.photo)" class="photo-img" @error="errorAvatarHandler(data)">
                 </el-avatar>
                 </el-avatar>