Compare commits

..

2 Commits

Author SHA1 Message Date
zjl
3811a5c8a8 优化用户 2024-12-11 15:26:33 +08:00
zjl
bd1e01b992 优化岗位 2024-12-11 15:11:47 +08:00
7 changed files with 102 additions and 30 deletions

View File

@ -128,7 +128,7 @@
});
/**
* 定义
* 定义函数
*/
defineExpose({
openModal,

View File

@ -72,7 +72,7 @@
v-model:visible="editVisible"
@success="reloadTable('noRefresh')"
/>
<!-- 上传文件 -->
<userUpload v-if="importVisible" v-model:visible="importVisible" @success="reloadTable()" />
</div>
</template>

View File

@ -69,11 +69,16 @@
default: 0,
},
});
/**
* 定义模态
*/
const [modalRegister, { openModal, setSubLoading }] = useModal({
title: props.positionId ? '编辑岗位' : '添加岗位',
subBtuText: '确定',
width: 600,
});
/**
* 执行提交
*/
@ -120,7 +125,10 @@
setFormData();
}
});
//
/**
* 定义函数
*/
defineExpose({
openModal,
});

View File

@ -27,7 +27,6 @@
</template>
新建
</n-button>
<n-button
type="error"
@click="handleDelete"
@ -63,9 +62,7 @@
import { getPositionList, positionDelete, positionBatchDelete } from '@/api/system/position';
import { columns } from './columns';
import { PlusOutlined, DeleteOutlined, FormOutlined } from '@vicons/antd';
import CreateModal from './CreateModal.vue';
import editDialog from './edit.vue';
import { basicModal, useModal } from '@/components/Modal';
import { schemas } from './querySchemas';
import { renderIcon } from '@/utils';
@ -76,16 +73,21 @@
const editVisible = ref(false);
const positionId = ref(0);
const rowKeys = ref([]);
const exportLoading = ref(false);
const showModal = ref(false);
/**
* 定义查询参数
*/
const formParams = reactive({
name: '',
status: '',
});
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 400,
width: 200,
title: '操作',
align: 'center',
key: 'action',
@ -113,24 +115,36 @@
},
});
function addTable() {
showModal.value = true;
}
/**
* 加载数据列表
* @param res 参数
*/
const loadDataTable = async (res) => {
rowKeys.value = [];
const result = await getPositionList({ ...formParams, ...res });
return result;
};
/**
* 数据行选择事件
* @param keys 参数
*/
function onCheckedRow(keys) {
rowKeys.value = keys;
}
/**
* 加载数据列表
* @param noRefresh 参数
*/
function reloadTable(noRefresh = '') {
basicTableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
/**
* 执行提交表单
* @param values 参数
*/
function handleSubmit(values: Recordable) {
for (const key in formParams) {
formParams[key] = '';
@ -141,6 +155,10 @@
reloadTable();
}
/**
* 执行重置
* @param values 参数
*/
function handleReset(values: Recordable) {
for (const key in formParams) {
formParams[key] = '';
@ -151,6 +169,9 @@
reloadTable();
}
/**
* 执行注册
*/
const [register, {}] = useForm({
gridProps: { cols: '1 s:1 m:2 l:3 xl:4 2xl:4' },
labelWidth: 80,
@ -166,6 +187,7 @@
await nextTick();
createModalRef.value.openModal();
};
/**
* 执行编辑
*/
@ -175,6 +197,7 @@
await nextTick();
createModalRef.value.openModal();
}
/**
* 执行删除
* @param id 参数

View File

@ -92,8 +92,7 @@
label-field="name"
value-field="id"
placeholder="请选择角色"
>
</n-select>
/>
</n-form-item>
<n-form-item
label="部门"
@ -135,8 +134,7 @@
:options="optionData.levelList"
label-field="name"
value-field="id"
>
</n-select>
/>
</n-form-item>
<n-form-item
label="岗位"
@ -157,8 +155,7 @@
class="flex-1"
clearable
placeholder="请选择岗位"
>
</n-select>
/>
</n-form-item>
</div>
<div class="flex">
@ -288,6 +285,9 @@
*/
const emit = defineEmits(['success', 'update:visible']);
/**
* 定义模态
*/
const [modalRegister, { openModal, setSubLoading }] = useModal({
title: props.userId ? '编辑用户' : '添加用户',
subBtuText: '确定',
@ -395,10 +395,18 @@
positionList: [],
});
/**
* 上传发生变化
*/
function uploadChange(data: string[]) {
formData.avatar = data.fileUrl;
formData.avatarName = data.fileName;
}
/**
* 执行删除
* @param file 文件参数
*/
const handleDelete = async (file) => {
console.log(file);
};
@ -426,7 +434,10 @@
setFormData({ userId: props.userId });
}
});
//
/**
* 定义函数
*/
defineExpose({
openModal,
});

View File

@ -27,7 +27,6 @@
</template>
新建
</n-button>
<n-button
type="error"
@click="handleDelete"
@ -73,7 +72,7 @@
v-model:visible="editVisible"
@success="reloadTable('noRefresh')"
/>
<!-- 上传文件 -->
<userUpload v-if="importVisible" v-model:visible="importVisible" @success="reloadTable()" />
</div>
</template>
@ -101,10 +100,8 @@
ToTopOutlined,
FormOutlined,
} from '@vicons/antd';
import CreateModal from './CreateModal.vue';
import editDialog from './edit.vue';
import userUpload from './userUpload.vue';
import { basicModal, useModal } from '@/components/Modal';
import { downloadByData } from '@/utils/file/download';
import { schemas } from './querySchemas';
import { renderIcon } from '@/utils';
@ -119,13 +116,20 @@
const rowKeys = ref([]);
const importVisible = ref(false);
const exportLoading = ref(false);
const showModal = ref(false);
/**
* 定义查询参数
*/
const formParams = reactive({
name: '',
realname: '',
role: '',
status: '',
});
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 400,
title: '操作',
@ -171,24 +175,36 @@
},
});
function addTable() {
showModal.value = true;
}
/**
* 加载数据列表
* @param res 参数
*/
const loadDataTable = async (res) => {
rowKeys.value = [];
const result = await getUserList({ ...formParams, ...res });
return result;
};
/**
* 数据行选中事件
* @param keys 参数
*/
function onCheckedRow(keys) {
rowKeys.value = keys;
}
/**
* 刷新数据列表
* @param noRefresh 参数
*/
function reloadTable(noRefresh = '') {
basicTableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
/**
* 执行提交表单
* @param values 参数
*/
function handleSubmit(values: Recordable) {
for (const key in formParams) {
formParams[key] = '';
@ -199,6 +215,10 @@
reloadTable();
}
/**
* 执行重置
* @param values 参数
*/
function handleReset(values: Recordable) {
for (const key in formParams) {
formParams[key] = '';
@ -209,6 +229,9 @@
reloadTable();
}
/**
* 执行注册
*/
const [register, {}] = useForm({
gridProps: { cols: '1 s:1 m:2 l:3 xl:4 2xl:4' },
labelWidth: 80,
@ -232,6 +255,7 @@
},
});
};
/**
* 执行添加
*/
@ -241,6 +265,7 @@
await nextTick();
createModalRef.value.openModal();
};
/**
* 执行编辑
*/
@ -250,6 +275,7 @@
await nextTick();
createModalRef.value.openModal();
}
/**
* 执行删除
* @param id 参数
@ -267,6 +293,7 @@
},
});
}
/**
* 执行导出
*/

View File

@ -125,6 +125,9 @@
window.open(res.filePath);
};
/**
* 执行弹窗提交
*/
const dialogSubmit = async () => {
uploadRef.value?.submit();
};