store-page1.blade.php 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332
  1. @extends('layouts.base')
  2. @section('title', '工单列表')
  3. @section('content')
  4. <style>
  5. .el-upload__input {
  6. opacity: 0;
  7. width: 0;
  8. }
  9. .content{
  10. background: #eff3f6;
  11. }
  12. .con{
  13. padding:20px 0;
  14. border-radius: 8px;
  15. position:relative;
  16. }
  17. .con .setting .block{
  18. padding:20px;
  19. background-color:#fff;
  20. border-radius: 8px;
  21. margin-bottom:10px;
  22. }
  23. .con .setting .block .title{
  24. font-size:18px;
  25. margin-bottom:15px;
  26. display:flex;
  27. align-items:center;
  28. }
  29. .con .confirm-btn{
  30. width: 100%;
  31. position:absolute;
  32. bottom:0;
  33. left:0;
  34. line-height:63px;
  35. background-color: #ffffff;
  36. box-shadow: 0px 8px 23px 1px
  37. rgba(51, 51, 51, 0.3);
  38. background-color:#fff;
  39. text-align:center;
  40. }
  41. .con .setting .block .tabs .tab{
  42. width: 115px;
  43. height: 36px;
  44. display:flex;
  45. align-items:center;
  46. justify-content:center;
  47. color: #666666;
  48. font-size: 20px;
  49. margin-right:10px;
  50. }
  51. .other{
  52. background-color: #29ba9c;
  53. border-radius: 18px;
  54. color:#fff!important;
  55. }
  56. </style>
  57. <div id="app">
  58. <template>
  59. <div class="con" >
  60. <div class="setting">
  61. <el-form ref="first_list" label-width="15%" >
  62. <div class="block">
  63. <div class="title"><span style="width: 4px;height: 24px;background-color: #29ba9c;margin-right:15px;display:inline-block;"></span><b>选择问题分类</b></div>
  64. <div class="tabs" style="display:flex;align-items:center;">
  65. <div v-for="(item,index,key) in category_list.slice(1,category_list.length)" class="tab" :class="item.id==category_id?'other':''" @click="tap(item)">[[item.label]]</div>
  66. </div>
  67. </div>
  68. <div class="block">
  69. <div class="title"><span style="width: 4px;height: 24px;background-color: #29ba9c;margin-right:15px;display:inline-block;"></span><b>基本问题</b></div>
  70. <div style="padding-left:300px;">
  71. <el-form-item label="站点:"><span v-text="site_url"></span></el-form-item>
  72. <el-form-item label="问题标题:"><el-input v-model="question_title" placeholder="请输入内容" style="width:783px;"></el-input></el-form-item>
  73. <el-form-item label="问题描述:">清晰的描述问题产生的操作流程,问题结果,期望的正确结果;<br>
  74. 如果是涉及到分销佣金、分红、返现等模式计算,要清晰的讲解设置、会员关系、正确的结算结果、错误的计算结果等;<br>
  75. 如果您觉得下方编辑框操作麻烦可使用附件上传按钮 直接上传Word、excel等说明文档。</el-form-item>
  76. <el-form-item >
  77. <tinymce v-model="question_describe"></tinymce>
  78. <div class="form-group" style="margin-bottom:20px;">
  79. <el-upload style="margin-top:20px;" class="upload-demo" :on-remove="removeUP" action="{!!yzWebFullUrl('setting.work-order.upload-file')!!}" :on-success="onSuccess" :before-remove="beforeRemove" multiple :limit="3" :before-upload="beforeUpload" :on-exceed="handleExceed" :file-list="fileList">
  80. <el-button size="small" type="primary">点击上传</el-button>
  81. <div slot="tip" class="el-upload__tip">支持上传excel、word、txt和图片等文件</div>
  82. </el-upload>
  83. </el-form-item>
  84. </div>
  85. </div>
  86. </el-form>
  87. </div>
  88. <div class="block">
  89. <div class="title"><span style="width: 4px;height: 24px;background-color: #29ba9c;margin-right:15px;display:inline-block;"></span><b>加密信息</b><span style="font-size:12px;margin-left:20px;display:inline-block;">加密信息(此部分信息将做加密处理,为方便您的问题尽快处理请放心填写)</span></div>
  90. <div class="password_box" style="padding-left:300px;">
  91. <el-form ref="first_list" :model="first_list" label-width="150px" style="margin-top:20px;">
  92. <el-form-item label="站点网址:">
  93. <el-input v-model="first_list.website_url" :disabled="nameShow" style="width:760px;"></el-input>
  94. </el-form-item>
  95. <el-form-item label="创始人账号:">
  96. <el-input v-model=" first_list.founder_account" style="width:760px;"></el-input>
  97. </el-form-item>
  98. <el-form-item label="创始人密码:">
  99. <el-input type="password" v-model=" first_list.founder_password" style="width:760px;"></el-input>
  100. </el-form-item>
  101. <el-form-item label="服务器IP:">
  102. <el-input v-model=" first_list.server_ip" style="width:760px;"></el-input>
  103. </el-form-item>
  104. <el-form-item label="服务器root密码:">
  105. <el-input type="password" v-model=" first_list.root_password" style="width:760px;"></el-input>
  106. </el-form-item>
  107. <el-form-item label="服务器SSH端口:">
  108. <el-input v-model=" first_list.ssh_port" style="width:760px;"></el-input>
  109. </el-form-item>
  110. <el-form-item label="数据库访问地址:">
  111. <el-input v-model=" first_list.database_address" style="width:760px;"></el-input>
  112. </el-form-item>
  113. <el-form-item label="数据库用户名:">
  114. <el-input v-model=" first_list.database_username" style="width:760px;"></el-input>
  115. </el-form-item>
  116. <el-form-item label="数据库密码:">
  117. <el-input type="password" v-model=" first_list.database_password" style="width:760px;"></el-input>
  118. </el-form-item>
  119. <el-form-item label="网站目录位置:">
  120. <el-input v-model=" first_list.root_directory" style="width:760px;"></el-input>
  121. </el-form-item>
  122. <el-form-item>
  123. 如果您的服务器由官方部署,可不填写网站目录位置!
  124. </el-form-item>
  125. <el-form-item label="联系QQ:" style="margin-top:20px;">
  126. <el-input v-model="first_list.qq" style="width:760px;"></el-input>
  127. </el-form-item>
  128. <el-form-item label="手机号:">
  129. <el-input v-model="first_list.mobile" style="width:760px;"></el-input>
  130. </el-form-item>
  131. </div>
  132. </div>
  133. </div>
  134. </el-form>
  135. <div class="confirm-btn">
  136. <el-button type="primary" @click="submit">提交</el-button>
  137. </div>
  138. </div>
  139. </div>
  140. </template>
  141. </div>
  142. <script src="{{resource_get('static/yunshop/tinymce4.7.5/tinymce.min.js')}}"></script>
  143. <script src="{{resource_get('static/yunshop/tinymceTemplate.js')}}"></script>
  144. <script>
  145. var vm = new Vue({
  146. el: "#app",
  147. delimiters: ['[[', ']]'],
  148. data() {
  149. let site_url = {!! $site_url !!};
  150. let category_list = {!! $category_list !!};
  151. let first_list ={!! $first_list !!};
  152. category_list.map(item => {
  153. item.value = item.id;
  154. item.label = item.name;
  155. })
  156. console.log(first_list,'接的数据');
  157. // 判断为空的时候
  158. if (first_list.length==0) {
  159. return;
  160. }
  161. if (Object.keys(first_list).length!=0) {
  162. for(let key in first_list){
  163. if (first_list[key]==false) {
  164. first_list[key]=''
  165. }
  166. }
  167. }
  168. return {
  169. category_list: category_list,
  170. value: 0,
  171. issubshow: true,
  172. active: 1,
  173. title: '提交工单',
  174. question_title: '', //问题标题,
  175. question_describe: '', //问题描述
  176. site_url: site_url, //站点url
  177. first_list: first_list,
  178. nameShow: false,
  179. fileList: [],
  180. category_id:category_list[1].id , //分类id
  181. thumb_url:[],//文件链接数组
  182. }
  183. },
  184. created() {
  185. console.log(this.category_list)
  186. // this.getCata()
  187. window.addEventListener('beforeunload', e => {
  188. window.onbeforeunload = null
  189. });
  190. },
  191. methods: {
  192. tap(item){
  193. this.category_id = item.id
  194. },
  195. // tapOne() {
  196. // if (this.value == ''&&this.value==0) {
  197. // this.$message.error('请选择分类');
  198. // return;
  199. // }
  200. // this.category_list.map(item => {
  201. // if (item.value == this.value) {
  202. // this.category_id = item.id
  203. // this.title += '--' + item.label
  204. // }
  205. // })
  206. // this.active = 2
  207. // this.issubshow = false
  208. // },
  209. // 上传文件之前的函数
  210. beforeUpload(file){
  211. console.log(file,'文件')
  212. },
  213. delHtmlTag(str){
  214. return str.replace(/<[^>]+>/g,"");//去掉所有的html标记
  215. },
  216. // 提交
  217. submit() {
  218. if (this.question_title=='') {
  219. this.$message.error('请输入问题标题');
  220. return;
  221. }
  222. if (this.question_describe=='') {
  223. this.$message.error('请输入问题描述');
  224. return;
  225. }else{
  226. this.question_describe=this.question_describe.replace(/&nbsp;/ig, "<br>");
  227. }
  228. if (this.first_list.website_url=='') {
  229. this.$message.error('请输入站点网址');
  230. return;
  231. }
  232. if (this.first_list.founder_account=='') {
  233. this.$message.error('请输入创始人账号');
  234. return;
  235. }
  236. if (this.first_list.founder_password=='') {
  237. this.$message.error('请输入创始人密码');
  238. return;
  239. }
  240. if (this.first_list.server_ip=='') {
  241. this.$message.error('请输入服务器ip地址');
  242. return;
  243. }
  244. if (this.first_list.root_password=='') {
  245. this.$message.error('请输入root密码');
  246. return;
  247. }
  248. if (this.first_list.ssh_port=='') {
  249. this.$message.error('请输入端口');
  250. return;
  251. }
  252. if (this.first_list.database_address=='') {
  253. this.$message.error('请输入数据库访问地址');
  254. return;
  255. }
  256. if (this.first_list.database_username=='') {
  257. this.$message.error('请输入数据库用户名');
  258. return;
  259. }
  260. if (this.first_list.database_password=='') {
  261. this.$message.error('请输入数据库密码');
  262. return;
  263. }
  264. if (this.first_list.qq=='') {
  265. this.$message.error('请输入qq');
  266. return;
  267. }
  268. if (this.first_list.mobile=='') {
  269. this.$message.error('请输入手机号');
  270. return;
  271. }
  272. console.log(this.first_list, this.forminfo, '提交的form表单');
  273. console.log(this.category_id, '分类ID');
  274. this.question_describe=this.delHtmlTag(this.question_describe);
  275. let data = {
  276. category_id: this.category_id,
  277. question_title: this.question_title,
  278. question_describe: this.question_describe,
  279. first_list: this.first_list,
  280. thumb_url:this.thumb_url
  281. };
  282. this.$http.post('{!!yzWebFullUrl('setting.work-order.store')!!}', {data}).then(res => {
  283. console.log(res, '99999');
  284. res = res.body;
  285. if (res.result == 1) {
  286. this.$message.success(res.msg);
  287. window.location.href = "{!! yzWebFullUrl('setting.work-order.index') !!}";
  288. } else {
  289. this.$message.error(res.msg)
  290. }
  291. console.log(res, '数据');
  292. })
  293. },
  294. edidInfo() {
  295. console.log('修改显示');
  296. // this.form.name = ''
  297. this.nameShow = true
  298. },
  299. // 上传成功的
  300. onSuccess(res, file, fileList) {
  301. if (res.result == 1) {
  302. this.$message.success('上传成功')
  303. } else {
  304. this.$message.error(res.msg)
  305. }
  306. },
  307. removeUP(file, fileList){
  308. fileList.map(item=>{
  309. this.thumb_url.push(item.response.data.thumb_url);
  310. })
  311. },
  312. beforeRemove(file, fileList) {
  313. return this.$confirm(`确定移除 ${ file.name }?`);
  314. },
  315. handleExceed(files, fileList) {
  316. this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
  317. },
  318. },
  319. })
  320. </script>
  321. @endsection