|
@@ -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>
|