Forráskód Böngészése

综管发送消息增加部门选项

luoxiao 4 hónapja
szülő
commit
be478c4827
1 módosított fájl, 42 hozzáadás és 16 törlés
  1. 42 16
      src/views/messages/index.vue

+ 42 - 16
src/views/messages/index.vue

@@ -50,11 +50,19 @@ import { useDictionaryStore } from "@/store";
 import MultiUpload from "@/components/Upload/MultiUpload.vue";
 import FilesUpload from "@/components/Upload/FilesUpload.vue";
 import { sendMessage } from "@/api/message/index.ts";
+import { treeList } from "@/api/user/index";
 
 const userTableRef = ref(null);
 
 const photoUrlList = ref([]);
 const photoNameList = ref([]);
+const deptList = ref([]); //部门列表
+const getDeptList = async () => {
+  let res = await treeList();
+  if (res && res.code == 200) {
+    deptList.value = res.data ?? []; //获取部门列表
+  }
+};
 const photoChange = () => {
   if (photoUrlList.value.length > 0) {
     form.value.fileLists = [
@@ -85,22 +93,6 @@ const crudRef = ref(null); //crudRef.value 获取avue-crud对象
 const messageType = ref("");
 const route = useRoute();
 
-onMounted(() => {
-  search.value.messageId = "10";
-  search.value.type = messageType.value = route.params.type;
-
-  console.log(option.value.column);
-  option.value.column.forEach((item) => {
-    if (item.prop === "type") {
-      item.value = messageType.value;
-    }
-    if (item.prop === "receiveUsers") {
-      item.addDisplay = messageType.value === "2";
-    }
-  });
-  dataList();
-});
-
 const sendMsg = (row) => {
   sendMessage(row.id).then(() => {
     page.value.currentPage = 1;
@@ -185,6 +177,21 @@ option.value = Object.assign(option.value, {
       value: "10",
     },
     {
+      label: "发送部门",
+      prop: "deptIds",
+      type: "tree",
+      dicData: deptList, // 使用树形结构数据
+      props: {
+        label: "deptName", // 显示的字段
+        value: "id", // 传递给后端的字段
+        children: "children", // 子节点字段
+      },
+      multiple: true, // 支持多选
+      showCheckbox: true, // 显示复选框
+      search: true,
+      valueformat: "array", // 确保值是数组格式
+    },
+    {
       label: "消息内容",
       prop: "content",
       search: true,
@@ -230,4 +237,23 @@ const onSelectedFinish = (selectedRowIds) => {
   form.value.receiveUsers = selectedRowIds;
   console.log(selectedRowIds, form.value);
 };
+
+onMounted(() => {
+  search.value.messageId = "10";
+  search.value.type = messageType.value = route.params.type;
+
+  option.value.column.forEach((item) => {
+    if (item.prop === "type") {
+      item.value = messageType.value;
+    }
+    if (item.prop === "receiveUsers") {
+      item.addDisplay = messageType.value === "2";
+    }
+    if (item.prop === "deptIds") {
+      item.viewDisplay = false;
+    }
+  });
+  dataList();
+  getDeptList();
+});
 </script>