Przeglądaj źródła

update 用户管理

linweizeng 3 lat temu
rodzic
commit
f22ceb1fb6

+ 3 - 1
src/layout/header-aside/components/header-user/index.vue

@@ -70,6 +70,7 @@
     />
     <user-info
       :id="userId"
+      :formType="formType"
       :visible="userInfoVisible"
       :title=" $t('navbar.userInfo') "
       readonly
@@ -96,7 +97,8 @@ export default {
       tenantid: this.$store.getters.tenantid,
       dropdownVisible: false,
       changePasswordVisible: false,
-      userInfoVisible: false
+      userInfoVisible: false,
+      formType: 'part'
     }
   },
   computed: {

+ 12 - 10
src/views/platform/org/employee/edit/basic-info.vue

@@ -28,11 +28,11 @@
             <el-form ref="employeeForm" :rules="rules" :model="formData" label-width="130px" @submit.native.prevent>
                 <input type="password" style="width: 0; height: 0; line-height: 0; padding: 0; border-width: 0" />
                 <el-form-item label="账号" prop="account">
-                    <el-input v-if="!readonly" v-model="formData.account" autocomplete="off" clearable/>
+                    <el-input v-if="!readonly && formData.groupID != '1041786072788369408'" v-model="formData.account" autocomplete="off" clearable />
                     <span v-else>{{ formData.account }}</span>
                 </el-form-item>
                 <el-form-item v-show="!formData.id" label="密码" :prop="!formData.id ? 'password' : ''">
-                    <el-input v-if="!readonly" v-model="formData.password" autocomplete="off" type="password" show-password clearable/>
+                    <el-input v-if="!readonly" v-model="formData.password" autocomplete="off" type="password" show-password clearable />
                     <span v-else>{{ formData.password }}</span>
                 </el-form-item>
                 <!-- <el-form-item label="是否管理员" prop="isSuper">
@@ -48,11 +48,11 @@
           </el-tag>
         </el-form-item> -->
                 <el-form-item label="单位名称">
-                    <el-input v-if="!readonly" v-model="formData.qq" clearable/>
+                    <el-input v-if="!readonly" v-model="formData.qq" clearable />
                     <span v-else>{{ formData.qq }}</span>
                 </el-form-item>
                 <el-form-item label="员工姓名" prop="name">
-                    <el-input v-if="!readonly" v-model="formData.name" clearable/>
+                    <el-input v-if="!readonly" v-model="formData.name" clearable />
                     <span v-else>{{ formData.name }}</span>
                 </el-form-item>
                 <el-form-item label="员工状态" prop="status">
@@ -78,18 +78,16 @@
                     </el-tag>
                 </el-form-item>
                 <el-form-item label="邮箱" prop="email">
-                    <!-- <el-input v-model="formData.email" clearable/> -->
-                    <el-input v-if="!readonly" v-model="formData.email" />
+                    <!-- <el-input v-model="formData.email" clearable /> -->
+                    <el-input v-if="!readonly || formType== 'part'" v-model="formData.email" clearable/>
                     <span v-else>{{ formData.email }}</span>
                 </el-form-item>
                 <el-form-item label="地址">
-                    <!-- <el-input v-model="formData.address" clearable/> -->
-                    <el-input v-if="!readonly" v-model="formData.address" />
+                    <el-input v-if="!readonly || formType== 'part'" v-model="formData.address" clearable/>
                     <span v-else>{{ formData.address }}</span>
                 </el-form-item>
                 <el-form-item label="手机号码">
-                    <!-- <el-input v-model="formData.mobile" clearable/> -->
-                    <el-input v-if="!readonly" v-model="formData.mobile" />
+                    <el-input v-if="!readonly || formType== 'part'" v-model="formData.mobile" clearable/>
                     <span v-else>{{ formData.mobile }}</span>
                 </el-form-item>
             </el-form>
@@ -112,6 +110,10 @@ export default {
         readonly: {
             type: Boolean,
             default: false
+        },
+        formType: {
+            type: String,
+            default: 'add'
         }
     },
     data() {

+ 7 - 1
src/views/platform/org/employee/edit/index.vue

@@ -22,6 +22,7 @@
                     ref="basicInfo"
                     :readonly="readonly"
                     :data="employee"
+                    :formType="formType"
                     @input="data => employee = data"
                 />
             </el-tab-pane>
@@ -43,6 +44,7 @@
                     :span="span"
                     :readonly="readonly"
                     :data="employee.orgItem"
+                    :groupID="employee.groupID"
                     @input="data => employee.orgItem = data"
                 />
             </el-tab-pane>
@@ -122,6 +124,10 @@
                 type: Boolean,
                 default: false
             },
+            formType: {
+                type: String,
+                default: 'add'
+            },
             ceroParams: {
                 type: Object,
                 default: () => {}
@@ -158,7 +164,7 @@
                 toolbars: [
                     {
                         key: 'save',
-                        hidden: () => { return this.readonly }
+                        hidden: () => { return this.readonly && this.formType == 'detail' }
                     },
                     { key: 'cancel' }
                 ]

+ 8 - 4
src/views/platform/org/employee/edit/org-info.vue

@@ -1,6 +1,6 @@
 <template>
   <el-row :gutter="10">
-    <el-col v-if="!readonly" :span="8" border>
+    <el-col v-if="!readonly && groupID != '1041786072788369408'" :span="8" border>
       <div class="grid-content">
         <tree
           ref="elTree"
@@ -25,11 +25,11 @@
         />
       </div>
     </el-col>
-    <el-col v-if="!readonly" :span="3">
+    <el-col v-if="!readonly && groupID != '1041786072788369408'" :span="3">
       <el-button type="primary" icon="el-icon-d-arrow-right" class="ibps-ml-10" @click="handleBelongTo">属于</el-button>
       <el-button type="info" icon="el-icon-d-arrow-left" class="ibps-ml-10 ibps-mt-10" @click="handleClear">清空</el-button>
     </el-col>
-    <el-col :span="spanNumber" border>
+    <el-col :span="!readonly && groupID != '1041786072788369408' ? 11 : 24" border>
       <div class="grid-content">
         <el-form label-width="120px">
           <el-form-item>
@@ -61,7 +61,11 @@ export default {
       type: Boolean,
       default: false
     },
-    span: [Number, String]
+    span: [Number, String],
+    groupID: {
+      type: String,
+      default: ''
+    },
   },
   data() {
     return {

+ 6 - 4
src/views/platform/org/employee/list.vue

@@ -2,7 +2,7 @@
     <ibps-container type="full" class="page">
         <ibps-crud ref="crud" style="width: 100%" :height="height" :data="listData" :toolbars="listConfig.toolbars" :search-form="listConfig.searchForm" :pk-key="pkKey" :columns="listConfig.columns" :row-handle="listConfig.rowHandle" :pagination="pagination" :loading="loading" display-field="用户管理" :display-field-data="listConfig.displayFieldData" @display-field-change="handleDisplayField" @header-dragend="handleHeaderDragend" @action-event="handleAction" @sort-change="handleSortChange" @pagination-change="handlePaginationChange" />
         <!-- 新增、编辑、明细 -->
-        <edit :id="editId" :title="title" :visible="dialogFormVisible" :readonly="readonly" :span="span" @dialog-callback="search" @close="(visible) => (dialogFormVisible = visible)" />
+        <edit :id="editId" :title="title" :formType="formType" :visible="dialogFormVisible" :readonly="readonly" :span="span" @dialog-callback="search" @close="(visible) => (dialogFormVisible = visible)" />
         <!-- 重置密码 -->
         <change-password :ids="changePasswordIds" :visible="changePasswordVisible" :title="$t('platform.org.employee.change-password.resetPassword')" is-reset :reg-open="true" @dialog-callback="search" @close="(visible) => (changePasswordVisible = visible)" />
         <more-search ref="moreSearch" :title="moreSearchTitle" :visible="dialogMoreSearchVisible" party-type="employee" @callback="search" @close="(visible) => (dialogMoreSearchVisible = visible)" @action-event="handleMoreSearchAction" />
@@ -37,6 +37,7 @@ export default {
             span: '',
             dialogFormVisible: false,
             readonly: false, // 是否只读
+            formType: 'add',
 
             changePasswordIds: '',
             changePasswordVisible: false,
@@ -305,7 +306,7 @@ export default {
                 case 'edit': // 编辑
                     ActionUtils.selectedRecord(selection)
                         .then((id) => {
-                            this.handleEdit(id)
+                            this.handleEdit(id,false,'edit')
                             this.title = this.$t('common.title.edit', { title: this.$t('platform.org.employee.title') })
                             this.span = 13
                         })
@@ -321,7 +322,7 @@ export default {
                 case 'detail': // 明细
                     ActionUtils.selectedRecord(selection)
                         .then((id) => {
-                            this.handleEdit(id, true)
+                            this.handleEdit(id, true, 'detail')
                             this.span = 24
                             this.title = this.$t('common.title.detail', { title: this.$t('platform.org.employee.title') })
                         })
@@ -364,8 +365,9 @@ export default {
         /**
          * 处理编辑
          */
-        handleEdit(editId, readonly = false) {
+        handleEdit(editId, readonly = false,type = 'add') {
             this.editId = editId || ''
+            this.formType = type
             this.dialogFormVisible = true
             this.readonly = readonly
         },