|
@@ -0,0 +1,106 @@
|
|
|
+<template>
|
|
|
+ <el-dialog
|
|
|
+ v-dialogdrag
|
|
|
+ title="发送通知"
|
|
|
+ :visible.sync="visible"
|
|
|
+ append-to-body
|
|
|
+ width="45%"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ :destroy-on-close="true"
|
|
|
+ :close-on-press-escape="false"
|
|
|
+ :before-close="closeDialog"
|
|
|
+ >
|
|
|
+ <el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
|
+ <el-form-item label="接受者" prop="toUserId">
|
|
|
+ <el-select
|
|
|
+ v-model="form.toUserId"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ size="small"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in userOption"
|
|
|
+ :key="index"
|
|
|
+ :label="item.realName"
|
|
|
+ :value="item.id"
|
|
|
+ @change="getUserName"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="发送内容" prop="messageBody">
|
|
|
+ <el-input type="textarea" v-model="form.messageBody" size="small" placeholder="请输入发送内容"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button type="primary" @click="sendHandle">发送</el-button>
|
|
|
+ <el-button @click="closeDialog">取消</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import { getList } from "@/api/system/user";
|
|
|
+import { sendMessage } from "@/api/basicData/message"
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: "main",
|
|
|
+ props: {},
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ visible: false,
|
|
|
+ form: {},
|
|
|
+ userOption: [],
|
|
|
+ rules: {
|
|
|
+ toUserId: [{required: true, message: " ", trigger: "change"}],
|
|
|
+ messageBody: [{required: true, message: " ", trigger: "blur"}],
|
|
|
+ },
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ getList().then(res => {
|
|
|
+ this.userOption = res.data.data.records;
|
|
|
+ })
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // 打开
|
|
|
+ init() {
|
|
|
+ this.visible = true;
|
|
|
+ },
|
|
|
+ closeDialog() {
|
|
|
+ this.visible = false;
|
|
|
+ this.form = {}
|
|
|
+ this.$refs.form.clearValidate();
|
|
|
+ this.$emit("closeDialog")
|
|
|
+ },
|
|
|
+ // 发送消息
|
|
|
+ sendHandle() {
|
|
|
+ this.$refs["form"].validate(valid => {
|
|
|
+ if (valid) {
|
|
|
+ const data = {
|
|
|
+ ...this.form,
|
|
|
+ messageType: 1
|
|
|
+ }
|
|
|
+ sendMessage(data).then(res => {
|
|
|
+ this.$message.success('发送成功')
|
|
|
+ this.closeDialog()
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getUserName() {
|
|
|
+ if (this.form.toUserId) {
|
|
|
+ this.userOption.forEach(item => {
|
|
|
+ if (item.form.toUserId == this.form.toUserId) {
|
|
|
+ this.$set(this.form, 'toUserName', item.realName)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+
|
|
|
+</style>
|