aggregateYzSupplyOperation.blade.php 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501
  1. <script>
  2. Vue.component('aggregateYzSupplyOperation', {
  3. props: {
  4. operationType:{
  5. type:Number|String,
  6. default:'',
  7. },
  8. operationOrder:{
  9. type:Object|String,
  10. default:{},
  11. },
  12. dialog_show:{
  13. type:Number,
  14. default:0,
  15. },
  16. },
  17. delimiters: ['[[', ']]'],
  18. data(){
  19. return{
  20. create_order_id:0,
  21. order_price:0,
  22. middleground_configuration_id:"",
  23. balance:0,//中台汇聚余额
  24. yz_supply_pay_order_show:false,
  25. rechargePrice:0,//充值金额
  26. rechargePriceCodeUrl:"",
  27. pay_sn:"",//充值订单号
  28. middleground_refund_form_k:0,
  29. middleground_refund_form_count:[],
  30. freight:[],
  31. technical_services_fee:[],
  32. middleground_refund_form:{
  33. order_item_id:[],
  34. amount:[],
  35. reason_type:[],
  36. reason:[],
  37. description:[],
  38. is_received:[],
  39. detail_images:[],
  40. refund_type:[],
  41. order_goods:[],
  42. is_syn:[],
  43. after_sales_type:[],
  44. freight:[],
  45. technical_services_fee:[],
  46. barter_sku_id:[],
  47. barter_num:[],
  48. refund_way:[],
  49. num:[],
  50. },
  51. middleground_refund_show:false,//同步中台售后弹窗
  52. }
  53. },
  54. watch:{
  55. dialog_show(val) {
  56. if (this.operationType == 'yz-supplier-create-order') {
  57. this.createOrder(this.operationOrder.id);
  58. } else if( this.operationType == 'yz-supplier-unlock-order') {
  59. this.unlockOrder(this.operationOrder.id);
  60. }else if( this.operationType == 'middleground-refund') {
  61. this.middlegroundRefund(this.operationOrder);
  62. }else if( this.operationType == 'refund-list') {
  63. this.seeRefund(this.operationOrder);
  64. }
  65. },
  66. },
  67. mounted: function(){
  68. },
  69. methods:{
  70. seeRefund(order){
  71. var link = '{!! yzWebFullUrl('plugin.yz-supply.admin.refund.index') !!}';
  72. window.location.href = link+"&order_searchs_string="+order.order_sn+"&order_searchs=third_order_sn"+"&middleground_configuration_id="+order.middleground_configuration_id
  73. },
  74. //获取售后数据
  75. middlegroundRefund(order){
  76. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  77. this.$http.post('{!! yzWebFullUrl('plugin.yz-supply.admin.refund.middleground-refund') !!}',{order_id:order['id']}).then(function (response) {
  78. console.log(response.data);
  79. if (response.data.result) {
  80. this.middleground_refund_form_k = 0;
  81. this.middleground_refund_form = response.data.data.refund;
  82. this.middleground_refund_form_count = response.data.data.count;
  83. this.freight = response.data.data.freight; //每个订单可退的最大运费
  84. this.technical_services_fee = response.data.data.technical_services_fee;//每个订单可退的最大技术服务费
  85. this.middleground_refund_form.middleground_configuration_id = response.data.data.middleground_configuration_id;
  86. this.middleground_refund_show = true;
  87. }
  88. else{
  89. this.$message({type: 'error',message: response.data.msg});
  90. }
  91. loading.close();
  92. },function (response) {
  93. this.$message({type: 'error',message: response.data.msg});
  94. loading.close();
  95. }
  96. );
  97. },
  98. //切换子订单售后
  99. middleground_refund_check(index){
  100. this.middleground_refund_form_k = index;
  101. },
  102. //同步售后到中台
  103. confirmSynRefund(){
  104. var middleground_refund_form = this.middleground_refund_form
  105. var freight = [];
  106. var technical_services_fee = [];
  107. var title = [];
  108. for (var i=0;i<middleground_refund_form['is_syn'].length;i++){
  109. if (middleground_refund_form['is_syn'][i] == 1){
  110. if (freight[middleground_refund_form['yz_order_id'][i]] == undefined){
  111. freight[middleground_refund_form['yz_order_id'][i]] = 0;
  112. }
  113. if (technical_services_fee[middleground_refund_form['yz_order_id'][i]] == undefined){
  114. technical_services_fee[middleground_refund_form['yz_order_id'][i]] = 0;
  115. }
  116. if (title[middleground_refund_form['yz_order_id'][i]] == undefined){
  117. title[middleground_refund_form['yz_order_id'][i]] = "";
  118. }
  119. title[middleground_refund_form['yz_order_id'][i]] += ",售后商品"+(i+1);
  120. freight[middleground_refund_form['yz_order_id'][i]] += parseInt(middleground_refund_form['freight'][i]*100)
  121. technical_services_fee[middleground_refund_form['yz_order_id'][i]] += parseInt(middleground_refund_form['technical_services_fee'][i]*100);
  122. if (freight[middleground_refund_form['yz_order_id'][i]]>this.freight[middleground_refund_form['yz_order_id'][i]]){
  123. this.$message({type: 'error',message: title[middleground_refund_form['yz_order_id'][i]]+"相加可退运费最大为"+(this.freight[middleground_refund_form['yz_order_id'][i]]/100).toFixed(2)});
  124. return false;
  125. }
  126. if (technical_services_fee[middleground_refund_form['yz_order_id'][i]]>this.technical_services_fee[middleground_refund_form['yz_order_id'][i]]){
  127. this.$message({type: 'error',message: title[middleground_refund_form['yz_order_id'][i]]+"相加可退技术服务费最大为"+(this.technical_services_fee[middleground_refund_form['yz_order_id'][i]]/100).toFixed(2)});
  128. return false;
  129. }
  130. }
  131. }
  132. this.$confirm('确认同步售后到中台?', '提示', {confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning'}).then(() => {
  133. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  134. this.$http.post('{!! yzWebFullUrl('plugin.yz-supply.admin.refund.refund') !!}',{middleground_refund_form:middleground_refund_form}).then(function (response) {
  135. if (response.data.result) {
  136. this.middleground_refund_show = false;
  137. this.$message({type: 'success',message: '成功!'});
  138. this.getData(this.current_page)
  139. }
  140. else{
  141. this.$message({type: 'error',message: response.data.msg});
  142. }
  143. loading.close();
  144. },function (response) {
  145. this.$message({type: 'error',message: response.data.msg});
  146. loading.close();
  147. }
  148. );
  149. }).catch(() => {
  150. this.$message({type: 'info',message: '已取消'});
  151. });
  152. },
  153. createOrder(order_id) {
  154. this.create_order_id = order_id;
  155. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  156. this.$confirm('确认此订单提交到第三方吗?', '提示', {confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning'}).then(() => {
  157. this.$http.post('{!! yzWebFullUrl('plugin.yz-supply.admin.order-vue-list.create-order') !!}',{order_id:order_id}).then(function (response) {
  158. if (response.data.result) {
  159. //代表需要支付
  160. if(response.data.data.code == 7 && response.data.data.data != undefined && response.data.data.data.code == 1){
  161. this.middleground_configuration_id = response.data.data.middleground_configuration_id;
  162. var order_price = 0
  163. for (i=0;i<response.data.data.data.order_price.length;i++){
  164. order_price += parseInt(response.data.data.data.order_price[i])
  165. }
  166. this.order_price = (order_price/100).toFixed(2);
  167. this.rechargePrice = this.order_price;
  168. this.getBalance()
  169. loading.close();
  170. this.$message({type: 'error',message: response.data.data.msg});
  171. return false;
  172. }
  173. if (response.data.data.length == 0){
  174. this.$message({type: 'success',message: '操作成功'});
  175. loading.close();
  176. this.$parent.getData(this.$parent.current_page)
  177. }else{
  178. loading.close();
  179. this.$message({type: 'error',message: response.data.data.msg});
  180. }
  181. console.log(response.data);
  182. } else{
  183. this.$message({type: 'error',message: response.data.msg});
  184. loading.close();
  185. }
  186. },function (response) {
  187. this.$message({type: 'error',message: response.data.msg});
  188. loading.close();
  189. }
  190. );
  191. }).catch(() => {
  192. this.$message({type: 'info',message: '已取消操作'});
  193. loading.close();
  194. });
  195. },
  196. //不需要确认框版本
  197. createOrder1(order_id) {
  198. this.create_order_id = order_id;
  199. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  200. this.$http.post('{!! yzWebFullUrl('plugin.yz-supply.admin.order-vue-list.create-order') !!}',{order_id:order_id}).then(function (response) {
  201. if (response.data.result) {
  202. //代表需要支付
  203. if(response.data.data.code == 7 && response.data.data.data != undefined && response.data.data.data.code == 1){
  204. this.middleground_configuration_id = response.data.data.middleground_configuration_id;
  205. var order_price = 0
  206. for (i=0;i<response.data.data.data.order_price.length;i++){
  207. order_price += parseInt(response.data.data.data.order_price[i])
  208. }
  209. this.order_price = (order_price/100).toFixed(2);
  210. this.rechargePrice = this.order_price;
  211. this.getBalance()
  212. loading.close();
  213. this.$message({type: 'error',message: response.data.data.msg});
  214. return false;
  215. }
  216. if (response.data.data.length == 0){
  217. this.$message({type: 'success',message: '操作成功'});
  218. loading.close();
  219. this.$parent.getData(this.$parent.current_page)
  220. }else{
  221. this.$message({type: 'error',message: response.data.data.msg});
  222. }
  223. console.log(response.data);
  224. } else{
  225. this.$message({type: 'error',message: response.data.msg});
  226. loading.close();
  227. }
  228. },function (response) {
  229. this.$message({type: 'error',message: response.data.msg});
  230. loading.close();
  231. }
  232. );
  233. },
  234. //获取中台汇聚余额
  235. getBalance(){
  236. this.$http.post('{!! yzWebFullUrl('plugin.yz-supply.admin.order-vue-list.get-balance') !!}',{middleground_configuration_id:this.middleground_configuration_id}).then(function (response) {
  237. if (response.data.result) {
  238. this.balance = response.data.data.price;
  239. this.yz_supply_pay_order_show = true;
  240. this.$message({type: 'success',message: '操作成功'});
  241. } else{
  242. this.$message({type: 'error',message: response.data.msg});
  243. }
  244. },function (response) {
  245. this.$message({type: 'error',message: response.data.msg});
  246. }
  247. );
  248. },
  249. getRechargeStatus(){
  250. this.$http.post('{!! yzWebFullUrl('plugin.yz-supply.admin.order-vue-list.get-recharge-status') !!}',{middleground_configuration_id:this.middleground_configuration_id,pay_sn:this.pay_sn}).then(function (response) {
  251. if (response.data.result) {
  252. console.log(response.data.data.data);
  253. //充值状态为0 充值弹窗显示,充值二维码存在 就一直轮询查询到充值成功为止
  254. if(response.data.data.data.pay_status == 0 ){
  255. if(this.yz_supply_pay_order_show != true || this.rechargePriceCodeUrl == ""){
  256. return;
  257. }
  258. setTimeout(() => {
  259. this.getRechargeStatus()
  260. }, 1000);
  261. return
  262. }
  263. this.yz_supply_pay_order_show = false;
  264. this.rechargePriceCodeUrl = "";
  265. this.createOrder1(this.create_order_id);
  266. this.$message({type: 'success',message: '充值成功'});
  267. } else{
  268. loading.close();
  269. this.$message({type: 'error',message: response.data.msg});
  270. }
  271. },function (response) {
  272. loading.close();
  273. this.$message({type: 'error',message: response.data.msg});
  274. }
  275. );
  276. },
  277. //充值
  278. yzSupplyRecharge(){
  279. if (this.rechargePrice <= 0){
  280. this.$message({type: 'error',message: "请输入充值金额"});
  281. return
  282. }
  283. this.rechargePriceCodeUrl = "";
  284. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  285. this.$http.post('{!! yzWebFullUrl('plugin.yz-supply.admin.order-vue-list.yz-supply-recharge-price') !!}',{middleground_configuration_id:this.middleground_configuration_id,recharge_price:this.rechargePrice}).then(function (response) {
  286. if (response.data.result) {
  287. this.rechargePriceCodeUrl = response.data.data.data.rd_Pic;
  288. this.pay_sn = response.data.data.data.r2_OrderNo;
  289. this.getRechargeStatus();
  290. console.log(response.data.data.data);
  291. loading.close();
  292. this.$message({type: 'success',message: '操作成功'});
  293. } else{
  294. loading.close();
  295. this.$message({type: 'error',message: response.data.msg});
  296. }
  297. },function (response) {
  298. loading.close();
  299. this.$message({type: 'error',message: response.data.msg});
  300. }
  301. );
  302. },
  303. unlockOrder(order_id) {
  304. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  305. this.$confirm('确认解锁订单?', '提示', {confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning'}).then(() => {
  306. this.$http.post('{!! yzWebFullUrl('plugin.yz-supply.admin.order-vue-list.unlock-order') !!}',{order_id:order_id}).then(function (response) {
  307. if (response.data.result) {
  308. this.$message({type: 'success',message: '操作成功'});
  309. loading.close();
  310. this.$parent.getData(this.$parent.current_page)
  311. } else{
  312. this.$message({type: 'error',message: response.data.msg});
  313. loading.close();
  314. }
  315. },function (response) {
  316. this.$message({type: 'error',message: response.data.msg});
  317. loading.close();
  318. }
  319. );
  320. }).catch(() => {
  321. this.$message({type: 'info',message: '已取消操作'});
  322. loading.close();
  323. });
  324. },
  325. },
  326. template: `<div>
  327. <el-dialog :visible.sync="yz_supply_pay_order_show" width="750px" title="汇聚充值">
  328. <el-row style="margin-left: 15%;margin-bottom:15px; ">
  329. <el-input v-model="rechargePrice" placeholder="" style="width:70%;"></el-input>
  330. <el-button type="primary" @click="yzSupplyRecharge()">充值</el-button>
  331. </el-row>
  332. <div v-if="rechargePriceCodeUrl != ''" >
  333. <div style="display: flex;justify-content: center; margin-bottom: 10px;">
  334. <img :src="this.rechargePriceCodeUrl" alt="" style="width:150px;height:150px;border-radius: 5px;cursor: pointer;">
  335. </div>
  336. <p style="color: red;" align="center">*充值之后,自动提交本订单,请检查是否存在未自动提交订单</p>
  337. </div>
  338. <div style="height:300px;overflow:auto" id="close-order">
  339. <div style="background:#eff3f6;border-radius:8px;padding:20px 10px;color:#000;font-weight:500;line-height:36px;">
  340. <div style="font-size:16px;font-weight:600;color:#000">信息</div>
  341. <div>
  342. <div style="display:inline-block;width:150px;text-align:right;margin-right:30px">汇聚余额</div>
  343. <div style="display:inline-block;">[[balance?balance:0]]</div>
  344. </div>
  345. <div>
  346. <div style="display:inline-block;width:150px;text-align:right;margin-right:30px">订单金额</div>
  347. <div style="display:inline-block;">[[order_price?order_price:"获取失败"]]</div>
  348. </div>
  349. </div>
  350. </div>
  351. <span slot="footer" class="dialog-footer">
  352. <el-button @click="yz_supply_pay_order_show = false">取 消</el-button>
  353. </span>
  354. </el-dialog>
  355. <el-dialog :visible.sync="middleground_refund_show" width="650px" title="同步售后到中台">
  356. <el-form ref="refund_pass_form" :model="middleground_refund_form">
  357. <span v-for="(item1,index1) in middleground_refund_form_count">
  358. <el-button v-if="index1 != middleground_refund_form_k" style="margin-left: 5px;" @click="middleground_refund_check(index1)">[[item1.title]]</el-button>
  359. <el-button v-else type="primary" style="margin-left: 5px;" @click="middleground_refund_check(index1)">[[item1.title]]</el-button>
  360. </span>
  361. <div v-if="middleground_refund_form.order_goods[middleground_refund_form_k]" class="vue-head">
  362. <div class="vue-main-title">
  363. <div class="vue-main-title-left"></div>
  364. <div class="vue-main-title-content">商品信息(仅为商城的商品信息)</div>
  365. </div>
  366. <div class="vue-main-form">
  367. <el-table :data="middleground_refund_form.order_goods[middleground_refund_form_k]" style="width: 100%">
  368. <el-table-column prop="goods_id" label="商品ID" width="100" align="center"></el-table-column>
  369. <el-table-column prop="" label="商品" width="60" align="center">
  370. <template slot-scope="scope">
  371. <img :src="scope.row.thumb" style="width:50px;height:50px;">
  372. </template>
  373. </el-table-column>
  374. <el-table-column prop="down_time" label="" min-width="180" align="left">
  375. <template slot-scope="scope">
  376. <div class="list-con-goods-title"
  377. style="color:#29BA9C;cursor: pointer;"
  378. @click="gotoGoods(scope.row.goods_id)">
  379. [[scope.row.title]]
  380. </div>
  381. <div class="list-con-goods-option">规格: [[scope.row.goods_option_title]]</div>
  382. <div class="list-con-goods-option">数量: [[scope.row.total]]</div>
  383. </template>
  384. </el-table-column>
  385. <el-table-column prop="down_time" label="商品价格" min-width="230" align="center">
  386. <template slot-scope="scope">
  387. <div>
  388. <div style="display:flex;justify-content: center;">
  389. <div style="flex:1;text-align:right">现价:</div>
  390. <div style="flex:1;text-align:left">¥[[scope.row.goods_price]]</div>
  391. </div>
  392. <div style="display:flex;justify-content: center;">
  393. <div style="flex:1;text-align:right">原价:</div>
  394. <div style="flex:1;text-align:left">¥[[scope.row.goods_market_price]]</div>
  395. </div>
  396. <div style="display:flex;justify-content: center;">
  397. <div style="flex:1;text-align:right">成本价:</div>
  398. <div style="flex:1;text-align:left">¥[[scope.row.goods_cost_price]]</div>
  399. </div>
  400. <div style="display:flex;justify-content: center;">
  401. <div style="flex:1;text-align:right">均摊支付:</div>
  402. <div style="flex:1;text-align:left">¥[[scope.row.payment_amount]]</div>
  403. </div>
  404. </div>
  405. </template>
  406. </el-table-column>
  407. </el-table>
  408. </div>
  409. </div>
  410. <el-form-item label="是否同步到中台" prop="refund_type">
  411. <el-radio v-model.number="middleground_refund_form.is_syn[middleground_refund_form_k]" :label="1">是</el-radio>
  412. <el-radio v-model.number="middleground_refund_form.is_syn[middleground_refund_form_k]" :label="0">否</el-radio>
  413. </el-form-item>
  414. <el-form-item label="服务类型" prop="refund_type">
  415. <el-radio v-for="(item,value) in middleground_refund_form.after_sales_type[middleground_refund_form_k]" v-model.number="middleground_refund_form.refund_type[middleground_refund_form_k]" :label="value">[[item]]</el-radio>
  416. </el-form-item>
  417. <el-form-item label="换货商品规格" prop="refund_type" v-if="middleground_refund_form.refund_type[middleground_refund_form_k] == 2">
  418. <el-radio v-for="(item,value) in middleground_refund_form.after_sales_goods_options[middleground_refund_form_k]" v-model.number="middleground_refund_form.barter_sku_id[middleground_refund_form_k]" :label="item.id">[[item.title]]</el-radio>
  419. </el-form-item>
  420. <el-form-item label="" prop="refund_type" v-if="middleground_refund_form.refund_type[middleground_refund_form_k] == 2">
  421. 换货商品数量:
  422. <el-input v-model="middleground_refund_form.barter_num[middleground_refund_form_k]" placeholder="换货商品数量"></el-input>
  423. </el-form-item>
  424. <el-form-item label="货物状态" prop="is_received" v-if="middleground_refund_form.refund_type[middleground_refund_form_k] != 2">
  425. <el-radio v-model.number="middleground_refund_form.is_received[middleground_refund_form_k]" :label="1">已收到货</el-radio>
  426. <el-radio v-model.number="middleground_refund_form.is_received[middleground_refund_form_k]" :label="0">未收到货</el-radio>
  427. </el-form-item>
  428. <el-form-item label="" v-if="middleground_refund_form.refund_type[middleground_refund_form_k] != 2">
  429. 申请原因:
  430. <el-input v-model="middleground_refund_form.reason[middleground_refund_form_k]" :rows="3" type="textarea"></el-input>
  431. </el-form-item>
  432. <el-form-item label="退款方式" prop="refund_way" v-if="middleground_refund_form.refund_type[middleground_refund_form_k] != 2">
  433. <el-radio v-model.number="middleground_refund_form.refund_way[middleground_refund_form_k]" :label="0">自定义金额</el-radio>
  434. <el-radio v-model.number="middleground_refund_form.refund_way[middleground_refund_form_k]" :label="1">商品个数</el-radio>
  435. </el-form-item>
  436. <el-form-item label="" v-if="middleground_refund_form.refund_type[middleground_refund_form_k] != 2 && middleground_refund_form.refund_way[middleground_refund_form_k] == 0">
  437. 退款金额:
  438. <el-input v-model="middleground_refund_form.amount[middleground_refund_form_k]" placeholder="退款金额"></el-input>
  439. </el-form-item>
  440. <el-form-item label="" v-if="middleground_refund_form.refund_type[middleground_refund_form_k] != 2 && middleground_refund_form.refund_way[middleground_refund_form_k] == 1">
  441. 退款商品个数:
  442. <el-input v-model="middleground_refund_form.num[middleground_refund_form_k]" placeholder="退款商品个数"></el-input>
  443. </el-form-item>
  444. <el-form-item label="" v-if="middleground_refund_form.refund_type[middleground_refund_form_k] != 2 ">
  445. 退款运费金额:
  446. <el-input v-model="middleground_refund_form.freight[middleground_refund_form_k]" placeholder="退款金额"></el-input>
  447. </el-form-item>
  448. <el-form-item label="" v-if="middleground_refund_form.refund_type[middleground_refund_form_k] != 2">
  449. 退款技术服务费金额:
  450. <el-input v-model="middleground_refund_form.technical_services_fee[middleground_refund_form_k]" max="" placeholder="退款金额"></el-input>
  451. </el-form-item>
  452. <el-form-item label="">
  453. <span v-if="middleground_refund_form.refund_type[middleground_refund_form_k] != 2">
  454. 退款说明:
  455. </span>
  456. <span v-else>
  457. 换货说明:
  458. </span>
  459. <el-input v-model="middleground_refund_form.description[middleground_refund_form_k]" :rows="3" type="textarea"></el-input>
  460. </el-form-item>
  461. </el-form>
  462. <span slot="footer" class="dialog-footer">
  463. <el-button @click="middleground_refund_show = false">取 消</el-button>
  464. <el-button type="primary" @click="confirmSynRefund()">确 认</el-button>
  465. </span>
  466. </el-dialog>
  467. </div> `,
  468. });
  469. </script>