role_add_edit.vue 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <template>
  2. <div class="container add_edit">
  3. <el-form :model="form" :rules="rules" ref="ruleForm" label-width="100px">
  4. <el-form-item label="角色标识" prop="role_id" ref="role_id"><el-input v-model="form.role_id" placeholder="请输入角色名称"></el-input></el-form-item>
  5. <el-form-item label="角色名称" prop="role_name" ref="role_name"><el-input v-model="form.role_name" placeholder="请输入角色名称"></el-input></el-form-item>
  6. <el-form-item label="备注"><el-input v-model="form.comment" placeholder="请输入备注"></el-input></el-form-item>
  7. <el-form-item>
  8. <el-button class="confirm_btn" @click="submitForm('ruleForm')">确 定</el-button>
  9. <el-button @click="returnPage">返回列表</el-button>
  10. </el-form-item>
  11. </el-form>
  12. </div>
  13. </template>
  14. <script>
  15. import bus from '@/common/bus';
  16. const __name = 'uni-id-roles';
  17. export default {
  18. data() {
  19. return {
  20. dataId: '',
  21. form: {
  22. role_id: '',
  23. role_name: '',
  24. comment: ''
  25. },
  26. rules: {
  27. role_id: [
  28. {
  29. required: true,
  30. message: '角色标识不能为空',
  31. trigger: 'change'
  32. }
  33. ],
  34. role_name: [
  35. {
  36. required: true,
  37. message: '角色名称不能为空',
  38. trigger: 'change'
  39. }
  40. ]
  41. }
  42. };
  43. },
  44. methods: {
  45. async loadData() {
  46. if (!this.dataId) {
  47. return;
  48. }
  49. await this.$db[__name].tofirst(this.dataId).then(res => {
  50. if (res.code == 200) {
  51. for (let item in this.form) {
  52. this.form[item] = res.datas[item];
  53. }
  54. }
  55. });
  56. },
  57. submitForm(formName) {
  58. this.$refs[formName].validate((valid, obj) => {
  59. // 默认获取第一个未验证 form 属性名
  60. this.$api.set_unvalidated_form_focus(this, obj);
  61. if (valid) {
  62. if (!this.dataId) {
  63. this.$db[__name].add(this.form).then(res => {
  64. if (res.code == 200) {
  65. this.getOpenerEventChannel().emit('loadData');
  66. this.returnPage();
  67. }
  68. });
  69. } else {
  70. this.$db[__name].update(this.dataId, this.form).then(res => {
  71. if (res.code == 200) {
  72. this.getOpenerEventChannel().emit('loadData');
  73. this.returnPage();
  74. }
  75. });
  76. }
  77. }
  78. });
  79. },
  80. returnPage() {
  81. bus.$emit('tab-close');
  82. this.$router.push('/pages/system_set/role/role');
  83. }
  84. },
  85. created() {
  86. this.dataId = this.$route.query.id || '';
  87. this.loadData();
  88. }
  89. };
  90. </script>
  91. <style ></style>