软测单独项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

755 lines
29 KiB

11 months ago
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>信息编辑</title>
<meta name="renderer" content="webkit" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="format-detection" content="telephone=no" />
<link rel="stylesheet" href="../../layui/css/layui.css" media="all" />
<link rel="stylesheet" href="../../css/public.css" media="all" />
<script src="/js/jquery-2.1.3.min.js" type="text/javascript"></script>
<script src="/js/jquery.cookie.js" type="text/javascript"></script>
<script type="text/javascript" src="/js/jq_extend.js"></script>
<style type="text/css">
.divPanelBody {
line-height: 55px;
}
.divPanelBody table tr td {
border: 1px dashed #42779D;
}
.divPanel {
position: relative;
border: 1px solid #42779D;
}
.divTbParent {
position: relative;
line-height: 20px;
margin-top: 25px;
}
.divRowSpan {
position: absolute;
top: 30px;
left: 0px;
width: 90px;
}
.layui-form-checkbox[lay-skin=primary] span {
color: #fff;
}
</style>
</head>
<body>
<div id="divEdit" style="width:98%;">
<br />
<form class="layui-form" action="">
<div class="layui-form-item">
<label class="layui-form-label">日期</label>
<div class="layui-input-block">
<input type="text" id="DUTY_DAY" lay-verify="required" autocomplete="off" placeholder="请选择日期" class="layui-input">
</div>
</div>
<div id="divTypeSel">
<div class="layui-form-item">
<label class="layui-form-label">值班类型</label>
<div class="layui-input-block">
<select id="DUTY_TYPE_ID" lay-filter="DUTY_TYPE_ID">
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">模板</label>
<div class="layui-input-block">
<select id="DUTY_TEMPLATE_ID" lay-filter="DUTY_TEMPLATE_ID">
</select>
</div>
</div>
</div>
<!--新增属性外框-->
<div id="divAddAttri">
</div>
<!--新增表格外框-->
<div id="divAddTable">
</div>
<div class="layui-row">
<label class="layui-form-label">备注</label>
<div class="layui-input-block">
<textarea placeholder="请输入内容" class="layui-textarea" id="DUTY_REMARK"></textarea>
</div>
</div>
<div class="layui-form-item">
<center>
<button type="button" class="layui-btn" id="btn_Save">确定</button>
</center>
</div>
</form>
</div>
<script type="text/javascript" src="../../layui/layui.js"></script>
<link rel="stylesheet" href="../../css/right-list.css" media="all" />
<link rel="stylesheet" href="../../css/bulletframebg.css" media="all" />
<script>
layui.extend({
selectM: '../../layui/layui_extends/selectM',
}).use(['laydate', 'layer', 'table', 'form', 'selectM'], function () {
var laydate = layui.laydate;
var table = layui.table;
var $ = layui.jquery;
var layer = layui.layer;
var form = layui.form;
var selectM = layui.selectM;
//var userInfo = JSON.parse(window.sessionStorage.getItem("userInfo"));
//var OrgId = userInfo.OrgID;
// var OrgId = getUrlParam("OrgId");// "D8DC637B8B984848A63F82A018AFAEB0";
var OrgId = "D8DC637B8B984848A63F82A018AFAEB0";
var cgid = getUrlParam('cgid');
//var cgid = "d55627eb15d8485b9a10ef6f057076d7";
//模板关联设备信息选择对象
var TemLinkDevice;
//日期选择器
laydate.render({
elem: '#DUTY_DAY'
, value: new Date()
//,type: 'date' //默认,可不填
});
var selDutyTypeId = '';
$(function () {
//获取传递机构ID
var paraOrgId = getUrlParam("OrgId");
if (paraOrgId.length > 1) {
OrgId = paraOrgId;
}
//获取传递机构ID
var _selDutyTypeId = getUrlParam("selDutyTypeId");
if (_selDutyTypeId.length > 1) {
selDutyTypeId = _selDutyTypeId;
}
if (cgid.length < 1) {
InitTempLinkType();
} else {
InitInfo();
}
});
//动态属性设定html字符串
function GetAttHtml(attObj) {
//第几列
var ColNum = attObj.ColNum;
//时间范围字符串
var DtmStr = attObj.DtmStr;
//信息ID
var uuidStr = attObj.ID;
if (uuidStr.length < 1) {
uuidStr = guid();
}
//是否表格属性:0、表格属性;1、单独属性
var IsTable = attObj.IsTable;
//选项
var OptionList = attObj.OptionList;
//标题
var RowTitle = attObj.RowTitle;
//类型
var RowType = attObj.RowType;
//值
var RowVal = attObj.RowVal;
//表格排序
var TableNum = attObj.TableNum;
//总列数
var ColNumCount = attObj.ColNumCount;
//总行数
var RowNumCount = attObj.RowNumCount;
//选择人员名称信息
var RowSelEmpName = attObj.RowSelEmpName;
//设备是否已经识别:0、未识别;1、已识别;
var IsDeviceRead = attObj.IsDeviceRead;
//设备识别时间
var DeviceReadTime = attObj.DeviceReadTime;
//识别图片路径
var DeviceReadImgUrl = attObj.DeviceReadImgUrl;
//跨行数
var rowspan = attObj.RowSpan;
var attribHtmlStr = ' IsTable="' + IsTable + '" TableNum="' + TableNum + '" ColNum="' + ColNum + '" ColNumCount="'
+ ColNumCount + '" RowNumCount="' + RowNumCount + '" idStr = "' + uuidStr + '" rowspan="' + rowspan + '" DtmStr ="'
+ DtmStr + '" OptionList="' + OptionList + '" RowTitle="' + RowTitle + '" RowType="' + RowType + '" RowVal="' + RowVal + '" '
+ ' RowSelEmpName="' + RowSelEmpName + '" IsDeviceRead="' + IsDeviceRead + '" DeviceReadTime="' + DeviceReadTime + '" DeviceReadImgUrl="' + DeviceReadImgUrl + '" ';
var retHtml = '';
//类型:0、输入项;1、选择项;2、人员选择;3、时间范围;
switch (RowType) {
case "0":
retHtml = '' +
'<div class="layui-input-inline">' +
' <label class="layui-form-label label-required-next" >' + RowTitle + '</label >' +
' <div class="layui-input-block">' +
' <input ' + attribHtmlStr + ' type="text" class="layui-input attribItemLib" placeholder="请输入内容" value="' + RowVal
+ '" lay-verify="required" maxlength="50" />' +
' </div>' +
'</div >';
break;
case "1":
var selHtmlStr = '';
var selArrItem = OptionList.split(",");
for (var i = 0; i < selArrItem.length; i++) {
if (RowVal == selArrItem[i]) {
selHtmlStr += '<option value="' + selArrItem[i] + '" selected="selected" >' + selArrItem[i] + '</option>';
} else {
selHtmlStr += '<option value="' + selArrItem[i] + '">' + selArrItem[i] + '</option>';
}
}
retHtml = '' +
'<div class="layui-input-inline">' +
' <label class="layui-form-label label-required-next" >' + RowTitle + '</label >' +
' <div class="layui-input-block">' +
' <select class="attribItemLib" ' + attribHtmlStr + '>' +
selHtmlStr +
' </select>' +
' </div>' +
'</div >';
break;
case "2":
retHtml = '' +
'<div class="layui-input-inline">' +
' <label class="layui-form-label label-required-next" >' + RowTitle + '</label >' +
' <div class="layui-input-block">' +
' <input ' + attribHtmlStr + ' type="text" class="layui-input attribItemLib attSelEmp" readonly="readonly" ' +
' placeholder="点击选择人员" lay-verify="required" value="' + RowSelEmpName + '" />' +
' </div>' +
'</div >';
break;
case "3":
retHtml = '' +
'<div class="layui-input-inline">' +
' <label class="layui-form-label label-required-next" >' + RowTitle + '</label >' +
' <div class="layui-input-block">' +
' <input ' + attribHtmlStr + ' type="text" class="layui-input attribItemLib attSelEmp" readonly="readonly" placeholder="' +
DtmStr + '" lay-verify="required" value="' + RowSelEmpName + '" />' +
' </div>' +
'</div >';
break;
default:
retHtml = '';
break;
}
return retHtml;
}
//点击选择人员
$(document).on('click', '.attSelEmp', function () {
var itemEmpSel = $(this);
layui.layer.open({
type: 2,
title: '人员选择',
area: ['260px', '420px'],
content: '/Fire/Inspect/MansTree.html?org_id=' + OrgId,
btn: ['确定'],
success: function (layero, index) {
var pid = itemEmpSel.attr("RowVal");
var body = layui.layer.getChildFrame('body', index);
body.find("#treeID").val(pid);
},
yes: function (index, layero) {
var iframeWin = window[layero.find('iframe')[0]['name']];
var datas = iframeWin.window.returnData();
datas = JSON.parse(datas);
var treeId = "", treeName = "", count = 0;
for (var i = 0; i < datas.length; i++) {
if (datas[i].TYPE == "emp") {
if (count == 0) {
treeId += datas[i].ID;
treeName += datas[i].NAME;
} else {
treeId += "," + datas[i].ID;
treeName += "," + datas[i].NAME;
}
var acc_pplobj = new Object();
acc_pplobj.ppl_Id = datas[i].ID;
acc_pplobj.ppl_Name = datas[i].NAME;
count++;
}
}
//console.log(treeName);
itemEmpSel.val(treeName);
itemEmpSel.attr("RowVal", treeId);
itemEmpSel.attr("RowSelEmpName", treeName);
var arr1 = [];
var itemSplArr = [];
if (treeId.length > 1) {
itemSplArr = treeId.split(',');
for (var i = 0; i < itemSplArr.length; i++) {
arr1.push('');
}
}
var str1 = arr1.join(",");
//console.log(arr1);
//console.log(itemSplArr);
//console.log(str1);
//console.log(treeId);
itemEmpSel.attr("DeviceReadImgUrl", str1);
itemEmpSel.attr("DeviceReadTime", str1);
itemEmpSel.attr("IsDeviceRead", str1);
//$("#EMP_ID").val(treeId);
layui.layer.close(index); //如果设定了yes回调,需进行手工关闭
}
})
})
var arrTempLinkDeviceVal = [];
//模板类型ID
var selTempTypeId = '';
//模板ID
var Sel_DUTY_TEMPLATE_ID = "";
function InitInfo() {
if (cgid.length > 0) {
$.ajax({
type: "post",
url: "/ashx/DutyDiyHandler.ashx",
data: { Action: "GetDutyDetailsByID", cgid: cgid },
dataType: "json",
success: function (result) {
console.log(result);
//日期
$("#DUTY_DAY").val(result.data.DUTY_DAY);
$("#DUTY_DAY").attr('readonly', 'readonly');
$("#divTypeSel").hide();
selTempTypeId = result.data.DUTY_TYPE_ID;
Sel_DUTY_TEMPLATE_ID = result.data.DUTY_TEMPLATE_ID;
$("#DUTY_REMARK").val(result.data.DUTY_REMARK);
//遍历添加属性
for (var i = 0; i < result.data.dataAttribList.length; i++) {
var htmlStr = '<div class="divPanel"><div class="layui-row divPanelBody">' +
GetAttHtml(result.data.dataAttribList[i]) +
'</div></div>';
$("#divAddAttri").append(htmlStr);
form.render('select');
}
//遍历添加表格
for (var k = 0; k < result.data.dataTableList.length; k++) {
var htmlStr = '<div class="divPanel"><div class="divPanelBody">';
htmlStr += '<table style="width:100%;">';
htmlStr += '<tr>';
for (var i = 0; i < result.data.dataTableList[k].dataAttribList.length; i++) {
var rowspan = result.data.dataTableList[k].dataAttribList[i].RowSpan;
var CloseHtml = '';
htmlStr += '<td rowspan="' + rowspan + '"><div class="divTbParent">' + CloseHtml +
'<div class="layui-row divPanelBody">' +
GetAttHtml(result.data.dataTableList[k].dataAttribList[i]) +
'</div>' +
'</div></td>';
//判断是否还有下一条数据
if (i + 1 < result.data.dataTableList[k].dataAttribList.length) {
//存在下一条数据,判断下一条是否第一列
if (result.data.dataTableList[k].dataAttribList[i + 1].ColNum == "1") {
//下一条是第一列
htmlStr += '</tr><tr>';
}
}
}
htmlStr += '</tr>';
htmlStr += '</table>';
htmlStr += '</div></div>';
$("#divAddTable").append(htmlStr);
form.render('select');
}
}
});
} else {
}
}
//模板管理类型信息初始化
function InitTempLinkType() {
$.ajax({
type: "post",
url: "/ashx/DutyDiyHandler.ashx",
data: { Action: "GetDutyTypeList", OrgId: OrgId },
dataType: "json",
success: function (result) {
var orgStr = "";
var itemIndex = 0;
if (selDutyTypeId.length > 0) {
itemIndex++;
selTempTypeId = selDutyTypeId;
InitTempList(selTempTypeId);
}
result.data.forEach(function (obj, index, arr) {
if (itemIndex < 1) {
itemIndex++;
InitTempList(obj.ID);
selTempTypeId = obj.ID;
}
if (selTempTypeId == obj.ID) {
orgStr += "<option value='" + obj.ID + "' selected='selected' >" + obj.DUTY_TYPE_NAME + "</option>";
} else {
orgStr += "<option value='" + obj.ID + "'>" + obj.DUTY_TYPE_NAME + "</option>";
}
});
$("#DUTY_TYPE_ID").append(orgStr);
form.render('select');
}
});
}
//模板信息初始化
function InitTempList(DutyTypeID) {
$.ajax({
type: "post",
url: "/ashx/DutyDiyHandler.ashx",
data: { Action: "GetDutyTemplateByType", DutyTypeID: DutyTypeID },
dataType: "json",
success: function (result) {
var orgStr = "";
var itemIndex = 0;
result.data.forEach(function (obj, index, arr) {
if (itemIndex < 1) {
itemIndex++;
InitTempShow(obj.ID);
Sel_DUTY_TEMPLATE_ID = obj.ID;
}
orgStr += "<option value='" + obj.ID + "'>" + obj.DUTY_TEMPLATE_NAME + "</option>";
});
$("#DUTY_TEMPLATE_ID").html(orgStr);
form.render('select');
}
});
}
//类型切换
form.on("select(DUTY_TYPE_ID)", function (data) {
//类型ID
var RowType = data.value;
selTempTypeId = RowType;
//获取对应模板信息
InitTempList(RowType);
});
//模板切换
form.on("select(DUTY_TEMPLATE_ID)", function (data) {
//类型ID
var RowType = data.value;
Sel_DUTY_TEMPLATE_ID = RowType;
InitTempShow(RowType);
});
//加载对应模板数据
function InitTempShow(RowType) {
$.ajax({
type: "post",
url: "/ashx/DutyDiyHandler.ashx",
data: { Action: "GetDutyTemplateByID", cgid: RowType },
dataType: "json",
success: function (result) {
console.log(result);
$("#divAddTable").html('');
$("#divAddAttri").html('');
//遍历添加属性
for (var i = 0; i < result.data.dataAttribList.length; i++) {
var htmlStr = '<div class="divPanel"><div class="layui-row divPanelBody">' +
GetAttHtml(result.data.dataAttribList[i]) +
'</div></div>';
$("#divAddAttri").append(htmlStr);
form.render('select');
}
//遍历添加表格
for (var k = 0; k < result.data.dataTableList.length; k++) {
var htmlStr = '<div class="divPanel"><div class="divPanelBody">';
htmlStr += '<table style="width:100%;">';
htmlStr += '<tr>';
for (var i = 0; i < result.data.dataTableList[k].dataAttribList.length; i++) {
var rowspan = result.data.dataTableList[k].dataAttribList[i].RowSpan;
var CloseHtml = '';
htmlStr += '<td rowspan="' + rowspan + '"><div class="divTbParent">' + CloseHtml +
'<div class="layui-row divPanelBody">' +
GetAttHtml(result.data.dataTableList[k].dataAttribList[i]) +
'</div>' +
'</div></td>';
//判断是否还有下一条数据
if (i + 1 < result.data.dataTableList[k].dataAttribList.length) {
//存在下一条数据,判断下一条是否第一列
if (result.data.dataTableList[k].dataAttribList[i + 1].ColNum == "1") {
//下一条是第一列
htmlStr += '</tr><tr>';
}
}
}
htmlStr += '</tr>';
htmlStr += '</table>';
htmlStr += '</div></div>';
$("#divAddTable").append(htmlStr);
form.render('select');
}
}
});
}
//信息保存
$("#btn_Save").click(function () {
//熟悉信息集合
var attList = [];
//遍历所有属性
$(".attribItemLib").each(function () {
//id字符串
var idStr = $(this).attr("idStr");
//属性ID
var ID = idStr;
//标题
var RowTitle = $(this).attr("RowTitle");
//类型:0、输入项;1、选择项;2、人员选择;3、时间范围;
var RowType = $(this).attr("RowType");
//第几列
var ColNum = $(this).attr("ColNum");
//时间段字符串
var DtmStr = $(this).attr("DtmStr");
//选项集合
var OptionList = $(this).attr("OptionList");
//是否表格属性:0、表格属性;1、单独属性
var IsTable = $(this).attr("IsTable");
//跨行数
var RowSpan = $(this).attr("RowSpan");
//表格排序
var TableNum = $(this).attr("TableNum");
//表格总行数
var RowNumCount = $(this).attr("RowNumCount");
//表格总列数
var ColNumCount = $(this).attr("ColNumCount");
//选择人员名称信息
var RowSelEmpName = $(this).attr("RowSelEmpName");
//设备是否已经识别:0、未识别;1、已识别;
var IsDeviceRead = $(this).attr("IsDeviceRead");
//设备识别时间
var DeviceReadTime = $(this).attr("DeviceReadTime");
//识别图片路径
var DeviceReadImgUrl = $(this).attr("DeviceReadTime");
//属性值
var RowVal = $(this).attr("RowVal");
//类型:0、输入项;1、选择项;2、人员选择;3、时间范围;
switch (RowType) {
case "0":
case "1":
RowVal = $(this).val();
break;
}
attList.push({
ID: idStr, RowTitle: RowTitle, RowType: RowType, ColNum: ColNum, DtmStr: DtmStr, OptionList: OptionList
, IsTable: IsTable, TableNum: TableNum, RowSpan: RowSpan, RowNumCount: RowNumCount, ColNumCount: ColNumCount
, RowSelEmpName: RowSelEmpName, RowVal: RowVal, IsDeviceRead: IsDeviceRead, DeviceReadTime: DeviceReadTime, DeviceReadImgUrl: DeviceReadImgUrl
});
});
//日期
var DUTY_DAY = $("#DUTY_DAY").val();
//备注信息
var DUTY_REMARK = $("#DUTY_REMARK").val();
//模板ID
var DUTY_TEMPLATE_ID = Sel_DUTY_TEMPLATE_ID;
//值班类型ID
var DUTY_TYPE_ID = selTempTypeId;
var attObj = {
ORG_ID: OrgId, DUTY_DAY: DUTY_DAY, DUTY_REMARK: DUTY_REMARK
, DUTY_TEMPLATE_ID: DUTY_TEMPLATE_ID, DUTY_TYPE_ID: DUTY_TYPE_ID, attList: attList
};
var dataStr = JSON.stringify(attObj);
$.ajax({
type: "post",
url: "/ashx/DutyDiyHandler.ashx",
data: {
Action: "SaveDutyDetails"
//分组信息ID
, did: cgid
//信息内容JSON字符串
, dataStr: dataStr
},
dataType: "json",
success: function (result) {
//console.log(result);
if (result.code == 1) {
top.layer.msg(result.msg, { time: 1800 });
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
} else {
layer.open({
title: '信息提示'
, content: result.msg
});
}
}
});
});
});
//获取url中的参数
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
var r = window.location.search.substr(1).match(reg); //匹配目标参数
if (r != null) return unescape(r[2]); return ''; //返回参数值
}
function guid() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
var r = Math.random() * 16 | 0,
v = c == 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
});
}
</script>
</body>
</html>