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

726 lines
27 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.

/// <reference path="C:\Users\Administrator\Desktop\WEI.UIPro\WEI.UIPro20160726\WEI.UIPro\WEI.UIPro\WEI.UIPro\Scripts/linq.js" />
/**************************折线图******************************/
app.controller('XXZSCtrl', ['$scope', 'YPJBXXGL', '$uibModal', '$sessionStorage', '$state', '$http', '$filter', 'mainUrl', 'wyOdataNodeService', 'stConfig', '$timeout', 'Upload', function ($scope, YPJBXXGL, $uibModal, $sessionStorage, $state, $http, $filter, mainUrl, wyOdataNodeService, stConfig, $timeout, Upload, $uibModalInstance, item) {
$scope.complaintType = [
"发生食源性疾病",
"腐败变质",
"存在异物",
"发现病媒生物",
"环境卫生",
"销售过期食品",
"虚假宣传",
"无证经营",
"标签不规范",
"超范围经营",
"假冒伪劣",
"人员管理不规范",
"原料处理不当",
"无生产日期",
"感官异常",
"无检验检疫证明",
"售卖活禽",
"预包装食品未封口",
"未设置临保专区",
"原料使用不当",
"储存不规范",
"违规加药",
"餐饮具清洗消毒不洁",
"核辐射区生产的食品",
"包装使用不当",
"不正当竞争",
"无法使用卡券"
]
$scope.huanjie = ["销售环节", "生产环节", "餐饮环节"];
var OldThreeData;
//新增加的20230527
//修改数据方法
$scope.ValueEdit = function (item) {
// console.log('新方法的值', item);
//OldThreeData = item;
$scope.FormTitle = '修改参数值'
$scope.FormData = item;
if (item.COMPLAINT_TYPE !== '') {
var complaintTypeIndex = $scope.complaintType.indexOf(item.COMPLAINT_TYPE);
if (complaintTypeIndex !== -1) {
document.getElementById("ID").selectedIndex = complaintTypeIndex + 1;
} else {
document.getElementById("ID").selectedIndex = 0;
}
} else {
document.getElementById("ID").selectedIndex = 0;
}
if (item.HUANJIE !== '') {
var huanJieIndex = $scope.huanjie.indexOf(item.HUANJIE);
if (huanJieIndex !== -1) {
document.getElementById("huanjie").selectedIndex = huanJieIndex + 1;
} else {
document.getElementById("huanjie").selectedIndex = 0;
}
} else {
document.getElementById("huanjie").selectedIndex = 0;
}
}
//修改数据方法
$scope.ValueAdd = function () {
//console.log('新方法的值', item);
//OldThreeData = item;
$scope.FormTitle = '新增参数值'
console.log('add_item', item);
$scope.FormData = {
"ID": 0,
"JCDL": "",
"JCYL": "",
"JCXIAOLEI": "",
"JCXILEI": "",
"REMARK": ""
};
}
//替换方法
$scope.PiLiangTiHuan = function () {
//新的打开替换的方法
dLayer.open({
type: 2,
area: ['1200px', '700px'],
content: '../tihuan_XXZS.html'
});
}
$scope.SaveData = function () {
//UpdateData
$scope.FormData.newComplaintType = document.getElementById("ID").value;
if ($scope.FormData.ID == 0) {
console.log('新增' + $scope.FormData.ID);
$http.get('./XXZS/AddData?data=' + JSON.stringify($scope.FormData), {}).success(function (res) {
console.log('获取结果', res);
dLayer.msg("新增完成")
})
} else {
console.log('修改' + $scope.FormData.ID);
$http.get('./XXZS/UpdateData?data=' + JSON.stringify($scope.FormData), {}).success(function (res) {
console.log('获取结果', res);
dLayer.msg("修改完成")
})
}
//$http.get('./JCXMNEW/UpdateData?data=' + JSON.stringify($scope.FormData), {}).success(function (res) {
// console.log('获取结果', res);
// dLayer.msg("修改完成")
//})
}
$scope.TongJi = function () {
dLayer.open({
type: 2,
area: ['800px', '650px'],
content: ['../JCXMNEW_TongJiTu.html', 'no'] //这里content是一个URL如果你不想让iframe出现滚动条你还可以content: ['http://sentsin.com', 'no']
});
}
$scope.myttt = "等待查询结果";
//todo
$scope.Myjson = [
{"type": 1, "mytext": "系统ID", "PY": "ID"},
{"type": 1, "mytext": "名称", "PY": "JYZMC"},
{"type": 1, "mytext": "所属区划", "PY": "SSQX"},
{"type": 1, "mytext": "领域", "PY": "LY"},
{"type": 1, "mytext": "细分领域", "PY": "XFLY"},
{"type": 1, "mytext": "统一码", "PY": "SHXYDM"},
{"type": 1, "mytext": "许可证编号", "PY": "XKZBH"},
{"type": 1, "mytext": "企业类型", "PY": "QYLX"},
{"type": 1, "mytext": "上传台账产品分类合集", "PY": "CPFLHJ"},
{"type": 1, "mytext": "是否注册", "PY": "IS_ZC"},
{"type": 1, "mytext": "是否上传", "PY": "IS_SC"},
{"type": 1, "mytext": "及时率", "PY": "JSL"},
{"type": 1, "mytext": "时间", "PY": "SJ"},
{"type": 1, "mytext": "环节", "PY": "HUANJIE"},
];
//、定性值、限量值、限量值单位、检测值、检测值单位、判定
$scope.Myjson1 = [
{"myvalue": 1, "mytext": "等于"},
{"myvalue": 7, "mytext": "不等于"},
{"myvalue": 2, "mytext": "包含"},
{"myvalue": 8, "mytext": "不包含"},
{"myvalue": 3, "mytext": "大于"},
{"myvalue": 4, "mytext": "小于"},
{"myvalue": 5, "mytext": "大于等于"},
{"myvalue": 6, "mytext": "小于等于"},
]
var shipinleibieshuju = [];
//加载所有 的食品分类
//加载所有 的食品分类
var shipinleibieshuju = {};
//$http.get(mongoApi, {}).success(function (Ldata) {
// //alert(Ldata.Data.name);
// shipinleibieshuju = angular.fromJson(Ldata.Data.name);
//});
//加载所有 的检测项目分类
// var jiancexiangmu = {};
// $http.get(pubserver + "JCXM_DB", {}).success(function (Ldata) {
// //alert(Ldata.Data.name);
// jiancexiangmu = angular.fromJson(Ldata.value);
// });
function add0(m) {
return m < 10 ? '0' + m : m
}
function format(shijianchuo) {
//shijianchuo是整数否则要parseInt转换
var time = new Date(shijianchuo);
var y = time.getFullYear();
var m = time.getMonth() + 1;
var d = time.getDate();
//var h = time.getHours();
//var mm = time.getMinutes();
//var s = time.getSeconds();
return y + '/' + add0(m) + '/' + add0(d);// + ' ' + add0(h) + ':' + add0(mm) + ':' + add0(s);
}
/***********************样品综合查询**************************/
//添加条件
$scope.TJTable = [];
$scope.RWLYSHOW = false;
$scope.SouSuoShow = true;
$scope.addTJ = function (tjtype) {
if ($scope.TJTable.length <= 0) {
tjtype = "";
}
if (!$scope.isdate) {
var str = $("#dept").val();
if (str != "? undefined:undefined ?") {
$scope.mytxt = str;
}
var aa = {
"lianjietype": tjtype,
"CXTJPY": $scope.mysel.PY,
"CXTJ": $scope.mysel.mytext,
"CXLX": $scope.mysel1.mytext,
"CXLXid": $scope.mysel1.myvalue,
"CXNR": $scope.mytxt,
}
if (aa.CXTJ == "选择" || aa.CXLX == "选择" || (str == "" && $scope.RWLYSHOW)) {
return;
}
//console.log(aa);
var myll = Enumerable.From($scope.TJTable).Where(function (x) {
return x.CXTJ == aa.CXTJ && x.CXLX == aa.CXLX && x.CXNR == aa.CXNR
}).ToArray();
if (myll.length > 0) {
alert("您已经添加过此条件");
} else {
$scope.TJTable.push(aa);
//$scope.TJTable = Enumerable.From($scope.TJTable).ToArray();
//console.log(angular.toJson($scope.TJTable));
}
} else {
var kaishishijian = format($scope.datebegin);
var jieshushijian = format($scope.dateend);
var aa1 = {
"lianjietype": tjtype,
"CXTJPY": $scope.mysel.mytext == "执行年月" ? "ZXNY_KS" : $scope.mysel.PY,
"CXTJ": $scope.mysel.mytext == "执行年月" ? "执行年月开始" : $scope.mysel.mytext,
"CXLX": "大于等于",
"CXLXid": 5,
"CXNR": kaishishijian,
}
var aa2 = {
"lianjietype": "and",
"CXTJPY": $scope.mysel.mytext == "执行年月" ? "ZXNY_JS" : $scope.mysel.PY,
"CXTJ": $scope.mysel.mytext == "执行年月" ? "执行年月结束" : $scope.mysel.mytext,
"CXLX": "小于等于",
"CXLXid": 6,
"CXNR": jieshushijian,
}
$scope.TJTable.push(aa1);
$scope.TJTable.push(aa2);
//$scope.TJTable = Enumerable.From($scope.TJTable).ToArray();
}
}
//删除条件
$scope.deleteTJ = function (index) {
var aa = $scope.TJTable.indexOf(index);
$scope.TJTable.splice(aa, 1);
}
//改变事件
$scope.MyjsonChange = function () {
$scope.RELYdata = [];
$scope.myselpublic = undefined;
$scope.mytxt = "";
switch ($scope.mysel.PY) {
/////////////////////////////////////////////////最新食品分类(以2016年为准)//////////////////////////////////////////////////
case "SP_DL":
$scope.RELYdata = [];
var dldata = Enumerable.From(shipinleibieshuju).Select(function (a) {
return a.spdlName
}).ToArray();
$scope.RELYdata.push({"mytext": "" + dldata[0] + "", "PY": "GJZJ"})
for (var i1 = 1; i1 < dldata.length; i1++) {
$scope.RELYdata.push({"mytext": "" + dldata[i1] + "", "PY": "SHZJ"})
}
$scope.isdate = false;
$scope.RWLYSHOW = true;
$scope.SouSuoShow = false;
break;
case "SP_YL":
$scope.RELYdata = [];
//查看是否已选择 食品大类
var shangjixinxi1 = Enumerable.From($scope.TJTable).Where(function (x) {
return x.CXTJ == "食品大类"
}).FirstOrDefault();
if (shangjixinxi1) {
var yldatas = Enumerable.From(shipinleibieshuju).Where(function (x) {
return x.spdlName == shangjixinxi1.CXNR
}).Select(function (a) {
return a.spylName
}).ToArray();
for (var i2 = 0; i2 < yldatas.length; i2++) {
var yldata = Enumerable.From(yldatas[i2]).Select(function (a) {
return a.spylName
}).ToArray();
for (var i3 = 0; i3 < yldata.length; i3++) {
$scope.RELYdata.push({"mytext": "" + yldata[i3] + "", "PY": "SHZJ"})
}
}
} else {
var yldatas = Enumerable.From(shipinleibieshuju).Select(function (a) {
return a.spylName
}).ToArray();
for (var i2 = 0; i2 < yldatas.length; i2++) {
var yldata = Enumerable.From(yldatas[i2]).Select(function (a) {
return a.spylName
}).ToArray();
for (var i3 = 0; i3 < yldata.length; i3++) {
$scope.RELYdata.push({"mytext": "" + yldata[i3] + "", "PY": "SHZJ"})
}
}
}
$scope.isdate = false;
$scope.RWLYSHOW = true;
$scope.SouSuoShow = false;
break;
case "SP_PZ":
$scope.RELYdata = [];
//查看是否已选择 食品大类
var shangjixinxi2 = Enumerable.From($scope.TJTable).Where(function (x) {
return x.CXTJ == "食品大类"
}).FirstOrDefault();
//查看是否已选择 食品亚类
var shangjixinxi3 = Enumerable.From($scope.TJTable).Where(function (x) {
return x.CXTJ == "食品亚类"
}).FirstOrDefault();
var yldatas = Enumerable.From(shipinleibieshuju).ToArray();
if (shangjixinxi2) {
yldatas = Enumerable.From(yldatas).Where(function (x) {
return x.spdlName == shangjixinxi2.CXNR
}).Select(function (a) {
return a.spylName
}).ToArray();
} else {
yldatas = Enumerable.From(yldatas).Select(function (a) {
return a.spylName
}).ToArray();
}
for (var i2 = 0; i2 < yldatas.length; i2++) {
var zldatas = Enumerable.From(yldatas[i2]).Where(function (a) {
return !shangjixinxi3 ? true : a.spylName == shangjixinxi3.CXNR
}).Select(function (a) {
return a.spzlName
}).ToArray();
for (var i3 = 0; i3 < zldatas.length; i3++) {
var zldata = Enumerable.From(zldatas[i3]).Select(function (a) {
return a.spzlNames
}).ToArray();
for (var i4 = 0; i4 < zldata.length; i4++) {
$scope.RELYdata.push({"mytext": "" + zldata[i4] + "", "PY": "SHZJ"})
}
}
}
$scope.isdate = false;
$scope.RWLYSHOW = true;
$scope.SouSuoShow = false;
break;
case "SP_XL":
$scope.RELYdata = [];
//查看是否已选择 食品大类
var shangjixinxi2 = Enumerable.From($scope.TJTable).Where(function (x) {
return x.CXTJ == "食品大类"
}).FirstOrDefault();
//查看是否已选择 食品亚类
var shangjixinxi3 = Enumerable.From($scope.TJTable).Where(function (x) {
return x.CXTJ == "食品亚类"
}).FirstOrDefault();
//查看是否已选择 食品品种
var shangjixinxi4 = Enumerable.From($scope.TJTable).Where(function (x) {
return x.CXTJ == "食品品种"
}).FirstOrDefault();
var yldatas = Enumerable.From(shipinleibieshuju).Where(function (x) {
return !shangjixinxi2 ? true : x.spdlName == shangjixinxi2.CXNR
}).Select(function (a) {
return a.spylName
}).ToArray();
for (var i2 = 0; i2 < yldatas.length; i2++) {
var zldatas = Enumerable.From(yldatas[i2]).Where(function (a) {
return !shangjixinxi3 ? true : a.spylName == shangjixinxi3.CXNR
}).Select(function (a) {
return a.spzlName
}).ToArray();
for (var i3 = 0; i3 < zldatas.length; i3++) {
var xldatas = Enumerable.From(zldatas[i3]).Where(function (a) {
return !shangjixinxi4 ? true : a.spzlNames == shangjixinxi4.CXNR
}).Select(function (a) {
return a.spxlNames
}).ToArray();
for (var i4 = 0; i4 < xldatas.length; i4++) {
for (var i5 = 0; i5 < xldatas[i4].length; i5++) {
$scope.RELYdata.push({"mytext": "" + xldatas[i4][i5] + "", "PY": "SHZJ"})
}
}
}
}
$scope.isdate = false;
$scope.RWLYSHOW = true;
$scope.SouSuoShow = false;
break;
////////////////////////////////////////////////////////////////////////////////////////////////////////////
case "ZXNY":
$scope.isdate = true;
$scope.RWLYSHOW = false;
$scope.SouSuoShow = false;
break;
case "SCJGGJRQ":
$scope.isdate = true;
$scope.RWLYSHOW = false;
$scope.SouSuoShow = false;
break;
case "YPJZRQ":
$scope.isdate = true;
$scope.RWLYSHOW = false;
$scope.SouSuoShow = false;
break;
case "BCYDWSJ":
$scope.isdate = true;
$scope.RWLYSHOW = false;
$scope.SouSuoShow = false;
break;
case "CYSJ":
$scope.isdate = true;
$scope.RWLYSHOW = false;
$scope.SouSuoShow = false;
break;
//检测类型
case "RWLX":
$scope.RELYdata = [
{"mytext": "风险监测", "PY": "GJZJ"},
{"mytext": "监督抽检", "PY": "SHZJ"},
{"mytext": "评价性抽检", "PY": "SHZJ"},
];
$scope.isdate = false;
$scope.RWLYSHOW = true;
$scope.SouSuoShow = false;
break;
//抽样方式
case "CYFS":
$scope.RELYdata = [
{"mytext": "无菌抽样", "PY": "GJZJ"},
{"mytext": "非无菌抽样", "PY": "SHZJ"}
];
$scope.isdate = false;
$scope.RWLYSHOW = true;
$scope.SouSuoShow = false;
break;
//样品型态
case "YPXT":
$scope.RELYdata = [
{"mytext": "固体", "PY": "GJZJ"},
{"mytext": "半固体", "PY": "SHZJ"},
{"mytext": "液体", "PY": "SHZJ"},
{"mytext": "气体", "PY": "SHZJ"}
];
$scope.isdate = false;
$scope.RWLYSHOW = true;
$scope.SouSuoShow = false;
break;
case "JieGuo":
//合格,不合格,问题,不作评价,不合格 / 问题
$scope.RELYdata = [
{"mytext": "合格", "PY": "GJZJ"},
{"mytext": "不合格", "PY": "SHZJ"},
{"mytext": "不作评价", "PY": "SHZJ"},
{"mytext": "问题", "PY": "SHZJ"},
{"mytext": "不合格/问题", "PY": "SHZJ"}
];
$scope.isdate = false;
$scope.RWLYSHOW = true;
$scope.SouSuoShow = false;
break;
//常规监测、专项监测、应急监测、监督抽检/专项抽检、应急抽检、常规抽检
case "RWXZ":
$scope.RELYdata = [
{"mytext": "常规监测", "PY": "GJZJ"},
{"mytext": "专项监测", "PY": "SHZJ"},
{"mytext": "应急监测", "PY": "SHZJ"},
{"mytext": "监督抽检", "PY": "SHZJ"},
{"mytext": "专项抽检", "PY": "SHZJ"},
{"mytext": "应急抽检", "PY": "SHZJ"},
{"mytext": "常规抽检", "PY": "SHZJ"},
];
$scope.isdate = false;
$scope.RWLYSHOW = true;
$scope.SouSuoShow = false;
break;
//抽样方式
case "HUANJIE":
$scope.RELYdata = [
{"mytext": "生产环节", "PY": "GJZJ"},
{"mytext": "餐饮环节", "PY": "GJZJ"},
{"mytext": "销售环节", "PY": "GJZJ"},
];
$scope.isdate = false;
$scope.RWLYSHOW = true;
$scope.SouSuoShow = false;
break;
default:
$scope.isdate = false;
$scope.RWLYSHOW = false;
$scope.SouSuoShow = true;
}
$timeout(function () {
$("#dept").trigger("chosen:updated");
}, 100, false);
}
/////*******************总的查询*****************/
$scope.wherestr = "";
$scope.ChaXun = function () {
var wherestr = angular.toJson($scope.TJTable);
if ($scope.TJTable.length <= 0) {
wherestr = "";
}
wherestr = wherestr.replace('+', '%2B');
console.log(wherestr);
$scope.wherestr = wherestr;
$scope.tableState.pagination.start = 0;
$scope.getService($scope.tableState, null);
//增加日志20211109
addlog("SQL查询", "查询[" + wherestr + "]")
}
$("#delete").hide();
$("#delete2").hide();
$("#tihuan").hide();
var Uname = sessionStorage.getItem('userName');
if (Uname == 'yushenghao') {
$("#delete").show();
$("#delete2").show();
$("#tihuan").show();
}
//直接导出数据的方法
//导出文档
$scope.ExportAll = function () {
if (!tableState.pagination.number) {
tableState.pagination.number = $scope.curpageNumber;
}
window.location.href = './XXZS/export?wherestr=' + $scope.wherestr + '&page=' + tableState.pagination.start + '&limit=' + tableState.pagination.number;
}
//导入文档
$scope.ImportAll = function (file) {
//下载时候字符串
debugger;
var myid = new Date().valueOf();
$scope.uploadImg = "";
$scope.isShow = true;
console.log('checkinok!!!')
Upload.upload({
//服务端接收
url: '/XXZS/Import',
//上传的同时带的参数
data: {'username': $sessionStorage.user.UserName, "FileName": myid.toString(), module: 'xlz'},
file: file[0]
}).progress(function (evt) {
//进度条
$scope.uploadImg = parseInt(100 * evt.loaded / evt.total) + "%";
}).success(function (data, status, headers, config) {
//上传成功
alert("导入成功!");
$scope.ChaXun();
$scope.isShow = false;
//增加日志20211109
addlog("信息追溯注册企业管理", "数据_导入" + myid.toString())
})
}
/**************************************************************************************/
//通过STMATETable 分页显示数据
//以下的参数每个控制器都要有一份
tableState = {counrt: 0, pagination: {start: 0}, search: {}, sort: {}}; //这个参数后面会让每次访问服务器后进行同步返回的值赋值,作为中间值使用
$scope.selectList = []; //这个参数会让每次选中或者没有选中的条目直接暴露在这个值里面
$scope.searchSql = ""; //这个参数是自己组合相关的复杂查询条件
$scope.isShow = false; //这个参数主要进行页面加载的loading显示的directive的值得操作
$scope.itemsOptions = [5, 10, 20, 50, 100, 200, 500, 1000]; //这个参数进行分页页面上面的每页多少条的设置
$scope.curpageNumber = 10; //这个参数传递当前的每页多少条的数据
$scope.getService = function (tableState, ctrl) {
//if (!wherestr || !wherestr) {
// wherestr = "";
//}
if (!tableState.pagination.number) {
tableState.pagination.number = $scope.curpageNumber;
}
console.log($scope.wherestr);
$http.get('./XXZS/page?wherestr=' + $scope.wherestr + '&page=' + tableState.pagination.start + '&limit=' + tableState.pagination.number, {}).success(function (res) {
// console.log('获取结果', res);
$scope.displayed = res.data.records;
$scope.totalData = res.data.total;
$scope.qiyeshuliang = res.qiyetotal;
$scope.isShow = false;
//当前页面的ID号数组
//$scope.ids = Enumerable.From($scope.displayed).Select(function (x) { return x._id }).ToArray();
//表格数量
$scope.myttt = res.data.total;
tableState.count = res.data.total;
tableState.pagination.numberOfPages = Math.ceil(res.data.total / $scope.curpageNumber);
$scope.inputPage = tableState.pagination.numberOfPages;
$scope.tableState = tableState;
$scope.$broadcast('checkini');
})
};
//模板的分页选择触发操作
$scope.setPageNumber = function (pageNo) {
tableState.pagination.number = pageNo;
$scope.getService($scope.tableState, null);
}
//查询参数的调用
$scope.search = function () {
$scope.searchSql = [$scope.sql];
$scope.getA($scope.tableState);
}
//新的删除操作20230828单独删除SQLSERVER的数据
//SQLDeleteOne
$scope.SQLDeleteOne = function (id) {
dLayer.confirm('您确定删除编号[' + id + "]的单条数据信息?", {
btn: ['确定', '取消'] //按钮
}, function (index) {
console.log('Execute');
dLayer.close(index);
$http.get('/JCXMNEW/RemoveData?id=' + id).success(function (mydata) {
//curLayer.msg('删除成功,请刷新!');
dLayer.alert("删除成功,请刷新!");
})
}, function () {
dLayer.msg('操作取消')
return;
})
}
/**************************************************************************************/
$scope.items = 0;
$scope.open = function (YPBH) {
$scope.items = YPBH;
var modalInstance = $uibModal.open({
animation: true,
backdrop: false, // 不让点击背景关闭系统
templateUrl: 'app/model/modalTemplate.html',
controller: 'uibModalInstanceCtrl',
size: 'lg',
//windowTopClass:'dialog'
resolve: {
items: function () {
return $scope.items;
}
}
});
modalInstance.result.then(
function (nclose) {
$scope.returnData = nclose
},
function (ndismiss) {
$scope.returnData = ndismiss
}
)
}
$scope.JYXM = [];
}])