upload project source code
This commit is contained in:
963
后端源码/yifan.action-ai.cn/index/js/index._Rs0xG0B.js
Normal file
963
后端源码/yifan.action-ai.cn/index/js/index._Rs0xG0B.js
Normal file
@@ -0,0 +1,963 @@
|
||||
import { x as ElFormItem, y as ElInput, aq as ElSelect, ar as ElOption, h as ElButton, t as ElLink, i as ElIcon, w as ElForm, U as ElRow, V as ElCol, m as ElDropdown, n as ElDropdownMenu, o as ElDropdownItem, 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, T as ElCard, a3 as ElDescriptions, a4 as ElDescriptionsItem, aH as ElTreeSelect, av as ElInputNumber, P as ElRadioGroup, Q as ElRadio, v as ElDialog, D as ElMessageBox } from "./element-plus.CkEW9frc.js";
|
||||
import { D as DatePicker } from "./index.Cu5O_6Z1.js";
|
||||
import { J as defineComponent, t as onMounted, aO as resolveComponent, aP as resolveDirective, S as openBlock, _ as createElementBlock, a1 as createBaseVNode, $ as createVNode, a0 as withCtx, o as unref, T as createBlock, z as isRef, a8 as createCommentVNode, a6 as withDirectives, a9 as createTextVNode, aa as toDisplayString, aw as withModifiers, H as Fragment, ay as renderList, r as ref, ak as reactive } from "./.pnpm.BW3P1y8f.js";
|
||||
import { D as DeptAPI } from "./dept.BQxPXXgN.js";
|
||||
import { f as useUserStore } from "./index.CMd5bD1r.js";
|
||||
import { f as formatTree } from "./common.ySZAMJjg.js";
|
||||
import { f as formatToDateTime } from "./dateUtil.SHphbRyf.js";
|
||||
import "./_plugin-vue_export-helper.1tPrXgE0.js";
|
||||
import "./codemirror.CvJAcn2d.js";
|
||||
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: "Dept",
|
||||
inheritAttrs: false
|
||||
},
|
||||
__name: "index",
|
||||
setup(__props) {
|
||||
const queryFormRef = ref();
|
||||
const dataFormRef = ref();
|
||||
const selectIds = ref([]);
|
||||
const loading = ref(false);
|
||||
const isExpand = ref(false);
|
||||
const isExpandable = ref(true);
|
||||
const pageTableData = ref([]);
|
||||
const deptOptions = ref([]);
|
||||
const tableColumns = ref([
|
||||
{ prop: "selection", label: "选择框", show: true },
|
||||
{ prop: "index", label: "序号", show: true },
|
||||
{ prop: "name", label: "部门名称", show: true },
|
||||
{ prop: "code", label: "部门编码", show: true },
|
||||
{ prop: "order", label: "排序", show: true },
|
||||
{ prop: "status", label: "状态", show: true },
|
||||
{ prop: "description", label: "描述", show: true },
|
||||
{ prop: "created_time", label: "创建时间", show: true },
|
||||
{ prop: "updated_time", label: "更新时间", show: true },
|
||||
{ prop: "operation", label: "操作", show: true }
|
||||
]);
|
||||
const detailFormData = ref({});
|
||||
const queryFormData = reactive({
|
||||
name: void 0,
|
||||
status: void 0,
|
||||
created_time: void 0
|
||||
});
|
||||
const formData = reactive({
|
||||
id: void 0,
|
||||
name: void 0,
|
||||
code: void 0,
|
||||
order: 1,
|
||||
parent_id: void 0,
|
||||
status: "0",
|
||||
description: void 0
|
||||
});
|
||||
const dialogVisible = reactive({
|
||||
title: "",
|
||||
visible: false,
|
||||
type: "create"
|
||||
});
|
||||
const rules = reactive({
|
||||
name: [{ required: true, message: "请输入部门名称", trigger: "blur" }],
|
||||
order: [{ required: true, message: "请输入排序", trigger: "blur" }],
|
||||
status: [{ required: true, message: "请选择状态", trigger: "blur" }]
|
||||
});
|
||||
async function handleRefresh() {
|
||||
loading.value = true;
|
||||
try {
|
||||
const response = await DeptAPI.listDept(queryFormData);
|
||||
pageTableData.value = response.data.data;
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
} finally {
|
||||
loading.value = false;
|
||||
}
|
||||
}
|
||||
async function loadingData() {
|
||||
loading.value = true;
|
||||
try {
|
||||
const response = await DeptAPI.listDept(queryFormData);
|
||||
pageTableData.value = response.data.data;
|
||||
deptOptions.value = formatTree(response.data.data);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
} finally {
|
||||
loading.value = false;
|
||||
}
|
||||
}
|
||||
async function handleQuery() {
|
||||
loadingData();
|
||||
}
|
||||
async function handleResetQuery() {
|
||||
queryFormRef.value.resetFields();
|
||||
dateRange.value = [];
|
||||
queryFormData.created_time = void 0;
|
||||
loadingData();
|
||||
}
|
||||
const initialFormData = {
|
||||
id: void 0,
|
||||
name: void 0,
|
||||
order: 1,
|
||||
parent_id: void 0,
|
||||
status: "0",
|
||||
description: void 0
|
||||
};
|
||||
const dateRange = ref([]);
|
||||
function handleDateRangeChange(range) {
|
||||
dateRange.value = range;
|
||||
if (range && range.length === 2) {
|
||||
queryFormData.created_time = [formatToDateTime(range[0]), formatToDateTime(range[1])];
|
||||
} else {
|
||||
queryFormData.created_time = 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);
|
||||
}
|
||||
const selectedDeptId = ref();
|
||||
async function handleRowClick(row) {
|
||||
selectedDeptId.value = row.id;
|
||||
}
|
||||
async function handleCloseDialog() {
|
||||
dialogVisible.visible = false;
|
||||
resetForm();
|
||||
}
|
||||
async function handleOpenDialog(type, id, parentId) {
|
||||
dialogVisible.type = type;
|
||||
if (id) {
|
||||
const response = await DeptAPI.detailDept(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 = "新增部门";
|
||||
formData.id = void 0;
|
||||
if (parentId) {
|
||||
formData.parent_id = parentId;
|
||||
}
|
||||
}
|
||||
dialogVisible.visible = true;
|
||||
}
|
||||
async function handleSubmit() {
|
||||
dataFormRef.value.validate(async (valid) => {
|
||||
if (valid) {
|
||||
loading.value = true;
|
||||
const id = formData.id;
|
||||
try {
|
||||
if (id) {
|
||||
await DeptAPI.updateDept(id, { id, ...formData });
|
||||
} else {
|
||||
await DeptAPI.createDept(formData);
|
||||
}
|
||||
dialogVisible.visible = false;
|
||||
resetForm();
|
||||
handleResetQuery();
|
||||
const userStore = useUserStore();
|
||||
await userStore.getUserInfo();
|
||||
} 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 DeptAPI.deleteDept(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 DeptAPI.batchDept({ ids: selectIds.value, status });
|
||||
handleResetQuery();
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
} finally {
|
||||
loading.value = false;
|
||||
}
|
||||
}).catch(() => {
|
||||
ElMessageBox.close();
|
||||
});
|
||||
}
|
||||
}
|
||||
onMounted(() => {
|
||||
loadingData();
|
||||
});
|
||||
return (_ctx, _cache) => {
|
||||
const _component_el_input = ElInput;
|
||||
const _component_el_form_item = ElFormItem;
|
||||
const _component_el_option = ElOption;
|
||||
const _component_el_select = ElSelect;
|
||||
const _component_DatePicker = DatePicker;
|
||||
const _component_el_button = ElButton;
|
||||
const _component_ArrowUp = resolveComponent("ArrowUp");
|
||||
const _component_ArrowDown = resolveComponent("ArrowDown");
|
||||
const _component_el_icon = ElIcon;
|
||||
const _component_el_link = ElLink;
|
||||
const _component_el_form = ElForm;
|
||||
const _component_QuestionFilled = resolveComponent("QuestionFilled");
|
||||
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_el_card = ElCard;
|
||||
const _component_el_descriptions_item = ElDescriptionsItem;
|
||||
const _component_el_descriptions = ElDescriptions;
|
||||
const _component_el_tree_select = ElTreeSelect;
|
||||
const _component_el_input_number = ElInputNumber;
|
||||
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, [
|
||||
createBaseVNode("div", _hoisted_2, [
|
||||
createVNode(_component_el_form, {
|
||||
ref_key: "queryFormRef",
|
||||
ref: queryFormRef,
|
||||
model: unref(queryFormData),
|
||||
inline: true,
|
||||
"label-suffix": ":",
|
||||
onSubmit: withModifiers(handleQuery, ["prevent"])
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_el_form_item, {
|
||||
prop: "name",
|
||||
label: "部门名称"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_el_input, {
|
||||
modelValue: unref(queryFormData).name,
|
||||
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(queryFormData).name = $event),
|
||||
placeholder: "请输入部门名称",
|
||||
clearable: ""
|
||||
}, null, 8, ["modelValue"])
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_el_form_item, {
|
||||
prop: "status",
|
||||
label: "状态"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_el_select, {
|
||||
modelValue: unref(queryFormData).status,
|
||||
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => unref(queryFormData).status = $event),
|
||||
placeholder: "请选择状态",
|
||||
style: { "width": "167.5px" },
|
||||
clearable: ""
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_el_option, {
|
||||
value: "0",
|
||||
label: "启用"
|
||||
}),
|
||||
createVNode(_component_el_option, {
|
||||
value: "1",
|
||||
label: "停用"
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
}, 8, ["modelValue"])
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
unref(isExpand) ? (openBlock(), createBlock(_component_el_form_item, {
|
||||
key: 0,
|
||||
prop: "start_time",
|
||||
label: "创建时间"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_DatePicker, {
|
||||
modelValue: unref(dateRange),
|
||||
"onUpdate:modelValue": [
|
||||
_cache[2] || (_cache[2] = ($event) => isRef(dateRange) ? dateRange.value = $event : null),
|
||||
handleDateRangeChange
|
||||
]
|
||||
}, null, 8, ["modelValue"])
|
||||
]),
|
||||
_: 1
|
||||
})) : createCommentVNode("", true),
|
||||
createVNode(_component_el_form_item, { class: "search-buttons" }, {
|
||||
default: withCtx(() => [
|
||||
withDirectives((openBlock(), createBlock(_component_el_button, {
|
||||
type: "primary",
|
||||
icon: "search",
|
||||
"native-type": "submit"
|
||||
}, {
|
||||
default: withCtx(() => [..._cache[15] || (_cache[15] = [
|
||||
createTextVNode(" 查询 ", -1)
|
||||
])]),
|
||||
_: 1
|
||||
})), [
|
||||
[_directive_hasPerm, ["module_system:dept:query"]]
|
||||
]),
|
||||
withDirectives((openBlock(), createBlock(_component_el_button, {
|
||||
icon: "refresh",
|
||||
onClick: handleResetQuery
|
||||
}, {
|
||||
default: withCtx(() => [..._cache[16] || (_cache[16] = [
|
||||
createTextVNode(" 重置 ", -1)
|
||||
])]),
|
||||
_: 1
|
||||
})), [
|
||||
[_directive_hasPerm, ["module_system:dept:query"]]
|
||||
]),
|
||||
unref(isExpandable) ? (openBlock(), createBlock(_component_el_link, {
|
||||
key: 0,
|
||||
class: "ml-3",
|
||||
type: "primary",
|
||||
underline: "never",
|
||||
onClick: _cache[3] || (_cache[3] = ($event) => isExpand.value = !unref(isExpand))
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(unref(isExpand) ? "收起" : "展开") + " ", 1),
|
||||
createVNode(_component_el_icon, null, {
|
||||
default: withCtx(() => [
|
||||
unref(isExpand) ? (openBlock(), createBlock(_component_ArrowUp, { key: 0 })) : (openBlock(), createBlock(_component_ArrowDown, { key: 1 }))
|
||||
]),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
})) : createCommentVNode("", true)
|
||||
]),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
}, 8, ["model"])
|
||||
]),
|
||||
createVNode(_component_el_card, { class: "data-table" }, {
|
||||
header: withCtx(() => [
|
||||
createBaseVNode("div", _hoisted_3, [
|
||||
createBaseVNode("span", null, [
|
||||
createVNode(_component_el_tooltip, { content: "部门管理维护部门信息。" }, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_QuestionFilled, { class: "w-4 h-4 mx-1" })
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
_cache[17] || (_cache[17] = createTextVNode(" 部门列表 ", -1))
|
||||
])
|
||||
])
|
||||
]),
|
||||
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[4] || (_cache[4] = ($event) => handleOpenDialog("create"))
|
||||
}, {
|
||||
default: withCtx(() => [..._cache[18] || (_cache[18] = [
|
||||
createTextVNode(" 新增 ", -1)
|
||||
])]),
|
||||
_: 1
|
||||
})), [
|
||||
[_directive_hasPerm, ["module_system:dept:create"]]
|
||||
])
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_el_col, { span: 1.5 }, {
|
||||
default: withCtx(() => [
|
||||
withDirectives((openBlock(), createBlock(_component_el_button, {
|
||||
type: "danger",
|
||||
icon: "delete",
|
||||
disabled: unref(selectIds).length === 0,
|
||||
onClick: _cache[5] || (_cache[5] = ($event) => handleDelete(unref(selectIds)))
|
||||
}, {
|
||||
default: withCtx(() => [..._cache[19] || (_cache[19] = [
|
||||
createTextVNode(" 批量删除 ", -1)
|
||||
])]),
|
||||
_: 1
|
||||
}, 8, ["disabled"])), [
|
||||
[_directive_hasPerm, ["module_system:dept: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: "Check",
|
||||
onClick: _cache[6] || (_cache[6] = ($event) => handleMoreClick("0"))
|
||||
}, {
|
||||
default: withCtx(() => [..._cache[21] || (_cache[21] = [
|
||||
createTextVNode(" 批量启用 ", -1)
|
||||
])]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_el_dropdown_item, {
|
||||
icon: "CircleClose",
|
||||
onClick: _cache[7] || (_cache[7] = ($event) => handleMoreClick("1"))
|
||||
}, {
|
||||
default: withCtx(() => [..._cache[22] || (_cache[22] = [
|
||||
createTextVNode(" 批量停用 ", -1)
|
||||
])]),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_el_button, {
|
||||
type: "default",
|
||||
disabled: unref(selectIds).length === 0,
|
||||
icon: "ArrowDown"
|
||||
}, {
|
||||
default: withCtx(() => [..._cache[20] || (_cache[20] = [
|
||||
createTextVNode(" 更多 ", -1)
|
||||
])]),
|
||||
_: 1
|
||||
}, 8, ["disabled"])
|
||||
]),
|
||||
_: 1
|
||||
})), [
|
||||
[_directive_hasPerm, ["module_system:dept:patch"]]
|
||||
])
|
||||
]),
|
||||
_: 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(() => [
|
||||
createVNode(_component_el_button, {
|
||||
type: "primary",
|
||||
icon: "refresh",
|
||||
circle: "",
|
||||
onClick: handleRefresh
|
||||
})
|
||||
]),
|
||||
_: 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(unref(tableColumns), (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: "dataTableRef",
|
||||
"row-key": "id",
|
||||
data: unref(pageTableData),
|
||||
"tree-props": { children: "children", hasChildren: "hasChildren" },
|
||||
class: "data-table__content",
|
||||
height: "600",
|
||||
"max-height": "600",
|
||||
border: "",
|
||||
stripe: "",
|
||||
onSelectionChange: handleSelectionChange,
|
||||
onRowClick: handleRowClick
|
||||
}, {
|
||||
empty: withCtx(() => [
|
||||
createVNode(_component_el_empty, {
|
||||
"image-size": 80,
|
||||
description: "暂无数据"
|
||||
})
|
||||
]),
|
||||
default: withCtx(() => {
|
||||
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
||||
return [
|
||||
((_a = unref(tableColumns).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 = unref(tableColumns).find((col) => col.prop === "index")) == null ? void 0 : _b.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||||
key: 1,
|
||||
type: "index",
|
||||
fixed: "",
|
||||
label: "序号",
|
||||
"min-width": "60"
|
||||
})) : createCommentVNode("", true),
|
||||
((_c = unref(tableColumns).find((col) => col.prop === "name")) == null ? void 0 : _c.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||||
key: "name",
|
||||
label: "部门名称",
|
||||
prop: "name",
|
||||
"min-width": "120"
|
||||
})) : createCommentVNode("", true),
|
||||
((_d = unref(tableColumns).find((col) => col.prop === "code")) == null ? void 0 : _d.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||||
key: "code",
|
||||
label: "部门编码",
|
||||
prop: "code",
|
||||
"min-width": "120"
|
||||
})) : createCommentVNode("", true),
|
||||
_cache[27] || (_cache[27] = createTextVNode(" ') ", -1)),
|
||||
((_e = unref(tableColumns).find((col) => col.prop === "status")) == null ? void 0 : _e.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||||
key: "status",
|
||||
label: "状态",
|
||||
prop: "status",
|
||||
"min-width": "60"
|
||||
}, {
|
||||
default: withCtx((scope) => [
|
||||
createVNode(_component_el_tag, {
|
||||
type: scope.row.status === "0" ? "success" : "danger"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(scope.row.status ? "启用" : "停用"), 1)
|
||||
]),
|
||||
_: 2
|
||||
}, 1032, ["type"])
|
||||
]),
|
||||
_: 1
|
||||
})) : createCommentVNode("", true),
|
||||
((_f = unref(tableColumns).find((col) => col.prop === "order")) == null ? void 0 : _f.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||||
key: "order",
|
||||
label: "排序",
|
||||
prop: "order",
|
||||
"min-width": "60",
|
||||
"show-overflow-tooltip": ""
|
||||
})) : createCommentVNode("", true),
|
||||
((_g = unref(tableColumns).find((col) => col.prop === "description")) == null ? void 0 : _g.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||||
key: "description",
|
||||
label: "描述",
|
||||
prop: "description",
|
||||
"min-width": "100"
|
||||
})) : createCommentVNode("", true),
|
||||
((_h = unref(tableColumns).find((col) => col.prop === "created_time")) == null ? void 0 : _h.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||||
key: "created_time",
|
||||
label: "创建时间",
|
||||
prop: "created_time",
|
||||
"min-width": "120",
|
||||
sortable: ""
|
||||
})) : createCommentVNode("", true),
|
||||
((_i = unref(tableColumns).find((col) => col.prop === "updated_time")) == null ? void 0 : _i.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||||
key: "updated_time",
|
||||
label: "更新时间",
|
||||
prop: "updated_time",
|
||||
"min-width": "120",
|
||||
sortable: ""
|
||||
})) : createCommentVNode("", true),
|
||||
((_j = unref(tableColumns).find((col) => col.prop === "operation")) == null ? void 0 : _j.show) ? (openBlock(), createBlock(_component_el_table_column, {
|
||||
key: 9,
|
||||
fixed: "right",
|
||||
label: "操作",
|
||||
align: "center",
|
||||
"min-width": "200"
|
||||
}, {
|
||||
default: withCtx((scope) => [
|
||||
withDirectives((openBlock(), createBlock(_component_el_button, {
|
||||
type: "success",
|
||||
size: "small",
|
||||
link: "",
|
||||
icon: "plus",
|
||||
onClick: ($event) => handleOpenDialog("create", void 0, scope.row.id)
|
||||
}, {
|
||||
default: withCtx(() => [..._cache[23] || (_cache[23] = [
|
||||
createTextVNode(" 新增 ", -1)
|
||||
])]),
|
||||
_: 1
|
||||
}, 8, ["onClick"])), [
|
||||
[_directive_hasPerm, ["module_system:dept:create"]]
|
||||
]),
|
||||
withDirectives((openBlock(), createBlock(_component_el_button, {
|
||||
type: "info",
|
||||
size: "small",
|
||||
link: "",
|
||||
icon: "document",
|
||||
onClick: ($event) => handleOpenDialog("detail", scope.row.id)
|
||||
}, {
|
||||
default: withCtx(() => [..._cache[24] || (_cache[24] = [
|
||||
createTextVNode(" 详情 ", -1)
|
||||
])]),
|
||||
_: 1
|
||||
}, 8, ["onClick"])), [
|
||||
[_directive_hasPerm, ["module_system:dept:detail"]]
|
||||
]),
|
||||
withDirectives((openBlock(), createBlock(_component_el_button, {
|
||||
type: "primary",
|
||||
size: "small",
|
||||
link: "",
|
||||
icon: "edit",
|
||||
onClick: ($event) => handleOpenDialog("update", scope.row.id)
|
||||
}, {
|
||||
default: withCtx(() => [..._cache[25] || (_cache[25] = [
|
||||
createTextVNode(" 编辑 ", -1)
|
||||
])]),
|
||||
_: 1
|
||||
}, 8, ["onClick"])), [
|
||||
[_directive_hasPerm, ["module_system:dept:update"]]
|
||||
]),
|
||||
withDirectives((openBlock(), createBlock(_component_el_button, {
|
||||
type: "danger",
|
||||
size: "small",
|
||||
link: "",
|
||||
icon: "delete",
|
||||
onClick: ($event) => handleDelete([scope.row.id])
|
||||
}, {
|
||||
default: withCtx(() => [..._cache[26] || (_cache[26] = [
|
||||
createTextVNode(" 删除 ", -1)
|
||||
])]),
|
||||
_: 1
|
||||
}, 8, ["onClick"])), [
|
||||
[_directive_hasPerm, ["module_system:dept:delete"]]
|
||||
])
|
||||
]),
|
||||
_: 1
|
||||
})) : createCommentVNode("", true)
|
||||
];
|
||||
}),
|
||||
_: 1
|
||||
}, 8, ["data"])), [
|
||||
[_directive_loading, unref(loading)]
|
||||
])
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_el_dialog, {
|
||||
modelValue: unref(dialogVisible).visible,
|
||||
"onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => unref(dialogVisible).visible = $event),
|
||||
title: unref(dialogVisible).title,
|
||||
onClose: handleCloseDialog
|
||||
}, {
|
||||
footer: withCtx(() => [
|
||||
createBaseVNode("div", _hoisted_7, [
|
||||
unref(dialogVisible).type !== "detail" ? (openBlock(), createBlock(_component_el_button, {
|
||||
key: 0,
|
||||
type: "primary",
|
||||
onClick: handleSubmit
|
||||
}, {
|
||||
default: withCtx(() => [..._cache[30] || (_cache[30] = [
|
||||
createTextVNode(" 确定 ", -1)
|
||||
])]),
|
||||
_: 1
|
||||
})) : (openBlock(), createBlock(_component_el_button, {
|
||||
key: 1,
|
||||
type: "primary",
|
||||
onClick: handleCloseDialog
|
||||
}, {
|
||||
default: withCtx(() => [..._cache[31] || (_cache[31] = [
|
||||
createTextVNode("确定", -1)
|
||||
])]),
|
||||
_: 1
|
||||
})),
|
||||
createVNode(_component_el_button, { onClick: handleCloseDialog }, {
|
||||
default: withCtx(() => [..._cache[32] || (_cache[32] = [
|
||||
createTextVNode("取消", -1)
|
||||
])]),
|
||||
_: 1
|
||||
})
|
||||
])
|
||||
]),
|
||||
default: withCtx(() => [
|
||||
unref(dialogVisible).type === "detail" ? (openBlock(), createBlock(_component_el_descriptions, {
|
||||
key: 0,
|
||||
column: 4,
|
||||
border: ""
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_el_descriptions_item, {
|
||||
label: "部门名称",
|
||||
span: 2
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(unref(detailFormData).name), 1)
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_el_descriptions_item, {
|
||||
label: "部门编码",
|
||||
span: 2
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(unref(detailFormData).code), 1)
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_el_descriptions_item, {
|
||||
label: "上级部门",
|
||||
span: 2
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(unref(detailFormData).parent_name), 1)
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_el_descriptions_item, {
|
||||
label: "状态",
|
||||
span: 2
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_el_tag, {
|
||||
type: unref(detailFormData).status ? "success" : "danger"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(unref(detailFormData).status ? "启用" : "停用"), 1)
|
||||
]),
|
||||
_: 1
|
||||
}, 8, ["type"])
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_el_descriptions_item, {
|
||||
label: "排序",
|
||||
span: 2
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(unref(detailFormData).order), 1)
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_el_descriptions_item, {
|
||||
label: "创建时间",
|
||||
span: 2
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(unref(detailFormData).created_time), 1)
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_el_descriptions_item, {
|
||||
label: "更新时间",
|
||||
span: 2
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(unref(detailFormData).updated_time), 1)
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_el_descriptions_item, {
|
||||
label: "描述",
|
||||
span: 4
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(unref(detailFormData).description), 1)
|
||||
]),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
})) : (openBlock(), createBlock(_component_el_form, {
|
||||
key: 1,
|
||||
ref_key: "dataFormRef",
|
||||
ref: dataFormRef,
|
||||
model: unref(formData),
|
||||
rules: unref(rules),
|
||||
"label-suffix": ":",
|
||||
"label-width": "auto",
|
||||
"label-position": "right"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_el_form_item, {
|
||||
label: "部门名称",
|
||||
prop: "name"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_el_input, {
|
||||
modelValue: unref(formData).name,
|
||||
"onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => unref(formData).name = $event),
|
||||
placeholder: "请输入部门名称",
|
||||
maxlength: 50
|
||||
}, null, 8, ["modelValue"])
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_el_form_item, {
|
||||
label: "部门编码",
|
||||
prop: "code"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_el_input, {
|
||||
modelValue: unref(formData).code,
|
||||
"onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => unref(formData).code = $event),
|
||||
placeholder: "请输入部门编码",
|
||||
maxlength: 50
|
||||
}, null, 8, ["modelValue"])
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_el_form_item, {
|
||||
label: "上级部门",
|
||||
prop: "parent_id"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_el_tree_select, {
|
||||
modelValue: unref(formData).parent_id,
|
||||
"onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => unref(formData).parent_id = $event),
|
||||
placeholder: "请选择上级部门",
|
||||
data: unref(deptOptions),
|
||||
filterable: "",
|
||||
"check-strictly": "",
|
||||
"render-after-expand": false
|
||||
}, null, 8, ["modelValue", "data"])
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_el_form_item, {
|
||||
label: "排序",
|
||||
prop: "order"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_el_input_number, {
|
||||
modelValue: unref(formData).order,
|
||||
"onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => unref(formData).order = $event),
|
||||
"controls-position": "right",
|
||||
min: 1,
|
||||
max: 999
|
||||
}, null, 8, ["modelValue"])
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_el_form_item, {
|
||||
label: "状态",
|
||||
prop: "status"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_el_radio_group, {
|
||||
modelValue: unref(formData).status,
|
||||
"onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => unref(formData).status = $event)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_el_radio, { value: "0" }, {
|
||||
default: withCtx(() => [..._cache[28] || (_cache[28] = [
|
||||
createTextVNode("启用", -1)
|
||||
])]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_el_radio, { value: "1" }, {
|
||||
default: withCtx(() => [..._cache[29] || (_cache[29] = [
|
||||
createTextVNode("停用", -1)
|
||||
])]),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
}, 8, ["modelValue"])
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_el_form_item, {
|
||||
label: "描述",
|
||||
prop: "description"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_el_input, {
|
||||
modelValue: unref(formData).description,
|
||||
"onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => unref(formData).description = $event),
|
||||
rows: 4,
|
||||
maxlength: 100,
|
||||
"show-word-limit": "",
|
||||
type: "textarea",
|
||||
placeholder: "请输入描述"
|
||||
}, null, 8, ["modelValue"])
|
||||
]),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
}, 8, ["model", "rules"]))
|
||||
]),
|
||||
_: 1
|
||||
}, 8, ["modelValue", "title"])
|
||||
]);
|
||||
};
|
||||
}
|
||||
});
|
||||
export {
|
||||
_sfc_main as default
|
||||
};
|
||||
Reference in New Issue
Block a user