import { reactive, onMounted, ref, ElMessage, ElMessageBox, http, getGroupUrl, RegularVerification, verification, PaginationProps } from "@/utils/importUsed" // 表单实例 const ruleFormRef = ref() export function usePageUpdateInfo() { // 接口列表实例 let UrlList = reactive(null) // 获取当前板块接口列表 onMounted(async () => { UrlList = await getGroupUrl(["prizeSet"]); onSearch(ruleFormRef.value); }); let form = reactive({ kind: "creater", //分类 title: "", modulePath: "", }); const dataList = ref([]); const loading = ref(false); const dialogAddVisible = ref(false); const pagination = reactive({ total: 0, pageSize: 10, currentPage: 1, background: true }); const columns: TableColumnList = [ { type: "selection", width: 55, align: "left", hide: ({ checkList }) => !checkList.includes("勾选列") }, { label: "序号", type: "index", width: 70, hide: ({ checkList }) => !checkList.includes("序号列") }, { label: "模板更新版本", prop: "moduleVersion", minWidth: 200 }, { label: "模板路径", prop: "modulePath", minWidth: 200 }, { label: "顶部标题", prop: "title", minWidth: 200 }, { label: "ID", prop: "id", minWidth: 200 }, { label: "操作", fixed: "right", width: 200, slot: "operation" } ]; // 当前页数量切换 function handleSizeChange(val: number) { if (typeof val === "number") { pagination.pageSize = val; onSearch(ruleFormRef.value); } } // 当前页码切换 function handleCurrentChange(val: number) { console.log(`current page: ${val}`); if (typeof val === "number") { pagination.currentPage = val; onSearch(ruleFormRef.value); } } // 选择表格项 function handleSelectionChange(val) { console.log(`SelectionChange: ${val}`); onSearch(ruleFormRef.value); } // 搜索列表 async function onSearch(formEl) { // 表单校验拦截 if (!formEl) return await formEl.validate(async (valid, fields) => { if (valid) { //表单校验成功回调 console.log('submit!') // 状态调整为加载中 loading.value = true; // 调用接口(需动态生成接口) const { status, msg, data }: any = await http.Request({ method: UrlList.prizeSet.pageUpdateInfolist.method, url: UrlList.prizeSet.pageUpdateInfolist.url, params: { ...form, pageSize: pagination.pageSize, pageNum: pagination.currentPage } }); dataList.value = data.records; pagination.total = data.total; setTimeout(() => { loading.value = false; }, 500); } else { //表单校验失败回调 ElMessage({ message: "请输入完整信息", type: "error" }); } }) } // 删除 function handleDelete(row) { ElMessageBox.confirm( `是否删除该页面模板更新信息? `, "提示", { confirmButtonText: "删除", cancelButtonText: "取消", type: "warning" } ).then(async () => { const { status, msg }: any = await http.Request({ method: UrlList.prizeSet.pageUpdateInfodelete.method, url: UrlList.prizeSet.pageUpdateInfodelete.url, params: String(row.id) }); if (status === 1) { ElMessage({ message: "删除成功", type: "success" }); onSearch(ruleFormRef.value); } else { ElMessageBox.alert(msg, "提示", { confirmButtonText: "关闭", type: "warning" }); }; }) } // 新增 const addVisible = ref(false); function handleAdd() { addVisible.value = true; }; //同步文件 function handleUpdateTemplate() { if (form.kind == "") { ElMessageBox.alert("请筛选分类", "提示", { confirmButtonText: "关闭", type: "warning" }); return; } ElMessageBox.confirm( `是否同步页面模板文件? `, "提示", { confirmButtonText: "同步", cancelButtonText: "取消", type: "warning" } ).then(async () => { const { status, msg }: any = await http.Request({ method: UrlList.prizeSet.pageUpdateInfoupdateTemplate.method, url: UrlList.prizeSet.pageUpdateInfoupdateTemplate.url, params: { kind: form.kind } }); if (status === 1) { ElMessage({ message: "同步成功", type: "success" }); onSearch(ruleFormRef.value); } else { ElMessageBox.alert(msg, "提示", { confirmButtonText: "关闭", type: "warning" }); }; }) }; // 修改 const editUpdateVisible = ref(false); const editUpdateFormData = ref({}); function handleUpdate(row) { editUpdateVisible.value = true; // 表格数据赋值 editUpdateFormData.value = row; }; // 更新版本号码 const editUpVersionVisible = ref(false); const editUpVersionFormData = ref({}); async function handleUpVersion(row) { // editUpVersionVisible.value = true; // 表格数据赋值 // editUpVersionFormData.value = row; // 需动态生成接口 const { status, msg }: any = await http.Request({ method: UrlList.prizeSet.pageUpdateInfoupVersion.method, url: UrlList.prizeSet.pageUpdateInfoupVersion.url, params: { id: row.id } }); if (status === 1) { //业务成功回调 ElMessage({ message: "修改成功", type: "success" }); onSearch(ruleFormRef.value); } else { //业务失败回调 ElMessageBox.alert(msg, "提示", { confirmButtonText: "关闭", type: "warning" }); } }; // 分类选项数据 const kindOptionList = [ { label: '创客版', id: 'creater' } ] return { form, loading, columns, dataList, pagination, onSearch, handleSizeChange, handleCurrentChange, handleSelectionChange, ruleFormRef, handleAdd, addVisible, handleUpdate, editUpdateVisible, editUpdateFormData, handleDelete, handleUpVersion, handleUpdateTemplate, kindOptionList, editUpVersionVisible, editUpVersionFormData, }; }