app.controller('SampleRegisterCtrl', ['$scope', '$http', 'YPJBXXGL', '$state', '$stateParams', '$uibModal', '$sessionStorage', 'RWDZ', 'Upload', 'mainUrl', 'wyOdataNodeService', 'stConfig', '$timeout', function ($scope, $http, YPJBXXGL, $state, $stateParams, $uibModal, $sessionStorage, RWDZ, Upload, mainUrl, wyOdataNodeService, stConfig, $timeout) { //有任务编号传递,根据任务编号查询出当前的数据 $scope.yrwbh = function () { //如果传的值不为空的话那就根据的当前的任务ID查询出当前的任务样品量 var filter = "RWBH eq '" + $stateParams.id + "'" YPJBXXGL.getAll({ $filter: filter }, function (data) { $scope.myData = data.value; $scope.mycount = $scope.myData.length; }) //第二步根据任务编号查询出当前任务的基本信息 RWDZ.getAll({ $filter: filter }, function (data) { //检测机构 $scope.ccJCJG = data.value[0].JCDW; //任务来源 $scope.ccRWLY = data.value[0].RWLY; //食品小类 $scope.ccSPXL = data.value[0].SPXL; //计划任务总数 $scope.JHRWtotal = data.value[0].JCRWHJ; }) } //选择样品编号 if ($stateParams.id != 0) { $scope.yrwbh(); $scope.rwbh = $stateParams.id; } else { $scope.rwbh = ''; } //新增样品 $scope.NewYP = function () { if ($scope.rwbh != '') { $state.go("app.SampleInspect", { id: $scope.rwbh, CYDBH: 1 }); } else { alert("请选择任务编号"); } } //查看 修改样品信息 $scope.item = 0; $scope.XiuGai = function (id,cyd) { // console.log(id); //$state.go("app.SampleInspect", { id: id }); 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.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.cha = function () { //看是否是检测机构登录 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.rwbh; $sessionStorage.RWBH = rwbh; //采样单编号 var cydbh = $scope.cydbh; $sessionStorage.CYDBH = cydbh; // 样品名称 var ypmc = $scope.ypmc; $sessionStorage.YPMC = ypmc; //r任务开始时间 var ypkssj = $scope.ypkssj; $sessionStorage.YPKSSJ = ypkssj; //任务结束时间 var ypjssj = $scope.ypjssj; $sessionStorage.YPJSSJ = ypjssj; //任务来源 var rwly = $scope.rwly; $sessionStorage.RWLY = rwly; //样品状态 var ypzt = $scope.ypzt; $sessionStorage.YPZT = ypzt; //如果任务编号不为空 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 (ypkssj != undefined) { var Ktime = $scope.formatDate(ypkssj); //console.log(aa); $scope.searchSql = $scope.searchSql + "CYSJ ge '" + Ktime + "' and "; } if (ypjssj != undefined) { var Jtime = $scope.formatDate(ypjssj); $scope.searchSql = $scope.searchSql + "CYSJ le '" + Jtime + "' and "; } $scope.searchSql = $scope.searchSql.substring(0, $scope.searchSql.length - 4); console.log($scope.searchSql); //增加日志20211109 addlog("样品登记管理", "查询[" + $scope.searchSql + "]") $scope.getService($scope.tableState, $scope.searchSql); } $scope.MyChaXun = function () { //任务编号 var rwbh = $scope.rwbh; $sessionStorage.RWBH = rwbh; //采样单编号 var cydbh = $scope.cydbh; $sessionStorage.CYDBH = cydbh; // 样品名称 var ypmc = $scope.ypmc; $sessionStorage.YPMC = ypmc; //任务来源 var rwly = $scope.rwly; $sessionStorage.RWLY = rwly; //任务开始时间 var ypkssj = $scope.ypkssj; $sessionStorage.YPKSSJ = ypkssj; //任务结束时间 var ypjssj = $scope.ypjssj; $sessionStorage.YPJSSJ = ypjssj; //样品状态 var ypzt = $scope.ypzt; $sessionStorage.YPZT = ypzt; var chaxunPra = { //任务编号 rwbh: $scope.rwbh, //采样单编号 cydbh: $scope.cydbh, // 样品名称 ypmc: $scope.ypmc, //r任务开始时间 ypkssj: $scope.ypkssj, //任务结束时间 ypjssj: $scope.ypjssj, //任务来源 rwly: $scope.rwly, //样品状态 ypzt: $scope.ypzt } var tiaojianstr = angular.toJson(chaxunPra); //alert(tiaojianstr) //增加日志20211109 addlog("样品登记管理", "查询2[" + tiaojianstr + "]") $http({ method: 'GET', url: Gaddress + '/home/GetYangPinJiBenXinXi2', params: { tiaojian: tiaojianstr, pagenumber: $scope.tableState.pagination.start,pagesize: $scope.tableState.pagination.number } }).then(function successCallback(mydata) { $scope.displayed = 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; var displayed = mydata.data; var dPageCount = Math.ceil(mydata.data.length / $scope.tableState.pagination.number); $scope.xczs = mydata.data.yexiangci; $scope.xchj = mydata.data.zongxiangcishu; //总长度 tableLength = mydata.data.length; $scope.tableState.count = tableLength; $scope.tableState.jcxxxheji = 0000; $scope.tableState.pagination.numberOfPages = dPageCount; }, 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.delete = function () { if ($scope.selectList.length > 0) { if (confirm("确定要删除任务?")) { angular.forEach($scope.selectList, function (data) { YPJBXXGL.delete({ id: data }, function (data1) { // $scope.cha(); //增加日志20211109 addlog("样品登记管理", "删除数据_任务[" + data + "]") }); }); var userName = sessionStorage.getItem('userName'); $http({ method: 'post', url: '/home/shanchuypjc', params: { ids: $scope.selectList,userName:userName } }).then(function successCallback(mydata) { alert(mydata.data.message); }); } //重置选择项 $timeout(function () { $scope.cha(); alert("删除成功") }, 500, $scope.selectList = []); } else { alert('请选择你要删除的任务'); } } /******************送检管理******************/ $scope.SJGL = function () { if ($scope.selectList.length > 0) { angular.forEach($scope.selectList, function (data) { var id = "_id eq '" + data + "'"; YPJBXXGL.getAll({ $filter: id }, function (data1) { if (data1.value[0].YPJBZTType == 1) { YPJBXXGL.update({ id: data }, { YPJBZTType: 5, YPJBZT: "已送检" }, function (data) { // $scope.cha(); //alert("送检成功"); //增加日志20211109 addlog("样品登记管理", "修改数据_送检[" + data + "]") }) } else { alert("该任务已送检"); } }) }) $timeout(function () { $scope.cha(); }, 500); $scope.selected = []; } else { alert("请选择一条信息进行送检"); } } /**************************************************************************************/ //通过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; //这个参数传递当前的每页多少条的数据 //任何动作都会触发服务端的接口 $scope.getService = function (tableState) { $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.getData2('http://172.28.3.129:5000/', 'YPJBXXGL_DB', $scope.tableState, $scope.searchSql).then(function (data) { // $scope.xczs = 0 // $scope.xchj = 0; // for (var i = 0; i < data.length; i++) { // data[i].xiangcishu = Enumerable.From(data[i].JCXXX).Select(function (x) { return x.JCXM }).Distinct().ToArray().length; // $scope.xczs += data[i].xiangcishu; // } // $scope.displayed = data; // //全部项次合计 // $scope.xchj = tableState.jcxxxheji; // // console.log(data); // //当前页面的ID号数组 // $scope.isShow = false; // $scope.ids = Enumerable.From($scope.displayed).Select(function (x) { return x.id }).ToArray(); // $scope.myttt = 0000;//tableState.count; // $scope.$broadcast('checkini'); // //console.log($scope.ids); // if (tableState.mysqlstr11 == "http://172.28.3.129:5000/YPJBXXGL_DB?$count=true") { // $http.get(Gaddress +'/home/GetYPJBXXGLDB', {}).success(function (mydata) { // $scope.xchj = mydata; // }) // } else { // $scope.xchj = 0; // $http.get(tableState.mysqlstr11, {}).success(function (mydata) { // var jcxxxhejiArr = Enumerable.From(mydata.value).Select(function (x) { return x.JCXXX }).ToArray(); // for (var i = 0; i < jcxxxhejiArr.length; i++) { // var xiangcishuheji = Enumerable.From(jcxxxhejiArr[i]).Select(function (x) { return x.JCXM }).Distinct().ToArray().length; // $scope.xchj += xiangcishuheji; // } // //var displayed = data.value; // //var dPageCount = Math.ceil(Enumerable.From(data).ToArray()[0].Value / tableState.pagination.number); // ////总长度 // //tableLength = Enumerable.From(data).ToArray()[0].Value; // //tableState.count = tableLength; // //tableState.jcxxxheji = jcxxxheji; // //tableState.pagination.numberOfPages = dPageCount; // }); // } //}); }; //模板的分页选择触发操作 $scope.setPageNumber = function (pageNo) { alert(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 } /**************************************************************************************/ /************撤销送检管理********************/ $scope.CYSJGL = function () { if ($scope.selectList.length > 0) { angular.forEach($scope.selectList, function (data) { var id = "_id eq '" + data + "'"; YPJBXXGL.getAll({ $filter: id }, function () { if (YPJBZTType == 1) { YPJBXXGL.update({ id: data }, { YPJBZTType: 5, YPJBZT: "撤销送检" }, function (data) { //增加日志20211109 addlog("样品登记管理", "修改数据_撤销送检[" + data + "]") }) } }) }) $timeout(function () { $scope.cha(); alert("撤回成功") }, 500); $scope.selectList = []; } else { alert("请选择一条信息进行撤回"); } } /*************导入样品**********************/ $scope.submit = function () { $scope.upload($scope.file); }; $scope.FileUrl = ""; $scope.upload = function (file) { $scope.FileUrl = ""; $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: '/UploadExecl.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("样品导入准备"); //获取到 上传文件的 存放位置 $scope.FileUrl = data.excelurl; var openwindowstr = '
" + pp + " | "; } openwindowstr += "
---|
" + datarow[pp] + " | "; } openwindowstr += "