HM-SPMS/web/nginx/html/page/design.html
2026-01-06 04:47:40 +08:00

986 lines
70 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html style="min-width:1200px;">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>报表设计</title>
<link rel="shortcut icon" type="image/x-icon" href="../img/favicon.png">
<script src="../js/theme.js"></script>
<script id="themeStyle">
/*
*腾讯蓝白:TencentBlueWhite
*默认深蓝:DefaultDarkBlue
*
* */
(function(){
var filesName="TencentBlueWhite",d,arr=[];
var urlParam = decodeURIComponent(location.search);
if (urlParam.indexOf("theme") !== -1) {
arr = urlParam.substr(urlParam.indexOf("theme")).split(/[\=\&]/g);
}
getThemeJson({
async: false,
success: function(data) {
d = JSON.parse(data);
filesName = d[(arr&&arr[1])||d.theme].name;
},
error: function() {
console.error("获取主题失败");
}
});
var def_url="element.min.css";
if(!!filesName){
def_url=filesName+"/theme/index.css";
}
var link='';
link+='<link rel="stylesheet" type="text/css" href="../plugin/unpkg_ele/'+def_url+'"/>';
link+='<link rel="stylesheet" type="text/css" href="../css/theme/'+((arr&&arr[1])||d.theme)+'/design.min.css"/>';
document.getElementById('themeStyle').outerHTML=link;
})()
</script>
<!-- <link rel="stylesheet" type="text/css" href="../css/design.min.css"> -->
<script src="../plugin/jquery-3.7.0.min.js"></script>
<script src="../plugin/vue.min.js"></script>
<script src="../plugin/unpkg_ele/element.min.js"></script>
<script src="../plugin/unpkg_ele/cn.js"></script>
<script src="../plugin/unpkg_ele/en.js"></script>
<style>
.el-tree__drop-indicator{
left:0 !important;
}
.table-title,.table-sub,.table-head,.table-foot {
box-sizing: border-box;
}
</style>
</head>
<body>
<div v-clock id="app" class="layout">
<el-row class="main">
<el-col class="el-col-xg-19 el-col-ll-20" :xl="20" :lg="18" :md="18" :sm="18" :xs="18">
<div class="grid-content bg-purple-light">
<!-- 菜单 -->
<el-menu class="el-menu-demo" mode="horizontal" menu-trigger="click" unique-opened="true" @select="menuSelect"
:text-color="theme['$font-color']" :active-text-color="theme['$base-bgc']" :background-color="theme['$bg-color']">
<el-menu-item index='1-1'>{{i18n.t1_1}}</el-menu-item>
<el-menu-item index='1-2'>{{i18n.t1_2}}</el-menu-item>
<el-menu-item index='1-3'>{{i18n.t1_3}}</el-menu-item>
<el-menu-item index='4'>{{i18n.title4}}</el-menu-item>
<el-menu-item index='5' v-show="table!=tableInit">{{i18n.title5}}</el-menu-item>
</el-menu>
<!-- 表格 -->
<div class="main-content">
<ul class="paper" :style="'width:'+(paper_size[paper_type][paper_orientation]*paper_sum.width)+'px;'">
<template v-for="item in papers">
<li :style="item"></li>
</template>
</ul>
<div class="report-content" :style="panel_style">
<h2 class="table-title curpo" @click="changeStyle('tb_title')" :style="tb_title_style">
{{tb_title.name}}
</h2>
<h4 class="table-sub curpo" @click="changeStyle('tb_sub')" :style="tb_sub_style">
{{tb_sub.name}}
</h4>
<div class="table-head clearfix" style="width:100%;margin:auto">
<p class="tf-l curpo" @click="changeStyle('tb_detailed_1')" :style="tb_detailed_1_style">
{{tb_detailed_1.name}}
</p>
<p class="tf-r curpo" @click="changeStyle('tb_detailed_2')" :style="tb_detailed_2_style">
{{tb_detailed_2.name}}
</p>
</div>
<div class="table-content" style="min-width:100%;height:100%;">
<table v-resize="tableResize" :class="row_chang_color" id="table" v-html="table" style="border-collapse: collapse;"></table>
</div>
<div class="table-foot clearfix" style="width:100%;margin:auto">
<p class="tf-l curpo" @click="changeStyle('tb_detailed_3')" :style="tb_detailed_3_style">
{{tb_detailed_3.name}}
</p>
<p class="tf-r curpo" @click="changeStyle('tb_detailed_4')" :style="tb_detailed_4_style">
{{tb_detailed_4.name}}
</p>
</div>
</div>
</div>
</div>
</el-col>
<el-col class="el-col-xg-5 el-col-ll-4" :xl="4" :lg="6" :md="6" :sm="6" :xs="6">
<el-tabs v-if="i18n.side" class="panel-white" v-model="sidetabs" @tab-click="tabClick" style="height:100%;border-color:#10386C;position: relative;">
<el-tab-pane :label="i18n.side[0][0]" name="dev" style="padding-top:22px;">
<div style="position:absolute;top:12px;margin-left:8px;background-color: transparent;">
<el-button-group style="width: 100%;background-color: transparent;">
<el-button type="primary" size="small" plain icon="el-icon-refresh" :title="i18n.side[0][1]"
@click="expendDev"></el-button>
<el-button type="primary" size="small" plain icon="el-icon-view" :title="i18n.side[0][2]"
@click="show_field=(show_field==false?true:false)"></el-button>
<el-button type="primary" size="small" plain icon="el-icon-sort" :title="i18n.side[0][3]"
@click="transposition"></el-button>
<el-button type="primary" size="small" plain icon="el-icon-menu" :title="i18n.side[0][4]"
@click="returnBack"></el-button>
<el-button type="primary" size="small" plain icon="el-icon-plus" :title="i18n.side[0][5]"
@click="addFormula" v-show="sketch.value == 'sy'"></el-button>
<el-button type="primary" size="small" plain icon="el-icon-more" :title="i18n.side[0][6]"
@click="dataConfig=true"></el-button>
</el-button-group>
</div>
<el-tree ref="x_tree" :data='dev_tree' node-key='tid' :expand-on-click-node="false"
:filter-node-method="filterXNode" check-on-click-node="true" style="margin-top:10px;background-color: transparent;"
draggable :allow-drop='allowDrop' @node-drop="nodeDrop">
<span class="custom-tree-node" slot-scope="{node,data}">
<span v-html="data[dev_field.label]" style="min-width:132px;"></span>
<span style="margin-left:20px;">
<el-button-group>
<el-button v-show="data.devType!==undefined" @click="editXNode(node,data)"
class="min-padding" type="text" size='mini' icon="el-icon-edit"></el-button>
<!-- <el-button v-show="data.devType!==undefined" @click="addXNode(node,data)" class="min-padding" type="text" size='mini' icon="el-icon-plus"></el-button> -->
<el-button class="min-padding" type="text" size='mini' icon="el-icon-delete"
@click="deleteNode(node,data)"></el-button>
</el-button-group>
</span>
</span>
</el-tree>
</el-tab-pane>
<el-tab-pane :label="i18n.side[0][7]" name="other">
<el-tree ref="y_tree" :data='time_tree' node-key='tid' :expand-on-click-node="false"
check-on-click-node="true" style="background-color: transparent;">
</el-tree>
</el-tab-pane>
<el-tab-pane :label="i18n.side[0][8]" name="table">
<el-radio-group v-model="radio_form" size="mini" class="form-util" style="margin-bottom:15px;">
<el-radio-button class="util-top" label="tb_title">{{i18n.side[1]}}</el-radio-button>
<el-radio-button class="util-top" label="tb_sub">{{i18n.side[2]}}</el-radio-button>
<el-radio-button class="util-top" label="tb_detailed_1">{{i18n.side[3]}}</el-radio-button>
<el-radio-button class="util-top" label="tb_detailed_2">{{i18n.side[4]}}</el-radio-button>
<el-radio-button class="util-top" label="tb_detailed_3">{{i18n.side[5]}}</el-radio-button>
<el-radio-button class="util-top" label="tb_detailed_4">{{i18n.side[6]}}</el-radio-button>
</el-radio-group>
<el-form ref="form" :mode="form" label-width="100%;" style="padding-left:20px;">
<el-form-item :label="i18n.side[0][9]">
<el-input v-model="form.name" style="width:216px;"></el-input>
</el-form-item>
<el-form-item :label="i18n.side[0][10]">
<el-radio-group v-model="form.is_show" size="small">
<el-radio-button label="none">{{i18n.side[7]}}</el-radio-button>
<el-radio-button label="block">{{i18n.side[8]}}</el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item :label="i18n.side[0][11]" class="pading-l-r-5">
<el-tooltip :content="i18n.side[0][12]" placement="top" effect="light">
<el-input-number :controls="false" v-model="form.top" :placeholder="i18n.side[0][16]"
style="width:40px;"></el-input-number>
</el-tooltip>
<el-tooltip :content="i18n.side[0][13]" placement="top" effect="light">
<el-input-number :controls="false" v-model="form.right" :placeholder="i18n.side[0][17]"
style="width:40px;"></el-input-number>
</el-tooltip>
<el-tooltip :content="i18n.side[0][14]" placement="top" effect="light">
<el-input-number :controls="false" v-model="form.bottom" :placeholder="i18n.side[0][18]"
style="width:40px;"></el-input-number>
</el-tooltip>
<el-tooltip :content="i18n.side[0][15]" placement="top" effect="light">
<el-input-number :controls="false" v-model="form.left" :placeholder="i18n.side[0][19]"
style="width:40px;"></el-input-number>
</el-tooltip>
px
</el-form-item>
<el-form-item :label="i18n.side[0][20]">
<el-autocomplete popper-class="my-autocomplete" v-model="form.font_family"
:fetch-suggestions="querySearchFont" :placeholder="i18n.side[0][21]" @select="handleComplete">
<i class="el-icon-edit el-input__icon" slot="suffix"></i>
<template slot-scope="{item}">
<div class="name">{{item.name}}</div>
</template>
</el-autocomplete>
</el-form-item>
<el-form-item :label="i18n.side[0][22]">
<el-input v-model="form.font_color" :placeholder="i18n.side[0][23]" style="width:170px;"></el-input>
<el-color-picker v-model="form.font_color"></el-color-picker>
</el-form-item>
<el-form-item :label="i18n.side[0][24]">
<el-autocomplete popper-class="my-autocomplete" v-model="form.font_size"
:fetch-suggestions="querySearchSize" :placeholder="i18n.side[0][25]" @select="handleComplete">
<i class="el-icon-edit el-input__icon" slot="suffix"></i>
<template slot-scope="{item}">
<div class="name">{{item.value}}</div>
</template>
</el-autocomplete>
</el-form-item>
<el-form-item :label="i18n.side[0][26]" v-show="radio_form=='tb_title'||radio_form=='tb_sub'">
<el-radio-group v-model="form.align" size="small">
<el-radio-button label="left">{{i18n.side[9]}}</el-radio-button>
<el-radio-button label="center">{{i18n.side[10]}}</el-radio-button>
<el-radio-button label="right">{{i18n.side[11]}}</el-radio-button>
</el-radio-group>
</el-form-item>
</el-form>
</el-tab-pane>
</el-tabs>
</el-col>
</el-row>
<!--****************弹框********************-->
<!-- 向导 -->
<el-dialog v-if="i18n.sept" title="" width="728px" :visible.sync="step" :center="'true'" :close-on-click-modal="false">
<!-- 选择报表类型 -->
<div v-show="substep<100" class="step" style="width:445px;margin:auto;">
<h4>{{i18n.sept[1]}}</h4>
<div class="btn-list">
<template v-for="(i,n) of report_types">
<el-button type="primary" :plain="cur_report_type.value!==i.value" style="width:138px;" @click="setTableType(i)">{{i.name}}</el-button>
<p v-if="(n+1)%3==0" style="padding-top:14px;"></p>
</template>
</div>
<div class="btns" style="margin: 30px auto 10px;">
<div></div>
<el-button type="primary" size="small" @click="goSec" style="width:108px;">{{i18n.sept[2]}}</el-button>
</div>
</div>
<!-- 选择具体类型 -->
<div v-show="substep>=100&&substep<200" class="step" style="width:445px;margin:auto;">
<h4>{{cur_report_type.name}}{{i18n.sept[4]}}</h4>
<div>
<el-radio-group v-model="sketch_index" @change="changeReportType">
<template v-for="(i,n) of cur_report_type.type">
<el-radio :label="n" style="width:180px">{{i.name}}</el-radio>
<p v-if="(n+1)%2==0" style="padding-top:14px;"></p>
</template>
</el-radio-group>
</div>
<div>
<p>
{{i18n.sept[5]}}:
<el-select v-if="cur_report_type.value=='year'" v-model="report_s_month" :placeholder="i18n.sept[0][0]"
:disabled="selectDesabled" style="width:112px;">
<el-option v-for="i in 12" :key="i" :value="-i" :label="i18n.sept[0][3]+i+i18n.sept[0][8]"></el-option>
<el-option v-for="i in 12" :key="i" :value="i" :label="i18n.sept[0][4]+i+i18n.sept[0][8]"></el-option>
</el-select>
<el-select v-if="cur_report_type.value!=='day'&&cur_report_type.value!=='td'&&cur_report_type.value!=='udf'"
:disabled="selectDesabled" v-model="report_s_day" :placeholder="i18n.sept[0][1]" style="width:112px;">
<el-option v-if="cur_report_type.value!=='udf'&&cur_report_type.value!=='year'&&cur_report_type.value!=='tm'"
v-for="i in 31" :key="i" :value="-i" :label="i18n.sept[0][5]+i+i18n.sept[0][9]"></el-option>
<el-option v-for="i in 31" :key="i" :value="i" :label="(cur_report_type.value!=='udf'&&cur_report_type.value!=='year'&&cur_report_type.value!=='tm'?i18n.sept[0][10]:'')+i+i18n.sept[0][9]"></el-option>
</el-select>
<el-select :disabled="selectDesabled" v-model="report_s_hours" :placeholder="i18n.sept[0][2]"
:style="cur_report_type.value!=='day'&&cur_report_type.value!=='td'&&cur_report_type.value!=='udf'?'width:112px;':''">
<el-option v-if="cur_report_type.value=='day'||cur_report_type.value=='td'" v-for="i in 23"
:key="i" :value="-i" :label="i18n.sept[0][6]+i+':00'"></el-option>
<el-option v-for="i in 24" :key="i-1" :value="i-1" :label="(cur_report_type.value=='day'||cur_report_type.value=='td'?(i18n.sept[0][7]):'')+(i-1)+':00'"></el-option>
</el-select>
</p>
<p v-if="cur_report_type.value=='udf'||cur_report_type.value=='day'">
{{i18n.sept[6]}}:
<el-select :disabled="sketchDesabled" v-model="report_interval" allow-create filterable
default-first-option :placeholder="i18n.sept[0][11]">
<el-option v-for="item in reportInterval" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</p>
</div>
<div class="btns" style="margin: 30px auto 10px;">
<el-button type="primary" plain size="small" style="width:108px;" @click="substep=substep-100">{{i18n.sept[3]}}</el-button>
<el-button type="primary" size="small" @click="goStyle" style="width:108px;">{{i18n.sept[2]}}</el-button>
</div>
</div>
<!-- 选择报表样式 -->
<div v-show="substep>=200&&substep<300" class="step" style="width:445px;margin:auto;">
<h4>{{i18n.sept[7]}}</h4>
<div>
<ul class="ul-row">
<li v-for="(item,index) in report_style">
<img :src="item.img" alt="" width="150px">
<p>{{item.name}}</p>
<a :class="cur_report_style.value==item.value?'cur':''" href="javascript:;" @click="cur_report_style=item"></a>
</li>
</ul>
</div>
<div class="btns" style="margin: 30px auto 10px;">
<el-button type="primary" plain size="small" style="width:108px;" @click="substep=substep-100">{{i18n.sept[3]}}</el-button>
<el-button type="primary" size="small" @click="substep=substep+100" style="width:108px;">{{i18n.sept[2]}}</el-button>
</div>
</div>
<!-- 选择设备 -->
<div v-show="substep>=300&&substep<400&&substep!==307" class="step" style="width:536px;margin:auto;">
<h4>{{i18n.sept[9]}}</h4>
<div style="padding:20px 0;">
<p class="p-input">
<!-- i18n.sept[10] -->
<span v-if="profession.length>0">{{profession_info.label}}:</span>
<el-select v-if="profession.length>0&&profession_info.type=='list'" v-model="check_profession"
size="small" :placeholder="i18n.sept[0][12]" @change="postDev">
<el-option v-for="i in profession" :key="i.code" :value="i.id" :label="i.label"></el-option>
</el-select>
<el-input v-if="profession_info.type=='tree'" v-model="check_profession"></el-input>
<!-- i18n.sept[11] -->
<span>{{station_info.label}}:</span>
<el-select v-if="station_info.type=='list'" v-model="check_station" size="small" :placeholder="i18n.sept[0][12]"
@change="postDev">
<el-option v-for="i in station" :key="i.code" :value="i.id" :label="i.label"></el-option>
</el-select>
<el-popover v-if="station_info.type=='tree'" v-model="stshow" placement="bottom" trigger="click">
<el-tree ref="stref" :data='station' default-expand-all :expand-on-click-node="false"
node-key='id' @node-click="simChange"></el-tree>
<el-button slot="reference" size="small" class="stationBtn">{{check_station_name}}</el-button>
<input type="hidden" v-model="check_station">
</el-popover>
</p>
<el-input v-model="filter_all_dev" :placeholder="i18n.sept[0][13]" class="input-with-select" @blur="filter_all_dev_enter"
@keyup.native.enter="filter_all_dev_enter">
<el-select v-model="filter_all_dev_type" slot="prepend" :placeholder="i18n.sept[0][14]" style="width:100px;">
<el-option :label="i18n.sept[0][14]" value="name"></el-option>
<el-option :label="i18n.sept[0][15]" value="code"></el-option>
</el-select>
<span class="el-icon-connection" slot="append" @click="filterConnection=!filterConnection"
:title="i18n['过滤规则']" :style="filterConnection?'color:#0ff':''"></span>
<span class="el-icon-view" slot="append" @click="changeFilterView" :title="i18n['编码或名称']"
:style="filterView?'color:#0ff;padding-left:10px':'padding-left:10px'"></span>
</el-input>
<div class="border" style="margin-top:10px;height:300px;overflow: auto;text-align:center;">
<i v-show="tree_loading" class="el-icon-loading" style="font-size: 30px;padding:50px;"></i>
<el-tree v-show="!tree_loading" ref="adev_tree" :filter-node-method="filterDevNode" :data='all_dev'
:default-checked-keys="devCheckedKeys" node-key='code' :check-strictly="devStrict"
:expand-on-click-node="false" check-on-click-node="true" :props="devTreeProps"
:show-checkbox="adev_check" @check="checkVisible" style="background-color: transparent;">
</el-tree>
</div>
<div style="margin-top:10px;display: flex;flex-direction: row;justify-content: space-between;flex-wrap: nowrap;">
<div>
<el-button type="primary" plain size="mini" @click="devTreeCheckeOn">{{i18n.sept[0][19]}}</el-button>
<el-button type="primary" plain size="mini" @click="devTreeCheckeOff">{{i18n.sept[0][20]}}</el-button>
</div>
<el-checkbox v-model="ck_gx">{{i18n.sept[12]}}</el-checkbox>
</div>
</div>
<div class="btns" style="margin: 20px auto 10px;">
<el-button type="primary" plain size="small" style="width:108px;" @click="substep=substep-100">{{i18n.sept[3]}}</el-button>
<el-button type="primary" size="small" @click="creatDev" style="width:108px;">{{i18n.sept[2]}}</el-button>
</div>
</div>
<!-- 选择测点 -->
<div v-show="(substep>=400&&substep<500&&substep!==407)||substep==507" class="step" style="margin:auto;">
<h4>{{i18n.sept[13]}}</h4>
<div class="clearfix" style="margin:auto;width:648px;position:relative;padding:20px 0;max-height: none;">
<p style="margin-bottom:10px;margin-top:10px;">
<!-- <el-checkbox v-model="ck_cy" checked="true">{{i18n.sept[14]}}</el-checkbox><br> -->
<el-checkbox v-model="ck_cd" @change="changeCKCD">{{i18n.sept[15]}}</el-checkbox><br>
<el-checkbox v-model="ck_dev" v-if="htmlConfig.hiddenDev">{{i18n.sept[27]}}</el-checkbox><br
v-if="htmlConfig.hiddenDev">
<el-checkbox v-model="ck_sx">{{i18n.sept[16]}}</el-checkbox><br>
</p>
<div v-if="substep!==405" style="width:310px;float:left;">
<p class="p-input">
<el-input v-model="filter_check_dev" :placeholder="i18n.sept[0][13]" class="input-with-select"
style="width:100%;" @blur="filter_check_dev_enter" @keyup.native.enter="filter_check_dev_enter">
<template slot="prepend">{{i18n.sept[17]}}</template>
</el-input>
</p>
<p class="p-input" style="line-height: 34px;">
<el-button-group style="width: 100%;background: transparent;">
<el-button type="primary" size="small" plain icon="el-icon-refresh" :title="i18n.sept[0][18]"
@click="expendChecked"></el-button>
<el-button v-show="check_all" type="primary" size="small" plain icon="el-icon-check"
:title="i18n.sept[0][19]" @click="check_all=false;checkedAll()"></el-button>
<el-button v-show="!check_all" type="primary" size="small" plain icon="el-icon-circle-check"
:title="i18n.sept[0][20]" @click="check_all=true;checkedAll();"></el-button>
<el-button type="primary" size="small" plain icon="el-icon-remove" :title="i18n.sept[0][22]"
@click="clearDevCD"></el-button>
<el-button type="primary" size="small" plain icon="el-icon-delete" :title="i18n.sept[0][21]"
@click="checkedDel"></el-button>
</el-button-group>
</p>
<div class="border" style="height:300px;overflow: auto;border-radius: 4px;">
<el-tree ref="dev_tree" :filter-node-method="filterCheckNode" :data='checked_node.nodes'
node-key='tid' style="background-color: transparent;" check-strictly
:expand-on-click-node="false" check-on-click-node="true" show-checkbox
default-expand-all @check="checkedchecked">
</el-tree>
</div>
</div>
<div :style="substep!==405?'width:310px;float:right;':'text-align;center;'">
<el-input v-model="filter_c" :placeholder="i18n.sept[0][13]" class="input-with-select" style="width:100%;"
@blur="filter_c_enter" @keyup.native.enter="filter_c_enter">
<template slot="prepend">{{i18n.sept[18]}}</template>
</el-input>
<el-input v-model="filter_q" :placeholder="i18n.sept[0][13]" class="input-with-select" style="width:100%;"
@blur="filter_q_enter" @keyup.native.enter="filter_q_enter">
<template slot="prepend">{{i18n.sept[19]}}</template>
</el-input>
<div class="border" style="height:300px;overflow: auto;border-radius: 4px;">
<i v-show="property_tree.length==0" class="el-icon-loading" style="font-size: 30px;padding:50px 119px;"></i>
<el-tree :data='property_tree' ref="c_tree" :filter-node-method="filterMspsNode" node-key='tid'
:expand-on-click-node="false" check-on-click-node="true" check-strictly show-checkbox
:default-checked-keys="default_checked_keys" :default-expanded-keys="default_property.expaned"
@check="checkCd" draggable :allow-drop='allowDrop' @node-drop="nodeDrop" style="font-size: 12px;background-color: transparent;">
</el-tree>
</div>
</div>
</div>
<p class="cd-info">
<el-button class="add-or-del" :loading="adding" v-if="substep!==405" type="success" size="mini"
@click="addPropertyNew" :title="i18n.sept[0][16]">{{i18n.sept[0][23]}}</el-button>
<el-button class="add-or-del" :loading="deling" v-if="substep!==405" type="danger" size="mini"
@click="delProperty" :title="i18n.sept[0][17]">{{i18n.sept[0][24]}}</el-button>
</p>
<div class="btns" style="margin: 30px auto 10px;">
<el-button type="primary" plain size="small" style="width:108px;" @click="substep=substep-100">{{i18n.sept[3]}}</el-button>
<el-button v-if="substep==405||substep==507" type="primary" size="small" style="width:108px;"
@click="statisticFinish">{{i18n.sept[23]}}</el-button>
<el-button v-else="substep==405||substep==507" type="primary" size="small" @click="noneChild" style="width:108px;">{{i18n.sept[2]}}</el-button>
</div>
</div>
<!-- 选择统计项 -->
<div v-show="substep==500||substep==501||substep==502||substep==503" class="step" style="width:445px;margin:auto;">
<h4>{{i18n.sept[24]}}</h4>
<div>
<el-checkbox-group class="border" v-model="checked_total_index" @change="totalsChange" style="width:286px;border-radius:4px;margin:auto;padding:10px;">
<template v-for="(item,index) in totals">
<el-checkbox :label="index" :key="item.value" :value="item.value" style="margin:10px;">{{item.label}}</el-checkbox><br>
</template>
</el-checkbox-group>
</div>
<div class="btns" style="margin: 30px auto 10px;">
<el-button type="primary" plain size="small" style="width:108px;" @click="substep=substep-100">{{i18n.sept[3]}}</el-button>
<el-checkbox style="margin-left: 128px;" :indeterminate="indeterminate" v-model="checked_total_all"
@change="toggleTotals">{{i18n.sept[25]}}</el-checkbox>
<el-button type="primary" size="small" style="width:108px;" @click="totalFinish">{{i18n.sept[23]}}</el-button>
</div>
</div>
<!-- 选择对比时间 -->
<div v-show="substep==506" class="step" style="width:445px;margin:auto;">
<h4>{{i18n.sept[26]}}</h4>
<div>
<el-checkbox-group class="border" v-model="checked_contrast_index" style="width:286px;border-radius:4px;margin:auto;padding:10px;">
<template v-for="(item,index) in contrasts">
<el-checkbox :label="index" :disabled="item.disabled" :checked="item.checked" :key="item.value"
:value="item.value" style="margin:10px;">{{item.label}}</el-checkbox><br>
</template>
</el-checkbox-group>
</div>
<div class="btns" style="margin: 30px auto 10px;">
<el-button type="primary" plain size="small" style="width:108px;" @click="substep=substep-100">{{i18n.sept[3]}}</el-button>
<el-button type="primary" size="small" style="width:108px;" @click="contrastFinish">{{i18n.sept[23]}}</el-button>
</div>
</div>
</el-dialog>
<!-- excel报表模板导入-->
<el-dialog v-if="i18n.excel" :title="i18n.excel.title" :visible.sync="excelFilesPanel" :close-on-click-modal="false">
<div style="width:400px;margin:auto;text-align: left;">
<label style="display: block;">
<span>{{i18n.excel.reportname}}</span>
<el-input v-model.trim="excelFileName" :placeholder="i18n.excel.enter" style="margin-bottom:10px;">
</el-input>
</label>
<label style="display: block;">
<span>{{i18n.excel.type}}</span>
<el-select v-model="excelDateType" style="width:100%;margin-bottom:10px;">
<el-option :label="'YYYY-MM-DD'" :value="'YYYY-MM-DD'"></el-option>
<el-option :label="'YYYY-MM-DD HH:mm'" :value="'YYYY-MM-DD HH:mm'"></el-option>
<el-option :label="'YYYY-MM'" :value="'YYYY-MM'"></el-option>
<el-option :label="'YYYY'" :value="'YYYY'"></el-option>
<el-option :label="'YYYY-MM-DD~YYYY-MM-DD'" :value="'YYYY-MM-DD~YYYY-MM-DD'"></el-option>
<el-option :label="'YYYY-MM~YYYY-MM'" :value="'YYYY-MM~YYYY-MM'"></el-option>
<el-option :label="'YYYY~YYYY'" :value="'YYYY~YYYY'"></el-option>
</el-select>
</label>
<label style="display: block;">
<span>{{i18n.excel.description}}</span>
<el-input v-model.trim="dateLabelStart" :placeholder="i18n.excel.starttime"></el-input>
<span v-show="excelDateType.indexOf('~')!==-1">~</span>
<el-input v-show="excelDateType.indexOf('~')!==-1" v-model.trim="dateLabelEnd" :placeholder="i18n.excel.endtime"></el-input>
</label>
<el-upload :action="excelInputUrl" :on-success="excelInput" auto-upload :show-file-list="false"
:headers="{Authorization : 'Bearer ' + userInfo.token}" style="margin:10px 0 30px;display: inline-block;">
<el-button type="success" size="small">{{i18n.excel.upload}}</el-button>
</el-upload>
<span>{{excelFilePath}}</span>
<p style="text-align: right;">
<el-button size="small" @click="excelFilesPanel=false"> {{i18n.excel.cancel}} </el-button>
<el-button size="small" type="primary" :loading="excelSaveLoading" @click="addExcelReport">
{{i18n.excel.confirm}} </el-button>
<p style="text-align: right;">{{i18n.excel.cue}}</p>
</p>
</div>
</el-dialog>
<!-- 报表管理 -->
<el-dialog v-if="i18n.file" :title="i18n.file[0][0]" width="800px" :visible.sync="reportFilesPanel"
:close-on-click-modal="false">
<el-container class="border" style="height:100%;">
<el-aside class="border-color" width="198px" style="border-width:0;border-right-width: 1px;border-style: solid;height:506px;">
<el-tree ref="report_tree" v-show="!isMode" node-key='code' :data='reportFiles' default-expand-all
:expand-on-click-node="false" @node-click="fileClick" style="height:100%;overflow:auto;">
<span class="custom-tree-node" slot-scope="{node,data}">
<span>
<img v-if="data.type==0" class="tree-files" src="../img/files.png" alt="">
<img v-if="data.type==1&&(data.sourceType==1||!data.sourceType)" class="tree-files" src="../img/file.png"
alt="">
<img v-if="data.type==1&&data.sourceType==2" class="tree-files" src="../img/model.png"
alt="">
<img v-if="data.type==1&&data.sourceType==3" class="tree-files" src="../img/excel.png"
alt="">
<img v-if="data.type==1&&data.sourceType==4" class="tree-files" src="../img/file_url.png"
alt="">
</span>
<span>{{data.label}}</span>
</span>
</el-tree>
<!-- <el-tree v-show="isMode" node-key='code' :data='reportModes' default-expand-all :expand-on-click-node="false" @node-click="fileClick" style="max-height:100%;overflow:auto;">
</el-tree> -->
</el-aside>
<el-main>
<div class="operations" style="text-align:right;">
<el-upload v-if="htmlConfig.upload" :action="fileInputUrl" :on-success="fileInput"
:show-file-list="false" :headers="{Authorization : 'Bearer ' + userInfo.token}" style="display: inline-block;">
<el-button type="primary" size="mini">{{i18n.file[13]}}</el-button>
</el-upload>
<el-button v-if="htmlConfig.upload" type="primary" size="mini" @click="fileOutput">{{i18n.file[14]}}</el-button>
<el-button type="warning" size="mini" :disabled="newFiles||newFile" @click="addNewFiles">{{i18n.file[1]}}</el-button>
<el-button v-show="isSave" type="warning" :disabled="newFiles||newFile" size="mini" @click="addNewFile">{{i18n.file[2]}}</el-button>
<el-button v-if="htmlConfig.excel" type="warning" size="mini" @click="newExcelReport">{{i18n.file[15]}}</el-button>
<el-button type="success" size="mini" @click="reportRename">{{i18n.file[3]}}</el-button>
<el-button type="danger" size="mini" :loading="deleteLoading" @click="reportDelete" :disabled="!fileSelectedReport.code">{{i18n.file[4]}}</el-button>
<el-dialog :title="i18n.file[0][1]" :visible.sync="reportFilesTips_nofile">
<p>{{i18n.file[5]}}</p>
</el-dialog>
<el-dialog :title="i18n.file[0][1]" :visible.sync="reportFilesTips_file">
<p>{{i18n.file[6]}}<strong>{{fileSelectedReport.label}}</strong>?</p>
<el-button type="primary" size="mini" style="margin-left:10px;">{{i18n.file[9]}}</el-button>
<el-button type="primary" size="mini">{{i18n.file[8]}}</el-button>
</el-dialog>
<el-dialog :title="i18n.file[0][1]" :visible.sync="reportFilesTips_files">
<p>{{i18n.file[8]}}<strong>{{fileSelectedReport.label}}</strong>{{i18n.file[7]}}?</p>
<el-button type="primary" size="mini" style="margin-left:10px;">{{i18n.file[9]}}</el-button>
<el-button type="primary" size="mini">{{i18n.file[8]}}</el-button>
</el-dialog>
</div>
<div id="fileScroll" style="height:400px;overflow-y:auto;">
<ul class="files">
<li v-for="item in checkedFiles" @click="reportPanelClick(item)" @dblclick="reportPanelDblClick(item)">
<a href="javascript:;">
<template v-if="item.type==1">
<img v-if="item.sourceType==1||!item.sourceType" class="icon-file" src="../img/file.png"
alt="">
<img v-if="item.sourceType==2" class="icon-file" src="../img/model.png" alt="">
<img v-if="item.sourceType==3" class="icon-file" src="../img/excel.png" alt="">
<p v-show="!item.rename" style="margin:0 0 6px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">{{item.label}}</p>
<el-input v-show="item.rename" size="mini" v-model="item.label" maxlength="50"
:placeholder="i18n.file[0][2]" style="margin:0 0 6px;" @blur="reportReName(item);item.rename=false;"
@keyup.native.enter="$event.target.blur()" v-treefocus="item.rename"></el-input>
</template>
<template v-if="item.type==0">
<img class="icon-files" src="../img/files.png" alt="">
<p v-show="!item.rename" style="margin:0 0 16px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">{{item.label}}</p>
<el-input v-show="item.rename" size="mini" v-model="item.label" maxlength="50"
:placeholder="i18n.file[0][2]" style="margin:0 0 16px;" @blur="reportReName(item);item.rename=false;"
@keyup.native.enter="$event.target.blur()" v-treefocus="item.rename"></el-input>
</template>
</a>
</li>
<li v-show="newFile">
<a href="javascript:;">
<img class="icon-file" src="../img/file.png" alt="">
<br>
<el-input v-model="fileRename" size="mini" :placeholder="i18n.file[0][2]" style="margin:0 0 6px;"
@blur="addFile" @keyup.native.enter="addFile" v-treefocus="newFile"
:suffix-icon="save_loading?'el-icon-loading':false"></el-input>
</a>
</li>
<li v-show="newFiles">
<a href="javascript:;">
<img class="icon-files" src="../img/files.png" alt=""><br>
<el-input v-model="fileRename" size="mini" :placeholder="i18n.file[0][2]" style="margin:0 0 16px;"
@blur="addFiles" @keyup.native.enter="addFiles" v-treefocus="newFiles"
:suffix-icon="save_loading?'el-icon-loading':false"></el-input>
</a>
</li>
</ul>
</div>
<div class="fileInput">
<p style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;width:420px;display: inline-block;vertical-align: middle;">
{{i18n.file[10]}}:{{fileSelectedReport.label}}
</p>
<!-- <el-input v-model="fileName" placeholder="请输入名称" style="width:430px;"></el-input> -->
<el-button v-show="isSave" type="primary" size="mini" style="margin-left:10px;" @click="updateFile">
{{i18n.file[11]}}</el-button>
<el-button v-show="!isSave" type="primary" size="mini" @click="reInit">{{i18n.file[12]}}</el-button>
</div>
</el-main>
</el-dialog>
<!-- 其他配置 -->
<el-dialog v-if="i18n.others" :title="i18n.others[0][0]" width="528px" :visible.sync="configure"
:close-on-click-modal="false">
<el-tabs v-model="activeName">
<el-tab-pane :label="i18n.others[0][1]" name="first">
<div class="all-config">
<p style="padding-bottom:10px;">
<span class="qtformitem">{{i18n.others[1]}}:</span>
<el-radio-group v-model="paper_type" style="margin-left:10px;">
<el-radio label="A4" :key="1"></el-radio>
<el-radio label="A3" :key="2"></el-radio>
</el-radio-group>
</p>
<p style="padding-bottom:10px;">
<span class="qtformitem">{{i18n.others[2]}}:</span>
<el-radio-group v-model="paper_orientation" style="margin-left:10px;">
<el-radio label="col" :key="1">{{i18n.others[3]}}</el-radio>
<el-radio label="row" :key="2">{{i18n.others[4]}}</el-radio>
</el-radio-group>
</p>
<p>
<span class="qtformitem">{{i18n.others[5]}}</span>
<el-input v-model="report_bgcolor" :placeholder="i18n.others[0][2]" style="width:170px;"></el-input>
<el-color-picker v-model="report_bgcolor" show-alpha></el-color-picker>
</p>
<p>
<span class="qtformitem">{{i18n.others[6]}}</span>
<el-autocomplete popper-class="my-autocomplete" v-model="report_font" :fetch-suggestions="querySearchFont"
:placeholder="i18n.others[0][3]" @select="handleComplete">
<i class="el-icon-edit el-input__icon" slot="suffix"></i>
<template slot-scope="{item}">
<div class="name">{{item.name}}</div>
</template>
</el-autocomplete>
</p>
<p>
<span class="qtformitem">{{i18n.others[7]}}</span>
<el-autocomplete popper-class="my-autocomplete" v-model="report_size" :fetch-suggestions="querySearchSize"
:placeholder="i18n.others[0][4]" @select="handleComplete">
<i class="el-icon-edit el-input__icon" slot="suffix"></i>
<template slot-scope="{item}">
<div class="name">{{item.value}}</div>
</template>
</el-autocomplete>
</p>
<p>
<span class="qtformitem">{{i18n.others[8]}}</span>
<el-input v-model="report_color" :placeholder="i18n.others[0][5]" style="width:170px;"></el-input>
<el-color-picker v-model="report_color"></el-color-picker>
</p>
<div>
<span class="qtformitem">{{i18n.others[9]}}</span>
<el-input type="textarea" :autosize="{minRows:'2',maxRows:'2'}" :placeholder="i18n.others[0][6]"
v-model="report_textarea"></el-input>
</div>
</div>
</el-tab-pane>
<el-tab-pane :label="i18n.others[0][7]" name="third">
<div class="all-config">
<p>
{{i18n.others[10]}}
<el-input v-model="row_line_height" :placeholder="i18n.others[0][8]" @blur="refreshDevTree"
style="margin-left:10px;width:272px;">
<template slot="append">px</template>
</el-input>
</p>
<p style="margin:10px 0;">
{{i18n.others[11]}}:
<el-radio-group v-model="row_chang_color" style="margin-left:10px;">
<el-radio label="two-color" value="1" key="1">{{i18n.others[12]}}</el-radio>
<el-radio label="three-color" value="2" key="2">{{i18n.others[13]}}</el-radio>
<el-radio label="no-color" value="3" key="3">{{i18n.others[14]}}</el-radio>
</el-radio-group>
</p>
</div>
</el-tab-pane>
<el-tab-pane :label="i18n.others[0][9]" name="fifth">
<div class="all-config">
<p>
{{i18n.others[15]}}
<el-select v-model="border_type" :placeholder="i18n.others[0][10]" @change="refreshDevTree">
<el-option v-for="(item,index) in border_type_list" :key="item.value" :label="item.label"
:value="item.value"></el-option>
</el-select>
</p>
<p>
{{i18n.others[16]}}
<el-input v-model="border_bgcolor" :placeholder="i18n.others[0][11]" @blur="refreshDevTree"
style="width:180px;"></el-input>
<el-color-picker v-model="border_bgcolor" show-alpha @change="refreshDevTree"></el-color-picker>
</p>
<p>
{{i18n.others[17]}}
<el-input v-model="border_zise" :placeholder="i18n.others[0][12]" @blur="refreshDevTree"
style="width:226px;">
<template slot="append">px</template>
</el-input>
</p>
<p>
{{i18n.others[18]}}
<el-input v-model="th_bgcolor" :placeholder="i18n.others[0][13]" @blur="refreshDevTree"
style="width:180px;"></el-input>
<el-color-picker v-model="th_bgcolor" show-alpha @change="refreshDevTree"></el-color-picker>
</p>
<p>
{{i18n.others[19]}}
<el-input v-model="th_color" :placeholder="i18n.others[0][14]" @blur="refreshDevTree" style="width:180px;"></el-input>
<el-color-picker v-model="th_color" show-alpha @change="refreshDevTree"></el-color-picker>
</p>
</div>
</el-tab-pane>
</el-tabs>
</el-dialog>
<!-- 数据设置 -->
<el-dialog v-if="i18n.dataConfig" :title="i18n.dataConfig[0][0]" width="528px" center :visible.sync="dataConfig"
:close-on-click-modal="false">
<div class="all-config">
<div class="block">
<h4>{{i18n.dataConfig[1]}}:</h4>
<el-slider v-model="data_point" show-input :max="10" :min="0" :step="1" style="padding-top:2px;">
</el-slider>
</div>
<div class="block" style="margin-top:20px;">
<h4 style="display:inline-block;vertical-align:middle;margin:0;">{{i18n.dataConfig[2]}}:</h4>
<el-switch v-model="digits_fixed" active-color="#13ce66" :active-text="i18n.dataConfig[0][2]"
inactive-color="#429EFF" :inactive-text="i18n.dataConfig[0][1]" style="margin-left:20px;"></el-switch>
</div>
<div class="block" style="margin-top:20px;">
<h4 style="display:inline-block;vertical-align:middle;margin:0;">{{i18n.dataConfig[9]}}:</h4>
<el-input v-model="default_e" style="width:138px;"></el-input>
</div>
<div>
<h4>{{i18n.dataConfig[3]}}:</h4>
<p style="padding-left:60px;">
<el-radio v-model="text_key" label="label">{{i18n.dataConfig[4]}}</el-radio>
<el-radio v-model="text_key" label="code">{{i18n.dataConfig[5]}}</el-radio>
</p>
<label style="display:block">
{{i18n.dataConfig[6]}}:
<el-input v-model="old_text" :placeholder="i18n.dataConfig[0][3]" style="width:80%"></el-input>
</label>
<label style="display:block">
{{i18n.dataConfig[7]}}:
<el-input v-model="new_text" :placeholder="i18n.dataConfig[0][4]" style="width:80%"></el-input>
</label>
<p style="margin:0;text-align:right;padding-right:40px;margin:5px;">
<el-button type="primary" size="mini" @click="changeAllXNode">{{i18n.dataConfig[8]}}</el-button>
</p>
</div>
</div>
</el-dialog>
<!-- 修改节点信息 -->
<el-dialog v-if="i18n.editNode" :title="i18n.editNode[0][0]" width="777px" center :visible.sync="editNodePanel"
:close-on-click-modal="false">
<el-container>
<el-aside style="width:200px;">
<ul v-show="!edit_is_add" style="list-style: none;padding:0;margin-top:0;">
<li style="display: inline-block">
<span>{{i18n.editNode[1]}}:</span>
<el-input v-model="dev_name_text" style="width:180px;"></el-input>
</li>
<li style="display: inline-block">
<span>{{i18n.editNode[2]}}:</span>
<el-input v-model="dev_code_text" style="width:180px;"></el-input>
</li>
</ul>
<el-input v-show="edit_node_type=='dev'&&!edit_is_add" v-model="dev_e" tyle="width:150px;">
<template slot="prepend">{{i18n.editNode[8]}}</template>
</el-input>
<el-button v-show="!edit_is_add" type="primary" size="small" icon="el-icon-circle-check-outline"
@click="changeLabel">{{i18n.editNode[3]}}</el-button>
<el-button v-show="edit_is_add" type="primary" size="small" icon="el-icon-circle-check-outline"
@click="edit_is_add=false;">{{i18n.editNode[4]}}</el-button>
<!-- <el-button type="primary" size="small" icon="el-icon-plus" @click="edit_is_add=true;">增加测点</el-button> -->
<div style="height:388px;overflow-y: auto;overflow-x: hidden;">
<el-radio-group v-model="checked_dev_index" style="width:100%;">
<template v-for="(item,index) in check_dev">
<el-radio :label="index" border style="width:100%;">{{item.label}}</el-radio><br>
</template>
</el-radio-group>
</div>
</el-aside>
<el-main style="padding:0 0 0 20px;position:relative;">
<!-- 所有设备tree -->
<div v-show="edit_node_type=='dev'&&!edit_is_add">
<p class="p-input">
<!-- i18n.sept[10] -->
<span v-if="profession.length>0">{{profession_info.label}}:</span>
<el-select v-if="profession.length>0&&profession_info.type=='list'" v-model="check_profession"
size="small" :placeholder="i18n.sept[0][12]" @change="postDev">
<el-option v-for="i in profession" :key="i.code" :value="i.id" :label="i.label"></el-option>
</el-select>
<el-input v-if="profession_info.type=='tree'" v-model="check_profession"></el-input>
<!-- i18n.sept[11] -->
<span>{{station_info.label}}:</span>
<el-select v-if="station_info.type=='list'" v-model="check_station" size="small"
:placeholder="i18n.sept[0][12]" @change="postDev">
<el-option v-for="i in station" :key="i.code" :value="i.id" :label="i.label"></el-option>
</el-select>
<el-popover v-if="station_info.type=='tree'" v-model="stshow" placement="bottom" trigger="click">
<el-tree ref="stref" :data='station' default-expand-all :expand-on-click-node="false"
node-key='id' @node-click="simChange"></el-tree>
<el-button slot="reference" size="small" class="stationBtn">{{check_station_name}}</el-button>
<input type="hidden" v-model="check_station">
</el-popover>
</p>
<!-- <el-input v-model="filter_all_dev" :placeholder="i18n.editNode[0][2]" class="input-with-select">
<el-select v-model="filter_all_dev_type" slot="prepend" :placeholder="i18n.editNode[0][3]" style="width:100px;">
<el-option :label="i18n.editNode[0][3]" value="name"></el-option>
<el-option :label="i18n.editNode[0][4]" value="code"></el-option>
</el-select>
</el-input> -->
<el-input v-model="filter_all_dev" :placeholder="i18n.sept[0][13]" class="input-with-select"
@blur="filter_all_dev_enter" @keyup.native.enter="filter_all_dev_enter">
<el-select v-model="filter_all_dev_type" slot="prepend" :placeholder="i18n.sept[0][14]"
style="width:100px;">
<el-option :label="i18n.sept[0][14]" value="name"></el-option>
<el-option :label="i18n.sept[0][15]" value="code"></el-option>
</el-select>
<span class="el-icon-connection" slot="append" @click="filterConnection=!filterConnection"
:title="i18n['过滤规则']" :style="filterConnection?'color:#0ff':''"></span>
<span class="el-icon-view" slot="append" @click="changeFilterView" :title="i18n['编码或名称']"
:style="filterView?'color:#0ff;padding-left:10px':'padding-left:10px'"></span>
</el-input>
<div class="border" style="margin-top:10px;height:300px;overflow: auto;text-align:center;">
<i v-show="tree_loading" class="el-icon-loading" style="color:#409eff;font-size: 30px;padding:50px;"></i>
<el-tree v-show="!tree_loading" ref="clone_adev_tree" :filter-node-method="filterDevNode"
:data='clone_all_dev' node-key='code' :expand-on-click-node="false" check-on-click-node="true"
@node-click="change_input_text">
</el-tree>
</div>
</div>
<!-- 所有测点树 -->
<div v-show="(edit_node_type!='dev'&&edit_node_type!='dev_type')||edit_is_add">
<el-input v-model="filter_c" :placeholder="i18n.editNode[0][2]" @blur="filter_c_enter"
@keyup.native.enter="filter_c_enter" class="input-with-select" style="width:100%;">
<template slot="prepend">{{i18n.editNode[6]}}</template>
</el-input>
<el-input v-model="filter_q" :placeholder="i18n.editNode[0][2]" @blur="filter_q_enter"
@keyup.native.enter="filter_q_enter" class="input-with-select" style="width:100%;">
<template slot="prepend">{{i18n.editNode[7]}}</template>
</el-input>
<div class="border" style="height:300px;overflow: auto;border-radius: 4px;">
<el-tree :data='clone_property_tree' ref="clone_c_tree" :filter-node-method="filterMspsNode"
node-key='tid' :expand-on-click-node="true" check-strictly :show-checkbox="edit_is_add"
@check="checkCd" @node-click="change_input_text">
</el-tree>
</div>
</div>
</el-main>
</el-container>
</el-dialog>
<el-dialog v-if="i18n.power" :title="i18n.power[0][0]" width="666px" center :visible.sync="powerPanel"
:close-on-click-modal="false">
<el-container>
<el-main>
<div class="user-power">
<el-checkbox-group v-model="checkedGroup">
<template v-for="(item,index) in allUserGroup">
<el-checkbox :label="item.id">{{item.name}}</el-checkbox>
</template>
</el-checkbox-group>
</div>
<div style="text-align: right;margin-top:16px;">
<el-button circle type="success" icon="el-icon-success" style="margin-right:10px;" @click="userGroupOn"
:title="i18n.power[0][1]"></el-button>
<el-button circle type="danger" icon="el-icon-error" style="margin-right:10px;" @click="userGroupOff"
:title="i18n.power[0][2]"></el-button>
<el-button type="primary" autofocus @click="userGroupSubmit">{{i18n.power[1]}}</el-button>
</div>
</el-main>
</el-container>
</el-dialog>
<el-dialog v-if="i18n.addNode" :title="i18n.addNode[0][0]" width="666px" center :visible.sync="addNodePanel"
:close-on-click-modal="false">
<el-container>
<el-main>
<label><span>{{i18n.addNode[1]}}:</span></label>
<el-select v-model="cols_type" :placeholder="i18n.addNode[0][1]" style="width:100px;">
<el-option :label="i18n.addNode[0][2]" value="father"></el-option>
<el-option :label="i18n.addNode[0][3]" value="code"></el-option>
<el-option :label="i18n.addNode[0][4]" value="string"></el-option>
</el-select>
<el-input v-model="formule_name" :placeholder="i18n.addNode[0][5]" class="input-with-select" style="width:100%;">
<template slot="prepend">{{i18n.addNode[2]}}</template>
</el-input>
<el-input autosize v-show="cols_type!='father'" v-model="formule_value" class="input-with-select"
style="width:100%;" :readonly="cols_type!='string'">
<template slot="prepend">{{i18n.addNode[3]}}</template>
<el-button v-show="cols_type=='code'" slot="append" icon="el-icon-back" @click="formuleBack"></el-button>
</el-input>
<div v-show="cols_type=='code'"><span>{{i18n.addNode[4]}}:</span>{{formule_view}}</div>
<div v-show="cols_type=='code'" style="margin:10px 0 0;">
<el-button-group style="background-color: transparent;">
<el-button type="primary" size="small" plain style="background-color: transparent;border-color:#10386C;"
@click="formulAddOperator('+')">+</el-button>
<el-button type="primary" size="small" plain style="background-color: transparent;border-color:#10386C;"
@click="formulAddOperator('-')">-</el-button>
<el-button type="primary" size="small" plain style="background-color: transparent;border-color:#10386C;"
@click="formulAddOperator('*')">*</el-button>
<el-button type="primary" size="small" plain style="background-color: transparent;border-color:#10386C;"
@click="formulAddOperator('/')">/</el-button>
<el-button type="primary" size="small" plain style="background-color: transparent;border-color:#10386C;"
@click="formulAddPrth('(')">(</el-button>
<el-button type="primary" size="small" plain style="background-color: transparent;border-color:#10386C;"
@click="formulAddPrth(')')">)</el-button>
</el-button-group>
<el-button-group style="background-color: transparent;">
<el-button type="primary" size="small" plain style="background-color: transparent;border-color:#10386C;"
@click="formulAddNum(1)">1</el-button>
<el-button type="primary" size="small" plain style="background-color: transparent;border-color:#10386C;"
@click="formulAddNum(2)">2</el-button>
<el-button type="primary" size="small" plain style="background-color: transparent;border-color:#10386C;"
@click="formulAddNum(3)">3</el-button>
<el-button type="primary" size="small" plain style="background-color: transparent;border-color:#10386C;"
@click="formulAddNum(4)">4</el-button>
<el-button type="primary" size="small" plain style="background-color: transparent;border-color:#10386C;"
@click="formulAddNum(5)">5</el-button>
<el-button type="primary" size="small" plain style="background-color: transparent;border-color:#10386C;"
@click="formulAddNum(6)">6</el-button>
<el-button type="primary" size="small" plain style="background-color: transparent;border-color:#10386C;"
@click="formulAddNum(7)">7</el-button>
<el-button type="primary" size="small" plain style="background-color: transparent;border-color:#10386C;"
@click="formulAddNum(8)">8</el-button>
<el-button type="primary" size="small" plain style="background-color: transparent;border-color:#10386C;"
@click="formulAddNum(9)">9</el-button>
<el-button type="primary" size="small" plain style="background-color: transparent;border-color:#10386C;"
@click="formulAddNum(0)">0</el-button>
</el-button-group>
<div style="margin:10px 0;line-height:36px;">
<el-select v-model="cols_parent" :placeholder="i18n.addNode[0][6]" style="width:100px;">
<template v-for="(item,index) in devtree_to_option">
<el-option :label="item.label" :value="index"></el-option>
</template>
</el-select>
<el-select v-model="cols_value" :placeholder="i18n.addNode[0][7]" style="width:100px;">
<template v-for="(item,index) in protree_to_option">
<el-option :label="item.label" :value="index"></el-option>
</template>
</el-select>
<el-button class="selectBtn" type="primary" size="small" plain style="background-color: transparent;border-color:#10386C;"
@click="formulAddCode">{{i18n.addNode[5]}}</el-button>
</div>
</div>
<div style="text-align: right;margin-top:10px;">
<el-button class="confirmBtn" type="primary" size="small" plain style="background-color: transparent;border-color:#10386C;"
@click="makeFormule">{{i18n.addNode[6]}}</el-button>
</div>
</el-main>
</el-container>
</el-dialog>
</div>
<script src="../plugin/axios/dist/axios.min.js"></script>
<script src="../plugin/qs/dist/qs.js"></script>
<script src="../plugin/pako/pako.min.js"></script>
<script src="../js/proConfig.js"></script>
<script>
if (i18n() === 'en') {
ELEMENT.locale(ELEMENT.lang.en);
}
</script>
<script src="../js/requestData.js"></script>
<script src="../js/design2.js"></script>
</body>
</html>