setting.php 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. <?php
  2. use common\helpers\ComponentHelper;
  3. ?>
  4. <div id="app" v-cloak>
  5. <el-card class="box-card" v-loading="loading" shadow="never" style="border:0;min-width: 1500px;"
  6. body-style="background-color: #f3f3f3;padding: 10px 0 0;">
  7. <div >
  8. <el-form :model="ruleForm" size="small" ref="ruleForm" label-width="150px">
  9. <el-card shadow="never">
  10. <div>
  11. <el-row>
  12. <el-col :span="16">
  13. <el-form-item label="选择套餐">
  14. <div>
  15. <el-select v-model="ruleForm.combo_id" placeholder="请选择">
  16. <el-option
  17. v-for="item in combo_arr"
  18. :key="item.id"
  19. :label="item.title"
  20. :value="item.id">
  21. </el-option>
  22. </el-select>
  23. </div>
  24. <div class="tips-text">
  25. 若无套餐可选,请到“应用管理”-“应用套餐”进行“创建套餐”
  26. </div>
  27. </el-form-item>
  28. <el-form-item label="选择模板">
  29. <div>
  30. <el-select v-model="ruleForm.diy_template_id" placeholder="请选择">
  31. <el-option
  32. v-for="item in diy_template_list"
  33. :key="item.id"
  34. :label="item.title"
  35. :value="item.id">
  36. </el-option>
  37. </el-select>
  38. </div>
  39. <div class="tips-text">
  40. 此模板将会默认生成后台体验用户的H5首页装修页面
  41. </div>
  42. </el-form-item>
  43. <el-form-item label="有效期">
  44. <div>
  45. <el-input-number v-model="ruleForm.expire" size="medium" :min="1" label="请输入有效期(天)"></el-input-number> 天
  46. </div>
  47. </el-form-item>
  48. </el-col>
  49. </el-row>
  50. </div>
  51. </el-card>
  52. </el-form>
  53. <el-button :loading="btnLoading" class="button-item" type="primary" style="margin-top: 24px;"
  54. @click="store('ruleForm')" size="small">保存
  55. </el-button>
  56. </div>
  57. </el-card>
  58. </div>
  59. <script>
  60. const app = new Vue({
  61. el: '#app',
  62. data() {
  63. return {
  64. loading: false,
  65. btnLoading: false,
  66. ruleForm: {
  67. combo_id: '',
  68. diy_template_id: '',
  69. expire: '',
  70. },
  71. combo_arr: [],
  72. }
  73. },
  74. mounted: function () {
  75. this.loadData();
  76. },
  77. methods: {
  78. onSubmit() {
  79. console.log('submit!');
  80. },
  81. loadData() {
  82. this.loading = true;
  83. request({
  84. params: {
  85. r: 'admin/register-manage/setting',
  86. },
  87. method: 'get'
  88. }).then(e => {
  89. this.loading = false;
  90. if (e.data.code == 0) {
  91. this.combo_arr = e.data.data.combo_arr;
  92. this.diy_template_list = e.data.data.diy_template_list;
  93. this.ruleForm.combo_id = e.data.data.register_manage.combo_id.value;
  94. this.ruleForm.diy_template_id = e.data.data.register_manage.diy_template_id.value;
  95. this.ruleForm.expire = e.data.data.register_manage.expire.value;
  96. }
  97. }).catch(e => {
  98. this.loading = false;
  99. })
  100. },
  101. store(formName) {
  102. this.$refs[formName].validate((valid) => {
  103. if (valid) {
  104. this.btnLoading = true;
  105. request({
  106. params: {
  107. r: 'admin/register-manage/setting',
  108. },
  109. method: 'post',
  110. data: this.ruleForm
  111. }).then(e => {
  112. this.btnLoading = false;
  113. if (e.data.code == 0) {
  114. this.$message.success(e.data.msg);
  115. } else {
  116. this.$message.error(e.data.msg);
  117. }
  118. }).catch(e => {
  119. this.$message.error(e);
  120. this.btnLoading = false;
  121. })
  122. } else {
  123. this.btnLoading = false;
  124. return false;
  125. }
  126. });
  127. },
  128. }
  129. });
  130. </script>
  131. <style>
  132. .form_box {
  133. background-color: #f3f3f3;
  134. padding: 0 0 20px;
  135. }
  136. .button-item {
  137. margin-top: 12px;
  138. padding: 9px 25px;
  139. }
  140. .el-input-group__append {
  141. background-color: #fff;
  142. color: #353535;
  143. }
  144. </style>