血透系统PC前端

EditRole.vue 3.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <template>
  2. <el-dialog title='新增角色' width="600px" :visible.sync="visible" :before-close="_close">
  3. <el-form :model="form" :rules="rules" ref="form" label-width="80px">
  4. <el-form-item label="角色名称" prop="name">
  5. <el-input v-model="form.name" placeholder="" maxlength="30" ></el-input>
  6. </el-form-item>
  7. <el-form-item label="角色描述" prop="intro">
  8. <el-input type="textarea" v-model="form.intro" placeholder="" resize="none" rows="4" ></el-input>
  9. </el-form-item>
  10. </el-form>
  11. <div slot="footer" class="dialog-footer">
  12. <el-button @click="hide">取 消</el-button>
  13. <el-button type="primary" @click="submitAction()">保 存</el-button>
  14. </div>
  15. </el-dialog>
  16. </template>
  17. <script>
  18. import {addRole, modifyRole} from '@/api/role/role'
  19. export default {
  20. name: 'EditRole',
  21. data() {
  22. return {
  23. form: {
  24. id: 0,
  25. name: '',
  26. intro: ''
  27. },
  28. 'visible': false,
  29. rules: {
  30. name: [
  31. {required: true, message: '请输入角色名称', trigger: 'blur'},
  32. {max: 10, message: '10个字以内', trigger: 'blur'}
  33. ],
  34. intro: [
  35. {required: true, message: '请输入角色说明', trigger: 'blur'},
  36. ]
  37. }
  38. }
  39. },
  40. methods: {
  41. _close: function(done) {
  42. this.clear()
  43. done()
  44. },
  45. clear: function() {
  46. this.form.id = 0
  47. this.form.name = ''
  48. this.form.intro = ''
  49. },
  50. show() {
  51. this.clear()
  52. this.visible = true
  53. },
  54. hide() {
  55. this.clear()
  56. this.visible = false
  57. },
  58. modify(id, name, intro) {
  59. this.form.id = id
  60. this.form.name = name
  61. this.form.intro = intro
  62. this.visible = true
  63. },
  64. submitAction() {
  65. this.$refs.form.validate((valid) => {
  66. if (valid) { // 验证通过
  67. if (this.form.id === 0) { // 新增 role
  68. addRole(this.form.name, this.form.intro).then(rs => {
  69. var resp = rs.data
  70. if (resp.state === 1) {
  71. var new_id = resp.data.id
  72. var new_name = resp.data.name
  73. var new_intro = resp.data.intro
  74. var new_status = resp.data.status
  75. this.$emit('did-add-role', new_id, new_name, new_intro, new_status)
  76. this.hide()
  77. } else {
  78. this.$message.error(resp.msg)
  79. }
  80. }).catch(err => {
  81. this.$message.error(err)
  82. })
  83. } else { // 修改 role
  84. modifyRole(this.form.id, this.form.name, this.form.intro).then(rs => {
  85. var resp = rs.data
  86. if (resp.state === 1) {
  87. this.$emit('did-edit-role', this.form.id, this.form.name, this.form.intro)
  88. this.hide()
  89. } else {
  90. this.$message.error(resp.msg)
  91. }
  92. }).catch(err => {
  93. this.$message.error(err)
  94. })
  95. }
  96. } else { // 验证失败
  97. return false
  98. }
  99. })
  100. }
  101. }
  102. }
  103. </script>