import { ref } from "vue";
|
import PageDialog from "@/components/page-dialog";
|
import {ElMessage,ElMessageBox} from 'element-plus'
|
type callback = (query: any) => any;
|
|
//搜索逻辑处理
|
export function searchLinkage(funcName: callback) {
|
//列表数据
|
const dataList = ref([]);
|
// 列表总的数据条数
|
const dataCount = ref(0);
|
//请求数据
|
async function getDataList(query: any = {}): Promise<void> {
|
dataList.value = [];
|
const resultList = await funcName({...query});
|
if(typeof resultList?.data === 'object') {
|
const {data} = resultList;
|
const result = data;
|
dataList.value = result.rows;
|
dataCount.value = result.totalRows;
|
}
|
}
|
//查询
|
function searchBtnClic(query: any = {}) {
|
getDataList(query)
|
}
|
//重置
|
function resetBtnClic(query: any = {}) {
|
getDataList(query)
|
}
|
// 返回ref对象、查询、重置方法
|
return {dataList,dataCount,getDataList,searchBtnClic,resetBtnClic}
|
}
|
|
//添加、编辑操作
|
export function operationLinkage(delCallback: callback,getDataCallback: callback) {
|
//获取page-dialog的ref对象
|
const pageDialogRef = ref<InstanceType<typeof PageDialog>>();
|
// 窗口打开传递的参数(添加为{},编辑时赋值scope.row)
|
const defaultValue = ref({});
|
//打开添加窗口
|
const handleCreateBtnClic = (): void => {
|
defaultValue.value = {};
|
if (pageDialogRef.value) {
|
pageDialogRef.value.centerDialogVisible = true;
|
}
|
|
};
|
//打开编辑窗口
|
const handleEditorBtnClic = (payload: any = {} ): void => {
|
defaultValue.value = payload;
|
if (pageDialogRef.value) {
|
pageDialogRef.value.centerDialogVisible = true;
|
}
|
};
|
interface delTypes {
|
id:number[]
|
}
|
//删除操作
|
const handleDeleteConfirm = (arr: number[]): void => {
|
const obj: delTypes = {id: arr};
|
ElMessageBox.confirm('是否确认删除?','提示',{
|
confirmButtonText: '确认',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(() => {
|
delCallback(obj).then(() => {
|
ElMessage.success('删除成功')
|
// 刷新列表
|
getDataCallback({PageNo:1,PageSize: 10});
|
})
|
})
|
}
|
//返回
|
return {
|
pageDialogRef,
|
defaultValue,
|
handleEditorBtnClic,
|
handleCreateBtnClic,
|
handleDeleteConfirm
|
}
|
}
|
|
//确认添加、编辑操作
|
/**
|
* 添加、编辑确认操作
|
* @param addConfirm 添加的回调
|
* @param editConfirm 编辑的回调
|
* @param getList 获取列表的回调
|
*/
|
export function confirmLinkage(addConfirm: callback, editConfirm: callback,getList: callback) {
|
//添加
|
const handleAddConfirm = (query: any = {}) => {
|
addConfirm(query).then(() => {
|
ElMessage.success('添加成功');
|
getList({Page: 1,PageSize: 10});
|
})
|
}
|
|
//编辑
|
const handleEditConfirm = (query: any = {}) => {
|
editConfirm(query).then(() => {
|
ElMessage.success('编辑成功');
|
getList({Page: 1,PageSize: 10});
|
})
|
}
|
|
return {
|
handleAddConfirm,
|
handleEditConfirm
|
}
|
}
|