PostEdit.vue 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <template>
  2. <el-dialog :title="title" :visible.sync="dialogFormVisible" width="500px" @close="close">
  3. <el-form ref="form" label-width="80px" :model="form" :rules="rules">
  4. <el-form-item label="岗位名称" prop="postName">
  5. <el-input v-model="form.postName" placeholder="请输入岗位名称" />
  6. </el-form-item>
  7. <el-form-item label="岗位编号" prop="postCode">
  8. <el-input v-model="form.postCode" placeholder="请输入岗位编号" />
  9. </el-form-item>
  10. <el-form-item label="岗位顺序" prop="sort">
  11. <el-input-number v-model="form.sort" controls-position="right" :min="0" />
  12. </el-form-item>
  13. <el-form-item label="状态" prop="status">
  14. <el-radio-group v-model="form.status">
  15. <el-radio-group v-model="form.status">
  16. <el-radio label="10">正常</el-radio>
  17. <el-radio label="20">停用</el-radio>
  18. </el-radio-group>
  19. </el-radio-group>
  20. </el-form-item>
  21. <el-form-item label="备注" prop="remark">
  22. <el-input v-model="form.remark" placeholder="请输入内容" type="textarea" />
  23. </el-form-item>
  24. </el-form>
  25. <template #footer>
  26. <el-button @click="close">取 消</el-button>
  27. <el-button type="primary" @click="save">确 定</el-button>
  28. </template>
  29. </el-dialog>
  30. </template>
  31. <script>
  32. import postApi from '@/api/system/post'
  33. export default {
  34. name: 'PostEdit',
  35. data() {
  36. return {
  37. form: { status: '10' },
  38. rules: {
  39. postName: [{ required: true, message: '岗位名称不能为空', trigger: 'blur' }],
  40. postCode: [{ required: true, message: '岗位编码不能为空', trigger: 'blur' }],
  41. },
  42. title: '',
  43. dialogFormVisible: false,
  44. }
  45. },
  46. methods: {
  47. showEdit(row) {
  48. if (!row) {
  49. this.title = '添加'
  50. } else {
  51. this.title = '编辑'
  52. this.form = Object.assign({}, row)
  53. }
  54. this.dialogFormVisible = true
  55. },
  56. close() {
  57. this.$refs['form'].resetFields()
  58. this.form = this.$options.data().form
  59. this.dialogFormVisible = false
  60. },
  61. save() {
  62. this.$refs['form'].validate(async (valid) => {
  63. if (valid) {
  64. if (this.form.id) {
  65. const { msg } = await postApi.doEdit(this.form)
  66. this.$baseMessage(msg, 'success', 'vab-hey-message-success')
  67. } else {
  68. const { msg } = await postApi.doAdd(this.form)
  69. this.$baseMessage(msg, 'success', 'vab-hey-message-success')
  70. }
  71. this.$emit('fetch-data')
  72. this.close()
  73. }
  74. })
  75. },
  76. },
  77. }
  78. </script>