set.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <div id="app" v-cloak>
  2. <el-card shadow="never" style="border:0" class="box-card" body-style="background-color: #f3f3f3;padding: 10px 0 0;" class="box-card" v-loading="cardLoading">
  3. <div slot="header">
  4. <div flex="cross:center box:first">
  5. <div><span @click="$navigate({r:'mall/service/index'})" class="text">服务</span>/服务编辑</div>
  6. </div>
  7. </div>
  8. <div class="form-body">
  9. <el-form :model="form" :rules="rules" size="small" ref="form" label-width="120px">
  10. <el-form-item label="服务名称" prop="name">
  11. <el-input v-model="form.name"></el-input>
  12. <p class="tips-text">多个服务使用“|”分隔,例如:正品保障|极速发货|7天退换货</p>
  13. </el-form-item>
  14. <el-button class="button-item" :loading="btnLoading" type="primary" @click="submit('form')" size="small">保存</el-button>
  15. </el-form>
  16. </div>
  17. </el-card>
  18. </div>
  19. <script>
  20. const app = new Vue({
  21. el: '#app',
  22. data() {
  23. return {
  24. form: {
  25. name:''
  26. },
  27. rules: {
  28. name: [{
  29. required: true,
  30. message: '请输入服务名称',
  31. trigger: 'change'
  32. }, ],
  33. },
  34. btnLoading: false,
  35. cardLoading: false,
  36. };
  37. },
  38. methods: {
  39. submit(formName) {
  40. this.$refs[formName].validate((valid) => {
  41. let self = this;
  42. if (valid) {
  43. self.btnLoading = true;
  44. request({
  45. params: {
  46. r: ''
  47. },
  48. method: 'post',
  49. data: {
  50. form: self.form,
  51. }
  52. }).then(e => {
  53. self.btnLoading = false;
  54. if (e.data.code == 0) {
  55. self.$message.success(e.data.msg);
  56. } else {
  57. self.$message.error(e.data.msg);
  58. }
  59. }).catch(e => {
  60. self.$message.error(e.data.msg);
  61. self.btnLoading = false;
  62. });
  63. } else {
  64. console.log('error submit!!');
  65. return false;
  66. }
  67. });
  68. }
  69. },
  70. mounted: function() {
  71. }
  72. });
  73. </script>