app.controller("SampleTestCtrl", ['$scope','$http', 'JCBZ', 'YPJBXXGL', 'PJBZ', 'JLDW', '$state', '$stateParams', '$uibModal', 'DWHS', "$timeout", "$sessionStorage", function ($scope,$http, JCBZ, YPJBXXGL, PJBZ, JLDW, $state, $stateParams, $uibModal, DWHS, $timeout, $sessionStorage) { //alert($stateParams.id); $scope.close = function () { //var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引 //parent.layer.close(index); //再执行关闭 closelayer(); } //*******************表格中的内容**********************/ $scope.cydbh = $stateParams.CYDBH; var CYDBH = "_id eq '" + $stateParams.id + "'"; // console.log(CYDBH); $scope.jcxmData = []; $http.get(Gaddress + "/home/JYXM?$filter=" + CYDBH, {}).success(function (data) { debugger; $scope.rwbh = data.value[0].RWBH; angular.forEach(data.value[0].JCXXX, function (data1) { debugger; console.log(angular.toJson(data1)); // alert(data1.roleId); var xiaolei = data1.JCXL == "" || data1.JCXL == undefined ? data1.JCPZ : data1.JCXL; var jczdwstr = ""; try { jczdwstr = data1.jczDW == '' || data1.jczDW == undefined ? data1.ffjcxDW : data1.jczDW; } catch (e) { jczdwstr = data1.ffjcxDW; } var dd = { roleName: data1.roleName, roleId: data1.roleId, JCXL: xiaolei, JCYL: data1.JCYL, JCDL: data1.JCDL, id: data1.roleId, JCXM: data1.roleName, JCFF: data1.JCFF, JCBZ: data1.JCBZ, ffjcx: data1.ffjcx, ffdlx: data1.ffdlx, ffjcxDW: data1.ffjcxDW, jczDW: jczdwstr, ffdlxDW: data1.ffdlxDW, jcz: data1.jcz, Yzhen: data1.Yzhen, JCMC: data1.JCMC, PJBZ: data1.PJBZ, bzz: data1.bzz, bzzdw: data1.bzzdw, Type: data1.Type, } $scope.jcxmData.push(dd); //console.log(angular.toJson($scope.jcxmData)); }) // $scope.DisPro = data.value[0].DisPro;//给不合格项目赋值 // $scope.ProPro = data.value[0].ProPro;//给问题项目赋值 // $scope.DisAndPro = data.value[0].DisAndPro;//给不合格/问题项目赋值 ////$scope.OkPro = data.value[0].JCXXX[0].OkPro;//给合格项目赋值 $scope.JieGuo = data.value[0].JieGuo//给总结果赋值 }); //var dd = ''; // YPJBXXGL.getAll({ $filter: CYDBH }, function (data) { // // console.log(angular.toJson(data)); // $scope.rwbh = data.value[0].RWBH; // debugger; // //因为改为了表格结构,之前是树状,导致JCXXX属性为空,看明天需求 // angular.forEach(data.value[0].JCXXX, function (data1) { // // console.log(angular.toJson(data1)); // // alert(data1.roleId); // var xiaolei = data1.JCXL == "" || data1.JCXL == undefined ? data1.JCPZ : data1.JCXL; // var jczdwstr = ""; // try { // jczdwstr = data1.jczDW == '' || data1.jczDW == undefined ? data1.ffjcxDW : data1.jczDW; // } catch (e) { // jczdwstr = data1.ffjcxDW; // } // var dd = { // roleName: data1.roleName, // roleId: data1.roleId, // JCXL: xiaolei, // JCYL: data1.JCYL, // JCDL: data1.JCDL, // id: data1.roleId, // JCXM: data1.roleName, // JCFF: data1.JCFF, // JCBZ: data1.JCBZ, // ffjcx: data1.ffjcx, // ffdlx: data1.ffdlx, // ffjcxDW: data1.ffjcxDW, // jczDW:jczdwstr, // ffdlxDW: data1.ffdlxDW, // jcz: data1.jcz, // Yzhen: data1.Yzhen, // JCMC: data1.JCMC, // PJBZ: data1.PJBZ, // bzz: data1.bzz, // bzzdw: data1.bzzdw, // Type: data1.Type, // // } // $scope.jcxmData.push(dd); // // // // //console.log(angular.toJson($scope.jcxmData)); // }) // $scope.DisPro = data.value[0].DisPro;//给不合格项目赋值 // $scope.ProPro = data.value[0].ProPro;//给问题项目赋值 // $scope.DisAndPro = data.value[0].DisAndPro;//给不合格/问题项目赋值 // ////$scope.OkPro = data.value[0].JCXXX[0].OkPro;//给合格项目赋值 // $scope.JieGuo = data.value[0].JieGuo//给总结果赋值 // // // // $scope.jcxmData = Enumerable.From($scope.jcxmData).OrderBy("$.JCXM").ToArray(); // // }); //勾选的方法 $scope.selected = []; $scope.isChecked = function (id) { return $scope.selected.indexOf(id) >= 0; }; $scope.updateSelection = function ($event, id) { var checkbox = $event.target; var checked = checkbox.checked; if (checked) { $scope.selected.push(id); } else { var idx = $scope.selected.indexOf(id); $scope.selected.splice(idx, 1); } // console.log($scope.selected); }; ///点击操作按钮 绑定选择框中的值 var jcxm = ''; $scope.Alldata = [];//检测项目中的所有数据 $scope.AlldataPJ = [];//评价项目中的所有数据 $scope.wocao = []; $scope.CaoZuo = function () { //每次操作清空值 $scope.bzlx = ''; $scope.bzbh = ''; $scope.bzmc = ''; $scope.jcff = ''; $scope.pjbzlx = ''; $scope.pjbzbh = ''; $scope.pjbzmc = ''; $scope.pjsplb = ''; $scope.wocao = []; $scope.BZLXdata = []; //检测标准类型 $scope.PJBZLXdata = [];//评价标准类型 if ($scope.selected.length == 1) { //找检测项目 var XM = Enumerable.From($scope.jcxmData).Where(function (x) { return x.roleId == $scope.selected[0] }).ToArray(); var jcxm = XM[0].roleName; //找到检测标准库中标准名称下检测项目下的name==检测项目的数据 var a = "BZMC.JCXM.name eq '" + jcxm + "'"; JCBZ.getAll({ $filter: a }, function (data) { $scope.Alldata = data.value; angular.forEach(data.value, function (data1) { $scope.BZLXdata.push(data1.BZLB); }) var dd = Enumerable.From($scope.BZLXdata).Distinct().ToArray();//去重复 $scope.BZLXdata = dd; }) //找到评价标准库中标准名称下检测项目下的name==检测项目的数据 PJBZ.getAll({ $filter: a }, function (data) { $scope.AlldataPJ = data.value; angular.forEach(data.value, function (data1) { //只有当该标准时已批准状态才能添加 // alert(data1.BZLB); $scope.PJBZLXdata.push(data1.BZLB); }) var cc = Enumerable.From($scope.PJBZLXdata).Distinct().ToArray();//去重复 $scope.PJBZLXdata = cc; }) //绑定在文本框上的值 $scope.pjxm = jcxm; $scope.jcxm = jcxm; // $scope.selected = []; } else if ($scope.selected.length > 1) { alert('只能选择单条数据') } else { alert('请选择你要操作的数据') } } //标准类型 change事件 找编号 $scope.zhaoBH = function () { $scope.BZBHdata = []; //标准编号 var bh = Enumerable.From($scope.Alldata).Where(function (x) { return x.BZLB == $scope.bzlx }).ToArray(); angular.forEach(bh, function (data) { //只有当该标准时已批准状态才能添加 if (data.BZMC[0].statetype == 2) { $scope.BZBHdata.push(data.BH); } }) // console.log(angular.toJson($scope.BZBHdata)); } //标准编号 change事件 找名称 $scope.zhaoMC = function () { $scope.BZMCdata = []; //标准名称 var bh = Enumerable.From($scope.Alldata).Where(function (x) { return x.BH == $scope.bzbh }).ToArray(); $scope.BZMCdata = [bh[0].BZMC[0].name]; } //检测方法 change 事件 找方法 $scope.zhaoJCFF = function () { $scope.JCFFdata = []; //检测方法 var bh = Enumerable.From($scope.Alldata).Where(function (x) { return x.BH == $scope.bzbh }).ToArray(); // console.log(angular.toJson($scope.Alldata)); // var woqu = bh[0].BZMC[0].JCXM[0].FFXU; var woqu1=Enumerable.From(bh[0].BZMC[0].JCXM).Where(function (x) { return x.name == $scope.jcxm }).ToArray(); angular.forEach(woqu1[0].FFXU, function (data) { $scope.JCFFdata.push(data.ffxh); }) } /*****************评价标准联级菜单******************/ //评价标准类型 change事件 找编号 $scope.zhaoPJBH = function () { $scope.PJBZBHdata = [];//评价标准编号 var bh = Enumerable.From($scope.AlldataPJ).Where(function (x) { return x.BZLB == $scope.pjbzlx }).ToArray(); angular.forEach(bh, function (data) { //只有当该标准时已批准状态才能添加 if (data.BZMC[0].statetype == 2) { $scope.PJBZBHdata.push(data.BH); } }) } // 标准编号 change事件 找标准名称 $scope.zhaoPJMC = function () { $scope.PJBZMCdata = [];//评价标准名称 var bh = Enumerable.From($scope.AlldataPJ).Where(function (x) { return x.BH == $scope.pjbzbh }).ToArray(); $scope.PJBZMCdata = [bh[0].BZMC[0].name]; $scope.wocao.PJBZ = $scope.pjbzbh; } //评价项目 change事件 找食品类别 $scope.zhaoPJSPLB = function () { $scope.PJSPLBdata = [];//评价食品类别 var bh = Enumerable.From($scope.AlldataPJ).Where(function (x) { return x.BH == $scope.pjbzbh }).ToArray(); var woqu = bh[0].BZMC[0].JCXM; // console.log(angular.toJson(woqu)); var cc = Enumerable.From(woqu).Where(function (x) { return x.name == $scope.pjxm }).ToArray(); console.log(angular.toJson(cc)); angular.forEach(cc[0].XM, function (data1) { // console.log(data1.SPLB); $scope.PJSPLBdata.push(data1.SPLB); }) } // 检测方法change 事件 显示表格中的数据 $scope.XianShi = function () { var bh = Enumerable.From($scope.Alldata).Where(function (x) { return x.BH == $scope.bzbh }).ToArray(); //var aa = bh[0].BZMC[0].JCXM[0]; var cc=Enumerable.From(bh[0].BZMC[0].JCXM).Where(function (x) { return x.name == $scope.jcxm }).ToArray(); var bb = Enumerable.From(cc[0].FFXU).Where(function (x) { return x.ffxh == $scope.jcff.trim() }).FirstOrDefault();//trim() 去空格 $scope.wocao = bb; $scope.wocao.JCBZ = $scope.bzbh; } //食品类别 change事件 找限量值和单位 $scope.zhaoXL = function () { var bh = Enumerable.From($scope.AlldataPJ).Where(function (x) { return x.BH == $scope.pjbzbh }).ToArray(); var ee = bh[0].BZMC[0].JCXM; // console.log(angular.toJson(ee)); var cc = Enumerable.From(ee).Where(function (x) { return x.name == $scope.pjxm }).ToArray(); //console.log(angular.toJson(cc[0].XM)); var bb = Enumerable.From(cc[0].XM).Where(function (x) { return x.SPLB == $scope.pjsplb.trim() }).ToArray();//trim() 去空格 switch (bb[0].zType) { case "大于": $scope.wocao.XL = ">" + bb[0].XL; break; case "大于等于": $scope.wocao.XL = "≥" + bb[0].XL; break; case "小于": $scope.wocao.XL = "<" + bb[0].XL; break; case "小于等于": $scope.wocao.XL = "≤" + bb[0].XL; break; default: $scope.wocao.XL = bb[0].XL; break; } $scope.wocao.XLDW = bb[0].XLDW; } //点击添加值 $scope.AddZhi = false; $scope.Add = function () { if ($scope.AddZhi == false) { $scope.AddZhi = true; } else { $scope.AddZhi = false } } //单位值 $scope.JldwData = []; JLDW.get(function (data) { // console.log(angular.toJson(data)); angular.forEach(data.value, function (data1) { $scope.JldwData.push(data1.JLDW); }) $scope.JldwData.sort(); }) //点击OK 添加限量值到表格 $scope.QueDing = function () { if ($scope.selected.length > 0) { angular.forEach($scope.selected, function (data) { angular.forEach($scope.jcxmData, function (data1) { if (data1.id == data) { if ($scope.AddBzz == "不得检出") { data1.bzz = $scope.AddBzz; data1.bzzdw = $scope.mbjldw; data1.Yzhen = "问题"; data1.Type = 1; } else { data1.bzz = "≤" + $scope.AddBzz; data1.bzzdw = $scope.mbjldw; data1.Yzhen = "问题"; data1.Type = 1; } } }) }) //console.log(angular.toJson($scope.jcxmData)); $scope.selected = []; } else { alert("请选择你要添加值的项") } } //获取随机7位数 function getnum() { var Num = ""; for (var i = 0; i < 7; i++) { Num += Math.floor(Math.random() * 10); } return parseInt(Num); } //点击确定 给表格项赋值 $scope.Ok = function () { // console.log(angular.toJson($scope.wocao)); if ($scope.selected.length == 1) { angular.forEach($scope.selected, function (data) { var iii = 0; for (i = 0; i < $scope.jcxmData.length; i++) { //找到选中的数据在表格中的位置 if ($scope.jcxmData[i].id == data) { iii = i; } } //找到表格中与选中是相同ID的数据 var dataID = Enumerable.From($scope.jcxmData).Where(function (x) { return x.id == data }).ToArray(); if ($scope.wocao.XLDW != $scope.wocao.ffdlxDW && $scope.wocao.XLDW!=undefined) { //判断选择的检测标准和评价标准单位是否一致 不一致则需要转换成一致 var yjldw = "YJLDW eq '" + $scope.wocao.XLDW + "'";//把限量单位转换成线性单位 // console.log(angular.toJson($scope.jcxmData[i])); DWHS.getAll({ $filter: yjldw }, function (data) { //通过选择的限量单位找到单位换算库中有能与线性单位换算的数据 var mbj = Enumerable.From(data.value).Where(function (x) { return x.MBJLDW == $scope.wocao.ffdlxDW }).ToArray(); if (mbj.length > 0) { //如果是区间 将min 和 max 值改变 if ($scope.wocao.XL.toString().indexOf("i") > -1) { var min = parseFloat($scope.wocao.XL.substring($scope.wocao.XL.indexOf(":") + 1, $scope.wocao.XL.indexOf("/"))); var max = parseFloat($scope.wocao.XL.substring($scope.wocao.XL.indexOf("/") + 5, $scope.wocao.XL.length)); var XL = $scope.wocao.XL.replace(min, min * mbj[0].HSGX); var XL1 = XL.replace(max, max * mbj[0].HSGX); dataID[0].bzz = XL1; dataID[0].bzzdw = $scope.wocao.ffdlxDW; } else if ($scope.wocao.XL.toString().indexOf("M") > -1) {//如果是微生物采样 //找m var m = $scope.wocao.XL.substring($scope.wocao.XL.indexOf("m") + 2, $scope.wocao.XL.indexOf("M") - 1); //找M var M = $scope.wocao.XL.substring($scope.wocao.XL.indexOf("M") + 2, $scope.wocao.XL.length); var Fmxl= $scope.wocao.XL.substring(0, $scope.wocao.XL.indexOf("m") + 2); var Lmxl = $scope.wocao.XL.substring($scope.wocao.XL.indexOf("M") - 1, $scope.wocao.XL.indexOf("M") + 2); // var FMxl = $scope.wocao.XL.substring(0, $scope.wocao.XL.indexOf("M") + 2); var XL = Fmxl + m * mbj[0].HSGX + Lmxl + M * mbj[0].HSGX; // console.log(XL); dataID[0].bzz = XL; dataID[0].bzzdw = $scope.wocao.ffdlxDW; } else {//如果是标准值 // dataID[0].bzz = $scope.wocao.XL * mbj[0].HSGX; // dataID[0].bzzdw = $scope.wocao.ffdlxDW; dataID[0].bzz = $scope.wocao.XL.substring(0, 1) + $scope.wocao.XL.substring(1, $scope.wocao.XL.length) * mbj[0].HSGX; dataID[0].bzzdw = $scope.wocao.ffdlxDW; } } else { alert("限量单位无法换算"); dataID[0].bzz = $scope.wocao.XL; dataID[0].bzzdw = $scope.wocao.XLDW; } }) } else if ($scope.wocao.XLDW == "undefined") { dataID[0].bzz = ''; dataID[0].bzzdw = ''; } else { dataID[0].bzz = $scope.wocao.XL; dataID[0].bzzdw = $scope.wocao.XLDW; } $timeout(function (x) { dataID[0].JCBZ = $scope.wocao.JCBZ; dataID[0].JCFF = $scope.wocao.ffxh; dataID[0].ffjcx = $scope.wocao.ffjcx; dataID[0].ffjcxDW = $scope.wocao.ffjcxDW; dataID[0].ffdlx = $scope.wocao.ffdlx; dataID[0].ffdlxDW = $scope.wocao.ffdlxDW; dataID[0].JCMC = $scope.wocao.ffmc; dataID[0].PJBZ = $scope.wocao.PJBZ; dataID[0].Yzhen = "待验证"; dataID[0].jcz = ""; // console.log(angular.toJson(dataID)); //如果是分级采样 需要多展示n-1条数据 if (dataID[0].bzz.toString().indexOf("M") > -1) { var aa = dataID[0].bzz; //找 n var n = parseInt(aa.substring(aa.indexOf(":") + 1, aa.indexOf("/"))); //获取选择的数据的基础信息 var roleName = dataID[0].roleName; var jcxl = dataID[0].JCXL; var jcyl = dataID[0].JCYL; var jcdl = dataID[0].JCDL; var jcxm = dataID[0].JCXM; //添加n-1条数据 for (r = 0; r < n - 1; r++) { var cc = { roleName: roleName, roleId: "XM" + getnum(), id: "XM" + getnum(), JCXL: jcxl, JCYL: jcyl, JCDL: jcdl, JCXM: jcxm, JCFF: $scope.wocao.ffxh, JCBZ:$scope.wocao.JCBZ, ffjcx: $scope.wocao.ffjcx, ffjcxDW: $scope.wocao.ffjcxDW, ffdlx: $scope.wocao.ffdlx, ffdlxDW: $scope.wocao.ffdlxDW, JCMC: $scope.wocao.ffmc, PJBZ:$scope.wocao.PJBZ, bzz: dataID[0].bzz, bzzdw: dataID[0].bzzdw, // Yzhen: "待验证", jcz: "", } //在表格i+1处添加 n-1 条数据 $scope.jcxmData.splice(iii + 1, 0, cc); // $scope.jcxmData.push(cc); // console.log(angular.toJson($scope.jcxmData)); } } }, 1000) }) $scope.selected = []; // console.log(angular.toJson($scope.jcxmData)); } // else if ($scope.selected.length > 1) { alert('只能选择单条数据') } else { alert('请选择你要操作的数据') } } //表格 验证事件 $scope.YanZhen = function (id, jcz) { var index = 0; var bzz = ""; //通过id找到页面中正在验证的数据 for (i = 0; i < $scope.jcxmData.length; i++) { if ($scope.jcxmData[i].id == id) { index = i; bzz = $scope.jcxmData[i].bzz; } } $scope.test1 = bzz; //如果没有限量值 则默认为不作评价 if (bzz == undefined || bzz == "" || bzz == "/" ) { $scope.jcxmData[index].Yzhen = "不作评价"; $scope.jcxmData[index].jcz = jcz; } else if (bzz == "不得检出") {//如果是限量值是不得检出 那除了ND都是不合格 if ($scope.jcxmData[index].Type == 1) { if (jcz == "ND") { $scope.jcxmData[index].Yzhen = "合格"; $scope.jcxmData[index].jcz = jcz; } else { $scope.jcxmData[index].Yzhen = "问题"; $scope.jcxmData[index].jcz = jcz; } } else { if (jcz == "ND") { $scope.jcxmData[index].Yzhen = "合格"; $scope.jcxmData[index].jcz = jcz; } else { $scope.jcxmData[index].Yzhen = "不合格"; $scope.jcxmData[index].jcz = jcz; } } } else { //验证分两大类 如果是ND就是合格 否则细分 输入值 区间 分级采样 3中情况 if (jcz == "ND" && bzz.toString().indexOf("M")==-1) { $scope.jcxmData[index].Yzhen = "合格"; $scope.jcxmData[index].jcz = jcz; } else { var ee = parseFloat(jcz); //如果是区间 if (bzz.toString().indexOf("min") > -1) { //找min 和max var min = parseFloat(bzz.substring(bzz.indexOf(":") + 1, bzz.indexOf("/"))); var max = parseFloat(bzz.substring(bzz.indexOf("/") + 5, bzz.length)); switch ($scope.jcxmData[index].Yzhen) { case "待验证": case "合格": case "不合格": if ((min < ee && ee < max) || (min == ee || max == ee)) { $scope.jcxmData[index].Yzhen = "合格"; $scope.jcxmData[index].jcz = jcz; } else if (min > ee || ee > max) { $scope.jcxmData[index].Yzhen = "不合格"; $scope.jcxmData[index].jcz = jcz; } else { $scope.jcxmData[index].Yzhen = "待验证"; $scope.jcxmData[index].jcz = jcz; } } //如果不参与判定 if ($scope.jcxmData[index].Type == 2) { $scope.jcxmData[index].Yzhen = "不作评价"; $scope.jcxmData[index].jcz = jcz; } } //如果是分级采样 只显示第一项的验证值 else if (bzz.toString().indexOf("M") > -1) { //先对$scope.jcxmData通过JCXM去重复 var WYan = Enumerable.From($scope.jcxmData).Distinct("$.JCXM").ToArray(); angular.forEach(WYan, function (data) { //循环去重复的表格找到与表格中JCXM相同的项 var Same = Enumerable.From($scope.jcxmData).Where(function (x) { return x.JCXM == data.JCXM }).ToArray(); //如果Same的length>1说明是分级采样 if (Same.length > 1) { var bzz = Same[0].bzz; //找c var c = parseFloat(bzz.substring(bzz.indexOf("c") + 2, bzz.indexOf("m") - 1)); //找m var m = parseFloat(bzz.substring(bzz.indexOf("m") + 2, bzz.indexOf("M") - 1)); //找M var M = parseFloat(bzz.substring(bzz.indexOf("M") + 2, bzz.length)); //当标准都是 c=0 m=0时 if (c == 0 && m == 0) { var AllJcz = []; //取出Same中所有的检测值 for (i = 0; i < Same.length; i++) { AllJcz.push(Same[i].jcz); } if (AllJcz.indexOf("") == -1) { var nd = Enumerable.From(AllJcz).Where(function (x) { return x != "ND" }).ToArray(); if (nd.length > 0) { Same[0].Yzhen = "不合格"; } else { Same[0].Yzhen = "合格"; } } else { Same[0].Yzhen="待验证" } } else { switch (Same[0].Yzhen) { case "待验证": case "合格": case "不合格": var AllJcz = []; //取出Same中所有的检测值 for (i = 0; i < Same.length; i++) { AllJcz.push(Same[i].jcz); } //console.log(angular.toJson(AllJcz)); //当所有的值都存在时有判断 否则为待验证 if (AllJcz.indexOf("") == -1) { //如果存在大于或等于M的值时 为不合格 var Bu = Enumerable.From(AllJcz).Where(function (x) { return x > M || x == M }).ToArray(); if (Bu.length > 0) { Same[0].Yzhen = "不合格"; } else { //否则 看小于m值的个数大于或等于c 为合格 否则为不合格 var XiaoC = Enumerable.From(AllJcz).Where(function (x) { return x < m || x == m || x == "ND" }).ToArray(); if (XiaoC.length > c || XiaoC.length == c) { Same[0].Yzhen = "合格"; } else { Same[0].Yzhen = "不合格"; } } } else { Same[0].Yzhen = "待验证"; } } } } }) //如果不参与判定 if ($scope.jcxmData[index].Type == 2) { $scope.jcxmData[index].Yzhen = "不作评价"; $scope.jcxmData[index].jcz = jcz; } } //如果是文本框 else { // console.log($scope.jcxmData[index]); if ($scope.jcxmData[index].Type == 1) { if ($scope.jcxmData[index].bzz.substring(1, $scope.jcxmData[index].bzz.length) > ee || $scope.jcxmData[index].bzz.substring(1, $scope.jcxmData[index].bzz.length)==ee) { $scope.jcxmData[index].Yzhen = "合格"; $scope.jcxmData[index].jcz = jcz; } else { $scope.jcxmData[index].Yzhen = "问题"; $scope.jcxmData[index].jcz = jcz; } } else if ($scope.jcxmData[index].Type == 2) { $scope.jcxmData[index].Yzhen = "不作评价"; $scope.jcxmData[index].jcz = jcz; } else { switch (bzz.substring(0, 1)) { case "<": if (bzz.substring(1, bzz.length) > ee) { $scope.jcxmData[index].Yzhen = "合格" $scope.jcxmData[index].jcz = jcz; } else if (bzz.substring(1, bzz.length) < ee) { $scope.jcxmData[index].Yzhen = "不合格" $scope.jcxmData[index].jcz = jcz; } else { $scope.jcxmData[index].Yzhen = "待验证" $scope.jcxmData[index].jcz = jcz; } break; case "≤": if (bzz.substring(1, bzz.length) > ee || bzz.substring(1, bzz.length) == ee) { $scope.jcxmData[index].Yzhen = "合格" $scope.jcxmData[index].jcz = jcz; } else if (bzz.substring(1, bzz.length) < ee) { $scope.jcxmData[index].Yzhen = "不合格" $scope.jcxmData[index].jcz = jcz; } else { $scope.jcxmData[index].Yzhen = "待验证" $scope.jcxmData[index].jcz = jcz; } break; case ">": if (bzz.substring(1, bzz.length) > ee) { $scope.jcxmData[index].Yzhen = "不合格" $scope.jcxmData[index].jcz = jcz; } else if (bzz.substring(1, bzz.length) < ee) { $scope.jcxmData[index].Yzhen = "合格" $scope.jcxmData[index].jcz = jcz; } else { $scope.jcxmData[index].Yzhen = "待验证" $scope.jcxmData[index].jcz = jcz; } break; case "≥": if (bzz.substring(1, bzz.length) > ee || bzz.substring(1, bzz.length) == ee) { $scope.jcxmData[index].Yzhen = "不合格" $scope.jcxmData[index].jcz = jcz; } else if (bzz.substring(1, bzz.length) < ee) { $scope.jcxmData[index].Yzhen = "合格" $scope.jcxmData[index].jcz = jcz; } else { $scope.jcxmData[index].Yzhen = "待验证" $scope.jcxmData[index].jcz = jcz; } break; } //if ($scope.jcxmData[index].bzz.substring(1, $scope.jcxmData[index].bzz.length) > ee || $scope.jcxmData[index].bzz.substring(1, $scope.jcxmData[index].bzz.length) == ee) { // $scope.jcxmData[index].Yzhen = "合格" // $scope.jcxmData[index].jcz = jcz; //} else if ($scope.jcxmData[index].bzz.substring(1, $scope.jcxmData[index].bzz.length) < ee) { // $scope.jcxmData[index].Yzhen = "不合格" // $scope.jcxmData[index].jcz = jcz; //} else { // $scope.jcxmData[index].Yzhen = "待验证" // $scope.jcxmData[index].jcz = jcz; //} } } } } } //验证结果确认 $scope.Save = function (index, myid, myjcz, myffjcxDW) { YPJBXXGL.getAll({ $filter: CYDBH }, function (data) { if ((data.value[0].YPJBZTType == 4) && ($sessionStorage.user.type == 4 || $sessionStorage.user.type == 5)) { alert("该样品已批准 无法更改"); //$scope.WoDiu = false; } else { if ($scope.jcxmData.length > 0) { $http({ method: 'post', url: Gaddress + '/home/gengxinjiancezhi', params: { myid: myid, myjcz: myjcz, myffjcxDW: myffjcxDW } }).then(function successCallback(mydata) { alert(mydata.data.message) }); /***********样品结果的综合判定*************/ $scope.DisPro = []; //不合格的项目 $scope.ProPro = []; //问题项目 $scope.DisAndPro = []; //不做评价项目 //不合格的项目 var dis = Enumerable.From($scope.jcxmData).Where(function (x) { return x.Yzhen == "不合格" }).ToArray(); angular.forEach(dis, function (data1) { var aa = { jcxm: data1.JCXM, jcz: data1.jcz, jczdw: data1.ffjcxDW, } $scope.DisPro.push(aa); // console.log(angular.toJson($scope.DisPro)); }) //问题项目 var pro = Enumerable.From($scope.jcxmData).Where(function (x) { return x.Yzhen == "问题" }).ToArray(); angular.forEach(pro, function (data1) { var bb = { jcxm: data1.JCXM, jcz: data1.jcz, jczdw: data1.ffjcxDW, } $scope.ProPro.push(bb); }) //不做评价项目 var dis_pro = Enumerable.From($scope.jcxmData).Where(function (x) { return x.Yzhen == "不作评价" }).ToArray(); angular.forEach(dis_pro, function (data1) { var cc = { jcxm: data1.JCXM, jcz: data1.jcz, jczdw: data1.ffjcxDW, } $scope.DisAndPro.push(cc); }) console.log($scope.DisAndPro); var AllJcz1 = Enumerable.From($scope.jcxmData).Where(function (x) { return x.jcz == "" || x.jcz == "undefined" }).ToArray(); if (AllJcz1.length > 0) { $scope.JieGuo = "待验证"; } else { if ($scope.DisPro.length != 0 && $scope.ProPro.length == 0) { $scope.JieGuo = "不合格" } else if ($scope.ProPro.length != 0 && $scope.DisPro.length != 0) { $scope.JieGuo = "不合格/问题" } else if ($scope.ProPro.length != 0) { $scope.JieGuo = "问题" } else if ($scope.DisAndPro.length == $scope.jcxmData.length) { $scope.JieGuo = "不作评价" } else { $scope.JieGuo = "合格" } } //保存数据 更新数据库 if (confirm('确定保存')) { // console.log(angular.toJson($scope.jcxmData)); YPJBXXGL.update({ id: $stateParams.id }, { JCXXX: $scope.jcxmData, DisPro: $scope.DisPro, ProPro: $scope.ProPro, DisAndPro: $scope.DisAndPro, JieGuo: $scope.JieGuo, }, function (data) { $scope.shuF5(); }) } //如果是页面最底端的保存 index==undefined时 页面跳转 改变样品状态 if (index == undefined) { var AllJcz1 = Enumerable.From($scope.jcxmData).Where(function (x) { return x.jcz == "" || x.jcz == "undefined" }).ToArray(); // console.log(angular.toJson(dd)); if (AllJcz1.length > 0) { alert("还有为未检测的项,无法审核"); } else { if (data.value[0].YPJBZTType == 5) { // alert("OK"); data.value[0].YPJBZTType = 2; data.value[0].YPJBZT = "已检测" } YPJBXXGL.update({ id: $stateParams.id }, { YPJBZTType: data.value[0].YPJBZTType, YPJBZT: data.value[0].YPJBZT, YPPJXX: $scope.JieGuo, }, function (data) { }) } } } else { alert("该任务没有检测项目") } } }) } //***********删除检测项************/ $scope.DeletePro = function () { if ($scope.selected.length > 0) { if (confirm("确定要删除该检测项?")) { var CYD = "_id eq '" + $stateParams.id + "'"; //先找到页面中的数据 YPJBXXGL.getAll({ $filter: CYD }, function (data1) { //循环选择要删除的id for (r = 0; r < $scope.selected.length; r++) { //console.log($scope.selected[r]); //循环当前页面中的JCXXX找到其roleId==选择要删除的id 然后删除 for (i = 0; i < data1.value[0].JCXXX.length; i++) { if (data1.value[0].JCXXX[i].roleId == $scope.selected[r]) { data1.value[0].JCXXX.splice(i, 1); } } } //更新数据库 YPJBXXGL.update({ id: data1.value[0].id }, { JCXXX: data1.value[0].JCXXX }, function (data2) { $scope.shuF5(); $scope.selected = []; }) var userName = sessionStorage.getItem('userName'); $http.post('/home/sqlshanchu', { "ids": $scope.selected, "userName": userName }).success(function (mydata) { alert(mydata.data.message); }) }) } } else { alert("请选择你要删除的项目") } } //************添加检测项目***********/ $scope.AddPro = function () { var modalInstance = $uibModal.open({ animation: true, backdrop: false, // 不让点击背景关闭系统 templateUrl: 'app/model/modalJCBZ_Select.html', controller: 'modalRWDZ_JCXMSelectCtrl', size: 'lg', //windowTopClass:'dialog' resolve: { items: function () { return $scope.items; } } }); modalInstance.result.then( function (nclose) { $scope.myData = nclose; YPJBXXGL.getAll({ $filter: CYDBH }, function (data) { angular.forEach($scope.myData, function (data1) { //如果当前页面不存在 添加的项 才往页面中添加 var Cunzai = Enumerable.From(data.value[0].JCXXX).Where(function (x) { return x.roleName == data1.roleName }).ToArray(); if (Cunzai.length == 0) { //往JCXXX中添加数据 data.value[0].JCXXX.push(data1); console.log(angular.toJson(data.value[0].JCXXX)); } else { "该项目已存在" } }) //修改数据库 YPJBXXGL.update({ id: $stateParams.id }, { JCXXX: data.value[0].JCXXX }, function (data1) { $scope.shuF5(); $scope.selected = []; }) }) }, function (ndismiss) { $scope.returnData = ndismiss } ) } /**************不参与评价********************/ $scope.BuCan = function () { if ($scope.selected.length > 0) { angular.forEach($scope.selected, function (data) { // console.log(angular.toJson($scope.jcxmData)); for (i = 0; i < $scope.jcxmData.length; i++) { if ($scope.jcxmData[i].id == data) { $scope.jcxmData[i].Yzhen = "不作评价"; $scope.jcxmData[i].Type = 2; } } }) $scope.selected = []; } else { alert("请选择不参与判定的项目") } } /*************刷新的方法************/ $scope.shuF5 = function () { $scope.jcxmData = []; var dd = ''; YPJBXXGL.getAll({ $filter: CYDBH }, function (data) { angular.forEach(data.value[0].JCXXX, function (data1) { // console.log(angular.toJson(data1)); var xiaolei = data1.JCXL == "" || data1.JCXL == undefined ? data1.JCPZ : data1.JCXL; var dd = { roleName: data1.roleName, roleId: data1.roleId, JCXL: xiaolei, JCYL: data1.JCYL, JCDL: data1.JCDL, id: data1.roleId, JCXM: data1.roleName, JCFF: data1.JCFF, JCBZ: data1.JCBZ, ffjcx: data1.ffjcx, ffdlx: data1.ffdlx, ffjcxDW: data1.ffjcxDW, ffdlxDW: data1.ffdlxDW, jcz: data1.jcz, //jczbz: data1.jczbz, Yzhen: data1.Yzhen, JCMC: data1.JCMC, PJBZ: data1.PJBZ, bzz: data1.bzz, bzzdw: data1.bzzdw, Type: data1.Type, } $scope.jcxmData.push(dd); }) $scope.DisPro = data.value[0].DisPro; $scope.ProPro = data.value[0].ProPro; $scope.DisAndPro = data.value[0].DisAndPro; //$scope.OkPro = data.value[0].OkPro; $scope.JieGuo = data.value[0].JieGuo }); // $scope.jcxmData = Enumerable.From($scope.jcxmData).OrderBy("$.JCXM").ToArray(); } /**************返回到上级页面****************/ $scope.Return = function () { //$state.go("app.SampleControl"); closelayer(); } }]);