edit.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <template>
  2. <div class="cmain">
  3. <el-form ref="form" :model="form" :rules="rules" label-width="100px">
  4. <el-form-item label="标题" prop="title">
  5. <el-input v-model="form.title" placeholder="请输入标题" clearable />
  6. </el-form-item>
  7. <el-form-item label="内容" prop="contents">
  8. <el-input v-model="form.contents" type="textarea" placeholder="请输入内容" />
  9. </el-form-item>
  10. <el-form-item label="是否置顶" prop="top">
  11. <el-input v-model="form.top" placeholder="请输入是否置顶" clearable />
  12. </el-form-item>
  13. <el-form-item label="状态" prop="state">
  14. <el-input v-model="form.state" placeholder="请输入状态" clearable />
  15. </el-form-item>
  16. <el-form-item label="创建者" prop="createBy">
  17. <el-input v-model="form.createBy" placeholder="请输入创建者" clearable />
  18. </el-form-item>
  19. <el-form-item label="创建时间" prop="createTime">
  20. <el-date-picker clearable v-model="form.createTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择创建时间"></el-date-picker>
  21. </el-form-item>
  22. <el-form-item label="更新者" prop="updateBy">
  23. <el-input v-model="form.updateBy" placeholder="请输入更新者" clearable />
  24. </el-form-item>
  25. <el-form-item label="更新时间" prop="updateTime">
  26. <el-date-picker clearable v-model="form.updateTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择更新时间"></el-date-picker>
  27. </el-form-item>
  28. </el-form>
  29. <div class="mfooter">
  30. <el-button type="primary" @click="submitForm">确 定</el-button>
  31. <el-button @click="$layer.close(layerid)">取 消</el-button>
  32. </div>
  33. </div>
  34. </template>
  35. <script>
  36. export default {
  37. data() {
  38. return {
  39. form: {},
  40. rules: {
  41. title: [{ required: true, message: '标题不能为空', trigger: 'blur' }],
  42. contents: [{ required: true, message: '内容不能为空', trigger: 'blur' }]
  43. }
  44. };
  45. },
  46. props: {
  47. param: {
  48. type: Object,
  49. default: () => {
  50. return {};
  51. }
  52. },
  53. layerid: {
  54. type: String
  55. }
  56. },
  57. mounted() {
  58. if (this.param.id) {
  59. this.ajax({ url: '/work/notice/detail/' + this.param.id }).then((response) => {
  60. this.form = response.data;
  61. });
  62. }
  63. },
  64. methods: {
  65. submitForm() {
  66. this.$refs['form'].validate((valid) => {
  67. if (valid) {
  68. if (this.form.id) {
  69. this.ajax({ method: 'post', url: '/work/notice/edit', data: this.form }).then((response) => {
  70. this.$modal.msgSuccess('修改成功');
  71. this.$layer.close(this.layerid);
  72. this.$parent.getList();
  73. });
  74. } else {
  75. this.ajax({ method: 'post', url: '/work/notice/add', data: this.form }).then((response) => {
  76. this.$modal.msgSuccess('新增成功');
  77. this.$layer.close(this.layerid);
  78. this.$parent.getList();
  79. });
  80. }
  81. }
  82. });
  83. }
  84. }
  85. };
  86. </script>