2025-06-27 10:04:22 +08:00

1116 lines
44 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

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

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();
}
}]);