人民医院前端

sendmsg.vue 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <template>
  2. <div>
  3. <el-form ref="ruleForm" :model="ruleForm" label-width="85px" class="order_form">
  4. <el-row>
  5. <el-row>
  6. <el-col :span="18">
  7. <el-form-item label="角色" prop="roleid">
  8. <el-select v-model="ruleForm.roleid" placeholder="请选择角色" @change="onChange()">
  9. <el-option v-for="item in roles" :key="item.F_RoleId" :label="item.F_RoleName+'-'+item.F_RoleCode" :value="item.F_RoleId"/>
  10. </el-select>
  11. <el-select v-model="ruleForm.userid" placeholder="请选择用户" @change="$forceUpdate()">
  12. <el-option v-for="item in users" :key="item.F_UserId" :label="item.F_UserName+'-'+item.F_UserCode" :value="item.F_UserId"/>
  13. </el-select>
  14. </el-form-item>
  15. </el-col>
  16. </el-row>
  17. <el-row>
  18. <el-col :span="18">
  19. <el-form-item label="是否群发" prop="IsToAll">
  20. <el-radio-group v-model="ruleForm.IsToAll">
  21. <el-radio label="1">是</el-radio>
  22. <el-radio label="0">否</el-radio>
  23. </el-radio-group>
  24. </el-form-item>
  25. </el-col>
  26. </el-row>
  27. <el-row>
  28. <el-col :span="18">
  29. <el-form-item label="内容" prop="con">
  30. <el-input v-model="ruleForm.con" placeholder="请输入内容" type="textarea" size="medium " />
  31. </el-form-item>
  32. </el-col>
  33. </el-row>
  34. </el-row>
  35. <el-form-item>
  36. <el-button type="primary" @click="submitForm">发送</el-button>
  37. </el-form-item>
  38. </el-form>
  39. </div>
  40. </template>
  41. <script>
  42. import {
  43. getRoleList,
  44. getUserListIndex,
  45. getSaveChatInfo
  46. } from '@/api/AnnounceManagement/chart'
  47. export default {
  48. name: 'SendMsg',
  49. props: {
  50. layerid: {
  51. type: String,
  52. default: ''
  53. },
  54. roleid: {
  55. type: Number,
  56. default: ''
  57. },
  58. userid: {
  59. type: Number,
  60. default: ''
  61. }
  62. },
  63. data() {
  64. return {
  65. ruleForm: {
  66. },
  67. roles: [],
  68. users: [],
  69. options: []
  70. }
  71. },
  72. created() {
  73. if (this.roleid) {
  74. this.ruleForm.roleid = this.roleid
  75. this.getUserList(this.roleid)
  76. this.ruleForm.userid = this.userid
  77. }
  78. this.getRole()
  79. },
  80. methods: {
  81. getRole() {
  82. const params = {}
  83. getRoleList(params).then(res => {
  84. if (res.state == 'success') {
  85. this.roles = res.data
  86. }
  87. })
  88. },
  89. onChange() {
  90. this.ruleForm.userid = ''
  91. this.getUserList(this.ruleForm.roleid)
  92. },
  93. getUserList(pid) {
  94. const params = {
  95. roleid: pid
  96. }
  97. getUserListIndex(params).then(res => {
  98. if (res.state == 'success') {
  99. this.users = res.data
  100. }
  101. })
  102. },
  103. submitForm() {
  104. if (!this.ruleForm.con) {
  105. this.$message.error('请输入发送内容')
  106. return
  107. }
  108. const params = {
  109. Content: this.ruleForm.con,
  110. ToUserId: this.ruleForm.userid || '0',
  111. ToRoleId: this.ruleForm.roleid,
  112. IsToAll: this.ruleForm.IsToAll
  113. }
  114. getSaveChatInfo(params).then((response) => {
  115. if (response.state == 'success') {
  116. this.$message.success('发送成功')
  117. this.ruleForm.con = ''
  118. }
  119. })
  120. }
  121. }
  122. }
  123. </script>
  124. <style rel="stylesheet/scss" lang="scss">
  125. </style>