add_column.blade.php 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. @extends('layouts.base')
  2. @section('title', trans('添加栏目'))
  3. @section('content')
  4. <link rel="stylesheet" href="{{resource_get('plugins/aggregation-cps/static/index.css')}}">
  5. <style>
  6. .el-tag1{line-height:60px !important;height: 60px !important;font-size:16px;}
  7. .el-form-item1 .el-form-item__label{line-height: 28px;}
  8. /* 导航 */
  9. .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;}
  10. .el-radio-button__inner{border:0;}
  11. .el-radio-button:last-child .el-radio-button__inner {border-radius: 4px 4px 4px 4px;}
  12. </style>
  13. <div class="all">
  14. <div id="app" v-cloak>
  15. <el-form ref="form" :model="form" label-width="15%">
  16. <div class="vue-main" >
  17. <div class="vue-main-title">
  18. <div class="vue-main-title-left"></div>
  19. <div class="vue-main-title-content">添加栏目</div>
  20. </div>
  21. <div class="vue-main-form">
  22. <el-form-item label="排序" prop="sort">
  23. <el-input v-model="form.sort" style="width:70%;">
  24. </el-input>
  25. </el-form-item>
  26. <el-form-item label="栏目名称" prop="title">
  27. <el-input v-model="form.title" style="width:70%;">
  28. </el-input>
  29. </el-form-item>
  30. <el-form-item label="栏目封面" prop="img">
  31. <div class="upload-box" @click="openUpload('img')" v-if="!form.img">
  32. <i class="el-icon-plus" style="font-size:32px"></i>
  33. </div>
  34. <div @click="openUpload('img')" class="upload-boxed" v-if="form.img">
  35. <img :src="form.img_url" alt="" style="width:150px;height:150px;border-radius: 5px;cursor: pointer;">
  36. <div class="upload-boxed-text">点击重新上传</div>
  37. <i class="el-icon-close" @click.stop="clearImg('img')" title="点击清除图片"></i>
  38. </div>
  39. <div class="tip">建议尺寸: 130*90,或长方型图片</div>
  40. </el-form-item>
  41. {{--<el-form-item label="更多链接" prop="url">--}}
  42. {{--<el-input v-model="form.url" style="width:70%;">--}}
  43. {{--</el-input>--}}
  44. {{--<div class="tip">请以https://开头,如不填写,则不显示更多按钮!</div>--}}
  45. {{--</el-form-item>--}}
  46. <el-form-item label="是否显示" prop="is_show">
  47. <el-switch v-model="form.is_show" :active-value="1" :inactive-value="0"></el-switch>
  48. </el-form-item>
  49. </div>
  50. </div>
  51. </el-form>
  52. <!-- 分页 -->
  53. <div class="vue-page">
  54. <div class="vue-center">
  55. <el-button type="primary" @click="submitForm('form')">提交</el-button>
  56. <el-button @click="goBack">返回</el-button>
  57. </div>
  58. </div>
  59. <upload-img :upload-show="uploadShow" :name="chooseImgName" @replace="changeProp" @sure="sureImg"></upload-img>
  60. </div>
  61. </div>
  62. <script src="{{resource_get('static/yunshop/tinymce4.7.5/tinymce.min.js')}}"></script>
  63. @include('public.admin.uploadImg')
  64. @include('public.admin.pop')
  65. @include('public.admin.program')
  66. <script>
  67. let id = {!! $id?:0 !!}
  68. var app = new Vue({
  69. el:"#app",
  70. delimiters: ['[[', ']]'],
  71. name: 'test',
  72. data() {
  73. return{
  74. order_type:1,
  75. list:[],
  76. award_list:[],
  77. id:id,
  78. table_loading:false,
  79. form:{
  80. sort:'',
  81. title:'',
  82. url:'',
  83. is_show:1,
  84. img:'',
  85. },
  86. uploadShow:false,
  87. chooseImgName:'',
  88. loading: false,
  89. }
  90. },
  91. created() {
  92. if(this.id) {
  93. this.submit_url = '{!! yzWebFullUrl('plugin.aggregation-cps.admin.commerce-academy.edit-column') !!}'
  94. }
  95. else {
  96. this.submit_url = '{!! yzWebFullUrl('plugin.aggregation-cps.admin.commerce-academy.created-column') !!}'
  97. }
  98. this.getData();
  99. },
  100. mounted() {
  101. },
  102. methods: {
  103. getParam(name) {
  104. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
  105. var r = window.location.search.substr(1).match(reg);
  106. if (r != null) return unescape(r[2]);
  107. return null;
  108. },
  109. getData() {
  110. let json = {};
  111. if(this.id) {
  112. json.id = this.id
  113. }
  114. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  115. this.$http.post(this.submit_url,json).then(function (response) {
  116. if (response.data.result){
  117. if(this.id) {
  118. this.form.sort = response.data.data.sort;
  119. this.form.title = response.data.data.title;
  120. this.form.url = response.data.data.url;
  121. this.form.is_show = response.data.data.is_show;
  122. this.form.img = response.data.data.img_url;
  123. this.form.img_url = response.data.data.img_url;
  124. }
  125. console.log(this.form)
  126. }
  127. else {
  128. this.$message({message: response.data.msg,type: 'error'});
  129. }
  130. loading.close();
  131. },function (response) {
  132. this.$message({message: response.data.msg,type: 'error'});
  133. loading.close();
  134. }
  135. );
  136. },
  137. submitForm(formName) {
  138. console.log(this.form)
  139. let that = this;
  140. let json = {
  141. sort:this.form.sort,
  142. title:this.form.title,
  143. url:this.form.url,
  144. img_url:this.form.img,
  145. is_show:this.form.is_show,
  146. is_submit:1,
  147. };
  148. if (this.id) {
  149. json.id = this.id;
  150. }
  151. console.log(json)
  152. this.$refs[formName].validate((valid) => {
  153. if (valid) {
  154. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  155. this.$http.post(this.submit_url,json).then(response => {
  156. if (response.data.result) {
  157. this.$message({type: 'success',message: '操作成功!'});
  158. this.goBack();
  159. } else {
  160. this.$message({message: response.data.msg,type: 'error'});
  161. }
  162. loading.close();
  163. },response => {
  164. loading.close();
  165. });
  166. }
  167. else {
  168. console.log('error submit!!');
  169. return false;
  170. }
  171. });
  172. },
  173. openUpload(str) {
  174. this.chooseImgName = str;
  175. this.uploadShow = true;
  176. },
  177. changeProp(val) {
  178. if(val == true) {
  179. this.uploadShow = false;
  180. }
  181. else {
  182. this.uploadShow = true;
  183. }
  184. },
  185. sureImg(name,image,image_url) {
  186. console.log(name)
  187. console.log(image)
  188. console.log(image_url)
  189. this.form[name] = image;
  190. this.form[name+'_url'] = image_url;
  191. },
  192. clearImg(str) {
  193. this.form[str] = "";
  194. this.form[str+'_url'] = "";
  195. this.$forceUpdate();
  196. },
  197. goBack() {
  198. history.go(-1)
  199. },
  200. },
  201. })
  202. </script>
  203. @endsection