Browse Source

用户信息修改

pengjing 10 months ago
parent
commit
65e3ac19f1

+ 5 - 5
src/main/java/com/hz/employmentsite/services/impl/UserServiceImpl.java

@@ -136,7 +136,7 @@ public class UserServiceImpl implements UserService {
     @Override
     public Integer save(UserEditVo data, String userId) throws Exception {
         AtomicInteger result = new AtomicInteger();
-        if (data.getUserTypeID().equals(3)) {//驿站工作者
+        if (data.getUserTypeID().equals(3) && data.isAdd) {//驿站工作者
             if (data.getSiteUserIdList() != null && data.getSiteUserIdList().size() > 0) {
                 PcSiteUserExample exp = new PcSiteUserExample();
                 PcSiteUserExample.Criteria cri = exp.or();
@@ -199,13 +199,13 @@ public class UserServiceImpl implements UserService {
             } else {
                 //修改
                 dbData.setName(data.getName());
-                dbData.setLoginID(data.getLoginID());
-                if (data.getPassword() == null) {
+                /*dbData.setLoginID(data.getLoginID());*/
+                /*if (data.getPassword() == null) {
                     dbData.setPassword(defaultPassword);
                 } else {
                     dbData.setPassword(DigestUtils.md5DigestAsHex(data.getPassword().getBytes()).toUpperCase());
-                }
-                dbData.setUserTypeID(data.getUserTypeID());
+                }*/
+                /*dbData.setUserTypeID(data.getUserTypeID());*/
                 dbData.setRecordStatus(data.getRecordStatus());
                 dbData.setUpdateBy(userId);
                 dbData.setUpdateTime(new Date());

+ 2 - 0
src/main/java/com/hz/employmentsite/vo/user/UserEditVo.java

@@ -10,4 +10,6 @@ public class UserEditVo extends SysUser {
     public List<String> datarangeIdList;
 
     public List<String> siteUserIdList;
+
+    public boolean isAdd;
 }

+ 2 - 0
src/main/java/com/hz/employmentsite/vo/user/UserInfoModel.java

@@ -29,4 +29,6 @@ public class UserInfoModel {
     public String IDCard;
     public String siteName;
 
+    public String datarangeIds;
+
 }

+ 6 - 0
src/main/resources/mapping/cquery/SysUserCQuery.xml

@@ -127,6 +127,7 @@
         select theUser.*,dic_userType.Name as UserTypeName,siteUser.SiteID,siteUser.SiteUserName,siteUser.Mobile as UserMobile,
                siteUser.Gender,dic_genderType.Name as GenderName
         ,siteUser.userNo,siteUser.IDCard,site.siteName
+        ,userDataRange.datarangeIds
         from sys_user theUser
         left join pc_site_user siteUser on theUser.UserID = siteUser.UserID
         left join pc_site site on siteUser.SiteID = site.SiteID
@@ -134,6 +135,11 @@
         on theUser.UserTypeID = dic_userType.value
         left join (select * from sys_dictionary_item where DictionaryCode ='Gender') dic_genderType
         on siteUser.Gender = dic_genderType.value
+        left join (
+            select d.userId,GROUP_CONCAT(d.datarangeId) as datarangeIds
+            from sys_user_datarange d
+            group by d.userId
+        )userDataRange on theUser.userId = userDataRange.userId
         where theUser.UserId = #{userId}
     </select>
 

+ 132 - 28
vue/src/views/system/users/addUser.vue

@@ -14,6 +14,7 @@
   >
     <div class="modal-search">
       <a-form
+        v-if="isAdd"
         ref="formRef"
         name="advanced_search"
         class="ant-advanced-search-form"
@@ -144,6 +145,89 @@
           </a-table>
         </div>
       </a-form>
+      <a-form
+        v-if="!isAdd"
+        ref="formRef"
+        name="advanced_search"
+        class="ant-advanced-search-form"
+        :model="dataModel"
+        autocomplete="off"
+      >
+        <a-row type="flex" :gutter="24">
+          <a-col :span="12">
+            <a-form-item
+              label="用户类型"
+              :label-col="{ span: 6 }"
+              name="userTypeID"
+              :rules="[{ required: true, message: '请选择用户类型!' }]"
+            >
+              <a-select
+                ref="select"
+                v-model:value="dataModel.userTypeID"
+                :options="userTypeList"
+                :field-names="{ label: 'name', value: 'value' }"
+                :allow-clear="true"
+                :disabled="true"
+              ></a-select>
+            </a-form-item>
+          </a-col>
+          <a-col v-if="dataModel.userTypeID === 4" :span="12">
+            <a-form-item
+              label="所属机构"
+              name="datarangeIds"
+              :label-col="{ span: 6 }"
+              :rules="[{ required: true, message: '请选择所属机构!' }]"
+            >
+              <a-select
+                ref="select"
+                v-model:value="dataModel.datarangeIds"
+                :options="institutionList"
+                :field-names="{ label: 'text', value: 'value' }"
+                :allow-clear="true"
+              ></a-select>
+            </a-form-item>
+          </a-col>
+          <a-col v-if="dataModel.userTypeID === 5" :span="12">
+            <a-form-item
+              label="所属县区"
+              name="datarangeIds"
+              :label-col="{ span: 6 }"
+              :rules="[{ required: true, message: '请选择所属县区!' }]"
+            >
+              <a-select
+                ref="select"
+                v-model:value="dataModel.datarangeIds"
+                :options="regionList"
+                :field-names="{ label: 'name', value: 'code' }"
+                :allow-clear="true"
+              ></a-select>
+            </a-form-item>
+          </a-col>
+        </a-row>
+        <a-row type="flex" :gutter="24">
+          <a-col :span="12">
+            <a-form-item
+              label="用户名"
+              :label-col="{ span: 6 }"
+              name="name"
+              :rules="[{ required: true, message: '请输入用户名!' }]"
+            >
+              <a-input v-model:value="dataModel.name" placeholder="" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item
+              label="账号"
+              :label-col="{ span: 6 }"
+              name="loginID"
+              :rules="[{ required: true, message: '请输入用户账号!' }]"
+              :disabled="true"
+            >
+              {{ dataModel.loginID }}
+            </a-form-item>
+          </a-col>
+        </a-row>
+      </a-form>
     </div>
   </a-modal>
 </template>
@@ -202,59 +286,78 @@
         loading: false,
       });
       const institutionList = ref<SelectProps['options']>();
+      const isAdd = ref(false);
 
       const getUserTypeList = async function () {
         const userTypeResult = await getSysDictionaryList('UserType');
         userTypeList.value = userTypeResult;
       };
 
-      const show = async function () {
+      const show = function (userId) {
+        visible.value = true;
+        isAdd.value = false;
+        formData.dataModel.userTypeID = null;
+        if (userId === '' || userId == null) {
+          isAdd.value = true;
+        }
+
+        getData(userId);
+      };
+
+      const getData = async function (userId) {
         formState.loading = true;
         await getUserTypeList();
         await getRegionList();
         await getInstitutionList();
-        const reqData = await getUserByID('');
+        const reqData = await getUserByID(userId);
         formData.dataModel = reqData;
-        /*console.log('dataModel', formData.dataModel);*/
         formState.loading = false;
-        visible.value = true;
       };
 
       const onCommit = async function () {
         isAllowCommit.value = true;
-        if (
-          formData.dataModel.userTypeID != 3 &&
-          (formData.dataModel.name == null ||
-            formData.dataModel.loginID == null ||
-            formData.dataModel.password == null ||
-            formData.dataModel.userTypeID == null ||
-            formData.dataModel.recordStatus == null)
-        ) {
-          message.error('请填写完整的用户信息!');
-          isAllowCommit.value = false;
-        }
+        if (isAdd.value == true) {
+          if (
+            formData.dataModel.userTypeID != 3 &&
+            (formData.dataModel.name == null ||
+              formData.dataModel.loginID == null ||
+              formData.dataModel.password == null ||
+              formData.dataModel.userTypeID == null ||
+              formData.dataModel.recordStatus == null)
+          ) {
+            message.error('请填写完整的用户信息!');
+            isAllowCommit.value = false;
+          }
 
-        if (
-          formData.dataModel.userTypeID == 3 &&
-          (formData.dataModel.password == null ||
-            formData.dataModel.userTypeID == null ||
-            formData.dataModel.recordStatus == null)
-        ) {
-          message.error('请填写完整的用户信息!');
-          isAllowCommit.value = false;
-        }
+          if (
+            formData.dataModel.userTypeID == 3 &&
+            (formData.dataModel.password == null ||
+              formData.dataModel.userTypeID == null ||
+              formData.dataModel.recordStatus == null)
+          ) {
+            message.error('请填写完整的用户信息!');
+            isAllowCommit.value = false;
+          }
 
-        if (formData.dataModel.userTypeID == 3 && siteUserList.value.length == 0) {
-          message.error('请添加驿站工作人员!');
-          isAllowCommit.value = false;
+          if (formData.dataModel.userTypeID == 3 && siteUserList.value.length == 0) {
+            message.error('请添加驿站工作人员!');
+            isAllowCommit.value = false;
+          } else {
+            formData.dataModel.siteUserIdList = siteUserList.value.map((it: any) => it.siteUserID);
+          }
         } else {
-          formData.dataModel.siteUserIdList = siteUserList.value.map((it: any) => it.siteUserID);
+          if (formData.dataModel.name == null) {
+            message.error('请填写完整的用户信息!');
+            isAllowCommit.value = false;
+          }
         }
 
         if (isAllowCommit.value) {
           //多选时不需要转类型
           formData.dataModel.datarangeIdList = [formData.dataModel.datarangeIds];
 
+          formData.dataModel.isAdd = isAdd.value;
+
           saveSysUser(formData.dataModel).then((result) => {
             if (result) {
               visible.value = false;
@@ -308,6 +411,7 @@
         tableState,
         onDel,
         institutionList,
+        isAdd,
       };
     },
     created() {},

+ 8 - 5
vue/src/views/system/users/index.vue

@@ -46,7 +46,7 @@
       </a-row>
       <a-row class="edit-operation">
         <a-col :span="24" style="text-align: right">
-          <a-button type="primary" html-type="submit" functioncode="T0199010105" @click="onAdd"
+          <a-button type="primary" html-type="submit" functioncode="T0199010105" @click="onAdd('')"
             >新增</a-button
           >
         </a-col>
@@ -67,6 +67,9 @@
         <template #bodyCell="{ column, text, record }">
           <template v-if="column.key === 'operation'">
             <div class="table-operation">
+              <a-button type="link" functioncode="T0199010105" @click="onAdd(record.UserID)"
+                >编辑</a-button
+              >
               <a-button
                 type="link"
                 functioncode="T0199010102"
@@ -88,7 +91,7 @@
       </a-table>
     </div>
     <UpdatePassword ref="updatePasswordRef"></UpdatePassword>
-    <UserAdd ref="userAddRef" :loadData="loadData"></UserAdd>
+    <UserAdd ref="userAddRef" :load-data="loadData"></UserAdd>
   </div>
 </template>
 
@@ -183,9 +186,9 @@
         loadData();
       };
 
-      const onAdd = () => {
-        userAddRef.value.show();
-        loadData();
+      const onAdd = (userId) => {
+        userAddRef.value.show(userId);
+        /*loadData();*/
       };
 
       const onUpdateUserStatus = async function (userID, status) {