Commit 23f6cdf0 by 潘建波

提交

1 parent 326b5ae0
Showing 165 changed files with 1726 additions and 0 deletions
NODE_ENV = '"development"'
\ No newline at end of file
.DS_Store
node_modules
/dist
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
# fanxing
## Project setup
```
npm install
```
### Compiles and hot-reloads for development
```
npm run serve
```
### Compiles and minifies for production
```
npm run build
```
### Run your unit tests
```
npm run test:unit
```
### Lints and fixes files
```
npm run lint
```
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
module.exports = {
presets: ["@vue/cli-plugin-babel/preset"]
};
This diff could not be displayed because it is too large.
{
"name": "fanxing",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"test:unit": "vue-cli-service test:unit",
"lint": "vue-cli-service lint"
},
"dependencies": {
"axios": "^0.19.0",
"core-js": "^3.3.2",
"echarts": "^4.5.0",
"element-ui": "^2.12.0",
"js-sha1": "^0.6.0",
"moment": "^2.24.0",
"ol": "^6.1.1",
"vue": "^2.6.10",
"vue-router": "^3.1.3",
"vuex": "^3.0.1"
},
"devDependencies": {
"@vue/cli-plugin-babel": "^4.0.0",
"@vue/cli-plugin-eslint": "^4.0.0",
"@vue/cli-plugin-router": "^4.0.0",
"@vue/cli-plugin-unit-mocha": "^4.0.0",
"@vue/cli-plugin-vuex": "^4.0.0",
"@vue/cli-service": "^4.0.0",
"@vue/eslint-config-prettier": "^5.0.0",
"@vue/test-utils": "1.0.0-beta.29",
"babel-eslint": "^10.0.3",
"chai": "^4.1.2",
"eslint": "^5.16.0",
"eslint-plugin-prettier": "^3.1.1",
"eslint-plugin-vue": "^5.0.0",
"node-sass": "^4.12.0",
"prettier": "^1.18.2",
"sass-loader": "^8.0.0",
"stylus": "^0.54.7",
"stylus-loader": "^3.0.2",
"vue-template-compiler": "^2.6.10"
},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/essential",
"@vue/prettier"
],
"rules": {
"indent": "off",
"no-console": "off",
"no-unused-vars": "off",
"no-use-before-define": "off",
"no-undef": "off",
"no-irregular-whitespace": "off",
"no-debugger": "off"
},
"parserOptions": {
"parser": "babel-eslint"
},
"overrides": [
{
"files": [
"**/__tests__/*.{j,t}s?(x)"
],
"env": {
"mocha": true
}
}
]
},
"postcss": {
"plugins": {
"autoprefixer": {}
}
},
"browserslist": [
"> 1%",
"last 2 versions"
]
}
This diff could not be displayed because it is too large.
input {
width: 100% !important;
}
.el-pagination__editor {
width: 30px !important;
/* padding-top: 0 !important; */
}
\ No newline at end of file
.el-input__inner {
background: #393E52;
border: none !important;
color: #fff !important;
font-size: 15px;
}
.el-icon-date {
/*display: none !important;*/
}
.el-time-spinner__item {
line-height: 16px !important;
}
.el-time-spinner__item:hover:not(.disabled):not(.active) {
background: transparent !important;
}
.el-pagination__editor {
height: 30px !important;
vertical-align: middle !important;
}
.detail-modal .el-dialog--small {
width: 56% !important;
}
\ No newline at end of file
@font-face {font-family: "iconfont";
src: url('iconfont.eot?t=1484031753529'); /* IE9*/
src: url('iconfont.eot?t=1484031753529#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('iconfont.woff?t=1484031753529') format('woff'), /* chrome, firefox */
url('iconfont.ttf?t=1484031753529') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
url('iconfont.svg?t=1484031753529#iconfont') format('svg'); /* iOS 4.1- */
}
.icon-liebiaoshitu:before { content: "\e610"; }
.icon-logistics:before { content: "\e620"; }
.icon-productshipping:before { content: "\e621"; }
.icon-producttransport:before { content: "\e622"; }
.icon-product:before { content: "\e623"; }
.icon-schedule:before { content: "\e624"; }
.icon-anonymous-iconfont:before { content: "\e61a"; }
.icon-daifukuan:before { content: "\e625"; }
.icon-iconfont55:before { content: "\e62a"; }
.icon-jikediancanicon13:before { content: "\e60f"; }
.icon-jinggaojingshi:before { content: "\e618"; }
.icon-icon11:before { content: "\e636"; }
.icon-gengduoxuanzhong:before { content: "\e63d"; }
.icon-dianhua:before { content: "\e634"; }
.icon-history:before { content: "\e6f3"; }
.icon-link:before { content: "\e6f7"; }
.icon-qrcode:before { content: "\e639"; }
.icon-fenxiang01:before { content: "\e648"; }
.icon-assessedbadge:before { content: "\e70a"; }
.icon-bad:before { content: "\e716"; }
.icon-good:before { content: "\e717"; }
.icon-shouji:before { content: "\e635"; }
.icon-xiugai:before { content: "\e63f"; }
.icon-gouwuche:before { content: "\e60a"; }
.icon-dizhi:before { content: "\e609"; }
.icon-erweima:before { content: "\e63a"; }
.icon-liebiao1:before { content: "\e62f"; }
.icon-jifenshangcheng:before { content: "\e614"; }
.icon-huodong:before { content: "\e62d"; }
.icon-tupian01:before { content: "\e607"; }
.icon-icon:before { content: "\e638"; }
.icon-fanhuidingbu:before { content: "\e627"; }
.icon-kefu:before { content: "\e628"; }
.icon-tuihuanhuo:before { content: "\e626"; }
.icon-fenlei:before { content: "\e630"; }
.icon-xiaoxi:before { content: "\e602"; }
.icon-tishi:before { content: "\e604"; }
.icon-weixin:before { content: "\e61c"; }
.icon-jian:before { content: "\e712"; }
.icon-wenjianjia:before { content: "\e63b"; }
.icon-huiyuan:before { content: "\e61d"; }
.icon-jia:before { content: "\e66e"; }
.icon-wenjianjia1:before { content: "\e684"; }
.icon-lajitong:before { content: "\e63e"; }
.icon-xuanzhuan:before { content: "\e655"; }
.icon-yuan:before { content: "\e63c"; }
.icon-dingdan:before { content: "\e631"; }
.icon-jiantouzuo:before { content: "\e613"; }
.icon-dagou:before { content: "\e637"; }
.icon-xiaoxi1:before { content: "\e605"; }
.icon-zhiding:before { content: "\e629"; }
.icon-sousuo:before { content: "\e603"; }
.icon-listquery:before { content: "\e632"; }
.icon-shoucang:before { content: "\e612"; }
.icon-email:before { content: "\e608"; }
.icon-daikuanyue:before { content: "\e60e"; }
.icon-dizhi1:before { content: "\e633"; }
.icon-shoucang1:before { content: "\e617"; }
.icon-yuyue:before { content: "\e61b"; }
.icon-renzheng:before { content: "\e61e"; }
.icon-qq:before { content: "\e61f"; }
.icon-changjianwenti:before { content: "\e606"; }
.icon-shenhe-copy:before { content: "\e62b"; }
.icon-shezhimianban:before { content: "\e62c"; }
.icon-view2:before { content: "\e60b"; }
.icon-view:before { content: "\e60c"; }
.icon-like:before { content: "\e615"; }
.icon-likefill:before { content: "\e616"; }
.icon-xiaoxi2:before { content: "\e619"; }
.icon-hot:before { content: "\e756"; }
.icon-yqfxiugai:before { content: "\e6ab"; }
.icon-yuan1:before { content: "\e6a0"; }
.icon-tongzhi:before { content: "\e60d"; }
.icon-xiugaimima:before { content: "\e611"; }
.icon-rotateleft:before { content: "\e601"; }
.icon--duoxuan-weixuan:before { content: "\e68f"; }
.icon--duoxuan-yixuan:before { content: "\e690"; }
html,
body {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
}
.info-wrap {
top: 0;
right: 0;
bottom: 0;
left: 0;
position: fixed;
overflow: auto;
margin: 0;
/* z-index: 99992; */
z-index: 99992;
}
.info-dialog {
position: absolute;
left: 50%;
transform: translateX(-50%);
border-radius: 2px;
box-shadow: 0 1px 3px rgba(0, 0, 0, .3);
box-sizing: border-box;
margin-bottom: 50px;
top: 30%;
background: url(../../img/bgc.png) no-repeat;
border: 2px solid #2E5192;
border-radius: 5px;
}
.info-dialog--tiny {
width: 30%;
}
.info-dialog--small {
width: 60%;
}
.info-dialog--large {
width: 90%;
}
/* 弹窗头部 */
.info-head {
padding: 20px 20px 0;
}
.info-head:before,
.info-head:after {
display: table;
content: "";
}
.info-head:after {
clear: both;
}
.info-title {
line-height: 1;
font-size: 16px;
font-weight: 700;
color: #fff;
}
.info-headerbtn {
float: right;
background: transparent;
border: none;
outline: none;
padding: 0;
cursor: pointer;
font-size: 16px;
}
.info-close {
font-style: normal;
line-height: 1;
color: #bfcbd9;
text-transform: none;
display: inline-block;
}
.info-headerbtn:focus .info-close,
.info-headerbtn:hover .info-close {
color: #20a0ff;
}
.info-close:before {
content: "×";
display: inline-block;
transform: scale(2);
width: 16px;
height: 16px;
}
/* 弹窗主体部 */
.info-body {
padding: 30px 20px;
color: #fff;
font-size: 14px;
}
/* 弹窗尾部 */
.info-footer {
padding: 10px 20px 15px;
text-align: right;
box-sizing: border-box;
}
.info-footer button:first-child {
margin-right: 10px;
}
.info-button+.info-button {
margin-left: 10px;
}
.info-footer .info-button {
margin: 0;
padding: 8px 16px;
border: none;
outline: none;
background-color: #2194ef;
border-radius: 5px;
color: #fff;
font-size: 14px;
text-align: center;
box-sizing: border-box;
cursor: pointer;
}
/* 遮罩层 */
.info-mask {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: .5;
background: #000;
/* z-index: 99991; */
z-index: 99991;
}
\ No newline at end of file
No preview for this file type
<!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.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>fanxing</title>
<script src="<%= BASE_URL %>js/kinetic-v5.1.0.min.js"></script>
<script src="<%= BASE_URL %>js/ObjTree.js"></script>
<script src="<%= BASE_URL %>js/jquery.min.js"></script>
</head>
<body>
<noscript>
<strong></strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>提示信息</title>
<link rel="stylesheet" href="css/iframe/common.css">
<style>
.info-footer {
display: none;
}
</style>
</head>
<body>
<div class="info-wrap">
<div class="info-dialog info-dialog--tiny">
<div class="info-head">
<span class="info-title">提示</span>
<button class="info-headerbtn" aria-label="Close">
<i class="info-close"></i>
</button>
</div>
<div class="info-body">
<span></span>
</div>
<div class="info-footer">
<button class="info-button info-close-button">
<span>关 闭</span>
</button>
</div>
</div>
</div>
<div class="info-mask"></div>
<script>
// window.onload = function() {
var globalVm = ''; // 父级组件实例
function changeText(data) {
var str = "";
str = typeof data === "string" ? data : JSON.stringify(data);
document.getElementsByClassName('info-body')[0].childNodes[1].innerText = str;
document.getElementsByClassName('info-footer')[0].style.display = "block";
// console.log('parent window:', parent);
}
document.getElementsByClassName('info-headerbtn')[0].addEventListener('click', function(e) {
var e = e || window.event;
e.stopPropagation();
e.preventDefault();
try {
globalVm.hide();
} catch (err) {
console.log('弹窗组件关闭的异常:', err.message)
console.dir('父级 global:', parent)
globalVm = parent.infoDialogVm;
globalVm.hide();
}
// globalVm.showInfo('关闭弹窗', false);
});
document.getElementsByClassName('info-close-button')[0].addEventListener('click', function(e) {
var e = e || window.event;
e.stopPropagation();
e.preventDefault();
try {
globalVm.hide();
} catch (err) {
console.log('弹窗组件关闭的异常:', err.message)
console.dir('父级 global:', parent)
globalVm = parent.infoDialogVm;
globalVm.hide();
}
});
// }
</script>
</body>
</html>
\ No newline at end of file
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
var $lang = {
errAlertMsg: "\u4E0D\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\u6216\u8005\u65E5\u671F\u8D85\u51FA\u9650\u5B9A\u8303\u56F4,\u9700\u8981\u64A4\u9500\u5417?",
aWeekStr: ["\u5468", "\u65E5", "\u4E00", "\u4E8C", "\u4E09", "\u56DB", "\u4E94", "\u516D"],
aLongWeekStr: ["\u5468", "\u661F\u671F\u65E5", "\u661F\u671F\u4E00", "\u661F\u671F\u4E8C", "\u661F\u671F\u4E09", "\u661F\u671F\u56DB", "\u661F\u671F\u4E94", "\u661F\u671F\u516D"],
aMonStr: ["\u4E00\u6708", "\u4E8C\u6708", "\u4E09\u6708", "\u56DB\u6708", "\u4E94\u6708", "\u516D\u6708", "\u4E03\u6708", "\u516B\u6708", "\u4E5D\u6708", "\u5341\u6708", "\u5341\u4E00", "\u5341\u4E8C"],
aLongMonStr: ["\u4E00\u6708", "\u4E8C\u6708", "\u4E09\u6708", "\u56DB\u6708", "\u4E94\u6708", "\u516D\u6708", "\u4E03\u6708", "\u516B\u6708", "\u4E5D\u6708", "\u5341\u6708", "\u5341\u4E00\u6708", "\u5341\u4E8C\u6708"],
clearStr: "\u6E05\u7A7A",
todayStr: "\u4ECA\u5929",
okStr: "\u786E\u5B9A",
updateStr: "\u786E\u5B9A",
timeStr: "\u65F6\u95F4",
quickStr: "\u5FEB\u901F\u9009\u62E9",
err_1: '\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u4E8E\u6700\u5927\u65E5\u671F!'
}
\ No newline at end of file
.Wdate{
border:#999 1px solid;
height:20px;
background:#fff url(datePicker.gif) no-repeat right;
}
.Wdate::-ms-clear{display:none;}
.WdateFmtErr{
font-weight:bold;
color:red;
}
\ No newline at end of file
/*
* My97 DatePicker 4.7
* Ƥ�����:whyGreen
*/
/* ����ѡ������ DIV */
.WdateDiv{
width:180px;
background-color:#fff;
border:#1b9cdd 1px solid; /*#C5E1E4*/
padding:2px;
}
/* ˫������Ŀ�� */
.WdateDiv2{
width:360px;
}
.WdateDiv *{font-size:9pt;}
/****************************
* ����ͼ�� ȫ����A��ǩ
***************************/
.WdateDiv .NavImg a{
cursor:pointer;
display:block;
width:16px;
height:16px;
margin-top:1px;
}
.WdateDiv .NavImgll a{
float:left;
background:url(img.gif) no-repeat;
}
.WdateDiv .NavImgl a{
float:left;
background:url(img.gif) no-repeat -16px 0px;
}
.WdateDiv .NavImgr a{
float:right;
background:url(img.gif) no-repeat -32px 0px;
}
.WdateDiv .NavImgrr a{
float:right;
background:url(img.gif) no-repeat -48px 0px;
}
/****************************
* ����·����
***************************/
/* ����·��� DIV */
.WdateDiv #dpTitle{
height:24px;
padding:1px;
border:#c5d9e8 1px solid;
background:url(bg.jpg);
margin-bottom:2px;
}
/* ����·������ INPUT */
.WdateDiv .yminput{
margin-top:2px;
text-align:center;
border:0px;
height:20px;
width:50px;
color:#034c50;
background-color:transparent;
cursor:pointer;
}
/* ����·�������ý���ʱ����ʽ INPUT */
.WdateDiv .yminputfocus{
margin-top:2px;
text-align:center;
border:#939393 1px solid;
font-weight:bold;
color:#034c50;
height:20px;
width:50px;
}
/* �˵�ѡ��� DIV */
.WdateDiv .menuSel{
z-index:1;
position:absolute;
background-color:#FFFFFF;
border:#A3C6C8 1px solid;
display:none;
}
/* �˵�����ʽ TD */
.WdateDiv .menu{
cursor:pointer;
background-color:#fff;/*1b9cdd*/
color:#11777C;/**/
}
/* �˵���mouseover��ʽ TD */
.WdateDiv .menuOn{
cursor:pointer;
color: #fff;/*custom*/
background-color:#1b9cdd;/*BEEBEE*/
}
/* �˵���Чʱ����ʽ TD */
.WdateDiv .invalidMenu{
color:#aaa;
}
/* ��ѡ����ƫ�� DIV */
.WdateDiv .YMenu{
margin-top:20px;
}
/* ��ѡ����ƫ�� DIV */
.WdateDiv .MMenu{
margin-top:20px;
*width:62px;
}
/* ʱѡ����λ�� DIV */
.WdateDiv .hhMenu{
margin-top:-90px;
margin-left:26px;
}
/* ��ѡ����λ�� DIV */
.WdateDiv .mmMenu{
margin-top:-46px;
margin-left:26px;
}
/* ��ѡ����λ�� DIV */
.WdateDiv .ssMenu{
margin-top:-24px;
margin-left:26px;
}
/****************************
* �����
***************************/
.WdateDiv .Wweek {
text-align:center;
background:#DAF3F5;
border-right:#BDEBEE 1px solid;
}
/****************************
* ����,�������
***************************/
/* ������ TR */
.WdateDiv .MTitle{
color:#fff;/*13777e*/
background-color:#1b9cdd;/*bdebee*/
}
.WdateDiv .WdayTable2{
border-collapse:collapse;
border:#BEE9F0 1px solid;
}
.WdateDiv .WdayTable2 table{
border:0;
}
/* ��������� TABLE */
.WdateDiv .WdayTable{
line-height:20px;
color:#1b9cdd;/*13777e*/
background-color:#edfbfb;
border:#1b9cdd 1px solid;/*BEE9F0*/
}
.WdateDiv .WdayTable td{
text-align:center;
}
/* ���ڸ����ʽ TD */
.WdateDiv .Wday{
cursor:pointer;
}
/* ���ڸ��mouseover��ʽ TD */
.WdateDiv .WdayOn{
cursor:pointer;
background-color:#74d2d9 ;
}
/* ��ĩ���ڸ����ʽ TD */
.WdateDiv .Wwday{
cursor:pointer;
color:#ab1e1e;
}
/* ��ĩ���ڸ��mouseover��ʽ TD */
.WdateDiv .WwdayOn{
cursor:pointer;
background-color:#74d2d9;
}
.WdateDiv .Wtoday{
cursor:pointer;
color:blue;
}
.WdateDiv .Wselday{
background-color:#A7E2E7;
}
.WdateDiv .WspecialDay{
background-color:#66F4DF;
}
/* �����·ݵ����� */
.WdateDiv .WotherDay{
cursor:pointer;
color:#0099CC;
}
/* �����·ݵ�����mouseover��ʽ */
.WdateDiv .WotherDayOn{
cursor:pointer;
background-color:#C0EBEF;
}
/* ��Ч���ڵ���ʽ,�������ڷ�Χ�������ڸ����ʽ,����ѡ������� */
.WdateDiv .WinvalidDay{
color:#aaa;
}
/****************************
* ʱ�����
***************************/
/* ʱ���� DIV */
.WdateDiv #dpTime{
}
/* ʱ������ SPAN */
.WdateDiv #dpTime #dpTimeStr{
margin-left:1px;
color:#000;/*497F7F*/
}
/* ʱ������� INPUT */
.WdateDiv #dpTime input{
height:20px;
width:18px;
text-align:center;
color:#333;
border:#1b9cdd 1px solid; /*61CAD0*/
}
/* ʱ�� ʱ INPUT */
.WdateDiv #dpTime .tB{
border-right:0px;
}
/* ʱ�� �ֺͼ���� ':' INPUT */
.WdateDiv #dpTime .tE{
border-left:0;
border-right:0;
}
/* ʱ�� �� INPUT */
.WdateDiv #dpTime .tm{
width:7px;
border-left:0;
border-right:0;
}
/* ʱ���ұߵ����ϰ�ť BUTTON */
.WdateDiv #dpTime #dpTimeUp{
height:10px;
width:13px;
border:0px;
background:url(img.gif) no-repeat -32px -16px;
}
/* ʱ���ұߵ����°�ť BUTTON */
.WdateDiv #dpTime #dpTimeDown{
height:10px;
width:13px;
border:0px;
background:url(img.gif) no-repeat -48px -16px;
}
/****************************
* ����
***************************/
.WdateDiv #dpQS {
float:left;
margin-right:3px;
margin-top:3px;
background:url(img.gif) no-repeat 0px -16px;
width:20px;
height:20px;
cursor:pointer;
}
.WdateDiv #dpControl {
text-align:right;
margin-top:3px;
}
.WdateDiv .dpButton{
height:20px;
width:45px;
margin-top:2px;
border:#fff 1px solid;/*38B1B9*/
background: linear-gradient(to right, #1ca1e2, #0c65a6);/*background-color:#CFEBEE;*/
color:#fff;/*08575B*/
}
\ No newline at end of file
(function($) {
function mnpXml(opCode, xmlStr) {
return this.each(function() {
if (typeof xmlStr != "string") return;
if (!jQuery.isXMLDoc(this)) return;
var node = $.parseXml(xmlStr).firstChild.cloneNode(true);
switch (opCode) {
case "append":
this.appendChild(node);
break;
case "prepend":
if (this.childNodes.length > 0)
this.insertBefore(node, this.firstChild);
else
this.appendChild(node);
break;
case "after":
if (this.nextSibling)
this.parentNode.insertBefore(node, this.nextSibling);
else
this.parentNode.appendChild(node);
break;
case "before":
this.parentNode.insertBefore(node, this);
break;
}
});
}
$.fn.extend({
appendXml: function(s) {
return mnpXml.call(this, "append", s);
},
prependXml: function(s) {
return mnpXml.call(this, "prepend", s);
},
afterXml: function(s) {
return mnpXml.call(this, "after", s);
},
beforeXml: function(s) {
return mnpXml.call(this, "before", s);
},
xml: function() {
var elem = this[0];
return elem.xml || (new XMLSerializer()).serializeToString(elem) ;
},
innerXml: function() {
var s = this.xml();
var i = s.indexOf(">"), j = s.lastIndexOf("<");
if (j > i)
return s.substring(i + 1, j);
else
return "";
}
});
$.extend(jQuery, {
parseXml: function(xmlStr) {
if (window.ActiveXObject) {
var xd = new ActiveXObject("Microsoft.XMLDOM");
xd.async = false;
xd.loadXML(xmlStr);
return xd;
}
else if (typeof DOMParser != "undefined") {
var xd = new DOMParser().parseFromString(xmlStr, "text/xml");
return xd;
}
else return null;
},
toXml: function(obj, nodeName, useAttr) {
var x = $($.parseXml("<" + nodeName + " />"));
var n = x.find(":first");
for (var p in obj) {
if (useAttr)
n.attr(p, obj[p]);
else
n.appendXml("<" + p + " />").find(p).text(obj[p]);
}
return x[0];
}
});
})(jQuery);
\ No newline at end of file
<?xml version="1.0" encoding="UTF8"?>
<root>
<功能配置>
<抓拍参数配置>
<抓拍模式>2</抓拍模式>
<路口电警>
<虚拟线圈>
<线圈2启用>0</线圈2启用>
<线圈1启用>0</线圈1启用>
<显示>0</显示>
<线圈3启用>0</线圈3启用>
</虚拟线圈>
<占用紧急车道>
<启用算法>0</启用算法>
</占用紧急车道>
<车辆慢行>
<启用>0</启用>
</车辆慢行>
<非法停车>
<启用算法>0</启用算法>
</非法停车>
<行人检测>
<启用>0</启用>
</行人检测>
<占用公交车道>
<启用算法>0</启用算法>
</占用公交车道>
<礼让行人>
<启用>0</启用>
</礼让行人>
<异常停车>
<启用>0</启用>
</异常停车>
<占用非机动车道>
<启用算法>0</启用算法>
</占用非机动车道>
</路口电警>
<视频卡口>
<卡口抓两张图>0</卡口抓两张图>
<跨线变道>
<启用算法>1</启用算法>
</跨线变道>
<逆行>
<输出限时单行>0</输出限时单行>
<启用算法>0</启用算法>
</逆行>
<雷达测速>
<雷达匹配失败方案>0</雷达匹配失败方案>
<启用算法>1</启用算法>
<过滤掉视频测速低速车>0</过滤掉视频测速低速车>
</雷达测速>
<车辆拥堵>
<启用算法>0</启用算法>
</车辆拥堵>
<压线>
<启用算法>1</启用算法>
</压线>
<大货车禁行>
<黄牌即认为是大货车>0</黄牌即认为是大货车>
<启用算法>1</启用算法>
</大货车禁行>
<占有率超限>
<启用算法>0</启用算法>
</占有率超限>
</视频卡口>
</抓拍参数配置>
</功能配置>
<基础配置>
<成像参数设置>
<曝光设置>
<自动>
<触发帧最大曝光时间>1511</触发帧最大曝光时间>
<最优环境亮度>70.000000</最优环境亮度>
<最优车牌亮度>70.000000</最优车牌亮度>
<最大曝光时间>10000</最大曝光时间>
<最大增益>20</最大增益>
</自动>
<手动>
<手动曝光时间>300</手动曝光时间>
</手动>
<曝光模式>0</曝光模式>
</曝光设置>
<外设设置>
<闪光灯开关>1</闪光灯开关>
<闪光灯极性>1</闪光灯极性>
<白昼切换>0</白昼切换>
<闪光灯控制模式>0</闪光灯控制模式>
<频闪灯开关>0</频闪灯开关>
</外设设置>
<图像调节>
<色度>35</色度>
<锐度>90</锐度>
<对比度>41</对比度>
<饱和度>41</饱和度>
</图像调节>
</成像参数设置>
<网络设置>
<数据服务器>
<IP地址>192.168.5.38</IP地址>
<端口>2525</端口>
</数据服务器>
</网络设置>
</基础配置>
<雷达>
<输出雷达Log信息>0</输出雷达Log信息>
<车道1支持雷达>0</车道1支持雷达>
<车道3支持雷达>0</车道3支持雷达>
<车道2支持雷达>0</车道2支持雷达>
</雷达>
<高级配置>
<调试参数>
<JPEG压缩比>53</JPEG压缩比>
<HD-SDI>
<启用HD-SDI>0</启用HD-SDI>
</HD-SDI>
</调试参数>
</高级配置>
</root>
<template>
<div id="app" class="blue">
<router-view />
</div>
</template>
<style lang="scss">
#app {
height: 100%;
font-family:MicrosoftYaHeiUI;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
</style>
import map from "./map";
import login from "./login";
import task from "./task";
export default {
map,
login,
task
};
import axios from "axios";
import store from "../store/index.js";
// 创建 axios 实例
let service = axios.create({
// headers: {'Content-Type': 'application/json'},
timeout: 60000
});
// 设置 post、put 默认 Content-Type
service.defaults.headers.post["Content-Type"] = "application/json";
service.defaults.headers.put["Content-Type"] = "application/json";
// 添加请求拦截器
service.interceptors.request.use(
config => {
if (store.state.users.atoken) {
// 判断是否存在token,如果存在的话,则每个http header都加上token
config.headers.authorization = store.state.users.atoken;
}
if (config.method == "post") {
config.data = {
...config.data,
_t: Date.parse(new Date()) / 1000
};
} else if (config.method == "get") {
config.params = {
_t: Date.parse(new Date()) / 1000,
...config.params
};
}
return config;
},
error => {
// 请求错误处理
return Promise.reject(error);
}
);
// 添加响应拦截器
service.interceptors.response.use(
response => {
let { data } = response;
return data;
},
error => {
console.log(error);
let info = {};
if (!error.response) {
info = {
code: 5000,
msg: "Network Error"
};
} else {
let { status, statusText, data } = error.response;
// 此处整理错误信息格式
info = {
code: status,
data: data,
msg: statusText
};
}
return Promise.reject(error);
}
);
/**
* 创建统一封装过的 axios 实例
* @return {AxiosInstance}
*/
export default function() {
return service;
}
let baseUrl = '/api' // 本地代理
console.log(process.env.NODE_ENV)
switch (process.env.NODE_ENV) {
case 'development':
baseUrl = 'http://192.168.9.133:20080' // 测试环境url
// baseUrl="http://192.168.9.162:20080"
break
case 'pre':
baseUrl = 'https://pre-server.feleti.cn' // 预上线环境url
break
case 'production':
baseUrl = 'https://api.feleti.cn' // 生产环境url
break
}
export default baseUrl
\ No newline at end of file
import axios from "./axios";
let instance = axios();
export default {
get(url, params, headers) {
let options = {};
if (params) {
options.params = params;
}
if (headers) {
options.headers = headers;
}
return instance.get(url, options);
},
post(url, data, headers, params) {
let options = {};
if (params) {
options.params = params;
}
if (headers) {
options.headers = headers;
}
return instance.post(url, data, options);
},
put(url, params, headers) {
let options = {};
if (headers) {
options.headers = headers;
}
return instance.put(url, params, options);
},
delete(url, params, headers) {
let options = {};
if (params) {
options.params = params;
}
if (headers) {
options.headers = headers;
}
return instance.delete(url, options);
}
};
import apiList from "./apiList";
const install = function(Vue) {
if (install.installed) {
return;
}
install.installed = true;
Object.defineProperties(Vue.prototype, {
$api: {
get() {
return apiList;
}
}
});
};
export default {
install
};
import api from "../index";
import urls from "./urls";
export default {
//登陆
login(params, id) {
return api.post(urls.login, params)
},
algocombs(params, id) {
return api.get(urls.algocombs, params);
},
storeconfs(params, id) {
return api.get(urls.storeconfs, params);
}
};
import baseUrl from '../baseUrl'
export default {
login: baseUrl + '/api/v1/devconf_fx/users/login',
algocombs:baseUrl+'/api/v1/devconf_fx/algo_combs',
storeconfs:baseUrl+'/api/v1/devconf_fx/store_confs'
}
\ No newline at end of file
import api from '../index'
import urls from './urls'
const header = {}
export default {
archive(params) {
// return出去了一个promise
return api.get(urls.archive, params)
},
detail(params,id) {
// return出去了一个promise
return api.get(urls.detail+id,params)
},
pass(params,id) {
// return出去了一个promise
return api.post(urls.pass+id,params)
},
delResult(params,id) {
// return出去了一个promise
return api.delete(urls.delResult+id,params)
},
delEvent(params,id) {
// return出去了一个promise
return api.delete(urls.delEvent+id,params)
},
eventTypeData(params) {
// return出去了一个promise
return api.get(urls.eventTypeData,params)
},
homeNum(params) {
// return出去了一个promise
return api.get(urls.homeNum,params)
},
homeLine(params) {
// return出去了一个promise
return api.get(urls.homeLine,params)
},
homeCatch(params) {
// return出去了一个promise
return api.get(urls.homeCatch,params)
},
setClose(params) {
// return出去了一个promise
return api.post(urls.pass,params)
},
}
\ No newline at end of file
import baseUrl from '../baseUrl'
export default {
archive: baseUrl + '/api/v1/datahandle/behavior/archive',
detail:baseUrl+'/api/v1/datahandle/behavior/archive/',
pass:baseUrl+'/api/v1/datahandle/behavior/audit/',
delResult:baseUrl+'/api/v1/datahandle/behavior/events/',
delEvent:baseUrl+'/api/v1/datahandle/behavior/archive/',
eventTypeData:'http://192.168.9.133:20080'+'/api/v1/codes/event_types',
homeNum:baseUrl+'/api/v1/datahandle/statistics/type',
homeLine:baseUrl+'/api/v1/datahandle/statistics/hour',
homeCatch:baseUrl+'/api/v1/datahandle/statistics/handle',
}
\ No newline at end of file
import api from "../index";
import urls from "./urls";
export default {
//登陆
getTask(params, id) {
return api.get(urls.getTask, params);
},
editTask(params, taskid) {
return api.post(urls.editTask(taskid), params);
},
editRoi(taskid, subtaskid, params) {
return api.post(urls.editroi(taskid, subtaskid), params);
},
alternatestate(params, taskid, subtaskid) {
return api.post(urls.alternatestate(taskid, subtaskid), params);
},
algostate(params, taskid, subtaskid) {
return api.post(urls.algostate(taskid, subtaskid), params);
},
getSubTask(taskid) {
return api.get(urls.getSubTask(taskid));
},
getStream(devid, vrefid) {
return api.get(urls.getstream(devid, vrefid));
},
getPlayUrl(subid) {
return api.get(urls.getPlayUrl(subid)); // 获取播放地址
},
getTaskParams(taskid, subtaskid) {
return api.get(urls.getTaskParams(taskid, subtaskid));
},
cutpic(devid, vchanid, subtaskid) {
return api.get(urls.cutpic(devid, vchanid, subtaskid));
},
deleteTask(taskid) {
return api.delete(urls.deleteTask(taskid));
}
};
import baseUrl from "../baseUrl";
function gitTimer() {
return new Date().getTime();
}
export default {
getTask: `${baseUrl}/api/v1/devconf_fx/tasks?s=${gitTimer()}`,
editTask: taskid => {
return `${baseUrl}/api/v1/devconf_fx/tasks/${taskid}`;
},
editroi: (taskid, subtaskid) => {
return `${baseUrl}/api/v1/devconf_fx/tasks/${taskid}/subtasks/${subtaskid}?s=${gitTimer()}`; // ROI设置
},
alternatestate: (taskid, subtaskid) => {
return `${baseUrl}/api/v1/devconf_fx/tasks/${taskid}/subtask/${subtaskid}/suspend_alternate_task?s=${gitTimer()}`;
},
algostate: (taskid, subtaskid) => {
return `${baseUrl}/api/v1/devconf_fx/tasks/${taskid}/subtask/${subtaskid}/suspend_algorithm?s=${gitTimer()}`;
},
getSubTask: id => {
return `${baseUrl}/api/v1/devconf_fx/tasks/${id}/subtasks?s=${gitTimer()}`;
},
getstream: (devid, vrefid) => {
return `${baseUrl}/api/v1/stream/devs/${devid}/vchans/${vrefid}/live/is_sending?s=${gitTimer()}`;
},
getPlayUrl: subid => {
return `${baseUrl}/api/v1/devconf_fx/analyse/live/play_url?subtask_id=${subid}`; // 获取播放地址
},
getTaskParams: (taskid, subtaskid) => {
return `${baseUrl}/api/v1/devconf_fx/tasks/${taskid}/subtasks/${subtaskid}?s=${gitTimer()}`; // 推流信息
},
cutpic: (devid, vchanid, subtaskid) => {
return `${baseUrl}/api/v1/devconf_fx/devs/${devid}/vchans/${vchanid}/cut_pic?subtask_id=${subtaskid}&s=${gitTimer()}`; // 截图
},
deleteTask: taskid => {
return `${baseUrl}/api/v1/devconf_fx/tasks/${taskid}?s=${gitTimer()}`; // 删除子任务
},
deleteSubTask: (taskid, subtaskid) => {
return `${baseUrl}/api/v1/devconf_fx/tasks/${taskid}/subtask/${subtaskid}?s=${gitTimer()}`; // 删除子任务
},
changeTask: taskid => {
return `${baseUrl}/api/v1/devconf_fx/tasks/${taskid}/start_or_stop?s=${gitTimer()}`; // 切换任务
}
};
import api from '../index'
import urls from './urls'
export default {
tasks(params,id){
return api.get(urls.tasks,params)
},
subtasks(params,id){
return api.get(urls.subtasks+id+'/subtasks',params)
},
}
\ No newline at end of file
import baseUrl from "../baseUrl";
export default {
tasks: baseUrl + "/api/v1/devconf_fx/tasks",
subtasks: baseUrl + "/api/v1/devconf_fx/tasks/"
};
html,body{
height: 100%;
}
*{
padding: 0;
margin: 0;
}
.home,.home-box{
height: 100%;
}
.home-box .el-tabs--card>.el-tabs__header .el-tabs__item.is-active{
background: red
}
.home-box .el-tabs__nav{
width: 100%;
}
.home-box .el-tabs__item{
width: 25%!important;
padding: 0!important;
text-align: center;
}
/* 设置区域设置按钮 */
.editbtn .el-radio-button__inner{
border: 0;
}
.editbtn .el-radio-button:first-child,.editbtn .el-radio-button__inner{
border: 0!important;
}
.editbtn .el-radio-button:last-child,.editbtn .el-radio-button__inner{
border-radius: 0;
border: 0;
}
.editbtn .el-radio-button__orig-radio:checked+.el-radio-button__inner{
border: 0;
background: none;
box-shadow:none;
color: #3BB7FF;
}
.editbtn .el-radio-button__inner{
background: none;
padding: 0;
}
.el-radio-button--small .el-radio-button__inner{
font-size: 18px;
color: #3BB7FF;
}
.editbtn{
height: 46px;
width: 48px;
line-height: 46px;
text-align: center;
font-size: 14px;
background: #D7EDFF;
cursor: pointer;
}
\ No newline at end of file
@font-face {font-family: "iconfont";
src: url('iconfont.eot?t=1576476926424'); /* IE9 */
src: url('iconfont.eot?t=1576476926424#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
url('iconfont.woff?t=1576476926424') format('woff'),
url('iconfont.ttf?t=1576476926424') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('iconfont.svg?t=1576476926424#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-daochu:before {
content: "\e61e";
}
.icon-rili:before {
content: "\e616";
}
.icon-login:before {
content: "\e600";
}
.icon-zhanshi:before {
content: "\e87a";
}
.icon-add-circle-s:before {
content: "\e662";
}
.icon-bofang1:before {
content: "\e61c";
}
.icon-bofang:before {
content: "\e607";
}
.icon-detail:before {
content: "\e644";
}
.icon-Migration:before {
content: "\e664";
}
.icon-zanting:before {
content: "\e685";
}
.icon-zantingtingzhi:before {
content: "\e643";
}
.icon-xiugai:before {
content: "\e632";
}
No preview for this file type
!function(a){var t,n='<svg><symbol id="icon-daochu" viewBox="0 0 1024 1024"><path d="M179.2 610.4c0 51.2 8.8 100.8 24.8 146.4 58.4-170.4 213.6-292 397.6-292l0 72.8c0 28 15.2 52.8 39.2 65.6 9.6 4.8 20.8 8 31.2 8 15.2 0 29.6-4.8 42.4-14.4l281.6-219.2c17.6-13.6 28-35.2 28-58.4 0-23.2-10.4-44.8-28-58.4L714.4 40.8c-12-9.6-27.2-14.4-42.4-14.4-10.4 0-21.6 2.4-31.2 8-24 12-39.2 37.6-39.2 65.6l0 72.8C368.8 172 179.2 368.8 179.2 610.4z" ></path><path d="M972.8 588.8c-28 0-51.2 23.2-51.2 51.2l0 51.2 0 10.4c0 108-4 194.4-204.8 194.4L307.2 896c-207.2 0-204.8-92-204.8-204.8l0-256C88 274.4 164 239.2 256 232l0 0 3.2 0c28 0 51.2-23.2 51.2-51.2 0-28-23.2-52-51.2-52l-3.2 0L256 128l-51.2 0C92 128 0 220 0 332.8l0 460.8c0 112.8 92 204.8 204.8 204.8l613.6 0c112.8 0 204.8-92 204.8-204.8L1023.2 640C1024 612 1000.8 588.8 972.8 588.8z" ></path></symbol><symbol id="icon-rili" viewBox="0 0 1024 1024"><path d="M329.197037 662.186667l365.605926 0c9.102222 0 16.402963-7.395556 16.402963-16.402963s-7.395556-16.402963-16.402963-16.402963L329.197037 629.380741c-9.102222 0-16.402963 7.395556-16.402963 16.402963S320.094815 662.186667 329.197037 662.186667z" ></path><path d="M329.197037 565.380741l365.605926 0c9.102222 0 16.402963-7.395556 16.402963-16.402963 0-9.102222-7.395556-16.402963-16.402963-16.402963L329.197037 532.574815c-9.102222 0-16.402963 7.395556-16.402963 16.402963C312.794074 557.985185 320.094815 565.380741 329.197037 565.380741z" ></path><path d="M724.385185 214.755556l-42.477037 0 0-42.477037-42.477037 0 0 42.477037L384.568889 214.755556l0-42.477037-42.477037 0 0 42.477037L299.614815 214.755556c-46.648889 0-84.859259 38.21037-84.859259 84.859259l0 467.247407c0 46.648889 38.21037 84.859259 84.859259 84.859259l424.77037 0c46.648889 0 84.859259-38.21037 84.859259-84.859259L809.244444 299.614815C809.244444 252.965926 771.034074 214.755556 724.385185 214.755556zM778.145185 766.862222c0 23.419259-30.435556 53.76-53.76 53.76L299.614815 820.622222c-23.419259 0-53.76-30.435556-53.76-53.76L245.854815 427.045926l532.385185 0L778.24 766.862222zM779.093333 395.946667 244.906667 395.946667 244.906667 299.614815c0-23.419259 31.383704-53.76 54.708148-53.76l42.477037 0L342.091852 299.614815l42.477037 0 0-53.854815 254.767407 0L639.336296 299.614815l42.477037 0 0-53.854815L724.385185 245.76c23.419259 0 54.708148 30.435556 54.708148 53.76L779.093333 395.946667z" ></path></symbol><symbol id="icon-login" viewBox="0 0 1024 1024"><path d="M780.875 396.388c1.754-1.622 2.427-4.217 1.501-6.574-0.924-2.365-3.182-3.804-5.574-3.804h-166.755l0.359-246.761c0.005-4.603-1.742-9.209-5.254-12.72-3.508-3.514-8.111-5.274-12.715-5.274h-163.328c-4.597 0-9.201 1.76-12.715 5.274-3.506 3.513-5.255 8.117-5.25 12.72l0.332 246.761h-166.764c-2.387 0-4.643 1.438-5.575 3.804-0.925 2.359-0.252 4.951 1.504 6.574l257.895 239.15c3.209 2.971 7.502 4.794 12.218 4.794 4.72 0 9.013-1.824 12.219-4.794l257.902-239.15zM1037.742 650.941l-161.68-126.155c-9.159-7.147-26.16-12.993-37.775-12.993h-64.199l182.757 155.557-211.754 0.103-79.019 113.225h-311.316l-75.815-113.121-210.615-0.103 188.985-155.756-74.142 0.097c-11.617 0-28.618 5.847-37.776 12.993l-161.68 126.154c-9.159 7.148-13.701 22.029-10.091 33.073l64.499 197.362c3.609 11.043 16.067 20.078 27.684 20.078h891.089c11.617 0 24.032-9.049 27.591-20.108l63.447-197.302c3.554-11.061-1.029-25.956-10.19-33.103z" ></path></symbol><symbol id="icon-zhanshi" viewBox="0 0 1024 1024"><path d="M512 336.1c-124.1 0-232.7 108.6-232.7 175.9 0 67.2 108.6 175.9 232.7 175.9 129.3 0 232.7-124.1 232.7-175.9 0-51.7-103.4-175.9-232.7-175.9z m0 253.5c-41.4 0-77.6-36.2-77.6-77.6 0-41.4 36.2-77.6 77.6-77.6 41.4 0 77.6 36.2 77.6 77.6 0 41.4-36.2 77.6-77.6 77.6z m0 0" ></path><path d="M512 98.2C284.4 98.2 98.2 284.4 98.2 512S284.4 925.8 512 925.8 925.8 739.6 925.8 512 739.6 98.2 512 98.2z m0 641.4c-150 0-284.5-129.3-284.5-227.6 0-98.3 134.5-227.6 284.5-227.6S796.5 424.1 796.5 512 662 739.6 512 739.6z m0 0" ></path></symbol><symbol id="icon-add-circle-s" viewBox="0 0 1024 1024"><path d="M512 894.5c-51.6 0-101.7-10.1-148.9-30.1-45.6-19.3-86.5-46.8-121.6-82-35.1-35.1-62.7-76-82-121.6-20-47.2-30.1-97.3-30.1-148.9s10.1-101.7 30.1-148.9c19.3-45.6 46.8-86.5 82-121.6 35.1-35.1 76-62.7 121.6-82 47.2-20 97.3-30.1 148.9-30.1s101.7 10.1 148.9 30.1c45.6 19.3 86.5 46.8 121.6 82 35.1 35.1 62.7 76 82 121.6 20 47.2 30.1 97.3 30.1 148.9s-10.1 101.7-30.1 148.9c-19.3 45.6-46.8 86.5-82 121.6-35.1 35.1-76 62.7-121.6 82-47.2 20-97.3 30.1-148.9 30.1z m-17.3-361.9v205.8c0 11 9 20 20 20s20-9 20-20l-1-205.7h206.7c11 0 20-9 20-20s-9-20-20-20H534.7V287c0-11-9-20-20-20s-20 9-20 20v205.7H289c-11 0-20 9-20 20s9 20 20 20l205.7-0.1z" ></path></symbol><symbol id="icon-bofang1" viewBox="0 0 1024 1024"><path d="M514 114.3c-219.9 0-398.9 178.9-398.9 398.9 0.1 219.9 179 398.8 398.9 398.8 219.9 0 398.8-178.9 398.8-398.8S733.9 114.3 514 114.3z m173 421.9L437.1 680.5c-17.7 10.2-39.8-2.6-39.8-23V368.9c0-20.4 22.1-33.2 39.8-23L687 490.2c17.7 10.2 17.7 35.8 0 46z" ></path></symbol><symbol id="icon-bofang" viewBox="0 0 1024 1024"><path d="M822.824 97.58H201.176c-57.196 0-103.595 46.398-103.595 103.595v621.647c0 57.197 46.4 103.597 103.595 103.597h621.649c57.196 0 103.595-46.4 103.595-103.597V201.176c0-57.198-46.4-103.596-103.596-103.596zM356.607 719.147V304.851l362.54 207.108-362.54 207.188z" ></path></symbol><symbol id="icon-detail" viewBox="0 0 1024 1024"><path d="M800.111944 127.936032H223.888056C171.178411 127.936032 128.191904 170.922539 128.191904 224.143928V255.872064h767.616192v-32.23988c0-52.709645-42.986507-95.696152-95.696152-95.696152m-167.852074-63.968016l14.328836 100.813593H377.411294l14.328836-100.813593h240.51974M639.936032 0H384.063968c-26.610695 0-51.174413 21.493253-54.756622 47.592204l-18.934532 134.076961c-3.582209 26.098951 14.84058 47.592204 41.451274 47.592204h319.84008c26.610695 0 45.033483-21.493253 41.451274-47.592204l-18.934532-134.076961C691.110445 21.493253 666.546727 0 639.936032 0m176.03998 319.84008H208.023988c-35.310345 0-61.409295 28.657671-58.338831 63.968016l52.197901 576.223888c3.070465 34.798601 34.798601 63.968016 69.597202 63.968016h480.015992c35.310345 0 66.526737-28.657671 69.597201-63.968016L873.803098 383.808096c3.582209-35.310345-22.516742-63.968016-57.827086-63.968016M384.063968 895.552224H287.856072L256.127936 447.776112h127.936032V895.552224z m191.904048 0h-127.936032V447.776112h127.936032V895.552224z m160.175912 0H639.936032V447.776112h127.936032l-31.728136 447.776112z" fill="" ></path></symbol><symbol id="icon-Migration" viewBox="0 0 1024 1024"><path d="M853.840124 948.467989h-62.27438c-34.42119 0-62.274379-27.853189-62.274379-62.274379v-746.806034c0-34.42119 27.853189-62.274379 62.274379-62.27438h62.27438c34.42119 0 62.274379 27.853189 62.274379 62.27438v746.806034c-0.12163 34.42119-27.974819 62.274379-62.274379 62.274379z m-373.403017-373.403017H293.735598V450.516213h186.701509V326.089084l248.975887 186.701509-248.975887 186.701508V575.064972zM231.461219 637.217722h186.701508v248.975888c0 34.42119-27.853189 62.274379-62.274379 62.274379H169.186839c-34.42119 0-62.274379-27.853189-62.274379-62.274379v-746.806034c0-34.42119 27.853189-62.274379 62.274379-62.27438h186.701509c34.42119 0 62.274379 27.853189 62.274379 62.27438v248.975888H231.461219v248.854258z m0 0" fill="" ></path></symbol><symbol id="icon-zanting" viewBox="0 0 1024 1024"><path d="M804.571429 0a146.285714 146.285714 0 0 1 146.285714 146.285714v731.428572a146.285714 146.285714 0 1 1-292.571429 0V146.285714a146.285714 146.285714 0 0 1 146.285715-146.285714zM219.428571 0a146.285714 146.285714 0 0 1 146.285715 146.285714v731.428572a146.285714 146.285714 0 1 1-292.571429 0V146.285714a146.285714 146.285714 0 0 1 146.285714-146.285714z" ></path></symbol><symbol id="icon-zantingtingzhi" viewBox="0 0 1024 1024"><path d="M720.896 95.232c-47.616 0-89.6 41.472-89.6 89.088v655.36c0 47.616 41.984 89.088 89.6 89.088s89.6-41.472 89.6-89.088V184.32c-0.512-47.616-41.984-89.088-89.6-89.088z m-417.792 0c-47.616 0-89.6 41.472-89.6 89.088v655.36c0 47.616 41.984 89.088 89.6 89.088s89.6-41.472 89.6-89.088V184.32c0-47.616-41.984-89.088-89.6-89.088z" ></path></symbol><symbol id="icon-xiugai" viewBox="0 0 1024 1024"><path d="M768.487 388.361L590.76 215.067 210.93 594.492l-66.201 242.161v0.4L386.483 769.8zM739.523 66.62l-95.197 95.04 178.296 172.65 92.375-92.296c48.487-48.406 48.487-126.985 0-175.392-48.405-48.407-127.069-48.407-175.474-0.002zM79.029 878.71h872.333v114.976H79.029z" ></path></symbol></svg>',c=(t=document.getElementsByTagName("script"))[t.length-1].getAttribute("data-injectcss");if(c&&!a.__iconfont__svg__cssinject__){a.__iconfont__svg__cssinject__=!0;try{document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")}catch(t){console&&console.log(t)}}!function(t){if(document.addEventListener)if(~["complete","loaded","interactive"].indexOf(document.readyState))setTimeout(t,0);else{var c=function(){document.removeEventListener("DOMContentLoaded",c,!1),t()};document.addEventListener("DOMContentLoaded",c,!1)}else document.attachEvent&&(l=t,o=a.document,i=!1,(n=function(){try{o.documentElement.doScroll("left")}catch(t){return void setTimeout(n,50)}e()})(),o.onreadystatechange=function(){"complete"==o.readyState&&(o.onreadystatechange=null,e())});function e(){i||(i=!0,l())}var l,o,i,n}(function(){var t,c,e,l,o,i;(t=document.createElement("div")).innerHTML=n,n=null,(c=t.getElementsByTagName("svg")[0])&&(c.setAttribute("aria-hidden","true"),c.style.position="absolute",c.style.width=0,c.style.height=0,c.style.overflow="hidden",e=c,(l=document.body).firstChild?(o=e,(i=l.firstChild).parentNode.insertBefore(o,i)):l.appendChild(e))})}(window);
\ No newline at end of file
{
"id": "1565499",
"name": "繁星2.0",
"font_family": "iconfont",
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
{
"icon_id": "831114",
"name": "导出",
"font_class": "daochu",
"unicode": "e61e",
"unicode_decimal": 58910
},
{
"icon_id": "1010109",
"name": "日历",
"font_class": "rili",
"unicode": "e616",
"unicode_decimal": 58902
},
{
"icon_id": "1355658",
"name": "导入",
"font_class": "login",
"unicode": "e600",
"unicode_decimal": 58880
},
{
"icon_id": "6237827",
"name": "展示",
"font_class": "zhanshi",
"unicode": "e87a",
"unicode_decimal": 59514
},
{
"icon_id": "6367958",
"name": "添加",
"font_class": "add-circle-s",
"unicode": "e662",
"unicode_decimal": 58978
},
{
"icon_id": "7588088",
"name": "播放",
"font_class": "bofang1",
"unicode": "e61c",
"unicode_decimal": 58908
},
{
"icon_id": "7815001",
"name": "播放",
"font_class": "bofang",
"unicode": "e607",
"unicode_decimal": 58887
},
{
"icon_id": "7978614",
"name": "删 除",
"font_class": "detail",
"unicode": "e644",
"unicode_decimal": 58948
},
{
"icon_id": "8147570",
"name": "迁移",
"font_class": "Migration",
"unicode": "e664",
"unicode_decimal": 58980
},
{
"icon_id": "8386986",
"name": "暂停",
"font_class": "zanting",
"unicode": "e685",
"unicode_decimal": 59013
},
{
"icon_id": "9356268",
"name": "暂停 停止",
"font_class": "zantingtingzhi",
"unicode": "e643",
"unicode_decimal": 58947
},
{
"icon_id": "10905634",
"name": "修 改",
"font_class": "xiugai",
"unicode": "e632",
"unicode_decimal": 58930
}
]
}
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<!--
2013-9-30: Created.
-->
<svg>
<metadata>
Created by iconfont
</metadata>
<defs>
<font id="iconfont" horiz-adv-x="1024" >
<font-face
font-family="iconfont"
font-weight="500"
font-stretch="normal"
units-per-em="1024"
ascent="896"
descent="-128"
/>
<missing-glyph />
<glyph glyph-name="daochu" unicode="&#58910;" d="M179.2 285.6c0-51.2 8.8-100.8 24.8-146.4 58.4 170.4 213.6 292 397.6 292l0-72.8c0-28 15.2-52.8 39.2-65.6 9.6-4.8 20.8-8 31.2-8 15.2 0 29.6 4.8 42.4 14.4l281.6 219.2c17.6 13.6 28 35.2 28 58.4 0 23.2-10.4 44.8-28 58.4L714.4 855.2c-12 9.6-27.2 14.4-42.4 14.4-10.4 0-21.6-2.4-31.2-8-24-12-39.2-37.6-39.2-65.6l0-72.8C368.8 724 179.2 527.2 179.2 285.6zM972.8 307.2c-28 0-51.2-23.2-51.2-51.2l0-51.2 0-10.4c0-108-4-194.4-204.8-194.4L307.2 0c-207.2 0-204.8 92-204.8 204.8l0 256C88 621.6 164 656.8 256 664l0 0 3.2 0c28 0 51.2 23.2 51.2 51.2 0 28-23.2 52-51.2 52l-3.2 0L256 768l-51.2 0C92 768 0 676 0 563.2l0-460.8c0-112.8 92-204.8 204.8-204.8l613.6 0c112.8 0 204.8 92 204.8 204.8L1023.2 256C1024 284 1000.8 307.2 972.8 307.2z" horiz-adv-x="1024" />
<glyph glyph-name="rili" unicode="&#58902;" d="M329.197037 233.813333l365.605926 0c9.102222 0 16.402963 7.395556 16.402963 16.402963s-7.395556 16.402963-16.402963 16.402963L329.197037 266.619259c-9.102222 0-16.402963-7.395556-16.402963-16.402963S320.094815 233.813333 329.197037 233.813333zM329.197037 330.619259l365.605926 0c9.102222 0 16.402963 7.395556 16.402963 16.402963 0 9.102222-7.395556 16.402963-16.402963 16.402963L329.197037 363.425185c-9.102222 0-16.402963-7.395556-16.402963-16.402963C312.794074 338.014815 320.094815 330.619259 329.197037 330.619259zM724.385185 681.244444l-42.477037 0 0 42.477037-42.477037 0 0-42.477037L384.568889 681.244444l0 42.477037-42.477037 0 0-42.477037L299.614815 681.244444c-46.648889 0-84.859259-38.21037-84.859259-84.859259l0-467.247407c0-46.648889 38.21037-84.859259 84.859259-84.859259l424.77037 0c46.648889 0 84.859259 38.21037 84.859259 84.859259L809.244444 596.385185C809.244444 643.034074 771.034074 681.244444 724.385185 681.244444zM778.145185 129.137778c0-23.419259-30.435556-53.76-53.76-53.76L299.614815 75.377778c-23.419259 0-53.76 30.435556-53.76 53.76L245.854815 468.954074l532.385185 0L778.24 129.137778zM779.093333 500.053333 244.906667 500.053333 244.906667 596.385185c0 23.419259 31.383704 53.76 54.708148 53.76l42.477037 0L342.091852 596.385185l42.477037 0 0 53.854815 254.767407 0L639.336296 596.385185l42.477037 0 0 53.854815L724.385185 650.24c23.419259 0 54.708148-30.435556 54.708148-53.76L779.093333 500.053333z" horiz-adv-x="1024" />
<glyph glyph-name="login" unicode="&#58880;" d="M780.875 499.612c1.754 1.622 2.427 4.217 1.501 6.574-0.924 2.365-3.182 3.804-5.574 3.804h-166.755l0.359 246.761c0.005 4.603-1.742 9.209-5.254 12.72-3.508 3.514-8.111 5.274-12.715 5.274h-163.328c-4.597 0-9.201-1.76-12.715-5.274-3.506-3.513-5.255-8.117-5.25-12.72l0.332-246.761h-166.764c-2.387 0-4.643-1.438-5.575-3.804-0.925-2.359-0.252-4.951 1.504-6.574l257.895-239.15c3.209-2.971 7.502-4.794 12.218-4.794 4.72 0 9.013 1.824 12.219 4.794l257.902 239.15zM1037.742 245.059l-161.68 126.155c-9.159 7.147-26.16 12.993-37.775 12.993h-64.199l182.757-155.557-211.754-0.103-79.019-113.225h-311.316l-75.815 113.121-210.615 0.103 188.985 155.756-74.142-0.097c-11.617 0-28.618-5.847-37.776-12.993l-161.68-126.154c-9.159-7.148-13.701-22.029-10.091-33.073l64.499-197.362c3.609-11.043 16.067-20.078 27.684-20.078h891.089c11.617 0 24.032 9.049 27.591 20.108l63.447 197.302c3.554 11.061-1.029 25.956-10.19 33.103z" horiz-adv-x="1024" />
<glyph glyph-name="zhanshi" unicode="&#59514;" d="M512 559.9c-124.1 0-232.7-108.6-232.7-175.9 0-67.2 108.6-175.9 232.7-175.9 129.3 0 232.7 124.1 232.7 175.9 0 51.7-103.4 175.9-232.7 175.9z m0-253.5c-41.4 0-77.6 36.2-77.6 77.6 0 41.4 36.2 77.6 77.6 77.6 41.4 0 77.6-36.2 77.6-77.6 0-41.4-36.2-77.6-77.6-77.6z m0 0M512 797.8C284.4 797.8 98.2 611.6 98.2 384S284.4-29.8 512-29.8 925.8 156.4 925.8 384 739.6 797.8 512 797.8z m0-641.4c-150 0-284.5 129.3-284.5 227.6 0 98.3 134.5 227.6 284.5 227.6S796.5 471.9 796.5 384 662 156.4 512 156.4z m0 0" horiz-adv-x="1024" />
<glyph glyph-name="add-circle-s" unicode="&#58978;" d="M512 1.5c-51.6 0-101.7 10.1-148.9 30.1-45.6 19.3-86.5 46.8-121.6 82-35.1 35.1-62.7 76-82 121.6-20 47.2-30.1 97.3-30.1 148.9s10.1 101.7 30.1 148.9c19.3 45.6 46.8 86.5 82 121.6 35.1 35.1 76 62.7 121.6 82 47.2 20 97.3 30.1 148.9 30.1s101.7-10.1 148.9-30.1c45.6-19.3 86.5-46.8 121.6-82 35.1-35.1 62.7-76 82-121.6 20-47.2 30.1-97.3 30.1-148.9s-10.1-101.7-30.1-148.9c-19.3-45.6-46.8-86.5-82-121.6-35.1-35.1-76-62.7-121.6-82-47.2-20-97.3-30.1-148.9-30.1z m-17.3 361.9v-205.8c0-11 9-20 20-20s20 9 20 20l-1 205.7h206.7c11 0 20 9 20 20s-9 20-20 20H534.7V609c0 11-9 20-20 20s-20-9-20-20v-205.7H289c-11 0-20-9-20-20s9-20 20-20l205.7 0.1z" horiz-adv-x="1024" />
<glyph glyph-name="bofang1" unicode="&#58908;" d="M514 781.7c-219.9 0-398.9-178.9-398.9-398.9 0.1-219.9 179-398.8 398.9-398.8 219.9 0 398.8 178.9 398.8 398.8S733.9 781.7 514 781.7z m173-421.9L437.1 215.5c-17.7-10.2-39.8 2.6-39.8 23V527.1c0 20.4 22.1 33.2 39.8 23L687 405.8c17.7-10.2 17.7-35.8 0-46z" horiz-adv-x="1024" />
<glyph glyph-name="bofang" unicode="&#58887;" d="M822.824 798.42H201.176c-57.196 0-103.595-46.398-103.595-103.595v-621.647c0-57.197 46.4-103.597 103.595-103.597h621.649c57.196 0 103.595 46.4 103.595 103.597V694.824c0 57.198-46.4 103.596-103.596 103.596zM356.607 176.853V591.149l362.54-207.108-362.54-207.188z" horiz-adv-x="1024" />
<glyph glyph-name="detail" unicode="&#58948;" d="M800.111944 768.063968H223.888056C171.178411 768.063968 128.191904 725.077461 128.191904 671.856072V640.127936h767.616192v32.23988c0 52.709645-42.986507 95.696152-95.696152 95.696152m-167.852074 63.968016l14.328836-100.813593H377.411294l14.328836 100.813593h240.51974M639.936032 896H384.063968c-26.610695 0-51.174413-21.493253-54.756622-47.592204l-18.934532-134.076961c-3.582209-26.098951 14.84058-47.592204 41.451274-47.592204h319.84008c26.610695 0 45.033483 21.493253 41.451274 47.592204l-18.934532 134.076961C691.110445 874.506747 666.546727 896 639.936032 896m176.03998-319.84008H208.023988c-35.310345 0-61.409295-28.657671-58.338831-63.968016l52.197901-576.223888c3.070465-34.798601 34.798601-63.968016 69.597202-63.968016h480.015992c35.310345 0 66.526737 28.657671 69.597201 63.968016L873.803098 512.191904c3.582209 35.310345-22.516742 63.968016-57.827086 63.968016M384.063968 0.4477759999999762H287.856072L256.127936 448.223888h127.936032V0.4477759999999762z m191.904048 0h-127.936032V448.223888h127.936032V0.4477759999999762z m160.175912 0H639.936032V448.223888h127.936032l-31.728136-447.776112z" horiz-adv-x="1024" />
<glyph glyph-name="Migration" unicode="&#58980;" d="M853.840124-52.46798899999999h-62.27438c-34.42119 0-62.274379 27.853189-62.274379 62.274379v746.806034c0 34.42119 27.853189 62.274379 62.274379 62.27438h62.27438c34.42119 0 62.274379-27.853189 62.274379-62.27438v-746.806034c-0.12163-34.42119-27.974819-62.274379-62.274379-62.274379z m-373.403017 373.403017H293.735598V445.483787h186.701509V569.910916l248.975887-186.701509-248.975887-186.701508V320.935028zM231.461219 258.782278h186.701508v-248.975888c0-34.42119-27.853189-62.274379-62.274379-62.274379H169.186839c-34.42119 0-62.274379 27.853189-62.274379 62.274379v746.806034c0 34.42119 27.853189 62.274379 62.274379 62.27438h186.701509c34.42119 0 62.274379-27.853189 62.274379-62.27438v-248.975888H231.461219v-248.854258z m0 0" horiz-adv-x="1024" />
<glyph glyph-name="zanting" unicode="&#59013;" d="M804.571429 896a146.285714 146.285714 0 0 0 146.285714-146.285714v-731.428572a146.285714 146.285714 0 1 0-292.571429 0V749.714286a146.285714 146.285714 0 0 0 146.285715 146.285714zM219.428571 896a146.285714 146.285714 0 0 0 146.285715-146.285714v-731.428572a146.285714 146.285714 0 1 0-292.571429 0V749.714286a146.285714 146.285714 0 0 0 146.285714 146.285714z" horiz-adv-x="1024" />
<glyph glyph-name="zantingtingzhi" unicode="&#58947;" d="M720.896 800.768c-47.616 0-89.6-41.472-89.6-89.088v-655.36c0-47.616 41.984-89.088 89.6-89.088s89.6 41.472 89.6 89.088V711.68c-0.512 47.616-41.984 89.088-89.6 89.088z m-417.792 0c-47.616 0-89.6-41.472-89.6-89.088v-655.36c0-47.616 41.984-89.088 89.6-89.088s89.6 41.472 89.6 89.088V711.68c0 47.616-41.984 89.088-89.6 89.088z" horiz-adv-x="1024" />
<glyph glyph-name="xiugai" unicode="&#58930;" d="M768.487 507.639L590.76 680.933 210.93 301.508l-66.201-242.161v-0.4L386.483 126.2zM739.523 829.38l-95.197-95.04 178.296-172.65 92.375 92.296c48.487 48.406 48.487 126.985 0 175.392-48.405 48.407-127.069 48.407-175.474 0.002zM79.029 17.29h872.333v-114.976H79.029z" horiz-adv-x="1024" />
</font>
</defs></svg>
No preview for this file type
No preview for this file type
No preview for this file type
This diff is collapsed. Click to expand it.
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!