1087 lines
53 KiB
Plaintext
1087 lines
53 KiB
Plaintext
|
|
<%@ page language="java" pageEncoding="UTF-8" %>
|
|||
|
|
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
|
|||
|
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
|
|||
|
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
|
|||
|
|
<%@ page import="com.sipai.entity.base.ServerObject" %>
|
|||
|
|
<%@ taglib uri="http://www.springsecurity.org/jsp" prefix="security" %>
|
|||
|
|
<%String contextPath = request.getContextPath();%>
|
|||
|
|
<!DOCTYPE html>
|
|||
|
|
<!-- <html lang="zh-CN"> -->
|
|||
|
|
<!-- BEGIN HEAD -->
|
|||
|
|
<head>
|
|||
|
|
<title><%= ServerObject.atttable.get("TOPTITLE")%>
|
|||
|
|
</title>
|
|||
|
|
|
|||
|
|
<!-- 引用页头及CSS页-->
|
|||
|
|
<jsp:include page="/jsp/inc.jsp"></jsp:include>
|
|||
|
|
<style type="text/css">
|
|||
|
|
</style>
|
|||
|
|
<script type="text/javascript">
|
|||
|
|
let project_num_st1 = 'desc';
|
|||
|
|
let project_num_st2 = 'desc';
|
|||
|
|
let project_num_st_out = 'desc';
|
|||
|
|
let project_sortName = '2';
|
|||
|
|
|
|||
|
|
$(function () {
|
|||
|
|
let windowHeight = $(window).height();
|
|||
|
|
$('#main').css("height", windowHeight + "px");
|
|||
|
|
|
|||
|
|
var nowTime = getNowTime().substring(0, 10);
|
|||
|
|
$('#date').val(nowTime);
|
|||
|
|
$('#date').datepicker({
|
|||
|
|
format: 'yyyy-mm-dd',
|
|||
|
|
weekStart: 1,
|
|||
|
|
autoclose: true,
|
|||
|
|
startView: 0,
|
|||
|
|
minViewMode: 0,
|
|||
|
|
maxViewMode: 'years',
|
|||
|
|
forceParse: false,
|
|||
|
|
language: 'zh-CN'
|
|||
|
|
}).on('changeDate', doSearch);
|
|||
|
|
|
|||
|
|
$('#date2').val(nowTime.substring(0, 7));
|
|||
|
|
$('#date2').datepicker({
|
|||
|
|
format: 'yyyy-mm',
|
|||
|
|
weekStart: 1,
|
|||
|
|
autoclose: true,
|
|||
|
|
startView: 1,
|
|||
|
|
minViewMode: 1,
|
|||
|
|
maxViewMode: 'years',
|
|||
|
|
forceParse: false,
|
|||
|
|
language: 'zh-CN'
|
|||
|
|
}).on('changeDate', doSearch);
|
|||
|
|
|
|||
|
|
$("#table1").bootstrapTable({ // 对应table标签的id
|
|||
|
|
url: ext.contextPath + '/whp/plan/WhpSamplingPlanTask/getListNoTemplate.do', // 获取表格数据的url
|
|||
|
|
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
|||
|
|
striped: true, //表格显示条纹,默认为false
|
|||
|
|
pagination: true, // 在表格底部显示分页组件,默认false
|
|||
|
|
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
|
|||
|
|
pageSize: 10, // 页面数据条数
|
|||
|
|
pageNumber: 1, // 首页页码
|
|||
|
|
sidePagination: 'server', // 设置为服务器端分页
|
|||
|
|
queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
|
|||
|
|
return {
|
|||
|
|
rows: params.limit, // 每页要显示的数据条数
|
|||
|
|
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
|
|||
|
|
sort: params.sort, // 要排序的字段
|
|||
|
|
order: params.order,
|
|||
|
|
status: 1
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
sortName: 'samplingTime', // 要排序的字段
|
|||
|
|
sortOrder: 'desc', // 排序规则
|
|||
|
|
//detailView: true,//父子表
|
|||
|
|
columns: [
|
|||
|
|
{
|
|||
|
|
checkbox: true, // 显示一个勾选框
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
field: 'planCode',
|
|||
|
|
title: '采样单编号',
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle'
|
|||
|
|
}, {
|
|||
|
|
field: 'sampleTypeName',
|
|||
|
|
title: '采样类型',
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle'
|
|||
|
|
}, {
|
|||
|
|
field: 'samplingTime',
|
|||
|
|
title: '实际采样日期',
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle',
|
|||
|
|
formatter: function (value, row, index) {
|
|||
|
|
return value.substring(0, 10);
|
|||
|
|
}
|
|||
|
|
}, {
|
|||
|
|
field: 'sampleCode',
|
|||
|
|
title: '样品编号',
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle'
|
|||
|
|
}, {
|
|||
|
|
field: 'sampleAddress',
|
|||
|
|
title: '地点',
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle'
|
|||
|
|
}, {
|
|||
|
|
field: 'sampleAmount',
|
|||
|
|
title: '样品数量',
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: "操作",
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle',
|
|||
|
|
width: 60, // 定义列的宽度,单位为像素px
|
|||
|
|
formatter: function (value, row, index) {
|
|||
|
|
var buts = '';
|
|||
|
|
buts += '<button class="btn btn-default btn-sm" title="接单" onclick="confirmFun(\'' + row.id + '\')"><i class="glyphicon glyphicon-flash"></i><span class="hidden-md hidden-lg"> 接单</span></button>';
|
|||
|
|
buts = '<div class="btn-group" >' + buts + '</div>';
|
|||
|
|
return buts;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
onLoadSuccess: function () { //加载成功时执行
|
|||
|
|
adjustBootstrapTableView("table1");
|
|||
|
|
}
|
|||
|
|
,
|
|||
|
|
onLoadError: function () { //加载失败时执行
|
|||
|
|
console.info("加载数据失败");
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
$("#table2").bootstrapTable({ // 对应table标签的id
|
|||
|
|
url: ext.contextPath + '/whp/test/WhpSamplingPlanTaskTestConfirm/getIndexTaskList.do', // 获取表格数据的url
|
|||
|
|
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
|||
|
|
striped: true, //表格显示条纹,默认为false
|
|||
|
|
pagination: true, // 在表格底部显示分页组件,默认false
|
|||
|
|
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
|
|||
|
|
pageSize: 10, // 页面数据条数
|
|||
|
|
pageNumber: 1, // 首页页码
|
|||
|
|
sidePagination: 'server', // 设置为服务器端分页
|
|||
|
|
queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
|
|||
|
|
return {
|
|||
|
|
rows: params.limit, // 每页要显示的数据条数
|
|||
|
|
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
|
|||
|
|
sort: params.sort, // 要排序的字段
|
|||
|
|
order: params.order,
|
|||
|
|
Iswarning: 1
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
sortName: 'id', // 要排序的字段
|
|||
|
|
sortOrder: 'desc', // 排序规则
|
|||
|
|
//detailView: true,//父子表
|
|||
|
|
columns: [
|
|||
|
|
{
|
|||
|
|
field: 'planCode', // 返回json数据中的name
|
|||
|
|
title: '采样单编号', // 表格表头显示文字
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle' // 上下居中
|
|||
|
|
}, {
|
|||
|
|
field: 'testItemName', // 返回json数据中的name
|
|||
|
|
title: '检测项目', // 表格表头显示文字
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle' // 上下居中
|
|||
|
|
|
|||
|
|
}, {
|
|||
|
|
field: 'sampleTypeName', // 返回json数据中的name
|
|||
|
|
title: '采样类型', // 表格表头显示文字
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle' // 上下居中
|
|||
|
|
|
|||
|
|
}, {
|
|||
|
|
field: 'samplingDate', // 返回json数据中的name
|
|||
|
|
title: '实际采样日期', // 表格表头显示文字
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle', // 上下居中
|
|||
|
|
formatter: function (value, row, index) {
|
|||
|
|
if (value != '') {
|
|||
|
|
return value.substring(0, 10);
|
|||
|
|
} else {
|
|||
|
|
return "";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}, {
|
|||
|
|
field: 'samplingTaskNumber', // 返回json数据中的name
|
|||
|
|
title: '样品任务数', // 表格表头显示文字
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle', // 上下居中
|
|||
|
|
}, {
|
|||
|
|
field: 'statusName', // 返回json数据中的name
|
|||
|
|
title: '计划状态', // 表格表头显示文字
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle', // 上下居中
|
|||
|
|
formatter: function (value, row, index) {
|
|||
|
|
if (row.statusName.includes("超时预警")) {
|
|||
|
|
return '<span style="color:red">' + value + '</span>'
|
|||
|
|
} else {
|
|||
|
|
return value
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}, {
|
|||
|
|
title: "操作",
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle',
|
|||
|
|
width: 60, // 定义列的宽度,单位为像素px
|
|||
|
|
formatter: function (value, row, index) {
|
|||
|
|
var buts = '';
|
|||
|
|
buts += '<button class="btn btn-default btn-sm" title="检测" onclick="detectionIndexTask(\'' + row.id + '\')"><i class="glyphicon glyphicon-play"></i><span class="hidden-md hidden-lg"> 检测</span></button>';
|
|||
|
|
|
|||
|
|
buts = '<div class="btn-group" >' + buts + '</div>';
|
|||
|
|
return buts;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
onLoadSuccess: function () { //加载成功时执行
|
|||
|
|
adjustBootstrapTableView("table2");
|
|||
|
|
},
|
|||
|
|
onLoadError: function () { //加载失败时执行
|
|||
|
|
console.info("加载数据失败");
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
$("#table3").bootstrapTable({ // 对应table标签的id
|
|||
|
|
url: ext.contextPath + '/whp/test/WhpSamplingPlanTaskTestConfirm/getIndexTaskList.do', // 获取表格数据的url
|
|||
|
|
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
|||
|
|
striped: true, //表格显示条纹,默认为false
|
|||
|
|
pagination: true, // 在表格底部显示分页组件,默认false
|
|||
|
|
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
|
|||
|
|
pageSize: 10, // 页面数据条数
|
|||
|
|
pageNumber: 1, // 首页页码
|
|||
|
|
sidePagination: 'server', // 设置为服务器端分页
|
|||
|
|
queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
|
|||
|
|
return {
|
|||
|
|
rows: params.limit, // 每页要显示的数据条数
|
|||
|
|
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
|
|||
|
|
sort: params.sort, // 要排序的字段
|
|||
|
|
order: params.order,
|
|||
|
|
Iswarning: 2
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
sortName: 'id', // 要排序的字段
|
|||
|
|
sortOrder: 'desc', // 排序规则
|
|||
|
|
//detailView: true,//父子表
|
|||
|
|
columns: [
|
|||
|
|
{
|
|||
|
|
field: 'planCode', // 返回json数据中的name
|
|||
|
|
title: '采样单编号', // 表格表头显示文字
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle', // 上下居中
|
|||
|
|
sortable: true
|
|||
|
|
}, {
|
|||
|
|
field: 'testItemName', // 返回json数据中的name
|
|||
|
|
title: '检测项目', // 表格表头显示文字
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle' // 上下居中
|
|||
|
|
|
|||
|
|
}, {
|
|||
|
|
field: 'sampleTypeName', // 返回json数据中的name
|
|||
|
|
title: '采样类型', // 表格表头显示文字
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle' // 上下居中
|
|||
|
|
|
|||
|
|
}, {
|
|||
|
|
field: 'samplingDate', // 返回json数据中的name
|
|||
|
|
title: '实际采样日期', // 表格表头显示文字
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle', // 上下居中
|
|||
|
|
formatter: function (value, row, index) {
|
|||
|
|
if (value != '') {
|
|||
|
|
return value.substring(0, 10);
|
|||
|
|
} else {
|
|||
|
|
return "";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}, {
|
|||
|
|
field: 'samplingTaskNumber', // 返回json数据中的name
|
|||
|
|
title: '样品任务数', // 表格表头显示文字
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle', // 上下居中
|
|||
|
|
}, {
|
|||
|
|
field: 'statusName', // 返回json数据中的name
|
|||
|
|
title: '计划状态', // 表格表头显示文字
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle', // 上下居中
|
|||
|
|
formatter: function (value, row, index) {
|
|||
|
|
if (row.statusName.includes("超时预警")) {
|
|||
|
|
return '<span style="color:red">' + value + '</span>'
|
|||
|
|
} else {
|
|||
|
|
return value
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}, {
|
|||
|
|
title: "操作",
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle',
|
|||
|
|
width: 60, // 定义列的宽度,单位为像素px
|
|||
|
|
formatter: function (value, row, index) {
|
|||
|
|
var buts = '';
|
|||
|
|
buts += '<button class="btn btn-default btn-sm" title="检测" onclick="detectionIndexTask(\'' + row.id + '\')"><i class="glyphicon glyphicon-play"></i><span class="hidden-md hidden-lg"> 检测</span></button>';
|
|||
|
|
|
|||
|
|
buts = '<div class="btn-group" >' + buts + '</div>';
|
|||
|
|
return buts;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
onLoadSuccess: function (data) { //加载成功时执行
|
|||
|
|
adjustBootstrapTableView("table3");
|
|||
|
|
// console.log(data.total)
|
|||
|
|
if (data.total > 99) {
|
|||
|
|
$('#table3Num').text("99+")
|
|||
|
|
} else {
|
|||
|
|
$('#table3Num').text(data.total)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
onLoadError: function () { //加载失败时执行
|
|||
|
|
console.info("加载数据失败");
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
$("#table4").bootstrapTable({ // 对应table标签的id
|
|||
|
|
url: ext.contextPath + '/whp/plan/WhpSamplingPlanTask/getListNoTemplate.do', // 获取表格数据的url
|
|||
|
|
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
|||
|
|
striped: true, //表格显示条纹,默认为false
|
|||
|
|
pagination: true, // 在表格底部显示分页组件,默认false
|
|||
|
|
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
|
|||
|
|
pageSize: 10, // 页面数据条数
|
|||
|
|
pageNumber: 1, // 首页页码
|
|||
|
|
sidePagination: 'server', // 设置为服务器端分页
|
|||
|
|
queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
|
|||
|
|
return {
|
|||
|
|
rows: params.limit, // 每页要显示的数据条数
|
|||
|
|
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
|
|||
|
|
sort: params.sort, // 要排序的字段
|
|||
|
|
order: params.order,
|
|||
|
|
status: '2',
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
sortName: 'id', // 要排序的字段
|
|||
|
|
sortOrder: 'desc', // 排序规则
|
|||
|
|
//detailView: true,//父子表
|
|||
|
|
columns: [
|
|||
|
|
// {
|
|||
|
|
// checkbox: true, // 显示一个勾选框
|
|||
|
|
// },
|
|||
|
|
{
|
|||
|
|
field: 'planCode',
|
|||
|
|
title: '采样单编号',
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle'
|
|||
|
|
}, {
|
|||
|
|
field: 'planDate',
|
|||
|
|
title: '计划采样日期',
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle',
|
|||
|
|
formatter: function (value, row, index) {
|
|||
|
|
return value.substring(0, 10);
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
field: 'sampleTypeName',
|
|||
|
|
title: '采样类型',
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle'
|
|||
|
|
}, {
|
|||
|
|
field: 'reportDate',
|
|||
|
|
title: '要求报告日期',
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle',
|
|||
|
|
formatter: function (value, row, index) {
|
|||
|
|
return value.substring(0, 10);
|
|||
|
|
}
|
|||
|
|
}, {
|
|||
|
|
field: 'sampleCode',
|
|||
|
|
title: '样品编号',
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle'
|
|||
|
|
}, {
|
|||
|
|
field: 'sampleAddress',
|
|||
|
|
title: '地点',
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle'
|
|||
|
|
}, {
|
|||
|
|
field: 'samplingUserName',
|
|||
|
|
title: '采样人',
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle'
|
|||
|
|
}, {
|
|||
|
|
field: 'samplingTime',
|
|||
|
|
title: '采样时间',
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle',
|
|||
|
|
formatter: function (value, row, index) {
|
|||
|
|
return value.substring(0, 10);
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: "操作",
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle',
|
|||
|
|
width: 60, // 定义列的宽度,单位为像素px
|
|||
|
|
formatter: function (value, row, index) {
|
|||
|
|
var buts = '';
|
|||
|
|
if (row.status == 3 || row.status == 2) {
|
|||
|
|
buts += '<button class="btn btn-default btn-sm" title="采样登记" onclick="editPlanTaskFun(\'' + row.id + '\')"><i class="fa fa-edit"></i><span class="hidden-md hidden-lg"> 采样登记</span></button>';
|
|||
|
|
}
|
|||
|
|
buts = '<div class="btn-group" >' + buts + '</div>';
|
|||
|
|
return buts;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
onLoadSuccess: function () { //加载成功时执行
|
|||
|
|
adjustBootstrapTableView("table4");
|
|||
|
|
}
|
|||
|
|
,
|
|||
|
|
onLoadError: function () { //加载失败时执行
|
|||
|
|
console.info("加载数据失败");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
doSearch();
|
|||
|
|
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
var editPlanTaskFun = function (id) {
|
|||
|
|
stopBubbleDefaultEvent();
|
|||
|
|
$.post(ext.contextPath + '/whp/plan/WhpSamplingPlanTask/edit.do', {
|
|||
|
|
id: id,
|
|||
|
|
inSt: 'homePage'
|
|||
|
|
}, function (data) {
|
|||
|
|
$("#subDiv").html(data);
|
|||
|
|
openModal('subModal');
|
|||
|
|
});
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//检测弹窗
|
|||
|
|
var detectionIndexTask = function (id) {
|
|||
|
|
stopBubbleDefaultEvent();
|
|||
|
|
$.post(ext.contextPath + '/whp/test/WhpSamplingPlanTaskTestConfirm/showTest.do', {id: id}, function (data) {
|
|||
|
|
$("#subDiv").html(data);
|
|||
|
|
// debugger;
|
|||
|
|
openModal('subModal1');
|
|||
|
|
});
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//接单弹窗
|
|||
|
|
var confirmFun = function (id) {
|
|||
|
|
stopBubbleDefaultEvent();
|
|||
|
|
$.post(ext.contextPath + '/whp/plan/WhpSamplingPlanTask/showConfirm.do', {id: id}, function (data) {
|
|||
|
|
$("#subDiv").html(data);
|
|||
|
|
openModal('subModal');
|
|||
|
|
});
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//批量接单弹窗
|
|||
|
|
var confirmBatchFun = function () {
|
|||
|
|
var checkedItems = $("#table1").bootstrapTable('getSelections');
|
|||
|
|
var datas = "";
|
|||
|
|
var num = 0;
|
|||
|
|
$.each(checkedItems, function (index, item) {
|
|||
|
|
if (item.status != 1) {
|
|||
|
|
num = num + 1;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
datas += item.id + ",";
|
|||
|
|
});
|
|||
|
|
if (num > 0) {
|
|||
|
|
showAlert('d', '请选择未接单编号', 'mainAlertdiv');
|
|||
|
|
|
|||
|
|
} else if (datas == "") {
|
|||
|
|
showAlert('d', '请先选择记录', 'mainAlertdiv');
|
|||
|
|
} else {
|
|||
|
|
swal({
|
|||
|
|
text: "您确定要批量接单?",
|
|||
|
|
dangerMode: true,
|
|||
|
|
buttons: {
|
|||
|
|
cancel: {
|
|||
|
|
text: "取消",
|
|||
|
|
value: null,
|
|||
|
|
visible: true,
|
|||
|
|
className: "btn btn-default btn-sm",
|
|||
|
|
closeModal: true,
|
|||
|
|
},
|
|||
|
|
confirm: {
|
|||
|
|
text: "确定",
|
|||
|
|
value: true,
|
|||
|
|
visible: true,
|
|||
|
|
className: "btn btn-danger btn-sm",
|
|||
|
|
closeModal: true
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
.then(function (willDelete) {
|
|||
|
|
if (willDelete) {
|
|||
|
|
$.post(ext.contextPath + '/whp/plan/WhpSamplingPlanTask/confirms.do', {ids: datas}, function (data) {
|
|||
|
|
if (data.code == 1) {
|
|||
|
|
$("#table1").bootstrapTable('refresh');
|
|||
|
|
} else {
|
|||
|
|
showAlert('d', '接单失败', 'mainAlertdiv');
|
|||
|
|
}
|
|||
|
|
}, "json");
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
function changeDateType() {
|
|||
|
|
let dateType = $('#dateType').val() + "Show";
|
|||
|
|
if (dateType == 'dayShow') {
|
|||
|
|
$('#monthShow').css('display', 'none');
|
|||
|
|
$('#date2').attr("type", "hidden");
|
|||
|
|
|
|||
|
|
$('#dayShow').css('display', 'block');
|
|||
|
|
$('#date').attr("type", "text");
|
|||
|
|
|
|||
|
|
$('#data_statistics_titleName1').text("当日采样计划");
|
|||
|
|
$('#data_statistics_titleName2').text("当日样品数");
|
|||
|
|
$('#data_statistics_titleName3').text("当日检测任务");
|
|||
|
|
|
|||
|
|
} else if (dateType == 'monthShow') {
|
|||
|
|
$('#dayShow').css('display', 'none');
|
|||
|
|
$('#date').attr("type", "hidden");
|
|||
|
|
|
|||
|
|
$('#monthShow').css('display', 'block');
|
|||
|
|
$('#date2').attr("type", "text");
|
|||
|
|
|
|||
|
|
$('#data_statistics_titleName1').text("当月采样计划");
|
|||
|
|
$('#data_statistics_titleName2').text("当月样品数");
|
|||
|
|
$('#data_statistics_titleName3').text("当月检测任务");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
doSearch();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
let searchDate = "";
|
|||
|
|
|
|||
|
|
function doSearch() {
|
|||
|
|
let dateType = $('#dateType').val();
|
|||
|
|
|
|||
|
|
if (dateType == 'day') {
|
|||
|
|
searchDate = $('#date').val();
|
|||
|
|
$.ajax({
|
|||
|
|
type: 'GET',
|
|||
|
|
url: ext.contextPath + "/whp/plan/WhpSamplingPlan/selectTypeByDate.do",
|
|||
|
|
dataType: 'json',
|
|||
|
|
data: {
|
|||
|
|
dateBegin: searchDate
|
|||
|
|
},
|
|||
|
|
async: false,
|
|||
|
|
error: function () {
|
|||
|
|
return false;
|
|||
|
|
},
|
|||
|
|
success: function (data) {
|
|||
|
|
// console.log(data)
|
|||
|
|
for (let i = 0; i < data.length; i++) {
|
|||
|
|
let content = data[i];
|
|||
|
|
let code = "";
|
|||
|
|
if (content.code != null) {
|
|||
|
|
code = content.code;
|
|||
|
|
}
|
|||
|
|
let finishCount = content.finishCount;//完成数
|
|||
|
|
let sampleCount = content.sampleCount;//总数
|
|||
|
|
let rate = 0;
|
|||
|
|
if (Number(sampleCount) > 0) {
|
|||
|
|
rate = ((Number(finishCount) / Number(sampleCount)) * 100).toFixed(2);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
let html = "";
|
|||
|
|
html += "<div style=\"float: left;width: 100%;height: calc((100% - 2px)*0.4);line-height: 40px;padding-left: 15px;\">";
|
|||
|
|
html += "<div style=\"float: left;width: 70px;\">采样单号:</div>";
|
|||
|
|
html += "<div style=\"float: left;width: calc(100% - 70px);\">" + code + "</div>";
|
|||
|
|
html += "</div>";
|
|||
|
|
html += "<div style=\"float: left;width: 100%;height: calc((100% - 2px)*0.6);line-height: 40px;padding-left: 15px;\">";
|
|||
|
|
html += "<div style=\"float: left;width: 80px;\">" + content.name + "</div>";
|
|||
|
|
html += "<div style=\"float: left;width: calc(100% - 80px);padding-left: 10px;\">";
|
|||
|
|
html += "<span>" + finishCount + "</span><span>/</span><span>" + sampleCount + "</span></div>";
|
|||
|
|
html += "</div>";
|
|||
|
|
html += "<div style=\"float: left;width: 100%;height: 2px;background-color: #E1E1E1;\">";
|
|||
|
|
html += "<div style=\"float: left;width: " + rate + "%;height: 2px;background-color: #82CDFF;\"></div>";
|
|||
|
|
html += "</div>";
|
|||
|
|
|
|||
|
|
$('#dayWorkOrder' + (i + 1)).html(html);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
} else if (dateType == 'month') {
|
|||
|
|
let maxDay = getMonthMaxDay($('#date2').val() + "-01");
|
|||
|
|
// console.log(maxDay)
|
|||
|
|
searchDate = $('#date2').val();
|
|||
|
|
|
|||
|
|
let xData = [];
|
|||
|
|
let searchData = [];
|
|||
|
|
|
|||
|
|
for (let i = 0; i < maxDay; i++) {
|
|||
|
|
xData.push(i + 1);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
let realData = [];
|
|||
|
|
let planData = [];
|
|||
|
|
|
|||
|
|
$.ajax({
|
|||
|
|
type: 'GET',
|
|||
|
|
url: ext.contextPath + "/whp/plan/WhpSamplingPlan/selectPlanByDate.do",
|
|||
|
|
dataType: 'json',
|
|||
|
|
data: {
|
|||
|
|
dateBegin: searchDate
|
|||
|
|
},
|
|||
|
|
async: false,
|
|||
|
|
error: function () {
|
|||
|
|
return false;
|
|||
|
|
},
|
|||
|
|
success: function (data) {
|
|||
|
|
// console.log(data)
|
|||
|
|
for (let i = 0; i < data.length; i++) {
|
|||
|
|
let content = data[i];
|
|||
|
|
let realDataD = [];
|
|||
|
|
let planDataD = [];
|
|||
|
|
|
|||
|
|
realDataD.push(content.date.substring(8, 10), content.realityCount);
|
|||
|
|
planDataD.push(content.date.substring(8, 10), content.incomplete);
|
|||
|
|
realData.push(realDataD);
|
|||
|
|
planData.push(planDataD);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
searchData.push({
|
|||
|
|
name: '已完成采样',
|
|||
|
|
type: 'bar',
|
|||
|
|
stack: 'a',
|
|||
|
|
data: realData
|
|||
|
|
})
|
|||
|
|
searchData.push({
|
|||
|
|
name: '未完成采样',
|
|||
|
|
type: 'bar',
|
|||
|
|
stack: 'a',
|
|||
|
|
data: planData
|
|||
|
|
})
|
|||
|
|
monthChart(xData, searchData);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// console.log(searchDate)
|
|||
|
|
$.ajax({
|
|||
|
|
type: 'GET',
|
|||
|
|
url: ext.contextPath + "/whp/plan/WhpSamplingPlan/queryListPlanTj.do",
|
|||
|
|
dataType: 'json',
|
|||
|
|
data: {
|
|||
|
|
dateBegin: searchDate
|
|||
|
|
},
|
|||
|
|
async: false,
|
|||
|
|
error: function () {
|
|||
|
|
return false;
|
|||
|
|
},
|
|||
|
|
success: function (data) {
|
|||
|
|
// console.log(data)
|
|||
|
|
$('#planCount').text(data.planCount);
|
|||
|
|
$('#planSampleCount').text(data.planSampleCount);
|
|||
|
|
$('#realityCount').text(data.realityCount);
|
|||
|
|
$('#realityRate').text(data.realityRate);
|
|||
|
|
$('#testCount').text(data.testCount);
|
|||
|
|
$('#finishCount').text(data.finishCount);
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
getCkProject();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function getCkProject() {
|
|||
|
|
$.ajax({
|
|||
|
|
type: 'GET',
|
|||
|
|
url: ext.contextPath + "/whp/plan/WhpSamplingPlan/selectItemCount.do",
|
|||
|
|
dataType: 'json',
|
|||
|
|
data: {
|
|||
|
|
dateBegin: searchDate,
|
|||
|
|
sortOrder: project_num_st_out,
|
|||
|
|
sortName: project_sortName
|
|||
|
|
},
|
|||
|
|
async: false,
|
|||
|
|
error: function () {
|
|||
|
|
return false;
|
|||
|
|
},
|
|||
|
|
success: function (data) {
|
|||
|
|
// console.log(data)
|
|||
|
|
let maxValue = 0;
|
|||
|
|
let html = "";
|
|||
|
|
for (let i = 0; i < data.length; i++) {
|
|||
|
|
let content = data[i];
|
|||
|
|
let num = content.itemCount;
|
|||
|
|
if (maxValue < num) {
|
|||
|
|
maxValue = num;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
for (let i = 0; i < data.length; i++) {
|
|||
|
|
let content = data[i];
|
|||
|
|
let num = content.itemCount;
|
|||
|
|
let rate = ((num / maxValue) * 100).toFixed(2);
|
|||
|
|
|
|||
|
|
html += "<div style=\"float:left;width: 100%;height: 30px;text-align: center;line-height: 30px;\">";
|
|||
|
|
html += "<div style=\"float:left;width: 25%;height: 100%;\">" + content.name + "</div>";
|
|||
|
|
html += "<div style=\"float:left;width: 8%;height: 100%;color: #82CDFF;\">" + num + "</div>";
|
|||
|
|
html += "<div style=\"float:left;width: 67%;height: 100%;padding-top: 10px;padding-left: 10px;\">";
|
|||
|
|
html += "<div style=\"float:left;width: 100%;height: 10px;\">";
|
|||
|
|
html += "<div style=\"float:left;width: " + rate + "%;height: 100%;background: #82cdff;\"></div>";
|
|||
|
|
html += "</div></div></div>";
|
|||
|
|
}
|
|||
|
|
$('#ckProjectDiv').html(html);
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
function monthChart(xData, seriesData) {
|
|||
|
|
let myChart = echarts.init(document.getElementById("monthChart"));
|
|||
|
|
let option = {
|
|||
|
|
color: ['#00C74F', '#B5D1B8'],
|
|||
|
|
tooltip: {
|
|||
|
|
trigger: 'axis',
|
|||
|
|
axisPointer: {
|
|||
|
|
type: 'shadow'
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
legend: {
|
|||
|
|
left: 'right',
|
|||
|
|
data: ['已完成采样', '未完成采样']
|
|||
|
|
},
|
|||
|
|
grid: {
|
|||
|
|
left: '3%',
|
|||
|
|
right: '4%',
|
|||
|
|
bottom: '3%',
|
|||
|
|
containLabel: true
|
|||
|
|
},
|
|||
|
|
xAxis: [
|
|||
|
|
{
|
|||
|
|
type: 'category',
|
|||
|
|
data: xData
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
yAxis: [
|
|||
|
|
{
|
|||
|
|
type: 'value'
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
series: seriesData
|
|||
|
|
};
|
|||
|
|
myChart.setOption(option, true);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function changeProjectNumOrder(st) {
|
|||
|
|
let upColor = "";
|
|||
|
|
let downColor = "";
|
|||
|
|
|
|||
|
|
if (st == '1') {
|
|||
|
|
if (project_sortName == '1') {
|
|||
|
|
if (project_num_st_out == 'desc') {
|
|||
|
|
upColor = 'rgb(60,141,188)';
|
|||
|
|
downColor = 'rgb(210,210,210)';
|
|||
|
|
project_num_st_out = 'asc';
|
|||
|
|
} else if (project_num_st_out == 'asc') {
|
|||
|
|
upColor = 'rgb(210,210,210)';
|
|||
|
|
downColor = 'rgb(60,141,188)';
|
|||
|
|
project_num_st_out = 'desc';
|
|||
|
|
}
|
|||
|
|
$('#project_num_up2').css('color', 'rgb(210,210,210)');
|
|||
|
|
$('#project_num_down2').css('color', 'rgb(210,210,210)');
|
|||
|
|
|
|||
|
|
$('#project_num_up1').css('color', upColor);
|
|||
|
|
$('#project_num_down1').css('color', downColor);
|
|||
|
|
} else {
|
|||
|
|
upColor = 'rgb(210,210,210)';
|
|||
|
|
downColor = 'rgb(60,141,188)';
|
|||
|
|
project_num_st_out = 'desc';
|
|||
|
|
|
|||
|
|
$('#project_num_up2').css('color', 'rgb(210,210,210)');
|
|||
|
|
$('#project_num_down2').css('color', 'rgb(210,210,210)');
|
|||
|
|
|
|||
|
|
$('#project_num_up1').css('color', upColor);
|
|||
|
|
$('#project_num_down1').css('color', downColor);
|
|||
|
|
}
|
|||
|
|
project_sortName = '1';
|
|||
|
|
} else if (st == '2') {
|
|||
|
|
if (project_sortName == '2') {
|
|||
|
|
if (project_num_st_out == 'desc') {
|
|||
|
|
upColor = 'rgb(60,141,188)';
|
|||
|
|
downColor = 'rgb(210,210,210)';
|
|||
|
|
project_num_st_out = 'asc';
|
|||
|
|
} else if (project_num_st_out == 'asc') {
|
|||
|
|
upColor = 'rgb(210,210,210)';
|
|||
|
|
downColor = 'rgb(60,141,188)';
|
|||
|
|
project_num_st_out = 'desc';
|
|||
|
|
}
|
|||
|
|
$('#project_num_up1').css('color', 'rgb(210,210,210)');
|
|||
|
|
$('#project_num_down1').css('color', 'rgb(210,210,210)');
|
|||
|
|
|
|||
|
|
$('#project_num_up2').css('color', upColor);
|
|||
|
|
$('#project_num_down2').css('color', downColor);
|
|||
|
|
} else {
|
|||
|
|
upColor = 'rgb(210,210,210)';
|
|||
|
|
downColor = 'rgb(60,141,188)';
|
|||
|
|
project_num_st_out = 'desc';
|
|||
|
|
|
|||
|
|
$('#project_num_up1').css('color', 'rgb(210,210,210)');
|
|||
|
|
$('#project_num_down1').css('color', 'rgb(210,210,210)');
|
|||
|
|
|
|||
|
|
$('#project_num_up2').css('color', upColor);
|
|||
|
|
$('#project_num_down2').css('color', downColor);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
project_sortName = '2';
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// $('#project_num_up' + st).css('color', upColor);
|
|||
|
|
// $('#project_num_down' + st).css('color', downColor);
|
|||
|
|
|
|||
|
|
getCkProject();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function changemyTab1(st) {
|
|||
|
|
if (st == '1') {
|
|||
|
|
$("#table1").bootstrapTable('refresh');
|
|||
|
|
$('#myTab2St').css('display', 'none');
|
|||
|
|
} else {
|
|||
|
|
$("#table4").bootstrapTable('refresh');
|
|||
|
|
$('#myTab2St').css('display', 'block');
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function changemyTab2(st) {
|
|||
|
|
if (st == '1') {
|
|||
|
|
$("#table2").bootstrapTable('refresh');
|
|||
|
|
} else {
|
|||
|
|
$("#table3").bootstrapTable('refresh');
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
</head>
|
|||
|
|
<body onload="initMenu()" class="hold-transition ${cu.themeclass} sidebar-mini">
|
|||
|
|
<div id="mainAlertdiv"></div>
|
|||
|
|
<div id="subDiv"></div>
|
|||
|
|
<div id="subEditDiv"></div>
|
|||
|
|
|
|||
|
|
<div id="main"
|
|||
|
|
style="background-color: #ECF0F5;padding: 10px;">
|
|||
|
|
<div style="float:left;width: calc((100% - 10px)*0.5);height: 100%">
|
|||
|
|
<div style="float:left;width: 100%;height: calc((100% - 10px)*0.5);background-color: #FFFFFF;">
|
|||
|
|
<div style="float:left;width: 100%;height: 4px;background: #5c9fd1;border-radius: 4px 4px 0px 0px;"></div>
|
|||
|
|
<div style="float:left;width: 100%;height: calc(100% - 4px);">
|
|||
|
|
<ul class="nav nav-tabs" id="myTab2">
|
|||
|
|
<li class="active" onclick="changemyTab1('0');"><a href="#tab3" data-toggle="tab"
|
|||
|
|
index="0" aria-expanded="true">任务接单</a></li>
|
|||
|
|
<li class="" onclick="changemyTab1('1');"><a href="#tab4" data-toggle="tab" index="1"
|
|||
|
|
style="height: 42px;"
|
|||
|
|
aria-expanded="true">
|
|||
|
|
<div style="float:left;width: 60px;height: 100%;">样品登记</div>
|
|||
|
|
</a></li>
|
|||
|
|
|
|||
|
|
<div id="myTab2St" style="float:right;width: 85px;height: 40px;line-height: 40px;">
|
|||
|
|
<button type="button" class="btn btn-default btn-sm" onclick="confirmBatchFun();"
|
|||
|
|
style="margin-right: 15px"><i
|
|||
|
|
class="fa fa-plus"></i> 批量接单
|
|||
|
|
</button>
|
|||
|
|
</div>
|
|||
|
|
</ul>
|
|||
|
|
|
|||
|
|
<div class="tab-content no-padding" style="height: calc(100% - 52px);">
|
|||
|
|
<div class="chart tab-pane active" id="tab3"
|
|||
|
|
style="position: relative;padding:5px;overflow: auto;height: 100%;">
|
|||
|
|
<table id="table1" style="width: 100%;height: 100%;"></table>
|
|||
|
|
</div>
|
|||
|
|
<div class=" tab-pane" id="tab4"
|
|||
|
|
style="position: relative; padding:5px;overflow: auto;height: 100%;">
|
|||
|
|
<table id="table4" style="width: 100%;height: 100%;"></table>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<%-- <div style="float:left;width: 100%;height: 40px;padding-left: 20px;border-bottom: 1px solid #d7dbe2;">--%>
|
|||
|
|
<%-- <div style="float:left;width: 120px;height: 40px;line-height: 40px;font-size: 16px;">--%>
|
|||
|
|
<%-- 任务接单--%>
|
|||
|
|
<%-- </div>--%>
|
|||
|
|
<%-- <div style="float:right;width: 85px;height: 40px;line-height: 40px;">--%>
|
|||
|
|
<%-- <button type="button" class="btn btn-default btn-sm" onclick="confirmBatchFun();"--%>
|
|||
|
|
<%-- style="margin-right: 15px"><i--%>
|
|||
|
|
<%-- class="fa fa-plus"></i> 批量接单--%>
|
|||
|
|
<%-- </button>--%>
|
|||
|
|
<%-- </div>--%>
|
|||
|
|
<%-- </div>--%>
|
|||
|
|
<%-- <div style="float:left;width: 100%;height: calc(100% - 40px);overflow: auto;">--%>
|
|||
|
|
<%-- <table id="table1" style="width: 100%;height: 100%;"></table>--%>
|
|||
|
|
<%-- </div>--%>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div style="float:left;width: 100%;height: 10px;"></div>
|
|||
|
|
<div style="float:left;width: 100%;height: calc((100% - 10px)*0.5);background-color: #FFFFFF;">
|
|||
|
|
<ul class="nav nav-tabs" id="myTab">
|
|||
|
|
<li class="active" onclick="changemyTab2('0');"><a href="#tab1" data-toggle="tab"
|
|||
|
|
index="0" aria-expanded="true">我的任务</a></li>
|
|||
|
|
<li class="" onclick="changemyTab2('0');"><a href="#tab2" data-toggle="tab" index="1"
|
|||
|
|
style="height: 42px;"
|
|||
|
|
aria-expanded="true">
|
|||
|
|
<div style="float:left;width: 60px;height: 100%;">任务预警</div>
|
|||
|
|
<div id="table3Num"
|
|||
|
|
style="float:left;text-align:center;width: 25px;height: 15px;background: #ff0000;border-radius: 2px;line-height: 15px;color: #FFFFFF;margin-top: 3px;">
|
|||
|
|
</div>
|
|||
|
|
</a></li>
|
|||
|
|
</ul>
|
|||
|
|
|
|||
|
|
<div class="tab-content no-padding" style="height: calc(100% - 52px);">
|
|||
|
|
<div class="chart tab-pane active" id="tab1"
|
|||
|
|
style="position: relative;padding:5px;overflow: auto;height: 100%;">
|
|||
|
|
<table id="table2" style="width: 100%;height: 100%;"></table>
|
|||
|
|
</div>
|
|||
|
|
<div class=" tab-pane" id="tab2"
|
|||
|
|
style="position: relative; padding:5px;overflow: auto;height: 100%;">
|
|||
|
|
<table id="table3" style="width: 100%;height: 100%;"></table>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div style="float:left;width: 10px;height: 100%"></div>
|
|||
|
|
<div style="float:left;width: calc((100% - 10px)*0.5);height: 100%;background-color: #FFFFFF;">
|
|||
|
|
<div style="float:left;width: 100%;height: 4px;background: #5c9fd1;border-radius: 4px 4px 0px 0px;"></div>
|
|||
|
|
<div style="float:left;width: 100%;height: calc(100% - 4px);">
|
|||
|
|
<div style="float:left;width: 100%;height: 40px;line-height: 40px;padding-left: 20px;border-bottom: 1px solid #d7dbe2;">
|
|||
|
|
<div style="float:left;width: 110px;height: 100%;font-size: 16px;">数据统计</div>
|
|||
|
|
<div style="float:left;width: 70px;height: 100%;color: #a0a0a0;">时间范围:</div>
|
|||
|
|
<div style="float:left;width: 60px;height: 100%;">
|
|||
|
|
<select id="dateType" onchange="changeDateType();"
|
|||
|
|
style="border: 1px solid #d2d2d2;border-radius: 3px;width: 53px;height: 28px;text-align: center;">
|
|||
|
|
<option value="day">日</option>
|
|||
|
|
<option value="month">月</option>
|
|||
|
|
</select>
|
|||
|
|
</div>
|
|||
|
|
<div style="float:left;width: 120px;height: 100%;">
|
|||
|
|
<input class="form-control date-picker" id="date" name="date" autocomplete="off"
|
|||
|
|
type="text" placeholder="点击选择"
|
|||
|
|
style="background-color:#FFFFFF;width: 100%;height: 28px;line-height: 28px;border: 1px solid #d2d2d2;border-radius: 3px;margin-top: 6px;text-align: center;"
|
|||
|
|
value="" readonly/>
|
|||
|
|
<input class="form-control date-picker" id="date2" name="date2" autocomplete="off"
|
|||
|
|
type="hidden" placeholder="点击选择"
|
|||
|
|
style="background-color:#FFFFFF;width: 100%;height: 28px;line-height: 28px;border: 1px solid #d2d2d2;border-radius: 3px;margin-top: 6px;text-align: center;"
|
|||
|
|
value="" readonly/>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div style="float:left;width: 100%;height: 80px;border-bottom: 1px solid #d7dbe2;padding-top: 10px;padding-bottom: 10px;">
|
|||
|
|
<div style="float: left;width: 16.6%;height: 100%;text-align: center;border-right: 1px solid #d7dbe2;">
|
|||
|
|
<div id="data_statistics_titleName1"
|
|||
|
|
style="float: left;width: 100%;height: 20px;color: #aeaeae;line-height: 25px;">
|
|||
|
|
当日采样计划
|
|||
|
|
</div>
|
|||
|
|
<div id="planCount" style="float: left;width: 100%;height: 40px;font-size: 30px;line-height: 40px;">
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div style="float: left;width: 16.6%;height: 100%;text-align: center;border-right: 1px solid #d7dbe2;">
|
|||
|
|
<div style="float: left;width: 100%;height: 20px;color: #aeaeae;line-height: 25px;">
|
|||
|
|
计划采样数
|
|||
|
|
</div>
|
|||
|
|
<div id="planSampleCount"
|
|||
|
|
style="float: left;width: 100%;height: 40px;font-size: 30px;line-height: 40px;">
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div style="float: left;width: 16.6%;height: 100%;text-align: center;border-right: 1px solid #d7dbe2;">
|
|||
|
|
<div style="float: left;width: 100%;height: 20px;color: #aeaeae;line-height: 25px;">
|
|||
|
|
实际采样数
|
|||
|
|
</div>
|
|||
|
|
<div id="realityCount"
|
|||
|
|
style="float: left;width: 100%;height: 40px;font-size: 30px;line-height: 40px;color: #00c74f;">
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div style="float: left;width: 16.6%;height: 100%;text-align: center;border-right: 1px solid #d7dbe2;">
|
|||
|
|
<div style="float: left;width: 100%;height: 20px;color: #aeaeae;line-height: 25px;">
|
|||
|
|
采样计划完成率
|
|||
|
|
</div>
|
|||
|
|
<div id="realityRate"
|
|||
|
|
style="float: left;width: 100%;height: 40px;font-size: 30px;line-height: 40px;color: #00c74f;">
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div style="float: left;width: 16.6%;height: 100%;text-align: center;border-right: 1px solid #d7dbe2;">
|
|||
|
|
<div id="data_statistics_titleName2"
|
|||
|
|
style="float: left;width: 100%;height: 20px;color: #aeaeae;line-height: 25px;">
|
|||
|
|
当日样品数
|
|||
|
|
</div>
|
|||
|
|
<div id="testCount" style="float: left;width: 100%;height: 40px;font-size: 30px;line-height: 40px;">
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div style="float: left;width: 16.6%;height: 100%;text-align: center;">
|
|||
|
|
<div id="data_statistics_titleName3"
|
|||
|
|
style="float: left;width: 100%;height: 20px;color: #aeaeae;line-height: 25px;">
|
|||
|
|
当日检测任务
|
|||
|
|
</div>
|
|||
|
|
<div id="finishCount"
|
|||
|
|
style="float: left;width: 100%;height: 40px;font-size: 30px;line-height: 40px;">
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div id="dayShow"
|
|||
|
|
style="float:left;display: block;width: 100%;height: calc((100% - 120px)*0.4);padding-top: 20px;padding-bottom: 10px;padding-left: 10px;padding-right: 10px;">
|
|||
|
|
<div style="float: left;width: 100%;height: calc((100% - 10px)*0.333);">
|
|||
|
|
<div id="dayWorkOrder1"
|
|||
|
|
style="float:left;width: calc((100% - 10px)*0.333);height: 100%;background: #f6f6f6;">
|
|||
|
|
</div>
|
|||
|
|
<div style="float:left;width: 5px;height: 100%;"></div>
|
|||
|
|
<div id="dayWorkOrder2"
|
|||
|
|
style="float:left;width: calc((100% - 10px)*0.333);height: 100%;background: #f6f6f6;"></div>
|
|||
|
|
<div style="float:left;width: 5px;height: 100%;"></div>
|
|||
|
|
<div id="dayWorkOrder3"
|
|||
|
|
style="float:left;width: calc((100% - 10px)*0.333);height: 100%;background: #f6f6f6;"></div>
|
|||
|
|
</div>
|
|||
|
|
<div style="float:left;width: 100%;height: 5px;"></div>
|
|||
|
|
<div style="float: left;width: 100%;height: calc((100% - 10px)*0.333);">
|
|||
|
|
<div id="dayWorkOrder4"
|
|||
|
|
style="float:left;width: calc((100% - 10px)*0.333);height: 100%;background: #f6f6f6;"></div>
|
|||
|
|
<div style="float:left;width: 5px;height: 100%;"></div>
|
|||
|
|
<div id="dayWorkOrder5"
|
|||
|
|
style="float:left;width: calc((100% - 10px)*0.333);height: 100%;background: #f6f6f6;"></div>
|
|||
|
|
<div style="float:left;width: 5px;height: 100%;"></div>
|
|||
|
|
<div id="dayWorkOrder6"
|
|||
|
|
style="float:left;width: calc((100% - 10px)*0.333);height: 100%;background: #f6f6f6;"></div>
|
|||
|
|
</div>
|
|||
|
|
<div style="float:left;width: 100%;height: 5px;"></div>
|
|||
|
|
<div style="float: left;width: 100%;height: calc((100% - 10px)*0.333);">
|
|||
|
|
<div id="dayWorkOrder7"
|
|||
|
|
style="float:left;width: calc((100% - 10px)*0.333);height: 100%;background: #f6f6f6;"></div>
|
|||
|
|
<div style="float:left;width: 5px;height: 100%;"></div>
|
|||
|
|
<div id="dayWorkOrder8"
|
|||
|
|
style="float:left;width: calc((100% - 10px)*0.333);height: 100%;background: #f6f6f6;"></div>
|
|||
|
|
<div style="float:left;width: 5px;height: 100%;"></div>
|
|||
|
|
<div id="dayWorkOrder9"
|
|||
|
|
style="float:left;width: calc((100% - 10px)*0.333);height: 100%;background: #f6f6f6;"></div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div id="monthShow"
|
|||
|
|
style="float:left;display: none;width: 100%;height: calc((100% - 120px)*0.4);padding-top: 20px;padding-bottom: 10px;padding-left: 10px;padding-right: 10px;">
|
|||
|
|
<div id="monthChart" style="width: 100%;height: 100%;"></div>
|
|||
|
|
</div>
|
|||
|
|
<div style="float:left;width: 100%;height: calc((100% - 120px)*0.6);padding-top: 20px;padding-bottom: 10px;padding-left: 10px;padding-right: 10px;">
|
|||
|
|
<div style="float:left;width: 100%;height: 40px;line-height: 40px;border-bottom: 2px solid #d7dbe2;text-align: center;">
|
|||
|
|
<div style="float:left;width: 25%;height: 100%;">
|
|||
|
|
<div style="float:left;width: calc(100% - 20px);height: 100%;">检测项目</div>
|
|||
|
|
<div style="float:left;width: 20px;height: 100%;cursor: pointer;"
|
|||
|
|
onclick="changeProjectNumOrder('1');">
|
|||
|
|
<div style="float:left;width: 100%;height: 50%;line-height: 38px;">
|
|||
|
|
<div id="project_num_up1" class="fa fa-sort-up" style="color: rgb(210,210,210);"></div>
|
|||
|
|
</div>
|
|||
|
|
<div style="float:left;width: 100%;height: 50%;line-height: 0px;">
|
|||
|
|
<div id="project_num_down1" class="fa fa-sort-desc"
|
|||
|
|
style="line-height: 5px;color: rgb(210,210,210);"></div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div style="float:left;width: 8%;height: 100%;">
|
|||
|
|
<div style="float:left;width: calc(100% - 20px);height: 100%;">数量</div>
|
|||
|
|
<div style="float:left;width: 20px;height: 100%;cursor: pointer;"
|
|||
|
|
onclick="changeProjectNumOrder('2');">
|
|||
|
|
<div style="float:left;width: 100%;height: 50%;line-height: 38px;">
|
|||
|
|
<div id="project_num_up2" class="fa fa-sort-up" style="color: rgb(210,210,210);"></div>
|
|||
|
|
</div>
|
|||
|
|
<div style="float:left;width: 100%;height: 50%;line-height: 0px;">
|
|||
|
|
<div id="project_num_down2" class="fa fa-sort-desc"
|
|||
|
|
style="line-height: 5px;color: rgb(60,141,188);"></div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div id="ckProjectDiv"
|
|||
|
|
style="float:left;width: 100%;height: calc(100% - 40px);overflow: auto;padding-top: 10px;">
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</body>
|
|||
|
|
<!-- 引入daterangepicker-->
|
|||
|
|
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.css"/>
|
|||
|
|
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/moment.min.js"
|
|||
|
|
charset="utf-8"></script>
|
|||
|
|
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.js"
|
|||
|
|
charset="utf-8"></script>
|
|||
|
|
</html>
|