Browse Source

Merge branch 'master' of http://192.168.1.220:10080/CoSharp/eip

airhead 7 years ago
parent
commit
ddbfb31328
24 changed files with 2157 additions and 1771 deletions
  1. 2 1
      hos-arbiter/src/main/resources/logback.xml
  2. 15 3
      hos-camel2/src/main/java/camel/central/gateway/route/GatewayRouterBuilder.java
  3. 33 0
      hos-web-framework/src/main/java/com/yihu/hos/web/framework/util/controller/BaseController.java
  4. 1 0
      pom.xml
  5. 10 3
      src/main/java/com/yihu/hos/common/CommonPageController.java
  6. 58 0
      src/main/java/com/yihu/hos/qc/controller/ReportController.java
  7. 7 1
      src/main/resources/application.yml
  8. 69 0
      src/main/resources/logback.xml
  9. 2 0
      src/main/webapp/WEB-INF/ehr/commons/jsp/commonFoot.jsp
  10. 1 1
      src/main/webapp/WEB-INF/ehr/jsp/common/index.jsp
  11. 13 5
      src/main/webapp/WEB-INF/ehr/jsp/common/indexJs.jsp
  12. 3 0
      src/main/webapp/WEB-INF/ehr/jsp/common/signinJs.jsp
  13. 20 0
      src/main/webapp/WEB-INF/ehr/jsp/common/test.jsp
  14. 38 0
      src/main/webapp/WEB-INF/ehr/jsp/common/testJs.jsp
  15. 0 0
      src/main/webapp/WEB-INF/ehr/jsp/common/tokenValidFailJs.jsp
  16. 1 1
      src/main/webapp/WEB-INF/ehr/jsp/monitor/server/sEnvManage.jsp
  17. 259 218
      src/main/webapp/WEB-INF/ehr/jsp/monitor/server/sEnvManageJs.jsp
  18. 11 0
      src/main/webapp/WEB-INF/ehr/jsp/qc/report.jsp
  19. 5 0
      src/main/webapp/WEB-INF/ehr/jsp/qc/reportJs.jsp
  20. 11 0
      src/main/webapp/WEB-INF/ehr/jsp/qc/storageReport.jsp
  21. 5 0
      src/main/webapp/WEB-INF/ehr/jsp/qc/storageReportJs.jsp
  22. 1538 1538
      src/main/webapp/WEB-INF/ehr/jsp/standard/adapterplan/configurationJs.jsp
  23. 35 0
      src/main/webapp/develop/lib/plugin/echarts-2.2.7/echarts-all.js
  24. 20 0
      src/main/webapp/develop/lib/plugin/echarts-2.2.7/echarts.js

+ 2 - 1
hos-arbiter/src/main/resources/logback.xml

@ -1,8 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
    <!-- 日志文件基础目录-->
    <property name="log_dir" value="/usr/local/esb/logs/" />
    <!-- 应用名称 -->
    <property name="APP_NAME" value="hos-arbiter" />
    <property name="log_dir" value="logs/" />
    <!--日志文件的保存路径,首先查找系统属性-Dlog.dir,如果存在就使用其;否则,在当前目录下创建名为logs目录做日志存放的目录 -->
    <property name="LOG_HOME" value="${log_dir:-logs}/${APP_NAME}" />
    <!-- 日志输出格式 -->

+ 15 - 3
hos-camel2/src/main/java/camel/central/gateway/route/GatewayRouterBuilder.java

@ -21,21 +21,33 @@ public class GatewayRouterBuilder extends RouteBuilder {
    @Override
    public void configure() throws Exception {
        //EHR ag-admin网关代理
        from("jetty:http://0.0.0.0:9998?matchOnUriPrefix=true").routeId("proxy")
                .to("jetty:http://192.168.1.221:10000?bridgeEndpoint=true&throwExceptionOnFailure=false");
        // 档案上传接口代理
        from("jetty:http://0.0.0.0:9990/api/packages?bridgeEndpoint=true&enableMultipartFilter=false").routeId("proxyUploadPack")
                .removeHeaders("CamelHttp*")
                .to("jetty:http://192.168.1.221:10140/api/v1.0/packages");
        //统一网关入口(restful)
        from("jetty:http://0.0.0.0:9999/api").routeId("api")
                .process(new GatewayProcessor())
                .routingSlip(method(GatewayProcessor.class, "route"));
        from("jetty:http://0.0.0.0:9999/healthy").routeId("healthy")
                .log("=========================心跳测试=====================");
        //统一网关入口(web-service)
        from(SIMPLE_ENDPOINT_URI)
                .setHeader(Exchange.BEAN_MULTI_PARAMETER_ARRAY, constant(true))
                .process(new WsProcessor())
                .routingSlip(method(GatewayProcessor.class, "route"))
                .to("bean:wsProcessor?method=responseWs");
        //流程健康测试接口
        from("jetty:http://0.0.0.0:9999/healthy").routeId("healthy")
                .log("=========================心跳测试=====================");
    }
}

+ 33 - 0
hos-web-framework/src/main/java/com/yihu/hos/web/framework/util/controller/BaseController.java

@ -44,6 +44,39 @@ public class BaseController extends AbstractController {
    public BaseController() {
    }
    public Envelop getEnvelop(String json){
        try {
            return objectMapper.readValue(json,Envelop.class);
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }
    /**
     *将envelop中的DetailList串转化为模板对象集合
     *Envelop envelop = objectMapper.readValue(resultStr,Envelop.class)
     * modelList = envelop.getDetailModelList()
     * @param modelList
     * @param targets
     * @param targetCls
     * @param <T>
     * @return
     */
    public <T> Collection<T> getEnvelopList(List modelList, Collection<T> targets, Class<T> targetCls) {
        try {
            for (Object aModelList : modelList) {
                String objJsonData = objectMapper.writeValueAsString(aModelList);
                T model = objectMapper.readValue(objJsonData, targetCls);
                targets.add(model);
            }
            return targets;
        } catch (Exception ex) {
            ex.printStackTrace();
            return null;
        }
    }
    protected ModelAndView handleRequestInternal(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
        return null;
    }

+ 1 - 0
pom.xml

@ -223,6 +223,7 @@
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot-version}</version>
                <executions>
                    <execution>
                        <goals>

+ 10 - 3
src/main/java/com/yihu/hos/common/CommonPageController.java

@ -56,6 +56,12 @@ public class CommonPageController extends BaseController {
    private RemoteShellService remoteShellService;
    @RequestMapping("testPage")
    public String initial(Model model) {
        model.addAttribute("contentPage", "/common/test");
        return "pageView";
    }
    /*
    登录页面
     */
@ -286,13 +292,14 @@ public class CommonPageController extends BaseController {
                             @ApiParam(name = "token")
                             @RequestParam String token) throws Exception {
        try {
            HttpSession session = request.getSession();
            Map<String, String> params = new HashMap<>();
            params.put("clientId", clientId);
            params.put("accessToken", token);
            HTTPResponse response = HttpClientKit.post(portalUrl + "/oauth/validToken", params);
            HTTPResponse response = HttpClientKit.post("http://sdw2:10260" + "/oauth/validToken", params);
            if (response.getStatusCode() != 200) {
                System.out.println("验证 token 请求失败!");
                System.out.println("验证 token 请求失败,token:"+token);
                return failed("验证 token 请求失败!");
            }
@ -300,7 +307,7 @@ public class CommonPageController extends BaseController {
            if ((Boolean) map.get("successFlg")) {
                AccessToken accessToken = objectMapper.readValue(objectMapper.writeValueAsString(map.get("data")), AccessToken.class);
                String loginName = accessToken.getUser();
                session.setAttribute("ehrUser",loginName);
                //验证通过。赋值session中的用户信息
                HTTPResponse userResponse = HttpClientKit.get(adminUrl + "/users/" + loginName, params);
                Envelop result =  this.objectMapper.readValue(userResponse.getBody(), Envelop.class);

+ 58 - 0
src/main/java/com/yihu/hos/qc/controller/ReportController.java

@ -0,0 +1,58 @@
package com.yihu.hos.qc.controller;
import com.yihu.hos.web.framework.util.controller.BaseController;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
 * Created by llh on 2017/5/9.
 */
@Controller
@RequestMapping("/report")
//@SessionAttributes(SessionAttributeKeys.CurrentUser)
public class ReportController extends BaseController {
    @Value("${service-gateway.adminUrl}")
    private String comUrl;
    @Value("${service-gateway.oauth2authorize}")
    private String oauth2authUrl;
    @Value("${service-gateway.oauth2RedictUrl}")
    private String oauth2RedictUrl;
    @Value("${service-gateway.oauth2ReportClientId}")
    private String oauth2ReportClientId;
    /**
     * 单点登录-质控报告获取
     * @param request
     * @param response
     * @param user      门户登录用户
     * @throws Exception
     */
    @RequestMapping(value = "signin",method = RequestMethod.GET)
    public void signin(HttpServletRequest request,HttpServletResponse response, String user) throws Exception
    {
//        response.sendRedirect("http://localhost:10260/oauth/authorize?response_type=token&client_id=111111&redirect_uri=http://localhost:8011/login/test&user=me");
       String redict = oauth2authUrl + "oauth/authorize?response_type=token&client_id="+oauth2ReportClientId+"&redirect_uri="+oauth2RedictUrl+"&scope=read&user="+user;
        response.sendRedirect(redict);
    }
    /**
     * 趋势分析页
     * @param model
     * @return
     */
    @RequestMapping("initial")
    public String initial(Model model) {
        model.addAttribute("contentPage", "/qc/report/trendAnalysis");
        return "pageView";
    }
}

+ 7 - 1
src/main/resources/application.yml

@ -62,7 +62,10 @@ hos:
service-gateway:
  portalUrl: http://192.168.1.221:10280/api/v1.0/portal
  adminUrl: http://192.168.1.221:10000/api/v1.0/admin
  url: http://172.19.103.70:9999/api
  oauth2authorize: http://192.168.131.106:10260/
  oauth2RedictUrl: http://192.168.131.106:8083/ehr/login/signinReport
  oauth2ReportClientId: 2YTOSRI0tw
  url: http://172.19.103.37:9999/api
---
spring:
  profiles: test
@ -108,4 +111,7 @@ hos:
service-gateway:
  portalUrl: http://192.168.1.221:10280/api/v1.0/portal
  adminUrl: http://192.168.1.221:10000/api/v1.0/admin
  oauth2authorize: http://192.168.1.221:10260/
  oauth2RedictUrl: http://192.168.1.221:8080/ehr/login/signinReport
  oauth2ReportClientId: 2YTOSRI0tw
  url: http://172.19.103.37:9999/api

+ 69 - 0
src/main/resources/logback.xml

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
    <!-- 文件目录 -->
    <property name="log_dir" value="/usr/local/esb/logs/" />
    <!-- 应用名称 -->
    <property name="APP_NAME" value="hos-admin" />
    <!--日志文件的保存路径,首先查找系统属性-Dlog.dir,如果存在就使用其;否则,在当前目录下创建名为logs目录做日志存放的目录 -->
    <property name="LOG_HOME" value="${log_dir:-logs}/${APP_NAME}" />
    <!-- 日志输出格式 -->
    <property name="ENCODER_PATTERN"
              value="%d{HH:mm:ss} [%thread] %-5level %logger{80} - %msg%n" />
    <contextName>${APP_NAME}</contextName>
    <!-- 控制台日志:输出全部日志到控制台 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <Pattern>${ENCODER_PATTERN}</Pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>DEBUG</level>
        </filter>
    </appender>
    <!-- 文件日志:输出全部日志到文件 根据日期滚动 -->
    <appender name="FILE"  class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_HOME}/output.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/output.%d{yyyy-MM-dd_HH}.log</fileNamePattern>
            <maxHistory>10</maxHistory>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${ENCODER_PATTERN}</pattern>
            <charset>utf-8</charset>
        </encoder>
    </appender>
    <!-- 错误日志:用于将错误日志输出到独立文件 -->
    <appender name="ERROR_FILE"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/error/error.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>7</maxHistory>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${ENCODER_PATTERN}</pattern>
            <charset>utf-8</charset>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>WARN</level>
        </filter>
    </appender>
    <logger name="org.hibernate" level="WARN"/>
    <logger name="org.springframework" level="WARN"/>
    <logger name="springfox.documentation" level="WARN"/>
    <root>
        <level value="DEBUG" />
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
        <appender-ref ref="ERROR_FILE" />
    </root>
</configuration>

+ 2 - 0
src/main/webapp/WEB-INF/ehr/commons/jsp/commonFoot.jsp

@ -14,3 +14,5 @@
<script src="${staticRoot}/lib/plugin/tips/tips.js"></script>
<script src="${staticRoot}/lib/plugin/validate/jValidate.js"></script>
<%--<script src="${contextRoot}/develop/lib/plugin/echarts/echarts-all.js"></script>--%>
<script src="${contextRoot}/develop/lib/plugin/echarts-2.2.7/echarts-all.js"></script>

+ 1 - 1
src/main/webapp/WEB-INF/ehr/jsp/common/index.jsp

@ -54,7 +54,7 @@
    <div position="center" class="m-index-center" id="divIndexContent">
    </div>
<input type="hidden" id="ehrUser" value="${ehrUser}">
</div>

+ 13 - 5
src/main/webapp/WEB-INF/ehr/jsp/common/indexJs.jsp

@ -4,7 +4,7 @@
    // 设置jQuery Ajax全局的参数
    $.ajaxSetup({
        type: "POST",
        type: "GET",
        error: function (jqXHR, textStatus, errorThrown) {
            isLogin();
            switch (jqXHR.status) {
@ -66,7 +66,7 @@
            });
            $(".l-layout-left").css({background: "#dce6f0"})
            var ehrUser = $("#ehrUser").val();
            var tenantManager = {} ;
            var userRole = localStorage.getItem("userRole");
            //菜单列表
@ -115,6 +115,10 @@
                //质控规则管理
                {id: 8, text: '质控管理', icon: '${staticRoot}/images/index/menu05.png'},
                {id: 81, pid: 8, text: '规则管理', url: '${contextRoot}/rule/initial', icon: '${staticRoot}/images/index/Ins_icon.png'},
                <%--{id: 82, pid: 8, text: '质控报告', url: '${contextRoot}/oauth2/report', icon: '${staticRoot}/images/index/Ins_icon.png'},--%>
                {id: 82, pid: 8, text: '质控报告', url: 'http://192.168.131.106:8080/esb/report/signin?user='+ehrUser, icon: '${staticRoot}/images/index/Ins_icon.png'},
                <%--{id: 83, pid: 8, text: '档案入库情况', url: '${contextRoot}/report/initialLs', icon: '${staticRoot}/images/index/Ins_icon.png'},--%>
                //系统配置
                {id: 9, text: '系统配置', icon: '${staticRoot}/images/index/menu07.png'},
                {id: 91, pid: 9, text: '系统参数', url: '${contextRoot}/param/initial', icon: '${staticRoot}/images/index/Ins_icon.png'},
@ -157,7 +161,12 @@
                nodeWidth: 176,
                onSelect: function (obj) {
                	if (obj.data.url != undefined) {
                        me.openMenu(obj);
                        debugger
                        if(obj.data.url.indexOf("report/signin") >= 0){
                            me.loadIframePage(obj.data.url);//质控页面
                        }else{
                            me.openMenu(obj);
                        }
                    }
                	//选中子菜单时默认选中父菜单
                	if(obj.data.children == undefined){
@ -189,8 +198,7 @@
					});
                },
                onClick:function(obj){
                	
					
                },
                //一级节点不可选中
                onAfterAppend: function () {

+ 3 - 0
src/main/webapp/WEB-INF/ehr/jsp/common/signinJs.jsp

@ -11,6 +11,7 @@
            {
                //获取accrss_token
                var tokenString =hash.substring(1,hash.indexOf("&"));
                debugger
                var token = tokenString.substr(hash.indexOf("="));
                //自动登录
                $.ajax({
@ -23,6 +24,8 @@
                    success: function (data) {
                        if(data.successFlg){
                            debugger
                            window.localStorage.setItem("ehrUser", token);
                            location.href = '${contextRoot}/'+tenantName + '/oauth2/index?loginName='+data.obj.user;
                        }else{
                            location.href = '${contextRoot}/common/tokenValidFail';

+ 20 - 0
src/main/webapp/WEB-INF/ehr/jsp/common/test.jsp

@ -0,0 +1,20 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="utf-8"%>
<%@include file="/WEB-INF/ehr/commons/jsp/commonInclude.jsp" %>
<div id="divErrorContent" style="background: url('${staticRoot}/images/404.png') no-repeat;">
</div>
<div id="main" style="width: 60%;height:400px;"></div>
<%-- 详细数据 --%>
<div id="detail" class="ml50 mt20">
</div>
</div>

+ 38 - 0
src/main/webapp/WEB-INF/ehr/jsp/common/testJs.jsp

@ -0,0 +1,38 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="utf-8"%>
<%@include file="/WEB-INF/ehr/commons/jsp/commonInclude.jsp" %>
<script>
    var option = {
        series: [
            {
                name: "3的指数",
                type: "line",
                data: []
            },
            {
                name: "2的指数",
                type: "line",
                data: []
            }
        ]
    }
    var myChart = echarts.init(document.getElementById('main'));
    // 基于准备好的dom,初始化echarts实例
    // 指定图表的配置项和数据
    myChart.setOption(option);
    myChart.on('mouseover', function (params) {
//                 getInfo(host,type,params.name);
        console.log(params);
    });
</script>

+ 0 - 0
src/main/webapp/WEB-INF/ehr/jsp/common/tokenValidFailJs.jsp


+ 1 - 1
src/main/webapp/WEB-INF/ehr/jsp/monitor/server/sEnvManage.jsp

@ -55,7 +55,7 @@
            <div class="c-item" data-item="net">网络</div>
        </div>
            <%-- echarts 数据--%>
        <div id="main" style="width: 60%;height:400px;"></div>
        <div id="main" style="width: 60%;height:400px;border-bottom: 1px solid #999999 "></div>
            <%-- 详细数据 --%>
            <div id="detail" class="ml50 mt20">

+ 259 - 218
src/main/webapp/WEB-INF/ehr/jsp/monitor/server/sEnvManageJs.jsp

@ -1,11 +1,11 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="utf-8" %>
<%@include file="/WEB-INF/ehr/commons/jsp/commonInclude.jsp" %>
<script src="${contextRoot}/develop/lib/plugin/echarts/echarts-all.js"></script>
<%--<script src="${contextRoot}/develop/echarts/echarts.js"></script>--%>
<script>
    var host ="";
    var host = "";
    var myChart;
    $(function () {
        myChart = echarts.init(document.getElementById('main'));
        getServerTree();
        //l-layout-left
        //初始化layout
@ -25,65 +25,62 @@
            width: 240,
            showTime: true
        });
        $("#repeatStartTime").ligerDateEditor("setValue",prevDate());
        $("#repeatEndTime").ligerDateEditor("setValue",nowDate());
        $("#repeatStartTime").ligerDateEditor("setValue", prevDate());
        $("#repeatEndTime").ligerDateEditor("setValue", nowDate());
        /*初始化时间控件-end*/
        //初始化图表
        var type = $(".div-menu .active").attr("data-item");
        var beginTime = $("#repeatStartTime").ligerDateEditor("getValue");
        var endTime = $("#repeatEndTime").ligerDateEditor("getValue");
        getServerInfo(host,type,beginTime,endTime);
        getInfo(host,type,endTime);
        getServerInfo(host, type, beginTime, endTime);
        getInfo(host, type, endTime);
        //搜索按钮事件
        $(".m-form-control").on("click","#btnSearch",function(){
        $(".m-form-control").on("click", "#btnSearch", function () {
            var beginTime = $("#repeatStartTime").ligerDateEditor("getValue");
            var endTime = $("#repeatEndTime").ligerDateEditor("getValue");
            if(beginTime=="" && $endTime=="")
            {
            if (beginTime == "" && $endTime == "") {
                $.ligerDialog.error("请选择起始结束时间!");
                return false;
            }
            if(beginTime > endTime)
            {
            if (beginTime > endTime) {
                $.ligerDialog.error("开始时间不能大于结束时间!");
                return false;
            }
            var type = $(".div-menu .active").attr("data-item");
            //获取服务器监控数据
            getServerInfo(host,type,beginTime,endTime);
            getInfo(host,type,endTime);
            getServerInfo(host, type, beginTime, endTime);
            getInfo(host, type, endTime);
        })
        //选项卡切换时间
        $(".div-menu").on("click",".c-item",function(){
        $(".div-menu").on("click", ".c-item", function () {
            $(".div-menu .c-item").removeClass("active");
            $(this).addClass("active");
            var type = $(this).attr("data-item");
            //获取服务器监控数据
            var beginTime = $("#repeatStartTime").ligerDateEditor("getValue");
            var endTime = $("#repeatEndTime").ligerDateEditor("getValue");
            if(beginTime > endTime)
            {
            if (beginTime > endTime) {
                $.ligerDialog.error("开始时间不能大于结束时间!");
                myChart.clear();
                return false;
            }
            getServerInfo(host,type,beginTime,endTime);
            getInfo(host,type,endTime);
            getServerInfo(host, type, beginTime, endTime);
            getInfo(host, type, endTime);
        })
    });
    function getServerTree(){
    function getServerTree() {
        var serviceTree = $("#div_wrapper_left_ul_resourcetree");
        //初始化树
        $.ajax({
            type: "GET",
            dataType : "json",
            dataType: "json",
            url: "${contextRoot}/monitor/server/trees",
            async: false,
            success: function (msg) {
@ -102,14 +99,12 @@
                            host = obj.data.id;
                            var beginTime = $("#repeatStartTime").ligerDateEditor("getValue");
                            var endTime = $("#repeatEndTime").ligerDateEditor("getValue");
                            if(beginTime=="" && $endTime=="")
                            {
                            if (beginTime == "" && $endTime == "") {
                                $.ligerDialog.error("请选择起始结束时间!");
                                return false;
                            }
                            if(beginTime > endTime)
                            {
                            if (beginTime > endTime) {
                                $.ligerDialog.error("开始时间不能大于结束时间!");
                                return false;
@ -118,8 +113,8 @@
                            var type = $(".div-menu .active").attr("data-item");
                            //获取服务器监控数据
                            getServerInfo(host,type,beginTime,endTime);
                            getInfo(host,type,endTime);
                            getServerInfo(host, type, beginTime, endTime);
                            getInfo(host, type, endTime);
                        },
                        onSuccess: function (data) {
                            alert(2222);
@ -131,18 +126,17 @@
        });
    }
    function getServerInfo(host,type,beginTime,endTime){
    function getServerInfo(host, type, beginTime, endTime) {
        $.ajax({
            type: "GET",
            url : "${contextRoot}/monitor/server/usage",
            dataType : "json",
            data:{host:host,type:type,beginTime:beginTime,endTime:endTime},
            cache:false,
            success :function(re){
                if(re.successFlg) {
            url: "${contextRoot}/monitor/server/usage",
            dataType: "json",
            data: {host: host, type: type, beginTime: beginTime, endTime: endTime},
            cache: false,
            success: function (re) {
                if (re.successFlg) {
                    //TODO 设置图表
                    switch(type)
                    {
                    switch (type) {
                        case "cpu":
                            env.cpuInfo(re);
                            break;
@ -159,19 +153,19 @@
                            break;
                    }
                }
                else{
                else {
                    $.ligerDialog.error(re.message);
                }
            },
            error :function(data){
                $.ligerDialog.error("Status:"+data.status +"(" +data.statusText+")");
            error: function (data) {
                $.ligerDialog.error("Status:" + data.status + "(" + data.statusText + ")");
            }
        });
    }
    var env ={
    var env = {
        $resourceTree: $("#div_wrapper_left_ul_resourcetree"),//树对象
    init:function(){
        init: function () {
            //初始化树
            var resourceTree = this.$resourceTree;
            $.ajax({
@ -193,96 +187,116 @@
                }
            });
        },
        cpuInfo:function(re){
         var data = re.data;
         if(data!=null && data.length>0)
         {
             var x = [];
             var y1=[];
             var y2=[];
             myChart = echarts.init(document.getElementById('main'));
             for(var i=0;i<data.length;i++)
             {
        cpuInfo: function (re) {
            var data = re.data;
            var option = {
                series: [
                    {
                        name: '系统使用率',
                        type: 'line',
                        data: []
                    },
                    {
                        name: '总使用率',
                        type: 'line',
                        data: []
                    }
                ]
            }
            myChart = echarts.init(document.getElementById('main'));
            if (data != null && data.length > 0) {
                var x = [];
                var y1 = [];
                var y2 = [];
                for (var i = 0; i < data.length; i++) {
//                 var create_date = data[i].create_date.substring(11,16);
//                 x.push(create_date);
                 x.push(data[i].create_date);
                 y1.push(data[i].data.sysPerc);
                 y2.push(data[i].data.totalPerc);
             }
             // 基于准备好的dom,初始化echarts实例
             // 指定图表的配置项和数据
             var option = {
                 title: {
                     text: ' CPU指标',
                     left: 'center'
                 },
                 tooltip: {
                     trigger: 'axis',
                     formatter: '{b} <br/>{a0}: {c0}% <br/>{a1}: {c1}%'
                 },
                 dataZoom : {
                     show : true,
                     start : 0,
                     end : 100
                 },
                 legend: {
                     left: 'left',
                     data: ['系统使用率','总使用率']
                 },
                 xAxis: {
                     type: 'category',
                     name: '时间',
                     splitLine: {show: false},
                     data: x
                 },
                 grid: {
                     left: '3%',
                     right: '4%',
                     bottom: '3%',
                     containLabel: true
                 },
                 yAxis: {
                     type: 'log',
                     name: '使用率'
                 },
                 series: [
                     {
                         name: '系统使用率',
                         type: 'line',
                    x.push(data[i].create_date);
                    y1.push(data[i].data.sysPerc);
                    y2.push(data[i].data.totalPerc);
                }
                // 基于准备好的dom,初始化echarts实例
                // 指定图表的配置项和数据
                option = {
                    title: {
                        text: ' CPU指标',
                        left: 'center'
                    },
                    tooltip: {
                        trigger: 'axis',
                        formatter: '{b} <br/>{a0}: {c0}% <br/>{a1}: {c1}%'
                    },
                    dataZoom: {
                        show: true,
                        start: 0,
                        end: 100
                    },
                    legend: {
                        left: 'left',
                        data: ['系统使用率', '总使用率']
                    },
                    xAxis: {
                        type: 'category',
                        name: '时间',
                        splitLine: {show: false},
                        data: x
                    },
                    grid: {
                        left: '3%',
                        right: '4%',
                        bottom: '3%',
                        containLabel: true
                    },
                    yAxis: {
                        type: 'log',
                        name: '使用率'
                    },
                    series: [
                        {
                            name: '系统使用率',
                            type: 'line',
//                         itemStyle: {normal: {areaStyle: {type: 'default'}}},
                         data: y1
                     },
                     {
                         name: '总使用率',
                         type: 'line',
                            data: y1
                        },
                        {
                            name: '总使用率',
                            type: 'line',
//                         itemStyle: {normal: {areaStyle: {type: 'default'}}},
                         data: y2
                     }
                 ]
             };
             myChart.setOption(option);
             myChart.on('mouseover', function (params) {
                            data: y2
                        }
                    ]
                };
                myChart.setOption(option);
                myChart.on('mouseover', function (params) {
//                 getInfo(host,type,params.name);
                 console.log(params);
             });
             //设置图例下方的信息
         }
         else{
            //TODO 清除数据处理
             myChart.clear();
         }
    },
        memory:function(re){
                    console.log(params);
                });
                //设置图例下方的信息
            }
            else {
                //TODO 清除数据处理
                myChart.setOption(option);
                myChart.clear();
            }
        },
        memory: function (re) {
            var data = re.data;
            if(data!=null && data.length>0)
            {
            var option = {
                series: [
                    {
                        name: '使用率',
                        type: 'line',
                        data: []
                    }
                ]
            };
            myChart = echarts.init(document.getElementById('main'));
            if (data != null && data.length > 0) {
                var x = [];
                var y1=[];
                var y2=[];
                myChart = echarts.init(document.getElementById('main'));
                for(var i=0;i<data.length;i++)
                {
                var y1 = [];
                var y2 = [];
                for (var i = 0; i < data.length; i++) {
//                    var create_date = data[i].create_date.substring(11,16);
                    x.push(data[i].create_date);
                    y1.push(data[i].data.usedPerc);
@ -290,7 +304,7 @@
                }
                // 基于准备好的dom,初始化echarts实例
                // 指定图表的配置项和数据
                var option = {
                option = {
                    title: {
                        text: ' 内存使用率指标',
                        left: 'center'
@ -299,10 +313,10 @@
                        trigger: 'axis',
                        formatter: '{b} <br/>{a0}: {c0}% '
                    },
                    dataZoom : {
                        show : true,
                        start : 0,
                        end : 100
                    dataZoom: {
                        show: true,
                        start: 0,
                        end: 100
                    },
                    legend: {
                        left: 'left',
@ -334,26 +348,39 @@
                };
                myChart.setOption(option);
            }
            else{
               //TODO 清除数据
            else {
                //TODO 清除数据
                myChart.setOption(option);
                myChart.clear();
            }
        },
        files:function(re){
        files: function (re) {
            var data = re.data;
            if(data!=null && data.length>0)
            {
            myChart = echarts.init(document.getElementById('main'));
            var option = {
                series: [
                    {
                        name: '已使用',
                        type: 'line',
                        data: []
                    },
                    {
                        name: '总量',
                        type: 'line',
                        data: []
                    }
                ]
            };
            if (data != null && data.length > 0) {
                var x = [];
                var y1=[];
                var y2=[];
                myChart = echarts.init(document.getElementById('main'));
                for(var i=0;i<data.length;i++)
                {
                var y1 = [];
                var y2 = [];
                for (var i = 0; i < data.length; i++) {
                    var count = 0
                    var total =0;
                    var total = 0;
//                    var create_date = data[i].create_date.substring(11,16);
                    x.push(data[i].create_date);
                    for(var j=0;j<data[i].data.length;j++){
                    for (var j = 0; j < data[i].data.length; j++) {
                        count += data[i].data[j].used;
                        total += data[i].data[j].total;
                    }
@ -362,7 +389,7 @@
                }
                // 基于准备好的dom,初始化echarts实例
                // 指定图表的配置项和数据
                var option = {
                option = {
                    title: {
                        text: ' 磁盘指标',
                        left: 'center'
@ -372,10 +399,10 @@
                        formatter: '{b} <br/>{a0}: {c0} G <br/>{a1}: {c1} G'
                    },
                    dataZoom : {
                        show : true,
                        start : 0,
                        end : 100
                    dataZoom: {
                        show: true,
                        start: 0,
                        end: 100
                    },
                    legend: {
                        left: 'left',
@ -412,22 +439,36 @@
                };
                myChart.setOption(option);
            }
            else{
            else {
                //TODO 清除数据
                myChart.setOption(option);
                myChart.clear();
            }
        },
        net:function(re){
        net: function (re) {
            var me = this;
            var data = re.data;
            if(data!=null && data.length>0)
            {
            var option = {
                series: [
                    {
                        name: '接收',
                        type: 'line',
                        data: []
                    },
                    {
                        name: '发送',
                        type: 'line',
                        data: []
                    }
                ]
            };
            myChart = echarts.init(document.getElementById('main'));
            if (data != null && data.length > 0) {
                var x = [];
                var y1=[];
                var y2=[];
                myChart = echarts.init(document.getElementById('main'));
                for(var i=0;i<data.length;i++)
                {
                var y1 = [];
                var y2 = [];
                for (var i = 0; i < data.length; i++) {
//                    var create_date = data[i].create_date.substring(11,16);
                    x.push(data[i].create_date);
                    y1.push(data[i].data.rxbps);
@ -435,7 +476,7 @@
                }
                // 基于准备好的dom,初始化echarts实例
                // 指定图表的配置项和数据
                var option = {
                option = {
                    title: {
                        text: ' 网络指标',
                        left: 'center'
@ -444,16 +485,16 @@
                        trigger: 'axis',
                        formatter: '{b} <br/>{a0}: {c0} kbps <br/>{a1}: {c1} kbps'
                    },
                    dataZoom : {
                        show : true,
                        start : 0,
                        end : 100
                    dataZoom: {
                        show: true,
                        start: 0,
                        end: 100
                    },
                    legend: {
                        left: 'left',
                        data: ['接收', '发送']
                    },
                        xAxis: {
                    xAxis: {
                        type: 'category',
                        name: '时间',
                        splitLine: {show: false},
@ -484,8 +525,9 @@
                };
                myChart.setOption(option);
            }
            else{
               //TODO 清除数据
            else {
                //TODO 清除数据
                myChart.setOption(option);
                myChart.clear();
            }
        }
@ -493,7 +535,7 @@
    /*当前时间*/
    function nowDate(){
    function nowDate() {
        var date = new Date();
        var year = date.getFullYear();
        var month = date.getMonth() + 1;
@ -501,78 +543,77 @@
        var hour = date.getHours();
        var minute = date.getMinutes();
        var second = date.getSeconds();
        return year + '-' + month + '-' + day  + ' ' + hour + ':' + minute + ':' + second;
        return year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second;
    }
    /*前一天时间*/
    function prevDate(){
    function prevDate() {
        var now = new Date();
        var date = new Date(now.getTime() -  24 * 3600 * 1000);
        var date = new Date(now.getTime() - 24 * 3600 * 1000);
        var year = date.getFullYear();
        var month = date.getMonth() + 1;
        var day = date.getDate();
        return year + '-' + month + '-' + day  + ' 00:00:00';
        return year + '-' + month + '-' + day + ' 00:00:00';
    }
    /* **************************动态DIV添加************************ */
    /*  详情数据*/
    function getInfo(host,type,date){
    function getInfo(host, type, date) {
        $.ajax({
            type: "GET",
            url : "${contextRoot}/monitor/server/detail",
            dataType : "json",
            data:{host:host,type:type,date:date},
            cache:false,
            success :function(re){
                if(re.successFlg) {
            url: "${contextRoot}/monitor/server/detail",
            dataType: "json",
            data: {host: host, type: type, date: date},
            cache: false,
            success: function (re) {
                if (re.successFlg) {
                    //TODO 设置详情数据
                    var data = re.data;
                    if(data!=null && !isEmpty(data)){
                    if (data != null && !isEmpty(data)) {
                        var envData = data.data;
                        var $envInfo = $("#detail");
                        var html;
                        switch(type)
                        {
                        switch (type) {
                            case "cpu":
                                html= getCpuHtml(envData);
                                html = getCpuHtml(envData);
                                break;
                            case "memory":
                                html= getMemoryHtml(envData);
                                html = getMemoryHtml(envData);
                                break;
                            case "files":
                                html= getFilesHtml(envData);
                                html = getFilesHtml(envData);
                                break;
                            case "net":
                                html= getNetHtml(envData);
                                html = getNetHtml(envData);
                                break;
                            default:
                                break;
                        }
                        $envInfo.html(html);
                    }else{
                    } else {
                        myChart.clear();
                    }
                }
                else{
                else {
                    $.ligerDialog.error(re.message);
                }
            },
            error :function(data){
                $.ligerDialog.error("Status:"+data.status +"(" +data.statusText+")");
            error: function (data) {
                $.ligerDialog.error("Status:" + data.status + "(" + data.statusText + ")");
            }
        });
    }
    function getCpuHtml(envData){
    function getCpuHtml(envData) {
        var html = "<div class=\"div-item\">\n" +
                "                    <div>\n" +
                "                        <div class=\"d-item\">利用率</div>" +
//                "                        <div class=\"d-item\">速度</div>" +
                "                    </div>" +
                "                    <div class=\"mb20\">\n" +
                "                        <div class=\"c-content\">"+envData.userPerc+"%</div>" +
                "                        <div class=\"c-content\">" + envData.userPerc + "%</div>" +
//                "                        <div class=\"c-content\">2.18GHZ</div>\n" +
                "                    </div>\n" +
//                "                    <div>\n" +
@ -591,11 +632,11 @@
//                "                    </div>\n" +
                "                </div>\n" +
                "                <div class=\"div-item\">\n" +
                "                    <div class=\"div-right-item\">最大速度:<span class=\"f-fs14 c-fwb\">"+envData.model.substring(envData.model.length-8)+"</span></div>\n" +
                "                    <div class=\"div-right-item\">最大速度:<span class=\"f-fs14 c-fwb\">" + envData.model.substring(envData.model.length - 8) + "</span></div>\n" +
//                "                    <div class=\"div-right-item\">插槽:<span class=\"f-fs14 c-fwb\">1</span></div>\n" +
                "                    <div class=\"div-right-item\">内核:<span class=\"f-fs14 c-fwb\">"+envData.quantity+"</span></div>\n" +
                "                    <div class=\"div-right-item\">逻辑处理器:<span class=\"f-fs14 c-fwb\">"+envData.totalCores+"</span></div>\n" +
                "                    <div class=\"div-right-item\">物理处理器:<span class=\"f-fs14 c-fwb\">"+envData.totalSockets+"</span></div>\n" +
                "                    <div class=\"div-right-item\">内核:<span class=\"f-fs14 c-fwb\">" + envData.quantity + "</span></div>\n" +
                "                    <div class=\"div-right-item\">逻辑处理器:<span class=\"f-fs14 c-fwb\">" + envData.totalCores + "</span></div>\n" +
                "                    <div class=\"div-right-item\">物理处理器:<span class=\"f-fs14 c-fwb\">" + envData.totalSockets + "</span></div>\n" +
//                "                    <div class=\"div-right-item\">L1缓存:<span class=\"f-fs14 c-fwb\">121KB</span></div>\n" +
//                "                    <div class=\"div-right-item\">L2缓存:<span class=\"f-fs14 c-fwb\">512KB</span></div>\n" +
//                "                    <div class=\"div-right-item\">L3缓存:<span class=\"f-fs14 c-fwb\">3.0MB</span></div>\n" +
@ -604,73 +645,73 @@
        return html;
    }
    function getMemoryHtml(envData){
    function getMemoryHtml(envData) {
        var html = "<div class=\"div-item\">\n" +
                "                    <div>\n" +
                "                        <div class=\"d-item\">已使用</div>" +
                "                        <div class=\"d-item\">可用</div>" +
                "                    </div>" +
                "                    <div class=\"mb20\">\n" +
                "                        <div class=\"c-content\">"+envData.used+"G</div>" +
                "                        <div class=\"c-content\">"+envData.free+"G</div>\n" +
                "                        <div class=\"c-content\">" + envData.used + "G</div>" +
                "                        <div class=\"c-content\">" + envData.free + "G</div>\n" +
                "                    </div>\n" +
                "                    <div>\n" +
                "                        <div class=\"d-item\">交换区使用量</div>\n" +
                "                        <div class=\"d-item\">交换区可用量</div>\n" +
                "                    </div>\n" +
                "                    <div class=\"mb20\">\n" +
                "                        <div class=\"c-content\">"+envData.swapUsed+"G</div>\n" +
                "                        <div class=\"c-content\">"+envData.swapFree+"G</div>\n" +
                "                        <div class=\"c-content\">" + envData.swapUsed + "G</div>\n" +
                "                        <div class=\"c-content\">" + envData.swapFree + "G</div>\n" +
                "                    </div>\n" +
                "                </div>\n" +
                "                <div class=\"div-item\">\n" +
                "            <div>" +
        "                        <div class=\"d-item\">总量:</div>\n" +
        "                        <div class=\"d-item\">交换区总量:</div>\n" +
        "                    </div>\n" +
        "                    <div class=\"mb20\">\n" +
        "                        <div class=\"c-content\">"+envData.total+"G</div>\n" +
        "                        <div class=\"c-content\">"+envData.swapTotal+"G</div>\n" +
        "                    </div>\n" +
                "                        <div class=\"d-item\">总量:</div>\n" +
                "                        <div class=\"d-item\">交换区总量:</div>\n" +
                "                    </div>\n" +
                "                    <div class=\"mb20\">\n" +
                "                        <div class=\"c-content\">" + envData.total + "G</div>\n" +
                "                        <div class=\"c-content\">" + envData.swapTotal + "G</div>\n" +
                "                    </div>\n" +
                "                </div>";
        return html;
    }
    function getFilesHtml(envData){
        var html ="";
    function getFilesHtml(envData) {
        var html = "";
        var total = "";
        var use ="";
        if(envData.length>0){
            for(var i=0;i<envData.length;i++){
                total+="<div class=\"div-right-item\">"+envData[i].devName+"盘总量:<span class=\"f-fs14 c-fwb\">"+envData[i].total+"G</span></div>";
                use+="<div class=\"div-right-item\">"+envData[i].devName+"盘已使用:<span class=\"f-fs14 c-fwb\">"+envData[i].used+"G</span></div>";
        var use = "";
        if (envData.length > 0) {
            for (var i = 0; i < envData.length; i++) {
                total += "<div class=\"div-right-item\">" + envData[i].devName + "盘总量:<span class=\"f-fs14 c-fwb\">" + envData[i].total + "G</span></div>";
                use += "<div class=\"div-right-item\">" + envData[i].devName + "盘已使用:<span class=\"f-fs14 c-fwb\">" + envData[i].used + "G</span></div>";
            }
            html = "<div class=\"div-item\">" +total+"</div><div class=\"div-item\">"+use+"</div>";
            html = "<div class=\"div-item\">" + total + "</div><div class=\"div-item\">" + use + "</div>";
        }
        return html;
    }
    function getNetHtml(envData){
    function getNetHtml(envData) {
        var html = "<div class=\"div-item\">\n" +
                "                    <div>\n" +
                "                        <div class=\"d-item\">发送</div>" +
                "                    </div>" +
                "                    <div class=\"mb20\">\n" +
                "                        <div class=\"c-content\">"+envData.txbps+" kbps</div>" +
                "                        <div class=\"c-content\">" + envData.txbps + " kbps</div>" +
                "                    </div>\n" +
                "                    <div>\n" +
                "                        <div class=\"d-item\">接收</div>\n" +
                "                    </div>\n" +
                "                    <div class=\"mb20\">\n" +
                "                        <div class=\"c-content\">"+envData.rxbps+" kbps</div>\n" +
                "                        <div class=\"c-content\">" + envData.rxbps + " kbps</div>\n" +
                "                    </div>\n" +
                "                </div>\n" +
                "                <div class=\"div-item\">\n" +
                "                    <div class=\"div-right-item\">適配器名:<span class=\"f-fs14 c-fwb\">"+envData.name+"</span></div>\n" +
                "                    <div class=\"div-right-item\">连接类型:<span class=\"f-fs14 c-fwb\">"+envData.type+"</span></div>\n" +
                "                    <div class=\"div-right-item\">IP地址:<span class=\"f-fs14 c-fwb\">"+envData.address+"</span></div>\n" +
                "                    <div class=\"div-right-item\">Mac地址:<span class=\"f-fs14 c-fwb\">"+envData.mac+"</span></div>\n" +
                "                    <div class=\"div-right-item\">適配器名:<span class=\"f-fs14 c-fwb\">" + envData.name + "</span></div>\n" +
                "                    <div class=\"div-right-item\">连接类型:<span class=\"f-fs14 c-fwb\">" + envData.type + "</span></div>\n" +
                "                    <div class=\"div-right-item\">IP地址:<span class=\"f-fs14 c-fwb\">" + envData.address + "</span></div>\n" +
                "                    <div class=\"div-right-item\">Mac地址:<span class=\"f-fs14 c-fwb\">" + envData.mac + "</span></div>\n" +
                "                </div>";
        return html;
    }

+ 11 - 0
src/main/webapp/WEB-INF/ehr/jsp/qc/report.jsp

@ -0,0 +1,11 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="utf-8"%>
<%@include file="/WEB-INF/ehr/commons/jsp/commonInclude.jsp" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<div   style="width: 100%; height: 100%">
  <!--head -->
  <iframe src="http://192.168.1.221:8080/ehr/report/outInitial" style="width: 100%; height: 100%;border: none;">
  </iframe>
</div>

+ 5 - 0
src/main/webapp/WEB-INF/ehr/jsp/qc/reportJs.jsp

@ -0,0 +1,5 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="utf-8"%>
<%@include file="/WEB-INF/ehr/commons/jsp/commonInclude.jsp" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>

+ 11 - 0
src/main/webapp/WEB-INF/ehr/jsp/qc/storageReport.jsp

@ -0,0 +1,11 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="utf-8"%>
<%@include file="/WEB-INF/ehr/commons/jsp/commonInclude.jsp" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<div   style="width: 100%; height: 100%">
  <!--head -->
  <iframe src="http://192.168.1.221:8080/ehr/report/initialLs" style="width: 100%; height: 100%;border: none;">
  </iframe>
</div>

+ 5 - 0
src/main/webapp/WEB-INF/ehr/jsp/qc/storageReportJs.jsp

@ -0,0 +1,5 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="utf-8"%>
<%@include file="/WEB-INF/ehr/commons/jsp/commonInclude.jsp" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>

+ 1538 - 1538
src/main/webapp/WEB-INF/ehr/jsp/standard/adapterplan/configurationJs.jsp

@ -5,1656 +5,1656 @@
<script >
      /* ************************** 全局变量定义 **************************** */
      var status = $("#publish_status").val();
      var Util = $.Util;
      var retrieve = null;
      var master = null;
      var conditionArea = null;
      var entryRetrieve = null;
      var entryMaster = null;
      var cfgModel = 0;
      var changeFlag=false;
      var dataRows =0;
      var dataFlag = true;
      var cfg = [
        {
          left:{title:'数据集', cls:'', search:'/standardCenter/searchDatasetList', del:''},
          right:{title:'数据元', cls:'', search:'/adapterCenter/searchMetadataList', del:'',delLs:'/adapterCenter/delMetadata'}
  /* ************************** 全局变量定义 **************************** */
  var status = $("#publish_status").val();
  var Util = $.Util;
  var retrieve = null;
  var master = null;
  var conditionArea = null;
  var entryRetrieve = null;
  var entryMaster = null;
  var cfgModel = 0;
  var changeFlag=false;
  var dataRows =0;
  var dataFlag = true;
  var cfg = [
    {
      left:{title:'数据集', cls:'', search:'/standardCenter/searchDatasetList', del:''},
      right:{title:'数据元', cls:'', search:'/adapterCenter/searchMetadataList', del:'',delLs:'/adapterCenter/delMetadata'}
    },
    {
      left:{title:'字典', cls:'', search:'/standardCenter/searchDictList', del:''},
      right:{title:'字典项', cls:'', search:'/adapterCenter/searchDictEntryList', del:'',delLs:'/adapterCenter/delDictEntry'}
    }
  ];
  /* *************************** 函数定义 ******************************* */
  function pageInit() {
    if(status=="1"){//已发布
      $("#div_btn").hide();
    }else{//未发布
      $("#div_btn").show();
    }
    resizeContent();
    retrieve.init();
    conditionArea.init();
    entryRetrieve.init();
    master.init();
    //master.reloadGrid();
    entryMaster.init();
  }
  function reClass(){
    $(".l-grid-row-alt").each(function(){
      $(this).removeChild("l-grid-row-alt");
    })
  }
  function reloadGrid (url, params, columns) {
    if(columns)
      this.grid.set({
        columns:columns,
        url: url,
        parms: params
      });
    else
      this.grid.set({
        url: url,
        parms: params
      });
//        this.grid.reload();
  }
  function resizeContent(){
    var contentW = $('#grid_content').width();
    var leftW = $('#div_left').width();
    var div_wrapper = $("#div_wrapper").width();
    $('#div_right').width(contentW-leftW-20);
    $(".btn-group").css("margin-left",(div_wrapper-200)/2);
  }
  /* *************************** title模块初始化 ***************************** */
  conditionArea = {
    $element: $('#conditionArea'),
    $adapter_plan_name :$('#adapter_plan_name'),
    $adapter_plan_parent :$('#adapter_plan_parent'),
    $adapter_plan_type :$('#adapter_plan_type'),
    $adapter_plan_org :$('#adapter_plan_org'),
    $btn_switch_dataSet :$('#switch_dataSet'),
    $btn_switch_dict :$('#switch_dict'),
    init : function () {
      // this.initAdapterOrg();
      this.bindEvents();
      this.$element.show();
    },
    bindEvents : function () {
      this.$btn_switch_dataSet.click(function () {
        $("#btn_aoto_adpat").css("display","block");
        $("#btn_aoto_adpat_dic").css("display","none");
        if(cfgModel==0)
          return;
        cfgModel = 0;
        $("#btn_add_relation").hide();
        $("#isDataSet").val("1");//该input框为1时,代表此时显示字典
        retrieve.setTitle();
        entryRetrieve.setTitle();
        changeFlag=true;
        master.reloadGrid();
        $(".btn-default").removeClass("active");
        conditionArea.$btn_switch_dataSet.addClass("active");
        $("#searchNmEntry").attr("placeholder","请输入编码或名称")
      });
      this.$btn_switch_dict.click(function () {
        $("#btn_aoto_adpat").css("display","none");
        $("#btn_aoto_adpat_dic").css("display","block");
        if(cfgModel==1)
          return;
        cfgModel = 1;
//            $("#btn_add_relation").show();
        $("#isDataSet").val("0");//该input框为0时,代表此时显示数据集
        retrieve.setTitle();
        entryRetrieve.setTitle();
        changeFlag=true;
        master.reloadGrid();
        $(".btn-default").removeClass("active");
        conditionArea.$btn_switch_dict.addClass("active");
        $("#searchNmEntry").attr("placeholder","请输入编码或值");
      })
    }
  };
  /* *************************** left模块初始化 ***************************** */
  retrieve = {
    $element: $('#retrieve'),
    $searchNm: $('#searchNm'),
    $title :$('#left_title'),
    init: function () {
      this.$searchNm.ligerSearch({onClick: function (value) {
        master.reloadGrid();
      }});
      this.$element.show();
    },
    setTitle: function () {
      this.$title.html(cfg[cfgModel].left.title);
    }
  };
  master = {
    infoDialog: null,
    grid: null,
    stdIdStrLs:"",
    init: function () {
      var me = this;
      var stdVersion = $("#std_version").val();
      var adapterStdVersion = $("#adapter_std_version").val();
      var version = $("#version").val(); //adapter version
      var schemeId = $("#scheme_id").val();
      schemeId = schemeId.replace("scheme","");
      $("#version").val(version);
      $("#adapter_std_version").val(adapterStdVersion);
      $("#std_version").val(stdVersion);
      $("#scheme_id").val(schemeId);
      if(this.grid)
        return;
      var version = $("#version").val();
      var url = '${contextRoot}'+'/adapterCenter/searchDatasetList?adapterVersion=' + version;
      $.ajax({
        url: url,
        type:"post",
        dataType:"json",
        success:function (data) {
          if(data.successFlg) {
            for (var i=0; i<data.detailModelList.length;i++){
              var stdDatasetId = data.detailModelList[i].stdDatasetId;
              me.stdIdStrLs += stdDatasetId + ",";
            }
            me.initGrid(me.stdIdStrLs);
          }
        }
      });
      this.bindEvents();
    },
    initGrid: function (stdIdStrLs) {
      var me = this;
      this.grid = $("#div_left_grid").ligerGrid({
        url: '${contextRoot}'+cfg[cfgModel].left.search,
        parms:{stdVersion: $("#std_version").val(),condition: JSON.stringify({"name":"","stdId": stdIdStrLs})},
        columns: me.getColumn(),
        selectRowButtonOnly: true,
        allowHideColumn:false,
        validate : true,
        unSetValidateAttr:false,
        onBeforeShowData: function (data) {
          if(data.detailModelList.length==0){
            entryMaster.reloadGrid('');
          }
        },
        {
          left:{title:'字典', cls:'', search:'/standardCenter/searchDictList', del:''},
          right:{title:'字典项', cls:'', search:'/adapterCenter/searchDictEntryList', del:'',delLs:'/adapterCenter/delDictEntry'}
        onAfterShowData: function () {
          this.select(0);
        },
        onSelectRow: function(row){
          dataRows = 0;
          dataFlag = true;
          $("#std_dict_id").val(row.id);
          entryMaster.reloadGrid(row.id);
        }
      ];
      /* *************************** 函数定义 ******************************* */
      function pageInit() {
        if(status=="1"){//已发布
          $("#div_btn").hide();
        }else{//未发布
          $("#div_btn").show();
      });
    },
    bindEvents: function () {
      $("#searchNm").keyup(function (e) {
        if (e.keyCode == 13) {
          master.reloadGrid();
        }
        resizeContent();
        retrieve.init();
        conditionArea.init();
        entryRetrieve.init();
        master.init();
        //master.reloadGrid();
        entryMaster.init();
        
      }
      });
      function reClass(){
        $(".l-grid-row-alt").each(function(){
          $(this).removeChild("l-grid-row-alt");
        })
      }
    },
    reloadGrid: function () {
      function reloadGrid (url, params, columns) {
        if(columns)
          this.grid.set({
            columns:columns,
            url: url,
            parms: params
          });
        else
          this.grid.set({
            url: url,
            parms: params
          });
//        this.grid.reload();
      var me = this;
      var searchNm = $("#searchNm").val();
      var values = {
        stdVersion: $("#std_version").val(),
        condition: JSON.stringify({"name":searchNm,"stdId":me.stdIdStrLs})
      };
      if (changeFlag){
        var url = '${contextRoot}' + cfg[cfgModel].left.search;
        reloadGrid.call(this, url, values, this.getColumn());
      }else{
        me.grid.setOptions({parms: $.extend({},values),newPage: 1});
        //重新查询
        me.grid.loadData(true);
      }
      function resizeContent(){
        var contentW = $('#grid_content').width();
        var leftW = $('#div_left').width();
        var div_wrapper = $("#div_wrapper").width();
        $('#div_right').width(contentW-leftW-20);
        $(".btn-group").css("margin-left",(div_wrapper-200)/2);
    },
    getColumn: function () {
      var columnCfg =[];
      var stdId = 'id';
      var stdCode = 'code';
      var stdName = 'name';
      var codeDisplay = '目标标准数据集编码';
      var nameDisplay = '目标标准数据集名称';
      if(cfgModel==1){
        stdId = 'id';
        stdCode = 'code';
        stdName = 'name';
        codeDisplay = '目标标准字典编码';
        nameDisplay = '目标标准字典名称';
      }
      /* *************************** title模块初始化 ***************************** */
      conditionArea = {
        $element: $('#conditionArea'),
        $adapter_plan_name :$('#adapter_plan_name'),
        $adapter_plan_parent :$('#adapter_plan_parent'),
        $adapter_plan_type :$('#adapter_plan_type'),
        $adapter_plan_org :$('#adapter_plan_org'),
        $btn_switch_dataSet :$('#switch_dataSet'),
        $btn_switch_dict :$('#switch_dict'),
        init : function () {
         // this.initAdapterOrg();
          this.bindEvents();
          this.$element.show();
          
      columnCfg = [
        { display: 'id', name: 'id', hide:true },
        { display: stdId, name: stdId, hide:true },
        { display: codeDisplay, name: stdCode, width: '50%',isAllowHide: false ,align:'left' },
        { display: nameDisplay, name: stdName, width: '50%',isAllowHide: false ,align:'left' }
      ];
      return columnCfg;
    }
  };
  /* *************************** right模块初始化 ***************************** */
  entryRetrieve = {
    $element: $('#entryRetrieve'),
    $searchNm: $('#searchNmEntry'),
    $title: $('#right_title'),
    init: function () {
      this.$searchNm.ligerSearch({onClick: function (value) {
        entryMaster.reloadGrid();
      }});
      this.$element.show();
    },
    setTitle: function () {
      this.$title.html(cfg[cfgModel].right.title);
    }
  };
  entryMaster = {
    entryInfoDialog: null,
    grid: null,
    init: function (dictId) {
      if(this.grid)
        return;
      this.grid = $("#div_relation_grid").ligerGrid({
        url: '${contextRoot}'+cfg[cfgModel].right.search,
        columns: this.getColumn(),
        delayLoad:true,
        selectRowButtonOnly: true,
        allowHideColumn:false,
        validate : true,
        unSetValidateAttr:false,
        checkbox:false,
        onDblClickRow : function (row){
          //$.publish('grid:right:open',[row.id, 'modify']);
        },
        bindEvents : function () {
          this.$btn_switch_dataSet.click(function () {
            $("#btn_aoto_adpat").css("display","block");
            $("#btn_aoto_adpat_dic").css("display","none");
            if(cfgModel==0)
              return;
            cfgModel = 0;
            $("#btn_add_relation").hide();
            $("#isDataSet").val("1");//该input框为1时,代表此时显示字典
            retrieve.setTitle();
            entryRetrieve.setTitle();
            changeFlag=true;
            master.reloadGrid();
            $(".btn-default").removeClass("active");
            conditionArea.$btn_switch_dataSet.addClass("active");
            $("#searchNmEntry").attr("placeholder","请输入编码或名称")
          });
          this.$btn_switch_dict.click(function () {
            $("#btn_aoto_adpat").css("display","none");
            $("#btn_aoto_adpat_dic").css("display","block");
            if(cfgModel==1)
              return;
            cfgModel = 1;
//            $("#btn_add_relation").show();
            $("#isDataSet").val("0");//该input框为0时,代表此时显示数据集
            retrieve.setTitle();
            entryRetrieve.setTitle();
            changeFlag=true;
            master.reloadGrid();
            $(".btn-default").removeClass("active");
            conditionArea.$btn_switch_dict.addClass("active");
            $("#searchNmEntry").attr("placeholder","请输入编码或值");
          })
        }
      };
      /* *************************** left模块初始化 ***************************** */
      retrieve = {
        $element: $('#retrieve'),
        $searchNm: $('#searchNm'),
        $title :$('#left_title'),
        init: function () {
          this.$searchNm.ligerSearch({onClick: function (value) {
            master.reloadGrid();
          }});
          this.$element.show();
        rowClsRender:function (rowdata,rowid){
          if(rowdata.adapterInfo=="0"){//疑似适配
            return "unadapt";
          }
          if(rowdata.adapterInfo=="1"){//疑似适配
            return "ysadapt";
          }
          if(rowdata.adapterInfo=="2"){//完全适配
            return "alladapt";
          }
        },
        setTitle: function () {
          this.$title.html(cfg[cfgModel].left.title);
        }
      };
      master = {
        infoDialog: null,
        grid: null,
        stdIdStrLs:"",
        init: function () {
          var me = this;
          var stdVersion = $("#std_version").val();
          var adapterStdVersion = $("#adapter_std_version").val();
          var version = $("#version").val(); //adapter version
          var schemeId = $("#scheme_id").val();
          schemeId = schemeId.replace("scheme","");
          $("#version").val(version);
          $("#adapter_std_version").val(adapterStdVersion);
          $("#std_version").val(stdVersion);
          $("#scheme_id").val(schemeId);
          if(this.grid)
            return;
          var version = $("#version").val();
          var url = '${contextRoot}'+'/adapterCenter/searchDatasetList?adapterVersion=' + version;
          $.ajax({
            url: url,
            type:"post",
            dataType:"json",
            success:function (data) {
              if(data.successFlg) {
                for (var i=0; i<data.detailModelList.length;i++){
                  var stdDatasetId = data.detailModelList[i].stdDatasetId;
                  me.stdIdStrLs += stdDatasetId + ",";
                }
                
                me.initGrid(me.stdIdStrLs);
              }
        _getHtmlFromData: function (data, frozen)
        {
          if (!data) return "";
          var g = this, p = this.options;
          var gridhtmlarr = [];
          for (var i = 0, l = data.length; i < l; i++)
          {
            var item = data[i];
            var rowid = item['__id'];
            if (!item) continue;
            gridhtmlarr.push('<tr');
            gridhtmlarr.push(' id="' + g._getRowDomId(item, frozen) + '"');
            gridhtmlarr.push(' class="l-grid-row'); //class start
            if (!frozen && g.enabledCheckbox() && p.isChecked && p.isChecked(item))
            {
              g.select(item);
              gridhtmlarr.push(' l-selected');
            }
          });
          this.bindEvents();
        },
        initGrid: function (stdIdStrLs) {
          
          var me = this;
          this.grid = $("#div_left_grid").ligerGrid({
            url: '${contextRoot}'+cfg[cfgModel].left.search,
            parms:{stdVersion: $("#std_version").val(),condition: JSON.stringify({"name":"","stdId": stdIdStrLs})},
            columns: me.getColumn(),
            selectRowButtonOnly: true,
            allowHideColumn:false,
            validate : true,
            unSetValidateAttr:false,
            onBeforeShowData: function (data) {
              
              if(data.detailModelList.length==0){
                entryMaster.reloadGrid('');
              }
            },
            onAfterShowData: function () {
              this.select(0);
            },
            onSelectRow: function(row){
              dataRows = 0;
              dataFlag = true;
              $("#std_dict_id").val(row.id);
              entryMaster.reloadGrid(row.id);
            else if (g.isSelected(item))
            {
              gridhtmlarr.push(' l-selected');
            }
          });
        },
        bindEvents: function () {
          $("#searchNm").keyup(function (e) {
            if (e.keyCode == 13) {
              master.reloadGrid();
            else if (p.isSelected && p.isSelected(item))
            {
              g.select(item);
              gridhtmlarr.push(' l-selected');
            }
          });
        },
        reloadGrid: function () {
          
          var me = this;
          var searchNm = $("#searchNm").val();
          var values = {
            stdVersion: $("#std_version").val(),
            condition: JSON.stringify({"name":searchNm,"stdId":me.stdIdStrLs})
          };
          if (changeFlag){
            var url = '${contextRoot}' + cfg[cfgModel].left.search;
            reloadGrid.call(this, url, values, this.getColumn());
          }else{
            me.grid.setOptions({parms: $.extend({},values),newPage: 1});
            //重新查询
            me.grid.loadData(true);
          }
        },
        getColumn: function () {
          var columnCfg =[];
          var stdId = 'id';
          var stdCode = 'code';
          var stdName = 'name';
          var codeDisplay = '平台标准数据集编码';
          var nameDisplay = '平台标准数据集名称';
          if(cfgModel==1){
            stdId = 'id';
            stdCode = 'code';
            stdName = 'name';
            codeDisplay = '平台标准字典编码';
            nameDisplay = '平台标准字典名称';
          }
          columnCfg = [
            { display: 'id', name: 'id', hide:true },
            { display: stdId, name: stdId, hide:true },
            { display: codeDisplay, name: stdCode, width: '50%',isAllowHide: false ,align:'left' },
            { display: nameDisplay, name: stdName, width: '50%',isAllowHide: false ,align:'left' }
          ];
          return columnCfg;
        }
      };
      /* *************************** right模块初始化 ***************************** */
      entryRetrieve = {
        $element: $('#entryRetrieve'),
        $searchNm: $('#searchNmEntry'),
        $title: $('#right_title'),
        init: function () {
          this.$searchNm.ligerSearch({onClick: function (value) {
            entryMaster.reloadGrid();
          }});
          this.$element.show();
        },
        setTitle: function () {
          this.$title.html(cfg[cfgModel].right.title);
        }
      };
      entryMaster = {
        entryInfoDialog: null,
        grid: null,
        init: function (dictId) {
          if(this.grid)
            return;
          this.grid = $("#div_relation_grid").ligerGrid({
            url: '${contextRoot}'+cfg[cfgModel].right.search,
            columns: this.getColumn(),
            delayLoad:true,
            selectRowButtonOnly: true,
            allowHideColumn:false,
            validate : true,
            unSetValidateAttr:false,
            checkbox:false,
            onDblClickRow : function (row){
              //$.publish('grid:right:open',[row.id, 'modify']);
            },
            rowClsRender:function (rowdata,rowid){
              if(rowdata.adapterInfo=="0"){//疑似适配
                return "unadapt";
              }
              if(rowdata.adapterInfo=="1"){//疑似适配
                return "ysadapt";
              }
              if(rowdata.adapterInfo=="2"){//完全适配
                return "alladapt";
              }
            },
            _getHtmlFromData: function (data, frozen)
            if (p.rowClsRender)
            {
              var rowcls = p.rowClsRender(item, rowid);
              rowcls && gridhtmlarr.push(' ' + rowcls);
            }
            gridhtmlarr.push('" ');  //class end
            if (p.rowAttrRender) gridhtmlarr.push(p.rowAttrRender(item, rowid));
            if (p.tree && g.collapsedRows && g.collapsedRows.length)
            {
              if (!data) return "";
              var g = this, p = this.options;
              var gridhtmlarr = [];
              for (var i = 0, l = data.length; i < l; i++)
              var isHide = function ()
              {
                var item = data[i];
                var rowid = item['__id'];
                if (!item) continue;
                gridhtmlarr.push('<tr');
                gridhtmlarr.push(' id="' + g._getRowDomId(item, frozen) + '"');
                gridhtmlarr.push(' class="l-grid-row'); //class start
                if (!frozen && g.enabledCheckbox() && p.isChecked && p.isChecked(item))
                var pitem = g.getParent(item);
                while (pitem)
                {
                  g.select(item);
                  gridhtmlarr.push(' l-selected');
                }
                else if (g.isSelected(item))
                {
                  gridhtmlarr.push(' l-selected');
                }
                else if (p.isSelected && p.isSelected(item))
                {
                  g.select(item);
                  gridhtmlarr.push(' l-selected');
                }
                if (p.rowClsRender)
                {
                  var rowcls = p.rowClsRender(item, rowid);
                  rowcls && gridhtmlarr.push(' ' + rowcls);
                }
                gridhtmlarr.push('" ');  //class end
                if (p.rowAttrRender) gridhtmlarr.push(p.rowAttrRender(item, rowid));
                if (p.tree && g.collapsedRows && g.collapsedRows.length)
                {
                  var isHide = function ()
                  {
                    var pitem = g.getParent(item);
                    while (pitem)
                    {
                      if ($.inArray(pitem, g.collapsedRows) != -1) return true;
                      pitem = g.getParent(pitem);
                    }
                    return false;
                  };
                  if (isHide()) gridhtmlarr.push(' style="display:none;" ');
                  if ($.inArray(pitem, g.collapsedRows) != -1) return true;
                  pitem = g.getParent(pitem);
                }
                return false;
              };
              if (isHide()) gridhtmlarr.push(' style="display:none;" ');
            }
            gridhtmlarr.push('>');
            $(g.columns).each(function (columnindex, column)
            {
              if (frozen != column.frozen) return;
              gridhtmlarr.push('<td');
              gridhtmlarr.push(' id="' + g._getCellDomId(item, this) + '"');
              //如果是行序号(系统列)
              if (this.isrownumber)
              {
                gridhtmlarr.push(' class="l-grid-row-cell l-grid-row-cell-rownumbers" style="width:' + this.width + 'px"><div class="l-grid-row-cell-inner"');
                if (p.fixedCellHeight)
                  gridhtmlarr.push(' style = "height:' + p.rowHeight + 'px;" ');
                else
                  gridhtmlarr.push(' style = "min-height:' + p.rowHeight + 'px;" ');
                gridhtmlarr.push('>' + (parseInt(item['__index']) + 1) + '</div></td>');
                return;
              }
              //如果是复选框(系统列)
              if (this.ischeckbox)
              {
                gridhtmlarr.push(' class="l-grid-row-cell l-grid-row-cell-checkbox" style="width:' + this.width + 'px"><div class="l-grid-row-cell-inner"');
                if (p.fixedCellHeight)
                  gridhtmlarr.push(' style = "height:' + p.rowHeight + 'px;" ');
                else
                  gridhtmlarr.push(' style = "min-height:' + p.rowHeight + 'px;" ');
                gridhtmlarr.push('>');
                $(g.columns).each(function (columnindex, column)
                gridhtmlarr.push('<span class="l-grid-row-cell-btn-checkbox"></span>');
                gridhtmlarr.push('</div></td>');
                return;
              }
              //如果是明细列(系统列)
              else if (this.isdetail)
              {
                gridhtmlarr.push(' class="l-grid-row-cell l-grid-row-cell-detail" style="width:' + this.width + 'px"><div class="l-grid-row-cell-inner"');
                if (p.fixedCellHeight)
                  gridhtmlarr.push(' style = "height:' + p.rowHeight + 'px;" ');
                else
                  gridhtmlarr.push(' style = "min-height:' + p.rowHeight + 'px;" ');
                gridhtmlarr.push('>');
                if (!p.isShowDetailToggle || p.isShowDetailToggle(item))
                {
                  if (frozen != column.frozen) return;
                  gridhtmlarr.push('<td');
                  gridhtmlarr.push(' id="' + g._getCellDomId(item, this) + '"');
                  //如果是行序号(系统列)
                  if (this.isrownumber)
                  {
                    gridhtmlarr.push(' class="l-grid-row-cell l-grid-row-cell-rownumbers" style="width:' + this.width + 'px"><div class="l-grid-row-cell-inner"');
                    if (p.fixedCellHeight)
                      gridhtmlarr.push(' style = "height:' + p.rowHeight + 'px;" ');
                    else
                      gridhtmlarr.push(' style = "min-height:' + p.rowHeight + 'px;" ');
                    gridhtmlarr.push('>' + (parseInt(item['__index']) + 1) + '</div></td>');
                    return;
                  }
                  //如果是复选框(系统列)
                  if (this.ischeckbox)
                  {
                    gridhtmlarr.push(' class="l-grid-row-cell l-grid-row-cell-checkbox" style="width:' + this.width + 'px"><div class="l-grid-row-cell-inner"');
                    if (p.fixedCellHeight)
                      gridhtmlarr.push(' style = "height:' + p.rowHeight + 'px;" ');
                    else
                      gridhtmlarr.push(' style = "min-height:' + p.rowHeight + 'px;" ');
                    gridhtmlarr.push('>');
                    gridhtmlarr.push('<span class="l-grid-row-cell-btn-checkbox"></span>');
                    gridhtmlarr.push('</div></td>');
                    return;
                  }
                  //如果是明细列(系统列)
                  else if (this.isdetail)
                  {
                    gridhtmlarr.push(' class="l-grid-row-cell l-grid-row-cell-detail" style="width:' + this.width + 'px"><div class="l-grid-row-cell-inner"');
                    if (p.fixedCellHeight)
                      gridhtmlarr.push(' style = "height:' + p.rowHeight + 'px;" ');
                    else
                      gridhtmlarr.push(' style = "min-height:' + p.rowHeight + 'px;" ');
                    gridhtmlarr.push('>');
                    if (!p.isShowDetailToggle || p.isShowDetailToggle(item))
                    {
                      gridhtmlarr.push('<span class="l-grid-row-cell-detailbtn"></span>');
                    }
                    gridhtmlarr.push('</div></td>');
                    return;
                  }
                  var colwidth = this._width;
                  gridhtmlarr.push(' class="l-grid-row-cell ');
                  if (g.changedCells[rowid + "_" + this['__id']]) gridhtmlarr.push("l-grid-row-cell-edited ");
                  if (this.islast)
                    gridhtmlarr.push('l-grid-row-cell-last ');
                  gridhtmlarr.push('"');
                  //if (this.columnname) gridhtmlarr.push('columnname="' + this.columnname + '"');
                  gridhtmlarr.push(' style = "');
                  gridhtmlarr.push('width:' + colwidth + 'px; ');
                  if (column._hide)
                  {
                    gridhtmlarr.push('display:none;');
                  }
                  gridhtmlarr.push(' ">');
                  gridhtmlarr.push(g._getCellHtml(item, column));
                  gridhtmlarr.push('</td>');
                  gridhtmlarr.push('<span class="l-grid-row-cell-detailbtn"></span>');
                }
                gridhtmlarr.push('</div></td>');
                return;
              }
              var colwidth = this._width;
              gridhtmlarr.push(' class="l-grid-row-cell ');
              if (g.changedCells[rowid + "_" + this['__id']]) gridhtmlarr.push("l-grid-row-cell-edited ");
              if (this.islast)
                gridhtmlarr.push('l-grid-row-cell-last ');
              gridhtmlarr.push('"');
              //if (this.columnname) gridhtmlarr.push('columnname="' + this.columnname + '"');
              gridhtmlarr.push(' style = "');
              gridhtmlarr.push('width:' + colwidth + 'px; ');
              if (column._hide)
              {
                gridhtmlarr.push('display:none;');
              }
              gridhtmlarr.push(' ">');
              gridhtmlarr.push(g._getCellHtml(item, column));
              gridhtmlarr.push('</td>');
            });
            gridhtmlarr.push('</tr>');
          }
          return gridhtmlarr.join('');
        },
        onAfterShowData: function () {//显示完数据事件
          //【应用数据元编码】初始化注册select2(下拉框带查询)事件
          $(".sel-adapter-metadata-code").each(function(){
            comAdapterMetaData($(this),"init","adapterMetadataCode","adapterMetadataName");
          });
          //【应用数据元名称】初始化注册select2(下拉框带查询)事件
          $(".sel-adapter-metadata-name").each(function(){
            comAdapterMetaData($(this),"init","adapterMetadataName","adapterMetadataCode");
          });
          //【源数据集编码】初始化注册select2(下拉框带查询)事件
          $(".sel-adapter-dataset-code").each(function(){
            comAdapterDataset($(this),"init","adapterDatasetCode","adapterDatasetName");
          });
          //【源数据集名称】初始化注册select2(下拉框带查询)事件
          $(".sel-adapter-dataset-name").each(function(){
            comAdapterDataset($(this),"init","adapterDatasetName","adapterDatasetCode");
          });
          //【目标字典项编码】初始化注册select2(下拉框带查询)事件
          $(".sel-std-dictEntry-code").each(function(){
            comStdDictEntry($(this),"init","stdEntryCode","stdEntryValue");
          });
          //【目标字典项名称】初始化注册select2(下拉框带查询)事件
          $(".sel-std-dictEntry-value").each(function(){
            comStdDictEntry($(this),"init","stdEntryValue","stdEntryCode");
          });
          //【应用字典编码】初始化注册select2(下拉框带查询)事件
          $(".sel-adapter-dict-code").each(function(){
            comAdapterDict($(this),"init","adapterDictCode","adapterDictName");
          });
          //【应用字典名称】初始化注册select2(下拉框带查询)事件
          $(".sel-adapter-dict-name").each(function(){
            comAdapterDict($(this),"init","adapterDictName","adapterDictCode");
          });
          //【应用字典项编码】初始化注册select2(下拉框带查询)事件
          $(".sel-adapter-dictEntry-code").each(function(){
            comAdapterDictEntry($(this),"init","adapterEntryCode","adapterEntryValue");
          });
          //【应用字典名称】初始化注册select2(下拉框带查询)事件
          $(".sel-adapter-dictEntry-value").each(function(){
            comAdapterDictEntry($(this),"init","adapterEntryValue","adapterEntryCode");
          });
          //【源数据集编码】change事件
          $(".sel-adapter-dataset-code").on("change", function(event,msg) {
            var index = $(this).attr("id").replace("adapterDatasetCode","");
            var select2 =  comAdapterDataset($(this),"change","adapterDatasetCode","adapterDatasetName");
            comAdapterMetaData($("#adapterMetadataCode"+index),"change","adapterMetadataCode","adapterMetadataName");
            var datasetCodeOption = $(this).find("option");
            var datasetNameOption = $("#adapterDatasetName"+index).find("option");
            if(dataRows == entryMaster.grid.getData().length){
              if(dataFlag){
                $(".sel-adapter-dataset-code").each(function(){
                  var index = $(this).attr("id").replace("adapterDatasetCode","");
                  $(this).append(datasetCodeOption);
                  $("#adapterDatasetName"+index).append(datasetNameOption);
                  comAdapterDataset($(this),"change","adapterDatasetCode","adapterDatasetName");
                  comAdapterDataset($("#adapterDatasetName"+index),"change","adapterDatasetName","adapterDatasetCode");
                  comAdapterMetaData($("#adapterMetadataCode"+index),"change","adapterMetadataCode","adapterMetadataName");
                  comAdapterMetaData($("#adapterMetadataName"+index),"change","adapterMetadataName","adapterMetadataCode");
                });
                gridhtmlarr.push('</tr>');
                dataFlag = false;
              }
              return gridhtmlarr.join('');
            },
            onAfterShowData: function () {//显示完数据事件
              //【应用数据元编码】初始化注册select2(下拉框带查询)事件
              $(".sel-adapter-metadata-code").each(function(){
                comAdapterMetaData($(this),"init","adapterMetadataCode","adapterMetadataName");
              });
              //【应用数据元名称】初始化注册select2(下拉框带查询)事件
              $(".sel-adapter-metadata-name").each(function(){
                comAdapterMetaData($(this),"init","adapterMetadataName","adapterMetadataCode");
              });
              //【应用数据集编码】初始化注册select2(下拉框带查询)事件
              $(".sel-adapter-dataset-code").each(function(){
                comAdapterDataset($(this),"init","adapterDatasetCode","adapterDatasetName");
              });
              //【应用数据集名称】初始化注册select2(下拉框带查询)事件
              $(".sel-adapter-dataset-name").each(function(){
                comAdapterDataset($(this),"init","adapterDatasetName","adapterDatasetCode");
              });
              //【平台字典项编码】初始化注册select2(下拉框带查询)事件
              $(".sel-std-dictEntry-code").each(function(){
                comStdDictEntry($(this),"init","stdEntryCode","stdEntryValue");
              });
              //【平台字典项名称】初始化注册select2(下拉框带查询)事件
              $(".sel-std-dictEntry-value").each(function(){
                comStdDictEntry($(this),"init","stdEntryValue","stdEntryCode");
              });
              //【应用字典编码】初始化注册select2(下拉框带查询)事件
              $(".sel-adapter-dict-code").each(function(){
                comAdapterDict($(this),"init","adapterDictCode","adapterDictName");
              });
              //【应用字典名称】初始化注册select2(下拉框带查询)事件
              $(".sel-adapter-dict-name").each(function(){
                comAdapterDict($(this),"init","adapterDictName","adapterDictCode");
              });
              //【应用字典项编码】初始化注册select2(下拉框带查询)事件
              $(".sel-adapter-dictEntry-code").each(function(){
                comAdapterDictEntry($(this),"init","adapterEntryCode","adapterEntryValue");
              });
              //【应用字典名称】初始化注册select2(下拉框带查询)事件
              $(".sel-adapter-dictEntry-value").each(function(){
                comAdapterDictEntry($(this),"init","adapterEntryValue","adapterEntryCode");
              });
              //【应用数据集编码】change事件
              $(".sel-adapter-dataset-code").on("change", function(event,msg) {
                var index = $(this).attr("id").replace("adapterDatasetCode","");
                var select2 =  comAdapterDataset($(this),"change","adapterDatasetCode","adapterDatasetName");
                comAdapterMetaData($("#adapterMetadataCode"+index),"change","adapterMetadataCode","adapterMetadataName");
                var datasetCodeOption = $(this).find("option");
                var datasetNameOption = $("#adapterDatasetName"+index).find("option");
           
                if(dataRows == entryMaster.grid.getData().length){
                  if(dataFlag){
                    $(".sel-adapter-dataset-code").each(function(){
                      var index = $(this).attr("id").replace("adapterDatasetCode","");
                      $(this).append(datasetCodeOption);
                      $("#adapterDatasetName"+index).append(datasetNameOption);
                      comAdapterDataset($(this),"change","adapterDatasetCode","adapterDatasetName");
                      comAdapterDataset($("#adapterDatasetName"+index),"change","adapterDatasetName","adapterDatasetCode");
                      comAdapterMetaData($("#adapterMetadataCode"+index),"change","adapterMetadataCode","adapterMetadataName");
                      comAdapterMetaData($("#adapterMetadataName"+index),"change","adapterMetadataName","adapterMetadataCode");
                    });
                    dataFlag = false;
                  }
                }
                if(msg!="adapterDatasetCode"){//当【应用数据集编码】联动时,【应用数据集名称】不触发联动
                  $("#adapterDatasetName"+index).trigger("change",["adapterDatasetName"]);
                }
            }
            if(msg!="adapterDatasetCode"){//当【源数据集编码】联动时,【源数据集名称】不触发联动
              $("#adapterDatasetName"+index).trigger("change",["adapterDatasetName"]);
            }
                select2.select2("open");
                select2.select2("close");
              });
              //【应用数据集名称】change事件
              $(".sel-adapter-dataset-name").on("change", function(event,msg) {
                
                var index = $(this).attr("id").replace("adapterDatasetName","");
                var select2 =  comAdapterDataset($(this),"change","adapterDatasetName","adapterDatasetCode");
                comAdapterMetaData($("#adapterMetadataCode"+index),"change","adapterMetadataCode","adapterMetadataName");
                comAdapterMetaData($("#adapterMetadataName"+index),"change","adapterMetadataName","adapterMetadataCode");
                if(msg!="adapterDatasetName"){//当【应用数据集名称】联动时,【应用数据集编码】不触发联动
                  $("#adapterDatasetCode"+index).trigger("change","adapterDatasetCode");
                }
                select2.select2("open");
                select2.select2("close");
              });
              //【应用数据元编码】change事件
              $(".sel-adapter-metadata-code").on("change", function(event,msg) {
                var index = $(this).attr("id").replace("adapterMetadataCode","");
                var select2 = comAdapterMetaData($(this),"change","adapterMetadataCode","adapterMetadataName");
                if(msg!="adapterMetadataCode"){//当【应用数据元编码】联动时,【应用数据元名称】不触发联动
                  $("#adapterMetadataName"+index).trigger("change",["adapterMetadataName"]);
                }
                select2.select2("open");
                select2.select2("close");
              });
              //【应用数据元名称】change事件
              $(".sel-adapter-metadata-name").on("change", function(event,msg) {
                var index = $(this).attr("id").replace("adapterMetadataName","");
                var select2 = comAdapterMetaData($(this),"change","adapterMetadataName","adapterMetadataCode");
                if(msg!="adapterMetadataName"){//当【应用数据元名称】联动时,【应用数据元编码】不触发联动
                  $("#adapterMetadataCode"+index).trigger("change","adapterMetadataCode");
                }
                select2.select2("open");
                select2.select2("close");
                var selectValue = $("#adapterMetadataName"+index).val();
                if(selectValue!=null&&selectValue!=''&&selectValue!=undefined){
                  $("#adapterInfo"+index).html("<option value='1' >疑似适配</option><option value='2' >完全适配</option>")
                }else{
                  $("#adapterInfo"+index).html("<option value='0' >未适配</option>");
                }
              });
              //---------------------------------------------------------------------
              //【平台字典项编码】change事件
              $(".sel-std-dictEntry-code").on("change", function(event,msg) {
                var index = $(this).attr("id").replace("stdEntryCode","");//取出当前机构适配值的索引
                var select2 =  comStdDictEntry($(this),"change","stdEntryCode","stdEntryValue");
                if(msg!="stdEntryCode"){//当机构适配值联动时,机构适配名称不触发联动
                  $("#stdEntryValue"+index).trigger("change",["stdEntryValue"]);
                }
                select2.select2("open");
                select2.select2("close");
              });
              //【平台字典项名称】change事件
              $(".sel-std-dictEntry-value").on("change", function(event,msg) {
                var index = $(this).attr("id").replace("stdEntryValue","");//取出当前机构适配名称的索引
                var select2 =  comStdDictEntry($(this),"change","stdEntryValue","stdEntryCode");
                if(msg!="stdEntryValue"){//当机构适配名称联动时,机构适配值不触发联动
                  $("#stdEntryCode"+index).trigger("change","stdEntryCode");
                }
                select2.select2("open");
                select2.select2("close");
              });
              //【应用字典编码】change事件
              $(".sel-adapter-dict-code").on("change", function(event,msg) {
                var index = $(this).attr("id").replace("adapterDictCode","");//取出当前机构适配值的索引
                var select2 =  comAdapterDict($(this),"change","adapterDictCode","adapterDictName");
                comAdapterDictEntry($("#adapterEntryCode"+index),"change","adapterEntryCode","adapterEntryValue");
                var dictCodeOption = $(this).find("option");
                var dictEntryOption = $("#adapterDictName"+index).find("option");
                if(dataRows == entryMaster.grid.getData().length){
                  if(dataFlag){
                    $(".sel-adapter-dict-code").each(function(){
                      var index = $(this).attr("id").replace("adapterDictCode","");
                      $(this).append(dictCodeOption);
                      $("#adapterDictName"+index).append(dictEntryOption);
                      comAdapterDict($(this),"change","adapterDictCode","adapterDictName");
                      comAdapterDict($("#adapterDictName"+index),"change","adapterDictName","adapterDictCode");
                      comAdapterDictEntry($("#adapterEntryCode"+index),"change","adapterEntryCode","adapterEntryValue");
                      comAdapterDictEntry($("#adapterEntryValue"+index),"change","adapterEntryValue","adapterEntryCode");
                    });
                    dataFlag = false;
                  }
                }
                if(msg!="adapterDictCode"){//当机构适配值联动时,机构适配名称不触发联动
                  $("#adapterDictName"+index).trigger("change",["adapterDictName"]);
                }
                select2.select2("open");
                select2.select2("close");
              });
              //【应用字典名称】change事件
              $(".sel-adapter-dict-name").on("change", function(event,msg) {
                var index = $(this).attr("id").replace("adapterDictName","");//取出当前机构适配名称的索引
                var select2 =  comAdapterDict($(this),"change","adapterDictName","adapterDictCode");
                comAdapterDictEntry($("#adapterEntryCode"+index),"change","adapterEntryCode","adapterEntryValue");
                comAdapterDictEntry($("#adapterEntryValue"+index),"change","adapterEntryValue","adapterEntryCode");
                if(msg!="adapterDictName"){//当机构适配名称联动时,机构适配值不触发联动
                  $("#adapterDictCode"+index).trigger("change","adapterDictCode");
                }
                select2.select2("open");
                select2.select2("close");
              });
              //【应用字典项编码】change事件
              $(".sel-adapter-dictEntry-code").on("change", function(event,msg) {
                var index = $(this).attr("id").replace("adapterEntryCode","");//取出当前机构适配值的索引
                var select2 =  comAdapterDictEntry($(this),"change","adapterEntryCode","adapterEntryValue");
                if(msg!="adapterEntryCode"){//当机构适配值联动时,机构适配名称不触发联动
                  $("#adapterEntryValue"+index).trigger("change",["adapterEntryValue"]);
                }
                select2.select2("open");
                select2.select2("close");
              });
              //【应用字典项名称】change事件
              $(".sel-adapter-dictEntry-value").on("change", function(event,msg) {
                var index = $(this).attr("id").replace("adapterEntryValue","");//取出当前机构适配名称的索引
                var select2 =  comAdapterDictEntry($(this),"change","adapterEntryValue","adapterEntryCode");
                if(msg!="adapterEntryValue"){//当机构适配名称联动时,机构适配值不触发联动
                  $("#adapterEntryCode"+index).trigger("change","adapterEntryCode");
                }
                select2.select2("open");
                select2.select2("close");
                debugger
                var selectValue = select2.val();
                if(selectValue!=null&&selectValue!=''&&selectValue!=undefined){
                  $("#adapterInfo"+index).html("<option value='1' >疑似适配</option><option value='2' >完全适配</option>")
                }else{
                  $("#adapterInfo"+index).html("<option value='0' >未适配</option>");
                }
              });
            select2.select2("open");
            select2.select2("close");
          });
          //【源数据集名称】change事件
          $(".sel-adapter-dataset-name").on("change", function(event,msg) {
            var index = $(this).attr("id").replace("adapterDatasetName","");
            var select2 =  comAdapterDataset($(this),"change","adapterDatasetName","adapterDatasetCode");
            comAdapterMetaData($("#adapterMetadataCode"+index),"change","adapterMetadataCode","adapterMetadataName");
            comAdapterMetaData($("#adapterMetadataName"+index),"change","adapterMetadataName","adapterMetadataCode");
            if(msg!="adapterDatasetName"){//当【源数据集名称】联动时,【源数据集编码】不触发联动
              $("#adapterDatasetCode"+index).trigger("change","adapterDatasetCode");
            }
            select2.select2("open");
            select2.select2("close");
          });
          this.bindEvents();
        },
        reloadGrid: function (parentId) {
          
          var searchNmEntry = $("#searchNmEntry").val();
          if(Util.isStrEmpty(parentId)){
            var row = master.grid.getSelectedRow();
            if(row != null){
              parentId = row.id;
          //【源数据元编码】change事件
          $(".sel-adapter-metadata-code").on("change", function(event,msg) {
            var index = $(this).attr("id").replace("adapterMetadataCode","");
            var select2 = comAdapterMetaData($(this),"change","adapterMetadataCode","adapterMetadataName");
            if(msg!="adapterMetadataCode"){//当【源数据元编码】联动时,【源数据元名称】不触发联动
              $("#adapterMetadataName"+index).trigger("change",["adapterMetadataName"]);
            }
          }
          var values = {
            adapterVersion:$("#version").val(),
            condition: JSON.stringify({"name":searchNmEntry,"stdDatasetId":parentId,"stdDictId":parentId})
          };
          if (changeFlag){
            reloadGrid.call(this, '${contextRoot}'+cfg[cfgModel].right.search, values, this.getColumn());
          }else{
            this.grid.setOptions({parms: $.extend({},values),newPage: 1});
            //重新查询
            this.grid.loadData(true);
          }
          changeFlag=false;
        },
        add:function(){
          if(master.grid.getData().length==0){
            $.ligerDialog.error("没有平台字典,不能新增字典项!");
            return  false;
          }
          var dataRow = {
            stdDictId:$("#std_dict_id").val(),
            schemeId:$("#scheme_id").val(),
            adapterDictId:'',
            stdEntryId:'',
            adapterEntryId:'',
            adapterDictCode:'',
            adapterDictName:'',
            stdEntryCode:'',
            stdEntryValue:'',
            adapterEntryCode:'',
            adapterEntryValue:''
          };
          //参数1:rowdata(非必填)
          //参数2:插入的位置 Row Data
          var rowData = entryMaster.grid.getData();
          for (var i = 0; i < rowData.length; i++) {
            entryMaster.grid.rows[i].schemeId = $("#scheme_id").val();
            entryMaster.grid.rows[i].stdDictId = $("#std_dict_id").val();
            var stdEntryCodeArr = $("#stdEntryCode"+i).val()==undefined ? "":$("#stdEntryCode"+i).val().split(",");
            if(stdEntryCodeArr.length>0){
              entryMaster.grid.rows[i].stdEntryId = stdEntryCodeArr[0];
              entryMaster.grid.rows[i].stdEntryValue = stdEntryCodeArr[1];
            }else{
              entryMaster.grid.rows[i].stdEntryId = "";
              entryMaster.grid.rows[i].stdEntryValue = "";
            select2.select2("open");
            select2.select2("close");
          });
          //【源数据元名称】change事件
          $(".sel-adapter-metadata-name").on("change", function(event,msg) {
            var index = $(this).attr("id").replace("adapterMetadataName","");
            var select2 = comAdapterMetaData($(this),"change","adapterMetadataName","adapterMetadataCode");
            if(msg!="adapterMetadataName"){//当【源数据元名称】联动时,【源数据元编码】不触发联动
              $("#adapterMetadataCode"+index).trigger("change","adapterMetadataCode");
            }
            entryMaster.grid.rows[i].stdEntryCode = $("#stdEntryCode"+i).text() == undefined ? "" : $("#stdEntryCode"+i).text();
            var adapterDictCodeArr = $("#adapterDictCode"+i).val()==undefined ? "":$("#adapterDictCode"+i).val().split(",");
            if(adapterDictCodeArr.length>0){
              entryMaster.grid.rows[i].adapterDictId = adapterDictCodeArr[0];
              entryMaster.grid.rows[i].adapterDictName = adapterDictCodeArr[1];
            select2.select2("open");
            select2.select2("close");
            var selectValue = $("#adapterMetadataName"+index).val();
            if(selectValue!=null&&selectValue!=''&&selectValue!=undefined){
              $("#adapterInfo"+index).html("<option value='1' >疑似适配</option><option value='2' >完全适配</option>")
            }else{
              entryMaster.grid.rows[i].adapterDictId = "";
              entryMaster.grid.rows[i].adapterDictName = "";
              $("#adapterInfo"+index).html("<option value='0' >未适配</option>");
            }
            entryMaster.grid.rows[i].adapterDictCode = $("#adapterDictCode"+i).text() == undefined ? "" : $("#adapterDictCode"+i).text();
            var adapterEntryCodeArr = $("#adapterEntryCode"+i).val()==undefined ? "":$("#adapterEntryCode"+i).val().split(",");
            if(adapterEntryCodeArr.length>0){
              entryMaster.grid.rows[i].adapterEntryId = adapterEntryCodeArr[0];
              entryMaster.grid.rows[i].adapterEntryValue = adapterEntryCodeArr[1];
            }else{
              entryMaster.grid.rows[i].adapterEntryId = "";
              entryMaster.grid.rows[i].adapterEntryValue = "";
          });
          //---------------------------------------------------------------------
          //【目标字典项编码】change事件
          $(".sel-std-dictEntry-code").on("change", function(event,msg) {
            var index = $(this).attr("id").replace("stdEntryCode","");//取出当前机构适配值的索引
            var select2 =  comStdDictEntry($(this),"change","stdEntryCode","stdEntryValue");
            if(msg!="stdEntryCode"){//当机构适配值联动时,机构适配名称不触发联动
              $("#stdEntryValue"+index).trigger("change",["stdEntryValue"]);
            }
            entryMaster.grid.rows[i].adapterEntryCode = $("#adapterEntryCode"+i).text() == undefined ? "" : $("#adapterEntryCode"+i).text();
          }
          entryMaster.grid.addRow(dataRow);
        },
        delete:function(rowindex,flag){
          $.ligerDialog.confirm('确定清空该适配关系?', function (r) {
            if (r) {
              $("#adapterInfo"+rowindex).html("<option value='0'>未适配</option>");
              if(flag == "dataset"){//数据集
                $("#adapterDatasetCode"+rowindex).html("");
                $("#adapterDatasetName"+rowindex).html("");
                $("#adapterMetadataCode"+rowindex).html("");
                $("#adapterMetadataName"+rowindex).html("");
                comAdapterDataset($("#adapterDatasetCode"+rowindex),"change","adapterDatasetCode","adapterDatasetName");
                comAdapterDataset($("#adapterDatasetName"+rowindex),"change","adapterDatasetName","adapterDatasetCode");
                comAdapterMetaData($("#adapterMetadataCode"+rowindex),"change","adapterMetadataCode","adapterMetadataName");
                comAdapterMetaData($("#adapterMetadataName"+rowindex),"change","adapterMetadataName","adapterMetadataCode");
                //重新计算表格中的值是否都被清空
                dataRows = 0;
                $(".sel-adapter-dataset-code").each(function(){
                  if(Util.isStrEmpty($(this).val())){
                    dataRows ++;
                  }
                });
                if(dataRows == entryMaster.grid.getData().length) {
                  dataFlag = true;
                }
              }else{//字典
                $("#adapterDictCode"+rowindex).html("");
                $("#adapterDictName"+rowindex).html("");
                $("#adapterEntryCode"+rowindex).html("");
                $("#adapterEntryValue"+rowindex).html("");
                comAdapterDict($("#adapterDictCode"+rowindex),"change","adapterDictCode","adapterDictName");
                comAdapterDict($("#adapterDictName"+rowindex),"change","adapterDictName","adapterDictCode");
                comAdapterDictEntry($("#adapterEntryCode"+rowindex),"change","adapterEntryCode","adapterEntryValue");
                comAdapterDictEntry($("#adapterEntryValue"+rowindex),"change","adapterEntryValue","adapterEntryCode");
                //重新计算表格中的值是否都被清空
                dataRows = 0;
            select2.select2("open");
            select2.select2("close");
          });
          //【目标字典项名称】change事件
          $(".sel-std-dictEntry-value").on("change", function(event,msg) {
            var index = $(this).attr("id").replace("stdEntryValue","");//取出当前机构适配名称的索引
            var select2 =  comStdDictEntry($(this),"change","stdEntryValue","stdEntryCode");
            if(msg!="stdEntryValue"){//当机构适配名称联动时,机构适配值不触发联动
              $("#stdEntryCode"+index).trigger("change","stdEntryCode");
            }
            select2.select2("open");
            select2.select2("close");
          });
          //【源字典编码】change事件
          $(".sel-adapter-dict-code").on("change", function(event,msg) {
            var index = $(this).attr("id").replace("adapterDictCode","");//取出当前机构适配值的索引
            var select2 =  comAdapterDict($(this),"change","adapterDictCode","adapterDictName");
            comAdapterDictEntry($("#adapterEntryCode"+index),"change","adapterEntryCode","adapterEntryValue");
            var dictCodeOption = $(this).find("option");
            var dictEntryOption = $("#adapterDictName"+index).find("option");
            if(dataRows == entryMaster.grid.getData().length){
              if(dataFlag){
                $(".sel-adapter-dict-code").each(function(){
                  if(Util.isStrEmpty($(this).val())){
                    dataRows ++;
                  }
                  var index = $(this).attr("id").replace("adapterDictCode","");
                  $(this).append(dictCodeOption);
                  $("#adapterDictName"+index).append(dictEntryOption);
                  comAdapterDict($(this),"change","adapterDictCode","adapterDictName");
                  comAdapterDict($("#adapterDictName"+index),"change","adapterDictName","adapterDictCode");
                  comAdapterDictEntry($("#adapterEntryCode"+index),"change","adapterEntryCode","adapterEntryValue");
                  comAdapterDictEntry($("#adapterEntryValue"+index),"change","adapterEntryValue","adapterEntryCode");
                });
                if(dataRows == entryMaster.grid.getData().length) {
                  dataFlag = true;
                }
                dataFlag = false;
              }
            }
            if(msg!="adapterDictCode"){//当机构适配值联动时,机构适配名称不触发联动
              $("#adapterDictName"+index).trigger("change",["adapterDictName"]);
            }
            select2.select2("open");
            select2.select2("close");
          });
        },
        save:function(){
          if (cfgModel == 0) {
            var dataResult = new Array();
            var rowData = entryMaster.grid.getData();
            for (var i = 0; i < rowData.length; i++) {
              var ob = new Object();
              ob.id = rowData[i].id == undefined ? "" : rowData[i].id;
              ob.schemeId = rowData[i].schemeId == undefined ? "" : rowData[i].schemeId;
              ob.stdDatasetId = rowData[i].stdDatasetId == undefined ? "" : rowData[i].stdDatasetId;
              ob.stdMetadataId = rowData[i].stdMetadataId == undefined ? "" : rowData[i].stdMetadataId;
              ob.stdMetadataCode = rowData[i].stdMetadataCode == undefined ? "" : rowData[i].stdMetadataCode;
              ob.stdMetadataName = rowData[i].stdMetadataName == undefined ? "" : rowData[i].stdMetadataName;
              ob.adapterDataType = rowData[i].adapterDataType == undefined ? "" : $("#adapterDataType"+i).val();
              ob.stdDictId = rowData[i].stdDictId == undefined ? "" : rowData[i].stdDictId;
              var adapterDatasetCodeArr = $("#adapterDatasetCode"+i).val()==undefined ? "":$("#adapterDatasetCode"+i).val().split(",");
              if(adapterDatasetCodeArr.length>0){
                ob.adapterDatasetId = adapterDatasetCodeArr[0];
                ob.adapterDatasetName = adapterDatasetCodeArr[1];
              }else {
                ob.adapterDatasetId = "";
                ob.adapterDatasetName = "";
              }
              ob.adapterInfo  = $("#adapterInfo"+i).val();
              ob.adapterDatasetCode = $("#adapterDatasetCode"+i).text() == undefined ? "" : $("#adapterDatasetCode"+i).text();
              var adapterMetadataCodeArr = $("#adapterMetadataCode"+i).val()==undefined ? "":$("#adapterMetadataCode"+i).val().split(",");
              if(adapterMetadataCodeArr.length>0){
                ob.adapterMetadataId = adapterMetadataCodeArr[0];
                ob.adapterMetadataName = adapterMetadataCodeArr[1];
                if(adapterMetadataCodeArr.length >2){
                  ob.adapterDictId = adapterMetadataCodeArr[2];
                }else {
                  ob.adapterDictId = "";
                }
              }else {
                ob.adapterMetadataId = "";
                ob.adapterMetadataName = "";
              }
              ob.adapterMetadataCode = $("#adapterMetadataCode"+i).text() == undefined ? "" : $("#adapterMetadataCode"+i).text();
              dataResult.push(ob)
          //【源字典名称】change事件
          $(".sel-adapter-dict-name").on("change", function(event,msg) {
            var index = $(this).attr("id").replace("adapterDictName","");//取出当前机构适配名称的索引
            var select2 =  comAdapterDict($(this),"change","adapterDictName","adapterDictCode");
            comAdapterDictEntry($("#adapterEntryCode"+index),"change","adapterEntryCode","adapterEntryValue");
            comAdapterDictEntry($("#adapterEntryValue"+index),"change","adapterEntryValue","adapterEntryCode");
            if(msg!="adapterDictName"){//当机构适配名称联动时,机构适配值不触发联动
              $("#adapterDictCode"+index).trigger("change","adapterDictCode");
            }
            //保存数据
            $.ajax({
              type : "POST",
              url: '${contextRoot}'+'/adapterCenter/updateMetadatas',
              data: 'list='+JSON.stringify(dataResult)+"&adapterVersion="+$("#version").val(),
              dataType : "json",
              async:false,
              success :function(data){
                if(data.successFlg){
                  entryMaster.reloadGrid(); //重新查询,返回json记录集
                  $.ligerDialog.success(data.message);
                }else{
                  $.ligerDialog.error(data.message);
                }
              },
              error :function(data){
                $.ligerDialog.error("保存失败!");
              }
            });
          } else {
            var dataResult = new Array();
            var rowData = entryMaster.grid.getData();
            for (var i = 0; i < rowData.length; i++) {
              var ob = new Object();
              ob.id = rowData[i].id == undefined ? "" : rowData[i].id;
              ob.schemeId = $("#scheme_id").val();
              ob.stdDictId = $("#std_dict_id").val();
              var stdEntryCodeArr = $("#stdEntryCode"+i).val()==undefined ? "":$("#stdEntryCode"+i).val().split(",");
              if(stdEntryCodeArr.length>0){
                if(stdEntryCodeArr[0]=="" || stdEntryCodeArr[1]==""){
                  $.ligerDialog.error("第"+Number(i+1)+"条记录:平台字典项编码和平台字典项值不能为空!");
                  return false;
                }
                ob.stdEntryId = stdEntryCodeArr[0];
                ob.stdEntryValue = stdEntryCodeArr[1];
              }
              ob.stdEntryCode = $("#stdEntryCode"+i).text() == undefined ? "" : $("#stdEntryCode"+i).text();
              ob.adapterInfo  = $("#adapterInfo"+i).val();
              var adapterDictCodeArr = $("#adapterDictCode"+i).val()==undefined ? "":$("#adapterDictCode"+i).val().split(",");
              if(adapterDictCodeArr.length>0){
                ob.adapterDictId = adapterDictCodeArr[0];
                ob.adapterDictName = adapterDictCodeArr[1];
              }else{
                ob.adapterDictId = "";
                ob.adapterDictName = "";
              }
              ob.adapterDictCode = $("#adapterDictCode"+i).text() == undefined ? "" : $("#adapterDictCode"+i).text();
              var adapterEntryCodeArr = $("#adapterEntryCode"+i).val()==undefined ? "":$("#adapterEntryCode"+i).val().split(",");
              if(adapterEntryCodeArr.length>0){
                ob.adapterEntryId = adapterEntryCodeArr[0];
                ob.adapterEntryValue = adapterEntryCodeArr[1];
              }else{
                ob.adapterEntryId = "";
                ob.adapterEntryValue = "";
              }
              ob.adapterEntryCode = $("#adapterEntryCode"+i).text() == undefined ? "" : $("#adapterEntryCode"+i).text();
            select2.select2("open");
            select2.select2("close");
          });
              dataResult.push(ob)
          //【源字典项编码】change事件
          $(".sel-adapter-dictEntry-code").on("change", function(event,msg) {
            var index = $(this).attr("id").replace("adapterEntryCode","");//取出当前机构适配值的索引
            var select2 =  comAdapterDictEntry($(this),"change","adapterEntryCode","adapterEntryValue");
            if(msg!="adapterEntryCode"){//当机构适配值联动时,机构适配名称不触发联动
              $("#adapterEntryValue"+index).trigger("change",["adapterEntryValue"]);
            }
            var uniqueArray = entryMaster.uniqueArray(dataResult);
            if(dataResult.length!==uniqueArray.length){
              $.ligerDialog.error("在同一个适配方案下,同一个平台标准字典对应的平台字典项和应用字典项不可重复!");
              return false;
            select2.select2("open");
            select2.select2("close");
          });
          //【源字典项名称】change事件
          $(".sel-adapter-dictEntry-value").on("change", function(event,msg) {
            var index = $(this).attr("id").replace("adapterEntryValue","");//取出当前机构适配名称的索引
            var select2 =  comAdapterDictEntry($(this),"change","adapterEntryValue","adapterEntryCode");
            if(msg!="adapterEntryValue"){//当机构适配名称联动时,机构适配值不触发联动
              $("#adapterEntryCode"+index).trigger("change","adapterEntryCode");
            }
            //保存数据
            $.ajax({
              type : "POST",
              url: '${contextRoot}'+'/adapterCenter/updateDictEntrys',
              data: 'list='+JSON.stringify(dataResult)+"&adapterVersion="+$("#version").val(),
              dataType : "json",
              async:false,
              success :function(data){
                
                if(data.successFlg){
                  entryMaster.reloadGrid(); //重新查询,返回json记录集
                  $.ligerDialog.success(data.message);
                }else{
                  $.ligerDialog.error(data.message);
                }
            select2.select2("open");
            select2.select2("close");
            debugger
            var selectValue = select2.val();
            if(selectValue!=null&&selectValue!=''&&selectValue!=undefined){
              $("#adapterInfo"+index).html("<option value='1' >疑似适配</option><option value='2' >完全适配</option>")
            }else{
              $("#adapterInfo"+index).html("<option value='0' >未适配</option>");
            }
          });
        }
      });
              },
              error :function(data){
                $.ligerDialog.error("保存失败!");
      this.bindEvents();
    },
    reloadGrid: function (parentId) {
      var searchNmEntry = $("#searchNmEntry").val();
      if(Util.isStrEmpty(parentId)){
        var row = master.grid.getSelectedRow();
        if(row != null){
          parentId = row.id;
        }
      }
      var values = {
        adapterVersion:$("#version").val(),
        condition: JSON.stringify({"name":searchNmEntry,"stdDatasetId":parentId,"stdDictId":parentId})
      };
      if (changeFlag){
        reloadGrid.call(this, '${contextRoot}'+cfg[cfgModel].right.search, values, this.getColumn());
      }else{
        this.grid.setOptions({parms: $.extend({},values),newPage: 1});
        //重新查询
        this.grid.loadData(true);
      }
      changeFlag=false;
    },
    add:function(){
      if(master.grid.getData().length==0){
        $.ligerDialog.error("没有目标字典,不能新增字典项!");
        return  false;
      }
      var dataRow = {
        stdDictId:$("#std_dict_id").val(),
        schemeId:$("#scheme_id").val(),
        adapterDictId:'',
        stdEntryId:'',
        adapterEntryId:'',
        adapterDictCode:'',
        adapterDictName:'',
        stdEntryCode:'',
        stdEntryValue:'',
        adapterEntryCode:'',
        adapterEntryValue:''
      };
      //参数1:rowdata(非必填)
      //参数2:插入的位置 Row Data
      var rowData = entryMaster.grid.getData();
      for (var i = 0; i < rowData.length; i++) {
        entryMaster.grid.rows[i].schemeId = $("#scheme_id").val();
        entryMaster.grid.rows[i].stdDictId = $("#std_dict_id").val();
        var stdEntryCodeArr = $("#stdEntryCode"+i).val()==undefined ? "":$("#stdEntryCode"+i).val().split(",");
        if(stdEntryCodeArr.length>0){
          entryMaster.grid.rows[i].stdEntryId = stdEntryCodeArr[0];
          entryMaster.grid.rows[i].stdEntryValue = stdEntryCodeArr[1];
        }else{
          entryMaster.grid.rows[i].stdEntryId = "";
          entryMaster.grid.rows[i].stdEntryValue = "";
        }
        entryMaster.grid.rows[i].stdEntryCode = $("#stdEntryCode"+i).text() == undefined ? "" : $("#stdEntryCode"+i).text();
        var adapterDictCodeArr = $("#adapterDictCode"+i).val()==undefined ? "":$("#adapterDictCode"+i).val().split(",");
        if(adapterDictCodeArr.length>0){
          entryMaster.grid.rows[i].adapterDictId = adapterDictCodeArr[0];
          entryMaster.grid.rows[i].adapterDictName = adapterDictCodeArr[1];
        }else{
          entryMaster.grid.rows[i].adapterDictId = "";
          entryMaster.grid.rows[i].adapterDictName = "";
        }
        entryMaster.grid.rows[i].adapterDictCode = $("#adapterDictCode"+i).text() == undefined ? "" : $("#adapterDictCode"+i).text();
        var adapterEntryCodeArr = $("#adapterEntryCode"+i).val()==undefined ? "":$("#adapterEntryCode"+i).val().split(",");
        if(adapterEntryCodeArr.length>0){
          entryMaster.grid.rows[i].adapterEntryId = adapterEntryCodeArr[0];
          entryMaster.grid.rows[i].adapterEntryValue = adapterEntryCodeArr[1];
        }else{
          entryMaster.grid.rows[i].adapterEntryId = "";
          entryMaster.grid.rows[i].adapterEntryValue = "";
        }
        entryMaster.grid.rows[i].adapterEntryCode = $("#adapterEntryCode"+i).text() == undefined ? "" : $("#adapterEntryCode"+i).text();
      }
      entryMaster.grid.addRow(dataRow);
    },
    delete:function(rowindex,flag){
      $.ligerDialog.confirm('确定清空该适配关系?', function (r) {
        if (r) {
          $("#adapterInfo"+rowindex).html("<option value='0'>未适配</option>");
          if(flag == "dataset"){//数据集
            $("#adapterDatasetCode"+rowindex).html("");
            $("#adapterDatasetName"+rowindex).html("");
            $("#adapterMetadataCode"+rowindex).html("");
            $("#adapterMetadataName"+rowindex).html("");
            comAdapterDataset($("#adapterDatasetCode"+rowindex),"change","adapterDatasetCode","adapterDatasetName");
            comAdapterDataset($("#adapterDatasetName"+rowindex),"change","adapterDatasetName","adapterDatasetCode");
            comAdapterMetaData($("#adapterMetadataCode"+rowindex),"change","adapterMetadataCode","adapterMetadataName");
            comAdapterMetaData($("#adapterMetadataName"+rowindex),"change","adapterMetadataName","adapterMetadataCode");
            //重新计算表格中的值是否都被清空
            dataRows = 0;
            $(".sel-adapter-dataset-code").each(function(){
              if(Util.isStrEmpty($(this).val())){
                dataRows ++;
              }
            });
          }
        },
        /**########数据集 BEGIN#########**/
        isAdaptationIng:function(){
          var version = $("#version").val();
          var self=this;//为了获取项目id
          var url="";//AdapterDatasetController
          var obj="";//为了获取进度条
          var isDataSet = $("#isDataSet").val();
          if(isDataSet!="0"){//数据集
            obj=self.$shujujiZdsp
            url="${contextRoot}/adapterCenter/isStrategy"
          }
          var isCanPlay= setInterval(function(){//判断 是否可以开始匹配了
            $.ajax({
              type:"POST",
              dataType:"",
              url:url,
              data:{version:version},
              success:function(res){
                var isPPing=JSON.parse(res.data).isAdapt//是否正在匹配
                if(isPPing=="false"){//如果不是正在匹配
                  self.pipeiDo();//开始匹配
                }else{//如果正在匹配
                  self.autoAdaptation(obj);//显示进度
                  clearInterval(isCanPlay)
                }
            if(dataRows == entryMaster.grid.getData().length) {
              dataFlag = true;
            }
          }else{//字典
            $("#adapterDictCode"+rowindex).html("");
            $("#adapterDictName"+rowindex).html("");
            $("#adapterEntryCode"+rowindex).html("");
            $("#adapterEntryValue"+rowindex).html("");
            comAdapterDict($("#adapterDictCode"+rowindex),"change","adapterDictCode","adapterDictName");
            comAdapterDict($("#adapterDictName"+rowindex),"change","adapterDictName","adapterDictCode");
            comAdapterDictEntry($("#adapterEntryCode"+rowindex),"change","adapterEntryCode","adapterEntryValue");
            comAdapterDictEntry($("#adapterEntryValue"+rowindex),"change","adapterEntryValue","adapterEntryCode");
            //重新计算表格中的值是否都被清空
            dataRows = 0;
            $(".sel-adapter-dict-code").each(function(){
              if(Util.isStrEmpty($(this).val())){
                dataRows ++;
              }
            })
          },3000)
        },
        pipeiDo:function(){
          var std_version = $("#std_version").val();
          var version = $("#version").val();
          var adapter_std_version = $("#adapter_std_version").val();
          var parmas = {std_version:std_version,version:version,adapter_std_version:adapter_std_version};
          var self=this;
          var obj;//当前属于字典还是数据集对象,赋值匹配中
          var btnObj//自动匹配的按钮
          var url//链接
          var isDataSet = $("#isDataSet").val();
          if(isDataSet!="0"){//数据集
            obj=$("#shujuji .boxleft");
            url="${contextRoot}/adapterCenter/strategy"
            });
            if(dataRows == entryMaster.grid.getData().length) {
              dataFlag = true;
            }
          }
          $("#btn_aoto_adpat span").html("匹配中...");
          $.ajax({
            type:"POST",
            dataType:"json",
            url:url,
            data:parmas,
            success:function(data){
              $("#btn_aoto_adpat span").html("自动适配");
            },
            error:function(){
        }
      });
    },
    save:function(){
      if (cfgModel == 0) {
        var dataResult = new Array();
        var rowData = entryMaster.grid.getData();
        for (var i = 0; i < rowData.length; i++) {
          var ob = new Object();
          ob.id = rowData[i].id == undefined ? "" : rowData[i].id;
          ob.schemeId = rowData[i].schemeId == undefined ? "" : rowData[i].schemeId;
          ob.stdDatasetId = rowData[i].stdDatasetId == undefined ? "" : rowData[i].stdDatasetId;
          ob.stdMetadataId = rowData[i].stdMetadataId == undefined ? "" : rowData[i].stdMetadataId;
          ob.stdMetadataCode = rowData[i].stdMetadataCode == undefined ? "" : rowData[i].stdMetadataCode;
          ob.stdMetadataName = rowData[i].stdMetadataName == undefined ? "" : rowData[i].stdMetadataName;
          ob.adapterDataType = rowData[i].adapterDataType == undefined ? "" : $("#adapterDataType"+i).val();
          ob.stdDictId = rowData[i].stdDictId == undefined ? "" : rowData[i].stdDictId;
          var adapterDatasetCodeArr = $("#adapterDatasetCode"+i).val()==undefined ? "":$("#adapterDatasetCode"+i).val().split(",");
          if(adapterDatasetCodeArr.length>0){
            ob.adapterDatasetId = adapterDatasetCodeArr[0];
            ob.adapterDatasetName = adapterDatasetCodeArr[1];
          }else {
            ob.adapterDatasetId = "";
            ob.adapterDatasetName = "";
          }
          ob.adapterInfo  = $("#adapterInfo"+i).val();
          ob.adapterDatasetCode = $("#adapterDatasetCode"+i).text() == undefined ? "" : $("#adapterDatasetCode"+i).text();
          var adapterMetadataCodeArr = $("#adapterMetadataCode"+i).val()==undefined ? "":$("#adapterMetadataCode"+i).val().split(",");
          if(adapterMetadataCodeArr.length>0){
            ob.adapterMetadataId = adapterMetadataCodeArr[0];
            ob.adapterMetadataName = adapterMetadataCodeArr[1];
            if(adapterMetadataCodeArr.length >2){
              ob.adapterDictId = adapterMetadataCodeArr[2];
            }else {
              ob.adapterDictId = "";
            }
          })
        },//开始匹配
        autoAdaptation:function(){
          var self=this;
          var url=""//进度
          var isDataSet = $("#isDataSet").val();
          var version = $("#version").val();
          if(isDataSet!="0"){//数据集
            url="${contextRoot}/adapterCenter/getStrategySize"
          }else {
            ob.adapterMetadataId = "";
            ob.adapterMetadataName = "";
          }
          var timeIng =setInterval(function(){
            var ver =
            $.ajax({
              type:"POST",
              dataType:"json",
              url:url,
              data:{version:version},
              success:function(res){
                if(res.data==undefined){
                  $("#btn_aoto_adpat span").html("请求中");
                }else{
                  if(res.data.all==0){//如果判断被除数不能为0  如果为0 直接清空
                    $("#btn_aoto_adpat span").html("匹配完成");
                    clearInterval(timeIng);
                    self.ppeiEnd()//结束匹配
                  }else{
                    var jdu=  res.data.adapt/res.data.all//进度
                    if(jdu!=1){
                      var jduBFB=parseInt(jdu*100)
                      if(!isNaN(jduBFB)){
                        $("#btn_aoto_adpat span").html("已匹配"+jduBFB+"%")
                      }
                    }else{
                      $("#btn_aoto_adpat span").html("匹配完成");
                      master.reloadGrid();
                      clearInterval(timeIng);
                      self.ppeiEnd()//结束匹配
                    }
                  }
                }
          ob.adapterMetadataCode = $("#adapterMetadataCode"+i).text() == undefined ? "" : $("#adapterMetadataCode"+i).text();
          dataResult.push(ob)
        }
        //保存数据
        $.ajax({
          type : "POST",
          url: '${contextRoot}'+'/adapterCenter/updateMetadatas',
          data: 'list='+JSON.stringify(dataResult)+"&adapterVersion="+$("#version").val(),
          dataType : "json",
          async:false,
          success :function(data){
            if(data.successFlg){
              entryMaster.reloadGrid(); //重新查询,返回json记录集
              $.ligerDialog.success(data.message);
            }else{
              $.ligerDialog.error(data.message);
            }
              },
              error :function(res){
              }
            })
          },3000)
        },//自动匹配进度
        ppeiEnd:function(){
          var self=this;
          var url="";
          var isDataSet = $("#isDataSet").val()
          if(isDataSet!="0"){//数据集
            url="${contextRoot}/adapterCenter/endStrategy"
          },
          error :function(data){
            $.ligerDialog.error("保存失败!");
          }
          $.ajax({
            type:"POST",
            dataType:"json",
            url:url,
            data:{version:$("#version").val()},
            success:function(res){
            },
            error :function(res){
        });
      } else {
        var dataResult = new Array();
        var rowData = entryMaster.grid.getData();
        for (var i = 0; i < rowData.length; i++) {
          var ob = new Object();
          ob.id = rowData[i].id == undefined ? "" : rowData[i].id;
          ob.schemeId = $("#scheme_id").val();
          ob.stdDictId = $("#std_dict_id").val();
          var stdEntryCodeArr = $("#stdEntryCode"+i).val()==undefined ? "":$("#stdEntryCode"+i).val().split(",");
          if(stdEntryCodeArr.length>0){
            if(stdEntryCodeArr[0]=="" || stdEntryCodeArr[1]==""){
              $.ligerDialog.error("第"+Number(i+1)+"条记录:目标字典项编码和目标字典项值不能为空!");
              return false;
            }
          })
        },//结束匹配
        /**########数据集 END#########**/
        /**########字典 BEGIN#########**/
        isAdaptationIngDic:function(){
          var version = $("#version").val();
          var self=this;//为了获取项目id
          var url="";//AdapterDatasetController
          var obj="";//为了获取进度条
          var isDataSet = $("#isDataSet").val();
          if(isDataSet=="0"){//字典
            obj=self.$zidianZdsp
            url="${contextRoot}/adapterCenter/isStrategyDic"
            ob.stdEntryId = stdEntryCodeArr[0];
            ob.stdEntryValue = stdEntryCodeArr[1];
          }
          var isCanPlay= setInterval(function(){//判断 是否可以开始匹配了
            $.ajax({
              type:"POST",
              dataType:"",
              url:url,
              data:{version:version},
              success:function(res){
                var isPPing=JSON.parse(res.data).isAdapt//是否正在匹配
                if(isPPing=="false"){//如果不是正在匹配
                  self.pipeiDoDic();//开始匹配
                }else{//如果正在匹配
                  self.autoAdaptationDic(obj);//显示进度
                  clearInterval(isCanPlay)
                }
              }
            })
          },3000)
        },
        pipeiDoDic:function(){
          var std_version = $("#std_version").val();
          var version = $("#version").val();
          var adapter_std_version = $("#adapter_std_version").val();
          var parmas = {std_version:std_version,version:version,adapter_std_version:adapter_std_version};
          var self=this;
          var obj;//当前属于字典还是数据集对象,赋值匹配中
          var btnObj//自动匹配的按钮
          var url//链接
          var isDataSet = $("#isDataSet").val();
          if(isDataSet=="0"){//字典
            obj=$("#zidian .boxleft");
            url="${contextRoot}/adapterCenter/strategyDic"
          ob.stdEntryCode = $("#stdEntryCode"+i).text() == undefined ? "" : $("#stdEntryCode"+i).text();
          ob.adapterInfo  = $("#adapterInfo"+i).val();
          var adapterDictCodeArr = $("#adapterDictCode"+i).val()==undefined ? "":$("#adapterDictCode"+i).val().split(",");
          if(adapterDictCodeArr.length>0){
            ob.adapterDictId = adapterDictCodeArr[0];
            ob.adapterDictName = adapterDictCodeArr[1];
          }else{
            ob.adapterDictId = "";
            ob.adapterDictName = "";
          }
          $("#btn_aoto_adpat_dic span").html("匹配中...");
          $.ajax({
            type:"POST",
            dataType:"json",
            url:url,
            data:parmas,
            success:function(data){
              $("#btn_aoto_adpat_dic span").html("自动适配");
            },
            error:function(){
            }
          })
        },//开始匹配
        autoAdaptationDic:function(){
          var self=this;
          var url=""//进度
          var isDataSet = $("#isDataSet").val();
          var version = $("#version").val();
          if(isDataSet=="0"){//字典
            url="${contextRoot}/adapterCenter/getStrategyDicSize"
          ob.adapterDictCode = $("#adapterDictCode"+i).text() == undefined ? "" : $("#adapterDictCode"+i).text();
          var adapterEntryCodeArr = $("#adapterEntryCode"+i).val()==undefined ? "":$("#adapterEntryCode"+i).val().split(",");
          if(adapterEntryCodeArr.length>0){
            ob.adapterEntryId = adapterEntryCodeArr[0];
            ob.adapterEntryValue = adapterEntryCodeArr[1];
          }else{
            ob.adapterEntryId = "";
            ob.adapterEntryValue = "";
          }
          var timeIng =setInterval(function(){
            var ver =
                    $.ajax({
                      type:"POST",
                      dataType:"json",
                      url:url,
                      data:{version:version},
                      success:function(res){
                        if(res.data==undefined){
                          $("#btn_aoto_adpat_dic span").html("请求中");
                        }else{
                          if(res.data.all==0){//如果判断被除数不能为0  如果为0 直接清空
                            $("#btn_aoto_adpat_dic span").html("匹配完成");
                            clearInterval(timeIng);
                            self.ppeiEndDic()//结束匹配
                          }else{
                            var jdu=  res.data.adapt/res.data.all//进度
                            if(jdu!=1){
                              var jduBFB=parseInt(jdu*100)
                              if(!isNaN(jduBFB)){
                                $("#btn_aoto_adpat_dic span").html("已匹配"+jduBFB+"%")
                              }
                            }else{
                              $("#btn_aoto_adpat_dic span").html("匹配完成");
                              master.reloadGrid();
                              clearInterval(timeIng);
                              self.ppeiEndDic()//结束匹配
                            }
                          }
                        }
          ob.adapterEntryCode = $("#adapterEntryCode"+i).text() == undefined ? "" : $("#adapterEntryCode"+i).text();
                      }
                    })
          },3000)
        },//自动匹配进度
        ppeiEndDic:function(){
          var self=this;
          var url="";
          var isDataSet = $("#isDataSet").val()
          if(isDataSet=="0"){//字典
            url="${contextRoot}/adapterCenter/endStrategyDic"
          }
          $.ajax({
            type:"POST",
            dataType:"json",
            url:url,
            data:{version:$("#version").val()},
            success:function(res){
          dataResult.push(ob)
        }
        var uniqueArray = entryMaster.uniqueArray(dataResult);
        if(dataResult.length!==uniqueArray.length){
          $.ligerDialog.error("在同一个适配方案下,同一个目标标准字典对应的目标字典项和源字典项不可重复!");
          return false;
        }
        //保存数据
        $.ajax({
          type : "POST",
          url: '${contextRoot}'+'/adapterCenter/updateDictEntrys',
          data: 'list='+JSON.stringify(dataResult)+"&adapterVersion="+$("#version").val(),
          dataType : "json",
          async:false,
          success :function(data){
            if(data.successFlg){
              entryMaster.reloadGrid(); //重新查询,返回json记录集
              $.ligerDialog.success(data.message);
            }else{
              $.ligerDialog.error(data.message);
            }
          })
        },//结束匹配
        /**########字典 END#########**/
        uniqueArray:function(a){ /* 判断适配方案id、平台字典id、平台字典项id、应用字典项id是否重复*/
          var temp = new Array();
          for(var i = 0; i < a.length; i ++){
            if(!entryMaster.contains(temp, a[i].schemeId + a[i].stdDictId+a[i].stdEntryId + a[i].adapterEntryId)){
              temp.length+=1;
              temp[temp.length-1] = a[i].schemeId + a[i].stdDictId+a[i].stdEntryId + a[i].adapterEntryId;
          },
          error :function(data){
            $.ligerDialog.error("保存失败!");
          }
        });
      }
    },
    /**########数据集 BEGIN#########**/
    isAdaptationIng:function(){
      var version = $("#version").val();
      var self=this;//为了获取项目id
      var url="";//AdapterDatasetController
      var obj="";//为了获取进度条
      var isDataSet = $("#isDataSet").val();
      if(isDataSet!="0"){//数据集
        obj=self.$shujujiZdsp
        url="${contextRoot}/adapterCenter/isStrategy"
      }
      var isCanPlay= setInterval(function(){//判断 是否可以开始匹配了
        $.ajax({
          type:"POST",
          dataType:"",
          url:url,
          data:{version:version},
          success:function(res){
            var isPPing=JSON.parse(res.data).isAdapt//是否正在匹配
            if(isPPing=="false"){//如果不是正在匹配
              self.pipeiDo();//开始匹配
            }else{//如果正在匹配
              self.autoAdaptation(obj);//显示进度
              clearInterval(isCanPlay)
            }
          }
          return temp;
        },
        contains:function(a,e){
          for(j=0;j<a.length;j++)if(a[j]==e)return true;
          return false
        })
      },3000)
    },
    pipeiDo:function(){
      var std_version = $("#std_version").val();
      var version = $("#version").val();
      var adapter_std_version = $("#adapter_std_version").val();
      var parmas = {std_version:std_version,version:version,adapter_std_version:adapter_std_version};
      var self=this;
      var obj;//当前属于字典还是数据集对象,赋值匹配中
      var btnObj//自动匹配的按钮
      var url//链接
      var isDataSet = $("#isDataSet").val();
      if(isDataSet!="0"){//数据集
        obj=$("#shujuji .boxleft");
        url="${contextRoot}/adapterCenter/strategy"
      }
      $("#btn_aoto_adpat span").html("匹配中...");
      $.ajax({
        type:"POST",
        dataType:"json",
        url:url,
        data:parmas,
        success:function(data){
          $("#btn_aoto_adpat span").html("自动适配");
        },
        bindEvents: function () {
          
          //窗体改变大小事件
          $(window).bind('resize', function() {
            resizeContent();
          });
        error:function(){
          $('#btn_add_relation').click(function () {
            entryMaster.add();;
          });
        }
      })
    },//开始匹配
    autoAdaptation:function(){
      var self=this;
      var url=""//进度
      var isDataSet = $("#isDataSet").val();
      var version = $("#version").val();
      if(isDataSet!="0"){//数据集
        url="${contextRoot}/adapterCenter/getStrategySize"
      }
      var timeIng =setInterval(function(){
        var ver =
                $.ajax({
                  type:"POST",
                  dataType:"json",
                  url:url,
                  data:{version:version},
                  success:function(res){
                    if(res.data==undefined){
                      $("#btn_aoto_adpat span").html("请求中");
                    }else{
                      if(res.data.all==0){//如果判断被除数不能为0  如果为0 直接清空
                        $("#btn_aoto_adpat span").html("匹配完成");
                        clearInterval(timeIng);
                        self.ppeiEnd()//结束匹配
                      }else{
                        var jdu=  res.data.adapt/res.data.all//进度
                        if(jdu!=1){
          $('#btn_save_relation').click(function () {
            entryMaster.save();
          });
                          var jduBFB=parseInt(jdu*100)
                          if(!isNaN(jduBFB)){
                            $("#btn_aoto_adpat span").html("已匹配"+jduBFB+"%")
                          }
          //数据集
          $('#btn_aoto_adpat').click(function () {
            entryMaster.isAdaptationIng();
          });
          //字典
          $('#btn_aoto_adpat_dic').click(function () {
            entryMaster.isAdaptationIngDic();
          });
                        }else{
                          $("#btn_aoto_adpat span").html("匹配完成");
                          master.reloadGrid();
                          clearInterval(timeIng);
                          self.ppeiEnd()//结束匹配
                        }
                      }
                    }
          $("#searchNmEntry").keyup(function (e) {
            if (e.keyCode == 13) {
              entryMaster.reloadGrid();
            }
          });
                  },
                  error :function(res){
                  }
                })
      },3000)
    },//自动匹配进度
    ppeiEnd:function(){
      var self=this;
      var url="";
      var isDataSet = $("#isDataSet").val()
      if(isDataSet!="0"){//数据集
        url="${contextRoot}/adapterCenter/endStrategy"
      }
      $.ajax({
        type:"POST",
        dataType:"json",
        url:url,
        data:{version:$("#version").val()},
        success:function(res){
        },
        getColumn: function () {
          var columnCfg =[];
          var width;
          if(status=="1"){//已发布
            width = ["15%","15%","15%","15%","15%","12%","12%"];
          }else{//未发布
            width = ["12%","12%","12%","15%","12%","15%","12%"];
        error :function(res){
        }
      })
    },//结束匹配
    /**########数据集 END#########**/
    /**########字典 BEGIN#########**/
    isAdaptationIngDic:function(){
      var version = $("#version").val();
      var self=this;//为了获取项目id
      var url="";//AdapterDatasetController
      var obj="";//为了获取进度条
      var isDataSet = $("#isDataSet").val();
      if(isDataSet=="0"){//字典
        obj=self.$zidianZdsp
        url="${contextRoot}/adapterCenter/isStrategyDic"
      }
      var isCanPlay= setInterval(function(){//判断 是否可以开始匹配了
        $.ajax({
          type:"POST",
          dataType:"",
          url:url,
          data:{version:version},
          success:function(res){
            var isPPing=JSON.parse(res.data).isAdapt//是否正在匹配
            if(isPPing=="false"){//如果不是正在匹配
              self.pipeiDoDic();//开始匹配
            }else{//如果正在匹配
              self.autoAdaptationDic(obj);//显示进度
              clearInterval(isCanPlay)
            }
          }
        })
      },3000)
    },
    pipeiDoDic:function(){
      var std_version = $("#std_version").val();
      var version = $("#version").val();
      var adapter_std_version = $("#adapter_std_version").val();
      var parmas = {std_version:std_version,version:version,adapter_std_version:adapter_std_version};
      var self=this;
      var obj;//当前属于字典还是数据集对象,赋值匹配中
      var btnObj//自动匹配的按钮
      var url//链接
      var isDataSet = $("#isDataSet").val();
      if(isDataSet=="0"){//字典
        obj=$("#zidian .boxleft");
        url="${contextRoot}/adapterCenter/strategyDic"
      }
      $("#btn_aoto_adpat_dic span").html("匹配中...");
      $.ajax({
        type:"POST",
        dataType:"json",
        url:url,
        data:parmas,
        success:function(data){
          $("#btn_aoto_adpat_dic span").html("自动适配");
        },
        error:function(){
          if(cfgModel==0){
            columnCfg = [
              { display: 'id', name: 'id', hide:true },
              { display: 'stdDatasetId', name: 'stdDatasetId', hide:true },
              { display: 'stdMetadataId', name: 'stdMetadataId', hide:true },
              { display: 'adapterDatasetId', name: 'adapterDatasetId', hide:true },
              { display: 'adapterMetadataId', name: 'adapterMetadataId', hide:true },
              { display: 'adapterDataType', name: 'adapterDataType', hide:true },
              { display: '平台数据元编码', name: 'stdMetadataCode',width: width[0], isAllowHide: false ,align:'left' },
              { display: '平台数据元名称', name: 'stdMetadataName',width: width[1], isAllowHide: false ,align:'left' },
              { display: '应用数据集编码', name: 'adapterDatasetCode', width: width[2], render: function (row, rowindex, value, column) {
                  if(status =="1"){//已发布
                        return row.adapterDatasetCode;
                  }else{//未发布
                      var select=null;
                      if(row.adapterDatasetId==undefined || row.adapterDatasetCode==undefined || row.adapterDatasetName==undefined){
                        select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-dataset-code"  id="adapterDatasetCode'+rowindex +'" ></select></div>');
                        dataRows++;
                      }else{
                        select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-dataset-code"  id="adapterDatasetCode'+rowindex+'" >'
                                +'<option value="'+row.adapterDatasetId+','+row.adapterDatasetName+'">'+row.adapterDatasetCode+'</option></select></div>');
                      }
                      $('option[value="'+value+'"]',select).attr('selected',true);
                      return  select.prop("outerHTML");
                  }
              }},
              { display: '应用数据集名称', name: 'adapterDatasetName', width: width[3], render: function (row, rowindex, value, column) {
                  if(status =="1"){//已发布
                    return row.adapterDatasetName;
                  }else{//未发布
                    var select=null;
                    if(row.adapterDatasetId==undefined || row.adapterDatasetCode==undefined || row.adapterDatasetName==undefined){
                      select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-dataset-name"  id="adapterDatasetName'+rowindex +'" ></select></div>');
        }
      })
    },//开始匹配
    autoAdaptationDic:function(){
      var self=this;
      var url=""//进度
      var isDataSet = $("#isDataSet").val();
      var version = $("#version").val();
      if(isDataSet=="0"){//字典
        url="${contextRoot}/adapterCenter/getStrategyDicSize"
      }
      var timeIng =setInterval(function(){
        var ver =
                $.ajax({
                  type:"POST",
                  dataType:"json",
                  url:url,
                  data:{version:version},
                  success:function(res){
                    if(res.data==undefined){
                      $("#btn_aoto_adpat_dic span").html("请求中");
                    }else{
                      select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-dataset-name"  id="adapterDatasetName'+rowindex +'" >'
                              +'<option value="'+row.adapterDatasetId+','+row.adapterDatasetCode+'">'+row.adapterDatasetName+'</option></select></div>');
                    }
                    $('option[value="'+value+'"]',select).attr('selected',true);
                    return  select.prop("outerHTML");
                  }
              }},
              { display: '应用数据元编码', name: 'adapterMetadataCode', width: width[4], render: function (row, rowindex, value, column) {
                    if(status =="1"){//已发布
                      return row.adapterMetadataCode;
                    }else {//未发布
                      var select=null;
                      if(row.adapterMetadataId==undefined || row.adapterMetadataCode==undefined || row.adapterMetadataName==undefined){
                        select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-metadata-code"  id="adapterMetadataCode'+rowindex +'" ></select></div>');
                      if(res.data.all==0){//如果判断被除数不能为0  如果为0 直接清空
                        $("#btn_aoto_adpat_dic span").html("匹配完成");
                        clearInterval(timeIng);
                        self.ppeiEndDic()//结束匹配
                      }else{
                        if(row.adapterDictId==undefined) {
                          select = $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-metadata-code"  id="adapterMetadataCode'+rowindex+'" >'
                                  +'<option value="'+row.adapterMetadataId+','+row.adapterMetadataName+'">'+row.adapterMetadataCode+'</option></select></div>');
                        }else {
                          select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-metadata-code"  id="adapterMetadataCode'+rowindex+'" >'
                                  +'<option value="'+row.adapterMetadataId+','+row.adapterMetadataName+','+row.adapterDictId +'">'+row.adapterMetadataCode+'</option></select></div>');
                        var jdu=  res.data.adapt/res.data.all//进度
                        if(jdu!=1){
                          var jduBFB=parseInt(jdu*100)
                          if(!isNaN(jduBFB)){
                            $("#btn_aoto_adpat_dic span").html("已匹配"+jduBFB+"%")
                          }
                        }else{
                          $("#btn_aoto_adpat_dic span").html("匹配完成");
                          master.reloadGrid();
                          clearInterval(timeIng);
                          self.ppeiEndDic()//结束匹配
                        }
                      }
                      $('option[value="'+value+'"]',select).attr('selected',true);
                      return  select.prop("outerHTML");
                    }
              }},
              { display: '应用数据元名称', name: 'adapterMetadataName', width: width[5], render: function (row, rowindex, value, column) {
                  if(status =="1"){//已发布
                    return row.adapterMetadataName;
                  }else {//未发布
                    var select=null;
                    if(row.adapterMetadataId==undefined || row.adapterMetadataCode==undefined || row.adapterMetadataName==undefined){
                      select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-metadata-name"  id="adapterMetadataName'+rowindex +'" ></select></div>');
                    }else{
                      select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-metadata-name"  id="adapterMetadataName'+rowindex +'" >'
                              +'<option value="'+row.adapterMetadataId+','+row.adapterMetadataCode+'">'+row.adapterMetadataName+'</option></select></div>');
                    }
                    $('option[value="'+value+'"]',select).attr('selected',true);
                    return  select.prop("outerHTML");
                  }
              }},
              { display: '应用数据元类型', name: 'adapterDataType', width: width[6], render: function (row, rowindex, value, column) {
                
                if(status =="1"){//已发布
                  if(row.adapterDataType == 1) {
                      return "编码";
                  }else{
                    return "值"
                  }
                }else {//未发布
                  var select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-metadata-type"  id="adapterDataType'+rowindex +'" >'
                          +'<option value="0">'+'值'+'</option>'
                          +'<option value="1">'+'编码'+'</option></select></div>');
                  if(row.adapterDataType == null){
                     value = 0;
                  }
                })
      },3000)
    },//自动匹配进度
    ppeiEndDic:function(){
      var self=this;
      var url="";
      var isDataSet = $("#isDataSet").val()
      if(isDataSet=="0"){//字典
        url="${contextRoot}/adapterCenter/endStrategyDic"
      }
      $.ajax({
        type:"POST",
        dataType:"json",
        url:url,
        data:{version:$("#version").val()},
        success:function(res){
                  $('option[value="'+value+'"]',select).attr('selected',true);
                  return  select.prop("outerHTML");
                }
              }},{
                display:'适配情况',name:'adapterInfo',width:'5%',render: function (row, rowindex, value, column) {
                  var select=null;
                  if(row.adapterDatasetId==undefined || row.adapterDatasetCode==undefined || row.adapterDatasetName==undefined){
                    select= $('<div class="f-mt25"><select class="js-example-data-array" id="adapterInfo'+rowindex+'" ><option value="0">未适配</option></select></div>');
                  }else{
                    select= $('<div class="f-mt25"><select class="js-example-data-array" id="adapterInfo'+rowindex+'">'
                            +'<option value="1" >疑似适配</option><option value="2">完全适配</option></select></div>');
                  }
                  $('option[value="'+value+'"]',select).attr('selected',true);
                  return  select.prop("outerHTML");
                }
        }
      })
    },//结束匹配
    /**########字典 END#########**/
    uniqueArray:function(a){ /* 判断适配方案id、目标字典id、目标字典项id、源字典项id是否重复*/
      var temp = new Array();
      for(var i = 0; i < a.length; i ++){
        if(!entryMaster.contains(temp, a[i].schemeId + a[i].stdDictId+a[i].stdEntryId + a[i].adapterEntryId)){
          temp.length+=1;
          temp[temp.length-1] = a[i].schemeId + a[i].stdDictId+a[i].stdEntryId + a[i].adapterEntryId;
        }
      }
      return temp;
    },
    contains:function(a,e){
      for(j=0;j<a.length;j++)if(a[j]==e)return true;
      return false
    },
    bindEvents: function () {
      //窗体改变大小事件
      $(window).bind('resize', function() {
        resizeContent();
      });
      $('#btn_add_relation').click(function () {
        entryMaster.add();;
      });
      $('#btn_save_relation').click(function () {
        entryMaster.save();
      });
      //数据集
      $('#btn_aoto_adpat').click(function () {
        entryMaster.isAdaptationIng();
      });
      //字典
      $('#btn_aoto_adpat_dic').click(function () {
        entryMaster.isAdaptationIngDic();
      });
      $("#searchNmEntry").keyup(function (e) {
        if (e.keyCode == 13) {
          entryMaster.reloadGrid();
        }
      });
    },
    getColumn: function () {
      var columnCfg =[];
      var width;
      if(status=="1"){//已发布
        width = ["15%","15%","15%","15%","15%","12%","12%"];
      }else{//未发布
        width = ["12%","12%","12%","15%","12%","15%","12%"];
      }
      if(cfgModel==0){
        columnCfg = [
          { display: 'id', name: 'id', hide:true },
          { display: 'stdDatasetId', name: 'stdDatasetId', hide:true },
          { display: 'stdMetadataId', name: 'stdMetadataId', hide:true },
          { display: 'adapterDatasetId', name: 'adapterDatasetId', hide:true },
          { display: 'adapterMetadataId', name: 'adapterMetadataId', hide:true },
          { display: 'adapterDataType', name: 'adapterDataType', hide:true },
          { display: '目标数据元编码', name: 'stdMetadataCode',width: width[0], isAllowHide: false ,align:'left' },
          { display: '目标数据元名称', name: 'stdMetadataName',width: width[1], isAllowHide: false ,align:'left' },
          { display: '源数据集编码', name: 'adapterDatasetCode', width: width[2], render: function (row, rowindex, value, column) {
            if(status =="1"){//已发布
              return row.adapterDatasetCode;
            }else{//未发布
              var select=null;
              if(row.adapterDatasetId==undefined || row.adapterDatasetCode==undefined || row.adapterDatasetName==undefined){
                select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-dataset-code"  id="adapterDatasetCode'+rowindex +'" ></select></div>');
                dataRows++;
              }else{
                select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-dataset-code"  id="adapterDatasetCode'+rowindex+'" >'
                        +'<option value="'+row.adapterDatasetId+','+row.adapterDatasetName+'">'+row.adapterDatasetCode+'</option></select></div>');
              }
            ]
            if(status =="0"){//未发布
              columnCfg.push({ display: '操作', name: 'operator', width: '10%', render: function (row, rowindex, value, column) {
                var html = '<div class="m-inline-buttons" style="width:40px;">';
                html += '<a href="#" class="m-btn-clear" onclick="entryMaster.delete(\''+rowindex+'\',\'dataset\')"></a>';
                return html;
              }});
              $('option[value="'+value+'"]',select).attr('selected',true);
              return  select.prop("outerHTML");
            }
          }
          else{
            columnCfg = [
              { display: 'id', name: 'id', hide:true },
              { display: 'stdDictId', name: 'stdDictId', hide:true },
              { display: 'stdEntryId', name: 'stdEntryId', hide:true },
              { display: 'adapterDictId', name: 'adapterDictId', hide:true },
              { display: 'adapterEntryId', name: 'adapterEntryId', hide:true },
              { display: '平台字典项编码', name: 'stdEntryCode', width: width[0], render: function (row, rowindex, value, column) {
                  if(status =="1"){//已发布
                    return row.stdEntryCode;
                  }else {//未发布
                    var select=null;
                    if(row.stdEntryId==undefined || row.stdEntryCode==undefined || row.stdEntryValue==undefined){
                      select= $('<div class="f-mt25"><select class="js-example-data-array sel-std-dictEntry-code"  id="stdEntryCode'+rowindex +'" ></select></div>');
                    }else{
                      select= $('<div class="f-mt25"><select class="js-example-data-array sel-std-dictEntry-code"  id="stdEntryCode'+rowindex+'" >'
                              +'<option value="'+row.stdEntryId+','+row.stdEntryValue+'">'+row.stdEntryCode+'</option></select></div>');
                    }
                    $('option[value="'+value+'"]',select).attr('selected',true);
                    return  select.prop("outerHTML");
                  }
              }},
              { display: '平台字典项值', name: 'stdEntryValue', width: width[1], render: function (row, rowindex, value, column) {
                    if(status =="1"){//已发布
                      return row.stdEntryValue;
                    }else {//未发布
                      var select=null;
                      if(row.stdEntryId==undefined || row.stdEntryCode==undefined || row.stdEntryValue==undefined){
                        select= $('<div class="f-mt25"><select class="js-example-data-array sel-std-dictEntry-value"  id="stdEntryValue'+rowindex +'" ></select></div>');
                      }else{
                        select= $('<div class="f-mt25"><select class="js-example-data-array sel-std-dictEntry-value"  id="stdEntryValue'+rowindex +'" >'
                                +'<option value="'+row.stdEntryId+','+row.stdEntryCode+'">'+row.stdEntryValue+'</option></select></div>');
                      }
                      $('option[value="'+value+'"]',select).attr('selected',true);
                      return  select.prop("outerHTML");
                    }
              }},
              { display: '应用字典编码', name: 'adapterDictCode', width: width[2], render: function (row, rowindex, value, column) {
                    if(status =="1"){//已发布
                      return row.adapterDictCode;
                    }else {//未发布
                      var select=null;
                      if(row.adapterDictId==undefined || row.adapterDictCode==undefined || row.adapterDictName==undefined){
                        select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-dict-code"  id="adapterDictCode'+rowindex +'" ></select></div>');
                        dataRows++;
                      }else{
                        select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-dict-code"  id="adapterDictCode'+rowindex+'" >'
                                +'<option value="'+row.adapterDictId+','+row.adapterDictName+'">'+row.adapterDictCode+'</option></select></div>');
                      }
                      $('option[value="'+value+'"]',select).attr('selected',true);
                      return  select.prop("outerHTML");
                    }
              }},
              { display: '应用字典名称', name: 'adapterDictName', width: width[3], render: function (row, rowindex, value, column) {
                    if(status =="1"){//已发布
                      return row.adapterDictName;
                    }else {//未发布
                      var select=null;
                      if(row.adapterDictId==undefined || row.adapterDictCode==undefined || row.adapterDictName==undefined){
                        select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-dict-name"  id="adapterDictName'+rowindex +'" ></select></div>');
                      }else{
                        select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-dict-name"  id="adapterDictName'+rowindex +'" >'
                                +'<option value="'+row.adapterDictId+','+row.adapterDictCode+'">'+row.adapterDictName+'</option></select></div>');
                      }
                      $('option[value="'+value+'"]',select).attr('selected',true);
                      return  select.prop("outerHTML");
                    }
              }},
              { display: '应用字典项编码', name: 'adapterEntryCode', width: width[4], render: function (row, rowindex, value, column) {
                    if(status =="1"){//已发布
                      return row.adapterEntryCode;
                    }else {//未发布
                      var select=null;
                      if(row.adapterEntryId==undefined || row.adapterEntryCode==undefined || row.adapterEntryValue==undefined){
                        select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-dictEntry-code"  id="adapterEntryCode'+rowindex +'" ></select></div>');
                      }else{
                        select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-dictEntry-code"  id="adapterEntryCode'+rowindex+'" >'
                                +'<option value="'+row.adapterEntryId+','+row.adapterEntryValue+'">'+row.adapterEntryCode+'</option></select></div>');
                      }
                      $('option[value="'+value+'"]',select).attr('selected',true);
                      return  select.prop("outerHTML");
                    }
              }},
              { display: '应用字典项值', name: 'adapterEntryValue', width: width[5], render: function (row, rowindex, value, column) {
                    if(status =="1"){//已发布
                      return row.adapterEntryValue;
                    }else {//未发布
                      var select=null;
                      if(row.adapterEntryId==undefined || row.adapterEntryCode==undefined || row.adapterEntryValue==undefined){
                        select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-dictEntry-value"  id="adapterEntryValue'+rowindex +'" ></select></div>');
                      }else{
                        select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-dictEntry-value"  id="adapterEntryValue'+rowindex +'" >'
                                +'<option value="'+row.adapterEntryId+','+row.adapterEntryCode+'">'+row.adapterEntryValue+'</option></select></div>');
                      }
                      $('option[value="'+value+'"]',select).attr('selected',true);
                      return  select.prop("outerHTML");
                    }
              }},{
                display:'适配情况',name:'adapterInfo',width:'5%',render: function (row, rowindex, value, column) {
                  var select=null;
                  if(row.adapterEntryId==undefined || row.adapterEntryCode==undefined || row.adapterEntryValue==undefined){
                    select= $('<div class="f-mt25"><select class="js-example-data-array" id="adapterInfo'+rowindex+'" ><option value="0">未适配</option></select></div>');
                  }else{
                    select= $('<div class="f-mt25"><select class="js-example-data-array" id="adapterInfo'+rowindex+'">'
                            +'<option value="1" >疑似适配</option><option value="2">完全适配</option></select></div>');
                  }
                  $('option[value="'+value+'"]',select).attr('selected',true);
                  return  select.prop("outerHTML");
          }},
          { display: '源数据集名称', name: 'adapterDatasetName', width: width[3], render: function (row, rowindex, value, column) {
            if(status =="1"){//已发布
              return row.adapterDatasetName;
            }else{//未发布
              var select=null;
              if(row.adapterDatasetId==undefined || row.adapterDatasetCode==undefined || row.adapterDatasetName==undefined){
                select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-dataset-name"  id="adapterDatasetName'+rowindex +'" ></select></div>');
              }else{
                select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-dataset-name"  id="adapterDatasetName'+rowindex +'" >'
                        +'<option value="'+row.adapterDatasetId+','+row.adapterDatasetCode+'">'+row.adapterDatasetName+'</option></select></div>');
              }
              $('option[value="'+value+'"]',select).attr('selected',true);
              return  select.prop("outerHTML");
            }
          }},
          { display: '源数据元编码', name: 'adapterMetadataCode', width: width[4], render: function (row, rowindex, value, column) {
            if(status =="1"){//已发布
              return row.adapterMetadataCode;
            }else {//未发布
              var select=null;
              if(row.adapterMetadataId==undefined || row.adapterMetadataCode==undefined || row.adapterMetadataName==undefined){
                select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-metadata-code"  id="adapterMetadataCode'+rowindex +'" ></select></div>');
              }else{
                if(row.adapterDictId==undefined) {
                  select = $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-metadata-code"  id="adapterMetadataCode'+rowindex+'" >'
                          +'<option value="'+row.adapterMetadataId+','+row.adapterMetadataName+'">'+row.adapterMetadataCode+'</option></select></div>');
                }else {
                  select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-metadata-code"  id="adapterMetadataCode'+rowindex+'" >'
                          +'<option value="'+row.adapterMetadataId+','+row.adapterMetadataName+','+row.adapterDictId +'">'+row.adapterMetadataCode+'</option></select></div>');
                }
              }
            ]
            if(status =="0") {//未发布
              columnCfg.push({ display: '操作', name: 'operator', width: '10%', render: function (row, rowindex, value, column) {
                var html = '<div class="m-inline-buttons" style="width:40px;">';
                html += '<a href="#" class="m-btn-clear" onclick="entryMaster.delete(\''+rowindex+'\',\'dict\')"></a>';
                return html;
              }});
              $('option[value="'+value+'"]',select).attr('selected',true);
              return  select.prop("outerHTML");
            }
          }
          return columnCfg;
        }
      };
          }},
          { display: '源数据元名称', name: 'adapterMetadataName', width: width[5], render: function (row, rowindex, value, column) {
            if(status =="1"){//已发布
              return row.adapterMetadataName;
            }else {//未发布
              var select=null;
              if(row.adapterMetadataId==undefined || row.adapterMetadataCode==undefined || row.adapterMetadataName==undefined){
                select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-metadata-name"  id="adapterMetadataName'+rowindex +'" ></select></div>');
              }else{
                select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-metadata-name"  id="adapterMetadataName'+rowindex +'" >'
                        +'<option value="'+row.adapterMetadataId+','+row.adapterMetadataCode+'">'+row.adapterMetadataName+'</option></select></div>');
              }
              $('option[value="'+value+'"]',select).attr('selected',true);
              return  select.prop("outerHTML");
            }
          }},
          { display: '源数据元类型', name: 'adapterDataType', width: width[6], render: function (row, rowindex, value, column) {
      //应用数据集编码-应用数据集名称联动公共方法
      function comAdapterDataset(that,requestType,targer,changeTarget){
        var index =that.attr("id").replace(targer,"");
        var adapterStdVersion = $("#adapter_std_version").val();
        var arr = that.val()==null?[]:that.val().split(",");
        var url = '${contextRoot}' + "/standardCenter/getDatasetCodeValues?stdVersion="+adapterStdVersion+"&rows=10&order=";
        if(arr.length>0){
          if(targer=="adapterDatasetCode"){
            var selectText = "";
            $('#adapterDatasetCode'+index+' option').each(function () {
              if($(this).val()==(arr[0]+","+arr[1])){
                selectText = $(this).html();
                return false;
            if(status =="1"){//已发布
              if(row.adapterDataType == 1) {
                return "编码";
              }else{
                return "值"
              }
            });
            url = '${contextRoot}' + "/standardCenter/getDatasetCodeValues?stdVersion="+adapterStdVersion+"&rows=9&order=&initVal="+selectText;//默认选中适配值
          }else{
            url = '${contextRoot}' + "/standardCenter/getDatasetCodeValues?stdVersion="+adapterStdVersion+"&rows=9&order=&initVal="+arr[1];//默认选中适配值
          }
            }else {//未发布
              var select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-metadata-type"  id="adapterDataType'+rowindex +'" >'
                      +'<option value="0">'+'值'+'</option>'
                      +'<option value="1">'+'编码'+'</option></select></div>');
        }
        return selectBind(that,arr,requestType,targer,changeTarget,index,url);
      }
              if(row.adapterDataType == null){
                value = 0;
              }
      //应用数据元编码-应用数据元名称联动公共方法
      function comAdapterMetaData(that,requestType,targer,changeTarget){
        var index =that.attr("id").replace(targer,"");
        var adapterDatasetArr = $("#adapterDatasetCode"+index).val()==null?[]:$("#adapterDatasetCode"+index).val().split(",");
        var arr = that.val()==null?[]:that.val().split(",");
        var adapterStdVersion = $("#adapter_std_version").val();
        if (adapterDatasetArr.length>0) {
          var url = '${contextRoot}' + "/standardCenter/getMetadataCodeValues?stdVersion="+adapterStdVersion+"&datasetId="+adapterDatasetArr[0]+"&rows=10&order=";
          if(arr.length>0){
            url = '${contextRoot}' + "/standardCenter/getMetadataCodeValues?stdVersion="+adapterStdVersion+"&datasetId="+adapterDatasetArr[0]+"&rows=10&order=&initMetadataNm="+arr[1];//默认选中适配值
              $('option[value="'+value+'"]',select).attr('selected',true);
              return  select.prop("outerHTML");
            }
          }},{
            display:'适配情况',name:'adapterInfo',width:'5%',render: function (row, rowindex, value, column) {
              var select=null;
              if(row.adapterDatasetId==undefined || row.adapterDatasetCode==undefined || row.adapterDatasetName==undefined){
                select= $('<div class="f-mt25"><select class="js-example-data-array" id="adapterInfo'+rowindex+'" ><option value="0">未适配</option></select></div>');
              }else{
                select= $('<div class="f-mt25"><select class="js-example-data-array" id="adapterInfo'+rowindex+'">'
                        +'<option value="1" >疑似适配</option><option value="2">完全适配</option></select></div>');
              }
              $('option[value="'+value+'"]',select).attr('selected',true);
              return  select.prop("outerHTML");
            }
          }
        }
        return selectBind(that,arr,requestType,targer,changeTarget,index,url);
      }
        ]
      //平台字典项编码-平台字典项名称联动公共方法
      function comStdDictEntry(that,requestType,targer,changeTarget){
        var index="";
        if(!Util.isStrEmpty(that.attr("id"))){
          index =that.attr("id").replace(targer,"");
        }
        var stdVersion = $("#std_version").val();
        var arr = that.val()==null?[]:that.val().split(",");
        var url = '${contextRoot}' + "/standardCenter/getDictEntryCodeValues?stdVersion="+stdVersion+"&dictId="+$("#std_dict_id").val()+"&rows=10&order=";
        if(arr.length>0){
          url = '${contextRoot}' + "/standardCenter/getDictEntryCodeValues?stdVersion="+stdVersion+"&dictId="+$("#std_dict_id").val()+"&rows=10&order=&initDictValue="+arr[1];//默认选中适配值
        if(status =="0"){//未发布
          columnCfg.push({ display: '操作', name: 'operator', width: '10%', render: function (row, rowindex, value, column) {
            var html = '<div class="m-inline-buttons" style="width:40px;">';
            html += '<a href="#" class="m-btn-clear" onclick="entryMaster.delete(\''+rowindex+'\',\'dataset\')"></a>';
            return html;
          }});
        }
        return selectBind(that,arr,requestType,targer,changeTarget,index,url);
      }
      //应用字典编码-应用字典名称联动公共方法
      function comAdapterDict(that,requestType,targer,changeTarget){
        var index =that.attr("id").replace(targer,"");
        var adapterStdVersion = $("#adapter_std_version").val();
        var arr = that.val()==null?[]:that.val().split(",");
        var url = '${contextRoot}' + "/standardCenter/getDictCodeValues?stdVersion="+adapterStdVersion+"&rows=10&order=";
        if(arr.length>0){
          if(targer=="adapterDictCode"){
            var selectText = "";
            $('#adapterDictCode'+index+' option').each(function () {
              if($(this).val()==(arr[0]+","+arr[1])){
                selectText = $(this).html();
                return false;
      else{
        columnCfg = [
          { display: 'id', name: 'id', hide:true },
          { display: 'stdDictId', name: 'stdDictId', hide:true },
          { display: 'stdEntryId', name: 'stdEntryId', hide:true },
          { display: 'adapterDictId', name: 'adapterDictId', hide:true },
          { display: 'adapterEntryId', name: 'adapterEntryId', hide:true },
          { display: '目标字典项编码', name: 'stdEntryCode', width: width[0], render: function (row, rowindex, value, column) {
            if(status =="1"){//已发布
              return row.stdEntryCode;
            }else {//未发布
              var select=null;
              if(row.stdEntryId==undefined || row.stdEntryCode==undefined || row.stdEntryValue==undefined){
                select= $('<div class="f-mt25"><select class="js-example-data-array sel-std-dictEntry-code"  id="stdEntryCode'+rowindex +'" ></select></div>');
              }else{
                select= $('<div class="f-mt25"><select class="js-example-data-array sel-std-dictEntry-code"  id="stdEntryCode'+rowindex+'" >'
                        +'<option value="'+row.stdEntryId+','+row.stdEntryValue+'">'+row.stdEntryCode+'</option></select></div>');
              }
            });
            url = '${contextRoot}' + "/standardCenter/getDictCodeValues?stdVersion="+adapterStdVersion+"&rows=9&order=&initVal="+selectText;//默认选中适配值
          }else{
            url = '${contextRoot}' + "/standardCenter/getDictCodeValues?stdVersion="+adapterStdVersion+"&rows=9&order=&initVal="+arr[1];//默认选中适配值
              $('option[value="'+value+'"]',select).attr('selected',true);
              return  select.prop("outerHTML");
            }
          }},
          { display: '目标字典项值', name: 'stdEntryValue', width: width[1], render: function (row, rowindex, value, column) {
            if(status =="1"){//已发布
              return row.stdEntryValue;
            }else {//未发布
              var select=null;
              if(row.stdEntryId==undefined || row.stdEntryCode==undefined || row.stdEntryValue==undefined){
                select= $('<div class="f-mt25"><select class="js-example-data-array sel-std-dictEntry-value"  id="stdEntryValue'+rowindex +'" ></select></div>');
              }else{
                select= $('<div class="f-mt25"><select class="js-example-data-array sel-std-dictEntry-value"  id="stdEntryValue'+rowindex +'" >'
                        +'<option value="'+row.stdEntryId+','+row.stdEntryCode+'">'+row.stdEntryValue+'</option></select></div>');
              }
              $('option[value="'+value+'"]',select).attr('selected',true);
              return  select.prop("outerHTML");
            }
          }},
          { display: '源字典编码', name: 'adapterDictCode', width: width[2], render: function (row, rowindex, value, column) {
            if(status =="1"){//已发布
              return row.adapterDictCode;
            }else {//未发布
              var select=null;
              if(row.adapterDictId==undefined || row.adapterDictCode==undefined || row.adapterDictName==undefined){
                select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-dict-code"  id="adapterDictCode'+rowindex +'" ></select></div>');
                dataRows++;
              }else{
                select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-dict-code"  id="adapterDictCode'+rowindex+'" >'
                        +'<option value="'+row.adapterDictId+','+row.adapterDictName+'">'+row.adapterDictCode+'</option></select></div>');
              }
              $('option[value="'+value+'"]',select).attr('selected',true);
              return  select.prop("outerHTML");
            }
          }},
          { display: '源字典名称', name: 'adapterDictName', width: width[3], render: function (row, rowindex, value, column) {
            if(status =="1"){//已发布
              return row.adapterDictName;
            }else {//未发布
              var select=null;
              if(row.adapterDictId==undefined || row.adapterDictCode==undefined || row.adapterDictName==undefined){
                select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-dict-name"  id="adapterDictName'+rowindex +'" ></select></div>');
              }else{
                select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-dict-name"  id="adapterDictName'+rowindex +'" >'
                        +'<option value="'+row.adapterDictId+','+row.adapterDictCode+'">'+row.adapterDictName+'</option></select></div>');
              }
              $('option[value="'+value+'"]',select).attr('selected',true);
              return  select.prop("outerHTML");
            }
          }},
          { display: '源字典项编码', name: 'adapterEntryCode', width: width[4], render: function (row, rowindex, value, column) {
            if(status =="1"){//已发布
              return row.adapterEntryCode;
            }else {//未发布
              var select=null;
              if(row.adapterEntryId==undefined || row.adapterEntryCode==undefined || row.adapterEntryValue==undefined){
                select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-dictEntry-code"  id="adapterEntryCode'+rowindex +'" ></select></div>');
              }else{
                select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-dictEntry-code"  id="adapterEntryCode'+rowindex+'" >'
                        +'<option value="'+row.adapterEntryId+','+row.adapterEntryValue+'">'+row.adapterEntryCode+'</option></select></div>');
              }
              $('option[value="'+value+'"]',select).attr('selected',true);
              return  select.prop("outerHTML");
            }
          }},
          { display: '源字典项值', name: 'adapterEntryValue', width: width[5], render: function (row, rowindex, value, column) {
            if(status =="1"){//已发布
              return row.adapterEntryValue;
            }else {//未发布
              var select=null;
              if(row.adapterEntryId==undefined || row.adapterEntryCode==undefined || row.adapterEntryValue==undefined){
                select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-dictEntry-value"  id="adapterEntryValue'+rowindex +'" ></select></div>');
              }else{
                select= $('<div class="f-mt25"><select class="js-example-data-array sel-adapter-dictEntry-value"  id="adapterEntryValue'+rowindex +'" >'
                        +'<option value="'+row.adapterEntryId+','+row.adapterEntryCode+'">'+row.adapterEntryValue+'</option></select></div>');
              }
              $('option[value="'+value+'"]',select).attr('selected',true);
              return  select.prop("outerHTML");
            }
          }},{
            display:'适配情况',name:'adapterInfo',width:'5%',render: function (row, rowindex, value, column) {
              var select=null;
              if(row.adapterEntryId==undefined || row.adapterEntryCode==undefined || row.adapterEntryValue==undefined){
                select= $('<div class="f-mt25"><select class="js-example-data-array" id="adapterInfo'+rowindex+'" ><option value="0">未适配</option></select></div>');
              }else{
                select= $('<div class="f-mt25"><select class="js-example-data-array" id="adapterInfo'+rowindex+'">'
                        +'<option value="1" >疑似适配</option><option value="2">完全适配</option></select></div>');
              }
              $('option[value="'+value+'"]',select).attr('selected',true);
              return  select.prop("outerHTML");
            }
          }
        }
        return selectBind(that,arr,requestType,targer,changeTarget,index,url);
      }
        ]
      //应用字典项编码-应用字典项名称联动公共方法
      function comAdapterDictEntry(that,requestType,targer,changeTarget){
        var index="";
        if(!Util.isStrEmpty(that.attr("id"))){
          index =that.attr("id").replace(targer,"");
        if(status =="0") {//未发布
          columnCfg.push({ display: '操作', name: 'operator', width: '10%', render: function (row, rowindex, value, column) {
            var html = '<div class="m-inline-buttons" style="width:40px;">';
            html += '<a href="#" class="m-btn-clear" onclick="entryMaster.delete(\''+rowindex+'\',\'dict\')"></a>';
            return html;
          }});
        }
        var adapterDictCodeArr = $("#adapterDictCode"+index).val()==null?[]:$("#adapterDictCode"+index).val().split(",");
        var adapterStdVersion = $("#adapter_std_version").val();
        var arr = that.val()==null?[]:that.val().split(",");
        if (adapterDictCodeArr.length>0) {
          var url = '${contextRoot}' + "/standardCenter/getDictEntryCodeValues?stdVersion="+adapterStdVersion+"&dictId="+adapterDictCodeArr[0]+"&rows=10&order=";
          if(arr.length>0){
            url = '${contextRoot}' + "/standardCenter/getDictEntryCodeValues?stdVersion="+adapterStdVersion+"&dictId="+adapterDictCodeArr[0]+"&rows=10&order=&initDictValue="+arr[1];//默认选中适配值
      }
      return columnCfg;
    }
  };
  //源数据集编码-源数据集名称联动公共方法
  function comAdapterDataset(that,requestType,targer,changeTarget){
    var index =that.attr("id").replace(targer,"");
    var adapterStdVersion = $("#adapter_std_version").val();
    var arr = that.val()==null?[]:that.val().split(",");
    var url = '${contextRoot}' + "/standardCenter/getDatasetCodeValues?stdVersion="+adapterStdVersion+"&rows=10&order=";
    if(arr.length>0){
      if(targer=="adapterDatasetCode"){
        var selectText = "";
        $('#adapterDatasetCode'+index+' option').each(function () {
          if($(this).val()==(arr[0]+","+arr[1])){
            selectText = $(this).html();
            return false;
          }
        }
        return selectBind(that,arr,requestType,targer,changeTarget,index,url);
        });
        url = '${contextRoot}' + "/standardCenter/getDatasetCodeValues?stdVersion="+adapterStdVersion+"&rows=9&order=&initVal="+selectText;//默认选中适配值
      }else{
        url = '${contextRoot}' + "/standardCenter/getDatasetCodeValues?stdVersion="+adapterStdVersion+"&rows=9&order=&initVal="+arr[1];//默认选中适配值
      }
      function selectBind(that,arr,requestType,targer,changeTarget,index,url) {
        var selectId = "";
    }
    return selectBind(that,arr,requestType,targer,changeTarget,index,url);
  }
  //源数据元编码-源数据元名称联动公共方法
  function comAdapterMetaData(that,requestType,targer,changeTarget){
    var index =that.attr("id").replace(targer,"");
    var adapterDatasetArr = $("#adapterDatasetCode"+index).val()==null?[]:$("#adapterDatasetCode"+index).val().split(",");
    var arr = that.val()==null?[]:that.val().split(",");
    var adapterStdVersion = $("#adapter_std_version").val();
    if (adapterDatasetArr.length>0) {
      var url = '${contextRoot}' + "/standardCenter/getMetadataCodeValues?stdVersion="+adapterStdVersion+"&datasetId="+adapterDatasetArr[0]+"&rows=10&order=";
      if(arr.length>0){
        url = '${contextRoot}' + "/standardCenter/getMetadataCodeValues?stdVersion="+adapterStdVersion+"&datasetId="+adapterDatasetArr[0]+"&rows=10&order=&initMetadataNm="+arr[1];//默认选中适配值
      }
    }
    return selectBind(that,arr,requestType,targer,changeTarget,index,url);
  }
  //目标字典项编码-目标字典项名称联动公共方法
  function comStdDictEntry(that,requestType,targer,changeTarget){
    var index="";
    if(!Util.isStrEmpty(that.attr("id"))){
      index =that.attr("id").replace(targer,"");
    }
    var stdVersion = $("#std_version").val();
    var arr = that.val()==null?[]:that.val().split(",");
    var url = '${contextRoot}' + "/standardCenter/getDictEntryCodeValues?stdVersion="+stdVersion+"&dictId="+$("#std_dict_id").val()+"&rows=10&order=";
    if(arr.length>0){
      url = '${contextRoot}' + "/standardCenter/getDictEntryCodeValues?stdVersion="+stdVersion+"&dictId="+$("#std_dict_id").val()+"&rows=10&order=&initDictValue="+arr[1];//默认选中适配值
    }
    return selectBind(that,arr,requestType,targer,changeTarget,index,url);
  }
  //源字典编码-源字典名称联动公共方法
  function comAdapterDict(that,requestType,targer,changeTarget){
    var index =that.attr("id").replace(targer,"");
    var adapterStdVersion = $("#adapter_std_version").val();
    var arr = that.val()==null?[]:that.val().split(",");
    var url = '${contextRoot}' + "/standardCenter/getDictCodeValues?stdVersion="+adapterStdVersion+"&rows=10&order=";
    if(arr.length>0){
      if(targer=="adapterDictCode"){
        var selectText = "";
        if(arr.length>0 && requestType=="change"){
          var option ="";
          if(arr.length >2 && arr[2]!=undefined) {
            option = '<option value="'+arr[0]+","+  $('#'+that.attr("id")).find("option:selected").text()+ "," + arr[2] +'">'+arr[1]+'</option>';
          }else {
            option = '<option value="'+arr[0]+","+  $('#'+that.attr("id")).find("option:selected").text()+'">'+arr[1]+'</option>';
          }
          $("#"+changeTarget+index).html("");
          $("#"+changeTarget+index).append(option);
          if(targer=="adapterDatasetCode" || targer=="adapterDatasetName" || targer=="adapterDictCode" || targer=="adapterDictName"){
            selectId =  arr[0]+","+ arr[1];
            selectText = $('#'+that.attr("id")).find("option:selected").text();
        $('#adapterDictCode'+index+' option').each(function () {
          if($(this).val()==(arr[0]+","+arr[1])){
            selectText = $(this).html();
            return false;
          }
        });
        url = '${contextRoot}' + "/standardCenter/getDictCodeValues?stdVersion="+adapterStdVersion+"&rows=9&order=&initVal="+selectText;//默认选中适配值
      }else{
        url = '${contextRoot}' + "/standardCenter/getDictCodeValues?stdVersion="+adapterStdVersion+"&rows=9&order=&initVal="+arr[1];//默认选中适配值
      }
    }
    return selectBind(that,arr,requestType,targer,changeTarget,index,url);
  }
  //源字典项编码-源字典项名称联动公共方法
  function comAdapterDictEntry(that,requestType,targer,changeTarget){
    var index="";
    if(!Util.isStrEmpty(that.attr("id"))){
      index =that.attr("id").replace(targer,"");
    }
    var adapterDictCodeArr = $("#adapterDictCode"+index).val()==null?[]:$("#adapterDictCode"+index).val().split(",");
    var adapterStdVersion = $("#adapter_std_version").val();
    var arr = that.val()==null?[]:that.val().split(",");
    if (adapterDictCodeArr.length>0) {
      var url = '${contextRoot}' + "/standardCenter/getDictEntryCodeValues?stdVersion="+adapterStdVersion+"&dictId="+adapterDictCodeArr[0]+"&rows=10&order=";
      if(arr.length>0){
        url = '${contextRoot}' + "/standardCenter/getDictEntryCodeValues?stdVersion="+adapterStdVersion+"&dictId="+adapterDictCodeArr[0]+"&rows=10&order=&initDictValue="+arr[1];//默认选中适配值
      }
    }
    return selectBind(that,arr,requestType,targer,changeTarget,index,url);
  }
  function selectBind(that,arr,requestType,targer,changeTarget,index,url) {
    var selectId = "";
    var selectText = "";
    if(arr.length>0 && requestType=="change"){
      var option ="";
      if(arr.length >2 && arr[2]!=undefined) {
        option = '<option value="'+arr[0]+","+  $('#'+that.attr("id")).find("option:selected").text()+ "," + arr[2] +'">'+arr[1]+'</option>';
      }else {
        option = '<option value="'+arr[0]+","+  $('#'+that.attr("id")).find("option:selected").text()+'">'+arr[1]+'</option>';
      }
      $("#"+changeTarget+index).html("");
      $("#"+changeTarget+index).append(option);
      if(targer=="adapterDatasetCode" || targer=="adapterDatasetName" || targer=="adapterDictCode" || targer=="adapterDictName"){
        selectId =  arr[0]+","+ arr[1];
        selectText = $('#'+that.attr("id")).find("option:selected").text();
      }
        }else if(arr.length==0 && requestType=="change"){
          $("#"+changeTarget+index).html("");
        }
        if(Util.isStrEmpty(url)){
          var select2 =  that.select2({ placeholder: "只显示前10条结果",data:[]});
          return select2;
        }else{
          //查询下拉框数据
          var select2 =  that.select2({
            placeholder: "只显示前10条结果",
            ajax: {
              async:false,
              dataType : "json",
              url: url,
              processResults: function (data, page) {
                if(data.successFlg){
                  if(targer=="adapterDatasetCode" || targer=="adapterMetadataCode"
                          || targer=="adapterDictCode" || targer=="adapterEntryCode" || targer=="stdEntryCode"){//由于机构适配值的数据格式为id:id+“,”+code,text:name,但是机构适配值为id:id+","+name,text:code,所以需要重新组装数据
                    var toData;
                    var toArr = [];
                    var resultData = data.detailModelList||[];
                    if(targer=="adapterDatasetCode" || targer=="adapterDictCode" && resultData.length>0){//查询结果有值,才填充原本选中的值
                      toArr.push({id:selectId,text:selectText});
                    }
    }else if(arr.length==0 && requestType=="change"){
      $("#"+changeTarget+index).html("");
    }
    if(Util.isStrEmpty(url)){
      var select2 =  that.select2({ placeholder: "只显示前10条结果",data:[]});
      return select2;
    }else{
      //查询下拉框数据
      var select2 =  that.select2({
        placeholder: "只显示前10条结果",
        ajax: {
          async:false,
          dataType : "json",
          url: url,
          processResults: function (data, page) {
            if(data.successFlg){
              if(targer=="adapterDatasetCode" || targer=="adapterMetadataCode"
                      || targer=="adapterDictCode" || targer=="adapterEntryCode" || targer=="stdEntryCode"){//由于机构适配值的数据格式为id:id+“,”+code,text:name,但是机构适配值为id:id+","+name,text:code,所以需要重新组装数据
                var toData;
                var toArr = [];
                var resultData = data.detailModelList||[];
                if(targer=="adapterDatasetCode" || targer=="adapterDictCode" && resultData.length>0){//查询结果有值,才填充原本选中的值
                  toArr.push({id:selectId,text:selectText});
                }
                    for(var i=0;i<resultData.length;i++){
                      var name = resultData[i].text;
                      var id = "";
                      if(resultData[i].id.split(",").length >2) {
                        if(resultData[i].id.split(",")[2] != undefined) {
                          id = resultData[i].id==null?"": resultData[i].id.split(",")[0]+","+name + "," + resultData[i].id.split(",")[2];
                        }
                      }else {
                        id = resultData[i].id==null?"": resultData[i].id.split(",")[0]+","+name ;
                      }
                      var code =  resultData[i].id==null?"": resultData[i].id.split(",")[1];
                      toData = {id: id, text: code};
                      toArr.push(toData);
                for(var i=0;i<resultData.length;i++){
                  var name = resultData[i].text;
                  var id = "";
                  if(resultData[i].id.split(",").length >2) {
                    if(resultData[i].id.split(",")[2] != undefined) {
                      id = resultData[i].id==null?"": resultData[i].id.split(",")[0]+","+name + "," + resultData[i].id.split(",")[2];
                    }
                  }else {
                    id = resultData[i].id==null?"": resultData[i].id.split(",")[0]+","+name ;
                  }
                  var code =  resultData[i].id==null?"": resultData[i].id.split(",")[1];
                  toData = {id: id, text: code};
                  toArr.push(toData);
                }
                    return {
                      results:undulpicate(toArr)
                    };
                  }else{//机构适配名称
                    if(targer=="adapterDatasetName" || targer=="adapterDictName"){
                      var resultData = [];
                      var detailModelList = data.detailModelList;
                      if(detailModelList.length>0){
                        resultData.push({id:selectId,text:selectText});
                      }
                      for(var i=0;i<detailModelList.length;i++){
                        var  toData = {id: detailModelList[i].id, text: detailModelList[i].text};
                        resultData.push(toData);
                      }
                      return {
                        results:  undulpicate(resultData)
                      };
                    }else{
                      return {
                        results:  data.detailModelList
                      };
                    }
                return {
                  results:undulpicate(toArr)
                };
              }else{//机构适配名称
                if(targer=="adapterDatasetName" || targer=="adapterDictName"){
                  var resultData = [];
                  var detailModelList = data.detailModelList;
                  if(detailModelList.length>0){
                    resultData.push({id:selectId,text:selectText});
                  }
                  for(var i=0;i<detailModelList.length;i++){
                    var  toData = {id: detailModelList[i].id, text: detailModelList[i].text};
                    resultData.push(toData);
                  }
                  return {
                    results:  undulpicate(resultData)
                  };
                }else{
                  $.ligerDialog.error(data.message);
                  return {
                    results:  data.detailModelList
                  };
                }
              }
//                cache: true
              },
              escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
              minimumInputLength: 1,
            }else{
              $.ligerDialog.error(data.message);
            }
          })
          return select2;
        }
        function undulpicate(array){//删除数组重复元素
          array.sort();
          for(var i=0;i<array.length;i++) {
            for(var j=i+1;j<array.length;j++) {
              //注意 ===
              if(isObjectValueEqual(array[i],array[j])) {
                array.splice(j,1);
                j--;
              }
            }
          }
          return array;
//                cache: true
          },
          escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
          minimumInputLength: 1,
        }
        function isObjectValueEqual(a, b) {//判断两个对象的值是否相等
          var aProps = Object.getOwnPropertyNames(a);
          var bProps = Object.getOwnPropertyNames(b);
          if (aProps.length != bProps.length) {
            return false;
      })
      return select2;
    }
    function undulpicate(array){//删除数组重复元素
      array.sort();
      for(var i=0;i<array.length;i++) {
        for(var j=i+1;j<array.length;j++) {
          //注意 ===
          if(isObjectValueEqual(array[i],array[j])) {
            array.splice(j,1);
            j--;
          }
          for (var i = 0; i < aProps.length; i++) {
            var propName = aProps[i];
            if (a[propName] !== b[propName]) {
              return false;
            }
          }
          return true;
        }
      }
      return array;
    }
    function isObjectValueEqual(a, b) {//判断两个对象的值是否相等
      var aProps = Object.getOwnPropertyNames(a);
      var bProps = Object.getOwnPropertyNames(b);
      if (aProps.length != bProps.length) {
        return false;
      }
      for (var i = 0; i < aProps.length; i++) {
        var propName = aProps[i];
        if (a[propName] !== b[propName]) {
          return false;
        }
      }
      return true;
    }
  }
      /* *************************** 页面功能 **************************** */
      $(function () {
      pageInit();
    });
  /* *************************** 页面功能 **************************** */
  $(function () {
    pageInit();
  });
</script>

File diff suppressed because it is too large
+ 35 - 0
src/main/webapp/develop/lib/plugin/echarts-2.2.7/echarts-all.js


File diff suppressed because it is too large
+ 20 - 0
src/main/webapp/develop/lib/plugin/echarts-2.2.7/echarts.js