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.
485 lines
18 KiB
485 lines
18 KiB
<!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;
|
|
}
|
|
|
|
.empSpan {
|
|
padding: 10px;
|
|
cursor: pointer;
|
|
}
|
|
</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" readonly="readonly" 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 readonly="readonly" class="layui-textarea" id="DUTY_REMARK"></textarea>
|
|
</div>
|
|
</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 cgid = getUrlParam('cgid');
|
|
//var cgid = "d55627eb15d8485b9a10ef6f057076d7";
|
|
|
|
|
|
//模板关联设备信息选择对象
|
|
var TemLinkDevice;
|
|
|
|
|
|
|
|
$(function () {
|
|
|
|
|
|
|
|
if (cgid.length < 1) {
|
|
layer.open({
|
|
title: '信息提示'
|
|
, content: "参数错误"
|
|
});
|
|
|
|
} else {
|
|
InitInfo();
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
//动态属性设定html字符串
|
|
function GetAttHtml(attObj) {
|
|
//第几列
|
|
var ColNum = attObj.ColNum;
|
|
//时间范围字符串
|
|
var DtmStr = attObj.DtmStr;
|
|
//信息ID
|
|
var uuidStr = attObj.ID;
|
|
//是否表格属性: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" readonly="readonly" value="' + RowVal
|
|
+ '" lay-verify="required" maxlength="50" />' +
|
|
' </div>' +
|
|
'</div >';
|
|
break;
|
|
case "1":
|
|
|
|
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" readonly="readonly" value="' + RowVal
|
|
+ '" lay-verify="required" maxlength="50" />' +
|
|
' </div>' +
|
|
'</div >';
|
|
break;
|
|
case "2":
|
|
case "3":
|
|
retHtml = '' +
|
|
'<div class="layui-input-inline">' +
|
|
' <label class="layui-form-label label-required-next" >' + RowTitle + '</label >' +
|
|
' <div class="layui-input-block">';
|
|
|
|
for (var i = 0; i < attObj.ListEmpRead.length; i++) {
|
|
|
|
var readHtml = '<i class="layui-icon" style="font-size: 20px; color:#009688 ;"></i> ';
|
|
if (attObj.ListEmpRead[i].IsDeviceRead == "1") {
|
|
readHtml = '<i class="layui-icon" style="font-size: 20px; color: #009688;"></i> ';
|
|
} else {
|
|
readHtml = '<i class="layui-icon" style="font-size: 20px; color: red;">ဇ</i> ';
|
|
}
|
|
|
|
readHtml = "";
|
|
|
|
retHtml += '<div class="layui-input-inline"> <span class="empSpan" IsDeviceRead="' + attObj.ListEmpRead[i].IsDeviceRead + '" DeviceReadImgUrl="' +
|
|
attObj.ListEmpRead[i].DeviceReadImgUrl + '" EmpImg="' + attObj.ListEmpRead[i].EmpImg + '">' +
|
|
attObj.ListEmpRead[i].EmpName + readHtml +
|
|
'</span></div>';
|
|
}
|
|
|
|
retHtml += ' </div>' +
|
|
'</div >';
|
|
break;
|
|
default:
|
|
retHtml = '';
|
|
break;
|
|
}
|
|
|
|
return retHtml;
|
|
}
|
|
|
|
//点击选择人员
|
|
$(document).on('click', '.empSpan', function () {
|
|
var IsDeviceRead = $(this).attr("IsDeviceRead");
|
|
var DeviceReadImgUrl = $(this).attr("DeviceReadImgUrl");
|
|
var EmpImg = $(this).attr("EmpImg");
|
|
if (IsDeviceRead == "1") {
|
|
|
|
previewImg(DeviceReadImgUrl);
|
|
} else {
|
|
|
|
previewImg(EmpImg);
|
|
}
|
|
});
|
|
|
|
|
|
|
|
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: "GetDutyDetailsShowByID", 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 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');
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
|
|
function previewImg(obj) {
|
|
var defaultImg = "/images/imgPerDefaut.jpg";
|
|
if (obj.length < 5) {
|
|
obj = defaultImg;
|
|
}
|
|
var imgHtml = "<img src='" + obj + "' width='100%' height='100%'/>";
|
|
//弹出层
|
|
layer.open({
|
|
type: 1,
|
|
shade: 0.8,
|
|
offset: 'auto',
|
|
maxmin: true,
|
|
area: [500 + 'px', 700 + 'px'],
|
|
shadeClose: true,
|
|
scrollbar: false,
|
|
title: "图片预览",
|
|
content: imgHtml,
|
|
cancel: function () {
|
|
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
});
|
|
//获取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 ''; //返回参数值
|
|
}
|
|
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|