From 44823ee4f73793fa2d67a60aaf2f424866922b95 Mon Sep 17 00:00:00 2001
From: fangyuan <527392886@qq.com>
Date: 星期二, 29 十一月 2022 14:39:37 +0800
Subject: [PATCH] 146
---
src/views/operate/message/myIndex/update/index.vue | 86 ++++++++++++++++++++++--------------------
1 files changed, 45 insertions(+), 41 deletions(-)
diff --git a/src/views/operate/message/myIndex/update/index.vue b/src/views/operate/message/myIndex/update/index.vue
index bfea845..9b7265b 100644
--- a/src/views/operate/message/myIndex/update/index.vue
+++ b/src/views/operate/message/myIndex/update/index.vue
@@ -14,7 +14,7 @@
<el-form-item class="optionItem" label="鎻愰啋鏂瑰紡:" prop="channelCode">
<el-radio-group v-model="role.channelCode">
<el-radio label="01">绔欏唴淇�</el-radio>
- <el-radio label="02">閭欢</el-radio>
+ <el-radio label="03">閭欢</el-radio>
</el-radio-group>
<span class="message-tip">(鐭俊鍙敤鏁�: 1000鏉�)</span>
</el-form-item>
@@ -66,6 +66,7 @@
show-checkbox
@check="handleCheck"
default-expand-all
+ :default-checked-keys="checkedList"
node-key="id"
>
</el-tree>
@@ -75,7 +76,7 @@
</el-form-item>
<!-- 娑堟伅鍐呭 -->
<el-form-item class="optionItem" label="娑堟伅鍐呭:" prop="body">
- <MyEditor ref="edit" @getMyBody="getMyBody"></MyEditor>
+ <MyEditor ref="edit"></MyEditor>
</el-form-item>
<el-form-item>
<div class="optionBtn">
@@ -133,20 +134,26 @@
import MyEditor from "@/components/edit";
import MyColumnAdd from "@/views/operate/message/mycontrol/createUser";
import MyColView from "../messageView";
-import { sendMessage, updateMessage } from "@/api/operate/messageManagement";
+import { sendMessage, updateMessage, getMessageById } from "@/api/operate/messageManagement";
export default {
components: { MyEditor, MyColumnAdd, MyColView },
props: ["type", "myDataRow"],
data() {
+ const validateEditor = (rule, value, callback) => {
+ if (value) {
+ callback();
+ } else {
+ callback(new Error('璇疯緭鍏�'));
+ }
+ };
return {
role: {
- messageType: "",
+ messageType: null,
head: "",
targetTo: "",
- targetFrom: null,
body: "",
- channelCode: "01",
+ channelCode: null,
},
createRoleRules: {
messageType: [
@@ -163,8 +170,7 @@
body: [
{
required: true,
- trigger: ["blue", "change"],
- message: "璇疯緭鍏ユ秷鎭唴瀹�",
+ validator: validateEditor
},
],
},
@@ -187,8 +193,21 @@
this.getColumnList();
this.getDepartList();
this.getLoginUserInfo();
- if (this.type === "update" && this.myDataRow) {
- this.role = this.myDataRow;
+ if (this.type !== "create" && this.myDataRow) {
+ getMessageById(this.myDataRow.id)
+ .then(res => {
+ this.role = res;
+ if (res.targetTo) {
+ this.checkedList = res.targetTo.split(',');
+ this.role.targetTo = `${this.checkedList}浜篳;
+ }
+ })
+ .catch(err => this.$message.error(`${err}`))
+ }
+ },
+ mounted() {
+ if (this.type !== 'create') {
+ this.$refs.edit.editor.txt.append(this.myDataRow.body);
}
},
methods: {
@@ -203,7 +222,7 @@
async getColumnList() {
await this.$axios({
method: "get",
- url: "sccg/message_column/getAllColumn",
+ url: "sccg/message_column/getShowColumn",
}).then((res) => {
this.colList = res.data;
});
@@ -250,21 +269,18 @@
// 閫変腑id
handleCheck(data, node) {
- node.checkedNodes.forEach((item) => {
- if (!item.hasOwnProperty("departType")) {
- this.checkedList.push(item.id);
- this.tempNameArr.push(item.departName);
- }
- });
- this.role.targetTo = this.checkedList.length + "浜�";
+ const checkedNodes = node.checkedNodes.filter(item => !item.children);
+ this.checkedList = checkedNodes.map(item => item.id);
+ this.tempNameArr = checkedNodes.map(item => item.departName);
+ this.role.targetTo = this.checkedList.length ? this.checkedList.length + "浜�" : null;
},
// 鏂板缓/淇濆瓨娑堟伅(1:鏂板缓,0淇濆瓨娑堟伅)
handleSubmit(mystatus) {
+ this.role.body = this.$refs.edit.editor.txt.html();
this.$refs.user.validate((valid) => {
if (valid) {
- const { body, head, messageType, targetFrom, channelCode } =
- this.role;
+ const { body, head, messageType, channelCode } = this.role;
const params = {
body,
head,
@@ -272,9 +288,11 @@
channelCode: `${channelCode}`,
sendTime: new Date(),
targetTo: this.checkedList.join(","),
- targetFrom: `${targetFrom}`,
status: mystatus,
};
+ if (this.role.channelCode === '03') {
+ delete params.messageType;
+ }
if (this.type === "create") {
sendMessage(params)
.then(() => {
@@ -288,7 +306,7 @@
})
);
} else {
- updateMessage(params)
+ updateMessage({ id: this.myDataRow.id, ...params })
.then(() => {
this.$emit("closeMyDialog");
this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
@@ -306,15 +324,9 @@
});
},
- // 鑾峰緱娑堟伅浣�
- getMyBody(obj) {
- this.role.body = obj;
- },
-
// 閲嶇疆琛ㄥ崟
handleReset() {
this.$refs.edit.editor.txt.clear();
- this.setDepartList();
this.$refs.user.resetFields();
},
@@ -332,6 +344,7 @@
// 娑堟伅棰勮
handleView() {
+ this.role.body = this.$refs.edit.editor.txt.html();
this.$refs.user.validate((valid) => {
if (valid) {
const { body, head, channelCode } = this.role;
@@ -342,27 +355,18 @@
channelCode:
channelCode === "01"
? "绔欏唴淇�"
- : channelCode === "02"
+ : channelCode === "03"
? "閭欢"
: "鐭俊",
- messageType: this.getColText(this.role.messageType),
+ messageType: this.role.messageType,
targetTo: this.tempNameArr,
- targetFrom: this.sendUser,
+ targetFrom: this.sendUser
};
} else {
this.$message({ type: "warning", message: "璇锋鏌ュ繀濉」" });
}
});
- },
-
- // 鑾峰緱鏍忕洰娑堟伅
- getColText(id) {
- let str = "";
- this.colList.forEach((item) => {
- item.id === id ? (str = item.columnName) : "";
- });
- return str;
- },
+ }
},
};
</script>
--
Gitblit v1.8.0