FusionChart的饼图和柱状图

11JSP页面 2 3<%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%> 4<script type="text/javascript"> 5$(function(){ 6 $('#gys').combobox({ 7 url:'${pageContext.request.contextPath}/admin/crmUnitController/allTreeNode.do', 8 valueField:'id', 9 textField:'name', 10 panelHeight:'100px', 11 editable:false, 12 panelWidth:155, 13 onSelect:function(record){ 14 $('#gysid1').val(record.id); 15 } 16 }); 17 $('#ckid').combobox({ 18 url:'${pageContext.request.contextPath}/admin/drpStoreController/treeNodeAll.do', 19 valueField:'id', 20 textField:'name', 21 panelHeight:'100px', 22 editable:false, 23 panelWidth:155, 24 onSelect:function(record){ 25 $('#ck1').val(record.id); 26 } 27 }); 28 $('#jsr').combobox({ 29 url:'${pageContext.request.contextPath}/admin/userController/allTreeNode.do', 30 valueField:'id', 31 textField:'nickname', 32 panelHeight:'100px', 33 editable:false, 34 panelWidth:155, 35 onSelect:function(record){ 36 $('#jsrid1').val(record.id); 37 } 38 }); 39}); 40function toSub(){ 41 var gys=$('#gysid1').val(); 42 var ck=$('#ck1').val(); 43 var jsr=$('#jsrid1').val(); 44 var rkstart=$('#rkstart1').val(); 45 var rkend=$('#rkend1').val(); 46 var tu=$('#tu').val(); 47 $.ajax({ 48 url :'${pageContext.request.contextPath }/admin/inStockDetailController/chart2tj.do?gys='+gys+'&ckid='+ck+'&jsr='+jsr+'&rkstart='+rkstart+'&rkend='+rkend+'&tu='+tu, 49 dataType : 'json', 50 success : function(result) { 51 if (result.success) { 52 if(tu==1){ 53 pie(result.msg); 54 }else{ 55 bar(result.msg); 56 } 57 } 58 } 59 }); 60} 61</script> 62<script type="text/javascript" src='${pageContext.request.contextPath }/fusioncharts/FusionCharts.js'></script> 63<script type="text/javascript"> 64 //3D饼状图 65 function pie(str){ 66 var chart = new FusionCharts('${pageContext.request.contextPath }/fusioncharts/FusionCharts/Pie3D.swf', "ChartId", "600", "350"); 67 console.info(str); 68 chart.setDataXML(str); 69 chart.render("chartdiv"); 70 } 71 //3D柱状图 72 function bar(str){ 73 var chart = new FusionCharts('${pageContext.request.contextPath }/fusioncharts/FusionCharts/Column3D.swf', "ChartId", "600", "350"); 74 chart.setDataXML(str); 75 chart.render("chartdiv"); 76 } 77 function cgtj_cleanFun() { 78 $('#cgtj_searchForm input').val(''); 79 $('#cgtj_searchForm').datagrid('load', {}); 80 } 81</script> 82<div class="easyui-layout" data-options="fit : true,border : false"> 83 <div data-options="region:'north',title:'查询条件',border:false" style="height: 185px;overflow: hidden;" align="center"> 84 <form id="cgtj_searchForm"> 85 <table class="tableForm"> 86 <caption style="margin-top: 10px"> 87 <span><font size="6">采购统计</font> 88 </span> 89 </caption> 90 <tr> 91 <th>供货商</th> 92 <td><input id="gys" name="gys" type="text" 93 class="easyui-combotree" 94 data-options="url:'${pageContext.request.contextPath}/admin/crmUnitController/allTreeNode.do',parentField : 'pid',lines : true,panelHeight:'100px'" 95 missingMessage="请选择供货商" style="width: 155px;" /></td> 96 <th>所在仓库</th> 97 <td><input id="ckid" name="ckid" type="text" 98 class="easyui-combotree" 99 data-options="url:'${pageContext.request.contextPath}/admin/drpStoreController/treeNodeAll.do',parentField : 'pid',lines : true,panelHeight:'100px'" 100 style="width: 155px;" /></td> 101 <th>统计图类型</th> 102 <td align="center"><select id="tu"><option value="1">饼状图</option> 103 <option value="2">柱状图</option> 104 </select></td> 105 </tr> 106 <tr> 107 <th>经手人</th> 108 <td><input id="gysid1" type="hidden"> <input id="ck1" 109 type="hidden"> <input id="jsrid1" type="hidden"> <input 110 id="jsr" name="jsr" class="easyui-combotree" 111 data-options="url:'${pageContext.request.contextPath}/admin/userController/allTreeNode.do',parentField : 'pid',lines : true,panelHeight:'100px'" 112 style="width: 155px;" /> 113 </td> 114 <th>入库日期</th> 115 <td colspan="3"><input id="rkstart1" 116 name="modifydatetimeStart" 117 onFocus="WdatePicker({readOnly:true,dateFmt:'yyyy-MM-dd HH:mm:ss'})" /><input 118 id="rkend1" name="modifydatetimeEnd" 119 onFocus="WdatePicker({readOnly:true,dateFmt:'yyyy-MM-dd HH:mm:ss'})" /> 120 </td> 121 </tr> 122 </table> 123 <a href="javascript:void(0);" class="easyui-linkbutton" data-options="iconCls:'icon-search',plain:true" onclick="toSub();">过滤条件</a> <a href="javascript:void(0);" class="easyui-linkbutton" data-options="iconCls:'icon-cancel',plain:true" onclick="cgtj_cleanFun();">清空条件</a> 124 </form> 125 </div> 126 <div data-options="region:'center',border:false" align="center"> 127 <table style="width: 100%"> 128 <caption style="background-color:#E0ECFF;height: 30px;" >&nbsp;</caption> 129 <tr> 130 <td><div id="chartdiv" align="center"><br/><br/><br/><br/><br/><br/><br/>无数据显示</div> </td> 131 </tr> 132 </table> 133 </div> 134</div> 135 1362、Controller 137 138package com.xx.controller.drp; 139 140import java.text.DecimalFormat; 141import java.text.SimpleDateFormat; 142import java.util.Date; 143import java.util.List; 144 145import javax.servlet.http.HttpServletRequest; 146 147import org.springframework.beans.factory.annotation.Autowired; 148import org.springframework.beans.propertyeditors.CustomDateEditor; 149import org.springframework.stereotype.Controller; 150import org.springframework.web.bind.ServletRequestDataBinder; 151import org.springframework.web.bind.annotation.InitBinder; 152import org.springframework.web.bind.annotation.RequestMapping; 153import org.springframework.web.bind.annotation.ResponseBody; 154 155import com.xx.pageModel.base.DataGrid; 156import com.xx.pageModel.base.Json; 157import com.xx.pageModel.drp.InStockDetailPage; 158import com.xx.service.drp.InStockDetailServiceI; 159 160@Controller 161@RequestMapping("/admin/inStockDetailController") 162public class InStockDetailController { 163 164 private InStockDetailServiceI inStockDetailService; 165 166 public InStockDetailServiceI getInStockDetailService() { 167 return inStockDetailService; 168 } 169 170 @Autowired 171 public void setInStockDetailService(InStockDetailServiceI inStockDetailService) { 172 this.inStockDetailService = inStockDetailService; 173 } 174 175 176 177 /** 178 * 采购统计部分 179 * */ 180 @RequestMapping("/chart2tj") 181 @ResponseBody 182 public Json chart2Bdrs(InStockDetailPage isp,HttpServletRequest request) { 183 //格式化数字 184 Json j = new Json(); 185 List<InStockDetailPage> list = inStockDetailService.combobox2tj(isp); 186 StringBuffer strXML= new StringBuffer(); 187 if(isp.getTu()==1 ){ 188 strXML.append("<graph caption='采购商品数量统计' xAxisName='商品名称' yAxisName='数量' decimalPrecision='2' formatNumberScale='0' showNames='1' numberSuffix='个' baseFontSize='12' bgcolor='EEEFFF' aboutMenuItemLabel='关于我们' aboutMenuItemLink='http://www.lwkjsoft.com/'>"); 189 for(InStockDetailPage i : list){ 190 strXML.append("<set name='"+i.getGname()+"' value='"+i.getTnum()+"' color='#"+forColor()+"' />"); 191 } 192 }else if(isp.getTu()==2){ 193 strXML.append("<graph caption='采购商品数量比例统计' xAxisName='商品名称' yAxisName='百分比' decimalPrecision='2' formatNumberScale='0' showNames='1' numberSuffix='%' baseFontSize='12' bgcolor='FFFEEE' aboutMenuItemLabel='关于我们' aboutMenuItemLink='http://www.lwkjsoft.com/'>"); 194 int countA = 0; 195 for(InStockDetailPage i:list){ 196 countA += i.getTnum(); 197 } 198 if(countA>0){ 199 DecimalFormat df = new DecimalFormat("0.0000"); 200 for(InStockDetailPage i:list){ 201 if(i.getTnum()>0){ 202 strXML.append("<set name='"+i.getGname()+"' value='"+df.format(i.getTnum().doubleValue()/countA*100)+"' color='#"+forColor()+"' />"); 203 }else{ 204 strXML.append("<set name='"+i.getGname()+"' value='0' color='#"+forColor()+"' />"); 205 } 206 } 207 } 208 } 209 strXML.append("</graph>"); 210 try { 211 j.setSuccess(true); 212 j.setMsg(strXML.toString()); 213 j.setObj(null); 214 } catch (Exception e) { 215 e.printStackTrace(); 216 } 217 return j; 218 } 219 //生成6位码颜色值 220 private String forColor(){ 221 String[] strs ={"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"}; 222 StringBuffer color = new StringBuffer(); 223 for(int i=0;i<=5;i++){ 224 int j = (int) (Math.random()*10000%16); 225 color.append(strs[j]); 226 } 227 return color.toString(); 228 } 229 230} 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261package com.xx.service.impl.drp; 262 263import java.util.ArrayList; 264import java.util.HashMap; 265import java.util.List; 266import java.util.Map; 267import java.util.UUID; 268 269import org.springframework.beans.BeanUtils; 270import org.springframework.beans.factory.annotation.Autowired; 271import org.springframework.cache.annotation.CacheEvict; 272import org.springframework.cache.annotation.Cacheable; 273import org.springframework.jdbc.core.JdbcTemplate; 274import org.springframework.stereotype.Service; 275 276import com.xx.dao.base.BaseDaoI; 277import com.xx.model.base.Goods; 278import com.xx.model.drp.InStockDetail; 279import com.xx.pageModel.base.DataGrid; 280import com.xx.pageModel.drp.InStockDetailPage; 281import com.xx.service.drp.InStockDetailServiceI; 282 283@Service("inStockDetailService") 284public class InStockDetailServiceImpl implements InStockDetailServiceI { 285 286 private BaseDaoI<InStockDetail> inStockDetailDao; 287 288 public BaseDaoI<InStockDetail> getInStockDetailDao() { 289 return inStockDetailDao; 290 } 291 292 @Autowired 293 public void setInStockDetailDao(BaseDaoI<InStockDetail> inStockDetailDao) { 294 this.inStockDetailDao = inStockDetailDao; 295 } 296 private BaseDaoI<Goods> goodsDao; 297 298 public BaseDaoI<Goods> getGoodsDao() { 299 return goodsDao; 300 } 301 302 @Autowired 303 public void setGoodsDao(BaseDaoI<Goods> goodsDao) { 304 this.goodsDao = goodsDao; 305 } 306 307 308 @Override 309 public List<InStockDetailPage> combobox2tj( InStockDetailPage isp) { 310 List<InStockDetailPage> nl = new ArrayList<InStockDetailPage>(); 311 StringBuffer sql = new StringBuffer(); 312 sql.append( "select d.incode from drp_instock d where d.status=1 "); 313 if(isp.getCkid()!=null&&!isp.getCkid().equals("")){ 314 sql.append( " and d.rhck='"+isp.getCkid()+"' "); 315 } 316 if(isp.getJsr()!=null&&!isp.getJsr().equals("")){ 317 sql.append(" and d.jsr='"+isp.getJsr()+"' "); 318 } 319 320 if(isp.getRkstart()!=null&&!isp.getRkstart().equals("")){ 321 sql.append(" and d.indate >='"+isp.getRkstart()+"' "); 322 } 323 324 if(isp.getRkend()!=null&&!isp.getRkend().equals("")){ 325 sql.append(" and d.indate <='"+isp.getRkend()+"' "); 326 } 327 328 if(isp.getGys()!=null&&!isp.getGys().equals("")){ 329 sql.append( " and d.gys >='"+isp.getGys()+"' "); 330 } 331 String hql = "select t.gid gid,sum(t.num) tsum from drp_instockdetail t where 1=1 and t.inid in ("+sql.toString()+") group by t.gid"; 332 JdbcTemplate jt = goodsDao.getJdbcTemplate(); 333 List<Map<String, Object>> list=jt.queryForList(hql, new Object[]{}); 334 for (Map<String,Object> m :list) { 335 InStockDetailPage isdp = new InStockDetailPage(); 336 isdp.setGid(m.get("gid").toString()); 337 int num = 0; 338 try { 339 num =Integer.parseInt(m.get("tsum").toString()); 340 } catch (Exception e) { 341 num = 0; 342 } 343 isdp.setGname(goodsDao.get(Goods.class, isdp.getGid()).getName()); 344 isdp.setDid(UUID.randomUUID().toString()); 345 isdp.setTnum(num); 346 nl.add(isdp); 347 } 348 return nl; 349 } 350} 351 3524、BaseDaoImpl 353 354package com.xx.dao.impl.base; 355 356import java.io.Serializable; 357import java.sql.Connection; 358import java.sql.SQLException; 359import java.util.ArrayList; 360import java.util.List; 361import java.util.Map; 362 363import org.hibernate.Query; 364import org.hibernate.Session; 365import org.hibernate.SessionFactory; 366import org.springframework.beans.factory.annotation.Autowired; 367import org.springframework.dao.DataAccessException; 368import org.springframework.dao.EmptyResultDataAccessException; 369import org.springframework.jdbc.core.JdbcTemplate; 370import org.springframework.stereotype.Repository; 371import com.xx.dao.base.BaseDaoI; 372import com.xx.util.base.BeanUtil; 373 374@Repository("baseDao") 375public class BaseDaoImpl<T> implements BaseDaoI<T> { 376 377 private JdbcTemplate jdbcTemplate; 378 private SessionFactory sessionFactory; 379 380 public SessionFactory getSessionFactory() { 381 return sessionFactory; 382 } 383 384 @Autowired 385 public void setSessionFactory(SessionFactory sessionFactory) { 386 this.sessionFactory = sessionFactory; 387 } 388 389 private Session getCurrentSession() { 390 return this.sessionFactory.getCurrentSession(); 391 } 392 393 @Override 394 public Serializable save(T o) { 395 return this.getCurrentSession().save(o); 396 } 397 398 @SuppressWarnings("unchecked") 399 @Override 400 public T get(Class<T> c, Serializable id) { 401 return (T) this.getCurrentSession().get(c, id); 402 } 403 404 @SuppressWarnings("unchecked") 405 @Override 406 public T get(String hql) { 407 Query q = this.getCurrentSession().createQuery(hql); 408 List<T> l = q.list(); 409 if (l != null && l.size() > 0) { 410 return l.get(0); 411 } 412 return null; 413 } 414 415 @SuppressWarnings("unchecked") 416 @Override 417 public T get(String hql, Map<String, Object> params) { 418 Query q = this.getCurrentSession().createQuery(hql); 419 if (params != null && !params.isEmpty()) { 420 for (String key : params.keySet()) { 421 q.setParameter(key, params.get(key)); 422 } 423 } 424 List<T> l = q.list(); 425 if (l != null && l.size() > 0) { 426 return l.get(0); 427 } 428 return null; 429 } 430 431 @Override 432 public void delete(T o) { 433 this.getCurrentSession().delete(o); 434 } 435 436 @Override 437 public void update(T o) { 438 this.getCurrentSession().update(o); 439 } 440 441 @Override 442 public void saveOrUpdate(T o) { 443 this.getCurrentSession().saveOrUpdate(o); 444 } 445 446 @SuppressWarnings("unchecked") 447 @Override 448 public List<T> find(String hql) { 449 Query q = this.getCurrentSession().createQuery(hql); 450 return q.list(); 451 } 452 453 @SuppressWarnings("unchecked") 454 @Override 455 public List<T> find(String hql, Map<String, Object> params) { 456 Query q = this.getCurrentSession().createQuery(hql); 457 if (params != null && !params.isEmpty()) { 458 for (String key : params.keySet()) { 459 q.setParameter(key, params.get(key)); 460 } 461 } 462 return q.list(); 463 } 464 465 @SuppressWarnings("unchecked") 466 @Override 467 public List<T> find(String hql, List<Object> param) { 468 Query q = this.getCurrentSession().createQuery(hql); 469 if (param != null && param.size() > 0) { 470 for (int i = 0; i < param.size(); i++) { 471 q.setParameter(i, param.get(i)); 472 } 473 } 474 return q.list(); 475 } 476 477 @SuppressWarnings("unchecked") 478 @Override 479 public List<T> find(String hql, List<Object> param,int page, int rows) { 480 Query q = this.getCurrentSession().createQuery(hql); 481 if (param != null && param.size() > 0) { 482 for (int i = 0; i < param.size(); i++) { 483 q.setParameter(i, param.get(i)); 484 } 485 } 486 return q.setFirstResult((page - 1) * rows).setMaxResults(rows).list(); 487 } 488 @SuppressWarnings("unchecked") 489 @Override 490 public List<T> find(String hql, Map<String, Object> params, int page, 491 int rows) { 492 Query q = this.getCurrentSession().createQuery(hql); 493 if (params != null && !params.isEmpty()) { 494 for (String key : params.keySet()) { 495 q.setParameter(key, params.get(key)); 496 } 497 } 498 return q.setFirstResult((page - 1) * rows).setMaxResults(rows).list(); 499 } 500 501 @SuppressWarnings("unchecked") 502 @Override 503 public List<T> find(String hql, int page, int rows) { 504 Query q = this.getCurrentSession().createQuery(hql); 505 return q.setFirstResult((page - 1) * rows).setMaxResults(rows).list(); 506 } 507 508 @Override 509 public Long count(String hql) { 510 Query q = this.getCurrentSession().createQuery(hql); 511 return (Long) q.uniqueResult(); 512 } 513 514 @Override 515 public Long count(String hql, Map<String, Object> params) { 516 Query q = this.getCurrentSession().createQuery(hql); 517 if (params != null && !params.isEmpty()) { 518 for (String key : params.keySet()) { 519 q.setParameter(key, params.get(key)); 520 } 521 } 522 return (Long) q.uniqueResult(); 523 } 524 525 @Override 526 public Long count(String hql, List<Object> param) { 527 Query q = this.getCurrentSession().createQuery(hql); 528 if (param != null && param.size() > 0) { 529 for (int i = 0; i < param.size(); i++) { 530 q.setParameter(i, param.get(i)); 531 } 532 } 533 return (Long) q.uniqueResult(); 534 } 535 536 @Override 537 public int executeHql(String hql) { 538 Query q = this.getCurrentSession().createQuery(hql); 539 return q.executeUpdate(); 540 } 541 542 @Override 543 public int executeHql(String hql, Map<String, Object> params) { 544 Query q = this.getCurrentSession().createQuery(hql); 545 if (params != null && !params.isEmpty()) { 546 for (String key : params.keySet()) { 547 q.setParameter(key, params.get(key)); 548 } 549 } 550 return q.executeUpdate(); 551 } 552 553 // execute sql 554 @Override 555 public JdbcTemplate getJdbcTemplate() { 556 return jdbcTemplate; 557 } 558 559 @Autowired 560 public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { 561 this.jdbcTemplate = jdbcTemplate; 562 } 563 564 /** 565 * 使用指定的检索标准检索数据并分页返回数据 566 */ 567 @Override 568 public List<Map<String, Object>> findForJdbc(String sql, int page, int rows) { 569 int beginNum = (page - 1) * rows; 570 sql = "select * from ( " + sql + ") sel_tab00 limit " + beginNum + "," 571 + rows; 572 return this.jdbcTemplate.queryForList(sql); 573 } 574 575 /** 576 * 使用指定的检索标准检索数据并分页返回数据 577 * 578 * @throws IllegalAccessException 579 * @throws InstantiationException 580 */ 581 @Override 582 public List<T> findObjForJdbc(String sql, int page, int rows, Class<T> clazz) { 583 List<T> rsList = new ArrayList<T>(); 584 int beginNum = (page - 1) * rows; 585 sql = "select * from ( " + sql + ") sel_tab00 limit " + beginNum + "," 586 + rows; 587 List<Map<String, Object>> mapList = jdbcTemplate.queryForList(sql); 588 589 T po = null; 590 for (Map<String, Object> m : mapList) { 591 try { 592 po = clazz.newInstance(); 593 BeanUtil.copyMap2Bean_Nobig(po, m); 594 rsList.add(po); 595 } catch (Exception e) { 596 e.printStackTrace(); 597 } 598 } 599 return rsList; 600 } 601 602 /** 603 * 使用指定的检索标准检索数据并分页返回数据-采用预处理方式 604 * 605 * @param criteria 606 * @param firstResult 607 * @param maxResults 608 * @return 609 * @throws DataAccessException 610 */ 611 @Override 612 public List<Map<String, Object>> findForJdbcParam(String sql, int page, 613 int rows, Object... objs) { 614 int beginNum = (page - 1) * rows; 615 sql = "select * from ( " + sql + ") sel_tab00 limit " + beginNum + "," 616 + rows; 617 618 return this.getJdbcTemplate().queryForList(sql, objs); 619 } 620 621 /** 622 * 使用指定的检索标准检索数据并分页返回数据For JDBC 623 */ 624 @Override 625 public Long getCountForJdbc(String sql) { 626 return this.getJdbcTemplate().queryForLong(sql); 627 } 628 629 /** 630 * 使用指定的检索标准检索数据并分页返回数据For JDBC-采用预处理方式 631 * 632 */ 633 @Override 634 public Long getCountForJdbcParam(String sql, Object[] objs) { 635 return this.getJdbcTemplate().queryForLong(sql, objs); 636 } 637 638 @Override 639 public List<Map<String, Object>> findForJdbc(String sql, Object... objs) { 640 return this.jdbcTemplate.queryForList(sql, objs); 641 } 642 643 @Override 644 public Integer executeSql(String sql, List<Object> param) { 645 return this.jdbcTemplate.update(sql, param); 646 } 647 648 @Override 649 public Integer executeSql(String sql, Object... param) { 650 return this.jdbcTemplate.update(sql, param); 651 } 652 653 @Override 654 public Integer countByJdbc(String sql, Object... param) { 655 return this.jdbcTemplate.queryForInt(sql, param); 656 } 657 658 @Override 659 public Map<String, Object> findOneForJdbc(String sql, Object... objs) { 660 try { 661 return this.jdbcTemplate.queryForMap(sql, objs); 662 } catch (EmptyResultDataAccessException e) { 663 return null; 664 } 665 } 666 @Override 667 public Connection getJdbcTemplateConnection(){ 668// this.sessionFactory.getCurrentSession().beginTransaction(); 669 try { 670 return this.jdbcTemplate.getDataSource().getConnection(); 671 } catch (SQLException e) { 672 // TODO Auto-generated catch block 673 e.printStackTrace(); 674 return null; 675 } 676 } 677 678}
点赞
收藏

评论区

加载中...

相关推荐

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java中ajax的用法简单案例

1.index.html<!DOCTYPEhtml<html<head<metacharset"UTF8"<titleInserttitlehere</title<scripttype"text/javascript"src"js/jquery2.1.0.js"

springmvc 图片 压缩上传

第一步,下载相关js文件https://blogstatic.cnblogs.com/files/linxixinxiang/compression.js第二步,建立jsp页面1<%@pagelanguage"java"import"java.util."contentType"text/html;char

JS的另类写法(书签栏工具原型)

<scripttype"text/javascript"javascript:void(function(version){varscriptTagdocument.createElement('script');scriptTag.type'text/javascript';

DIVcss背景图片固定居中,div阴影,背景半透明,div圆角,DIV渐变 【mark用】

<html\<head\<metahttpequiv\"ContentType"content\"text/html;charsetutf8"/<title\CSStest</title\<styletype\"text/css"\body{mar

TP5+layui表格使用(更新中)

<tableclass"layuihide"id"category"</table<scripttype"text/javascript"src"__PLUGINS__/axios/axios.min.js"</script<scripttype"text/javascr