diff --git a/locales/en.yaml b/locales/en.yaml index def87ef..0521093 100644 --- a/locales/en.yaml +++ b/locales/en.yaml @@ -55,6 +55,7 @@ buttons:ForceToExit: Force Exit buttons:DataAdmin: Data Admin buttons:Audit: Audit buttons:Feedback: Feedback +buttons:ErrorRecovery: Error Recovery search:Total: Total search:History: History search:Collect: Collect diff --git a/locales/zh-CN.yaml b/locales/zh-CN.yaml index 902e692..34dd79c 100644 --- a/locales/zh-CN.yaml +++ b/locales/zh-CN.yaml @@ -55,6 +55,7 @@ buttons:ExitInBatches: 批量强退 buttons:DataAdmin: 数据管理 buttons:Audit: 审核 buttons:Feedback: 反馈 +buttons:ErrorRecovery: 纠错 search:Total: 共 search:History: 搜索历史 search:Collect: 收藏 diff --git a/src/views/codes/index/components/form.vue b/src/views/codes/index/components/form.vue index 21054ed..1ff6358 100644 --- a/src/views/codes/index/components/form.vue +++ b/src/views/codes/index/components/form.vue @@ -6,8 +6,8 @@ label-width="82px" > - - + + - - + + - - + + - + - + ({ { required: true, message: "反馈编码为必填项", trigger: "blur" } ], feedback_description: [ - { required: true, message: "反馈描述为必填项", trigger: "blur" } + { required: true, message: "反馈内容为必填项", trigger: "blur" } ] }); const props = withDefaults(defineProps(), { formInline: () => ({ + way: "反馈", code_id: "", code: "", description: "", diff --git a/src/views/codes/index/index.vue b/src/views/codes/index/index.vue index 06e8b2f..790bcb5 100644 --- a/src/views/codes/index/index.vue +++ b/src/views/codes/index/index.vue @@ -170,11 +170,29 @@ type="primary" :size="size" :disabled="!hasAuth('code:btn:logInfo')" - :icon="useRenderIcon(EditPen)" + :icon="useRenderIcon(Info)" @click="handleDetail(row)" > {{ t("buttons:Details") }} + + {{ t("buttons:ErrorRecovery") }} + @@ -215,7 +233,7 @@ class="w-full top-2" type="primary" :disabled="!hasAuth('code:btn:addFeedback')" - @click="handleFeedback(item)" + @click="handleFeedback('反馈', item)" >{{ t("buttons:Feedback") }} @@ -238,6 +256,7 @@ import EditPen from "@iconify-icons/ep/edit-pen"; import Refresh from "@iconify-icons/ep/refresh"; import UploadIcon from "@iconify-icons/ri/upload-2-line"; import Export from "@iconify-icons/ri/download-2-line"; +import Info from "@iconify-icons/ri/information-line"; const { t } = useI18n(); import { hasAuth } from "@/utils/auth"; /** diff --git a/src/views/codes/index/utils/hook.tsx b/src/views/codes/index/utils/hook.tsx index e577316..d4dccd5 100644 --- a/src/views/codes/index/utils/hook.tsx +++ b/src/views/codes/index/utils/hook.tsx @@ -375,16 +375,24 @@ export const useIndex = (tableRef: Ref) => { exportToExcel([exportData], "查询结果"); }; /**处理反馈 */ - const handleFeedback = async (row: QueryResultItem) => { + /**处理反馈 */ + const handleFeedback = async ( + way: string = "反馈", + row: QueryResultItem, + query_text?: string, + code?: string + ) => { addDialog({ - title: `反馈错误`, + title: way, props: { formInline: { + way: way, code_id: row?.id ?? "", code: row?.code ?? "", description: row?.description ?? "", - feedback_code: row?.code ?? "", - feedback_description: row?.description ?? "" + feedback_code: way === "反馈" ? (row?.code ?? "") : code, + feedback_description: + way === "反馈" ? (row?.description ?? "") : query_text } }, width: "45%", @@ -394,26 +402,29 @@ export const useIndex = (tableRef: Ref) => { contentRenderer: () => h(editForm, { formInline: { + way: way, code_id: row?.id ?? "", code: row?.code ?? "", description: row?.description ?? "", - feedback_code: row?.code ?? "", - feedback_description: row?.description ?? "" + feedback_code: way === "反馈" ? (row?.code ?? "") : code, + feedback_description: + way === "反馈" ? (row?.description ?? "") : query_text }, ref: formRef }), beforeSure: async (done, {}) => { const FormData = formRef.value.newFormInline; + let id = way === "反馈" ? (row?.id ?? "") : ""; const res = await postAddCodeFeedbackAPI({ - code_id: row.id, + code_id: id, feedback_description: FormData.feedback_description, feedback_code: FormData.feedback_code }); if (res.success) { - message("反馈成功!", { type: "success" }); + message(res.msg, { type: "success" }); done(); } else { - message("反馈失败!", { type: "error" }); + message(res.msg, { type: "error" }); } } }); diff --git a/src/views/codes/log/components/details.vue b/src/views/codes/log/components/details.vue index d051a29..9c62724 100644 --- a/src/views/codes/log/components/details.vue +++ b/src/views/codes/log/components/details.vue @@ -94,12 +94,30 @@ link type="primary" :size="size" - :disabled="!hasAuth('code:btn:logInfo')" + :disabled="!hasAuth('code:btn:addFeedback')" :icon="useRenderIcon(EditPen)" @click="handleDetail(row)" > {{ t("buttons:Details") }} + + {{ t("buttons:ErrorRecovery") }} + @@ -140,7 +158,7 @@ class="w-full top-2" type="primary" :disabled="!hasAuth('code:btn:addFeedback')" - @click="handleFeedback(item)" + @click="handleFeedback('反馈', item)" >{{ t("buttons:Feedback") }} @@ -164,6 +182,7 @@ import { PureTableBar } from "@/components/RePureTableBar"; import { useRenderIcon } from "@/components/ReIcon/src/hooks"; import EditPen from "@iconify-icons/ep/edit-pen"; import Export from "@iconify-icons/ri/download-2-line"; +import Info from "@iconify-icons/ri/information-line"; import type { QueryCodeLogInfo, QueryResult, @@ -174,34 +193,36 @@ import { PaginationProps } from "@pureadmin/table"; import { message } from "@/utils/message"; import { hasAuth } from "@/utils/auth"; import { addDialog } from "@/components/ReDialog"; +//import { useMultiTagsStoreHook } from "@/store/modules/multiTags"; +//import { $t } from "@/plugins/i18n"; const { t } = useI18n(); const route = useRoute(); -const router = useRouter(); +//const router = useRouter(); const getParameter = isEmpty(route.params) ? route.query : route.params; // /**初始化加载页面 */ -// function init() { -// Object.keys(getParameter).forEach(param => { -// if (!isString(getParameter[param])) { -// getParameter[param] = getParameter[param].toString(); -// } else { -// getParameter["detailsId"] = ""; -// } -// }); -// useMultiTagsStoreHook().handleTags("push", { -// path: "/code/log/details/:detailsId", -// name: "QueryCodedetails", -// params: getParameter, -// meta: { -// title: $t("menus:QueryCodedetails") -// }, -// dynamicLevel: 1 -// }); -// router.push({ -// name: "QueryCodedetails", -// params: getParameter -// }); -// } -// init(); +//function init() { +// Object.keys(getParameter).forEach(param => { +// if (!isString(getParameter[param])) { +// getParameter[param] = getParameter[param].toString(); +// } else { +// getParameter["detailsId"] = ""; +// } +// }); +// useMultiTagsStoreHook().handleTags("push", { +// path: "/code/log/details/:detailsId", +// name: "QueryCodedetails", +// params: getParameter, +// meta: { +// title: $t("menus:QueryCodedetails") +// }, +// dynamicLevel: 1 +// }); +// router.push({ +// name: "QueryCodedetails", +// params: getParameter +// }); +//} +//init(); const activeCollapse = ref(["baseInfo"]); /** * 查询结果 @@ -414,16 +435,23 @@ const onbatchExport = async () => { exportToExcel([exportData], "查询结果"); }; /**处理反馈 */ -const handleFeedback = async (row: QueryResultItem) => { +const handleFeedback = async ( + way: string = "反馈", + row: QueryResultItem, + query_text?: string, + code?: string +) => { addDialog({ - title: `反馈错误`, + title: way, props: { formInline: { + way: way, code_id: row?.id ?? "", code: row?.code ?? "", description: row?.description ?? "", - feedback_code: row?.code ?? "", - feedback_description: row?.description ?? "" + feedback_code: way === "反馈" ? (row?.code ?? "") : code, + feedback_description: + way === "反馈" ? (row?.description ?? "") : query_text } }, width: "45%", @@ -433,26 +461,29 @@ const handleFeedback = async (row: QueryResultItem) => { contentRenderer: () => h(editForm, { formInline: { + way: way, code_id: row?.id ?? "", code: row?.code ?? "", description: row?.description ?? "", - feedback_code: row?.code ?? "", - feedback_description: row?.description ?? "" + feedback_code: way === "反馈" ? (row?.code ?? "") : code, + feedback_description: + way === "反馈" ? (row?.description ?? "") : query_text }, ref: formRef }), beforeSure: async (done, {}) => { const FormData = formRef.value.newFormInline; + let id = way === "反馈" ? (row?.id ?? "") : ""; const res = await postAddCodeFeedbackAPI({ - code_id: row.id, + code_id: id, feedback_description: FormData.feedback_description, feedback_code: FormData.feedback_code }); if (res.success) { - message("反馈成功!", { type: "success" }); + message(res.msg, { type: "success" }); done(); } else { - message("反馈失败!", { type: "error" }); + message(res.msg, { type: "error" }); } } }); diff --git a/src/views/codes/log/components/form.vue b/src/views/codes/log/components/form.vue index 47db53a..1ff6358 100644 --- a/src/views/codes/log/components/form.vue +++ b/src/views/codes/log/components/form.vue @@ -6,8 +6,8 @@ label-width="82px" > - - + + - - + + - - + + - + - + ({ }); const props = withDefaults(defineProps(), { formInline: () => ({ + way: "反馈", code_id: "", code: "", description: "", diff --git a/src/views/data/feedback/utils/hook.tsx b/src/views/data/feedback/utils/hook.tsx index 6cda089..6f2ab49 100644 --- a/src/views/data/feedback/utils/hook.tsx +++ b/src/views/data/feedback/utils/hook.tsx @@ -111,7 +111,8 @@ export const useCode = (tableRef: Ref) => { { label: "编码", prop: "code", - formatter: ({ code }) => code.replace(/(\d{2})/g, "$1.").slice(0, -1) + formatter: ({ code }) => + code ? code.replace(/(\d{2})/g, "$1.").slice(0, -1) : "" }, { label: "描述", diff --git a/src/views/data/import/utils/hook.tsx b/src/views/data/import/utils/hook.tsx index 5e87090..6e66f31 100644 --- a/src/views/data/import/utils/hook.tsx +++ b/src/views/data/import/utils/hook.tsx @@ -62,7 +62,7 @@ export const useCode = (tableRef: Ref) => { pageSize: 10, currentPage: 1, background: true, - pageSizes: [10, 20, 30, 40, 50] + pageSizes: [10, 20, 30, 40, 50, 100, 200, 300] }); // 上传文件区域显示状态 const showUploadArea = ref(false);