com-score.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <style>
  2. .form-body {
  3. background-color: #fff;
  4. padding: 20px 50% 20px 0;
  5. }
  6. .button-item {
  7. margin-top: 12px;
  8. padding: 9px 25px;
  9. }
  10. </style>
  11. <div id="com-score" v-cloak>
  12. <el-card v-loading="loading" style="border:0" shadow="never" body-style="background-color: #f3f3f3;padding: 0 0;">
  13. <el-form :model="ruleForm"
  14. :rules="rules"
  15. ref="ruleForm"
  16. label-width="170px"
  17. size="small">
  18. <div class="form-body">
  19. <el-form-item label="用户积分" prop="score">
  20. <el-input v-model="ruleForm.setting.score"
  21. type="number">
  22. <template slot="append">积分抵扣1元</template>
  23. </el-input>
  24. </el-form-item>
  25. <el-form-item label="用户积分使用规则" prop="score_rule">
  26. <el-input v-model="ruleForm.setting.score_rule" type="textarea">
  27. </el-input>
  28. </el-form-item>
  29. </div>
  30. <el-button :loading="submitLoading" class="button-item" size="small" type="primary"
  31. @click="submit('ruleForm')">保存
  32. </el-button>
  33. </el-form>
  34. </el-card>
  35. </div>
  36. <script>
  37. Vue.component('com-score', {
  38. template: '#com-score',
  39. data() {
  40. return {
  41. loading: false,
  42. submitLoading: false,
  43. mall: null,
  44. ruleForm: {
  45. name: '',
  46. setting: {},
  47. recharge: {}
  48. },
  49. rules: {
  50. },
  51. };
  52. },
  53. created() {
  54. this.loadData();
  55. },
  56. methods: {
  57. loadData() {
  58. this.loading = true;
  59. request({
  60. params: {
  61. r: 'mall/setting/setting',
  62. },
  63. }).then(e => {
  64. this.loading = false;
  65. if (e.data.code === 0) {
  66. this.ruleForm = e.data.data.detail;
  67. let setting = this.ruleForm.setting;
  68. this.ruleForm.setting.latitude_longitude = setting.latitude + ',' + setting.longitude;
  69. } else {
  70. this.$message.error(e.data.msg);
  71. }
  72. }).catch(e => {
  73. });
  74. },
  75. submit(formName) {
  76. this.$refs[formName].validate(valid => {
  77. if (valid) {
  78. this.submitLoading = true;
  79. request({
  80. params: {
  81. r: 'mall/setting/setting',
  82. },
  83. method: 'post',
  84. data: {
  85. ruleForm: JSON.stringify(this.ruleForm)
  86. },
  87. }).then(e => {
  88. this.submitLoading = false;
  89. if (e.data.code === 0) {
  90. this.$message.success(e.data.msg);
  91. } else {
  92. this.$message.error(e.data.msg);
  93. }
  94. }).catch(e => {
  95. });
  96. } else {
  97. this.$message.error('部分参数验证不通过');
  98. }
  99. });
  100. },
  101. handleClick(tab, event) {
  102. console.log(tab, event);
  103. },
  104. },
  105. });
  106. </script>