article.blade.php 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  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-group>
  20. </div>
  21. <div class="vue-head">
  22. <div class="vue-main-title">
  23. <div class="vue-main-title-left"></div>
  24. <div class="vue-main-title-content">文章动态</div>
  25. </div>
  26. <div class="vue-main-form">
  27. <el-form-item label="文章动态1" prop="">
  28. <el-select v-model="form.article1_cid" clearable placeholder="文章分类">
  29. <el-option v-for="(v,k) in category" :key="k" :label="v.name" :value="v.id"></el-option>
  30. </el-select>
  31. </el-form-item>
  32. <el-form-item label="背景1" prop="">
  33. <div class="upload-box" @click="openUpload('article1_img')" v-if="!form.article1_img_src">
  34. <i class="el-icon-plus" style="font-size:32px"></i>
  35. </div>
  36. <div @click="openUpload('article1_img')" class="upload-boxed" v-if="form.article1_img_src" style="height:100px;">
  37. <img :src="form.article1_img_src" alt="" style="width:150px;height:100px;border-radius: 5px;cursor: pointer;">
  38. <div class="upload-boxed-text">点击重新上传</div>
  39. </div>
  40. <div class="tip">建议尺寸570*150</div>
  41. </el-form-item>
  42. <el-form-item label="文章动态2" prop="">
  43. <el-select v-model="form.article2_cid" clearable placeholder="文章分类">
  44. <el-option v-for="(v,k) in category" :key="k" :label="v.name" :value="v.id"></el-option>
  45. </el-select>
  46. </el-form-item>
  47. <el-form-item label="背景2" prop="">
  48. <div class="upload-box" @click="openUpload('article2_img')" v-if="!form.article2_img_src">
  49. <i class="el-icon-plus" style="font-size:32px"></i>
  50. </div>
  51. <div @click="openUpload('article2_img')" class="upload-boxed" v-if="form.article2_img_src" style="height:100px;">
  52. <img :src="form.article2_img_src" alt="" style="width:150px;height:100px;border-radius: 5px;cursor: pointer;">
  53. <div class="upload-boxed-text">点击重新上传</div>
  54. </div>
  55. <div class="tip">建议尺寸570*150</div>
  56. </el-form-item>
  57. </div>
  58. </div>
  59. </el-form>
  60. <!-- 分页 -->
  61. <div class="vue-page">
  62. <div class="vue-center">
  63. <el-button type="primary" @click="submitForm('form')">提交</el-button>
  64. <el-button @click="goBack">返回</el-button>
  65. </div>
  66. </div>
  67. <upload-img :upload-show="uploadShow" :name="chooseImgName" @replace="changeProp" @sure="sureImg"></upload-img>
  68. </div>
  69. </div>
  70. @include('public.admin.uploadImg')
  71. <script>
  72. var app = new Vue({
  73. el:"#app",
  74. delimiters: ['[[', ']]'],
  75. name: 'test',
  76. data() {
  77. return{
  78. order_type:'2',
  79. form:{
  80. article1_img : '',
  81. article1_img_src : '',
  82. article1_cid:'',
  83. article2_img : '',
  84. article2_img_src : '',
  85. article2_cid:'',
  86. },
  87. category: [],
  88. uploadShow:false,
  89. chooseImgName:'',
  90. submit_url:'',
  91. showVisible:false,
  92. loading: false,
  93. template_list:[],
  94. rules:{
  95. // name:{ required: true, message: '请输入品牌名称'}
  96. },
  97. }
  98. },
  99. created() {
  100. },
  101. mounted() {
  102. this.getData();
  103. },
  104. methods: {
  105. getData() {
  106. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  107. this.$http.post('{!! yzWebFullUrl('plugin.pc-terminal-two.backend.module-set.article-info') !!}').then(function(response) {
  108. if (response.data.result) {
  109. // console.log(response.data.data);
  110. this.form = response.data.data.article;
  111. this.category = response.data.data.category;
  112. loading.close();
  113. } else {
  114. this.$message({
  115. message: response.data.msg,
  116. type: 'error'
  117. });
  118. }
  119. loading.close();
  120. }, function(response) {
  121. this.$message({
  122. message: response.data.msg,
  123. type: 'error'
  124. });
  125. loading.close();
  126. });
  127. },
  128. submitForm(formName) {
  129. console.log(this.form)
  130. let that = this;
  131. let json = this.form;
  132. this.$refs[formName].validate((valid) => {
  133. if (valid) {
  134. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  135. this.$http.post('{!! yzWebFullUrl('plugin.pc-terminal-two.backend.module-set.set-article') !!}',{article:json}).then(response => {
  136. if (response.data.result) {
  137. this.$message({message: response.data.msg,type: 'success'});
  138. } else {
  139. this.$message({message: response.data.msg,type: 'error'});
  140. }
  141. loading.close();
  142. },response => {
  143. loading.close();
  144. });
  145. }
  146. else {
  147. console.log('error submit!!');
  148. return false;
  149. }
  150. });
  151. },
  152. goBack() {
  153. history.go(-1)
  154. },
  155. gotoOther(type) {
  156. let url = ""
  157. if(type==1) {
  158. url = '{!! yzWebFullUrl('plugin.pc-terminal-two.backend.module-set.solution') !!}'
  159. }
  160. else if(type==2) {
  161. //url = '{!! yzWebFullUrl('plugin.pc-terminal-two.backend.module-set.article') !!}'
  162. }
  163. if(url) {
  164. window.location.href=url
  165. }
  166. },
  167. openUpload(str) {
  168. this.chooseImgName = str;
  169. this.uploadShow = true;
  170. },
  171. changeProp(val) {
  172. if(val == true) {
  173. this.uploadShow = false;
  174. }
  175. else {
  176. this.uploadShow = true;
  177. }
  178. },
  179. sureImg(name,image,image_url) {
  180. this.form[name] = image;
  181. this.form[name+'_src'] = image_url;
  182. },
  183. clearImg(str) {
  184. this.form[str] = "";
  185. this.form[str+'_src'] = "";
  186. this.$forceUpdate();
  187. },
  188. },
  189. })
  190. </script>
  191. @endsection