module-diy.blade.php 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. @extends('layouts.base')
  2. @section('title', '自定义模块名称')
  3. @section('content')
  4. <link rel="stylesheet" href="{{resource_get('plugins/pc-terminal-two/views/backend/index.css')}}">
  5. <style>
  6. .vue-main{background: #eff3f6;}
  7. /* 导航 */
  8. .el-radio-button .el-radio-button__inner,.el-radio-button:first-child .el-radio-button__inner {border-radius: 4px 4px 4px 4px;border-left: 0px;}
  9. .el-radio-button__inner{border:0;}
  10. .el-radio-button:last-child .el-radio-button__inner {border-radius: 4px 4px 4px 4px;}
  11. </style>
  12. <div class="all">
  13. <div id="app" v-cloak>
  14. <el-form ref="form" :model="form" :rules="rules" label-width="15%">
  15. <div class="vue-head">
  16. <el-radio-group v-model="order_type">
  17. <el-radio-button label="1" @click.native="gotoOther(1)">基础设置</el-radio-button>
  18. <el-radio-button label="2" @click.native="gotoOther(2)">底部导航</el-radio-button>
  19. <el-radio-button label="3" @click.native="gotoOther(3)">自定义模块名称</el-radio-button>
  20. </el-radio-group>
  21. </div>
  22. <div class="vue-head">
  23. <div class="vue-main-title">
  24. <div class="vue-main-title-left"></div>
  25. <div class="vue-main-title-content">自定义模块名称</div>
  26. </div>
  27. <el-form-item label="限时购区" prop="limit_buy">
  28. <el-input v-model="form.limit_buy" style="width:70%;"></el-input>
  29. </el-form-item>
  30. <el-form-item label="课程学堂" prop="video_demand">
  31. <el-input v-model="form.video_demand" style="width:70%;"></el-input>
  32. </el-form-item>
  33. <el-form-item label="产品促销区" prop="promotion">
  34. <el-input v-model="form.promotion" style="width:70%;"></el-input>
  35. </el-form-item>
  36. <el-form-item label="产品上新区" prop="new_goods">
  37. <el-input v-model="form.new_goods" style="width:70%;"></el-input>
  38. </el-form-item>
  39. <el-form-item label="热销产品区" prop="hot_goods">
  40. <el-input v-model="form.hot_goods" style="width:70%;"></el-input>
  41. </el-form-item>
  42. <el-form-item label="为您推荐" prop="recommend_goods">
  43. <el-input v-model="form.recommend_goods" style="width:70%;"></el-input>
  44. </el-form-item>
  45. <el-form-item label="客户案例" prop="customer_case">
  46. <el-input v-model="form.customer_case" style="width:70%;"></el-input>
  47. </el-form-item>
  48. <el-form-item label="解决方案" prop="solution">
  49. <el-input v-model="form.solution" style="width:70%;"></el-input>
  50. </el-form-item>
  51. <el-form-item label="文章动态" prop="article">
  52. <el-input v-model="form.article" style="width:70%;"></el-input>
  53. </el-form-item>
  54. </div>
  55. </el-form>
  56. <!-- 分页 -->
  57. <div class="vue-page">
  58. <div class="vue-center">
  59. <el-button type="primary" @click="submitForm('form')">提交</el-button>
  60. <el-button @click="goBack">返回</el-button>
  61. </div>
  62. </div>
  63. <upload-img :upload-show="uploadShow" :name="chooseImgName" @replace="changeProp" @sure="sureImg"></upload-img>
  64. </div>
  65. </div>
  66. @include('public.admin.uploadImg')
  67. <script>
  68. var app = new Vue({
  69. el:"#app",
  70. delimiters: ['[[', ']]'],
  71. name: 'test',
  72. data() {
  73. return{
  74. order_type:'3',
  75. module:[],
  76. form:{
  77. hot_goods:'',
  78. limit_buy:'',
  79. video_demand:'',
  80. promotion:'',
  81. new_goods:'',
  82. recommend_goods:'',
  83. customer_case:'',
  84. solution:'',
  85. article:'',
  86. },
  87. uploadShow:false,
  88. chooseImgName:'',
  89. submit_url:'',
  90. showVisible:false,
  91. loading: false,
  92. template_list:[],
  93. rules:{
  94. // name:{ required: true, message: '请输入品牌名称'}
  95. },
  96. }
  97. },
  98. created() {
  99. },
  100. mounted() {
  101. this.getData();
  102. },
  103. methods: {
  104. getData() {
  105. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  106. this.$http.post('{!! yzWebFullUrl('plugin.pc-terminal-two.backend.set.module-diy-info') !!}').then(function(response) {
  107. if (response.data.result) {
  108. for (let key in response.data.data.module) {
  109. this.form[key] = response.data.data.set[key] ? response.data.data.set[key] : '';
  110. }
  111. console.log(this.form);
  112. this.module=response.data.data.module;
  113. loading.close();
  114. } else {
  115. this.$message({
  116. message: response.data.msg,
  117. type: 'error'
  118. });
  119. }
  120. loading.close();
  121. }, function(response) {
  122. this.$message({
  123. message: response.data.msg,
  124. type: 'error'
  125. });
  126. loading.close();
  127. });
  128. },
  129. submitForm(formName) {
  130. console.log(this.form)
  131. let that = this;
  132. let json = this.form;
  133. this.$refs[formName].validate((valid) => {
  134. if (valid) {
  135. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  136. this.$http.post('{!! yzWebFullUrl('plugin.pc-terminal-two.backend.set.set-module-diy') !!}',{set:json}).then(response => {
  137. if (response.data.result) {
  138. this.$message({message: response.data.msg,type: 'success'});
  139. } else {
  140. this.$message({message: response.data.msg,type: 'error'});
  141. }
  142. loading.close();
  143. },response => {
  144. loading.close();
  145. });
  146. }
  147. else {
  148. console.log('error submit!!');
  149. return false;
  150. }
  151. });
  152. },
  153. goBack() {
  154. history.go(-1)
  155. },
  156. gotoOther(type) {
  157. let url = ""
  158. if(type==1) {
  159. url = '{!! yzWebFullUrl('plugin.pc-terminal-two.backend.set.basic') !!}'
  160. }
  161. else if(type==2) {
  162. url = '{!! yzWebFullUrl('plugin.pc-terminal-two.backend.set.nav-bottom') !!}'
  163. }
  164. else if(type==3) {
  165. //url = '{!! yzWebFullUrl('plugin.pc-terminal-two.backend.set.module-diy') !!}'
  166. }
  167. if(url) {
  168. window.location.href=url
  169. }
  170. },
  171. openUpload(str) {
  172. this.chooseImgName = str;
  173. this.uploadShow = true;
  174. },
  175. changeProp(val) {
  176. if(val == true) {
  177. this.uploadShow = false;
  178. }
  179. else {
  180. this.uploadShow = true;
  181. }
  182. },
  183. sureImg(name,image,image_url) {
  184. this.form[name] = image;
  185. this.form[name+'_src'] = image_url;
  186. },
  187. clearImg(str) {
  188. this.form[str] = "";
  189. this.form[str+'_src'] = "";
  190. this.$forceUpdate();
  191. },
  192. },
  193. })
  194. </script>
  195. @endsection