CheckAndEditModel.vue 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <template>
  2. <j-modal
  3. :title="title"
  4. :width="700"
  5. :visible="visible"
  6. :mask-closable="false"
  7. cancel-text="关闭"
  8. @close="close"
  9. >
  10. <a-form-model ref="form" :label-col="labelCol" :wrapper-col="wrapperCol" :rules="validatorRules" :model="model">
  11. <a-form-model-item label="职务名称" prop="roleName">
  12. <a-input v-model="model.roleName" />
  13. </a-form-model-item>
  14. <a-form-model-item label="数据权限" prop="dataScope">
  15. <j-dict-select-tag
  16. type="radio"
  17. v-model="model.dataScope"
  18. dict-code="data_scope"
  19. />
  20. </a-form-model-item>
  21. <a-form-model-item label="职务描述">
  22. <a-textarea
  23. v-model="model.remark"
  24. placeholder="请输入"
  25. :auto-size="{ minRows: 3, maxRows: 5 }"
  26. />
  27. </a-form-model-item>
  28. <a-form-model-item label="排序">
  29. <a-input-number style="width: 100%" v-model="model.roleSort" :min="0" :max="100000"/>
  30. </a-form-model-item>
  31. </a-form-model>
  32. </j-modal>
  33. </template>
  34. <script>
  35. import { httpAction } from '@/api/request'
  36. import JModal from '@/components/JModal'
  37. export default {
  38. name: 'CheckAndEditModel',
  39. components: {
  40. JModal
  41. },
  42. data() {
  43. return {
  44. labelCol: { span: 4 },
  45. wrapperCol: { span: 19 },
  46. dataSource: [],
  47. title: '',
  48. visible: false,
  49. isCheck: false,
  50. model: {},
  51. validatorRules: {
  52. roleName: [{ required: true, message: '请输入' }]
  53. },
  54. url: {
  55. add: '/system/role',
  56. edit: '/system/role'
  57. }
  58. }
  59. },
  60. created() {
  61. },
  62. methods: {
  63. add() {
  64. this.model = {}
  65. this.visible = true
  66. },
  67. edit(record) {
  68. this.model = Object.assign({}, record)
  69. this.visible = true
  70. },
  71. close(isSubmit) {
  72. if (isSubmit) {
  73. this.checkData()
  74. } else {
  75. this.visible = false
  76. }
  77. },
  78. checkData() {
  79. this.$refs.form.validate(valid => {
  80. if (valid) {
  81. this.saveData()
  82. } else {
  83. return false
  84. }
  85. })
  86. },
  87. saveData() {
  88. let url, type
  89. if (!this.model.roleId) {
  90. url = this.url.add
  91. type = 'post'
  92. } else {
  93. url = this.url.edit
  94. type = 'put'
  95. }
  96. httpAction(url, this.model, type).then((res) => {
  97. if (res.code === 200) {
  98. this.$message.success(res.msg)
  99. this.$emit('ok')
  100. this.visible = false
  101. } else {
  102. console.log(res)
  103. }
  104. })
  105. }
  106. }
  107. }
  108. </script>