软测单独项目
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

<!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 ;">&#xe618;</i> ';
if (attObj.ListEmpRead[i].IsDeviceRead == "1") {
readHtml = '<i class="layui-icon" style="font-size: 20px; color: #009688;">&#xe618;</i> ';
} else {
readHtml = '<i class="layui-icon" style="font-size: 20px; color: red;">&#x1007;</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>