app.controller('JCBZCtrl', ['$scope','$http', 'ST', 'JCBZ', '$uibModal', '$sessionStorage', 'wyDMService', 'stConfig', '$timeout', function ($scope,$http, ST, JCBZ, $uibModal, $sessionStorage, wyDMService, stConfig, $timeout) { /**************************************************************************************/ //通过STMATETable 分页显示数据 //以下的参数每个控制器都要有一份 $scope.tableState = []; //这个参数后面会让每次访问服务器后进行同步返回的值赋值,作为中间值使用 $scope.selectList = []; //这个参数会让每次选中或者没有选中的条目直接暴露在这个值里面 $scope.searchSql = ''; //新改造的查询状态 $scope.wherestr={bzlb:'',bh:'',bzmc:''} //这个参数是自己组合相关的复杂查询条件 $scope.isShow = false; //这个参数主要进行页面加载的loading显示的directive的值得操作 $scope.itemsOptions = [5, 10, 20, 50, 100, 200]; //这个参数进行分页页面上面的每页多少条的设置 $scope.curpageNumber = 10; //这个参数传递当前的每页多少条的数据 //任何动作都会触发服务端的接口 $scope.getService = function (tableState, ctrl) { $scope.tableState = tableState; if (!$scope.tableState.pagination.number) { $scope.tableState.pagination.number = $scope.curpageNumber; } $scope.isShow = true; // console.log($scope.searchSql+"aaa"); if ($scope.wherestr.bzlb!=""){ $scope.wherestr.bzlb=$scope.wherestr.bzlb.name;} // if($scope.wherestr.zhuangtai!=""){ // $scope.wherestr.zhuangtai=$scope.wherestr.zhuangtai.name;} console.log( '表格参数', $scope.tableState) // debugger // $scope.tableState.number // $scope.tableState.start //把这边改造掉20231014Edit // wyDMService.getData(pubserver+ 'JCBZ/getData', $scope.wherestr, $scope.tableState, $scope.searchSql).then(function (data) { // // console.log('新街口方法') // $scope.displayed = data; // console.log('返回数据',data); // // //当前页面的ID号数组 // $scope.isShow = false; // $scope.ids = Enumerable.From($scope.displayed).Select(function (x) { return x.id }).ToArray(); // // //$scope.ids =$scope.displayed; // // $scope.myttt = tableState.count; // // // $scope.$broadcast('checkini'); // console.log($scope.ids); // }) // $scope.Cha(); }; //模板的分页选择触发操作 $scope.setPageNumber = function (pageNo) { // alert("1") $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.Myjson = [ { name: "国家标准", PY: "GJBZ" }, { name: "CAC标准", PY: "CAC" }, { name: "行业标准", PY: "HYBZ" }, { name: "企业标准", PY: "QYBZ" }, { name: "其他标准", PY: "QTBZ" }, { name: "地方标准", PY: "DFBZ" }, { name: "快速检测标准", PY: "KSJCBZ" }, ]; //标准状态 $scope.Myjson1 = [ { name: "待审批", PY: "DPZ" }, { name: "已批准", PY: "YPZ" }, { name: "作废", PY: "ZF" } ]; /***************************这是添加标准检测**********************************/ $scope.items = 0; $scope.add = function (id) { $scope.items = id; var modalInstance = $uibModal.open({ animation: true, backdrop: false, // 不让点击背景关闭系统 templateUrl: 'app/model/modalJCBZ_Add.html', controller: 'modalJCBZ_AddCtrl', size: 'md', //windowTopClass:'dialog' resolve: { items: function () { return $scope.items; } } }); modalInstance.result.then( function (nclose) { $scope.Cha(); }, function (ndismiss) { $scope.returnData = ndismiss } ) } /*******************这是查看检测方法**********************/ $scope.view = function (BH) { $scope.items = BH; var modalInstance = $uibModal.open({ animation: true, backdrop: false, // 不让点击背景关闭系统 templateUrl: 'app/model/modalJCBZ_View.html', controller: 'modalJCBZ_ViewCtrl', size: 'lg', //windowTopClass:'dialog' resolve: { items: function () { return $scope.items; } } }); modalInstance.result.then( function (nclose) { $scope.returnData = nclose }, function (ndismiss) { $scope.returnData = ndismiss } ) } /****************这里是删除标准数据的方法*******************/ $scope.delete = function () { if ($scope.selectList.length > 0) { if (confirm("确定要删除任务?")) { angular.forEach($scope.selectList, function (data) { JCBZ.delete({ id: data }, function (data1) { // $scope.Cha(); //增加日志20211109 addlog("检测标准管理", "删除数据[" + data + "]") }); }) } //重置选择项 $timeout(function () { $scope.Cha() }, 1000); $scope.selectList = []; alert("删除成功"); } else { alert('请选择你要删除的任务'); } } /************************这个是审批的方法*******************************/ $scope.PZ= function () { //var cid = $scope.selected; if ($scope.selectList.length > 0) { //第一步通过id查询出数据 if (confirm("确定要批准?")) { angular.forEach($scope.selectList, function (data) { JCBZ.getone({ id: data }, function (data1) { var dd = data1.BZMC[0]; var id = dd.statetype; dd.state = "已批准"; dd.statetype = 2; switch (id) { case 1: JCBZ.update({ id: data }, { BZMC:[dd] }, function (data) { //alert(angular.toJson( data)); // $scope.Cha(); //增加日志20211109 addlog("检测标准管理", "修改数据_批准[" + data + "]") }) break; case 4: JCBZ.update({ id: data }, { BZMC: [dd] }, function (data) { //$scope.Cha(); //增加日志20211109 addlog("检测标准管理", "修改数据_批准[" + data + "]") }) break; default: } }) }) //重置一下选择项 $timeout(function () { $scope.Cha() }, 1000); $scope.selectList = []; } } else { alert("请选择一个批准"); } } /***************************这个是作废的方法******************************************/ $scope.ZF = function () { if ($scope.selectList.length > 0) { if (confirm("确定作废吗?")) { angular.forEach($scope.selectList, function (data) { JCBZ.getone({ id: data }, function (data1) { var dd = data1.BZMC[0]; dd.state = "作废"; dd.statetype = 4; JCBZ.update({ id: data }, { BZMC: [dd] }, function (data) { //审批完成后刷新页面 // $scope.Cha(); //增加日志20211109 addlog("检测标准管理", "修改数据_作废[" + data + "]") }) }) }) //重置一下选择项 $timeout(function () { $scope.Cha() }, 1000); $scope.selectList = []; //console.log(angular.toJson($scope.mynewdata)) } } else { alert("请选择一条信息进行作废"); } } /********************查询的公用方法***************************/ $scope.wherestr={ bzlb:'', bh:'', bzmc:'', } $scope.Cha = function () { // $scope.searchSql = ''; // $scope.selectList = []; // //标准类别 // var bzlb = $scope.mysel; // //标准名称关键字 // var gjz = $scope.mytxt; // //标准编号关键字 // var bzbh = $scope.bzbh; // //审批状态 // var zt = $scope.mysell; // // //标准类型不为空 // if (bzlb != undefined) { // // $scope.searchSql = $scope.searchSql + "BZLB eq '" + bzlb.name + "' and "; // $scope.searchSql = $scope.searchSql + "BZLB = '" + bzlb.name + "' and "; // } // //关键字不为空 // if (gjz != undefined && gjz!='') { // // $scope.searchSql = $scope.searchSql + "indexof(BZMC[0].name,'" + gjz + "') gt -1 and "; // $scope.searchSql = $scope.searchSql + "INSTR(BZMC,'" + gjz + "') > 0 and "; // // // } // // //标准编号不为空 // if (bzbh != undefined && bzbh!='') { // // $scope.searchSql = $scope.searchSql + "indexof(BH,'" + bzbh + "') gt -1 and "; // $scope.searchSql = $scope.searchSql + "INSTR(BH,'" + bzbh + "') > 0 and "; // // } // //状态不为空 // if (zt != undefined) { // //alert(zt.name) // // $scope.searchSql = $scope.searchSql + "BZMC.state eq '" + zt.name + "' and "; // $scope.searchSql = $scope.searchSql + "BZMC = '" + zt.name + "' and "; // } // // $scope.searchSql = $scope.searchSql.substring(0, $scope.searchSql.length - 4); // // console.log('查询方法',$scope.searchSql) //以上是老的代码 console.log('内容',$scope.wherestr); var tiaojianstr=JSON.stringify($scope.wherestr); $http({ method: 'GET', url: Gaddress + '/JCBZ/getlist', params:{ tiaojianstr:tiaojianstr, pagenumber: parseInt($scope.tableState.pagination.start/$scope.tableState.pagination.number)+1, pagesize:$scope.tableState.pagination.number } }).then(function successCallback(mydata){ $scope.displayed = angular.fromJson(mydata.data.data); $scope.zongTiaoShu = mydata.data.length; $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 = $scope.tableState.pagination.numberOfPages; $scope.tableState = $scope.tableState; },function errorCallback(response){ }) //增加日志20211109 addlog("检测标准管理", "查询[" + $scope.searchSql + "]") //$scope.getService($scope.tableState, $scope.searchSql); } }]) /****************************添加 检测****************************************/ app.controller('modalJCBZ_AddCtrl', ['$scope', '$uibModal', '$uibModalInstance', 'XMLK', 'JCBZ', 'items', '$sessionStorage', function ($scope, $uibModal, $uibModalInstance, XMLK, JCBZ, items, $sessionStorage) { $scope.Myjson = ["国家标准", "CAC标准", "行业标准", "其他标准", "快速检测标准","地方标准",]; /******************** 这方法是用来判断是否为修改还是添加的**************************/ if (items != undefined) { JCBZ.getone({ id: items }, function (data) { // console.log(angular.toJson(data)); $scope.mysel = data.BZLB; // console.log($scope.mysel); $scope.BZBH = data.BH; $scope.BZ = data.BZ; $scope.CBZMC = data.BZMC[0].name; $scope.Fday = new Date(data.BZMC[0].realsetime); $scope.Sday = new Date(data.BZMC[0].implement); $scope.Curstate = data.BZMC[0].state; $scope.myData = Enumerable.From(data.BZMC[0].JCXM).OrderBy("$.name").ToArray(); for (i = 0; i < $scope.myData.length; i++) { $scope.myData[i].type = i + 1; } // console.log(angular.toJson($scope.myData)); if (data.BZMC[0].statetype == 2) { $scope.updatejcbz = false; } }) $scope.addjcbz = false; $scope.updatejcbz = true; } else { $scope.addjcbz = true; $scope.updatejcbz = false; $scope.myData = []; } /**************************这是选择食品类别********************************************/ /********************这个是保存检测标准的方法**********************/ $scope.Curstate = "待审批"; $scope.save = function () { //先定义一个保存的数据的josn // alert(angular.toJson($scope.mysel)) JCBZ.getselect({ $select: "BH" }, function (data) { var aa = Enumerable.From(data.value).Where(function (x) { return x.BH == $scope.BZBH }).ToArray(); console.log(angular.toJson(aa.length)); if (aa.length ==0) {//判断是否为空 var CurData = { BZLB: $scope.mysel, BH: $scope.BZBH, BZ:$scope.BZ, BZMC: [{ name: $scope.CBZMC, realsetime: $scope.FomatDate($scope.Fday), implement: $scope.FomatDate($scope.Sday), state: $scope.Curstate, statetype: 1, entryperson: $sessionStorage.user.name, JCXM: $scope.myData }] } JCBZ.save(CurData, CurData, function (data) { alert("添加成功"); //增加日志20211109 addlog("检测标准管理", "新增数据" + JSON.stringify(CurData)) $uibModalInstance.close("界面已经保存并且关闭"); }) } else { alert('该任务编号已存在'); } }) } //修改的方法 $scope.update = function () { JCBZ.getone({ id: items }, function (data) { var aa = data.BZMC[0]; if ($scope.mysel != undefined) { data.BZLB = $scope.mysel; } data.BH = $scope.BZBH; aa.name = $scope.CBZMC; aa.realsetime = $scope.FomatDate($scope.Fday); aa.implement = $scope.FomatDate($scope.Sday); aa.JCXM = $scope.myData; // console.log(angular.toJson(aa)); JCBZ.update({ id: items }, { BZLB: data.BZLB, BH: $scope.BZBH, BZMC: [aa], BZ: $scope.BZ }, function (data) { alert("修改成功"); // console.log(data); //增加日志20211109 addlog("检测标准管理", "修改数据[" + JSON.stringify(items) + "]") $uibModalInstance.close("界面已经保存并且关闭"); }) }) } /***********************这个是返回的方法*******************************/ $scope.return = function () { $uibModalInstance.dismiss("界面直接退出"); } //这个方法是用来删除右边添加的数据 $scope.deleteData = function (name) { //console.log(angular.toJson($scope.myData)); for (i = 0; i < $scope.myData.length; i++) { if ($scope.myData[i].name == name) { $scope.myData.splice(i, 1); for (i = 0; i < $scope.myData.length; i++) { $scope.myData[i].type = i + 1; } } } } //选择检测项目 $scope.select = function () { $scope.items = $scope.myData; var modalInstance = $uibModal.open({ animation: true, backdrop: false, // 不让点击背景关闭系统 templateUrl: 'app/model/modalJCBZ_Select.html', controller: 'modalJCBZ_SelectCtrl', size: 'lg', //windowTopClass:'dialog' resolve: { items: function () { return $scope.items; } } }); modalInstance.result.then( function (nclose) { //循环nclose 在其中找到在$scope.myData中不存在的项 把他添加到$scope.myData中 angular.forEach(nclose,function(data){ var aaa = Enumerable.From($scope.myData).Where(function (x) { return x.roleName == data.roleName }).ToArray(); if (aaa.length == 0) { var aa = { JCDL: data.JCDL, JCYL: data.JCYL, JCPZ: data.JCPZ, roleId: data.roleId, roleName: data.roleName, name: data.roleName, FFXU: [], cid: getnum().toString(), } $scope.myData.push(aa); } }) $scope.myData = Enumerable.From($scope.myData).OrderBy("$.name").ToArray(); for (i = 0; i < $scope.myData.length; i++) { $scope.myData[i].type = i + 1; } $scope.returnData = nclose; }, function (ndismiss) { $scope.returnData = ndismiss } ) } //时间的格式化 $scope.FomatDate = function (date) { var aa = new Date(date); var y = aa.getFullYear(); var m = aa.getMonth() + 1; var d = aa.getDate(); var c = y + "/" + m + "/" + d; return c; } //获取随机7位数 function getnum() { var Num = ""; for (var i = 0; i < 7; i++) { Num += Math.floor(Math.random() * 10); } return parseInt(Num); } }]) /******************选择检测类别***************************/ app.controller('modalJCBZ_SelectCtrl', ['$scope', '$uibModalInstance', 'XMLK', 'items', function ($scope, $uibModalInstance, XMLK, items) { // console.log(angular.toJson(items)); $scope.myData = []; $scope.rightdata = []; if (items != undefined) { angular.forEach(items, function (data1) { // console.log(angular.toJson(data1)) if (data1.roleName != undefined) { var aa = { JCDL: data1.JCDL, JCYL: data1.JCYL, JCPZ: data1.JCPZ, roleName: data1.roleName, roleId: data1.cid, } } else { var aa = { JCDL: data1.JCDL, JCYL: data1.JCYL, JCPZ: data1.JCPZ, roleName: data1.name, roleId: data1.cid, } } $scope.rightdata.push(aa); for (i = 0; i < $scope.rightdata.length; i++) { $scope.rightdata[i].type = i + 1; } }) } $scope.data = "检测类别"; //=========================================================================== //这块的内容是显示检测项目的代码 //console.log(angular.toJson(items)); //if (items != undefined) { // $scope.rightdata = items; //} //使用treeview $scope.show = function () { //先定义一个变量 var curValue = ""; if ($scope.tree01.currentNode != undefined) { curValue = $scope.tree01.currentNode.roleId.substring(0, 2); } $scope.cPid = ""; switch (curValue) { case "XM": // console.log(angular.toJson($scope.tree01.currentNode)); XMLK.getAll(function (data) { // console.log(angular.toJson(data)); //找到检测大类 var curJCDL = Enumerable.From(data.value).Where(function (x) { return x.DLId == $scope.tree01.currentNode.DId }).FirstOrDefault(); //找到检测亚类 var JCYL = Enumerable.From(curJCDL.JCYL).Where(function (x) { return x.YLId == $scope.tree01.currentNode.YId }).FirstOrDefault(); //找到检测品种 var JCPZ = Enumerable.From(JCYL.JCXMXIAOLEI).Where(function (x) { return x.XLId == $scope.tree01.currentNode.PId }).FirstOrDefault(); var aa = { JCDL: curJCDL.JCDL, JCYL: JCYL.name, JCPZ: JCPZ.name, roleId: $scope.tree01.currentNode.roleId, roleName: $scope.tree01.currentNode.roleName, name: $scope.tree01.currentNode.roleName, } // var mydata = Enumerable.From($scope.rightdata).Where("$.roleId.indexOf('" + $scope.tree01.currentNode.roleId + "')>-1").ToArray(); var mydata = Enumerable.From($scope.rightdata).Where(function (x) { return x.roleName == $scope.tree01.currentNode.roleName }).ToArray(); if (mydata.length > 0) { //如果大于0就是已经添加过了 // alert("该项目已添加") } else { //否者无法添加 if ($scope.rightdata.length > 0) { aa.type = $scope.rightdata[$scope.rightdata.length - 1].type + 1; } else { aa.type = 1; } $scope.rightdata.push(aa); //$scope.rightdata = Enumerable.From($scope.rightdata).OrderByDescending().ToArray(); } }); break; default: } } //定义左边菜单 $scope.confirmXM = function (item, name) { //var ggg = item; var mydata = Enumerable.From($scope.rightdata).Where(function (x) {return x.roleName == name }).ToArray(); if (mydata.length == 0) { $scope.rightdata.push(item); for (i = 0; i < $scope.rightdata.length; i++) { $scope.rightdata[i].type = i + 1; console.log(angular.toJson(item)); } // console.log(angular.toJson(ggg)); // console.log(angular.toJson(item)); } else { alert("该项目已选择") } } //删除表格行 //删除表格行 $scope.deleteData = function (item) { for (i = 0; i < $scope.rightdata.length; i++) { if ($scope.rightdata[i].roleId == item) { $scope.rightdata.splice(i, 1); for (i = 0; i < $scope.rightdata.length; i++) { $scope.rightdata[i].type = i + 1; } } } } $scope.menu = []; $scope.isshow = true; XMLK.getAll(function (data) { $scope.JCXMDL = []; angular.forEach(data.value, function (data) { $scope.JCXMYL = []; angular.forEach(data.JCYL, function (data) { $scope.JCXMXL = []; angular.forEach(data.JCXMXIAOLEI, function (data) { $scope.JCXM = []; angular.forEach(data.JCXM, function (data) { var JCXMJson = { "DId": data.DLId, "YId": data.YLId, "PId": data.XLId, "XId": data.XMId, "typeName": data.typeName, "type": data.type, "FName": data.FName, "roleName": data.name, "roleId": data.XMId, "collapsed": true, "children": [] } $scope.JCXM.push(JCXMJson); }) var JCXMXLJson = { "DId": data.DLId, "YId": data.YLId, "PId": data.XLId, "XId": "", "typeName": data.typeName, "type": data.type, "FName": data.FName, "roleName": data.name, "roleId": data.XLId, "collapsed": true, "children": $scope.JCXM } $scope.JCXMXL.push(JCXMXLJson); }) var JCXMYL = { "DId": data.DLId, "YId": data.YLId, "PId": "", "XId": "", "typeName": data.typeName, "type": data.type, "FName": data.FName, "roleName": data.name, "roleId": data.YLId, "collapsed": true, "children": $scope.JCXMXL } $scope.JCXMYL.push(JCXMYL); }) var JCXMDL = { "DId": data.DLId, "YId": "", "PId": "", "XId": "", "typeName": data.typeName, "type": data.type, "FName": data.FName, "roleName": data.JCDL, "roleId": data.DLId, "collapsed": true, "children": $scope.JCXMYL } $scope.JCXMDL.push(JCXMDL); }) $scope.menu = $scope.JCXMDL; $scope.AllData = $scope.menu; $scope.isshow = false; }) //这快是结束检测项目的代码 //=========================================================== //左边关键字端全局查询 $scope.chabtn = function (name) { $scope.myhh = []; if ($scope.chaxun != undefined) { XMLK.get(function (data1) { angular.forEach(data1.value, function (data2) { //判断aa要是大于-1的话那么 var aa = angular.toJson(data2).indexOf(name) if (aa > -1) { angular.forEach(data2.JCYL, function (data3) { var bb = angular.toJson(data3).indexOf(name); if (bb > -1) { angular.forEach(data3.JCXMXIAOLEI, function (data4) { var cc = angular.toJson(data4).indexOf(name); if (cc > -1) { angular.forEach(data4.JCXM, function (data5) { var dd = angular.toJson(data5).indexOf(name); if (dd > -1) { var aa = { JCDL: data2.JCDL, JCYL: data3.name, JCPZ: data4.name, roleId: data5.XMId, roleName: data5.name, FName: data5.FName, typeName: data5.typeName, name: data5.name, } $scope.myhh.push(aa); } }) } }) } }) } }) $scope.myData = $scope.myhh; $scope.myData = $scope.myhh; for (i = 0; i < $scope.myData.length; i++) { $scope.myData[i].type = i + 1; } }) } } //确定 $scope.Ok = function () { $uibModalInstance.close($scope.rightdata); } $scope.Cancel = function () { $uibModalInstance.dismiss('界面直接退出'); } } ]) /******************检测标准*******************/ app.controller('uibModalInstanceCtrl', ['$scope', '$uibModalInstance', 'items', 'ST', function ($scope, $uibModalInstance, items, ST) { //alert(items); $scope.mytext = "未检测到结果"; $scope.tj = [ { name: "检测项目", py: "JCXM" }, { name: "检测标准编号", py: "JCBZBH" }, { name: "检测标准名称", py: "JCBZMC" }, { name: "方法序号", py: "FFXH" }, { name: "方法名称", py: "FFMC" }, { name: "检测仪器", py: "JCYQ" }, { name: "检测定性限", py: "JCDXX" }, { name: "样品综合判定", py: "YPZHPD" } ] $scope.Ptj = [ { name: ">" }, { name: "=" }, { name: "<" }, ] var f1 = "YPBH eq " + items; ST.getAll({ $filter: f1 }, function (data) { $scope.myData2 = data.value[0].JCXXX $scope.mytext = "总共检测的项目数量:" + $scope.myData2.length + "项"; }) //查询的方法 $scope.wocao = function () { console.log('这是真的查询') $scope.mys; $scope.myt; var curname = $scope.mys.py; if ($scope.myt != undefined || $scope.myt != "") { var dT2 = Enumerable.From($scope.myData2).Where("$." + curname + ".indexOf('" + $scope.myt + "')>-1").ToArray(); $scope.myData2 = dT2; var a = (dT2.length / $scope.myData2.length) * 100; $scope.mytext = $scope.mys.name + "-检测-" + $scope.myt + "的判定合格率为" + a + "%" + "符合条件的数据有:" + $scope.myData2.length + "条"; //$scope.mytext = "查询出符合条件的数据:" + $scope.myData.length; } else { var f1 = "YPBH eq " + items; ST.getAll({ $filter: f1 }, function (data) { alert(angular.toJson(data.value[0].JCXXX)) $scope.myData2 = data.value[0].JCXXX }) } } $scope.Ok = function () { $uibModalInstance.close("界面已经保存并且关闭"); } $scope.Cancel = function () { $uibModalInstance.dismiss("界面直接退出"); } }]) /*******************查看检验方法********************/ app.controller('modalJCBZ_ViewCtrl', ['$scope', '$uibModalInstance', '$uibModal', 'items', 'JCBZ', function ($scope, $uibModalInstance, $uibModal, items, JCBZ) { //$scope.Vdata = "这是查看检测方法页面"; //alert(items); //定义一个下拉框的检测的数组 $scope.XMOption = []; //定义一个表格检测json $scope.XMTable = []; $scope.CurDD = []; /*************************这块是绑定检测项目下拉框的绑定,和下部分表格的绑定的数据********************************/ //第一步先通过传过来的标准编号查询出当前标准编号下的检测项目有多少项 JCBZ.getone({ id: items }, function (data) { //查询所有的检测项目的数组 var cxm = data.BZMC[0]; $scope.XMOption = cxm.JCXM; //先把下拉框的值先绑定 angular.forEach(cxm.JCXM, function (data1) { var xmff = data1.FFXU; angular.forEach(xmff, function (data2) { data2.name = data1.name $scope.XMTable.push(data2); }) }) $scope.XMTable = Enumerable.From($scope.XMTable).OrderBy("$.name").ToArray(); $scope.CurDD = $scope.XMTable; //判断当前标准的状态如果为启用的话,就只能查询,如果为废除的话就显示添加,删除,修改按钮 // console.log(angular.toJson(cxm)); if (cxm.statetype == 2) { $scope.IsChange = false; } else { $scope.IsChange = true; } }) //第二步下拉框改变事件,检测项目改变后,下发的表格也跟着变化 $scope.XMchange = function () { if ($scope.jcxm != null) { //$scope.XMTable = Enumerable.From($scope.CurDD).Where('$.name.indexOf("' + $scope.jcxm.name + '")>-1').ToArray(); $scope.XMTable = Enumerable.From($scope.CurDD).Where(function (x) { return x.name == $scope.jcxm.name }).ToArray(); // console.log(angular.toJson($scope.XMTable)); } else { $scope.XMTable = $scope.CurDD; } } //传过来的编号进行赋值传递到下一个弹出框来 //这是添加的方法 $scope.FFAdd = function () { if ($scope.jcxm != null) { $scope.items = { type: 1, BH: items, XMname: $scope.jcxm, name:$scope.jcxm.name } var modalInstance = $uibModal.open({ animation: true, backdrop: false, // 不让点击背景关闭系统 templateUrl: 'app/model/modalJCBZ_FFAdd.html', controller: 'modalJCBZ_FFAddCtrl', size: 'md', //windowTopClass:'dialog' resolve: { items: function () { return $scope.items; } } }); modalInstance.result.then( function (nclose) { $scope.XMTable = []; $scope.CurDD = []; JCBZ.getone({ id: items }, function (data) { //查询所有的检测项目的数组 var cxm = data.BZMC[0].JCXM; $scope.XMOption = cxm; //先把下拉框的值先绑定 angular.forEach(cxm, function (data1) { var xmff = data1.FFXU; angular.forEach(xmff, function (data2) { data2.name = data1.name $scope.XMTable.push(data2); }) }) $scope.XMTable = Enumerable.From($scope.XMTable).OrderBy("$.name").ToArray(); $scope.CurDD = $scope.XMTable; }) $scope.returnData = nclose }, function (ndismiss) { $scope.returnData = ndismiss } ) } else { alert("请选择你要添加的检测项目") } } //这是修改的方法 $scope.Change = function (cid) { // alert(index) // alert(cid) //$scope.items = { // BH: items, // SJ: $scope.XMTable[index] //}; for (i = 0; i < $scope.XMTable.length; i++) { if ($scope.XMTable[i].cid == cid) { $scope.items = { BH: items, ShuJiu: $scope.XMTable[i], }; } } // console.log(angular.toJson($scope.items)); var modalInstance = $uibModal.open({ animation: true, backdrop: false, // 不让点击背景关闭系统 templateUrl: 'app/model/modalJCBZ_FFAdd.html', controller: 'modalJCBZ_FFChangeCtrl', size: 'md', //windowTopClass:'dialog' resolve: { items: function () { return $scope.items; } } }); modalInstance.result.then( function (nclose) { $scope.XMTable = []; $scope.CurDD = []; JCBZ.getone({ id: items }, function (data) { //查询所有的检测项目的数组 var cxm = data.BZMC[0].JCXM; $scope.XMOption = cxm; //先把下拉框的值先绑定 angular.forEach(cxm, function (data1) { var xmff = data1.FFXU; angular.forEach(xmff, function (data2) { data2.name = data1.name $scope.XMTable.push(data2); }) }) $scope.XMTable = Enumerable.From($scope.XMTable).OrderBy("$.name").ToArray(); $scope.CurDD = $scope.XMTable; }) $scope.returnData = nclose }, function (ndismiss) { $scope.returnData = ndismiss } ) } /***********************复选框勾选的方法***************************/ $scope.selected = []; $scope.isChecked = function (id) { // alert(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.CDelete = function () { //判断是否有选择项目 if ($scope.jcxm != undefined) { if ($scope.selected.length > 0) { angular.forEach($scope.selected, function (data) { var idx = $scope.XMTable.indexOf(data); $scope.XMTable.splice(idx, 1); }) JCBZ.getone({ id: items }, function (data) { var cxm = data.BZMC[0]; var mydd = cxm.JCXM; var name = $scope.jcxm.name; //alert(name); // console.log(angular.toJson(cxm)); var myff = Enumerable.From(mydd).Where(function (x) { return x.name == name }).FirstOrDefault(); myff.FFXU = $scope.XMTable; JCBZ.update({ id: items }, { BZMC: [cxm] }, function (data) { alert("删除成功") }) }) $scope.selected = []; } else { alert("请选择一条信息删除") } } else { alert("请选择一个项目进行删除"); } } $scope.Cancel = function () { $uibModalInstance.dismiss('关闭页面'); } }]) /********************这个是添加检测方法的modal***************************/ app.controller('modalJCBZ_FFAddCtrl', ['$scope', '$uibModalInstance', 'items', 'JCBZ', 'JLDW', function ($scope, $uibModalInstance, items, JCBZ, JLDW) { //这是计量单位的选择 $scope.JldwData = []; //$scope.Cdlxdw="请选择..." JLDW.get(function (data) { // console.log(angular.toJson(data)); // $scope.jldw = data.value; angular.forEach(data.value, function (data1) { $scope.JldwData.push(data1.JLDW); }) $scope.JldwData.sort(); }) $scope.jcxm = items.name; //获取随机7位数 function getnum() { var Num = ""; for (var i = 0; i < 7; i++) { Num += Math.floor(Math.random() * 10); } return parseInt(Num); } $scope.OK = function () { //第一步获取传过来的id,通过id查询当前选择的检测标准的数据 var cdd = { ffxh: $scope.Cffxh, ffmc: $scope.Cffmc, ffjcx: $scope.Cdxx, ffjcxDW: $scope.Cdxxdw, ffdlx: $scope.Cdlx, ffdlxDW: $scope.Cdlxdw, BZ: $scope.Cbz, cid: getnum().toString(), } JCBZ.getone({ id: items.BH }, function (data) { var aa = data.BZMC[0]; var bb = Enumerable.From(aa.JCXM).Where(function (x) { return x.name == items.XMname.name }).FirstOrDefault(); // console.log(angular.toJson(bb)) bb.FFXU.push(cdd); JCBZ.update({ id: items.BH }, { BZMC: [aa] }, function (data) { alert("添加成功") $uibModalInstance.close("关"); }) }) } //这是修改的操作 $scope.Cancel = function () { $uibModalInstance.dismiss('关闭页面'); } }]) /**************************这是修改检测方法的model**************************/ app.controller('modalJCBZ_FFChangeCtrl', ['$scope', '$uibModalInstance', 'items', 'JCBZ', 'JLDW', function ($scope, $uibModalInstance, items, JCBZ, JLDW) { //这是计量单位的选择 $scope.JldwData = []; //$scope.Cdlxdw="请选择..." JLDW.get(function (data) { // console.log(angular.toJson(data)); // $scope.jldw = data.value; angular.forEach(data.value, function (data1) { $scope.JldwData.push(data1.JLDW); }) $scope.JldwData.sort(); }) console.log(angular.toJson(items.ShuJiu)); //绑定数据到页面 $scope.jcxm = items.ShuJiu.name; $scope.Cffxh = items.ShuJiu.ffxh; $scope.Cffmc = items.ShuJiu.ffmc; $scope.Cdlx = items.ShuJiu.ffdlx; $scope.Cdlxdw = items.ShuJiu.ffdlxDW; $scope.Cdxx = items.ShuJiu.ffjcx; $scope.Cdxxdw = items.ShuJiu.ffjcxDW; $scope.Cbz = items.ShuJiu.BZ; //这是修改的操作 $scope.OK = function () { // console.log(items.BH); var cc = { ffxh: $scope.Cffxh, ffmc: $scope.Cffmc, ffdlx: $scope.Cdlx, ffdlxDW: $scope.Cdlxdw, ffjcx: $scope.Cdxx, ffjcxDW: $scope.Cdxxdw, BZ: $scope.Cbz, cid: items.ShuJiu.cid, } // console.log(items.SJ.cid); JCBZ.getone({ id: items.BH }, function (data) { var aa = data.BZMC[0]; //找到库中和点击修改数据有相同cid的数据 更换 for (i = 0; i < aa.JCXM.length; i++) { for (r = 0; r < aa.JCXM[i].FFXU.length; r++) { // console.log(aa.JCXM[i].FFXU[r].cid); // console.log(items.SJ.cid); if (aa.JCXM[i].FFXU[r].cid == items.ShuJiu.cid) { aa.JCXM[i].FFXU[r] = cc; } } } // console.log(angular.toJson(aa.JCXM)) JCBZ.update({ id: items.BH }, { BZMC: [aa] }, function (data1) { //console.log(angular.toJson(data1)); alert("修改成功") $uibModalInstance.close("关"); }) }) } $scope.Cancel = function () { $uibModalInstance.dismiss('关闭页面'); } }])