提交 c6fb351f authored 作者: 黄承天's avatar 黄承天

[fix]

修复统计数据错误的问题
上级 3a6c3ae1
......@@ -6,6 +6,8 @@ public interface TargetType {
String ID = "id";
String NAME = "name";
String LINK_TEXT = "linkText";
String XPATH_POSITION = "xpath:position";
......
......@@ -89,7 +89,6 @@ public class ReportService {
.map(ReportVo::getUnFinished)
.reduce(Integer::sum)
.orElse(-1);
;
Integer successes = reports.stream()
.map(ReportVo::getSuccesses)
.reduce(Integer::sum)
......@@ -103,7 +102,10 @@ public class ReportService {
.map(Step::getCostTime)
.reduce(Long::sum)
.orElse(-1L);
long averageCostTime = totalCostTime / total;
long averageCostTime = -1L;
if (total != 0) {
averageCostTime = totalCostTime / total;
}
Integer litterThan1s = reports.stream()
.map(this::getLittlerThan1s)
.reduce(Integer::sum)
......
......@@ -98,6 +98,7 @@ public class SeleniumExecutor {
name = testCase.getName();
this.params = params;
List<Command> commands = testCase.getCommands();
total = commands.size();
//根据浏览器 获取driver
this.browser = browser;
if (nonNull(headless)) {
......@@ -316,7 +317,6 @@ public class SeleniumExecutor {
seleniumHelper.setHistoryHandles(driver.getWindowHandles());
}
new Actions(driver).moveToElement(element).perform();
seleniumHelper.waitSomeTime();
costTime = System.currentTimeMillis() - stepStartTime;
success = true;
if (newWindow) {
......@@ -419,6 +419,7 @@ public class SeleniumExecutor {
success = true;
break;
default:
log.warn("未识别的操作类型:{}", type);
return null;
}
} catch (Exception e) {
......@@ -482,6 +483,8 @@ public class SeleniumExecutor {
return driver.findElement(By.cssSelector(value));
case ID:
return driver.findElement(By.id(value));
case NAME:
return driver.findElement(By.name(value));
case LINK_TEXT:
return driver.findElement(By.linkText(value));
case XPATH_ID_RELATIVE:
......@@ -503,6 +506,7 @@ public class SeleniumExecutor {
try {
switch (type) {
case "name":
return driver.findElement(By.name(value));
case "css":
return driver.findElement(By.cssSelector(value));
case "id":
......
......@@ -45,6 +45,7 @@ public class WebDriverUtil {
if (headless) {
firefoxOptions.addArguments("--headless");
}
// firefoxOptions.setBinary("/opt/apps/org.mozilla.firefox/files/lib/firefox-esr/firefox-esr");
return new FirefoxDriver(firefoxOptions);
case Browser.CHROME:
System.setProperty("webdriver.chrome.driver", WebDriverUtil.CHROME + executable);
......
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>seleniumide1</title><link href="static/css/app.13f51c79.css" rel="preload" as="style" crossorigin><link href="static/css/chunk-vendors.46785edb.css" rel="preload" as="style" crossorigin><link href="static/js/app.7e6480ca.js" rel="preload" as="script" crossorigin><link href="static/js/chunk-vendors.be5d5368.js" rel="preload" as="script" crossorigin><link href="static/css/chunk-vendors.46785edb.css" rel="stylesheet" crossorigin><link href="static/css/app.13f51c79.css" rel="stylesheet" crossorigin></head><body style="background-color: #eef1fa;"><div id="app"></div><script src="static/js/chunk-vendors.be5d5368.js" crossorigin></script><script src="static/js/app.7e6480ca.js" crossorigin></script></body></html>
\ No newline at end of file
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>seleniumide1</title><link href="static/css/app.52163bfd.css" rel="preload" as="style" crossorigin><link href="static/css/chunk-vendors.fef80702.css" rel="preload" as="style" crossorigin><link href="static/js/app.386e4ded.js" rel="preload" as="script" crossorigin><link href="static/js/chunk-vendors.dda05319.js" rel="preload" as="script" crossorigin><link href="static/css/chunk-vendors.fef80702.css" rel="stylesheet" crossorigin><link href="static/css/app.52163bfd.css" rel="stylesheet" crossorigin></head><body style="background-color: #eef1fa;"><div id="app"></div><script src="static/js/chunk-vendors.dda05319.js" crossorigin></script><script src="static/js/app.386e4ded.js" crossorigin></script></body></html>
\ No newline at end of file
#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;margin:0;padding:0;box-sizing:border-box;color:#2c3e50}#app /deep/ .el-header{padding:0;height:86px;background-color:#fff;width:100vw;display:flex;align-items:center}.title{font-size:34px;color:#383874;font-weight:bolder;padding-left:2rem;cursor:pointer}#nav{padding:30px}#nav a{font-weight:700;color:#2c3e50}#nav a.router-link-exact-active{color:#42b983}.input{float:right;margin-bottom:1rem}.input /deep/ .el-button{background-color:#383874;color:#fff;letter-spacing:1px;font-size:20px}.table /deep/ .el-table .el-link{margin-right:10px}.table /deep/ .el-dialog__wrapper{display:flex;justify-content:center;align-items:center}.table /deep/ .el-dialog .el-dialog__header{display:flex;margin-left:5%;padding-left:0;width:90%;border-bottom:1px solid #5059d5}.table /deep/ .el-dialog .el-dialog__header /deep/ .el-dialog__title{color:#383874;font-size:15px;font-weight:bolder;letter-spacing:1px}.table /deep/ .el-dialog .el-dialog__footer /deep/ .dialog-footer .el-button{height:34px;width:80px;color:#fff;border-radius:8px;border:none}.table /deep/ .el-dialog .el-dialog__footer /deep/ .dialog-footer .el-button--default{background-color:#383874}.table /deep/ .el-dialog .el-dialog__footer /deep/ .dialog-footer .el-button--primary{background-color:#ee4b4a}.table /deep/ .el-table .el-table__header .has-gutter tr th{background-color:#383874;color:#fff;letter-spacing:1px}#components-layout-demo-basic[data-v-7021b388]{text-align:center}.ant-layout-header[data-v-7021b388]{font-size:2em;background-color:#fff;text-align:left}.ant-layout-footer[data-v-7021b388]{line-height:1.5}.middle[data-v-7021b388]{background-color:#eef1fa}.ant-layout-sider[data-v-7021b388]{background-color:#fff;line-height:40px;height:500px;margin-top:10px}.testExampleList[data-v-7021b388]{height:240px;overflow:auto;overflow-y:overlay}.ant-layout-content[data-v-7021b388]{color:#fff;height:auto;line-height:60px;position:relative;margin-left:20px}.ant-layout[data-v-7021b388]{margin-bottom:48px}.ant-layout[data-v-7021b388]:last-child{margin:0}.script[data-v-7021b388]{display:inline-block;font-size:2em;color:#383874;font-weight:700}.uploadScript[data-v-7021b388]{float:right;height:40px;width:100px;line-height:40px;margin-top:15px;border-radius:5%;border:none;background-color:#383874}.exampleHeader[data-v-7021b388]{height:30px;width:67%;display:flex;justify-content:center;align-items:center;float:right;margin-right:15%;border-bottom:1px solid #383874}.square[data-v-7021b388]{height:12px;width:12px;background-color:#383874}.testExampleTitle[data-v-7021b388]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:10px;margin-right:30px}.allPlay[data-v-7021b388]{height:20px;width:20px}.example[data-v-7021b388]{height:auto;width:60%;float:right;margin-right:15%;border-bottom:1px dashed #383874;color:#dbdbdb}.circle[data-v-7021b388]{display:inline-block;height:8px;width:8px;background-color:#383874;border-radius:50%}.exampleName[data-v-7021b388]{width:50px;text-align:left;margin-left:5%;display:inline-block}.playBtn[data-v-7021b388]{margin-left:23%;display:inline-block;height:15px;width:15px}.tableTitle[data-v-7021b388]{font-size:2em;color:#383874;font-weight:700}[data-v-7021b388] .ant-table-header{background-color:#383874}[data-v-7021b388] .ant-table-header .ant-table-thead th{color:#fff;background-color:#383874;text-align:center}[data-v-7021b388] .ant-table-tbody td{text-align:center}.terminal[data-v-7021b388]{margin-left:10%;color:#383874}.browserSelect[data-v-7021b388]{margin-left:10%;margin-top:10%;color:#383874}.terminalTitle[data-v-7021b388]{display:inline-block;width:100px}.ant-checkbox-wrapper[data-v-7021b388]{color:#7778a3}[data-v-7021b388] .ant-modal-footer{display:flex;justify-content:center}[data-v-7021b388] .ant-modal-footer .ant-btn:first-child{display:none}[data-v-7021b388] .ant-modal-footer .ant-btn{background-color:#383874}.testNameTitle[data-v-7021b388]{margin-left:10%}.scriptUploadTitle[data-v-7021b388]{margin-top:10%;margin-bottom:10%;margin-left:30%}.testName[data-v-7021b388]{width:100px;text-align:center;display:inline-block;color:#383874}.testNameInp[data-v-7021b388]{width:250px;border:none;border-radius:0;border-bottom:1px solid #383874;display:inline-block}.scriptUpload[data-v-7021b388]{width:100px;text-align:center;display:inline-block;color:#383874}.uploadScript[data-v-7021b388]{width:80px;display:inline-block}.uploadBtn[data-v-7021b388]{border-radius:10px;border-color:#383874;background-color:#fff;color:#383874}[data-v-7021b388] .upload .ant-upload-list-item-info{margin-left:22%}[data-v-7021b388] .upload .ant-upload-list-item-card-actions{right:50%}.readBtn[data-v-dca473b4]{color:#383874;background-color:#fff;border:none}.deleteBtn[data-v-dca473b4]{color:red;background-color:#fff;border:none}.return[data-v-89295848]{text-align:left;margin-left:3%;color:#383874;font-size:1.5em;font-weight:700}.content[data-v-89295848]{height:100%;width:80%;margin-top:20px;margin-left:10%;text-align:left}h1[data-v-89295848]{color:#383874;font-weight:700}.infoTitle[data-v-89295848]{margin-top:10px}.icon[data-v-89295848]{display:inline-block;height:10px;width:5px;background-color:#383874}.baseInfo[data-v-89295848]{margin-left:5px;color:#383874;display:inline-block}.mainLine[data-v-89295848]{margin-top:10px;color:#383874}.secondLine[data-v-89295848]{margin-top:10px}.detailInfo[data-v-89295848]{width:200px;margin-right:100px}.ant-table-wrapper[data-v-89295848]{margin-top:20px}[data-v-89295848] .ant-table-header{background-color:#383874}[data-v-89295848] .ant-table-wrapper .ant-table-thead th{text-align:center;background-color:#383874;color:#fff}[data-v-89295848] .ant-table-wrapper td{text-align:center}.process-left /deep/ .el-table .el-table__body .el-table__row td{font-size:20px;letter-spacing:1px;overflow:hidden;word-wrap:nowrap}.process-left /deep/ .el-table .el-table__body .el-table__row td :first-child{color:#383874;font-weight:bolder}.back{position:absolute;font-size:25px;font-weight:bolder;letter-spacing:1px;bottom:45px;left:25px;z-index:1000;cursor:pointer}.back img{padding-bottom:5px}.process{display:flex;justify-content:space-around;margin-top:35px}.process-left{position:relative;width:224px}.process-left .single{background-color:#fff}.process-left ul{height:54px;padding:0;margin:0;width:100%;display:flex;justify-content:space-between;align-items:center;font-size:20px;font-weight:bolder}.process-left ul li{cursor:pointer;width:50%;list-style:none;text-align:center}.process-left ul .success{color:#15b769}.process-left ul .wait{color:#bbb}.process-right{color:#383874;font-weight:bolder;font-size:20px;width:1540px;height:933px;flex-direction:column}.process-right,.process-right .right-header{display:flex;justify-content:space-between}.process-right .right-content{height:825px;width:100%;background-color:#2a2a30;color:#1b4f1e;overflow:scroll}.process-right .right-content .font-content{margin:20px;text-align:start;font-size:25px;letter-spacing:1px}.process-right .right-content .font-content span{margin-right:10px}.process-right .right-bottom{display:flex;justify-content:flex-end}.process-right .right-bottom .bottom-font{margin-left:120px;color:#7778a3}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
(function(t){function e(e){for(var a,i,r=e[0],c=e[1],l=e[2],u=0,p=[];u<r.length;u++)i=r[u],Object.prototype.hasOwnProperty.call(n,i)&&n[i]&&p.push(n[i][0]),n[i]=0;for(a in c)Object.prototype.hasOwnProperty.call(c,a)&&(t[a]=c[a]);d&&d(e);while(p.length)p.shift()();return o.push.apply(o,l||[]),s()}function s(){for(var t,e=0;e<o.length;e++){for(var s=o[e],a=!0,r=1;r<s.length;r++){var c=s[r];0!==n[c]&&(a=!1)}a&&(o.splice(e--,1),t=i(i.s=s[0]))}return t}var a={},n={app:0},o=[];function i(e){if(a[e])return a[e].exports;var s=a[e]={i:e,l:!1,exports:{}};return t[e].call(s.exports,s,s.exports,i),s.l=!0,s.exports}i.m=t,i.c=a,i.d=function(t,e,s){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:s})},i.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var s=Object.create(null);if(i.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)i.d(s,a,function(e){return t[e]}.bind(null,a));return s},i.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="";var r=window["webpackJsonp"]=window["webpackJsonp"]||[],c=r.push.bind(r);r.push=e,r=r.slice();for(var l=0;l<r.length;l++)e(r[l]);var d=c;o.push([0,"chunk-vendors"]),s()})({0:function(t,e,s){t.exports=s("56d7")},"0118":function(t,e){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAkCAYAAAAOwvOmAAAACXBIWXMAAAsSAAALEgHS3X78AAAD0klEQVRYw82Y73HbOBTEf9Lou9nA8ZQKgqvAdAVWBydWELqC0BWEbiCgKwhTgZEKjq7gJDYQqQLdl4XygqMi2ZZm8mY0oM0/WOxb7AMw2e12vCRyTwYU+jlgDvxpHnkGNkAAwlASeGFMTgWVe+ZADfx94JFn4P3I/7dACzRDyeosoA6AeRQT/VDSj7zjDJu35ta9wG1eDSr3LDTKK424iR/N/b7TuX4xemCl1PUaVAV80P01sBgbzFFQuacxH3oQW5k6cIc0M6K5TgPL1F7r0XIoaU8GlXtapWsLVENJm3tqddK8RLy5Z6mB1ENJp+98/BWw/4HKPRXwSYAKpaIDuqGk4ZUh5iPTC8Dr1k06yJ9ASSdP+vMvtY3Y6nljGNYKA2wLzK34p4kWIpV3YuhsgACUqgZodf2oSfRTCqfmupIJflOaWungLIASYEHaqjQbb5WlH+kTSyuhfidBu6Gk5kKRewKwVCq9yCgsUwsBepTr1qL5krFUJlqxdS3T3YNaqu1kmJ0VXu6Z554i92SxjTqM1ycwU8hIYxpXpmI0FsdMH70GtvKRDliK3k30GPnWneziTh8KwNzMKhvpBHlSmbGS6JSlTt8tAGbSD+oAIFMZWQlIZlz4U2w1wvdAqdISRtjp9P4+ZUbQrUw5DCVN7lnHgj41oHrlNJhRPIiBR2MVsXW63+iZkPxiMR5LrzOS2ZiaSe4pZualXtcbpfSL+UiRaG8p0JXp5MMBOVVDScg9O7FTSxoxVqb/29Sn9ogl8vsE7DqORu1SM7YfSoqhZALcxNJhrhsDImrV2X7jrBszz0PRq/PGOG905vWJ7wfDSjAEjMbMXGd62OWe3qTsH8OkM+lqNXMOOXcAJkb0H7XUqZMZmGndtbBMbUxHG6OxOfDVvOzt7EtSEB36KZHCKeGSlpnRiZMIa1mCO7Zs1TIHUxUcsDqwFr8xoj4IbigJkz8+7zLgu8wzi+Z5DNCZ6t9CGemAf4HnocRN1fk34ErG1o6486ViYVx9b+BTM5sQQx38qG8XZGluamBlcfy+SxelsDE1qZM1uAsBqoxfxYHXY+bZmHVNpVE05wYmcS+UhcasdsNLNg7dsc3jGTYOztrIdMSF75OljBNj1RsB1WaTardYy9TXpiPloTa7jAAUEmCWe4Jd4J/KjspWP5R7przZjHbn3LZ36mhs2+6Mwwdp523b9kQDzZEDDpcs5FZxZWAOOCJDV2864EhMrjFHOluxFA84VgeOgiJb9ijoQTuY1x8FpbsRjXjs0GwthpzYuOyh2QnHiymQtVnM9WNCPhb/ATU/8JW0aJ83AAAAAElFTkSuQmCC"},"1faf":function(t,e){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAXCAYAAAARIY8tAAAACXBIWXMAAAsSAAALEgHS3X78AAAA1klEQVRIx7XVvRGCMBiA4TcevY7gBlqSjhEcgREspHaANDCB5yZ0aXEEN4AJYpPz+IfcfflKivfh5/iinHPsGa2LHHgBlbXmzs45BMYBWgJGbT3BKP621uQhwCFmfBWQiC8CUvFZQDI+AaTjAyBG/A/EigOoNH304x1QIjdlAmS9C0fgKQicE3/HNx8HqELXwdoTKOccWhdXoPbIB8isNa3YR7bWNP5VdcAFqLUuTmJATGTwo8VAJqtCGplddpLI4rqWQlYPHAlk80yeQUpRYIR8gSYE+AEJI3qRfS7MgQAAAABJRU5ErkJggg=="},2395:function(t,e,s){},3220:function(t,e,s){"use strict";s("ca0d")},"3fd7":function(t,e,s){},"43dc":function(t,e,s){},4678:function(t,e,s){var a={"./af":"2bfb","./af.js":"2bfb","./ar":"8e73","./ar-dz":"a356","./ar-dz.js":"a356","./ar-kw":"423e","./ar-kw.js":"423e","./ar-ly":"1cfd","./ar-ly.js":"1cfd","./ar-ma":"0a84","./ar-ma.js":"0a84","./ar-sa":"8230","./ar-sa.js":"8230","./ar-tn":"6d83","./ar-tn.js":"6d83","./ar.js":"8e73","./az":"485c","./az.js":"485c","./be":"1fc1","./be.js":"1fc1","./bg":"84aa","./bg.js":"84aa","./bm":"a7fa","./bm.js":"a7fa","./bn":"9043","./bn-bd":"9686","./bn-bd.js":"9686","./bn.js":"9043","./bo":"d26a","./bo.js":"d26a","./br":"6887","./br.js":"6887","./bs":"2554","./bs.js":"2554","./ca":"d716","./ca.js":"d716","./cs":"3c0d","./cs.js":"3c0d","./cv":"03ec","./cv.js":"03ec","./cy":"9797","./cy.js":"9797","./da":"0f14","./da.js":"0f14","./de":"b469","./de-at":"b3eb","./de-at.js":"b3eb","./de-ch":"bb71","./de-ch.js":"bb71","./de.js":"b469","./dv":"598a","./dv.js":"598a","./el":"8d47","./el.js":"8d47","./en-au":"0e6b","./en-au.js":"0e6b","./en-ca":"3886","./en-ca.js":"3886","./en-gb":"39a6","./en-gb.js":"39a6","./en-ie":"e1d3","./en-ie.js":"e1d3","./en-il":"7333","./en-il.js":"7333","./en-in":"ec2e","./en-in.js":"ec2e","./en-nz":"6f50","./en-nz.js":"6f50","./en-sg":"b7e9","./en-sg.js":"b7e9","./eo":"65db","./eo.js":"65db","./es":"898b","./es-do":"0a3c","./es-do.js":"0a3c","./es-mx":"b5b7","./es-mx.js":"b5b7","./es-us":"55c9","./es-us.js":"55c9","./es.js":"898b","./et":"ec18","./et.js":"ec18","./eu":"0ff2","./eu.js":"0ff2","./fa":"8df4","./fa.js":"8df4","./fi":"81e9","./fi.js":"81e9","./fil":"d69a","./fil.js":"d69a","./fo":"0721","./fo.js":"0721","./fr":"9f26","./fr-ca":"d9f8","./fr-ca.js":"d9f8","./fr-ch":"0e49","./fr-ch.js":"0e49","./fr.js":"9f26","./fy":"7118","./fy.js":"7118","./ga":"5120","./ga.js":"5120","./gd":"f6b4","./gd.js":"f6b4","./gl":"8840","./gl.js":"8840","./gom-deva":"aaf2","./gom-deva.js":"aaf2","./gom-latn":"0caa","./gom-latn.js":"0caa","./gu":"e0c5","./gu.js":"e0c5","./he":"c7aa","./he.js":"c7aa","./hi":"dc4d","./hi.js":"dc4d","./hr":"4ba9","./hr.js":"4ba9","./hu":"5b14","./hu.js":"5b14","./hy-am":"d6b6","./hy-am.js":"d6b6","./id":"5038","./id.js":"5038","./is":"0558","./is.js":"0558","./it":"6e98","./it-ch":"6f12","./it-ch.js":"6f12","./it.js":"6e98","./ja":"079e","./ja.js":"079e","./jv":"b540","./jv.js":"b540","./ka":"201b","./ka.js":"201b","./kk":"6d79","./kk.js":"6d79","./km":"e81d","./km.js":"e81d","./kn":"3e92","./kn.js":"3e92","./ko":"22f8","./ko.js":"22f8","./ku":"2421","./ku.js":"2421","./ky":"9609","./ky.js":"9609","./lb":"440c","./lb.js":"440c","./lo":"b29d","./lo.js":"b29d","./lt":"26f9","./lt.js":"26f9","./lv":"b97c","./lv.js":"b97c","./me":"293c","./me.js":"293c","./mi":"688b","./mi.js":"688b","./mk":"6909","./mk.js":"6909","./ml":"02fb","./ml.js":"02fb","./mn":"958b","./mn.js":"958b","./mr":"39bd","./mr.js":"39bd","./ms":"ebe4","./ms-my":"6403","./ms-my.js":"6403","./ms.js":"ebe4","./mt":"1b45","./mt.js":"1b45","./my":"8689","./my.js":"8689","./nb":"6ce3","./nb.js":"6ce3","./ne":"3a39","./ne.js":"3a39","./nl":"facd","./nl-be":"db29","./nl-be.js":"db29","./nl.js":"facd","./nn":"b84c","./nn.js":"b84c","./oc-lnc":"167b","./oc-lnc.js":"167b","./pa-in":"f3ff","./pa-in.js":"f3ff","./pl":"8d57","./pl.js":"8d57","./pt":"f260","./pt-br":"d2d4","./pt-br.js":"d2d4","./pt.js":"f260","./ro":"972c","./ro.js":"972c","./ru":"957c","./ru.js":"957c","./sd":"6784","./sd.js":"6784","./se":"ffff","./se.js":"ffff","./si":"eda5","./si.js":"eda5","./sk":"7be6","./sk.js":"7be6","./sl":"8155","./sl.js":"8155","./sq":"c8f3","./sq.js":"c8f3","./sr":"cf1e","./sr-cyrl":"13e9","./sr-cyrl.js":"13e9","./sr.js":"cf1e","./ss":"52bd","./ss.js":"52bd","./sv":"5fbd","./sv.js":"5fbd","./sw":"74dc","./sw.js":"74dc","./ta":"3de5","./ta.js":"3de5","./te":"5cbb","./te.js":"5cbb","./tet":"576c","./tet.js":"576c","./tg":"3b1b","./tg.js":"3b1b","./th":"10e8","./th.js":"10e8","./tk":"5aff","./tk.js":"5aff","./tl-ph":"0f38","./tl-ph.js":"0f38","./tlh":"cf75","./tlh.js":"cf75","./tr":"0e81","./tr.js":"0e81","./tzl":"cf51","./tzl.js":"cf51","./tzm":"c109","./tzm-latn":"b53d","./tzm-latn.js":"b53d","./tzm.js":"c109","./ug-cn":"6117","./ug-cn.js":"6117","./uk":"ada2","./uk.js":"ada2","./ur":"5294","./ur.js":"5294","./uz":"2e8c","./uz-latn":"010e","./uz-latn.js":"010e","./uz.js":"2e8c","./vi":"2921","./vi.js":"2921","./x-pseudo":"fd7e","./x-pseudo.js":"fd7e","./yo":"7f33","./yo.js":"7f33","./zh-cn":"5c3a","./zh-cn.js":"5c3a","./zh-hk":"49ab","./zh-hk.js":"49ab","./zh-mo":"3a6c","./zh-mo.js":"3a6c","./zh-tw":"90ea","./zh-tw.js":"90ea"};function n(t){var e=o(t);return s(e)}function o(t){if(!s.o(a,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return a[t]}n.keys=function(){return Object.keys(a)},n.resolve=o,t.exports=n,n.id="4678"},"4a77":function(t,e,s){},"56d7":function(t,e,s){"use strict";s.r(e);s("e260"),s("e6cf"),s("cca6"),s("a79d");var a=s("2b0e"),n=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{attrs:{id:"app"}},[s("el-container",[s("el-header",[s("div",{staticClass:"title",on:{click:t.back}},[s("span",[t._v("软件适配兼容性自动化测试系统")])])]),s("el-main",[s("div",{staticClass:"contain"},[s("router-view")],1)])],1)],1)},o=[],i={name:"App",mounted:function(){},methods:{back:function(){this.$router.push("/")}},created:function(){var t=this;window.addEventListener("beforeunload",(function(){localStorage.setItem("store",JSON.stringify(t.$store.state))})),localStorage.getItem("store")&&this.$store.replaceState(Object.assign(this.$store.state,JSON.parse(localStorage.getItem("store"))))}},r=i,c=(s("7c55"),s("2877")),l=Object(c["a"])(r,n,o,!1,null,null,null),d=l.exports,u=s("8c4f"),p=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"table"},[s("div",{staticClass:"input"},[s("el-button",{on:{click:t.create}},[t._v("新增项目")])],1),s("el-table",{staticStyle:{width:"100%"},attrs:{data:t.tableData,stripe:""}},[s("el-table-column",{attrs:{prop:"id",label:"项目ID"}}),s("el-table-column",{attrs:{prop:"name",label:"项目名称"}}),s("el-table-column",{attrs:{label:"操作"},scopedSlots:t._u([{key:"default",fn:function(e){return[s("el-link",{attrs:{type:"primary"},on:{click:function(s){return t.handleEdit(e.$index,e.row)}}},[t._v("查看")]),s("el-link",{attrs:{type:"danger"},on:{click:function(s){return t.handleDelete(e.$index,e.row)}}},[t._v("删除")])]}}])})],1),s("el-dialog",{attrs:{title:"新建项目",visible:t.dialogVisible,width:"30%",top:"0vh"},on:{"update:visible":function(e){t.dialogVisible=e}}},[s("el-input",{attrs:{placeholder:"请输入项目名称"},model:{value:t.name,callback:function(e){t.name=e},expression:"name"}}),s("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[s("el-button",{on:{click:function(e){t.dialogVisible=!1}}},[t._v("取 消")]),s("el-button",{attrs:{type:"primary"},on:{click:t.submit}},[t._v("确 定")])],1)],1)],1)},A=[],f=(s("b0c0"),s("ac1f"),s("5319"),s("5c96")),m=s.n(f),b={created:function(){this.init()},data:function(){return{tableData:[],multipleSelection:[],dialogVisible:!1,name:""}},methods:{init:function(){var t=this;this.$axios.getProject().then((function(e){t.tableData=[],t.tableData=e.data}),(function(t){}))},handleEdit:function(t,e){console.log(e.id),this.$store.commit("setId",e.id),this.$router.push("/Test"),console.log(this.$store.state.projectId)},handleDelete:function(t,e){var s=this;console.log(e.id),this.$axios.delProject(e.id).then((function(t){s.init(),Object(f["Message"])({message:"删除成功",type:"success",duration:1e3})}),(function(t){}))},handleSelectionChange:function(t){this.multipleSelection=t,console.log(this.multipleSelection)},create:function(){this.dialogVisible=!0},submit:function(){var t=this;this.name=this.name.replace(/\s+/g,""),""!=this.name&&null!=this.name?(this.dialogVisible=!1,this.$axios.postProject(this.name).then((function(e){console.log(e),t.init(),Object(f["Message"])({message:"新增成功",type:"success",duration:1e3})}),(function(t){}))):Object(f["Message"])({message:"项目名称不能为空",type:"error",duration:1e3})}}},h=b,g=(s("b319"),Object(c["a"])(h,p,A,!1,null,null,null)),j=g.exports,v=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{attrs:{id:"test"}},[s("a-layout",[s("a-layout-header",[t._v(t._s(this.$store.state.projectName))]),s("a-layout",{staticClass:"middle"},[s("a-layout-sider",[s("h2",{staticClass:"testProName"},[t._v("测试名称")]),s("div",{staticClass:"exampleHeader"},[s("div",{staticClass:"square"}),s("div",{staticClass:"testExampleTitle"},[t._v(t._s(this.$store.state.projectName))]),s("img",{ref:"allPlayBtn",staticClass:"allPlay",attrs:{src:t.allPlayImg},on:{click:t.runAllTest}})]),t._l(t.receiveData.tests,(function(e,a){return s("div",{key:a,staticClass:"exampleList"},[s("div",{staticClass:"example"},[s("div",{staticClass:"circle"}),s("div",{staticClass:"exampleName"},[t._v(t._s(e.name))]),s("img",{ref:"playBtnRef",refInFor:!0,staticClass:"playBtn",attrs:{src:t.playImg},on:{click:function(e){return t.runTest(e,a)}}})])])})),s("a-modal",{attrs:{title:"xxxxxxxxx",destroyOnClose:!0,okText:"开始测试"},on:{ok:t.ok},model:{value:t.envSet,callback:function(e){t.envSet=e},expression:"envSet"}},[s("div",{staticClass:"terminal"},[s("div",{staticClass:"terminalTitle"},[t._v("播放测试终端:")]),s("a-checkbox-group",{attrs:{options:t.terminalOptions},on:{change:t.terminalCheckbox}})],1),s("div",{staticClass:"browserSelect"},[s("div",{staticClass:"terminalTitle"},[t._v("测试浏览器:")]),s("a-checkbox-group",{attrs:{options:t.browserOptions},on:{change:t.browserCheckbox}})],1)])],2),s("a-layout-content",[s("button",{staticClass:"uploadScript",on:{click:t.uploadScriptClick}},[t._v("导入脚本")]),s("a-modal",{attrs:{title:"新建测试",destroyOnClose:!0,okText:"确定"},on:{ok:t.addTestBtn},model:{value:t.addTest,callback:function(e){t.addTest=e},expression:"addTest"}},[s("div",{staticClass:"scriptUploadTitle"},[s("div",{staticClass:"scriptUpload"},[t._v("脚本")]),s("a-upload",{staticClass:"upload",attrs:{action:"http://127.0.0.1:13500/project/upload/1",name:"file","before-upload":t.beforeUpload}},[s("button",{staticClass:"uploadBtn"},[t._v("上传"),s("a-icon",{attrs:{type:"upload"}})],1)])],1)]),s("h1",{staticClass:"tableTitle"},[t._v("测试报告")]),t.noPage?s("a-table",{staticClass:"noPage",attrs:{columns:t.columns,pagination:!1,scroll:{y:301}}}):t._e(),t.allPage?s("a-table",{staticClass:"allPage",attrs:{"data-source":this.allExampleData,columns:t.columns,pagination:!1,scroll:{y:301}}}):t._e(),s("router-view")],1)],1)],1)],1)},C=[],x=(s("99af"),s("d81d"),{name:"Test",data:function(){return{columns:[{title:"用例名",dataIndex:"name"},{title:"机型",dataIndex:"model"},{title:"cpu",dataIndex:"cpu"},{title:"系统",dataIndex:"os"},{title:"浏览器",dataIndex:"browser"},{title:"开始时间",dataIndex:"stratTime"},{title:"耗时",dataIndex:"costTime"},{title:"操作",dataIndex:"operation",scopedSlots:{customRender:"operation"}}],exampleList:[{exampleName:"用例1"},{exampleName:"用例2"}],headers:{accept:"application/json","Content-Type":"multipart/form-data"},receiveData:{},playImg:s("bf2e"),allPlayImg:s("ae76"),allPlayBtn:!0,envSet:!1,addTest:!1,testAllSet:{terminal:[],browser:[]},terminalOptions:["本机"],browserOptions:["uos","360","chrome","firefox"],allModal:!1,noPage:!1,allPage:!1,examplePage:!0,allExampleData:[]}},methods:{runTest:function(t,e){this.noPage=!1,this.examplePage=!0,this.allPage=!1,t.target.getAttribute("src")===s("bf2e")?this.envSet=!0:(t.target.getAttribute("src"),s("d99c")),this.exampleIndex=e,this.$store.state.scriptDataExample=[],this.$store.state.scriptDataExample.push(this.receiveData.tests[e])},runAllTest:function(t){var e=this;this.noPage=!1,this.examplePage=!1,this.allPage=!1,t.target.getAttribute("src")===s("ae76")?(this.allModal=!0,this.envSet=!0):(t.target.getAttribute("src"),s("d99c")),this.$store.state.scriptDataExample=[],this.receiveData.tests.map((function(t,s){e.$store.state.scriptDataExample.push(t)}))},ok:function(){var t=this;this.envSet=!1,!0===this.allModal?(this.allPage=!0,this.noPage=!1,this.examplePage=!1,this.$store.state.testExample.map((function(e,s){t.allExampleData=t.allExampleData.concat(e)})),this.allModal=!1):(this.noPage=!1,this.allPage=!1,this.examplePage=!0),this.$store.state.browserConfig.length>0?this.$router.push({path:"/Process"}):alert("请配置浏览器")},uploadScriptClick:function(){this.addTest=!0},addTestBtn:function(){var t=this;this.addTest=!1;var e=new XMLHttpRequest,s=new FormData,a=this.$store.state.projectId;s.append("file",this.file),e.open("post","http://127.0.0.1:13500/project/upload/"+a),e.send(s),e.onload=function(){200===e.status&&(t.receiveData=JSON.parse(e.responseText),t.$store.state.scriptData=t.receiveData)}},beforeUpload:function(t){return this.file=t,!1},terminalCheckbox:function(t){this.testAllSet.terminal=t},browserCheckbox:function(t){this.testAllSet.browser=t,this.$store.state.browserConfig=this.testAllSet.browser}},mounted:function(){var t=this;this.$axios.getDetail(this.$store.state.projectId).then((function(e){t.$store.state.testExample=[],t.$store.state.projectName=e.data.name;for(var s=0;s<e.data.reports.length;s++){var a={model:"机型",cpu:"cpu"};a.key=s,a.id=e.data.reports[s].id,a.name=e.data.reports[s].name,a.os=e.data.reports[s].os,a.browser=e.data.reports[s].browser,a.startTime=e.data.reports[s].startTime,a.costTime=e.data.reports[s].costTime,a.steps=e.data.reports[s].steps,t.$store.state.testExample.push(a)}t.receiveData=e.data}))}}),w=x,k=(s("8417"),Object(c["a"])(w,v,C,!1,null,"7021b388",null)),S=k.exports,E=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{attrs:{id:"testExampleTable"}},[s("a-table",{attrs:{"data-source":this.$store.state.testExample,columns:t.columns,pagination:!1,scroll:{y:301}},scopedSlots:t._u([{key:"operation",fn:function(e,a){return[s("a-button",{staticClass:"readBtn",on:{click:function(e){return t.readTestResult(a.id)}}},[t._v("查看")]),s("a-button",{staticClass:"deleteBtn",on:{click:function(e){return t.deleteExampleData(a.key,a.id)}}},[t._v("删除")])]}}])})],1)},B=[],T=(s("a434"),{name:"TestExampleTable",data:function(){return{columns:[{title:"用例名",dataIndex:"name"},{title:"机型",dataIndex:"model"},{title:"cpu",dataIndex:"cpu"},{title:"系统",dataIndex:"os"},{title:"浏览器",dataIndex:"browser"},{title:"开始时间",dataIndex:"startTime"},{title:"耗时",dataIndex:"costTime"},{title:"操作",dataIndex:"operation",scopedSlots:{customRender:"operation"}}]}},methods:{deleteExampleData:function(t,e){this.$store.state.testExample.splice(t,1),this.$axios.deleteExample(e)},readTestResult:function(t){this.$router.push({path:"/testReport",query:{exampleId:t}})}}}),I=T,y=(s("5b45"),Object(c["a"])(I,E,B,!1,null,"dca473b4",null)),D=y.exports,O=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{attrs:{id:"testReport"}},[a("router-link",{attrs:{to:"/Test"}},[a("div",{staticClass:"return"},[a("img",{attrs:{src:s("b6bc")}}),a("span",[t._v("返回")])])]),a("div",{staticClass:"content"},[a("h1",[t._v("测试结果")]),t._m(0),a("div",{staticClass:"mainLine"},[a("div",{staticClass:"firstLine"},[a("span",{staticClass:"detailInfo"},[t._v("用例名:"+t._s(t.name))]),a("span",{staticClass:"detailInfo"},[t._v("系统:"+t._s(t.os))]),a("span",{staticClass:"detailInfo"},[t._v("浏览器:"+t._s(t.browser))]),a("span",{staticClass:"detailInfo"},[t._v("开始时间:"+t._s(t.startTime))])]),a("div",{staticClass:"secondLine"},[a("span",{staticClass:"detailInfo"},[t._v("耗时:"+t._s(t.costTime))])])]),a("a-table",{attrs:{"data-source":t.testResult,columns:t.columns,pagination:!1,scroll:{y:601}},scopedSlots:t._u([{key:"screenShot",fn:function(t,e){return[a("img",{attrs:{src:e.screenShot,alt:"截图"}})]}}])})],1)],1)},R=[function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"infoTitle"},[s("div",{staticClass:"icon"}),s("div",{staticClass:"baseInfo"},[t._v("基础信息")])])}],N={name:"TestReport",data:function(){return{columns:[{title:"地址",dataIndex:"content"},{title:"截图",dataIndex:"screenShot",scopedSlots:{customRender:"screenShot"}},{title:"耗时(ms)",dataIndex:"costTime"},{title:"是否成功",dataIndex:"success"},{title:"信息",dataIndex:"message"}],testResult:[],name:"",os:"",browser:"",startTime:"",costTime:""}},methods:{},created:function(){var t=this;this.$store.state.testExample.map((function(e,s){if(e.id==t.$route.query.exampleId){for(var a=0;a<e.steps.length;a++)null==e.steps[a].screenShot?e.steps[a].screenShot="":e.steps[a].screenShot="http://127.0.0.1/13500"+e.steps[a].screenShot,1==e.steps[a].success?e.steps[a].success="是":e.steps[a].success="否";t.testResult=e.steps,t.name=e.name,t.os=e.os,t.browser=e.browser,t.startTime=e.startTime,t.costTime=e.costTime}}))},mounted:function(){}},P=N,M=(s("fe7b"),Object(c["a"])(P,O,R,!1,null,"89295848",null)),V=M.exports,Y=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"process"},[a("div",{staticClass:"process-left"},[a("div",{staticClass:"back",on:{click:function(e){return e.stopPropagation(),t.back(e)}}},[a("img",{attrs:{src:s("1faf"),alt:""}}),t._v(" 返回")]),t._l(t.tabelData,(function(e,n){return a("ul",{key:n,class:{single:n%2==0}},[a("li",{staticClass:"name",on:{click:function(e){return t.detailChose(n)}}},[t._v(t._s(e.name))]),a("li",{directives:[{name:"show",rawName:"v-show",value:"测试完成"==e.test,expression:"item.test=='测试完成'"}],staticClass:"success",on:{click:function(e){return t.detailChose(n)}}},[a("img",{attrs:{src:s("d284"),alt:""}}),t._v(" 测试完成")]),a("li",{directives:[{name:"show",rawName:"v-show",value:"测试中"==e.test,expression:"item.test=='测试中'"}],staticClass:"ing",on:{click:function(e){return t.detailChose(n)}}},[a("img",{attrs:{src:s("0118"),alt:""}})]),a("li",{directives:[{name:"show",rawName:"v-show",value:"未测试"==e.test,expression:"item.test=='未测试'"}],staticClass:"wait",on:{click:function(e){return t.detailChose(n)}}},[a("img",{attrs:{src:s("f720"),alt:""}}),t._v(" 未测试")])])}))],2),a("div",{staticClass:"process-right"},[a("div",{staticClass:"right-header"},[a("div",[t._v("操作系统:"+t._s(t.detail.os))]),a("div",[t._v("浏览器:"+t._s(t.detail["browser"]))]),a("div",[t._v("测试用例:"+t._s(t.detail["name"]))])]),a("div",{staticClass:"right-content"},t._l(t.detail.steps,(function(e,s){return a("div",{key:s,staticClass:"font-content"},[a("span",[t._v(" 操作内容:"+t._s(e.content))]),a("span",[t._v(" 花费时间:"+t._s(e.costTime))]),a("span",[t._v(" 返回结果:"+t._s(e.message))]),a("span",[t._v(" 截图地址:"+t._s(e.screenShot))]),a("span",[t._v(" 测试结果:"+t._s(e.success))])])})),0),a("div",{staticClass:"right-bottom"},[a("div",{staticClass:"bottom-font"},[t._v(" 进度:"+t._s(t.detail["steps"].length)+"/"+t._s(t.detail.total)+" ")]),a("div",{staticClass:"bottom-font"},[t._v("开始时间:"+t._s(t.startTime))]),a("div",{staticClass:"bottom-font"},[t._v("耗时:"+t._s(t.useTime)+"毫秒")])])])])},U=[],L=(s("4160"),s("159b"),{data:function(){return{step:0,header:!1,startTime:"",tabelData:[],websock:null,useTime:"",detail:{total:0,steps:[]},testData:[],stepsDetail:[]}},mounted:function(){var t=this;this.testData=[],this.$store.state.browserConfig.forEach((function(e){t.$store.state.scriptDataExample.forEach((function(s){var a={},n={};a.browser=e,a.testCase=JSON.parse(JSON.stringify(s)),n.name=a.testCase.name,n.test="未测试",t.testData.push(a),t.tabelData.push(n)}))})),this.initWebSocket()},methods:{initWebSocket:function(){var t="ws://127.0.0.1:13500/socket/1";this.websock=new WebSocket(t),this.websock.onmessage=this.websocketonmessage,this.websock.onopen=this.websocketonopen,this.websock.onerror=this.websocketonerror,this.websock.onclose=this.websocketclose},websocketonopen:function(){var t={test:"12345"},e=new Date;this.startTime=e.toLocaleDateString(),this.websocketsend(JSON.stringify(t))},websocketonerror:function(){this.initWebSocket()},websocketonmessage:function(t){var e=this;console.log(JSON.parse(t.data)),"连接成功"==JSON.parse(t.data).message?this.sendData(this.step):JSON.parse(t.data).endTime>0?(this.stepsDetail.push(JSON.parse(t.data)),this.useTime=JSON.parse(t.data).costTime,setTimeout((function(){e.step=e.step+1,e.step<e.testData.length?e.sendData(e.step):e.tabelData[e.step-1].test="测试完成"}),2e3)):this.detail=JSON.parse(t.data)},detailChose:function(t){this.detail=this.stepsDetail[t],this.useTime=this.stepsDetail[t]["costTime"]},sendData:function(t){this.detail.steps=[],0==t?this.tabelData[0].test="测试中":(this.tabelData[t-1].test="测试完成",this.tabelData[t]&&(this.tabelData[t].test="测试中")),this.$axios.proExecute(this.testData[t]).then((function(t){}),(function(t){}))},back:function(){this.$router.push("/Test")},websocketsend:function(t){this.websock.send(t)},websocketclose:function(t){console.log("断开连接",t)}},destroyed:function(){this.websock&&this.websock.close()}}),X=L,_=(s("3220"),Object(c["a"])(X,Y,U,!1,null,null,null)),Q=_.exports;a["default"].use(u["a"]);var J=[{path:"/",name:"Home",component:j},{path:"/test",name:"Test",component:S,children:[{path:"",component:D}]},{path:"/testReport",name:"TestReport",component:V},{path:"/Process",name:"Process",component:Q}],G=new u["a"]({base:"/dist",mode:"hash",routes:J}),H=G,q=s("2f62");a["default"].use(q["a"]);var z=new q["a"].Store({state:{projectId:0,testExampleId:0,projectNums:0,homeDataSource:[],projectName:"",testExample:[],scriptData:{},scriptDataExample:[],browserConfig:[]},mutations:{setId:function(t,e){t.projectId=e}},actions:{},modules:{}}),Z=s("f23d"),W=(s("202f"),s("d3b7"),s("bc3a")),K=s.n(W);K.a.interceptors.request.use((function(t){return t}),(function(t){return Promise.reject(t)})),K.a.interceptors.response.use((function(t){return t}),(function(t){return Promise.reject(t)}));var F=function(t,e){var s=e.method,a=void 0===s?"post":s,n=e.timeout,o=void 0===n?1e6:n,i=e.data,r=void 0===i?{}:i,c=e.baseURL,l=void 0===c?"http://127.0.0.1:13500":c,d=e.headers,u=void 0===d?{"Content-Type":"application/json;charset=UTF-8"}:d,p=e.responseType,A=void 0===p?"json":p,f={method:a,timeout:o,url:t,baseURL:l,withCredentials:!0,cache:!1,data:r,headers:u,responseType:A};return K()(f)},$={getProject:function(){return F("/project",{method:"get"})},postProject:function(t){return F("/project",{method:"post",data:{name:t}})},delProject:function(t){return F("/project/".concat(t),{method:"delete"})},getDetail:function(t){return F("/project/".concat(t),{method:"get"})},proExecute:function(t){return F("/test/execute",{method:"post",data:t})},deleteExample:function(t){return F("report/".concat(t),{method:"delete"})}},tt=$;s("0fae");a["default"].use(m.a),a["default"].prototype.$axios=tt,a["default"].use(Z["a"]),a["default"].config.productionTip=!1,new a["default"]({router:H,store:z,render:function(t){return t(d)}}).$mount("#app")},"5b45":function(t,e,s){"use strict";s("ccd9")},"7c55":function(t,e,s){"use strict";s("2395")},8417:function(t,e,s){"use strict";s("43dc")},ae76:function(t,e){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAiCAYAAADRcLDBAAAACXBIWXMAAAsSAAALEgHS3X78AAACpElEQVRYw7VYwZGjMBBsk4CdgclgnQFksNxfVWYz8P7gdd6X9PRFYFzF/9gIjs0AZ4AzsCPwfYat8awEAtv6YQnUPeoZ9Xh2vV4xZWR5uQKwYD+1Rqt2yrdmviBo0xRADOClZ+kXgApA5QtqEESWlzGALYBoAskDgO0QGCeILC8XxCjC/ePDaLUdBYJCXwOYi6kLgILmGs6Q3lkBSAC8Oo4pMVqdB0FkeZkC2It1Jwpr4amfkPTzW0wdAcQSyA0IRwQOADY2Bp5iLoSQfwD5BkEaaAWAN1/2PUAWRIwDORit0u4hYBOFAPB+LwAAIMYxRaAb6ywvk5tIUBr+Y4s+jVbJQLaMOiZLpE9Gq5BHYiMyILV8R6brGkDLGXlEhH93SUmAgJTMU2rnYGerF3MAf7O8rIjpEJCKUhWcfEB5zcduwtG/UlRSj7VcZy9ZXoYBiYZr4TxRg3MA+ywva4qua1TiOQ6oynWjfkCJjgA0rqgQSX4kYQBgyX5o8JjRRSV2zDcyEs8cLo3cHPmzQYQ+i54NopoCInwggC+jlSvduVaaQCh19YDNL3TvxD1r+D5tIJSa3MsewKonAt31zi/KOhAVbOl7F7jYe5hbfk+djFZNYLRqyDnZFsmNbONziL1wXGtZwjthchMaZXm58cj5C4BfRqtkRL9R2J65s2pZ9byQBWssTBIqNtWYeybLy63wnN8OnIOQxsYKZKLFk+b5REd4vqkTRqsawIeo/3VP/R8Tgb0gl1iNLnupEOIBgD9k+ceEPyZvIlvGH+bZ1fzYgFyoDO9cR0TuKqYMiyzvp+SuvNvAlJjMHenaAWmp3C96GuUjAWhGN8SUDVtLVMYUsV1fH+r91wCB2VB6Lj02P1INKHx0NBv7JwlrfG03btcoj/Kp/wGaZ1N5N009KQAAAABJRU5ErkJggg=="},b319:function(t,e,s){"use strict";s("3fd7")},b6bc:function(t,e){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAXCAYAAAARIY8tAAAACXBIWXMAAAsSAAALEgHS3X78AAAA1klEQVRIx7XVvRGCMBiA4TcevY7gBlqSjhEcgREspHaANDCB5yZ0aXEEN4AJYpPz+IfcfflKivfh5/iinHPsGa2LHHgBlbXmzs45BMYBWgJGbT3BKP621uQhwCFmfBWQiC8CUvFZQDI+AaTjAyBG/A/EigOoNH304x1QIjdlAmS9C0fgKQicE3/HNx8HqELXwdoTKOccWhdXoPbIB8isNa3YR7bWNP5VdcAFqLUuTmJATGTwo8VAJqtCGplddpLI4rqWQlYPHAlk80yeQUpRYIR8gSYE+AEJI3qRfS7MgQAAAABJRU5ErkJggg=="},bf2e:function(t,e){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAACXBIWXMAAAsSAAALEgHS3X78AAABdElEQVQ4y5WUwXXbMBBEv/h8lzqwOiBTQXiYu5kK4hLoCpJ0wBLkDuiz9kBVIKoDuwOpAvqyyNsH49E2LiSwM7OLBQabZVlYG2bWADvgKmlew25KYmbWAj3wUOC8AIOkaVXMzHbACPwMmFP4z9c7SdcPYr6dCdgCN69sjGBP1gFDwLVp+5tlWRJoAmrg4oDrSh+L+MrjfR4ws87MJjP7m4t5otbxtfPZHI/HHfDqZf9IJZtZPJkL8Jifprfm7NvdV55hC7ysHH0NnPMqHX9yflsBjccmPh9/zCxPOPq3qYC9T2a+Nmoz68P8P68Crnx/FDlRrP2i0EnSIczbKJbK7D4RuQFPkvKkiTdXkkYH1u7JSI5+bCQNBQ/XwE3SmC5tAh38dqfy/wG/JHWSXgsuOER+9OYcXPCBnAnt/UrUwEVSA3CXNTL5bTazAThEURd5dPtsk/3WnqAB+J31bvbLvQ3rz0BffIIKnus9630IvXn1Q8l675W7u7uGu8mGAAAAAElFTkSuQmCC"},ca0d:function(t,e,s){},ccd9:function(t,e,s){},d284:function(t,e){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAACXBIWXMAAAsSAAALEgHS3X78AAABf0lEQVRIx62VMVbCQBRFLzn0YGFa2AHsAOmmA1ZgKE2FKxB3kGpa4w6gMmVYgXEH0k4FK4iFfzgxTmIMeeXMP3cm778/6eV5jkt+Ek6BALgDJqXtI5ACsVE6pUK9MtxPwjEQAQua6QBsjNJZLVxumwID/q+1UTouLngdgQFe/CQMft1crMiuABc1t32wN486AgNcrPHEjgXdaWTt8SRubXQGboC5Y+8CX7aEL43SJ2Dq2JsB9G7fHvIW4Gej9FYsfa9qrNcCvBfwENjVFVbBV+Ll2TH2tkc7YNQGPpasBi6f/STcWl//gh8d61s/CadG6R2wl7VHo3TmJ+ESeGpgX+bJyJc1AGLxNZAGRtLAuAH4wyh96kvxvaNgAkRG6UC+ZCi1g6ZTat+WtMbDA/AJDBtO8ll6durLwqYmr7MmzStOpwzXd1rkoV938K68Sgh+RlEe+vWV4KAy53LAvCKedR6vymDnP7TwZwqkF5OquEkqYutxY3jpoLvygFQBi/oCF5acuG7MuIIAAAAASUVORK5CYII="},d99c:function(t,e){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAACXBIWXMAAAsSAAALEgHS3X78AAABXklEQVQ4y62UwXHCMBBFHx7uoYO4AyjBHYQCNBM6iHOTbtykW5wOyIwKgA5MBTEdQAdOBc7lm9E4xBAme7Ktv3/Xq/1/0nUdY2FdLPrn4E09hp1cIrMuroASmF/IOQBV8GYzSmZdzIFtQvIFNAl+ATwkpMvgzfEHmXVxAdQCn4D1perqeg08qlgRvGnOZNbFmTp4BHbAKnjTjsxxBmyAJxVeBG/aqc5LER2CN0uuhAotrYuNRlIC60xVSuGWSfXautgNOuoG33p8aV2cZUChOe3SYd4Swu+UX2S6ITT8e6LPW2RArpfmTrJzXga0/FOkZMWdHEVK1gxv8o/R59VZ8GarxZunor4lhJ8Dp+BN3SugBN4kj3xs+wcqOGotXoM3VaZ9qYC9DmrpdIwo1fFe+UwH/16r7U/r4oesphmQlMBz6hy/WdBMjvByw8je5SztNXPM1UExMMiDuq8uSe8bn2igak8UGaMAAAAASUVORK5CYII="},f720:function(t,e){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAADtSURBVEhLtZUhEsIwEEVLZxAoToNCYHLsGEQNCAwCNAgMAkwFAvg7SUm36SZNwjNNZpq3P5tMO3t/qTxorc1IRillRkMG8lgpx1ekNk8iVQx8azt5jtjCHSS/tHealMAtQPJzc6BJaerj82qG5bDp69vuRIMUVpu1eBV7t2UKkC7nC/EiJMtDoGiSHKkfr1ZMDSbL0Wew3zb0lBiVIx0/rJg+u/yt59jhqBzp0FfbBruL2NTYoZgcfcVLsQfIoU/u1EUhsNtg8lQgBiTntyIH19UlL1GAO3ptySngW5v9g7aH52NU7sILScIfVfUBsb1l4inHK3AAAAAASUVORK5CYII="},fe7b:function(t,e,s){"use strict";s("4a77")}});
//# sourceMappingURL=app.7e6480ca.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/assets/img/ing.png","webpack:///./src/assets/img/back.png","webpack:///./src/views/Process.vue?1486","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/App.vue?0845","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue","webpack:///./src/views/Home.vue?a639","webpack:///src/views/Home.vue","webpack:///./src/views/Home.vue?493c","webpack:///./src/views/Home.vue","webpack:///./src/views/Test.vue?433f","webpack:///src/views/Test.vue","webpack:///./src/views/Test.vue?cb68","webpack:///./src/views/Test.vue","webpack:///./src/components/Test/TestExampleTable.vue?0f57","webpack:///src/components/Test/TestExampleTable.vue","webpack:///./src/components/Test/TestExampleTable.vue?cc76","webpack:///./src/components/Test/TestExampleTable.vue","webpack:///./src/views/TestReport.vue?08af","webpack:///src/views/TestReport.vue","webpack:///./src/views/TestReport.vue?3c0d","webpack:///./src/views/TestReport.vue","webpack:///./src/views/Process.vue?9c5f","webpack:///src/views/Process.vue","webpack:///./src/views/Process.vue?a323","webpack:///./src/views/Process.vue","webpack:///./src/router/index.js","webpack:///./src/store/index.js","webpack:///./src/axios/http.js","webpack:///./src/axios/api.js","webpack:///./src/main.js","webpack:///./src/components/Test/TestExampleTable.vue?e2cf","webpack:///./src/App.vue?a173","webpack:///./src/views/Test.vue?9b24","webpack:///./src/assets/img/allPlay.png","webpack:///./src/views/Home.vue?6a73","webpack:///./src/assets/img/return.png","webpack:///./src/assets/img/stop.png","webpack:///./src/assets/img/success.png","webpack:///./src/assets/img/play.png","webpack:///./src/assets/img/wait.png","webpack:///./src/views/TestReport.vue?502e"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","map","webpackContext","req","id","webpackContextResolve","e","Error","code","keys","resolve","_vm","this","_h","$createElement","_c","_self","attrs","staticClass","on","back","_v","staticRenderFns","mounted","methods","$router","created","addEventListener","localStorage","setItem","JSON","stringify","getItem","$store","replaceState","assign","state","parse","component","staticStyle","tableData","scopedSlots","_u","fn","scope","$event","handleEdit","$index","row","handleDelete","dialogVisible","model","callback","$$v","expression","slot","submit","init","multipleSelection","$axios","getProject","then","console","log","commit","projectId","delProject","handleSelectionChange","val","replace","postProject","message","type","duration","_s","projectName","ref","allPlayImg","runAllTest","_l","receiveData","item","index","refInFor","playImg","runTest","ok","envSet","terminalOptions","terminalCheckbox","browserOptions","browserCheckbox","uploadScriptClick","addTestBtn","addTest","beforeUpload","columns","y","_e","allExampleData","exampleList","headers","accept","allPlayBtn","testAllSet","terminal","browser","allModal","noPage","allPage","examplePage","event","target","getAttribute","exampleIndex","scriptDataExample","tests","testExample","browserConfig","alert","formData","append","file","xhr","open","send","onload","status","checkedList","getDetail","cpu","report","res","reports","os","startTime","costTime","steps","text","record","readTestResult","deleteExampleData","deleteExample","exampleId","_m","testResult","screenShot","success","stopPropagation","pndex","class","detailChose","directives","rawName","test","detail","content","total","useTime","step","header","tabelData","websock","testData","stepsDetail","forEach","testCase","item2","tabel","initWebSocket","WebSocket","wsuri","onmessage","websocketonmessage","onopen","websocketonopen","onerror","websocketonerror","onclose","websocketclose","date","toLocaleDateString","websocketsend","actions","sendData","setTimeout","proExecute","Data","destroyed","close","Vue","use","VueRouter","routes","path","Home","Test","children","TestExampleTable","TestReport","Process","router","base","Vuex","Store","testExampleId","projectNums","homeDataSource","scriptData","mutations","setId","axios","interceptors","request","config","error","Promise","reject","response","url","method","timeout","baseURL","responseType","withCredentials","cache","serve","ElementUI","antd","productionTip","store","render","h","App","$mount"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAKnBhB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASS,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAU6B,QAGnC,IAAIC,EAASF,EAAiB5B,GAAY,CACzCK,EAAGL,EACH+B,GAAG,EACHF,QAAS,IAUV,OANAf,EAAQd,GAAUW,KAAKmB,EAAOD,QAASC,EAAQA,EAAOD,QAASH,GAG/DI,EAAOC,GAAI,EAGJD,EAAOD,QAKfH,EAAoBM,EAAIlB,EAGxBY,EAAoBO,EAAIL,EAGxBF,EAAoBQ,EAAI,SAASL,EAASM,EAAMC,GAC3CV,EAAoBW,EAAER,EAASM,IAClC3B,OAAO8B,eAAeT,EAASM,EAAM,CAAEI,YAAY,EAAMC,IAAKJ,KAKhEV,EAAoBe,EAAI,SAASZ,GACX,qBAAXa,QAA0BA,OAAOC,aAC1CnC,OAAO8B,eAAeT,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DpC,OAAO8B,eAAeT,EAAS,aAAc,CAAEe,OAAO,KAQvDlB,EAAoBmB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQlB,EAAoBkB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKxC,OAAOyC,OAAO,MAGvB,GAFAvB,EAAoBe,EAAEO,GACtBxC,OAAO8B,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOlB,EAAoBQ,EAAEc,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRtB,EAAoB0B,EAAI,SAAStB,GAChC,IAAIM,EAASN,GAAUA,EAAOiB,WAC7B,WAAwB,OAAOjB,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAJ,EAAoBQ,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRV,EAAoBW,EAAI,SAASgB,EAAQC,GAAY,OAAO9C,OAAOC,UAAUC,eAAeC,KAAK0C,EAAQC,IAGzG5B,EAAoB6B,EAAI,GAExB,IAAIC,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAW3C,KAAKsC,KAAKK,GAC5CA,EAAW3C,KAAOf,EAClB0D,EAAaA,EAAWG,QACxB,IAAI,IAAItD,EAAI,EAAGA,EAAImD,EAAWjD,OAAQF,IAAKP,EAAqB0D,EAAWnD,IAC3E,IAAIU,EAAsB2C,EAI1BzC,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,8DCvJTW,EAAOD,QAAU,05C,qBCAjBC,EAAOD,QAAU,ka,yDCAjB,W,uECAA,IAAI+B,EAAM,CACT,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,WAAY,OACZ,cAAe,OACf,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,YAAa,OACb,eAAgB,OAChB,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,QAAS,OACT,aAAc,OACd,gBAAiB,OACjB,WAAY,OACZ,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,YAAa,OACb,eAAgB,OAChB,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,QAIf,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOpC,EAAoBqC,GAE5B,SAASC,EAAsBF,GAC9B,IAAIpC,EAAoBW,EAAEuB,EAAKE,GAAM,CACpC,IAAIG,EAAI,IAAIC,MAAM,uBAAyBJ,EAAM,KAEjD,MADAG,EAAEE,KAAO,mBACHF,EAEP,OAAOL,EAAIE,GAEZD,EAAeO,KAAO,WACrB,OAAO5D,OAAO4D,KAAKR,IAEpBC,EAAeQ,QAAUL,EACzBlC,EAAOD,QAAUgC,EACjBA,EAAeE,GAAK,Q,4HCnShB,EAAS,WAAa,IAAIO,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,MAAM,CAAC,GAAK,QAAQ,CAACF,EAAG,eAAe,CAACA,EAAG,YAAY,CAACA,EAAG,MAAM,CAACG,YAAY,QAAQC,GAAG,CAAC,MAAQR,EAAIS,OAAO,CAACL,EAAG,OAAO,CAACJ,EAAIU,GAAG,wBAAwBN,EAAG,UAAU,CAACA,EAAG,MAAM,CAACG,YAAY,WAAW,CAACH,EAAG,gBAAgB,MAAM,IAAI,IAC3UO,EAAkB,GCiBtB,GACE9C,KAAM,MACN+C,QAFF,aAIEC,QAAS,CACPJ,KADJ,WAEMR,KAAKa,QAAQvE,KAAK,OAGtBwE,QATF,WASA,WAEI5B,OAAO6B,iBAAiB,gBAAgB,WACtCC,aAAaC,QAAQ,QAASC,KAAKC,UAAU,EAAnD,kBAEQH,aAAaI,QAAQ,UACvBpB,KAAKqB,OAAOC,aAAarF,OAAOsF,OAAOvB,KAAKqB,OAAOG,MAAON,KAAKO,MAAMT,aAAaI,QAAQ,cCjC8N,I,wBCQ1TM,EAAY,eACd,EACA,EACAhB,GACA,EACA,KACA,KACA,MAIa,EAAAgB,E,oBCnBX,EAAS,WAAa,IAAI3B,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,SAAS,CAACH,EAAG,MAAM,CAACG,YAAY,SAAS,CAACH,EAAG,YAAY,CAACI,GAAG,CAAC,MAAQR,EAAIrB,SAAS,CAACqB,EAAIU,GAAG,WAAW,GAAGN,EAAG,WAAW,CAACwB,YAAY,CAAC,MAAQ,QAAQtB,MAAM,CAAC,KAAON,EAAI6B,UAAU,OAAS,KAAK,CAACzB,EAAG,kBAAkB,CAACE,MAAM,CAAC,KAAO,KAAK,MAAQ,UAAUF,EAAG,kBAAkB,CAACE,MAAM,CAAC,KAAO,OAAO,MAAQ,UAAUF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQ,MAAMwB,YAAY9B,EAAI+B,GAAG,CAAC,CAACnD,IAAI,UAAUoD,GAAG,SAASC,GAAO,MAAO,CAAC7B,EAAG,UAAU,CAACE,MAAM,CAAC,KAAO,WAAWE,GAAG,CAAC,MAAQ,SAAS0B,GAAQ,OAAOlC,EAAImC,WAAWF,EAAMG,OAAQH,EAAMI,QAAQ,CAACrC,EAAIU,GAAG,QAAQN,EAAG,UAAU,CAACE,MAAM,CAAC,KAAO,UAAUE,GAAG,CAAC,MAAQ,SAAS0B,GAAQ,OAAOlC,EAAIsC,aAAaL,EAAMG,OAAQH,EAAMI,QAAQ,CAACrC,EAAIU,GAAG,gBAAgB,GAAGN,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,OAAO,QAAUN,EAAIuC,cAAc,MAAQ,MAAM,IAAM,OAAO/B,GAAG,CAAC,iBAAiB,SAAS0B,GAAQlC,EAAIuC,cAAcL,KAAU,CAAC9B,EAAG,WAAW,CAACE,MAAM,CAAC,YAAc,WAAWkC,MAAM,CAAClE,MAAO0B,EAAQ,KAAEyC,SAAS,SAAUC,GAAM1C,EAAInC,KAAK6E,GAAKC,WAAW,UAAUvC,EAAG,OAAO,CAACG,YAAY,gBAAgBD,MAAM,CAAC,KAAO,UAAUsC,KAAK,UAAU,CAACxC,EAAG,YAAY,CAACI,GAAG,CAAC,MAAQ,SAAS0B,GAAQlC,EAAIuC,eAAgB,KAAS,CAACvC,EAAIU,GAAG,SAASN,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,WAAWE,GAAG,CAAC,MAAQR,EAAI6C,SAAS,CAAC7C,EAAIU,GAAG,UAAU,IAAI,IAAI,IACp1C,EAAkB,G,qDCmCtB,GACEK,QADF,WAEId,KAAK6C,QAEPrH,KAJF,WAKI,MAAO,CACLoG,UAAW,GACXkB,kBAAmB,GACnBR,eAAe,EACf1E,KAAM,KAGVgD,QAAS,CACPiC,KADJ,WACA,WACM7C,KAAK+C,OAAOC,aAAaC,MAC/B,YACQ,EAAR,aACQ,EAAR,oBAEA,iBAGIf,WAVJ,SAUA,KACMgB,QAAQC,IAAIf,EAAI5C,IAChBQ,KAAKqB,OAAO+B,OAAO,QAAzB,MACMpD,KAAKa,QAAQvE,KAAK,SAClB4G,QAAQC,IAAInD,KAAKqB,OAAOG,MAAM6B,YAEhChB,aAhBJ,SAgBA,gBACMa,QAAQC,IAAIf,EAAI5C,IAChBQ,KAAK+C,OAAOO,WAAWlB,EAAI5C,IAAIyD,MACrC,YACQ,EAAR,OACQ,OAAR,aAAQ,CAAR,CACU,QAAV,OACU,KAAV,UACU,SAAV,SAGA,iBAGIM,sBA9BJ,SA8BA,GACMvD,KAAK8C,kBAAoBU,EACzBN,QAAQC,IAAInD,KAAK8C,oBAEnBpE,OAlCJ,WAmCMsB,KAAKsC,eAAgB,GAEvBM,OArCJ,WAqCA,WACM5C,KAAKpC,KAAOoC,KAAKpC,KAAK6F,QAAQ,OAAQ,IACrB,IAAbzD,KAAKpC,MAA2B,MAAboC,KAAKpC,MAC1BoC,KAAKsC,eAAgB,EACrBtC,KAAK+C,OAAOW,YAAY1D,KAAKpC,MAAMqF,MAC3C,YACU,QAAV,OACU,EAAV,OACU,OAAV,aAAU,CAAV,CACY,QAAZ,OACY,KAAZ,UACY,SAAZ,SAGA,iBAGQ,OAAR,aAAQ,CAAR,CACUU,QAAS,WACTC,KAAM,QACNC,SAAU,SCzG0T,ICQ1U,G,UAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,OAIa,I,QCnBX,EAAS,WAAa,IAAI9D,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,MAAM,CAAC,GAAK,SAAS,CAACF,EAAG,WAAW,CAACA,EAAG,kBAAkB,CAACJ,EAAIU,GAAGV,EAAI+D,GAAG9D,KAAKqB,OAAOG,MAAMuC,gBAAgB5D,EAAG,WAAW,CAACG,YAAY,UAAU,CAACH,EAAG,iBAAiB,CAACA,EAAG,KAAK,CAACG,YAAY,eAAe,CAACP,EAAIU,GAAG,UAAUN,EAAG,MAAM,CAACG,YAAY,iBAAiB,CAACH,EAAG,MAAM,CAACG,YAAY,WAAWH,EAAG,MAAM,CAACG,YAAY,oBAAoB,CAACP,EAAIU,GAAGV,EAAI+D,GAAG9D,KAAKqB,OAAOG,MAAMuC,gBAAgB5D,EAAG,MAAM,CAAC6D,IAAI,aAAa1D,YAAY,UAAUD,MAAM,CAAC,IAAMN,EAAIkE,YAAY1D,GAAG,CAAC,MAAQR,EAAImE,gBAAgBnE,EAAIoE,GAAIpE,EAAIqE,YAAiB,OAAE,SAASC,EAAKC,GAAO,OAAOnE,EAAG,MAAM,CAACxB,IAAI2F,EAAMhE,YAAY,eAAe,CAACH,EAAG,MAAM,CAACG,YAAY,WAAW,CAACH,EAAG,MAAM,CAACG,YAAY,WAAWH,EAAG,MAAM,CAACG,YAAY,eAAe,CAACP,EAAIU,GAAGV,EAAI+D,GAAGO,EAAKzG,SAASuC,EAAG,MAAM,CAAC6D,IAAI,aAAaO,UAAS,EAAKjE,YAAY,UAAUD,MAAM,CAAC,IAAMN,EAAIyE,SAASjE,GAAG,CAAC,MAAQ,SAAS0B,GAAQ,OAAOlC,EAAI0E,QAAQxC,EAAQqC,cAAiBnE,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQ,YAAY,gBAAiB,EAAK,OAAS,QAAQE,GAAG,CAAC,GAAKR,EAAI2E,IAAInC,MAAM,CAAClE,MAAO0B,EAAU,OAAEyC,SAAS,SAAUC,GAAM1C,EAAI4E,OAAOlC,GAAKC,WAAW,WAAW,CAACvC,EAAG,MAAM,CAACG,YAAY,YAAY,CAACH,EAAG,MAAM,CAACG,YAAY,iBAAiB,CAACP,EAAIU,GAAG,aAAaN,EAAG,mBAAmB,CAACE,MAAM,CAAC,QAAUN,EAAI6E,iBAAiBrE,GAAG,CAAC,OAASR,EAAI8E,qBAAqB,GAAG1E,EAAG,MAAM,CAACG,YAAY,iBAAiB,CAACH,EAAG,MAAM,CAACG,YAAY,iBAAiB,CAACP,EAAIU,GAAG,YAAYN,EAAG,mBAAmB,CAACE,MAAM,CAAC,QAAUN,EAAI+E,gBAAgBvE,GAAG,CAAC,OAASR,EAAIgF,oBAAoB,MAAM,GAAG5E,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACG,YAAY,eAAeC,GAAG,CAAC,MAAQR,EAAIiF,oBAAoB,CAACjF,EAAIU,GAAG,UAAUN,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQ,OAAO,gBAAiB,EAAK,OAAS,MAAME,GAAG,CAAC,GAAKR,EAAIkF,YAAY1C,MAAM,CAAClE,MAAO0B,EAAW,QAAEyC,SAAS,SAAUC,GAAM1C,EAAImF,QAAQzC,GAAKC,WAAW,YAAY,CAACvC,EAAG,MAAM,CAACG,YAAY,qBAAqB,CAACH,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACP,EAAIU,GAAG,QAAQN,EAAG,WAAW,CAACG,YAAY,SAASD,MAAM,CAAC,OAAS,0CAA0C,KAAO,OAAO,gBAAgBN,EAAIoF,eAAe,CAAChF,EAAG,SAAS,CAACG,YAAY,aAAa,CAACP,EAAIU,GAAG,MAAMN,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,aAAa,MAAM,KAAKF,EAAG,KAAK,CAACG,YAAY,cAAc,CAACP,EAAIU,GAAG,UAAWV,EAAU,OAAEI,EAAG,UAAU,CAACG,YAAY,SAASD,MAAM,CAAC,QAAUN,EAAIqF,QAAQ,YAAa,EAAM,OAAS,CAAEC,EAAG,QAAetF,EAAIuF,KAAMvF,EAAW,QAAEI,EAAG,UAAU,CAACG,YAAY,UAAUD,MAAM,CAAC,cAAcL,KAAKuF,eAAe,QAAUxF,EAAIqF,QAAQ,YAAa,EAAM,OAAS,CAAEC,EAAG,QAAetF,EAAIuF,KAAKnF,EAAG,gBAAgB,IAAI,IAAI,IAAI,IACpkF,EAAkB,GCuDtB,G,oBAAA,CACEvC,KAAM,OACNpC,KAFF,WAGI,MAAO,CACL4J,QAAS,CACf,CACQ,MAAR,MACQ,UAAR,QAEA,CACQ,MAAR,KACQ,UAAR,SAEA,CACQ,MAAR,MACQ,UAAR,OAEA,CACQ,MAAR,KACQ,UAAR,MAEA,CACQ,MAAR,MACQ,UAAR,WAEA,CACQ,MAAR,OACQ,UAAR,aAEA,CACQ,MAAR,KACQ,UAAR,YAEA,CACQ,MAAR,KACQ,UAAR,YACQ,YAAR,CAAU,aAAV,eAGMI,YAAa,CACnB,CACQ,YAAR,OAEA,CACQ,YAAR,QAGMC,QAAS,CACPC,OAAQ,mBACR,eAAgB,uBAElBtB,YAAa,GACbI,QAAS,EAAf,QACMP,WAAY,EAAlB,QACM0B,YAAY,EACZhB,QAAQ,EACRO,SAAS,EACTU,WAAY,CACVC,SAAU,GACVC,QAAS,IAEXlB,gBAAiB,CAAC,MAClBE,eAAgB,CAAC,MAAO,MAAO,SAAU,WACzCiB,UAAU,EACVC,QAAQ,EACRC,SAAS,EACTC,aAAa,EACbX,eAAgB,KAGpB3E,QAAS,CACP6D,QADJ,SACA,KACMzE,KAAKgG,QAAS,EACdhG,KAAKkG,aAAc,EACnBlG,KAAKiG,SAAU,EACXE,EAAMC,OAAOC,aAAa,SAAW,EAA/C,QACQrG,KAAK2E,QAAS,GACtB,wCAEM3E,KAAKsG,aAAehC,EACpBtE,KAAKqB,OAAOG,MAAM+E,kBAAoB,GACtCvG,KAAKqB,OAAOG,MAAM+E,kBAAkBjK,KAAK0D,KAAKoE,YAAYoC,MAAMlC,KAElEJ,WAbJ,SAaA,cACMlE,KAAKgG,QAAS,EACdhG,KAAKkG,aAAc,EACnBlG,KAAKiG,SAAU,EACXE,EAAMC,OAAOC,aAAa,SAAW,EAA/C,SACQrG,KAAK+F,UAAW,EAChB/F,KAAK2E,QAAS,IACtB,wCAEM3E,KAAKqB,OAAOG,MAAM+E,kBAAoB,GACtCvG,KAAKoE,YAAYoC,MAAMnH,KAAI,SAAjC,KACQ,EAAR,2CAGIqF,GA3BJ,WA2BA,WACM1E,KAAK2E,QAAS,GACQ,IAAlB3E,KAAK+F,UACP/F,KAAKiG,SAAU,EACfjG,KAAKgG,QAAS,EACdhG,KAAKkG,aAAc,EACnBlG,KAAKqB,OAAOG,MAAMiF,YAAYpH,KAAI,SAA1C,KACU,EAAV,6CAEQW,KAAK+F,UAAW,IAEhB/F,KAAKgG,QAAS,EACdhG,KAAKiG,SAAU,EACfjG,KAAKkG,aAAc,GAEjBlG,KAAKqB,OAAOG,MAAMkF,cAAc1K,OAAS,EAC3CgE,KAAKa,QAAQvE,KAAK,CAA1B,kBAEQqK,MAAM,WAGV3B,kBAhDJ,WAiDMhF,KAAKkF,SAAU,GAEjBD,WAnDJ,WAmDA,WACMjF,KAAKkF,SAAU,EACf,IAAN,qBACA,eACA,8BACM0B,EAASC,OAAO,OAAQ7G,KAAK8G,MAC7BC,EAAIC,KAAK,OAAQ,yCAA2C3D,GAC5D0D,EAAIE,KAAKL,GACTG,EAAIG,OAAS,WACQ,MAAfH,EAAII,SACN,EAAV,uCACU,EAAV,yCAIIhC,aAlEJ,SAkEA,GAEM,OADAnF,KAAK8G,KAAOA,GACL,GAETjC,iBAtEJ,SAsEA,GACM7E,KAAK4F,WAAWC,SAAWuB,GAE7BrC,gBAzEJ,SAyEA,GACM/E,KAAK4F,WAAWE,QAAUsB,EAC1BpH,KAAKqB,OAAOG,MAAMkF,cAAgB1G,KAAK4F,WAAWE,UAGtDnF,QApJF,WAoJA,WACIX,KAAK+C,OAAOsE,UAAUrH,KAAKqB,OAAOG,MAAM6B,WAAWJ,MAAK,SAA5D,GAEM,EAAN,4BACM,EAAN,qCACM,IAAK,IAAX,iCACQ,IAAR,GACUV,MAAO,KACP+E,IAAK,OAEPC,EAAO5I,IAAM7C,EACbyL,EAAO/H,GAAKgI,EAAIhM,KAAKiM,QAAQ3L,GAAG0D,GAChC+H,EAAO3J,KAAO4J,EAAIhM,KAAKiM,QAAQ3L,GAAG8B,KAClC2J,EAAOG,GAAKF,EAAIhM,KAAKiM,QAAQ3L,GAAG4L,GAChCH,EAAOzB,QAAU0B,EAAIhM,KAAKiM,QAAQ3L,GAAGgK,QACrCyB,EAAOI,UAAYH,EAAIhM,KAAKiM,QAAQ3L,GAAG6L,UACvCJ,EAAOK,SAAWJ,EAAIhM,KAAKiM,QAAQ3L,GAAG8L,SACtCL,EAAOM,MAAQL,EAAIhM,KAAKiM,QAAQ3L,GAAG+L,MACnC,EAAR,iCAEM,EAAN,yBChO8U,ICQ1U,G,UAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,OAIa,I,QCnBX,EAAS,WAAa,IAAI9H,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,MAAM,CAAC,GAAK,qBAAqB,CAACF,EAAG,UAAU,CAACE,MAAM,CAAC,cAAcL,KAAKqB,OAAOG,MAAMiF,YAAY,QAAU1G,EAAIqF,QAAQ,YAAa,EAAM,OAAS,CAAEC,EAAG,MAAaxD,YAAY9B,EAAI+B,GAAG,CAAC,CAACnD,IAAI,YAAYoD,GAAG,SAAS+F,EAAMC,GAAQ,MAAO,CAAC5H,EAAG,WAAW,CAACG,YAAY,UAAUC,GAAG,CAAC,MAAQ,SAAS0B,GAAQ,OAAOlC,EAAIiI,eAAeD,EAAOvI,OAAO,CAACO,EAAIU,GAAG,QAAQN,EAAG,WAAW,CAACG,YAAY,YAAYC,GAAG,CAAC,MAAQ,SAAS0B,GAAQ,OAAOlC,EAAIkI,kBAAkBF,EAAOpJ,IAAKoJ,EAAOvI,OAAO,CAACO,EAAIU,GAAG,gBAAgB,IACjmB,EAAkB,GCYtB,G,UAAA,CACE7C,KAAM,mBACNpC,KAFF,WAGI,MAAO,CACL4J,QAAS,CACf,CACQ,MAAR,MACQ,UAAR,QAEA,CACQ,MAAR,KACQ,UAAR,SAEA,CACQ,MAAR,MACQ,UAAR,OAEA,CACQ,MAAR,KACQ,UAAR,MAEA,CACQ,MAAR,MACQ,UAAR,WAEA,CACQ,MAAR,OACQ,UAAR,aAEA,CACQ,MAAR,KACQ,UAAR,YAEA,CACQ,MAAR,KACQ,UAAR,YACQ,YAAR,CAAU,aAAV,iBAKExE,QAAS,CACPqH,kBADJ,SACA,KACMjI,KAAKqB,OAAOG,MAAMiF,YAAYvJ,OAAOyB,EAAK,GAC1CqB,KAAK+C,OAAOmF,cAAcC,IAE5BH,eALJ,SAKA,GACMhI,KAAKa,QAAQvE,KAAK,CAAxB,6CC5DyW,ICQrW,G,UAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,OAIa,I,QCnBX,EAAS,WAAa,IAAIyD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,MAAM,CAAC,GAAK,eAAe,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,UAAU,CAACF,EAAG,MAAM,CAACG,YAAY,UAAU,CAACH,EAAG,MAAM,CAACE,MAAM,CAAC,IAAM,EAAQ,WAA+BF,EAAG,OAAO,CAACJ,EAAIU,GAAG,YAAYN,EAAG,MAAM,CAACG,YAAY,WAAW,CAACH,EAAG,KAAK,CAACJ,EAAIU,GAAG,UAAUV,EAAIqI,GAAG,GAAGjI,EAAG,MAAM,CAACG,YAAY,YAAY,CAACH,EAAG,MAAM,CAACG,YAAY,aAAa,CAACH,EAAG,OAAO,CAACG,YAAY,cAAc,CAACP,EAAIU,GAAG,OAAOV,EAAI+D,GAAG/D,EAAInC,SAASuC,EAAG,OAAO,CAACG,YAAY,cAAc,CAACP,EAAIU,GAAG,MAAMV,EAAI+D,GAAG/D,EAAI2H,OAAOvH,EAAG,OAAO,CAACG,YAAY,cAAc,CAACP,EAAIU,GAAG,OAAOV,EAAI+D,GAAG/D,EAAI+F,YAAY3F,EAAG,OAAO,CAACG,YAAY,cAAc,CAACP,EAAIU,GAAG,QAAQV,EAAI+D,GAAG/D,EAAI4H,gBAAgBxH,EAAG,MAAM,CAACG,YAAY,cAAc,CAACH,EAAG,OAAO,CAACG,YAAY,cAAc,CAACP,EAAIU,GAAG,MAAMV,EAAI+D,GAAG/D,EAAI6H,iBAAiBzH,EAAG,UAAU,CAACE,MAAM,CAAC,cAAcN,EAAIsI,WAAW,QAAUtI,EAAIqF,QAAQ,YAAa,EAAM,OAAS,CAAEC,EAAG,MAAcxD,YAAY9B,EAAI+B,GAAG,CAAC,CAACnD,IAAI,aAAaoD,GAAG,SAAS+F,EAAMC,GAAQ,MAAO,CAAC5H,EAAG,MAAM,CAACE,MAAM,CAAC,IAAM0H,EAAOO,WAAW,IAAM,gBAAgB,IAAI,IACnlC,EAAkB,CAAC,WAAa,IAAIvI,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,aAAa,CAACH,EAAG,MAAM,CAACG,YAAY,SAASH,EAAG,MAAM,CAACG,YAAY,YAAY,CAACP,EAAIU,GAAG,cC+BvN,GACE7C,KAAM,aACNpC,KAFF,WAGI,MAAO,CACL4J,QAAS,CACf,CACQ,MAAR,KACQ,UAAR,WAEA,CACQ,MAAR,KACQ,UAAR,aACQ,YAAR,CAAU,aAAV,eAEA,CACQ,MAAR,SACQ,UAAR,YAEA,CACQ,MAAR,OACQ,UAAR,WAEA,CACQ,MAAR,KACQ,UAAR,YAGMiD,WAAY,GACZzK,KAAM,GACN8J,GAAI,GACJ5B,QAAS,GACT6B,UAAW,GACXC,SAAU,KAGdhH,QAAS,GAETE,QArCF,WAqCA,WACId,KAAKqB,OAAOG,MAAMiF,YAAYpH,KAAI,SAAtC,KACM,GAAIgF,EAAK7E,IAAM,EAArB,wBACQ,IAAK,IAAb,yBAC0C,MAA5B6E,EAAKwD,MAAM/L,GAAGwM,WAChBjE,EAAKwD,MAAM/L,GAAGwM,WAAa,GAE3BjE,EAAKwD,MAAM/L,GAAGwM,WAAa,yBAA2BjE,EAAKwD,MAAM/L,GAAGwM,WAEzC,GAAzBjE,EAAKwD,MAAM/L,GAAGyM,QAChBlE,EAAKwD,MAAM/L,GAAGyM,QAAU,IAExBlE,EAAKwD,MAAM/L,GAAGyM,QAAU,IAG5B,EAAR,mBACQ,EAAR,YACQ,EAAR,QACQ,EAAR,kBACQ,EAAR,sBACQ,EAAR,yBAIE5H,QA7DF,cChCoV,ICQhV,G,UAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,OAIa,I,QCnBX,EAAS,WAAa,IAAIZ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,WAAW,CAACH,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,MAAM,CAACG,YAAY,OAAOC,GAAG,CAAC,MAAQ,SAAS0B,GAAiC,OAAzBA,EAAOuG,kBAAyBzI,EAAIS,KAAKyB,MAAW,CAAC9B,EAAG,MAAM,CAACE,MAAM,CAAC,IAAM,EAAQ,QAA0B,IAAM,MAAMN,EAAIU,GAAG,SAASV,EAAIoE,GAAIpE,EAAa,WAAE,SAASsE,EAAKoE,GAAO,OAAOtI,EAAG,KAAK,CAACxB,IAAI8J,EAAMC,MAAM,CAAC,OAAUD,EAAM,GAAI,IAAI,CAACtI,EAAG,KAAK,CAACG,YAAY,OAAOC,GAAG,CAAC,MAAQ,SAAS0B,GAAQ,OAAOlC,EAAI4I,YAAYF,MAAU,CAAC1I,EAAIU,GAAGV,EAAI+D,GAAGO,EAAKzG,SAASuC,EAAG,KAAK,CAACyI,WAAW,CAAC,CAAChL,KAAK,OAAOiL,QAAQ,SAASxK,MAAkB,QAAXgG,EAAKyE,KAAcpG,WAAW,sBAAsBpC,YAAY,UAAUC,GAAG,CAAC,MAAQ,SAAS0B,GAAQ,OAAOlC,EAAI4I,YAAYF,MAAU,CAACtI,EAAG,MAAM,CAACE,MAAM,CAAC,IAAM,EAAQ,QAA6B,IAAM,MAAMN,EAAIU,GAAG,WAAWN,EAAG,KAAK,CAACyI,WAAW,CAAC,CAAChL,KAAK,OAAOiL,QAAQ,SAASxK,MAAkB,OAAXgG,EAAKyE,KAAapG,WAAW,qBAAqBpC,YAAY,MAAMC,GAAG,CAAC,MAAQ,SAAS0B,GAAQ,OAAOlC,EAAI4I,YAAYF,MAAU,CAACtI,EAAG,MAAM,CAACE,MAAM,CAAC,IAAM,EAAQ,QAAyB,IAAM,QAAQF,EAAG,KAAK,CAACyI,WAAW,CAAC,CAAChL,KAAK,OAAOiL,QAAQ,SAASxK,MAAkB,OAAXgG,EAAKyE,KAAapG,WAAW,qBAAqBpC,YAAY,OAAOC,GAAG,CAAC,MAAQ,SAAS0B,GAAQ,OAAOlC,EAAI4I,YAAYF,MAAU,CAACtI,EAAG,MAAM,CAACE,MAAM,CAAC,IAAM,EAAQ,QAA0B,IAAM,MAAMN,EAAIU,GAAG,gBAAe,GAAGN,EAAG,MAAM,CAACG,YAAY,iBAAiB,CAACH,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,MAAM,CAACJ,EAAIU,GAAG,QAAQV,EAAI+D,GAAG/D,EAAIgJ,OAAOrB,OAAOvH,EAAG,MAAM,CAACJ,EAAIU,GAAG,OAAOV,EAAI+D,GAAG/D,EAAIgJ,OAAO,eAAe5I,EAAG,MAAM,CAACJ,EAAIU,GAAG,QAAQV,EAAI+D,GAAG/D,EAAIgJ,OAAO,cAAc5I,EAAG,MAAM,CAACG,YAAY,iBAAiBP,EAAIoE,GAAIpE,EAAIgJ,OAAY,OAAE,SAAS1E,EAAKC,GAAO,OAAOnE,EAAG,MAAM,CAACxB,IAAI2F,EAAMhE,YAAY,gBAAgB,CAACH,EAAG,OAAO,CAACJ,EAAIU,GAAG,SAASV,EAAI+D,GAAGO,EAAK2E,YAAY7I,EAAG,OAAO,CAACJ,EAAIU,GAAG,SAASV,EAAI+D,GAAGO,EAAKuD,aAAazH,EAAG,OAAO,CAACJ,EAAIU,GAAG,SAASV,EAAI+D,GAAGO,EAAKV,YAAYxD,EAAG,OAAO,CAACJ,EAAIU,GAAG,SAASV,EAAI+D,GAAGO,EAAKiE,eAAenI,EAAG,OAAO,CAACJ,EAAIU,GAAG,SAASV,EAAI+D,GAAGO,EAAKkE,iBAAgB,GAAGpI,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,MAAM,CAACG,YAAY,eAAe,CAACP,EAAIU,GAAG,OAAOV,EAAI+D,GAAG/D,EAAIgJ,OAAO,SAAS/M,QAAQ,IAAI+D,EAAI+D,GAAG/D,EAAIgJ,OAAOE,OAAO,OAAO9I,EAAG,MAAM,CAACG,YAAY,eAAe,CAACP,EAAIU,GAAG,QAAQV,EAAI+D,GAAG/D,EAAI4H,cAAcxH,EAAG,MAAM,CAACG,YAAY,eAAe,CAACP,EAAIU,GAAG,MAAMV,EAAI+D,GAAG/D,EAAImJ,SAAS,eACp0E,EAAkB,GC0CtB,G,oBAAA,CACE1N,KADF,WAEI,MAAO,CACL2N,KAAM,EACNC,QAAQ,EACRzB,UAAW,GACX0B,UAAW,GACXC,QAAS,KACTJ,QAAS,GACTH,OAAQ,CACNE,MAAO,EACPpB,MAAO,IAET0B,SAAU,GACVC,YAAa,KAGjB7I,QAjBF,WAiBA,WACIX,KAAKuJ,SAAW,GAChBvJ,KAAKqB,OAAOG,MAAMkF,cAAc+C,SAAQ,SAA5C,GACM,EAAN,oDACQ,IAAR,KACA,KACQjO,EAAKsK,QAAUzB,EACf7I,EAAKkO,SAAWxI,KAAKO,MAAMP,KAAKC,UAAUwI,IAC1CC,EAAMhM,KAAOpC,EAAKkO,SAAS9L,KAC3BgM,EAAMd,KAAO,MAGb,EAAR,iBAEQ,EAAR,wBAGI9I,KAAK6J,iBAEPjJ,QAAS,CACPiJ,cADJ,WAGM,IAAN,kCACM7J,KAAKsJ,QAAU,IAAIQ,UAAUC,GAC7B/J,KAAKsJ,QAAQU,UAAYhK,KAAKiK,mBAC9BjK,KAAKsJ,QAAQY,OAASlK,KAAKmK,gBAC3BnK,KAAKsJ,QAAQc,QAAUpK,KAAKqK,iBAC5BrK,KAAKsJ,QAAQgB,QAAUtK,KAAKuK,gBAE9BJ,gBAVJ,WAYM,IAAN,iBACA,WACMnK,KAAK2H,UAAY6C,EAAKC,qBACtBzK,KAAK0K,cAAcxJ,KAAKC,UAAUwJ,KAEpCN,iBAjBJ,WAmBMrK,KAAK6J,iBAEPI,mBArBJ,SAqBA,cAEM/G,QAAQC,IAAIjC,KAAKO,MAAM/B,EAAElE,OAES,QAA9B0F,KAAKO,MAAM/B,EAAElE,MAAMmI,QACrB3D,KAAK4K,SAAS5K,KAAKmJ,MAC3B,8BACQnJ,KAAKwJ,YAAYlN,KAAK4E,KAAKO,MAAM/B,EAAElE,OACnCwE,KAAKkJ,QAAUhI,KAAKO,MAAM/B,EAAElE,MAAMoM,SAClCiD,YAAW,WACT,EAAV,cACc,EAAd,uBACY,EAAZ,iBAEY,EAAZ,kCAEA,MAEQ7K,KAAK+I,OAAS7H,KAAKO,MAAM/B,EAAElE,OAG/BmN,YA1CJ,SA0CA,GACM3I,KAAK+I,OAAS/I,KAAKwJ,YAAYlF,GAC/BtE,KAAKkJ,QAAUlJ,KAAKwJ,YAAYlF,GAAO,aAEzCsG,SA9CJ,SA8CA,GACM5K,KAAK+I,OAAOlB,MAAQ,GACP,GAATvD,EACFtE,KAAKqJ,UAAU,GAAGP,KAAO,OAEzB9I,KAAKqJ,UAAU/E,EAAQ,GAAGwE,KAAO,OACzC,oBACU9I,KAAKqJ,UAAU/E,GAAOwE,KAAO,QAGjC9I,KAAK+C,OAAO+H,WAAW9K,KAAKuJ,SAASjF,IAAQrB,MACnD,gBACA,iBAGIzC,KA7DJ,WA8DMR,KAAKa,QAAQvE,KAAK,UAEpBoO,cAhEJ,SAgEA,GAEM1K,KAAKsJ,QAAQrC,KAAK8D,IAEpBR,eApEJ,SAoEA,GAEMrH,QAAQC,IAAI,OAAQzD,KAIxBsL,UA9GF,WA+GQhL,KAAKsJ,SACPtJ,KAAKsJ,QAAQ2B,WC3J8T,ICQ7U,G,UAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,OAIa,I,QCZfC,aAAIC,IAAIC,QAER,IAAMC,EAAS,CACb,CACEC,KAAM,IACN1N,KAAM,OACN8D,UAAW6J,GAEb,CACED,KAAM,QACN1N,KAAM,OACN8D,UAAW8J,EACXC,SAAU,CACR,CACEH,KAAM,GACN5J,UAAWgK,KAIjB,CACEJ,KAAM,cACN1N,KAAM,aACN8D,UAAWiK,GAEb,CACEL,KAAM,WACN1N,KAAM,UACN8D,UAAWkK,IAITC,EAAS,IAAIT,OAAU,CAC3BU,KAAM,QACNvN,KAAM,OACN8M,WAGaQ,I,YCzCfX,aAAIC,IAAIY,QAEO,UAAIA,OAAKC,MAAM,CAC5BxK,MAAO,CACL6B,UAAW,EACX4I,cAAe,EACfC,YAAa,EACbC,eAAgB,GAChBpI,YAAa,GACb0C,YAAa,GACb2F,WAAY,GACZ7F,kBAAmB,GACnBG,cAAe,IAEjB2F,UAAW,CACTC,MADS,SACF9K,EAAOhC,GACZgC,EAAM6B,UAAY7D,IAGtBmL,QAAS,GAETpO,QAAS,K,uDChBXgQ,IAAMC,aAAaC,QAAQtB,KAAI,SAAAuB,GAE7B,OAAOA,KACN,SAAAC,GACD,OAAOC,QAAQC,OAAOF,MAGxBJ,IAAMC,aAAaM,SAAS3B,KAAI,SAAA2B,GAC9B,OAAOA,KACN,SAAAH,GACD,OAAOC,QAAQC,OAAOF,MAGT,eAAUI,EAAV,GASZ,QARDC,cAQC,MARQ,OAQR,MAPDC,eAOC,MAPS,IAOT,MANDzR,YAMC,MANM,GAMN,MALD0R,eAKC,MALS,yBAKT,MAJDzH,eAIC,MAJS,CACR,eAAgB,kCAGjB,MADD0H,oBACC,MADc,OACd,EACKT,EAAS,CACbM,OAAQA,EACRC,QAASA,EACTF,IAAKA,EACLG,QAASA,EACTE,iBAAiB,EACjBC,OAAO,EACP7R,KAAMA,EACNiK,QAASA,EACT0H,aAAcA,GAEhB,OAAOZ,IAAMG,ICpCTY,EAAQ,CACZtK,WADY,WAEV,OAAOuJ,EAAM,WAAY,CACvBS,OAAQ,SAGZtJ,YANY,SAMClI,GACX,OAAO+Q,EAAM,WAAY,CACvBS,OAAQ,OACRxR,KAAM,CACJoC,KAAMpC,MAIZ8H,WAdY,SAcA9D,GACV,OAAO+M,EAAM,YAAD,OAAa/M,GAAM,CAC7BwN,OAAQ,YAGZ3F,UAnBY,SAmBD7H,GACT,OAAO+M,EAAM,YAAD,OAAa/M,GAAM,CAC7BwN,OAAQ,SAGZlC,WAxBY,SAwBAtP,GACV,OAAO+Q,EAAM,gBAAiB,CAC5BS,OAAQ,OACRxR,KAAMA,KAGV0M,cA9BY,SA8BG1I,GACb,OAAO+M,EAAM,UAAD,OAAW/M,GAAM,CAC3BwN,OAAQ,aAKCM,K,UCjCfpC,aAAIC,IAAIoC,KACRrC,aAAIhP,UAAU6G,OAASwJ,GACvBrB,aAAIC,IAAIqC,QACRtC,aAAIwB,OAAOe,eAAgB,EAE3B,IAAIvC,aAAI,CACNW,SACA6B,QACAC,OAAQ,SAAAC,GAAC,OAAIA,EAAEC,MACdC,OAAO,S,oCCnBV,W,oCCAA,W,kCCAA,W,mBCAAvQ,EAAOD,QAAU,0gC,kCCAjB,W,mBCAAC,EAAOD,QAAU,ka,mBCAjBC,EAAOD,QAAU,knB,iECAjBC,EAAOD,QAAU,koB,mBCAjBC,EAAOD,QAAU,slB,mBCAjBC,EAAOD,QAAU,se,kCCAjB","file":"static/js/app.7e6480ca.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAkCAYAAAAOwvOmAAAACXBIWXMAAAsSAAALEgHS3X78AAAD0klEQVRYw82Y73HbOBTEf9Lou9nA8ZQKgqvAdAVWBydWELqC0BWEbiCgKwhTgZEKjq7gJDYQqQLdl4XygqMi2ZZm8mY0oM0/WOxb7AMw2e12vCRyTwYU+jlgDvxpHnkGNkAAwlASeGFMTgWVe+ZADfx94JFn4P3I/7dACzRDyeosoA6AeRQT/VDSj7zjDJu35ta9wG1eDSr3LDTKK424iR/N/b7TuX4xemCl1PUaVAV80P01sBgbzFFQuacxH3oQW5k6cIc0M6K5TgPL1F7r0XIoaU8GlXtapWsLVENJm3tqddK8RLy5Z6mB1ENJp+98/BWw/4HKPRXwSYAKpaIDuqGk4ZUh5iPTC8Dr1k06yJ9ASSdP+vMvtY3Y6nljGNYKA2wLzK34p4kWIpV3YuhsgACUqgZodf2oSfRTCqfmupIJflOaWungLIASYEHaqjQbb5WlH+kTSyuhfidBu6Gk5kKRewKwVCq9yCgsUwsBepTr1qL5krFUJlqxdS3T3YNaqu1kmJ0VXu6Z554i92SxjTqM1ycwU8hIYxpXpmI0FsdMH70GtvKRDliK3k30GPnWneziTh8KwNzMKhvpBHlSmbGS6JSlTt8tAGbSD+oAIFMZWQlIZlz4U2w1wvdAqdISRtjp9P4+ZUbQrUw5DCVN7lnHgj41oHrlNJhRPIiBR2MVsXW63+iZkPxiMR5LrzOS2ZiaSe4pZualXtcbpfSL+UiRaG8p0JXp5MMBOVVDScg9O7FTSxoxVqb/29Sn9ogl8vsE7DqORu1SM7YfSoqhZALcxNJhrhsDImrV2X7jrBszz0PRq/PGOG905vWJ7wfDSjAEjMbMXGd62OWe3qTsH8OkM+lqNXMOOXcAJkb0H7XUqZMZmGndtbBMbUxHG6OxOfDVvOzt7EtSEB36KZHCKeGSlpnRiZMIa1mCO7Zs1TIHUxUcsDqwFr8xoj4IbigJkz8+7zLgu8wzi+Z5DNCZ6t9CGemAf4HnocRN1fk34ErG1o6486ViYVx9b+BTM5sQQx38qG8XZGluamBlcfy+SxelsDE1qZM1uAsBqoxfxYHXY+bZmHVNpVE05wYmcS+UhcasdsNLNg7dsc3jGTYOztrIdMSF75OljBNj1RsB1WaTardYy9TXpiPloTa7jAAUEmCWe4Jd4J/KjspWP5R7przZjHbn3LZ36mhs2+6Mwwdp523b9kQDzZEDDpcs5FZxZWAOOCJDV2864EhMrjFHOluxFA84VgeOgiJb9ijoQTuY1x8FpbsRjXjs0GwthpzYuOyh2QnHiymQtVnM9WNCPhb/ATU/8JW0aJ83AAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAXCAYAAAARIY8tAAAACXBIWXMAAAsSAAALEgHS3X78AAAA1klEQVRIx7XVvRGCMBiA4TcevY7gBlqSjhEcgREspHaANDCB5yZ0aXEEN4AJYpPz+IfcfflKivfh5/iinHPsGa2LHHgBlbXmzs45BMYBWgJGbT3BKP621uQhwCFmfBWQiC8CUvFZQDI+AaTjAyBG/A/EigOoNH304x1QIjdlAmS9C0fgKQicE3/HNx8HqELXwdoTKOccWhdXoPbIB8isNa3YR7bWNP5VdcAFqLUuTmJATGTwo8VAJqtCGplddpLI4rqWQlYPHAlk80yeQUpRYIR8gSYE+AEJI3qRfS7MgQAAAABJRU5ErkJggg==\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Process.vue?vue&type=style&index=0&scope=scope&lang=less&\"","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('el-container',[_c('el-header',[_c('div',{staticClass:\"title\",on:{\"click\":_vm.back}},[_c('span',[_vm._v(\"软件适配兼容性自动化测试系统\")])])]),_c('el-main',[_c('div',{staticClass:\"contain\"},[_c('router-view')],1)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div id=\"app\">\n <el-container>\n <el-header>\n <div class=\"title\" @click=\"back\" >\n <span>软件适配兼容性自动化测试系统</span>\n </div>\n </el-header>\n <el-main>\n <div class=\"contain\">\n <router-view></router-view>\n </div>\n </el-main>\n </el-container>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'App',\n mounted () {\n },\n methods: {\n back () {\n this.$router.push('/')\n }\n },\n created () {\n // localStorage.clear()\n window.addEventListener('beforeunload', () => {\n localStorage.setItem('store', JSON.stringify(this.$store.state))\n })\n if (localStorage.getItem('store')) {\n this.$store.replaceState(Object.assign(this.$store.state, JSON.parse(localStorage.getItem('store'))))\n }\n }\n}\n</script>\n<style lang=\"less\">\n#app {\n font-family: Avenir, Helvetica, Arial, sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-align: center;\n margin: 0;\n padding:0;\n box-sizing: border-box;\n color: #2c3e50;\n}\n#app /deep/ .el-header{\n padding: 0;\n height: 86px;\n background-color: #fff;\n width: 100vw;\n display: flex;\n align-items: center;\n}\n.title{\n font-size: 34px;\n color: #383874;\n font-weight: bolder;\n padding-left: 2rem;\n cursor: pointer;\n}\n\n#nav {\n padding: 30px;\n\n a {\n font-weight: bold;\n color: #2c3e50;\n\n &.router-link-exact-active {\n color: #42b983;\n }\n }\n}\n</style>\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=ebd18fa8&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"table\"},[_c('div',{staticClass:\"input\"},[_c('el-button',{on:{\"click\":_vm.create}},[_vm._v(\"新增项目\")])],1),_c('el-table',{staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.tableData,\"stripe\":\"\"}},[_c('el-table-column',{attrs:{\"prop\":\"id\",\"label\":\"项目ID\"}}),_c('el-table-column',{attrs:{\"prop\":\"name\",\"label\":\"项目名称\"}}),_c('el-table-column',{attrs:{\"label\":\"操作\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-link',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.handleEdit(scope.$index, scope.row)}}},[_vm._v(\"查看\")]),_c('el-link',{attrs:{\"type\":\"danger\"},on:{\"click\":function($event){return _vm.handleDelete(scope.$index, scope.row)}}},[_vm._v(\"删除\")])]}}])})],1),_c('el-dialog',{attrs:{\"title\":\"新建项目\",\"visible\":_vm.dialogVisible,\"width\":\"30%\",\"top\":\"0vh\"},on:{\"update:visible\":function($event){_vm.dialogVisible=$event}}},[_c('el-input',{attrs:{\"placeholder\":\"请输入项目名称\"},model:{value:(_vm.name),callback:function ($$v) {_vm.name=$$v},expression:\"name\"}}),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.dialogVisible = false}}},[_vm._v(\"取 消\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.submit}},[_vm._v(\"确 定\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"table\">\r\n <div class=\"input\">\r\n <el-button @click=\"create\">新增项目</el-button>\r\n </div>\r\n <el-table :data=\"tableData\" stripe style=\"width: 100%\">\r\n <el-table-column prop=\"id\" label=\"项目ID\"> </el-table-column>\r\n <el-table-column prop=\"name\" label=\"项目名称\"> </el-table-column>\r\n <el-table-column label=\"操作\"\r\n ><template slot-scope=\"scope\">\r\n <el-link type=\"primary\" @click=\"handleEdit(scope.$index, scope.row)\"\r\n >查看</el-link\r\n >\r\n <el-link type=\"danger\" @click=\"handleDelete(scope.$index, scope.row)\"\r\n >删除</el-link\r\n >\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <el-dialog\r\n title=\"新建项目\"\r\n :visible.sync=\"dialogVisible\"\r\n width=\"30%\"\r\n top=\"0vh\"\r\n >\r\n <el-input v-model=\"name\" placeholder=\"请输入项目名称\"></el-input>\r\n <span slot=\"footer\" class=\"dialog-footer\">\r\n <el-button @click=\"dialogVisible = false\">取 消</el-button>\r\n <el-button type=\"primary\" @click=\"submit\">确 定</el-button>\r\n </span>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { Message } from \"element-ui\";\r\nexport default {\r\n created() {\r\n this.init();\r\n },\r\n data() {\r\n return {\r\n tableData: [],\r\n multipleSelection: [],\r\n dialogVisible: false,\r\n name: \"\",\r\n };\r\n },\r\n methods: {\r\n init() {\r\n this.$axios.getProject().then(\r\n (res) => {\r\n this.tableData = [];\r\n this.tableData = res.data;\r\n },\r\n (reject) => {}\r\n );\r\n },\r\n handleEdit(index, row) {\r\n console.log(row.id)\r\n this.$store.commit('setId',row.id)\r\n this.$router.push(\"/Test\");\r\n console.log(this.$store.state.projectId)\r\n },\r\n handleDelete(index, row) {\r\n console.log(row.id);\r\n this.$axios.delProject(row.id).then(\r\n (res) => {\r\n this.init();\r\n Message({\r\n message: \"删除成功\",\r\n type: \"success\",\r\n duration: 1 * 1000,\r\n });\r\n },\r\n (reject) => {}\r\n );\r\n },\r\n handleSelectionChange(val) {\r\n this.multipleSelection = val;\r\n console.log(this.multipleSelection);\r\n },\r\n create() {\r\n this.dialogVisible = true;\r\n },\r\n submit() {\r\n this.name = this.name.replace(/\\s+/g, \"\");\r\n if (this.name != \"\" && this.name != null) {\r\n this.dialogVisible = false;\r\n this.$axios.postProject(this.name).then(\r\n (res) => {\r\n console.log(res);\r\n this.init();\r\n Message({\r\n message: \"新增成功\",\r\n type: \"success\",\r\n duration: 1 * 1000,\r\n });\r\n },\r\n (reject) => {}\r\n );\r\n } else {\r\n Message({\r\n message: \"项目名称不能为空\",\r\n type: \"error\",\r\n duration: 1 * 1000,\r\n });\r\n }\r\n },\r\n },\r\n};\r\n</script>\r\n<style scope=\"scope\" lang=\"less\">\r\n.input {\r\n float: right;\r\n margin-bottom: 1rem;\r\n /deep/ .el-button {\r\n background-color: #383874;\r\n color: #fff;\r\n letter-spacing: 1px;\r\n font-size: 20px;\r\n }\r\n}\r\n.table /deep/ .el-table .el-link{\r\n margin-right: 10px;\r\n}\r\n.table /deep/ .el-dialog__wrapper {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n.table /deep/ .el-dialog .el-dialog__header {\r\n display: flex;\r\n margin-left: 5%;\r\n padding-left: 0;\r\n width: 90%;\r\n border-bottom: 1px solid #5059d5;\r\n /deep/ .el-dialog__title {\r\n color: #383874;\r\n font-size: 15px;\r\n font-weight: bolder;\r\n letter-spacing: 1px;\r\n }\r\n}\r\n.table /deep/ .el-dialog .el-dialog__footer {\r\n /deep/ .dialog-footer .el-button {\r\n height: 34px;\r\n width: 80px;\r\n color: #fff;\r\n border-radius: 8px;\r\n border: none;\r\n }\r\n /deep/ .dialog-footer .el-button--default {\r\n background-color: #383874;\r\n }\r\n /deep/ .dialog-footer .el-button--primary {\r\n background-color: #ee4b4a;\r\n }\r\n}\r\n.table /deep/ .el-table .el-table__header .has-gutter tr th {\r\n background-color: #383874;\r\n color: #fff;\r\n letter-spacing: 1px;\r\n}\r\n</style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=ac4c6ccc&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&scope=scope&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"test\"}},[_c('a-layout',[_c('a-layout-header',[_vm._v(_vm._s(this.$store.state.projectName))]),_c('a-layout',{staticClass:\"middle\"},[_c('a-layout-sider',[_c('h2',{staticClass:\"testProName\"},[_vm._v(\"测试名称\")]),_c('div',{staticClass:\"exampleHeader\"},[_c('div',{staticClass:\"square\"}),_c('div',{staticClass:\"testExampleTitle\"},[_vm._v(_vm._s(this.$store.state.projectName))]),_c('img',{ref:\"allPlayBtn\",staticClass:\"allPlay\",attrs:{\"src\":_vm.allPlayImg},on:{\"click\":_vm.runAllTest}})]),_vm._l((_vm.receiveData.tests),function(item,index){return _c('div',{key:index,staticClass:\"exampleList\"},[_c('div',{staticClass:\"example\"},[_c('div',{staticClass:\"circle\"}),_c('div',{staticClass:\"exampleName\"},[_vm._v(_vm._s(item.name))]),_c('img',{ref:\"playBtnRef\",refInFor:true,staticClass:\"playBtn\",attrs:{\"src\":_vm.playImg},on:{\"click\":function($event){return _vm.runTest($event, index)}}})])])}),_c('a-modal',{attrs:{\"title\":\"xxxxxxxxx\",\"destroyOnClose\":true,\"okText\":\"开始测试\"},on:{\"ok\":_vm.ok},model:{value:(_vm.envSet),callback:function ($$v) {_vm.envSet=$$v},expression:\"envSet\"}},[_c('div',{staticClass:\"terminal\"},[_c('div',{staticClass:\"terminalTitle\"},[_vm._v(\"播放测试终端:\")]),_c('a-checkbox-group',{attrs:{\"options\":_vm.terminalOptions},on:{\"change\":_vm.terminalCheckbox}})],1),_c('div',{staticClass:\"browserSelect\"},[_c('div',{staticClass:\"terminalTitle\"},[_vm._v(\"测试浏览器:\")]),_c('a-checkbox-group',{attrs:{\"options\":_vm.browserOptions},on:{\"change\":_vm.browserCheckbox}})],1)])],2),_c('a-layout-content',[_c('button',{staticClass:\"uploadScript\",on:{\"click\":_vm.uploadScriptClick}},[_vm._v(\"导入脚本\")]),_c('a-modal',{attrs:{\"title\":\"新建测试\",\"destroyOnClose\":true,\"okText\":\"确定\"},on:{\"ok\":_vm.addTestBtn},model:{value:(_vm.addTest),callback:function ($$v) {_vm.addTest=$$v},expression:\"addTest\"}},[_c('div',{staticClass:\"scriptUploadTitle\"},[_c('div',{staticClass:\"scriptUpload\"},[_vm._v(\"脚本\")]),_c('a-upload',{staticClass:\"upload\",attrs:{\"action\":\"http://127.0.0.1:13500/project/upload/1\",\"name\":\"file\",\"before-upload\":_vm.beforeUpload}},[_c('button',{staticClass:\"uploadBtn\"},[_vm._v(\"上传\"),_c('a-icon',{attrs:{\"type\":\"upload\"}})],1)])],1)]),_c('h1',{staticClass:\"tableTitle\"},[_vm._v(\"测试报告\")]),(_vm.noPage)?_c('a-table',{staticClass:\"noPage\",attrs:{\"columns\":_vm.columns,\"pagination\":false,\"scroll\":{ y: 300 | true}}}):_vm._e(),(_vm.allPage)?_c('a-table',{staticClass:\"allPage\",attrs:{\"data-source\":this.allExampleData,\"columns\":_vm.columns,\"pagination\":false,\"scroll\":{ y: 300 | true}}}):_vm._e(),_c('router-view')],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div id=\"test\">\r\n <a-layout>\r\n <a-layout-header>{{ this.$store.state.projectName }}</a-layout-header>\r\n <a-layout class=\"middle\">\r\n <a-layout-sider>\r\n <h2 class=\"testProName\">测试名称</h2>\r\n <div class=\"exampleHeader\">\r\n <div class=\"square\"></div>\r\n <div class=\"testExampleTitle\">{{ this.$store.state.projectName }}</div>\r\n <img class=\"allPlay\" ref=\"allPlayBtn\" :src=\"allPlayImg\" @click=\"runAllTest\"/>\r\n </div>\r\n <div class=\"exampleList\" v-for=\"(item, index) in receiveData.tests\" :key=\"index\">\r\n <div class=\"example\">\r\n <div class=\"circle\"></div>\r\n <div class=\"exampleName\">{{ item.name }}</div>\r\n <img class=\"playBtn\" ref=\"playBtnRef\" :src=\"playImg\" @click=\"runTest($event, index)\"/>\r\n </div>\r\n </div>\r\n <a-modal title=\"xxxxxxxxx\" v-model=\"envSet\" :destroyOnClose=\"true\" okText=\"开始测试\" @ok=\"ok\">\r\n <div class=\"terminal\">\r\n <div class=\"terminalTitle\">播放测试终端:</div>\r\n <a-checkbox-group :options=\"terminalOptions\" @change=\"terminalCheckbox\">\r\n </a-checkbox-group>\r\n </div>\r\n <div class=\"browserSelect\">\r\n <div class=\"terminalTitle\">测试浏览器:</div>\r\n <a-checkbox-group :options=\"browserOptions\" @change=\"browserCheckbox\">\r\n </a-checkbox-group>\r\n </div>\r\n </a-modal>\r\n </a-layout-sider>\r\n <a-layout-content>\r\n <button class=\"uploadScript\" @click=\"uploadScriptClick\">导入脚本</button>\r\n <a-modal title=\"新建测试\" v-model=\"addTest\" :destroyOnClose=\"true\" okText=\"确定\" @ok=\"addTestBtn\">\r\n <div class=\"scriptUploadTitle\">\r\n <div class=\"scriptUpload\">脚本</div>\r\n <a-upload class=\"upload\" action=\"http://127.0.0.1:13500/project/upload/1\" name=\"file\"\r\n :before-upload=\"beforeUpload\">\r\n <button class=\"uploadBtn\">上传<a-icon type=\"upload\" /></button>\r\n </a-upload>\r\n </div>\r\n </a-modal>\r\n <h1 class=\"tableTitle\">测试报告</h1>\r\n <a-table class=\"noPage\" v-if=\"noPage\" :columns=\"columns\" :pagination=\"false\" :scroll=\"{ y: 300 | true}\">\r\n </a-table>\r\n <a-table class=\"allPage\" v-if=\"allPage\" :data-source=\"this.allExampleData\" :columns=\"columns\" :pagination=\"false\" :scroll=\"{ y: 300 | true}\">\r\n </a-table>\r\n <router-view/>\r\n </a-layout-content>\r\n </a-layout>\r\n </a-layout>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'Test',\r\n data () {\r\n return {\r\n columns: [\r\n {\r\n title: '用例名',\r\n dataIndex: 'name'\r\n },\r\n {\r\n title: '机型',\r\n dataIndex: 'model'\r\n },\r\n {\r\n title: 'cpu',\r\n dataIndex: 'cpu'\r\n },\r\n {\r\n title: '系统',\r\n dataIndex: 'os'\r\n },\r\n {\r\n title: '浏览器',\r\n dataIndex: 'browser'\r\n },\r\n {\r\n title: '开始时间',\r\n dataIndex: 'stratTime'\r\n },\r\n {\r\n title: '耗时',\r\n dataIndex: 'costTime'\r\n },\r\n {\r\n title: '操作',\r\n dataIndex: 'operation',\r\n scopedSlots: { customRender: 'operation' }\r\n }\r\n ],\r\n exampleList: [\r\n {\r\n exampleName: '用例1'\r\n },\r\n {\r\n exampleName: '用例2'\r\n }\r\n ],\r\n headers: {\r\n accept: 'application/json',\r\n 'Content-Type': 'multipart/form-data'\r\n },\r\n receiveData: {},\r\n playImg: require('../assets/img/stop.png'),\r\n allPlayImg: require('../assets/img/allPlay.png'),\r\n allPlayBtn: true,\r\n envSet: false,\r\n addTest: false,\r\n testAllSet: {\r\n terminal: [],\r\n browser: []\r\n },\r\n terminalOptions: ['本机'],\r\n browserOptions: ['uos', '360', 'chrome', 'firefox'],\r\n allModal: false, // 记录是否开启全部测试\r\n noPage: false,\r\n allPage: false,\r\n examplePage: true,\r\n allExampleData: []\r\n }\r\n },\r\n methods: {\r\n runTest (event, index) {\r\n this.noPage = false\r\n this.examplePage = true\r\n this.allPage = false\r\n if (event.target.getAttribute('src') === require('../assets/img/stop.png')) {\r\n this.envSet = true\r\n } else if (event.target.getAttribute('src') === require('../assets/img/play.png')) {\r\n }\r\n this.exampleIndex = index\r\n this.$store.state.scriptDataExample = []\r\n this.$store.state.scriptDataExample.push(this.receiveData.tests[index])\r\n },\r\n runAllTest (event) {\r\n this.noPage = false\r\n this.examplePage = false\r\n this.allPage = false\r\n if (event.target.getAttribute('src') === require('../assets/img/allPlay.png')) {\r\n this.allModal = true\r\n this.envSet = true\r\n } else if (event.target.getAttribute('src') === require('../assets/img/play.png')) {\r\n }\r\n this.$store.state.scriptDataExample = []\r\n this.receiveData.tests.map((item, index) => {\r\n this.$store.state.scriptDataExample.push(item)\r\n })\r\n },\r\n ok () {\r\n this.envSet = false\r\n if (this.allModal === true) {\r\n this.allPage = true\r\n this.noPage = false\r\n this.examplePage = false\r\n this.$store.state.testExample.map((item, index) => {\r\n this.allExampleData = this.allExampleData.concat(item)\r\n })\r\n this.allModal = false\r\n } else {\r\n this.noPage = false\r\n this.allPage = false\r\n this.examplePage = true\r\n }\r\n if (this.$store.state.browserConfig.length > 0) {\r\n this.$router.push({ path: '/Process' })\r\n } else {\r\n alert('请配置浏览器')\r\n }\r\n },\r\n uploadScriptClick () {\r\n this.addTest = true\r\n },\r\n addTestBtn () {\r\n this.addTest = false\r\n const xhr = new XMLHttpRequest()\r\n const formData = new FormData()\r\n const projectId = this.$store.state.projectId\r\n formData.append('file', this.file)\r\n xhr.open('post', 'http://127.0.0.1:13500/project/upload/' + projectId)\r\n xhr.send(formData)\r\n xhr.onload = () => {\r\n if (xhr.status === 200) {\r\n this.receiveData = JSON.parse(xhr.responseText)\r\n this.$store.state.scriptData = this.receiveData\r\n }\r\n }\r\n },\r\n beforeUpload (file) {\r\n this.file = file\r\n return false\r\n },\r\n terminalCheckbox (checkedList) {\r\n this.testAllSet.terminal = checkedList\r\n },\r\n browserCheckbox (checkedList) {\r\n this.testAllSet.browser = checkedList\r\n this.$store.state.browserConfig = this.testAllSet.browser\r\n }\r\n },\r\n mounted () {\r\n this.$axios.getDetail(this.$store.state.projectId).then((res) => {\r\n // this.examplePage = true\r\n this.$store.state.testExample = []\r\n this.$store.state.projectName = res.data.name\r\n for (let i = 0; i < res.data.reports.length; i++) {\r\n const report = {\r\n model: '机型',\r\n cpu: 'cpu'\r\n }\r\n report.key = i\r\n report.id = res.data.reports[i].id\r\n report.name = res.data.reports[i].name\r\n report.os = res.data.reports[i].os\r\n report.browser = res.data.reports[i].browser\r\n report.startTime = res.data.reports[i].startTime\r\n report.costTime = res.data.reports[i].costTime\r\n report.steps = res.data.reports[i].steps\r\n this.$store.state.testExample.push(report)\r\n }\r\n this.receiveData = res.data\r\n })\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n #components-layout-demo-basic {\r\n text-align: center;\r\n }\r\n .ant-layout-header{\r\n font-size: 2em;\r\n background-color: white;\r\n text-align: left;\r\n }\r\n .ant-layout-footer {\r\n line-height: 1.5;\r\n }\r\n .middle{\r\n background-color: #eef1fa;\r\n }\r\n .ant-layout-sider {\r\n background-color: white;\r\n line-height: 40px;\r\n height: 500px;\r\n margin-top: 10px;\r\n }\r\n .testExampleList {\r\n height: 240px;\r\n overflow: auto;\r\n overflow-y: overlay;\r\n }\r\n .ant-layout-content {\r\n color: #fff;\r\n height: auto;\r\n line-height: 60px;\r\n position: relative;\r\n margin-left: 20px;\r\n }\r\n .ant-layout {\r\n margin-bottom: 48px;\r\n }\r\n .ant-layout:last-child {\r\n margin: 0;\r\n }\r\n .script{\r\n display: inline-block;\r\n font-size: 2em;\r\n color: #383874;\r\n font-weight: bold;\r\n }\r\n .uploadScript{\r\n float: right;\r\n height: 40px;\r\n width: 100px;\r\n line-height: 40px;\r\n margin-top: 15px;\r\n border-radius: 5%;\r\n border: none;\r\n background-color: #383874;\r\n }\r\n .exampleHeader{\r\n height: 30px;\r\n width: 67%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n float: right;\r\n margin-right: 15%;\r\n border-bottom: 1px solid #383874;\r\n }\r\n .square{\r\n height: 12px;\r\n width: 12px;\r\n background-color: #383874;\r\n }\r\n .testExampleTitle{\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n margin-left: 10px;\r\n margin-right: 30px;\r\n }\r\n .allPlay{\r\n height: 20px;\r\n width: 20px;\r\n }\r\n .example{\r\n height: auto;\r\n width: 60%;\r\n float: right;\r\n margin-right: 15%;\r\n border-bottom: 1px dashed #383874;\r\n color: #dbdbdb;\r\n }\r\n .circle{\r\n display: inline-block;\r\n height: 8px;\r\n width: 8px;\r\n background-color: #383874;\r\n border-radius: 50%;\r\n }\r\n .exampleName{\r\n width: 50px;\r\n text-align: left;\r\n margin-left: 5%;\r\n display: inline-block;\r\n }\r\n .playBtn{\r\n margin-left: 23%;\r\n display: inline-block;\r\n height: 15px;\r\n width: 15px;\r\n }\r\n .tableTitle{\r\n font-size: 2em;\r\n color: #383874;\r\n font-weight: bold;\r\n }\r\n /deep/ .ant-table-header {\r\n background-color: #383874;\r\n }\r\n /deep/ .ant-table-header .ant-table-thead th{\r\n color: white;\r\n background-color: #383874;\r\n text-align: center;\r\n }\r\n /deep/ .ant-table-tbody td{\r\n text-align: center;\r\n }\r\n .terminal{\r\n margin-left: 10%;\r\n color: #383874;\r\n }\r\n .browserSelect{\r\n margin-left: 10%;\r\n margin-top: 10%;\r\n color: #383874;\r\n }\r\n .terminalTitle{\r\n display: inline-block;\r\n width: 100px;\r\n }\r\n .ant-checkbox-wrapper{\r\n color: #7778a3;\r\n }\r\n /deep/ .ant-modal-footer{\r\n display: flex;\r\n justify-content: center;\r\n }\r\n /deep/ .ant-modal-footer .ant-btn:first-child{\r\n display: none;\r\n }\r\n /deep/ .ant-modal-footer .ant-btn{\r\n background-color: #383874;\r\n }\r\n .testNameTitle{\r\n margin-left: 10%;\r\n }\r\n .scriptUploadTitle{\r\n margin-top: 10%;\r\n margin-bottom: 10%;\r\n margin-left: 30%;\r\n }\r\n .testName{\r\n width: 100px;\r\n text-align: center;\r\n display: inline-block;\r\n color: #383874;\r\n }\r\n .testNameInp{\r\n width: 250px;\r\n border: none;\r\n border-radius: 0;\r\n border-bottom: 1px solid #383874;\r\n display: inline-block;\r\n }\r\n .scriptUpload{\r\n width: 100px;\r\n text-align: center;\r\n display: inline-block;\r\n color: #383874;\r\n }\r\n .uploadScript{\r\n width: 80px;\r\n display: inline-block;\r\n }\r\n .uploadBtn{\r\n border-radius: 10px;\r\n border-color: #383874;\r\n background-color: white;\r\n color: #383874;\r\n }\r\n /deep/ .upload .ant-upload-list-item-info{\r\n margin-left: 22%;\r\n }\r\n /deep/ .upload .ant-upload-list-item-card-actions{\r\n right: 50%;\r\n }\r\n</style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Test.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Test.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Test.vue?vue&type=template&id=7021b388&scoped=true&\"\nimport script from \"./Test.vue?vue&type=script&lang=js&\"\nexport * from \"./Test.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Test.vue?vue&type=style&index=0&id=7021b388&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7021b388\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"testExampleTable\"}},[_c('a-table',{attrs:{\"data-source\":this.$store.state.testExample,\"columns\":_vm.columns,\"pagination\":false,\"scroll\":{ y: 300 | true}},scopedSlots:_vm._u([{key:\"operation\",fn:function(text, record){return [_c('a-button',{staticClass:\"readBtn\",on:{\"click\":function($event){return _vm.readTestResult(record.id)}}},[_vm._v(\"查看\")]),_c('a-button',{staticClass:\"deleteBtn\",on:{\"click\":function($event){return _vm.deleteExampleData(record.key, record.id)}}},[_vm._v(\"删除\")])]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div id=\"testExampleTable\">\r\n<!-- [this.$route.query.index]-->\r\n <a-table :data-source=\"this.$store.state.testExample\" :columns=\"columns\" :pagination=\"false\" :scroll=\"{ y: 300 | true}\">\r\n <template slot=\"operation\" slot-scope=\"text, record\">\r\n <a-button class=\"readBtn\" @click=\"readTestResult(record.id)\">查看</a-button>\r\n <a-button class=\"deleteBtn\" @click=\"deleteExampleData(record.key, record.id)\">删除</a-button>\r\n </template>\r\n </a-table>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'TestExampleTable',\r\n data () {\r\n return {\r\n columns: [\r\n {\r\n title: '用例名',\r\n dataIndex: 'name'\r\n },\r\n {\r\n title: '机型',\r\n dataIndex: 'model'\r\n },\r\n {\r\n title: 'cpu',\r\n dataIndex: 'cpu'\r\n },\r\n {\r\n title: '系统',\r\n dataIndex: 'os'\r\n },\r\n {\r\n title: '浏览器',\r\n dataIndex: 'browser'\r\n },\r\n {\r\n title: '开始时间',\r\n dataIndex: 'startTime'\r\n },\r\n {\r\n title: '耗时',\r\n dataIndex: 'costTime'\r\n },\r\n {\r\n title: '操作',\r\n dataIndex: 'operation',\r\n scopedSlots: { customRender: 'operation' }\r\n }\r\n ]\r\n }\r\n },\r\n methods: {\r\n deleteExampleData (key, exampleId) {\r\n this.$store.state.testExample.splice(key, 1)\r\n this.$axios.deleteExample(exampleId)\r\n },\r\n readTestResult (exampleId) {\r\n this.$router.push({ path: '/testReport', query: { exampleId } })\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n .readBtn{\r\n color: #383874;\r\n background-color: white;\r\n border: none;\r\n }\r\n .deleteBtn{\r\n color: red;\r\n background-color: white;\r\n border: none;\r\n }\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TestExampleTable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TestExampleTable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TestExampleTable.vue?vue&type=template&id=dca473b4&scoped=true&\"\nimport script from \"./TestExampleTable.vue?vue&type=script&lang=js&\"\nexport * from \"./TestExampleTable.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TestExampleTable.vue?vue&type=style&index=0&id=dca473b4&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"dca473b4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"testReport\"}},[_c('router-link',{attrs:{\"to\":\"/Test\"}},[_c('div',{staticClass:\"return\"},[_c('img',{attrs:{\"src\":require(\"../assets/img/return.png\")}}),_c('span',[_vm._v(\"返回\")])])]),_c('div',{staticClass:\"content\"},[_c('h1',[_vm._v(\"测试结果\")]),_vm._m(0),_c('div',{staticClass:\"mainLine\"},[_c('div',{staticClass:\"firstLine\"},[_c('span',{staticClass:\"detailInfo\"},[_vm._v(\"用例名:\"+_vm._s(_vm.name))]),_c('span',{staticClass:\"detailInfo\"},[_vm._v(\"系统:\"+_vm._s(_vm.os))]),_c('span',{staticClass:\"detailInfo\"},[_vm._v(\"浏览器:\"+_vm._s(_vm.browser))]),_c('span',{staticClass:\"detailInfo\"},[_vm._v(\"开始时间:\"+_vm._s(_vm.startTime))])]),_c('div',{staticClass:\"secondLine\"},[_c('span',{staticClass:\"detailInfo\"},[_vm._v(\"耗时:\"+_vm._s(_vm.costTime))])])]),_c('a-table',{attrs:{\"data-source\":_vm.testResult,\"columns\":_vm.columns,\"pagination\":false,\"scroll\":{ y: 600 | true }},scopedSlots:_vm._u([{key:\"screenShot\",fn:function(text, record){return [_c('img',{attrs:{\"src\":record.screenShot,\"alt\":\"截图\"}})]}}])})],1)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"infoTitle\"},[_c('div',{staticClass:\"icon\"}),_c('div',{staticClass:\"baseInfo\"},[_vm._v(\"基础信息\")])])}]\n\nexport { render, staticRenderFns }","<template>\r\n <div id=\"testReport\">\r\n <router-link to=\"/Test\">\r\n <div class=\"return\">\r\n <img src=\"../assets/img/return.png\" />\r\n <span>返回</span>\r\n </div>\r\n </router-link>\r\n <div class=\"content\">\r\n <h1>测试结果</h1>\r\n <div class=\"infoTitle\">\r\n <div class=\"icon\"></div>\r\n <div class=\"baseInfo\">基础信息</div>\r\n </div>\r\n <div class=\"mainLine\">\r\n <div class=\"firstLine\">\r\n <span class=\"detailInfo\">用例名:{{name}}</span><span class=\"detailInfo\">系统:{{os}}</span><span class=\"detailInfo\">浏览器:{{browser}}</span><span class=\"detailInfo\">开始时间:{{startTime}}</span>\r\n </div>\r\n <div class=\"secondLine\">\r\n <span class=\"detailInfo\">耗时:{{costTime}}</span>\r\n </div>\r\n </div>\r\n <a-table :data-source=\"testResult\" :columns=\"columns\" :pagination=\"false\" :scroll=\"{ y: 600 | true }\">\r\n <template slot=\"screenShot\" slot-scope=\"text, record\">\r\n <img :src=\"record.screenShot\" alt=\"截图\"/>\r\n </template>\r\n </a-table>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'TestReport',\r\n data () {\r\n return {\r\n columns: [\r\n {\r\n title: '地址',\r\n dataIndex: 'content'\r\n },\r\n {\r\n title: '截图',\r\n dataIndex: 'screenShot',\r\n scopedSlots: { customRender: 'screenShot' }\r\n },\r\n {\r\n title: '耗时(ms)',\r\n dataIndex: 'costTime'\r\n },\r\n {\r\n title: '是否成功',\r\n dataIndex: 'success'\r\n },\r\n {\r\n title: '信息',\r\n dataIndex: 'message'\r\n }\r\n ],\r\n testResult: [],\r\n name: '',\r\n os: '',\r\n browser: '',\r\n startTime: '',\r\n costTime: ''\r\n }\r\n },\r\n methods: {\r\n },\r\n created () {\r\n this.$store.state.testExample.map((item, index) => {\r\n if (item.id == this.$route.query.exampleId) {\r\n for (let i = 0; i < item.steps.length; i++) {\r\n if (item.steps[i].screenShot == null) {\r\n item.steps[i].screenShot = ''\r\n } else {\r\n item.steps[i].screenShot = 'http://127.0.0.1/13500' + item.steps[i].screenShot\r\n }\r\n if (item.steps[i].success == true) {\r\n item.steps[i].success = '是'\r\n } else {\r\n item.steps[i].success = '否'\r\n }\r\n }\r\n this.testResult = item.steps\r\n this.name = item.name\r\n this.os = item.os\r\n this.browser = item.browser\r\n this.startTime = item.startTime\r\n this.costTime = item.costTime\r\n }\r\n })\r\n },\r\n mounted () {\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n .return{\r\n text-align: left;\r\n margin-left: 3%;\r\n color: #383874;\r\n font-size: 1.5em;\r\n font-weight: bold;\r\n }\r\n .content{\r\n height: 100%;\r\n width: 80%;\r\n margin-top: 20px;\r\n margin-left: 10%;\r\n text-align: left;\r\n }\r\n h1{\r\n color: #383874;\r\n font-weight: bold;\r\n }\r\n .infoTitle{\r\n margin-top: 10px;\r\n }\r\n .icon{\r\n display: inline-block;\r\n height: 10px;\r\n width: 5px;\r\n background-color: #383874;\r\n }\r\n .baseInfo{\r\n margin-left: 5px;\r\n color: #383874;\r\n display: inline-block;\r\n }\r\n .mainLine{\r\n margin-top: 10px;\r\n color: #383874;\r\n }\r\n .secondLine{\r\n margin-top: 10px;\r\n }\r\n .detailInfo{\r\n width: 200px;\r\n margin-right: 100px;\r\n }\r\n .ant-table-wrapper{\r\n margin-top: 20px;\r\n }\r\n /deep/ .ant-table-header{\r\n background-color: #383874;\r\n }\r\n /deep/ .ant-table-wrapper .ant-table-thead th{\r\n text-align: center;\r\n background-color: #383874;\r\n color: white;\r\n }\r\n /deep/ .ant-table-wrapper td{\r\n text-align: center;\r\n }\r\n</style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TestReport.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TestReport.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TestReport.vue?vue&type=template&id=89295848&scoped=true&\"\nimport script from \"./TestReport.vue?vue&type=script&lang=js&\"\nexport * from \"./TestReport.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TestReport.vue?vue&type=style&index=0&id=89295848&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"89295848\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"process\"},[_c('div',{staticClass:\"process-left\"},[_c('div',{staticClass:\"back\",on:{\"click\":function($event){$event.stopPropagation();return _vm.back($event)}}},[_c('img',{attrs:{\"src\":require(\"../assets/img/back.png\"),\"alt\":\"\"}}),_vm._v(\" 返回\")]),_vm._l((_vm.tabelData),function(item,pndex){return _c('ul',{key:pndex,class:{'single':(pndex%2)==0}},[_c('li',{staticClass:\"name\",on:{\"click\":function($event){return _vm.detailChose(pndex)}}},[_vm._v(_vm._s(item.name))]),_c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(item.test=='测试完成'),expression:\"item.test=='测试完成'\"}],staticClass:\"success\",on:{\"click\":function($event){return _vm.detailChose(pndex)}}},[_c('img',{attrs:{\"src\":require(\"../assets/img/success.png\"),\"alt\":\"\"}}),_vm._v(\" 测试完成\")]),_c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(item.test=='测试中'),expression:\"item.test=='测试中'\"}],staticClass:\"ing\",on:{\"click\":function($event){return _vm.detailChose(pndex)}}},[_c('img',{attrs:{\"src\":require(\"../assets/img/ing.png\"),\"alt\":\"\"}})]),_c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(item.test=='未测试'),expression:\"item.test=='未测试'\"}],staticClass:\"wait\",on:{\"click\":function($event){return _vm.detailChose(pndex)}}},[_c('img',{attrs:{\"src\":require(\"../assets/img/wait.png\"),\"alt\":\"\"}}),_vm._v(\" 未测试\")])])})],2),_c('div',{staticClass:\"process-right\"},[_c('div',{staticClass:\"right-header\"},[_c('div',[_vm._v(\"操作系统:\"+_vm._s(_vm.detail.os))]),_c('div',[_vm._v(\"浏览器:\"+_vm._s(_vm.detail['browser']))]),_c('div',[_vm._v(\"测试用例:\"+_vm._s(_vm.detail['name']))])]),_c('div',{staticClass:\"right-content\"},_vm._l((_vm.detail.steps),function(item,index){return _c('div',{key:index,staticClass:\"font-content\"},[_c('span',[_vm._v(\" 操作内容:\"+_vm._s(item.content))]),_c('span',[_vm._v(\" 花费时间:\"+_vm._s(item.costTime))]),_c('span',[_vm._v(\" 返回结果:\"+_vm._s(item.message))]),_c('span',[_vm._v(\" 截图地址:\"+_vm._s(item.screenShot))]),_c('span',[_vm._v(\" 测试结果:\"+_vm._s(item.success))])])}),0),_c('div',{staticClass:\"right-bottom\"},[_c('div',{staticClass:\"bottom-font\"},[_vm._v(\" 进度:\"+_vm._s(_vm.detail[\"steps\"].length)+\"/\"+_vm._s(_vm.detail.total)+\" \")]),_c('div',{staticClass:\"bottom-font\"},[_vm._v(\"开始时间:\"+_vm._s(_vm.startTime))]),_c('div',{staticClass:\"bottom-font\"},[_vm._v(\"耗时:\"+_vm._s(_vm.useTime)+\"毫秒\")])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"process\">\n <div class=\"process-left\">\n <div class=\"back\" @click.stop=\"back\"><img src=\"../assets/img/back.png\" alt=\"\"> 返回</div>\n <ul :class=\"{'single':(pndex%2)==0}\" v-for=\"(item , pndex) in tabelData \" :key=\"pndex\">\n <li class=\"name\" @click=\"detailChose(pndex)\">{{item.name}}</li>\n <li class=\"success\" @click=\"detailChose(pndex)\" v-show=\"item.test=='测试完成'\"><img src=\"../assets/img/success.png\" alt=\"\"> 测试完成</li>\n <li class=\"ing\" @click=\"detailChose(pndex)\" v-show=\"item.test=='测试中'\"><img src=\"../assets/img/ing.png\" alt=\"\"></li>\n <li class=\"wait\" @click=\"detailChose(pndex)\" v-show=\"item.test=='未测试'\"><img src=\"../assets/img/wait.png\" alt=\"\"> 未测试</li>\n </ul>\n </div>\n <div class=\"process-right\">\n <div class=\"right-header\">\n <div>操作系统:{{ detail.os }}</div>\n <div>浏览器:{{ detail['browser'] }}</div>\n <div>测试用例:{{detail['name']}}</div>\n </div>\n <div class=\"right-content\">\n <div\n v-for=\"(item, index) in detail.steps\"\n :key=\"index\"\n class=\"font-content\"\n >\n <span> 操作内容:{{item.content}}</span>\n <span> 花费时间:{{item.costTime}}</span>\n <span> 返回结果:{{item.message}}</span>\n <span> 截图地址:{{item.screenShot}}</span>\n <span > 测试结果:{{item.success}}</span>\n <!-- <span v-show=\"!item.success\" style=\"color:red\"> 测试结果:{{item.success}}</span> -->\n </div>\n </div>\n <div class=\"right-bottom\">\n <div class=\"bottom-font\">\n 进度:{{ detail[\"steps\"].length }}/{{ detail.total }}\n </div>\n <div class=\"bottom-font\">开始时间:{{ startTime }}</div>\n <div class=\"bottom-font\">耗时:{{ useTime }}毫秒</div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n data () {\n return {\n step: 0,\n header: false,\n startTime: '',\n tabelData: [],\n websock: null,\n useTime: '',\n detail: {\n total: 0,\n steps: []\n },\n testData: [],\n stepsDetail: []\n }\n },\n mounted () {\n this.testData = []\n this.$store.state.browserConfig.forEach((item) => {\n this.$store.state.scriptDataExample.forEach((item2) => {\n const data = {}\n const tabel = {}\n data.browser = item\n data.testCase = JSON.parse(JSON.stringify(item2))\n tabel.name = data.testCase.name\n tabel.test = '未测试'\n\n //生成测试数据\n this.testData.push(data)\n //生成渲染数据\n this.tabelData.push(tabel)\n })\n })\n this.initWebSocket()\n },\n methods: {\n initWebSocket () {\n // 初始化weosocket\n const wsuri = 'ws://127.0.0.1:13500/socket/1'\n this.websock = new WebSocket(wsuri)\n this.websock.onmessage = this.websocketonmessage\n this.websock.onopen = this.websocketonopen\n this.websock.onerror = this.websocketonerror\n this.websock.onclose = this.websocketclose\n },\n websocketonopen () {\n // 连接建立之后执行send方法发送数据\n const actions = { test: '12345' }\n const date = new Date()\n this.startTime = date.toLocaleDateString()\n this.websocketsend(JSON.stringify(actions))\n },\n websocketonerror () {\n // 连接建立失败重连\n this.initWebSocket()\n },\n websocketonmessage (e) {\n // 数据接收\n console.log(JSON.parse(e.data))\n\n if (JSON.parse(e.data).message == '连接成功') {\n this.sendData(this.step)\n } else if (JSON.parse(e.data).endTime > 0) {\n this.stepsDetail.push(JSON.parse(e.data))\n this.useTime = JSON.parse(e.data).costTime\n setTimeout(() => {\n this.step = this.step + 1\n if (this.step < this.testData.length) {\n this.sendData(this.step)\n } else {\n this.tabelData[this.step - 1].test = '测试完成'\n }\n }, 2000)\n }else {\n this.detail = JSON.parse(e.data)\n }\n },\n detailChose(index){\n this.detail = this.stepsDetail[index]\n this.useTime = this.stepsDetail[index]['costTime']\n },\n sendData (index) {\n this.detail.steps = []\n if (index == 0) {\n this.tabelData[0].test = '测试中'\n } else {\n this.tabelData[index - 1].test = '测试完成'\n if(this.tabelData[index]){\n this.tabelData[index].test = '测试中'\n }\n }\n this.$axios.proExecute(this.testData[index]).then(\n (res) => {},\n (reject) => {}\n )\n },\n back () {\n this.$router.push('/Test')\n },\n websocketsend (Data) {\n // 数据发送\n this.websock.send(Data)\n },\n websocketclose (e) {\n // 关闭\n console.log('断开连接', e)\n }\n },\n\n destroyed () {\n if (this.websock) {\n this.websock.close() // 离开路由之后断开websocket连接\n }\n }\n}\n</script>\n<style scope=\"scope\" lang=\"less\">\n.process-left /deep/ .el-table .el-table__body .el-table__row td{\n font-size: 20px;\n letter-spacing: 1px;\n overflow: hidden;\n word-wrap: nowrap;\n :first-child{\n color:#383874;\n font-weight: bolder;\n }\n}\n.back{\n position: absolute;\n font-size: 25px;\n font-weight: bolder;\n letter-spacing: 1px;\n bottom: 45px;\n left: 25px;\n z-index: 1000;\n cursor: pointer;\n img{\n padding-bottom: 5px;\n }\n}\n\n.process {\n display: flex;\n justify-content: space-around;\n margin-top: 35px;\n}\n.process-left {\n position: relative;\n width: 224px;\n .single{\n background-color: #fff;\n }\n ul{\n height: 54px;\n padding:0;\n margin: 0;\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 20px;\n font-weight: bolder;\n li{\n cursor: pointer;\n width: 50%;\n list-style: none;\n text-align: center;\n }\n .success{\n color:#15b769\n }\n .wait{\n color: #bbbbbb;\n }\n }\n}\n.process-right {\n color: #383874;\n font-weight: bolder;\n font-size: 20px;\n width: 1540px;\n height: 933px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n .right-header {\n display: flex;\n justify-content: space-between;\n }\n .right-content {\n height: 825px;\n width: 100%;\n background-color: #2a2a30;\n color: #1b4f1e;\n .font-content {\n margin: 20px;\n text-align: start;\n font-size: 25px;\n letter-spacing: 1px;\n span{\n margin-right: 10px;\n }\n }\n overflow: scroll;\n }\n .right-bottom {\n display: flex;\n justify-content: flex-end;\n .bottom-font {\n margin-left: 120px;\n color: #7778a3;\n }\n }\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Process.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Process.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Process.vue?vue&type=template&id=09f8a266&\"\nimport script from \"./Process.vue?vue&type=script&lang=js&\"\nexport * from \"./Process.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Process.vue?vue&type=style&index=0&scope=scope&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport VueRouter from 'vue-router'\nimport Home from '../views/Home.vue'\nimport Test from '../views/Test'\nimport TestExampleTable from '../components/Test/TestExampleTable'\nimport TestReport from '../views/TestReport'\nimport Process from '../views/Process'\nVue.use(VueRouter)\n\nconst routes = [\n {\n path: '/',\n name: 'Home',\n component: Home\n },\n {\n path: '/test',\n name: 'Test',\n component: Test,\n children: [\n {\n path: '',\n component: TestExampleTable\n }\n ]\n },\n {\n path: '/testReport',\n name: 'TestReport',\n component: TestReport\n },\n {\n path: '/Process',\n name: 'Process',\n component: Process\n }\n]\n\nconst router = new VueRouter({\n base: '/dist',\n mode: 'hash',\n routes\n})\n\nexport default router\n","import Vue from 'vue'\nimport Vuex from 'vuex'\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({\n state: {\n projectId: 0,\n testExampleId: 0,\n projectNums: 0,\n homeDataSource: [],\n projectName: '',\n testExample: [],\n scriptData: {},\n scriptDataExample: [],\n browserConfig: []\n },\n mutations: {\n setId (state, id) {\n state.projectId = id\n }\n },\n actions: {\n },\n modules: {\n }\n})\n","/**\r\n * @Description:\r\n * @author wxj\r\n * @date 2020-10-12-13:32\r\n */\r\n// axios数据请求\r\nimport axios from 'axios'\r\n\r\naxios.interceptors.request.use(config => {\r\n // token\r\n return config\r\n}, error => {\r\n return Promise.reject(error)\r\n})\r\n\r\naxios.interceptors.response.use(response => {\r\n return response\r\n}, error => {\r\n return Promise.reject(error)\r\n})\r\n\r\nexport default function (url, {\r\n method = 'post',\r\n timeout = 1000000,\r\n data = {},\r\n baseURL = 'http://127.0.0.1:13500',\r\n headers = {\r\n 'Content-Type': 'application/json;charset=UTF-8'\r\n },\r\n responseType = 'json'\r\n}) {\r\n const config = {\r\n method: method,\r\n timeout: timeout,\r\n url: url,\r\n baseURL: baseURL,\r\n withCredentials: true,\r\n cache: false,\r\n data: data,\r\n headers: headers,\r\n responseType: responseType\r\n }\r\n return axios(config)\r\n}\r\n","/**\r\n * @Description:\r\n * @author wxj\r\n * @date 2020-10-12-13:38\r\n */\r\nimport axios from './http'\r\nconst serve = {\r\n getProject () {\r\n return axios('/project', {\r\n method: 'get'\r\n })\r\n },\r\n postProject (data) {\r\n return axios('/project', {\r\n method: 'post',\r\n data: {\r\n name: data\r\n }\r\n })\r\n },\r\n delProject (id) {\r\n return axios(`/project/${id}`, {\r\n method: 'delete'\r\n })\r\n },\r\n getDetail (id) {\r\n return axios(`/project/${id}`, {\r\n method: 'get'\r\n })\r\n },\r\n proExecute (data) {\r\n return axios('/test/execute', {\r\n method: 'post',\r\n data: data\r\n })\r\n },\r\n deleteExample (id) {\r\n return axios(`report/${id}`, {\r\n method: 'delete'\r\n })\r\n }\r\n}\r\n\r\nexport default serve\r\n","import Vue from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router'\r\nimport store from './store'\r\nimport antd from 'ant-design-vue'\r\nimport 'ant-design-vue/dist/antd.css'\r\nimport axios from './axios/api'\r\nimport ElementUI from 'element-ui'\r\nimport 'element-ui/lib/theme-chalk/index.css'\r\n\r\nVue.use(ElementUI)\r\nVue.prototype.$axios = axios\r\nVue.use(antd)\r\nVue.config.productionTip = false\r\n\r\nnew Vue({\r\n router,\r\n store,\r\n render: h => h(App)\r\n}).$mount('#app')\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TestExampleTable.vue?vue&type=style&index=0&id=dca473b4&lang=less&scoped=true&\"","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=less&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Test.vue?vue&type=style&index=0&id=7021b388&lang=less&scoped=true&\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAiCAYAAADRcLDBAAAACXBIWXMAAAsSAAALEgHS3X78AAACpElEQVRYw7VYwZGjMBBsk4CdgclgnQFksNxfVWYz8P7gdd6X9PRFYFzF/9gIjs0AZ4AzsCPwfYat8awEAtv6YQnUPeoZ9Xh2vV4xZWR5uQKwYD+1Rqt2yrdmviBo0xRADOClZ+kXgApA5QtqEESWlzGALYBoAskDgO0QGCeILC8XxCjC/ePDaLUdBYJCXwOYi6kLgILmGs6Q3lkBSAC8Oo4pMVqdB0FkeZkC2It1Jwpr4amfkPTzW0wdAcQSyA0IRwQOADY2Bp5iLoSQfwD5BkEaaAWAN1/2PUAWRIwDORit0u4hYBOFAPB+LwAAIMYxRaAb6ywvk5tIUBr+Y4s+jVbJQLaMOiZLpE9Gq5BHYiMyILV8R6brGkDLGXlEhH93SUmAgJTMU2rnYGerF3MAf7O8rIjpEJCKUhWcfEB5zcduwtG/UlRSj7VcZy9ZXoYBiYZr4TxRg3MA+ywva4qua1TiOQ6oynWjfkCJjgA0rqgQSX4kYQBgyX5o8JjRRSV2zDcyEs8cLo3cHPmzQYQ+i54NopoCInwggC+jlSvduVaaQCh19YDNL3TvxD1r+D5tIJSa3MsewKonAt31zi/KOhAVbOl7F7jYe5hbfk+djFZNYLRqyDnZFsmNbONziL1wXGtZwjthchMaZXm58cj5C4BfRqtkRL9R2J65s2pZ9byQBWssTBIqNtWYeybLy63wnN8OnIOQxsYKZKLFk+b5REd4vqkTRqsawIeo/3VP/R8Tgb0gl1iNLnupEOIBgD9k+ceEPyZvIlvGH+bZ1fzYgFyoDO9cR0TuKqYMiyzvp+SuvNvAlJjMHenaAWmp3C96GuUjAWhGN8SUDVtLVMYUsV1fH+r91wCB2VB6Lj02P1INKHx0NBv7JwlrfG03btcoj/Kp/wGaZ1N5N009KQAAAABJRU5ErkJggg==\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=style&index=0&scope=scope&lang=less&\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAXCAYAAAARIY8tAAAACXBIWXMAAAsSAAALEgHS3X78AAAA1klEQVRIx7XVvRGCMBiA4TcevY7gBlqSjhEcgREspHaANDCB5yZ0aXEEN4AJYpPz+IfcfflKivfh5/iinHPsGa2LHHgBlbXmzs45BMYBWgJGbT3BKP621uQhwCFmfBWQiC8CUvFZQDI+AaTjAyBG/A/EigOoNH304x1QIjdlAmS9C0fgKQicE3/HNx8HqELXwdoTKOccWhdXoPbIB8isNa3YR7bWNP5VdcAFqLUuTmJATGTwo8VAJqtCGplddpLI4rqWQlYPHAlk80yeQUpRYIR8gSYE+AEJI3qRfS7MgQAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAACXBIWXMAAAsSAAALEgHS3X78AAABdElEQVQ4y5WUwXXbMBBEv/h8lzqwOiBTQXiYu5kK4hLoCpJ0wBLkDuiz9kBVIKoDuwOpAvqyyNsH49E2LiSwM7OLBQabZVlYG2bWADvgKmlew25KYmbWAj3wUOC8AIOkaVXMzHbACPwMmFP4z9c7SdcPYr6dCdgCN69sjGBP1gFDwLVp+5tlWRJoAmrg4oDrSh+L+MrjfR4ws87MJjP7m4t5otbxtfPZHI/HHfDqZf9IJZtZPJkL8Jifprfm7NvdV55hC7ysHH0NnPMqHX9yflsBjccmPh9/zCxPOPq3qYC9T2a+Nmoz68P8P68Crnx/FDlRrP2i0EnSIczbKJbK7D4RuQFPkvKkiTdXkkYH1u7JSI5+bCQNBQ/XwE3SmC5tAh38dqfy/wG/JHWSXgsuOER+9OYcXPCBnAnt/UrUwEVSA3CXNTL5bTazAThEURd5dPtsk/3WnqAB+J31bvbLvQ3rz0BffIIKnus9630IvXn1Q8l675W7u7uGu8mGAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAACXBIWXMAAAsSAAALEgHS3X78AAABf0lEQVRIx62VMVbCQBRFLzn0YGFa2AHsAOmmA1ZgKE2FKxB3kGpa4w6gMmVYgXEH0k4FK4iFfzgxTmIMeeXMP3cm778/6eV5jkt+Ek6BALgDJqXtI5ACsVE6pUK9MtxPwjEQAQua6QBsjNJZLVxumwID/q+1UTouLngdgQFe/CQMft1crMiuABc1t32wN486AgNcrPHEjgXdaWTt8SRubXQGboC5Y+8CX7aEL43SJ2Dq2JsB9G7fHvIW4Gej9FYsfa9qrNcCvBfwENjVFVbBV+Ll2TH2tkc7YNQGPpasBi6f/STcWl//gh8d61s/CadG6R2wl7VHo3TmJ+ESeGpgX+bJyJc1AGLxNZAGRtLAuAH4wyh96kvxvaNgAkRG6UC+ZCi1g6ZTat+WtMbDA/AJDBtO8ll6durLwqYmr7MmzStOpwzXd1rkoV938K68Sgh+RlEe+vWV4KAy53LAvCKedR6vymDnP7TwZwqkF5OquEkqYutxY3jpoLvygFQBi/oCF5acuG7MuIIAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAACXBIWXMAAAsSAAALEgHS3X78AAABXklEQVQ4y62UwXHCMBBFHx7uoYO4AyjBHYQCNBM6iHOTbtykW5wOyIwKgA5MBTEdQAdOBc7lm9E4xBAme7Ktv3/Xq/1/0nUdY2FdLPrn4E09hp1cIrMuroASmF/IOQBV8GYzSmZdzIFtQvIFNAl+ATwkpMvgzfEHmXVxAdQCn4D1perqeg08qlgRvGnOZNbFmTp4BHbAKnjTjsxxBmyAJxVeBG/aqc5LER2CN0uuhAotrYuNRlIC60xVSuGWSfXautgNOuoG33p8aV2cZUChOe3SYd4Swu+UX2S6ITT8e6LPW2RArpfmTrJzXga0/FOkZMWdHEVK1gxv8o/R59VZ8GarxZunor4lhJ8Dp+BN3SugBN4kj3xs+wcqOGotXoM3VaZ9qYC9DmrpdIwo1fFe+UwH/16r7U/r4oesphmQlMBz6hy/WdBMjvByw8je5SztNXPM1UExMMiDuq8uSe8bn2igak8UGaMAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAADtSURBVEhLtZUhEsIwEEVLZxAoToNCYHLsGEQNCAwCNAgMAkwFAvg7SUm36SZNwjNNZpq3P5tMO3t/qTxorc1IRillRkMG8lgpx1ekNk8iVQx8azt5jtjCHSS/tHealMAtQPJzc6BJaerj82qG5bDp69vuRIMUVpu1eBV7t2UKkC7nC/EiJMtDoGiSHKkfr1ZMDSbL0Wew3zb0lBiVIx0/rJg+u/yt59jhqBzp0FfbBruL2NTYoZgcfcVLsQfIoU/u1EUhsNtg8lQgBiTntyIH19UlL1GAO3ptySngW5v9g7aH52NU7sILScIfVfUBsb1l4inHK3AAAAAASUVORK5CYII=\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TestReport.vue?vue&type=style&index=0&id=89295848&lang=less&scoped=true&\""],"sourceRoot":""}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
No preview for this file type
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论