| | |
| | | <!-- 接收对象 --> |
| | | <el-form-item class="optionItem" label="接收对象:" prop="targetTo"> |
| | | <div class="message-item__left"> |
| | | <el-select v-model="role.targetTo" placeholder="请选择接收对象"> |
| | | <el-select v-model="role.targetTo" placeholder="请选择接收对象" > |
| | | <el-option :value="role.targetTo"> |
| | | <el-tree ref="tree" check-strictly :data="departList" :props="defaultProps" |
| | | show-checkbox @check="handleCheck" default-expand-all node-key="id"> |
| | | <el-tree ref="tree" :data="departList" :props="defaultProps" show-checkbox |
| | | @check="handleCheck" default-expand-all node-key="id"> |
| | | </el-tree> |
| | | </el-option> |
| | | </el-select> |
| | |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <div class="optionBtn"> |
| | | <el-button type="primary" class="btn save">保存 |
| | | <el-button type="primary" @click.native.prevent="handleSubmit(0)" class="btn save">保存 |
| | | </el-button> |
| | | <el-button type="primary" @click.native.prevent="handleSubmit" class="btn submit">发布 |
| | | <el-button type="primary" @click.native.prevent="handleSubmit(1)" class="btn submit">发布 |
| | | </el-button> |
| | | <el-button type="primary" class="btn submit">预览 |
| | | <el-button type="primary" @click.native.prevent="handleView" class="btn submit">预览 |
| | | </el-button> |
| | | <el-button class="btn cancel" @click.native.prevent="handleReset">重置</el-button> |
| | | </div> |
| | |
| | | :before-close="handleConfirmClose" append-to-body> |
| | | <MyColumnAdd @closeDialog="closeDialog"></MyColumnAdd> |
| | | </el-dialog> |
| | | <!-- 预览消息 --> |
| | | <el-dialog title="消息预览" :visible.sync="dialogView" v-if="dialogView" width="60%" |
| | | :before-close="handleConfirmClose" append-to-body> |
| | | <MyColView :info="info" @closeDialog="closeDialog"></MyColView> |
| | | </el-dialog> |
| | | </div> |
| | | </main> |
| | | </div> |
| | |
| | | <script> |
| | | import MyEditor from '@/components/edit' |
| | | import MyColumnAdd from '@/views/operate/message/mycontrol/createUser' |
| | | import MyColView from '../messageView' |
| | | export default { |
| | | components: { MyEditor, MyColumnAdd }, |
| | | components: { MyEditor, MyColumnAdd,MyColView }, |
| | | data() { |
| | | const validateNickname = (rule, value, callback) => { |
| | | if (!value) { |
| | |
| | | messageType: '', |
| | | head: '', |
| | | targetTo: '', |
| | | targetFrom:null, |
| | | targetFrom: null, |
| | | body: '', |
| | | channelCode: '01', |
| | | }, |
| | |
| | | departList: [], |
| | | typeList: [], |
| | | dialogCreate: false, |
| | | dialogView: false, |
| | | defaultProps: { |
| | | children: 'children', |
| | | label: 'departName', |
| | | disabled: function (data, node) { |
| | | if (data.createTime) { |
| | | return !data.leaf |
| | | } |
| | | } |
| | | // disabled: function (data, node) { |
| | | // if (data.createTime) { |
| | | // return !data.leaf |
| | | // } |
| | | // } |
| | | }, |
| | | checkedList: [] |
| | | checkedList: [], |
| | | tempNameArr:[], |
| | | info:{}, |
| | | sendUser:"" |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | }, |
| | | // 选中id |
| | | handleCheck(data, node) { |
| | | console.log(data, node); |
| | | this.checkedList = node.checkedKeys; |
| | | this.role.targetTo = node.checkedKeys.length + '人'; |
| | | let arr = [],nameArr = [] |
| | | console.log(node.checkedNodes) |
| | | node.checkedNodes.forEach(item => { |
| | | if(!item.hasOwnProperty('departType')){ |
| | | arr.push(item.id) |
| | | nameArr.push(item.departName) |
| | | } |
| | | }) |
| | | this.checkedList = arr |
| | | this.tempNameArr = nameArr |
| | | console.log(this.tempNameArr) |
| | | this.role.targetTo = arr.length + '人' |
| | | }, |
| | | // 新建消息 |
| | | handleSubmit() { |
| | | console.log(this.role); |
| | | // 新建/保存消息(1:新建,0保存消息) |
| | | handleSubmit(mystatus) { |
| | | this.$refs.user.validate((valid) => { |
| | | console.log(valid) |
| | | if (valid) { |
| | | const {role,checkedList} = this; |
| | | const { role, checkedList } = this; |
| | | console.log(checkedList); |
| | | this.$axios({ |
| | | method: 'post', |
| | | url: 'sccg/message/sendMessage', |
| | |
| | | messageType: role.messageType, |
| | | sendTime: new Date(), |
| | | targetTo: checkedList.join(','), |
| | | targetFrom:`${role.targetFrom}`, |
| | | status:1, |
| | | targetFrom: `${role.targetFrom}`, |
| | | status: mystatus, |
| | | } |
| | | }) |
| | | .then(res=>{ |
| | | if(res.code === 200){ |
| | | this.$message({ |
| | | type:'success', |
| | | message:'发送成功', |
| | | }) |
| | | this.$emit('closeMyDialog',{flag:false,index:1}); |
| | | } |
| | | }) |
| | | .then(res => { |
| | | if (res.code === 200) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: mystatus === 1 ? '发送成功' : '保存成功', |
| | | }) |
| | | this.$emit('closeMyDialog', { flag: false, index: 1 }); |
| | | } |
| | | }) |
| | | } else { |
| | | return false; |
| | | } |
| | |
| | | this.role.body = obj; |
| | | }, |
| | | // 重置表单 |
| | | handleReset(){ |
| | | handleReset() { |
| | | this.$refs.edit.editor.txt.clear(); |
| | | // this.$refs.edit.wangEditor.txt.html('<p><br></p>') |
| | | this.setDepartList(); |
| | | this.$refs.user.resetFields(); |
| | | }, |
| | | // 获取当前登录用户信息 |
| | | getLoginUserInfo(){ |
| | | getLoginUserInfo() { |
| | | const name = sessionStorage.getItem('name'); |
| | | this.$axios({ |
| | | method:'get', |
| | | url:'sccg/admin/info?name='+name, |
| | | method: 'get', |
| | | url: 'sccg/admin/info?name=' + name, |
| | | }) |
| | | .then(res=>{ |
| | | this.role.targetFrom = res.data.userId |
| | | .then(res => { |
| | | this.role.targetFrom = res.data.userId |
| | | this.sendUser = res.data.username |
| | | }) |
| | | }, |
| | | // 消息预览 |
| | | handleView() { |
| | | this.$refs.user.validate((valid) => { |
| | | if (valid) { |
| | | const { role,getColText,tempNameArr,sendUser } = this |
| | | this.dialogView = true; |
| | | let info = {} |
| | | // 获得栏目消息 |
| | | info.channelCode = role.channelCode === '01'? '站内信': role.channelCode === '02' ? '邮件':'短信' |
| | | info.messageType = getColText(role.messageType) |
| | | info.body = role.body |
| | | info.head = role.head |
| | | info.targetTo = tempNameArr |
| | | info.targetFrom = sendUser |
| | | this.info = info |
| | | } else { |
| | | return false |
| | | } |
| | | }) |
| | | }, |
| | | // 获得栏目消息 |
| | | getColText(id){ |
| | | console.log(id) |
| | | const {colList} = this |
| | | let str = '' |
| | | colList.forEach(item=>{ |
| | | item.id === id ? str = item.columnName : '' |
| | | }) |
| | | return str |
| | | } |
| | | }, |
| | | props: ['closeMyDialog'] |
| | |
| | | display: flex; |
| | | justify-content: center; |
| | | padding-top: 50px; |
| | | |
| | | &:deep(.el-dialog__title) { |
| | | color: #4b9bb7; |
| | | } |
| | | &::v-deep .el-form-item__label { |
| | | color: #4b9bb7; |
| | | } |