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

590 lines
21 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("SampleControlCtrl", ['$scope', 'JCDW', 'YPJBXXGL', '$state', '$stateParams', '$sessionStorage', 'mainUrl', 'wyOdataNodeService', 'stConfig', '$timeout', 'Upload', '$http', function ($scope, JCDW, YPJBXXGL, $state, $stateParams, $sessionStorage, mainUrl, wyOdataNodeService, stConfig, $timeout, Upload, $http) {
$scope.GOjc = function (id, CYDBH) {
//alert(id + "" + CYDBH);
YPJBXXGL.getOne({ id: id }, function (data) {
if (data.YPJBZTType == 1) {
alert("请先送检该样品!");
} else {
dLayer.open({
type: 2,
area: ['1200px', '700px'],
content: Gaddress + '/index.html#/SampleTestdialog/' + id + '/' + CYDBH
});
}
})
}
//查看 修改样品信息
$scope.item = 0;
$scope.XiuGai = function (id,cyd) {
debugger;
dLayer.open({
type: 2,
area: ['1200px', '700px'],
content: Gaddress + '/index.html#/SampleInspectdialog/' + id + '/' + cyd //这里content是一个URL如果你不想让iframe出现滚动条你还可以content: ['http://sentsin.com', 'no']
});
}
$scope.RELYdata = ["国家食品药品监督管理总局", "上海市食品药品监督管理局"];
//检测机构
$scope.JCDWdata = [];
JCDW.get(function (data) {
angular.forEach(data.value, function (data) {
$scope.JCDWdata.push(data.JCJGMC);
})
})
$scope.RWXZdata = ["常规监测", "专项监测", "应急监测", "能力验证", ];
$scope.YPZTdata = ["待送检", "已送检", "已检测", "已审核", "已批准", "审核退回", "批准退回", ];
//转换时间格式
$scope.formatDate = function (day) {
var cc = new Date(day);
var y = cc.getFullYear();
var m = cc.getMonth() + 1;
var d = cc.getDate();
if (m < 10) {
m = "0" + m;
}
if (d < 10) {
d = "0" + d;
}
return aa = y + "-" + m + "-" + d;
}
//转换时间格式
$scope.formatDateXieGang = function (day) {
var cc = new Date(day);
var y = cc.getFullYear();
var m = cc.getMonth() + 1;
var d = cc.getDate();
if (m < 10) {
m = "0" + m;
}
if (d < 10) {
d = "0" + d;
}
return aa = y + "/" + m + "/" + d;
}
/******************查询的方法********************/
//获取当前的值
$scope.Cha = function () {
// alert("1");
if ($sessionStorage.user.type == 4 || $sessionStorage.user.type == 5) {
$scope.searchSql = "JCDW eq '" + $sessionStorage.user.name + "' and ";
} else {
$scope.searchSql = ""; //这个参数是自己组合相关的复杂查询条件
}
$scope.selectList = [];
//任务编号
var rwbh = $scope.crwbh;
$sessionStorage.RWBH = rwbh;
//采样单编号
var cydbh = $scope.cydbh;
$sessionStorage.CYDBH = cydbh;
// 样品名称
var ypmc = $scope.ypmc;
$sessionStorage.YPMC = ypmc;
//任务来源
var rwly = $scope.rwly1;
$sessionStorage.RWLY = rwly;
//r任务开始时间
var ypkssj = $scope.ypkssj;
$sessionStorage.YPKSSJ = ypkssj;
//任务结束时间
var ypjssj = $scope.ypjssj;
$sessionStorage.YPJSSJ = ypjssj;
//样品状态
var ypzt = $scope.ypzt;
$sessionStorage.YPZT = ypzt;
//任务性质
var rwxz = $scope.rwxz1;
$sessionStorage.RWXZ = rwxz;
//检测机构
var jcjg = $scope.jcjg;
$sessionStorage.JCDW = jcjg;
//如果任务编号不为空
if (rwbh != undefined && rwbh != '') {
$scope.searchSql = $scope.searchSql + "indexof(RWBH,'" + rwbh + "') ge 0 and ";
}
//如果采样单不为空
if (cydbh != undefined && cydbh != '') {
$scope.searchSql = $scope.searchSql + "indexof(CYDBH,'" + cydbh + "') ge 0 and ";
}
//如果样品名称不为空
if (ypmc != undefined && ypmc != '') {
$scope.searchSql = $scope.searchSql + "indexof(YPMC,'" + ypmc + "') ge 0 and ";
}
//如果任务来源不为空
if (rwly != undefined&&rwly!='') {
$scope.searchSql = $scope.searchSql + "RWLY eq '" + rwly + "' and ";
}
//如果样品状态不为空
if (ypzt != undefined && ypzt != '') {
$scope.searchSql = $scope.searchSql + "indexof(YPJBZT,'" + ypzt + "') ge 0 and ";
}
//如果任务性质不为空
if (rwxz != undefined&&rwxz!='') {
$scope.searchSql = $scope.searchSql + "RWXZ eq '" + rwxz + "' and ";
}
//检测机构不为空
if (jcjg != undefined&&jcjg!='') {
$scope.searchSql = $scope.searchSql + "JCDW eq '" + jcjg + "' and ";
}
//开始时间结束时间不为空
if ($sessionStorage.YPKSSJ != undefined) {
var Ktime = $scope.formatDateXieGang($sessionStorage.YPKSSJ);
$scope.searchSql = $scope.searchSql + "ZXNY_KS ge '" + Ktime + "' and ";
}
//结束时间不为空
if ($sessionStorage.YPJSSJ != undefined) {
var Jtime = $scope.formatDateXieGang($sessionStorage.YPJSSJ);
// console.log(Jtime);
$scope.searchSql = $scope.searchSql + "ZXNY_JS le '" + Jtime + "' and ";
}
$scope.searchSql = $scope.searchSql.substring(0, $scope.searchSql.length - 4);
$scope.getService($scope.tableState, $scope.searchSql);
}
$scope.MyChaXun = function () {
//任务编号
var rwbh = $scope.crwbh;
$sessionStorage.RWBH = rwbh;
//采样单编号
var cydbh = $scope.cydbh;
$sessionStorage.CYDBH = cydbh;
// 样品名称
var ypmc = $scope.ypmc;
$sessionStorage.YPMC = ypmc;
//任务来源
var rwly = $scope.rwly1;
$sessionStorage.RWLY = rwly;
//r任务开始时间
var ypkssj = $scope.ypkssj;
$sessionStorage.YPKSSJ = ypkssj;
//任务结束时间
var ypjssj = $scope.ypjssj;
$sessionStorage.YPJSSJ = ypjssj;
//样品状态
var ypzt = $scope.ypzt;
$sessionStorage.YPZT = ypzt;
//任务性质
var rwxz = $scope.rwxz1;
$sessionStorage.RWXZ = rwxz;
//检测机构
var jcjg = $scope.jcjg;
$sessionStorage.JCDW = jcjg;
var chaxunPra = {
//任务编号
rwbh : $scope.crwbh,
//采样单编号
cydbh : $scope.cydbh,
// 样品名称
ypmc : $scope.ypmc,
//任务来源
rwly : $scope.rwly1,
//r任务开始时间
ypkssj : $scope.ypkssj,
//任务结束时间
ypjssj : $scope.ypjssj,
//样品状态
ypzt : $scope.ypzt,
//任务性质
rwxz : $scope.rwxz1,
//检测机构
jcjg : $scope.jcjg,
}
var tiaojianstr=angular.toJson(chaxunPra);
//alert(tiaojianstr)
//增加日志20211109
addlog("样品检验管理", "查询[" + tiaojianstr + "]")
$http({
method: 'GET',
url: Gaddress + '/home/GetYangPinJiBenXinXi',
params: { tiaojian: tiaojianstr, pagenumber: $scope.tableState.pagination.start, pagesize: $scope.tableState.pagination.number }
}).then(function successCallback(mydata) {
$scope.displayed = angular.fromJson(mydata.data.data);
$scope.isShow = false;
//当前页面的ID号数组
$scope.ids = Enumerable.From($scope.displayed).Select(function (x) { return x._id }).ToArray();
//表格数量
$scope.myttt = mydata.data.length;
$scope.tableState.count = mydata.data.length;
$scope.tableState.pagination.numberOfPages = Math.ceil(mydata.data.length / $scope.curpageNumber);
$scope.inputPage = tableState.pagination.numberOfPages;
$scope.tableState = tableState;
}, function errorCallback(response) {
// 请求失败执行代码
});
}
//勾选的方法
$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);
}
};
/*******************复制检测项目的方法***********/
$scope.Copy = function () {
if ($scope.selectList.length == 1) {
if (confirm("确定复制检测项目到该任务单下未检测的样品中?")) {
//console.log($scope.selectList[0]);
var id = "_id eq '" + $scope.selectList[0] + "'";
YPJBXXGL.getAll({$filter: id }, function (data) {
var jcxxx = [];
//找到勾选的任务的检测项目数据
angular.forEach(data.value[0].JCXXX, function (data1) {
// console.log(angular.toJson(data));
data1.jcz = '';
if (data1.Type == 1) {
data1.Yzhen = "问题";
} else if (data1.Type == 2) {
data1.Yzhen = "不作评价";
}
else {
data1.Yzhen = "待验证";
}
jcxxx.push(data1)
})
//找到相同与勾选项有相同的任务编号的所有数据
var rwbh = "RWBH eq '" + data.value[0].RWBH + "'";
YPJBXXGL.getAll({ $filter: rwbh }, function (data2) {
//console.log(angular.toJson(data2));
//删掉已勾选项
//for (i = 0; i < data2.value.length; i++) {
// if (data2.value[i].id == $scope.selectList[0]) {
// data2.value.splice(i, 1)
// }
//}
//增加日志20211109
addlog("样品检验管理", "修改数据_复制[" + data2 + "]")
//循环 数据 将检测项目替换
angular.forEach(data2.value, function (data3) {
// console.log(angular.toJson(data3));
if (data3.YPJBZTType == 1 || data3.YPJBZTType == 5) {
YPJBXXGL.update({ id: data3.id }, {
JCXXX: jcxxx,
DisPro: [],
ProPro: [],
DisAndPro: [],
JieGuo: '',
}, function (data) {
// $scope.Cha();//刷新页面
});
}
})
$timeout(function () { $scope.Cha(); alert('复制成功'); $scope.selectList = []; }, 500);
})
})
}
}
else if ($scope.selectList.length > 1) { alert("只能选择单条数据复制") }
else { alert("请选一条数据")}
}
$scope.submit = function () {
$scope.upload($scope.file);
};
$scope.upload = function (file) {
$scope.isShow = true;
$scope.uploadImg = "";
$scope.myfile = [];
$scope.fileInfo = file
if (file.length > 0) {
for (var i = 0; i < file.length; i++) {
//下载时候字符串
var myid = new Date().valueOf();
var Filename = myid + $scope.fileInfo[i].name.substring($scope.fileInfo[i].name.lastIndexOf("."), $scope.fileInfo[i].name.length);
var aa = {
username: $sessionStorage.user.UserName,
name: $scope.fileInfo[i].name,
size: $scope.fileInfo[i].size,
DownName: Filename,
icon: $scope.fileInfo[i].name.substring($scope.fileInfo[i].name.lastIndexOf(".") + 1, $scope.fileInfo[i].name.length)
}
$scope.myfile.push(aa);
Upload.upload({
//服务端接收
url: '/JCXM_Upload.ashx',
//上传的同时带的参数
data: { 'username': $sessionStorage.user.UserName, "FileName": myid.toString() },
file: file[i]
}).progress(function (evt) {
//进度条
$scope.uploadImg = parseInt(100 * evt.loaded / evt.total) + "%";
}).success(function (data, status, headers, config) {
//上传成功
alert(data.result);
$scope.JiaZai();
$scope.isShow = true;
//增加日志20211109
addlog("样品检验管理", "新增数据_导入" + myid.toString())
})
}
}
};
/**************************************************************************************/
//通过STMATETable 分页显示数据
//以下的参数每个控制器都要有一份
$scope.tableState = []; //这个参数后面会让每次访问服务器后进行同步返回的值赋值,作为中间值使用
$scope.selectList = []; //这个参数会让每次选中或者没有选中的条目直接暴露在这个值里面
if ($sessionStorage.user.type == 4 || $sessionStorage.user.type == 5) {
$scope.searchSql = "JCDW eq '" + $sessionStorage.user.name + "'";
} else {
$scope.searchSql = ""; //这个参数是自己组合相关的复杂查询条件
}
$scope.isShow = false; //这个参数主要进行页面加载的loading显示的directive的值得操作
$scope.itemsOptions = [5, 10, 20, 50, 100, 200]; //这个参数进行分页页面上面的每页多少条的设置
$scope.curpageNumber = 10; //这个参数传递当前的每页多少条的数据
//任何动作都会触发服务端的接口
$sessionStorage.tableState = [];
$scope.getService = function (tableState, ctrl) {
//if ($sessionStorage.tableState!=[]) {
// $scope.tableState = $sessionStorage.tableState
//} else {
$scope.tableState = tableState;
// }
if (!$scope.tableState.pagination.number) {
$scope.tableState.pagination.number = $scope.curpageNumber;
}
$scope.isShow = true;
$scope.MyChaXun();
// console.log($scope.searchSql + "aaa");
//wyOdataNodeService.getData('http://172.28.3.129:5000/', 'YPJBXXGL_DB', $scope.tableState, $scope.searchSql).then(function (data) {
// $scope.displayed = data;
// $scope.isShow = false;
// //当前页面的ID号数组
// $scope.ids = Enumerable.From($scope.displayed).Select(function (x) { return x.id }).ToArray();
// $scope.myttt = 0000;
// $scope.$broadcast('checkini');
// //console.log($scope.ids);
// //console.log(angular.toJson(tableState));
// $sessionStorage.tableState = tableState;
//});
};
//模板的分页选择触发操作
$scope.setPageNumber = function (pageNo) {
$scope.getService($scope.tableState);
}
//查询参数的调用
$scope.search = function () {
$scope.searchSql = [$scope.sql];
$scope.getA($scope.tableState);
//约定成数字的按照前后
//日期按照前后
//字符串的模糊查询
//var sql = '$filter=EventDateTime eq DateTime'2010-12-21T10:10:19.390625';
//日期参考如下:
//(EventDateTime eq DateTime'2010-12-21T10:10:19.390625' ) and (BusinessUnitCode eq '2')
//var dT=dd ge 12 and dd le 33
}
/**************************************************************************************/
/**********这块的内容是点击检验项目后返回重新赋值的代码********/
//任务编号不为空
if ($sessionStorage.RWBH != undefined && $sessionStorage.RWBH != '') {
$scope.crwbh = $sessionStorage.RWBH;
if ($scope.searchSql == '') {
$scope.searchSql = "indexof(RWBH,'" + $scope.crwbh + "') ge 0";
// $scope.tableState = $sessionStorage.tableState;
} else {
$scope.searchSql = $scope.searchSql + " and indexof(RWBH,'" + $scope.crwbh + "') ge 0";
// $scope.tableState = $sessionStorage.tableState;
}
}
//采样单不为空
if ($sessionStorage.CYDBH != undefined && $sessionStorage.CYDBH != '') {
$scope.cydbh = $sessionStorage.CYDBH;
if ($scope.searchSql == '') {
$scope.searchSql = "indexof(CYDBH,'" + $scope.cydbh + "') ge 0";
} else {
$scope.searchSql = $scope.searchSql + " and indexof(CYDBH,'" + $scope.cydbh + "') ge 0";
}
}
//样品名称不为空
if ($sessionStorage.YPMC != undefined && $sessionStorage.YPMC != '') {
$scope.ypmc = $sessionStorage.YPMC;
if ($scope.searchSql == '') {
$scope.searchSql = "indexof(YPMC,'" + $scope.ypmc + "') ge 0";
} else {
$scope.searchSql = $scope.searchSql + " and indexof(YPMC,'" + $scope.ypmc + "') ge 0";
}
}
//任务来源不为空
if ($sessionStorage.RWLY != undefined && $sessionStorage.RWLY!='') {
$scope.rwly1 = $sessionStorage.RWLY;
if ($scope.searchSql == '') {
$scope.searchSql = "RWLY eq '" + $scope.rwly1 + "'"
} else {
$scope.searchSql =$scope.searchSql+ " and RWLY eq '" + $scope.rwly1 + "'"
}
}
////样品状态不为空
if ($sessionStorage.YPZT != undefined && $sessionStorage.YPZT != '') {
$scope.ypzt = $sessionStorage.YPZT;
if ($scope.searchSql == '') {
$scope.searchSql = "indexof(YPJBZT,'" + $scope.ypzt + "') ge 0"
} else {
$scope.searchSql = $scope.searchSql + " and indexof(YPJBZT,'" + $scope.ypzt + "') ge 0";
}
}
//如果任务性质不为空
if ($sessionStorage.RWXZ != undefined && $sessionStorage.RWXZ!='') {
$scope.rwxz1 = $sessionStorage.RWXZ;
if ($scope.searchSql == '') {
$scope.searchSql = "RWXZ eq '" + $scope.rwxz1 + "'";
} else {
$scope.searchSql = $scope.searchSql + " and RWXZ eq '" + $scope.rwxz1 + "'";
}
}
//检测机构不为空
if ($sessionStorage.JCDW != undefined&&$sessionStorage.JCDW !='') {
$scope.jcjg = $sessionStorage.JCDW;
console.log($sessionStorage.JCDW);
if ($scope.searchSql == '') {
$scope.searchSql = "JCDW eq '" + $scope.jcjg + "'";
} else {
$scope.searchSql = $scope.searchSql + " and JCDW eq '" + $scope.jcjg + "'";
}
}
////样品开始时间不为空
//if ($sessionStorage.YPKSSJ != undefined) {
// $scope.ypkssj = $sessionStorage.YPKSSJ;
// var Ktime = $scope.formatDate($scope.ypkssj);
// if ($scope.searchSql == '') {
// $scope.searchSql = "ZXNY_KS ge '" + Ktime + "'";
// } else {
// $scope.searchSql = $scope.searchSql + " and ZXNY_KS le '" + Ktime + "'";
// }
//}
////样品结束时间不为空
//if ($sessionStorage.YPJSSJ != undefined) {
// $scope.ypjssj = $sessionStorage.YPJSSJ;
// var Jtime = $scope.formatDate($scope.ypjssj);
// if ($scope.searchSql == '') {
// $scope.searchSql = "ZXNY_JS ge '" + Jtime + "'";
// } else {
// $scope.searchSql = $scope.searchSql + " and ZXNY_JS le '" + Jtime + "'";
// }
//}
//开始时间结束时间不为空
if ($sessionStorage.YPKSSJ != undefined) {
var Ktime = $scope.formatDateXieGang($sessionStorage.YPKSSJ);
$scope.searchSql = $scope.searchSql + "ZXNY_KS ge '" + Ktime + "' and ";
}
//结束时间不为空
if ($sessionStorage.YPJSSJ != undefined) {
var Jtime = $scope.formatDateXieGang($sessionStorage.YPJSSJ);
// console.log(Jtime);
$scope.searchSql = $scope.searchSql + "ZXNY_JS le '" + Jtime + "' and ";
}
// console.log($scope.numPages);
}]);