import-categorys-vue.blade.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. @extends('layouts.base')
  2. @section('title', '导入分类|刷新token')
  3. @section('content')
  4. <link rel="stylesheet" type="text/css" href="{{static_url('yunshop/goods/vue-goods1.css')}}" />
  5. <link rel="stylesheet" href="{{resource_get('plugins/yz-supply/assent/css/album1.css?time='.time())}}">
  6. <div class="all">
  7. <div id="app" v-cloak>
  8. <div class="vue-head">
  9. <div class="top-title">
  10. <span :class="item.class" v-for="(item,index) in albumTopTitle" @click="skipUrl(item)" :key="index">[[item.name]]</span>
  11. </div>
  12. </div>
  13. <div class="vue-main">
  14. <div class="vue-main-title">
  15. <div class="vue-main-title-left"></div>
  16. <div class="vue-main-title-content">导入分类|刷新token</div>
  17. </div>
  18. <div class="vue-main-form">
  19. <el-row style="margin-left: 15%;margin-bottom:15px;">
  20. <el-select v-model="middleground_configuration_id" placeholder="请选择供应链" clearable @change="cutSupplyChain()" >
  21. <el-option v-for="item,index in middleground_configuration" :key="item.id" :label="item.title" :value="item.id"></el-option>
  22. </el-select>
  23. </el-row>
  24. <el-row style="margin-left: 15%;margin-bottom:15px;">
  25. <el-button type="primary" @click="stepFuc()">[[step_title]]</el-button>
  26. <span style="" class='help-block' v-if="step>0">
  27. [[step_categorys_content]] <br/>
  28. [[step_import_categorys_content]]
  29. </span>
  30. </el-row>
  31. <el-row style="margin-left: 15%;margin-bottom:15px;">
  32. <el-button type="primary" @click="synsCategorys()">同步分类图片</el-button>
  33. <el-button type="primary" @click="clearToken()">刷新token</el-button>
  34. </el-row>
  35. <span style="" class='help-block'>
  36. 导入分类流程:点击获取第三方分类,之后点击导入分类(获取分类完成后才会显示这个按钮),之后耐心等待即可。<br>
  37. 同步分类图片只会调整没有图片的分类。<br>
  38. 同步分类图片需要本地的分类名称与第三方分类名称一致<br>
  39. 刷新token避免提示或者token调整造成原token无效,而无法使用供应链插件的问题<br>
  40. 刷新token会刷新当前平台所有中台配置的token
  41. </span>
  42. </div>
  43. </div>
  44. </div>
  45. </div>
  46. <script>
  47. const GetAccountSetUrl = "{!! yzWebFullUrl('plugin.kart.Backend.Account.Controllers.set.index') !!}";
  48. const SaveAccountSetUrl = "{!! yzWebFullUrl('plugin.kart.Backend.Account.Controllers.set.update') !!}";
  49. </script>
  50. <script>
  51. const mixin = {
  52. data() {
  53. return {
  54. albumTopTitle: [
  55. {
  56. id: 1,
  57. name: "基础设置",
  58. class:"album-name-against",
  59. url:"{!! yzWebFullUrl('plugin.yz-supply.admin.set.index') !!}"
  60. },
  61. {
  62. id: 2,
  63. name: "中台配置列表",
  64. class:"album-name-against",
  65. url:"{!! yzWebFullUrl('plugin.yz-supply.admin.middleground-configuration.index') !!}"
  66. },
  67. {
  68. id: 3,
  69. name: "支付设置",
  70. class:"album-name-against",
  71. url:"{!! yzWebFullUrl('plugin.yz-supply.admin.set.pay') !!}"
  72. },
  73. {
  74. id: 4,
  75. name: "快递匹配",
  76. class:"album-name-against",
  77. url:"{!! yzWebFullUrl('plugin.yz-supply.admin.express-matching.index') !!}"
  78. },
  79. {
  80. id: 5,
  81. name: "导入分类",
  82. class:"album-name",
  83. url:"{!! yzWebFullUrl('plugin.yz-supply.admin.import-categorys.index') !!}"
  84. },
  85. ],
  86. step:0,
  87. step_title:'获取第三方分类',
  88. step_categorys_content:"",//分类内容
  89. step_import_categorys_content:"",//导入内容
  90. import_key:0, //正在导入第几组分类
  91. import_count:0,//已导入数量
  92. step_title_array:[
  93. "获取第三方分类",
  94. "导入分类",
  95. "导入中..."
  96. ],
  97. group_count:0, //分类多少组
  98. data_count:0, //分类个数
  99. middleground_configuration_id:0,
  100. middleground_configuration:{},
  101. payData:[],
  102. speechSynthesisAppId:11
  103. };
  104. },
  105. mounted() {
  106. this.getMiddlegroundConfiguration();
  107. },
  108. methods: {
  109. skipUrl(item){
  110. window.location.href = item.url
  111. },
  112. stepFuc(){
  113. switch (this.step) {
  114. case 0:
  115. this.getCategorys();
  116. break;
  117. case 1:
  118. this.importCategorys();
  119. break;
  120. case 2:
  121. alert("导入开始");
  122. break;
  123. default :
  124. break;
  125. }
  126. },
  127. //获取分类
  128. getCategorys(){
  129. let loading = this.$loading({
  130. target: document.querySelector(".content"),
  131. background: 'rgba(0, 0, 0, 0)'
  132. });
  133. this.$http.post('{!! yzWebFullUrl('plugin.yz-supply.admin.import-categorys.get-categorys-list') !!}', {middleground_configuration_id:this.middleground_configuration_id}).then(function (response) {
  134. if (response.data.result) {
  135. this.data_count = response.data.data.count;
  136. this.group_count = response.data.data.group_count;
  137. this.step_categorys_content = "导入"+this.group_count+"组分类,"+this.data_count+"个分类";
  138. this.step = 1;
  139. this.step_title = this.step_title_array[this.step];
  140. this.$message({message: response.data.msg, type: 'success'});
  141. } else {
  142. this.$message({message: response.data.msg, type: 'error'});
  143. }
  144. loading.close();
  145. }, function (response) {
  146. this.$message({message: response.data.msg, type: 'error'});
  147. })
  148. },
  149. importCategorys(){
  150. let loading = this.$loading({
  151. target: document.querySelector(".content"),
  152. background: 'rgba(0, 0, 0, 0)'
  153. });
  154. this.import_key++;
  155. this.step_import_categorys_content = "正在导入"+(this.import_key)+"组分类,已导入"+this.import_count+"个分类";
  156. this.step = 2;
  157. this.$http.post('{!! yzWebFullUrl('plugin.yz-supply.admin.import-categorys.import-category') !!}', {middleground_configuration_id:this.middleground_configuration_id,key:this.import_key,count:this.import_count}).then(function (response) {
  158. if (response.data.result) {
  159. if(this.import_key >= this.group_count-1){
  160. this.$message({message:'导入完成', type: 'success'});
  161. this.reset();
  162. }else{
  163. this.import_count = response.data.data.count;
  164. this.importCategorys();
  165. }
  166. } else {
  167. this.$message({message: response.data.msg, type: 'error'});
  168. }
  169. loading.close();
  170. }, function (response) {
  171. this.$message({message: response.data.msg, type: 'error'});
  172. })
  173. },
  174. cutSupplyChain(){
  175. this.reset();
  176. this.$message({message:'切换完成', type: 'success'});
  177. },
  178. reset(){
  179. this.step = 0;
  180. this.step_title = this.step_title_array[this.step];
  181. this.step_categorys_content = "";//分类内容
  182. this.step_import_categorys_content = "";//导入内容
  183. this.import_key = 0; //正在导入第几组分类
  184. this.import_count = 0;//已导入数量
  185. this.group_count = 0; //分类多少组
  186. this.data_count = 0; //分类个数
  187. },
  188. getMiddlegroundConfiguration(){
  189. this.$http.post('{!! yzWebFullUrl('plugin.yz-supply.admin.middleground-configuration.get-middleground-configurations') !!}').then(function (response) {
  190. if (response.data.result) {
  191. this.middleground_configuration = response.data.data;
  192. this.middleground_configuration_id = this.middleground_configuration[0].id;
  193. } else {
  194. this.$message({message: response.data.msg, type: 'error'});
  195. }
  196. }, function (response) {
  197. this.$message({message: response.data.msg, type: 'error'});
  198. })
  199. },
  200. synsCategorys(){
  201. let loading = this.$loading({
  202. target: document.querySelector(".content"),
  203. background: 'rgba(0, 0, 0, 0)'
  204. });
  205. this.$http.post('{!! yzWebFullUrl('plugin.yz-supply.admin.import-categorys.sync-categorys-image') !!}', {middleground_configuration_id:this.middleground_configuration_id}).then(function (response) {
  206. if (response.data.result) {
  207. var data_count = response.data.data.data_count;
  208. this.$message({message:"同步完成:第三方分类总数:"+data_count.count+",其中没有图片的:"+data_count.no_image_count+",本地已有图片或者未导入分类:"+data_count.no_loc_categorys_count+",成功填写分类:"+data_count.success_count+"", type: 'success'});
  209. } else {
  210. this.$message({message: response.data.msg, type: 'error'});
  211. }
  212. loading.close();
  213. }, function (response) {
  214. this.$message({message: response.data.msg, type: 'error'});
  215. })
  216. },
  217. clearToken(){
  218. let loading = this.$loading({
  219. target: document.querySelector(".content"),
  220. background: 'rgba(0, 0, 0, 0)'
  221. });
  222. this.$http.post('{!! yzWebFullUrl('plugin.yz-supply.admin.import-categorys.clear-token') !!}', {middleground_configuration_id:this.middleground_configuration_id}).then(function (response) {
  223. if (response.data.result) {
  224. this.$message({message:'刷新成功', type: 'success'});
  225. } else {
  226. this.$message({message: response.data.msg, type: 'error'});
  227. }
  228. loading.close();
  229. }, function (response) {
  230. this.$message({message: response.data.msg, type: 'error'});
  231. })
  232. },
  233. },
  234. };
  235. //* 实例化,提供基础服务
  236. new Vue({
  237. el: "#app",
  238. delimiters: ["[[", "]]"],
  239. mixins: [mixin],
  240. data() {
  241. return {
  242. };
  243. },
  244. methods: {
  245. },
  246. });
  247. </script>
  248. @endsection