1545 lines
64 KiB
JavaScript
1545 lines
64 KiB
JavaScript
import { x as ElFormItem, aq as ElSelect, ar as ElOption, h as ElButton, w as ElForm, U as ElRow, V as ElCol, m as ElDropdown, n as ElDropdownMenu, o as ElDropdownItem, N as check_default, a8 as circle_close_default, l as ElTooltip, ax as ElPopover, F as ElScrollbar, aC as ElCheckbox, al as ElTable, am as ElTableColumn, q as ElTag, u as ElEmpty, ao as vLoading, a9 as question_filled_default, T as ElCard, a3 as ElDescriptions, a4 as ElDescriptionsItem, y as ElInput, P as ElRadioGroup, Q as ElRadio, v as ElDialog, D as ElMessageBox, E as ElMessage } from "./element-plus.CkEW9frc.js";
|
||
import { _ as __unplugin_components_19 } from "./index.fgd49PES.js";
|
||
import { J as defineComponent, t as onMounted, aP as resolveDirective, S as openBlock, _ as createElementBlock, a6 as withDirectives, ab as vShow, a1 as createBaseVNode, $ as createVNode, a0 as withCtx, T as createBlock, a9 as createTextVNode, aw as withModifiers, o as unref, H as Fragment, ay as renderList, a8 as createCommentVNode, aa as toDisplayString, r as ref, ak as reactive } from "./.pnpm.BW3P1y8f.js";
|
||
import { l as httpRequest, j as useDictStore, R as ResultEnum } from "./index.CMd5bD1r.js";
|
||
import { _ as _sfc_main$1 } from "./ImportModal.vue_vue_type_script_setup_true_lang.DYvH1hkB.js";
|
||
import { _ as _sfc_main$2 } from "./ExportModal.vue_vue_type_script_setup_true_lang.Bok1HJuH.js";
|
||
import "./_plugin-vue_export-helper.1tPrXgE0.js";
|
||
import "./codemirror.CvJAcn2d.js";
|
||
import "./exceljs.CkFT-P7Q.js";
|
||
const API_PATH = "/yifan/yifan_feedback";
|
||
const YifanFeedbackAPI = {
|
||
// 列表查询
|
||
listYifanFeedback(query) {
|
||
return httpRequest({
|
||
url: `${API_PATH}/list`,
|
||
method: "get",
|
||
params: query
|
||
});
|
||
},
|
||
// 详情查询
|
||
detailYifanFeedback(id) {
|
||
return httpRequest({
|
||
url: `${API_PATH}/detail/${id}`,
|
||
method: "get"
|
||
});
|
||
},
|
||
// 新增
|
||
createYifanFeedback(body) {
|
||
return httpRequest({
|
||
url: `${API_PATH}/create`,
|
||
method: "post",
|
||
data: body
|
||
});
|
||
},
|
||
// 修改(带主键)
|
||
updateYifanFeedback(id, body) {
|
||
return httpRequest({
|
||
url: `${API_PATH}/update/${id}`,
|
||
method: "put",
|
||
data: body
|
||
});
|
||
},
|
||
// 删除(支持批量)
|
||
deleteYifanFeedback(ids) {
|
||
return httpRequest({
|
||
url: `${API_PATH}/delete`,
|
||
method: "delete",
|
||
data: ids
|
||
});
|
||
},
|
||
// 批量启用/停用
|
||
batchYifanFeedback(body) {
|
||
return httpRequest({
|
||
url: `${API_PATH}/available/setting`,
|
||
method: "patch",
|
||
data: body
|
||
});
|
||
},
|
||
// 导出
|
||
exportYifanFeedback(query) {
|
||
return httpRequest({
|
||
url: `${API_PATH}/export`,
|
||
method: "post",
|
||
data: query,
|
||
responseType: "blob"
|
||
});
|
||
},
|
||
// 下载导入模板
|
||
downloadTemplateYifanFeedback() {
|
||
return httpRequest({
|
||
url: `${API_PATH}/download/template`,
|
||
method: "post",
|
||
responseType: "blob"
|
||
});
|
||
},
|
||
// 导入
|
||
importYifanFeedback(body) {
|
||
return httpRequest({
|
||
url: `${API_PATH}/import`,
|
||
method: "post",
|
||
data: body,
|
||
headers: { "Content-Type": "multipart/form-data" }
|
||
});
|
||
}
|
||
};
|
||
const _hoisted_1 = { class: "app-container" };
|
||
const _hoisted_2 = { class: "search-container" };
|
||
const _hoisted_3 = { class: "card-header" };
|
||
const _hoisted_4 = { class: "data-table__toolbar" };
|
||
const _hoisted_5 = { class: "data-table__toolbar--left" };
|
||
const _hoisted_6 = { class: "data-table__toolbar--right" };
|
||
const _hoisted_7 = { class: "dialog-footer" };
|
||
const _sfc_main = /* @__PURE__ */ defineComponent({
|
||
...{
|
||
name: "YifanFeedback",
|
||
inheritAttrs: false
|
||
},
|
||
__name: "index",
|
||
setup(__props) {
|
||
const feedbackTypeMap = {
|
||
suggestion: { label: "建议", type: "primary" },
|
||
bug: { label: "问题", type: "danger" },
|
||
complaint: { label: "投诉", type: "warning" },
|
||
other: { label: "其他", type: "info" }
|
||
};
|
||
function getFeedbackTypeLabel(type) {
|
||
var _a;
|
||
return ((_a = feedbackTypeMap[type]) == null ? void 0 : _a.label) || type;
|
||
}
|
||
function getFeedbackTypeStyle(type) {
|
||
var _a;
|
||
return ((_a = feedbackTypeMap[type]) == null ? void 0 : _a.type) || "info";
|
||
}
|
||
const handleStatusMap = {
|
||
0: { label: "待处理", type: "warning" },
|
||
1: { label: "处理中", type: "primary" },
|
||
2: { label: "已处理", type: "success" },
|
||
3: { label: "已关闭", type: "info" }
|
||
};
|
||
function getHandleStatusLabel(status) {
|
||
var _a;
|
||
return ((_a = handleStatusMap[status]) == null ? void 0 : _a.label) || String(status);
|
||
}
|
||
function getHandleStatusStyle(status) {
|
||
var _a;
|
||
return ((_a = handleStatusMap[status]) == null ? void 0 : _a.type) || "info";
|
||
}
|
||
const visible = ref(true);
|
||
const queryFormRef = ref();
|
||
const dataFormRef = ref();
|
||
const total = ref(0);
|
||
const selectIds = ref([]);
|
||
const selectionRows = ref([]);
|
||
const loading = ref(false);
|
||
const dictStore = useDictStore();
|
||
const dictTypes = [];
|
||
const pageTableData = ref([]);
|
||
const tableColumns = ref([
|
||
{ prop: "selection", label: "选择框", show: true },
|
||
{ prop: "index", label: "序号", show: true },
|
||
{ prop: "created_time", label: "创建时间", show: true },
|
||
{ prop: "updated_time", label: "更新时间", show: false },
|
||
{ prop: "created_id", label: "创建人ID", show: false },
|
||
{ prop: "updated_id", label: "更新人ID", show: false },
|
||
{ prop: "is_deleted", label: "是否删除", show: false },
|
||
{ prop: "status", label: "状态", show: false },
|
||
{ prop: "user_id", label: "用户ID", show: true },
|
||
{ prop: "content", label: "反馈内容", show: true },
|
||
{ prop: "images", label: "图片", show: false },
|
||
{ prop: "contact", label: "联系方式", show: true },
|
||
{ prop: "feedback_type", label: "反馈类型", show: true },
|
||
{ prop: "handle_status", label: "处理状态", show: true },
|
||
{ prop: "handle_result", label: "处理结果", show: false },
|
||
{ prop: "handle_time", label: "处理时间", show: false },
|
||
{ prop: "handler_id", label: "处理人ID", show: false },
|
||
{ prop: "remark", label: "备注", show: false },
|
||
{ prop: "operation", label: "操作", show: true }
|
||
]);
|
||
const exportColumns = [
|
||
{ prop: "created_time", label: "创建时间" },
|
||
{ prop: "updated_time", label: "更新时间" },
|
||
{ prop: "created_id", label: "创建人ID" },
|
||
{ prop: "updated_id", label: "更新人ID" },
|
||
{ prop: "is_deleted", label: "是否删除(0否 1是)" },
|
||
{ prop: "status", label: "状态(0禁用 1启用)" },
|
||
{ prop: "user_id", label: "用户ID" },
|
||
{ prop: "content", label: "反馈内容" },
|
||
{ prop: "images", label: "图片URL(多个用逗号分隔)" },
|
||
{ prop: "contact", label: "联系方式" },
|
||
{ prop: "feedback_type", label: "反馈类型(suggestion:建议 bug:问题 complaint:投诉 other:其他)" },
|
||
{ prop: "handle_status", label: "处理状态(0待处理 1处理中 2已处理 3已关闭)" },
|
||
{ prop: "handle_result", label: "处理结果" },
|
||
{ prop: "handle_time", label: "处理时间" },
|
||
{ prop: "handler_id", label: "处理人ID" },
|
||
{ prop: "remark", label: "备注" }
|
||
];
|
||
const curdContentConfig = {
|
||
permPrefix: "module_yifan:yifan_feedback",
|
||
cols: exportColumns,
|
||
importTemplate: () => YifanFeedbackAPI.downloadTemplateYifanFeedback(),
|
||
exportsAction: async (params) => {
|
||
var _a, _b, _c, _d;
|
||
const query = { ...params };
|
||
query.status = "0";
|
||
query.page_no = 1;
|
||
query.page_size = 9999;
|
||
const all = [];
|
||
while (true) {
|
||
const res = await YifanFeedbackAPI.listYifanFeedback(query);
|
||
const items = ((_b = (_a = res.data) == null ? void 0 : _a.data) == null ? void 0 : _b.items) || [];
|
||
const total2 = ((_d = (_c = res.data) == null ? void 0 : _c.data) == null ? void 0 : _d.total) || 0;
|
||
all.push(...items);
|
||
if (all.length >= total2 || items.length === 0) break;
|
||
query.page_no += 1;
|
||
}
|
||
return all;
|
||
}
|
||
};
|
||
const detailFormData = ref({});
|
||
const createdDateRange = ref([]);
|
||
const updatedDateRange = ref([]);
|
||
const queryFormData = reactive({
|
||
page_no: 1,
|
||
page_size: 10,
|
||
created_time: void 0,
|
||
updated_time: void 0,
|
||
created_id: void 0,
|
||
updated_id: void 0,
|
||
is_deleted: void 0,
|
||
status: void 0,
|
||
user_id: void 0,
|
||
content: void 0,
|
||
images: void 0,
|
||
contact: void 0,
|
||
feedback_type: void 0,
|
||
handle_status: void 0,
|
||
handle_result: void 0,
|
||
handle_time: void 0,
|
||
handler_id: void 0,
|
||
remark: void 0
|
||
});
|
||
const formData = reactive({
|
||
id: void 0,
|
||
is_deleted: void 0,
|
||
status: void 0,
|
||
user_id: void 0,
|
||
content: void 0,
|
||
images: void 0,
|
||
contact: void 0,
|
||
feedback_type: void 0,
|
||
handle_status: void 0,
|
||
handle_result: void 0,
|
||
handle_time: void 0,
|
||
handler_id: void 0,
|
||
remark: void 0
|
||
});
|
||
const dialogVisible = reactive({
|
||
title: "",
|
||
visible: false,
|
||
type: "create"
|
||
});
|
||
const rules = reactive({
|
||
id: [
|
||
{ required: false, message: "请输入主键ID", trigger: "blur" }
|
||
],
|
||
created_time: [
|
||
{ required: true, message: "请输入创建时间", trigger: "blur" }
|
||
],
|
||
updated_time: [
|
||
{ required: true, message: "请输入更新时间", trigger: "blur" }
|
||
],
|
||
created_id: [
|
||
{ required: false, message: "请输入创建人ID", trigger: "blur" }
|
||
],
|
||
updated_id: [
|
||
{ required: false, message: "请输入更新人ID", trigger: "blur" }
|
||
],
|
||
is_deleted: [
|
||
{ required: true, message: "请输入是否删除(0否 1是)", trigger: "blur" }
|
||
],
|
||
status: [
|
||
{ required: true, message: "请输入状态(0禁用 1启用)", trigger: "blur" }
|
||
],
|
||
user_id: [
|
||
{ required: true, message: "请输入用户ID", trigger: "blur" }
|
||
],
|
||
content: [
|
||
{ required: true, message: "请输入反馈内容", trigger: "blur" }
|
||
],
|
||
images: [
|
||
{ required: false, message: "请输入图片URL(多个用逗号分隔)", trigger: "blur" }
|
||
],
|
||
contact: [
|
||
{ required: false, message: "请输入联系方式", trigger: "blur" }
|
||
],
|
||
feedback_type: [
|
||
{ required: false, message: "请输入反馈类型(suggestion:建议 bug:问题 complaint:投诉 other:其他)", trigger: "blur" }
|
||
],
|
||
handle_status: [
|
||
{ required: true, message: "请输入处理状态(0待处理 1处理中 2已处理 3已关闭)", trigger: "blur" }
|
||
],
|
||
handle_result: [
|
||
{ required: false, message: "请输入处理结果", trigger: "blur" }
|
||
],
|
||
handle_time: [
|
||
{ required: false, message: "请输入处理时间", trigger: "blur" }
|
||
],
|
||
handler_id: [
|
||
{ required: false, message: "请输入处理人ID", trigger: "blur" }
|
||
],
|
||
remark: [
|
||
{ required: false, message: "请输入备注", trigger: "blur" }
|
||
]
|
||
});
|
||
const importDialogVisible = ref(false);
|
||
const exportsDialogVisible = ref(false);
|
||
function handleOpenImportDialog() {
|
||
importDialogVisible.value = true;
|
||
}
|
||
function handleOpenExportsModal() {
|
||
exportsDialogVisible.value = true;
|
||
}
|
||
async function handleRefresh() {
|
||
await loadingData();
|
||
}
|
||
async function loadingData() {
|
||
loading.value = true;
|
||
try {
|
||
const response = await YifanFeedbackAPI.listYifanFeedback(queryFormData);
|
||
pageTableData.value = response.data.data.items;
|
||
total.value = response.data.data.total;
|
||
} catch (error) {
|
||
console.error(error);
|
||
} finally {
|
||
loading.value = false;
|
||
}
|
||
}
|
||
async function handleQuery() {
|
||
queryFormData.page_no = 1;
|
||
loadingData();
|
||
}
|
||
async function handleResetQuery() {
|
||
queryFormRef.value.resetFields();
|
||
queryFormData.page_no = 1;
|
||
createdDateRange.value = [];
|
||
updatedDateRange.value = [];
|
||
queryFormData.created_time = void 0;
|
||
queryFormData.updated_time = void 0;
|
||
loadingData();
|
||
}
|
||
const initialFormData = {
|
||
id: void 0,
|
||
is_deleted: void 0,
|
||
status: void 0,
|
||
user_id: void 0,
|
||
content: void 0,
|
||
images: void 0,
|
||
contact: void 0,
|
||
feedback_type: void 0,
|
||
handle_status: void 0,
|
||
handle_result: void 0,
|
||
handle_time: void 0,
|
||
handler_id: void 0,
|
||
remark: void 0
|
||
};
|
||
async function resetForm() {
|
||
if (dataFormRef.value) {
|
||
dataFormRef.value.resetFields();
|
||
dataFormRef.value.clearValidate();
|
||
}
|
||
Object.assign(formData, initialFormData);
|
||
}
|
||
async function handleSelectionChange(selection) {
|
||
selectIds.value = selection.map((item) => item.id);
|
||
selectionRows.value = selection;
|
||
}
|
||
async function handleCloseDialog() {
|
||
dialogVisible.visible = false;
|
||
resetForm();
|
||
}
|
||
async function handleOpenDialog(type, id) {
|
||
dialogVisible.type = type;
|
||
if (id) {
|
||
const response = await YifanFeedbackAPI.detailYifanFeedback(id);
|
||
if (type === "detail") {
|
||
dialogVisible.title = "详情";
|
||
Object.assign(detailFormData.value, response.data.data);
|
||
} else if (type === "update") {
|
||
dialogVisible.title = "修改";
|
||
Object.assign(formData, response.data.data);
|
||
}
|
||
} else {
|
||
dialogVisible.title = "新增YifanFeedback";
|
||
formData.id = void 0;
|
||
formData.is_deleted = void 0;
|
||
formData.status = void 0;
|
||
formData.user_id = void 0;
|
||
formData.content = void 0;
|
||
formData.images = void 0;
|
||
formData.contact = void 0;
|
||
formData.feedback_type = void 0;
|
||
formData.handle_status = void 0;
|
||
formData.handle_result = void 0;
|
||
formData.handle_time = void 0;
|
||
formData.handler_id = void 0;
|
||
formData.remark = void 0;
|
||
}
|
||
dialogVisible.visible = true;
|
||
}
|
||
async function handleSubmit() {
|
||
dataFormRef.value.validate(async (valid) => {
|
||
if (valid) {
|
||
loading.value = true;
|
||
const id = formData.id;
|
||
if (id) {
|
||
try {
|
||
await YifanFeedbackAPI.updateYifanFeedback(id, { id, ...formData });
|
||
dialogVisible.visible = false;
|
||
resetForm();
|
||
handleCloseDialog();
|
||
handleResetQuery();
|
||
} catch (error) {
|
||
console.error(error);
|
||
} finally {
|
||
loading.value = false;
|
||
}
|
||
} else {
|
||
try {
|
||
await YifanFeedbackAPI.createYifanFeedback(formData);
|
||
dialogVisible.visible = false;
|
||
resetForm();
|
||
handleCloseDialog();
|
||
handleResetQuery();
|
||
} catch (error) {
|
||
console.error(error);
|
||
} finally {
|
||
loading.value = false;
|
||
}
|
||
}
|
||
}
|
||
});
|
||
}
|
||
async function handleDelete(ids) {
|
||
ElMessageBox.confirm("确认删除该项数据?", "警告", {
|
||
confirmButtonText: "确定",
|
||
cancelButtonText: "取消",
|
||
type: "warning"
|
||
}).then(async () => {
|
||
try {
|
||
loading.value = true;
|
||
await YifanFeedbackAPI.deleteYifanFeedback(ids);
|
||
handleResetQuery();
|
||
} catch (error) {
|
||
console.error(error);
|
||
} finally {
|
||
loading.value = false;
|
||
}
|
||
}).catch(() => {
|
||
ElMessageBox.close();
|
||
});
|
||
}
|
||
async function handleMoreClick(status) {
|
||
if (selectIds.value.length) {
|
||
ElMessageBox.confirm(`确认${status === "0" ? "启用" : "停用"}该项数据?`, "警告", {
|
||
confirmButtonText: "确定",
|
||
cancelButtonText: "取消",
|
||
type: "warning"
|
||
}).then(async () => {
|
||
try {
|
||
loading.value = true;
|
||
await YifanFeedbackAPI.batchYifanFeedback({ ids: selectIds.value, status });
|
||
handleResetQuery();
|
||
} catch (error) {
|
||
console.error(error);
|
||
} finally {
|
||
loading.value = false;
|
||
}
|
||
}).catch(() => {
|
||
ElMessageBox.close();
|
||
});
|
||
}
|
||
}
|
||
const handleUpload = async (formData2) => {
|
||
try {
|
||
const response = await YifanFeedbackAPI.importYifanFeedback(formData2);
|
||
if (response.data.code === ResultEnum.SUCCESS) {
|
||
ElMessage.success(`${response.data.msg},${response.data.data}`);
|
||
importDialogVisible.value = false;
|
||
await handleQuery();
|
||
}
|
||
} catch (error) {
|
||
console.error(error);
|
||
}
|
||
};
|
||
onMounted(async () => {
|
||
if (dictTypes.length > 0) {
|
||
await dictStore.getDict(dictTypes);
|
||
}
|
||
loadingData();
|
||
});
|
||
return (_ctx, _cache) => {
|
||
const _component_el_option = ElOption;
|
||
const _component_el_select = ElSelect;
|
||
const _component_el_form_item = ElFormItem;
|
||
const _component_el_button = ElButton;
|
||
const _component_el_form = ElForm;
|
||
const _component_el_tooltip = ElTooltip;
|
||
const _component_el_col = ElCol;
|
||
const _component_el_dropdown_item = ElDropdownItem;
|
||
const _component_el_dropdown_menu = ElDropdownMenu;
|
||
const _component_el_dropdown = ElDropdown;
|
||
const _component_el_row = ElRow;
|
||
const _component_el_checkbox = ElCheckbox;
|
||
const _component_el_scrollbar = ElScrollbar;
|
||
const _component_el_popover = ElPopover;
|
||
const _component_el_empty = ElEmpty;
|
||
const _component_el_table_column = ElTableColumn;
|
||
const _component_el_tag = ElTag;
|
||
const _component_el_table = ElTable;
|
||
const _component_pagination = __unplugin_components_19;
|
||
const _component_el_card = ElCard;
|
||
const _component_el_descriptions_item = ElDescriptionsItem;
|
||
const _component_el_descriptions = ElDescriptions;
|
||
const _component_el_input = ElInput;
|
||
const _component_el_radio = ElRadio;
|
||
const _component_el_radio_group = ElRadioGroup;
|
||
const _component_el_dialog = ElDialog;
|
||
const _directive_hasPerm = resolveDirective("hasPerm");
|
||
const _directive_loading = vLoading;
|
||
return openBlock(), createElementBlock("div", _hoisted_1, [
|
||
withDirectives(createBaseVNode("div", _hoisted_2, [
|
||
createVNode(_component_el_form, {
|
||
ref_key: "queryFormRef",
|
||
ref: queryFormRef,
|
||
model: queryFormData,
|
||
"label-suffix": ":",
|
||
inline: true,
|
||
onSubmit: withModifiers(handleQuery, ["prevent"])
|
||
}, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_form_item, {
|
||
label: "反馈类型",
|
||
prop: "feedback_type"
|
||
}, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_select, {
|
||
modelValue: queryFormData.feedback_type,
|
||
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => queryFormData.feedback_type = $event),
|
||
placeholder: "请选择反馈类型",
|
||
style: { "width": "150px" },
|
||
clearable: ""
|
||
}, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_option, {
|
||
value: "suggestion",
|
||
label: "建议"
|
||
}),
|
||
createVNode(_component_el_option, {
|
||
value: "bug",
|
||
label: "问题"
|
||
}),
|
||
createVNode(_component_el_option, {
|
||
value: "complaint",
|
||
label: "投诉"
|
||
}),
|
||
createVNode(_component_el_option, {
|
||
value: "other",
|
||
label: "其他"
|
||
})
|
||
]),
|
||
_: 1
|
||
}, 8, ["modelValue"])
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_form_item, {
|
||
label: "处理状态",
|
||
prop: "handle_status"
|
||
}, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_select, {
|
||
modelValue: queryFormData.handle_status,
|
||
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => queryFormData.handle_status = $event),
|
||
placeholder: "请选择处理状态",
|
||
style: { "width": "150px" },
|
||
clearable: ""
|
||
}, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_option, {
|
||
value: 0,
|
||
label: "待处理"
|
||
}),
|
||
createVNode(_component_el_option, {
|
||
value: 1,
|
||
label: "处理中"
|
||
}),
|
||
createVNode(_component_el_option, {
|
||
value: 2,
|
||
label: "已处理"
|
||
}),
|
||
createVNode(_component_el_option, {
|
||
value: 3,
|
||
label: "已关闭"
|
||
})
|
||
]),
|
||
_: 1
|
||
}, 8, ["modelValue"])
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_form_item, null, {
|
||
default: withCtx(() => [
|
||
withDirectives((openBlock(), createBlock(_component_el_button, {
|
||
type: "primary",
|
||
icon: "search",
|
||
onClick: handleQuery
|
||
}, {
|
||
default: withCtx(() => [..._cache[25] || (_cache[25] = [
|
||
createTextVNode(" 查询 ", -1)
|
||
])]),
|
||
_: 1
|
||
})), [
|
||
[_directive_hasPerm, ["module_yifan:yifan_feedback:query"]]
|
||
]),
|
||
withDirectives((openBlock(), createBlock(_component_el_button, {
|
||
icon: "refresh",
|
||
onClick: handleResetQuery
|
||
}, {
|
||
default: withCtx(() => [..._cache[26] || (_cache[26] = [
|
||
createTextVNode(" 重置 ", -1)
|
||
])]),
|
||
_: 1
|
||
})), [
|
||
[_directive_hasPerm, ["module_yifan:yifan_feedback:query"]]
|
||
])
|
||
]),
|
||
_: 1
|
||
})
|
||
]),
|
||
_: 1
|
||
}, 8, ["model"])
|
||
], 512), [
|
||
[vShow, visible.value]
|
||
]),
|
||
createVNode(_component_el_card, { class: "data-table" }, {
|
||
header: withCtx(() => [
|
||
createBaseVNode("div", _hoisted_3, [
|
||
createBaseVNode("span", null, [
|
||
_cache[27] || (_cache[27] = createTextVNode(" 意见反馈列表 ", -1)),
|
||
createVNode(_component_el_tooltip, { content: "意见反馈列表" }, {
|
||
default: withCtx(() => [
|
||
createVNode(unref(question_filled_default), { class: "w-4 h-4 mx-1" })
|
||
]),
|
||
_: 1
|
||
})
|
||
])
|
||
])
|
||
]),
|
||
footer: withCtx(() => [
|
||
createVNode(_component_pagination, {
|
||
total: total.value,
|
||
"onUpdate:total": _cache[7] || (_cache[7] = ($event) => total.value = $event),
|
||
page: queryFormData.page_no,
|
||
"onUpdate:page": _cache[8] || (_cache[8] = ($event) => queryFormData.page_no = $event),
|
||
limit: queryFormData.page_size,
|
||
"onUpdate:limit": _cache[9] || (_cache[9] = ($event) => queryFormData.page_size = $event),
|
||
onPagination: loadingData
|
||
}, null, 8, ["total", "page", "limit"])
|
||
]),
|
||
default: withCtx(() => [
|
||
createBaseVNode("div", _hoisted_4, [
|
||
createBaseVNode("div", _hoisted_5, [
|
||
createVNode(_component_el_row, { gutter: 10 }, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_col, { span: 1.5 }, {
|
||
default: withCtx(() => [
|
||
withDirectives((openBlock(), createBlock(_component_el_button, {
|
||
type: "success",
|
||
icon: "plus",
|
||
onClick: _cache[2] || (_cache[2] = ($event) => handleOpenDialog("create"))
|
||
}, {
|
||
default: withCtx(() => [..._cache[28] || (_cache[28] = [
|
||
createTextVNode(" 新增 ", -1)
|
||
])]),
|
||
_: 1
|
||
})), [
|
||
[_directive_hasPerm, ["module_yifan:yifan_feedback:create"]]
|
||
])
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_col, { span: 1.5 }, {
|
||
default: withCtx(() => [
|
||
withDirectives((openBlock(), createBlock(_component_el_button, {
|
||
type: "danger",
|
||
icon: "delete",
|
||
disabled: selectIds.value.length === 0,
|
||
onClick: _cache[3] || (_cache[3] = ($event) => handleDelete(selectIds.value))
|
||
}, {
|
||
default: withCtx(() => [..._cache[29] || (_cache[29] = [
|
||
createTextVNode(" 批量删除 ", -1)
|
||
])]),
|
||
_: 1
|
||
}, 8, ["disabled"])), [
|
||
[_directive_hasPerm, ["module_yifan:yifan_feedback:delete"]]
|
||
])
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_col, { span: 1.5 }, {
|
||
default: withCtx(() => [
|
||
withDirectives((openBlock(), createBlock(_component_el_dropdown, { trigger: "click" }, {
|
||
dropdown: withCtx(() => [
|
||
createVNode(_component_el_dropdown_menu, null, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_dropdown_item, {
|
||
icon: unref(check_default),
|
||
onClick: _cache[4] || (_cache[4] = ($event) => handleMoreClick("0"))
|
||
}, {
|
||
default: withCtx(() => [..._cache[31] || (_cache[31] = [
|
||
createTextVNode(" 批量启用 ", -1)
|
||
])]),
|
||
_: 1
|
||
}, 8, ["icon"]),
|
||
createVNode(_component_el_dropdown_item, {
|
||
icon: unref(circle_close_default),
|
||
onClick: _cache[5] || (_cache[5] = ($event) => handleMoreClick("1"))
|
||
}, {
|
||
default: withCtx(() => [..._cache[32] || (_cache[32] = [
|
||
createTextVNode(" 批量停用 ", -1)
|
||
])]),
|
||
_: 1
|
||
}, 8, ["icon"])
|
||
]),
|
||
_: 1
|
||
})
|
||
]),
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_button, {
|
||
type: "default",
|
||
disabled: selectIds.value.length === 0,
|
||
icon: "ArrowDown"
|
||
}, {
|
||
default: withCtx(() => [..._cache[30] || (_cache[30] = [
|
||
createTextVNode(" 更多 ", -1)
|
||
])]),
|
||
_: 1
|
||
}, 8, ["disabled"])
|
||
]),
|
||
_: 1
|
||
})), [
|
||
[_directive_hasPerm, ["module_yifan:yifan_feedback:batch"]]
|
||
])
|
||
]),
|
||
_: 1
|
||
})
|
||
]),
|
||
_: 1
|
||
})
|
||
]),
|
||
createBaseVNode("div", _hoisted_6, [
|
||
createVNode(_component_el_row, { gutter: 10 }, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_col, { span: 1.5 }, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_tooltip, { content: "导入" }, {
|
||
default: withCtx(() => [
|
||
withDirectives(createVNode(_component_el_button, {
|
||
type: "success",
|
||
icon: "upload",
|
||
circle: "",
|
||
onClick: handleOpenImportDialog
|
||
}, null, 512), [
|
||
[_directive_hasPerm, ["module_yifan:yifan_feedback:import"]]
|
||
])
|
||
]),
|
||
_: 1
|
||
})
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_col, { span: 1.5 }, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_tooltip, { content: "导出" }, {
|
||
default: withCtx(() => [
|
||
withDirectives(createVNode(_component_el_button, {
|
||
type: "warning",
|
||
icon: "download",
|
||
circle: "",
|
||
onClick: handleOpenExportsModal
|
||
}, null, 512), [
|
||
[_directive_hasPerm, ["module_yifan:yifan_feedback:export"]]
|
||
])
|
||
]),
|
||
_: 1
|
||
})
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_col, { span: 1.5 }, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_tooltip, { content: "搜索显示/隐藏" }, {
|
||
default: withCtx(() => [
|
||
withDirectives(createVNode(_component_el_button, {
|
||
type: "info",
|
||
icon: "search",
|
||
circle: "",
|
||
onClick: _cache[6] || (_cache[6] = ($event) => visible.value = !visible.value)
|
||
}, null, 512), [
|
||
[_directive_hasPerm, ["*:*:*"]]
|
||
])
|
||
]),
|
||
_: 1
|
||
})
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_col, { span: 1.5 }, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_tooltip, { content: "刷新" }, {
|
||
default: withCtx(() => [
|
||
withDirectives(createVNode(_component_el_button, {
|
||
type: "primary",
|
||
icon: "refresh",
|
||
circle: "",
|
||
onClick: handleRefresh
|
||
}, null, 512), [
|
||
[_directive_hasPerm, ["module_yifan:yifan_feedback:query"]]
|
||
])
|
||
]),
|
||
_: 1
|
||
})
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_col, { span: 1.5 }, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_popover, {
|
||
placement: "bottom",
|
||
trigger: "click"
|
||
}, {
|
||
reference: withCtx(() => [
|
||
createVNode(_component_el_button, {
|
||
type: "danger",
|
||
icon: "operation",
|
||
circle: ""
|
||
})
|
||
]),
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_scrollbar, { "max-height": "350px" }, {
|
||
default: withCtx(() => [
|
||
(openBlock(true), createElementBlock(Fragment, null, renderList(tableColumns.value, (column) => {
|
||
return openBlock(), createElementBlock(Fragment, {
|
||
key: column.prop
|
||
}, [
|
||
column.prop ? (openBlock(), createBlock(_component_el_checkbox, {
|
||
key: 0,
|
||
modelValue: column.show,
|
||
"onUpdate:modelValue": ($event) => column.show = $event,
|
||
label: column.label
|
||
}, null, 8, ["modelValue", "onUpdate:modelValue", "label"])) : createCommentVNode("", true)
|
||
], 64);
|
||
}), 128))
|
||
]),
|
||
_: 1
|
||
})
|
||
]),
|
||
_: 1
|
||
})
|
||
]),
|
||
_: 1
|
||
})
|
||
]),
|
||
_: 1
|
||
})
|
||
])
|
||
]),
|
||
withDirectives((openBlock(), createBlock(_component_el_table, {
|
||
ref: "tableRef",
|
||
data: pageTableData.value,
|
||
"highlight-current-row": "",
|
||
class: "data-table__content",
|
||
height: 450,
|
||
border: "",
|
||
stripe: "",
|
||
onSelectionChange: handleSelectionChange
|
||
}, {
|
||
empty: withCtx(() => [
|
||
createVNode(_component_el_empty, {
|
||
"image-size": 80,
|
||
description: "暂无数据"
|
||
})
|
||
]),
|
||
default: withCtx(() => {
|
||
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s;
|
||
return [
|
||
((_a = tableColumns.value.find((col) => col.prop === "selection")) == null ? void 0 : _a.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||
key: 0,
|
||
type: "selection",
|
||
"min-width": "55",
|
||
align: "center"
|
||
})) : createCommentVNode("", true),
|
||
((_b = tableColumns.value.find((col) => col.prop === "index")) == null ? void 0 : _b.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||
key: 1,
|
||
fixed: "",
|
||
label: "序号",
|
||
"min-width": "60"
|
||
}, {
|
||
default: withCtx((scope) => [
|
||
createTextVNode(toDisplayString((queryFormData.page_no - 1) * queryFormData.page_size + scope.$index + 1), 1)
|
||
]),
|
||
_: 1
|
||
})) : createCommentVNode("", true),
|
||
((_c = tableColumns.value.find((col) => col.prop === "created_time")) == null ? void 0 : _c.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||
key: 2,
|
||
label: "创建时间",
|
||
prop: "created_time",
|
||
"min-width": "140"
|
||
})) : createCommentVNode("", true),
|
||
((_d = tableColumns.value.find((col) => col.prop === "updated_time")) == null ? void 0 : _d.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||
key: 3,
|
||
label: "更新时间",
|
||
prop: "updated_time",
|
||
"min-width": "140"
|
||
})) : createCommentVNode("", true),
|
||
((_e = tableColumns.value.find((col) => col.prop === "created_id")) == null ? void 0 : _e.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||
key: 4,
|
||
label: "创建人ID",
|
||
prop: "created_id",
|
||
"min-width": "140"
|
||
}, {
|
||
default: withCtx((scope) => [
|
||
createVNode(_component_el_tag, null, {
|
||
default: withCtx(() => {
|
||
var _a2;
|
||
return [
|
||
createTextVNode(toDisplayString((_a2 = scope.row.created_by) == null ? void 0 : _a2.name), 1)
|
||
];
|
||
}),
|
||
_: 2
|
||
}, 1024)
|
||
]),
|
||
_: 1
|
||
})) : createCommentVNode("", true),
|
||
((_f = tableColumns.value.find((col) => col.prop === "updated_id")) == null ? void 0 : _f.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||
key: 5,
|
||
label: "更新人ID",
|
||
prop: "updated_id",
|
||
"min-width": "140"
|
||
}, {
|
||
default: withCtx((scope) => [
|
||
createVNode(_component_el_tag, null, {
|
||
default: withCtx(() => {
|
||
var _a2;
|
||
return [
|
||
createTextVNode(toDisplayString((_a2 = scope.row.updated_by) == null ? void 0 : _a2.name), 1)
|
||
];
|
||
}),
|
||
_: 2
|
||
}, 1024)
|
||
]),
|
||
_: 1
|
||
})) : createCommentVNode("", true),
|
||
((_g = tableColumns.value.find((col) => col.prop === "is_deleted")) == null ? void 0 : _g.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||
key: 6,
|
||
label: "是否删除(0否 1是)",
|
||
prop: "is_deleted",
|
||
"min-width": "140"
|
||
})) : createCommentVNode("", true),
|
||
((_h = tableColumns.value.find((col) => col.prop === "status")) == null ? void 0 : _h.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||
key: 7,
|
||
label: "状态(0禁用 1启用)",
|
||
prop: "status",
|
||
"min-width": "140"
|
||
}, {
|
||
default: withCtx((scope) => [
|
||
createVNode(_component_el_tag, {
|
||
type: scope.row.status == "0" ? "success" : "info"
|
||
}, {
|
||
default: withCtx(() => [
|
||
createTextVNode(toDisplayString(scope.row.status == "0" ? "启用" : "停用"), 1)
|
||
]),
|
||
_: 2
|
||
}, 1032, ["type"])
|
||
]),
|
||
_: 1
|
||
})) : createCommentVNode("", true),
|
||
((_i = tableColumns.value.find((col) => col.prop === "user_id")) == null ? void 0 : _i.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||
key: 8,
|
||
label: "用户ID",
|
||
prop: "user_id",
|
||
"min-width": "140"
|
||
})) : createCommentVNode("", true),
|
||
((_j = tableColumns.value.find((col) => col.prop === "content")) == null ? void 0 : _j.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||
key: 9,
|
||
label: "反馈内容",
|
||
prop: "content",
|
||
"min-width": "140"
|
||
})) : createCommentVNode("", true),
|
||
((_k = tableColumns.value.find((col) => col.prop === "images")) == null ? void 0 : _k.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||
key: 10,
|
||
label: "图片URL(多个用逗号分隔)",
|
||
prop: "images",
|
||
"min-width": "140"
|
||
})) : createCommentVNode("", true),
|
||
((_l = tableColumns.value.find((col) => col.prop === "contact")) == null ? void 0 : _l.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||
key: 11,
|
||
label: "联系方式",
|
||
prop: "contact",
|
||
"min-width": "120"
|
||
})) : createCommentVNode("", true),
|
||
((_m = tableColumns.value.find((col) => col.prop === "feedback_type")) == null ? void 0 : _m.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||
key: 12,
|
||
label: "反馈类型",
|
||
prop: "feedback_type",
|
||
"min-width": "100"
|
||
}, {
|
||
default: withCtx((scope) => [
|
||
createVNode(_component_el_tag, {
|
||
type: getFeedbackTypeStyle(scope.row.feedback_type)
|
||
}, {
|
||
default: withCtx(() => [
|
||
createTextVNode(toDisplayString(getFeedbackTypeLabel(scope.row.feedback_type)), 1)
|
||
]),
|
||
_: 2
|
||
}, 1032, ["type"])
|
||
]),
|
||
_: 1
|
||
})) : createCommentVNode("", true),
|
||
((_n = tableColumns.value.find((col) => col.prop === "handle_status")) == null ? void 0 : _n.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||
key: 13,
|
||
label: "处理状态",
|
||
prop: "handle_status",
|
||
"min-width": "100"
|
||
}, {
|
||
default: withCtx((scope) => [
|
||
createVNode(_component_el_tag, {
|
||
type: getHandleStatusStyle(scope.row.handle_status)
|
||
}, {
|
||
default: withCtx(() => [
|
||
createTextVNode(toDisplayString(getHandleStatusLabel(scope.row.handle_status)), 1)
|
||
]),
|
||
_: 2
|
||
}, 1032, ["type"])
|
||
]),
|
||
_: 1
|
||
})) : createCommentVNode("", true),
|
||
((_o = tableColumns.value.find((col) => col.prop === "handle_result")) == null ? void 0 : _o.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||
key: 14,
|
||
label: "处理结果",
|
||
prop: "handle_result",
|
||
"min-width": "140"
|
||
})) : createCommentVNode("", true),
|
||
((_p = tableColumns.value.find((col) => col.prop === "handle_time")) == null ? void 0 : _p.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||
key: 15,
|
||
label: "处理时间",
|
||
prop: "handle_time",
|
||
"min-width": "140"
|
||
})) : createCommentVNode("", true),
|
||
((_q = tableColumns.value.find((col) => col.prop === "handler_id")) == null ? void 0 : _q.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||
key: 16,
|
||
label: "处理人ID",
|
||
prop: "handler_id",
|
||
"min-width": "140"
|
||
})) : createCommentVNode("", true),
|
||
((_r = tableColumns.value.find((col) => col.prop === "remark")) == null ? void 0 : _r.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||
key: 17,
|
||
label: "备注",
|
||
prop: "remark",
|
||
"min-width": "140"
|
||
})) : createCommentVNode("", true),
|
||
((_s = tableColumns.value.find((col) => col.prop === "operation")) == null ? void 0 : _s.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||
key: 18,
|
||
fixed: "right",
|
||
label: "操作",
|
||
align: "center",
|
||
"min-width": "180"
|
||
}, {
|
||
default: withCtx((scope) => [
|
||
withDirectives((openBlock(), createBlock(_component_el_button, {
|
||
type: "info",
|
||
size: "small",
|
||
link: "",
|
||
icon: "document",
|
||
onClick: ($event) => handleOpenDialog("detail", scope.row.id)
|
||
}, {
|
||
default: withCtx(() => [..._cache[33] || (_cache[33] = [
|
||
createTextVNode(" 详情 ", -1)
|
||
])]),
|
||
_: 1
|
||
}, 8, ["onClick"])), [
|
||
[_directive_hasPerm, ["module_yifan:yifan_feedback:detail"]]
|
||
]),
|
||
withDirectives((openBlock(), createBlock(_component_el_button, {
|
||
type: "primary",
|
||
size: "small",
|
||
link: "",
|
||
icon: "edit",
|
||
onClick: ($event) => handleOpenDialog("update", scope.row.id)
|
||
}, {
|
||
default: withCtx(() => [..._cache[34] || (_cache[34] = [
|
||
createTextVNode(" 编辑 ", -1)
|
||
])]),
|
||
_: 1
|
||
}, 8, ["onClick"])), [
|
||
[_directive_hasPerm, ["module_yifan:yifan_feedback:update"]]
|
||
]),
|
||
withDirectives((openBlock(), createBlock(_component_el_button, {
|
||
type: "danger",
|
||
size: "small",
|
||
link: "",
|
||
icon: "delete",
|
||
onClick: ($event) => handleDelete([scope.row.id])
|
||
}, {
|
||
default: withCtx(() => [..._cache[35] || (_cache[35] = [
|
||
createTextVNode(" 删除 ", -1)
|
||
])]),
|
||
_: 1
|
||
}, 8, ["onClick"])), [
|
||
[_directive_hasPerm, ["module_yifan:yifan_feedback:delete"]]
|
||
])
|
||
]),
|
||
_: 1
|
||
})) : createCommentVNode("", true)
|
||
];
|
||
}),
|
||
_: 1
|
||
}, 8, ["data"])), [
|
||
[_directive_loading, loading.value]
|
||
])
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_dialog, {
|
||
modelValue: dialogVisible.visible,
|
||
"onUpdate:modelValue": _cache[22] || (_cache[22] = ($event) => dialogVisible.visible = $event),
|
||
title: dialogVisible.title,
|
||
onClose: handleCloseDialog
|
||
}, {
|
||
footer: withCtx(() => [
|
||
createBaseVNode("div", _hoisted_7, [
|
||
createVNode(_component_el_button, { onClick: handleCloseDialog }, {
|
||
default: withCtx(() => [..._cache[38] || (_cache[38] = [
|
||
createTextVNode("取消", -1)
|
||
])]),
|
||
_: 1
|
||
}),
|
||
dialogVisible.type !== "detail" ? (openBlock(), createBlock(_component_el_button, {
|
||
key: 0,
|
||
type: "primary",
|
||
onClick: handleSubmit
|
||
}, {
|
||
default: withCtx(() => [..._cache[39] || (_cache[39] = [
|
||
createTextVNode(" 确定 ", -1)
|
||
])]),
|
||
_: 1
|
||
})) : (openBlock(), createBlock(_component_el_button, {
|
||
key: 1,
|
||
type: "primary",
|
||
onClick: handleCloseDialog
|
||
}, {
|
||
default: withCtx(() => [..._cache[40] || (_cache[40] = [
|
||
createTextVNode("确定", -1)
|
||
])]),
|
||
_: 1
|
||
}))
|
||
])
|
||
]),
|
||
default: withCtx(() => [
|
||
dialogVisible.type === "detail" ? (openBlock(), createBlock(_component_el_descriptions, {
|
||
key: 0,
|
||
column: 4,
|
||
border: ""
|
||
}, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_descriptions_item, {
|
||
label: "主键ID",
|
||
span: 2
|
||
}, {
|
||
default: withCtx(() => [
|
||
createTextVNode(toDisplayString(detailFormData.value.id), 1)
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_descriptions_item, {
|
||
label: "创建时间",
|
||
span: 2
|
||
}, {
|
||
default: withCtx(() => [
|
||
createTextVNode(toDisplayString(detailFormData.value.created_time), 1)
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_descriptions_item, {
|
||
label: "更新时间",
|
||
span: 2
|
||
}, {
|
||
default: withCtx(() => [
|
||
createTextVNode(toDisplayString(detailFormData.value.updated_time), 1)
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_descriptions_item, {
|
||
label: "创建人",
|
||
span: 2
|
||
}, {
|
||
default: withCtx(() => {
|
||
var _a;
|
||
return [
|
||
createTextVNode(toDisplayString((_a = detailFormData.value.created_by) == null ? void 0 : _a.name), 1)
|
||
];
|
||
}),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_descriptions_item, {
|
||
label: "更新人",
|
||
span: 2
|
||
}, {
|
||
default: withCtx(() => {
|
||
var _a;
|
||
return [
|
||
createTextVNode(toDisplayString((_a = detailFormData.value.updated_by) == null ? void 0 : _a.name), 1)
|
||
];
|
||
}),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_descriptions_item, {
|
||
label: "是否删除(0否 1是)",
|
||
span: 2
|
||
}, {
|
||
default: withCtx(() => [
|
||
createTextVNode(toDisplayString(detailFormData.value.is_deleted), 1)
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_descriptions_item, {
|
||
label: "状态",
|
||
span: 2
|
||
}, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_tag, {
|
||
type: detailFormData.value.status == "0" ? "success" : "danger"
|
||
}, {
|
||
default: withCtx(() => [
|
||
createTextVNode(toDisplayString(detailFormData.value.status == "0" ? "启用" : "停用"), 1)
|
||
]),
|
||
_: 1
|
||
}, 8, ["type"])
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_descriptions_item, {
|
||
label: "用户ID",
|
||
span: 2
|
||
}, {
|
||
default: withCtx(() => [
|
||
createTextVNode(toDisplayString(detailFormData.value.user_id), 1)
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_descriptions_item, {
|
||
label: "反馈内容",
|
||
span: 2
|
||
}, {
|
||
default: withCtx(() => [
|
||
createTextVNode(toDisplayString(detailFormData.value.content), 1)
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_descriptions_item, {
|
||
label: "图片URL(多个用逗号分隔)",
|
||
span: 2
|
||
}, {
|
||
default: withCtx(() => [
|
||
createTextVNode(toDisplayString(detailFormData.value.images), 1)
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_descriptions_item, {
|
||
label: "联系方式",
|
||
span: 2
|
||
}, {
|
||
default: withCtx(() => [
|
||
createTextVNode(toDisplayString(detailFormData.value.contact), 1)
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_descriptions_item, {
|
||
label: "反馈类型(suggestion:建议 bug:问题 complaint:投诉 other:其他)",
|
||
span: 2
|
||
}, {
|
||
default: withCtx(() => [
|
||
createTextVNode(toDisplayString(detailFormData.value.feedback_type), 1)
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_descriptions_item, {
|
||
label: "处理状态(0待处理 1处理中 2已处理 3已关闭)",
|
||
span: 2
|
||
}, {
|
||
default: withCtx(() => [
|
||
createTextVNode(toDisplayString(detailFormData.value.handle_status), 1)
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_descriptions_item, {
|
||
label: "处理结果",
|
||
span: 2
|
||
}, {
|
||
default: withCtx(() => [
|
||
createTextVNode(toDisplayString(detailFormData.value.handle_result), 1)
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_descriptions_item, {
|
||
label: "处理时间",
|
||
span: 2
|
||
}, {
|
||
default: withCtx(() => [
|
||
createTextVNode(toDisplayString(detailFormData.value.handle_time), 1)
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_descriptions_item, {
|
||
label: "处理人ID",
|
||
span: 2
|
||
}, {
|
||
default: withCtx(() => [
|
||
createTextVNode(toDisplayString(detailFormData.value.handler_id), 1)
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_descriptions_item, {
|
||
label: "备注",
|
||
span: 2
|
||
}, {
|
||
default: withCtx(() => [
|
||
createTextVNode(toDisplayString(detailFormData.value.remark), 1)
|
||
]),
|
||
_: 1
|
||
})
|
||
]),
|
||
_: 1
|
||
})) : (openBlock(), createBlock(_component_el_form, {
|
||
key: 1,
|
||
ref_key: "dataFormRef",
|
||
ref: dataFormRef,
|
||
model: formData,
|
||
rules,
|
||
"label-suffix": ":",
|
||
"label-width": "auto",
|
||
"label-position": "right"
|
||
}, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_form_item, {
|
||
label: "是否删除(0否 1是)",
|
||
prop: "is_deleted",
|
||
required: false
|
||
}, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_input, {
|
||
modelValue: formData.is_deleted,
|
||
"onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => formData.is_deleted = $event),
|
||
placeholder: "请输入是否删除(0否 1是)"
|
||
}, null, 8, ["modelValue"])
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_form_item, {
|
||
label: "状态",
|
||
prop: "status",
|
||
required: true
|
||
}, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_radio_group, {
|
||
modelValue: formData.status,
|
||
"onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => formData.status = $event)
|
||
}, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_radio, { value: "0" }, {
|
||
default: withCtx(() => [..._cache[36] || (_cache[36] = [
|
||
createTextVNode("启用", -1)
|
||
])]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_radio, { value: "1" }, {
|
||
default: withCtx(() => [..._cache[37] || (_cache[37] = [
|
||
createTextVNode("停用", -1)
|
||
])]),
|
||
_: 1
|
||
})
|
||
]),
|
||
_: 1
|
||
}, 8, ["modelValue"])
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_form_item, {
|
||
label: "用户ID",
|
||
prop: "user_id",
|
||
required: false
|
||
}, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_input, {
|
||
modelValue: formData.user_id,
|
||
"onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => formData.user_id = $event),
|
||
placeholder: "请输入用户ID"
|
||
}, null, 8, ["modelValue"])
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_form_item, {
|
||
label: "反馈内容",
|
||
prop: "content",
|
||
required: false
|
||
}, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_input, {
|
||
modelValue: formData.content,
|
||
"onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => formData.content = $event),
|
||
placeholder: "请输入反馈内容"
|
||
}, null, 8, ["modelValue"])
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_form_item, {
|
||
label: "图片URL(多个用逗号分隔)",
|
||
prop: "images",
|
||
required: false
|
||
}, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_input, {
|
||
modelValue: formData.images,
|
||
"onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => formData.images = $event),
|
||
placeholder: "请输入图片URL(多个用逗号分隔)"
|
||
}, null, 8, ["modelValue"])
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_form_item, {
|
||
label: "联系方式",
|
||
prop: "contact",
|
||
required: false
|
||
}, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_input, {
|
||
modelValue: formData.contact,
|
||
"onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => formData.contact = $event),
|
||
placeholder: "请输入联系方式"
|
||
}, null, 8, ["modelValue"])
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_form_item, {
|
||
label: "反馈类型(suggestion:建议 bug:问题 complaint:投诉 other:其他)",
|
||
prop: "feedback_type",
|
||
required: false
|
||
}, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_input, {
|
||
modelValue: formData.feedback_type,
|
||
"onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => formData.feedback_type = $event),
|
||
placeholder: "请输入反馈类型(suggestion:建议 bug:问题 complaint:投诉 other:其他)"
|
||
}, null, 8, ["modelValue"])
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_form_item, {
|
||
label: "处理状态(0待处理 1处理中 2已处理 3已关闭)",
|
||
prop: "handle_status",
|
||
required: false
|
||
}, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_input, {
|
||
modelValue: formData.handle_status,
|
||
"onUpdate:modelValue": _cache[17] || (_cache[17] = ($event) => formData.handle_status = $event),
|
||
placeholder: "请输入处理状态(0待处理 1处理中 2已处理 3已关闭)"
|
||
}, null, 8, ["modelValue"])
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_form_item, {
|
||
label: "处理结果",
|
||
prop: "handle_result",
|
||
required: false
|
||
}, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_input, {
|
||
modelValue: formData.handle_result,
|
||
"onUpdate:modelValue": _cache[18] || (_cache[18] = ($event) => formData.handle_result = $event),
|
||
placeholder: "请输入处理结果"
|
||
}, null, 8, ["modelValue"])
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_form_item, {
|
||
label: "处理时间",
|
||
prop: "handle_time",
|
||
required: false
|
||
}, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_input, {
|
||
modelValue: formData.handle_time,
|
||
"onUpdate:modelValue": _cache[19] || (_cache[19] = ($event) => formData.handle_time = $event),
|
||
placeholder: "请输入处理时间"
|
||
}, null, 8, ["modelValue"])
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_form_item, {
|
||
label: "处理人ID",
|
||
prop: "handler_id",
|
||
required: false
|
||
}, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_input, {
|
||
modelValue: formData.handler_id,
|
||
"onUpdate:modelValue": _cache[20] || (_cache[20] = ($event) => formData.handler_id = $event),
|
||
placeholder: "请输入处理人ID"
|
||
}, null, 8, ["modelValue"])
|
||
]),
|
||
_: 1
|
||
}),
|
||
createVNode(_component_el_form_item, {
|
||
label: "备注",
|
||
prop: "remark",
|
||
required: false
|
||
}, {
|
||
default: withCtx(() => [
|
||
createVNode(_component_el_input, {
|
||
modelValue: formData.remark,
|
||
"onUpdate:modelValue": _cache[21] || (_cache[21] = ($event) => formData.remark = $event),
|
||
placeholder: "请输入备注"
|
||
}, null, 8, ["modelValue"])
|
||
]),
|
||
_: 1
|
||
})
|
||
]),
|
||
_: 1
|
||
}, 8, ["model", "rules"]))
|
||
]),
|
||
_: 1
|
||
}, 8, ["modelValue", "title"]),
|
||
createVNode(_sfc_main$1, {
|
||
modelValue: importDialogVisible.value,
|
||
"onUpdate:modelValue": _cache[23] || (_cache[23] = ($event) => importDialogVisible.value = $event),
|
||
"content-config": curdContentConfig,
|
||
onUpload: handleUpload
|
||
}, null, 8, ["modelValue"]),
|
||
createVNode(_sfc_main$2, {
|
||
modelValue: exportsDialogVisible.value,
|
||
"onUpdate:modelValue": _cache[24] || (_cache[24] = ($event) => exportsDialogVisible.value = $event),
|
||
"content-config": curdContentConfig,
|
||
"query-params": queryFormData,
|
||
"page-data": pageTableData.value,
|
||
"selection-data": selectionRows.value
|
||
}, null, 8, ["modelValue", "query-params", "page-data", "selection-data"])
|
||
]);
|
||
};
|
||
}
|
||
});
|
||
export {
|
||
_sfc_main as default
|
||
};
|