basic.blade.php 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  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. <div class="vue-main-form">
  28. <el-form-item label="顶部右侧广告位" prop="">
  29. <div class="upload-box" @click="openUpload('right_advert')" v-if="!form.right_advert_src" style="width:268px;height:82px;">
  30. <i class="el-icon-plus" style="font-size:32px"></i>
  31. </div>
  32. <div @click="openUpload('right_advert')" class="upload-boxed" v-if="form.right_advert_src" style="width:268px;height:82px;">
  33. <img :src="form.right_advert_src" alt="" style="width:268px;height:82px;border-radius: 5px;cursor: pointer;">
  34. <div class="upload-boxed-text">点击重新上传</div>
  35. </div>
  36. <div class="tip">建议尺寸268 * 82</div>
  37. </el-form-item>
  38. <el-form-item label="跳转链接" prop="advert_link">
  39. <el-input v-model="form.advert_link" style="width:70%;"></el-input>
  40. </el-form-item>
  41. <el-form-item label="平台公告" prop="">
  42. <el-input v-model="form.notice" type="textarea" rows="10" style="width:70%"></el-input>
  43. </el-form-item>
  44. <el-form-item label="左侧悬浮logo" prop="">
  45. <div class="upload-box" @click="openUpload('logo')" v-if="!form.logo_src" style="width:180px;height:110px;">
  46. <i class="el-icon-plus" style="font-size:32px"></i>
  47. </div>
  48. <div @click="openUpload('logo')" class="upload-boxed" v-if="form.logo_src" style="width:180px;height:110px;">
  49. <img :src="form.logo_src" alt="" style="width:180px;height:110px;border-radius: 5px;cursor: pointer;">
  50. <div class="upload-boxed-text">点击重新上传</div>
  51. </div>
  52. <div class="tip">建议尺寸90 * 55</div>
  53. </el-form-item>
  54. <el-form-item label="右侧公众号二维码" prop="">
  55. <div class="upload-box" @click="openUpload('wechat_code')" v-if="!form.wechat_code_src" style="width:110px;height:110px;">
  56. <i class="el-icon-plus" style="font-size:32px"></i>
  57. </div>
  58. <div @click="openUpload('wechat_code')" class="upload-boxed" v-if="form.wechat_code_src" style="width:110px;height:110px;">
  59. <img :src="form.wechat_code_src" alt="" style="width:110px;height:110px;border-radius: 5px;cursor: pointer;">
  60. <div class="upload-boxed-text">点击重新上传</div>
  61. </div>
  62. {{--<div class="tip">建议尺寸90 * 55</div>--}}
  63. </el-form-item>
  64. <el-form-item label="模块显示" prop="">
  65. <el-checkbox-group v-model="form.module_show">
  66. <el-checkbox v-for="(item,index) in module" :key="index" :label="index">[[item]]</el-checkbox>
  67. </el-checkbox-group>
  68. </el-form-item>
  69. </div>
  70. </div>
  71. </el-form>
  72. <!-- 分页 -->
  73. <div class="vue-page">
  74. <div class="vue-center">
  75. <el-button type="primary" @click="submitForm('form')">提交</el-button>
  76. <el-button @click="goBack">返回</el-button>
  77. </div>
  78. </div>
  79. <upload-img :upload-show="uploadShow" :name="chooseImgName" @replace="changeProp" @sure="sureImg"></upload-img>
  80. </div>
  81. </div>
  82. @include('public.admin.uploadImg')
  83. <script>
  84. var app = new Vue({
  85. el:"#app",
  86. delimiters: ['[[', ']]'],
  87. name: 'test',
  88. data() {
  89. return{
  90. order_type:'1',
  91. module:[],
  92. form:{
  93. right_advert : '',
  94. right_advert_src : '',
  95. advert_link:'',
  96. notice : '',
  97. module_show : [],
  98. logo:'',
  99. logo_src:'',
  100. wechat_code:'',
  101. wechat_code_src:'',
  102. },
  103. uploadShow:false,
  104. chooseImgName:'',
  105. submit_url:'',
  106. showVisible:false,
  107. loading: false,
  108. template_list:[],
  109. rules:{
  110. // name:{ required: true, message: '请输入品牌名称'}
  111. },
  112. }
  113. },
  114. created() {
  115. },
  116. mounted() {
  117. this.getData();
  118. },
  119. methods: {
  120. getData() {
  121. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  122. this.$http.post('{!! yzWebFullUrl('plugin.pc-terminal-two.backend.set.basic-info') !!}').then(function(response) {
  123. if (response.data.result) {
  124. // console.log(response.data.data);
  125. this.form = response.data.data.set;
  126. this.module=response.data.data.module;
  127. loading.close();
  128. } else {
  129. this.$message({
  130. message: response.data.msg,
  131. type: 'error'
  132. });
  133. }
  134. loading.close();
  135. }, function(response) {
  136. this.$message({
  137. message: response.data.msg,
  138. type: 'error'
  139. });
  140. loading.close();
  141. });
  142. },
  143. submitForm(formName) {
  144. console.log(this.form)
  145. let that = this;
  146. let json = this.form;
  147. this.$refs[formName].validate((valid) => {
  148. if (valid) {
  149. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  150. this.$http.post('{!! yzWebFullUrl('plugin.pc-terminal-two.backend.set.set-basic') !!}',{set:json}).then(response => {
  151. if (response.data.result) {
  152. this.$message({message: response.data.msg,type: 'success'});
  153. } else {
  154. this.$message({message: response.data.msg,type: 'error'});
  155. }
  156. loading.close();
  157. },response => {
  158. loading.close();
  159. });
  160. }
  161. else {
  162. console.log('error submit!!');
  163. return false;
  164. }
  165. });
  166. },
  167. goBack() {
  168. history.go(-1)
  169. },
  170. gotoOther(type) {
  171. let url = ""
  172. if(type==1) {
  173. // url = '{!! yzWebFullUrl('plugin.pc-terminal-two.backend.set.basic') !!}'
  174. }
  175. else if(type==2) {
  176. url = '{!! yzWebFullUrl('plugin.pc-terminal-two.backend.set.nav-bottom') !!}'
  177. }
  178. else if(type==3) {
  179. url = '{!! yzWebFullUrl('plugin.pc-terminal-two.backend.set.module-diy') !!}'
  180. }
  181. if(url) {
  182. window.location.href=url
  183. }
  184. },
  185. openUpload(str) {
  186. this.chooseImgName = str;
  187. this.uploadShow = true;
  188. },
  189. changeProp(val) {
  190. if(val == true) {
  191. this.uploadShow = false;
  192. }
  193. else {
  194. this.uploadShow = true;
  195. }
  196. },
  197. sureImg(name,image,image_url) {
  198. this.form[name] = image;
  199. this.form[name+'_src'] = image_url;
  200. },
  201. clearImg(str) {
  202. this.form[str] = "";
  203. this.form[str+'_src'] = "";
  204. this.$forceUpdate();
  205. },
  206. },
  207. })
  208. </script>
  209. @endsection