import axios from "axios";
import {Message, notification} from "ant-design-vue";
import qs from 'qs';
import JSONBIG from 'json-bigint';

var fmBaseUrl =
    process.env.VUE_APP_MERGE == 1 ? process.env.VUE_APP_BASE_URL_FM : "";
var MOrDFEBaseUrl =
    process.env.VUE_APP_MERGE == 1 ? process.env.VUE_APP_BASE_URL_MFE : "";

var isLook = getCookie("isLook") ? getCookie("isLook") : 1; //查看=1，编制=2

axios.defaults.timeout = 60000;
axios.defaults.withCredentials = true;

console.log("调式模式:" + process.env.NODE_ENV + "调用ENV:" + process.env.VUE_APP_ENV);
var globalSwitch = process.env.VUE_APP_ENV == 'localDev'; // 全局开关  true-本地开发  false-线上开发
var fmUrl;
if (process.env.VUE_APP_ENV == "dev") {
    //开发环境
    var requestUrl = "http://10.91.202.121:8081"; //后端地址
    fmUrl = "http://10.91.202.121:8081" + fmBaseUrl; //fm路径，用于跳转
} else if (process.env.VUE_APP_ENV == "production") {
    //开发环境
    var requestUrl = "http://10.91.202.121:8081"; //后端地址
    fmUrl = "http://10.91.202.121:8081" + fmBaseUrl; //fm路径，用于跳转
} else if (process.env.VUE_APP_ENV == 1081) {       //外部测试环境
    //测试环境
    var requestUrl = "http://139.196.74.209:8090"; //后端地址
    fmUrl = "http://139.196.74.209:8090" + fmBaseUrl; //fm路径，用于跳转
    // var requestUrl = "http://localhost:8080"; //后端地址
    // fmUrl = "http://localhost:8080" + fmBaseUrl; //fm路径，用于跳转
} else if (process.env.VUE_APP_ENV === 'test') { // 测试环境
    var requestUrl = window.apiObj.baseUrl;
    fmUrl = window.apiObj.baseUrl + fmBaseUrl;
} else if (process.env.VUE_APP_ENV === 'test8080') { // 8080测试环境
    var requestUrl = "http://1.117.58.199:8080";
    fmUrl = "http://1.117.58.199:8080" + fmBaseUrl;
} else if (process.env.VUE_APP_ENV === 'test57_171_8080') { // 8080测试环境
    var requestUrl = "http://121.4.57.171:8080";
    fmUrl = "http://121.4.57.171:8080" + fmBaseUrl;
} else if (process.env.VUE_APP_ENV == "uat") {        //上汽测试环境
    //ip测试环境
    var requestUrl = "http://10.132.108.11:8080"; //后端地址
    fmUrl = "http://10.132.108.11:8080" + fmBaseUrl; //fm路径，用于跳转
    // var requestUrl = "http://10.91.202.121:8087"; //后端地址
    // fmUrl = "http://10.91.202.121:8087" + fmBaseUrl; //fm路径，用于跳转
} else if (process.env.VUE_APP_ENV == "fmea") {
    //生产环境
    var requestUrl = "https://fmea.nioint.com"; //后端地址
    fmUrl = "https://fmea.nioint.com" + fmBaseUrl; //fm路径，用于跳转
} else if (process.env.VUE_APP_ENV == "domainUat") {
    //域名测试环境
    var requestUrl = "https://fmea-test.nioint.com"; //后端地址
    fmUrl = "https://fmea-test.nioint.com" + fmBaseUrl; //fm路径，用于跳转
} else if (process.env.VUE_APP_ENV == "local") {
    //开发环境
    var requestUrl = "http://10.91.202.121:8081"; //后端地址
    fmUrl = "http://10.91.202.121:8081" + fmBaseUrl; //fm路径，用于跳转
} else if (process.env.VUE_APP_ENV == "local8080") {
    var requestUrl = "http://192.168.0.178:8080"; //后端地址
    fmUrl = "http://192.168.0.178:8080" + fmBaseUrl; //fm路径，用于跳转
} else if (process.env.VUE_APP_ENV == "localDev") {
    //本地环境
    var requestUrl = "http://localhost:8080"; //后端地址
    fmUrl = "http://localhost:8080" + fmBaseUrl; //fm路径，用于跳转
}

axios.defaults.transformResponse = [
    function (data) {
        try {
            const json = JSONBIG({
                storeAsString: true
            });
            const res = json.parse(data);
            return res;
        } catch (e) {
            return data;
        }
    }
];

axios.defaults.baseURL = requestUrl; //后端地址
//http request 拦截器
axios.interceptors.request.use(
    (config) => {
        // 只针对get方式进行序列化
        if (config.method === 'get') {
            config.paramsSerializer = function (params) {
                return qs.stringify(params, {allowDots: true});
            };
        }
        // console.log('request 拦截前:');
        // console.log(config);
        if (config.data && config.data.sso && config.data.sso == "sso") {
            config.data = JSON.stringify(config.data);
            config.withCredentials = false;
            config.headers = {
                "Content-Type": "application/json;charset=UTF-8"
            };
        } else {
            var isFile = config.url.indexOf("importPartsExcel") != -1;
            var importExcel = config.url.indexOf("importExcel") != -1;
            var isUpload = config.url.indexOf("uploadFile") != -1;
            var isReliaBench = config.url.indexOf("/import") != -1;
            var historyChart = config.url.indexOf("uploadFmeaCharFile") != -1;
            if (isFile || isUpload || importExcel || isReliaBench || historyChart) {
                config.data = config.data;
                config.headers = {
                    "Content-Type": "multipart/form-data"
                };
            } else {
                config.data = JSON.stringify(config.data);
                config.headers = {
                    "Content-Type": "application/json;charset=UTF-8"
                };
            }
        }
        // console.log('request 拦截后:');
        // console.log(config);
        return config;
    },
    (error) => {
        // console.log('request 拦截err:');
        // console.log(error);
        return Promise.reject(err);
    }
);

//响应拦截器即异常处理
axios.interceptors.response.use(
    (response) => {
        console.log('response 拦截 success');
        console.log(response);
        if (
            response &&
            response.data &&
            response.data.code &&
            (response.data.code == 304 || response.data.code == 100)
        ) {
            console.log("系统登出！：", response);
            toLogin();
            throw new Error('登录超时');
        } else if (response && (response.data.code == 'E009905')) {
            // toLogin();
            location.href = fmUrl + '/#/unlicense';
            throw new Error('许可过期');
        } else if (response && (response.data.code == 'E009906')) {
            // toLogin();
            location.href = fmUrl + '/#/licenselimit?msg=' + (response.data.info ? response.data.info : undefined);
            throw new Error('许可人数上限');
        } else if (response && (response.data.code == 'E009949')) {
            // toLogin();
            location.href = fmUrl + '/#/licenseServer';
            throw new Error('服务器变更');
        }
        return response;
    },
    (err) => {
        if (err && err.response) {
            switch (err.response.status) {
                case 400:
                    console.log("错误请求");
                    // router.push({
                    // 	path: "/login",
                    // 	query: {
                    // 		redirect: router.currentRoute.fullPath
                    // 	} //从哪个页面跳转
                    // })
                    break;
                case 401:
                    console.log("未授权，请重新登录");
                    break;
                case 403:
                    console.log("拒绝访问");
                    break;
                case 404:
                    console.log("请求错误,未找到该资源");
                    break;
                case 405:
                    console.log("请求方法未允许");
                    break;
                case 408:
                    console.log("请求超时");
                    break;
                case 500:
                    console.log("服务器端出错");
                    break;
                case 501:
                    console.log("网络未实现");
                    break;
                case 502:
                    console.log("网络错误");
                    break;
                case 503:
                    console.log("服务不可用");
                    break;
                case 504:
                    console.log("网络超时");
                    break;
                case 505:
                    console.log("http版本不支持该请求");
                    break;
                default:
                    console.log(`连接错误${err.response.status}`);
            }
            if (!!err.response.data && !!err.response.data.message) {
                // if (!!err.response.data ? .message) {
                if (
                    err.response.data.code == "002" ||
                    err.response.data.code === "003" ||
                    err.response.data.code === "101" ||
                    err.response.data.code === "102" ||
                    err.response.data.code === "103" ||
                    err.response.data.code === "707"
                ) {
                    Message.warning(err.response.data.message);
                }
                console.log(err.response.data.message);
            }
        } else {
            console.log("连接到服务器失败");
        }
        // console.log('response 拦截err:');
        // console.log(err);
        return Promise.reject(err);
    }
);

export function goLogin(code) {
    console.log("public接口返回状态100,304,null?==", "code");
    if (code != null && (code == 304 || code == 100)) {
        toLogin();
    }
}

export function toLogin() {
    console.log("登录超时，将返回登录页面...")
    console.log('document.cookie before', document.cookie);
    localStorage.clear();
    clearAllCookie();
    console.log('document.cookie now', document.cookie);
    toLogin = function () {
    };
    let idxUrl = fmUrl + (process.env.VUE_APP_DDLogin == 1 ? "/#/sso" : "/#/login");
    console.log('idxUrl', idxUrl);
    if (process.env.VUE_APP_MERGE == 1) {
        notification.error({
            message: "错误",
            description: `登录超时，将返回登录页面`,
            duration: 1,
            onClose: function () {
                location.href = idxUrl;
            }
        });
    } else {
        notification.error({
            message: "错误",
            description: `登录超时，将返回登录页面!`,
            duration: 1,
            onClose: function () {
                location.href = idxUrl;
            }
        });
    }
}

function clearAllCookie() {
    var keys = document.cookie.match(/[^ =;]+(?=\=)/g);
    if (keys) {
        for (let i = keys.length; i--;) {
            document.cookie = keys[i] + '=0;expires=' + new Date(0).toUTCString();
        }
    }
}

/**
 * 封装get方法
 * @param url
 * @param params
 * @returns {Promise}
 */

export function fetch(url, params = {}, config) {
    return new Promise((resolve, reject) => {
        axios.get(url, Object.assign({
            params
        }, config)).then(
            (response) => {
                resolve(
                    response != null && response.data != null ? response.data : response
                );
            },
            (err) => {
                reject(err);
            }
        );
    });
}

/**
 * 封装post请求
 * @param url
 * @param data
 * @returns {Promise}
 */

export function post(url, data = {}, config) {
    return new Promise((resolve, reject) => {
        axios.post(url, data, config).then(
            (response) => {
                resolve(
                    response != null && response.data != null ? response.data : response
                );
            },
            (err) => {
                reject(err);
            }
        );
    });
}


/**
 * post请求，导入接口。
 * 特殊接口，需要增长超时时间，默认30分钟
 * @param url 地址
 * @param data 参数
 * @returns {Promise}
 */
export function postImport(url, data = {}) {
    return new Promise((resolve, reject) => {
        axios.post(url, data, {timeout: 30 * 60 * 1000}).then(
            (response) => {
                resolve(
                    response != null && response.data != null ? response.data : response
                );
            },
            (err) => {
                reject(err);
            }
        );
    });
}

/**
 * 封装patch请求
 * @param url
 * @param data
 * @returns {Promise}
 */

export function patch(url, data = {}) {
    return new Promise((resolve, reject) => {
        axios.patch(url, data).then(
            (response) => {
                resolve(response != null ? response.data : null);
            },
            (err) => {
                reject(err);
            }
        );
    });
}

/**
 * 封装put请求
 * @param url
 * @param data
 * @returns {Promise}
 */

export function put(url, data = {}) {
    return new Promise((resolve, reject) => {
        axios.put(url, data).then(
            (response) => {
                resolve(response);
            },
            (err) => {
                reject(err);
            }
        );
    });
}

/**
 * 封装delete请求
 * @param url
 * @param params
 * @returns {Promise}
 */
export function del(url, params = {}) {
    return new Promise((resolve, reject) => {
        axios.delete(url, params).then(
            (response) => {
                resolve(response);
            },
            (err) => {
                reject(err);
            }
        );
    });
}

// export function setCookie(name, value) {
// 	if (value) {
// 		var days = 1; //定义一天
// 		var exp = new Date();
// 		exp.setTime(exp.getTime() + days * 24 * 60 * 60 * 1000);
// 		// 写入Cookie, toGMTString将时间转换成字符串
// 		document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString;
// 	}
// }

export function getCookie(cookie_name) {
    var allcookies = document.cookie;
    var cookie_pos = allcookies.indexOf(cookie_name);
    if (cookie_pos != -1) {
        cookie_pos = cookie_pos + cookie_name.length + 1;
        var cookie_end = allcookies.indexOf(";", cookie_pos);
        if (cookie_end == -1) {
            cookie_end = allcookies.length;
        }
        var value = unescape(allcookies.substring(cookie_pos, cookie_end));
    }
    return value;
}

export function getUrlParam(paraName) {
    var url = document.location.toString();
    var arrObj = url.split("?");
    if (arrObj.length > 1) {
        var arrPara = arrObj[1].split("&");
        var arr;
        for (var i = 0; i < arrPara.length; i++) {
            arr = arrPara[i].split("=");
            if (arr != null && arr[0] == paraName) {
                return arr[1];
            }
        }
        return "";
    } else {
        return "";
    }
}

/**
 * 下面是获取数据的接口
 */
/**
 * 测试接口
 * 名称：exam
 * 参数：paramObj/null
 * 方式：fetch/post/patch/put
 */
export const api = {
    baseUrl: axios.defaults.baseURL,
    MOrDFEBaseUrl: MOrDFEBaseUrl,
    fmBaseUrl: fmBaseUrl,
    fmUrl: fmUrl,
    globalSwitch: globalSwitch,
    requestUrl: requestUrl,
    btnPms: isLook == 2,
    isLook: isLook,
    get: fetch,
    post: post,
    goLogin: goLogin,
    dev: process.env.NODE_ENV == "development",
    exam: function (paramObj) {
        return post("/home/getMsgList.do", paramObj);
    },

    getCookie: function (cookie_name) {
        var allcookies = document.cookie;
        var cookie_pos = allcookies.indexOf(cookie_name);
        if (cookie_pos != -1) {
            cookie_pos = cookie_pos + cookie_name.length + 1;
            var cookie_end = allcookies.indexOf(";", cookie_pos);
            if (cookie_end == -1) {
                cookie_end = allcookies.length;
            }
            var value = unescape(allcookies.substring(cookie_pos, cookie_end));
        }
        return value;
    },
    // 历史失效案例库添加- 点击编号查看 - 历史失效问题分析查看
    historyfailDetail: function (paramObj) {
        return post('/DFMEA/mfmeaHistoryFailLib/detail.do', paramObj);
    },
    // 知识库 - DFMEA历史失效案例库 - 历史失效问题分析详情查看
	getHistoryFailDetailPage: function (paramObj) {
		return post('/DFMEA/mfmeaHistoryFailLib/getHistoryFailDetailPage.do', paramObj);
	},
    getHistoryData: function (url, paramObj) {
        return fetch(url, paramObj);
    },
    // 获取更改级别字典
    getChangeLevelDict: function (paramObj) {
        return fetch("/DFMEA/projectDFMEA/getChangeLevelDict.do", paramObj);
    },
    getPFMEAChangeLevelDict: function (paramObj) {
        return fetch("/DFMEA/projectPFMEA/getChangeLevelDict.do", paramObj);
    },
    //获取功能分析左侧结构树
    getStruTree: function (fmeaId) {
        return post("/DFMEA/funAnalysis/getLeftTree.do", fmeaId);
    },
    //获取功能分析右侧结构树
    getFailTree: function (paramObj) {
        return post("/DFMEA/funAnalysis/getRightTree.do", paramObj);
    },
    //删除节点
    delNode: function (paramObj) {
        return post("/DFMEA/funAnalysis/delNode.do", paramObj);
    },
    //删除节点
    delNodes: function (paramObj) {
        return post("/DFMEA/funAnalysis/delNodes.do", paramObj);
    },
    //添加节点
    addNode: function (paramObj) {
        return post("/DFMEA/funAnalysis/addNode.do", paramObj);
    },
    //移动节点
    // moveNode: function (paramObj) {
    //     return post("/DFMEA/funAnalysis/moveNode.do", paramObj);
    // },
    //转换节点
    changeNodeType: function (paramObj) {
        return post("/DFMEA/funAnalysis/convertNode.do", paramObj);
    },
    //获取评分标准列表
    getStandardPageList: function (paramObj) {
        return post("/DFMEA/rfmStandard/getStandardPageList.do", paramObj);
    },
    //添加措施状态（优化措施 、初始措施状态）
    addMeasureState: function (paramObj) {
        return post("/DFMEA/funAnalysis/addMeasureState.do", paramObj);
    },
    // 获取当前节点的功能网信息
    getFuncNet: function (paramObj) {
        return post("/DFMEA/funAnalysis/getCurrentNodeFunctionNet.do", paramObj);
    },
    // 获取功能网可选择的上级结构
    getFuncNetParentStruList: function (paramObj) {
        return post("/DFMEA/funAnalysis/getFunctionNetParentNode.do", paramObj);
    },
    // 获取功能网可选择的下级结构
    getFuncNetChildrenStruList: function (paramObj) {
        return post("/DFMEA/funAnalysis/getFunctionNetChildrenNode.do", paramObj);
    },
    // 获取所选择节点下功能结构信息
    getFuncNetStruList: function (paramObj) {
        return post(
            "/DFMEA/funAnalysis/getFunctionNetSelectChildrenNode.do",
            paramObj
        );
    },
    // 新增功能网关联信息
    addFuncNet: function (paramObj) {
        return post("/DFMEA/funAnalysis/addFunctionNet.do", paramObj);
    },
    // 删除功能网节点
    delFuncNetNode: function (paramObj) {
        return post("/DFMEA/funAnalysis/delFunctionNet.do", paramObj);
    },
    //获取当前节点的失效网信息
    getFailNet: function (paramObj) {
        return post("/DFMEA/funAnalysis/getCurrentNodeFaultNet.do", paramObj);
    },
    // 获取失效网可选择的上级结构
    getFailNetParentStruList: function (paramObj) {
        return post("/DFMEA/funAnalysis/getFaultNetParentNode.do", paramObj);
    },
    // 获取失效网可选择的下级结构
    getFailNetChildrenStruList: function (paramObj) {
        return post("/DFMEA/funAnalysis/getFaultNetChildrenNode.do", paramObj);
    },
    //新增失效网关联信息
    addFailNet: function (paramObj) {
        return post("/DFMEA/funAnalysis/addFaultNet.do", paramObj);
    },
    //删除失效网节点
    delFailNetNode: function (paramObj) {
        return post("/DFMEA/funAnalysis/delFaultNet.do", paramObj);
    },
    // 获取失效网所选择节点下功能结构信息
    getFailNetStruList: function (paramObj) {
        return post(
            "/DFMEA/funAnalysis/getFaultNetSelectChildrenNode.do",
            paramObj
        );
    },
    //excel导入
    importExcel: function (paramObj) {
        return post("/DFMEA/funAnalysis/importExcel.do", paramObj);
    },
    //从reliaBench导入
    importReliaBench: function (url, paramObj) {
        return post(url, paramObj);
    },
    //获取fmeainfo
    fetchList: function (paramObj) {
        return post("/DFMEA/funAnalysis/getFmeaInfo.do", paramObj);
    },
    //fmea导入
    putFmeaImport: function (paramObj) {
        return post("/DFMEA/funAnalysis/importFmea.do", paramObj);
    },
    //选择FMEA并排查看
    putFmeaSide: function (paramObj) {
        return post("/DFMEA/mfmea/funAnalysis/abreastChooseFmeaPage.do", paramObj);
    },
    //并排查看粘贴节点：
    sidePaste: function (paramObj) {
        return post("/DFMEA/funAnalysis/abreastCopyPaste.do", paramObj);
    },
    //粘贴节点
    // paste: function(paramObj) {
    // 	return post("/DFMEA/funAnalysis/pasteNode.do", paramObj);
    // },
    //双击节点改名
    changeNodeName: function (paramObj) {
        return post("/DFMEA/funAnalysis/updateNodeName.do", paramObj);
    },
    //多级结构添加
    addMultiStruNode: function (paramObj) {
        return post("/DFMEA/funAnalysis/addMultilevelNode.do", paramObj);
    },
    //多级元素添加
    addMultiElementNode: function (paramObj) {
        return post("/DFMEA/funAnalysis/addMultilevelElement.do", paramObj);
    },
    //S、O、D修改
    changeSODValue: function (paramObj) {
        return post("/DFMEA/funAnalysis/updateNodeSOD.do", paramObj);
    },
    //获取内部零件列表
    getInternalParts: function (paramObj) {
        return post("/DFMEA/funAnalysis/getInsideParts.do", paramObj);
    },
    //获取外部零件列表
    getExternalParts: function (paramObj) {
        return post('/DFMEA/projectDFMEA/getBindOutPartsPageList.do', paramObj);
    },
    //获取内外部零件列表。 1内部，2外部
    getPartPageList: function (paramObj) {
        return post('/DFMEA/plan/getPartPageList.do', paramObj);
    },
    //上传文件
    uploadFile: function (paramObj) {
        return post("/DFMEA/file/uploadFile.do", paramObj);
    },
    // 获取沿用家族FMEA
    getQuoteMasterFmeaDiff: function (paramObj) {
        return fetch('/DFMEA/plan/getQuoteMasterFmeaDiff/' + paramObj);
    },
    // 同步完成后更新通知标识，当前被引用的fmea如果不升级版本则不会再通知
    updateReferenceVersion: function (paramObj) {
        return post('/DFMEA/plan/updateReferenceVersion', paramObj);
    },
    // 忽略家族FMEA版本差异
    ignoreMasterFmeaVerDiff: function (paramObj) {
        return post('/DFMEA/plan/ignoreMasterFmeaVerDiff', paramObj);
    },
    // 节点同步
    nodeSync: function (paramObj) {
        return post('/DFMEA/funAnalysis/nodeSync', paramObj);
    },
    checkRootNode: function (paramObj) {
        return post('/DFMEA/funAnalysis/checkRootNode', paramObj);
    },
    // 知识库同步到FMEA 通知 列表初始化
    getLibraryToFmeaDiff: function (paramObj) {
        return post('/DFMEA/libraryAssociationDfmea/libraryNoticeFmea/List', paramObj);
    },
    // 知识库同步到FMEA 通知 同步
    syncToFmea: function (paramObj) {
        return post('/DFMEA/libraryAssociationDfmea/syncToFmea', paramObj);
    },
    // 接口库同步到FMEA 通知 同步
    interfaceSyncToFmea: function (paramObj) {
      return post('/DFMEA/libraryAssociationDfmea/interfaceSyncToFmea', paramObj);
    },
    // 知识库同步到FMEA 通知 忽略
    ignoreToFmea: function (paramObj) {
        return post('/DFMEA/libraryAssociationDfmea/ignoreToFmea', paramObj);
    },
    /***************************** 评审意见 Start **********************************************/
    // 评审意见：保存
    saveComments: function (paramObj) {
        return post("/DFMEA/mfmea/funAnalysis/addComments.do", paramObj);
    },
    // 评审意见：更新
    updateComments: function (paramObj) {
        return post("/DFMEA/mfmea/funAnalysis/updateComments.do", paramObj);
    },
    // 评审意见：列表
    getComments: function (paramObj) {
        return post("/DFMEA/mfmea/funAnalysis/getComments.do", paramObj);
    },
    // 评审意见：撤销
    revokeComments: function (paramObj) {
        return post("/DFMEA/mfmea/funAnalysis/revokeComments.do", paramObj);
    },
    // 评审意见：删除
    deleteComments: function (paramObj) {
        return post("/DFMEA/mfmea/funAnalysis/delComments.do", paramObj);
    },
    /***************************** 评审意见 End **********************************************/
    /***************************** 规划 Start **********************************************/
    // MFMEA - 获取绑定的团队成员列表
    getBindTeamMemberList: function (paramObj) {
        return post('/DFMEA/mfmeaPerson/getBindTeamMemberList.do', paramObj);
    },
    //根据关系查询用户列表
    getUserByRelationPageList: function (paramObj) {
        return post('/DFMEA/userManager/getUserByRelationPageList.do', paramObj);
    },
    getTopOrgManagePageList: function (paramObj) {
        return post('/DFMEA/userManager/getTopOrgManagePageList.do', paramObj);
    },
    // 获取用户分页列表 有项目fmea模块权限用户
    getUserListForFmeaPermission: function (paramObj) {
        return post('/DFMEA/userManager/getUserListForFmeaPermission', paramObj);
    },
    // Master DFMEA - 获取部门字典
    getDepartmentDict: function (paramObj) {
        return fetch('/DFMEA/masterFMEA/getDepartmentDict.do', paramObj);
    },
    // 获取项目成员用户分页列表 我的项目的项目成员
    getMyProjectUserPageList: function (paramObj) {
        return post('/DFMEA/userManager/getMyProjectUserPageList.do', paramObj);
    },
    // 项目MFMEA - 添加团队成员
    addTeamMember: function (paramObj) {
        return post('/DFMEA/mfmeaPerson/saveTeamMember.do', paramObj);
    },
    // 项目MFMEA - 修改团队成员
    editTeamMember: function (paramObj) {
        return post('/DFMEA/mfmeaPerson/saveTeamMember.do', paramObj);
    },
    // 项目MFMEA - 删除团队成员
    delTeamMember: function (paramObj) {
        return post('/DFMEA/mfmeaPerson/delTeamMember.do', paramObj);
    },
    /***************************** 规划 End **********************************************/
    //获取功能失效库
    getFunFailLib: function (paramObj) {
        return post("/DFMEA/funAnalysis/getFunFailLib.do", paramObj);
    },
    //获取关键产品特性二级菜单
    getProductClassify: function (paramObj) {
        return fetch("/DFMEA/funAnalysis/getProductClassify.do", paramObj);
    },
    // 获取：风险分析
    getRiskFailNet: function (paramObj) {
        return post("/DFMEA/mfmea/riskAnalysis/getRiskAnalysis.do", paramObj);
    },
    // 获取：风险链
    getRiskChain: function (paramObj) {
        return fetch("/DFMEA/mfmea/riskAnalysis/getRiskChain", paramObj);
    },
    // 项目FMEA - 获取项目编号列表（新）
    getFMEAProjectNoList: function (paramObj) {
      return post('/DFMEA/project/getPullDownOption.do', paramObj);
    },
    //获取部门树，根据部门ID
    getSysOrgTreeByOrgId: function (orgId) {
      return fetch('/DFMEA/org/getSysOrgTree/' + orgId);
    },
    // 知识库 - 历史失效案例库 - 列表
    historyfailList: function (paramObj) {
      return post('/DFMEA/mfmeaHistoryFailLib/list.do', paramObj);
    },
    //调研
    getResearch: function (paramObj) {
        return post("/DFMEA/mfmea/research/getResearch.do", paramObj);
    },
    // 已勾选的历史失效案例库
    existResearch: function (paramObj) {
      return fetch("/DFMEA/mfmea/research/existResearch.do", paramObj);
    },
    //从失效案例库添加--分页列表
    getHistoryFail: function (paramObj) {
        return post("/DFMEA/mfmea/research/getHistoryFail.do", paramObj);
    },
    //从失效案例库添加
    addResearch: function (paramObj) {
        return post("/DFMEA/mfmea/research/addResearch.do", paramObj);
    },
    //来源字典
    getSourceDict: function (paramObj) {
        return fetch("/DFMEA/mfmea/research/getSourceDict.do", paramObj);
    },
    //种类字典
    getTypeDict: function (paramObj) {
        return fetch("/DFMEA/mfmea/research/getTypeDict.do", paramObj);
    },
    //调研删除
    delResearch: function (paramObj) {
        return post("/DFMEA/mfmea/research/delResearch.do", paramObj);
    },
    //修改调研
    updateResearch: function (paramObj) {
        return post("/DFMEA/mfmea/research/updateResearch.do", paramObj);
    },
    //获取调研分析
    getResearchTree: function (paramObj) {
        return post("/DFMEA/mfmea/research/getResearchTree.do", paramObj);
    },
    //获取调研单条数据
    getOneResearch: function (paramObj) {
        return fetch("/DFMEA/mfmea/research/getOneResearch.do", paramObj);
    },
    //删除调研分析
    delResearchTree: function (paramObj) {
        return post("/DFMEA/mfmea/research/delResearchTree.do", paramObj);
    },
    // 取得历史失效与结构树勾选的数据
    getExistResearchTree: function (paramObj) {
        return post("/DFMEA/mfmea/research/existResearchTree.do", paramObj);
    },
    //添加调研分析
    addResearchTree: function (paramObj) {
        return post("/DFMEA/mfmea/research/addResearchTree.do", paramObj);
    },

    //措施追踪
    // 根据类型获取数据字典
    getDictByStruTypeCode: function (paramObj) {
        return fetch("/DFMEA/rdfmAction/getDictByStruTypeCode.do", paramObj);
    },
    //获取优化措施清单
    getOptMeasure: function (paramObj) {
        return post("/DFMEA/measureTrack/getOptMeasure.do", paramObj);
    },
    //获取负责人
    getResponsible: function (paramObj) {
        return fetch("/DFMEA/measureTrack/getResponsible.do", paramObj);
    },
    // 获取试验类型字典
    getProbeTypeDict: function (paramObj) {
        return fetch("/DFMEA/measureTrack/getProbeTypeDict.do", paramObj);
    },
    //编辑优化措施清单
    editOptMeasure: function (paramObj) {
        return post("/DFMEA/measureTrack/editOptMeasure.do", paramObj);
    },
    //储存文件
    saveFile: function (paramObj) {
        return post("/DFMEA/file/saveFile.do", paramObj);
    },
    //查看附件
    getAttament: function (paramObj) {
        return post("/DFMEA/measureTrack/getAttament.do", paramObj);
    },
    //删除文件
    deleteAttament: function (paramObj) {
        return post("/DFMEA/measureTrack/deleteAttament.do", paramObj);
    },
    //获取探测措施清单
    getProbeMeasure: function (paramObj) {
        return post("/DFMEA/measureTrack/getProbeMeasure.do", paramObj);
    },
    //编辑探测清单数据
    editProbeMeasure: function (paramObj) {
        return post("/DFMEA/measureTrack/editProbeMeasure.do", paramObj);
    },
    //获取合并时，附件列表
    mergeEcho: function (paramObj) {
        return post("/DFMEA/measureTrack/mergeEcho.do", paramObj);
    },
    //合并探测清单
    mergeProbeMeasure: function (paramObj) {
        return post("/DFMEA/measureTrack/mergeProbeMeasure.do", paramObj);
    },

    //总结归档
    //获取历史
    getHistoryReport: function (paramObj) {
        return fetch("/DFMEA/mfmea/summary/getHistoryReport.do", paramObj);
    },
    //获取优化措施状态
    getOptMeasureReport: function (paramObj) {
        return fetch("/DFMEA/mfmea/summary/getOptMeasureReport.do", paramObj);
    },
    //获取探测措施
    getProbeReport: function (paramObj) {
        return fetch("/DFMEA/mfmea/summary/getProbeTypeReport.do", paramObj);
    },
    //获取风险分析
    getRiskAnalysisReport: function (paramObj) {
        return fetch("/DFMEA/mfmea/summary/getRiskAnalysisReport.do", paramObj);
    },
    // 统计分析/优化前后风险报表查询
    riskReportSearch: function (paramObj) {
        return post('/DFMEA/mfmeaStatisticalAnalysis/RiskReport/search', paramObj);
    },
    // 流程定义列表
    getWfProcessList: function (paramObj) {
        return post('/DFMEA/wf/process/list', paramObj);
    },
    // 流程定义列表
    getActiveWfProcessList: function (paramObj) {
        return post('/DFMEA/wf/process/getActiveList', paramObj);
    },
    // 获取审批流程列表
    getProcessList: function (paramObj) {
      return post('/DFMEA/wf/processManage/processList', paramObj);
    },
    // 流程定义xml
    getWfXml: function (paramObj) {
        return post('/DFMEA/wf/process/getXml', paramObj);
    },
    // 工作流 - 获取用户分页列表
    getUserPageList: function (paramObj) {
        return post('/DFMEA/userManager/getUserPageList.do', paramObj);
    },

    //边界图
    //批量更新边界图位置大小等信息
    updateBmapData: function (paramObj) {
        return post("/DFMEA/chartmap/batchUpdate.do", paramObj);
    },
    //获取边界图连线信息
    getBmapLine: function (paramObj) {
        return fetch("/DFMEA/chartmap/getConnectData.do", paramObj);
    },
    //添加边界图连线信息
    addBmapLine: function (paramObj) {
        return post("/DFMEA/chartmap/addConnectData.do", paramObj);
    },
    //修改边界图连线信息
    updateBmapLine: function (paramObj) {
        return post("/DFMEA/chartmap/updateConnectData.do", paramObj);
    },
    //删除边界图连线信息
    deleteBmapLine: function (param) {
        return post("/DFMEA/chartmap/deleteConnectData/" + param + ".do");
    },
    //上移下移连线
    moveConnectData: function (paramObj) {
        return post("/DFMEA/chartmap/moveConnectData.do", paramObj);
    },

    uploadHistoryChartFile: function (paramObj) {
        return post('/DFMEA/mfmeaCharFile/uploadFmeaCharFile.do', paramObj);
    },
    getHistoryChartFileList: function (paramObj) {
        return fetch('/DFMEA/mfmeaCharFile/getFmeaCharFileList.do', paramObj);
    },
    loadFmeaCharFile: function (paramObj) {
        return fetch('/DFMEA/mfmeaCharFile/loadFmeaCharFile.do', paramObj);
    },
    removeFmeaChartFile: function (paramObj) {
        return fetch('/DFMEA/mfmeaCharFile/removeFmeaCharFile.do', paramObj);
    },
    // 编制页面进入时初始化
    initDraw: function (paramObj) {
        return post("/DFMEA/mfmea/funAnalysis/init", paramObj);
    },
    // 知识库-》Dfmea通知方法
    getQuoteLibraryToFmeaDiff: function (paramObj) {
        return post("/DFMEA/libraryAssociationDfmea/libraryNoticeFmea/" + paramObj);
    },
  // 知识库-》Dfmea通知--弹窗数据统计
  getQuoteLibraryToFmeaStatistics: function (paramObj) {
    return post("/DFMEA/libraryAssociationDfmea/libraryNoticeFmeaStatistics/" + paramObj);
  },


    /***************************** 功能分析 Start **********************************************/
    // 获取左侧结构树
    getLeftTree: function (paramObj) {
        return post("/DFMEA/mfmea/funAnalysis/rb0426314/func", paramObj);
    },
    // 获取右侧结构树
    getRightTree: function (paramObj) {
        return post("/DFMEA/mfmea/funAnalysis/rb0426314/fail", paramObj);
    },
    // 修改名称
    updateNodeName: function (paramObj) {
        return post("/DFMEA/mfmea/funAnalysis/rb0426351/save", paramObj);
    },
    // 结构：保存
    saveStructure: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/rb0426321/save', paramObj);
    },
    // 上级结构：保存
    saveParentStructure: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/rb0426314/addParent', paramObj);
    },
    // 多级结构：保存
    saveMultistageStructure: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/rb0426323/save', paramObj);
    },
    // 多级元素：保存
    saveMultilevelElement: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/rb0426326/save', paramObj);
    },
    // 功能：保存
    saveFunction: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/rb0426322/save', paramObj);
    },
    // 产品特征：保存
    saveProductFeature: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/rb0426322/save', paramObj);
    },
    // 要求：保存
    saveRequire: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/rb0426322/save', paramObj);
    },
    // 失效：保存
    saveFault: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/rb0426322/save', paramObj);
    },
    // 措施状态：保存
    saveMeasure: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/rb0426327/init', paramObj);
    },
    // 措施组：保存
    saveGroup: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/rb0426327/save', paramObj);
    },
    // 预防措施、探测措施：保存
    saveAction: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/rb0426329/save', paramObj);
    },
    // 粘贴节点
    pasteNode: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/rb0426314/paste', paramObj);
    },
    // 拖拽节点
    dropNode: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/rb0426314/drop', paramObj);
    },
    // 上移/下移
    moveNode: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/rb0426314/move', paramObj);
    },
    // 预防/探测措施、功能/产品：转换
    convertNode: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/rb0426314/convert', paramObj);
    },
    // 措施状态：转换
    convertMeasure: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/rb0426327/transformation', paramObj);
    },
    // 根节点：删除
    deleteRootNode: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/rb0426314/deleteRoot', paramObj);
    },
    // 删除节点：统计节点数量
    getDeleteNodeNumber: function (paramObj) {
        return fetch('/DFMEA/mfmea/recycle/getDeleteNodeNumber',  paramObj);
    },
    // 节点：删除
    deleteNode: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/rb0426314/delete', paramObj);
    },
    // 根节点：删除
    deleteNodeRoot: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/rb0426314/deleteRoot', paramObj);
    },
    // SOD：修改
    updateNodeSOD: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/updateNodeSOD', paramObj);
    },
    // 潜在关键特性：修改
    updateNodeClassify: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/updateNodeClassify', paramObj);
    },
    // MFMEA库选择：列表
    getMFMEALibrarySelect: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/rb042632A/init', paramObj);
    },
    // MFMEA库选择：保存
    saveMFMEALibrarySelect: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/rb042632A/save', paramObj);
    },
    // 知识库库选择：列表
    getNodeFromLibrarySelect: function (paramObj) {
        return post('/DFMEA/libraryAssociationDfmea/init', paramObj);
    },
    // 知识库库选择：保存
    saveNodeFromLibrarySelect: function (paramObj) {
        return post('/DFMEA/libraryAssociationDfmea/libraryAddToFmea', paramObj);
    },
    // 潜在关键特性：列表
    getKeyFeature: function (paramObj) {
        return fetch('/DFMEA/rfmPductClassify/Rb0426043/init', paramObj);
    },
    // 知识库 - 预防措施库 - 查询
    searchPreventiveMeasure: function (paramObj) {
        return post('/DFMEA/fmeaPreventiveMeasureLibrary/search.do', paramObj);
    },
    // 知识库 - 探测措施库 - 查询
    searchDetectionMeasure: function (paramObj) {
        return post('/DFMEA/fmeaDetectionMeasureLibrary/search.do', paramObj);
    },
    // 关联历史失效标题：列表
    getJoinHistoryFaultTitles: function (paramObj) {
        return post('/DFMEA/funAnalysis/listHistoryFailLibByFaultId', paramObj);
    },
    // 完整性检查
    integrityCheck: function (paramObj) {
        return post("/DFMEA/mfmea/funAnalysis/integrityCheck", paramObj);
    },
    // 获取评审意见跳转节点信息
    getCommentsStruId: function (paramObj) {
        return post("/DFMEA/mfmea/funAnalysis/comments", paramObj);
    },
    // 回收站 初始化
    getRecycleList: function (paramObj) {
        return fetch('/DFMEA/mfmea/recycle/init', paramObj);
    },
    // 回收站 恢复
    recoveryData: function (paramObj) {
        return post('/DFMEA/mfmea/recycle/nodeRecovery', paramObj);
    },
    /***************************** 功能分析 End *************************************************/

    /***************************** 功能网/失效网 Start *********************************************/
    // 功能网
    getFunctionNet: function (paramObj) {
        return fetch('/DFMEA/mfmeaFunNet/Rb0426351/init', paramObj);
    },
    // 功能网父集
    getFunctionNetParent: function (paramObj) {
        paramObj.directFlag = 0;
        return post('/DFMEA/mfmeaFunNet/Rb0426351/func', paramObj);
    },
    // 功能网子集
    getFunctionNetChildren: function (paramObj) {
        paramObj.directFlag = 1;
        return post('/DFMEA/mfmeaFunNet/Rb0426351/func', paramObj);
    },
    // 功能网树
    getFunctionNetTree: function (paramObj) {
        return post('/DFMEA/mfmeaFunNet/Rb0426351/func', paramObj);
    },
    // 功能网：保存
    saveFunctionNet: function (paramObj) {
        return post('/DFMEA/mfmeaFunNet/Rb0426351/add', paramObj);
    },
    // 功能网：删除
    deleteFunctionNet: function (paramObj) {
        return post('/DFMEA/mfmeaFunNet/Rb0426351/delete', paramObj);
    },
    // 功能网跳转失效网：列表
    getFunctionNetToFaultNet: function (paramObj) {
        return fetch('/DFMEA/mfmeaFunNet/Rb0426351/funcToFail', paramObj);
    },
    // 根据功能网，获取失效网
    getFaultNetByFunctionNet: function (paramObj) {
        return fetch('/DFMEA/mfmeaFailNet/Rb0426362/init', paramObj);
    },
    // 根据功能网，获取失效网父集
    getFaultNetParentByFunctionNet: function (paramObj) {
        paramObj.directFlag = 0;
        return post('/DFMEA/mfmeaFailNet/Rb0426362/fail', paramObj);
    },
    // 根据功能网，获取失效网子集
    getFaultNetChildrenByFunctionNet: function (paramObj) {
        paramObj.directFlag = 1;
        return post('/DFMEA/mfmeaFailNet/Rb0426362/fail', paramObj);
    },
    // 失效网
    getFaultNet: function (paramObj) {
        return fetch('/DFMEA/mfmeaFailNet/Rb0426361/init', paramObj);
    },
    // 失效网父集
    getFaultNetParent: function (paramObj) {
        paramObj.directFlag = 0;
        return post('/DFMEA/mfmeaFailNet/Rb0426361/fail', paramObj);
    },
    // 失效网子集
    getFaultNetChildren: function (paramObj) {
        paramObj.directFlag = 1;
        return post('/DFMEA/mfmeaFailNet/Rb0426361/fail', paramObj);
    },
    // 失效网树
    getFaultNetTree: function (paramObj) {
        return post('/DFMEA/mfmeaFailNet/Rb0426361/fail', paramObj);
    },
    // 失效网：保存
    saveFaultNet: function (paramObj) {
        return post('/DFMEA/mfmeaFailNet/Rb0426361/add', paramObj);
    },
    // 失效网：删除
    deleteFaultNet: function (paramObj) {
        return post('/DFMEA/mfmeaFailNet/Rb0426361/delete', paramObj);
    },
    // 失效网跳转功能网：列表
    getFaultNetToFunctionNet: function (paramObj) {
        return fetch('/DFMEA/mfmeaFailNet/Rb0426361/failToFunc', paramObj);
    },
    /***************************** 功能网/失效网 End ***********************************************/

    /***************************** 功能分析：合并 Start **********************************************/
    // 结构合并：列表
    getStructureMerge: function (paramObj) {
        return post('/DFMEA/funAnalysis/Rb0426131/init', paramObj);
    },
    // 结构合并：保存
    saveStructureMerge: function (paramObj) {
        return post('/DFMEA/funAnalysis/Rb0426131/save', paramObj);
    },
    // 功能合并：列表
    getFunctionMerge: function (paramObj) {
        return post('/DFMEA/funAnalysis/Rb0426132/init', paramObj);
    },
    // 结构合并：保存
    saveFunctionMerge: function (paramObj) {
        return post('/DFMEA/funAnalysis/Rb0426132/save', paramObj);
    },
    // 产品特性合并：列表
    getProductFeatureMerge: function (paramObj) {
        return post('/DFMEA/funAnalysis/Rb0426132/init', paramObj);
    },
    // 产品特性合并：保存
    saveProductFeatureMerge: function (paramObj) {
        return post('/DFMEA/funAnalysis/Rb0426132/save', paramObj);
    },
    // 要求合并：列表
    getRequireMerge: function (paramObj) {
        return post('/DFMEA/funAnalysis/Rb0426132/init', paramObj);
    },
    // 要求合并：保存
    saveRequireMerge: function (paramObj) {
        return post('/DFMEA/funAnalysis/Rb0426132/save', paramObj);
    },
    // 失效合并：列表
    getFaultMerge: function (paramObj) {
        return post('/DFMEA/funAnalysis/Rb0426136/init', paramObj);
    },
    // 失效合并：保存
    saveFaultMerge: function (paramObj) {
        return post('/DFMEA/funAnalysis/Rb0426136/save', paramObj);
    },
    // 优化措施合并：列表
    getOptimizeMeasureMerge: function (paramObj) {
        return post('/DFMEA/funAnalysis/Rb0426137/init', paramObj);
    },
    // 优化措施合并：保存
    saveOptimizeMeasureMerge: function (paramObj) {
        return post('/DFMEA/funAnalysis/Rb0426137/save', paramObj);
    },
    // 措施组合并：列表
    getGroupMerge: function (paramObj) {
        return post('/DFMEA/funAnalysis/Rb0426137/init', paramObj);
    },
    // 措施组合并：保存
    saveGroupMerge: function (paramObj) {
        return post('/DFMEA/funAnalysis/Rb0426137/save', paramObj);
    },
    // 预防措施合并：列表
    getPreventionMeasureMerge: function (paramObj) {
        return post('/DFMEA/funAnalysis/Rb0426139/init', paramObj);
    },
    // 预防措施合并：保存
    savePreventionMeasureMerge: function (paramObj) {
        return post('/DFMEA/funAnalysis/Rb0426139/save', paramObj);
    },
    // 探测措施合并：列表
    getProbeMeasureMerge: function (paramObj) {
        return post('/DFMEA/funAnalysis/Rb0426139/init', paramObj);
    },
    // 探测措施合并：保存
    saveProbeMeasureMerge: function (paramObj) {
        return post('/DFMEA/funAnalysis/Rb0426139/save', paramObj);
    },
    /***************************** 功能分析：合并 End **********************************************/

    /***************************** 功能分析：属性 Start **********************************************/
    // 结构属性：列表
    getStructureProperties: function (paramObj) {
        return fetch('/DFMEA/mfmeaProperties/Rb0426341/init', paramObj);
    },
    // 结构属性：保存
    saveStructureProperties: function (paramObj) {
        return post('/DFMEA/mfmeaProperties/Rb0426341/save', paramObj);
    },
    // 接口属性：列表
    getInterfaceProperties: function (paramObj) {
        return fetch('/DFMEA/mfmeaProperties/Rb0426341/init', paramObj);
    },
    // 接口属性：保存
    saveInterfaceProperties: function (paramObj) {
        return post('/DFMEA/mfmeaProperties/Rb0426341/save', paramObj);
    },
    // 功能属性：列表
    getFunctionProperties: function (paramObj) {
        return fetch('/DFMEA/mfmeaProperties/Rb0426342/init', paramObj);
    },
    // 功能属性：保存
    saveFunctionProperties: function (paramObj) {
        return post('/DFMEA/mfmeaProperties/Rb0426342/save', paramObj);
    },
    // 要求属性：列表
    getRequireProperties: function (paramObj) {
        return fetch('/DFMEA/mfmeaProperties/Rb0426345/init', paramObj);
    },
    // 要求属性：保存
    saveRequireProperties: function (paramObj) {
        return post('/DFMEA/mfmeaProperties/Rb0426345/save', paramObj);
    },
    // 产品特征属性：列表
    getProductFeatureProperties: function (paramObj) {
        return fetch('/DFMEA/mfmeaProperties/Rb0426344/init', paramObj);
    },
    // 产品特征属性：保存
    saveProductFeatureProperties: function (paramObj) {
        return post('/DFMEA/mfmeaProperties/Rb0426344/save', paramObj);
    },
    // 失效属性：列表
    getFaultProperties: function (paramObj) {
        return fetch('/DFMEA/mfmeaProperties/Rb0426346/init', paramObj);
    },
    // 失效属性：保存
    saveFaultProperties: function (paramObj) {
        return post('/DFMEA/mfmeaProperties/Rb0426346/save', paramObj);
    },
    // 当前措施属性：列表
    getCurrentMeasureProperties: function (paramObj) {
        return fetch('/DFMEA/mfmeaProperties/Rb0426347/init', paramObj);
    },
    // 当前措施属性：保存
    saveCurrentMeasureProperties: function (paramObj) {
        return post('/DFMEA/mfmeaProperties/Rb0426347/save', paramObj);
    },
    // 优化措施属性：列表
    getOptimizeMeasureProperties: function (paramObj) {
        return fetch('/DFMEA/mfmeaProperties/Rb0426347/init', paramObj);
    },
    // 优化措施属性：保存
    saveOptimizeMeasureProperties: function (paramObj) {
        return post('/DFMEA/mfmeaProperties/Rb0426347/save', paramObj);
    },
    // 措施组属性：列表
    getGroupProperties: function (paramObj) {
        return fetch('/DFMEA/mfmeaProperties/Rb0426348/init', paramObj);
    },
    // 措施组属性：保存
    saveGroupProperties: function (paramObj) {
        return post('/DFMEA/mfmeaProperties/Rb0426348/save', paramObj);
    },
    // 预防措施属性：列表
    getPreventiveMeasureProperties: function (paramObj) {
        return fetch('/DFMEA/mfmeaProperties/Rb0426349/init', paramObj);
    },
    // 预防措施属性：保存
    savePreventiveMeasureProperties: function (paramObj) {
        return post('/DFMEA/mfmeaProperties/Rb0426349/save', paramObj);
    },
    // 探测措施属性：列表
    getProbeMeasureProperties: function (paramObj) {
        return fetch('/DFMEA/mfmeaProperties/Rb0426340/init', paramObj);
    },
    // 探测措施属性：保存
    saveProbeMeasureProperties: function (paramObj) {
        return post('/DFMEA/mfmeaProperties/Rb0426340/save', paramObj);
    },
    /***************************** 功能分析：属性 End **********************************************/

    /***************************** 功能分析：顶部导航栏文件导入 Start *********************************************/
    // 四版导入
    fourVersionImport: function (paramObj) {
        return postImport("/DFMEA/rdfmImport/Rb04261C1/import", paramObj);
    },
    // 四版转新版导入
    fourToNewVersionImport: function (paramObj) {
        return postImport("/DFMEA/rdfmImport/Rb04261C2/import", paramObj);
    },
    // 新版导入
    newVersionImport: function (paramObj) {
        return postImport("/DFMEA/rdfmImport/Rb04261C3/import", paramObj);
    },
    // XML文件导入
    XMLImport: function (paramObj) {
        return postImport("/DFMEA/rdfmImport/Rb0426118/import", paramObj);
    },
    // RFMEA文件导入
    RFMEAImport: function (paramObj) {
        return postImport("/DFMEA/rdfmImport/Rb0426191/importJson", paramObj);
    },
    // 并排查看：列表
    getViewSideBySide: function (paramObj) {
        return fetch("/DFMEA/mfmea/funAnalysis/abreastChooseFmeaPage", paramObj);
    },
    // 粘贴：来自其他FMEA数据
    pasteNodeFromOtherFMEA: function (paramObj) {
        return post("/DFMEA/rdfmImport/Rb04261D2/paste", paramObj);
    },

    /***************************** 功能分析：顶部导航栏文件导入 End *********************************************/

    /***************************** 功能分析：顶部导航栏工具导入 Start *********************************************/
    // 批量编辑：初始化
    initBatchEdit: function (paramObj) {
        return fetch('/DFMEA/batchEdit/Rb04263N1/init', paramObj);
    },
    // 批量替换：查询
    getBatchReplace: function (paramObj) {
        return fetch('/DFMEA/batchEdit/Rb04263N1/search', paramObj);
    },
    // 批量编辑：保存
    saveBatchReplace: function (paramObj) {
        return post('/DFMEA/batchEdit/Rb04263N1/save', paramObj);
    },
    // 接口矩阵：列表
    getInterfaceMatrix: function (paramObj) {
        return fetch('/DFMEA/mfmeaInterfereMatrix/list', paramObj);
    },
    // 功能矩阵：列表
    getFunctionMatrix: function (paramObj) {
        return fetch('/DFMEA/mfmeaFunNet/Rb04263G2/search', paramObj);
    },
    // 功能矩阵：下级结构
    getFunctionMatrixChild: function (paramObj) {
        return fetch('/DFMEA/mfmeaFunNet/Rb04263G2/func', paramObj);
    },
    // 功能矩阵：保存
    saveFunctionMatrix: function (paramObj) {
        return post('/DFMEA/mfmeaFunNet/Rb04263G2/save', paramObj);
    },
    // 失效矩阵：列表
    getFailureMatrix: function (paramObj) {
        return fetch('/DFMEA/mfmeaFailNet/Rb04263M2/search', paramObj);
    },
    // 失效矩阵：保存
    saveFailureMatrix: function (paramObj) {
        return post('/DFMEA/mfmeaFailNet/Rb04263M2/save', paramObj);
    },
    // 变体矩阵/左侧树：列表
    getVariantMatrixLeftTree: function (paramObj) {
        return fetch('/DFMEA/mfmeaVariantMatrix/Rb04263V1/search', paramObj);
    },
    // 变体矩阵/右侧变体：列表
    getVariantMatrix: function (paramObj) {
        return fetch('/DFMEA/mfmeaVariantMatrix/Rb04263V1/searchVariant', paramObj);
    },
    // 变体：保存
    saveVariant: function (paramObj) {
        return post('/DFMEA/mfmeaVariantMatrix/Rb04263V1/add', paramObj);
    },
    // 变体：删除
    deleteVariant: function (paramObj) {
        return post('/DFMEA/mfmeaVariantMatrix/Rb04263V1/delete', paramObj);
    },
    // 变体名称：修改
    updateVariantName: function (paramObj) {
        return post('/DFMEA/mfmeaVariantMatrix/Rb04263V1/edit', paramObj);
    },
    // 变体矩阵表格：保存
    saveVariantMatrixTable: function (paramObj) {
        return post('/DFMEA/mfmeaVariantMatrix/Rb04263V1/save', paramObj);
    },
    // 变体下拉：列表
    getVariantMatrixSelect: function (paramObj) {
        return fetch('/DFMEA/mfmeaVariantMatrix/Rb0426314/init', paramObj);
    },
    // 变体下拉单条：列表
    getVariantMatrixByVariantId: function (paramObj) {
        return fetch('/DFMEA/mfmeaVariantMatrix/Rb04263V1/switchVariant', paramObj);
    },
    /***************************** 功能分析：顶部导航栏工具导入 End *********************************************/

    /***************************** 功能分析：顶部导航栏配置 Start *********************************************/
    // 用户定义的特性：列表
    getUserDefinedProperties: function (paramObj) {
        return fetch('/DFMEA/rdfmConfig/Rb0426091/init', paramObj);
    },
    // 用户定义的特性：报错
    saveUserDefinedProperties: function (paramObj) {
        return post('/DFMEA/rdfmConfig/Rb0426091/save', paramObj);
    },
    // 用户定义的特性：删除
    deleteUserDefinedProperties: function (paramObj) {
        return post('/DFMEA/rdfmConfig/Rb0426091/delete', paramObj);
    },
    // 用户定义的特性：修改
    updateUserDefinedProperties: function (paramObj) {
        return post('/DFMEA/rdfmConfig/Rb0426091/update', paramObj);
    },
    // 备注配置：列表
    getNodesConfig: (paramObj) => {
        return fetch('/DFMEA/mfmeaNodesConfig/Rb0426393/init', paramObj);
    },
    // 备注配置：保存
    saveNodesConfig: (paramObj) => {
        return post('/DFMEA/mfmeaNodesConfig/Rb0426393/save', paramObj);
    },
    // 备注配置：新增
    addNodesConfig: (paramObj) => {
        return post('/DFMEA/mfmeaNodesConfig/Rb0426393/add', paramObj);
    },
    // 备注配置：修改
    updateNodesConfig: (paramObj) => {
        return post('/DFMEA/mfmeaNodesConfig/Rb0426393/update', paramObj);
    },
    // 备注配置：修改状态
    updateStatusNodesConfig: (paramObj) => {
        return post('/DFMEA/mfmeaNodesConfig/Rb0426393/state', paramObj);
    },
    // 获取备注分组：下拉
    getNodeGroupSelect: (paramObj) => {
        return post('/DFMEA/mfmeaNodesConfig/Rb0426394/select', paramObj);
    },
    // 功能种类：列表
    getFunctionType: function (paramObj) {
        return fetch('/DFMEA/mfmeaConfig/Rb04263B1/init', paramObj);
    },
    // 功能种类：保存
    saveFunctionType: function (paramObj) {
        return post('/DFMEA/mfmeaConfig/Rb04263B1/save', paramObj);
    },
    // 特性种类：列表
    getCharacteristicType: function (paramObj) {
        return fetch('/DFMEA/mfmeaConfig/Rb04263B2/init', paramObj);
    },
    // 特性种类：保存
    saveCharacteristicType: function (paramObj) {
        return post('/DFMEA/mfmeaConfig/Rb04263B2/save', paramObj);
    },
    // 评分标准：列表
    getScoringCriteria: function (paramObj) {
        return fetch('/DFMEA/mfmeaConfig/Rb04263B3/init', paramObj);
    },
    // 评分标准详情：列表
    getScoringCriteriaDetail: function (paramObj) {
        return fetch('/DFMEA/rfmStandard/Rb0426014/init.do', paramObj);
    },
    // 评分标准详情
    getScoringCriteriaDetailDefault: function (paramObj) {
        return fetch('/DFMEA/rfmStandard/Rb0426014/initDefault.do', paramObj);
    },
    // 评分标准：保存
    saveScoringCriteria: function (paramObj) {
        return post('/DFMEA/mfmeaConfig/Rb04263B3/save', paramObj);
    },
    // 行动优先级：列表
    getActionPriority: function (paramObj) {
        return fetch('/DFMEA/mfmeaConfig/Rb04263B4/init', paramObj);
    },
    // 行动优先级：保存
    saveActionPriority: function (paramObj) {
        return post('/DFMEA/mfmeaConfig/Rb04263B4/save', paramObj);
    },
    // MFMEA库：列表
    getMFMEALibrary: function (paramObj) {
        return fetch('/DFMEA/mfmeaConfig/Rb04263B8/init', paramObj);
    },
    // MFMEA库：保存
    saveMFMEALibrary: function (paramObj) {
        return post('/DFMEA/mfmeaConfig/Rb04263B8/save', paramObj);
    },

    // //获取当前特性种类

    //自动标记:保存
    saveRPClassify:function (paramObj) {
       return post('/DFMEA/rdfmProductClassify/saveRPClassify',paramObj);
    },
    //自动标记:列表
    getRPClassifyList:function (paramObj){
        return fetch('/DFMEA/rdfmProductClassify/getRPClassifyList',paramObj);
    },
    //自动标记:是否自动标记
    getRPClassifyState:function (paramObj){
        return  fetch('/DFMEA/rdfmProductClassify/getRPClassifyState',paramObj);
    },
    //自动标记:保存是否手动标记
    saveRPClassifyState:function (paramObj){
        return post('/DFMEA/rdfmProductClassify/saveRPClassifyState',paramObj);
    },
    //自动标记:变为手动删除配置管理
    deleteRPClassifyState:function (paramObj) {
        return post('/DFMEA/rdfmProductClassify/deleteRPClassifyState',paramObj);
    },
    //自动标记
    markRPClassifyState:function (paramObj) {
        return post('/DFMEA/rdfmProductClassify/mark',paramObj);
    },
    //特性自动标记
    getRfmPductClassifyDetail: function (paramObj) {
        return fetch('/DFMEA/rfmPductClassify/Rb0426043/init.do', paramObj);
    },
    // 接口库：列表
    getInterfaceLibrary: function (paramObj) {
        return fetch('/DFMEA/mfmeaConfig/Rb04263B9/init', paramObj);
    },
    // 接口库：保存
    saveInterfaceLibrary: function (paramObj) {
        return post('/DFMEA/mfmeaConfig/Rb04263B9/save', paramObj);
    },
    // 语言设置：列表
    getLanguageSettings: function (paramObj) {
        return fetch('/DFMEA/rdfmNls/Rb0426181/init', paramObj);
    },
    // 语言设置：保存
    saveLanguageSettings: function (paramObj) {
        return postImport('/DFMEA/rdfmNls/Rb0426181/add', paramObj);
    },
    // 语言设置：删除
    deleteLanguageSettings: function (paramObj) {
        return postImport('/DFMEA/rdfmNls/Rb0426181/delete', paramObj);
    },
    // 显示语言：列表
    getSelectLanguages: function (paramObj) {
        return fetch('/DFMEA/rdfmNls/Rb0426182/init', paramObj);
    },
    // 显示语言：修改
    updateSelectLanguages: function (paramObj) {
        return post('/DFMEA/rdfmNls/Rb0426182/update', paramObj);
    },
    // 翻译/名称：列表
    getTranslationName: function (paramObj) {
        return fetch('/DFMEA/rdfmTranslate/Rb0426183/init', paramObj);
    },
    // 翻译/名称：保存
    saveTranslationName: function (paramObj) {
        return postImport('/DFMEA/rdfmTranslate/Rb0426183/save', paramObj);
    },
    // 翻译/名称：自动翻译
    autoTranslationName: function (paramObj) {
        return postImport('/DFMEA/rdfmTranslate/Rb0426183/auto', paramObj);
    },
    // 翻译/描述：列表
    getTranslationDescription: function (paramObj) {
        return fetch('/DFMEA/rdfmTranslate/Rb0426184/init', paramObj);
    },
    // 翻译/描述：保存
    saveTranslationDescription: function (paramObj) {
        return postImport('/DFMEA/rdfmTranslate/Rb0426184/save', paramObj);
    },
    // 翻译/描述：自动翻译
    autoTranslationDescription: function (paramObj) {
        return postImport('/DFMEA/rdfmTranslate/Rb0426184/auto', paramObj);
    },
    // 统计分析/获取数据统计
    getStatistics: function (paramObj) {
        return post('/DFMEA/mfmeaStatisticalAnalysis/Rb0426357/search', paramObj);
    },
    // 统计分析/失效统计分析
    faultStatisticalAnalysis: function (paramObj) {
        return post('/DFMEA/mfmeaStatisticalAnalysis/faultStatistic/analysis', paramObj);
    },
    // 统计分析/帕累托分析
    getParetoAnalysis: function (paramObj) {
        return post('/DFMEA/mfmeaStatisticalAnalysis/faultStatistic/search', paramObj);
    },
    // 统计分析/区间统计
    getIntervalStatistics: function (paramObj) {
        return post('/DFMEA/mfmeaStatisticalAnalysis/faultStatistic/intervalSearch', paramObj);
    },
    // 统计分析/风险矩阵
    getRiskMatrix: function (paramObj) {
        return post('/DFMEA/mfmeaStatisticalAnalysis/faultStatistic/search', paramObj);
    },
    // 统计分析/风险状况
    getRiskStatus: function (paramObj) {
        return post('/DFMEA/mfmeaStatisticalAnalysis/Rb0426328/search', paramObj);
    },
    // 风险分析统计表数据更新
    riskReportAnalysis: function (paramObj) {
        return post('/DFMEA/mfmeaStatisticalAnalysis/RiskReport/analysis', paramObj);
    },
    // 统计分析/风险表单
    getRiskTable: function (paramObj) {
        return post('/DFMEA/mfmeaStatisticalAnalysis/RiskReportForm/search',paramObj);
    },
    //日志管理:列表
    getLogManagentList: function (paramObj) {
        return fetch('/DFMEA/mfmeaUpgrade/Rb04263H1/search',paramObj);
    },
    /***************************** 功能分析：顶部导航栏配置 End *********************************************/

    /***************************** 措施追踪 Start *********************************************/
    // 措施追踪：列表
    getMeasureTrack: function (paramObj) {
        return fetch('/DFMEA/mfmeaAction/Rb0426391/search', paramObj);
    },
    // 措施追踪：分发任务
    handOutTasks: function (paramObj) {
        return fetch('/DFMEA/mfmeaAction/Rb0426391/distribute', paramObj);
    },
    // 措施追踪：取消分发任务
    cancelDistribution: function (paramObj) {
        return fetch('/DFMEA/mfmeaAction/Rb0426391/cancelDistribution', paramObj);
    },
    // 措施追踪：批量保存
    saveBatchMeasureTrack: function (paramObj) {
        return post('/DFMEA/mfmeaAction/Rb0426391/saveBatch', paramObj);
    },
    // 团队成员：列表
    getTeamMember: function (paramObj) {
        return fetch('/DFMEA/mfmeaPerson/Rb04263Z1/init', paramObj);
    },
    // 措施追踪：编辑初始化
    initMeasureTrackEdit: function (paramObj) {
        return fetch('/DFMEA/mfmeaAction/Rb0426391/edit', paramObj);
    },
    // 措施追踪：编辑保存
    saveMeasureTrackEdit: function (paramObj) {
        return post('/DFMEA/mfmeaAction/Rb0426391/save', paramObj);
    },
    // DVP：列表
    getDVP: function (paramObj) {
        return fetch('/DFMEA/rdfmDVPRTable/Rb0426192/search', paramObj);
    },
    // DVP：列表
    getMoreDVP: function (paramObj) {
        return fetch('/DFMEA/rdfmDVPRTable/Rb0426192/searchs', paramObj);
    },
    // DAP：列表
    getDAP: function (paramObj) {
        return fetch('/DFMEA/rdfmDAPRTable/search', paramObj);
    },
    // DAP：列表
    updateDAPText: function (paramObj) {
        return post('/DFMEA/rdfmDAPRTable/modify', paramObj);
    },
    /***************************** 措施追踪 End *********************************************/

    /***************************** 总结归档 Start *********************************************/
    // 特性分类：列表
    getFeatureClassification: function (paramObj) {
        return fetch('/DFMEA/mfmeaFeatureList/Rb9900124/init', paramObj);
    },
    // 特性清单：列表
    getFeatureList: function (paramObj) {
        return fetch('/DFMEA/mfmeaFeatureList/Rb04263I1/init', paramObj);
    },
    //特性清单:导出
    XLSXExport:function (paramObj) {
        return   fetch('/DFMEA/mfmeaFeatureList/Rb04263I1/export', paramObj);
    },
    // 功能清单 初始化
    getFunctionList: function (paramObj) {
        return fetch('/DFMEA/mfmeaFunctionList/init', paramObj);
    },
    // 功能清单 导出
    functionListExport: function (paramObj) {
        return fetch('/DFMEA/mfmeaFunctionList/export', paramObj);
    },
    // 失效清单 初始化
    getInvalidList: function (paramObj) {
        return fetch('/DFMEA/mfmeaFaultList/init', paramObj);
    },
    // 失效清单 导出
    invalidListExport: function (paramObj) {
        return fetch('/DFMEA/mfmeaFaultList/export', paramObj);
    },
    // 设备点检表 初始化
    getInspectionData: function (paramObj) {
        return fetch('/DFMEA/mfmeaEquipmentInspection/init', paramObj);
    },
    // DRBFM：列表
    getDRBFM: function (paramObj) {
        return fetch('/DFMEA/rdfmDRBFMTable/Rb04261F1/search', paramObj);
    },
    // FMEA表格：列表
    getFmeaTable: function (paramObj) {
        return post('/DFMEA/MfmeaFmeaTable/Rb04263A1/search', paramObj);
    },
    // FMEA表格Vdan：列表
    getFmeaVdanTable: function (paramObj) {
        return fetch('/DFMEA/MfmeaFmeaTable/Rb0426302/search', paramObj);
    },
    // FMEA表格Vdan：保存
    saveFmeaVdanTable: function (paramObj) {
        return post('/DFMEA/MfmeaFmeaTable/Rb04263A1/save', paramObj);
    },
    // FMEA表格-更新S值
    updateFaultSignific: function (paramObj) {
        return post('/DFMEA/MfmeaFmeaTable/updateFaultSignific', paramObj);
    },
    // FMEA表格-更新OD值
    updateGroupByODCount: function (paramObj) {
        return post('/DFMEA/MfmeaFmeaTable/updateGroupByODCount', paramObj);
    },
    // FMEA表格-查询措施
    getGroupByMeasureList: function (paramObj) {
        return post('/DFMEA/MfmeaFmeaTable/getGroupByMeasureList', paramObj);
    },
    // FMEA表格-新增/修改措施
    updateAndAddMeasure: function (paramObj) {
        return post('/DFMEA/MfmeaFmeaTable/updateAndAddMeasure', paramObj);
    },
    /***************************** 总结归档 End *********************************************/

    //结构网
    getStruNetData: function (paramObj) {
        return fetch('/DFMEA/mfmeaStruNet/Rb0426352/init', paramObj);
    },
    //边界图
    getBoundaryData: function (paramObj) {
        return post('/DFMEA/mfmeaBoundaryMap/Rb04263G3/initChart', paramObj);
    },
    /*getBoundaryData2: function (paramObj) {
        return fetch('/DFMEA/rdfmBoundaryMap/Rb04261G1/init', paramObj);
    },*/
    //移动边界图元素
    moveBoundaryData: function (paramObj) {
        return post('/DFMEA/mfmeaBoundaryMap/Rb04263G3/update', paramObj);
    },
    //保存边界图连线
    saveBoundaryLinkData: function (paramObj) {
        return post('/DFMEA/mfmeaBoundaryMap/Rb04263G3/save', paramObj);
    },
    //获取边界图连线明细
    getBoundaryLinkDetail: function (paramObj) {
        return post('/DFMEA/mfmeaBoundaryMap/Rb04263G3/initApiUpdatePage', paramObj);
    },
    //修改边界图节点
    updateBoundaryNodeDetail: function (paramObj) {
        return post('/DFMEA/mfmeaBoundaryMap/Rb04263G3/updateStruMsg', paramObj);
    },
    //获取边界图节点明细
    getBoundaryNodeDetail: function (paramObj) {
        return post('/DFMEA/mfmeaBoundaryMap/Rb04263G3/initStruUpdatePage', paramObj);
    },
    //保存接口
    saveOutStruChart: function (paramObj) {
        return post('/DFMEA/mfmeaBoundaryMap/Rb04263G3/saveOutStruChart', paramObj);
    },
    // 添加边界图
    addBoundary: function (paramObj) {
        return post('/DFMEA/mfmeaBoundaryMap/Rb04263G3/add', paramObj);
    },
    // 添加边界图
    addAllBoundary: function (paramObj) {
        return post('/DFMEA/mfmeaBoundaryMap/addAll', paramObj);
    },
    //显示隐藏边界图
    hiddenBoundary: function (paramObj) {
        return post('/DFMEA/mfmeaBoundaryMap/Rb04263G3/hidden', paramObj);
    },
    //批量显示隐藏边界图
    batchHiddenBoundary: function (paramObj) {
        return post('/DFMEA/mfmeaBoundaryMap/Rb04263G3/batchHidden', paramObj);
    },
    //边界图删除
    deleteBoundary: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/rb0426314/delete', paramObj);
    },
    //边界图隐藏
    hideBoundary: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/rb0426314/hideBoundary', paramObj);
    },
    //边界图左侧树
    getBoundaryStruTree: function (paramObj) {
        return post('/DFMEA/mfmeaBoundaryMap/Rb04263G3/func', paramObj);
    },
    //边界图结构转换
    structPartConversion: function (paramObj) {
        return post('/DFMEA/mfmeaBoundaryMap/Rb04263G3/structPartConversion', paramObj);
    },
    //边界图结构添加上一级
    addParent: function (paramObj) {
        return post('/DFMEA/mfmea/funAnalysis/rb0426314/addParent', paramObj);
    },
    // 边界图获取接口库
    getFmeaApiWarehouseLink: function (paramObj) {
        return fetch("/DFMEA/mfmeaBoundaryMap/getFmeaApiWarehouseLink", paramObj);
    },
    rdfmPdInit: function (paramObj) {
        return fetch('/DFMEA/rdfmPd/Rb04261P2/init', paramObj);
    },
    rdfmPdSave: function (paramObj) {
        return post('/DFMEA/rdfmPd/Rb04261P3/save', paramObj);
    },
    rdfmPdSaveInit: function (paramObj) {
        return fetch('/DFMEA/rdfmPd/Rb04261P3/init', paramObj);
    },
    rdfmPdPaste: function (paramObj) {
        return post('/DFMEA/rdfmPd/Rb04261P2/paste', paramObj);
    },
    rdfmPdDel: function (paramObj) {
        return post('/DFMEA/rdfmPd/Rb04261P2/delete', paramObj);
    },
    funAnalysisPdInit: function (paramObj) {
        return post('/DFMEA/funAnalysis/Rb042613A/init', paramObj);
    },
    funAnalysisPdSave: function (paramObj) {
        return post('/DFMEA/funAnalysis/Rb042613A/save', paramObj);
    },
    getLanguageList: function (paramObj) {
        return post('/DFMEA/languageList/getLanguageList', paramObj);
    },


    //D关联P
    // 项目PFMEA - 获取PFMEA类型字典
    getPFMEABusiTypeDict: function (paramObj) {
        return fetch('/DFMEA/projectPFMEA/getFMEABusiTypeDict.do', paramObj);
    },
    // 项目FMEA关联PFMEA
    quoteToPFMEA: function (paramObj) {
        return post('/DFMEA/projectDFMEA/quoteToPFMEA.do', paramObj);
    },
    // 项目FMEA关联PFMEA详细节点
    updateElementStru: function (paramObj) {
        return post('/DFMEA/projectDFMEA/updateElementStru.do', paramObj);
    },
    // 获取项目DFMEA关联的详细数据
    getFmeaElementStru: function (paramObj) {
        return post('/DFMEA/projectDFMEA/getFmeaElementStru.do', paramObj);
    },
    // 获取项目PEMEA状态字典
    getProjectPFMEAStateDict: function (paramObj) {
        return fetch('/DFMEA/projectPFMEA/getProjectFMEAStateDict.do', paramObj);
    },
    // 项目PFMEA - 项目编号列表
    getPFMEAMyProjectNoList: function (paramObj) {
        return fetch('/DFMEA/projectPFMEA/getMyProjectNoDict.do', paramObj);
    },
    // 项目PFMEA - 获取项目PFMEA分页列表
    getProjectPFMEAPageList: function (paramObj) {
        return post('/DFMEA/projectPFMEA/getProjectFMEAPageList.do', paramObj);
    },
    // 项目PFMEA - 获取所有项目PFMEA分页列表
    getAllProjectPFMEAPageList: function (paramObj) {
        return post('/DFMEA/projectPFMEA/getAllProjectFMEAPageList.do', paramObj);
    },
    // 项目PFMEA - 获取项目PFMEA分页列表
    getQuotePFMEAPageList: function (paramObj) {
        return post('/DFMEA/projectPFMEA/getQuotePFMEAPageList.do', paramObj);
    },
    // 项目PFMEA - 获取项目DFMEA使用的特性分类信息
    getFeatureClassifyDict: function (paramObj) {
        return fetch('/DFMEA/projectDFMEA/getFeatureClassifyDict.do', paramObj);
    },
    // 项目PFMEA - 全选关联的dfmea节点
    allSelectElementStru: function (paramObj) {
        return post('/DFMEA/projectDFMEA/allSelectElementStru.do', paramObj);
    },
    // 我的项目-项目编号列表
    myProjectNoList: function (paramObj) {
        return fetch('/DFMEA/rdfmMyProject/getMyProjectNoDict.do', paramObj);
    },
    // 修改国际化
    changeLocale: function (paramObj) {
        return fetch('/DFMEA/locale/changeLocale', paramObj);
    },
    //修复fmea数据
    repairFmeaData: function (paramObj) {
        return fetch('/DFMEA/DRepair/refresh.do?rfmeaId=' + paramObj);
    },
    // DFMEA成熟度管理--列表
    getDFMEAMaturityList: function (paramObj) {
        return fetch('/DFMEA/rdfmMaturity/getMaturityConfig', paramObj);
    },
    // DFMEA成熟度管理--保存
    saveDFMEAMaturityList: function (paramObj) {
        return post('/DFMEA/rdfmMaturity/saveMaturityConfig', paramObj);
    },
    // DFMEA成熟度管理--成熟度评估标准初始化
    getRdfmMaturityHelp: function (paramObj) {
        return fetch('/DFMEA/rdfmMaturity/getRdfmMaturityHelp', paramObj);
    },
    // DFMEA成熟度管理--成熟度评估初始化
    getRdfmMaturityDetail: function (paramObj) {
        return fetch('/DFMEA/rdfmMaturity/getRdfmMaturityDetail', paramObj);
    },
    // DFMEA成熟度管理--节点下拉框数据
    getEvaluationNodeList: function (paramObj) {
        return fetch('/DFMEA/rdfmMaturity/getEvaluationNodeList', paramObj);
    },
    // DFMEA成熟度管理--保存评分结果
    saveRdfmMaturityDetail: function (paramObj) {
        return post('/DFMEA/rdfmMaturity/saveMaturityDetail', paramObj);
    },
    // 完整性检查--检查统计表分页
    getCheckStatisticsPage(paramObj) {
        return post("/DFMEA/mfmea/funAnalysis/getCheckStatisticsPage.do", paramObj);
    },
    // 关联历史失效完整性检查
    integrityFailureCheck: function (paramObj) {
        return post("/DFMEA/mfmea/funAnalysis/integrityFailureCheck", paramObj);
    },
    /***************************** 变更记录 Start **********************************************/
    //变更记录 :新增
    changeRecordAdd: function (paramObj) {
      return post("/DFMEA/mfmeaUpgrade/Rb0426319/save.do", paramObj);
    },
    //变更记录 :列表
    getchangeRecordPageList: function (paramObj) {
      return fetch("/DFMEA/mfmeaUpgrade/Rb0426316/init.do", paramObj);
    },
    //变更记录:删除
    deleteChangeRecord: function (paramObj) {
      return post("/DFMEA/mfmeaUpgrade/Rb0426316/delete.do", paramObj);
    },
    //变更记录:更新
    updateChangeRecord: function (paramObj) {
      return post('/DFMEA/mfmeaUpgrade/Rb0426320/save.do', paramObj);
    },
    /***************************** 变更记录 End **********************************************/
    /***************************** 变更日志 start **********************************************/
    //变更日志:列表
    getChangeLogPageList:function (paramObj){
      return fetch('/DFMEA/rdfmUpgrade/Rb04261J1/search',paramObj);
    },
    /***************************** 变更日志 End **********************************************/
    // 页面加载获取表格列显隐
    getTableColumnsData: function (paramObj) {
      return post("/DFMEA/tableConfig/getCurrentTableConfig", paramObj);
    },
  // 保存页面表格配置及列显隐
  saveTableConfig: function (paramObj) {
    return post("/DFMEA/tableConfig/saveCurrentTableConfig", paramObj);
  },
    // 功能分析--功能/失效AI查询
    getNodeAiData: function (paramObj) {
        return fetch('/DFMEA/funAnalysis/getNodeAiData', paramObj);
    },
    // 功能分析--功能/失效AI推理
    saveNodeAiInference: function (paramObj) {
        return post('/DFMEA/funAnalysis/saveNodeAiInference', paramObj);
    },
    // 功能分析--严重度(S)AI推理
    saveSodAiInference: function (paramObj) {
        return post('/DFMEA/funAnalysis/saveSodAiInference', paramObj);
    },
    // 功能分析--预防/探测措施AI推理
    saveMeasureiAiInference: function (paramObj) {
        return post('/DFMEA/funAnalysis/saveMeasureiAiInference', paramObj);
    },
    // AI配置--初始化配置
    initAiConfig: function (paramObj) {
        return fetch('/DFMEA/sysAiConfig/initAiConfig.do', paramObj);
    },
};
