store-page.blade.php 15 KB

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