Quellcode durchsuchen

feat: #0000 岗位管理 100%

luoyali vor 1 Jahr
Ursprung
Commit
3d489fa76a
2 geänderte Dateien mit 31 neuen und 74 gelöschten Zeilen
  1. 30 73
      src/views/setting/post/index.vue
  2. 1 1
      src/views/setting/user/index.vue

+ 30 - 73
src/views/setting/post/index.vue

@@ -19,7 +19,7 @@
 							<Plus />
 						</el-icon>
 					</el-button>
-					<el-button type="danger" @click="batch_del">
+					<el-button type="danger" @click="batch_del" :disabled="curSelectionRows.length === 0">
 						<el-icon class="btn-icon">
 							<Delete />
 						</el-icon>
@@ -53,7 +53,7 @@
 			v-if="visible"
 			ref="dialogUserRef"
 			v-model="visible"
-			:title="`${isCreate ? '新增' : '编辑'}用户`"
+			:title="`${isCreate ? '新增' : '编辑'}岗位`"
 			width="600px"
 			:form-data="activeData"
 			:form-options="formOptions"
@@ -62,7 +62,7 @@
 	</div>
 </template>
 <script lang="tsx" setup>
-import user from '@/api/system/user'
+import post from '@/api/system/post'
 import { computed, nextTick, ref, watch } from 'vue'
 import { ElMessage, ElTree } from 'element-plus'
 import { useTablePage } from '@/hooks/useTablePage'
@@ -74,42 +74,21 @@ const isCreate = ref(true)
 const activeData = ref({})
 const formsDialog = [
 	{
-		prop: 'username',
-		label: '登录账号',
+		prop: 'name',
+		label: '岗位名称',
 		itemType: 'input',
-		placeholder: '用于登录系统',
-		rules: [{ required: true, message: '请输入登录账号', trigger: 'blur' }]
+		rules: [{ required: true, message: '请输入岗位名称', trigger: 'blur' }]
 	},
 	{
-		prop: 'password',
-		label: '登录密码',
+		prop: 'code',
+		label: '岗位编码',
 		itemType: 'input',
-		rules: [{ required: true, message: '请输入登录密码', trigger: 'blur' }]
+		rules: [{ required: true, message: '请输入岗位编码', trigger: 'blur' }]
 	},
 	{
-		prop: 'password2',
-		label: '确认密码',
-		itemType: 'input',
-		rules: [{ required: true, message: '请再次输入密码', trigger: 'blur' }]
-	},
-	{
-		prop: 'nickName',
-		label: '昵称',
-		itemType: 'input'
-	},
-	{
-		prop: 'realName',
-		label: '姓名',
-		itemType: 'input'
-	},
-	{
-		prop: 'sex',
-		label: '性别',
-		itemType: 'radio',
-		options: [
-			{ value: '男', label: '男' },
-			{ value: '女', label: '女' }
-		]
+		prop: 'sort',
+		label: '排序',
+		itemType: 'inputNumber'
 	},
 	{
 		prop: 'status',
@@ -119,26 +98,15 @@ const formsDialog = [
 		inactiveText: '否'
 	},
 	{
-		prop: 'roleIds',
-		label: '所属角色',
-		itemType: 'select',
-		multiple: true,
-		collapseTags: true,
-		maxCollapseTags: 1,
-		filterable: true,
-		options: []
+		prop: 'remark',
+		label: '备注',
+		itemType: 'input'
 	}
 ]
 // 新增的表单 和 编辑的表单
 const formOptions = computed(() => {
-	// 去掉 formsDialog 下标为 1 2 的数据
-	const { 1: password, 2: password2, ...rest } = formsDialog
-	let editFormDialog = []
-	for (let i in rest) {
-		editFormDialog.push(rest[i])
-	}
 	return {
-		forms: isCreate.value ? formsDialog : editFormDialog,
+		forms: formsDialog,
 		labelWidth: 120,
 		span: 30,
 		showResetBtn: true,
@@ -164,9 +132,8 @@ const forms = ref([
 const queryList = async () => {
 	const { options, searchParams } = tableOpts
 	options.loading = true
-	console.log('搜索参数: ', JSON.stringify(tableOpts.searchParams))
 	try {
-		const { records: list, total } = await user.userPageApi(searchParams)
+		const { records: list, total } = await post.postPageApi(searchParams)
 		tableOpts.total = total
 		tableOpts.list = list
 	} catch {
@@ -182,18 +149,13 @@ const queryList = async () => {
 // table 参数
 const columns = [
 	{
-		prop: 'filterAvatar',
-		label: '头像',
+		prop: 'name',
+		label: '岗位名称',
 		minWidth: 80,
 		slots: {
 			default: 'filterAvatarSlot'
 		}
 	},
-	{
-		prop: 'username',
-		label: '登录账号',
-		minWidth: 100
-	},
 	{
 		prop: 'status',
 		label: '状态',
@@ -203,18 +165,18 @@ const columns = [
 		}
 	},
 	{
-		prop: 'nickName',
-		label: '昵称',
+		prop: 'code',
+		label: '编码',
 		minWidth: 100
 	},
 	{
-		prop: 'realName',
-		label: '姓名',
+		prop: 'remark',
+		label: '备注',
 		minWidth: 100
 	},
 	{
-		prop: 'sex',
-		label: '性别',
+		prop: 'sort',
+		label: '排序',
 		minWidth: 80
 	},
 	{
@@ -269,7 +231,7 @@ const { searchData, tableOpts, checkedColumns, activeColumns, curSelectionRows,
 // 删除
 const deleteItem = async ids => {
 	try {
-		await user.userDeleteApi(ids)
+		await post.postDeleteApi(ids)
 		updateParams()
 	} catch (e) {
 		console.log('删除失败')
@@ -289,14 +251,9 @@ const batch_del = () => {
 }
 
 const table_edit = async row => {
-	try {
-		const data = await user.userRoleIdsApi({ id: row.id })
-		isCreate.value = false
-		activeData.value = { ...row, status: row.status ? true : false, roleIds: data }
-		visible.value = true
-	} catch (e) {
-		ElMessage.error(`获取用户所属角色失败~`)
-	}
+	isCreate.value = false
+	activeData.value = { ...row, status: row.status ? true : false }
+	visible.value = true
 }
 
 // 弹窗事件
@@ -305,7 +262,7 @@ const submitHandler = async params => {
 	try {
 		params.status = params.status ? 1 : 0
 		params.id = activeData.value.id ? activeData.value.id : null
-		await user.userAddOrEditSaveApi(params)
+		await post.postAddOrEditSaveApi(params)
 		ElMessage.success(`${isCreate.value ? '新增' : '修改'}成功~`)
 		visible.value = false
 		updateParams()

+ 1 - 1
src/views/setting/user/index.vue

@@ -42,7 +42,7 @@
 							<Plus />
 						</el-icon>
 					</el-button>
-					<el-button type="danger" @click="batch_del">
+					<el-button type="danger" @click="batch_del" :disabled="curSelectionRows.length === 0">
 						<el-icon class="btn-icon">
 							<Delete />
 						</el-icon>