From 1c16c1fc8904b917c5f0fee3f82845d9e26d29f9 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期一, 26 五月 2025 13:46:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev
---
src/views/system/dept/index.vue | 176 +++++++++++++++++++++++++++-------------------------------
1 files changed, 83 insertions(+), 93 deletions(-)
diff --git a/src/views/system/dept/index.vue b/src/views/system/dept/index.vue
index ef63bd8..5eb99cd 100644
--- a/src/views/system/dept/index.vue
+++ b/src/views/system/dept/index.vue
@@ -6,12 +6,12 @@
v-model="queryParams.deptName"
placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�"
clearable
- size="small"
+ style="width: 200px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="鐘舵��" prop="status">
- <el-select v-model="queryParams.status" placeholder="閮ㄩ棬鐘舵��" clearable size="small">
+ <el-select v-model="queryParams.status" placeholder="閮ㄩ棬鐘舵��" clearable style="width: 200px">
<el-option
v-for="dict in sys_normal_disable"
:key="dict.value"
@@ -21,8 +21,8 @@
</el-select>
</el-form-item>
<el-form-item>
- <el-button type="primary" icon="Search" size="mini" @click="handleQuery">鎼滅储</el-button>
- <el-button icon="Refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+ <el-button type="primary" icon="Search" @click="handleQuery">鎼滅储</el-button>
+ <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button>
</el-form-item>
</el-form>
@@ -32,7 +32,6 @@
type="primary"
plain
icon="Plus"
- size="mini"
@click="handleAdd"
v-hasPermi="['system:dept:add']"
>鏂板</el-button>
@@ -42,7 +41,6 @@
type="info"
plain
icon="Sort"
- size="mini"
@click="toggleExpandAll"
>灞曞紑/鎶樺彔</el-button>
</el-col>
@@ -71,28 +69,9 @@
</el-table-column>
<el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
<template #default="scope">
- <el-button
- size="mini"
- type="text"
- icon="Edit"
- @click="handleUpdate(scope.row)"
- v-hasPermi="['system:dept:edit']"
- >淇敼</el-button>
- <el-button
- size="mini"
- type="text"
- icon="Plus"
- @click="handleAdd(scope.row)"
- v-hasPermi="['system:dept:add']"
- >鏂板</el-button>
- <el-button
- v-if="scope.row.parentId != 0"
- size="mini"
- type="text"
- icon="Delete"
- @click="handleDelete(scope.row)"
- v-hasPermi="['system:dept:remove']"
- >鍒犻櫎</el-button>
+ <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:dept:edit']">淇敼</el-button>
+ <el-button link type="primary" icon="Plus" @click="handleAdd(scope.row)" v-hasPermi="['system:dept:add']">鏂板</el-button>
+ <el-button v-if="scope.row.parentId != 0" link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['system:dept:remove']">鍒犻櫎</el-button>
</template>
</el-table-column>
</el-table>
@@ -103,11 +82,13 @@
<el-row>
<el-col :span="24" v-if="form.parentId !== 0">
<el-form-item label="涓婄骇閮ㄩ棬" prop="parentId">
- <tree-select
- v-model:value="form.parentId"
- :options="deptOptions"
- :objMap="{ value: 'deptId', label: 'deptName', children: 'children' }"
+ <el-tree-select
+ v-model="form.parentId"
+ :data="deptOptions"
+ :props="{ value: 'deptId', label: 'deptName', children: 'children' }"
+ value-key="deptId"
placeholder="閫夋嫨涓婄骇閮ㄩ棬"
+ check-strictly
/>
</el-form-item>
</el-col>
@@ -142,7 +123,7 @@
<el-radio
v-for="dict in sys_normal_disable"
:key="dict.value"
- :label="dict.value"
+ :value="dict.value"
>{{ dict.label }}</el-radio>
</el-radio-group>
</el-form-item>
@@ -160,19 +141,19 @@
</template>
<script setup name="Dept">
-import { listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild } from "@/api/system/dept";
+import { listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild } from "@/api/system/dept"
-const { proxy } = getCurrentInstance();
-const { sys_normal_disable } = proxy.useDict("sys_normal_disable");
+const { proxy } = getCurrentInstance()
+const { sys_normal_disable } = proxy.useDict("sys_normal_disable")
-const deptList = ref([]);
-const open = ref(false);
-const loading = ref(true);
-const showSearch = ref(true);
-const title = ref("");
-const deptOptions = ref([]);
-const isExpandAll = ref(true);
-const refreshTable = ref(true);
+const deptList = ref([])
+const open = ref(false)
+const loading = ref(true)
+const showSearch = ref(true)
+const title = ref("")
+const deptOptions = ref([])
+const isExpandAll = ref(true)
+const refreshTable = ref(true)
const data = reactive({
form: {},
@@ -184,26 +165,28 @@
parentId: [{ required: true, message: "涓婄骇閮ㄩ棬涓嶈兘涓虹┖", trigger: "blur" }],
deptName: [{ required: true, message: "閮ㄩ棬鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }],
orderNum: [{ required: true, message: "鏄剧ず鎺掑簭涓嶈兘涓虹┖", trigger: "blur" }],
- email: [{ type: "email", message: "'璇疯緭鍏ユ纭殑閭鍦板潃", trigger: ["blur", "change"] }],
+ email: [{ type: "email", message: "璇疯緭鍏ユ纭殑閭鍦板潃", trigger: ["blur", "change"] }],
phone: [{ pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", trigger: "blur" }]
},
-});
+})
-const { queryParams, form, rules } = toRefs(data);
+const { queryParams, form, rules } = toRefs(data)
/** 鏌ヨ閮ㄩ棬鍒楄〃 */
function getList() {
- loading.value = true;
+ loading.value = true
listDept(queryParams.value).then(response => {
- deptList.value = proxy.handleTree(response.data, "deptId");
- loading.value = false;
- });
+ deptList.value = proxy.handleTree(response.data, "deptId")
+ loading.value = false
+ })
}
+
/** 鍙栨秷鎸夐挳 */
function cancel() {
- open.value = false;
- reset();
+ open.value = false
+ reset()
}
+
/** 琛ㄥ崟閲嶇疆 */
function reset() {
form.value = {
@@ -215,79 +198,86 @@
phone: undefined,
email: undefined,
status: "0"
- };
- proxy.resetForm("deptRef");
+ }
+ proxy.resetForm("deptRef")
}
+
/** 鎼滅储鎸夐挳鎿嶄綔 */
function handleQuery() {
- getList();
+ getList()
}
+
/** 閲嶇疆鎸夐挳鎿嶄綔 */
function resetQuery() {
- proxy.resetForm("queryRef");
- handleQuery();
+ proxy.resetForm("queryRef")
+ handleQuery()
}
+
/** 鏂板鎸夐挳鎿嶄綔 */
-async function handleAdd(row) {
- reset();
- await listDept().then(response => {
- deptOptions.value = proxy.handleTree(response.data, "deptId");
- });
+function handleAdd(row) {
+ reset()
+ listDept().then(response => {
+ deptOptions.value = proxy.handleTree(response.data, "deptId")
+ })
if (row != undefined) {
- form.value.parentId = row.deptId;
+ form.value.parentId = row.deptId
}
- open.value = true;
- title.value = "娣诲姞閮ㄩ棬";
+ open.value = true
+ title.value = "娣诲姞閮ㄩ棬"
}
+
/** 灞曞紑/鎶樺彔鎿嶄綔 */
function toggleExpandAll() {
- refreshTable.value = false;
- isExpandAll.value = !isExpandAll.value;
+ refreshTable.value = false
+ isExpandAll.value = !isExpandAll.value
nextTick(() => {
- refreshTable.value = true;
- });
+ refreshTable.value = true
+ })
}
+
/** 淇敼鎸夐挳鎿嶄綔 */
-async function handleUpdate(row) {
- reset();
- await listDeptExcludeChild(row.deptId).then(response => {
- deptOptions.value = proxy.handleTree(response.data, "deptId");
- });
+function handleUpdate(row) {
+ reset()
+ listDeptExcludeChild(row.deptId).then(response => {
+ deptOptions.value = proxy.handleTree(response.data, "deptId")
+ })
getDept(row.deptId).then(response => {
- form.value = response.data;
- open.value = true;
- title.value = "淇敼閮ㄩ棬";
- });
+ form.value = response.data
+ open.value = true
+ title.value = "淇敼閮ㄩ棬"
+ })
}
+
/** 鎻愪氦鎸夐挳 */
function submitForm() {
proxy.$refs["deptRef"].validate(valid => {
if (valid) {
if (form.value.deptId != undefined) {
updateDept(form.value).then(response => {
- proxy.$modal.msgSuccess("淇敼鎴愬姛");
- open.value = false;
- getList();
- });
+ proxy.$modal.msgSuccess("淇敼鎴愬姛")
+ open.value = false
+ getList()
+ })
} else {
addDept(form.value).then(response => {
- proxy.$modal.msgSuccess("鏂板鎴愬姛");
- open.value = false;
- getList();
- });
+ proxy.$modal.msgSuccess("鏂板鎴愬姛")
+ open.value = false
+ getList()
+ })
}
}
- });
+ })
}
+
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
function handleDelete(row) {
proxy.$modal.confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.deptName + '"鐨勬暟鎹」?').then(function() {
- return delDept(row.deptId);
+ return delDept(row.deptId)
}).then(() => {
- getList();
- proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- }).catch(() => {});
+ getList()
+ proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛")
+ }).catch(() => {})
}
-getList();
+getList()
</script>
--
Gitblit v1.9.3