tijian_tieying/web/dccdc/Views/Registration/ProjectProcess.cshtml
2025-02-20 12:14:39 +08:00

516 lines
24 KiB
Plaintext
Raw 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.

@section scripts{
<script type="text/javascript">
$(function () {
$("#starttime").ligerDateEditor();
//2023-11-23 xulu 增加endtime
$("#endtime").ligerDateEditor();
//昨天
var yesterday = new Date();
yesterday.setTime(yesterday.getTime() - 24 * 60 * 60 * 1000);
var month1 = (yesterday.getMonth() + 1).toString();
if (month1.length == 1) {
month1 = "0" + month1;
}
var day1 = yesterday.getDate().toString();
if (day1.length == 1) {
day1 = "0" + day1;
}
//今天
var today = new Date();
var month = (today.getMonth() + 1).toString();
if (month.length == 1) {
month = "0" + month;
}
var day = today.getDate().toString();
if (day.length == 1) {
day = "0" + day;
}
liger.get("starttime").setValue(yesterday.getFullYear() + "-" + month1 + "-" + day1);
liger.get("endtime").setValue(today.getFullYear() + "-" + month + "-" + day);
//查询
$("#search").ligerButton({
click: function() {
liger.get("RegisteList").set("parms",
{
name: $("#name").val(),
startdate: $("#starttime").val(),
enddate: $("#endtime").val(),
idcard: $("#idcard").val(),
physicalnum: $("#physicalnum").val(),
tjfn: $("#tjfn option:selected").val(),
tytjfn: $("#tytjfn option:selected").val(),
tjState: $("#tjState option:selected").val(),
utilName: $("#qyname").val(),
tjxz: $("#tjxz").val(),
tjzt: $("input[name='isCheck']:checked").val()
});
liger.get("RegisteList").changePage("first");
liger.get("RegisteList").reload();
}
});
$("#RegisteList").ligerGrid({
url: "@Url.Action("GetRegistersList")",
title: "人员登记列表",
parms: {
name: $("#name").val(),
idcard: $("#idcard").val(),
startdate: $("#starttime").val(),
enddate: $("#endtime").val(),
physicalnum: $("#physicalnum").val(),
tjfn: $("#tjfn option:selected").val(),
tytjfn: $("#tytjfn option:selected").val(),
tjState: $("#tjState option:selected").val(),
utilName: $("#qyname").val(),
tjxz: $("#tjxz").val(),
tjzt: $("input[name='isCheck']:checked").val()
},
columns: [
{ name: "physical_num", display: "体检编号", width: 180, align: "left" },
{ name: "person_name", display: "姓名", width: 100, align: "left" },
{ name: "card_number", display: "身份证", width: 180, align: "left" },
{ name: "util_name", display: "公司名称", width: 180, align: "left" },
{ name: "physical_type", display: "体检类型", width: 90, align: "left" },
{ name: "register_date", display: "登记日期", width: 100, align: "left" },
{ name: "procedure_status", display: "体检状态", width: 100, align: "left" },
{name: "modify", display: "操作", width: 200, align: "left",
render: function (record, rowindex, value, column) {
//this 这里指向grid
//record 行数据
//rowindex 行索引
//value 当前的值对应record[column.name]
//column 列信息
//2023-11-23 xulu 修改为弹窗
/* return "<a href='ExamProcess?physical_num=" + record.physical_num + "&name=" + record.person_name + "'>体检进度</a>&nbsp"
+ "<a href = 'ExamItems?ids=" + record.check_item_ids + "&person_id=" + record.id + "&name=" + record.person_name + "&physical_num=" + record.physical_num + "&sex=" + record.sex+"' >体检项目</a> "
// 2023-11-1 xulu 因团检报告需求修改,暂时注释+ "<a href='javascript:;' onclick='clone("+record.physical_num+")' >克隆危害因素</a>" ;
+ "<a href = 'RegisteInfo?tm=" + record.physical_num+"' >基本信息</a> "
//return '<input type="button" value="进度"/><input type="button" value="Edit"/><input type="button" value="Delete"/>';*/
if (record.procedure_status == "已登记"//已登记未体检的 可以删除 其余不可以。
|| record.procedure_status == "已导入"
|| record.procedure_status == "已登记未体检"
||record.procedure_status=="打印指引单") {
return "<a href='#' onclick='examProcess(" + record.physical_num + ",\"" + record.person_name + "\")' >体检进度</a>&nbsp"
+ "<a href ='#' onclick='ExamItems(\"" + record.check_item_ids + "\"," + record.id + ",\"" + record.person_name + "\",\"" + record.physical_num + "\",\"" + record.sex + "\")' >体检项目</a> "
+ "<a href ='#' onclick='RegisteInfo(\"" + record.physical_num + "\")' >基本信息</a> "
+ "<a href ='#' onclick=\"DelItem('" + record.register_date + "','" + record.card_number + "','" + record.physical_num + "','" + record.physical_type+"')\">删除</a> "
} else {
return "<a href='#' onclick='examProcess(" + record.physical_num + ",\"" + record.person_name + "\")' >体检进度</a>&nbsp"
+ "<a href ='#' onclick='ExamItems(\"" + record.check_item_ids + "\"," + record.id + ",\"" + record.person_name + "\",\"" + record.physical_num + "\",\"" + record.sex + "\")' >体检项目</a> "
+ "<a href ='#' onclick='RegisteInfo(\"" + record.physical_num + "\")' >基本信息</a> "
}
} }
],
width: "98%",
height: "100%",
rownumbers: true,
usePager: true,
heightDiff: -20,
@*onDblClickRow: function (data, rowindex, rowobj)
{
$.ligerDialog.open({
title: "体检小组进度",
url: "@Url.Action("ExamProcess")?physical_num=" + data.physical_num,
width: 650,
height: 450
});
}*@
checkbox: true,
toolbar: {
items: [
{
text: '批量撤回结果',
click: withdraw,
icon: 'modify'
},
{
text: '批量添加项目',
click: addItems,
icon: 'add'
},
{
text: '批量删除项目',
click: deleteItems,
icon: 'delete'
},
]
},
});
});
//操作类型
var optionType = "";
//批量撤回结果 2023-11-28 xulu
function withdraw() {
var r = liger.get("RegisteList").getSelectedRow();
if (!r) {
$.ligerDialog.alert("请选择要撤回的数据!");
return;
}
optionType = "withdraw";
tjxmwithdraw = $.ligerDialog.open({
url: '@Url.Action("TjxmSel", "Dictionaries")?strSex=',
width: 1200,
height: 600,
title: "撤回体检结果"
});
}
//批量增加项目 2023-11-28 xulu
function addItems() {
var r = liger.get("RegisteList").getSelectedRow();
if (!r) {
$.ligerDialog.alert("请选择要增加的数据!");
return;
}
optionType = "add";
tjxmadd = $.ligerDialog.open({
url: '@Url.Action("TjxmSel", "Dictionaries")?strSex=',
width: 1200,
height: 600,
title: "添加体检项目"
});
}
//批量删除项目 2023-11-28 xulu
function deleteItems() {
var r = liger.get("RegisteList").getSelectedRow();
if (!r) {
$.ligerDialog.alert("请选择要删除的数据!");
return;
}
optionType = "delete";
tjxmdelete = $.ligerDialog.open({
url: '@Url.Action("TjxmSel", "Dictionaries")?strSex=',
width: 1200,
height: 600,
title: "删除体检项目"
});
}
//批量撤回、增加、删除项目 2023-11-28 xulu
function Tjxminit(data) {
debugger
var r = liger.get("RegisteList").getSelectedRows();
var persons = [];
for (var i = 0; i < r.length; i++)
{
var per = {
id: r[i].id,
physical_num: r[i].physical_num,
check_item_ids: r[i].check_item_ids
}
persons.push(per);
}
if (optionType === "add") {
tjxmadd.close();
}
else if (optionType === "delete") {
tjxmdelete.close()
}
else if (optionType === "withdraw") {
tjxmwithdraw.close();
}
$.ajax({
url: '@Url.Action("batchUpdateItems")',
type: 'Post',
chche: false,
dataType: 'json',
data: { persons: persons, items: data, type: optionType }, //发送服务器数据
success: function (data1) { //成功事件
if (!data1.code) {
$.ligerDialog.alert("操作失败!");
}
}
});
optionType = "";
reloadpage();
}
//2023-11-23 xulu 体检小组进度弹窗
function examProcess(physical_num, name) {
$.ligerDialog.open({
title: "体检小组进度",
url: "@Url.Action("ExamProcess")?physical_num=" +physical_num+"&name="+name,
width: 650,
height: 550
});
}
//2023-11-23 xulu 体检项目弹窗
function ExamItems(ids, person_id, name, physical_num,sex) {
$.ligerDialog.open({
title: "体检项目",
url: "@Url.Action("ExamItems")?ids=" + ids + "&person_id=" + person_id + "&name=" + name
+ "&physical_num=" + physical_num + "&sex=" + sex,
width: 1300,
height: 650
});
}
//2023-11-23 xulu 基本信息弹窗
function RegisteInfo(tm) {
reg=$.ligerDialog.open({
title: "基本信息",
url: "@Url.Action("RegisteInfo")?tm=" + tm ,
width: 1300,
height: 650
});
}
//2024-04-01 gqk 已经登记未体检 添加删除功能
function DelItem(register_date, card_number, physical_num, physical_type) {
//console.log(card_number);
if (window.confirm("确认删除吗?")) {
$.ajax({
url: '@Url.Action("DeleteItem")',
type: 'Post',
dataType: 'json',
data: {
physical_num: physical_num,//体检编号
card_number: card_number,//身份证号
Adate: register_date,//登记日期
physical_type: physical_type//体检类型 从业还是职业
},
success: function (data1) { //成功事件
if (data1.code == true) {
alert("删除成功!")
reloadpage();
}
else {
alert("删除失败!")
}
}
});
}
}
//2023-11-23 xulu 关闭弹窗
function closeDialog() {
reg.close();
}
function show() {
}
function clone(physical_num) {
alert(physical_num);
}
//选择企业
function choseqy() {
dia = $.ligerDialog.open({
title: "选择企业",
url: "@Url.Action("SelectCompany", "Common")?lx=职业",
width: 811,
height: 422
});
}
//企业选择后填充
function selectedQY(data) {
cId = data.id;
cName = data.enterprise_name;
$("#qyname").val(cName);
GetTjfn(data.id);
dia.close();
}
//2023-11-07 xulu 增加
//导出
function exportExcel() {
$.ajax({
url: '@Url.Action("GetRegistersListToExcel")',
type: 'Post',
chche: false,
async: false,
dataType: 'json',
data: {
name: $("#name").val(),
startdate: $("#starttime").val(),
enddate: $("#endtime").val(),
idcard: $("#idcard").val(),
physicalnum: $("#physicalnum").val(),
tjfn: $("#tjfn option:selected").val(),
tytjfn: $("#tytjfn option:selected").val(),
tjState: $("#tjState option:selected").val(),
utilName: $("#qyname").val(),
tjxz: $("#tjxz").val(),
tjzt: $("input[name='isCheck']:checked").val()
}, //发送服务器数据
beforeSend: function () { $.ligerDialog.waitting("正在导出请稍后……"); },
success: function (data1) { //成功事件
$.ligerDialog.closeWaitting();
//2023-11-16 xulu 修改为服务端生成文件
if (data1.filename != "") {
var url = "../../../dccdc/ReportFile/" + data1.filename;
location.href = url;
}
/*var str = "姓名,性别,年龄,单位,登记号\n";
for (var i = 0; i < data1.Rows.length; i++) {
str += data1.Rows[i].person_name + ',' + data1.Rows[i].sex + ',' + data1.Rows[i].person_age + ',' + data1.Rows[i].util_name + ',' + data1.Rows[i].physical_num + ',';
str += "\n";
}
var aaaa = "data:text/csv;charset=utf-8,\ufeff" + str;
var link = document.createElement("a");
link.setAttribute("href", aaaa);
var date = new Date().getTime();
var filename = new Date(date).toLocaleDateString()+"导出名单";
link.setAttribute("download", filename + ".csv");
link.click();*/
}
});
}
//获取企业体检方案
function GetTjfn(code) {
$("#tjfn").html("");
$("#tjfn").append("<option value='-1' selected='selected'>----请选择----</option>");
$.ajax({
url: '@Url.Action("GetTjfnBySiteId")',
type: 'Post',
chche: false,
dataType: 'json',
data: { siteid: code }, //发送服务器数据
success: function (data1) { //成功事件
$("#tjfn").empty();
$("#tjfn").append("<option value='-1' selected='selected'>----请选择----</option>");
$.each(data1,
function (i, item) {
$("<option></option>")
.val(data1[i].id)
.text(data1[i].scheme_name)
.appendTo($("#tjfn"));
});
}
});
}
//通用方案填充
$("#tytjfn").change(function () {
//企业体检方案置空
$("#tjfn").val(-1);
});
//企业方案填充
$("#tjfn").change(function () {
//通用体检方案置空
$("#tytjfn").val(-1);
});
//2023-11-23 xulu 清空单位、企业方案输入框
function clearUtilName()
{
$("#qyname").val("")
$("#tjfn").val(-1);
}
//2023-11-23 xulu 体检状态切换时,若为"已导入",更新日期为导入日期
$("#tjState").change(function () {
if ($("#tjState option:selected").val() == "已导入") {
document.getElementById("reg_date").innerText = "导入日期:";
}
else {
document.getElementById("reg_date").innerText = "登记日期:";
}
})
//2023-11-23 xulu 姓名输入框获取焦点时,清空其他输入框
$("#name").focus(function () {
clear();
});
//2023-11-23 xulu 身份证输入框获取焦点时,清空其他输入框
$("#idcard").focus(function () {
clear();
});
//2023-11-23 xulu 体检号输入框获取焦点时,清空其他输入框
$("#physicalnum").focus(function () {
clear();
});
//2023-12-06 xulu 体检小组切换时,首选体检状态为打印指引单
$("#tjxz").change(function () {
if ($("#tjxz option:selected").val() != "") {
$("#tjState").val('打印指引单');
}
})
//2023-11-23 xulu 清空其他输入框
function clear() {
$("#starttime").val('');
$("#endtime").val('');
$("#name").val('');
$("#idcard").val('');
$("#physicalnum").val('');
$("#qyname").val('');
$("#tjfn").val(-1);
$("#tytjfn").val(-1);
$("#tjState").val('');
$("#tjxz").val('');
}
//2023-11-23 xulu 修改项目后刷新页面用于更新项目ids
function reloadpage() {
liger.get("RegisteList").reload();
}
</script>
}
<body>
<div style="width:99%">
<table class="t1" style="width:100%">
<tr>
<td class="ltd" style="width: 100px"><span id="reg_date">登记日期:</span></td>
<td class="rtd" style="width: 80px">@Html.TextBox("starttime", new { id = "starttime" })</td>
<td class="ltd">至</td>
<td class="rtd" style="width: 80px">@Html.TextBox("endtime", new { id = "endtime" })</td>
<td class="ltd" style="width: 100px">姓名:</td>
<td class="rtd" style="width: 100px">@Html.TextBox("name", "", new { id = "name", @class = "l-text" })</td>
<td class="ltd" style="width: 100px">身份证号:</td>
<td class="rtd" style="width: 100px">@Html.TextBox("idcard", "", new { id = "idcard", @class = "l-text" })</td>
<td class="ltd" style="width: 100px">体检号:</td>
<td class="rtd" style="width: 100px">@Html.TextBox("physicalnum", "", new { id = "physicalnum", @class = "l-text" })</td>
</tr>
<tr>
<td class="ltd" style="width: 100px">单位:</td>
<td class="rtd" style="width: 110px"><input style="width:115px" id="qyname" onclick="choseqy()"><a href="#" onclick="clearUtilName()">清空</a></td>
<td class="ltd" style="width: 100px">体检方案:</td>
<td class="rtd" style="width: 120px">
<select id="tjfn" style="width:120px">
<option value='' selected="selected">----请选择----</option>
<option></option>
</select>
</td>
<td class="ltd" style="width: 100px">通用方案:</td>
<td>@Html.DropDownList("tytjfn", ViewData["tytjfn"] as SelectList, "----请选择----", new { id = "tytjfn", style = "width:120px" }) </td>
<td class="ltd" style="width: 100px">体检状态:</td>
<td class="rtd" style="width: 120px">
<select id="tjState" style="width:120px">
<option value='' selected="selected">----请选择----</option>
<option value='已导入'>已导入未登记</option>
<option value='已登记'>已登记未打印指引单</option>
<option value='已登记未体检'>已登记未体检</option>
<option value='打印指引单'>正在体检中</option>
<option value='已录入检查结果'>体检完成未审核</option>
<option value='主检医生已审核'>主检医生已审核</option>
<option value='未打印报告'>未打印报告</option>
<option value='已打印报告'>已打印报告</option>
</select>
</td>
<td>
<button id="search" style="width: 100px">查询</button>
</td>
<td>
<button id="exportExcel" style="width: 50px" onclick="exportExcel()">导出</button>
</td>
</tr>
<tr>
<td class="ltd" style="width: 100px">体检小组:</td>
<td class="rtd" style="width: 120px">@Html.DropDownList("tjxz", ViewData["tjxz"] as SelectList, "全部", new { @id = "tjxz" })</td>
<td class="ltd" style="width: 100px">完成检查:</td>
<td class="rtd" style="width: 120px">
<input type="radio" checked="checked" name="isCheck" value="0"/> 否
<input type="radio" name="isCheck" value="1" />是
</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</div>
<div id="RegisteList">
</div>
</body>