diff --git a/src/api/system/level.ts b/src/api/system/level.ts
index 4c7db54..72615ef 100644
--- a/src/api/system/level.ts
+++ b/src/api/system/level.ts
@@ -58,9 +58,10 @@ export function levelDelete(levelId) {
/**
* @description: 批量删除职级
*/
-export function levelBatchDelete(levelId) {
+export function levelBatchDelete(data:any) {
return http.request({
- url: '/level/batchDelete/'+levelId,
+ url: '/level/batchDelete',
method: 'DELETE',
+ data
});
}
\ No newline at end of file
diff --git a/src/api/system/position.ts b/src/api/system/position.ts
index 678ea05..93d3806 100644
--- a/src/api/system/position.ts
+++ b/src/api/system/position.ts
@@ -58,9 +58,10 @@ export function positionDelete(positionId) {
/**
* @description: 批量删除岗位
*/
-export function positionBatchDelete(positionId) {
+export function positionBatchDelete(data:any) {
return http.request({
- url: '/role/batchDelete/'+positionId,
+ url: '/position/batchDelete',
method: 'DELETE',
+ data
});
}
\ No newline at end of file
diff --git a/src/components/Table/src/hooks/useDataSource.ts b/src/components/Table/src/hooks/useDataSource.ts
index ad6249b..9061e66 100644
--- a/src/components/Table/src/hooks/useDataSource.ts
+++ b/src/components/Table/src/hooks/useDataSource.ts
@@ -85,7 +85,7 @@ export function useDataSource(
const res = await request(params);
if (!res) return;
const resultPageCount = res[totalField];
- const resultCurrentPage = res[pageField];
+ const resultCurrentPage = res['current'];
const resultTotal = res[itemCount];
const results = res[listField] ? res[listField] : [];
// 如果数据异常,需获取正确的页码再次执行
diff --git a/src/views/system/level/columns.ts b/src/views/system/level/columns.ts
new file mode 100644
index 0000000..3385421
--- /dev/null
+++ b/src/views/system/level/columns.ts
@@ -0,0 +1,39 @@
+import { h } from 'vue';
+import { ElTag } from 'element-plus';
+
+export const columns = [
+ {
+ type: 'selection',
+ },
+ {
+ label: '职级名称',
+ prop: 'name',
+ },
+ {
+ label: '职级状态',
+ prop: 'status',
+ render(record) {
+ return h(
+ ElTag,
+ {
+ type: record.row.status ==1 ? 'success' : 'danger',
+ },
+ {
+ default: () => (record.row.status ==1 ? '正常' : '禁用'),
+ },
+ );
+ },
+ },
+ {
+ label: '排序',
+ prop: 'sort',
+ },
+ {
+ label: '创建人',
+ prop: 'createUser',
+ },
+ {
+ label: '创建时间',
+ prop: 'createTime',
+ },
+];
diff --git a/src/views/system/level/edit.vue b/src/views/system/level/edit.vue
new file mode 100644
index 0000000..4adc356
--- /dev/null
+++ b/src/views/system/level/edit.vue
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+ 正常
+ 禁用
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/level/index.vue b/src/views/system/level/index.vue
new file mode 100644
index 0000000..05bd21d
--- /dev/null
+++ b/src/views/system/level/index.vue
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 添加职级
+
+
+
+
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/level/querySchemas.ts b/src/views/system/level/querySchemas.ts
new file mode 100644
index 0000000..87bd1f2
--- /dev/null
+++ b/src/views/system/level/querySchemas.ts
@@ -0,0 +1,29 @@
+import { FormSchema } from '@/components/Form/index';
+export const schemas: FormSchema[] = [
+ {
+ field: 'name',
+ component: 'Input',
+ label: '职级名称',
+ componentProps: {
+ placeholder: '请输入职级名称',
+ },
+ },
+ {
+ field: 'status',
+ component: 'Select',
+ label: '状态',
+ componentProps: {
+ placeholder: '请选择状态',
+ options: [
+ {
+ label: '正常',
+ value: '1',
+ },
+ {
+ label: '禁用',
+ value: '2',
+ },
+ ],
+ },
+ },
+];
diff --git a/src/views/system/role/edit.vue b/src/views/system/role/edit.vue
index 3a48bc2..239ad8a 100644
--- a/src/views/system/role/edit.vue
+++ b/src/views/system/role/edit.vue
@@ -68,8 +68,7 @@ const formData = reactive({
name: "",
code: "",
sort: 0,
- note:'',
- menus: []
+ note:''
});
const props = defineProps({
@@ -87,8 +86,7 @@ const props = defineProps({
const handleSubmit = async () => {
await formRef.value?.validate();
- const params = {...formData, menuIds: formData.menus.join()};
- props.roleId ? await roleUpdate(params) : await roleAdd(params);
+ props.roleId ? await roleUpdate(formData) : await roleAdd(formData);
message("操作成功");
emit("update:visible", false);
emit("success");
diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue
index 09b428e..964c6a8 100644
--- a/src/views/system/role/index.vue
+++ b/src/views/system/role/index.vue
@@ -1,5 +1,8 @@
+
+
+
import { reactive, ref, h,nextTick,defineAsyncComponent } from 'vue';
- import { ElMessage } from 'element-plus';
+ import { ColProps } from 'element-plus';
+ import { schemas } from './querySchemas';
+ import { BasicForm, useForm } from '@/components/Form/index';
import { BasicTable, TableAction } from '@/components/Table';
import { getRoleList,roleDelete,roleBatchDelete } from '@/api/system/role';
import { columns } from './columns';
import { PlusOutlined } from '@vicons/antd';
import {message,confirm} from "@/utils/auth";
+ const formParams = reactive({
+ name:''
+ });
const editDialog = defineAsyncComponent(() =>
import('./edit.vue')
)
@@ -117,16 +125,34 @@ const authVisible=ref(false)
});
const loadDataTable = async (res: any) => {
- let _params = {
- ...res,
- };
- return await getRoleList(_params);
+ const result = await getRoleList({ ...formParams, ...res });
+ return result;
};
function reloadTable() {
tableRef.value.reload();
}
+ const [register, {}] = useForm({
+ labelWidth: 80,
+ layout: 'horizontal',
+ colProps: { span: 6 } as ColProps,
+ submitOnReset:true,
+ schemas
+ });
+ function handleSubmit(values: Recordable) {
+ for (const key in formParams) {
+ if (values[key] != null && values[key] != undefined) {
+ formParams[key] = values[key];
+ }
+ }
+ reloadTable();
+ }
+ function handleReset() {
+ for (const key in formParams) {
+ formParams[key] ='';
+ }
+ }
const handleAdd = async () => {
roleId.value=0
await nextTick();
diff --git a/src/views/system/role/querySchemas.ts b/src/views/system/role/querySchemas.ts
new file mode 100644
index 0000000..4bd5d64
--- /dev/null
+++ b/src/views/system/role/querySchemas.ts
@@ -0,0 +1,11 @@
+import { FormSchema } from '@/components/Form/index';
+export const schemas: FormSchema[] = [
+ {
+ field: 'name',
+ component: 'Input',
+ label: '角色名',
+ componentProps: {
+ placeholder: '请输入角色名',
+ },
+ }
+];
diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index e684a78..fa5dda4 100644
--- a/src/views/system/user/index.vue
+++ b/src/views/system/user/index.vue
@@ -79,8 +79,8 @@