basic.blade.php 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. @extends('layouts.base')
  2. @section('title', '基础设置')
  3. @section('content')
  4. <link rel="stylesheet" href="{{resource_get('plugins/pc-terminal/views/admin/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)">SEO设置</el-radio-button>
  19. <el-radio-button label="3" @click.native="gotoOther(3)">顶部导航</el-radio-button>
  20. <el-radio-button label="4" @click.native="gotoOther(4)">底部导航</el-radio-button>
  21. <el-radio-button label="5" @click.native="gotoOther(5)">登录页设置</el-radio-button>
  22. <el-radio-button label="6" @click.native="gotoOther(6)">聚合搜索</el-radio-button>
  23. </el-radio-group>
  24. </div>
  25. <div class="vue-head">
  26. <div class="vue-main-title">
  27. <div class="vue-main-title-left"></div>
  28. <div class="vue-main-title-content">基础设置</div>
  29. </div>
  30. <div class="vue-main-form">
  31. <el-form-item label="PC端样式" prop="is_open">
  32. <el-switch v-model="form.is_open" :active-value="1" :inactive-value="0"></el-switch>
  33. </el-form-item>
  34. <el-form-item label="主题颜色" prop="theme_color">
  35. <el-input v-model="form.theme_color" style="width:20%;float:left;"></el-input>
  36. <el-color-picker v-model="form.theme_color" style="display:inline-block;float:left;"></el-color-picker>
  37. </el-form-item>
  38. <el-form-item label="搜索框标语" prop="search_title">
  39. <el-input v-model="form.search_title" style="width:70%;"></el-input>
  40. </el-form-item>
  41. <el-form-item label="聚合页网址链接" prop="url">
  42. <el-input v-model="url" readonly style="width:70%;" ref="url"></el-input>
  43. <el-button @click="copyLink('url')">复制链接</el-button>
  44. </el-form-item>
  45. <el-form-item label="下单绑定手机号" prop="is_open">
  46. <el-switch v-model="form.bind_mobile" :active-value="1" :inactive-value="0"></el-switch>
  47. </el-form-item>
  48. <el-form-item label="PC端模板" prop="pc_temp">
  49. <el-radio v-model="form.pc_temp" :label="1">模板1</el-radio>
  50. <el-radio v-model="form.pc_temp" :label="2">模板2</el-radio>
  51. </el-form-item>
  52. <el-form-item label="幻灯片样式" prop="slide_style">
  53. <el-radio v-model="form.slide_style" :label="1">样式一</el-radio>
  54. <el-radio v-model="form.slide_style" :label="2">样式二</el-radio>
  55. </el-form-item>
  56. </div>
  57. </div>
  58. <div class="vue-head" style="margin-top:20px">
  59. <div class="vue-main-title">
  60. <div class="vue-main-title-left"></div>
  61. <div class="vue-main-title-content">首页设置</div>
  62. </div>
  63. <div class="vue-main-form">
  64. <el-form-item label="Logo" prop="logo_src">
  65. <div class="upload-box" @click="openUpload('logo')" v-if="!form.logo_src">
  66. <i class="el-icon-plus" style="font-size:32px"></i>
  67. </div>
  68. <div @click="openUpload('logo')" class="upload-boxed" v-if="form.logo_src">
  69. <img :src="form.logo_src" alt="" style="width:150px;height:150px;border-radius: 5px;cursor: pointer;">
  70. <div class="upload-boxed-text">点击重新上传</div>
  71. </div>
  72. <div class="tip">建议尺寸480 * 70</div>
  73. </el-form-item>
  74. {{--<el-form-item label="广告语" prop="advert_words">--}}
  75. {{--<el-input v-model="form.advert_words" style="width:70%;"></el-input>--}}
  76. {{--</el-form-item>--}}
  77. <el-form-item label="幻灯片背景" prop="banner_bg">
  78. <div class="upload-box" @click="openUpload('banner_bg')" v-if="!form.banner_bg_src">
  79. <i class="el-icon-plus" style="font-size:32px"></i>
  80. </div>
  81. <div @click="openUpload('banner_bg')" class="upload-boxed" v-if="form.banner_bg_src">
  82. <img :src="form.banner_bg_src" alt="" style="width:150px;height:150px;border-radius: 5px;cursor: pointer;">
  83. <div class="upload-boxed-text">点击重新上传</div>
  84. </div>
  85. <div class="tip">建议高度400</div>
  86. </el-form-item>
  87. </div>
  88. </div>
  89. </el-form>
  90. <!-- 分页 -->
  91. <div class="vue-page">
  92. <div class="vue-center">
  93. <el-button type="primary" @click="submitForm('form')">提交</el-button>
  94. <el-button @click="goBack">返回</el-button>
  95. </div>
  96. </div>
  97. <upload-img :upload-show="uploadShow" :name="chooseImgName" @replace="changeProp" @sure="sureImg"></upload-img>
  98. </div>
  99. </div>
  100. @include('public.admin.uploadImg')
  101. <script>
  102. var app = new Vue({
  103. el:"#app",
  104. delimiters: ['[[', ']]'],
  105. name: 'test',
  106. data() {
  107. let set= {!!json_encode($set?:'{}') !!};
  108. let url = '{!!$url?$url:'' !!}';
  109. // console.log(level);
  110. return{
  111. form:{
  112. is_open:set&&set.is_open?set.is_open:0,
  113. theme_color:set&&set.theme_color?set.theme_color:"#44be95",
  114. logo:set&&set.logo?set.logo:'',
  115. logo_src:set&&set.logo_src?set.logo_src:'',
  116. // advert_words:set&&set.advert_words?set.advert_words:'',
  117. banner_bg:set&&set.banner_bg?set.banner_bg:'',
  118. banner_bg_src:set&&set.banner_bg_src?set.banner_bg_src:'',
  119. search_title:set&&set.search_title?set.search_title:"商品名称/规格/型号",
  120. bind_mobile:set&&set.bind_mobile?set.bind_mobile:0,
  121. slide_style:set&&set.slide_style?set.slide_style:1,
  122. pc_temp:set&&set.pc_temp?set.pc_temp:1,
  123. },
  124. url:url,
  125. order_type:'1',
  126. temp_list:[],
  127. temp:{
  128. store_pay_open:0,
  129. become_store_open:0,
  130. reject_store_open:0,
  131. store_pay_id:0,
  132. become_store_id:0,
  133. reject_store_id:0,
  134. },
  135. uploadShow:false,
  136. chooseImgName:'',
  137. submit_url:'',
  138. showVisible:false,
  139. loading: false,
  140. p:{
  141. province:'',
  142. city:'',
  143. district:'',
  144. street:'',
  145. },
  146. province_list:[],
  147. city_list:[],
  148. district_list:[],
  149. street_list:[],
  150. areaLoading:false,
  151. street:1,
  152. template_list:[],
  153. rules:{
  154. // name:{ required: true, message: '请输入品牌名称'}
  155. },
  156. }
  157. },
  158. created() {
  159. },
  160. mounted() {
  161. },
  162. methods: {
  163. submitForm(formName) {
  164. console.log(this.form)
  165. let that = this;
  166. let json = {
  167. is_open:this.form.is_open || 0,
  168. theme_color:this.form.theme_color,
  169. logo:this.form.logo,
  170. // advert_words:this.form.advert_words,
  171. banner_bg:this.form.banner_bg,
  172. search_title:this.form.search_title,
  173. bind_mobile:this.form.bind_mobile,
  174. slide_style:this.form.slide_style,
  175. pc_temp:this.form.pc_temp,
  176. };
  177. this.$refs[formName].validate((valid) => {
  178. if (valid) {
  179. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  180. this.$http.post('{!! yzWebFullUrl('plugin.pc-terminal.admin.set.basic') !!}',{set:json}).then(response => {
  181. if (response.data.result) {
  182. this.$message({message: response.data.msg,type: 'success'});
  183. } else {
  184. this.$message({message: response.data.msg,type: 'error'});
  185. }
  186. loading.close();
  187. },response => {
  188. loading.close();
  189. });
  190. }
  191. else {
  192. console.log('error submit!!');
  193. return false;
  194. }
  195. });
  196. },
  197. goBack() {
  198. history.go(-1)
  199. },
  200. gotoOther(type) {
  201. let url = ""
  202. if(type==1) {
  203. // url = '{!! yzWebFullUrl('plugin.pc-terminal.admin.set.basic') !!}'
  204. }
  205. else if(type==2) {
  206. url = '{!! yzWebFullUrl('plugin.pc-terminal.admin.set.seo') !!}'
  207. }
  208. else if(type==3) {
  209. url = '{!! yzWebFullUrl('plugin.pc-terminal.admin.set.nav-top') !!}'
  210. }
  211. else if(type==4) {
  212. url = '{!! yzWebFullUrl('plugin.pc-terminal.admin.set.nav-bottom') !!}'
  213. }
  214. else if(type==5) {
  215. url = '{!! yzWebFullUrl('plugin.pc-terminal.admin.set.login-set') !!}'
  216. }else if(type==6){
  217. url = '{!! yzWebFullUrl('plugin.pc-terminal.admin.set.search-set') !!}'
  218. }
  219. if(url) {
  220. window.location.href=url
  221. }
  222. },
  223. copyLink(type) {
  224. this.$refs[type].select();
  225. document.execCommand("Copy")
  226. this.$message.success("复制成功!");
  227. },
  228. openUpload(str) {
  229. this.chooseImgName = str;
  230. this.uploadShow = true;
  231. },
  232. changeProp(val) {
  233. if(val == true) {
  234. this.uploadShow = false;
  235. }
  236. else {
  237. this.uploadShow = true;
  238. }
  239. },
  240. sureImg(name,image,image_url) {
  241. this.form[name] = image;
  242. this.form[name+'_src'] = image_url;
  243. },
  244. clearImg(str) {
  245. this.form[str] = "";
  246. this.form[str+'_src'] = "";
  247. this.$forceUpdate();
  248. },
  249. },
  250. })
  251. </script>
  252. @endsection