瀏覽代碼

feat: 驿站人员前端展示工号、身份证

zhangying 1 年之前
父節點
當前提交
3960cd2d92

+ 5 - 3
src/main/java/com/hz/employmentsite/controller/baseSettings/SiteUserController.java

@@ -10,6 +10,7 @@ import com.hz.employmentsite.util.ExcelHelper;
 import com.hz.employmentsite.vo.baseSettings.SiteUserVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+
 import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -36,9 +37,10 @@ public class SiteUserController {
                                                       @RequestParam(required = false) String siteUserName,
                                                       @RequestParam(required = false) String siteID,
                                                       @RequestParam(required = false) String roleName,
-                                                      @RequestParam(required = false) String regionCode) {
+                                                      @RequestParam(required = false) String regionCode,
+                                                      @RequestParam(required = false) String userNo) {
 
-        PageInfo<SiteUserVo> result = userInfoService.getList(pageIndex,pageSize,siteUserIDList,siteUserName,siteID,roleName,regionCode);
+        PageInfo<SiteUserVo> result = userInfoService.getList(pageIndex, pageSize, siteUserIDList, siteUserName, siteID, roleName, regionCode, userNo);
 
         return RespGenerstor.success(result);
     }
@@ -75,7 +77,7 @@ public class SiteUserController {
                                @RequestParam(required = false) List<String> siteUserIDList,
                                @RequestParam(required = false) String siteUserName,
                                @RequestParam(required = false) String siteID) throws Exception{
-        PageInfo<SiteUserVo> result = userInfoService.getList(pageIndex,pageSize,siteUserIDList,siteUserName,siteID, null, null);
+        PageInfo<SiteUserVo> result = userInfoService.getList(pageIndex, pageSize, siteUserIDList, siteUserName, siteID, null, null, null);
         ExcelHelper.ExcelData data = excelHelper.new ExcelData();
         data.setTitles(Arrays.asList(new String[]{"序号","人员名称","角色", "性别", "联系电话","所属驿站"}));
         int i = 0;

+ 2 - 1
src/main/java/com/hz/employmentsite/mapper/cquery/UserInfoCQuery.java

@@ -11,7 +11,8 @@ public interface UserInfoCQuery {
                              @Param("siteUserName") String siteUserName,
                              @Param("siteID") String siteID,
                              @Param("roleName") String roleName,
-                             @Param("regionCode") String regionCode);
+                             @Param("regionCode") String regionCode,
+                             @Param("userNo") String userNo);
 
     List<SiteUserVo> getListBySiteID(@Param("siteID") String siteID);
 }

+ 8 - 4
src/main/java/com/hz/employmentsite/services/impl/baseSettings/SiteUserImpl.java

@@ -48,9 +48,9 @@ public class SiteUserImpl implements SiteUserService {
     private SysUserSysRoleMapper sysUserSysRoleMapper;
 
     @Override
-    public PageInfo<SiteUserVo> getList(int pageIndex, int pageSize, List<String> siteUserIDList, String siteUserName,String siteID, String roleName, String regionCode) {
+    public PageInfo<SiteUserVo> getList(int pageIndex, int pageSize, List<String> siteUserIDList, String siteUserName, String siteID, String roleName, String regionCode, String userNo) {
         PageHelper.startPage(pageIndex, pageSize);
-        List<SiteUserVo> dataList = userInfoCQuery.getList(stringUtils.ListToInSql(siteUserIDList),siteUserName,siteID, roleName, regionCode);
+        List<SiteUserVo> dataList = userInfoCQuery.getList(stringUtils.ListToInSql(siteUserIDList), siteUserName, siteID, roleName, regionCode, userNo);
         PageInfo<SiteUserVo> result = new PageInfo(dataList);
         return result;
     }
@@ -71,13 +71,13 @@ public class SiteUserImpl implements SiteUserService {
         }else{
             ids.add(siteUserID);
         }
-        SiteUserVo model = userInfoCQuery.getList(stringUtils.ListToInSql(ids),null,null, null, null).stream().findFirst().orElse(null);
+        SiteUserVo model = userInfoCQuery.getList(stringUtils.ListToInSql(ids), null, null, null, null, null).stream().findFirst().orElse(null);
         return model;
     }
 
     @Override
     public List<SelectProps> getDataList() {
-        var dataList = getList(1,99999,null,null,null, null, null).getList();
+        var dataList = getList(1, 99999, null, null, null, null, null, null).getList();
         List<SelectProps> dataResult = new ArrayList<>();
         for (var item: dataList) {
             SelectProps  itemResult = new SelectProps();
@@ -131,6 +131,8 @@ public class SiteUserImpl implements SiteUserService {
             dbData.setGender(data.getGender());
             dbData.setRoleID(data.getRoleID());
             dbData.setMobile(data.getMobile());
+            dbData.setUserNo(data.getUserNo());
+            dbData.setIDCard(data.getIdCard());
             dbData.setCreateUserID(userId);
             dbData.setCreateTime(new Date());
             result += pcSiteUserMapper.insert(dbData);
@@ -160,6 +162,8 @@ public class SiteUserImpl implements SiteUserService {
             dbData.setGender(data.gender);
             dbData.setRoleID(data.roleID);
             dbData.setMobile(data.mobile);
+            dbData.setUserNo(data.userNo);
+            dbData.setIDCard(data.idCard);
             dbData.setUpdateBy(userId);
             dbData.setUpdateTime(new Date());
             result += pcSiteUserMapper.updateByPrimaryKey(dbData);

+ 1 - 1
src/main/java/com/hz/employmentsite/services/service/baseSettings/SiteUserService.java

@@ -8,7 +8,7 @@ import java.util.List;
 
 public interface SiteUserService {
 
-    PageInfo<SiteUserVo> getList(int pageIndex, int pageSize, List<String> siteUserIDList, String siteUserName,String siteID, String roleName, String regionCode);
+    PageInfo<SiteUserVo> getList(int pageIndex, int pageSize, List<String> siteUserIDList, String siteUserName, String siteID, String roleName, String regionCode, String userNo);
 
     PageInfo<SiteUserVo> getListBySiteID(int pageIndex, int pageSize, String siteID);
 

+ 3 - 0
src/main/resources/mapping/cquery/SiteUserCQuery.xml

@@ -26,6 +26,9 @@
         <if test="regionCode!='' and regionCode!=null">
             and site.regionCode = #{regionCode}
         </if>
+        <if test="userNo!='' and userNo!=null">
+            and siteUser.userNo like Concat('%', #{userNo}, '%')
+        </if>
     </select>
 
     <select id="getListBySiteID" resultType="com.hz.employmentsite.vo.baseSettings.SiteUserVo">

+ 34 - 8
vue/src/views/baseSettings/siteUser/edit.vue

@@ -25,13 +25,30 @@
       </a-row>
       <a-row type="flex">
         <a-col :span="7">
-          <a-form-item label="用户类型"  name="roleID" :label-col="{span:7}" :rules="[{ required: true, message: '请选择用户类型!' }]">
-            <label v-if="opCategory==3">{{dataModel.roleID }}</label>
-            <a-select ref="select" v-model:value="dataModel.roleID" :options="roleList"
-                      :field-names="{ label: 'name', value: 'value' }" :allow-clear="false" > </a-select>
+          <a-form-item label="工号" name="roleID" :label-col="{span:7}"
+                       :rules="[{ required: true, message: '请输入工号!' }]">
+            <label v-if="opCategory==3">{{ dataModel.userNo }}</label>
+            <a-input v-model:value="dataModel.userNo" placeholder=""/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item label="身份证" name="roleID" :label-col="{span:7}"
+                       :rules="[{ required: true, message: '请输入身份证!' }]">
+            <label v-if="opCategory==3">{{ dataModel.idCard }}</label>
+            <a-input v-model:value="dataModel.idCard" placeholder=""/>
           </a-form-item>
         </a-col>
         <a-col :span="8">
+          <a-form-item label="用户类型" name="roleID" :label-col="{span:8}"
+                       :rules="[{ required: true, message: '请选择用户类型!' }]">
+            <label v-if="opCategory==3">{{ dataModel.roleID }}</label>
+            <a-select ref="select" v-model:value="dataModel.roleID" :options="roleList"
+                      :field-names="{ label: 'name', value: 'value' }" :allow-clear="false"></a-select>
+          </a-form-item>
+        </a-col>
+      </a-row>
+      <a-row type="flex">
+        <a-col :span="7">
           <a-form-item label="所属驿站"  name="siteID" :label-col="{span:7}" :rules="[{ required: true, message: '请选择所属驿站!' }]">
             <a-select
               ref="select"
@@ -41,9 +58,6 @@
             </a-select>
           </a-form-item>
         </a-col>
-        <a-col :span="7">
-
-        </a-col>
       </a-row>
       <a-form-item class="buttom-btns">
         <a-button @click="onClose">取消</a-button>
@@ -58,8 +72,8 @@ import {useTabsViewStore} from "@/store/modules/tabsView";
 import {getSiteUserByID, saveSiteUser} from "@/api/baseSettings/userInfo";
 import BUploadFile from "@/components/file/uploadFile.vue";
 import type {SelectProps} from "ant-design-vue";
-import {getSysDictionaryList} from "@/api/system/dictionary";
 import {message} from "ant-design-vue";
+import {getSysDictionaryList} from "@/api/system/dictionary";
 import {getSiteList} from "@/api/baseSettings/siteInfo";
 
 interface siteUserModel {
@@ -129,6 +143,17 @@ export default defineComponent({
       }
     };
 
+    function idCardValidate() {
+      isAllowCommit.value = true;
+      let _IDRe18 = /^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
+      let _IDre15 = /^([1-6][1-9]|50)\d{4}\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}$/
+      // 校验身份证
+      if (!_IDRe18.test(formData.dataModel.idCard) && !_IDre15.test(formData.dataModel.idCard)) {
+        message.error("输入的身份证格式有误!");
+        isAllowCommit.value = false;
+      }
+    }
+
     const onClose = (reload: any) => {
       tabsViewStore.closeCurrentTabByPath('/baseSettings/user/add');
       tabsViewStore.closeCurrentTabByPath('/baseSettings/user/edit');
@@ -137,6 +162,7 @@ export default defineComponent({
 
     const onFinish = () => {
       mobileValidate();
+      idCardValidate();
       if(isAllowCommit.value){
         saveSiteUser(formData.dataModel).then(result => {
           if (result) {

+ 13 - 9
vue/src/views/baseSettings/siteUser/index.vue

@@ -7,6 +7,11 @@
             <a-input v-model:value="searchParams.siteUserName" placeholder="" :allow-clear="true"/>
           </a-form-item>
         </a-col>
+        <a-col :span="6">
+          <a-form-item label="工号" :label-col="{span:8}" name="userNo">
+            <a-input v-model:value="searchParams.userNo" placeholder="" :allow-clear="true"/>
+          </a-form-item>
+        </a-col>
         <a-col :span="6">
           <a-form-item label="所属驿站" :label-col="{span:8}" name="siteID">
             <a-select
@@ -20,9 +25,6 @@
             </a-select>
           </a-form-item>
         </a-col>
-        <a-col :span="6">
-
-        </a-col>
       <a-col :span="6" style="text-align: left">
           <a-button type="primary" html-type="submit" @click="onSearch">查询</a-button>
           <a-button
@@ -64,15 +66,14 @@
 </template>
 
 <script lang="ts">
-import {reactive, ref, computed, defineComponent, createVNode} from 'vue';
+import {computed, createVNode, defineComponent, reactive, ref} from 'vue';
 import {useTabsViewStore} from "@/store/modules/tabsView";
 import {DownOutlined, ExclamationCircleOutlined, UpOutlined} from '@ant-design/icons-vue';
-import type {FormInstance} from 'ant-design-vue';
-import type {TableColumnsType, TableProps} from 'ant-design-vue';
-import {getSiteUserList,delSiteUser} from '@/api/baseSettings/userInfo';
+import type {FormInstance, TableColumnsType, TableProps} from 'ant-design-vue';
+import {message, Modal} from "ant-design-vue";
+import {delSiteUser, getSiteUserList} from '@/api/baseSettings/userInfo';
 import BExportExcel from "@/components/basic/excel/exportExcel/exportExcel.vue";
 import {getPaginationTotalTitle} from "@/utils/common";
-import {message, Modal} from "ant-design-vue";
 import {getSiteList} from "@/api/baseSettings/siteInfo";
 
 export default defineComponent({
@@ -86,7 +87,8 @@ export default defineComponent({
       pageIndex: 1,
       pageSize: 20,
       siteUserName: '',
-      siteID:''
+      siteID: '',
+      userNo: ""
     });
     const formState = reactive({
       total: 0,
@@ -95,10 +97,12 @@ export default defineComponent({
     });
     const columns: TableColumnsType = [
       {title: '序号', align: "center",key: 'siteUserID',customRender: item => `${searchParams.pageSize * (searchParams.pageIndex - 1) + item.index + 1}`},
+      {title: '工号', dataIndex: 'userNo', key: 'userNo', align: "center"},
       {title: '人员名称', dataIndex: 'siteUserName', key: 'siteUserName', align: "center"},
       {title: '用户类型', dataIndex: 'roleName', key: 'roleName',width:120, align: "center"},
       {title: '性别', dataIndex: 'genderName', key: 'genderName', align: "center"},
       {title: '联系电话', dataIndex: 'mobile', key: 'mobile', align: "center"},
+      {title: '身份证号', dataIndex: 'idCard', key: 'idCard', align: "center"},
       {title: '所属驿站', dataIndex: 'siteName', key: 'siteName', align: "center"},
       {title: '操作', key: 'operation', fixed: 'right',width:100, align: "center"},
     ];