zhudie преди 2 години
родител
ревизия
26b3edf21e

+ 18 - 92
src/views/system/user/CreateDrawer.vue

@@ -56,29 +56,6 @@
       <el-form-item label="工号" prop="staffNo">
         <el-input placeholder="请输入工号" v-model="formParams.staffNo" />
       </el-form-item>
-      <!-- <el-form-item label="邮箱" prop="email">
-        <el-input placeholder="请输入邮箱" v-model="formParams.email" />
-      </el-form-item> -->
-      <!-- <el-form-item label="性别" prop="sex">
-        <el-radio-group v-model="formParams.sex" name="sexGroup">
-          <el-radio v-for="item in sexList" :key="item.dictValue" :label="item.dictLabel">
-            {{ item.dictLabel }}
-          </el-radio>
-        </el-radio-group>
-      </el-form-item> -->
-      <!-- <el-form-item label="所在岗位" prop="postId">
-        <el-select clearable multiple v-model="formParams.postId" placeholder="请选择所在岗位">
-          <el-option
-            v-for="(item, index) in postDataList"
-            :key="index"
-            :label="item.postName"
-            :value="item.postId"
-          />
-        </el-select>
-      </el-form-item> -->
-      <!-- <el-form-item label="个人介绍" prop="remark">
-        <el-input type="textarea" placeholder="请输入个人介绍" v-model="formParams.remark" />
-      </el-form-item> -->
       <el-form-item label="是否启用" prop="isEnable">
         <el-switch v-model="formParams.isEnable" />
       </el-form-item>
@@ -96,36 +73,12 @@
 <script lang="ts" setup>
   import { ref, onMounted } from 'vue';
   import { FormRules, ElMessage } from 'element-plus';
-  // import type { formParamsType } from './types';
   import { useDictionary } from '@/hooks/web/useDictionary';
-
-  import { addUsur, editUsur, userInfo } from '@/api/system/user';
+  import { userInfo } from '@/api/system/user';
   import { postList } from '@/api/common/index';
-  // import { deptTreeList } from '@/api/auth/dept';
   import { cloneDeep } from 'lodash-es';
-  // import { replaceParams } from '@/utils/helper/treeHelper';
   import { UserType, addSingleUser, updateUser } from '@/api/system/user-operate';
   import useSelectContent from './hooks/use-user-para';
-  // import { singleUserAdd } from './hooks/use-user';
-  import useUser from './hooks/use-user';
-  import { storeToRefs } from 'pinia';
-
-  const useUserDetail = useUser();
-  const {
-    queryType,
-    queryTypeContent,
-    queryStaffNo,
-    queryNickname,
-    queryMobile,
-    queryRoleName,
-    queryDeptName,
-    userList,
-    page,
-    pageSize,
-    totalCount,
-  } = storeToRefs(useUserDetail);
-  const { conditionSearch, getList, singleUserAdd, multipleUserAdd, userDel, userUpdate } =
-    useUserDetail;
 
   const selectContent = useSelectContent();
   const { roleList, departmentList } = selectContent;
@@ -158,6 +111,21 @@
       message: '密码不能为空',
       trigger: 'blur',
     },
+    nickname: {
+      required: true,
+      message: '用户名不能为空',
+      trigger: 'blur',
+    },
+    mobile: {
+      required: true,
+      message: '手机不能为空',
+      trigger: 'blur',
+    },
+    staffNo: {
+      required: true,
+      message: '工号不能为空',
+      trigger: 'blur',
+    },
   };
 
   interface PostOption {
@@ -194,10 +162,6 @@
     roleIds: [],
   });
 
-  // const getRoleList = computed(() => {
-  //   return props.roleList as SelectOption[];
-  // });
-
   const message = ElMessage;
   const formRef: any = ref(null);
   const isDrawer = ref(false);
@@ -206,8 +170,6 @@
   const formParams = ref<UserType>(defaultValueRef());
 
   async function openDrawer(username?) {
-    // const deptResList = await deptTreeList();
-    // deptList.value = replaceParams(deptResList, 'deptName', 'deptId');
     const postListRes = await postList();
     postDataList.value = postListRes;
     if (username) {
@@ -229,12 +191,7 @@
       }
       // 克隆
       const params = cloneDeep(formParams.value);
-      // 处理岗位
-      // if (params.postId && params.postId.length) {
-      //   params.postId = params.postId.join(',');
-      // } else {
-      //   params.postId = '';
-      // }
+
       // 处理部门
       console.log('params', params);
 
@@ -261,7 +218,6 @@
           handleReset();
           closeDrawer();
         });
-        // singleUserAdd(addData);
       } else {
         const updateData = {
           userId: params.userId,
@@ -273,44 +229,14 @@
           isEnable: formParams.value.isEnable,
           nickname: formParams.value.nickname,
           roleIds: formParams.value.roleIds,
+          deleteStatus: '1',
         };
         updateUser(updateData).then(() => {
           emit('change');
           handleReset();
           closeDrawer();
         });
-
-        // editUsur(params).then((_) => {
-        //   message.success(msg);
-        //   emit('change');
-        //   handleReset();
-        //   closeDrawer();
-        // });
-        // addUsur(params).then((_) => {
-        //   message.success(msg);
-        //   emit('change');
-        //   handleReset();
-        //   closeDrawer();
-        // });
-        // const addData = {
-        //   password: formParams.value.password,
-        //   deptId: formParams.value.deptId,
-        //   username: formParams.value.username,
-        //   staffNo: formParams.value.staffNo,
-        //   mobile: formParams.value.mobile,
-        //   isEnable: formParams.value.isEnable,
-        //   nickname: formParams.value.nickname,
-        //   roleIds: formParams.value.roleIds,
-        // };
-        // addSingleUser(addData).then(() => {
-        //   emit('change');
-        //   handleReset();
-        //   closeDrawer();
-        // });
       }
-      // emit('change');
-      // handleReset();
-      // closeDrawer();
     });
   }
 

+ 24 - 26
src/views/system/user/component/AddUser.vue

@@ -49,12 +49,12 @@
       <template #header="{ titleId, titleClass }">
         <div class="my-header">
           <h4 :id="titleId" :class="titleClass" style="display: flex">
-            <el-icon style="margin-top: 2px"><CircleCheck /></el-icon
+            <el-icon style="margin-top: 2px" color="#52C41A"><CircleCheck /></el-icon
             ><div style="margin-left: 14px">导入成功</div></h4
           >
         </div>
       </template>
-      <span> 已成功添加{{ sucCount }}条用户信息</span>
+      <span style="margin-left: 30px"> 已成功添加{{ sucCount }}条用户信息</span>
       <template #footer>
         <span class="dialog-footer">
           <el-button type="primary" @click="handleRightComfirm"> 确定 </el-button>
@@ -77,7 +77,7 @@
       <template #header="{ titleId, titleClass }">
         <div class="my-header">
           <h4 :id="titleId" :class="titleClass" style="display: flex">
-            <el-icon style="margin-top: 2px"><Warning /></el-icon>
+            <el-icon style="margin-top: 2px" color="#FF4D4F "><Warning /></el-icon>
             <div style="margin-left: 14px">导入失败</div></h4
           >
         </div>
@@ -100,13 +100,11 @@
 
 <script setup lang="ts">
   import { Close, Document, CircleCheck, Warning } from '@element-plus/icons-vue';
-  import { nextTick, ref } from 'vue';
-  import type { UploadInstance, UploadProps, UploadRawFile } from 'element-plus';
+  import { ref } from 'vue';
+  import type { UploadInstance } from 'element-plus';
   import { downloadByUrl } from '@/utils/file/download';
-  //   import templateUrl from './templete.xlsx';
   import { useUserStore } from '@/store/modules/user';
   import { onMounted } from 'vue';
-  //   http://localhost:8092/api/user/import
 
   const userStore = useUserStore();
 
@@ -118,17 +116,6 @@
     cardVisible.value = props.modelValue;
   });
 
-  // const emit = defineEmits()
-  // const emit = defineEmits<{
-  //   (e: 'change'): unknown;
-  // }>();
-  // const emit = defineEmits(['change']);
-
-  // const emit = defineEmits<{
-  //   (e: 'onOk'): unknown;
-  //   (e: 'onClose'): unknown;
-  // }>();
-
   const headers = {
     Satoken: userStore.getToken,
     Tenantid: userStore.getTenantId,
@@ -146,7 +133,6 @@
   const isSuc = ref<boolean>(true);
   const errDetail = ref<string[]>([]);
   const sucCount = ref<number>(0);
-  //   console.log('headers', headers);
 
   const props = defineProps<{ modelValue: boolean }>();
   const emits = defineEmits(['update:modelValue', 'change']);
@@ -175,7 +161,7 @@
     return true; // 允许上传
   };
 
-  const handleUploadSuccess = (response, file, fileList) => {
+  const handleUploadSuccess = (response, _file, _fileList) => {
     // const res = JSON.parse(response);
     console.log('response', response);
     isSuc.value = response.data.isSuc;
@@ -191,7 +177,6 @@
       DialogVisibleErr.value = true;
     }
     cardVisible.value = false;
-    // emits('update:modelValue', false);
   };
 
   const handleRightComfirm = () => {
@@ -205,11 +190,6 @@
     emits('change');
   };
 
-  // const handleUploadError = (err, file, fileList) => {
-  //   console.log('222');
-  //   console.log(err);
-  // };
-
   //对话框
 </script>
 
@@ -221,5 +201,23 @@
 
   .more-link {
     color: #1890ff;
+    margin-left: 30px;
+  }
+
+  li:before {
+    content: '';
+    width: 6px;
+    height: 6px;
+    display: inline-block;
+    border-radius: 50%;
+    background: #ff4d4f;
+    vertical-align: middle;
+    margin-left: 30px;
+    margin-right: 8px;
+  }
+
+  li {
+    font-size: 14px;
+    margin-bottom: 2px;
   }
 </style>

+ 1 - 17
src/views/system/user/component/UserQuery.vue

@@ -38,15 +38,6 @@
             :value="item.deptName"
           />
         </el-select>
-        <!-- <el-tree-select
-          v-model="queryWorkSpace"
-          :data="scenesTree"
-          :render-after-expand="false"
-          :default-expand-all="true"
-          check-strictly
-          placeholder="请选择场景"
-          class="protocal-select"
-        /> -->
       </div>
     </el-space>
     <div class="flex-1 flex justify-end">
@@ -57,7 +48,6 @@
 </template>
 
 <script setup lang="ts">
-  import { onMounted, ref } from 'vue';
   import { queryTypeSelect } from '../constant';
   import useSelectContent from '../hooks/use-user-para';
   import useUser from '../hooks/use-user';
@@ -75,13 +65,8 @@
     queryMobile,
     queryRoleName,
     queryDeptName,
-    userList,
-    page,
-    pageSize,
-    totalCount,
   } = storeToRefs(useUserDetail);
-  const { conditionSearch, getList, singleUserAdd, multipleUserAdd, userDel, userUpdate } =
-    useUserDetail;
+  const { conditionSearch } = useUserDetail;
 
   // 重置查询条件
   const resetSearch = () => {
@@ -93,7 +78,6 @@
     queryNickname.value = '';
     queryMobile.value = '';
   };
-  // const getUserItems = () => {};
 </script>
 
 <style scoped>

+ 0 - 8
src/views/system/user/hooks/use-user.ts

@@ -5,8 +5,6 @@ import {
   UserTypeDel,
   delUser,
   updateUser,
-  getUser,
-  UserList,
   QueryUser,
   getUserList,
 } from '@/api/system/user-operate';
@@ -120,12 +118,6 @@ export const useUser = defineStore('user-list', () => {
     });
   };
 
-  //得到单个用户数据
-  //   userData;
-  //   const getSingleUser = () => {
-
-  //   };
-
   onMounted(() => {
     getList();
     console.log('userList', userList.value);

+ 8 - 48
src/views/system/user/user.vue

@@ -49,7 +49,6 @@
       </BasicTable>
     </div>
     <CreateDrawer ref="createDrawerRef" :title="drawerTitle" @change="reloadTable" />
-    <!-- <Download /> -->
     <AddUser
       v-if="showAddPopover"
       v-model="showAddPopover"
@@ -57,28 +56,13 @@
       @change="reloadTable"
     />
   </div>
-  <!-- <PageWrapper>
-    <el-card :bordered="false" class="proCard"> </el-card>
-
-    <CreateDrawer
-      ref="createDrawerRef"
-      :title="drawerTitle"
-      :roleList="roleData"
-      @change="reloadTable"
-    />
-  </PageWrapper> -->
 </template>
 
 <script lang="ts" setup>
   import { h, reactive, ref, onMounted } from 'vue';
-  import { ElMessage } from 'element-plus';
-  import { BasicTable, TableAction, BasicColumn } from '@/components/Table';
-  import { getUserList } from '@/api/system/user';
+  import { BasicTable, BasicColumn } from '@/components/Table';
   import { Plus, DocumentAdd } from '@element-plus/icons-vue';
-  import { FileAddOutlined } from '@vicons/antd';
-  import Download from '@/views/feature/download/download.vue';
   import { roleAllList } from '@/api/system/role';
-  import { delUser } from '@/api/system/user';
   import editIcon from '@/assets/images/table/table-edit.png';
   import deleteIcon from '@/assets/images/table/table-delete.png';
   import CreateDrawer from './CreateDrawer.vue';
@@ -92,10 +76,8 @@
 
   const useUserDetail = useUser();
   const { userList, page, pageSize, totalCount } = storeToRefs(useUserDetail);
-  const { conditionSearch, getList, singleUserAdd, multipleUserAdd, userDel, userUpdate } =
-    useUserDetail;
+  const { conditionSearch, getList, userDel } = useUserDetail;
 
-  const message = ElMessage;
   const basicTableRef = ref();
   const rowKeys = ref([]);
   const rowKeysName = ref([]);
@@ -104,22 +86,15 @@
   const drawerTitle = ref('添加用户');
   const roleData = ref([]);
 
-  //分页
-  // const total = ref();
-  // const pageSize = ref();
   const handlePageNumChange = (pageNum) => {
-    // page.value = pageNum;
-    // getCameraItems();
-    console.log(pageNum);
+    page.value = pageNum;
+    conditionSearch();
   };
-  const handlePageSizeChange = (pageSize) => {
-    // size.value = pageSize;
-    // getCameraItems();
-    console.log(pageSize);
+  const handlePageSizeChange = (size) => {
+    page.value = 1;
+    pageSize.value = size;
+    conditionSearch();
   };
-  const params = reactive({
-    username: '',
-  });
 
   const actionColumn: BasicColumn = reactive({
     width: 150,
@@ -149,12 +124,6 @@
     },
   });
 
-  const loadDataTable = async (res) => {
-    const result = await getUserList({ ...params, ...res });
-    tableData.value = result.list;
-    return result;
-  };
-
   function onCheckedRow(keys) {
     rowKeys.value = keys;
     rowKeysName.value = tableData.value
@@ -171,11 +140,6 @@
     getList();
   }
 
-  // function openAddSingleDrawer() {
-  //   const { openDrawer } = createDrawerRef.value;
-  //   openDrawer();
-  // }
-
   const openAddSingleDrawer = () => {
     drawerTitle.value = '添加用户';
     const { openDrawer } = createDrawerRef.value;
@@ -197,10 +161,6 @@
   }
 
   function handleDelete(record: Recordable) {
-    // delUser({ userId: record.userId }).then(() => {
-    //   message.success('删除成功');
-    //   reloadTable();
-    // });
     const delDetail = {
       userId: record.userId,
       nickname: record.nickname,