goods-show.blade.php 12 KB

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