text: !function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("capture_view/offline.component.html",'<form name="mac" novalidate><div class="modal-header"><button type="button" class="close" ng-click="$ctrl.cancel()" aria-label="Close"><span aria-hidden="true">×</span></button><h3 class="modal-title" ng-bind="::$ctrl.title"></h3></div><div class="modal-body"><div class="capture-offline-model"><div class="row"><div class="col-md-12" ng-cloak="" ng-show="mac.lxServerIp.$dirty && mac.lxServerIp.$invalid"><div class="alert alert-danger" ng-cloak="" ng-show="mac.lxServerIp.$error.required">服务器IP地址不能为空！</div><div class="alert alert-danger" ng-cloak="" ng-show="mac.lxServerIp.$error.pattern">服务器IP地址不合法！</div></div><div class="col-md-4 label-title">服务器IP地址：</div><div class="col-md-8 label-content"><input type="text" class="form-control" ng-model="$ctrl.logFx.db_ip" name="lxServerIp" placeholder="127.0.0.1" ng-pattern="/^((25[0-5])|(2[0-4]\\d)|(1\\d\\d)|([1-9]\\d)|\\d)(\\.((25[0-5])|(2[0-4]\\d)|(1\\d\\d)|([1-9]\\d)|\\d)){3}$/" required maxlength="30"></div><div class="col-md-12" ng-cloak="" ng-show="mac.lxServiceName.$dirty && mac.lxServiceName.$invalid"><div class="alert alert-danger" ng-cloak="" ng-show="mac.lxServiceName.$error.required">Service名称不能为空！</div></div><div class="col-md-4 label-title">Service名称：</div><div class="col-md-8 label-content"><input type="text" class="form-control" ng-model="$ctrl.logFx.db_id" name="lxServiceName" required maxlength="100"></div><div class="col-md-12" ng-cloak="" ng-show="mac.lxPort.$dirty && mac.lxPort.$invalid"><div class="alert alert-danger" ng-cloak="" ng-show="mac.lxPort.$error.required">端口不能为空！</div><div class="alert alert-danger" ng-cloak="" ng-show="mac.lxPort.$error.pattern">端口格式不合法！</div></div><div class="col-md-4 label-title">端口：</div><div class="col-md-8 label-content"><input type="text" class="form-control" ng-model="$ctrl.logFx.db_port" name="lxPort" ng-pattern="/^[1-9]$|(^[1-9][0-9]$)|(^[1-9][0-9][0-9]$)|(^[1-9][0-9][0-9][0-9]$)|(^[1-6][0-5][0-5][0-3][0-5]$)/" required maxlength="10"></div><div class="col-md-12" ng-cloak="" ng-show="mac.lxUsername.$dirty && mac.lxUsername.$invalid"><div class="alert alert-danger" ng-cloak="" ng-show="mac.lxUsername.$error.required">用户名不能为空！</div><div class="alert alert-danger" ng-cloak="" ng-show="mac.lxUsername.$error.maxlength">用户名长度不超过60个字符！</div></div><div class="col-md-4 label-title">用户名：</div><div class="col-md-8 label-content"><input type="text" class="form-control" ng-model="$ctrl.logFx.db_user" name="lxUsername" ng-maxlength="60" required></div><div class="col-md-12" ng-cloak="" ng-show="mac.lxPassword.$dirty && mac.lxPassword.$invalid"><div class="alert alert-danger" ng-cloak="" ng-show="mac.lxPassword.$error.required">密码不能为空！</div><div class="alert alert-danger" ng-cloak="" ng-show="mac.lxPassword.$error.maxlength">密码长度不超过60个字符！</div></div><div class="col-md-4 label-title">密码：</div><div class="col-md-8 label-content"><input type="password" class="form-control" ng-model="$ctrl.logFx.db_password" name="lxPassword" ng-maxlength="60" required></div></div></div></div><div class="modal-footer"><button class="btn btn-warning btn-sm" type="button" ng-click="$ctrl.cancel()">取消</button> <button class="btn btn-primary btn-sm" type="button" ng-disabled="mac.$invalid" ng-click="$ctrl.ok()">保存</button></div></form>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("capture_view/property.component.html",'<div role="tabpanel" class="tab-pane"><div class="panel panel-default"><div class="panel-heading" translate-once="Cp_cpsx"></div><form name="formQu" novalidate><div class="panel-body"><div class="capture-property-name cap-form-tip clearfix remove-border" ng-cloak="" ng-show="$ctrl.real.com_id.length>0"><div class="col-md-3"><label class="text-info"><span class="red"></span>Capture ID：</label></div><div class="col-md-8 clearfix"><span class="ci-label" style="line-height: 30px" ng-bind="$ctrl.real.com_id" ng-class="{\'accord-pre\':$ctrl.params.capId}"></span><p ng-cloak ng-show="$ctrl.params.capId" ng-class="{\'accord-next\':$ctrl.params.capId}" translate-once="Cp_wybs"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.capId=!$ctrl.params.capId" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.capId,\'glyphicon-question-sign\':!$ctrl.params.capId}"></span></div></div><div class="capture-property-name cap-form-tip clearfix remove-border"><div class="col-md-12" ng-cloak="" ng-show="formQu.capName.$dirty && formQu.capName.$invalid"><div class="alert alert-danger" ng-show="formQu.capName.$error.required" translate-once="Cp_tip1"></div><div class="alert alert-danger" ng-show="formQu.capName.$error.pattern" translate-once="Cp_tip2"></div></div><div class="col-md-3"><label class="text-info"><span class="red">*</span>{{\'Cp_cpmc\' | translate}}</label></div><div class="col-md-8 clearfix"><input class="form-control" type="text" translate-once-placeholder="Cp_zjmc" name="capName" ng-class="{\'accord-pre\':$ctrl.params.captureName}" required ng-pattern="/^[a-zA-Z\\u4E00-\\u9FA5](\\w|[\\u4E00-\\u9FA5]|\\d){0,19}$/" ng-model="$ctrl.property.captureName"><p ng-cloak ng-show="$ctrl.params.captureName" ng-class="{\'accord-next\':$ctrl.params.captureName}" translate-once="Cp_mcsm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.captureName=!$ctrl.params.captureName" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.captureName,\'glyphicon-question-sign\':!$ctrl.params.captureName}"></span></div></div><div class="panel panel-default col-md-5 capture-selt"><div class="panel-heading inner-paner" translate-once="Cp_wxlb"></div><div class="panel-body inner-paner"><select name="unselect_user" multiple="multiple" class="selt-ul" ng-model="$ctrl.data.unselModel"><option class="list-group-item" value="{{item}}" ng-repeat="item in $ctrl.data.unselList track by $index">{{item}}</option></select></div></div><div class="col-md-2 capture-selt"><div class="vertical-center"><button type="button" class="btn btn-default center-block" ng-click="$ctrl.pushSelect()" ng-bind="$ctrl.data.left"></button> <button type="button" class="btn btn-default center-block push_select" ng-click="$ctrl.removeSelect()" ng-bind="$ctrl.data.right"></button></div></div><div class="panel panel-default col-md-5 capture-selt"><div class="panel-heading inner-paner" translate-once="Cp_yxlb"></div><div class="panel-body inner-paner"><select name="select_user" multiple="multiple" class="selt-ul" ng-model="$ctrl.data.selModel"><option class="list-group-item" value="{{item}}" ng-repeat="item in $ctrl.data.selList track by $index">{{item}}</option></select></div></div><div class="clearfix"></div><div class="panel panel-default" ng-cloak="" ng-if="$ctrl.dbConf.oraclePanel"><div class="panel-heading">模式和Rac</div><div class="panel-body"><div class="row rac-info-panel"><div class="col-lg-12">日志分析模式：<label for="log_ol"><input type="radio" id="log_ol" ng-model="$ctrl.logFx.ms" value="zx">在线分析</label><label for="log_fl"><input type="radio" id="log_fl" ng-model="$ctrl.logFx.ms" value="lx">离线分析</label><a href="javascript:void(0);" ng-cloak="" ng-if="$ctrl.logFx.ms===\'lx\'" style="margin-left: 10px" ng-click="$ctrl.lxMacConfig()">主机配置</a></div><div class="clearfix"></div><rac-model racs="$ctrl.racs"></rac-model></div></div></div><div class="clearfix"></div><senior-pro db-type="$ctrl.dbConf.nowDB" com-id="$ctrl.real.com_id" property="$ctrl.property" super="$ctrl.data.superConfig" on-save="$ctrl.saveSeniorConfig(pro)"></senior-pro></div><div class="panel-footer clearfix"><div class="pull-left"><div class="alert alert-danger" ng-cloak="" ng-show="$ctrl.data.serErr && $ctrl.data.serErr.length>0" ng-bind="$ctrl.data.serErr"></div><div class="alert alert-danger" ng-cloak="" ng-show="$ctrl.data.lxErr && $ctrl.data.lxErr.length>0" ng-bind="$ctrl.data.lxErr"></div></div><div class="pull-right"><button type="button" class="btn btn-sm btn-primary" style="margin-right: 10px" ng-disabled="$ctrl.dbConf.sqlserPanel" ng-cloak="" ng-click="$ctrl.showSqlPanel()" ng-if="$ctrl.dbConf.nowDB===\'sqlserver\' || $ctrl.dbConf.nowDB===\'db2\'">表配置</button> <button type="button" class="btn btn-sm btn-primary" ng-disabled="!$ctrl.rac_param_ck || formQu.$invalid || $ctrl.isSaving" ng-click="$ctrl.saveCaptureInfo()" ng-bind="$ctrl.saveBtnTxt"></button></div></div></form></div><div class="panel panel-default" ng-cloak="" ng-if="$ctrl.dbConf.sqlserPanel && $ctrl.dbConf.nowDB===\'sqlserver\'"><div class="panel-heading">sqlServer表配置<div class="pull-right"><button type="button" class="btn btn-primary btn-sm" style="margin-top: -5px" ng-click="$ctrl.dbConf.sqlserPanel=false">关闭</button></div><div class="clearfix"></div></div><div class="panel-body"><uib-tabset active="$ctrl.dbConf.active" justified="true"><uib-tab index="0" heading="选择要同步的表"><div class="row" ng-cloak=""><div class="col-md-12"><div style="border: 1px solid #ddd;height: 300px" ng-cloak="" ng-show="!$ctrl.dbConf.sqlLog.isEdit"><div id="objTree" class="ztree ztreecss" style="height: 280px;overflow: auto"></div></div><div style="border: 1px solid #ddd;height: 365px" ng-cloak="" ng-if="$ctrl.dbConf.sqlLog.isEdit"><table class="table" style="margin-bottom: 0;border-bottom: none"><caption><div class="alert alert-info" style="margin-bottom: 0"><i class="fa fa-bullhorn text-warning"></i> 该步骤会对表添加补充日志，添加补充日志后表的truncate操作将不能执行，请确认应用程序中没有对表的truncate操作，然后再点击执行按钮。</div></caption><colgroup><col style="width: 10%"><col style="width: 25%"><col style="width: 25%"><col style="width: 25%"><col style="width: 15%"></colgroup><tr><th><input type="checkbox" id="ckAll" ng-change="$ctrl.qxToggle()" ng-model="$ctrl.dbConf.sqlLog.ckAll"></th><th>用户名</th><th>表名</th><th>操作</th><th>状态</th></tr></table><div style="height: 208px;overflow:scroll"><table class="table table-striped" id="sqlLogs"><colgroup><col style="width: 10%"><col style="width: 25%"><col style="width: 25%"><col style="width: 25%"><col style="width: 15%"></colgroup><tr ng-repeat="item in $ctrl.dbConf.sqlLog.tables track by $index"><td><input type="checkbox" class="sqlTbCbox" id="{{item.cid}}" ng-value="item.data" checked="checked"></td><td ng-bind="item.pname">aaa</td><td ng-bind="item.name">bbb</td><td><span class="text-success" ng-show="item.checked">添加</span> <span class="text-warning" ng-show="!item.checked">取消</span>补充日志</td><td id="{{item.id}}">无</td></tr><tr ng-cloak="" ng-show="$ctrl.dbConf.sqlLog.tables.length===0"><td colspan="5" class="txt-align-center">No Data!</td></tr></table></div><div style="height: 30px;line-height: 30px">待添加条数：<span ng-bind="$ctrl.dbConf.sqlLog.totalApp"></span> 已添加条数：<span class="text-success" ng-bind="$ctrl.dbConf.sqlLog.appNum"></span>, 待取消条数：<span ng-bind="$ctrl.dbConf.sqlLog.totalCan"></span> 已取消条数：<span class="text-success" ng-bind="$ctrl.dbConf.sqlLog.canNum"></span>, 失败条数：<span class="text-danger" ng-bind="$ctrl.dbConf.sqlLog.error"></span></div></div></div><div class="col-md-12 clearfix"><button type="button" class="btn btn-primary btn-sm pull-right" style="margin-top: 15px" ng-cloak="" ng-show="$ctrl.dbConf.sqlLog.isEdit" ng-click="$ctrl.excuteBcLog()" ng-disabled="$ctrl.dbConf.sqlLog.excuteIng" ng-bind="$ctrl.dbConf.sqlLog.excuteBtx"></button> <button type="button" class="btn btn-primary btn-sm pull-right" style="margin-top: 15px;margin-right: 10px" ng-cloak="" ng-show="$ctrl.dbConf.sqlLog.isEdit" ng-click="$ctrl.cancelZx()">返回</button> <button type="button" class="btn btn-primary btn-sm pull-right" style="margin-top: 15px" ng-hide="$ctrl.dbConf.sqlLog.isEdit" ng-click="$ctrl.selectTbTables()">选择表</button><div class="clearfix"></div></div></div></uib-tab><uib-tab index="1" heading="配置快照同步表" select="$ctrl.showSqlKzPanel()"><div class="row"><div class="col-md-12"><div class="alert alert-info" style="margin-bottom: 10px"><i class="fa fa-icon-warning-sign yellow"></i>快照同步用于对表定时做全量同步，该同步方式只适用于表的变化不频繁，且表数据量较少的情况。</div><div style="border: 1px solid #ddd;height: 250px;overflow: auto"><div id="objTree1" class="ztree ztreecss"></div></div></div><div class="col-md-12"><div class="pull-right"><button type="button" class="btn btn-primary btn-sm" ng-click="$ctrl.dbConf.sqlserPanel=false" style="margin-top: 15px">关闭</button> <button type="button" class="btn btn-primary btn-sm" style="margin-top: 15px;margin-right: 5px" ng-disabled="$ctrl.isSaving1" ng-click="$ctrl.saveSqlKz()">保存</button></div><div class="clearfix"></div></div></div></uib-tab></uib-tabset></div></div><div class="panel panel-default" ng-cloak="" ng-if="$ctrl.dbConf.sqlserPanel && $ctrl.dbConf.nowDB===\'db2\'"><div class="panel-heading">DB2表配置<div class="pull-right"><button type="button" class="btn btn-primary btn-sm" style="margin-top: -5px" ng-click="$ctrl.dbConf.sqlserPanel=false">关闭</button></div><div class="clearfix"></div></div><div class="panel-body"><div class="row"><div class="col-md-12"><div class="alert alert-info" style="margin-bottom: 10px"><i class="fa fa-icon-warning-sign yellow"></i>DB2数据库，cdc配置，选中代表开启，未选中代表关闭。</div><div style="border: 1px solid #ddd;height: 250px;overflow: auto"><div id="objTreeDb2" class="ztree ztreecss"></div><div style="text-align: center" ng-cloak="" ng-show="$ctrl.isBpz">Loading......</div></div></div></div></div><div class="panel-footer"><div class="pull-right"><button type="button" class="btn btn-primary btn-sm" ng-click="$ctrl.dbConf.sqlserPanel=false" style="margin-top: 15px">关闭</button> <button type="button" class="btn btn-primary btn-sm" style="margin-top: 15px;margin-right: 5px" ng-disabled="$ctrl.isBpz" ng-click="$ctrl.saveDb2Cdc()">确认</button></div><div class="clearfix"></div></div></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("capture_view/rac.component.html",'<div class="col-lg-12"><div class="rac-info-body"><ng-form name="racForm" novalidate><div class="clearfix"><div class="pull-left">源库RAC信息：</div><div class="pull-right"><a class="btn glyphicon glyphicon-plus" ng-click="$ctrl.plusRacs()" title="添加rac信息" style="margin-right: 5px"></a> <a class="btn glyphicon glyphicon-minus" ng-disabled="$ctrl.racs.length===0" ng-click="$ctrl.removeRacs()" title="删除rac信息"></a></div></div><div class="rac-info-body-list" ng-cloak="" ng-show="$ctrl.racs.length>0"><table class="table table-bordered table-condensed"><colgroup><col style="width: 10%"><col style="width: 20%"><col style="width: 25%"><col style="width: 15%"><col style="width: 10%"><col style="width: 20%"></colgroup><tr><th>Thread</th><th>Instance Name</th><th>IP</th><th>PORT</th><th>ENABLE</th><th>PATH</th></tr><tr ng-repeat="item in $ctrl.racs track by $index"><td><input type="text" class="form-control" ng-model="item.thread" required maxlength="10"></td><td><input type="text" class="form-control" ng-model="item.name" required maxlength="30"></td><td><input type="text" class="form-control" ng-model="item.ip" required placeholder="127.0.0.1" ng-pattern="/^((25[0-5])|(2[0-4]\\d)|(1\\d\\d)|([1-9]\\d)|\\d)(\\.((25[0-5])|(2[0-4]\\d)|(1\\d\\d)|([1-9]\\d)|\\d)){3}$/" maxlength="20"></td><td><input type="text" class="form-control" ng-model="item.port" required placeholder="3000" ng-pattern="/^[1-9]$|(^[1-9][0-9]$)|(^[1-9][0-9][0-9]$)|(^[1-9][0-9][0-9][0-9]$)|(^[1-6][0-5][0-5][0-3][0-5]$)/" maxlength="10"></td><td><input type="checkbox" ng-model="item.enable" class="cbox"></td><td><input type="text" class="form-control" ng-model="item.path" maxlength="30"></td></tr></table></div></ng-form></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){
  l.put("capture_view/seniorConfig.component.html",'<uib-accordion close-others="oneAtATime"><div uib-accordion-group class="panel panel-default" is-open="$ctrl.superF" style="margin-top: 10px;margin-bottom:0"><uib-accordion-heading>{{\'Cp_gjxx\' | translate}} <i class="pull-right glyphicon" ng-class="{\'glyphicon-chevron-up\': $ctrl.superF, \'glyphicon-chevron-down\': !$ctrl.superF}"></i></uib-accordion-heading><ng-form name="formSenior" novalidate><div class="panel-body clearfix"><table class="table table-condensed" ng-cloak="" ng-if="$ctrl.dbType===\'oracle\'"><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">Capture字符集：</label></div><div class="col-md-8 clearfix"><input class="form-control" ng-class="{\'accord-pre\':$ctrl.params.zfj}" type="text" name="nlsLang" ng-model="$ctrl.property.nls_lang" ng-readonly="true"><p ng-class="{\'accord-next\':$ctrl.params.zfj}" ng-show="$ctrl.params.zfj" ng-cloak="">Capture字符集说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.zfj=!$ctrl.params.zfj"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.zfj,\'glyphicon-question-sign\':!$ctrl.params.zfj}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formSenior.capture_interval.$dirty && formSenior.capture_interval.$invalid"><div class="alert alert-danger" ng-show="formSenior.capture_interval.$error.required">抓取日志间隔不能为空！</div><div class="alert alert-danger" ng-show="formSenior.capture_interval.$error.pattern">抓取日志间隔只能为数字！</div></div><div class="col-md-3"><label class="text-info">抓取日志间隔：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.zqjg}"><input type="text" class="form-control" name="capture_interval" placeholder="15" ng-pattern="/^0$|^[1-9][0-9]*$/" required ng-model="$ctrl.property.capture_interval" maxlength="30" min="0"> <span class="input-group-addon">秒</span></div><p ng-class="{\'accord-next\':$ctrl.params.zqjg}" ng-show="$ctrl.params.zqjg" ng-cloak="">抓取日志间隔说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.zqjg=!$ctrl.params.zqjg"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.zqjg,\'glyphicon-question-sign\':!$ctrl.params.zqjg}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formSenior.heartInterval.$dirty && formSenior.heartInterval.$invalid"><div class="alert alert-danger" ng-show="formSenior.heartInterval.$error.required" translate-once="Cp_tip3"></div><div class="alert alert-danger" ng-show="formSenior.heartInterval.$error.pattern" translate-once="Cp_tip4"></div></div><div class="col-md-3"><label class="text-info" translate-once="Cp_xtjg"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.xtjg}"><input type="text" class="form-control" name="heartInterval" placeholder="300" ng-pattern="/^0$|^[1-9][0-9]*$/" required ng-model="$ctrl.property.capture_heartbeat" maxlength="30" min="0"> <span class="input-group-addon" translate-once="SECOND"></span></div><p ng-class="{\'accord-next\':$ctrl.params.xtjg}" ng-show="$ctrl.params.xtjg" ng-cloak="" translate-once="Cp_xtjgsm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.xtjg=!$ctrl.params.xtjg"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.xtjg,\'glyphicon-question-sign\':!$ctrl.params.xtjg}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formSenior.reStart.$dirty && formSenior.reStart.$invalid"><div class="alert alert-danger" ng-show="formSenior.reStart.$error.required" translate-once="Cp_tip6"></div><div class="alert alert-danger" ng-show="formSenior.reStart.$error.pattern" translate-once="Cp_tip7"></div></div><div class="col-md-3"><label class="text-info" translate-once="Cp_fxcqjg"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.cqjg}"><input type="text" class="form-control" placeholder="300" name="reStart" ng-pattern="/^0$|^[1-9][0-9]*$/" required ng-model="$ctrl.property.logminer_restart_time" maxlength="30" min="0"> <span class="input-group-addon" translate-once="SECOND"></span></div><p ng-class="{\'accord-next\':$ctrl.params.cqjg}" ng-show="$ctrl.params.cqjg" ng-cloak="" translate-once="Cp_fxjgzn"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.cqjg=!$ctrl.params.cqjg"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cqjg,\'glyphicon-question-sign\':!$ctrl.params.cqjg}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formSenior.scnEvaluateTime.$dirty && formSenior.scnEvaluateTime.$invalid"><div class="alert alert-danger" ng-show="formSenior.scnEvaluateTime.$error.required">预计scn查找时间不能为空！</div><div class="alert alert-danger" ng-show="formSenior.scnEvaluateTime.$error.pattern">预计scn查找时间只能为数字！</div></div><div class="col-md-3"><label class="text-info">预计scn查找时间：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.scnxx}"><input type="text" class="form-control" placeholder="20" name="scnEvaluateTime" ng-pattern="/^0$|^[1-9][0-9]*$/" required ng-model="$ctrl.property.scn_evaluate_time" maxlength="30" min="0"> <span class="input-group-addon" translate-once="SECOND"></span></div><p ng-class="{\'accord-next\':$ctrl.params.scnxx}" ng-show="$ctrl.params.scnxx" ng-cloak="">预计scn查找时间的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.scnxx=!$ctrl.params.scnxx"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.scnxx,\'glyphicon-question-sign\':!$ctrl.params.scnxx}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formSenior.backScn.$dirty && formSenior.backScn.$invalid"><div class="alert alert-danger" ng-show="formSenior.backScn.$error.required">回查scn上限不能为空！</div><div class="alert alert-danger" ng-show="formSenior.backScn.$error.pattern">回查scn上限只能为数字！</div></div><div class="col-md-3"><label class="text-info">回查scn上限：</label></div><div class="col-md-8 clearfix"><input type="text" class="form-control" ng-class="{\'accord-pre\':$ctrl.params.racscn}" placeholder="10" name="backScn" ng-pattern="/^0$|^[1-9][0-9]*$/" required ng-model="$ctrl.property.back_scn" maxlength="30" min="0"><p ng-class="{\'accord-next\':$ctrl.params.racscn}" ng-show="$ctrl.params.racscn" ng-cloak="">回查scn上限的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.racscn=!$ctrl.params.racscn"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.racscn,\'glyphicon-question-sign\':!$ctrl.params.racscn}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formSenior.mattSize.$dirty && formSenior.mattSize.$invalid"><div class="alert alert-danger" ng-show="formSenior.mattSize.$error.required" translate-once="Cp_tip9"></div><div class="alert alert-danger" ng-show="formSenior.mattSize.$error.pattern" translate-once="Cp_tip10"></div></div><div class="col-md-3"><label class="text-info" translate-once="Cp_swcdx"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.swc}"><input type="text" class="form-control" placeholder="32" name="mattSize" ng-pattern="/^0$|^[1-9][0-9]*$/" required ng-model="$ctrl.property.transaction_slot_size" maxlength="30" min="0"> <span class="input-group-addon">K</span></div><p ng-class="{\'accord-next\':$ctrl.params.swc}" ng-show="$ctrl.params.swc" ng-cloak="" translate-once="Cp_bzswc"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.swc=!$ctrl.params.swc"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.swc,\'glyphicon-question-sign\':!$ctrl.params.swc}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formSenior.mattMax.$dirty && formSenior.mattMax.$invalid"><div class="alert alert-danger" ng-show="formSenior.mattMax.$error.required" translate-once="Cp_tip11"></div><div class="alert alert-danger" ng-show="formSenior.mattMax.$error.pattern" translate-once="Cp_tip12"></div></div><div class="col-md-3"><label class="text-info" translate-once="Cp_swczds"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.swczd}"><input class="form-control" type="text" placeholder="1000" name="mattMax" ng-pattern="/^0$|^[1-9][0-9]*$/" required ng-model="$ctrl.property.max_transaction_slot" maxlength="10" min="0"> <span class="input-group-addon" translate-once="NUM"></span></div><p ng-class="{\'accord-next\':$ctrl.params.swczd}" ng-show="$ctrl.params.swczd" ng-cloak="" translate-once="Cp_bzswc"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.swczd=!$ctrl.params.swczd"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.swczd,\'glyphicon-question-sign\':!$ctrl.params.swczd}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formSenior.memoSize.$dirty && formSenior.memoSize.$invalid"><div class="alert alert-danger" ng-show="formSenior.memoSize.$error.required" translate-once="Cp_tip13"></div><div class="alert alert-danger" ng-show="formSenior.memoSize.$error.pattern" translate-once="Cp_tip14"></div></div><div class="col-md-3"><label class="text-info" translate-once="Cp_ncdldx"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.ncdl}"><input type="text" class="form-control" placeholder="32" name="memoSize" ng-pattern="/^0$|^[1-9][0-9]*$/" required ng-model="$ctrl.property.internal_queue_size" maxlength="30" min="0"> <span class="input-group-addon">M</span></div><p ng-class="{\'accord-next\':$ctrl.params.ncdl}" ng-show="$ctrl.params.ncdl" ng-cloak="" translate-once="Cp_bzswc"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.ncdl=!$ctrl.params.ncdl"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ncdl,\'glyphicon-question-sign\':!$ctrl.params.ncdl}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Cp_bqzlb"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.lobzd}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.lob_skip" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.lob_skip" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.lobzd}" ng-show="$ctrl.params.lobzd" ng-cloak="" translate-once="Cp_lbxxsm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lobzd=!$ctrl.params.lobzd"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lobzd,\'glyphicon-question-sign\':!$ctrl.params.lobzd}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">抓取Grant DDL：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.skipGrant}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.capture_grant" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.capture_grant" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.skipGrant}" ng-show="$ctrl.params.skipGrant" ng-cloak="">是否抓取grant DDL</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.skipGrant=!$ctrl.params.skipGrant"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.skipGrant,\'glyphicon-question-sign\':!$ctrl.params.skipGrant}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">全部列更新：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.fullColUpdate}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.full_column_update" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.full_column_update" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.fullColUpdate}" ng-show="$ctrl.params.fullColUpdate" ng-cloak="">对于update delete语句是否设置全部列信息</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.fullColUpdate=!$ctrl.params.fullColUpdate"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.fullColUpdate,\'glyphicon-question-sign\':!$ctrl.params.fullColUpdate}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">使用在线字典：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.onLine}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.use_online_dict" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.use_online_dict" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.onLine}" ng-show="$ctrl.params.onLine" ng-cloak="">使用在线字典的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.onLine=!$ctrl.params.onLine"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.onLine,\'glyphicon-question-sign\':!$ctrl.params.onLine}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">并发：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.bingf}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.concurrent" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.concurrent" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.bingf}" ng-show="$ctrl.params.bingf" ng-cloak="">并发的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.bingf=!$ctrl.params.bingf"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.bingf,\'glyphicon-question-sign\':!$ctrl.params.bingf}"></span></div></div></div></td></tr><tr ng-cloak="" ng-show="$ctrl.property.concurrent===\'yes\'"><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formSenior.parallel.$dirty && formSenior.parallel.$invalid"><div class="alert alert-danger" ng-show="formSenior.parallel.$error.required">并发个数不能为空！</div><div class="alert alert-danger" ng-show="formSenior.parallel.$error.pattern">并发个数只能为数字！</div></div><div class="col-md-3"><label class="text-info">并发个数：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.bfgs}"><input type="text" class="form-control" placeholder="1" name="parallel" ng-pattern="/^0$|^[1-9][0-9]*$/" required ng-model="$ctrl.property.parallel" maxlength="30" min="0"> <span class="input-group-addon">个</span></div><p ng-class="{\'accord-next\':$ctrl.params.bfgs}" ng-show="$ctrl.params.bfgs" ng-cloak="">并发个数的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.bfgs=!$ctrl.params.bfgs"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.bfgs,\'glyphicon-question-sign\':!$ctrl.params.bfgs}"></span></div></div></div></td></tr></table><table class="table table-condensed" ng-cloak="" ng-if="$ctrl.dbType===\'sqlserver\'"><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formSenior.captureInterval.$dirty && formSenior.captureInterval.$invalid"><div class="alert alert-danger" ng-show="formSenior.captureInterval.$error.required">抓取日志间隔不能为空！</div><div class="alert alert-danger" ng-show="formSenior.captureInterval.$error.pattern">抓取日志间隔只能为数字！</div></div><div class="col-md-3"><label class="text-info">抓取日志间隔：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.zqjg}"><input class="form-control" type="text" name="captureInterval" ng-pattern="/^0$|^[1-9][0-9]*$/" required ng-model="$ctrl.property.capture_interval" maxlength="30" min="0"> <span class="input-group-addon">秒</span></div><p ng-class="{\'accord-next\':$ctrl.params.zqjg}" ng-show="$ctrl.params.zqjg" ng-cloak="">抓取日志间隔说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.zqjg=!$ctrl.params.zqjg"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.zqjg,\'glyphicon-question-sign\':!$ctrl.params.zqjg}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formSenior.checkpoint_sql.$dirty && formSenior.checkpoint_sql.$invalid"><div class="alert alert-danger" ng-show="formSenior.checkpoint_sql.$error.required">Checkpoint间隔不能为空！</div><div class="alert alert-danger" ng-show="formSenior.checkpoint_sql.$error.pattern">Checkpoint间隔只能为数字！</div></div><div class="col-md-3"><label class="text-info">Checkpoint间隔：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.cpjg}"><input class="form-control" type="text" name="checkpoint_sql" ng-pattern="/^0$|^[1-9][0-9]*$/" required ng-model="$ctrl.property.checkpoint_interval" maxlength="30" min="0"> <span class="input-group-addon">小时</span></div><p ng-class="{\'accord-next\':$ctrl.params.cpjg}" ng-show="$ctrl.params.cpjg" ng-cloak="">Checkpoint间隔说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.cpjg=!$ctrl.params.cpjg"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cpjg,\'glyphicon-question-sign\':!$ctrl.params.cpjg}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formSenior.snapshotInterval.$dirty && formSenior.snapshotInterval.$invalid"><div class="alert alert-danger" ng-show="formSenior.snapshotInterval.$error.required">Snapshot间隔不能为空！</div><div class="alert alert-danger" ng-show="formSenior.snapshotInterval.$error.pattern">Snapshot间隔只能为数字！</div></div><div class="col-md-3"><label class="text-info">Snapshot间隔：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.ssjg}"><input class="form-control" type="text" name="snapshotInterval" ng-pattern="/^0$|^[1-9][0-9]*$/" required ng-model="$ctrl.property.snapshot_interval" maxlength="30" min="0"> <span class="input-group-addon">小时</span></div><p ng-class="{\'accord-next\':$ctrl.params.ssjg}" ng-show="$ctrl.params.ssjg" ng-cloak="">Snapshot间隔说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.ssjg=!$ctrl.params.ssjg"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ssjg,\'glyphicon-question-sign\':!$ctrl.params.ssjg}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formSenior.clsjk_sql.$dirty && formSenior.clsjk_sql.$invalid"><div class="alert alert-danger" ng-show="formSenior.clsjk_sql.$error.required">fetch重连数据库间隔不能为空！</div><div class="alert alert-danger" ng-show="formSenior.clsjk_sql.$error.pattern">fetch重连数据库间隔只能为数字！</div></div><div class="col-md-3"><label class="text-info">fetch重连数据库间隔：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.fccl}"><input class="form-control" type="text" name="clsjk_sql" ng-pattern="/^0$|^[1-9][0-9]*$/" required ng-model="$ctrl.property.fetch_delay_reconnect" maxlength="30" min="0"> <span class="input-group-addon">秒</span></div><p ng-class="{\'accord-next\':$ctrl.params.fccl}" ng-show="$ctrl.params.fccl" ng-cloak="">fetch重连数据库间隔说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.fccl=!$ctrl.params.fccl"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.fccl,\'glyphicon-question-sign\':!$ctrl.params.fccl}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">补充日志后全表同步：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.bcrztb}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.sync_when_extend_log" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.sync_when_extend_log" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.bcrztb}" ng-show="$ctrl.params.bcrztb" ng-cloak="">补充日志后全表同步的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.bcrztb=!$ctrl.params.bcrztb"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.bcrztb,\'glyphicon-question-sign\':!$ctrl.params.bcrztb}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">createTable后加补充日志：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.ctbcrz}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.extend_log_when_create" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.extend_log_when_create" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.ctbcrz}" ng-show="$ctrl.params.ctbcrz" ng-cloak="">createTable后加补充日志的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.ctbcrz=!$ctrl.params.ctbcrz"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ctbcrz,\'glyphicon-question-sign\':!$ctrl.params.ctbcrz}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">抓取loader装载数据：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.zqlzz}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.cap_loader_data" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.cap_loader_data" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.zqlzz}" ng-show="$ctrl.params.zqlzz" ng-cloak="">抓取loader装载数据的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.zqlzz=!$ctrl.params.zqlzz"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.zqlzz,\'glyphicon-question-sign\':!$ctrl.params.zqlzz}"></span></div></div></div></td></tr></table><table class="table table-condensed" ng-cloak="" ng-if="$ctrl.dbType!==\'oracle\' && $ctrl.dbType!==\'sqlserver\' && $ctrl.dbType!==\'db2\'"><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formSenior.capture_interval.$dirty && formSenior.capture_interval.$invalid"><div class="alert alert-danger" ng-show="formSenior.capture_interval.$error.required">抓取日志间隔不能为空！</div><div class="alert alert-danger" ng-show="formSenior.capture_interval.$error.pattern">抓取日志间隔只能为数字！</div></div><div class="col-md-3"><label class="text-info">抓取日志间隔：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.zqjg}"><input class="form-control" type="text" name="capture_interval" ng-pattern="/^0$|^[1-9][0-9]*$/" required ng-model="$ctrl.property.capture_interval" maxlength="30" min="0"> <span class="input-group-addon">秒</span></div><p ng-class="{\'accord-next\':$ctrl.params.zqjg}" ng-show="$ctrl.params.zqjg" ng-cloak="">抓取日志间隔说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.zqjg=!$ctrl.params.zqjg"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.zqjg,\'glyphicon-question-sign\':!$ctrl.params.zqjg}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formSenior.mattSize_sql.$dirty && formSenior.mattSize_sql.$invalid"><div class="alert alert-danger" ng-show="formSenior.mattSize_sql.$error.required">事务槽大小不能为空！</div><div class="alert alert-danger" ng-show="formSenior.mattSize_sql.$error.pattern">事务槽大小不能为空！</div></div><div class="col-md-3"><label class="text-info">事务槽大小：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.swc}"><input type="text" class="form-control" placeholder="5" name="mattSize_sql" ng-pattern="/^0$|^[1-9][0-9]*$/" required ng-model="$ctrl.property.transaction_slot_size" maxlength="30" min="0"> <span class="input-group-addon">K</span></div><p ng-class="{\'accord-next\':$ctrl.params.swc}" ng-show="$ctrl.params.swc" ng-cloak="">保证事务槽大小 x 事务槽最大数 + 内存队列大小小于1G</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.swc=!$ctrl.params.swc"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.swc,\'glyphicon-question-sign\':!$ctrl.params.swc}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">抓取loader装载数据：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.zqlzz}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.cap_loader_data" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.cap_loader_data" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.zqlzz}" ng-show="$ctrl.params.zqlzz" ng-cloak="">抓取loader装载数据的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.zqlzz=!$ctrl.params.zqlzz"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.zqlzz,\'glyphicon-question-sign\':!$ctrl.params.zqlzz}"></span></div></div></div></td></tr></table><table class="table table-condensed" ng-cloak="" ng-if="$ctrl.dbType ===\'db2\'"><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formSenior.capture_interval.$dirty && formSenior.capture_interval.$invalid"><div class="alert alert-danger" ng-show="formSenior.capture_interval.$error.required">抓取日志间隔不能为空！</div><div class="alert alert-danger" ng-show="formSenior.capture_interval.$error.pattern">抓取日志间隔只能为数字！</div></div><div class="col-md-3"><label class="text-info">抓取日志间隔：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.zqjg}"><input class="form-control" type="text" name="capture_interval" ng-pattern="/^0$|^[1-9][0-9]*$/" required ng-model="$ctrl.property.capture_interval" maxlength="30" min="0"> <span class="input-group-addon">秒</span></div><p ng-class="{\'accord-next\':$ctrl.params.zqjg}" ng-show="$ctrl.params.zqjg" ng-cloak="">抓取日志间隔说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.zqjg=!$ctrl.params.zqjg"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.zqjg,\'glyphicon-question-sign\':!$ctrl.params.zqjg}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formSenior.mattSize_sql.$dirty && formSenior.mattSize_sql.$invalid"><div class="alert alert-danger" ng-show="formSenior.mattSize_sql.$error.required">事务槽大小不能为空！</div><div class="alert alert-danger" ng-show="formSenior.mattSize_sql.$error.pattern">事务槽大小不能为空！</div></div><div class="col-md-3"><label class="text-info">事务槽大小：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.swc}"><input type="text" class="form-control" placeholder="5" name="mattSize_sql" ng-pattern="/^0$|^[1-9][0-9]*$/" required ng-model="$ctrl.property.transaction_slot_size" maxlength="30" min="0"> <span class="input-group-addon">K</span></div><p ng-class="{\'accord-next\':$ctrl.params.swc}" ng-show="$ctrl.params.swc" ng-cloak="">保证事务槽大小 x 事务槽最大数 + 内存队列大小小于1G</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.swc=!$ctrl.params.swc"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.swc,\'glyphicon-question-sign\':!$ctrl.params.swc}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formSenior.mattMax.$dirty && formSenior.mattMax.$invalid"><div class="alert alert-danger" ng-show="formSenior.mattMax.$error.required" translate-once="Cp_tip11"></div><div class="alert alert-danger" ng-show="formSenior.mattMax.$error.pattern" translate-once="Cp_tip12"></div></div><div class="col-md-3"><label class="text-info" translate-once="Cp_swczds"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.swczd}"><input class="form-control" type="text" placeholder="1000" name="mattMax" ng-pattern="/^0$|^[1-9][0-9]*$/" required ng-model="$ctrl.property.max_transaction_slot" maxlength="10" min="0"> <span class="input-group-addon" translate-once="NUM"></span></div><p ng-class="{\'accord-next\':$ctrl.params.swczd}" ng-show="$ctrl.params.swczd" ng-cloak="">事务槽最大数说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.swczd=!$ctrl.params.swczd"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.swczd,\'glyphicon-question-sign\':!$ctrl.params.swczd}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formSenior.rzcDb2.$dirty && formSenior.rzcDb2.$invalid"><div class="alert alert-danger" ng-show="formSenior.rzcDb2.$error.pattern">日志槽大小只能为不小于0的数字！</div></div><div class="col-md-3"><label class="text-info">日志槽大小：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.rzcdx}"><input class="form-control" type="text" placeholder="1000" name="rzcDb2" ng-pattern="/^0$|^[1-9][0-9]*$/" ng-model="$ctrl.property.log_slot_size" maxlength="10"> <span class="input-group-addon">K</span></div><p ng-class="{\'accord-next\':$ctrl.params.rzcdx}" ng-show="$ctrl.params.rzcdx" ng-cloak="">每个读取日志槽的大小</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.rzcdx=!$ctrl.params.rzcdx"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.rzcdx,\'glyphicon-question-sign\':!$ctrl.params.rzcdx}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formSenior.mlsDb2.$dirty && formSenior.mlsDb2.$invalid"><div class="alert alert-danger" ng-show="formSenior.mlsDb2.$error.pattern">最大日志槽个数只能为不小于0的数字！</div></div><div class="col-md-3"><label class="text-info">最大日志槽个数：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.mlsgs}"><input class="form-control" type="text" placeholder="100" name="mlsDb2" ng-pattern="/^0$|^[1-9][0-9]*$/" ng-model="$ctrl.property.max_log_slot" maxlength="10"> <span class="input-group-addon">K</span></div><p ng-class="{\'accord-next\':$ctrl.params.mlsgs}" ng-show="$ctrl.params.mlsgs" ng-cloak="">最大日志槽的个数</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.mlsgs=!$ctrl.params.mlsgs"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.mlsgs,\'glyphicon-question-sign\':!$ctrl.params.mlsgs}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formSenior.urtDb2.$dirty && formSenior.urtDb2.$invalid"><div class="alert alert-danger" ng-show="formSenior.urtDb2.$error.pattern">update列命中率只能为0-100的整数！</div></div><div class="col-md-3"><label class="text-info">update列命中率：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.upmzl}"><input class="form-control" type="text" placeholder="0-100" name="urtDb2" ng-pattern="/^0$|^[1-9][0-9]$/" ng-model="$ctrl.property.update_ratio" maxlength="10"> <span class="input-group-addon">%</span></div><p ng-class="{\'accord-next\':$ctrl.params.upmzl}" ng-show="$ctrl.params.upmzl" ng-cloak="">update被改变的列占所有列的最小比例</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.upmzl=!$ctrl.params.upmzl"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.upmzl,\'glyphicon-question-sign\':!$ctrl.params.upmzl}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">抓取loader装载数据：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.zqlzz}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.cap_loader_data" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.cap_loader_data" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.zqlzz}" ng-show="$ctrl.params.zqlzz" ng-cloak="">抓取loader装载数据的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.zqlzz=!$ctrl.params.zqlzz"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.zqlzz,\'glyphicon-question-sign\':!$ctrl.params.zqlzz}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">只读取日志：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.zdqrz}"><label class="radio-inline"><input type="radio" name="dqrz" ng-model="$ctrl.property.readlog_only" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" name="dqrz" ng-model="$ctrl.property.readlog_only" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.zdqrz}" ng-show="$ctrl.params.zdqrz" ng-cloak="">只进行日志的读取，不进行日志的分析</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.zdqrz=!$ctrl.params.zdqrz"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.zdqrz,\'glyphicon-question-sign\':!$ctrl.params.zdqrz}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">抓取不带cdc属性的建表语句：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.bdcdc}"><label class="radio-inline"><input type="radio" name="noCdc" ng-model="$ctrl.property.db2_set_cdc" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" name="noCdc" ng-model="$ctrl.property.db2_set_cdc" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.bdcdc}" ng-show="$ctrl.params.bdcdc" ng-cloak="">可以抓取不带data capture changes属性的create table语句，并将其设置成data capture changes属性</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.bdcdc=!$ctrl.params.bdcdc"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.bdcdc,\'glyphicon-question-sign\':!$ctrl.params.bdcdc}"></span></div></div></div></td></tr></table></div><div class="panel-footer"><div class="alert alert-danger" ng-cloak="" ng-show="$ctrl.validErr && $ctrl.validErr.length>0" ng-bind="$ctrl.validErr"></div><div class="clearfix"><button type="button" class="btn btn-sm btn-primary pull-right" ng-disabled="formSenior.$invalid" ng-click="$ctrl.saveSeniorConfig()" translate-once="Cp_bcgjxx"></button></div></div></ng-form></div></uib-accordion>')
  }])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("capture_view/status.component.html",'<div role="tabpanel" class="tab-pane active"><div class="panel panel-default"><div class="panel-heading" translate-once="Cp_cpsx"></div><div class="panel-body"><div class="capture-property-name cap-form-tip remove-border clearfix" ng-cloak="" ng-show="$ctrl.real.com_id.length>0"><div class="col-md-3"><label class="text-info"><span class="red"></span>Capture ID：</label></div><div class="col-md-8 clearfix"><span class="ci-label" style="line-height: 30px" ng-bind="$ctrl.real.com_id" ng-class="{\'accord-pre\':$ctrl.params.capId}"></span><p ng-cloak ng-show="$ctrl.params.capId" ng-class="{\'accord-next\':$ctrl.params.capId}" translate-once="Cp_wybs"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.capId=!$ctrl.params.capId" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.capId,\'glyphicon-question-sign\':!$ctrl.params.capId}"></span></div></div><div class="capture-property-name cap-form-tip clearfix remove-border"><div class="col-md-3"><label class="text-info"><span class="red">*</span>{{\'Cp_cpmc\' | translate}}</label></div><div class="col-md-8 clearfix"><span class="ci-label" style="line-height: 30px" ng-bind="$ctrl.property.captureName" ng-class="{\'accord-pre\':$ctrl.params.captureName}"></span><p ng-cloak ng-show="$ctrl.params.captureName" ng-class="{\'accord-next\':$ctrl.params.captureName}" translate-once="Cp_mcsm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.captureName=!$ctrl.params.captureName" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.captureName,\'glyphicon-question-sign\':!$ctrl.params.captureName}"></span></div></div><div class="panel panel-default col-md-5 capture-selt"><div class="panel-heading inner-paner" translate-once="Cp_wxlb"></div><div class="panel-body inner-paner"><select name="unselect_user" multiple="multiple" class="selt-ul" ng-model="$ctrl.data.unselModel"><option class="list-group-item" value="{{item}}" ng-repeat="item in $ctrl.data.unselList track by $index">{{item}}</option></select></div></div><div class="col-md-2 capture-selt"><div class="vertical-center"><button type="button" class="btn btn-default center-block" ng-bind="$ctrl.data.left"></button> <button type="button" class="btn btn-default center-block push_select" ng-bind="$ctrl.data.right"></button></div></div><div class="panel panel-default col-md-5 capture-selt"><div class="panel-heading inner-paner" translate-once="Cp_yxlb"></div><div class="panel-body inner-paner"><select name="select_user" multiple="multiple" class="selt-ul" ng-model="$ctrl.data.selModel"><option class="list-group-item" value="{{item}}" ng-repeat="item in $ctrl.data.selList track by $index">{{item}}</option></select></div></div><div class="clearfix"></div><div class="row rac-info-panel" ng-cloak="" ng-show="$ctrl.racs.length>0"><div class="col-md-12"><div class="panel panel-default"><div class="panel-heading" translate-once="Cp_ykrac"></div><div class="panel-body"><div class="rac-info-body"><table class="table table-bordered"><colgroup><col style="width: 10%"><col style="width: 10%"><col style="width: 20%"><col style="width: 15%"><col style="width: 10%"><col style="width: 25%"></colgroup><tr><th>Thread</th><th>Instance Name</th><th>IP</th><th>PORT</th><th>ENABLE</th><th>PATH</th></tr><tr ng-repeat="item in $ctrl.racs track by $index"><td ng-bind="item.thread"></td><td ng-bind="item.name"></td><td ng-bind="item.ip"></td><td ng-bind="item.port"></td><td ng-bind="item.enable"></td><td ng-bind="item.path"></td></tr></table></div></div></div></div></div><div class="clearfix"></div><uib-accordion close-others="oneAtATime"><div uib-accordion-group class="panel panel-default" style="margin-top:10px;margin-bottom: 0 !important" is-open="$ctrl.data.superConfig"><uib-accordion-heading>{{\'Cp_gjxx\' | translate}} <i class="pull-right glyphicon" ng-class="{\'glyphicon-chevron-up\': $ctrl.data.superConfig, \'glyphicon-chevron-down\': !$ctrl.data.superConfig}"></i></uib-accordion-heading><div class="panel-body"><table class="table table-condensed" ng-cloak="" ng-if="$ctrl.dbConf.nowDB===\'oracle\'"><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">Capture字符集：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.nls_lang" ng-class="{\'accord-pre\':$ctrl.params.zfj}">1</span><p ng-class="{\'accord-next\':$ctrl.params.zfj}" ng-show="$ctrl.params.zfj" ng-cloak="">Capture字符集说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.zfj=!$ctrl.params.zfj" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.zfj,\'glyphicon-question-sign\':!$ctrl.params.zfj}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">抓取日志间隔：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.capture_interval+$ctrl.data.second" ng-class="{\'accord-pre\':$ctrl.params.zqjg}">1</span><p ng-class="{\'accord-next\':$ctrl.params.zqjg}" ng-show="$ctrl.params.zqjg" ng-cloak="">抓取日志间隔说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.zqjg=!$ctrl.params.zqjg" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.zqjg,\'glyphicon-question-sign\':!$ctrl.params.zqjg}"></span></div></div></td></tr><tr><td colspan="3"><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Cp_xtjg"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.capture_heartbeat+$ctrl.data.second" ng-class="{\'accord-pre\':$ctrl.params.xtjg}">1</span><p ng-cloak ng-show="$ctrl.params.xtjg" ng-class="{\'accord-next\':$ctrl.params.xtjg}" translate-once="Cp_xtjgsm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.xtjg=!$ctrl.params.xtjg" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.xtjg,\'glyphicon-question-sign\':!$ctrl.params.xtjg}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Cp_fxcqjg"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.logminer_restart_time+$ctrl.data.second" ng-class="{\'accord-pre\':$ctrl.params.cqjg}">1</span><p ng-cloak ng-show="$ctrl.params.cqjg" ng-class="{\'accord-next\':$ctrl.params.cqjg}" translate-once="Cp_fxjgzn"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.cqjg=!$ctrl.params.cqjg" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cqjg,\'glyphicon-question-sign\':!$ctrl.params.cqjg}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">预计scn查找时间：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.scn_evaluate_time+$ctrl.data.second" ng-class="{\'accord-pre\':$ctrl.params.scnxx}">1</span><p ng-class="{\'accord-next\':$ctrl.params.scnxx}" ng-show="$ctrl.params.scnxx" ng-cloak="">预计scn查找时间的说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.scnxx=!$ctrl.params.scnxx" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.scnxx,\'glyphicon-question-sign\':!$ctrl.params.scnxx}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">回查scn上限：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.back_scn" ng-class="{\'accord-pre\':$ctrl.params.racscn}">1</span><p ng-class="{\'accord-next\':$ctrl.params.racscn}" ng-show="$ctrl.params.racscn" ng-cloak="">回查scn上限的说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.racscn=!$ctrl.params.racscn" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.racscn,\'glyphicon-question-sign\':!$ctrl.params.racscn}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Cp_swcdx"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.transaction_slot_size+\'K\'" ng-class="{\'accord-pre\':$ctrl.params.swc}">1</span><p ng-cloak ng-show="$ctrl.params.swc" ng-class="{\'accord-next\':$ctrl.params.swc}" translate-once="Cp_bzswc"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.swc=!$ctrl.params.swc" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.swc,\'glyphicon-question-sign\':!$ctrl.params.swc}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Cp_swczds"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.max_transaction_slot" ng-class="{\'accord-pre\':$ctrl.params.swczd}">1</span><p ng-cloak ng-show="$ctrl.params.swczd" ng-class="{\'accord-next\':$ctrl.params.swczd}" translate-once="Cp_bzswc"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.swczd=!$ctrl.params.swczd" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.swczd,\'glyphicon-question-sign\':!$ctrl.params.swczd}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Cp_ncdldx"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.internal_queue_size+\'M\'" ng-class="{\'accord-pre\':$ctrl.params.ncdl}">1</span><p ng-cloak ng-show="$ctrl.params.ncdl" ng-class="{\'accord-next\':$ctrl.params.ncdl}" translate-once="Cp_bzswc"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.ncdl=!$ctrl.params.ncdl" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ncdl,\'glyphicon-question-sign\':!$ctrl.params.ncdl}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Cp_bqzlb"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.lob_skip===\'yes\'?$ctrl.data.yes:$ctrl.data.no" ng-class="{\'accord-pre\':$ctrl.params.lobzd}">no</span><p ng-cloak ng-show="$ctrl.params.lobzd" ng-class="{\'accord-next\':$ctrl.params.lobzd}" translate-once="Cp_lbxxsm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.lobzd=!$ctrl.params.lobzd" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lobzd,\'glyphicon-question-sign\':!$ctrl.params.lobzd}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">抓取Grant DDL：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.capture_grant===\'yes\'?$ctrl.data.yes:$ctrl.data.no" ng-class="{\'accord-pre\':$ctrl.params.skipGrant}">no</span><p ng-class="{\'accord-next\':$ctrl.params.skipGrant}" ng-show="$ctrl.params.skipGrant" ng-cloak="">是否抓取grant DDL</p></div><div class="col-md-1"><span ng-click="$ctrl.params.skipGrant=!$ctrl.params.skipGrant" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.skipGrant,\'glyphicon-question-sign\':!$ctrl.params.skipGrant}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">全部列更新：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.full_column_update===\'yes\'?$ctrl.data.yes:$ctrl.data.no" ng-class="{\'accord-pre\':$ctrl.params.fullColUpdate}">no</span><p ng-class="{\'accord-next\':$ctrl.params.fullColUpdate}" ng-show="$ctrl.params.fullColUpdate" ng-cloak="">对于update delete语句是否设置全部列信息</p></div><div class="col-md-1"><span ng-click="$ctrl.params.fullColUpdate=!$ctrl.params.fullColUpdate" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.fullColUpdate,\'glyphicon-question-sign\':!$ctrl.params.fullColUpdate}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">使用在线字典：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.use_online_dict===\'yes\'?$ctrl.data.yes:$ctrl.data.no" ng-class="{\'accord-pre\':$ctrl.params.onLine}">no</span><p ng-class="{\'accord-next\':$ctrl.params.onLine}" ng-show="$ctrl.params.onLine" ng-cloak="">使用在线字典的说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.onLine=!$ctrl.params.onLine" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.onLine,\'glyphicon-question-sign\':!$ctrl.params.onLine}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">并发：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.concurrent===\'yes\'?$ctrl.data.yes:$ctrl.data.no" ng-class="{\'accord-pre\':$ctrl.params.bingf}">no</span><p ng-class="{\'accord-next\':$ctrl.params.bingf}" ng-show="$ctrl.params.bingf" ng-cloak="">并发的说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.bingf=!$ctrl.params.bingf" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.bingf,\'glyphicon-question-sign\':!$ctrl.params.bingf}"></span></div></div></td></tr><tr ng-cloak="" ng-show="$ctrl.property.concurrent===\'yes\'"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">并发个数：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.parallel" ng-class="{\'accord-pre\':$ctrl.params.bfgs}">1</span><p ng-class="{\'accord-next\':$ctrl.params.bfgs}" ng-show="$ctrl.params.bfgs" ng-cloak="">并发个数的说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.bfgs=!$ctrl.params.bfgs" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.bfgs,\'glyphicon-question-sign\':!$ctrl.params.bfgs}"></span></div></div></td></tr></table><table class="table table-condensed" ng-cloak="" ng-if="$ctrl.dbConf.nowDB===\'sqlserver\'"><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">抓取日志间隔：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.capture_interval+$ctrl.data.second" ng-class="{\'accord-pre\':$ctrl.params.zqjg}">1</span><p ng-class="{\'accord-next\':$ctrl.params.zqjg}" ng-show="$ctrl.params.zqjg" ng-cloak="">抓取日志间隔说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.zqjg=!$ctrl.params.zqjg" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.zqjg,\'glyphicon-question-sign\':!$ctrl.params.zqjg}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">Checkpoint间隔：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.checkpoint_interval+$ctrl.data.hour" ng-class="{\'accord-pre\':$ctrl.params.cpjg}">1</span><p ng-class="{\'accord-next\':$ctrl.params.cpjg}" ng-show="$ctrl.params.cpjg" ng-cloak="">Checkpoint间隔说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.cpjg=!$ctrl.params.cpjg" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cpjg,\'glyphicon-question-sign\':!$ctrl.params.cpjg}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">Snapshot间隔：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.snapshot_interval+$ctrl.data.hour" ng-class="{\'accord-pre\':$ctrl.params.ssjg}">1</span><p ng-class="{\'accord-next\':$ctrl.params.ssjg}" ng-show="$ctrl.params.ssjg" ng-cloak="">Snapshot间隔说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.ssjg=!$ctrl.params.ssjg" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ssjg,\'glyphicon-question-sign\':!$ctrl.params.ssjg}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">fetch重连数据库间隔：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.fetch_delay_reconnect+$ctrl.data.second" ng-class="{\'accord-pre\':$ctrl.params.fccl}">1</span><p ng-class="{\'accord-next\':$ctrl.params.fccl}" ng-show="$ctrl.params.fccl" ng-cloak="">fetch重连数据库间隔说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.fccl=!$ctrl.params.fccl" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.fccl,\'glyphicon-question-sign\':!$ctrl.params.fccl}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">补充日志后全表同步：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.sync_when_extend_log===\'yes\'?$ctrl.data.yes:$ctrl.data.no" ng-class="{\'accord-pre\':$ctrl.params.bcrztb}">1</span><p ng-class="{\'accord-next\':$ctrl.params.bcrztb}" ng-show="$ctrl.params.bcrztb" ng-cloak="">补充日志后全表同步的说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.bcrztb=!$ctrl.params.bcrztb" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.bcrztb,\'glyphicon-question-sign\':!$ctrl.params.bcrztb}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">createTable后加补充日志：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.extend_log_when_create===\'yes\'?$ctrl.data.yes:$ctrl.data.no" ng-class="{\'accord-pre\':$ctrl.params.ctbcrz}">1</span><p ng-class="{\'accord-next\':$ctrl.params.ctbcrz}" ng-show="$ctrl.params.ctbcrz" ng-cloak="">createTable后加补充日志的说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.ctbcrz=!$ctrl.params.ctbcrz" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ctbcrz,\'glyphicon-question-sign\':!$ctrl.params.ctbcrz}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">抓取loader装载数据：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.cap_loader_data===\'yes\'?$ctrl.data.yes:$ctrl.data.no" ng-class="{\'accord-pre\':$ctrl.params.zqlzz}">1</span><p ng-class="{\'accord-next\':$ctrl.params.zqlzz}" ng-show="$ctrl.params.zqlzz" ng-cloak="">抓取loader装载数据的说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.zqlzz=!$ctrl.params.zqlzz" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.zqlzz,\'glyphicon-question-sign\':!$ctrl.params.zqlzz}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">忽略未更新字段：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.full_column_update===\'yes\'?$ctrl.data.yes:$ctrl.data.no" ng-class="{\'accord-pre\':$ctrl.params.hlwgx}">1</span><p ng-class="{\'accord-next\':$ctrl.params.hlwgx}" ng-show="$ctrl.params.hlwgx" ng-cloak="">忽略未更新字段的说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.hlwgx=!$ctrl.params.hlwgx" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.hlwgx,\'glyphicon-question-sign\':!$ctrl.params.hlwgx}"></span></div></div></td></tr></table><table class="table table-condensed" ng-cloak="" ng-if="$ctrl.dbConf.nowDB===\'db2\'"><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">抓取日志间隔：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.capture_interval+$ctrl.data.second" ng-class="{\'accord-pre\':$ctrl.params.zqjg}">1</span><p ng-class="{\'accord-next\':$ctrl.params.zqjg}" ng-show="$ctrl.params.zqjg" ng-cloak="">抓取日志间隔说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.zqjg=!$ctrl.params.zqjg" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.zqjg,\'glyphicon-question-sign\':!$ctrl.params.zqjg}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Cp_swcdx"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.transaction_slot_size" ng-class="{\'accord-pre\':$ctrl.params.swc}">1</span><p ng-cloak ng-show="$ctrl.params.swc" ng-class="{\'accord-next\':$ctrl.params.swc}" translate-once="Cp_bzswc"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.swc=!$ctrl.params.swc" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.swc,\'glyphicon-question-sign\':!$ctrl.params.swc}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Cp_swczds"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.max_transaction_slot" ng-class="{\'accord-pre\':$ctrl.params.swczd}">1</span><p ng-cloak ng-show="$ctrl.params.swczd" ng-class="{\'accord-next\':$ctrl.params.swczd}">事务槽最大数的说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.swczd=!$ctrl.params.swczd" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.swczd,\'glyphicon-question-sign\':!$ctrl.params.swczd}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">日志槽大小：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.log_slot_size" ng-class="{\'accord-pre\':$ctrl.params.rzcdx}">1</span><p ng-class="{\'accord-next\':$ctrl.params.rzcdx}" ng-show="$ctrl.params.rzcdx" ng-cloak="">每个读取日志槽的大小</p></div><div class="col-md-1"><span ng-click="$ctrl.params.rzcdx=!$ctrl.params.rzcdx" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.rzcdx,\'glyphicon-question-sign\':!$ctrl.params.rzcdx}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">最大日志槽个数：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.max_log_slot" ng-class="{\'accord-pre\':$ctrl.params.mlsgs}">1</span><p ng-class="{\'accord-next\':$ctrl.params.mlsgs}" ng-show="$ctrl.params.mlsgs" ng-cloak="">最大日志槽的个数</p></div><div class="col-md-1"><span ng-click="$ctrl.params.mlsgs=!$ctrl.params.mlsgs" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.mlsgs,\'glyphicon-question-sign\':!$ctrl.params.mlsgs}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">update列命中率：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.update_ratio" ng-class="{\'accord-pre\':$ctrl.params.upmzl}">1</span><p ng-class="{\'accord-next\':$ctrl.params.upmzl}" ng-show="$ctrl.params.upmzl" ng-cloak="">update被改变的列占所有列的最小比例</p></div><div class="col-md-1"><span ng-click="$ctrl.params.upmzl=!$ctrl.params.upmzl" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.upmzl,\'glyphicon-question-sign\':!$ctrl.params.upmzl}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">抓取loader装载数据：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.cap_loader_data==\'yes\'?$ctrl.data.yes:$ctrl.data.no" ng-class="{\'accord-pre\':$ctrl.params.zqlzz}">1</span><p ng-class="{\'accord-next\':$ctrl.params.zqlzz}" ng-show="$ctrl.params.zqlzz" ng-cloak="">抓取loader装载数据的说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.zqlzz=!$ctrl.params.zqlzz" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.zqlzz,\'glyphicon-question-sign\':!$ctrl.params.zqlzz}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">只读取日志：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.readlog_only" ng-class="{\'accord-pre\':$ctrl.params.zdqrz}">1</span><p ng-class="{\'accord-next\':$ctrl.params.zdqrz}" ng-show="$ctrl.params.zdqrz" ng-cloak="">只进行日志的读取，不进行日志的分析</p></div><div class="col-md-1"><span ng-click="$ctrl.params.zdqrz=!$ctrl.params.zdqrz" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.zdqrz,\'glyphicon-question-sign\':!$ctrl.params.zdqrz}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">抓取不带cdc属性的建表语句：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.db2_set_cdc" ng-class="{\'accord-pre\':$ctrl.params.bdcdc}">1</span><p ng-class="{\'accord-next\':$ctrl.params.bdcdc}" ng-show="$ctrl.params.bdcdc" ng-cloak="">可以抓取不带data capture changes属性的create table语句，并将其设置成data capture changes属性</p></div><div class="col-md-1"><span ng-click="$ctrl.params.bdcdc=!$ctrl.params.bdcdc" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.bdcdc,\'glyphicon-question-sign\':!$ctrl.params.bdcdc}"></span></div></div></td></tr></table><table class="table table-condensed" ng-cloak="" ng-if="$ctrl.dbConf.nowDB!==\'oracle\' && $ctrl.dbConf.nowDB!==\'sqlserver\' && $ctrl.dbConf.nowDB !==\'db2\'"><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">抓取日志间隔：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.capture_interval+$ctrl.data.second" ng-class="{\'accord-pre\':$ctrl.params.zqjg}">1</span><p ng-class="{\'accord-next\':$ctrl.params.zqjg}" ng-show="$ctrl.params.zqjg" ng-cloak="">抓取日志间隔说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.zqjg=!$ctrl.params.zqjg" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.zqjg,\'glyphicon-question-sign\':!$ctrl.params.zqjg}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Cp_swcdx"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.transaction_slot_size+\'K\'" ng-class="{\'accord-pre\':$ctrl.params.swc}">1</span><p ng-cloak ng-show="$ctrl.params.swc" ng-class="{\'accord-next\':$ctrl.params.swc}" translate-once="Cp_bzswc"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.swc=!$ctrl.params.swc" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.swc,\'glyphicon-question-sign\':!$ctrl.params.swc}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">抓取loader装载数据：</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.cap_loader_data==\'yes\'?$ctrl.data.yes:$ctrl.data.no" ng-class="{\'accord-pre\':$ctrl.params.zqlzz}">1</span><p ng-class="{\'accord-next\':$ctrl.params.zqlzz}" ng-show="$ctrl.params.zqlzz" ng-cloak="">抓取loader装载数据的说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.zqlzz=!$ctrl.params.zqlzz" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.zqlzz,\'glyphicon-question-sign\':!$ctrl.params.zqlzz}"></span></div></div></td></tr></table></div></div></uib-accordion></div></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("console_view/captureCon.component.html",'<div class="main-console inspector"><div class="inspector-toggle"><i class="fa fa-bars drag-console" style="visibility: hidden"></i></div><div class="inspector-body container-fluid"><div class="tabs-container"><div class="tab-content"><div id="tab-1" class="tab-pane" ng-cloak="" ng-class="{\'active\':$ctrl.cons.currentTab===\'tab1\'}"><div class="panel panel-default"><div class="row"><div class="panel-heading" translate-once="Cs_zjyxzt"></div><div class="panel-body"><div class="col-md-4"><div class="console-cap cap-first-info"><h4 translate-once="Cs_jcxx"></h4><table class="table"><tr><th translate-once="Cs_dqjx"></th><th translate-once="Cs_jcmc"></th><th translate-once="Cs_jcid"></th><th translate-once="Cs_sjk"></th><th translate-once="Cs_zt"></th></tr><tr ng-repeat="item in $ctrl.data.servers track by $index"><td><input type="radio" ng-model="$ctrl.data.currentId" ng-click="$ctrl.getDetail(item)" ng-value="item.pid"></td><td ng-bind="item.program_name">0</td><td ng-bind="item.pid">0</td><td ng-bind="item.db_name">0</td><td ng-bind="item.status">0</td></tr><tr ng-show="$ctrl.data.servers.length===0"><td colspan="5" class="con-text-center" align="center">No Data!</td></tr></table></div><div class="console-cap cap-first-info"><h4 translate-once="Cs_dkxx"></h4><table class="table"><tr><td translate-once="Cs_zxwwc"></td><td><input type="text" readonly="readonly" ng-model="$ctrl.data.start_scn"></td></tr><tr><td translate-once="Cs_zdscn"></td><td><input type="text" readonly="readonly" ng-model="$ctrl.data.complete_scn"></td></tr><tr><td translate-once="Cs_zdwcsw"></td><td><input type="text" readonly="readonly" ng-model="$ctrl.data.complete_xid"></td></tr></table></div></div><div class="col-md-8"><div class="console-cap-info"><uib-tabset active="active"><uib-tab index="0" heading="{{\'Cs_ssrz\' | translate}}"><div class="cap-wrong"><div class="cap-wrong-bar clearfix"><div class="cap-log-title"><p translate-once="Cs_rzmc"></p><span ng-bind="$ctrl.data.fileName"></span></div><div class="cap-log-option"><select ng-model="$ctrl.data.freshWay" ng-change="$ctrl.data.isFresh=!$ctrl.data.isFresh"><option value="1" translate-once="Cs_zdsx"></option><option value="2" translate-once="Cs_sdsx"></option></select><button class="btn btn-primary" ng-class="{\'disabled\':!$ctrl.data.isFresh}" ng-click="$ctrl.getNewLog()" translate-once="FRESH"></button></div></div><div class="cap-log-table"><textarea readonly="readonly" ng-bind="$ctrl.data.logs" scroll-glue="true"></textarea></div></div></uib-tab><uib-tab index="1" heading="{{\'Cs_cwxx\' | translate}}"><div class="cap-wrong"><div class="cap-wrong-bar clearfix"><input type="text" class="search-box" ng-model="$ctrl.errFilter" translate-once-placeholder="SEARCH"><i class="fa fa-search search-icon"></i></div><table class="table" style="margin-bottom: 0"><colgroup><col style="width: 10%"><col style="width: 20%"><col style="width: 10%"><col style="width: 60%"></colgroup><tr><th></th><th translate-once="Cs_sj"></th><th>ID</th><th translate-once="Cs_cwxq"></th></tr></table><div style="height: 245px;overflow: auto;padding: 0;margin: 0"><table class="table"><colgroup><col style="width: 10%;word-break: break-all"><col style="width: 20%;word-break: break-all"><col style="width: 10%;word-break: break-all"><col style="width: 60%;word-break: break-all"></colgroup><tr ng-repeat="item in ($ctrl.data.errors | filter:{error_message:$ctrl.errFilter}) track by $index"><td><i class="fa fa-warning yellow"></i></td><td ng-bind="item.error_time"></td><td ng-bind="item.error_num"></td><td ng-bind="item.error_message"></td></tr><tr ng-show="$ctrl.data.errors.length===0"><td colspan="4" align="center" class="con-text-center">No Data!</td></tr></table></div></div></uib-tab></uib-tabset></div></div></div></div></div></div><div id="tab-2" class="tab-pane" ng-cloak="" ng-class="{\'active\':$ctrl.cons.currentTab===\'tab2\'}"><div class="panel panel-default"><div class="panel-heading" translate-once="Cs_lltj"></div><div class="panel-body"><div class="row"><div class="col-md-12"><div id="Capture_chart_id"></div></div></div></div></div></div></div></div><ul class="nav nav-tabs"><li ng-class="{\'active\':$ctrl.cons.currentTab===\'tab1\'}"><a class="custom-tab" href="javascript:void(0);" ng-click="$ctrl.showTab(1)" aria-expanded="true" translate-once="Cs_yxzt"></a></li><li ng-class="{\'active\':$ctrl.cons.currentTab===\'tab2\'}"><a class="custom-tab" href="javascript:void(0);" ng-click="$ctrl.showTab(2)" aria-expanded="false" translate-once="Cs_xntj"></a></li></ul></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){
  l.put("console_view/loaderCon.component.html",'<div class="main-console inspector"><div class="inspector-toggle"><i class="fa fa-bars drag-console" style="visibility: hidden"></i></div><div class="inspector-body container-fluid"><div class="tabs-container"><div class="tab-content"><div id="tab-1" class="tab-pane" ng-cloak="" ng-class="{\'active\':$ctrl.cons.currentTab===\'tab1\'}"><div class="panel panel-default"><div class="row"><div class="panel-heading" translate-once="Cs_ldyxzt"></div><div class="panel-body"><div class="col-md-4"><div class="console-cap cap-first-info"><h4 translate-once="Cs_jcxx"></h4><table class="table"><tr><th translate-once="Cs_dqjx"></th><th translate-once="Cs_jcmc"></th><th translate-once="Cs_jcid"></th><th translate-once="Cs_sjk"></th><th translate-once="Cs_zt"></th></tr><tr ng-repeat="item in $ctrl.data.servers track by $index"><td><input type="radio" ng-model="$ctrl.data.currentId" ng-click="$ctrl.getDetail(item)" ng-value="item.pid"></td><td ng-bind="item.program_name">0</td><td ng-bind="item.pid">0</td><td ng-bind="item.db_name">0</td><td ng-bind="item.status">0</td></tr><tr ng-show="$ctrl.data.servers.length===0"><td colspan="5" class="con-text-center" align="center">No Data!</td></tr></table></div><div class="console-cap cap-first-info"><h4 translate-once="Cs_dkxx"></h4><table class="table"><tr><td translate-once="Cs_zdwcscn"></td><td><input type="text" readonly="readonly" ng-model="$ctrl.data.complete_scn"></td></tr><tr><td translate-once="Cs_zdwcsw"></td><td><input type="text" readonly="readonly" ng-model="$ctrl.data.complete_xid"></td></tr><tr><td colspan="2"><span style="visibility: hidden"><input type="text"></span></td></tr></table></div></div><div class="col-md-8"><div class="console-cap-info"><uib-tabset active="active"><uib-tab index="0" heading="{{\'Cs_ssrz\' | translate}}"><div class="cap-wrong"><div class="cap-wrong-bar clearfix"><div class="cap-log-title"><p translate-once="Cs_rzmc"></p><span ng-bind="$ctrl.data.fileName"></span></div><div class="cap-log-option"><select ng-model="$ctrl.data.freshWay" ng-change="$ctrl.data.isFresh=!$ctrl.data.isFresh"><option value="1" translate-once="Cs_zdsx"></option><option value="2" translate-once="Cs_sdsx"></option></select><button class="btn btn-primary" ng-class="{\'disabled\':!$ctrl.data.isFresh}" ng-click="$ctrl.getNewLog()" translate-once="FRESH"></button></div></div><div class="cap-log-table"><textarea readonly="readonly" ng-bind="$ctrl.data.logs" scroll-glue></textarea></div></div></uib-tab><uib-tab index="1" heading="{{\'Cs_cwxx\' | translate}}"><div class="cap-wrong"><div class="cap-wrong-bar clearfix"><input type="text" class="search-box" ng-model="$ctrl.filterErr" translate-once-placeholder="SEARCH" maxlength="60"><i class="fa fa-search search-icon"></i></div><div class="loader-err-con-list"><table class="table"><tr><th></th><th translate-once="Cs_sj"></th><th>ID</th><th translate-once="Cs_cwxq"></th></tr><tr ng-repeat="item in ($ctrl.data.errors | filter:{error_message:$ctrl.filterErr}) track by $index"><td><i class="fa fa-warning yellow"></i></td><td ng-bind="item.error_time">2016-09-19 16:40:47</td><td ng-bind="item.error_num">22</td><td ng-bind="item.error_message"></td></tr><tr ng-show="$ctrl.data.errors.length===0"><td colspan="4" class="con-text-center">No Data!</td></tr></table></div></div></uib-tab></uib-tabset></div></div></div></div></div></div><div id="tab-2" class="tab-pane" ng-cloak="" ng-class="{\'active\':$ctrl.cons.currentTab===\'tab2\'}"><div class="panel panel-default"><div class="panel-heading" translate-once="Cs_xntj"></div><div class="panel-body"><div class="row"><div class="col-md-12"><div id="Capture_chart_id"></div></div></div></div></div></div><div id="tab-3" class="tab-pane" ng-cloak="" ng-class="{\'active\':$ctrl.cons.currentTab===\'tab3\'}"><div class="panel panel-default"><div class="row"><div class="panel-heading" translate-once="Cs_ldcw"></div><div class="panel-body"><div class="col-md-12"><div class="console-loader"><uib-tabset active="loader_err.active"><uib-tab index="0" heading="{{\'Cs_lscw\' | translate}}" select="$ctrl.showHistoryList()"><div ng-class="{\'loader-detail\':$ctrl.pd_info}"><div class="console-loader-area"><div class="console-loader-bar"><div class="pull-left"><label class="cap-label" ng-class="{\'unable\':$ctrl.is_cur}" translate-once="Cs_sjfw"></label><input type="text" ng-disabled="$ctrl.is_cur" ng-model="$ctrl.loader_err.start_time" id="datetimepicker-dark-start" maxlength="40"> --<input type="text" ng-disabled="$ctrl.is_cur" ng-model="$ctrl.loader_err.end_time" id="datetimepicker-dark-end" maxlength="40"><label class="cap-label" ng-class="{\'unable\':$ctrl.is_cur}" translate-once="Cs_yh"></label><input type="text" ng-disabled="$ctrl.is_cur" ng-model="$ctrl.loader_err.uname" maxlength="20"><label class="cap-label" ng-class="{\'unable\':$ctrl.is_cur}" translate-once="Cs_dx"></label><input type="text" ng-disabled="$ctrl.is_cur" ng-model="$ctrl.loader_err.uobject" maxlength="20"><label class="cap-label" ng-class="{\'unable\':$ctrl.is_cur}" translate-once="Cs_clfs"></label><select ng-model="$ctrl.loader_err.handle" ng-disabled="$ctrl.is_cur"><option></option><option>User Skip Record</option><option>Auto Skip Record</option><option>Fix Error Skip Record</option><option>Unknown Error Skip Record</option><option>User Fix Record</option><option>Auto Fix Record</option><option>User Exclude Table</option><option>Auto Exclude Table</option><option>Fix Error Exclude Table</option><option>User Force Update Record</option><option>Unknown Action</option></select><label class="cap-label" ng-class="{\'unable\':$ctrl.is_cur}" translate-once="Cs_xsydjl"></label><input type="checkbox" ng-model="$ctrl.loader_err.has_read" ng-disabled="$ctrl.is_cur"></div><div class="pull-right"><button class="btn btn-default" ng-click="$ctrl.searchErrList()" translate-once="SEARCH"></button> <button class="btn btn-default" ng-click="$ctrl.showCurrentErr()" translate-once="Cs_dqcw"></button> <button class="btn btn-default" ng-click="$ctrl.resetErrParams()" translate-once="RESET" style="margin-left: 5px"></button></div><div class="clearfix"></div></div><div class="console-loader-pan"><table class="table"><colgroup><col style="width:5%"><col style="width:20%"><col style="width:10%"><col style="width:20%"><col style="width:10%"><col style="width:20%"><col style="width:10%"><col style="width:5%"></colgroup><tr><th><input type="checkbox" class="ck-box" ng-model="$ctrl.pd_ck_all" ng-change="$ctrl.ckAllChange()" title="{{\'Ld_qx\' | translate}}"></th><th translate-once="Cs_sj"></th><th translate-once="UNAME"></th><th translate-once="OBJECT"></th><th translate-once="OPERATE"></th><th translate-once="Cs_cwlx"></th><th translate-once="Cs_clfs1"></th><th translate-once="DETAIL"></th></tr></table><div class="loader-list" id="loader-con-list-id"><table class="table"><colgroup><col style="width:5%"><col style="width:20%"><col style="width:10%"><col style="width:20%"><col style="width:10%"><col style="width:20%"><col style="width:10%"><col style="width:5%"></colgroup><tr ng-repeat="item in $ctrl.loader_err.his_err_list track by $index"><td><input type="checkbox" name="xz" class="mainCbList" ng-model="item.flag" ng-change="$ctrl.itemCkChange(item)"></td><td ng-bind="item.time"></td><td ng-bind="item.owner"></td><td ng-bind="item.object"></td><td ng-bind="item.operation"></td><td ng-bind="item.error_type"></td><td ng-bind="item.action"></td><td><a href="javascript:void(0);" class="btn" ng-click="$ctrl.showHisErrDetail(item.detailed_message)" translate-once="VIEW"></a></td></tr><tr ng-cloak="" ng-show="$ctrl.loader_err.his_err_list.length===0 && $ctrl.loader_err.loading===false"><td colspan="8" class="con-text-center" ng-bind="$ctrl.empty_err_tip">No Data!</td></tr><tr ng-cloak="" ng-show="$ctrl.loader_err.loading===true"><td colspan="8" class="con-text-center"><img src="/img/15.gif" border="0"></td></tr></table></div></div><div class="cap-foot-bar clearfix"><div class="pull-left"><button class="btn box" ng-hide="$ctrl.is_cur" ng-click="$ctrl.markReaded()" translate-once="Cs_bjyd"></button> <button class="btn box" ng-hide="$ctrl.is_cur" ng-click="$ctrl.outputExcel()" translate-once="Cs_dcexc"></button> <button class="btn box" ng-hide="$ctrl.is_cur" ng-click="$ctrl.clearErrLogs()" translate-once="Cs_qkcwrz"></button> <button class="btn box" ng-cloak="" ng-show="$ctrl.is_cur && !$ctrl.is_cur_run" ng-click="$ctrl.handleErr(\'auto_fix_data\')" translate-once="Cs_xfsj"></button> <button class="btn box" ng-cloak="" ng-show="$ctrl.is_cur && !$ctrl.is_cur_run" ng-click="$ctrl.handleErr(\'skip_error\')" translate-once="Cs_tgcw"></button> <button class="btn box" ng-cloak="" ng-show="$ctrl.is_cur && !$ctrl.is_cur_run" ng-click="$ctrl.handleErr(\'force_update\')" translate-once="Cs_qzxg"></button> <button class="btn box" ng-cloak="" ng-show="$ctrl.is_cur && !$ctrl.is_cur_run" ng-click="$ctrl.handleErr(\'retry_error\')" translate-once="RETRY"></button> <button class="btn box" ng-cloak="" ng-show="$ctrl.is_cur && !$ctrl.is_cur_run" ng-click="$ctrl.handleErr(\'refresh\')" translate-once="FRESH"></button></div><div class="pull-right"><div page pre="$ctrl.pagePre()" next="$ctrl.pageNext()" tiao="$ctrl.tiao()" tt="$ctrl.ptotal" cnum="$ctrl.pnum" iscur="$ctrl.is_cur" snum="$ctrl.fy.snum"></div></div></div></div><div class="loader-detail-right"><div class="loader-detail-info"><div class="detail-info-head clearfix"><div class="pull-right"><a class="btn" href="javascript:void(0);" ng-click="$ctrl.closeDetailPanel()" translate-once="CLOSE"></a></div></div><div class="detail-info-body"><textarea ng-bind="$ctrl.err_detail"></textarea></div></div></div></div><div class="clearfix"></div></uib-tab><uib-tab index="1" heading="{{\'Cs_cwtj\' | translate}}" select="$ctrl.showErrTj()"><loader-err on-update="$ctrl.showErrTj()" err-list="$ctrl.loader_err_stat.list"></loader-err></uib-tab></uib-tabset></div></div></div></div></div></div><div id="tab-4" class="tab-pane" ng-cloak="" ng-class="{\'active\':$ctrl.cons.currentTab===\'tab4\'}"><div class="panel panel-default"><div class="row"><div class="panel-heading">排除表</div><div class="panel-body"><div class="col-md-12"><div class="console-loader"><loader-pcb is-show="$ctrl.isShow"></loader-pcb></div></div></div></div></div></div></div></div><ul class="nav nav-tabs"><li ng-class="{\'active\':$ctrl.cons.currentTab===\'tab1\'}"><a class="custom-tab" href="javascript:void(0);" ng-click="$ctrl.showTab(1)" aria-expanded="true" translate-once="Cs_yxzt"></a></li><li ng-class="{\'active\':$ctrl.cons.currentTab===\'tab2\'}"><a class="custom-tab" href="javascript:void(0);" ng-click="$ctrl.showTab(2)" aria-expanded="false" translate-once="Cs_xntj"></a></li><li ng-class="{\'active\':$ctrl.cons.currentTab===\'tab3\'}"><a class="custom-tab" href="javascript:void(0);" ng-click="$ctrl.showTab(3)" aria-expanded="false" translate-once="Cs_lscw"></a></li><li ng-class="{\'active\':$ctrl.cons.currentTab===\'tab4\'}"><a class="custom-tab" href="javascript:void(0);" ng-click="$ctrl.showTab(4)" aria-expanded="false">排除表</a></li></ul></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("console_view/loaderErrStatis.component.html",'<div class="console-loader-area"><div class="console-loader-bar"><div class="pull-right"><button class="btn btn-default" ng-click="$ctrl.getErrStatList()" translate-once="FRESH"></button></div><div class="clearfix"></div></div><div class="console-loader-pan"><table class="table"><colgroup><col style="width:5%"><col style="width:20%"><col style="width:25%"><col style="width:25%"><col style="width:25%"></colgroup><tr><th><input type="checkbox" ng-model="$ctrl.loader_err_stat.ckAll" ng-change="$ctrl.ckErrAllChange()" title="{{\'Ld_qx\' | translate}}"></th><th translate-once="UNAME"></th><th translate-once="Cs_bm"></th><th translate-once="Cs_cwzts"></th><th translate-once="Cs_hlts"></th></tr></table><div class="loader-list" id="loader-err-stat-id"><table class="table"><colgroup><col style="width:5%"><col style="width:20%"><col style="width:25%"><col style="width:25%"><col style="width:25%"></colgroup><tr ng-repeat="item in $ctrl.errList track by $index"><td><input type="checkbox" class="mainStatList" ng-model="item.checked" ng-change="$ctrl.ckErrItemChange(item)"></td><td ng-bind="item.owner"></td><td ng-bind="item.table_name"></td><td ng-bind="item.error_allnum"></td><td ng-bind="item.error_skipnum"></td></tr><tr ng-cloak="" ng-show="$ctrl.loader_err_stat.loading"><td class="con-text-center" colspan="5"><img src="../img/15.gif"></td></tr><tr ng-cloak="" ng-show="!$ctrl.loader_err_stat.loading && $ctrl.errList.length===0"><td class="con-text-center" colspan="5">No Data!</td></tr></table></div></div><div class="cap-foot-bar clearfix"><div class="pull-left"></div></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("console_view/loaderPcb.component.html",'<div class="console-loader-area" style="border-top: none"><div class="console-loader-pan"><table class="table"><colgroup><col style="width:5%"><col style="width:20%"><col style="width:25%"><col style="width:15%"><col style="width:35%"></colgroup><tr><th><input type="checkbox" ng-model="$ctrl.ckAll" ng-change="$ctrl.ckAllChange()" title="全选"></th><th>用户名</th><th>表名</th><th>排除时间</th><th>排除原因</th></tr></table><div class="loader-list" id="loader-err-stat" style="height: 250px"><table class="table"><colgroup><col style="width:5%"><col style="width:20%"><col style="width:25%"><col style="width:15%"><col style="width:35%"></colgroup><tr ng-repeat="item in $ctrl.pcbList track by $index"><td><input type="checkbox" class="mainStatList" ng-model="item.checked" ng-change="$ctrl.ckItemChange(item)"></td><td ng-bind="item.owner"></td><td ng-bind="item.table"></td><td ng-bind="item.time"></td><td ng-bind="item.reason"></td></tr><tr ng-cloak="" ng-show="$ctrl.loading"><td class="con-text-center" colspan="5"><img src="../img/15.gif"></td></tr><tr ng-cloak="" ng-show="!$ctrl.loading && $ctrl.pcbList.length===0"><td class="con-text-center" colspan="5">No Data!</td></tr></table></div></div><div class="cap-foot-bar"><div class="pull-left"><button class="btn box" ng-click="$ctrl.deleteRecords()" style="margin-bottom: 4px">删除</button></div><div class="pull-right"><div page pre="$ctrl.pagePre()" next="$ctrl.pageNext()" tiao="$ctrl.tiao()" tt="$ctrl.ptotal" cnum="$ctrl.pnum" snum="$ctrl.fy.snum"></div></div><div class="clearfix"></div></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("console_view/queueCon.component.html",'<div class="main-console inspector"><div class="inspector-toggle"><i class="fa fa-bars drag-console" style="visibility: hidden"></i></div><div class="inspector-body container-fluid"><div class="tabs-container"><div class="tab-content"><div id="tab-1" class="tab-pane" ng-cloak="" ng-class="{\'active\':$ctrl.cons.currentTab===\'tab1\'}"><div class="panel panel-default"><div class="row"><div class="panel-heading" translate-once="Cs_dlzjzt"></div><div class="panel-body"><div class="col-md-5"><div class="console-cap-info"><div class="console-queue-info"><div class="cap-wrong-bar"><span class="bar-name" translate-once="Cs_dlxx"></span></div><table class="table"><tr><td translate-once="Cs_dlmc"></td><td><span class="ci-label" ng-bind="$ctrl.info.queue_name">11</span></td></tr><tr><td translate-once="Cs_dlbscn"></td><td><span class="ci-label" ng-bind="$ctrl.info.start_scn">11</span></td></tr><tr><td translate-once="Cs_dlescn"></td><td><span class="ci-label" ng-bind="$ctrl.info.last_scn">11</span></td></tr><tr><td translate-once="Cs_zxxlh"></td><td><span class="ci-label" ng-bind="$ctrl.info.start_fno">11</span></td></tr><tr><td translate-once="Cs_zdxlh"></td><td><span class="ci-label" ng-bind="$ctrl.info.last_fno">11</span></td></tr><tr><td translate-once="Cs_dlbsj"></td><td><span class="ci-label" ng-bind="$ctrl.info.start_sct">11</span></td></tr><tr><td translate-once="Cs_dlesj"></td><td><span class="ci-label" ng-bind="$ctrl.info.last_sct">11</span></td></tr></table></div></div></div><div class="col-md-7"><div class="console-cap-info"><div class="cap-wrong-info"><div class="cap-wrong-bar clearfix"><span class="bar-title" translate-once="Cs_dlwjlb"></span> <input type="text" class="search-box" ng-model="$ctrl.fileNameFilter" translate-once-placeholder="SEARCH"><i class="fa fa-search search-queue-icon"></i></div><table class="table"><tr><th translate-once="Cs_dlwj"></th><th translate-once="Cs_dax"></th><th translate-once="Cs_csrq"></th><th translate-once="Cs_zxsl"></th><th translate-once="Cs_zdsl"></th><th translate-once="Cs_zxsj"></th><th translate-once="Cs_zdsj"></th></tr><tr ng-repeat="item in ($ctrl.fileList | filter:{file_name:$ctrl.fileNameFilter}) track by $index"><td ng-bind="item.file_name">/home/r7/data/oracle/t1</td><td ng-bind="item.size">20000bytes</td><td ng-bind="item.create_time">2016.9.27</td><td ng-bind="item.start_scn">60000</td><td ng-bind="item.last_scn">90000</td><td ng-bind="item.start_sct">2016-9-27 12:12:00</td><td ng-bind="item.last_sct">2016-10-27 12:12:00</td></tr><tr ng-show="$ctrl.fileList.length===0"><td colspan="7" class="con-text-center">No Data!</td></tr></table></div></div></div></div></div></div></div><div id="tab-2" class="tab-pane" ng-cloak="" ng-class="{\'active\':$ctrl.cons.currentTab===\'tab2\'}"><div class="panel panel-default"><div class="row"><div class="panel-heading" translate-once="Cs_dltj"></div><div class="panel-body"><div class="col-md-12"><div class="console-loader"><div class="console-queue-left-area"><div class="loader-detail-info"><div class="detail-info-head"><a class="btn btn-primary" ng-click="$ctrl.selectAllData()" translate-once="Cs_qbsj"></a></div><div class="detail-info-body"><div id="queue_tj_tree" class="ztree"></div></div></div></div><div class="console-queue-right-area"><div class="console-queue-tj-bar"><div class="pull-left"><label class="cap-label" translate-once="Cs_zsfs"></label><select ng-model="$ctrl.tj.c_type" ng-change="$ctrl.changeTj()"><option value="bar" translate-once="Cs_zhu"></option><option value="line" translate-once="Cs_zhe"></option><option value="pie" translate-once="Cs_bing"></option></select><label class="cap-label" translate-once="Cs_sjfw"></label><input type="text" ng-model="$ctrl.tj.start_time" id="dl-dark-start"> --<input type="text" ng-model="$ctrl.tj.end_time" id="dl-dark-end"> <button class="btn btn-default" ng-click="$ctrl.selectUserData()" translate-once="SEARCH"></button></div><div class="pull-right"><a href="javascript:void(0);" class="btn" ng-class="{\'btn-default\':$ctrl.nowType===\'yy\',\'btn-primary\':$ctrl.nowType!==\'yy\'}" ng-click="$ctrl.setType(\'yy\')" translate-once="Y"></a> <a href="javascript:void(0);" class="btn" ng-class="{\'btn-default\':$ctrl.nowType===\'mo\',\'btn-primary\':$ctrl.nowType!==\'mo\'}" ng-click="$ctrl.setType(\'mo\')" translate-once="M"></a> <a href="javascript:void(0);" class="btn" ng-class="{\'btn-default\':$ctrl.nowType===\'dd\',\'btn-primary\':$ctrl.nowType!==\'dd\'}" ng-click="$ctrl.setType(\'dd\')" translate-once="D"></a> <a href="javascript:void(0);" class="btn" ng-class="{\'btn-default\':$ctrl.nowType===\'hh\',\'btn-primary\':$ctrl.nowType!==\'hh\'}" ng-click="$ctrl.setType(\'hh\')" translate-once="H"></a> <a href="javascript:void(0);" class="btn" ng-class="{\'btn-default\':$ctrl.nowType===\'mm\',\'btn-primary\':$ctrl.nowType!==\'mm\'}" ng-click="$ctrl.setType(\'mm\')" translate-once="Mm"></a></div><div class="clearfix"></div></div><div class="console-queue-tj-pan"><div id="queue_bj_chart" class="queue-chart"></div></div></div></div></div></div></div></div></div><div id="tab-3" class="tab-pane" ng-cloak="" ng-class="{\'active\':$ctrl.cons.currentTab===\'tab3\'}"><div class="panel panel-default"><div class="row"><div class="panel-heading">{{\'Cs_dlzs\' | translate}} {{$ctrl.detailTitle}}</div><div class="panel-body"><div class="col-md-12" ng-cloak="" ng-show="$ctrl.pz.mainL"><div class="console-cap-dlzs"><div class="console-queue-bar clearfix"><div class="pull-left"><label class="cap-label" translate-once="Cs_sjfw"></label><input type="text" ng-model="$ctrl.mainParam.startTime" id="dl-dark-sh-start">-- <input type="text" ng-model="$ctrl.mainParam.endTime" id="dl-dark-sh-end"><label class="cap-label" translate-once="Cs_swh"></label><input type="text" ng-model="$ctrl.mainParam.swNumber"> <button class="btn btn-default" ng-click="$ctrl.searchListByParams()" translate-once="SEARCH"></button> <button class="btn btn-default" ng-click="$ctrl.resetParams()" translate-once="RESET" style="margin-left: 10px"></button></div></div><div class="console-table-pan"><table class="table"><colgroup><col style="width: 10%"><col style="width: 20%"><col style="width: 20%"><col style="width: 20%"><col style="width: 20%"><col style="width: 10%"></colgroup><tr><th><input type="checkbox" style="vertical-align: middle" ng-model="$ctrl.mck" ng-change="$ctrl.selectedAll()" title="{{\'Ld_qx\' | translate}}"></th><th translate-once="Cs_sj"></th><th translate-once="Cs_swh"></th><th translate-once="Cs_jls"></th><th translate-once="Cs_xsxx"></th><th translate-once="Cs_swhg"></th></tr></table><div class="console-table-main-pan"><table class="table"><colgroup><col style="width: 10%"><col style="width: 20%"><col style="width: 20%"><col style="width: 20%"><col style="width: 20%"><col style="width: 10%"></colgroup><tr ng-repeat="item in $ctrl.swList track by $index"><td><input type="checkbox" name="xz" class="mainCbList" value="{{item.xid}}"></td><td ng-bind="item.time">2016-09-02 14:48:31</td><td ng-bind="item.xid">4644212313132</td><td ng-bind="item.nrec">1</td><td><a href="javascript:void(0);" class="btn" ng-click="$ctrl.getDetail(item)" translate-once="VIEW"></a></td><td><a href="javascript:void(0);" class="btn" ng-click="$ctrl.backDetail(item)" translate-once="ROLL"></a></td></tr><tr ng-show="$ctrl.pz.mainLoading"><td colspan="6" class="con-text-center" style="border-top: none !important"><img src="../img/15.gif"></td></tr><tr ng-show="!$ctrl.pz.mainLoading && $ctrl.swList.length===0"><td class="con-text-center" colspan="6" style="border-top: none !important">No Data!</td></tr></table></div></div><div class="cap-foot-bar clearfix"><div class="pull-left"><button class="btn box-dl" ng-disabled="$ctrl.swList.length===0" ng-click="$ctrl.clearSelected()" translate-once="Cs_qcxz"></button></div><div class="pull-right"><div page pre="$ctrl.pagePre()" next="$ctrl.pageNext()" tiao="$ctrl.tiao()" tt="$ctrl.ptotal" cnum="$ctrl.pnum" snum="$ctrl.fy.snum"></div></div></div></div></div><div class="col-md-12" ng-cloak="" ng-show="$ctrl.pz.detailL"><div class="console-cap-dlzs" ng-cloak="" ng-class="{\'cap-detail-show\':$ctrl.pz.detail}"><div class="console-queue-bar clearfix"><div class="pull-left"><label class="cap-label" translate-once="Cs_yhm"></label><input type="text" ng-model="$ctrl.detailParam.userName"><label class="cap-label" translate-once="Cs_bm1"></label><input type="text" ng-model="$ctrl.detailParam.tabName"><label class="cap-label" translate-once="Cs_cz"></label><select ng-model="$ctrl.detailParam.option"><option value=""></option><option value="INSERT">INSERT</option><option value="UPDATE">UPDATE</option><option value="DELETE">DELETE</option><option value="LOBWRITE">LOBWRITE</option><option value="DDL">DDL</option></select><label class="cap-label">SCN：</label><input type="text" ng-model="$ctrl.detailParam.scnNumber"> <button class="btn btn-default" ng-click="$ctrl.searchDetailList()" translate-once="SEARCH"></button> <button class="btn btn-default" ng-click="$ctrl.resetDetailList()" translate-once="RESET" style="margin-left: 10px"></button></div><div class="pull-right"><i class="fa fa-reply cap-close" title="{{\'Cs_fnzlb\' | translate}}" ng-click="$ctrl.backToMain()"></i></div></div><div class="console-table-pan"><table class="table title-table"><colgroup><col style="width: 10%"><col style="width: 15%"><col style="width: 15%"><col style="width: 15%"><col style="width: 15%"><col style="width: 10%"><col style="width: 10%"><col style="width: 10%"></colgroup><tr><th translate-once="Cs_sj"></th><th translate-once="UNAME"></th><th translate-once="Cs_bm"></th><th translate-once="OPERATE"></th><th>SCN</th><th>LENGTH</th><th translate-once="Cs_sqlck"></th><th translate-once="ROLL"></th></tr></table><div class="console-table-main-pan pull-left"><table class="table"><colgroup><col style="width: 10%"><col style="width: 15%"><col style="width: 15%"><col style="width: 15%"><col style="width: 15%"><col style="width: 10%"><col style="width: 10%"><col style="width: 10%"></colgroup><tr ng-repeat="item in $ctrl.clist track by $index"><td ng-bind="item.time">2016-09-02 14:48:31</td><td ng-bind="item.owner">YK</td><td ng-bind="item.table">IT_EMPLOYEES</td><td ng-bind="item.opc">INSERT</td><td ng-bind="item.scn">4986486</td><td ng-bind="item.length">469</td><td><a href="javascript:void(0);" ng-click="$ctrl.showSql(item)" class="btn" translate-once="DISPLAY"></a></td><td><a href="javascript:void(0);" class="btn" translate-once="ROLL"></a></td></tr><tr ng-show="$ctrl.pz.detailLoading"><td colspan="8" class="con-text-center"><img src="../img/15.gif"></td></tr><tr ng-show="!$ctrl.pz.detailLoading && $ctrl.clist.length===0"><td colspan="8" class="con-text-center">No Data!</td></tr></table></div><div class="cap-detail-sql pull-right"><div class="clearfix"><div class="pull-left"><p class="cap-detail-title" translate-once="Cs_sqlxx"></p></div><div class="pull-right"><div class="cap-detail-title"><a href="javascript:void(0);" ng-click="$ctrl.closeSqlPanel()" translate-once="CLOSE"></a></div></div></div><div class="cap-detail-pre"><p translate-once="Cs_sqlyj"></p><textarea readonly="readonly" ng-bind="$ctrl.detail.sql">1231313</textarea></div><div class="cap-detail-next"><p translate-once="Cs_hgyj"></p><textarea readonly="readonly" ng-bind="$ctrl.detail.hg">13123123</textarea></div></div><div class="clearfix"></div></div><div class="cap-foot-bar clearfix"><div class="pull-right"><div page pre="$ctrl.cpagePre()" next="$ctrl.cpageNext()" tiao="$ctrl.ctiao()" tt="$ctrl.ctotal" cnum="$ctrl.cnum" snum="$ctrl.fy.csnum"></div></div></div></div></div></div></div></div></div></div></div><ul class="nav nav-tabs"><li ng-class="{\'active\':$ctrl.cons.currentTab===\'tab1\'}"><a class="custom-tab" href="javascript:void(0);" ng-click="$ctrl.showTab(1)" aria-expanded="true" translate-once="Cs_yxzt"></a></li><li ng-class="{\'active\':$ctrl.cons.currentTab===\'tab2\'}"><a class="custom-tab" href="javascript:void(0);" ng-click="$ctrl.showTab(2)" aria-expanded="false" translate-once="Cs_dltj"></a></li><li ng-class="{\'active\':$ctrl.cons.currentTab===\'tab3\'}"><a class="custom-tab" href="javascript:void(0);" ng-click="$ctrl.showTab(3)" aria-expanded="false" translate-once="Cs_dlzs"></a></li></ul></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("database_view/dbModel.component.html",'<div class="modal-dialog slide-panel" id="modal-dialog" ng-cloak ng-show="$ctrl.menu.dialog"><div class="modal-content slide-bg-color"><div class="modal-header header-bg-color"><button type="button" class="close" ng-click="$ctrl.redirectTo(\'/\')"><span class="fa fa-close"></span></button><h4 class="modal-title" translate-once="Db_mbxx"></h4></div><div class="modal-body slide-bg-color"><div class="panel slide-bg-color"><div class="panel-body"><div class="panel panel-default"><div class="panel-heading" translate-once="Db_mbnr"></div><div class="panel-body"><table class="table table-condensed cap-form-tip"><tr><td class="col-sm-3"><label class="text-info" translate-once="Db_mbmc"></label></td><td class="col-sm-9"><span class="ci-label" ng-bind="$ctrl.property.db_name">Oracle</span></td></tr><tr><td class="col-sm-3"><label class="text-info" translate-once="Db_lx"></label></td><td class="col-sm-9"><span class="ci-label" ng-bind="$ctrl.property.db_type">SqlServer</span></td></tr><tr><td class="col-sm-3"><label class="text-info" translate-once="Db_smc"></label></td><td class="col-sm-9"><span class="ci-label" ng-bind="$ctrl.property.db_id">ORACLE_NAME</span></td></tr><tr><td class="col-sm-3"><label class="text-info" translate-once="Db_fwqdz"></label></td><td class="col-sm-9"><span class="ci-label" ng-bind="$ctrl.property.db_ip">172.16.1.1</span></td></tr><tr><td class="col-sm-3"><label class="text-info" translate-once="Db_port"></label></td><td class="col-sm-9"><span class="ci-label" ng-bind="$ctrl.property.db_port">1521</span></td></tr><tr><td class="col-sm-3"><label class="text-info" translate-once="Db_uname"></label></td><td class="col-sm-9"><span class="ci-label" ng-bind="$ctrl.property.db_user">User1</span></td></tr><tr><td class="col-sm-3"><label class="text-info" translate-once="Db_pwd"></label></td><td class="col-sm-9"><span class="ci-label">******</span></td></tr></table></div><div class="panel-footer"><div class="pull-right"><button class="btn btn-primary btn-sm" ng-click="$ctrl.deleteModelDb()" translate-once="DELETE"></button></div><div class="clearfix"></div></div></div></div></div></div></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){
  l.put("database_view/property.component.html",'<div role="tabpanel" class="tab-pane"><div class="panel panel-default"><form name="formQu" autocomplete="off" novalidate><div class="panel-heading" translate-once="Db_jbsx"></div><div class="panel-body"><table class="table table-condensed"><tr ng-cloak="" ng-show="$ctrl.real.comId.length>0"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Db_id"></label></div><div class="col-md-8 clearfix"><span class="ci-label" style="line-height: 30px" ng-bind="$ctrl.real.comId" ng-class="{\'accord-pre\':$ctrl.params.comId}"></span><p ng-class="{\'accord-next\':$ctrl.params.comId}" ng-show="$ctrl.params.comId" ng-cloak="" translate-once="Db_wybs"></p></div><div class="col-md-1"><div class="form-tip clearfix" ng-click="$ctrl.params.comId=!$ctrl.params.comId"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.comId,\'glyphicon-question-sign\':!$ctrl.params.comId}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formQu.data_name.$dirty && formQu.data_name.$invalid"><div class="alert alert-danger" ng-show="formQu.data_name.$error.required" translate-once="Db_tip1"></div><div class="alert alert-danger" ng-show="formQu.data_name.$error.pattern" translate-once="Db_tip2"></div></div><div class="col-md-3"><label class="text-info" translate-once="Db_mc"></label></div><div class="col-md-8 clearfix"><input class="form-control" ng-class="{\'accord-pre\':$ctrl.params.dataName}" type="text" name="data_name" ng-pattern="/^[a-zA-Z\\u4E00-\\u9FA5](\\w|[\\u4E00-\\u9FA5]|\\d){0,19}$/" ng-model="$ctrl.property.dbName" required><p ng-class="{\'accord-next\':$ctrl.params.dataName}" ng-show="$ctrl.params.dataName" ng-cloak="" translate-once="Db_tip3"></p></div><div class="col-md-1"><div class="form-tip clearfix" ng-click="$ctrl.params.dataName=!$ctrl.params.dataName"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.dataName,\'glyphicon-question-sign\':!$ctrl.params.dataName}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Db_mb"></label></div><div class="col-md-8 clearfix"><div class="from-group" ng-class="{\'accord-pre\':$ctrl.params.dataModel}"><select class="form-control input-sm" ng-model="$ctrl.model.modelCk" ng-change="$ctrl.changeMb()" ng-options="item.db_name group by item.db_type for item in $ctrl.model.modelList"></select></div><p ng-class="{\'accord-next\':$ctrl.params.dataModel}" ng-show="$ctrl.params.dataModel" ng-cloak="" translate-once="Db_tip4"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.dataModel=!$ctrl.params.dataModel"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.dataModel,\'glyphicon-question-sign\':!$ctrl.sparams.dataModel}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Db_lx"></label></div><div class="col-md-8 clearfix"><div class="from-group" ng-class="{\'accord-pre\':$ctrl.params.dataType}"><select class="form-control input-sm" ng-model="$ctrl.property.dbType" ng-options="x for x in $ctrl.allowDbs" ng-change="$ctrl.changeDbType()"></select></div><p ng-class="{\'accord-next\':$ctrl.params.dataType}" ng-show="$ctrl.params.dataType" ng-cloak="" translate-once="Db_tip5"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.dataType=!$ctrl.params.dataType"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.dataType,\'glyphicon-question-sign\':!$ctrl.params.dataType}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Db_zwbh"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.dataCap}"><label class="radio-inline"><input type="radio" ng-disabled="$ctrl.real.com_readonly" ng-model="$ctrl.property.bh" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-disabled="$ctrl.real.com_readonly" ng-model="$ctrl.property.bh" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.dataCap}" ng-show="$ctrl.params.dataCap" ng-cloak="" translate-once="Db_tip6"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.dataCap=!$ctrl.params.dataCap"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.dataCap,\'glyphicon-question-sign\':!$ctrl.params.dataCap}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formQu.serv_name.$dirty && formQu.serv_name.$invalid"><div class="alert alert-danger" ng-show="formQu.serv_name.$error.required" translate-once="Db_tip7"></div></div><div class="col-md-3"><label class="text-info" style="color:#333333 !important" translate-once="Db_smc"></label></div><div class="col-md-8 clearfix"><input class="form-control" ng-class="{\'accord-pre\':$ctrl.params.serName}" type="text" name="serv_name" ng-model="$ctrl.property.serviceName" maxlength="64" required><p ng-class="{\'accord-next\':$ctrl.params.serName}" ng-show="$ctrl.params.serName" ng-cloak="" translate-once="Db_tip9"></p></div><div class="col-md-1"><div class="form-tip clearfix" ng-click="$ctrl.params.serName=!$ctrl.params.serName"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.serName,\'glyphicon-question-sign\':!$ctrl.params.serName}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formQu.ipadd.$dirty && formQu.ipadd.$invalid"><div class="alert alert-danger" ng-show="formQu.ipadd.$error.required" translate-once="Db_tip10"></div><div class="alert alert-danger" ng-show="formQu.ipadd.$error.pattern" translate-once="Db_tip11"></div></div><div class="col-md-3"><label class="text-info" translate-once="Db_fwqdz"></label></div><div class="col-md-8 clearfix"><input class="form-control" ng-class="{\'accord-pre\':$ctrl.params.ipAdd}" type="text" placeholder="127.0.0.1" name="ipadd" ng-pattern="/^((25[0-5])|(2[0-4]\\d)|(1\\d\\d)|([1-9]\\d)|\\d)(\\.((25[0-5])|(2[0-4]\\d)|(1\\d\\d)|([1-9]\\d)|\\d)){3}$/" ng-model="$ctrl.property.ipAddress" required><p ng-class="{\'accord-next\':$ctrl.params.ipAdd}" ng-show="$ctrl.params.ipAdd" ng-cloak="" translate-once="Db_tip12"></p></div><div class="col-md-1"><div class="form-tip clearfix" ng-click="$ctrl.params.ipAdd=!$ctrl.params.ipAdd"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ipAdd,\'glyphicon-question-sign\':!$ctrl.params.ipAdd}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formQu.por.$dirty && formQu.por.$invalid"><div class="alert alert-danger" ng-show="formQu.por.$error.required" translate-once="Db_tip13"></div><div class="alert alert-danger" ng-show="formQu.por.$error.pattern" translate-once="Db_tip14"></div></div><div class="col-md-3"><label class="text-info" translate-once="Db_port"></label></div><div class="col-md-8 clearfix"><input class="form-control" placeholder="1521" ng-class="{\'accord-pre\':$ctrl.params.porAdd}" type="text" name="por" ng-pattern="/^[1-9]$|(^[1-9][0-9]$)|(^[1-9][0-9][0-9]$)|(^[1-9][0-9][0-9][0-9]$)|(^[1-6][0-5][0-5][0-3][0-5]$)/" ng-model="$ctrl.property.port" required><p ng-class="{\'accord-next\':$ctrl.params.porAdd}" ng-show="$ctrl.params.porAdd" ng-cloak="" translate-once="Db_tip15"></p></div><div class="col-md-1"><div class="form-tip clearfix" ng-click="$ctrl.params.porAdd=!$ctrl.params.porAdd"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.porAdd,\'glyphicon-question-sign\':!$ctrl.params.porAdd}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formQu.user.$dirty && formQu.user.$invalid"><div class="alert alert-danger" ng-show="formQu.user.$error.required" translate-once="Db_tip16"></div><div class="alert alert-danger" ng-show="formQu.user.$error.pattern" translate-once="Db_tip17"></div></div><div class="col-md-3"><label class="text-info" translate-once="Db_uname"></label></div><div class="col-md-8 clearfix"><input class="form-control" ng-class="{\'accord-pre\':$ctrl.params.userName}" type="text" name="user" ng-pattern="/^[a-zA-Z]\\w{0,19}$/" ng-model="$ctrl.property.uName" required><p ng-class="{\'accord-next\':$ctrl.params.userName}" ng-show="$ctrl.params.userName" ng-cloak="" translate-once="Db_tip18"></p></div><div class="col-md-1"><div class="form-tip clearfix" ng-click="$ctrl.params.userName=!$ctrl.params.userName"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.userName,\'glyphicon-question-sign\':!$ctrl.params.userName}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formQu.pas.$dirty && formQu.pas.$invalid"><div class="alert alert-danger" ng-show="formQu.pas.$error.required" translate-once="Db_tip19"></div><div class="alert alert-danger" ng-show="formQu.pas.$error.pattern" translate-once="Db_tip20"></div></div><div class="col-md-3"><label class="text-info" translate-once="Db_pwd"></label></div><div class="col-md-8 clearfix"><input class="form-control" ng-class="{\'accord-pre\':$ctrl.params.pass}" type="password" name="pas" ng-pattern="/^[^(\\s]{1,20}$/" ng-model="$ctrl.property.uPwd" required><p ng-class="{\'accord-next\':$ctrl.params.pass}" ng-show="$ctrl.params.pass" ng-cloak="" translate-once="Db_tip21"></p></div><div class="col-md-1"><div class="form-tip clearfix" ng-click="$ctrl.params.pass=!$ctrl.params.pass"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.pass,\'glyphicon-question-sign\':!$ctrl.params.pass}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Db_bcwmb"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.isModel}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.model.isModel" value="yes" ng-change="$ctrl.modelIsCheck()">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.model.isModel" value="no" ng-change="$ctrl.modelIsCheck()">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.isModel}" ng-show="$ctrl.params.isModel" ng-cloak="" translate-once="Db_tip22"></p></div><div class="col-md-1"><div class="form-tip clearfix" ng-click="$ctrl.params.isModel=!$ctrl.params.isModel"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.isModel,\'glyphicon-question-sign\':!$ctrl.params.isModel}"></span></div></div></div></td></tr><tr ng-cloak="" ng-show="$ctrl.model.isModel===\'yes\'"><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formQu.mdName.$dirty && formQu.mdName.$invalid"><div class="alert alert-danger" ng-show="formQu.mdName.$error.dbmodel" translate-once="Db_tip23"></div><div class="alert alert-danger" ng-show="formQu.mdName.$error.pattern" translate-once="Db_tip24"></div></div><div class="col-md-3"><label class="text-info" translate-once="Db_mbm"></label></div><div class="col-md-8 clearfix"><input class="form-control" ng-class="{\'accord-pre\':$ctrl.params.modelName}" name="mdName" ng-pattern="/^[\\u4e00-\\u9fa5a-zA-Z0-9]{0,10}$/" maxlength="10" type="text" ng-model="$ctrl.model.mdName"><p ng-class="{\'accord-next\':$ctrl.params.modelName}" ng-show="$ctrl.params.modelName" ng-cloak="" translate-once="Db_tip25"></p></div><div class="col-md-1"><div class="form-tip clearfix" ng-click="$ctrl.params.modelName=!$ctrl.params.modelName"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.modelName,\'glyphicon-question-sign\':!$ctrl.params.modelName}"></span></div></div></div></td></tr></table></div><div class="panel-footer"><div class="clearfix"><button class="btn btn-sm btn-primary pull-right" ng-disabled="formQu.$invalid || $ctrl.isSaving" ng-click="$ctrl.saveDbInfo()" ng-bind="$ctrl.saveBtnTxt"></button> <button class="btn btn-sm btn-primary pull-right" style="margin-right: 10px" ng-click="$ctrl.toSqlEfg()" ng-cloak="" ng-if="($ctrl.property.dbType===\'sqlserver\' || $ctrl.property.dbType===\'oracle\') && $ctrl.property.bh===\'yes\'">必要环境配置</button></div></div></form></div><div class="panel panel-default" ng-cloak="" ng-if="$ctrl.property.dbType===\'sqlserver\' && $ctrl.sqlEnv.isSqlSer"><div class="panel-heading"><div class="clearfix"><h5 class="pull-left">sqlServer必要环境准备</h5><button class="btn btn-primary pull-right btn-sm" style="margin-top: -5px; margin-left: 5px" ng-click="$ctrl.sqlEnv.isSqlSer=false">关闭</button> <button ng-show="$ctrl.sqlEnv.reset || ($ctrl.sqlEnv.logHf.isDone && $ctrl.sqlEnv.bgbh.isDone && $ctrl.sqlEnv.bypz.isDone)" class="btn btn-primary pull-right btn-sm" style="margin-top: -5px" tooltip-placement="bottom" uib-tooltip="重置sqlServer必要环境" ng-click="$ctrl.resetSqlCfg()">重置</button></div></div><div class="panel-body"><div class="table-responsive"><table class="table table-hover"><tr><th>配置环境</th><th>状态</th><th>操作</th></tr><tr ng-class="{\'success\':$ctrl.sqlEnv.logHf.isDone,\'warning\':!$ctrl.sqlEnv.logHf.isDone}"><td>日志恢复模式</td><td><span ng-class="{\'text-success\':$ctrl.sqlEnv.logHf.isDone,\'text-warning\':!$ctrl.sqlEnv.logHf.isDone}" ng-bind="$ctrl.sqlEnv.logHf.status">完整</span></td><td><a href="javascript:void(0);" ng-click="$ctrl.start_sql_log()" ng-show="!$ctrl.sqlEnv.logHf.isDone">修改</a><span ng-cloak="" ng-show="$ctrl.sqlEnv.logHf.isDone" class="fa fa-check text-success"></span></td></tr><tr ng-class="{\'success\':$ctrl.sqlEnv.bgbh.isDone,\'warning\':!$ctrl.sqlEnv.bgbh.isDone}"><td>启用变更捕获</td><td><span ng-class="{\'text-success\':$ctrl.sqlEnv.bgbh.isDone,\'text-warning\':!$ctrl.sqlEnv.bgbh.isDone}" ng-bind="$ctrl.sqlEnv.bgbh.status">未启用</span></td><td><a href="javascript:void(0);" ng-click="$ctrl.start_sql_cdc()" ng-show="!$ctrl.sqlEnv.bgbh.isDone">修改</a><span ng-cloak="" ng-show="$ctrl.sqlEnv.bgbh.isDone" class="fa fa-check text-success"></span></td></tr><tr ng-class="{\'success\':$ctrl.sqlEnv.bypz.isDone,\'warning\':!$ctrl.sqlEnv.bypz.isDone}"><td>R7必要配置</td><td><span ng-class="{\'text-success\':$ctrl.sqlEnv.bypz.isDone,\'text-warning\':!$ctrl.sqlEnv.bypz.isDone}" ng-bind="$ctrl.sqlEnv.bypz.status">已完成</span></td><td><a href="javascript:void(0);" ng-click="$ctrl.start_sql_r7()" ng-show="!$ctrl.sqlEnv.bypz.isDone">修改</a><span ng-cloak="" ng-show="$ctrl.sqlEnv.bypz.isDone" class="fa fa-check text-success"></span></td></tr></table></div></div></div><div class="panel panel-default" ng-cloak="" ng-if="$ctrl.sqlEnv.isOracle && $ctrl.property.dbType===\'oracle\'"><div class="panel-heading"><div class="clearfix"><h5 class="pull-left" translate-once="Db_ycl"></h5><button class="btn btn-primary pull-right btn-sm" style="margin-top: -5px; margin-left: 5px" ng-click="$ctrl.sqlEnv.isOracle=false">关闭</button> <button class="btn btn-primary pull-right btn-sm" style="margin-top: -5px" tooltip-placement="bottom" uib-tooltip="{{\'Db_csycl\' | translate}}" ng-click="$ctrl.createScript()" translate-once="Db_csycl"></button></div></div><div class="panel-body"><div class="row"><div class="col-md-7"><div><label class="radio-inline" for="add_qb"><input type="radio" class="radio" id="add_qb" ng-model="$ctrl.data.cb" value="all" ng-change="$ctrl.changeBc()"> {{\'Db_qktjbc\' | translate}}</label><label class="radio-inline" for="add_tb"><input type="radio" class="radio" ng-model="$ctrl.data.cb" id="add_tb" value="table" ng-change="$ctrl.changeBc()">基于表补充日志</label></div><div id="objTree" class="ztree ztreecss"></div></div><div class="col-md-5"><div class="ych_jb"><textarea rows="20" readonly="readonly" ng-bind="$ctrl.data.scripts"></textarea></div></div></div></div></div><div class="panel panel-default"><div class="panel-heading"><div class="clearfix"><h5 class="pull-left" translate-once="Db_hjcs"></h5><button class="btn btn-primary pull-right btn-sm" style="margin-top: -5px" tooltip-placement="bottom" uib-tooltip="{{\'Db_csljhj\' | translate}}" ng-click="$ctrl.testDbInfo()" ng-disabled="$ctrl.isTesting" translate-once="Db_cslj"></button></div></div><div class="panel-body"><table class="table table-bordered" ng-cloak="" ng-show="$ctrl.data.testing"><tr class="test-env"><th translate-once="DESC"></th><th translate-once="STATUS"></th><th translate-once="DETAIL"></th></tr><tr ng-hide="$ctrl.property.bh===\'no\'"><td translate-once="Db_gdrzms"></td><td ng-bind="$ctrl.data.gd.status">success</td><td ng-bind="$ctrl.data.gd.message">ARCHIVELOG</td></tr><tr><td translate-once="Db_bb"></td><td ng-bind="$ctrl.data.dbv.status">success</td><td ng-bind="$ctrl.data.dbv.message">11.2.0.1.0</td></tr><tr><td translate-once="Db_yhqxjc"></td><td ng-bind="$ctrl.data.auth.status">success</td><td ng-bind="$ctrl.data.auth.message"></td></tr><tr ng-hide="$ctrl.property.dbType===\'mysql\' || $ctrl.property.dbType===\'db2\'"><td translate-once="Db_dbmsjc"></td><td ng-bind="$ctrl.data.dbms.status">success</td><td ng-bind="$ctrl.data.dbms.message"></td></tr><tr ng-hide="$ctrl.property.bh===\'no\' || $ctrl.property.dbType===\'sqlserver\'|| $ctrl.property.dbType===\'mysql\' || $ctrl.property.dbType===\'db2\'"><td translate-once="Db_bcrz"></td><td ng-bind="$ctrl.data.bcrz.status">success</td><td ng-bind="$ctrl.data.bcrz.message"></td></tr></table><table class="table table-bordered test-db-empty" ng-cloak="" ng-hide="$ctrl.data.testing"><tr><td align="center" ng-bind-html="$ctrl.data.dbTestInfo"></td></tr></table></div></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("database_view/status.component.html",'<div role="tabpanel" class="tab-pane active"><div class="panel panel-default"><div class="panel-heading" translate-once="Db_jbsx"></div><div class="panel-body"><table class="table table-condensed cap-form-tip"><tr><td class="col-sm-3"><label class="text-info" translate-once="Db_id"></label></td><td class="col-sm-9"><span class="ci-label" ng-bind="$ctrl.real.comId">Oracle</span></td></tr><tr><td class="col-sm-3"><label class="text-info" translate-once="Db_mc"></label></td><td class="col-sm-9"><span class="ci-label" ng-bind="$ctrl.property.dbName">Oracle</span></td></tr><tr><td class="col-sm-3"><label class="text-info" translate-once="Db_lx"></label></td><td class="col-sm-9"><span class="ci-label" ng-bind="$ctrl.property.dbType">SqlServer</span></td></tr><tr><td class="col-sm-3"><label class="text-info" translate-once="Db_zwbh"></label></td><td class="col-sm-9"><span class="ci-label" ng-bind="$ctrl.property.bh===\'yes\'?$ctrl.real.yes:$ctrl.real.no"></span></td></tr><tr><td class="col-sm-3"><label class="text-info" translate-once="Db_smc"></label></td><td class="col-sm-9"><span class="ci-label" ng-bind="$ctrl.property.serviceName">ORACLE_NAME</span></td></tr><tr><td class="col-sm-3"><label class="text-info" translate-once="Db_fwqdz"></label></td><td class="col-sm-9"><span class="ci-label" ng-bind="$ctrl.property.ipAddress">172.16.1.1</span></td></tr><tr><td class="col-sm-3"><label class="text-info" translate-once="Db_port"></label></td><td class="col-sm-9"><span class="ci-label" ng-bind="$ctrl.property.port">1521</span></td></tr><tr><td class="col-sm-3"><label class="text-info" translate-once="Db_uname"></label></td><td class="col-sm-9"><span class="ci-label" ng-bind="$ctrl.property.uName">User1</span></td></tr><tr><td class="col-sm-3"><label class="text-info" translate-once="Db_pwd"></label></td><td class="col-sm-9"><span class="ci-label" ng-bind="$ctrl.property.uPwd?\'******\':\'\'">******</span></td></tr></table></div></div><div class="panel panel-default"><div class="panel-heading"><div class="clearfix"><h5 class="pull-left" translate-once="Db_hjcs"></h5><button class="btn btn-primary pull-right btn-sm" style="margin-top: -5px" tooltip-placement="bottom" uib-tooltip="{{\'Db_csljhj\' | translate}}" ng-click="$ctrl.testDbInfo()" ng-disabled="$ctrl.isTesting" translate-once="Db_cslj"></button></div></div><div class="panel-body"><table class="table table-bordered table-condensed" ng-cloak="" ng-show="$ctrl.data.testing"><tr class="test-env"><th translate-once="DESC"></th><th translate-once="STATUS"></th><th translate-once="DETAIL"></th></tr><tr ng-hide="$ctrl.property.bh===\'no\'"><td translate-once="Db_gdrzms"></td><td ng-bind="$ctrl.data.gd.status">success</td><td ng-bind="$ctrl.data.gd.message">ARCHIVELOG</td></tr><tr><td translate-once="Db_bb"></td><td ng-bind="$ctrl.data.dbv.status">success</td><td ng-bind="$ctrl.data.dbv.message">11.2.0.1.0</td></tr><tr><td translate-once="Db_yhqxjc"></td><td ng-bind="$ctrl.data.auth.status">success</td><td ng-bind="$ctrl.data.auth.message"></td></tr><tr ng-hide="$ctrl.property.dbType===\'mysql\' || $ctrl.property.dbType===\'db2\'"><td translate-once="Db_dbmsjc"></td><td ng-bind="$ctrl.data.dbms.status">success</td><td ng-bind="$ctrl.data.dbms.message"></td></tr><tr ng-hide="$ctrl.property.bh===\'no\' || $ctrl.property.dbType===\'sqlserver\'|| $ctrl.property.dbType===\'mysql\' || $ctrl.property.dbType===\'db2\'"><td translate-once="Db_bcrz"></td><td ng-bind="$ctrl.data.bcrz.status">success</td><td ng-bind="$ctrl.data.bcrz.message"></td></tr></table><table class="table table-bordered test-db-empty table-condensed" ng-cloak="" ng-hide="$ctrl.data.testing"><tr><td align="center" ng-bind-html="$ctrl.data.dbTestInfo"></td></tr></table></div></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("common_view/main_dialog.component.html",'<div class="modal-dialog slide-panel" id="modal-dialog" ng-cloak ng-show="$ctrl.menu.dialog"><div class="modal-content slide-bg-color"><div class="modal-header header-bg-color" style="z-index:999"><button type="button" class="close" ng-click="$ctrl.redirectTo(\'/\')"><span class="fa fa-close"></span></button><h4 class="modal-title" ng-bind="::$ctrl.title"></h4></div><div class="modal-body slide-bg-color"><div class="panel slide-bg-color"><div class="panel-body"><ul class="nav nav-tabs" role="tablist"><li role="presentation" ng-class="{\'active\':$ctrl.menu.mc ===1}"><a href="javascript:void(0);" ng-click="$ctrl.changeTab(1)" class="nav-size" translate-once="STATUS"></a></li><li role="presentation" ng-class="{\'active\':$ctrl.menu.mc ===2}"><a href="javascript:void(0);" ng-click="$ctrl.changeTab(2)" class="nav-size" translate-once="CONFIG"></a></li></ul><div class="tab-content"><ui-view></ui-view></div></div></div></div></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("etl_view/add_rule.component.html",'<div class="modal-header"><button type="button" class="close" ng-click="$ctrl.cancel()" aria-label="Close"><span aria-hidden="true">×</span></button><h3 class="modal-title" id="modal-title">新增规则</h3></div><div class="modal-body" id="modal-body"><div class="row etl-all-rule"><div class="col-md-4"><div class="etl-add-rule-left"><h4>源端字段列表</h4><ul style="height: 415px;overflow: auto"><li ng-repeat="field in $ctrl.fieldList track by $index" ng-bind="field.column_name"></li><li ng-if="$ctrl.fieldList.length===0">No Data!</li></ul></div></div><div class="col-md-8"><div class="etl-add-rule-right" id="etl-add-rule-right"><h4>配置规则</h4><div class="dropdown"><button id="dLabel" class="btn btn-info btn-sm" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">操作<span class="caret"></span></button><ul class="dropdown-menu" role="menu" aria-labelledby="btn-append-to-body"><li role="menuitem"><a href="javascript:void(0);" ng-click="$ctrl.openTargetsModal()">选取目标库对应表名</a></li><li class="divider"></li><li role="menuitem"><a href="javascript:void(0);" ng-click="$ctrl.openApplyToModal()">该策略应用到其他表</a></li></ul><span class="rule-table-name" ng-bind="$ctrl.targetLabel"></span></div><div class="etl-modal-body"><table class="table table-bordered table-hover"><colgroup><col style="width: 10%"><col style="width: 30%"><col style="width: 20%"><col style="width: 30%"><col style="width: 10%"></colgroup><tr><td><input type="checkbox" class="cl-etl-all" title="全选" ng-change="$ctrl.changeAllCheck()" ng-model="$ctrl.ckAll"></td><td><b>字段名称</b></td><td><b>值类型</b></td><td><b>字段值</b></td><td><b>编辑</b></td></tr><tr ng-repeat="item in $ctrl.addList track by $index"><td><input type="checkbox" class="cl-etl-input" ng-model="item.checked" ng-change="$ctrl.changeOne(item)"></td><td><select style="width: 100%;height: 100%" ng-model="item.name"><option ng-repeat="name in item.names track by $index" ng-value="name" ng-bind="name"></option></select></td><td ng-bind="item.desc">bbb</td><td ng-bind="item.value">ccc</td><td><a class="btn" href="javascript:void(0);" ng-click="$ctrl.editColumn(item)"><i class="fa fa-edit"></i></a></td></tr></table></div><div class="etl-margin-top10"><button class="btn btn-info btn-sm" ng-click="$ctrl.addColumn()">增加行</button> <button class="btn btn-info btn-sm" ng-click="$ctrl.deleteColumn()">删除行</button></div></div></div></div></div><div class="modal-footer"><div class="pull-right"><button class="btn btn-primary btn-sm" ng-click="$ctrl.cancel()">取消</button> <button class="btn btn-primary btn-sm" ng-click="$ctrl.saveAddRule()">保存</button></div><div class="clearfix"></div></div><script type="text/ng-template" id="myModalContent.html"><div class="modal-header">\n        <button type="button" class="close" ng-click="$ct.cancel()" aria-label="Close"><span aria-hidden="true">×</span></button>\n        <h3 class="modal-title" id="modal-title1">编辑列字段</h3>\n    </div>\n    <div class="modal-body" id="modal-body1">\n        <table class="table table-bordered">\n            <tr>\n                <td>字段：</td>\n                <td><input type="text" class="form-control" ng-model="$ct.model.name" maxlength="20"></td>\n            </tr>\n            <tr>\n                <td>值类型：</td>\n                <td><select ng-model="$ct.model.type">\n                    <option value="string">固定字符串</option>\n                    <option value="sysdata">系统变量</option>\n                    <option value="expression">表达式</option>\n                </select></td>\n            </tr>\n            <tr>\n                <td>字段值：</td>\n                <td><input type="text" class="form-control" ng-cloak="" ng-model="$ct.model.value" ng-show="$ct.model.type===\'string\'" maxlength="60">\n                    <select ng-cloak="" ng-model="$ct.model.value" ng-show="$ct.model.type===\'sysdata\'">\n                        <option value="scn">scn</option>\n                        <option value="sct">sct</option>\n                        <option value="cscn">cscn</option>\n                        <option value="csct">csct</option>\n                        <option value="sysdate">sysdate</option>\n                        <option value="operation">operation</option>\n                    </select>\n                    <button class="btn btn-info btn-sm" ng-cloak="" ng-click="$ct.edit()" ng-show="$ct.model.type===\'expression\'">表达式编辑</button>\n                </td>\n            </tr>\n        </table>\n    </div>\n    <div class="modal-footer">\n        <button class="btn btn-warning btn-sm" type="button" ng-click="$ct.cancel()">取消</button>\n        <button class="btn btn-primary btn-sm" type="button" ng-click="$ct.ok()">确定</button>\n    </div><\/script>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("etl_view/apply_other.component.html",'<div class="modal-header"><button type="button" class="close" ng-click="$ctrl.cancel()" aria-label="Close"><span aria-hidden="true">×</span></button><h3 class="modal-title">应用到其他表</h3></div><div class="modal-body"><div class="etl-apply-other"><div class="a-header">搜索：<input type="text" maxlength="100" placeholder="表名" ng-model="$ctrl.filter"></div><div class="a-body"><ul class="list-ul clearfix"><li><div class="list-li-left"><input type="checkbox" title="全选" ng-model="$ctrl.ckAll" ng-change="$ctrl.checkAll()"></div><div class="list-li-right">表名</div></li></ul><div class="apply-list"><table><tr ng-repeat="item in ($ctrl.localDics=($ctrl.tables | filter:{name:$ctrl.filter})) track by $index "><td><input type="checkbox" class="etl-apply-input" ng-model="item.checked" ng-change="$ctrl.selectOne(item)"></td><td ng-bind="item.name"></td></tr></table></div></div></div></div><div class="modal-footer"><button class="btn btn-warning btn-sm" type="button" ng-click="$ctrl.cancel()">取消</button> <button class="btn btn-primary btn-sm" type="button" ng-click="$ctrl.ok()">确定</button></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("etl_view/apply_rule.component.html",'<div class="etl-pt-rule"><div class="row"><div class="col-md-12"><span class="etl-pt-name">规则集类型：</span><select class="etl-pt-type" ng-model="$ctrl.ruleType" ng-change="$ctrl.changeRuleType()"><option value="filter" name="filter">批量过滤</option><option value="insert" name="insert">insert → update</option><option value="update" name="update">update → insert/delete</option></select></div><div class="col-md-4"><div class="etl-pt-left" id="etlPtRulePanel"><input type="text" placeholder="搜索规则集" ng-model="$ctrl.ruleFilter" maxlength="200"><div class="etl-pt-left-body"><ul><li ng-repeat="item in ($ctrl.rules | filter:{name:$ctrl.ruleFilter}) track by $index"><input type="checkbox" ng-model="item.checked" class="etl-pt-li-son" ng-click="$ctrl.getCodes(item,$event)"> <a href="javascript:void(0);" ng-bind="item.name" ng-click="$ctrl.getCodes(item,$event)"></a></li><li ng-cloak="" ng-if="$ctrl.rules.length===0"><a href="javascript:void(0);">No Rules!</a></li></ul></div></div></div><div class="col-md-8"><div class="etl-pt-right"><input type="text" placeholder="搜索变量名" ng-model="$ctrl.codeFilter" maxlength="200"><div class="etl-pt-body"><table class="table table-striped table-hover"><colgroup><col style="width: 10%"><col style="width: 40%"><col style="width: 50%"></colgroup><tr><td><input type="checkbox" title="全选" ng-model="$ctrl.ckAll" ng-change="$ctrl.checkAll()"></td><td>变量名</td><td>变量值</td></tr><tr ng-repeat="item in ($ctrl.selCodes=($ctrl.codes | filter:{name:$ctrl.codeFilter})) track by $index"><td><input type="checkbox" ng-model="item.checked" ng-change="$ctrl.checkOne()"></td><td ng-bind="item.code"></td><td><input type="text" ng-model="item.value" maxlength="80"></td></tr><tr ng-cloak="" ng-if="$ctrl.codes.length===0"><td colspan="3" class="etl-center">No Data!</td></tr></table></div><div class="etl-pt-foot clearfix"><div class="pull-left"><button class="btn btn-info btn-sm" ng-disabled="$ctrl.selCodes.length===0" ng-click="$ctrl.deleteColumn()">删除列</button></div></div></div></div><div class="col-md-12 etl-pt-footer"><div class="pull-right"><button class="btn btn-primary btn-sm" ng-disabled="$ctrl.rules.length===0" ng-click="$ctrl.saveApplyRuleInfo()">保存</button></div><div class="clearfix"></div></div></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){
  l.put("etl_view/bgl.component.html",'<div class="etl-bgl"><div class="row"><div class="col-md-4"><div class="etl-bgl-left"><div class="etl-bgl-head"><input type="text" placeholder="用户名搜索" ng-model="$ctrl.userFilter" ng-model-options="{debounce:300}"></div><div class="etl-bgl-body"><ul><li ng-repeat="uname in ($ctrl.selUsers=($ctrl.users | filter:$ctrl.userFilter)) track by $index" class="bgl-user-list"><a href="javascript:void(0);" ng-click="$ctrl.getTable(uname,$event)" ng-bind="uname"></a></li><li ng-cloak="" ng-if="$ctrl.users.length===0"><a href="javascript:void(0);">No User!</a></li><li ng-cloak="" ng-if="$ctrl.users.length>0 && $ctrl.selUsers.length===0"><a href="javascript:void(0);">No Result!</a></li></ul></div></div></div><div class="col-md-8"><div class="etl-bgl-left"><div class="etl-bgl-head2"><input type="checkbox" class="sbox" ng-model="$ctrl.ckAll" ng-change="$ctrl.checkAll()"> <input type="text" placeholder="表名搜索" ng-model="$ctrl.tableFilter" ng-model-options="{debounce:300}"><label class="flabel"><input type="radio" value="include" ng-model="$ctrl.tj">包含</label><label><input type="radio" value="exclude" ng-model="$ctrl.tj">不包含</label></div><div class="etl-bgl-body"><table class="table"><colgroup><col style="width: 10%"><col style="width: 90%"></colgroup><tr ng-repeat="item in ($ctrl.selTables=($ctrl.tables | filter:{name:$ctrl.tableFilter} | orderBy:\'-item.checked\')) track by $index"><td><input type="checkbox" ng-model="item.checked" ng-change="$ctrl.checkOne(item)"></td><td><a href="javascript:void(0);" ng-bind="item.name"></a></td></tr><tr ng-cloak="" ng-if="$ctrl.loading"><td colspan="2" class="etl-center"><a href="javascript:void(0);">Loading......</a></td></tr><tr ng-cloak="" ng-if="$ctrl.tables.length===0 && !$ctrl.loading"><td colspan="2" class="etl-center"><a href="javascript:void(0);">No User!</a></td></tr><tr ng-cloak="" ng-if="$ctrl.tables.length>0 && $ctrl.selTables.length===0"><td colspan="2" class="etl-center"><a href="javascript:void(0);">No Result!</a></td></tr></table></div></div></div><div class="col-md-12 etl-margin-top10"><div class="pull-right"><button class="btn btn-primary btn-sm" ng-click="$ctrl.saveEtlBglRule()">保存</button></div><div class="clearfix"></div></div></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("etl_view/cfg_rule.component.html",'<div class="etl-ypz-rule etl-all-rule"><div class="etl-ypz-rule-head"><div class="dropdown"><button class="btn btn-primary btn-sm" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">已配置规则<span class="caret"></span></button><ul class="dropdown-menu" role="menu"><li role="menuitem"><a href="javascript:void(0);" ng-click="$ctrl.changeRule(1)">增加列</a></li><li role="menuitem"><a href="javascript:void(0);" ng-click="$ctrl.changeRule(2)">映射列</a></li><li role="menuitem"><a href="javascript:void(0);" ng-click="$ctrl.changeRule(3)">删除列</a></li><li role="menuitem"><a href="javascript:void(0);" ng-click="$ctrl.changeRule(4)">记录过滤</a></li><li role="menuitem"><a href="javascript:void(0);" ng-click="$ctrl.changeRule(5)">审计表</a></li><li role="menuitem"><a href="javascript:void(0);" ng-click="$ctrl.changeRule(6)">表过滤</a></li><li role="menuitem"><a href="javascript:void(0);" ng-click="$ctrl.changeRule(7)">操作过滤</a></li><li role="menuitem"><a href="javascript:void(0);" ng-click="$ctrl.changeRule(8)">操作转换</a></li></ul><b class="current-rule" ng-bind="$ctrl.currentRuleName"></b><div class="current-cz" ng-cloak="" ng-if="$ctrl.isBgl"><label><input type="radio" ng-model="$ctrl.isInclude" ng-change="$ctrl.changeType()" value="include">包含</label><label><input type="radio" ng-model="$ctrl.isInclude" ng-change="$ctrl.changeType()" value="exclude">不包含</label></div><div class="current-cz" ng-cloak="" ng-if="$ctrl.isCzzh">转换类型：<select ng-model="$ctrl.currentCzzh" ng-change="$ctrl.changeOperation()"><option value="insert_to_update">insert → update</option><option value="update_to_insert_or_delete">update → insert/delete</option><option value="delete_to_update">delete → update</option></select></div></div></div><div class="etl-ypz-rule-body"><ul><li ng-repeat="item in $ctrl.list track by $index"><a href="javascript:void(0);" ng-click="$ctrl.showDetail(item)" ng-bind="item.user+\'.\'+item.table"></a></li><li ng-cloak="" ng-show="$ctrl.list.length===0" class="etl-center"><a href="javascript:void(0);">No Result!</a></li></ul></div></div><script type="text/ng-template" id="cfgRuleDetailModal.html"><div class="modal-header">\n        <button type="button" class="close" ng-click="$ct.cancel()" aria-label="Close"><span aria-hidden="true">×</span></button>\n        <h3 class="modal-title">配置详情</h3>\n    </div>\n    <div class="modal-body">\n        <div class="cfg-rule-detail-modal">\n            <table class="table table-bordered" ng-cloak="" ng-if="$ct.model.cnum===1">\n                <colgroup>\n                    <col style="width: 20%">\n                    <col style="width: 20%">\n                    <col style="width: 60%">\n                </colgroup>\n                <tr>\n                    <td>字段</td>\n                    <td>值类型</td>\n                    <td>字段值</td>\n                </tr>\n                <tr ng-repeat="item in $ct.list track by $index">\n                    <td ng-bind="item.name"></td>\n                    <td ng-bind="item.type"></td>\n                    <td><code ng-bind="item.value"></code></td>\n                </tr>\n                <tr ng-cloak="" ng-if="$ct.loading">\n                    <td colspan="3" class="etl-center">Loading......</td>\n                </tr>\n                <tr ng-cloak="" ng-if="$ct.list.length===0 && !$ct.loading">\n                    <td colspan="3" class="etl-center">No Data!</td>\n                </tr>\n            </table>\n            <table class="table table-bordered" ng-cloak="" ng-if="$ct.model.cnum===2">\n                <colgroup>\n                    <col style="width: 20%">\n                    <col style="width: 15%">\n                    <col style="width: 20%">\n                    <col style="width: 15%">\n                    <col style="width: 30%">\n                </colgroup>\n                <tr>\n                    <td>源字段名</td>\n                    <td>源类型</td>\n                    <td>映射名</td>\n                    <td>映射类型</td>\n                    <td>映射列值</td>\n                </tr>\n                <tr ng-repeat="item in $ct.list track by $index">\n                    <td ng-bind="item.name"></td>\n                    <td ng-bind="item.type"></td>\n                    <td ng-bind="item.map"></td>\n                    <td ng-bind="item.mapType"></td>\n                    <td><code ng-bind="item.value"></code></td>\n                </tr>\n                <tr ng-cloak="" ng-if="$ct.loading">\n                    <td colspan="5" class="etl-center">Loading......</td>\n                </tr>\n                <tr ng-cloak="" ng-if="$ct.list.length===0 && !$ct.loading">\n                    <td colspan="5" class="etl-center">No Data!</td>\n                </tr>\n            </table>\n            <table class="table table-bordered" ng-cloak="" ng-if="$ct.model.cnum===3">\n                <colgroup>\n                    <col style="width: 50%">\n                    <col style="width: 50%">\n                </colgroup>\n                <tr>\n                    <td>字段名</td>\n                    <td>字段类型</td>\n                </tr>\n                <tr ng-repeat="item in $ct.list track by $index">\n                    <td ng-bind="item.name"></td>\n                    <td ng-bind="item.type"></td>\n                </tr>\n                <tr ng-cloak="" ng-if="$ct.loading">\n                    <td colspan="2" class="etl-center">Loading......</td>\n                </tr>\n                <tr ng-cloak="" ng-if="$ct.list.length===0 && !$ct.loading">\n                    <td colspan="2" class="etl-center">No Data!</td>\n                </tr>\n            </table>\n            <table class="table table-bordered" ng-cloak="" ng-if="$ct.model.cnum===4">\n                <colgroup>\n                    <col style="width: 80%">\n                    <col style="width: 20%">\n                </colgroup>\n                <tr>\n                    <td>表达式</td>\n                    <td>是否保留</td>\n                </tr>\n                <tr ng-repeat="item in $ct.list track by $index">\n                    <td><code ng-bind="item.expression | limitTo:60"></code></td>\n                    <td ng-bind="item.option===\'yes\'?\'保留\':\'不保留\'"></td>\n                </tr>\n                <tr ng-cloak="" ng-if="$ct.loading">\n                    <td colspan="2" class="etl-center">Loading......</td>\n                </tr>\n                <tr ng-cloak="" ng-if="$ct.list.length===0 && !$ct.loading">\n                    <td colspan="2" class="etl-center">No Data!</td>\n                </tr>\n            </table>\n            <table class="table table-bordered" ng-cloak="" ng-if="$ct.model.cnum===5">\n                <colgroup>\n                    <col style="width: 30%">\n                    <col style="width: 30%">\n                    <col style="width: 40%">\n                </colgroup>\n                <tr>\n                    <td>字段名称</td>\n                    <td>值类型</td>\n                    <td>字段值</td>\n                </tr>\n                <tr ng-repeat="item in $ct.list track by $index">\n                    <td ng-bind="item.name"></td>\n                    <td ng-bind="item.desc"></td>\n                    <td ng-bind="item.value"></td>\n                </tr>\n                <tr ng-cloak="" ng-if="$ct.loading">\n                    <td colspan="3" class="etl-center">Loading......</td>\n                </tr>\n                <tr ng-cloak="" ng-if="$ct.list.length===0 && !$ct.loading">\n                    <td colspan="3" class="etl-center">No Data!</td>\n                </tr>\n            </table>\n            <table class="table table-bordered" ng-cloak="" ng-if="$ct.model.cnum===7">\n                <colgroup>\n                    <col style="width: 15%">\n                    <col style="width: 15%">\n                    <col style="width: 15%">\n                    <col style="width: 55%">\n                </colgroup>\n                <tr>\n                    <td>增</td>\n                    <td>删</td>\n                    <td>改</td>\n                    <td>表达式</td>\n                </tr>\n                <tr ng-repeat="item in $ct.list track by $index">\n                    <td><input type="checkbox" ng-checked="item.tab_ins" ng-disabled="true"></td>\n                    <td><input type="checkbox" ng-checked="item.tab_del" ng-disabled="true"></td>\n                    <td><input type="checkbox" ng-checked="item.tab_upt" ng-disabled="true"></td>\n                    <td><code ng-bind="item.expression | limitTo:50"></code></td>\n                </tr>\n                <tr ng-cloak="" ng-if="$ct.loading">\n                    <td colspan="4" class="etl-center">Loading......</td>\n                </tr>\n                <tr ng-cloak="" ng-if="$ct.list.length===0 && !$ct.loading">\n                    <td colspan="4" class="etl-center">No Data!</td>\n                </tr>\n            </table>\n            <table class="table table-bordered" ng-cloak="" ng-if="$ct.model.cnum===8">\n                <colgroup>\n                    <col style="width: 30%">\n                    <col style="width: 70%">\n                </colgroup>\n                <tr>\n                    <td>转换类型：</td>\n                    <td ng-bind="$ct.nowCzzhType">表达式</td>\n                </tr>\n                <tr ng-cloak="" ng-if="$ct.nowCzzhType===\'delete_to_update\'">\n                    <td>删除标记：</td>\n                    <td>\n                        <a href="javascript:void(0);" ng-cloak="" ng-hide="$ct.czzhModel.bjs.length===0" ng-click="$ct.showFlags($ct.czzhModel.bjs)">详情</a>\n                        <a href="javascript:void(0);" ng-cloak="" ng-show="$ct.czzhModel.bjs.length===0">无</a>\n                    </td>\n                </tr>\n                <tr ng-cloak="" ng-if="$ct.nowCzzhType===\'delete_to_update\'">\n                    <td>原值字段：</td>\n                    <td><code ng-bind="$ct.czzhModel.zds"></code></td>\n                </tr>\n                <tr>\n                    <td>表达式：</td>\n                    <td><code ng-bind="$ct.czzhModel.expression"></code></td>\n                </tr>\n            </table>\n        </div>\n    </div>\n    <div class="modal-footer">\n        <button class="btn btn-warning btn-sm" type="button" ng-click="$ct.cancel()">关闭</button>\n    </div><\/script>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("etl_view/condition.component.html",'<div class="modal-header"><button type="button" class="close" ng-click="$ctrl.cancel()" aria-label="Close"><span aria-hidden="true">×</span></button><h3 class="modal-title" id="modal-title">记录过滤</h3></div><div class="modal-body" id="modal-body"><div class="etl-condition-modal etl-all-rule"><div class="condition-head"><div class="dropdown"><button id="dLabel" class="btn btn-info btn-sm" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">操作<span class="caret"></span></button><ul class="dropdown-menu" role="menu" aria-labelledby="btn-append-to-body"><li class="divider"></li><li role="menuitem"><a href="javascript:void(0);" ng-click="$ctrl.openApplyToModal()">该策略应用到其他表</a></li></ul></div></div><div class="condition-body"><table class="table table-hover"><caption><h4>源库及表名：<span ng-bind="$ctrl.utInfo"></span></h4></caption><colgroup><col style="width: 10%"><col style="width: 45%"><col style="width: 25%"><col style="width: 20%"></colgroup><tr><th><input type="checkbox" ng-model="$ctrl.ckAll" ng-change="$ctrl.changeAll()"></th><th>表达式</th><th>是否保留 <i class="glyphicon glyphicon-question-sign" tooltip-placement="bottom" uib-tooltip="{{$ctrl.ruleTip}}"></i></th><th>编辑</th></tr><tr ng-repeat="item in $ctrl.addList track by $index"><td><input type="checkbox" class="etl-condition-son" ng-model="item.checked" ng-change="$ctrl.changeOne(item)"></td><td><code ng-bind="item.value"></code></td><td><label>保留：<input type="radio" value="yes" ng-model="item.option"></label><label>不保留：<input type="radio" ng-model="item.option" value="no"></label></td><td><a href="javascript:void(0)" class="btn fa fa-edit" ng-click="$ctrl.editColumn(item)"></a></td></tr></table></div><div class="etl-margin-top10"><button class="btn btn-info btn-sm" ng-click="$ctrl.addColumn()">增加行</button> <button class="btn btn-info btn-sm" ng-click="$ctrl.deleteColumn()">删除行</button></div></div></div><div class="modal-footer"><div class="pull-right"><button class="btn btn-primary btn-sm" ng-click="$ctrl.cancel()">取消</button> <button class="btn btn-primary btn-sm" ng-click="$ctrl.saveConditionRule()">保存</button></div><div class="clearfix"></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("etl_view/config.component.html",'<div role="tabpanel" class="tab-pane"><div class="panel panel-default"><form name="formQu" novalidate><div class="panel-heading">基本属性</div><div class="panel-body"><table class="table table-condensed"><tr ng-cloak="" ng-if="$ctrl.etl.etl_id.length>0"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">ETL ID：</label></div><div class="col-md-8 clearfix"><span class="ci-label" style="line-height: 30px" ng-bind="$ctrl.etl.etl_id" ng-class="{\'accord-pre\':$ctrl.params.filed8}"></span><p ng-class="{\'accord-next\':$ctrl.params.filed8}" ng-show="$ctrl.params.filed8" ng-cloak="">ETL唯一标示</p></div><div class="col-md-1"><div class="form-tip clearfix" ng-click="$ctrl.params.filed8=!$ctrl.params.filed8"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.filed8,\'glyphicon-question-sign\':!$ctrl.params.filed8}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formQu.etl_name.$dirty && formQu.etl_name.$invalid"><div uib-alert ng-class="\'alert-danger\'" ng-show="formQu.etl_name.$error.required">ETL名称不能为空！</div><div uib-alert ng-class="\'alert-danger\'" ng-show="formQu.etl_name.$error.pattern">ETL名称只能包含汉字、数字、字母、下划线，长度不超过20位！</div></div><div class="col-md-3"><label class="text-info">ETL名称：</label></div><div class="col-md-8 clearfix"><input class="form-control" ng-class="{\'accord-pre\':$ctrl.params.filed}" type="text" name="etl_name" ng-pattern="/^[a-zA-Z\\u4E00-\\u9FA5](\\w|[\\u4E00-\\u9FA5]|\\d){0,19}$/" ng-model="$ctrl.etl.etl_name" required><p ng-class="{\'accord-next\':$ctrl.params.filed}" ng-show="$ctrl.params.filed" ng-cloak="ng-cloak">ETL名称说明</p></div><div class="col-md-1"><div class="form-tip clearfix" ng-click="$ctrl.params.filed=!$ctrl.params.filed"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.filed,\'glyphicon-question-sign\':!$ctrl.params.filed}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">CHAR字符集：</label></div><div class="col-md-8 clearfix"><div class="from-group" ng-class="{\'accord-pre\':$ctrl.params.filed1}"><select class="form-control input-sm" ng-model="$ctrl.etl.etl_char" ng-options="item for item in $ctrl.pool.char_list"></select></div><p ng-class="{\'accord-next\':$ctrl.params.filed1}" ng-show="$ctrl.params.filed1" ng-cloak="ng-cloak">CHAR字符集说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.filed1=!$ctrl.params.filed1"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.filed1,\'glyphicon-question-sign\':!$ctrl.params.filed1}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">NCHAR字符集：</label></div><div class="col-md-8 clearfix"><div class="from-group" ng-class="{\'accord-pre\':$ctrl.params.filed2}"><select class="form-control input-sm" ng-model="$ctrl.etl.etl_nchar" ng-options="item for item in $ctrl.pool.nchar_list"></select></div><p ng-class="{\'accord-next\':$ctrl.params.filed2}" ng-show="$ctrl.params.filed2" ng-cloak="ng-cloak">NCHAR字符集说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.filed2=!$ctrl.params.filed2"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.filed2,\'glyphicon-question-sign\':!$ctrl.params.filed2}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">CLOB字符集：</label></div><div class="col-md-8 clearfix"><div class="from-group" ng-class="{\'accord-pre\':$ctrl.params.filed3}"><select class="form-control input-sm" ng-model="$ctrl.etl.etl_clob" ng-options="item for item in $ctrl.pool.clob_list"></select></div><p ng-class="{\'accord-next\':$ctrl.params.filed3}" ng-show="$ctrl.params.filed3" ng-cloak="ng-cloak">CLOB字符集说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.filed3=!$ctrl.params.filed3"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.filed3,\'glyphicon-question-sign\':!$ctrl.params.filed3}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">NCLOB字符集：</label></div><div class="col-md-8 clearfix"><div class="from-group" ng-class="{\'accord-pre\':$ctrl.params.filed4}"><select class="form-control input-sm" ng-model="$ctrl.etl.etl_nclob" ng-options="item for item in $ctrl.pool.nlob_list"></select></div><p ng-class="{\'accord-next\':$ctrl.params.filed4}" ng-show="$ctrl.params.filed4" ng-cloak="ng-cloak">NCLOB字符集说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.filed4=!$ctrl.params.filed4"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.filed4,\'glyphicon-question-sign\':!$ctrl.params.filed4}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="formQu.etl_jg.$dirty && formQu.etl_jg.$invalid"><div uib-alert ng-class="\'alert-danger\'" ng-show="formQu.etl_jg.$error.required">转换间隔时间不能为空！</div></div><div class="col-md-3"><label class="text-info" style="color:#333333 !important">转换间隔时间：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.filed5}"><input class="form-control" type="number" name="etl_jg" ng-model="$ctrl.etl.etl_jg" maxlength="10" min="0" required> <span class="input-group-addon">秒</span></div><p ng-class="{\'accord-next\':$ctrl.params.filed5}" ng-show="$ctrl.params.filed5" ng-cloak="">转换间隔时间说明</p></div><div class="col-md-1"><div class="form-tip clearfix" ng-click="$ctrl.params.filed5=!$ctrl.params.filed5"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.filed5,\'glyphicon-question-sign\':!$ctrl.params.filed5}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">转换通用格式：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.filed6}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.etl.etl_gs" value="yes">是</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.etl.etl_gs" value="no">否</label><i class="glyphicon glyphicon-question-sign" style="margin-left: 5px" tooltip-placement="bottom" uib-tooltip="{{$ctrl.etlGsTip}}"></i></div><p ng-class="{\'accord-next\':$ctrl.params.filed6}" ng-show="$ctrl.params.filed6" ng-cloak="ng-cloak">转换通用格式说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.filed6=!$ctrl.params.filed6"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.filed6,\'glyphicon-question-sign\':!$ctrl.params.filed6}"></span></div></div></div></td></tr><tr ng-cloak="" ng-if="$ctrl.etl.etl_gs===\'yes\'"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">转换字符集：</label></div><div class="col-md-8 clearfix"><div class="from-group" ng-class="{\'accord-pre\':$ctrl.params.filed7}"><select class="form-control input-sm" ng-model="$ctrl.etl.etl_zh" ng-options="item for item in $ctrl.pool.zh_list"></select></div><p ng-class="{\'accord-next\':$ctrl.params.filed7}" ng-show="$ctrl.params.filed7" ng-cloak="ng-cloak">转换字符集说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.filed7=!$ctrl.params.filed7"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.filed7,\'glyphicon-question-sign\':!$ctrl.params.filed7}"></span></div></div></div></td></tr></table></div><div class="panel-footer clearfix"><div class="pull-right"><button class="btn btn-primary btn-sm" ng-disabled="formQu.$invalid || $ctrl.isSave" ng-click="$ctrl.saveEtlConfig()">保存</button></div></div></form></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("etl_view/database.component.html",'<div class="modal-header"><button type="button" class="close" ng-click="$ctrl.cancel()" aria-label="Close"><span aria-hidden="true">×</span></button><h3 class="modal-title" id="modal-title">数据库配置</h3></div><form name="etlDb" novalidate><div class="modal-body" id="modal-body"><div class="row etl-db-modal"><table class="table"><tr><td><div class="col-sm-12"><div class="alert alert-info"><i class="fa fa-info"></i> 温馨提醒：保存数据库信息之前，请先测试数据库连接！</div></div></td></tr><tr><td><div class="col-sm-3">名称：</div><div class="col-sm-9"><input type="text" class="form-control" name="db_name" ng-model="$ctrl.model.db_name" maxlength="30" required ng-pattern="/^[a-zA-Z]\\w{0,29}$/"></div><div class="col-sm-12" ng-cloak="" ng-show="etlDb.db_name.$dirty && etlDb.db_name.$invalid"><div class="alert alert-danger" ng-show="etlDb.db_name.$error.required">名称不能为空！</div><div class="alert alert-danger" ng-show="etlDb.db_name.$error.pattern">名称只能包含数字、字母、下划线，不能以数字、下划线开头，长度不超过30位！</div></div></td></tr><tr><td><div class="col-sm-3">数据库类型：</div><div class="col-sm-9"><select class="form-control" ng-model="$ctrl.model.db_type" ng-options="item for item in $ctrl.dbs"></select></div></td></tr><tr><td><div class="col-sm-3">服务器IP地址：</div><div class="col-sm-9"><input type="text" name="db_ip" class="form-control" ng-model="$ctrl.model.db_ip" ng-model-options="{debounce: 500}" placeholder="127.0.0.1" ng-pattern="/^((25[0-5])|(2[0-4]\\d)|(1\\d\\d)|([1-9]\\d)|\\d)(\\.((25[0-5])|(2[0-4]\\d)|(1\\d\\d)|([1-9]\\d)|\\d)){3}$/" required></div><div class="col-sm-12" ng-cloak="" ng-show="etlDb.db_ip.$dirty && etlDb.db_ip.$invalid"><div class="alert alert-danger" ng-show="etlDb.db_ip.$error.required">服务器IP地址不能为空！</div><div class="alert alert-danger" ng-show="etlDb.db_ip.$error.pattern">服务器IP地址格式不合法！</div></div></td></tr><tr><td><div class="col-sm-3">服务器端口：</div><div class="col-sm-9"><input type="text" name="db_port" class="form-control" ng-model="$ctrl.model.db_port" ng-model-options="{debounce: 200}" ng-pattern="/^[1-9]$|(^[1-9][0-9]$)|(^[1-9][0-9][0-9]$)|(^[1-9][0-9][0-9][0-9]$)|(^[1-6][0-5][0-5][0-3][0-5]$)/" required></div><div class="col-sm-12" ng-cloak="" ng-show="etlDb.db_port.$dirty && etlDb.db_port.$invalid"><div class="alert alert-danger" ng-show="etlDb.db_port.$error.required">服务器端口不能为空！</div><div class="alert alert-danger" ng-show="etlDb.db_port.$error.pattern">服务器端口格式不合法！</div></div></td></tr><tr><td><div class="col-sm-3">Service名称：</div><div class="col-sm-9"><input type="text" class="form-control" name="db_id" ng-model="$ctrl.model.db_id" ng-pattern="/^[a-zA-Z]\\w{0,29}$/" required maxlength="30"></div><div class="col-sm-12" ng-cloak="" ng-show="etlDb.db_id.$dirty && etlDb.db_id.$invalid"><div class="alert alert-danger" ng-show="etlDb.db_id.$error.required">Service名称不能为空！</div><div class="alert alert-danger" ng-show="etlDb.db_id.$error.pattern">Service名称只能包含数字、字母、下划线，不能以数字、下划线开头，长度不超过30位！</div></div></td></tr><tr><td><div class="col-sm-3">用户名：</div><div class="col-sm-9"><input type="text" class="form-control" name="db_user" ng-model="$ctrl.model.db_user" ng-maxlength="30" required maxlength="30"></div><div class="col-sm-12" ng-cloak="" ng-show="etlDb.db_user.$dirty && etlDb.db_user.$invalid"><div class="alert alert-danger" ng-show="etlDb.db_user.$error.required">用户名不能为空！</div><div class="alert alert-danger" ng-show="etlDb.db_user.$error.maxlength">用户名长度不能超过30位！</div></div></td></tr><tr><td><div class="col-sm-3">密码：</div><div class="col-sm-9"><input type="password" class="form-control" name="db_passoword" ng-model="$ctrl.model.db_password" required maxlength="60"></div><div class="col-sm-12" ng-cloak="" ng-show="etlDb.db_passoword.$dirty && etlDb.db_passoword.$invalid"><div class="alert alert-danger" ng-show="etlDb.db_passoword.$error.required">密码不能为空！</div></div></td></tr></table></div></div><div class="modal-footer"><div class="pull-left"><button class="btn btn-info btn-sm" type="button" ng-click="$ctrl.testDbConnect()" ng-disabled="formQu.$invalid || $ctrl.isTest">测试数据库连接</button></div><div class="pull-right"><button class="btn btn-primary btn-sm" ng-click="$ctrl.cancel()">取消</button> <button class="btn btn-primary btn-sm" ng-click="$ctrl.saveDbInfo()" ng-disabled="formQu.$invalid || $ctrl.notPass">保存</button></div><div class="clearfix"></div></div></form>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("etl_view/delete.component.html",'<div class="modal-header"><button type="button" class="close" ng-click="$ctrl.cancel()" aria-label="Close"><span aria-hidden="true">×</span></button><h3 class="modal-title" id="modal-title">删除列</h3></div><div class="modal-body" id="modal-body"><div class="etl-condition-modal etl-all-rule"><div class="condition-head"><div class="dropdown"><button id="dLabel" class="btn btn-info btn-sm" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">操作<span class="caret"></span></button><ul class="dropdown-menu" role="menu" aria-labelledby="btn-append-to-body"><li class="divider"></li><li role="menuitem"><a href="javascript:void(0);" ng-click="$ctrl.openApplyToModal()">该策略应用到其他表</a></li></ul></div><div style="margin-bottom: 10px">搜 索： <input type="text" style="margin-left: 8px" ng-model="$ctrl.filter" placeholder="搜索字段名称" maxlength="120"></div></div><div class="condition-body"><table class="table table-hover"><caption><h4>源库及表名：<span ng-bind="$ctrl.utInfo"></span></h4></caption><colgroup><col style="width: 10%"><col style="width: 50%"><col style="width: 40%"></colgroup><tr><th><input type="checkbox" ng-model="$ctrl.ckAll" ng-change="$ctrl.changeAll()"></th><th>字段名称</th><th>字段类型</th></tr><tr ng-repeat="item in ($ctrl.selList=($ctrl.addList | filter:{name:$ctrl.filter} | orderBy:\'-item.checked\')) track by $index"><td><input type="checkbox" class="etl-delete-son" ng-model="item.checked" ng-change="$ctrl.changeOne(item)"></td><td ng-bind="item.name"></td><td ng-bind="item.type"></td></tr></table></div></div></div><div class="modal-footer"><div class="pull-right"><button class="btn btn-primary btn-sm" ng-click="$ctrl.cancel()">取消</button> <button class="btn btn-primary btn-sm" ng-click="$ctrl.saveDeleteRule()" ng-disabled="$ctrl.selList.length===0">保存</button></div><div class="clearfix"></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("etl_view/etl_property.component.html",'<div class="pull-left"><h4 ng-bind="$ctrl.etl_title" style="line-height:40px"></h4></div><div class="pull-right" style="margin-bottom: 10px"><div class="dropdown"><button id="dLabel" class="btn btn-primary btn-sm" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">ETL操作<span class="caret"></span></button><ul class="dropdown-menu" style="right: 0 !important;left: auto" role="menu" aria-labelledby="btn-append-to-body"><li role="menuitem"><a href="javascript:void(0);" ui-sref=".config" ng-click="$ctrl.changeJob(1)">ETL属性</a></li><li class="divider"></li><li role="menuitem"><a href="javascript:void(0);" ng-click="$ctrl.changeJob(2)">规则配置</a></li><li role="menuitem"><a href="javascript:void(0);" ng-click="$ctrl.changeJob(3)">表过滤</a></li><li role="menuitem"><a href="javascript:void(0);" ng-click="$ctrl.changeJob(4)">操作过滤</a></li><li role="menuitem"><a href="javascript:void(0);" ng-click="$ctrl.changeJob(6)">已配置规则</a></li><li class="divider"></li><li role="menuitem"><a href="javascript:void(0);" ng-click="$ctrl.changeJob(5)">批量配置</a></li><li role="menuitem"><a href="javascript:void(0);" ng-click="$ctrl.changeJob(7)">批量配置值绑定</a></li></ul></div></div><div class="clearfix"></div><ui-view></ui-view>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){
  l.put("etl_view/etl_status.component.html",'<div role="tabpanel"><div class="panel panel-default"><div class="panel-heading">基本属性</div><div class="panel-body"><table class="table table-condensed"><tr ng-cloak="" ng-show="$ctrl.etl.etl_id.length>0"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">ETL ID：</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.etl.etl_id" ng-class="{\'accord-pre\':$ctrl.params.filed}">1</span><p ng-cloak ng-show="$ctrl.params.filed" ng-class="{\'accord-next\':$ctrl.params.filed}">ETL唯一标示</p></div><div class="col-md-1"><span ng-click="$ctrl.params.filed=!$ctrl.params.filed" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.filed,\'glyphicon-question-sign\':!$ctrl.params.filed}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">ETL名称：</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.etl.etl_name" ng-class="{\'accord-pre\':$ctrl.params.filed1}">1</span><p ng-cloak ng-show="$ctrl.params.filed1" ng-class="{\'accord-next\':$ctrl.params.filed1}">ETL名称说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.filed1=!$ctrl.params.filed1" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.filed1,\'glyphicon-question-sign\':!$ctrl.params.filed1}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">CHAR字符集：</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.etl.etl_char" ng-class="{\'accord-pre\':$ctrl.params.filed2}">1</span><p ng-cloak ng-show="$ctrl.params.filed2" ng-class="{\'accord-next\':$ctrl.params.filed2}">CHAR字符集说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.filed2=!$ctrl.params.filed2" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.filed2,\'glyphicon-question-sign\':!$ctrl.params.filed2}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">NCHAR字符集：</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.etl.etl_nchar" ng-class="{\'accord-pre\':$ctrl.params.filed3}">1</span><p ng-cloak ng-show="$ctrl.params.filed3" ng-class="{\'accord-next\':$ctrl.params.filed3}">NCHAR字符集说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.filed3=!$ctrl.params.filed3" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.filed3,\'glyphicon-question-sign\':!$ctrl.params.filed3}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">CLOB字符集：</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.etl.etl_clob" ng-class="{\'accord-pre\':$ctrl.params.filed4}">1</span><p ng-cloak ng-show="$ctrl.params.filed4" ng-class="{\'accord-next\':$ctrl.params.filed4}">CLOB字符集说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.filed4=!$ctrl.params.filed4" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.filed4,\'glyphicon-question-sign\':!$ctrl.params.filed4}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">NCLOB字符集：</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.etl.etl_nclob" ng-class="{\'accord-pre\':$ctrl.params.filed5}">1</span><p ng-cloak ng-show="$ctrl.params.filed5" ng-class="{\'accord-next\':$ctrl.params.filed5}">NCLOB字符集说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.filed5=!$ctrl.params.filed5" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.filed5,\'glyphicon-question-sign\':!$ctrl.params.filed5}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">转换间隔时间：</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.etl.etl_jg" ng-class="{\'accord-pre\':$ctrl.params.filed6}">1</span><p ng-cloak ng-show="$ctrl.params.filed6" ng-class="{\'accord-next\':$ctrl.params.filed6}">转换间隔时间说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.filed6=!$ctrl.params.filed6" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.filed6,\'glyphicon-question-sign\':!$ctrl.params.filed6}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">转换通用格式：</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.etl.etl_gs" ng-class="{\'accord-pre\':$ctrl.params.filed7}">1</span><p ng-cloak ng-show="$ctrl.params.filed7" ng-class="{\'accord-next\':$ctrl.params.filed7}">转换通用格式说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.filed7=!$ctrl.params.filed7" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.filed7,\'glyphicon-question-sign\':!$ctrl.params.filed7}"></span></div></div></td></tr><tr ng-cloak="" ng-if="$ctrl.etl.isGs"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">转换字符集：</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.etl.etl_zh" ng-class="{\'accord-pre\':$ctrl.params.filed8}">1</span><p ng-cloak ng-show="$ctrl.params.filed8" ng-class="{\'accord-next\':$ctrl.params.filed8}">转换字符集说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.filed8=!$ctrl.params.filed8" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.filed8,\'glyphicon-question-sign\':!$ctrl.params.filed8}"></span></div></div></td></tr></table></div></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("etl_view/expression.component.html",'<div class="modal-header"><button type="button" class="close" ng-click="$ctrl.cancel()" aria-label="Close"><span aria-hidden="true">×</span></button><h3 class="modal-title">表达式编辑</h3></div><div class="modal-body"><div class="rule-bds-edit"><div class="alert alert-info"><div ng-cloak="" ng-if="$ctrl.type===\'large\'"><pre ng-cloak="" ng-show="$ctrl.row.connect_db===\'yes\'">\n表达式范例：列名ID,NAME\n            :ID=1923 AND :NAME=\'wang\'\n            新列值：N:ID=1923 AND N:NAME=\'wang\'\n            旧列值：O:ID=1923 AND O:NAME=\'wang\'\n            </pre><pre ng-cloak="" ng-show="$ctrl.row.connect_db===\'no\'">\n表达式范例：列名ID,NAME\n            {ID}=1923 AND {NAME}=\'wang\'\n            新列值：N{ID}=1923 AND N{NAME}=\'wang\'\n            旧列值：O{ID}=1923 AND O{NAME}=\'wang\'\n            </pre></div><div ng-cloak="" ng-if="$ctrl.type===\'normal\'"><pre ng-cloak="" ng-show="$ctrl.row.connect_db===\'yes\'">\n表达式范例：列名NAME  (注释：sqlserver数据库请使用 substring(:NMAE,1,3))\n            substr(:NAME,1,3)\n            </pre><pre ng-cloak="" ng-show="$ctrl.row.connect_db===\'no\'">\n表达式范例：列名NAME\n            @substr({NAME},1,3)\n            </pre></div><div ng-cloak="" ng-if="$ctrl.type===\'pl\'"><pre ng-cloak="" ng-show="$ctrl.row.connect_db===\'yes\'">\n表达式范例：列名ID,NAME\n            :ID=1923 AND :NAME=%s\n            新列值：N:ID=1923 AND N:NAME=%s\n            旧列值：O:ID=1923 AND O:NAME=%s\n            </pre><pre ng-cloak="" ng-show="$ctrl.row.connect_db===\'no\'">\n表达式范例：列名ID,NAME\n            {ID}=1923 AND {NAME}=%s\n            新列值：N{ID}=1923 AND N{NAME}=%s\n            旧列值：O{ID}=1923 AND O{NAME}=%s\n            </pre></div></div><div class="clearfix"><div class="rule-bds-edit-left"><h4>已选择列名</h4><ul><li ng-repeat="row in $ctrl.row.bdList track by $index" ng-bind="row"></li></ul></div><div class="rule-bds-edit-right" ng-class="{\'work-area-on\':$ctrl.bindNameVisble}"><h4>表达式编辑</h4><div class="work-area"><ul><li ng-repeat="field in $ctrl.row.clist track by $index" ng-bind="field.column_name" ng-click="$ctrl.insertToText(field.column_name)"></li></ul><textarea ng-model="$ctrl.row.expression" id="bjq_expression"></textarea></div><div class="clearfix"></div></div></div><div class="rule-bds-edit-footer clearfix"><div class="pull-left"><button class="btn btn-default btn-sm etl-fix-input-right" ng-cloak="" ng-if="$ctrl.isAllowTable" ng-click="$ctrl.selectOneTable()">选择表</button> <button class="btn btn-default btn-sm" ng-click="$ctrl.bindNameVisble=!$ctrl.bindNameVisble">字段变量</button><label class="etl-fix-input-left">连接数据库：</label>是 <input type="radio" ng-model="$ctrl.row.connect_db" value="yes"> <button class="btn btn-default btn-sm" ng-disabled="$ctrl.row.connect_db===\'no\'" ng-click="$ctrl.dbConfig()">配置数据库</button> 否 <input type="radio" ng-model="$ctrl.row.connect_db" value="no"></div><div class="pull-right"><button class="btn btn-info btn-sm etl-fix-input-right" ng-click="$ctrl.checkExpression()">合法性检查</button> <button class="btn btn-primary btn-sm" ng-click="$ctrl.cancel()">关闭</button> <button class="btn btn-primary btn-sm" ng-click="$ctrl.saveExpression()">保存</button></div></div></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("etl_view/main.component.html",'<div class="modal-dialog slide-panel" id="modal-dialog" ng-cloak ng-show="$ctrl.dialog"><div class="modal-content slide-bg-color"><div class="modal-header header-bg-color" style="z-index:999"><button type="button" class="close" ng-click="$ctrl.redirectTo(\'/\')"><span class="fa fa-close"></span></button><h4 class="modal-title">ETL配置</h4></div><div class="modal-body slide-bg-color"><div class="panel slide-bg-color"><div class="panel-body"><ul class="nav nav-tabs" role="tablist"><li role="presentation" ng-class="{\'active\':$ctrl.current===1}"><a href="javascript:void(0);" ng-click="$ctrl.changeTo(\'status\')" class="nav-size">状态</a></li><li role="presentation" ng-class="{\'active\':$ctrl.current===2}"><a href="javascript:void(0);" ng-click="$ctrl.changeTo(\'property\')" class="nav-size">配置</a></li></ul><div class="tab-content"><ui-view></ui-view></div></div></div></div></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("etl_view/map.component.html",'<div class="modal-header"><button type="button" class="close" ng-click="$ctrl.cancel()" aria-label="Close"><span aria-hidden="true">×</span></button><h3 class="modal-title" id="modal-title">映射列规则</h3></div><div class="modal-body" id="modal-body"><div class="etl-map-modal etl-all-rule"><div class="map-head"><div class="dropdown"><button id="dLabel" class="btn btn-info btn-sm" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">操作<span class="caret"></span></button><ul class="dropdown-menu" role="menu" aria-labelledby="btn-append-to-body"><li role="menuitem"><a href="javascript:void(0);" ng-click="$ctrl.openTargetsModal()">获取目标库对应表名</a></li><li class="divider"></li><li role="menuitem"><a href="javascript:void(0);" ng-click="$ctrl.openApplyToModal()">该策略应用到其他表</a></li></ul><span class="rule-table-name" ng-bind="$ctrl.targetLabel"></span></div></div><div class="map-body"><table class="table table-hover"><colgroup><col style="width: 5%"><col style="width: 16%"><col style="width: 14%"><col style="width: 16%"><col style="width: 14%"><col style="width: 25%"><col style="width: 10%"></colgroup><tr><th><input type="checkbox" ng-model="$ctrl.ckAll" ng-change="$ctrl.changeAll()"></th><th>字段名称</th><th>类型</th><th>映射名</th><th>类型</th><th>映射列值</th><th>编辑</th></tr><tr ng-repeat="item in $ctrl.addList | orderBy:\'-item.checked\' track by $index"><td><input type="checkbox" class="etl-map-son" ng-model="item.checked" ng-change="$ctrl.changeOne(item)"></td><td ng-bind="item.name"></td><td ng-bind="item.type"></td><td><select ng-model="item.map" ng-change="item.map?item.checked=true:item.checked=false"><option value=""></option><option ng-repeat="map in item.maps track by $index" value="{{map}}" ng-bind="map"></option></select></td><td ng-bind="item.type"></td><td><code ng-bind="item.value"></code></td><td><a href="javascript:void(0)" class="btn fa fa-edit" ng-click="$ctrl.editColumn(item)"></a></td></tr></table></div></div></div><div class="modal-footer"><div class="pull-right"><button class="btn btn-primary btn-sm" ng-click="$ctrl.cancel()">取消</button> <button class="btn btn-primary btn-sm" ng-click="$ctrl.saveMapRule()">保存</button></div><div class="clearfix"></div></div><script type="text/ng-template" id="etlMapModal.html"><div class="modal-header">\n        <button type="button" class="close" ng-click="$ct.cancel()" aria-label="Close"><span aria-hidden="true">×</span></button>\n        <h3 class="modal-title">编辑列字段</h3>\n    </div>\n    <div class="modal-body">\n        <table class="table table-bordered">\n            <tr>\n                <td>字段：</td>\n                <td><input type="text" class="form-control" ng-model="$ct.model.map" maxlength="60"></td>\n            </tr>\n            <tr>\n                <td>值类型：</td>\n                <td>表达式</td>\n            </tr>\n            <tr>\n                <td>字段值：</td>\n                <td>\n                    <button class="btn btn-info btn-sm" ng-click="$ct.edit()">表达式编辑</button>\n                </td>\n            </tr>\n        </table>\n    </div>\n    <div class="modal-footer">\n        <button class="btn btn-warning btn-sm" type="button" ng-click="$ct.cancel()">取消</button>\n        <button class="btn btn-primary btn-sm" type="button" ng-click="$ct.ok()">确定</button>\n    </div><\/script>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("etl_view/operation.component.html",'<div class="modal-header"><button type="button" class="close" ng-click="$ctrl.cancel()" aria-label="Close"><span aria-hidden="true">×</span></button><h3 class="modal-title">操作转换</h3></div><div class="modal-body"><div class="rule-bds-edit"><div class="alert alert-info"><pre ng-cloak="" ng-show="$ctrl.row.connect_db===\'yes\'">\n表达式范例：列名ID,NAME\n            :ID=1923 AND :NAME=\'wang\'\n            新列值：N:ID=1923 AND N:NAME=\'wang\'\n            旧列值：O:ID=1923 AND O:NAME=\'wang\'\n            </pre><pre ng-cloak="" ng-show="$ctrl.row.connect_db===\'no\'">\n表达式范例：列名ID,NAME\n            {ID}=1923 AND {NAME}=\'wang\'\n            新列值：N{ID}=1923 AND N{NAME}=\'wang\'\n            旧列值：O{ID}=1923 AND O{NAME}=\'wang\'\n            </pre></div><div class="clearfix"><div class="etl-margin-bottom10 etl-line-height30">转换类型：<select ng-model="$ctrl.operate" ng-change="$ctrl.changeOperation()"><option class=""></option><option value="inserttoupdate">insert → update</option><option value="updatetoinsert">update → insert/delete</option><option value="deletetoupdate">delete → update</option></select><div class="etl-delete-div" ng-cloak="" ng-if="$ctrl.operate===\'deletetoupdate\'"><button class="btn btn-info btn-sm" ng-click="$ctrl.deleteFlag()">删除标记</button> <button class="btn btn-info btn-sm" ng-click="$ctrl.keepFieldList()">保留原值字段</button></div></div><div class="rule-bds-edit-left"><h4>已选择列名</h4><ul><li ng-repeat="row in $ctrl.row.bdList track by $index" ng-bind="row"></li></ul></div><div class="rule-bds-edit-right" ng-class="{\'work-area-on\':$ctrl.bindNameVisble}"><h4>表达式编辑</h4><div class="work-area"><ul><li ng-repeat="field in $ctrl.row.clist track by $index" ng-bind="field.column_name" ng-click="$ctrl.insertToText(field.column_name)"></li></ul><textarea ng-model="$ctrl.row.expression" id="bjq_expression"></textarea></div><div class="clearfix"></div></div></div><div class="rule-bds-edit-footer clearfix"><div class="pull-left"><button class="btn btn-default btn-sm" ng-click="$ctrl.bindNameVisble=!$ctrl.bindNameVisble">字段变量</button><label class="etl-fix-input-left">连接数据库：</label>是 <input type="radio" ng-model="$ctrl.row.connect_db" value="yes"> <button class="btn btn-default btn-sm" ng-disabled="$ctrl.row.connect_db===\'no\'" ng-click="$ctrl.dbConfig()">配置数据库</button> 否 <input type="radio" ng-model="$ctrl.row.connect_db" value="no"></div><div class="pull-right"><button class="btn btn-info btn-sm etl-fix-input-right" ng-click="$ctrl.checkExpression()">合法性检查</button> <button class="btn btn-primary btn-sm" ng-click="$ctrl.cancel()">关闭</button> <button class="btn btn-primary btn-sm" ng-click="$ctrl.saveExpression()">保存</button></div></div></div></div><script type="text/ng-template" id="delete_flag.model.html"><div class="modal-header">\n        <button type="button" class="close" ng-click="$ct.cancel()" aria-label="Close"><span aria-hidden="true">×</span></button>\n        <h3 class="modal-title" id="modal-title1">删除标记</h3>\n    </div>\n    <div class="modal-body" id="modal-body1">\n        <div class="etl-operation-delete">\n            <table class="table table-bordered">\n                <colgroup>\n                    <col style="width: 10%">\n                    <col style="width: 35%">\n                    <col style="width: 20%">\n                    <col style="width: 35%">\n                </colgroup>\n                <tr>\n                    <td><input type="checkbox" title="全选" ng-model="$ct.ckAll" ng-change="$ct.changeCA()"></td>\n                    <td>字段名称</td>\n                    <td>值类型</td>\n                    <td>字段值</td>\n                </tr>\n                <tr ng-repeat="item in $ct.flags track by $index">\n                    <td><input type="checkbox" ng-model="item.checked" ng-change="$ct.sonChange(item)"></td>\n                    <td><input type="text" maxlength="60" ng-model="item.name"></td>\n                    <td>固定字符串</td>\n                    <td><input type="text" maxlength="60" ng-model="item.value"></td>\n                </tr>\n            </table>\n        </div>\n    </div>\n    <div class="modal-footer">\n        <div class="pull-left">\n            <button class="btn btn-default btn-sm" type="button" ng-click="$ct.addRow()">增加行</button>\n            <button class="btn btn-default btn-sm" type="button" ng-click="$ct.removeRow()">删除行</button>\n        </div>\n        <div class="pull-right">\n            <button class="btn btn-warning btn-sm" type="button" ng-click="$ct.cancel()">取消</button>\n            <button class="btn btn-primary btn-sm" type="button" ng-click="$ct.ok()">保存</button>\n        </div>\n        <div class="clearfix"></div>\n    </div><\/script><script type="text/ng-template" id="keepFieldList.model.html"><div class="modal-header">\n        <button type="button" class="close" ng-click="$ct.cancel()" aria-label="Close"><span aria-hidden="true">×</span></button>\n        <h3 class="modal-title" id="modal-title">保留原值字段</h3>\n    </div>\n    <div class="modal-body" id="modal-body">\n       <div class="row">\n           <div class="panel panel-default col-md-5 etl-delete-box">\n               <div class="panel-heading inner-paner">不保留</div>\x3c!--不保留--\x3e\n               <div class="panel-body inner-paner">\n                   <select name="unselect_user" multiple class="etl-delete-select" ng-model="$ct.unselModel" >\n                       <option class="list-group-item" value="{{item}}" ng-repeat="item in $ct.unselList track by $index">{{item}}</option>\n                   </select>\n               </div>\n           </div>\n           <div class="col-md-2 etl-delete-box">\n               <div class="vertical-center">\n                   <button class="btn btn-default center-block" ng-click="$ct.pushSelect()" ng-bind="$ct.left"></button>\n                   <button class="btn btn-default center-block push_select" ng-click="$ct.removeSelect()" ng-bind="$ct.right"></button>\n               </div>\n           </div>\n           <div class="panel panel-default col-md-5 etl-delete-box">\n               <div class="panel-heading inner-paner">保留</div>\x3c!--保留--\x3e\n               <div class="panel-body inner-paner">\n                   <select name="select_user" multiple class="etl-delete-select"  ng-model="$ct.selModel">\n                       <option class="list-group-item"  value="{{item}}" ng-repeat="item in $ct.selList track by $index">{{item}}</option>\n                   </select>\n               </div>\n           </div>\n       </div>\n    </div>\n    <div class="modal-footer">\n        <div class="pull-right">\n            <button class="btn btn-warning btn-sm" type="button" ng-click="$ct.cancel()">取消</button>\n            <button class="btn btn-primary btn-sm" type="button" ng-click="$ct.ok()">保存</button>\n        </div>\n        <div class="clearfix"></div>\n    </div><\/script>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("etl_view/op_filter.component.html",'<div class="etl-bgl"><div class="row"><div class="col-md-4"><div class="etl-bgl-left"><div class="etl-bgl-head"><input type="text" placeholder="用户名搜索" ng-model="$ctrl.userFilter"></div><div class="etl-bgl-body"><ul><li ng-repeat="uname in $ctrl.users | filter:$ctrl.userFilter track by $index"><a href="javascript:void(0);" ng-click="$ctrl.getTable(uname,$event)" title="{{uname}}" ng-bind="uname"></a></li><li ng-cloak="" ng-if="$ctrl.users.length===0"><a href="javascript:void(0);">No Users!</a></li></ul></div></div></div><div class="col-md-8"><div class="etl-bgl-left"><div class="etl-bgl-head2"><input type="text" placeholder="表名搜索" ng-model="$ctrl.tableFilter"></div><div class="etl-bgl-body"><table class="table"><colgroup><col style="width: 54%"><col style="width: 12%"><col style="width: 12%"><col style="width: 12%"><col style="width: 10%"></colgroup><tr class="czgl-tr"><td>表名</td><td><label title="全选">增<input type="checkbox" ng-model="$ctrl.ckAllIns" ng-click="$ctrl.checkAll(1)"></label></td><td><label title="全选">删<input type="checkbox" ng-model="$ctrl.ckAllDel" ng-click="$ctrl.checkAll(2)"></label></td><td><label title="全选">改<input type="checkbox" ng-model="$ctrl.ckAllUpt" ng-click="$ctrl.checkAll(3)"></label></td><td>操作</td></tr><tr ng-repeat="item in ($ctrl.selTables=($ctrl.tables | filter:{name:$ctrl.tableFilter})) track by $index"><td><a href="javascript:void(0)" ng-bind="item.name"></a></td><td><label>增<input type="checkbox" ng-model="item.tab_ins" ng-click="$ctrl.checkOne(item,1)"></label></td><td><label>删<input type="checkbox" ng-model="item.tab_del" ng-click="$ctrl.checkOne(item,2)"></label></td><td><label>改<input type="checkbox" ng-model="item.tab_upt" ng-click="$ctrl.checkOne(item,3)"></label></td><td><a class="btn fa fa-edit" ng-click="$ctrl.editExpression(item)"></a></td></tr><tr ng-cloak="" ng-if="$ctrl.loading"><td colspan="5" class="etl-center"><a href="javascript:void(0)">Loading......</a></td></tr><tr ng-cloak="" ng-if="!$ctrl.loading && $ctrl.tables.length===0"><td colspan="5" class="etl-center"><a href="javascript:void(0)">No User!</a></td></tr><tr ng-cloak="" ng-if="$ctrl.tables.length>0 && $ctrl.selTables.length===0"><td colspan="5" class="etl-center"><a href="javascript:void(0)">No Result!</a></td></tr></table></div></div></div><div class="col-md-12 etl-margin-top10"><div class="pull-right"><button class="btn btn-primary btn-sm" ng-click="$ctrl.saveEtlCzglRule()">保存</button></div><div class="clearfix"></div></div></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("etl_view/pl_filter.component.html",'<div class="etl-pl-rule"><div class="row"><div class="col-md-4"><div class="etl-pl-head"><div class="etl-pl-head1"><select ng-model="$ctrl.filter_way" ng-change="$ctrl.changeRuleType()"><option value="filter">批量过滤</option><option value="transform">批量转换</option></select></div><input type="text" class="etl-pl-head2" placeholder="搜索规则集" ng-model="$ctrl.ruleFilter"><div class="etl-pl-head3"><ul><li ng-repeat="name in ($ctrl.selUsers=($ctrl.users | filter:$ctrl.ruleFilter)) track by $index"><a href="javascript:void(0);" ng-bind="name" ng-click="$ctrl.getRule(name,$event)"></a></li><li ng-cloak="" ng-if="$ctrl.users.length===0"><a href="javascript:void(0);">No Data!</a></li><li ng-cloak="" ng-if="$ctrl.users.length>0  && $ctrl.selUsers.length===0"><a href="javascript:void(0);">No Result!</a></li></ul></div></div><div class="etl-pl-foot clearfix"><input type="text" placeholder="添加规则集名" maxlength="100" ng-model="$ctrl.newRuleName"> <button class="btn btn-default btn-sm" ng-click="$ctrl.addRuleName()" ng-disabled="!$ctrl.newRuleName" tooltip-placement="bottom" uib-tooltip="{{$ctrl.addBtnTip}}">添加</button></div></div><div class="col-md-8"><div class="etl-pl-right"><div class="etl-pl-right-body" id="etlPlList"><table class="table table-striped"><colgroup><col style="width: 5%"><col style="width: 10%"><col style="width: 20%"><col style="width: 30%"><col style="width: 10%"><col style="width: 15%"><col style="width: 10%"></colgroup><tr><td><input type="checkbox" ng-model="$ctrl.ckAll" ng-change="$ctrl.checkAll()"></td><td>ID</td><td>是否保留</td><td>表达式</td><td>编辑</td><td>变量名</td><td>复用</td></tr><tr ng-repeat="item in $ctrl.rules track by $index"><td><input type="checkbox" ng-model="item.checked" ng-change="$ctrl.checkOne(item)" class="etl-pl-item"></td><td ng-bind="item.id"></td><td><label><input type="radio" value="yes" ng-model="item.resered">yes</label><label><input type="radio" value="no" ng-model="item.resered">no</label></td><td><code ng-bind="item.value"></code></td><td><a href="javascript:void(0);" class="btn fa fa-edit pl-edit" ng-click="$ctrl.editExpression(item)"></a></td><td><input type="text" style="width: 100%" maxlength="30" ng-model="item.coder" ng-change="item.coder?item.checked=true:item.checked=false"></td><td><a href="javascript:void(0);" class="btn fa fa-copy pl-edit" ng-disabled="$ctrl.isApply" ng-click="$ctrl.applyRuleToOthers(item)" tooltip-placement="bottom" uib-tooltip="{{$ctrl.applyTips}}"></a></td></tr><tr ng-cloak="" ng-if="$ctrl.loading"><td class="etl-center" colspan="7"><a href="javascript:void(0);">Loading......</a></td></tr><tr ng-cloak="" ng-if="$ctrl.rules.length===0 && !$ctrl.loading"><td class="etl-center" colspan="7"><a href="javascript:void(0);">No Data!</a></td></tr></table></div><div class="etl-pl-right-foot clearfix"><div class="pull-left"><button class="btn btn-info btn-sm" ng-disabled="$ctrl.users.length===0" ng-click="$ctrl.addNewColumn()">添加行</button> <button class="btn btn-info btn-sm" ng-disabled="$ctrl.users.length===0" ng-click="$ctrl.deleteColumn()">删除行</button></div></div></div></div><div class="col-md-12 etl-margin-top10"><div class="pull-right"><button class="btn btn-primary btn-sm" ng-click="$ctrl.savePlRule()" ng-disabled="$ctrl.users.length===0">保存</button></div><div class="clearfix"></div></div></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("etl_view/rule.component.html",'<div class="etl-rule" id="etl_rule_id"><div class="row"><div class="col-md-5"><div class="etl-rule-left"><div class="etl-rule-head"><input type="text" placeholder="用户名搜索" ng-model="$ctrl.u_filter"></div><div class="etl-rule-body"><ul><li ng-repeat="uname in $ctrl.users | filter:$ctrl.u_filter" ng-class="{\'active\':$ctrl.current_user===uname}"><a href="javascript:void(0);" ng-click="$ctrl.showTables(uname)" title="{{uname}}" ng-bind="uname"></a></li><li ng-cloak="" ng-if="$ctrl.users.length===0"><a href="javascript:void(0);">No Users!</a></li></ul></div></div><div class="etl-rule-left"><div class="etl-rule-head"><input type="text" placeholder="表名搜索" ng-model="$ctrl.t_filter"></div><div class="etl-rule-body"><ul><li ng-repeat="tname in $ctrl.tables | filter:$ctrl.t_filter" ng-class="{\'active\':$ctrl.current_table===tname}"><a href="javascript:void(0);" ng-click="$ctrl.getRuleByName(tname)" title="{{tname}}" ng-bind="tname"></a></li><li ng-cloak="" ng-if="!$ctrl.onLoading && $ctrl.tables.length===0"><a href="javascript:void(0);">No Tables!</a></li><li ng-cloak="" ng-if="$ctrl.onLoading"><a href="javascript:void(0);">Loading......</a></li></ul></div></div></div><div class="col-md-7"><div class="etl-rule-right"><table class="table table-bordered"><colgroup><col style="width: 25%"><col style="width: 50%"><col style="width: 25%"></colgroup><tr><td colspan="3" ng-bind="$ctrl.current_map"></td></tr><tr><td><strong>序号</strong></td><td><strong>规则</strong></td><td><strong>操作</strong></td></tr><tr ng-repeat="item in $ctrl.rules track by $index"><td ng-bind="$index+1"></td><td ng-bind="item.title">增加列</td><td><a href="javascript:void(0)" style="margin-right: 20px" ng-click="$ctrl.editRuleInfo(item.name)">编辑</a><a href="javascript:void(0)" ng-click="$ctrl.deleteRules($index)">删除</a></td></tr></table></div></div><div class="col-md-12"><div class="pull-right"><button class="btn btn-default btn-sm" style="margin-right: 10px" ng-click="$ctrl.showRules()">增加规则</button> <button class="btn btn-primary btn-sm" ng-click="$ctrl.saveEtlTableRules()">保存</button></div><div class="clearfix"></div></div></div><div class="modal fade modal-custom" id="dialog_confirm_map" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true"><div class="modal-dialog modal-sm" role="document"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button><h4 class="modal-title" id="mySmallModalLabel">增加规则</h4></div><div class="modal-body"><ul class="etl-rule-modal"><li><input type="checkbox" id="qx" ng-change="$ctrl.changeCA()" ng-model="$ctrl.ckAll.checked"><label for="qx">全选</label></li><li><input type="checkbox" ng-change="$ctrl.sonChange(0)" ng-model="$ctrl.ckSon[0].checked" ng-disabled="$ctrl.ckSon[0].read" class="etl-rule-add-name" id="zjl"><label for="zjl">增加列</label></li><li><input type="checkbox" ng-change="$ctrl.sonChange(1)" ng-model="$ctrl.ckSon[1].checked" ng-disabled="$ctrl.ckSon[1].read" class="etl-rule-add-name" id="scl"><label for="scl">删除列</label></li><li><input type="checkbox" ng-change="$ctrl.sonChange(2)" ng-model="$ctrl.ckSon[2].checked" ng-disabled="$ctrl.ckSon[2].read" class="etl-rule-add-name" id="jlgl"><label for="jlgl">映射列</label></li><li><input type="checkbox" ng-change="$ctrl.sonChange(3)" ng-model="$ctrl.ckSon[3].checked" ng-disabled="$ctrl.ckSon[3].read" class="etl-rule-add-name" id="ysl"><label for="ysl">记录过滤</label></li><li><input type="checkbox" ng-change="$ctrl.sonChange(4)" ng-model="$ctrl.ckSon[4].checked" ng-disabled="$ctrl.ckSon[4].read" class="etl-rule-add-name" id="sjb"><label for="sjb">审计表</label></li><li><input type="checkbox" ng-change="$ctrl.sonChange(5)" ng-model="$ctrl.ckSon[5].checked" ng-disabled="$ctrl.ckSon[5].read" class="etl-rule-add-name" id="czzh"><label for="czzh">操作转换</label></li></ul></div><div class="modal-footer"><button class="btn btn-primary btn-sm pull-right" ng-click="$ctrl.appendRules()">保存</button></div></div></div></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){
  l.put("etl_view/select_table.component.html",'<div class="modal-header"><button type="button" class="close" ng-click="$ctrl.cancel()" aria-label="Close"><span aria-hidden="true">×</span></button><h3 class="modal-title">选择表</h3></div><div class="modal-body"><div class="etl-bgl"><div class="row"><div class="col-md-4"><div class="etl-bgl-left"><div class="etl-bgl-head"><input type="text" placeholder="用户名搜索" ng-model="$ctrl.userFilter" ng-model-options="{debounce:300}"></div><div class="etl-bgl-body"><ul><li ng-repeat="uname in ($ctrl.selUsers=($ctrl.users | filter:$ctrl.userFilter)) track by $index" class="bgl-user-list"><a href="javascript:void(0);" ng-click="$ctrl.getTable(uname,$event)" ng-bind="uname"></a></li><li ng-cloak="" ng-if="$ctrl.users.length===0"><a href="javascript:void(0);">No User!</a></li><li ng-cloak="" ng-if="$ctrl.users.length>0 && $ctrl.selUsers.length===0"><a href="javascript:void(0);">No Result!</a></li></ul></div></div></div><div class="col-md-8"><div class="etl-bgl-left"><div class="etl-bgl-head2"><input type="checkbox" class="sbox1" ng-model="$ctrl.ckAll" ng-change="$ctrl.checkAll()"> <input type="text" placeholder="表名搜索" ng-model="$ctrl.tableFilter" ng-model-options="{debounce:300}"></div><div class="etl-bgl-body"><table class="table"><colgroup><col style="width: 10%"><col style="width: 90%"></colgroup><tr ng-repeat="item in ($ctrl.selTables=($ctrl.tables | filter:{name:$ctrl.tableFilter} | orderBy:\'-item.checked\')) track by $index"><td><input type="checkbox" ng-model="item.checked" ng-change="$ctrl.checkOne(item)"></td><td><a href="javascript:void(0);" ng-bind="item.name"></a></td></tr><tr ng-cloak="" ng-if="$ctrl.loading"><td colspan="2" class="etl-center"><a href="javascript:void(0);">Loading......</a></td></tr><tr ng-cloak="" ng-if="$ctrl.tables.length===0 && !$ctrl.loading"><td colspan="2" class="etl-center"><a href="javascript:void(0);">No User!</a></td></tr><tr ng-cloak="" ng-if="$ctrl.tables.length>0 && $ctrl.selTables.length===0"><td colspan="2" class="etl-center"><a href="javascript:void(0);">No Result!</a></td></tr></table></div></div></div></div></div></div><div class="modal-footer"><button class="btn btn-warning btn-sm" type="button" ng-click="$ctrl.cancel()">取消</button> <button class="btn btn-primary btn-sm" type="button" ng-click="$ctrl.saveSelectList()">确定</button></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("etl_view/target_tree.component.html",'<div class="modal-header"><button type="button" class="close" ng-click="$ctrl.cancel()" aria-label="Close"><span aria-hidden="true">×</span></button><h3 class="modal-title" ng-bind="::$ctrl.title"></h3></div><div class="modal-body"><div class="rule-bds-edit etl-target-tree"><div id="etlTargetTree" class="ztree"></div></div></div><div class="modal-footer"><button class="btn btn-warning btn-sm" type="button" ng-click="$ctrl.cancel()">取消</button> <button class="btn btn-primary btn-sm" type="button" ng-click="$ctrl.ok()">确定</button></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("etl_view/transform.component.html",'<div class="modal-header"><button type="button" class="close" ng-click="$ctrl.cancel()" aria-label="Close"><span aria-hidden="true">×</span></button><h3 class="modal-title" id="modal-title">审计表规则</h3></div><div class="modal-body" id="modal-body"><div class="row etl-all-rule"><div class="col-md-4"><div class="etl-add-trans-left"><h4>源端字段列表</h4><ul style="height: 415px;overflow: auto"><li ng-repeat="field in $ctrl.fieldList track by $index" ng-bind="field.column_name"></li><li ng-if="$ctrl.fieldList.length===0">No Data!</li></ul></div></div><div class="col-md-8"><div class="etl-add-rule-right" id="etl-add-rule-right"><h4>配置规则</h4><div class="dropdown"><button id="dLabel" class="btn btn-info btn-sm" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">操作<span class="caret"></span></button><ul class="dropdown-menu" role="menu" aria-labelledby="btn-append-to-body"><li role="menuitem"><a href="javascript:void(0);" ng-click="$ctrl.openTargetsModal()">选取目标库对应表名</a></li><li class="divider"></li><li role="menuitem"><a href="javascript:void(0);" ng-click="$ctrl.openApplyToModal()">该策略应用到其他表</a></li></ul><span class="rule-table-name" ng-bind="$ctrl.targetLabel"></span></div><div class="etl-modal-body"><table class="table table-bordered table-hover"><colgroup><col style="width: 10%"><col style="width: 30%"><col style="width: 20%"><col style="width: 30%"><col style="width: 10%"></colgroup><tr><td><input type="checkbox" class="cl-etl-all" title="全选" ng-change="$ctrl.changeAllCheck()" ng-model="$ctrl.ckAll"></td><td><b>字段名称</b></td><td><b>值类型</b></td><td><b>字段值</b></td><td><b>编辑</b></td></tr><tr ng-repeat="item in $ctrl.addList track by $index"><td><input type="checkbox" class="cl-etl-input" ng-model="item.checked" ng-change="$ctrl.changeOne(item)"></td><td><select style="width: 100%;height: 100%" ng-model="item.name"><option ng-repeat="name in item.names track by $index" ng-value="name" ng-bind="name"></option></select></td><td ng-bind="item.desc">bbb</td><td ng-bind="item.value">ccc</td><td><a class="btn" href="javascript:void(0);" ng-click="$ctrl.editColumn(item)"><i class="fa fa-edit"></i></a></td></tr></table></div><div class="etl-margin-top10">保留同步功能：<select ng-selected="$ctrl.transInfo.keep_copy" ng-model="$ctrl.transInfo.keep_copy"><option value="yes">是</option><option value="no">否</option></select><span class="etl-fix-input-left">表前缀：</span><input type="text" class="etl-fix-input" maxlength="20" ng-model="$ctrl.transInfo.table_prefix"> <span>表后缀：</span><input type="text" class="etl-fix-input" maxlength="20" ng-model="$ctrl.transInfo.table_suffix"></div><div class="etl-margin-top10"><button class="btn btn-info btn-sm" ng-click="$ctrl.addColumn()">增加行</button> <button class="btn btn-info btn-sm" ng-click="$ctrl.deleteColumn()">删除行</button></div></div></div></div></div><div class="modal-footer"><div class="pull-right"><button class="btn btn-primary btn-sm" ng-click="$ctrl.cancel()">取消</button> <button class="btn btn-primary btn-sm" ng-click="$ctrl.saveTransformRule()">保存</button></div><div class="clearfix"></div></div><script type="text/ng-template" id="transformModal.html"><div class="modal-header">\n        <button type="button" class="close" ng-click="$ct.cancel()" aria-label="Close"><span aria-hidden="true">×</span></button>\n        <h3 class="modal-title">编辑列字段</h3>\n    </div>\n    <div class="modal-body">\n        <table class="table table-bordered">\n            <tr>\n                <td>字段：</td>\n                <td><input type="text" class="form-control" ng-model="$ct.model.name" maxlength="20"></td>\n            </tr>\n            <tr>\n                <td>值类型：</td>\n                <td><select ng-model="$ct.model.type">\n                    <option value="string">固定字符串</option>\n                    <option value="sysdata">系统变量</option>\n                </select></td>\n            </tr>\n            <tr>\n                <td>字段值：</td>\n                <td><input type="text" class="form-control" ng-cloak="" ng-model="$ct.model.value" ng-show="$ct.model.type===\'string\'" maxlength="60">\n                    <select ng-cloak="" ng-model="$ct.model.value" ng-show="$ct.model.type===\'sysdata\'">\n                        <option value="scn">scn</option>\n                        <option value="sct">sct</option>\n                        <option value="cscn">cscn</option>\n                        <option value="csct">csct</option>\n                        <option value="sysdate">sysdate</option>\n                        <option value="operation">operation</option>\n                    </select>\n                </td>\n            </tr>\n        </table>\n    </div>\n    <div class="modal-footer">\n        <button class="btn btn-warning btn-sm" type="button" ng-click="$ct.cancel()">取消</button>\n        <button class="btn btn-primary btn-sm" type="button" ng-click="$ct.ok()">确定</button>\n    </div><\/script>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("full_syc_view/export.component.html",'<div class="full-syc-modal"><div class="row"><div class="col-md-12"><div class="full-syc-title"><label><input type="checkbox" ng-model="$ctrl.exportAll">导出全部数据</label></div><div class="full-syc-tree" ng-show="$ctrl.exportAll"><div id="fullSycTree" class="ztree"></div></div><div class="full-syc-body" ng-cloak="" ng-show="!$ctrl.exportAll"><div class="full-body-left"><input type="text" placeholder="Schema名搜索" ng-model="$ctrl.userFilter"><ul><li ng-repeat="item in ($ctrl.schemasList | filter:{name:$ctrl.userFilter}) track by $index" ng-bind="item.name" ng-click="$ctrl.schemaCheck(item,$event)"></li><li ng-cloak="" ng-show="$ctrl.schemasList.length===0">No Schema!</li></ul></div><div class="full-body-right"><input type="text" class="sel-box" placeholder="表名搜索" ng-model="$ctrl.tableFilter"><div class="full-body-table"><table><colgroup><col style="width: 10%"><col style="width: 70%"><col style="width: 20%"></colgroup><tr><td><input type="checkbox" ng-model="$ctrl.ckAll" ng-click="$ctrl.checkAll()"></td><td>表名</td><td>条件编辑</td></tr><tr ng-repeat="item in ($ctrl.selTables=($ctrl.tables | filter:{name:$ctrl.tableFilter})) track by $index"><td><input type="checkbox" ng-model="item.checked" ng-click="$ctrl.checkOne(item)"></td><td ng-bind="item.name"></td><td><a href="javascript:void(0);" class="fa fa-edit" ng-click="$ctrl.editClause(item)"></a></td></tr><tr ng-cloak="" ng-show="$ctrl.tables.length===0"><td colspan="3" class="etl-center">No Table!</td></tr></table></div></div></div><div class="full-syc-title"><select class="title-select" ng-model="$ctrl.exp.exp_dict_only"><option value="0">导出全部数据</option><option value="1">只导出表结构及索引</option></select></div><div class="full-syc-body1" ng-if="$ctrl.exp.exp_dict_only===\'0\'"><ul ng-if="!$ctrl.isOther" ng-cloak=""><li><label class="label1"><i class="red">*</i><span>导出任务并发数</span> <input type="text" class="ibox" ng-model="$ctrl.exp.exp_simu" maxlength="5" style="margin-left: -9px" gl-num></label><label class="label2"><input type="checkbox" ng-model="$ctrl.exp.exp_create_table">创建表结构</label></li><li><label class="label1"><span>指定SCN号</span><input type="text" class="ibox" ng-model="$ctrl.exp.exp_scn" maxlength="50"></label><label class="label2"><input type="checkbox" ng-model="$ctrl.exp.exp_create_index">导出表索引及约束</label></li><li><label class="label1"><span>指定表内并发数</span><input type="text" class="ibox" ng-model="$ctrl.exp.exp_tab_simu" maxlength="5" gl-num></label><label class="label2"><input type="checkbox" ng-model="$ctrl.exp.exp_string">将数据导出为字符串</label></li><li><label class="label1"><span>导出字符集</span><select ng-model="$ctrl.exp.exp_nls_lang" ng-options="x for x in $ctrl.charset"></select></label><label class="label2"><input type="checkbox" ng-model="$ctrl.exp.exp_use_etl">使用etl规则</label></li><li><label class="label1"><span>导出文件大小</span><input type="text" class="ibox" ng-model="$ctrl.exp.file_size" maxlength="8" gl-num>M</label></li><li ng-hide="$ctrl.isOracleToOther" ng-cloak=""><label class="label3"><i class="red">*</i><input type="checkbox" ng-model="$ctrl.exp.exp_create_object">导出其他对象（序列、触发器、存储过程等）</label></li></ul><ul ng-if="$ctrl.isOther" ng-cloak=""><li><label class="label1"><i class="red">*</i><span>导出任务并发数</span> <input type="text" class="ibox" ng-model="$ctrl.exp.exp_simu" maxlength="5" style="margin-left: -9px" gl-num></label><label class="label2"><input type="checkbox" ng-model="$ctrl.exp.exp_create_table">创建表结构</label></li><li><label class="label1"><span>导出字符集</span><select ng-model="$ctrl.exp.exp_nls_lang" ng-options="x for x in $ctrl.charset"></select></label><label class="label2"><input type="checkbox" ng-model="$ctrl.exp.exp_create_index">导出表索引及约束</label></li><li><label class="label1"><span>导出文件大小</span><input type="text" class="ibox" ng-model="$ctrl.exp.file_size" maxlength="8" gl-num>K</label><label class="label2" style="margin-left: 71px"><input type="checkbox" ng-model="$ctrl.exp.exp_string">将数据导出为字符串</label></li><li><label class="label1"><input type="checkbox" ng-model="$ctrl.exp.exp_use_etl">使用etl规则</label></li></ul></div><div class="full-syc-body1" ng-cloak="" ng-if="$ctrl.exp.exp_dict_only===\'1\'"><ul><li><label class="label1"><i class="red">*</i><span>导出任务并发数</span><input type="text" class="ibox" ng-model="$ctrl.exp.exp_simu" maxlength="5" style="margin-left: -9px" gl-num></label></li><li><label class="label3"><i class="red">*</i><input type="checkbox" ng-model="$ctrl.exp.exp_create_object">导出其他对象（序列、触发器、存储过程等）</label></li><li><label class="label3" style="margin-left: 15px"><input type="checkbox" ng-model="$ctrl.exp.exp_use_etl">使用etl规则</label></li></ul></div></div><div class="col-md-12 full-syc-foot"><div class="pull-right"><button class="btn btn-primary btn-sm" ng-click="$ctrl.saveExportCfg()">确认</button></div><div class="clearfix"></div></div></div></div><script type="text/ng-template" id="exportRuleModal.html"><div class="modal-header">\n        <button type="button" class="close" ng-click="$ct.cancel()" aria-label="Close"><span aria-hidden="true">×</span></button>\n        <h3 class="modal-title">导出条件编辑</h3>\n    </div>\n    <div class="modal-body">\n         <div class="export-rule-edit-modal">\n              <textarea maxlength="1000" ng-model="$ct.rule"></textarea>\n         </div>\n    </div>\n    <div class="modal-footer">\n        <button class="btn btn-warning btn-sm" type="button" ng-click="$ct.cancel()">关闭</button>\n        <button class="btn btn-primary btn-sm" type="button" ng-click="$ct.save()">保存</button>\n    </div><\/script>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("full_syc_view/full_sync.component.html",'<div class="modal-header"><button type="button" class="close" ng-click="$ctrl.cancel()" aria-label="Close"><span aria-hidden="true">×</span></button><h3 class="modal-title">存量数据同步实时信息</h3></div><div class="modal-body"><div class="full-syc-model-ss"><div class="model-ss-head clearfix"><div class="ss-bottom"><b>概要</b><ul><div ng-cloak="" ng-if="$ctrl.isImportShow"><li>导入开始时间：<span ng-bind="$ctrl.import.start_time">2017.4.6 15:00</span></li><li>导入耗时：<span ng-bind="$ctrl.import.work_time">0.30</span></li><li>导入总表个数：<span ng-bind="$ctrl.import.total">1</span></li><li></li><li>已导入表个数：<span ng-bind="$ctrl.import.succ_num">1</span></li><li>导入错误表个数：<span ng-bind="$ctrl.import.err_num">1</span></li><hr></div><li>导出开始时间：<span ng-bind="$ctrl.export.start_time">2017.4.6 15:00</span></li><li>导出耗时：<span ng-bind="$ctrl.export.work_time">0.30</span></li><li>导出总表个数：<span ng-bind="$ctrl.export.total">1</span></li><li></li><li>已导出表个数：<span ng-bind="$ctrl.export.succ_num">1</span></li><li>导出错误表个数：<span ng-bind="$ctrl.export.err_num">1</span></li></ul></div></div><div class="model-ss-foot"><uib-tabset active="stepT.topPanel"><uib-tab index="0" heading="导入导出信息"><input type="text" placeholder="表名搜索" class="sel-box" ng-model="$ctrl.tableF"><div class="full-body-table"><table><colgroup><col style="width: 12%"><col style="width: 28%"><col style="width: 12%"><col style="width: 12%"><col style="width: 12%"><col style="width: 12%"><col style="width: 12%"></colgroup><tr><td>用户名</td><td>表名</td><td>导出状态</td><td>导入状态</td><td>分区表</td><td>导出记录数</td><td>导入记录数</td></tr><tr ng-repeat="item in ($ctrl.details | filter:{table:$ctrl.tableF}) track by $index"><td ng-bind="item.owner"></td><td ng-bind="item.table"></td><td ng-bind="item.exp_status"></td><td ng-bind="item.imp_status"></td><td ng-bind="item.is_part"></td><td ng-bind="item.exp_num"></td><td ng-bind="item.imp_num"></td></tr><tr ng-cloak="" ng-show="$ctrl.details.length===0 && !$ctrl.loading2"><td colspan="7" class="etl-center">No Data!</td></tr><tr ng-cloak="" ng-if="$ctrl.loading2"><td colspan="7" class="etl-center">Loading......</td></tr></table></div></uib-tab><uib-tab index="1" heading="错误信息" select="$ctrl.getSyncErrors()"><input type="text" placeholder="表名搜索" class="sel-box" ng-model="$ctrl.tableFilter"><div class="full-body-table"><table><colgroup><col style="width: 20%"><col style="width: 80%"></colgroup><tr><td>表名</td><td>错误原因</td></tr><tr ng-repeat="item in ($ctrl.errors | filter:{table:$ctrl.tableFilter}) track by $index"><td ng-bind="item.table"></td><td ng-bind="item.reson"></td></tr><tr ng-cloak="" ng-show="$ctrl.errors.length===0 && !$ctrl.loading1"><td colspan="2" class="etl-center">No Error!</td></tr><tr ng-cloak="" ng-if="$ctrl.loading1"><td colspan="2" class="etl-center">Loading......</td></tr></table></div></uib-tab></uib-tabset></div></div></div><div class="modal-footer"><div class="pull-right"><button class="btn btn-warning btn-sm" type="button" ng-click="$ctrl.cancel()">关闭</button> <button class="btn btn-primary btn-sm" type="button" ng-click="$ctrl.stopFullSync()" ng-disabled="$ctrl.stopFlag">停止全同步</button></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("full_syc_view/history.component.html",'<div class="modal-header"><button type="button" class="close" ng-click="$ctrl.cancel()" aria-label="Close"><span aria-hidden="true">×</span></button><h3 class="modal-title">存量数据同步历史信息</h3></div><div class="modal-body"><div class="full-syc-model-ss"><div class="model-ss-head clearfix"><div class="ss-top"><div class="pull-left"><select ng-model="$ctrl.selectSync" ng-options="item.name for item in $ctrl.maps track by item.id" ng-change="$ctrl.changeSyncId()"></select></div><div class="pull-right"><button class="btn btn-info btn-sm" ng-click="$ctrl.reTryFullSync()">继续该批次导入</button></div><div class="clearfix"></div></div><div class="ss-bottom"><b>概要</b><ul><div ng-cloak="" ng-if="$ctrl.isImportShow"><li>导入开始时间：<span ng-bind="$ctrl.import.start_time">2017.4.6 15:00</span></li><li>导入耗时：<span ng-bind="$ctrl.import.work_time">0.30</span></li><li>导入总表个数：<span ng-bind="$ctrl.import.total">1</span></li><li></li><li>已导入表个数：<span ng-bind="$ctrl.import.succ_num">1</span></li><li>导入错误表个数：<span ng-bind="$ctrl.import.err_num">1</span></li><hr></div><li>导出开始时间：<span ng-bind="$ctrl.export.start_time">2017.4.6 15:00</span></li><li>导出耗时：<span ng-bind="$ctrl.export.work_time">0.30</span></li><li>导出总表个数：<span ng-bind="$ctrl.export.total">1</span></li><li></li><li>已导出表个数：<span ng-bind="$ctrl.export.succ_num">1</span></li><li>导出错误表个数：<span ng-bind="$ctrl.export.err_num">1</span></li></ul></div></div><div class="model-ss-foot"><uib-tabset active="$ctrl.currentActive"><uib-tab index="0" heading="导入导出明细"><input type="text" placeholder="表名搜索" class="sel-box" ng-model="$ctrl.tableF"><div class="full-body-table"><table><colgroup><col style="width: 12%"><col style="width: 28%"><col style="width: 12%"><col style="width: 12%"><col style="width: 12%"><col style="width: 12%"><col style="width: 12%"></colgroup><tr><td>用户名</td><td>表名</td><td>导出状态</td><td>导入状态</td><td>分区表</td><td>导出记录数</td><td>导入记录数</td></tr><tr ng-repeat="item in ($ctrl.details | filter:{table:$ctrl.tableF}) track by $index"><td ng-bind="item.owner"></td><td ng-bind="item.table"></td><td ng-bind="item.exp_status"></td><td ng-bind="item.imp_status"></td><td ng-bind="item.is_part"></td><td ng-bind="item.exp_num"></td><td ng-bind="item.imp_num"></td></tr><tr ng-cloak="" ng-show="$ctrl.details.length===0 && !$ctrl.loading2"><td colspan="7" class="etl-center">No Data!</td></tr><tr ng-cloak="" ng-if="$ctrl.loading2"><td colspan="7" class="etl-center">Loading......</td></tr></table></div></uib-tab><uib-tab index="1" heading="错误信息" select="$ctrl.getSyncErrors()"><input type="text" placeholder="表名搜索" class="sel-box" ng-model="$ctrl.tableFilter"><div class="full-body-table"><table><colgroup><col style="width: 20%"><col style="width: 80%"></colgroup><tr><td>表名</td><td>错误原因</td></tr><tr ng-repeat="item in ($ctrl.errors | filter:{table:$ctrl.tableFilter}) track by $index"><td ng-bind="item.table"></td><td ng-bind="item.reson"></td></tr><tr ng-cloak="" ng-show="$ctrl.errors.length===0  && !$ctrl.loading1"><td colspan="2" class="etl-center">No Error!</td></tr><tr ng-cloak="" ng-if="$ctrl.loading1"><td colspan="2" class="etl-center">Loading......</td></tr></table></div></uib-tab></uib-tabset></div></div></div><div class="modal-footer"><div class="pull-right"><button class="btn btn-warning btn-sm" type="button" ng-click="$ctrl.cancel()">关闭</button></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("full_syc_view/import.component.html",'<div class="full-syc-modal"><div class="row"><div class="col-md-12"><div class="full-syc-title"><label><input type="checkbox" ng-model="$ctrl.fromOldData" ng-disabled="$ctrl.maps.length===0">从已有数据文件导入</label></div><div class="full-syc-has-data" ng-cloak="" ng-show="$ctrl.fromOldData"><div class="full-syc-sel"><select ng-model="$ctrl.selectSync" ng-options="item.name for item in $ctrl.maps track by item.id" ng-change="$ctrl.changeSync()"></select></div><div class="full-syc-body"><div class="full-body-left"><input type="text" placeholder="Schema名搜索" ng-model="$ctrl.userFilter"><ul><li ng-repeat="item in ($ctrl.schemasList | filter:{name:$ctrl.userFilter}) track by $index" ng-bind="item.name" ng-click="$ctrl.schemaCheck(item,$event)"></li><li ng-cloak="" ng-show="$ctrl.schemasList.length===0 && !$ctrl.loading1">No Schema!</li><li ng-cloak="" ng-if="$ctrl.loading1">Loading......</li></ul></div><div class="full-body-right"><input type="text" placeholder="表名搜索" class="sel-box" ng-model="$ctrl.tableFilter"><label class="sel-condition"><input type="checkbox" ng-model="$ctrl.isErrorOnly" ng-change="$ctrl.errorOnlyChange()">只显示导出错误表</label><div class="full-body-table"><table><colgroup><col style="width: 20%"><col style="width: 80%"></colgroup><tr><td><input type="checkbox" ng-model="$ctrl.ckAll" ng-click="$ctrl.checkAll()"></td><td>表名</td></tr><tr ng-repeat="item in ($ctrl.selTables=($ctrl.tables | filter:{name:$ctrl.tableFilter,status:$ctrl.isError})) track by $index"><td><input type="checkbox" ng-model="item.checked" ng-click="$ctrl.checkOne(item)"></td><td ng-bind="item.name"></td></tr><tr ng-cloak="" ng-show="$ctrl.tables.length===0 && !$ctrl.loading"><td colspan="2" class="etl-center">No Table!</td></tr><tr ng-cloak="" ng-if="$ctrl.loading"><td colspan="2" class="etl-center">Loading......</td></tr></table></div></div></div></div><div class="full-syc-title"><label class="input-label">选择导入内容<select ng-model="$ctrl.imp.imp_dict_only"><option value="0">导入全部数据</option><option value="1">只导入表结构及索引</option></select></label></div><div class="full-syc-body1" ng-if="$ctrl.imp.imp_dict_only===\'0\'"><ul><li><label class="label1"><i class="red">*</i><span>导入任务并发数</span> <input type="text" class="ibox" ng-model="$ctrl.imp.imp_simu" maxlength="5" style="margin-left: -9px" gl-num></label><label class="label4"><input type="checkbox" ng-model="$ctrl.imp.imp_rebuild_tab">重建目标表</label><label class="label4"><input type="checkbox" ng-model="$ctrl.imp.imp_rebuild_ind">重建索引</label></li><li><label class="label1"><span>导入表内并发数</span><input type="text" class="ibox" ng-model="$ctrl.imp.imp_tab_simu" maxlength="5" gl-num></label><label class="label4"><input type="checkbox" ng-model="$ctrl.imp.imp_truncate_tab">清空目标表</label><label class="label4"><input type="checkbox" ng-model="$ctrl.imp.imp_backup_file">保留数据文件</label></li><li><label class="label1"><span>导入字符集</span><select ng-model="$ctrl.imp.imp_nls_lang"><option ng-repeat="x in $ctrl.charset" value="{{x}}" ng-bind="x"></option></select></label><label class="label4" ng-hide="$ctrl.isOther" ng-cloak=""><input type="checkbox" ng-model="$ctrl.imp.imp_use_tabs_map">表空间映射</label><a href="javascript:void(0);" ng-click="$ctrl.editTableSpace()" class="fa fa-edit" ng-cloak="" ng-if="$ctrl.imp.imp_use_tabs_map"></a><label class="label4" ng-hide="$ctrl.isOther" ng-cloak=""><i class="red">*</i><input type="checkbox" ng-model="$ctrl.imp.imp_rebuild_object">重建对象</label></li></ul></div><div class="full-syc-body1" ng-cloak="" ng-if="$ctrl.imp.imp_dict_only===\'1\'"><ul><li><label class="label1"><span><i class="red">*</i>导入任务并发数</span> <input type="text" class="ibox" ng-model="$ctrl.imp.imp_simu" maxlength="5" style="margin-left: -9px" gl-num></label><label class="label4"><input type="checkbox" ng-model="$ctrl.imp.imp_rebuild_tab">重建目标表</label><label class="label4"><input type="checkbox" ng-model="$ctrl.imp.imp_backup_file">保留数据文件</label></li><li><label class="label1"><i class="red">*</i><input type="checkbox" ng-model="$ctrl.imp.imp_rebuild_object">重建对象</label><label class="label4"><input type="checkbox" ng-model="$ctrl.imp.imp_rebuild_ind">重建索引</label><label class="label4"><input type="checkbox" ng-model="$ctrl.imp.imp_truncate_tab">清空目标表</label><label class="label4"><input type="checkbox" ng-model="$ctrl.imp.imp_use_tabs_map">表空间映射</label><a href="javascript:void(0);" ng-click="$ctrl.editTableSpace()" class="fa fa-edit" ng-cloak="" ng-if="$ctrl.imp.imp_use_tabs_map"></a></li></ul></div><div ng-cloak="" ng-if="$ctrl.isOracle"><div class="full-syc-title"><label class="input-label">选择导入方式<select ng-model="$ctrl.imp.imp_ora_op"><option value="1">以DP方式装载</option><option value="0">以非DP方式装载</option></select></label></div><div class="full-syc-body1"><ul><li><label class="label3"><input type="checkbox" ng-model="$ctrl.imp.imp_write_log">导入时记录redo日志（异构不支持）</label></li></ul></div></div></div><div class="col-md-12 full-syc-foot"><div class="pull-right"><button class="btn btn-primary btn-sm" ng-click="$ctrl.saveImport()">确认</button></div><div class="checkbox"></div></div></div></div><script type="text/ng-template" id="tableSpaceModal.html"><div class="modal-header">\n        <button type="button" class="close" ng-click="$ct.cancel()" aria-label="Close"><span aria-hidden="true">×</span></button>\n        <h3 class="modal-title">表空间映射编辑</h3>\n    </div>\n    <div class="modal-body">\n        <div class="import-table-space-modal">\n            <table>\n                <colgroup>\n                    <col style="width: 40%">\n                    <col style="width: 60%">\n                </colgroup>\n                <tr>\n                    <td>表空间名</td>\n                    <td>表空间映射名</td>\n                </tr>\n                <tr ng-repeat="item in $ct.tableSpaces track by $index">\n                    <td ng-bind="item.name"></td>\n                    <td><input type="text" ng-model="item.map_name" maxlength="100"></td>\n                </tr>\n                <tr ng-cloak="" ng-if="$ct.tableSpaces.length===0">\n                    <td colspan="2" class="etl-center">No Data!</td>\n                </tr>\n            </table>\n        </div>\n    </div>\n    <div class="modal-footer">\n        <button class="btn btn-warning btn-sm" type="button" ng-click="$ct.cancel()">关闭</button>\n        <button class="btn btn-primary btn-sm" type="button" ng-click="$ct.save()">保存</button>\n    </div><\/script>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("full_syc_view/loader.component.html",'<uib-accordion close-others="true"><div uib-accordion-group class="panel panel-default" is-open="$ctrl.isExport"><uib-accordion-heading>导出条件配置<i class="pull-right glyphicon" ng-class="{\'glyphicon-chevron-up\': $ctrl.isExport, \'glyphicon-chevron-down\': !$ctrl.isExport}"></i></uib-accordion-heading><export-com tree="$ctrl.tree" loader="$ctrl.currentLoader" on-save="$ctrl.cfgExport(exp)"></export-com></div><div uib-accordion-group class="panel panel-default" is-open="$ctrl.isImport"><uib-accordion-heading>导入条件配置<i class="pull-right glyphicon" ng-class="{\'glyphicon-chevron-up\': $ctrl.isImport, \'glyphicon-chevron-down\': !$ctrl.isImport}"></i></uib-accordion-heading><import-com maps="$ctrl.maps" loader="$ctrl.currentLoader" on-save="$ctrl.cfgImport(imp)"></import-com></div></uib-accordion>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("full_syc_view/main.component.html",'<div class="modal-dialog slide-panel" id="modal-dialog" ng-cloak ng-show="$ctrl.dialog"><div class="modal-content slide-bg-color"><div class="modal-header header-bg-color" style="z-index:999"><button type="button" class="close" ng-click="$ctrl.redirectTo(\'/\')"><span class="fa fa-close"></span></button><h4 class="modal-title">存量数据同步</h4></div><div class="modal-body slide-bg-color"><div class="panel slide-bg-color"><div class="panel-body"><div class="full-syc-main-loader"><label>请选择要同步的loader组件ID：<select ng-options="item as item.cn for item in $ctrl.loaders" ng-model="$ctrl.selectedItem" ng-change="$ctrl.changeLoader()"></select></label><i class="glyphicon glyphicon-question-sign" tooltip-placement="bottom" uib-tooltip="{{$ctrl.loaderTip}}"></i><br>当前要同步的loader组件名称：{{$ctrl.currentLoaderName}}</div><ui-view></ui-view></div><div class="panel-footer full-syc-footer"><div class="pull-right"><button class="btn btn-primary btn-sm" ng-click="$ctrl.workingFullSync()" ng-cloak="" ng-if="$ctrl.isRun">全同步运行中</button> <button class="btn btn-primary btn-sm" ng-click="$ctrl.beginToFullSync()" ng-disabled="$ctrl.isRun">开始全同步</button> <button class="btn btn-primary btn-sm" ng-click="$ctrl.getFullSyncHistory()">查看历史全同步信息</button></div><div class="clearfix"></div></div></div></div></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){
  l.put("ftp_view/property.component.html",'<div role="tabpanel" class="tab-pane active"><div class="panel panel-default"><div class="panel-heading">FTP属性</div><form name="form2" autocomplete="off" novalidate><div class="panel-body clearfix"><div class="panel panel-default"><table class="table table-condensed"><tr ng-cloak="" ng-if="$ctrl.real.com_id.length>0"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">组件ID：</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.real.com_id" ng-init="$ctrl.params.ftp_id=false" ng-class="{\'accord-pre\':$ctrl.params.ftp_id}">1</span><p ng-cloak ng-show="$ctrl.params.ftp_id" ng-class="{\'accord-next\':$ctrl.params.ftp_id}">FTP组件唯一标示</p></div><div class="col-md-1"><span ng-click="$ctrl.params.ftp_id=!$ctrl.params.ftp_id" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ftp_id,\'glyphicon-question-sign\':!$ctrl.params.ftp_id}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="form2.ftpName.$dirty && form2.ftpName.$invalid"><div class="alert alert-danger" ng-show="form2.ftpName.$error.required">FTP组件名称不能为空！</div><div class="alert alert-danger" ng-show="form2.ftpName.$error.pattern">FTP组件名称只能包含汉字、数字、字母、下划线，长度不超过20位！</div></div><div class="col-md-3"><label class="text-info">FTP组件名称：</label></div><div class="col-md-8 clearfix"><input class="form-control" type="text" name="ftpName" ng-init="$ctrl.params.ftp_name=false" ng-class="{\'accord-pre\':$ctrl.params.ftp_name}" ng-model="$ctrl.property.component_name" required ng-pattern="/^[a-zA-Z\\u4E00-\\u9FA5](\\w|[\\u4E00-\\u9FA5]|\\d){0,19}$/"><p ng-class="{\'accord-next\':$ctrl.params.ftp_name}" ng-show="$ctrl.params.ftp_name" ng-cloak="">FTP组件名称说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.ftp_name=!$ctrl.params.ftp_name"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ftp_name,\'glyphicon-question-sign\':!$ctrl.params.ftp_name}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">传输类型：</label></div><div class="col-md-8 clearfix"><div class="form-group" ng-init="$ctrl.params.ftp_type=false" ng-class="{\'accord-pre\':$ctrl.params.ftp_type}"><select class="form-control" ng-model="$ctrl.property.type"><option value="qsend">发送</option><option value="qrecv">接收</option></select></div><p ng-class="{\'accord-next\':$ctrl.params.ftp_type}" ng-show="$ctrl.params.ftp_type" ng-cloak="">传输类型说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.ftp_type=!$ctrl.params.ftp_type"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ftp_type,\'glyphicon-question-sign\':!$ctrl.params.ftp_type}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="form2.serIP.$dirty && form2.serIP.$invalid"><div class="alert alert-danger" ng-show="form2.serIP.$error.required">服务器IP地址不能为空！</div><div class="alert alert-danger" ng-show="form2.serIP.$error.pattern">请输入正确的IP地址</div></div><div class="col-md-3"><label class="text-info">服务器IP地址：</label></div><div class="col-md-8 clearfix"><input class="form-control" type="text" name="serIP" ng-init="$ctrl.params.ftp_ip=false" ng-class="{\'accord-pre\':$ctrl.params.ftp_ip}" ng-model="$ctrl.property.ip" placeholder="127.0.0.1" ng-pattern="/^((25[0-5])|(2[0-4]\\d)|(1\\d\\d)|([1-9]\\d)|\\d)(\\.((25[0-5])|(2[0-4]\\d)|(1\\d\\d)|([1-9]\\d)|\\d)){3}$/" ng-model-options="{debounce:200}" required><p ng-class="{\'accord-next\':$ctrl.params.ftp_ip}" ng-show="$ctrl.params.ftp_ip" ng-cloak="">服务器IP地址说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.ftp_ip=!$ctrl.params.ftp_ip"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ftp_ip,\'glyphicon-question-sign\':!$ctrl.params.ftp_ip}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="form2.userName.$dirty && form2.userName.$invalid"><div class="alert alert-danger" ng-show="form2.userName.$error.required">用户名不能为空！</div><div class="alert alert-danger" ng-show="form2.userName.$error.pattern">用户名只能包含汉字、数字、字母、下划线，长度不超过20位！</div></div><div class="col-md-3"><label class="text-info">用户名：</label></div><div class="col-md-8 clearfix"><input class="form-control" type="text" name="userName" ng-init="$ctrl.params.ftp_user=false" ng-class="{\'accord-pre\':$ctrl.params.ftp_user}" ng-model="$ctrl.property.user_name" ng-pattern="/^[a-zA-Z\\u4E00-\\u9FA5](\\w|[\\u4E00-\\u9FA5]|\\d){0,19}$/" required><p ng-class="{\'accord-next\':$ctrl.params.ftp_user}" ng-show="$ctrl.params.ftp_user" ng-cloak="">用户名说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.ftp_user=!$ctrl.params.ftp_user"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ftp_user,\'glyphicon-question-sign\':!$ctrl.params.ftp_user}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="form2.passWord.$dirty && form2.passWord.$invalid"><div class="alert alert-danger" ng-show="form2.passWord.$error.required">密码不能为空！</div><div class="alert alert-danger" ng-show="form2.passWord.$error.pattern">密码长度为6~20位且不能包含空格！</div></div><div class="col-md-3"><label class="text-info">密码：</label></div><div class="col-md-8 clearfix"><input class="form-control" type="password" name="passWord" ng-init="$ctrl.params.ftp_pwd=false" ng-class="{\'accord-pre\':$ctrl.params.ftp_pwd}" ng-model="$ctrl.property.passwd" ng-pattern="/^\\S{6,20}$/" ng-model-options="{debounce:300}" required><p ng-class="{\'accord-next\':$ctrl.params.ftp_pwd}" ng-show="$ctrl.params.ftp_pwd" ng-cloak="">密码说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.ftp_pwd=!$ctrl.params.ftp_pwd"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ftp_pwd,\'glyphicon-question-sign\':!$ctrl.params.ftp_pwd}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="form2.storeTime.$dirty && form2.storeTime.$invalid"><div class="alert alert-danger" ng-show="form2.storeTime.$error.required">数据保存时间不能为空！</div><div class="alert alert-danger" ng-show="form2.storeTime.$error.pattern">数据保存时间只能为不小于0的整数！</div></div><div class="col-md-3"><label class="text-info">数据保存时间：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-init="$ctrl.params.ftp_time=false" ng-class="{\'accord-pre\':$ctrl.params.ftp_time}"><input class="form-control" type="text" name="storeTime" ng-pattern="/^0$|^[1-9][0-9]*$/" required ng-model="$ctrl.property.save_time" maxlength="5"> <span class="input-group-addon">天</span></div><p ng-class="{\'accord-next\':$ctrl.params.ftp_time}" ng-show="$ctrl.params.ftp_time" ng-cloak="">数据保存时间的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.ftp_time=!$ctrl.params.ftp_time"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ftp_time,\'glyphicon-question-sign\':!$ctrl.params.ftp_time}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="form2.asyncJg.$dirty && form2.asyncJg.$invalid"><div class="alert alert-danger" ng-show="form2.asyncJg.$error.required">同步间隔不能为空！</div><div class="alert alert-danger" ng-show="form2.asyncJg.$error.pattern">同步间隔只能为不小于0的整数！</div></div><div class="col-md-3"><label class="text-info">同步间隔：</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-init="$ctrl.params.ftp_jg=false" ng-class="{\'accord-pre\':$ctrl.params.ftp_jg}"><input class="form-control" type="text" name="asyncJg" ng-pattern="/^0$|^[1-9][0-9]*$/" required ng-model="$ctrl.property.wait" maxlength="5"> <span class="input-group-addon">秒</span></div><p ng-class="{\'accord-next\':$ctrl.params.ftp_jg}" ng-show="$ctrl.params.ftp_jg" ng-cloak="">同步间隔的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.ftp_jg=!$ctrl.params.ftp_jg"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ftp_jg,\'glyphicon-question-sign\':!$ctrl.params.ftp_jg}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="form2.transUrl.$dirty && form2.transUrl.$invalid"><div class="alert alert-danger" ng-show="form2.transUrl.$error.required">传输路径不能为空！</div></div><div class="col-md-3"><label class="text-info">传输路径：</label></div><div class="col-md-8 clearfix"><input class="form-control" type="text" name="transUrl" ng-init="$ctrl.params.ftp_url=false" ng-class="{\'accord-pre\':$ctrl.params.ftp_url}" ng-model="$ctrl.property.ftp_path" maxlength="50" required><p ng-class="{\'accord-next\':$ctrl.params.ftp_url}" ng-show="$ctrl.params.ftp_url" ng-cloak="">传输路径的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.ftp_url=!$ctrl.params.ftp_url"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ftp_url,\'glyphicon-question-sign\':!$ctrl.params.ftp_url}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="form2.filePre.$dirty && form2.filePre.$invalid"><div class="alert alert-danger" ng-show="form2.filePre.$error.pattern">文件前缀只能包含数字、字母、下划线，且不能以数字开头，长度不超过50位！</div></div><div class="col-md-3"><label class="text-info">文件前缀：</label></div><div class="col-md-8 clearfix"><input class="form-control" type="text" name="filePre" ng-init="$ctrl.params.ftp_flie=false" ng-class="{\'accord-pre\':$ctrl.params.ftp_flie}" ng-model="$ctrl.property.ftp_filename" ng-pattern="/^[\\w](\\w|\\d){0,49}$/" maxlength="50"><p ng-class="{\'accord-next\':$ctrl.params.ftp_flie}" ng-show="$ctrl.params.ftp_flie" ng-cloak="">文件前缀的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.ftp_flie=!$ctrl.params.ftp_flie"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ftp_flie,\'glyphicon-question-sign\':!$ctrl.params.ftp_flie}"></span></div></div></div></td></tr></table></div></div><div class="panel-footer"><div class="clearfix"><button class="btn btn-sm btn-primary pull-right" ng-disabled="form2.$invalid || $ctrl.isSaving" ng-click="$ctrl.saveFtpInfo()" ng-bind="$ctrl.saveBtnTxt"></button></div></div></form></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("ftp_view/status.component.html",'<div role="tabpanel" class="tab-pane active"><div class="panel panel-default"><div class="panel-heading">FTP属性</div><div class="panel-body"><table class="table table-condensed"><tr ng-cloak="" ng-if="$ctrl.real.com_id.length>0"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">组件ID：</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.real.com_id" ng-init="$ctrl.params.ftp_id=false" ng-class="{\'accord-pre\':$ctrl.params.ftp_id}">1</span><p ng-cloak ng-show="$ctrl.params.ftp_id" ng-class="{\'accord-next\':$ctrl.params.ftp_id}">组件唯一标示</p></div><div class="col-md-1"><span ng-click="$ctrl.params.ftp_id=!$ctrl.params.ftp_id" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ftp_id,\'glyphicon-question-sign\':!$ctrl.params.ftp_id}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">FTP组件名称：</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.component_name" ng-init="$ctrl.params.ftp_name=false" ng-class="{\'accord-pre\':$ctrl.params.ftp_name}">1</span><p ng-cloak ng-show="$ctrl.params.ftp_name" ng-class="{\'accord-next\':$ctrl.params.ftp_name}">FTP组件名称的说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.ftp_name=!$ctrl.params.ftp_name" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ftp_name,\'glyphicon-question-sign\':!$ctrl.params.ftp_name}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">传输类型：</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.type" ng-init="$ctrl.params.ftp_type=false" ng-class="{\'accord-pre\':$ctrl.params.ftp_type}">1</span><p ng-cloak ng-show="$ctrl.params.ftp_type" ng-class="{\'accord-next\':$ctrl.params.ftp_type}">传输类型的说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.ftp_type=!$ctrl.params.ftp_type" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ftp_type,\'glyphicon-question-sign\':!$ctrl.params.ftp_type}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">服务器IP地址：</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.ip" ng-init="$ctrl.params.ftp_ip=false" ng-class="{\'accord-pre\':$ctrl.params.ftp_ip}">1</span><p ng-cloak ng-show="$ctrl.params.ftp_ip" ng-class="{\'accord-next\':$ctrl.params.ftp_ip}">服务器IP地址说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.ftp_ip=!$ctrl.params.ftp_ip" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ftp_ip,\'glyphicon-question-sign\':!$ctrl.params.ftp_ip}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">用户名：</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.user_name" ng-init="$ctrl.params.ftp_user=false" ng-class="{\'accord-pre\':$ctrl.params.ftp_user}">1</span><p ng-cloak ng-show="$ctrl.params.ftp_user" ng-class="{\'accord-next\':$ctrl.params.ftp_user}">用户名说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.ftp_user=!$ctrl.params.ftp_user" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ftp_user,\'glyphicon-question-sign\':!$ctrl.params.ftp_user}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">密码：</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.passwd" ng-init="$ctrl.params.ftp_pwd=false" ng-class="{\'accord-pre\':$ctrl.params.ftp_pwd}">1</span><p ng-cloak ng-show="$ctrl.params.ftp_pwd" ng-class="{\'accord-next\':$ctrl.params.ftp_pwd}">密码说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.ftp_pwd=!$ctrl.params.ftp_pwd" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ftp_pwd,\'glyphicon-question-sign\':!$ctrl.params.ftp_pwd}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">数据保存时间：</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.save_time" ng-init="$ctrl.params.ftp_time=false" ng-class="{\'accord-pre\':$ctrl.params.ftp_time}">1</span><p ng-cloak ng-show="$ctrl.params.ftp_time" ng-class="{\'accord-next\':$ctrl.params.ftp_time}">数据保存时间说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.ftp_time=!$ctrl.params.ftp_time" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ftp_time,\'glyphicon-question-sign\':!$ctrl.params.ftp_time}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">同步间隔：</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.wait" ng-init="$ctrl.params.ftp_jg=false" ng-class="{\'accord-pre\':$ctrl.params.ftp_jg}">1</span><p ng-cloak ng-show="$ctrl.params.ftp_jg" ng-class="{\'accord-next\':$ctrl.params.ftp_jg}">同步间隔说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.ftp_jg=!$ctrl.params.ftp_jg" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ftp_jg,\'glyphicon-question-sign\':!$ctrl.params.ftp_jg}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">传输路径：</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.ftp_path" ng-init="$ctrl.params.ftp_url=false" ng-class="{\'accord-pre\':$ctrl.params.ftp_url}">1</span><p ng-cloak ng-show="$ctrl.params.ftp_url" ng-class="{\'accord-next\':$ctrl.params.ftp_url}">传输路径说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.ftp_url=!$ctrl.params.ftp_url" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ftp_url,\'glyphicon-question-sign\':!$ctrl.params.ftp_url}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">文件前缀：</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.ftp_filename" ng-init="$ctrl.params.ftp_flie=false" ng-class="{\'accord-pre\':$ctrl.params.ftp_flie}">1</span><p ng-cloak ng-show="$ctrl.params.ftp_flie" ng-class="{\'accord-next\':$ctrl.params.ftp_flie}">文件前缀说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.ftp_flie=!$ctrl.params.ftp_flie" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ftp_flie,\'glyphicon-question-sign\':!$ctrl.params.ftp_flie}"></span></div></div></td></tr></table></div></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("group_view/groupView.component.html",'<div class="modal-dialog slide-panel" id="modal-dialog" ng-cloak ng-show="$ctrl.menu.dialog"><div class="modal-content slide-bg-color"><div class="modal-header" style="z-index:999"><button type="button" class="close" ng-click="$ctrl.redirectTo(\'/\')"><span class="fa fa-close"></span></button><h4 class="modal-title" ng-bind="::$ctrl.menu.title"></h4></div><div class="modal-body slide-bg-color"><div class="panel slide-bg-color"><div class="panel-body"><ul class="nav nav-tabs" role="tablist" ng-hide="$ctrl.menu.createStatus"><li role="presentation" ng-class="{\'active\':$ctrl.menu.mc ===1}"><a href="javascript:void(0);" ng-click="$ctrl.changeTab(1)" class="nav-size" translate-once="STATUS"></a></li><li role="presentation" ng-class="{\'active\':$ctrl.menu.mc ===2}"><a href="javascript:void(0);" ng-click="$ctrl.changeTab(2)" class="nav-size" translate-once="CONFIG"></a></li></ul><div class="tab-content"><ui-view></ui-view></div></div></div></div></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("group_view/property.component.html",'<div role="tabpanel" class="tab-pane active"><div class="panel panel-default"><div class="panel-heading" translate-once="Db_jbsx"></div><form name="form2" novalidate><div class="panel-body"><table class="table table-condensed"><tr ng-cloak="" ng-show="$ctrl.real.group_id.length>0"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Gp_id"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.real.group_id" ng-class="{\'accord-pre\':$ctrl.params.gid}">1</span><p ng-cloak ng-show="$ctrl.params.gid" ng-class="{\'accord-next\':$ctrl.params.gid}" translate-once="Gp_wybs"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.gid=!$ctrl.params.gid" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.gid,\'glyphicon-question-sign\':!$ctrl.params.gid}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="form2.gname.$dirty && form2.gname.$invalid"><div class="alert alert-danger" ng-show="form2.gname.$error.required" translate-once="Gp_tip1"></div><div class="alert alert-danger" ng-show="form2.gname.$error.pattern" translate-once="Gp_tip2"></div></div><div class="col-md-12" ng-cloak="" ng-show="$ctrl.back_err.show"><div class="alert alert-danger" ng-bind="$ctrl.back_err.msg" translate-once="Gp_tip1"></div></div><div class="col-md-3"><label class="text-info" translate-once="Gp_mc"></label></div><div class="col-md-8"><input class="form-control" ng-class="{\'accord-pre\':$ctrl.params.groupName}" name="gname" type="text" ng-pattern="/^[a-zA-Z\\u4E00-\\u9FA5](\\w|[\\u4E00-\\u9FA5]|\\d){0,19}$/" required ng-model="$ctrl.property.groupName"><p ng-class="{\'accord-next\':$ctrl.params.groupName}" ng-show="$ctrl.params.groupName" ng-cloak="" translate-once="Gp_mcsm"></p></div><div class="col-md-1"><div class="form-tip clearfix" ng-click="$ctrl.params.groupName=!$ctrl.params.groupName"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.groupName,\'glyphicon-question-sign\':!$ctrl.params.groupName}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="form2.logtime.$dirty && form2.logtime.$invalid"><div class="alert alert-danger" ng-show="form2.logtime.$error.required" translate-once="Gp_tip3"></div><div class="alert alert-danger" ng-show="form2.logtime.$error.pattern" translate-once="Gp_tip4"></div></div><div class="col-md-3"><label class="text-info" translate-once="Gp_rzblsj"></label></div><div class="col-md-8"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.log}"><input class="form-control" name="logtime" type="text" ng-pattern="/^0$|^[1-9][0-9]*$/" required ng-model="$ctrl.property.logTime"> <span class="input-group-addon" translate-once="HOUR"></span></div><p ng-class="{\'accord-next\':$ctrl.params.log}" ng-show="$ctrl.params.log" ng-cloak="" translate-once="Gp_rzsj"></p></div><div class="col-md-1"><div class="form-tip clearfix" ng-click="$ctrl.params.log=!$ctrl.params.log"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.log,\'glyphicon-question-sign\':!$ctrl.params.log}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="form2.gdesc.$dirty && form2.gdesc.$invalid"><div class="alert alert-danger" ng-show="form2.gdesc.$error.maxlength" translate-once="Gp_tip5"></div></div><div class="col-md-3"><label class="text-info" translate-once="Gp_ms"></label></div><div class="col-md-8"><textarea rows="3" cols="5" class="form-control" name="gdesc" ng-class="{\'accord-pre\':$ctrl.params.desc}" ng-model="$ctrl.property.desc" ng-maxlength="200"></textarea><p ng-class="{\'accord-next\':$ctrl.params.desc}" ng-show="$ctrl.params.desc" ng-cloak="" translate-once="Gp_mssm"></p></div><div class="col-md-1"><div class="form-tip clearfix" ng-click="$ctrl.params.desc=!$ctrl.params.desc"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.desc,\'glyphicon-question-sign\':!$ctrl.params.desc}"></span></div></div></div></td></tr></table></div><div class="panel-footer"><div class="clearfix"><button class="btn btn-sm btn-primary pull-right" ng-disabled="form2.$invalid || $ctrl.isSaving" ng-click="$ctrl.saveGroupInfo()" translate-once="Gp_bcz"></button></div></div></form></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("group_view/status.component.html",'<div role="tabpanel" class="tab-pane active"><div class="panel panel-default"><div class="panel-heading" translate-once="Db_jbsx"></div><div class="panel-body"><table class="table table-condensed"><tr ng-cloak="" ng-show="$ctrl.real.group_id.length>0"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Gp_id"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.real.group_id" ng-class="{\'accord-pre\':$ctrl.params.gid}">1</span><p ng-cloak ng-show="$ctrl.params.gid" ng-class="{\'accord-next\':$ctrl.params.gid}" translate-once="Gp_wybs"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.gid=!$ctrl.params.gid" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.gid,\'glyphicon-question-sign\':!$ctrl.params.gid}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Gp_mc"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.groupName" ng-class="{\'accord-pre\':$ctrl.params.groupName}">1</span><p ng-cloak ng-show="$ctrl.params.groupName" ng-class="{\'accord-next\':$ctrl.params.groupName}" translate-once="Gp_mcsm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.groupName=!$ctrl.params.groupName" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.groupName,\'glyphicon-question-sign\':!$ctrl.params.groupName}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Gp_rzblsj"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.logTime+real.hour" ng-class="{\'accord-pre\':$ctrl.params.log}">1</span><p ng-cloak ng-show="$ctrl.params.log" ng-class="{\'accord-next\':$ctrl.params.log}" translate-once="Gp_rzsj"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.log=!$ctrl.params.log" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.log,\'glyphicon-question-sign\':!$ctrl.params.log}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Gp_ms"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.desc" ng-class="{\'accord-pre\':$ctrl.params.desc}">1</span><p ng-cloak ng-show="$ctrl.params.desc" ng-class="{\'accord-next\':$ctrl.params.desc}" translate-once="Gp_mssm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.desc=!$ctrl.params.desc" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.desc,\'glyphicon-question-sign\':!$ctrl.params.desc}"></span></div></div></td></tr></table></div></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){
  l.put("main_view/main_view.html",'<header class="navbar clearfix" id="header"><div class="container" id="container"><div class="navbar-brand"><a href="/index" class="logo-ico"><img src="img/logo/logo.png" alt="Cloud Admin Logo" class="img-responsive"></a><div class="visible-xs"><a href="#" class="team-status-toggle switcher btn dropdown-toggle"><i class="fa fa-users"></i></a></div></div><ul class="nav navbar-nav pull-left hidden-xs" id="navbar-left"><li class="dropdown"><a href="/index" class="team-status-toggle dropdown-toggle tip-bottom" data-toggle="tooltip" title="Toggle Team View"><i class="main-ico"></i> <span class="name" translate-once="PROJECT"></span></a></li><li class="dropdown active"><a href="#" class="team-status-toggle dropdown-toggle tip-bottom" data-toggle="tooltip" title="Toggle Team View"><i class="fa fa-wrench"></i> <span class="name" translate-once="M_work"></span> </a><span class="nav-bottom-bar"></span></li><li class="dropdown" ng-cloak="" ng-hide="$ctrl.user.auth===\'super\'"><a href="/config" class="team-status-toggle dropdown-toggle tip-bottom" data-toggle="tooltip" title="Toggle Team View"><i class="config-ico"></i> <span class="name" translate-once="SYSTEM_CFG"></span></a></li></ul><ul class="nav navbar-nav pull-right"><li class="dropdown tasks" id="header-tasks"><a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-tasks"></i> <span class="badge" ng-cloak="" ng-show="$ctrl.tserver.num>0" ng-bind="$ctrl.tserver.num"></span></a><ul class="dropdown-menu tasks"><li class="dropdown-title"><span><i class="fa fa-check"></i> {{\'M_rwyxz\' | translate:$ctrl.tserver}}</span></li><li ng-cloak="" ng-show="$ctrl.tserver.num>0"><div class="header clearfix"><div class="tasks-item"><div class="pull-left">Tserver</div><div class="pull-right"><i class="fa red fa-stop tasks-item-i" title="{{\'STOP\' | translate}}" ng-click="$ctrl.stopTerver()"></i></div></div></div></li><li class="footer"><a href="javascript:void(0);">{{\'M_yxht\' | translate}}<i class="fa fa-arrow-circle-right"></i></a></li></ul></li><li class="dropdown user"><a href="#" class="dropdown-toggle" data-toggle="dropdown"><img alt="" src="img/avatars/avatar3.jpg" style="visibility: hidden"> <span class="username" ng-bind="$ctrl.user.name">Admin</span> <i class="fa fa-angle-down"></i></a><ul class="dropdown-menu"><li><a href="/logout"><i class="fa fa-power-off"></i> {{\'EXIT\' | translate}}</a></li></ul></li></ul></div></header><div class="container container-make"><div class="row"><div class="box border border-none"><div class="box-title dipTabs"><span class="watch-ico" tooltip-placement="bottom" uib-tooltip="{{\'M_jk\' | translate}}" title="" ng-click="$ctrl.showBigPage()"></span><h4><i class="fa fa-columns"></i><span class="hidden-inline-mobile" ng-bind="$ctrl.menu.currentGc"></span></h4></div><div class="box-body"><div class="header-tabs"><ul class="nav nav-tabs"><li class="active"><a href="#box_tab4" data-toggle="tab"><i class=""></i> <span class="" translate-once="M_work"></span></a></li><li class=""><a href="#box_tab5" data-toggle="tab"><i class=""></i> <span class="" translate-once="M_sjk"></span></a></li><li class=""><a href="#box_tab6" data-toggle="tab"><i class=""></i> <span class="" translate-once="M_gjj"></span></a></li><li class=""><a href="#box_tab7" data-toggle="tab"><i class=""></i> <span class="" translate-once="M_mbk"></span></a></li></ul><div class="tab-content"><div class="tab-pane fade active in" id="box_tab4"><div class="container container-make"><div class="row"><div class="col-md-10"><div class="kj-op kj-btn-group group-ope"><div class="kj-btn-item"><a href="javascript:void(0);" class="btn" tooltip-placement="bottom" uib-tooltip="{{\'M_xjz\' | translate}}" title="" ng-click="$ctrl.createNewGroup()"><span class="km-btn-icon nav-new-bg"></span> <span class="km-btn-caption" translate-once="CREATE"></span></a></div><div class="kj-btn-item"><a href="javascript:void(0);" class="btn" tooltip-placement="bottom" uib-tooltip="{{\'M_bcst\' | translate}}" title="" ng-click="$ctrl.saveCanvas()"><span class="km-btn-icon nav-save-bg"></span> <span class="km-btn-caption" translate-once="SAVE"></span></a></div><div class="kj-btn-item"><a href="javascript:void(0);" class="btn" tooltip-placement="bottom" uib-tooltip="{{\'M_bjst\' | translate}}" title="" ng-click="$ctrl.editGroup()"><span class="km-btn-icon nav-edit-bg"></span> <span class="km-btn-caption" translate-once="EDIT"></span></a></div><div class="kj-btn-item"><a href="javascript:void(0);" class="btn" tooltip-placement="bottom" uib-tooltip="{{\'DELETE\' | translate}}" title="" ng-click="$ctrl.deleteComponent()"><span class="km-btn-icon nav-dele-bg"></span> <span class="km-btn-caption" translate-once="Del"></span></a></div><div class="kj-desc"><span translate-once="OPERATE"></span></div></div><div id="kj-kj" class="kj-kj kj-btn-group group-drag"><div class="component-panels" ng-class="{\'component-panels-bg\':$ctrl.menu.comPanelShow}"><div class="kj-btn-item tool pd-left5" id="database" type="database"><a href="javascript:void(0);" class="btn drag-font" ng-disabled="$ctrl.comsDragable"><span class="km-btn-full database-bg"></span><p class="text-center" translate-once="Cs_sjk"></p></a></div><div class="kj-btn-item tool" id="capture" type="capture"><a href="javascript:void(0);" class="btn drag-font" ng-disabled="$ctrl.comsDragable"><span class="km-btn-full capture-bg"></span><p class="text-center" translate-once="M_bz"></p></a></div><div class="kj-btn-item tool" id="queue" type="queue"><a href="javascript:void(0);" class="btn drag-font" ng-disabled="$ctrl.comsDragable"><span class="km-btn-full queue-bg"></span><p class="text-center" translate-once="M_dl"></p></a></div><div class="kj-btn-item tool" id="loader" type="apply"><a href="javascript:void(0);" class="btn drag-font" ng-disabled="$ctrl.comsDragable"><span class="km-btn-full loader-bg"></span><p class="text-center" translate-once="M_zz"></p></a></div><div class="kj-btn-item tool" id="transfer" type="transfer"><a href="javascript:void(0);" class="btn drag-font" ng-disabled="$ctrl.comsDragable"><span class="km-btn-full server-bg"></span><p class="text-center" translate-once="M_ccz"></p></a></div><div class="kj-btn-item tool" id="etl" type="etl"><a href="javascript:void(0);" class="btn drag-font" ng-disabled="$ctrl.comsDragable"><span class="km-btn-full etl-bg"></span><p class="text-center">ETL</p></a></div><div class="comps-slide"><a href="javascript:void(0);" ng-click="$ctrl.menu.comPanelShow=!$ctrl.menu.comPanelShow" style="height: 52px; vertical-align: text-bottom"><i class="fa" ng-class="{\'fa-sort-down\':!$ctrl.menu.comPanelShow,\'fa-sort-up\':$ctrl.menu.comPanelShow}"></i></a></div><div class="kj-btn-append" ng-cloak="" ng-show="$ctrl.menu.comPanelShow"><div class="kj-btn-item1 tool pd-left5" id="ftp" type="ftp" ng-mousedown="$ctrl.ds={\'display\':\'inline-block\'}" ng-style="$ctrl.ds"><a href="javascript:void(0);" class="drag-font"><span class="km-btn-full ftp-bg"></span><p class="text-center">ftp</p></a></div></div></div><div class="kj-desc"><span translate-once="M_zj"></span></div></div><div class="kj-cz kj-btn-group" ng-cloak="ng-cloak" ng-show="$ctrl.com.operation"><div class="kj-btn-item"><a href="javascript:void(0);" class="btn" ng-class="{\'disabled\':!$ctrl.com.start}" data-toggle="tooltip" data-placement="bottom" ng-click="$ctrl.startEngine()"><span class="km-btn-icon fa fa-play" ng-class="{\'green\':$ctrl.com.start}"></span> <span class="km-btn-caption" translate-once="START"></span></a></div><div class="kj-btn-item"><a href="javascript:void(0);" class="btn" ng-class="{\'disabled\':!$ctrl.com.scn_start}" data-toggle="tooltip" data-placement="bottom" ng-click="$ctrl.startScnEngine()"><span class="km-btn-icon fa fa-forward" ng-class="{\'green\':$ctrl.com.scn_start}"></span> <span class="km-btn-caption" translate-once="SCNST"></span></a></div><div class="kj-btn-item"><a href="javascript:void(0);" class="btn" ng-class="{\'disabled\':!$ctrl.com.restart}" data-toggle="tooltip" data-placement="bottom" ng-click="$ctrl.stopEngine()"><span class="km-btn-icon fa fa-stop" ng-class="{\'red\':$ctrl.com.restart}"></span> <span class="km-btn-caption" translate-once="STOP"></span></a></div><div class="kj-btn-item"><a href="javascript:void(0);" class="btn" ng-class="{\'disabled\':!$ctrl.com.stop}" data-toggle="tooltip" data-placement="bottom" ng-click="$ctrl.restartEngine()"><span class="km-btn-icon fa fa-repeat" ng-class="{\'green\':$ctrl.com.stop}"></span> <span class="km-btn-caption" translate-once="RESTART"></span></a></div><div class="kj-desc"><span translate-once="RUN"></span></div></div><div class="kj-dq kj-btn-group"><div class="kj-btn-item" ng-class="{\'active\':$ctrl.menu.dq.left}"><a href="javascript:void(0);" class="btn" tooltip-placement="bottom" uib-tooltip="{{\'M_zdq\' | translate}}" title="{{\'M_zdq\' | translate}}" ng-click="$ctrl.changeDq(1)"><span class="km-btn-icon left-just-bg"></span> <span class="km-btn-caption" translate-once="M_zdq"></span></a></div><div class="kj-btn-item" ng-class="{\'active\':$ctrl.menu.dq.right}"><a href="javascript:void(0);" class="btn" tooltip-placement="bottom" uib-tooltip="{{\'M_ydq\' | translate}}" title="{{\'M_ydq\' | translate}}" ng-click="$ctrl.changeDq(2)"><span class="km-btn-icon right-just-bg"></span> <span class="km-btn-caption" translate-once="M_ydq"></span></a></div><div class="kj-btn-item" ng-class="{\'active\':$ctrl.menu.dq.top}"><a href="javascript:void(0);" class="btn" tooltip-placement="bottom" uib-tooltip="{{\'M_sdq\' | translate}}" title="{{\'M_sdq\' | translate}}" ng-click="$ctrl.changeDq(5)"><span class="km-btn-icon up-just-bg"></span> <span class="km-btn-caption" translate-once="M_sdq"></span></a></div><div class="kj-btn-item" ng-class="{\'active\':$ctrl.menu.dq.bottom}"><a href="javascript:void(0);" class="btn" tooltip-placement="bottom" uib-tooltip="{{\'M_xdq\' | translate}}" title="{{\'M_xdq\' | translate}}" ng-click="$ctrl.changeDq(6)"><span class="km-btn-icon down-just-bg"></span> <span class="km-btn-caption" translate-once="M_xdq"></span></a></div><div class="kj-desc"><span translate-once="M_dq"></span></div></div><div class="kj-zh kj-btn-group"><div class="kj-btn-item" ng-class="{\'active\':$ctrl.menu.moshi.map}"><a href="javascript:void(0);" class="btn" tooltip-placement="bottom" uib-tooltip="{{\'M_stms\' | translate}}" title="" ng-click="$ctrl.changeMs(\'map\')"><span class="km-btn-icon view-bg"></span> <span class="km-btn-caption" translate-once="M_st"></span></a></div><div class="kj-btn-item" ng-class="{\'active\':!$ctrl.menu.moshi.map}"><a href="javascript:void(0);" class="btn" tooltip-placement="bottom" uib-tooltip="{{\'M_lbms\' | translate}}" title="" ng-click="$ctrl.changeMs(\'list\')"><span class="km-btn-icon list-bg"></span> <span class="km-btn-caption" translate-once="M_lb"></span></a></div><div class="kj-desc"><span translate-once="VIEW"></span></div></div><div class="kj-kz kj-btn-group drag-console group-cons"><div class="kj-btn-item drag-console"><a href="javascript:void(0);" class="btn" ng-click="$ctrl.toggleConsole()" tooltip-placement="bottom" uib-tooltip="{{\'M_yxxx\' | translate}}" title=""><span class="km-btn-full conter-bg"></span> <span class="km-btn-caption"></span></a></div><div class="kj-desc drag-console"><span class="text-center magin-top-10" translate-once="M_yxxx"></span></div></div></div><div class="col-md-2"></div></div></div></div><div class="tab-pane fade" id="box_tab5"><div class="col-md-5"><div class="slide-bar"><div class="flexslider carousel" id="flexbox"><div class="flex-viewport"><ul class="slides"><li ng-click="$ctrl.checkCurModel($event,item)" ng-repeat="item in $ctrl.modelList track by $index" repeat-finish><img src="img/data-slide.png" style="width: 50px;height: 35px"><p ng-bind="item.db_name"></p></li></ul></div><ul class="flex-direction-nav"><li class="flex-nav-prev"><a class="flex-prev" href="javascript:void(0);" tabindex="-1">Previous</a></li><li class="flex-nav-next"><a class="flex-next" href="javascript:void(0);" tabindex="-1">Next</a></li></ul></div></div></div></div><div class="tab-pane fade" id="box_tab6"><div class="container container-make"><div class="row"><div class="col-md-12"><div class="kj-kz kj-btn-group drag-console group-syn-tool tool-del-border"><div class="kj-btn-item drag-console"><a href="javascript:void(0);" class="btn" ng-click="$ctrl.full_syc_data()"><span class="km-btn-full aspect-syn mlf-15"></span> <span class="km-btn-caption"></span></a></div><div class="kj-desc drag-console"><span class="text-center magin-top-10" translate-once="M_cltb"></span></div></div><div class="kj-kz kj-btn-group drag-console group-syn tool-del-border"><div class="kj-btn-item drag-console"><a href="javascript:void(0);" class="btn" ng-click="$ctrl.inputPz()"><span class="km-btn-full aspect-intro mlf-15"></span> <span class="km-btn-caption"></span> </a><input style="display: none" type="file" id="file" name="myfile"></div><div class="kj-desc drag-console"><span class="text-center magin-top-10" translate-once="M_pzhy"></span></div></div><div class="kj-kz kj-btn-group drag-console group-syn tool-del-border"><div class="kj-btn-item drag-console"><a href="javascript:void(0);" class="btn" ng-click="$ctrl.outputPz()"><span class="km-btn-full aspect-export mlf-15"></span> <span class="km-btn-caption"></span></a></div><div class="kj-desc drag-console"><span class="text-center magin-top-10" translate-once="M_pzbf"></span></div></div><div class="kj-kz kj-btn-group drag-console group-syn tool-del-border"><div class="kj-btn-item drag-console"><a href="javascript:void(0);" class="btn" ng-click="$ctrl.showTserverInfo()"><span class="km-btn-full aspect-tserver mlf-15"></span> <span class="km-btn-caption"></span></a></div><div class="kj-desc drag-console"><span class="text-center magin-top-10">Tserver</span></div></div><div class="kj-kz kj-btn-group drag-console group-syn tool-del-border"><div class="kj-btn-item drag-console"><a href="javascript:void(0);" class="btn" ng-click="$ctrl.outputErrFiles()"><span class="km-btn-full aspect-export-err mlf-15"></span> <span class="km-btn-caption"></span></a></div><div class="kj-desc drag-console"><span class="text-center magin-top-10" translate-once="M_dccw"></span></div></div></div></div></div></div><div class="tab-pane fade" id="box_tab7"><div class="container container-make"><div class="row"><div class="col-md-12"><div class="kj-kz kj-btn-group drag-console group-syn tool-del-border"><div class="kj-btn-item drag-console"><a href="javascript:void(0);" class="btn" ng-click="$ctrl.getComTemplate()"><span class="km-btn-full aspect-export-model mlf-15"></span> <span class="km-btn-caption"></span></a></div><div class="kj-desc drag-console"><span class="text-center magin-top-10" translate-once="M_bzll"></span></div></div></div></div></div></div></div></div></div></div></div></div><div id="drag_box_id" class="container container-make drag-container page-header-fixed page-header-fixed"><div class="row"><div class="col-md-12"><div class="page-container"><div class="page-sidebar navbar-collapse pull-left"><ul class="page-sidebar-menu"><li><div class="sidebar-toggler hidden-phone" ng-click="$ctrl.toggleSideBar();"><i class="fa" ng-class="{\'fa-angle-double-left\':$ctrl.isOpen,\'fa-angle-double-right\':!$ctrl.isOpen}"></i></div></li><li><div class="sidebar-search clearfix"><input type="text" translate-once-placeholder="SEARCH" ng-model="$ctrl.q"> <span class="fa fa-search submit" ng-cloak=""></span></div></li><li><a href="javascript:void(0);"><i class="fa pro-tit-logo"></i> <span class="title" ng-bind="$ctrl.proName"></span> <span class="arrow open"></span></a></li></ul><ul class="page-sidebar-menu2" id="page-slidebar"><li ng-class="{\'animate-repeat\':true,\'active\':group.active}" ng-repeat="group in $ctrl.groupList | filter:{title:$ctrl.q} track by $index"><a href="javascript:void(0);" class="group-list-one" ng-click="$ctrl.changeGroup(group)" context-menu="$ctrl.menuOptions"><i class="status" ng-class="{\'green glyphicon glyphicon-ok-sign\':group.load===\'yes\',\'greenyellow glyphicon glyphicon-warning-sign\':group.load===\'no\'}" ng-cloak=""></i> <span class="title" ng-cloak="">{{group.title}}</span></a></li></ul><div class="main-bott-logo"><div class="logo-bott-ico"></div><span class="main-logo-cp" translate-once="Gst"></span> <span class="main-logo-cp" translate-once="Gsw"></span></div></div><div class="page-content drag-box"><div class="topo-map" id="viewMapId"><div class="widget-content"><div id="flowbox" class="flowbox" ng-click="$ctrl.clearView($event)"></div><div id="consoleUI" ui-view="master"></div></div></div><div class="widget-normal" style="display: none" id="viewListId"><div class="gl-list"><table class="table"><colgroup><col style="width: 10%"><col style="width: 90%"></colgroup><tr><th class="gl-row-first"><div class="btn-group"><button type="button" class="btn btn-primary gl-row-btn dropdown-toggle" data-toggle="dropdown" aria-expanded="false">{{\'M_zm\' | translate}}<span class="caret"></span></button><ul class="dropdown-menu" role="menu"><li><a href="javascript:void(0);" ng-repeat="item in $ctrl.groupList track by $index" ng-bind="item.title" ng-click="$ctrl.changeGroup(item)">group1</a></li></ul></div></th><th colspan="10"><table class="table gr-row-table"><colgroup><col style="width: 10%"><col style="width: 15%"><col style="width: 15%"><col style="width: 15%"><col style="width: 15%"><col style="width: 10%"><col style="width: 5%"><col style="width: 5%"><col style="width: 5%"><col style="width: 5%"></colgroup><tr><th><div class="btn-group"><button type="button" class="btn btn-primary gl-row-btn dropdown-toggle" data-toggle="dropdown" aria-expanded="false">{{\'M_zjlx\' | translate}}<span class="caret"></span></button><ul class="dropdown-menu" role="menu"><li><a href="javascript:void(0);" ng-click="$ctrl.changAc(\'all\')" translate-once="ALL"></a></li><li><a href="javascript:void(0);" ng-click="$ctrl.changAc(\'dt\')" translate-once="M_dtzj"></a></li><li><a href="javascript:void(0);" ng-click="$ctrl.changAc(\'jt\')" translate-once="M_jtzj"></a></li></ul></div></th><th translate-once="M_zujm"></th><th translate-once="STATUS"></th><th translate-once="M_kssj"></th><th>SCT</th><th>SCN</th><th>Insert</th><th>Update</th><th>Delete</th><th>DDL</th></tr></table></th></tr></table><div class="table-str"><table class="table gl-table-body"><colgroup><col style="width: 10%"><col style="width: 90%"></colgroup><tr><td class="gl-row-first" ng-bind="$ctrl.listView.group.title">group1</td><td colspan="10"><table class="table gr-row-table-info"><colgroup><col style="width: 10%"><col style="width: 15%"><col style="width: 15%"><col style="width: 15%"><col style="width: 15%"><col style="width: 10%"><col style="width: 5%"><col style="width: 5%"><col style="width: 5%"><col style="width: 5%"></colgroup><tr ng-repeat="item in $ctrl.listView.mapList track by $index"><td ng-bind="item.type">Database</td><td ng-bind="item.name">db</td><td ng-bind="item.status">-</td><td ng-bind="item.st">-</td><td ng-bind="item.temp">-</td><td ng-bind="item.scn">-</td><td ng-bind="item.insert">-</td><td ng-bind="item.update">-</td><td ng-bind="item.delete">-</td><td ng-bind="item.ddl">-</td></tr><tr ng-cloak="ng-cloak" ng-show="$ctrl.listView.mapList.length===0"><td colspan="10" class="txt-align-center">No Data!</td></tr></table></td></tr></table></div></div></div></div></div></div></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("queue_view/property.component.html",'<div role="tabpanel" class="tab-pane"><div class="panel panel-default"><div class="panel-heading" translate-once="Db_jbsx"></div><form name="form2" autocomplete="off" novalidate><div class="panel-body"><table class="table table-condensed"><tr ng-cloak="" ng-show="$ctrl.real.com_id.length>0"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Dl_id"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.real.com_id" ng-class="{\'accord-pre\':$ctrl.params.qpId}">1</span><p ng-cloak ng-show="$ctrl.params.qpId" ng-class="{\'accord-next\':$ctrl.params.qpId}" translate-once="Dl_wybs"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.qpId=!$ctrl.params.qpId" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.qpId,\'glyphicon-question-sign\':!$ctrl.params.qpId}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="form2.queue_name.$dirty && form2.queue_name.$invalid"><div class="alert alert-danger" ng-show="form2.queue_name.$error.required" translate-once="Dl_tip1"></div><div class="alert alert-danger" ng-show="form2.queue_name.$error.pattern" translate-once="Dl_tip2"></div></div><div class="col-md-3"><label class="text-info" translate-once="Dl_mc"></label></div><div class="col-md-8 clearfix"><input class="form-control" ng-class="{\'accord-pre\':$ctrl.params.qpn}" type="text" name="queue_name" ng-pattern="/^[a-zA-Z\\u4E00-\\u9FA5](\\w|[\\u4E00-\\u9FA5]|\\d){0,19}$/" ng-model="$ctrl.property.queue_name" required><p ng-class="{\'accord-next\':$ctrl.params.qpn}" ng-show="$ctrl.params.qpn" ng-cloak="" translate-once="Dl_mcsm"></p></div><div class="col-md-1"><div class="form-tip clearfix" ng-click="$ctrl.params.qpn=!$ctrl.params.qpn"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.qpn,\'glyphicon-question-sign\':!$ctrl.params.qpn}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="form2.filesize.$dirty && form2.filesize.$invalid"><div class="alert alert-danger" ng-show="form2.filesize.$error.required" translate-once="Dl_tip3"></div><div class="alert alert-danger" ng-show="form2.filesize.$error.pattern" translate-once="Dl_tip4"></div></div><div class="col-md-3"><label class="text-info" translate-once="Dl_dgwjdx"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.qpsiz}"><input type="text" class="form-control" name="filesize" ng-pattern="/^[1-9][0-9]{0,4}$/" required ng-model="$ctrl.property.file_size"> <span class="input-group-addon">M</span></div><p ng-class="{\'accord-next\':$ctrl.params.qpsiz}" ng-show="$ctrl.params.qpsiz" ng-cloak="" translate-once="Dl_dgwjsm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.qpsiz=!$ctrl.params.qpsiz"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.qpsiz,\'glyphicon-question-sign\':!$ctrl.params.qpsiz}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="form2.keepTime.$dirty && form2.keepTime.$invalid"><div class="alert alert-danger" ng-show="form2.keepTime.$error.required" translate-once="Dl_tip5"></div><div class="alert alert-danger" ng-show="form2.keepTime.$error.pattern" translate-once="Dl_tip6"></div></div><div class="col-md-3"><label class="text-info" translate-once="Dl_blsj"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.qpsati}"><input type="text" class="form-control" placeholder="5" name="keepTime" ng-pattern="/^[1-9][0-9]{0,9}$/" required ng-model="$ctrl.property.save_hour"> <span class="input-group-addon" translate-once="HOUR"></span></div><p ng-class="{\'accord-next\':$ctrl.params.qpsati}" ng-show="$ctrl.params.qpsati" ng-cloak="" translate-once="Dl_blsjsm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.qpsati=!$ctrl.params.qpsati"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.qpsati,\'glyphicon-question-sign\':!$ctrl.params.qpsati}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Dl_tjdl"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.qpsta}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.charts" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.charts" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.qpsta}" ng-show="$ctrl.params.qpsta" ng-cloak="" translate-once="Dl_tjdlsm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.qpsta=!$ctrl.params.qpsta"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.qpsta,\'glyphicon-question-sign\':!$ctrl.params.qpsta}"></span></div></div></div></td></tr></table></div><div class="panel-footer"><div class="clearfix"><button class="btn btn-sm btn-primary pull-right" ng-disabled="form2.$invalid || $ctrl.isSaving" ng-click="$ctrl.save_queue_info()" translate-once="SAVE"></button></div></div></form></div><uib-accordion close-others="oneAtATime"><div uib-accordion-group class="panel panel-default" is-open="$ctrl.data.superConfig"><uib-accordion-heading>{{\'Dl_sctjsj\' | translate}} <i class="pull-right glyphicon" ng-class="{\'glyphicon-chevron-up\':$ctrl.data.superConfig, \'glyphicon-chevron-down\':!$ctrl.data.superConfig}"></i></uib-accordion-heading><form name="tj_form" autocomplete="off" novalidate><div class="panel-body clearfix"><table class="table table-condensed"><tr><td style="padding-top: 0;border-top: none"><div class="row"><div class="col-md-12"><div class="alert-info"><i class="fa fa-info"></i>{{\'Dl_qltj\' | translate}}</div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="tj_form.last_time.$invalid"><div class="alert alert-danger" ng-show="tj_form.last_time.$error.required" translate-once="Dl_tip7"></div><div class="alert alert-danger" ng-show="tj_form.last_time.$error.pattern" translate-once="Dl_tip8"></div></div><div class="col-md-3"><label class="text-info" translate-once="Dl_qcjzsj"></label></div><div class="col-md-8 clearfix"><a class="dropdown-toggle" id="dropdown2" role="button" data-toggle="dropdown" data-target="#" href="javascript:void(0)"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.tj.deadline}"><input class="form-control" name="last_time" ng-model="$ctrl.tj.endTime" ng-pattern="/^(\\d{4})\\-(\\d{2})\\-(\\d{2}) (\\d{2}):(\\d{2})$/" required><div class="input-group-addon"><i class="glyphicon glyphicon-calendar"></i></div></div><p ng-class="{\'accord-next\':$ctrl.tj.deadline}" ng-show="$ctrl.tj.deadline" ng-cloak="" translate-once="Dl_jzsjsm"></p></a><ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"><datetimepicker data-ng-model="$ctrl.tj.endTime" data-datetimepicker-config="{ dropdownSelector: \'#dropdown2\',modelType:\'YYYY-MM-DD HH:mm\'}"></ul></div><div class="col-md-1"><div class="form-tip clearfix" ng-click="$ctrl.tj.deadline=!$ctrl.tj.deadline"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.tj.deadline,\'glyphicon-question-sign\':!$ctrl.tj.deadline}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Dl_qczssj"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.tj.sw}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.tj.sws" value="yes">{{\'YES\' |translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.tj.sws" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.tj.sw}" ng-show="$ctrl.tj.sw" ng-cloak="" translate-once="Dl_qcsm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.tj.sw=!$ctrl.tj.sw"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.tj.sw,\'glyphicon-question-sign\':!$ctrl.tj.sw}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Dl_qctj"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.tj.ct}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.tj.charts" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.tj.charts" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.tj.ct}" ng-show="$ctrl.tj.ct" ng-cloak="" translate-once="Dl_qctjsm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.tj.ct=!$ctrl.tj.ct"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.tj.ct,\'glyphicon-question-sign\':!$ctrl.tj.ct}"></span></div></div></div></td></tr></table></div><div class="panel-footer clearfix" style="margin-bottom: 35px"><button class="btn btn-sm btn-primary pull-right" ng-disabled="tj_form.$invalid || $ctrl.isRemoving" ng-click="$ctrl.removeLogData()" translate-once="Dl_qrqc"></button></div></form></div></uib-accordion></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){
  l.put("queue_view/status.component.html",'<div role="tabpanel" class="tab-pane active"><div class="panel panel-default"><div class="panel-heading" translate-once="Db_jbsx"></div><div class="panel-body"><table class="table table-condensed"><tr ng-cloak="" ng-show="$ctrl.real.com_id.length>0"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Dl_id"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.real.com_id" ng-class="{\'accord-pre\':$ctrl.params.qpId}">1</span><p ng-cloak ng-show="$ctrl.params.qpId" ng-class="{\'accord-next\':$ctrl.params.qpId}" translate-once="Dl_wybs"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.qpId=!$ctrl.params.qpId" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.qpId,\'glyphicon-question-sign\':!$ctrl.params.qpId}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Dl_mc"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.queue_name" ng-class="{\'accord-pre\':$ctrl.params.qpn}">1</span><p ng-cloak ng-show="$ctrl.params.qpn" ng-class="{\'accord-next\':$ctrl.params.qpn}" translate-once="Dl_mcsm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.qpn=!$ctrl.params.qpn" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.qpn,\'glyphicon-question-sign\':!$ctrl.params.qpn}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Dl_dgwjdx"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.file_size" ng-class="{\'accord-pre\':$ctrl.params.qpsiz}">1</span><p ng-cloak ng-show="$ctrl.params.qpsiz" ng-class="{\'accord-next\':$ctrl.params.qpsiz}" translate-once="Dl_dgwjsm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.qpsiz=!$ctrl.params.qpsiz" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.qpsiz,\'glyphicon-question-sign\':!$ctrl.params.qpsiz}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Dl_blsj"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.save_hour+$ctrl.real.hour" ng-class="{\'accord-pre\':$ctrl.params.qpsati}"></span><p ng-cloak ng-show="$ctrl.params.qpsati" ng-class="{\'accord-next\':$ctrl.params.qpsati}" translate-once="Dl_blsjsm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.qpsati=!$ctrl.params.qpsati" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.qpsati,\'glyphicon-question-sign\':!$ctrl.params.qpsati}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Dl_sftj"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.charts" ng-class="{\'accord-pre\':$ctrl.params.qpsta}">1</span><p ng-cloak ng-show="$ctrl.params.qpsta" ng-class="{\'accord-next\':$ctrl.params.qpsta}" translate-once="Dl_sftjsm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.qpsta=!$ctrl.params.qpsta" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.qpsta,\'glyphicon-question-sign\':!$ctrl.params.qpsta}"></span></div></div></td></tr></table></div></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("loader_view/customTables.html",'<div class="modal-header"><button type="button" class="close" ng-click="$ctrl.cancel()" aria-label="Close"><span aria-hidden="true">×</span></button><h3 class="modal-title">添加列表</h3></div><div class="modal-body"><div class="customsLoaderList"><div class="alert alert-info customsLoaderHead">请输入以换行或者逗号分隔的数据。</div><textarea class="customsLoaderTab" ng-model="$ctrl.handle.newStr" maxlength="2000"></textarea></div></div><div class="modal-footer"><button class="btn btn-warning btn-sm" type="button" ng-click="$ctrl.cancel()">取消</button> <button class="btn btn-primary btn-sm" type="button" ng-click="$ctrl.saveCustoms()">保存</button></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){
  l.put("loader_view/property.component.html",'<div role="tabpanel" class="tab-pane"><div class="panel panel-default"><div class="panel-heading" translate-once="Ld_sx"></div><form name="gj_form" autocomplete="off" novalidate><div class="panel-body clearfix"><div class="capture-property-name cap-form-tip clearfix row" ng-cloak="" ng-show="$ctrl.real.com_id.length>0"><div class="col-md-3"><label class="text-info">Loader server ID：</label></div><div class="col-md-8 clearfix"><span class="ci-label" style="line-height: 30px" ng-bind="$ctrl.real.com_id" ng-class="{\'accord-pre\':$ctrl.params.lodId}">1</span><p ng-cloak ng-show="$ctrl.params.lodId" ng-class="{\'accord-next\':$ctrl.params.lodId}" translate-once="Ld_wybs"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.lodId=!$ctrl.params.lodId" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodId,\'glyphicon-question-sign\':!$ctrl.params.lodId}"></span></div></div><div class="capture-property-name cap-form-tip clearfix row"><div class="col-md-12" ng-show="gj_form.applyN.$dirty && gj_form.applyN.$invalid"><div class="alert alert-danger" ng-show="gj_form.applyN.$error.required" translate-once="Ld_tip1"></div><div class="alert alert-danger" ng-show="gj_form.applyN.$error.pattern" translate-once="Ld_tip2"></div></div><div class="col-md-3"><label class="text-info"><span class="red">*</span>{{\'Ld_lsmc\' | translate}}</label></div><div class="col-md-8 clearfix"><input class="form-control" type="text" placeholder="loader name" name="applyN" ng-pattern="/^[a-zA-Z\\u4E00-\\u9FA5](\\w|[\\u4E00-\\u9FA5]|\\d){0,19}$/" ng-model="$ctrl.data.loaderName" required ng-class="{\'accord-pre\':$ctrl.params.loaderName}"><p ng-cloak ng-show="$ctrl.params.loaderName" ng-class="{\'accord-next\':$ctrl.params.loaderName}" translate-once="Ld_lswy"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.loaderName=!$ctrl.params.loaderName" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.loaderName,\'glyphicon-question-sign\':!$ctrl.params.loaderName}"></span></div></div><uib-accordion close-others="true"><div uib-accordion-group class="panel panel-default" is-open="$ctrl.data.include_panel"><uib-accordion-heading>{{\'Ld_bhtj\' | translate}}<i class="pull-right glyphicon" ng-class="{\'glyphicon-chevron-up\': $ctrl.data.include_panel, \'glyphicon-chevron-down\': !$ctrl.data.include_panel}"></i></uib-accordion-heading><div class="panel-heading clearfix"><button class="btn btn-sm pull-right" ng-click="$ctrl.editIncConfig()" ng-bind="$ctrl.data.inc_edit_txt" translate-once="EDIT"></button></div><div class="panel-body clearfix"><table class="table table-condensed" ng-hide="$ctrl.data.inc_edit"><tr><td class="loader-empty-info"><div ng-show="$ctrl.data.include_empty"><i class="fa fa-info"></i> <span class="text-info" translate-once="Ld_zwbhtj"></span></div><div ng-cloak="" ng-show="!$ctrl.data.include_empty" id="loaderIncTreeId" class="ztree ztreecss loaderTree"></div></td></tr></table><div class="loader-edit-page clearfix" ng-cloak="" ng-show="$ctrl.data.inc_edit"><div class="loader-edit-left"><div class="loader-edit-left-head" translate-once="Ld_ydsjlb"></div><div class="loader-edit-left-body"><div id="loaderIncEditTreeId" class="ztree"></div></div></div><div class="loader-edit-right"><div class="loader-edit-panel"><div class="loader-common-head" translate-once="Ld_tjbj"></div><div class="loader-schema-panel" ng-show="$ctrl.superCon.schemaPanel"><div class="loader-schema-head clearfix"><div class="pull-left loader-text-block"><label translate-once="Ld_yschema"></label><input type="text" readonly="readonly" ng-model="$ctrl.superCon.oldSchema"></div><div class="pull-right loader-text-block"><label translate-once="Ld_ths"></label><input type="text" ng-model="$ctrl.superCon.newSchema" maxlength="30"></div></div><div class="loader-schema-body"><ul><li ng-repeat="item in $ctrl.superCon.schemaList track by $index"><a href="javascript:void(0);" ng-click="$ctrl.showObjectIncInfo(item)" ng-bind="item.name"></a></li><li ng-show="$ctrl.superCon.schemaList.length===0" class="text-align-center">No Data!</li></ul></div></div><div class="loader-user-panel" ng-cloak="" ng-if="!$ctrl.superCon.schemaPanel"><div class="loader-user-head"><div class="pull-left loader-text-block"><label translate-once="Ld_dxlx"></label>{{$ctrl.superCon.userType}}</div><div class="pull-right loader-text-block"><input type="text" ng-keyup="$ctrl.filterIncList($event)" placeholder=":ck搜索选中" id="incSearchBox" maxlength="40"> <a href="javascript:void(0);" title="手动编辑列表" class="fa fa-edit" style="margin-left: 5px" ng-click="$ctrl.openCustomPanel(1)"></a></div></div><div class="loader-user-body"><div class="l-b-head"><table class="table table-condensed"><colgroup><col style="width:10%"><col style="width:60%"><col style="width:30%"></colgroup><tr><th><input type="checkbox" class="text-radio" title="当前页全选" ng-model="$ctrl.superCon.pageCkAll" ng-change="$ctrl.ckPageAll()"></th><th translate-once="Ld_dxmc"></th><th translate-once="Ld_thmc"></th></tr></table></div><div class="l-b-body" id="superLoaderInclude"><table class="table table-condensed"><colgroup><col style="width:10%"><col style="width:60%"><col style="width:30%"></colgroup><tr ng-repeat="item in $ctrl.superCon.selList=($ctrl.superCon.userList | limitTo: $ctrl.totalDisplayed: ($ctrl.pageInc.currentPage -1) * $ctrl.pageInc.pageSize) track by item.id"><td><input type="checkbox" class="text-radio loader-inc-box" ng-checked="item.checked" value="{{item.id}}" ng-click="$ctrl.changeIncCk(item, $event)"></td><td ng-class="{red: item.isNew}" ng-bind="item.name"></td><td><input type="text" class="text-box" value="{{item.rname}}" ng-keyup="$ctrl.changeIncItem(item, $event)" maxlength="40"></td></tr><tr ng-show="$ctrl.superCon.loading"><td colspan="3" class="text-align-center"><img src="../img/15.gif"></td></tr><tr ng-show="!$ctrl.superCon.loading && $ctrl.superCon.userList.length===0"><td colspan="3" class="text-align-center">No Data!</td></tr></table></div></div></div><div class="l-b-foot clearfix" ng-cloak="" ng-if="!$ctrl.superCon.schemaPanel"><div class="l-b-foot-body"><div class="pull-left"><label style="font-weight: normal">全部选中： <input type="checkbox" title="全部选中" style="margin-right: 10px" ng-model="$ctrl.superCon.userCkAll" ng-change="$ctrl.ckAll()"></label></div><div class="pull-right"><button type="button" class="btn btn-sm" ng-disabled="$ctrl.pageInc.pDis" ng-click="$ctrl.pageIncPre()">Pre</button> <input type="number" ng-model="$ctrl.pageInc.currentPage" ng-change="$ctrl.changePage()" style="width: 60px">/{{$ctrl.pageInc.totalPage}} <button type="button" class="btn btn-sm" ng-disabled="$ctrl.pageInc.nDis" ng-click="$ctrl.pageIncNext()">Next</button></div></div></div><div class="loader-common-foot clearfix"><div class="pull-right"><button class="btn btn-sm" ng-disabled="!$ctrl.data.inc_edit" ng-click="$ctrl.saveFilterTree()" translate-once="OK"></button> <button class="btn btn-sm" ng-click="$ctrl.exitFilterTree()" translate-once="CANCEL"></button></div></div></div></div></div></div></div><div uib-accordion-group class="panel panel-default" is-open="$ctrl.data.exclude_panel"><uib-accordion-heading>{{\'Ld_pctj\' | translate}}<i class="pull-right glyphicon" ng-class="{\'glyphicon-chevron-down\':!$ctrl.data.exclude_panel, \'glyphicon-chevron-up\':$ctrl.data.exclude_panel}"></i></uib-accordion-heading><div class="panel-heading clearfix"><button class="btn btn-sm pull-right" ng-click="$ctrl.editExcConfig()" ng-bind="$ctrl.data.exc_edit_txt" translate-once="EDIT"></button></div><div class="panel-body clearfix"><table class="table table-condensed" ng-hide="$ctrl.data.exc_edit"><tr><td class="loader-empty-info"><div ng-show="$ctrl.data.exclude_empty"><i class="fa fa-info"></i> <span class="text-info" translate-once="Ld_zwpctj"></span></div><div ng-cloak="" ng-show="!$ctrl.data.exclude_empty" id="loaderExcTreeId" class="ztree ztreecss loaderTree"></div></td></tr></table><div class="loader-edit-page clearfix" ng-cloak="" ng-show="$ctrl.data.exc_edit"><div class="loader-edit-left"><div class="loader-edit-left-head" translate-once="Ld_ydsjlb"></div><div class="loader-edit-left-body"><div id="loaderExcEditTreeId" class="ztree"></div></div></div><div class="loader-edit-right"><div class="loader-edit-panel"><div class="loader-common-head" translate-once="Ld_pctjbj"></div><div class="loader-schema-panel" ng-show="$ctrl.superConExc.schemaPanel"><div class="loader-schema-head clearfix"><div class="pull-left loader-text-block"><label translate-once="Ld_yschema"></label><input type="text" readonly="readonly" ng-model="$ctrl.superConExc.oldSchema"></div><div class="pull-right loader-text-block"><label translate-once="Ld_ths"></label><input type="text" ng-model="$ctrl.superConExc.newSchema" maxlength="30"></div></div><div class="loader-schema-body"><ul><li ng-repeat="item in $ctrl.superConExc.schemaList track by $index"><a href="javascript:void(0);" ng-click="$ctrl.showObjectExcInfo(item)" ng-bind="item.name"></a></li><li ng-show="$ctrl.superConExc.schemaList.length===0" class="text-align-center">No Data!</li></ul></div></div><div class="loader-user-panel" ng-cloak="" ng-if="!$ctrl.superConExc.schemaPanel"><div class="loader-user-head"><div class="pull-left loader-text-block"><label translate-once="Ld_dxlx"></label>{{$ctrl.superConExc.userType}}</div><div class="pull-right loader-text-block"><input type="text" ng-keyup="$ctrl.filterExcList($event)" placeholder=":ck搜索选中" id="excSearchBox" maxlength="40"> <a href="javascript:void(0);" title="手动编辑列表" class="fa fa-edit" style="margin-left: 5px" ng-click="$ctrl.openCustomPanel(2)"></a></div></div><div class="loader-user-body"><div class="l-b-head"><table class="table table-condensed"><colgroup><col style="width:10%"><col style="width:90%"></colgroup><tr><th><input type="checkbox" class="text-radio" title="当前页选中" ng-model="$ctrl.superConExc.pageCkAll" ng-change="$ctrl.ckExcPageAll()"></th><th translate-once="Ld_dxmc"></th></tr></table></div><div class="l-b-body" id="superLoaderExclude"><table class="table table-condensed"><colgroup><col style="width:10%"><col style="width:90%"></colgroup><tr ng-repeat="item in $ctrl.superConExc.selList=($ctrl.superConExc.userList | limitTo: $ctrl.totalDisplayed: ($ctrl.pageExc.currentPage -1) * $ctrl.pageExc.pageSize) track by item.id"><td><input type="checkbox" class="text-radio loader-exc-box" ng-checked="item.checked" value="{{item.id}}" ng-click="$ctrl.changeExcCk(item, $event)"></td><td ng-class="{red: item.isNew}" ng-bind="item.name"></td></tr><tr ng-show="$ctrl.superConExc.loading"><td colspan="2" class="text-align-center"><img src="../img/15.gif"></td></tr><tr ng-show="!$ctrl.superConExc.loading && $ctrl.superConExc.userList.length===0"><td colspan="2" class="text-align-center">No Data!</td></tr></table></div></div></div><div class="l-b-foot clearfix" ng-cloak="" ng-if="!$ctrl.superConExc.schemaPanel"><div class="l-b-foot-body"><div class="pull-left"><label style="font-weight: normal">全部选中： <input type="checkbox" title="全部选中" style="margin-right: 10px" ng-model="$ctrl.superConExc.userCkAll" ng-change="$ctrl.ckExcAll()"></label></div><div class="pull-right"><button type="button" class="btn btn-sm" ng-disabled="$ctrl.pageExc.pDis" ng-click="$ctrl.pageExcPre()">Pre</button> <input type="number" ng-model="$ctrl.pageExc.currentPage" ng-change="$ctrl.changeExcPage()" style="width: 60px">/{{$ctrl.pageExc.totalPage}} <button type="button" class="btn btn-sm" ng-disabled="$ctrl.pageExc.nDis" ng-click="$ctrl.pageExcNext()">Next</button></div></div></div><div class="loader-common-foot clearfix"><div class="pull-right"><button class="btn btn-sm" ng-disabled="!$ctrl.data.exc_edit" ng-click="$ctrl.saveFilterExcTree()" translate-once="OK"></button> <button class="btn btn-sm" ng-click="$ctrl.exitFilterExcTree()" translate-once="CANCEL"></button></div></div></div></div></div></div></div></uib-accordion><uib-accordion close-others="oneAtATime"><div uib-accordion-group class="panel panel-default" is-open="$ctrl.data.superConfig"><uib-accordion-heading>{{\'GJXX\' | translate}} <i class="pull-right glyphicon" ng-class="{\'glyphicon-chevron-up\': $ctrl.data.superConfig, \'glyphicon-chevron-down\': !$ctrl.data.superConfig}"></i></uib-accordion-heading><div class="panel-body"><table class="table table-condensed" ng-cloak="" ng-if="!$ctrl.data.isCom && $ctrl.data.dbType===\'oracle\'"><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">跳过带tag的事务:</label></div><div class="col-md-8 clearfix"><div class="form-group" ng-class="{\'accord-pre\':$ctrl.params.lodTag}"><select class="form-control" ng-model="$ctrl.property.tag_skip"><option value="yes">跳过</option><option value="no">不跳过</option></select></div><p ng-class="{\'accord-next\':$ctrl.params.lodTag}" ng-show="$ctrl.params.lodTag" ng-cloak="">跳过带tag的事务的说明</p></div><div class="col-md-1"><div class="form-tip clearfix" ng-click="$ctrl.params.lodTag=!$ctrl.params.lodTag"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodTag,\'glyphicon-question-sign\':!$ctrl.params.lodTag}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Ld_cwclfs"></label></div><div class="col-md-8 clearfix"><div class="form-group" ng-class="{\'accord-pre\':$ctrl.params.lodWay}"><select class="form-control" ng-model="$ctrl.property.error_auto" ng-change="$ctrl.errHandler()"><option value="yes">自动处理</option><option value="no">人工处理</option></select></div><p ng-class="{\'accord-next\':$ctrl.params.lodWay}" ng-show="$ctrl.params.lodWay" ng-cloak="" translate-once="Ld_cwclsm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lodWay=!$ctrl.params.lodWay"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodWay,\'glyphicon-question-sign\':!$ctrl.params.lodWay}"></span></div></div></div></td></tr><tr ng-cloak="" ng-if="$ctrl.property.error_auto===\'yes\'"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">自动修复失败时的处理:</label></div><div class="col-md-8 clearfix"><div class="form-group" ng-class="{\'accord-pre\':$ctrl.params.lodRepair}"><select class="form-control" ng-model="$ctrl.property.user_handle_name" ng-change="$ctrl.autoXf()"><option value="skip_recode">忽略错误记录</option><option value="exclude_table">排除错误表</option></select></div><p ng-class="{\'accord-next\':$ctrl.params.lodRepair}" ng-show="$ctrl.params.lodRepair" ng-cloak="">自动修复失败时的处理的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lodRepair=!$ctrl.params.lodRepair"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodRepair,\'glyphicon-question-sign\':!$ctrl.params.lodRepair}"></span></div></div></div></td></tr><tr ng-cloak="" ng-if="$ctrl.property.error_auto===\'yes\'"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">未知错误的处理:</label></div><div class="col-md-8 clearfix"><div class="form-group" ng-class="{\'accord-pre\':$ctrl.params.lodError}"><select class="form-control" ng-model="$ctrl.property.unknown_error"><option value="skip">忽略操作</option><option value="manual">转人工处理</option></select></div><p ng-class="{\'accord-next\':$ctrl.params.lodError}" ng-show="$ctrl.params.lodError" ng-cloak="">未知错误的处理的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lodError=!$ctrl.params.lodError"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodError,\'glyphicon-question-sign\':!$ctrl.params.lodError}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">数据NCHAR字符集:</label></div><div class="col-md-8 clearfix"><input class="form-control" type="text" name="sourceNcharCharset" ng-class="{\'accord-pre\':$ctrl.params.lodDataNchar}" ng-model="$ctrl.property.source_nchar_charset" maxlength="80"><p ng-class="{\'accord-next\':$ctrl.params.lodDataNchar}" ng-show="$ctrl.params.lodDataNchar" ng-cloak="">数据NCHAR字符集的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lodDataNchar=!$ctrl.params.lodDataNchar"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodDataNchar,\'glyphicon-question-sign\':!$ctrl.params.lodDataNchar}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">数据库CLOB字符集:</label></div><div class="col-md-8 clearfix"><input class="form-control" type="text" name="sourceClobCharset" ng-class="{\'accord-pre\':$ctrl.params.lodDataClob}" ng-model="$ctrl.property.source_clob_charset" maxlength="80"><p ng-class="{\'accord-next\':$ctrl.params.lodDataClob}" ng-show="$ctrl.params.lodDataClob" ng-cloak="">数据库CLOB字符集的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lodDataClob=!$ctrl.params.lodDataClob"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodDataClob,\'glyphicon-question-sign\':!$ctrl.params.lodDataClob}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">数据库NCLOB字符集:</label></div><div class="col-md-8 clearfix"><input class="form-control" type="text" name="sourceNclobCharset" ng-class="{\'accord-pre\':$ctrl.params.lodDataNclob}" maxlength="80" ng-model="$ctrl.property.source_nclob_charset"><p ng-class="{\'accord-next\':$ctrl.params.lodDataNclob}" ng-show="$ctrl.params.lodDataNclob" ng-cloak="">数据库NCLOB字符集的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lodDataNclob=!$ctrl.params.lodDataNclob"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodDataNclob,\'glyphicon-question-sign\':!$ctrl.params.lodDataNclob}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">元数据字符集:</label></div><div class="col-md-8 clearfix"><input class="form-control" type="text" name="eledata" ng-class="{\'accord-pre\':$ctrl.params.lodEle}" maxlength="80" ng-model="$ctrl.property.source_metadata_charset"><p ng-class="{\'accord-next\':$ctrl.params.lodEle}" ng-show="$ctrl.params.lodEle" ng-cloak="">元数据字符集的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lodEle=!$ctrl.params.lodEle"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodEle,\'glyphicon-question-sign\':!$ctrl.params.lodEle}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">Client 字符集:</label></div><div class="col-md-8 clearfix"><input class="form-control" type="text" name="cliC" ng-class="{\'accord-pre\':$ctrl.params.lodCliChar}" ng-model="$ctrl.property.dip_nls_lang" maxlength="80"><p ng-class="{\'accord-next\':$ctrl.params.lodCliChar}" ng-show="$ctrl.params.lodCliChar" ng-cloak="">Client 字符集的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lodCliChar=!$ctrl.params.lodCliChar"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodCliChar,\'glyphicon-question-sign\':!$ctrl.params.lodCliChar}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">Client NCHAR字符集:</label></div><div class="col-md-8 clearfix"><input class="form-control" type="text" name="cliN" ng-class="{\'accord-pre\':$ctrl.params.loadCliNchar}" ng-model="$ctrl.property.dip_nchar_charset" maxlength="80"><p ng-class="{\'accord-next\':$ctrl.params.loadCliNchar}" ng-show="$ctrl.params.loadCliNchar" ng-cloak="">Client NCHAR字符集说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.loadCliNchar=!$ctrl.params.loadCliNchar"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.loadCliNchar,\'glyphicon-question-sign\':!$ctrl.params.loadCliNchar}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">数据库只支持单条执行:</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.loadSin}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.execute_one" value="yes">是</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.execute_one" value="no">否</label></div><p ng-class="{\'accord-next\':$ctrl.params.loadSin}" ng-show="$ctrl.params.loadSin" ng-cloak="">数据库只支持单条执行的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.loadSin=!$ctrl.params.loadSin"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.loadSin,\'glyphicon-question-sign\':!$ctrl.params.loadSin}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Ld_jysy"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.lodUp}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.check_old_image" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.check_old_image" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.lodUp}" ng-show="$ctrl.params.lodUp" ng-cloak="" translate-once="Ld_jysm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lodUp=!$ctrl.params.lodUp"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodUp,\'glyphicon-question-sign\':!$ctrl.params.lodUp}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Ld_hlsy"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.lodDdl}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.ddl_skip" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.ddl_skip" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.lodDdl}" ng-show="$ctrl.params.lodDdl" ng-cloak="" translate-once="Ld_hlsysm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lodDdl=!$ctrl.params.lodDdl"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodDdl,\'glyphicon-question-sign\':!$ctrl.params.lodDdl}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">事务批量提交:</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.lodSub}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.batch_commit" value="yes">是</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.batch_commit" value="no">否</label></div><p ng-class="{\'accord-next\':$ctrl.params.lodSub}" ng-show="$ctrl.params.lodSub" ng-cloak="">事务批量提交的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lodSub=!$ctrl.params.lodSub"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodSub,\'glyphicon-question-sign\':!$ctrl.params.lodSub}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">设置tag标记:</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.loadIsTag}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.set_tag" value="yes">是</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.set_tag" value="no">否</label></div><p ng-class="{\'accord-next\':$ctrl.params.loadIsTag}" ng-show="$ctrl.params.loadIsTag" ng-cloak="">更新全字段的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.loadIsTag=!$ctrl.params.loadIsTag"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.loadIsTag,\'glyphicon-question-sign\':!$ctrl.params.loadIsTag}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Ld_hldzd"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.loadIsIgn}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.lob_skip" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.lob_skip" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.loadIsIgn}" ng-show="$ctrl.params.loadIsIgn" ng-cloak="" translate-once="Ld_hldzdsm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.loadIsIgn=!$ctrl.params.loadIsIgn"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.loadIsIgn,\'glyphicon-question-sign\':!$ctrl.params.loadIsIgn}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">开启sql合并</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.sqlm}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.use_merge_sql" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.use_merge_sql" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.sqlm}" ng-show="$ctrl.params.sqlm" ng-cloak="">开启sql合并的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.sqlm=!$ctrl.params.sqlm"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.sqlm,\'glyphicon-question-sign\':!$ctrl.params.sqlm}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="gj_form.con_max_time.$dirty && gj_form.con_max_time.$invalid"><div class="alert alert-danger" ng-show="gj_form.con_max_time.$error.pattern" translate-once="Ld_tip3"></div><div class="alert alert-danger" ng-show="gj_form.con_max_time.$error.maxlength" translate-once="Ld_tip4"></div></div><div class="col-md-3"><label class="text-info" translate-once="Ld_zdsj"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.zdkx_sj}"><input class="form-control" type="text" name="con_max_time" ng-pattern="/^0$|^[1-9][0-9]*$/" ng-maxlength="10" ng-model="$ctrl.property.idle_connect_seconds"><div class="input-group-addon" translate-once="SECOND"></div></div><p ng-class="{\'accord-next\':$ctrl.params.zdkx_sj}" ng-show="$ctrl.params.zdkx_sj" ng-cloak="" translate-once="Ld_zdsjsm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.zdkx_sj=!$ctrl.params.zdkx_sj"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.zdkx_sj,\'glyphicon-question-sign\':!$ctrl.params.zdkx_sj}"></span></div></div></div></td></tr></table><table class="table table-condensed" ng-cloak="" ng-if="$ctrl.data.isCom || ($ctrl.data.dbType!==\'oracle\' && $ctrl.data.dbType!==\'sqlserver\')"><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">跳过带tag的事务:</label></div><div class="col-md-8 clearfix"><div class="form-group" ng-class="{\'accord-pre\':$ctrl.params.lodTag}"><select class="form-control" ng-model="$ctrl.property.tag_skip"><option value="yes">跳过</option><option value="no">不跳过</option></select></div><p ng-class="{\'accord-next\':$ctrl.params.lodTag}" ng-show="$ctrl.params.lodTag" ng-cloak="">跳过带tag的事务的说明</p></div><div class="col-md-1"><div class="form-tip clearfix" ng-click="$ctrl.params.lodTag=!$ctrl.params.lodTag"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodTag,\'glyphicon-question-sign\':!$ctrl.params.lodTag}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Ld_cwclfs"></label></div><div class="col-md-8 clearfix"><div class="form-group" ng-class="{\'accord-pre\':$ctrl.params.lodWay}"><select class="form-control" ng-model="$ctrl.property.error_auto" ng-change="$ctrl.errHandler()"><option value="yes">自动处理</option><option value="no">人工处理</option></select></div><p ng-class="{\'accord-next\':$ctrl.params.lodWay}" ng-show="$ctrl.params.lodWay" ng-cloak="" translate-once="Ld_cwclsm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lodWay=!$ctrl.params.lodWay"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodWay,\'glyphicon-question-sign\':!$ctrl.params.lodWay}"></span></div></div></div></td></tr><tr ng-cloak="" ng-if="$ctrl.property.error_auto===\'yes\'"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">自动修复失败时的处理:</label></div><div class="col-md-8 clearfix"><div class="form-group" ng-class="{\'accord-pre\':$ctrl.params.lodRepair}"><select class="form-control" ng-model="$ctrl.property.user_handle_name" ng-change="$ctrl.autoXf()"><option value="skip_recode">忽略错误记录</option><option value="exclude_table">排除错误表</option></select></div><p ng-class="{\'accord-next\':$ctrl.params.lodRepair}" ng-show="$ctrl.params.lodRepair" ng-cloak="">自动修复失败时的处理的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lodRepair=!$ctrl.params.lodRepair"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodRepair,\'glyphicon-question-sign\':!$ctrl.params.lodRepair}"></span></div></div></div></td></tr><tr ng-cloak="" ng-if="$ctrl.property.error_auto===\'yes\'"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">未知错误的处理:</label></div><div class="col-md-8 clearfix"><div class="form-group" ng-class="{\'accord-pre\':$ctrl.params.lodError}"><select class="form-control" ng-model="$ctrl.property.unknown_error"><option value="skip">忽略操作</option><option value="manual">转人工处理</option></select></div><p ng-class="{\'accord-next\':$ctrl.params.lodError}" ng-show="$ctrl.params.lodError" ng-cloak="">未知错误的处理的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lodError=!$ctrl.params.lodError"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodError,\'glyphicon-question-sign\':!$ctrl.params.lodError}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">Client 字符集:</label></div><div class="col-md-8 clearfix"><input class="form-control" type="text" name="cliC" ng-class="{\'accord-pre\':$ctrl.params.lodCliChar}" ng-model="$ctrl.property.dip_nls_lang" maxlength="80"><p ng-class="{\'accord-next\':$ctrl.params.lodCliChar}" ng-show="$ctrl.params.lodCliChar" ng-cloak="">Client 字符集的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lodCliChar=!$ctrl.params.lodCliChar"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodCliChar,\'glyphicon-question-sign\':!$ctrl.params.lodCliChar}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">数据库只支持单条执行:</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.loadSin}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.execute_one" value="yes">是</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.execute_one" value="no">否</label></div><p ng-class="{\'accord-next\':$ctrl.params.loadSin}" ng-show="$ctrl.params.loadSin" ng-cloak="">数据库只支持单条执行的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.loadSin=!$ctrl.params.loadSin"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.loadSin,\'glyphicon-question-sign\':!$ctrl.params.loadSin}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Ld_jysy"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.lodUp}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.check_old_image" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.check_old_image" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.lodUp}" ng-show="$ctrl.params.lodUp" ng-cloak="" translate-once="Ld_jysm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lodUp=!$ctrl.params.lodUp"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodUp,\'glyphicon-question-sign\':!$ctrl.params.lodUp}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Ld_hlsy"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.lodDdl}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.ddl_skip" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.ddl_skip" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.lodDdl}" ng-show="$ctrl.params.lodDdl" ng-cloak="" translate-once="Ld_hlsysm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lodDdl=!$ctrl.params.lodDdl"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodDdl,\'glyphicon-question-sign\':!$ctrl.params.lodDdl}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">事务批量提交:</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.lodSub}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.batch_commit" value="yes">是</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.batch_commit" value="no">否</label></div><p ng-class="{\'accord-next\':$ctrl.params.lodSub}" ng-show="$ctrl.params.lodSub" ng-cloak="">事务批量提交的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lodSub=!$ctrl.params.lodSub"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodSub,\'glyphicon-question-sign\':!$ctrl.params.lodSub}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Ld_hldzd"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.loadIsIgn}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.lob_skip" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.lob_skip" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.loadIsIgn}" ng-show="$ctrl.params.loadIsIgn" ng-cloak="" translate-once="Ld_hldzdsm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.loadIsIgn=!$ctrl.params.loadIsIgn"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.loadIsIgn,\'glyphicon-question-sign\':!$ctrl.params.loadIsIgn}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">开启sql合并</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.sqlm}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.use_merge_sql" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.use_merge_sql" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.sqlm}" ng-show="$ctrl.params.sqlm" ng-cloak="">开启sql合并的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.sqlm=!$ctrl.params.sqlm"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.sqlm,\'glyphicon-question-sign\':!$ctrl.params.sqlm}"></span></div></div></div></td></tr></table><table class="table table-condensed" ng-cloak="" ng-if="!$ctrl.data.isCom && $ctrl.data.dbType===\'sqlserver\'"><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">跳过带tag的事务:</label></div><div class="col-md-8 clearfix"><div class="form-group" ng-class="{\'accord-pre\':$ctrl.params.lodTag}"><select class="form-control" ng-model="$ctrl.property.tag_skip"><option value="yes">跳过</option><option value="no">不跳过</option></select></div><p ng-class="{\'accord-next\':$ctrl.params.lodTag}" ng-show="$ctrl.params.lodTag" ng-cloak="">跳过带tag的事务的说明</p></div><div class="col-md-1"><div class="form-tip clearfix" ng-click="$ctrl.params.lodTag=!$ctrl.params.lodTag"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodTag,\'glyphicon-question-sign\':!$ctrl.params.lodTag}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Ld_cwclfs"></label></div><div class="col-md-8 clearfix"><div class="form-group" ng-class="{\'accord-pre\':$ctrl.params.lodWay}"><select class="form-control" ng-model="$ctrl.property.error_auto" ng-change="$ctrl.errHandler()"><option value="yes">自动处理</option><option value="no">人工处理</option></select></div><p ng-class="{\'accord-next\':$ctrl.params.lodWay}" ng-show="$ctrl.params.lodWay" ng-cloak="" translate-once="Ld_cwclsm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lodWay=!$ctrl.params.lodWay"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodWay,\'glyphicon-question-sign\':!$ctrl.params.lodWay}"></span></div></div></div></td></tr><tr ng-cloak="" ng-if="$ctrl.property.error_auto===\'yes\'"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">自动修复失败时的处理:</label></div><div class="col-md-8 clearfix"><div class="form-group" ng-class="{\'accord-pre\':$ctrl.params.lodRepair}"><select class="form-control" ng-model="$ctrl.property.user_handle_name" ng-change="$ctrl.autoXf()"><option value="skip_recode">忽略错误记录</option><option value="exclude_table">排除错误表</option></select></div><p ng-class="{\'accord-next\':$ctrl.params.lodRepair}" ng-show="$ctrl.params.lodRepair" ng-cloak="">自动修复失败时的处理的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lodRepair=!$ctrl.params.lodRepair"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodRepair,\'glyphicon-question-sign\':!$ctrl.params.lodRepair}"></span></div></div></div></td></tr><tr ng-cloak="" ng-if="$ctrl.property.error_auto===\'yes\'"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">未知错误的处理:</label></div><div class="col-md-8 clearfix"><div class="form-group" ng-class="{\'accord-pre\':$ctrl.params.lodError}"><select class="form-control" ng-model="$ctrl.property.unknown_error"><option value="skip">忽略操作</option><option value="manual">转人工处理</option></select></div><p ng-class="{\'accord-next\':$ctrl.params.lodError}" ng-show="$ctrl.params.lodError" ng-cloak="">未知错误的处理的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lodError=!$ctrl.params.lodError"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodError,\'glyphicon-question-sign\':!$ctrl.params.lodError}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">数据库只支持单条执行:</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.loadSin}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.execute_one" value="yes">是</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.execute_one" value="no">否</label></div><p ng-class="{\'accord-next\':$ctrl.params.loadSin}" ng-show="$ctrl.params.loadSin" ng-cloak="">数据库只支持单条执行的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.loadSin=!$ctrl.params.loadSin"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.loadSin,\'glyphicon-question-sign\':!$ctrl.params.loadSin}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Ld_jysy"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.lodUp}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.check_old_image" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.check_old_image" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.lodUp}" ng-show="$ctrl.params.lodUp" ng-cloak="" translate-once="Ld_jysm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lodUp=!$ctrl.params.lodUp"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodUp,\'glyphicon-question-sign\':!$ctrl.params.lodUp}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Ld_hlsy"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.lodDdl}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.ddl_skip" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.ddl_skip" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.lodDdl}" ng-show="$ctrl.params.lodDdl" ng-cloak="" translate-once="Ld_hlsysm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lodDdl=!$ctrl.params.lodDdl"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodDdl,\'glyphicon-question-sign\':!$ctrl.params.lodDdl}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">事务批量提交:</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.lodSub}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.batch_commit" value="yes">是</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.batch_commit" value="no">否</label></div><p ng-class="{\'accord-next\':$ctrl.params.lodSub}" ng-show="$ctrl.params.lodSub" ng-cloak="">事务批量提交的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.lodSub=!$ctrl.params.lodSub"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodSub,\'glyphicon-question-sign\':!$ctrl.params.lodSub}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">忽略未修改字段:</label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.hlwgx}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.not_changeskip" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.not_changeskip" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.hlwgx}" ng-show="$ctrl.params.hlwgx" ng-cloak="">忽略未修改字段的说明</p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.hlwgx=!$ctrl.params.hlwgx"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.hlwgx,\'glyphicon-question-sign\':!$ctrl.params.hlwgx}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Ld_hldzd"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.loadIsIgn}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.lob_skip" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.lob_skip" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.loadIsIgn}" ng-show="$ctrl.params.loadIsIgn" ng-cloak="" translate-once="Ld_hldzdsm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.loadIsIgn=!$ctrl.params.loadIsIgn"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.loadIsIgn,\'glyphicon-question-sign\':!$ctrl.params.loadIsIgn}"></span></div></div></div></td></tr></table></div><div class="panel-footer clearfix"><button class="btn btn-primary pull-right" ng-disabled="gj_form.$invalid" ng-click="$ctrl.saveLoaderProperty()" translate-once="Cp_bcgjxx"></button></div></div></uib-accordion></div><div class="panel-footer"><div class="clearfix"><button class="btn btn-primary btn-sm pull-right" ng-disabled="gj_form.$invalid || $ctrl.isSaving" ng-click="$ctrl.saveLoaderInfo()" ng-bind="$ctrl.saveBtnTxt"></button></div></div></form></div></div>')
  }])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("loader_view/status.component.html",'<div role="tabpanel" class="tab-pane active"><div class="panel panel-default"><div class="panel-heading" translate-once="Ld_sx"></div><div class="panel-body clearfix"><div class="capture-property-name cap-form-tip clearfix row" ng-cloak="" ng-show="$ctrl.real.com_id.length>0"><div class="col-md-3"><label class="text-info">Loader server ID：</label></div><div class="col-md-8 clearfix"><span class="ci-label" style="line-height: 30px" ng-bind="$ctrl.real.com_id" ng-class="{\'accord-pre\':$ctrl.params.lodId}">1</span><p ng-cloak ng-show="$ctrl.params.lodId" ng-class="{\'accord-next\':$ctrl.params.lodId}" translate-once="Ld_wybs"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.lodId=!$ctrl.params.lodId" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.lodId,\'glyphicon-question-sign\':!$ctrl.params.lodId}"></span></div></div><div class="capture-property-name cap-form-tip clearfix row"><div class="col-md-3"><label class="text-info"><span class="red">*</span>{{\'Ld_lsmc\' | translate}}</label></div><div class="col-md-8 clearfix"><span class="ci-label" style="line-height: 30px" ng-bind="$ctrl.data.loaderName" ng-class="{\'accord-pre\':$ctrl.params.loaderName}">1</span><p ng-cloak ng-show="$ctrl.params.loaderName" ng-class="{\'accord-next\':$ctrl.params.loaderName}" translate-once="Ld_lswy"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.loaderName=!$ctrl.params.loaderName" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.loaderName,\'glyphicon-question-sign\':!$ctrl.params.loaderName}"></span></div></div><uib-accordion close-others="true"><div uib-accordion-group class="panel panel-default" is-open="$ctrl.data.include_panel"><uib-accordion-heading>{{\'Ld_bhtj\' | translate}}<i class="pull-right glyphicon" ng-class="{\'glyphicon-chevron-up\': $ctrl.data.include_panel, \'glyphicon-chevron-down\': !$ctrl.data.include_panel}"></i></uib-accordion-heading><div class="panel-body clearfix"><table class="table"><tr><td class="loader-empty-info"><div ng-show="$ctrl.data.include_empty"><i class="fa fa-info"></i> <span class="text-info" translate-once="Ld_zwbhtj"></span></div><div ng-cloak="" ng-show="!$ctrl.data.include_empty" id="loaderIncTreeId" class="ztree ztreecss loaderTree"></div></td></tr></table></div></div><div uib-accordion-group class="panel panel-default" is-open="$ctrl.data.exclude_panel"><uib-accordion-heading>{{\'Ld_pctj\' | translate}}<i class="pull-right glyphicon" ng-class="{\'glyphicon-chevron-up\': $ctrl.data.exclude_panel, \'glyphicon-chevron-down\': !$ctrl.data.exclude_panel}"></i></uib-accordion-heading><div class="panel-body clearfix"><table class="table"><tr><td class="loader-empty-info"><div ng-show="$ctrl.data.exclude_empty"><i class="fa fa-info"></i> <span class="text-info" translate-once="Ld_zwpctj"></span></div><div ng-cloak="" ng-show="!$ctrl.data.exclude_empty" id="loaderExcTreeId" class="ztree ztreecss loaderTree"></div></td></tr></table></div></div></uib-accordion><uib-accordion close-others="true"><div uib-accordion-group class="panel panel-default" is-open="$ctrl.data.superConfig"><uib-accordion-heading>{{\'GJXX\' | translate}} <i class="pull-right glyphicon" ng-class="{\'glyphicon-chevron-up\': $ctrl.data.superConfig, \'glyphicon-chevron-down\': !$ctrl.data.superConfig}"></i></uib-accordion-heading><div class="panel-body"><table class="table" ng-cloak="" ng-if="!$ctrl.data.isCom && $ctrl.data.dbType===\'oracle\'"><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">跳过带tag的事务：</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.tag_skip" ng-class="{\'accord-pre\':$ctrl.params.tg_tag}">1</span><p ng-cloak ng-show="$ctrl.params.tg_tag" ng-class="{\'accord-next\':$ctrl.params.tg_tag}">跳过带tag的事务说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.tg_tag=!$ctrl.params.tg_tag" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.tg_tag,\'glyphicon-question-sign\':!$ctrl.params.tg_tag}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Ld_cwclfs"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.error_auto===\'no\'?$ctrl.real.rgcl:$ctrl.real.zdcl" ng-class="{\'accord-pre\':$ctrl.params.cw_clfs}">1</span><p ng-cloak ng-show="$ctrl.params.cw_clfs" ng-class="{\'accord-next\':$ctrl.params.cw_clfs}" translate-once="Ld_cwclsm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.cw_clfs=!$ctrl.params.cw_clfs" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cw_clfs,\'glyphicon-question-sign\':!$ctrl.params.cw_clfs}"></span></div></div></td></tr><tr ng-cloak="" ng-if="$ctrl.property.error_auto===\'yes\'"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">自动修复失败时的处理:</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.user_handle_name" ng-class="{\'accord-pre\':$ctrl.params.zd_xfsb}">1</span><p ng-cloak ng-show="$ctrl.params.zd_xfsb" ng-class="{\'accord-next\':$ctrl.params.zd_xfsb}">自动修复失败时的处理说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.zd_xfsb=!$ctrl.params.zd_xfsb" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.zd_xfsb,\'glyphicon-question-sign\':!$ctrl.params.zd_xfsb}"></span></div></div></td></tr><tr ng-cloak="" ng-if="$ctrl.property.error_auto===\'yes\'"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">未知错误的处理:</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.unknown_error" ng-class="{\'accord-pre\':$ctrl.params.wz_cwcl}">1</span><p ng-cloak ng-show="$ctrl.params.wz_cwcl" ng-class="{\'accord-next\':$ctrl.params.wz_cwcl}">未知错误的处理说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.wz_cwcl=!$ctrl.params.wz_cwcl" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.wz_cwcl,\'glyphicon-question-sign\':!$ctrl.params.wz_cwcl}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">数据NCHAR字符集:</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.source_nchar_charset" ng-class="{\'accord-pre\':$ctrl.params.sj_nchar}">1</span><p ng-cloak ng-show="$ctrl.params.sj_nchar" ng-class="{\'accord-next\':$ctrl.params.sj_nchar}">数据NCHAR字符集说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.sj_nchar=!$ctrl.params.sj_nchar" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.sj_nchar,\'glyphicon-question-sign\':!$ctrl.params.sj_nchar}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">数据库CLOB字符集:</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.source_clob_charset" ng-class="{\'accord-pre\':$ctrl.params.clob}">1</span><p ng-cloak ng-show="$ctrl.params.clob" ng-class="{\'accord-next\':$ctrl.params.clob}">数据库CLOB字符集说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.clob=!$ctrl.params.clob" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.clob,\'glyphicon-question-sign\':!$ctrl.params.clob}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">数据库NCLOB字符集:</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.source_nclob_charset" ng-class="{\'accord-pre\':$ctrl.params.sj_nclob}">1</span><p ng-cloak ng-show="$ctrl.params.sj_nclob" ng-class="{\'accord-next\':$ctrl.params.sj_nclob}">数据库NCLOB字符集说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.sj_nclob=!$ctrl.params.sj_nclob" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.sj_nclob,\'glyphicon-question-sign\':!$ctrl.params.sj_nclob}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">元数据字符集:</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.source_metadata_charset" ng-class="{\'accord-pre\':$ctrl.params.ysj_zfj}">1</span><p ng-cloak ng-show="$ctrl.params.ysj_zfj" ng-class="{\'accord-next\':$ctrl.params.ysj_zfj}">元数据字符集说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.ysj_zfj=!$ctrl.params.ysj_zfj" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.ysj_zfj,\'glyphicon-question-sign\':!$ctrl.params.ysj_zfj}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">Client 字符集:</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.dip_nls_lang" ng-class="{\'accord-pre\':$ctrl.params.client}">1</span><p ng-cloak ng-show="$ctrl.params.client" ng-class="{\'accord-next\':$ctrl.params.client}">Client 字符集说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.client=!$ctrl.params.client" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.client,\'glyphicon-question-sign\':!$ctrl.params.client}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">Client NCHAR字符集:</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.dip_nchar_charset" ng-class="{\'accord-pre\':$ctrl.params.c_nchar}">1</span><p ng-cloak ng-show="$ctrl.params.c_nchar" ng-class="{\'accord-next\':$ctrl.params.c_nchar}">Client NCHAR字符集说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.c_nchar=!$ctrl.params.c_nchar" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.c_nchar,\'glyphicon-question-sign\':!$ctrl.params.c_nchar}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">数据库只支持单条执行:</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.execute_one" ng-class="{\'accord-pre\':$ctrl.params.dt_zx}">1</span><p ng-cloak ng-show="$ctrl.params.dt_zx" ng-class="{\'accord-next\':$ctrl.params.dt_zx}">数据库只支持单条执行说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.dt_zx=!$ctrl.params.dt_zx" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.dt_zx,\'glyphicon-question-sign\':!$ctrl.params.dt_zx}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Ld_jysy"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.check_old_image===\'no\'?$ctrl.real.bjy:$ctrl.real.jy" ng-class="{\'accord-pre\':$ctrl.params.jy_syzd}">1</span><p ng-cloak ng-show="$ctrl.params.jy_syzd" ng-class="{\'accord-next\':$ctrl.params.jy_syzd}" translate-once="Ld_jysm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.jy_syzd=!$ctrl.params.jy_syzd" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.jy_syzd,\'glyphicon-question-sign\':!$ctrl.params.jy_syzd}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Ld_hlsy"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.ddl_skip===\'no\'?$ctrl.real.bhl:$ctrl.real.hl" ng-class="{\'accord-pre\':$ctrl.params.hl_ddl}">1</span><p ng-cloak ng-show="$ctrl.params.hl_ddl" ng-class="{\'accord-next\':$ctrl.params.hl_ddl}" translate-once="Ld_hlsysm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.hl_ddl=!$ctrl.params.hl_ddl" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.hl_ddl,\'glyphicon-question-sign\':!$ctrl.params.hl_ddl}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">事务批量提交:</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.batch_commit" ng-class="{\'accord-pre\':$ctrl.params.pltj}">1</span><p ng-cloak ng-show="$ctrl.params.pltj" ng-class="{\'accord-next\':$ctrl.params.pltj}">事务批量提交说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.pltj=!$ctrl.params.pltj" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.pltj,\'glyphicon-question-sign\':!$ctrl.params.pltj}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">设置tag标记:</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.set_tag" ng-class="{\'accord-pre\':$ctrl.params.sz_tag}">1</span><p ng-cloak ng-show="$ctrl.params.sz_tag" ng-class="{\'accord-next\':$ctrl.params.sz_tag}">设置tag标记说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.sz_tag=!$ctrl.params.sz_tag" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.sz_tag,\'glyphicon-question-sign\':!$ctrl.params.sz_tag}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Ld_hldzd"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.lob_skip===\'yes\'?$ctrl.real.hl:$ctrl.real.bhl" ng-class="{\'accord-pre\':$ctrl.params.hl_ddsj}">1</span><p ng-cloak ng-show="$ctrl.params.hl_ddsj" ng-class="{\'accord-next\':$ctrl.params.hl_ddsj}" translate-once="Ld_hldzdsm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.hl_ddsj=!$ctrl.params.hl_ddsj" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.hl_ddsj,\'glyphicon-question-sign\':!$ctrl.params.hl_ddsj}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">开启sql合并:</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.use_merge_sql" ng-class="{\'accord-pre\':$ctrl.params.sqlm}">1</span><p ng-cloak ng-show="$ctrl.params.sqlm" ng-class="{\'accord-next\':$ctrl.params.sqlm}">开启sql合并的说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.sqlm=!$ctrl.params.sqlm" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.sqlm,\'glyphicon-question-sign\':!$ctrl.params.sqlm}"></span></div></div></td></tr></table><table class="table" ng-cloak="" ng-if="$ctrl.data.isCom  || $ctrl.data.dbType===\'mysql\'"><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">跳过带tag的事务：</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.tag_skip" ng-class="{\'accord-pre\':$ctrl.params.tg_tag}">1</span><p ng-cloak ng-show="$ctrl.params.tg_tag" ng-class="{\'accord-next\':$ctrl.params.tg_tag}">跳过带tag的事务说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.tg_tag=!$ctrl.params.tg_tag" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.tg_tag,\'glyphicon-question-sign\':!$ctrl.params.tg_tag}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Ld_cwclfs"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.error_auto===\'no\'?$ctrl.real.rgcl:$ctrl.real.zdcl" ng-class="{\'accord-pre\':$ctrl.params.cw_clfs}">1</span><p ng-cloak ng-show="$ctrl.params.cw_clfs" ng-class="{\'accord-next\':$ctrl.params.cw_clfs}" translate-once="Ld_cwclsm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.cw_clfs=!$ctrl.params.cw_clfs" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cw_clfs,\'glyphicon-question-sign\':!$ctrl.params.cw_clfs}"></span></div></div></td></tr><tr ng-cloak="" ng-if="$ctrl.property.error_auto===\'yes\'"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">自动修复失败时的处理:</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.user_handle_name" ng-class="{\'accord-pre\':$ctrl.params.zd_xfsb}">1</span><p ng-cloak ng-show="$ctrl.params.zd_xfsb" ng-class="{\'accord-next\':$ctrl.params.zd_xfsb}">自动修复失败时的处理说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.zd_xfsb=!$ctrl.params.zd_xfsb" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.zd_xfsb,\'glyphicon-question-sign\':!$ctrl.params.zd_xfsb}"></span></div></div></td></tr><tr ng-cloak="" ng-if="$ctrl.property.error_auto===\'yes\'"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">未知错误的处理:</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.unknown_error" ng-class="{\'accord-pre\':$ctrl.params.wz_cwcl}">1</span><p ng-cloak ng-show="$ctrl.params.wz_cwcl" ng-class="{\'accord-next\':$ctrl.params.wz_cwcl}">未知错误的处理说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.wz_cwcl=!$ctrl.params.wz_cwcl" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.wz_cwcl,\'glyphicon-question-sign\':!$ctrl.params.wz_cwcl}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">Client 字符集:</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.dip_nls_lang" ng-class="{\'accord-pre\':$ctrl.params.client}">1</span><p ng-cloak ng-show="$ctrl.params.client" ng-class="{\'accord-next\':$ctrl.params.client}">Client 字符集说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.client=!$ctrl.params.client" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.client,\'glyphicon-question-sign\':!$ctrl.params.client}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">数据库只支持单条执行:</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.execute_one" ng-class="{\'accord-pre\':$ctrl.params.dt_zx}">1</span><p ng-cloak ng-show="$ctrl.params.dt_zx" ng-class="{\'accord-next\':$ctrl.params.dt_zx}">数据库只支持单条执行说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.dt_zx=!$ctrl.params.dt_zx" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.dt_zx,\'glyphicon-question-sign\':!$ctrl.params.dt_zx}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Ld_jysy"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.check_old_image===\'no\'?$ctrl.real.bjy:$ctrl.real.jy" ng-class="{\'accord-pre\':$ctrl.params.jy_syzd}">1</span><p ng-cloak ng-show="$ctrl.params.jy_syzd" ng-class="{\'accord-next\':$ctrl.params.jy_syzd}" translate-once="Ld_jysm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.jy_syzd=!$ctrl.params.jy_syzd" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.jy_syzd,\'glyphicon-question-sign\':!$ctrl.params.jy_syzd}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Ld_hlsy"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.ddl_skip===\'no\'?$ctrl.real.bhl:$ctrl.real.hl" ng-class="{\'accord-pre\':$ctrl.params.hl_ddl}">1</span><p ng-cloak ng-show="$ctrl.params.hl_ddl" ng-class="{\'accord-next\':$ctrl.params.hl_ddl}" translate-once="Ld_hlsysm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.hl_ddl=!$ctrl.params.hl_ddl" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.hl_ddl,\'glyphicon-question-sign\':!$ctrl.params.hl_ddl}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">事务批量提交:</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.batch_commit" ng-class="{\'accord-pre\':$ctrl.params.pltj}">1</span><p ng-cloak ng-show="$ctrl.params.pltj" ng-class="{\'accord-next\':$ctrl.params.pltj}">事务批量提交说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.pltj=!$ctrl.params.pltj" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.pltj,\'glyphicon-question-sign\':!$ctrl.params.pltj}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Ld_hldzd"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.lob_skip===\'yes\'?$ctrl.real.hl:$ctrl.real.bhl" ng-class="{\'accord-pre\':$ctrl.params.hl_ddsj}">1</span><p ng-cloak ng-show="$ctrl.params.hl_ddsj" ng-class="{\'accord-next\':$ctrl.params.hl_ddsj}" translate-once="Ld_hldzdsm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.hl_ddsj=!$ctrl.params.hl_ddsj" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.hl_ddsj,\'glyphicon-question-sign\':!$ctrl.params.hl_ddsj}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">开启sql合并:</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.use_merge_sql" ng-class="{\'accord-pre\':$ctrl.params.sqlm}">1</span><p ng-cloak ng-show="$ctrl.params.sqlm" ng-class="{\'accord-next\':$ctrl.params.sqlm}">开启sql合并的说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.sqlm=!$ctrl.params.sqlm" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.sqlm,\'glyphicon-question-sign\':!$ctrl.params.sqlm}"></span></div></div></td></tr></table><table class="table" ng-cloak="" ng-if="!$ctrl.data.isCom && $ctrl.data.dbType===\'sqlserver\'"><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">跳过带tag的事务：</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.tag_skip" ng-class="{\'accord-pre\':$ctrl.params.tg_tag}">1</span><p ng-cloak ng-show="$ctrl.params.tg_tag" ng-class="{\'accord-next\':$ctrl.params.tg_tag}">跳过带tag的事务说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.tg_tag=!$ctrl.params.tg_tag" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.tg_tag,\'glyphicon-question-sign\':!$ctrl.params.tg_tag}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Ld_cwclfs"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.error_auto===\'no\'?$ctrl.real.rgcl:$ctrl.real.zdcl" ng-class="{\'accord-pre\':$ctrl.params.cw_clfs}">1</span><p ng-cloak ng-show="$ctrl.params.cw_clfs" ng-class="{\'accord-next\':$ctrl.params.cw_clfs}" translate-once="Ld_cwclsm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.cw_clfs=!$ctrl.params.cw_clfs" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cw_clfs,\'glyphicon-question-sign\':!$ctrl.params.cw_clfs}"></span></div></div></td></tr><tr ng-cloak="" ng-if="$ctrl.property.error_auto===\'yes\'"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">自动修复失败时的处理:</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.user_handle_name" ng-class="{\'accord-pre\':$ctrl.params.zd_xfsb}">1</span><p ng-cloak ng-show="$ctrl.params.zd_xfsb" ng-class="{\'accord-next\':$ctrl.params.zd_xfsb}">自动修复失败时的处理说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.zd_xfsb=!$ctrl.params.zd_xfsb" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.zd_xfsb,\'glyphicon-question-sign\':!$ctrl.params.zd_xfsb}"></span></div></div></td></tr><tr ng-cloak="" ng-if="$ctrl.property.error_auto===\'yes\'"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">未知错误的处理:</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.unknown_error" ng-class="{\'accord-pre\':$ctrl.params.wz_cwcl}">1</span><p ng-cloak ng-show="$ctrl.params.wz_cwcl" ng-class="{\'accord-next\':$ctrl.params.wz_cwcl}">未知错误的处理说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.wz_cwcl=!$ctrl.params.wz_cwcl" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.wz_cwcl,\'glyphicon-question-sign\':!$ctrl.params.wz_cwcl}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">数据库只支持单条执行:</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.execute_one" ng-class="{\'accord-pre\':$ctrl.params.dt_zx}">1</span><p ng-cloak ng-show="$ctrl.params.dt_zx" ng-class="{\'accord-next\':$ctrl.params.dt_zx}">数据库只支持单条执行说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.dt_zx=!$ctrl.params.dt_zx" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.dt_zx,\'glyphicon-question-sign\':!$ctrl.params.dt_zx}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Ld_jysy"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.check_old_image===\'no\'?$ctrl.real.bjy:$ctrl.real.jy" ng-class="{\'accord-pre\':$ctrl.params.jy_syzd}">1</span><p ng-cloak ng-show="$ctrl.params.jy_syzd" ng-class="{\'accord-next\':$ctrl.params.jy_syzd}" translate-once="Ld_jysm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.jy_syzd=!$ctrl.params.jy_syzd" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.jy_syzd,\'glyphicon-question-sign\':!$ctrl.params.jy_syzd}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Ld_hlsy"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.ddl_skip===\'no\'?$ctrl.real.bhl:$ctrl.real.hl" ng-class="{\'accord-pre\':$ctrl.params.hl_ddl}">1</span><p ng-cloak ng-show="$ctrl.params.hl_ddl" ng-class="{\'accord-next\':$ctrl.params.hl_ddl}" translate-once="Ld_hlsysm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.hl_ddl=!$ctrl.params.hl_ddl" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.hl_ddl,\'glyphicon-question-sign\':!$ctrl.params.hl_ddl}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">事务批量提交:</label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.batch_commit" ng-class="{\'accord-pre\':$ctrl.params.pltj}">1</span><p ng-cloak ng-show="$ctrl.params.pltj" ng-class="{\'accord-next\':$ctrl.params.pltj}">事务批量提交说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.pltj=!$ctrl.params.pltj" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.pltj,\'glyphicon-question-sign\':!$ctrl.params.pltj}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info">忽略未修改字段:</label></div><div class="col-md-8 clearfix"><span class="ci-label" ng-bind="$ctrl.property.not_changeskip" ng-class="{\'accord-pre\':$ctrl.params.hl_wxg_zd}">1</span><p ng-class="{\'accord-next\':$ctrl.params.hl_wxg_zd}" ng-show="$ctrl.params.hl_wxg_zd" ng-cloak="">忽略未修改字段的说明</p></div><div class="col-md-1"><span ng-click="$ctrl.params.hl_wxg_zd=!$ctrl.params.hl_wxg_zd" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.hl_wxg_zd,\'glyphicon-question-sign\':!$ctrl.params.hl_wxg_zd}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Ld_hldzd"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.lob_skip===\'yes\'?$ctrl.real.hl:$ctrl.real.bhl" ng-class="{\'accord-pre\':$ctrl.params.hl_ddsj}">0</span><p ng-cloak ng-show="$ctrl.params.hl_ddsj" ng-class="{\'accord-next\':$ctrl.params.hl_ddsj}" translate-once="Ld_hldzdsm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.hl_ddsj=!$ctrl.params.hl_ddsj" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.hl_ddsj,\'glyphicon-question-sign\':!$ctrl.params.hl_ddsj}"></span></div></div></td></tr></table></div></div></uib-accordion></div></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){
  l.put("tclient_view/property.component.html",'<div role="tabpanel" class="tab-pane active"><div class="panel panel-default"><div class="panel-heading" translate-once="Tc_cszj"></div><form name="form2" autocomplete="off" novalidate><div class="panel-body clearfix"><div class="panel panel-default"><table class="table table-condensed"><tr ng-cloak="" ng-show="$ctrl.real.com_id.length>0"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Tc_zjid"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.real.com_id" ng-class="{\'accord-pre\':$ctrl.params.tcid}">1</span><p ng-cloak ng-show="$ctrl.params.tcid" ng-class="{\'accord-next\':$ctrl.params.tcid}" translate-once="Tc_wybs"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.tcid=!$ctrl.params.tcid" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.tcid,\'glyphicon-question-sign\':!$ctrl.params.tcid}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="form2.moduNa.$dirty && form2.moduNa.$invalid"><div class="alert alert-danger" ng-show="form2.moduNa.$error.required" translate-once="Tc_tip1"></div><div class="alert alert-danger" ng-show="form2.moduNa.$error.pattern" translate-once="Tc_tip2"></div></div><div class="col-md-12" ng-cloak="" ng-show="$ctrl.serverErr!==\'\'"><div class="alert alert-danger" ng-bind="$ctrl.serverErr"></div></div><div class="col-md-3"><label class="text-info" translate-once="Tc_zjmc"></label></div><div class="col-md-8 clearfix"><input class="form-control" type="text" name="moduNa" ng-class="{\'accord-pre\':$ctrl.params.cliModu}" ng-pattern="/^[a-zA-Z\\u4E00-\\u9FA5](\\w|[\\u4E00-\\u9FA5]|\\d){0,19}$/" required ng-model="$ctrl.property.component_name"><p ng-class="{\'accord-next\':$ctrl.params.cliModu}" ng-show="$ctrl.params.cliModu" ng-cloak="" translate-once="Tc_mcsm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.cliModu=!$ctrl.params.cliModu"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cliModu,\'glyphicon-question-sign\':!$ctrl.params.cliModu}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="form2.serIP.$dirty && form2.serIP.$invalid"><div class="alert alert-danger" ng-show="form2.serIP.$error.required" translate-once="Tc_tip3"></div><div class="alert alert-danger" ng-show="form2.serIP.$error.pattern" translate-once="Tc_tip4"></div></div><div class="col-md-3"><label class="text-info" translate-once="Tc_fwqip"></label></div><div class="col-md-8 clearfix"><input class="form-control" type="text" name="serIP" ng-class="{\'accord-pre\':$ctrl.params.cliIpd}" ng-pattern="/^((25[0-5])|(2[0-4]\\d)|(1\\d\\d)|([1-9]\\d)|\\d)(\\.((25[0-5])|(2[0-4]\\d)|(1\\d\\d)|([1-9]\\d)|\\d)){3}$/" required ng-model="$ctrl.property.ip"><p ng-class="{\'accord-next\':$ctrl.params.cliIpd}" ng-show="$ctrl.params.cliIpd" ng-cloak="" translate-once="Tc_ipsm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.cliIpd=!$ctrl.params.cliIpd"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cliIpd,\'glyphicon-question-sign\':!$ctrl.params.cliIpd}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="form2.por.$dirty && form2.por.$invalid"><div class="alert alert-danger" ng-show="form2.por.$error.required" translate-once="Tc_tip5"></div><div class="alert alert-danger" ng-show="form2.por.$error.pattern" translate-once="Tc_tip6"></div></div><div class="col-md-3"><label class="text-info" translate-once="Tc_dk"></label></div><div class="col-md-8 clearfix"><input class="form-control" type="text" name="por" ng-class="{\'accord-pre\':$ctrl.params.cliPor}" ng-pattern="/^[1-9]$|(^[1-9][0-9]$)|(^[1-9][0-9][0-9]$)|(^[1-9][0-9][0-9][0-9]$)|(^[1-6][0-5][0-5][0-3][0-5]$)/" required ng-model="$ctrl.property.port"><p ng-class="{\'accord-next\':$ctrl.params.cliPor}" ng-show="$ctrl.params.cliPor" ng-cloak="" translate-once="Tc_dksm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.cliPor=!$ctrl.params.cliPor"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cliPor,\'glyphicon-question-sign\':!$ctrl.params.cliPor}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Tc_sjklx"></label></div><div class="col-md-8 clearfix"><div class="form-group" ng-class="{\'accord-pre\':$ctrl.params.cliOra}"><select class="form-control" ng-model="$ctrl.property.db_type"><option ng-repeat="x in $ctrl.allowDbs track by $index" value="{{x}}" ng-bind="x"></option></select></div><p ng-class="{\'accord-next\':$ctrl.params.cliOra}" ng-show="$ctrl.params.cliOra" ng-cloak="" translate-once="Tc_sjksm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.cliOra=!$ctrl.params.cliOra"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cliOra,\'glyphicon-question-sign\':!$ctrl.params.cliOra}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="form2.gropNa.$dirty && form2.gropNa.$invalid"><div class="alert alert-danger" ng-show="form2.gropNa.$error.required" translate-once="Tc_tip7"></div><div class="alert alert-danger" ng-show="form2.gropNa.$error.pattern" translate-once="Tc_tip8"></div></div><div class="col-md-3"><label class="text-info" translate-once="Tc_cszm"></label></div><div class="col-md-8 clearfix"><input class="form-control" type="text" name="gropNa" ng-class="{\'accord-pre\':$ctrl.params.cliGrop}" ng-pattern="/^[a-zA-Z\\u4E00-\\u9FA5](\\w|[\\u4E00-\\u9FA5]|\\d){0,19}$/" required ng-model="$ctrl.property.group_name"><p ng-class="{\'accord-next\':$ctrl.params.cliGrop}" ng-show="$ctrl.params.cliGrop" ng-cloak="" translate-once="Tc_cszmsm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.cliGrop=!$ctrl.params.cliGrop"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cliGrop,\'glyphicon-question-sign\':!$ctrl.params.cliGrop}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="form2.tranQue.$dirty && form2.tranQue.$invalid"><div class="alert alert-danger" ng-show="form2.tranQue.$error.required" translate-once="Tc_tip9"></div><div class="alert alert-danger" ng-show="form2.tranQue.$error.pattern" translate-once="Tc_tip10"></div></div><div class="col-md-3"><label class="text-info" translate-once="Tc_csdlm"></label></div><div class="col-md-8 clearfix"><input class="form-control" type="text" name="tranQue" ng-class="{\'accord-pre\':$ctrl.params.cliQue}" ng-pattern="/^[a-zA-Z\\u4E00-\\u9FA5](\\w|[\\u4E00-\\u9FA5]|\\d){0,19}$/" required ng-model="$ctrl.property.queue_name"><p ng-class="{\'accord-next\':$ctrl.params.cliQue}" ng-show="$ctrl.params.cliQue" ng-cloak="" translate-once="Tc_dlmsm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.cliQue=!$ctrl.params.cliQue"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cliQue,\'glyphicon-question-sign\':!$ctrl.params.cliQue}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="form2.userNa.$dirty && form2.userNa.$invalid"><div class="alert alert-danger" ng-show="form2.userNa.$error.required" translate-once="Tc_tip11"></div><div class="alert alert-danger" ng-show="form2.userNa.$error.pattern" translate-once="Tc_tip12"></div></div><div class="col-md-3"><label class="text-info" translate-once="Tc_tsyhm"></label></div><div class="col-md-8 clearfix"><input class="form-control" type="text" name="userNa" ng-class="{\'accord-pre\':$ctrl.params.cliUser}" ng-pattern="/^[a-zA-Z\\u4E00-\\u9FA5](\\w|[\\u4E00-\\u9FA5]|\\d){0,19}$/" required ng-model="$ctrl.property.user"><p ng-class="{\'accord-next\':$ctrl.params.cliUser}" ng-show="$ctrl.params.cliUser" ng-cloak="" translate-once="Tc_yhmsm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.cliUser=!$ctrl.params.cliUser"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cliUser,\'glyphicon-question-sign\':!$ctrl.params.cliUser}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="form2.passW.$dirty && form2.passW.$invalid"><div class="alert alert-danger" ng-show="form2.passW.$error.required" translate-once="Tc_tip13"></div><div class="alert alert-danger" ng-show="form2.passW.$error.pattern" translate-once="Tc_tip14"></div></div><div class="col-md-3"><label class="text-info" translate-once="Tc_tsmm"></label></div><div class="col-md-8 clearfix"><input class="form-control" type="password" name="passW" ng-class="{\'accord-pre\':$ctrl.params.cliPass}" ng-pattern="/^\\S{8,20}$/" required ng-model="$ctrl.property.passwd"><p ng-class="{\'accord-next\':$ctrl.params.cliPass}" ng-show="$ctrl.params.cliPass" ng-cloak="" translate-once="Tc_tsmmsm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.cliPass=!$ctrl.params.cliPass"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cliPass,\'glyphicon-question-sign\':!$ctrl.params.cliPass}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Tc_ys"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.cliCompre}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.compress" value="yes">{{\'YES\' | translate}}</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.compress" value="no">{{\'NO\' | translate}}</label></div><p ng-class="{\'accord-next\':$ctrl.params.cliCompre}" ng-show="$ctrl.params.cliCompre" ng-cloak="" translate-once="Tc_yssm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.cliCompre=!$ctrl.params.cliCompre"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cliCompre,\'glyphicon-question-sign\':!$ctrl.params.cliCompre}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Tc_jm"></label></div><div class="col-md-8 clearfix"><div class="input-group" ng-class="{\'accord-pre\':$ctrl.params.cliEnc}"><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.encrypt" value="yes">SM4</label><label class="radio-inline"><input type="radio" ng-model="$ctrl.property.encrypt" value="no">AES</label></div><p ng-class="{\'accord-next\':$ctrl.params.cliEnc}" ng-show="$ctrl.params.cliEnc" ng-cloak="" translate-once="Tc_jmsm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.cliEnc=!$ctrl.params.cliEnc"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cliEnc,\'glyphicon-question-sign\':!$ctrl.params.cliEnc}"></span></div></div></div></td></tr></table></div></div><div class="panel-footer"><div class="clearfix"><button class="btn btn-sm btn-primary pull-right" ng-disabled="form2.$invalid || $ctrl.isSaving" ng-click="$ctrl.saveTcpInfo()" ng-bind="$ctrl.saveBtnTxt"></button></div></div></form></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("tclient_view/status.component.html",'<div role="tabpanel" class="tab-pane active"><div class="panel panel-default"><div class="panel-heading" translate-once="Tc_cszj"></div><div class="panel-body"><table class="table table-condensed"><tr ng-cloak="" ng-show="$ctrl.real.com_id.length>0"><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Tc_zjid"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.real.com_id" ng-class="{\'accord-pre\':$ctrl.params.tcid}">1</span><p ng-cloak ng-show="$ctrl.params.tcid" ng-class="{\'accord-next\':$ctrl.params.tcid}" translate-once="Tc_wybs"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.tcid=!$ctrl.params.tcid" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.tcid,\'glyphicon-question-sign\':!$ctrl.params.tcid}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Tc_zjmc"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.component_name" ng-class="{\'accord-pre\':$ctrl.params.cliModu}">1</span><p ng-cloak ng-show="$ctrl.params.cliModu" ng-class="{\'accord-next\':$ctrl.params.cliModu}" translate-once="Tc_mcsm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.cliModu=!$ctrl.params.cliModu" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cliModu,\'glyphicon-question-sign\':!$ctrl.params.cliModu}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Tc_fwqip"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.ip" ng-class="{\'accord-pre\':$ctrl.params.cliIpd}">1</span><p ng-cloak ng-show="$ctrl.params.cliIpd" ng-class="{\'accord-next\':$ctrl.params.cliIpd}" translate-once="Tc_ipsm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.cliIpd=!$ctrl.params.cliIpd" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cliIpd,\'glyphicon-question-sign\':!$ctrl.params.cliIpd}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Tc_dk"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.port" ng-class="{\'accord-pre\':$ctrl.params.cliPor}">1</span><p ng-cloak ng-show="$ctrl.params.cliPor" ng-class="{\'accord-next\':$ctrl.params.cliPor}" translate-once="Tc_dksm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.cliPor=!$ctrl.params.cliPor" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cliPor,\'glyphicon-question-sign\':!$ctrl.params.cliPor}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Tc_sjklx"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.db_type" ng-class="{\'accord-pre\':$ctrl.params.cliOra}">1</span><p ng-cloak ng-show="$ctrl.params.cliOra" ng-class="{\'accord-next\':$ctrl.params.cliOra}" translate-once="Tc_sjksm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.cliOra=!$ctrl.params.cliOra" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cliOra,\'glyphicon-question-sign\':!$ctrl.params.cliOra}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Tc_cszm"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.group_name" ng-class="{\'accord-pre\':$ctrl.params.cliGrop}">1</span><p ng-cloak ng-show="$ctrl.params.cliGrop" ng-class="{\'accord-next\':$ctrl.params.cliGrop}" translate-once="Tc_cszmsm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.cliGrop=!$ctrl.params.cliGrop" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cliGrop,\'glyphicon-question-sign\':!$ctrl.params.cliGrop}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Tc_csdlm"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.queue_name" ng-class="{\'accord-pre\':$ctrl.params.cliQue}">1</span><p ng-cloak ng-show="$ctrl.params.cliQue" ng-class="{\'accord-next\':$ctrl.params.cliQue}" translate-once="Tc_dlmsm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.cliQue=!$ctrl.params.cliQue" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cliQue,\'glyphicon-question-sign\':!$ctrl.params.cliQue}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Tc_tsyhm"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.user" ng-class="{\'accord-pre\':$ctrl.params.cliUser}">1</span><p ng-cloak ng-show="$ctrl.params.cliUser" ng-class="{\'accord-next\':$ctrl.params.cliUser}" translate-once="Tc_yhmsm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.cliUser=!$ctrl.params.cliUser" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cliUser,\'glyphicon-question-sign\':!$ctrl.params.cliUser}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Tc_tsmm"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.passwd" ng-class="{\'accord-pre\':$ctrl.params.cliPass}">1</span><p ng-cloak ng-show="$ctrl.params.cliPass" ng-class="{\'accord-next\':$ctrl.params.cliPass}" translate-once="Tc_tsmmsm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.cliPass=!$ctrl.params.cliPass" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cliPass,\'glyphicon-question-sign\':!$ctrl.params.cliPass}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Tc_ys"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.compress" ng-class="{\'accord-pre\':$ctrl.params.cliCompre}">1</span><p ng-cloak ng-show="$ctrl.params.cliCompre" ng-class="{\'accord-next\':$ctrl.params.cliCompre}" translate-once="Tc_yssm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.cliCompre=!$ctrl.params.cliCompre" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cliCompre,\'glyphicon-question-sign\':!$ctrl.params.cliCompre}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Tc_jm"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.encrypt===\'yes\'?\'SM4\':\'AES\'" ng-class="{\'accord-pre\':$ctrl.params.cliEnc}">1</span><p ng-cloak ng-show="$ctrl.params.cliEnc" ng-class="{\'accord-next\':$ctrl.params.cliEnc}" translate-once="Tc_jmsm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.cliEnc=!$ctrl.params.cliEnc" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.cliEnc,\'glyphicon-question-sign\':!$ctrl.params.cliEnc}"></span></div></div></td></tr></table></div></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("tserver_view/property.component.html",'<div role="tabpanel" class="tab-pane active"><div class="panel panel-default"><div class="panel-heading">Tserver</div><form name="form2" autocomplete="off" novalidate><div class="panel-body clearfix"><div class="panel panel-default"><table class="table"><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="form2.userNa.$dirty && form2.userNa.$invalid"><div uib-alert class="alert-danger" ng-show="form2.userNa.$error.required" translate-once="Tc_tip11"></div><div uib-alert class="alert-danger" ng-show="form2.userNa.$error.pattern" translate-once="Tc_tip12"></div></div><div class="col-md-3"><label class="text-info" translate-once="Tc_tsyhm"></label></div><div class="col-md-8 clearfix"><input class="form-control" type="text" name="userNa" ng-class="{\'accord-pre\':$ctrl.params.serUser}" ng-pattern="/^[a-zA-Z\\u4E00-\\u9FA5](\\w|[\\u4E00-\\u9FA5]|\\d){0,19}$/" required ng-model="$ctrl.property.user"><p ng-class="{\'accord-next\':$ctrl.params.serUser}" ng-show="$ctrl.params.serUser" ng-cloak="" translate-once="Tc_yhmsm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.serUser=!$ctrl.params.serUser"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.serUser,\'glyphicon-question-sign\':!$ctrl.params.serUser}"></span></div></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-12" ng-show="form2.passW.$dirty && form2.passW.$invalid"><div uib-alert class="alert-danger" ng-show="form2.passW.$error.required" translate-once="Tc_tip13"></div><div uib-alert class="alert-danger" ng-show="form2.passW.$error.pattern" translate-once="Tc_tip14"></div></div><div class="col-md-3"><label class="text-info" translate-once="Tc_tsmm"></label></div><div class="col-md-8 clearfix"><input class="form-control" type="password" name="passW" ng-class="{\'accord-pre\':$ctrl.params.serPass}" ng-pattern="/^\\S{8,20}$/" required ng-model="$ctrl.property.passwd"><p ng-class="{\'accord-next\':$ctrl.params.serPass}" ng-show="$ctrl.params.serPass" ng-cloak="" translate-once="Tc_tsmmsm"></p></div><div class="col-md-1"><div class="form-tip" ng-click="$ctrl.params.serPass=!$ctrl.params.serPass"><span class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.serPass,\'glyphicon-question-sign\':!$ctrl.params.serPass}"></span></div></div></div></td></tr></table></div></div><div class="panel-footer"><div class="clearfix"><button class="btn btn-sm btn-primary pull-right" ng-disabled="form2.$invalid || $ctrl.isSaving" ng-click="$ctrl.saveTcpInfo()" ng-bind="$ctrl.saveBtnTxt"></button></div></div></form></div></div>')}])}(),function(l){try{l=angular.module("myApp")}catch(a){l=angular.module("myApp",[])}l.run(["$templateCache",function(l){l.put("tserver_view/status.component.html",'<div role="tabpanel" class="tab-pane active"><div class="panel panel-default"><div class="panel-heading">Tserver</div><div class="panel-body"><table class="table"><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Tc_tsyhm"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.user" ng-class="{\'accord-pre\':$ctrl.params.serUser}">1</span><p ng-cloak ng-show="$ctrl.params.serUser" ng-class="{\'accord-next\':$ctrl.params.serUser}" translate-once="Tc_yhmsm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.serUser=!$ctrl.params.serUser" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.serUser,\'glyphicon-question-sign\':!$ctrl.params.serUser}"></span></div></div></td></tr><tr><td><div class="row cap-form-tip"><div class="col-md-3"><label class="text-info" translate-once="Tc_tsmm"></label></div><div class="col-md-8"><span class="ci-label" ng-bind="$ctrl.property.passwd" ng-class="{\'accord-pre\':$ctrl.params.serPass}">******</span><p ng-cloak ng-show="$ctrl.params.serPass" ng-class="{\'accord-next\':$ctrl.params.serPass}" translate-once="Tc_tsmmsm"></p></div><div class="col-md-1"><span ng-click="$ctrl.params.serPass=!$ctrl.params.serPass" class="mark glyphicon" ng-class="{\'glyphicon-remove-sign\':$ctrl.params.serPass,\'glyphicon-question-sign\':!$ctrl.params.serPass}"></span></div></div></td></tr></table></div><div class="panel-footer"><div class="clearfix"><button class="btn btn-primary pull-right" ng-disabled="$ctrl.isRun" ng-click="$ctrl.startTserver()" translate-once="Ts_qdts"></button></div></div></div></div>')}])}();