banner.blade.php 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  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)">banner图</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-group>
  23. </div>
  24. <div class="vue-head" style="margin-top:20px">
  25. <div class="vue-main-title">
  26. <div class="vue-main-title-left"></div>
  27. <div class="vue-main-title-content">banner图</div>
  28. </div>
  29. <div class="vue-main-form">
  30. <el-form-item label="banner图1" prop="banner1_src">
  31. <div class="upload-box" @click="openUpload('banner1')" v-if="!form.banner1_src">
  32. <i class="el-icon-plus" style="font-size:32px"></i>
  33. </div>
  34. <div @click="openUpload('banner1')" class="upload-boxed" v-if="form.banner1_src" style="height:100px;">
  35. <img :src="form.banner1_src" alt="" style="width:150px;height:100px;border-radius: 5px;cursor: pointer;">
  36. <div class="upload-boxed-text">点击重新上传</div>
  37. </div>
  38. <div class="tip">建议尺寸1250*185</div>
  39. </el-form-item>
  40. <el-form-item label="跳转链接" prop="banner1_url">
  41. <el-input v-model="form.banner1_url" style="width:70%;" placeholder=" 请填写指向的链接 (请以https://开头)"></el-input>
  42. </el-form-item>
  43. <el-form-item label="banner图2" prop="banner2_src">
  44. <div class="upload-box" @click="openUpload('banner2')" v-if="!form.banner2_src">
  45. <i class="el-icon-plus" style="font-size:32px"></i>
  46. </div>
  47. <div @click="openUpload('banner2')" class="upload-boxed" v-if="form.banner2_src" style="height:100px;">
  48. <img :src="form.banner2_src" alt="" style="width:150px;height:100px;border-radius: 5px;cursor: pointer;">
  49. <div class="upload-boxed-text">点击重新上传</div>
  50. </div>
  51. <div class="tip">建议尺寸1250*185</div>
  52. </el-form-item>
  53. <el-form-item label="跳转链接" prop="banner2_url">
  54. <el-input v-model="form.banner2_url" style="width:70%;" placeholder=" 请填写指向的链接 (请以https://开头)"></el-input>
  55. </el-form-item>
  56. </div>
  57. </div>
  58. </el-form>
  59. <!-- 分页 -->
  60. <div class="vue-page">
  61. <div class="vue-center">
  62. <el-button type="primary" @click="submitForm('form')">提交</el-button>
  63. <el-button @click="goBack">返回</el-button>
  64. </div>
  65. </div>
  66. <upload-img :upload-show="uploadShow" :name="chooseImgName" @replace="changeProp" @sure="sureImg"></upload-img>
  67. </div>
  68. </div>
  69. @include('public.admin.uploadImg')
  70. <script>
  71. var app = new Vue({
  72. el:"#app",
  73. delimiters: ['[[', ']]'],
  74. name: 'test',
  75. data() {
  76. let set= {!!json_encode($set?:'{}') !!};
  77. // console.log(level);
  78. return{
  79. form:{
  80. banner1:set&&set.banner1?set.banner1:'',
  81. banner1_src:set&&set.banner1_src?set.banner1_src:'',
  82. banner1_url:set&&set.banner1_url?set.banner1_url:'',
  83. banner2:set&&set.banner2?set.banner2:'',
  84. banner2_src:set&&set.banner2_src?set.banner2_src:'',
  85. banner2_url:set&&set.banner2_url?set.banner2_url:'',
  86. },
  87. order_type:'2',
  88. temp_list:[],
  89. temp:{
  90. store_pay_open:0,
  91. become_store_open:0,
  92. reject_store_open:0,
  93. store_pay_id:0,
  94. become_store_id:0,
  95. reject_store_id:0,
  96. },
  97. uploadShow:false,
  98. chooseImgName:'',
  99. submit_url:'',
  100. showVisible:false,
  101. loading: false,
  102. p:{
  103. province:'',
  104. city:'',
  105. district:'',
  106. street:'',
  107. },
  108. province_list:[],
  109. city_list:[],
  110. district_list:[],
  111. street_list:[],
  112. areaLoading:false,
  113. street:1,
  114. template_list:[],
  115. rules:{
  116. // name:{ required: true, message: '请输入品牌名称'}
  117. },
  118. }
  119. },
  120. created() {
  121. },
  122. mounted() {
  123. },
  124. methods: {
  125. submitForm(formName) {
  126. console.log(this.form)
  127. let that = this;
  128. let json = {
  129. banner1:this.form. banner1,
  130. banner1_url:this.form.banner1_url,
  131. banner2:this.form. banner2,
  132. banner2_url:this.form.banner2_url,
  133. };
  134. this.$refs[formName].validate((valid) => {
  135. if (valid) {
  136. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  137. this.$http.post('{!! yzWebFullUrl('plugin.pc-terminal.admin.set.banner') !!}',{set:json}).then(response => {
  138. if (response.data.result) {
  139. this.$message({message: response.data.msg,type: 'success'});
  140. } else {
  141. this.$message({message: response.data.msg,type: 'error'});
  142. }
  143. loading.close();
  144. },response => {
  145. loading.close();
  146. });
  147. }
  148. else {
  149. console.log('error submit!!');
  150. return false;
  151. }
  152. });
  153. },
  154. goBack() {
  155. history.go(-1)
  156. },
  157. gotoOther(type) {
  158. let url = ""
  159. if(type==1) {
  160. url = '{!! yzWebFullUrl('plugin.pc-terminal.admin.slide.slide-list') !!}'
  161. }
  162. else if(type==2) {
  163. //url = '{!! yzWebFullUrl('plugin.pc-terminal.admin.set.banner') !!}'
  164. }
  165. else if(type==3) {
  166. url = '{!! yzWebFullUrl('plugin.pc-terminal.admin.advert.three-advert-list') !!}'
  167. }
  168. else if(type==4) {
  169. url = '{!! yzWebFullUrl('plugin.pc-terminal.admin.advert.two-advert-list') !!}'
  170. }
  171. else if(type==5) {
  172. url = '{!! yzWebFullUrl('plugin.pc-terminal.admin.category.category-list') !!}'
  173. }
  174. if(url) {
  175. window.location.href=url
  176. }
  177. },
  178. copyLink(type) {
  179. this.$refs[type].select();
  180. document.execCommand("Copy")
  181. this.$message.success("复制成功!");
  182. },
  183. openUpload(str) {
  184. this.chooseImgName = str;
  185. this.uploadShow = true;
  186. },
  187. changeProp(val) {
  188. if(val == true) {
  189. this.uploadShow = false;
  190. }
  191. else {
  192. this.uploadShow = true;
  193. }
  194. },
  195. sureImg(name,image,image_url) {
  196. this.form[name] = image;
  197. this.form[name+'_src'] = image_url;
  198. },
  199. clearImg(str) {
  200. this.form[str] = "";
  201. this.form[str+'_src'] = "";
  202. this.$forceUpdate();
  203. },
  204. },
  205. })
  206. </script>
  207. @endsection