从EXCEL表格到WEB TABLE的实践

前言

EXCEL管理数据

Bootstrap

Bootstrap 是一个流行的开源前端框架,它由 Twitter 的员工开发,用于快速开发响应式和移动设备优先的网页和应用程序。

jQuery

jQuery 是一个快速、小巧且功能丰富的 JavaScript 库。它简化了 HTML 文档的遍历、事件处理、动画和 Ajax 交互,使得 Web 开发更加快捷。

Bootstrap 和 jQuery 常常一起使用,jQuery 可以帮助开发者更容易地在 Bootstrap 构建的页面上实现复杂的交互效果。然而,随着现代前端框架(如 React、Vue 和 Angular)的兴起,jQuery 的使用逐渐减少,而 Bootstrap 也推出了专门为这些框架设计的版本,如 BootstrapVue 和 React-Bootstrap。

首先用table标签制作简单的表格

实现HTML\CSS\JS代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Web Table 实战示例</title>
<style>
table {
  width: 100%;
  border-collapse: collapse;
}

th, td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: left;
}

th {
  background-color: #f2f2f2;
  cursor: pointer;
}

tr:nth-child(even) {
  background-color: #f9f9f9;
}
</style>
<script>
function sortTable(n) {
  var table, rows, switching, i, x, y, shouldSwitch, dir, switchcount = 0;
  table = document.getElementById("myTable");
  switching = true;
  // 设置排序方向,默认为升序
  dir = "asc"; 
  // 进行循环,直到没有更多需要交换的行
  while (switching) {
    switching = false;
    rows = table.rows;
    // 遍历所有行,除了第一行(表头)
    for (i = 1; i < (rows.length - 1); i++) {
      shouldSwitch = false;
      // 获取当前行和下一行的指定列
      x = rows[i].getElementsByTagName("TD")[n];
      y = rows[i + 1].getElementsByTagName("TD")[n];
      // 检查两个值,根据排序方向进行交换
      if (dir == "asc") {
        if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) {
          shouldSwitch = true;
          break;
        }
      } else if (dir == "desc") {
        if (x.innerHTML.toLowerCase() < y.innerHTML.toLowerCase()) {
          shouldSwitch = true;
          break;
        }
      }
    }
    if (shouldSwitch) {
      // 如果找到需要交换的行,则交换它们,并标记交换了行
      rows[i].parentNode.insertBefore(rows[i + 1], rows[i]);
      switching = true;
      // 每次交换后增加计数器
      switchcount++;      
    } else {
      // 如果没有交换,检查是否需要改变排序方向
      if (switchcount == 0 && dir == "asc") {
        dir = "desc";
        switching = true;
      }
    }
  }
}

function addRow() {
  var type = document.getElementById("type").value;
  var area = document.getElementById("area").value;
  var city = document.getElementById("city").value;
  var table = document.getElementById("myTable").getElementsByTagName('tbody')[0];
  

  // 验证年龄是否为数字
  if (isNaN(area) || area === "") {
    alert("面积必须是数字!");
    return;
  }

  // 验证城市是否为空
  if (city === "") {
    alert("城市不能为空!");
    return;
  }

  // 创建新的行和单元格
  var newRow = table.insertRow(table.rows.length);
  var cell1 = newRow.insertCell(0);
  var cell2 = newRow.insertCell(1);
  var cell3 = newRow.insertCell(2);
  var cell4 = newRow.insertCell(3);

  // 添加数据到单元格
  cell1.innerHTML = type;
  cell2.innerHTML = area;
  cell3.innerHTML = city;
  cell4.innerHTML = '<button onclick="deleteRow(this)">删除</button>';

  // 清空输入框
  //document.getElementById("type").value = "";
  //document.getElementById("area").value = "";
  //document.getElementById("city").value = "";
}

function deleteRow(btn) {
  var row = btn.parentNode.parentNode;
  row.parentNode.removeChild(row);
}

</script>
</head>
<body>
<div>
<input value="首都" id="type"/>
<input value="1.641" id="area"/>
<input value="北京" id="city"/>
<button onclick="addRow()">添加</button>

</div>
<table id="myTable">
  <thead>
    <tr>
      <th onclick="sortTable(0)">类型</th>
      <th onclick="sortTable(1)">面积(单位:万平方千米)</th>
      <th onclick="sortTable(2)">城市</th>
	  <th>操作</th>
    </tr>
  </thead>
  <tbody>
    <!--<tr>
      <td id="type">首都</td>
      <td id="area">1.641</td>
      <td id="city">北京</td>
	  <td><button onclick="deleteRow(this)">删除</button></td>
    </tr>-->
    <!-- 更多行数据 -->
  </tbody>
</table>

</body>
</html>

升级为bootstrap+jquery依赖的高级表格

<!DOCTYPE html>
<html lang="zh-CN" xmlns:th="http://www.w3.org/1999/xhtml">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <title>水厂工作簿</title>
  <style>
    body {
      padding: 0;
      margin: 0;
      font: normal 14px/1.42857 Tahoma;
    }
	
	.selector-for-some-widget {·
	  box-sizing: content-box;
	}
	
	@media print {
	  .container {
		width: auto;
	  }
	}
	
	.itemArea{
	  list-style: none;
	  display: flex;
	}

	.bootstrap-table .fixed-table-container.fixed-height .table thead th {
		background: #f5f7fa;
	}
	
  </style>
  
  <!-- HTML5 Shiv 和 Respond.js 用于让 IE8 支持 HTML5元素和媒体查询 -->
  <!-- 注意: 如果通过 file://  引入 Respond.js 文件,则该文件无法起效果 -->
  <!--[if lt IE 9]>
	 <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
	 <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
  <![endif]-->

 <!-- cdn引入样式和js库 -->
<link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.1/css/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
  <link href="https://cdn.bootcdn.net/ajax/libs/bootstrap-table/1.22.1/bootstrap-table.css" rel="stylesheet" crossorigin="anonymous">
  <link href="https://cdn.bootcdn.net/ajax/libs/bootstrap-icons/1.11.0/font/bootstrap-icons.min.css" rel="stylesheet" crossorigin="anonymous">
  <link href="https://cdn.bootcdn.net/ajax/libs/font-awesome/6.4.2/css/all.min.css" rel="stylesheet" crossorigin="anonymous">
  <link href="https://cdn.bootcdn.net/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" crossorigin="anonymous">
  
  <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js" crossorigin="anonymous"></script>
  <script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.1/js/bootstrap.min.js" crossorigin="anonymous"></script>
  <script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.1/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
  <script src="https://cdn.bootcdn.net/ajax/libs/bootstrap-table/1.22.1/bootstrap-table.min.js" crossorigin="anonymous"></script>
  <script src="https://cdn.bootcdn.net/ajax/libs/bootstrap-table/1.22.1/locale/bootstrap-table-zh-CN.min.js" crossorigin="anonymous"></script>
  
  <script src="https://cdn.bootcdn.net/ajax/libs/bootstrap-datepicker/1.10.0/js/bootstrap-datepicker.min.js" crossorigin="anonymous"></script>
  <script src="https://cdn.bootcdn.net/ajax/libs/bootstrap-datepicker/1.10.0/locales/bootstrap-datepicker.zh-CN.min.js" crossorigin="anonymous"></script>
  <link href="https://cdn.bootcdn.net/ajax/libs/bootstrap-datepicker/1.10.0/css/bootstrap-datepicker.min.css" rel="stylesheet" crossorigin="anonymous">
  <link href="https://cdn.bootcdn.net/ajax/libs/bootstrap-datepicker/1.10.0/css/bootstrap-datepicker3.min.css" rel="stylesheet" crossorigin="anonymous">
  <script src="https://cdn.bootcdn.net/ajax/libs/bootstrap-table/1.22.1/extensions/export/bootstrap-table-export.min.js"  crossorigin="anonymous"></script>
  <script src="https://cdn.bootcdn.net/ajax/libs/moment.js/2.29.4/moment.min.js"  crossorigin="anonymous"></script>
  <script src="https://cdn.bootcdn.net/ajax/libs/moment.js/2.29.4/locale/zh-cn.min.js" crossorigin="anonymous"></script>
</head>
<body>
</body>
</html>

水务业务场景概览

增加WEB界面

批量数据生成

WEB界面代码

<div id="app" class="container" style="margin: 10px; height: calc(100vh - 20px);width: calc(100vw - 50px);">
  <!-- Content here -->
		<div class="wrapper wrapper-content" style="width: calc(100vw - 50px);">
		    <div class="row">
				<div class="col-sm-12" style="padding: 0 10px;">
				<h1>进出水实时监测</h1>
				</div>
			</div>

		    <div class="row">
				<div class="col-sm-12" style="padding: 0 10px;">
                    <div><p id="time"></p></div>
					<div id="dateSearch">  

						<div class="row g-3 needs-validation" novalidate>
						  <div class="col-md-3" >
							<label for="ip-port" class="form-label"><i class="fa fa-server" aria-hidden="true" style="color:gray"></i>服务器: </label>
							<input type="text" class="form-control" id="ip-port" name="ip-port" style="width:250px;" placeholder="服务IP:端口" value="http://192.168.1.100:5678" required>
							<div class="valid-feedback"></div>
						  </div>
						 
						  <div class="col-md-4">
							<label for="startDate" class="form-label"><i class="fa fa-calendar-days" style="color:gray"></i>日期: </label>
							<input type="text" class="form-control" id="startDate" name="startDate" style="width:250px;" placeholder="日期" value="" data-format="yyyy-MM-dd" required>
							<div id="date-operate"></div>
							<div class="valid-feedback"></div>
						  </div>
						  <div class="col-md-3">
						    <ul class="itemArea" >
								<li role="menuitem" class="checkItem">
								    <div class="form-check">
										<label class="form-check-label" for="b01">
										<input class="form-check-input" type="checkbox" checked="" data-code="B01" value="" id="b01">
										进水参数
										</label>
									</div>
								</li>
								<li role="menuitem" class="checkItem">
								    <div class="form-check">
										<label class="form-check-label" for="b02">
										<input class="form-check-input" type="checkbox" checked="" data-code="B02" value="" id="b02">
										供水参数
										</label>
									</div>
								</li>
								<li role="menuitem" class="checkItem">
								    <div class="form-check">
										<label class="form-check-label" for="b03">
										<input class="form-check-input" type="checkbox" checked="" data-code="B03" value="" id="b03">
										液位
										</label>
									</div>
								</li>
								<li role="menuitem" class="checkItem">
								    <div class="form-check">
										<label class="form-check-label" for="b04">
										<input class="form-check-input" type="checkbox" checked="" data-code="B04" value="" id="b04">
										供水压力
										</label>
									</div>
								</li>
							</ul>
						  </div>

						  <div class="col-md-2" style="display: flex; justify-content: right;">

						  </div>
						  
						</div>
					
					</div>
				</div>
			</div>
			<div class="row" id="infoArea">
				<div class="col-sm-12">
				
					<ul class="nav nav-tabs" id="navList" role="tablist" style="margin: 20px 0 0 0;">
						<li class="nav-item" data-name = "Tab1" onclick="getData('day')">
							 <a class="nav-link active" data-toggle="tab" href="#reportTab" role="tab" aria-current="page" aria-controls="tab" aria-selected="true"><i class="fa fa-chart-simple"></i>日报表</a> 
						</li>
						<li class="nav-item" data-name = "Tab2" onclick="getData('month')">
							 <a class="nav-link" data-toggle="tab" href="#reportTab" role="tab" aria-current="page" aria-controls="tab" aria-selected="true"><i class="fa fa-chart-simple"></i>月报表</a> 
						</li>
						<li class="nav-item" data-name = "Tab3" onclick="getData('year')">
							 <a class="nav-link" data-toggle="tab" href="#reportTab" role="tab" aria-current="page" aria-controls="tab" aria-selected="true"><i class="fa fa-chart-simple"></i>年报表</a>
						</li>
					</ul>
					
					<div class="tab-content" id="tabContent">
					
						<div id="toolbar" class="btn-group">

							<button class="btn btn-info btn-sm " data-bs-toggle="modal" data-bs-target="#myModal" >
								<i class="fa fa-window-restore"></i>批量增加
							</button>

						</div>
							
						<div id="reportTab" class="tab-pane fade show active" id="nav-home" role="tabpanel" aria-labelledby="nav-home-tab">
						     <table id="report-table"></table>
						</div>
						
					</div>
					 
				</div>
			</div>
	   </div>

</div>

表格DOM挂载点

<div id="reportTab" class="tab-pane fade show active" id="nav-home" role="tabpanel" aria-labelledby="nav-home-tab">
		<table id="report-table"></table>
</div>

批量生成数据的对话框

<!-- 模态框(Modal) -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
	<div class="modal-dialog">
	   <div class="modal-content">
		  <div class="modal-header">
			 <h4 class="modal-title" id="myModalLabel">
				表格数据动态生成
			 </h4>
			 <button type="button" class="close" data-bs-dismiss="modal" aria-hidden="true">
				 <span class="fa fa-close" aria-hidden="true"></span>
			 </button>
		  </div>
		  <div class="modal-body">
			 
			 <div class="wrapper wrapper-content animated fadeInRight ibox-content">
			   <form class="form-horizontal m" id="form-madArea-add">

				 <div class="form-group">
					<label class="col-sm-3 control-label " for="number">需要的数据量:</label>
					<div class="col-sm-8">
					  <input class="form-control"  type="text" id="number" name="number" value="1000">
					</div>
				  </div>

				 <!--<div class="col-sm-12">
				   <div class="form-group">
					 <div class="pull-right">
					   <button id="button_preservation" type="button" class="btn btn-success">保存</button>
					   <button id="button_cancel" type="button" class="btn btn-warning">取消</button>
					 </div>
				   </div>
				 </div>-->
			   </form>
			 </div>

		  </div>
		  <div class="modal-footer">
			 <button type="button" class="btn btn-default" data-bs-dismiss="modal">关闭</button>
			 <button  type="button" class="btn btn-primary" onclick="submitFun()">提交</button>
		  </div>
	   </div>
		<!-- /.modal-content -->
	 </div><!-- /.modal -->
 </div>

界面数据逻辑的js代码

<script>

function formatDate(date) {
  const day = date.getDate().toString().padStart(2, '0');
  const month = (date.getMonth() + 1).toString().padStart(2, '0'); // 月份是从0开始的
  const year = date.getFullYear();
  const hours = date.getHours().toString().padStart(2, '0');
  const minutes = date.getMinutes().toString().padStart(2, '0');
  const seconds = date.getSeconds().toString().padStart(2, '0');
 
  return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
}

let pid1
pid1 = setInterval(()=>{
	// 使用示例
	const now = new Date()
	// 输出格式如: "2023-03-15 12:30:45"
	document.getElementById('time').innerHTML = formatDate(now)
},0)

let myWorker

document.querySelector('#number').onchange = function() {
	console.log('数据量:',document.querySelector('#number').value);
}

function startWorker() {

	let message = { 
		num: document.querySelector('#number').value,
		urls: ['./local.json', './local.json']
	}

	if (typeof Worker !== 'undefined') {
		if(typeof(myWorker) == "undefined") {
			// 支持Web worker 创建一个新的Web Worker
			const blob = new Blob([document.getElementById('worker').textContent]);
			const url = window.URL.createObjectURL(blob)
			myWorker = new Worker(url);
		}
		
		// 定义一个函数来处理来自工作线程的消息
		myWorker.onmessage = function(e) {
			console.log('Message received from worker');
			
			const res = e.data;
			if(res.length==message.num){
				tableData = res||[];
				initTable(res);
			}else{
				console.log(res);
			}
			
		}

		// 向worker发送消息以启动计算 启动请求
		myWorker.postMessage(message);

	} else {
	  // 不支持
	  console.log('Web Workers are not supported in this browser.');
	  console.error("抱歉,你的浏览器不支持 Web Workers...");
	}

}

function stopWorker() { 
    if(typeof(myWorker) != "undefined") {
	    myWorker.terminate();
        myWorker = undefined;
	}
	
	if(pid1){
	   clearInterval(pid1);
	}
}

try {
    //run(main)
}
catch(err) {
    console.log(err)
}
finally {
    console.log('finally done')
}

	var queryParams = function (params) {
      var param = {
          pageIndex: Math.ceil(params.offset / params.limit) + 1,
          pageSize: params.limit,
          order: params.order,
          ordername: params.sort,
		  time: $("#dateSearch .startDate").val(),
          //startDateTime: $("#dateSearch .startDate").val(),
          //endDateTime: $("#dateSearch .endDate").val(),
          search: $("#dateSearch .imuserid").val()
      };
	  //console.log(param)
      return param;
    }
	
	//查询条件
    function queryParams1(params){
        params['project_id'] = $("select[name=project_id]").find("option:selected").val();
        params['time_field'] = $("select[name=time_field]").find("option:selected").val();
        params['start_time'] = $("input[name=start_time]").val();
        params['end_time'] = $("input[name=end_time]").val();
        params['user_name'] = $("input[name=user_name]").val();
        params['telephone'] = $("input[name=telephone]").val();
        params['room_confirm_number'] = $("input[name=room_confirm_number]").val();
        params['lineson'] = $("select[name=lineson]").val();
        params['invoice'] = $("select[name=invoice]").val();
        return params;
    }
 
    var responseHandler = function (e) {
      if (e.data && e.data.length > 0) {
          return { "rows": e.data, "total": e.count };
      }
      else {
          return { "rows": [], "total": 0 };
      }
      
    }
  
    var uidHandle = function (value, row, index) {
      var html = "<a href='#'>"+ res + "</a>";
      return html;
    }
  
    var operateFormatter = function (value, row, index) {//赋予的参数
      return [
	      '<div style="width: 200px;display: flex;justify-content: space-around;">',
          '<button class="btn btn-info btn-sm rightSize detailBtn" type="button"><i class="fa fa-paste"></i> 详情</button>',
          '<button class="btn btn-danger btn-sm rightSize packageBtn" type="button"><i class="fa fa-envelope"></i> 通知</button>',
		  '</div>'
      ].join('');
    }
	
	var rowStyle = function (row, index) {
		var classes = ['success', 'info'];
		if (index % 2 === 0) {//偶数行
			return { classes: classes[0]};
		} else {//奇数行
			return {classes: classes[1]};
		}
	}
	
	const tableName = "report-table";
	var tableType = 'day'
	
	function selectType(){
	    const date = $('#startDate').datepicker('getDate');
	    let time = ''
	    if(tableType=='day'){
		   time = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
		}else if(tableType=='month'){
		   time = date.getFullYear() + "-" + (date.getMonth() + 1);
		}else if(tableType=='year'){
		  time = date.getFullYear();
		}
		return time
	}
	
	function reportName(){
	    let name = ''
		let time = ''
		const date = $('#startDate').datepicker('getDate');
	    if(tableType=='day'){
		   name = '日报表'
		   time = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
		}else if(tableType=='month'){
		   name = '月报表'
		   time = date.getFullYear() + "-" + (date.getMonth() + 1);
		}else if(tableType=='year'){
		  name = '年报表'
		  time = date.getFullYear();
		}
		return name + '_' + time
	}
	
	function searchReport(){
	    buildTableColumns(); //根据因子选择状态创建表格属性
		initTable();
		//getServerData();
	}
	
	function getServerData(){
	    let timeformatted = selectType();
		const serverUrl = $('#ip-port').val();
		const url = serverUrl+'/api/SystemMonitor/GetReport?type='+tableType+'&time='+timeformatted;
		
		const authorization = 'Bearer '+'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjE0MjMwNzA3MDkxMDU1MSwiVGVuYW50SWQiOjE0MjMwNzA3MDkxODc4MCwiQWNjb3VudCI6InN5c3RlbSIsIk5hbWUiOiLotoXnuqfnrqHnkIblkZgiLCJTdXBlckFkbWluIjoxLCJLZWxpU3VwZXJBZG1pbiI6MSwiT3JnSWQiOjE0MjMwNzA3MDkxMDUzOSwiT3JnTmFtZSI6IumbhuWbouWFrOWPuDk5OSIsImlhdCI6MTcwNDQ0MDM4NSwibmJmIjoxNzA0NDQwMzg1LCJleHAiOjE3MDcwMzIzODUsImlzcyI6IktlbGkiLCJhdWQiOiJLZWxpIn0.MHS1KUqzq8bKytYVH3W8pdjcr8EOVlFpxc-a5CaU64g'

		$.ajax({
			url: url,
			method: 'get',
			dataType: 'json',
			//beforeSend: function(xhr) {
				//xhr.setRequestHeader('Authorization', authorization);
			//},
			//headers: {'Accept': 'application/json', 'Authorization': authorization},
			contentType: "application/json,charset=utf-8",
		    success: (res)=> {
				if(res.code==200){
				  tableData = res.data||[];
				  initTable();
				}else{
				  alert(JSON.stringify(res.data))
				}
				return;
			},
			error: function(res) {
				alert(JSON.stringify(res))
			}
		});
	}

	function typeView(type){
		let viewMode = ''
		switch(type){
			case 'day':
			    viewMode = 'days'
				break;
			case 'month':
			    viewMode = 'months'
				break;
			case 'year':
			    viewMode = 'years'
				break;
			default:
				break;
		}
		return viewMode
	}

	function viewModeTable(viewMode){
		let tabType = ''
		switch(viewMode){
			case 'days':
			    tabType = 'day'
				break;
			case 'months':
			    tabType = 'month'
				break;
			case 'years':
			    tabType = 'year'
				break;
			default:
				break;
		}
		return tabType
	}
	
	function getData(type){
		tableType = type;
		selectDateBtn(typeView(type));
		searchReport();
	}
	
	function exportData(){
	    if (this.tableData && tableData.length) { 
			const timeformatted = selectType();
			const serverUrl = $('#ip-port').val()
			const url = serverUrl+'/api/SystemMonitor/ExportReport?type='+tableType+'&time='+timeformatted;
			
			//const authorization = 'Bearer '+'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjE0MjMwNzA3MDkxMDU1MSwiVGVuYW50SWQiOjE0MjMwNzA3MDkxODc4MCwiQWNjb3VudCI6InN5c3RlbSIsIk5hbWUiOiLotoXnuqfnrqHnkIblkZgiLCJTdXBlckFkbWluIjoxLCJLZWxpU3VwZXJBZG1pbiI6MSwiT3JnSWQiOjE0MjMwNzA3MDkxMDUzOSwiT3JnTmFtZSI6IumbhuWbouWFrOWPuDk5OSIsImlhdCI6MTcwNDQ0MDM4NSwibmJmIjoxNzA0NDQwMzg1LCJleHAiOjE3MDcwMzIzODUsImlzcyI6IktlbGkiLCJhdWQiOiJLZWxpIn0.MHS1KUqzq8bKytYVH3W8pdjcr8EOVlFpxc-a5CaU64g'

			$.ajax({
				url: url,
				method: 'get',
				dataType: 'json',
				//beforeSend: function(xhr) {
					//xhr.setRequestHeader('Authorization', authorization);
				//},
				//headers: {'Accept': 'application/json', 'Authorization': authorization},
				contentType: "application/json,charset=utf-8",
				success: (res)=> {
					//console.log(res);
					if(res.code==200){
					  if (res.data) {
                            let fileUrl = serverUrl + res.data;
							let rename = reportName();
							fileDownload(fileUrl, rename+'下载.html');
                        }
					}
					return;
				},
				error: function(res) {
					console.log(res);
				}
			});
		   
		}
	}
	
	function fileDownload(content, filename) {
		// 创建隐藏的可下载链接
		var eleLink = document.createElement('a');
		eleLink.download = filename;
		eleLink.style.display = 'none';
		// 字符内容转变成blob地址
		//var blob = new Blob([content]);
		//eleLink.href = URL.createObjectURL(blob);
		eleLink.href = content;
		// 触发点击
		document.body.appendChild(eleLink);
		eleLink.click();
		// 然后移除
		document.body.removeChild(eleLink);
	};
	
	var tableData = []
	
	function initTable(){
	    $('#' + tableName).empty();
		$('#' + tableName).bootstrapTable('destroy').bootstrapTable({
			  columns: columns, //动态拼接生成表格
			  data: tableData,
			  //data: data,
			  sortStable: true,
			  toolbar: "#toolbar",                //一个jQuery 选择器,指明自定义的toolbar 例如:#toolbar, .toolbar.
			  uniqueId: "uid",                    //每一行的唯一标识,一般为主键列
			  height: document.body.clientHeight-300,   //动态获取高度值,可以使表格自适应页面
			  cache: true,                       // 表格缓存
			  striped: true,                      // 隔行加亮 行间隔色
			  queryParamsType: "limit",           //设置为"undefined",可以获取pageNumber,pageSize,searchText,sortName,sortOrder //设置为"limit",符合 RESTFul 格式的参数,可以获取limit, offset, search, sort, order 
			  queryParams: queryParams,
			  sidePagination: "client",           //分页方式:client客户端分页,server服务端分页(*)
			  sortable: true,                     //是否启用排序;意味着整个表格都会排序
			  sortName: 'uid',                    // 设置默认排序为 name
			  sortOrder: "asc",                   //排序方式
			  pagination: true,                   //是否显示分页(*)
			  search: true,                       //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
			  strictSearch: true,
			  showColumns: true,                  //是否显示所有的列
			  showRefresh: true,                  //是否显示刷新按钮
			  showToggle:true,                    //是否显示详细视图和列表视图
			  detailView: true, // 是否显示父子表
			  clickToSelect: true,                //是否启用点击选中行
			  paginationLoop: true,
			  minimumCountColumns: 2,          //最少允许的列数 clickToSelect: true, //是否启用点击选中行
			  pageNumber: 1,                   //初始化加载第一页,默认第一页
			  pageSize: 10,                    //每页的记录行数(*)
			  pageList: [10, 25, 50, 100],     //可供选择的每页的行数(*)
			  paginationPreText: "上一页",
			  paginationNextText: "下一页",
			  paginationFirstText: "首页",
			  paginationLastText: "末页",
			  undefinedText: "...",
			  responseHandler: responseHandler,
			  showExport: true,
			  buttonsAlign: "right",//按钮位置
			  exportDataType: 'basic',//导出的数据类型,支持basic、all 、selected
			  exportOptions:{
                ignoreColumn:[0],      //导出数据忽略第一列
                fileName:'报表',     //导出数据的文件名
                worksheetName:'sheet1',//表格工作区名称
                tableName:'报表',
                excelstyles:['background-color','color','font-size','font-weight']
              },
			  rowStyle: rowStyle,
			  cellStyle:function(value,row,index){// value:单元格值,row:行对象,index:第几行
				// 逻辑            
				return {css: {"background-color": 'rgb(11,22,33)'}};
			  },
			  onLoadSuccess: function (data) { //加载成功时执行
				//console.log(data);
			  },
			  onLoadError: function (res) { //加载失败时执行
				console.log(res);
			  },
			  onSort: function (a, b) { //点击排序时触发
				$(".fixed-table-header").removeClass('hidden');
				return a - b;
			  },
			  onExpandRow: function(index,row,$detail){
				initSubTable(index,row,$detail)
			  }
		});
		$(".fixed-table-header").addClass('hidden');
		//初始化子表 无限循环
		const initSubTable = function(index,row,$detail){
			let parentId = row.id
			let cur_table = $detail.html('<table></table>').find('table')
			$(cur_table).bootstrapTable({
				data: [{
						"mesh": 0,
						"translation": [
							-69.28118,
							97.06617,
							-31.3581028
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx001",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 1,
						"translation": [
							-384.306427,
							50.7831421,
							178.388123
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx007"
					},
					{
						"mesh": 2,
						"translation": [
							-384.306427,
							50.7831421,
							153.324448
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx008"
					},
					{
						"mesh": 3,
						"translation": [
							-265.6682,
							50.7831421,
							178.388123
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx009"
					},
					{
						"mesh": 4,
						"translation": [
							-265.6682,
							50.7831421,
							153.324448
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx010"
					},
					{
						"mesh": 5,
						"translation": [
							329.4485,
							50.7831421,
							178.388123
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx011"
					},
					{
						"mesh": 6,
						"translation": [
							329.4485,
							50.7831421,
							153.324448
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx012"
					},
					{
						"mesh": 7,
						"translation": [
							424.924927,
							50.7831421,
							178.388123
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx013"
					},
					{
						"mesh": 8,
						"translation": [
							424.924927,
							50.7831421,
							153.324448
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx014"
					},
					{
						"mesh": 9,
						"translation": [
							185.995361,
							50.7831421,
							178.388123
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx015"
					},
					{
						"mesh": 10,
						"translation": [
							185.995361,
							50.7831421,
							153.324448
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx016"
					},
					{
						"mesh": 11,
						"translation": [
							-180.629181,
							50.7831421,
							178.388123
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx017"
					},
					{
						"mesh": 12,
						"translation": [
							-180.629181,
							50.7831421,
							153.324448
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx018"
					},
					{
						"mesh": 13,
						"translation": [
							-95.59015,
							50.7831421,
							178.388123
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx020"
					},
					{
						"mesh": 14,
						"translation": [
							-95.59015,
							50.7831421,
							153.324448
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx021"
					},
					{
						"mesh": 15,
						"translation": [
							-10.5511055,
							50.7831421,
							178.388123
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx023"
					},
					{
						"mesh": 16,
						"translation": [
							-10.5511055,
							50.7831421,
							153.324448
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx024"
					},
					{
						"mesh": 17,
						"translation": [
							-5.850804,
							97.06617,
							195.659225
						],
						"name": "dmxx025",
						"rotation": [
							0,
							0,
							0,
							1
						],
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 18,
						"translation": [
							-11.3755226,
							52.31717,
							23.8695
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx026",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 19,
						"translation": [
							20.13911,
							104.698647,
							-58.73637
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx027",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 20,
						"translation": [
							20.1939049,
							104.698647,
							-58.83061
						],
						"scale": [
							703.122742,
							1000,
							27.22401
						],
						"name": "dmxx028",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 21,
						"translation": [
							20.13911,
							109.331139,
							-58.73637
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx029",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 22,
						"translation": [
							-357.0462,
							50.7831421,
							-241.902939
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx030"
					},
					{
						"mesh": 23,
						"translation": [
							-353.402039,
							20.8683167,
							-105.386818
						],
						"rotation": [
							0,
							-8.742278e-8,
							0,
							1
						],
						"name": "dmxx034",
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 24,
						"translation": [
							14.6565981,
							100.400383,
							-78.23704
						],
						"scale": [
							2000,
							2000,
							2000
						],
						"name": "dmxx040",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 25,
						"translation": [
							311.286682,
							78.07455,
							-23.8040924
						],
						"rotation": [
							0,
							0,
							8.742278e-8,
							1
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx041"
					},
					{
						"mesh": 25,
						"translation": [
							311.286682,
							78.07455,
							-56.312088
						],
						"rotation": [
							0,
							0,
							8.742278e-8,
							1
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx044"
					},
					{
						"mesh": 25,
						"translation": [
							311.286682,
							78.07455,
							-88.63709
						],
						"rotation": [
							0,
							0,
							8.742278e-8,
							1
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx047"
					},
					{
						"mesh": 25,
						"translation": [
							311.286682,
							78.07455,
							-121.432076
						],
						"rotation": [
							0,
							0,
							8.742278e-8,
							1
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx050"
					},
					{
						"mesh": 25,
						"translation": [
							312.5485,
							78.07455,
							-153.323837
						],
						"rotation": [
							0,
							0,
							8.742278e-8,
							1
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx053"
					},
					{
						"mesh": 26,
						"translation": [
							307.3467,
							102.492004,
							-23.8041229
						],
						"scale": [
							41.2218742,
							1000,
							849.2772
						],
						"name": "dmxx042",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 26,
						"translation": [
							307.3467,
							102.492004,
							-56.312088
						],
						"scale": [
							41.2218742,
							1000,
							849.2772
						],
						"name": "dmxx045",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 26,
						"translation": [
							307.3467,
							102.492004,
							-88.63709
						],
						"scale": [
							41.2218742,
							1000,
							849.2772
						],
						"name": "dmxx048",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 26,
						"translation": [
							307.3467,
							102.492004,
							-121.432091
						],
						"scale": [
							41.2218742,
							1000,
							849.2772
						],
						"name": "dmxx051",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 26,
						"translation": [
							307.3467,
							103.512192,
							-153.323868
						],
						"scale": [
							41.2218742,
							1000,
							849.2772
						],
						"name": "dmxx054",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 27,
						"translation": [
							311.178558,
							108.826675,
							-23.8226776
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx043",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 27,
						"translation": [
							311.178558,
							108.826675,
							-56.3306427
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx046",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 27,
						"translation": [
							311.178558,
							108.826675,
							-88.65565
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx049",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 27,
						"translation": [
							311.178558,
							108.826675,
							-121.450645
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx052",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 27,
						"translation": [
							312.440369,
							109.846863,
							-153.342422
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx055",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 28,
						"translation": [
							-263.4113,
							50.7831421,
							-241.902939
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx056"
					},
					{
						"mesh": 29,
						"translation": [
							-173.5626,
							50.7831421,
							-241.902939
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx057"
					},
					{
						"mesh": 30,
						"translation": [
							-67.6411057,
							50.7831421,
							-241.902939
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx058"
					},
					{
						"mesh": 31,
						"translation": [
							38.2803955,
							50.7831421,
							-241.902939
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx059"
					},
					{
						"mesh": 32,
						"translation": [
							144.20192,
							50.7831421,
							-241.902939
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx060"
					},
					{
						"mesh": 33,
						"translation": [
							250.1234,
							50.7831421,
							-241.902939
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx061"
					},
					{
						"mesh": 34,
						"translation": [
							362.969574,
							50.7831421,
							-241.902939
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx062"
					},
					{
						"mesh": 35,
						"translation": [
							122.978882,
							107.494537,
							33.8315964
						],
						"rotation": [
							0.500000238,
							0.499999732,
							-0.499999762,
							0.500000238
						],
						"scale": [
							102.549454,
							102.549454,
							102.549454
						],
						"name": "dmxx065"
					},
					{
						"mesh": 35,
						"translation": [
							122.978882,
							107.494537,
							80.91254
						],
						"rotation": [
							0.500000238,
							0.499999732,
							-0.499999762,
							0.500000238
						],
						"scale": [
							102.549454,
							102.549454,
							102.549454
						],
						"name": "dmxx067"
					},
					{
						"mesh": 35,
						"translation": [
							122.978882,
							107.494537,
							127.993469
						],
						"rotation": [
							0.500000238,
							0.499999732,
							-0.499999762,
							0.500000238
						],
						"scale": [
							102.549454,
							102.549454,
							102.549454
						],
						"name": "dmxx069"
					},
					{
						"mesh": 35,
						"translation": [
							262.9095,
							107.494537,
							33.8315964
						],
						"rotation": [
							0.500000238,
							0.499999732,
							-0.499999762,
							0.500000238
						],
						"scale": [
							102.549454,
							102.549454,
							102.549454
						],
						"name": "dmxx071"
					},
					{
						"mesh": 35,
						"translation": [
							262.9095,
							107.494537,
							80.91254
						],
						"rotation": [
							0.500000238,
							0.499999732,
							-0.499999762,
							0.500000238
						],
						"scale": [
							102.549454,
							102.549454,
							102.549454
						],
						"name": "dmxx073"
					},
					{
						"mesh": 35,
						"translation": [
							262.9095,
							107.494537,
							127.993469
						],
						"rotation": [
							0.500000238,
							0.499999732,
							-0.499999762,
							0.500000238
						],
						"scale": [
							102.549454,
							102.549454,
							102.549454
						],
						"name": "dmxx075"
					},
					{
						"mesh": 36,
						"translation": [
							123.283409,
							99.7992554,
							33.8151779
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx066"
					},
					{
						"mesh": 36,
						"translation": [
							123.283409,
							99.7992554,
							80.89612
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx068"
					},
					{
						"mesh": 36,
						"translation": [
							123.283409,
							99.7992554,
							127.977051
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx070"
					},
					{
						"mesh": 36,
						"translation": [
							263.21402,
							99.7992554,
							33.8151779
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx072"
					},
					{
						"mesh": 36,
						"translation": [
							263.21402,
							99.7992554,
							80.89612
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx074"
					},
					{
						"mesh": 36,
						"translation": [
							263.21402,
							99.7992554,
							127.977051
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx076"
					},
					{
						"mesh": 37,
						"translation": [
							-354.3712,
							21.3148766,
							-185.977631
						],
						"rotation": [
							0,
							-1,
							0,
							-7.54979e-8
						],
						"scale": [
							48.58575,
							1178.64,
							1000.99207
						],
						"name": "dmxx078"
					},
					{
						"mesh": 37,
						"translation": [
							-354.039642,
							24.196846,
							234.26799
						],
						"scale": [
							48.58575,
							1178.64,
							1000.99207
						],
						"name": "dmxx080",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 37,
						"translation": [
							-261.123566,
							24.196846,
							234.26799
						],
						"scale": [
							48.58575,
							1178.64,
							1000.99207
						],
						"name": "dmxx084",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 37,
						"translation": [
							-175.647079,
							24.196846,
							234.26799
						],
						"scale": [
							48.58575,
							1178.64,
							1000.99207
						],
						"name": "dmxx087",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 37,
						"translation": [
							-91.1806259,
							103.6815,
							234.26799
						],
						"scale": [
							48.58575,
							1178.64,
							1000.99207
						],
						"name": "dmxx090",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 37,
						"translation": [
							-6.7141614,
							24.196846,
							234.26799
						],
						"scale": [
							48.58575,
							1178.64,
							1000.99207
						],
						"name": "dmxx093",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 37,
						"translation": [
							335.155029,
							24.196846,
							234.26799
						],
						"scale": [
							48.58575,
							1178.64,
							1000.99207
						],
						"name": "dmxx096",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 37,
						"translation": [
							392.734375,
							24.196846,
							234.26799
						],
						"scale": [
							48.58575,
							1178.64,
							1000.99207
						],
						"name": "dmxx099",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 37,
						"translation": [
							424.99704,
							24.196846,
							234.26799
						],
						"scale": [
							48.58575,
							1178.64,
							1000.99207
						],
						"name": "dmxx102",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 37,
						"translation": [
							-262.579529,
							24.196846,
							-185.977631
						],
						"rotation": [
							0,
							-1,
							0,
							-7.54979e-8
						],
						"scale": [
							48.58575,
							1178.64,
							1000.99207
						],
						"name": "dmxx105"
					},
					{
						"mesh": 37,
						"translation": [
							-175.370026,
							24.196846,
							-185.977631
						],
						"rotation": [
							0,
							-1,
							0,
							-7.54979e-8
						],
						"scale": [
							48.58575,
							1178.64,
							1000.99207
						],
						"name": "dmxx108"
					},
					{
						"mesh": 37,
						"translation": [
							-99.35006,
							24.196846,
							-351.338226
						],
						"rotation": [
							0,
							-1,
							0,
							-7.54979e-8
						],
						"scale": [
							48.58575,
							1178.64,
							1000.99207
						],
						"name": "dmxx111"
					},
					{
						"mesh": 37,
						"translation": [
							-17.0734463,
							24.196846,
							-351.338226
						],
						"rotation": [
							0,
							-1,
							0,
							-7.54979e-8
						],
						"scale": [
							48.58575,
							1178.64,
							1000.99207
						],
						"name": "dmxx114"
					},
					{
						"mesh": 38,
						"translation": [
							-354.211151,
							29.43003,
							-185.977631
						],
						"rotation": [
							0,
							-1,
							0,
							-7.54979e-8
						],
						"scale": [
							1178.64,
							1178.64,
							1178.64
						],
						"name": "dmxx079"
					},
					{
						"mesh": 38,
						"translation": [
							-354.199677,
							32.312,
							234.26799
						],
						"scale": [
							1178.64,
							1178.64,
							1178.64
						],
						"name": "dmxx081",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 38,
						"translation": [
							-261.2836,
							32.312,
							234.26799
						],
						"scale": [
							1178.64,
							1178.64,
							1178.64
						],
						"name": "dmxx085",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 38,
						"translation": [
							-175.807114,
							32.312,
							234.26799
						],
						"scale": [
							1178.64,
							1178.64,
							1178.64
						],
						"name": "dmxx088",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 38,
						"translation": [
							-91.34066,
							111.796661,
							234.26799
						],
						"scale": [
							1178.64,
							1178.64,
							1178.64
						],
						"name": "dmxx091",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 38,
						"translation": [
							-6.87419558,
							32.312,
							234.26799
						],
						"scale": [
							1178.64,
							1178.64,
							1178.64
						],
						"name": "dmxx094",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 38,
						"translation": [
							334.995,
							32.312,
							234.26799
						],
						"scale": [
							1178.64,
							1178.64,
							1178.64
						],
						"name": "dmxx097",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 38,
						"translation": [
							392.574341,
							32.312,
							234.26799
						],
						"scale": [
							1178.64,
							1178.64,
							1178.64
						],
						"name": "dmxx100",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 38,
						"translation": [
							424.837,
							32.312,
							234.26799
						],
						"scale": [
							1178.64,
							1178.64,
							1178.64
						],
						"name": "dmxx103",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 38,
						"translation": [
							-262.419525,
							32.312,
							-185.977631
						],
						"rotation": [
							0,
							-1,
							0,
							-7.54979e-8
						],
						"scale": [
							1178.64,
							1178.64,
							1178.64
						],
						"name": "dmxx106"
					},
					{
						"mesh": 38,
						"translation": [
							-175.209976,
							32.312,
							-185.977631
						],
						"rotation": [
							0,
							-1,
							0,
							-7.54979e-8
						],
						"scale": [
							1178.64,
							1178.64,
							1178.64
						],
						"name": "dmxx109"
					},
					{
						"mesh": 38,
						"translation": [
							-99.19002,
							32.312,
							-351.338226
						],
						"rotation": [
							0,
							-1,
							0,
							-7.54979e-8
						],
						"scale": [
							1178.64,
							1178.64,
							1178.64
						],
						"name": "dmxx112"
					},
					{
						"mesh": 38,
						"translation": [
							-16.91341,
							32.312,
							-351.338226
						],
						"rotation": [
							0,
							-1,
							0,
							-7.54979e-8
						],
						"scale": [
							1178.64,
							1178.64,
							1178.64
						],
						"name": "dmxx115"
					},
					{
						"mesh": 39,
						"translation": [
							-354.291138,
							67.79712,
							235.0402
						],
						"rotation": [
							0,
							0,
							8.742278e-8,
							1
						],
						"name": "dmxx082",
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 40,
						"translation": [
							-13.5029039,
							55.26396,
							23.79452
						],
						"rotation": [
							0.7071068,
							0,
							0,
							0.7071067
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx116"
					},
					{
						"mesh": 41,
						"translation": [
							-41.3215942,
							0,
							25.8910332
						],
						"name": "dmxx117",
						"rotation": [
							0,
							0,
							0,
							1
						],
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 42,
						"translation": [
							575.1094,
							4.56818771,
							-394.632172
						],
						"rotation": [
							-5.76011772e-8,
							0.7071066,
							5.76011381e-8,
							0.707107067
						],
						"scale": [
							39.9999962,
							39.9999962,
							39.9999962
						],
						"name": "dmxx118"
					},
					{
						"mesh": 42,
						"translation": [
							-748.5892,
							4.56818771,
							-394.632172
						],
						"rotation": [
							-5.76011772e-8,
							0.7071066,
							5.76011381e-8,
							0.707107067
						],
						"scale": [
							39.9999962,
							39.9999962,
							39.9999962
						],
						"name": "dmxx159"
					},
					{
						"mesh": 43,
						"translation": [
							111.822212,
							100.152115,
							-180.306564
						],
						"rotation": [
							0,
							8.742278e-8,
							0,
							1
						],
						"name": "dmxx119",
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 44,
						"translation": [
							-58.72216,
							101.010712,
							-154.881439
						],
						"rotation": [
							0,
							8.742278e-8,
							0,
							1
						],
						"name": "dmxx122",
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 45,
						"translation": [
							282.5177,
							101.010712,
							-154.181885
						],
						"rotation": [
							0,
							8.742278e-8,
							0,
							1
						],
						"name": "dmxx123",
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 46,
						"translation": [
							111.876022,
							101.010689,
							-137.679047
						],
						"rotation": [
							0,
							8.742278e-8,
							0,
							1
						],
						"name": "huojia1",
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 47,
						"translation": [
							251.998413,
							40.02563,
							-153.323837
						],
						"rotation": [
							0,
							0,
							0.7071069,
							0.70710665
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx127"
					},
					{
						"mesh": 47,
						"translation": [
							251.998413,
							40.02563,
							-121.256851
						],
						"rotation": [
							0,
							0,
							0.7071069,
							0.70710665
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx129"
					},
					{
						"mesh": 47,
						"translation": [
							251.998413,
							40.02563,
							-88.64618
						],
						"rotation": [
							0,
							0,
							0.7071069,
							0.70710665
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx131"
					},
					{
						"mesh": 47,
						"translation": [
							251.998413,
							40.02563,
							-56.3211746
						],
						"rotation": [
							0,
							0,
							0.7071069,
							0.70710665
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx133"
					},
					{
						"mesh": 47,
						"translation": [
							251.998413,
							40.02563,
							-23.8131752
						],
						"rotation": [
							0,
							0,
							0.7071069,
							0.70710665
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx135"
					},
					{
						"mesh": 48,
						"translation": [
							251.998413,
							40.02563,
							-153.323837
						],
						"rotation": [
							0,
							0,
							0.70710665,
							0.7071069
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx128"
					},
					{
						"mesh": 48,
						"translation": [
							251.998413,
							40.02563,
							-121.256851
						],
						"rotation": [
							0,
							0,
							0.70710665,
							0.7071069
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx130"
					},
					{
						"mesh": 48,
						"translation": [
							251.998413,
							40.02563,
							-88.64618
						],
						"rotation": [
							0,
							0,
							0.70710665,
							0.7071069
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx132"
					},
					{
						"mesh": 48,
						"translation": [
							251.998413,
							40.02563,
							-56.3211746
						],
						"rotation": [
							0,
							0,
							0.70710665,
							0.7071069
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx134"
					},
					{
						"mesh": 48,
						"translation": [
							251.998413,
							40.02563,
							-23.8131752
						],
						"rotation": [
							0,
							0,
							0.70710665,
							0.7071069
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx136"
					},
					{
						"mesh": 49,
						"translation": [
							111.897774,
							101.010689,
							-104.808395
						],
						"rotation": [
							0,
							8.742278e-8,
							0,
							1
						],
						"name": "huojia2",
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 50,
						"translation": [
							111.876022,
							101.010689,
							-72.813
						],
						"rotation": [
							0,
							8.742278e-8,
							0,
							1
						],
						"name": "huojia3",
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 51,
						"translation": [
							111.761848,
							92.45464,
							-24.595459
						],
						"rotation": [
							0,
							8.742278e-8,
							0,
							1
						],
						"name": "dmxx145",
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 52,
						"translation": [
							-58.7439079,
							101.010712,
							-7.71492624
						],
						"rotation": [
							0,
							8.742278e-8,
							0,
							1
						],
						"name": "dmxx147",
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 53,
						"translation": [
							111.800461,
							100.152115,
							2.51851177
						],
						"rotation": [
							0,
							8.742278e-8,
							0,
							1
						],
						"name": "dmxx148",
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 54,
						"translation": [
							111.897758,
							101.010689,
							-39.97574
						],
						"rotation": [
							0,
							8.742278e-8,
							0,
							1
						],
						"name": "huojia4",
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 55,
						"translation": [
							282.495941,
							101.010712,
							-8.314145
						],
						"rotation": [
							0,
							8.742278e-8,
							0,
							1
						],
						"name": "dmxx151",
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 56,
						"translation": [
							111.381035,
							82.89289,
							-23.9728642
						],
						"rotation": [
							0,
							8.742278e-8,
							0,
							1
						],
						"name": "dmxx152",
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"children": [
							113,
							114
						],
						"mesh": 57,
						"translation": [
							-262.176,
							24.9275455,
							314.977051
						],
						"rotation": [
							0,
							-0.7071068,
							0,
							0.7071067
						],
						"name": "dmxx153",
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 58,
						"translation": [
							27.1406269,
							-17.60384,
							-0.0261875018
						],
						"rotation": [
							0,
							0,
							0.8660247,
							0.500001252
						],
						"name": "dmxx154",
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 59,
						"translation": [
							-12.2425632,
							-15.750452,
							-0.0001875
						],
						"rotation": [
							0,
							0,
							0.8660247,
							0.500001252
						],
						"name": "dmxx155",
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"children": [
							116,
							117
						],
						"mesh": 57,
						"translation": [
							-617.656738,
							25.039875,
							-446.740631
						],
						"rotation": [
							0,
							-1.78813934e-7,
							0,
							1
						],
						"name": "dmxx316",
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 64,
						"translation": [
							26.968,
							-17.60384,
							-0.01053125
						],
						"rotation": [
							1.25059278e-13,
							1.78813934e-7,
							6.993822e-7,
							1
						],
						"name": "dmxx389",
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 65,
						"translation": [
							-12.4151878,
							-15.750452,
							0.0154687511
						],
						"rotation": [
							1.25059278e-13,
							1.78813934e-7,
							6.993822e-7,
							1
						],
						"name": "dmxx390",
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 60,
						"translation": [
							337.334229,
							103.957069,
							-9.232151
						],
						"scale": [
							0.742666364,
							0.631332636,
							0.742666364
						],
						"name": "dmxx156",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 61,
						"translation": [
							741.881531,
							32.5010338,
							-384.892059
						],
						"name": "dmxx185",
						"rotation": [
							0,
							0,
							0,
							1
						],
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 62,
						"translation": [
							-581.1957,
							14.7027626,
							-503.6794
						],
						"name": "dmxx278",
						"rotation": [
							0,
							0,
							0,
							1
						],
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 63,
						"translation": [
							-546.6353,
							27.7788963,
							-482.8991
						],
						"rotation": [
							0,
							-0.7071068,
							0,
							0.7071067
						],
						"scale": [
							1.00000012,
							1.00000012,
							1.00000012
						],
						"name": "dmxx279"
					},
					{
						"mesh": 66,
						"translation": [
							-503.148071,
							53.3803864,
							-585.816467
						],
						"name": "dmxx317",
						"rotation": [
							0,
							0,
							0,
							1
						],
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"children": [
							124,
							132
						],
						"translation": [
							-334.901855,
							26.5603485,
							10.5192423
						],
						"rotation": [
							0,
							-1,
							0,
							-1.94707184e-7
						],
						"scale": [
							18.1919937,
							18.1919937,
							18.1919937
						],
						"name": "dmxx318"
					},
					{
						"children": [
							125
						],
						"translation": [
							-0.0171035156,
							-1.02223742,
							-0.07051178
						],
						"rotation": [
							0,
							0.3132618,
							0,
							0.9496668
						],
						"scale": [
							33.9823341,
							33.9823341,
							33.9823341
						],
						"name": "dmxx319"
					},
					{
						"children": [
							126
						],
						"translation": [
							-0.0164908767,
							-0.0000109090806,
							0.00318090827
						],
						"rotation": [
							-0.5000001,
							0.5,
							-0.499999881,
							-0.5
						],
						"scale": [
							1.00000012,
							1,
							0.9999999
						],
						"name": "dmxx320"
					},
					{
						"children": [
							127
						],
						"translation": [
							0,
							0,
							-0.0155947218
						],
						"rotation": [
							-0.630633831,
							1.32566393e-8,
							3.63701531e-8,
							0.7760806
						],
						"scale": [
							0.99999994,
							1,
							1.00000012
						],
						"name": "dmxx321"
					},
					{
						"children": [
							128
						],
						"translation": [
							-0.00710638473,
							-3.81469745e-9,
							-0.00970999151
						],
						"rotation": [
							-1.02388341e-7,
							-0.6306851,
							0.7760389,
							1.80895938e-7
						],
						"scale": [
							0.99999994,
							0.9999999,
							0.9999999
						],
						"name": "dmxx322"
					},
					{
						"children": [
							129
						],
						"translation": [
							-3.051758e-8,
							0,
							-0.0285357609
						],
						"rotation": [
							2.21543868e-8,
							-0.151268512,
							0.9884927,
							-1.9608531e-7
						],
						"scale": [
							1.00000012,
							1.00000012,
							1.00000012
						],
						"name": "dmxx323"
					},
					{
						"children": [
							130
						],
						"translation": [
							0.005835236,
							0,
							-0.006521393
						],
						"rotation": [
							-0.595496356,
							3.296687e-8,
							9.654272e-9,
							0.803358
						],
						"scale": [
							1,
							0.99999994,
							0.99999994
						],
						"name": "dmxx324"
					},
					{
						"children": [
							131
						],
						"translation": [
							0,
							3.051758e-8,
							-0.0252421275
						],
						"rotation": [
							0.0264743622,
							-2.25363728e-8,
							3.8032983e-8,
							0.9996495
						],
						"scale": [
							0.99999994,
							0.9999999,
							1
						],
						"name": "dmxx325"
					},
					{
						"children": [],
						"translation": [
							0,
							0,
							-0.006470673
						],
						"rotation": [
							-0.0222050343,
							1.05348985e-9,
							-4.08145482e-8,
							0.9997535
						],
						"scale": [
							1.00000012,
							1,
							0.999999762
						],
						"name": "dmxx326"
					},
					{
						"skin": 0,
						"mesh": 67,
						"translation": [
							-0.0171035156,
							-1.02223742,
							-0.07051178
						],
						"rotation": [
							0,
							0.3132618,
							0,
							0.9496668
						],
						"scale": [
							33.9823341,
							33.9823341,
							33.9823341
						],
						"name": "dmxx328"
					},
					{
						"mesh": 68,
						"translation": [
							-2.87668753,
							2.284103,
							12.0431881
						],
						"name": "dmxx329",
						"rotation": [
							0,
							0,
							0,
							1
						],
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 69,
						"translation": [
							-352.263153,
							103.957069,
							-241.219147
						],
						"scale": [
							0.742666364,
							0.631332636,
							0.742666364
						],
						"name": "dmxx386",
						"rotation": [
							0,
							0,
							0,
							1
						]
					},
					{
						"mesh": 70,
						"translation": [
							42.0269547,
							144.5176,
							23.8153057
						],
						"name": "dmxx387",
						"rotation": [
							0,
							0,
							0,
							1
						],
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 71,
						"translation": [
							-244.126038,
							7.963813,
							11.8019915
						],
						"rotation": [
							0,
							-0.949666858,
							0,
							0.313261658
						],
						"scale": [
							618.2065,
							618.2064,
							618.2065
						],
						"name": "dmxx362"
					},
					{
						"mesh": 71,
						"translation": [
							-158.024063,
							7.963813,
							11.8019915
						],
						"rotation": [
							0,
							-0.949666858,
							0,
							0.313261658
						],
						"scale": [
							618.2065,
							618.2064,
							618.2065
						],
						"name": "dmxx388"
					},
					{
						"mesh": 72,
						"translation": [
							-326.640259,
							6.26502466,
							6.236844
						],
						"rotation": [
							0,
							0.7071066,
							0,
							0.707106948
						],
						"scale": [
							39.9999962,
							39.9999962,
							39.9999962
						],
						"name": "adad1v001"
					},
					{
						"mesh": 73,
						"translation": [
							-236.36116,
							6.26502466,
							6.236844
						],
						"rotation": [
							0,
							0.7071066,
							0,
							0.707106948
						],
						"scale": [
							39.9999962,
							39.9999962,
							39.9999962
						],
						"name": "adad1v002"
					},
					{
						"mesh": 73,
						"translation": [
							-150.3011,
							6.26502466,
							6.236844
						],
						"rotation": [
							0,
							0.7071066,
							0,
							0.707106948
						],
						"scale": [
							39.9999962,
							39.9999962,
							39.9999962
						],
						"name": "adad1v003"
					},
					{
						"mesh": 74,
						"translation": [
							346.052948,
							50.7831421,
							13.3077393
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx391"
					},
					{
						"mesh": 75,
						"translation": [
							424.924927,
							50.7831421,
							13.3077393
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx393"
					},
					{
						"mesh": 76,
						"translation": [
							346.052948,
							50.7831421,
							-40.48396
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx395"
					},
					{
						"mesh": 77,
						"translation": [
							424.924927,
							50.7831421,
							-40.48396
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx397"
					},
					{
						"mesh": 78,
						"translation": [
							346.052948,
							50.7831421,
							-94.2396
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx399"
					},
					{
						"mesh": 79,
						"translation": [
							424.924927,
							50.7831421,
							-94.2396
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx401"
					},
					{
						"mesh": 80,
						"translation": [
							346.052948,
							50.7831421,
							-149.506744
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx403"
					},
					{
						"mesh": 81,
						"translation": [
							424.924927,
							50.7831421,
							-149.506744
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx405"
					},
					{
						"mesh": 82,
						"translation": [
							423.3623,
							50.7831421,
							-241.902939
						],
						"rotation": [
							0.5,
							-0.5,
							0.50000006,
							0.49999994
						],
						"scale": [
							1000,
							1000,
							1000
						],
						"name": "dmxx407"
					},
					{
						"mesh": 83,
						"translation": [
							111.381035,
							82.89289,
							-153.671509
						],
						"rotation": [
							0,
							8.742278e-8,
							0,
							1
						],
						"name": "对象005",
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 84,
						"translation": [
							111.761848,
							93.180336,
							-154.2941
						],
						"rotation": [
							0,
							8.742278e-8,
							0,
							1
						],
						"name": "对象006",
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 85,
						"translation": [
							282.5177,
							101.010712,
							-24.48324
						],
						"rotation": [
							0,
							8.742278e-8,
							0,
							1
						],
						"name": "对象009",
						"scale": [
							1,
							1,
							1
						]
					},
					{
						"mesh": 86,
						"translation": [
							-58.72216,
							101.010712,
							-25.1828022
						],
						"rotation": [
							0,
							8.742278e-8,
							0,
							1
						],
						"name": "对象010",
						"scale": [
							1,
							1,
							1
						]
					}
				],
				columns:[
				{
					field: 'uid',
					title: '编号',
					align: 'center',
					align: "center",
					halign: "center",
					valign: "middle",
					//formatter: uidHandle,//自定义方法设置uid跳转链接
					formatter: function (value, row, index) {
						return index+1;
					},
					width: 30
				},
				{
					field: 'name',
					title: 'name',
					width: 100
				},
				{
					field: 'translation',
					title: 'translation',
					width: 100
				},
				{
					field: 'scale',
					title: 'scale',
					width: 100
				},
				{
					field: 'rotation',
					title: 'rotation',
					width: 100
				}],
				uniqueId: "uid",                    //每一行的唯一标识,一般为主键列
				//无限循环取子表,直到子表里面没有记录
				onExpandRow: function(index,row,$detail){
					initSubTable(index,row,$detail)
				}
			})
		}
	}
	 
	/***************************************
	* 生成从minNum到maxNum的随机数。
	* 如果指定decimalNum个数,则生成指定小数位数的随机数
	* 如果不指定任何参数,则生成0-1之间的随机数。
	*
	* @minNum:[数据类型是Integer]生成的随机数的最小值(minNum和maxNum可以调换位置)
	* @maxNum:[数据类型是Integer]生成的随机数的最大值
	* @decimalNum:[数据类型是Integer]如果生成的是带有小数的随机数,则指定随机数的小数点后的位数
	*
	****************************************/
	function randomNum(maxNum, minNum, decimalNum) {
		var max = 0, min = 0;
		minNum <= maxNum ? (min = minNum, max = maxNum) : (min = maxNum, max = minNum);
		switch (arguments.length) {
			case 1:
				return Math.floor(Math.random() * (max + 1));
				break;
			case 2:
				return Math.floor(Math.random() * (max - min + 1) + min);
				break;
			case 3:
				return (Math.random() * (max - min) + min).toFixed(decimalNum);
				break;
			default:
				return Math.random();
				break;
		}
	}
	
	function refresh(){
        $('#' + tableName).bootstrapTable('refresh');
    }

    function DoOnMsoNumberFormat(cell, row, col) {
        var result = "";
        if (row > 0 && col == 0)
            result = "\\@";
        return result;
    }
	

    var columns=[]
    function buildTableColumns() {
	    columns = []
	
	    var itemCode=[], //所选择因子的code
            itemName=[];  // 所选择因子的text
        $.each($(".itemArea li input[type='checkbox']"),function () {
            if($(this).is(":checked")){
                itemCode.push($(this).data("code"));
                itemName.push($(this).parents("label").text());
            }
        });

	    var initColumns = []; //公共固定列
	    var itemColumns = []; //动态因子列
			  
	    initColumns=[
		{
			rowspan: 2, //合并两行
			align: 'center',
			align: "center",
			halign: "center",
			valign: "middle",
			checkbox: true
		},
		{
			  field: 'uid',
			  title: '编号',
			  align: 'center',
			  align: "center",
			  halign: "center",
			  valign: "middle",
			  //formatter: uidHandle,//自定义方法设置uid跳转链接
			  formatter: function (value, row, index) {
				return index+1;
			  },
			  rowspan: 2, //合并两行
			  width: 30
		}, {
			  field: 'time',
			  title: '时间',
			  align: 'center',
			  align: "center",
			  halign: "center",
			  valign: "middle",
			  width: 200,
			  rowspan: 2, //合并两行
			  formatter: function (value, row, index) {//赋予的参数
				  return ['<div style="width: 200px;display: flex;justify-content: space-around;">'+value+'</div>'].join('');
				},
			  sortable:false   //本列不可以排序
		}];

		if(itemCode.length>0){
			//根据选择因子绘制动态表头
			for (var i = 0; i < itemCode.length; i++) {
				switch(itemCode[i]){
					case 'B01':
						initColumns.push (
							{
								field: "",
								title: itemName[i] ,
								//width: 80,
								align: "right",
								halign: "center",
								colspan: 5
							}
						);
						itemColumns.push({
								  field: 'value0',
								  title: '流量(m³/h)',
								  align: 'center'
							  }, {
								  field: 'value1',
								  title: '累计量(m³)',
								  align: 'center',
								  //sortable: true,
								  //clickToSelect: false,
								  sortName: "age",
								  order:"asc"
							  }, {
								  field: 'value2',
								  title: '浊度(Ntu)',
								  align: 'left',
								  halign:'center' //设置表头列居中对齐
							  }, {
								  field: 'value3',
								  title: 'pH',
								  align: 'center'
							  }, {
								  field: 'value4',
								  title: '温度(℃)',
								  align: 'center'
							  });
					  break;
					case 'B02':
						initColumns.push ({
								field: "",
								title: itemName[i] ,
								//width: 80,
								align: "right",
								halign: "center",
								colspan: 10
							});
						itemColumns.push({
							  field: 'value5',
							  title: '库流量(m³/h)',
							  align: 'center'
						  }, {
							  field: 'value6',
							  title: '库累积量(m³)',
							  align: 'center'
						  }, {
							  field: 'value7',
							  title: '纸流量(m³/h)',
							  align: 'center'
						  }, {
							  field: 'value8',
							  title: '纸累积量(m³)',
							  align: 'center'
						  }, {
							  field: 'value9',
							  title: '横流量(m³/h)',
							  align: 'center'
						  }, {
							  field: 'value10',
							  title: '横累积量(m³)',
							  align: 'center'
						  }, {
							  field: 'value11',
							  title: '浊度(Ntu)',
							  align: 'center'
						  }, {
							  field: 'value12',
							  title: '余氯(mg/L)',
							  align: 'center'
						  }, {
							  field: 'value13',
							  title: 'pH',
							  align: 'center'
						  }, {
							  field: 'value14',
							  title: '温度(℃)',
							  align: 'center'
						  });
					  break;
					case 'B03':
						initColumns.push ({
								field: "",
								title: itemName[i] ,
								//width: 80,
								align: "right",
								halign: "center",
								colspan: 2
							});
						itemColumns.push({
							  field: 'value15',
							  title: '1#吸水井(m)',
							  align: 'center'
						  }, {
							  field: 'value16',
							  title: '2#吸水井(m)',
							  align: 'center'
						  });
					  break;
					case 'B04':
						initColumns.push ({
								field: "",
								title: itemName[i] ,
								//width: 80,
								align: "right",
								halign: "center",
								colspan: 3
							});
						itemColumns.push({
							  field: 'value17',
							  title: '大河(Bar)',
							  align: 'center'
						  }, {
							  field: 'value18',
							  title: '哈河(Bar)',
							  align: 'center'
						  }, {
							  field: 'value19',
							  title: '杭河(Bar)',
							  align: 'center'
						  });
					  break;
					default:
					  break;
				}
			}
			
			initColumns.push ({
				  field: 'operate',
				  title: '操作',
				  align: 'center',
				  align: "center",
				  halign: "center",
				  valign: "middle",
				  rowspan: 2, //合并两行
				  width: 200,
				  formatter: operateFormatter //自定义方法,添加操作按钮
				});
		}
		
		columns.push(initColumns, itemColumns); //合并表格内容
    }
	
	$(function(){
		  var hash = window.location.hash;
		  hash && $('ul.nav a[href="'+hash+'"]').tab('show');
		  $("#navList a").click(function(e){
		    e.preventDefault()
			$(this).tab('show');
		  });
		  var nua = navigator.userAgent
		  var isAndroid = (nua.indexOf('Mozilla/5.0') > -1 && nua.indexOf('Android ') > -1 && nua.indexOf('AppleWebKit') > -1 && nua.indexOf('Chrome') === -1)
		  if (isAndroid) {
			$('select.form-control').removeClass('form-control').css('width', '100%')
		  }
		  init()
	});
	
	// Example starter JavaScript for disabling form submissions if there are invalid fields
	$(() => {
	  'use strict'
	  // Fetch all the forms we want to apply custom Bootstrap validation styles to
	  const forms = document.querySelectorAll('.needs-validation')

	  // Loop over them and prevent submission
	  Array.from(forms).forEach(form => {
		form.addEventListener('submit', event => {
		  if (!form.checkValidity()) {
			event.preventDefault()
			event.stopPropagation()
		  }

		  form.classList.add('was-validated')
		}, false)
	  })
	});
	
	function dateFormat(viewMode){
		let format= ''
		switch(viewMode){
			case 'days':
			    format = 'yyyy-mm-dd'
				break;
			case 'months':
			    format = 'yyyy-mm'
				break;
			case 'years':
			    format = 'yyyy'
				break;
			default:
				break;
		}
		return format
	}

	function dateFormatCap(viewMode){
		let format= ''
		switch(viewMode){
			case 'days':
			    format = 'YYYY-MM-DD'
				break;
			case 'months':
			    format = 'YYYY-MM'
				break;
			case 'years':
			    format = 'YYYY'
				break;
			default:
				break;
		}
		return format
	}

	function addDate(viewMode='days',num){
		let temp = today
		today =  moment(temp).add(parseInt(num), viewMode).format(dateFormatCap(viewMode))
		$("#startDate").datepicker("destroy");
		initDate(viewMode)
		getData(viewModeTable(viewMode))
	}

	function subtractDate(viewMode='days',num){
		let temp = today
		today =  moment(temp).subtract(parseInt(num), viewMode).format(dateFormatCap(viewMode))
		$("#startDate").datepicker("destroy");
		initDate(viewMode)
		getData(viewModeTable(viewMode))
	}

	function selectDateBtn(viewMode='days'){
		let str = ''
		if(viewMode=='days'){
			str = '日'
		}else if(viewMode=='months'){
			str = '月'
		}else if(viewMode=='years'){
			str = '年'
		}
		let htmlDiv =  '<button class="btn btn-default"  onclick='+'subtractDate("'+viewMode+'",1)'+' style="height:40px;">上一'+str+'</button>'+
			'<button class="btn btn-default"  onclick='+'addDate("'+viewMode+'",1)'+' style="height:40px;">下一'+str+'</button>'
		$('#date-operate').html(htmlDiv)
		$("#startDate").datepicker("destroy");
		initDate(viewMode)
	}

	let today = new Date();

	function initDate(viewMode='days'){
		//'days' 'months' 'years'
		//初始化日期
		var ops = {
			todayHighlight:true, //设置当天日期高亮 
			language: 'zh-CN', //语言
			autoclose: false, //选择后自动关闭
			clearBtn: true,//清除按钮
			format: dateFormat(viewMode),//日期格式
			todayBtn: true,//设置今天按钮显示
			minViewMode: viewMode,
			maxViewMode: viewMode
		};

		$("#startDate").datepicker(ops);
		$("#startDate").datepicker("update", today);
	}
	
	function init(){
		initDate();
	    // 获取动态因子数据
	    getItemData(); 
		//  监听因子点击事件
		$(".itemArea li label").click( ()=> {
			getItemData();
		});
	}
	
	function getItemData() {
		getData('day');
    }
	
	function add(){
		  var mockDatas=[];
		  let liuliang = randomNum(0,1000)
		  let leijiliuliang = randomNum(100000,1000000)
		  for(let i = 0;i< 1;i++){
			let temp = {
				uid: i,
				time: new Date().toLocaleDateString('en-GB'),
				value0: ((liuliang+i)*Math.random()).toFixed(1),
				value1: leijiliuliang+i,
				value2: randomNum(0,10,2),
				value3: randomNum(6.5,8.5,2),
				value4: randomNum(20,30,2),
				value5: ((liuliang+i)*Math.random()).toFixed(1),
				value6: leijiliuliang+i,
				value7: ((liuliang+i)*Math.random()).toFixed(1),
				value8: leijiliuliang+i,
				value9: ((liuliang+i)*Math.random()).toFixed(1),
				value10: leijiliuliang+i,
				value11: randomNum(0,1,2),
				value12: randomNum(1,1,2),
				value13: randomNum(6.5,8.5,2),
				value14: randomNum(20,30,2),
				value15: randomNum(3,5,2),
				value16: randomNum(3,5,2),
				value17: randomNum(0,1,2),
				value18: randomNum(0,1,2),
				value19: randomNum(0,1,2),
				value20: randomNum(1,100),
				value21: randomNum(1,100),
			  }
			  mockDatas.push(temp)
		  }
	    // 添加记录
		//$('#btn_add').click(function() {
			// 使用bootstrap-table的编辑器API
			$('#' + tableName).bootstrapTable('insertRow', mockDatas[0] );
		//});
	}
	function edit(){
		// 编辑记录
		//$('#btn_edit').click(function() {
			var rows = $('#' + tableName).bootstrapTable('getSelections');
			if (rows.length != 1) {
				alert('Please select one row to edit!');
				return;
			}
			// 启用编辑模式
			$('#' + tableName).bootstrapTable('editRow', rows[0]);
		//});
	}
	function remove(){
		// 删除记录
		//$('#btn_delete').click(function() {
			var rows = $('#' + tableName).bootstrapTable('getSelections');
			if (rows.length == 0) {
				alert('No rows selected');
				return;
			}
			
			  var tid;// 声明一个tid
			  // $("#table").bootstrapTable('getSelections');为bootstrapTable自带的,所以说一定要使用bootstrapTable显示表格,#table:为table的id
			  var rows = $('#' + tableName).bootstrapTable('getSelections');
			  if (rows.length == 0) {// rows 主要是为了判断是否选中,下面的else内容才是主要
				alert("请先选择要删除的记录!");
				return;
			  }
			  if ((rows.length >= 2)) {
				alert("请先选择一条记录!");
				return;
			  } else {
				$(rows).each(function () {// 通过获得别选中的来进行遍历
				  tid = this.tid;// cid为获得到的整条数据中的一列
				});
			  }
		//})
	}
	function removeBatch(){
	  var tids;
	  // $("#table").bootstrapTable('getSelections');为bootstrapTable自带的,所以说一定要使用bootstrapTable显示表格,#table:为table的id
	  var rows = $('#' + tableName).bootstrapTable('getSelections');
	  if (rows.length == 0) {// rows 主要是为了判断是否选中,下面的else内容才是主要
		alert("请至少选择一条要删除的记录!");
		return;
	  } else {
		var arrays = new Array();// 声明一个数组
		$(rows).each(function () {// 通过获得别选中的来进行遍历
		  arrays.push(this.tid);// cid为获得到的整条数据中的一列
		});
		tids = arrays.join(','); // 获得要删除的id
	  }
	  /*$.ajax({
		type: "post",//方法类型
		dataType: "json",//预期服务器返回的数据类型
		url: ctx + 'system/madareanumberview/removeBatch?tids=' + tids,//url
		success: function (result) {
		  if (result.success) {
			alert("删除成功");
		  } else {
			alert(result.message);
		  }
		}
	  })*/
	}
	
	function submitFun(e){
	   console.log('提交表单')
	   $('#myModal').modal('hide')
	   startWorker()
	}

	
	function fullscreen() {
		var element = document.getElementById('reportTab');
		if (element.requestFullscreen) {
			element.requestFullscreen();
		} else if (element.mozRequestFullScreen) { /* Firefox */
			element.mozRequestFullScreen();
		} else if (element.webkitRequestFullscreen) { /* Chrome, Safari & Opera */
			element.webkitRequestFullscreen();
		} else if (element.msRequestFullscreen) { /* IE/Edge */
			element.msRequestFullscreen();
		}
	}
	
	document.addEventListener('fullscreenchange', function() {
		if (!document.fullscreenElement) {
			// 退出全屏时的代码
		}
	}, false);
	
	document.addEventListener('mozfullscreenchange', function() {
		if (!document.mozFullScreenElement) {
			// 退出全屏时的代码
		}
	}, false);
	
	document.addEventListener('webkitfullscreenchange', function() {
		if (!document.webkitFullscreenElement) {
			// 退出全屏时的代码
		}
	}, false);
	
	document.addEventListener('msfullscreenchange', function() {
		if (!document.msFullscreenElement) {
			// 退出全屏时的代码
		}
	}, false);

	</script>

使用Web Worker执行复杂或耗时的模拟数据异步生成任务

<script type="lslsls" id="worker">

// worker.js代码写入html中
// 在worker.js里面 定义一个函数来执行计算
function compute(num) {
  let sum = 0;
  for (let i = 0; i < num; i++) {
    sum += i;
  }
  return sum;
}

function randomNum(maxNum, minNum, decimalNum) {
	let max = 0, min = 0;
	minNum <= maxNum ? (min = minNum, max = maxNum) : (min = maxNum, max = minNum);
	switch (arguments.length) {
		case 1:
			return Math.floor(Math.random() * (max + 1));
			break;
		case 2:
			return Math.floor(Math.random() * (max - min + 1) + min);
			break;
		case 3:
			return (Math.random() * (max - min) + min).toFixed(decimalNum);
			break;
		default:
			return Math.random();
			break;
	}
}

function addMockData(n){
	let mockDatas=[];
	const liuliang = randomNum(0,1000)
	const leijiliuliang = randomNum(100000,1000000)
	for(let i = 0;i< n;i++){
	let temp = {
		uid: i,
		time: new Date().toLocaleDateString('en-GB'),
		value0: ((liuliang+i)*Math.random()).toFixed(1),
		value1: leijiliuliang+i,
		value2: randomNum(0,10,2),
		value3: randomNum(6.5,8.5,2),
		value4: randomNum(20,30,2),
		value5: ((liuliang+i)*Math.random()).toFixed(1),
		value6: leijiliuliang+i,
		value7: ((liuliang+i)*Math.random()).toFixed(1),
		value8: leijiliuliang+i,
		value9: ((liuliang+i)*Math.random()).toFixed(1),
		value10: leijiliuliang+i,
		value11: randomNum(0,1,2),
		value12: randomNum(1,1,2),
		value13: randomNum(6.5,8.5,2),
		value14: randomNum(20,30,2),
		value15: randomNum(3,5,2),
		value16: randomNum(3,5,2),
		value17: randomNum(0,1,2),
		value18: randomNum(0,1,2),
		value19: randomNum(0,1,2),
		value20: randomNum(1,100),
		value21: randomNum(1,100),
	  }
	  mockDatas.push(temp)
	}
	return mockDatas
}

// 定义一个函数来处理来自主线程的消息
//add event listener to handle the different message
onmessage = async function(e) {
	console.log("Worker: Message received from main script");
	
	const num = e.data.num;
	const res1 = compute(num);
	postMessage(res1);
	const res2 = addMockData(num);
	postMessage(res2);
	
	const urls = e.data.urls;
	const results = await Promise.all(urls.map(request));
	postMessage(results);
	
	if (e.data.action === 'start') {
		// 使用setTimeout来异步执行一些计算
		setTimeout(() => {
		  // 将结果发送回主线程
		  postMessage({ action: 'result', data: res1 });
		}, 0);
	}

};

// 在worker.js里面:
// 定义一个函数来处理网络请求。
function request(url) {
  return fetch(url).then(response => response.json());
}

// 创建消息队列来累积消息
const messageQueue = [];

// 创建一个将消息添加到队列的函数
function addToQueue(message) {
  messageQueue.push(message);
  
  // 检查队列是否已达到阈值大小。
  if (messageQueue.length >= 10) {
    // 如果是,将批处理消息发送到主线程。
    postMessage(messageQueue);
    
    // 清除消息队列。
    messageQueue.length = 0;
  }
}

// 向队列中添加消息
addToQueue({type: 'log', message: 'Hello, world!'});

for(let i = 0; i< 9;i++){
   // 向队列中添加另一条消息
   addToQueue({type: 'info', message: 'An info '+i+Math.random()+' occurred.'});
}

function doSomeComputation(data){
   return data
}

function processItem(data){
   return data
}

          
</script>

升级为布草仓库进销存管理

<!DOCTYPE html>
<html lang="zh-CN" xmlns:th="http://www.w3.org/1999/xhtml">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <title>布草仓库管理</title>
  <style>
    body {
      padding: 0;
      margin: 0;
      font: normal 14px/1.42857 Tahoma;
    }
	
	.selector-for-some-widget {·
	  box-sizing: content-box;
	}
	
	@media print {
	  .container {
		width: auto;
	  }
	}
	
	.itemArea{
	  list-style: none;
	  display: flex;
	}

	.bootstrap-table .fixed-table-container.fixed-height .table thead th {
		background: #f5f7fa;
	}
	
  </style>
  
  <!-- HTML5 Shiv 和 Respond.js 用于让 IE8 支持 HTML5元素和媒体查询 -->
  <!-- 注意: 如果通过 file://  引入 Respond.js 文件,则该文件无法起效果 -->
  <!--[if lt IE 9]>
	 <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
	 <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
  <![endif]-->

  
  <!-- cdn引入样式和js库 -->
  <link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.1/css/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
  <link href="https://cdn.bootcdn.net/ajax/libs/bootstrap-table/1.22.1/bootstrap-table.css" rel="stylesheet" crossorigin="anonymous">
  <link href="https://cdn.bootcdn.net/ajax/libs/bootstrap-icons/1.11.0/font/bootstrap-icons.min.css" rel="stylesheet" crossorigin="anonymous">
  <link href="https://cdn.bootcdn.net/ajax/libs/font-awesome/6.4.2/css/all.min.css" rel="stylesheet" crossorigin="anonymous">
  <link href="https://cdn.bootcdn.net/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" crossorigin="anonymous">

  <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js" crossorigin="anonymous"></script>
  <script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.1/js/bootstrap.min.js" crossorigin="anonymous"></script>
  <script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.1/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
  <script src="https://cdn.bootcdn.net/ajax/libs/bootstrap-table/1.22.1/bootstrap-table.min.js" crossorigin="anonymous"></script>
  <script src="https://cdn.bootcdn.net/ajax/libs/bootstrap-table/1.22.1/locale/bootstrap-table-zh-CN.min.js" crossorigin="anonymous"></script>
  
  <script src="https://cdn.bootcdn.net/ajax/libs/bootstrap-datepicker/1.10.0/js/bootstrap-datepicker.min.js" crossorigin="anonymous"></script>
  <script src="https://cdn.bootcdn.net/ajax/libs/bootstrap-datepicker/1.10.0/locales/bootstrap-datepicker.zh-CN.min.js" crossorigin="anonymous"></script>
  <link href="https://cdn.bootcdn.net/ajax/libs/bootstrap-datepicker/1.10.0/css/bootstrap-datepicker.min.css" rel="stylesheet" crossorigin="anonymous">
  <link href="https://cdn.bootcdn.net/ajax/libs/bootstrap-datepicker/1.10.0/css/bootstrap-datepicker3.min.css" rel="stylesheet" crossorigin="anonymous">
  <script src="https://cdn.bootcdn.net/ajax/libs/bootstrap-table/1.22.1/extensions/export/bootstrap-table-export.min.js"  crossorigin="anonymous"></script>
  <script src="https://cdn.bootcdn.net/ajax/libs/moment.js/2.29.4/moment.min.js"  crossorigin="anonymous"></script>
  <script src="https://cdn.bootcdn.net/ajax/libs/moment.js/2.29.4/locale/zh-cn.min.js" crossorigin="anonymous"></script>

</head>
<body>
<div id="app" class="container" style="margin: 10px; height: calc(100vh - 20px);width: calc(100vw - 50px);">
  <!-- Content here -->
		<div class="wrapper wrapper-content" style="width: calc(100vw - 50px);">
		    <div class="row">
				<div class="col-sm-12" style="padding: 0 10px;">
				<h1>布草仓库管理</h1>
				<div><p id="time"></p></div>
				</div>
			</div>

		    <div class="row">
				<div class="col-sm-12" style="padding: 0 10px;display: none">
                    
					<div id="dateSearch">  

						<div class="row g-3 needs-validation" novalidate>
						  <div class="col-md-3" >
							<label for="ip-port" class="form-label"><i class="fa fa-server" aria-hidden="true" style="color:gray"></i>服务器: </label>
							<input type="text" class="form-control" id="ip-port" name="ip-port" style="width:250px;" placeholder="服务IP:端口" value="http://192.168.1.100:5678" required>
							<div class="valid-feedback"></div>
						  </div>
						 
						  <div class="col-md-4">
							<label for="startDate" class="form-label"><i class="fa fa-calendar-days" style="color:gray"></i>日期: </label>
							<input type="text" class="form-control" id="startDate" name="startDate" style="width:250px;" placeholder="日期" value="" data-format="yyyy-MM-dd" required>
							<div id="date-operate"></div>
							<div class="valid-feedback"></div>
						  </div>
						  <div class="col-md-3">
						    <ul class="itemArea" >
								<li role="menuitem" class="checkItem">
								    <div class="form-check">
										<label class="form-check-label" for="b01">
										<input class="form-check-input" type="checkbox" checked="" data-code="B01" value="" id="b01">
										进水参数
										</label>
									</div>
								</li>
								<li role="menuitem" class="checkItem">
								    <div class="form-check">
										<label class="form-check-label" for="b02">
										<input class="form-check-input" type="checkbox" checked="" data-code="B02" value="" id="b02">
										供水参数
										</label>
									</div>
								</li>
								<li role="menuitem" class="checkItem">
								    <div class="form-check">
										<label class="form-check-label" for="b03">
										<input class="form-check-input" type="checkbox" checked="" data-code="B03" value="" id="b03">
										液位
										</label>
									</div>
								</li>
								<li role="menuitem" class="checkItem">
								    <div class="form-check">
										<label class="form-check-label" for="b04">
										<input class="form-check-input" type="checkbox" checked="" data-code="B04" value="" id="b04">
										供水压力
										</label>
									</div>
								</li>
							</ul>
						  </div>

						  <div class="col-md-2" style="display: flex; justify-content: right;">
							<button class="btn btn-primary search"  onclick="searchReport()" style="height:40px;margin:0 10px 0 0;"> <i class="fa fa-search"></i>搜索</button>
							<button class="btn btn-success"  onclick="exportData()" style="height:40px;"> <i class="fa fa-cloud-download" aria-hidden="true"></i>导出</button>
						  </div>
						  
						</div>
					
					</div>
				</div>
			</div>
			<div class="row" id="infoArea">
				<div class="col-sm-12">
				
					<ul class="nav nav-tabs" id="navList" role="tablist" style="margin: 20px 0 0 0;">
						<li class="nav-item" data-name = "Tab1" onclick="getData('day')">
							 <a class="nav-link active" data-toggle="tab" href="#reportTab" role="tab" aria-current="page" aria-controls="tab" aria-selected="true"><i class="fa fa-table"></i>库存表</a> 
						</li>
						<!--<li class="nav-item" data-name = "Tab2" onclick="getData('month')">
							 <a class="nav-link" data-toggle="tab" href="#reportTab" role="tab" aria-current="page" aria-controls="tab" aria-selected="true"><i class="fa fa-chart-simple"></i>月报表</a> 
						</li>
						<li class="nav-item" data-name = "Tab3" onclick="getData('year')">
							 <a class="nav-link" data-toggle="tab" href="#reportTab" role="tab" aria-current="page" aria-controls="tab" aria-selected="true"><i class="fa fa-chart-simple"></i>年报表</a>
						</li>-->
					</ul>
					
					<div class="tab-content" id="tabContent">
					
						<div id="toolbar" class="btn-group">
							<button id="btn_add" type="button" onclick="add()" class="btn btn-primary btn-sm rightSize">
								<span class="fa fa-plus" aria-hidden="true"></span>新购入库
							</button>
							<button id="btn_edit" type="button" onclick="edit()" class="btn btn-secondary btn-sm rightSize">
								<span class="fa fa-edit" aria-hidden="true"></span>修改
							</button>
							<button id="btn_delete" type="button" onclick="remove()" class="btn btn-warning btn-sm rightSize">
								<span class="fa fa-remove" aria-hidden="true"></span>删除
							</button>
							<button id="btn_delete_batch" class="btn btn-danger btn-sm btn-del " onclick="removeBatch()">
							    <i class="fa fa-remove"></i>批量删除
							</button>
							<!--
							<button class="btn btn-info btn-sm " data-bs-toggle="modal" data-bs-target="#myModal" >
								<i class="fa fa-window-restore"></i>弹窗
							</button>-->
							<!--<button class="btn btn-primary btn-sm" onclick="fullscreen()">
								<i class="fa fa-expand-arrows-alt"></i>全屏
							</button>-->
							<!--<button class="btn btn-success btn-sm" onclick="btnTask()">
								<i class="fa fa-user-times"></i>分时任务
							</button>-->
						</div>
							
						<div id="reportTab" class="tab-pane fade show active" id="nav-home" role="tabpanel" aria-labelledby="nav-home-tab">
						     <table id="report-table"></table>
						</div>
						
					</div>
					 
				</div>
			</div>
	   </div>

</div>


<!-- 模态框(Modal) -->
<div class="modal fade" id="myModal1" tabindex="-1" role="dialog" aria-labelledby="myModal1Label" aria-hidden="true">
	<div class="modal-dialog">
	   <div class="modal-content">
		  <div class="modal-header">
			 <h4 class="modal-title" id="myModal1Label">
				表格数据动态生成
			 </h4>
			 <button type="button" class="close" data-bs-dismiss="modal" aria-hidden="true">
				 <span class="fa fa-close" aria-hidden="true"></span>
			 </button>
		  </div>
		  <div class="modal-body">
			 
			 <div class="wrapper wrapper-content animated fadeInRight ibox-content">
			   <form class="form-horizontal m" id="form-madArea-add">
				 <!--<div class="form-group">
				   <label class="col-sm-3 control-label ">代码:</label>
				   <div class="col-sm-8">
					 <input class="form-control"  type="text" name="tcode" id="tcode"/>
				   </div>
				 </div>
				 <div class="form-group">
				   <label class="col-sm-3 control-label">名称:</label>
				   <div class="col-sm-8">
					 <input class="form-control"  type="text" name="tname" id="tname">
				   </div>
				 </div>
				 <div class="form-group">
				   <label class="col-sm-3 control-label">备注:</label>
				   <div class="col-sm-8">
					 <input class="form-control" type="text" name="remark" id="remark">
				   </div>
				 </div>-->
				 <div class="form-group">
					<label class="col-sm-3 control-label " for="number">需要的数据量:</label>
					<div class="col-sm-8">
					  <input class="form-control"  type="text" id="number" name="number" value="1000">
					</div>
				  </div>

				 <!--<div class="col-sm-12">
				   <div class="form-group">
					 <div class="pull-right">
					   <button id="button_preservation" type="button" class="btn btn-success">保存</button>
					   <button id="button_cancel" type="button" class="btn btn-warning">取消</button>
					 </div>
				   </div>
				 </div>-->
			   </form>
			 </div>

		  </div>
		  <div class="modal-footer">
			 <button type="button" class="btn btn-default" data-bs-dismiss="modal">关闭</button>
			 <button  type="button" class="btn btn-primary" onclick="submitFun()">提交</button>
		  </div>
	   </div>
		<!-- /.modal-content -->
	 </div><!-- /.modal -->
 </div>

 <!-- 模态框(Modal) -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
	<div class="modal-dialog" style="max-width: fit-content;">
	   <div class="modal-content" style="width: 80vw;">
		  <div class="modal-header">
			 <h4 class="modal-title" id="myModalLabel">
				修改
			 </h4>
			 <button type="button" class="close" data-bs-dismiss="modal" aria-hidden="true">
				 <span class="fa fa-close" aria-hidden="true"></span>
			 </button>
		  </div>
		  <div class="modal-body">
			 
			 <div class="wrapper wrapper-content animated fadeInRight ibox-content">
			   <form class="form-horizontal m" id="editerModal" style="display: flex;flex-wrap: wrap;">

				 <!--<div class="col-sm-12">
				   <div class="form-group">
					 <div class="pull-right">
					   <button id="button_preservation" type="button" class="btn btn-success">保存</button>
					   <button id="button_cancel" type="button" class="btn btn-warning">取消</button>
					 </div>
				   </div>
				 </div>-->

			   </form>
			 </div>

		  </div>
		  <div class="modal-footer">
			 <button type="button" class="btn btn-default" data-bs-dismiss="modal">关闭</button>
			 <button  type="button" class="btn btn-primary" onclick="saveEdit()">提交</button>
		  </div>
	   </div>
		<!-- /.modal-content -->
	 </div><!-- /.modal -->
 </div>

<script type="lslsls" id="worker">

// worker.js代码写入html中
// 在worker.js里面 定义一个函数来执行计算
function compute(num) {
  let sum = 0;
  for (let i = 0; i < num; i++) {
    sum += i;
  }
  return sum;
}

function randomNum(maxNum, minNum, decimalNum) {
	let max = 0, min = 0;
	minNum <= maxNum ? (min = minNum, max = maxNum) : (min = maxNum, max = minNum);
	switch (arguments.length) {
		case 1:
			return Math.floor(Math.random() * (max + 1));
			break;
		case 2:
			return Math.floor(Math.random() * (max - min + 1) + min);
			break;
		case 3:
			return (Math.random() * (max - min) + min).toFixed(decimalNum);
			break;
		default:
			return Math.random();
			break;
	}
}

function addMockData(n){
	let mockDatas=[];
	const liuliang = randomNum(0,1000)
	const leijiliuliang = randomNum(100000,1000000)
	for(let i = 0;i< n;i++){
	let temp = {
		uid: i,
		time: new Date().toLocaleDateString('en-GB'),
		value0: ((liuliang+i)*Math.random()).toFixed(1),
		value1: leijiliuliang+i,
		value2: randomNum(0,10,2),
		value3: randomNum(6.5,8.5,2),
		value4: randomNum(20,30,2),
		value5: ((liuliang+i)*Math.random()).toFixed(1),
		value6: leijiliuliang+i,
		value7: ((liuliang+i)*Math.random()).toFixed(1),
		value8: leijiliuliang+i,
		value9: ((liuliang+i)*Math.random()).toFixed(1),
		value10: leijiliuliang+i,
		value11: randomNum(0,1,2),
		value12: randomNum(1,1,2),
		value13: randomNum(6.5,8.5,2),
		value14: randomNum(20,30,2),
		value15: randomNum(3,5,2),
		value16: randomNum(3,5,2),
		value17: randomNum(0,1,2),
		value18: randomNum(0,1,2),
		value19: randomNum(0,1,2),
		value20: randomNum(1,100),
		value21: randomNum(1,100),
	  }
	  mockDatas.push(temp)
	}
	return mockDatas
}

// 定义一个函数来处理来自主线程的消息
//add event listener to handle the different message
onmessage = async function(e) {
	console.log("Worker: Message received from main script");
	
	const num = e.data.num;
	const res1 = compute(num);
	postMessage(res1);
	const res2 = addMockData(num);
	postMessage(res2);
	
	const urls = e.data.urls;
	const results = await Promise.all(urls.map(request));
	postMessage(results);
	
	if (e.data.action === 'start') {
		// 使用setTimeout来异步执行一些计算
		setTimeout(() => {
		  // 将结果发送回主线程
		  postMessage({ action: 'result', data: res1 });
		}, 0);
	}

};

// 在worker.js里面:
// 定义一个函数来处理网络请求。
function request(url) {
  return fetch(url).then(response => response.json());
}

// 创建消息队列来累积消息
const messageQueue = [];

// 创建一个将消息添加到队列的函数
function addToQueue(message) {
  messageQueue.push(message);
  
  // 检查队列是否已达到阈值大小。
  if (messageQueue.length >= 10) {
    // 如果是,将批处理消息发送到主线程。
    postMessage(messageQueue);
    
    // 清除消息队列。
    messageQueue.length = 0;
  }
}

// 向队列中添加消息
addToQueue({type: 'log', message: 'Hello, world!'});

for(let i = 0; i< 9;i++){
   // 向队列中添加另一条消息
   addToQueue({type: 'info', message: 'An info '+i+Math.random()+' occurred.'});
}

function doSomeComputation(data){
   return data
}

function processItem(data){
   return data
}

          
</script>


<script>

function formatDate(date) {
  const day = date.getDate().toString().padStart(2, '0');
  const month = (date.getMonth() + 1).toString().padStart(2, '0'); // 月份是从0开始的
  const year = date.getFullYear();
  const hours = date.getHours().toString().padStart(2, '0');
  const minutes = date.getMinutes().toString().padStart(2, '0');
  const seconds = date.getSeconds().toString().padStart(2, '0');
 
  return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
}

let pid1
pid1 = setInterval(()=>{
	// 使用示例
	const now = new Date()
	// 输出格式如: "2023-03-15 12:30:45"
	document.getElementById('time').innerHTML = formatDate(now)
},0)

let myWorker

document.querySelector('#number').onchange = function() {
	console.log('数据量:',document.querySelector('#number').value);
}

function startWorker() {

	let message = { 
		num: document.querySelector('#number').value,
		urls: ['http://192.168.88.220:3333/local.json', 'http://192.168.88.220:3333/local.json']
	}

	if (typeof Worker !== 'undefined') {
		if(typeof(myWorker) == "undefined") {
			// 支持Web worker 创建一个新的Web Worker
			const blob = new Blob([document.getElementById('worker').textContent]);
			const url = window.URL.createObjectURL(blob)
			myWorker = new Worker(url);
		}
		
		// 定义一个函数来处理来自工作线程的消息
		myWorker.onmessage = function(e) {
			console.log('Message received from worker');
			
			const res = e.data;
			if(res.length==message.num){
				tableData = res||[];
				initTable(res);
			}else{
				console.log(res);
			}
			
		}

		// 向worker发送消息以启动计算 启动请求
		myWorker.postMessage(message);

	} else {
	  // 不支持
	  console.log('Web Workers are not supported in this browser.');
	  console.error("抱歉,你的浏览器不支持 Web Workers...");
	}

}

function stopWorker() { 
    if(typeof(myWorker) != "undefined") {
	    myWorker.terminate();
        myWorker = undefined;
	}
	
	if(pid1){
	   clearInterval(pid1);
	}
}

try {
    //run(main)
}
catch(err) {
    console.log(err)
}
finally {
    console.log('finally done')
}

	var queryParams = function (params) {
      var param = {
          pageIndex: Math.ceil(params.offset / params.limit) + 1,
          pageSize: params.limit,
          order: params.order,
          ordername: params.sort,
		  time: $("#dateSearch .startDate").val(),
          //startDateTime: $("#dateSearch .startDate").val(),
          //endDateTime: $("#dateSearch .endDate").val(),
          search: $("#dateSearch .imuserid").val()
      };
	  //console.log(param)
      return param;
    }
	
	//查询条件
    function queryParams1(params){
        params['project_id'] = $("select[name=project_id]").find("option:selected").val();
        params['time_field'] = $("select[name=time_field]").find("option:selected").val();
        params['start_time'] = $("input[name=start_time]").val();
        params['end_time'] = $("input[name=end_time]").val();
        params['user_name'] = $("input[name=user_name]").val();
        params['telephone'] = $("input[name=telephone]").val();
        params['room_confirm_number'] = $("input[name=room_confirm_number]").val();
        params['lineson'] = $("select[name=lineson]").val();
        params['invoice'] = $("select[name=invoice]").val();
        return params;
    }
 
    var responseHandler = function (e) {
      if (e.data && e.data.length > 0) {
          return { "rows": e.data, "total": e.count };
      }
      else {
          return { "rows": [], "total": 0 };
      }
      
    }
  
    var uidHandle = function (value, row, index) {
      var html = "<a href='#'>"+ res + "</a>";
      return html;
    }

	var operateFormatterStatus = function (value, row, index) {//赋予的参数
		let htmlDoc = ''
		if(value == '出库'){
			htmlDoc = `<button class="btn btn-info btn-sm rightSize detailBtn" type="button" >${value}</button>`
		}else if(value == '在库'){
			htmlDoc = `<button class="btn btn-primary btn-sm rightSize detailBtn" type="button" >${value}</button>`
		}else if(value == '报废'){
			htmlDoc = `<button class="btn btn-danger btn-sm rightSize detailBtn" type="button" >${value}</button>`
		}
        return [htmlDoc].join('');
    }
  
    var operateFormatter = function (value, row, index) {//赋予的参数
      return [
	      `<div style="width: 250px;display: flex;justify-content: space-around;">
          <button class="btn btn-info btn-sm rightSize detailBtn" type="button" onclick="changeLinenStatus('${index}','出库')"><i class="fa fa-out"></i>污衣出库</button>
		  <button class="btn btn-primary btn-sm rightSize detailBtn" type="button" onclick="changeLinenStatus('${index}','在库')"><i class="fa fa-in"></i>净衣入库</button>
          <button class="btn btn-danger btn-sm rightSize packageBtn" type="button" onclick="changeLinenStatus('${index}','报废')"><i class="fa fa-delete"></i>报废</button>
		  </div>`
      ].join('');
    }

	var imageFormatter = function (value, row, index) {//赋予的参数
      return [
	      '<div style="display: flex;justify-content: start;">',
          '<img style="max-width: 300px;" src="'+value+'"/>',
		  '</div>'
      ].join('');
    }
	
	var rowStyle = function (row, index) {
		var classes = ['success', 'info'];
		if (index % 2 === 0) {//偶数行
			return { classes: classes[0]};
		} else {//奇数行
			return {classes: classes[1]};
		}
	}
	
	const tableName = "report-table";
	var tableType = 'day'
	
	function selectType(){
	    const date = $('#startDate').datepicker('getDate');
	    let time = ''
	    if(tableType=='day'){
		   time = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
		}else if(tableType=='month'){
		   time = date.getFullYear() + "-" + (date.getMonth() + 1);
		}else if(tableType=='year'){
		  time = date.getFullYear();
		}
		return time
	}
	
	function reportName(){
	    let name = ''
		let time = ''
		const date = $('#startDate').datepicker('getDate');
	    if(tableType=='day'){
		   name = '日报表'
		   time = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
		}else if(tableType=='month'){
		   name = '月报表'
		   time = date.getFullYear() + "-" + (date.getMonth() + 1);
		}else if(tableType=='year'){
		  name = '年报表'
		  time = date.getFullYear();
		}
		return name + '_' + time
	}
	
	function searchReport(){
	    buildTableColumns(); //根据因子选择状态创建表格属性
		initTable();
		//getServerData();
	}
	
	function getServerData(){
	    let timeformatted = selectType();
		const serverUrl = $('#ip-port').val();
		const url = serverUrl+'/api/SystemMonitor/GetReport?type='+tableType+'&time='+timeformatted;
		
		const authorization = 'Bearer '+'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjE0MjMwNzA3MDkxMDU1MSwiVGVuYW50SWQiOjE0MjMwNzA3MDkxODc4MCwiQWNjb3VudCI6InN5c3RlbSIsIk5hbWUiOiLotoXnuqfnrqHnkIblkZgiLCJTdXBlckFkbWluIjoxLCJLZWxpU3VwZXJBZG1pbiI6MSwiT3JnSWQiOjE0MjMwNzA3MDkxMDUzOSwiT3JnTmFtZSI6IumbhuWbouWFrOWPuDk5OSIsImlhdCI6MTcwNDQ0MDM4NSwibmJmIjoxNzA0NDQwMzg1LCJleHAiOjE3MDcwMzIzODUsImlzcyI6IktlbGkiLCJhdWQiOiJLZWxpIn0.MHS1KUqzq8bKytYVH3W8pdjcr8EOVlFpxc-a5CaU64g'

		$.ajax({
			url: url,
			method: 'get',
			dataType: 'json',
			//beforeSend: function(xhr) {
				//xhr.setRequestHeader('Authorization', authorization);
			//},
			//headers: {'Accept': 'application/json', 'Authorization': authorization},
			contentType: "application/json,charset=utf-8",
		    success: (res)=> {
				if(res.code==200){
				  tableData = res.data||[];
				  initTable();
				}else{
				  alert(JSON.stringify(res.data))
				}
				return;
			},
			error: function(res) {
				alert(JSON.stringify(res))
			}
		});
	}

	function typeView(type){
		let viewMode = ''
		switch(type){
			case 'day':
			    viewMode = 'days'
				break;
			case 'month':
			    viewMode = 'months'
				break;
			case 'year':
			    viewMode = 'years'
				break;
			default:
				break;
		}
		return viewMode
	}

	function viewModeTable(viewMode){
		let tabType = ''
		switch(viewMode){
			case 'days':
			    tabType = 'day'
				break;
			case 'months':
			    tabType = 'month'
				break;
			case 'years':
			    tabType = 'year'
				break;
			default:
				break;
		}
		return tabType
	}
	
	function getData(type){
		tableType = type;
		selectDateBtn(typeView(type));
		searchReport();
	}
	
	function exportData(){
	    if (this.tableData && tableData.length) { 
			const timeformatted = selectType();
			const serverUrl = $('#ip-port').val()
			const url = serverUrl+'/api/SystemMonitor/ExportReport?type='+tableType+'&time='+timeformatted;
			
			//const authorization = 'Bearer '+'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjE0MjMwNzA3MDkxMDU1MSwiVGVuYW50SWQiOjE0MjMwNzA3MDkxODc4MCwiQWNjb3VudCI6InN5c3RlbSIsIk5hbWUiOiLotoXnuqfnrqHnkIblkZgiLCJTdXBlckFkbWluIjoxLCJLZWxpU3VwZXJBZG1pbiI6MSwiT3JnSWQiOjE0MjMwNzA3MDkxMDUzOSwiT3JnTmFtZSI6IumbhuWbouWFrOWPuDk5OSIsImlhdCI6MTcwNDQ0MDM4NSwibmJmIjoxNzA0NDQwMzg1LCJleHAiOjE3MDcwMzIzODUsImlzcyI6IktlbGkiLCJhdWQiOiJLZWxpIn0.MHS1KUqzq8bKytYVH3W8pdjcr8EOVlFpxc-a5CaU64g'

			$.ajax({
				url: url,
				method: 'get',
				dataType: 'json',
				//beforeSend: function(xhr) {
					//xhr.setRequestHeader('Authorization', authorization);
				//},
				//headers: {'Accept': 'application/json', 'Authorization': authorization},
				contentType: "application/json,charset=utf-8",
				success: (res)=> {
					//console.log(res);
					if(res.code==200){
					  if (res.data) {
                            let fileUrl = serverUrl + res.data;
							let rename = reportName();
							fileDownload(fileUrl, rename+'下载.html');
                        }
					}
					return;
				},
				error: function(res) {
					console.log(res);
				}
			});
		   
		}
	}
	
	function fileDownload(content, filename) {
		// 创建隐藏的可下载链接
		var eleLink = document.createElement('a');
		eleLink.download = filename;
		eleLink.style.display = 'none';
		// 字符内容转变成blob地址
		//var blob = new Blob([content]);
		//eleLink.href = URL.createObjectURL(blob);
		eleLink.href = content;
		// 触发点击
		document.body.appendChild(eleLink);
		eleLink.click();
		// 然后移除
		document.body.removeChild(eleLink);
	};

	const bucaoData = [
{"ProductCode":"BCA001","Variety":"加加大码长袖长装工作服","Specification":"XXL","ColorPattern":"白色","Quantity":40,"Unit":"件","Description":"BCA001_加加大码长袖长装工作服_XXL_白色_件","RFIDElectronicTag":"BCA001XXLA00140","Barcode":"BCA001XXLA00140","StorageArea":"布草仓库","WarehouseLocationCode":"A001","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA002","Variety":"加大码长袖长装工作服","Specification":"XL","ColorPattern":"白色","Quantity":60,"Unit":"件","Description":"BCA002_加大码长袖长装工作服_XL_白色_件","RFIDElectronicTag":"BCA002XLA00260","Barcode":"BCA002XLA00260","StorageArea":"布草仓库","WarehouseLocationCode":"A002","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA003","Variety":"大码长袖长装工作服","Specification":"L","ColorPattern":"白色","Quantity":100,"Unit":"件","Description":"BCA003_大码长袖长装工作服_L_白色_件","RFIDElectronicTag":"BCA003LA003100","Barcode":"BCA003LA003100","StorageArea":"布草仓库","WarehouseLocationCode":"A003","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA004","Variety":"中码长袖长装工作服","Specification":"M","ColorPattern":"白色","Quantity":60,"Unit":"件","Description":"BCA004_中码长袖长装工作服_M_白色_件","RFIDElectronicTag":"BCA004MA00460","Barcode":"BCA004MA00460","StorageArea":"布草仓库","WarehouseLocationCode":"A004","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA005","Variety":"小码长袖长装工作服","Specification":"S","ColorPattern":"白色","Quantity":40,"Unit":"件","Description":"BCA005_小码长袖长装工作服_S_白色_件","RFIDElectronicTag":"BCA005SA00540","Barcode":"BCA005SA00540","StorageArea":"布草仓库","WarehouseLocationCode":"A005","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA006","Variety":"加加大码短袖长装工作服","Specification":"XXL","ColorPattern":"白色","Quantity":40,"Unit":"件","Description":"BCA006_加加大码短袖长装工作服_XXL_白色_件","RFIDElectronicTag":"BCA006XXLA00640","Barcode":"BCA006XXLA00640","StorageArea":"布草仓库","WarehouseLocationCode":"A006","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA007","Variety":"加大码短袖长装工作服","Specification":"XL","ColorPattern":"白色","Quantity":60,"Unit":"件","Description":"BCA007_加大码短袖长装工作服_XL_白色_件","RFIDElectronicTag":"BCA007XLA00760","Barcode":"BCA007XLA00760","StorageArea":"布草仓库","WarehouseLocationCode":"A007","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA008","Variety":"大码短袖长装工作服","Specification":"L","ColorPattern":"白色","Quantity":100,"Unit":"件","Description":"BCA008_大码短袖长装工作服_L_白色_件","RFIDElectronicTag":"BCA008LA008100","Barcode":"BCA008LA008100","StorageArea":"布草仓库","WarehouseLocationCode":"A008","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA009","Variety":"中码短袖长装工作服","Specification":"M","ColorPattern":"白色","Quantity":60,"Unit":"件","Description":"BCA009_中码短袖长装工作服_M_白色_件","RFIDElectronicTag":"BCA009MA00960","Barcode":"BCA009MA00960","StorageArea":"布草仓库","WarehouseLocationCode":"A009","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA010","Variety":"小码短袖长装工作服","Specification":"S","ColorPattern":"白色","Quantity":40,"Unit":"件","Description":"BCA010_小码短袖长装工作服_S_白色_件","RFIDElectronicTag":"BCA010SA01040","Barcode":"BCA010SA01040","StorageArea":"布草仓库","WarehouseLocationCode":"A010","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA011","Variety":"加加大码长袖短装工作服","Specification":"XXL","ColorPattern":"白色","Quantity":40,"Unit":"件","Description":"BCA011_加加大码长袖短装工作服_XXL_白色_件","RFIDElectronicTag":"BCA011XXLA01140","Barcode":"BCA011XXLA01140","StorageArea":"布草仓库","WarehouseLocationCode":"A011","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA012","Variety":"加大码长袖短装工作服","Specification":"XL","ColorPattern":"白色","Quantity":60,"Unit":"件","Description":"BCA012_加大码长袖短装工作服_XL_白色_件","RFIDElectronicTag":"BCA012XLA01260","Barcode":"BCA012XLA01260","StorageArea":"布草仓库","WarehouseLocationCode":"A012","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA013","Variety":"大码长袖短装工作服","Specification":"L","ColorPattern":"白色","Quantity":100,"Unit":"件","Description":"BCA013_大码长袖短装工作服_L_白色_件","RFIDElectronicTag":"BCA013LA013100","Barcode":"BCA013LA013100","StorageArea":"布草仓库","WarehouseLocationCode":"A013","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA014","Variety":"中码长袖短装工作服","Specification":"M","ColorPattern":"白色","Quantity":60,"Unit":"件","Description":"BCA014_中码长袖短装工作服_M_白色_件","RFIDElectronicTag":"BCA014MA01460","Barcode":"BCA014MA01460","StorageArea":"布草仓库","WarehouseLocationCode":"A014","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA015","Variety":"小码长袖短装工作服","Specification":"S","ColorPattern":"白色","Quantity":40,"Unit":"件","Description":"BCA015_小码长袖短装工作服_S_白色_件","RFIDElectronicTag":"BCA015SA01540","Barcode":"BCA015SA01540","StorageArea":"布草仓库","WarehouseLocationCode":"A015","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA016","Variety":"加加大码短袖短装工作服","Specification":"XXL","ColorPattern":"白色","Quantity":40,"Unit":"件","Description":"BCA016_加加大码短袖短装工作服_XXL_白色_件","RFIDElectronicTag":"BCA016XXLA01640","Barcode":"BCA016XXLA01640","StorageArea":"布草仓库","WarehouseLocationCode":"A016","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA017","Variety":"加大码短袖短装工作服","Specification":"XL","ColorPattern":"白色","Quantity":60,"Unit":"件","Description":"BCA017_加大码短袖短装工作服_XL_白色_件","RFIDElectronicTag":"BCA017XLA01760","Barcode":"BCA017XLA01760","StorageArea":"布草仓库","WarehouseLocationCode":"A017","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA018","Variety":"大码短袖短装工作服","Specification":"L","ColorPattern":"白色","Quantity":100,"Unit":"件","Description":"BCA018_大码短袖短装工作服_L_白色_件","RFIDElectronicTag":"BCA018LA018100","Barcode":"BCA018LA018100","StorageArea":"布草仓库","WarehouseLocationCode":"A018","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA019","Variety":"中码短袖短装工作服","Specification":"M","ColorPattern":"白色","Quantity":60,"Unit":"件","Description":"BCA019_中码短袖短装工作服_M_白色_件","RFIDElectronicTag":"BCA019MA01960","Barcode":"BCA019MA01960","StorageArea":"布草仓库","WarehouseLocationCode":"A019","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA020","Variety":"小码短袖短装工作服","Specification":"S","ColorPattern":"白色","Quantity":40,"Unit":"件","Description":"BCA020_小码短袖短装工作服_S_白色_件","RFIDElectronicTag":"BCA020SA02040","Barcode":"BCA020SA02040","StorageArea":"布草仓库","WarehouseLocationCode":"A020","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA021","Variety":"加加大码长袖长装孕妇服","Specification":"XXL","ColorPattern":"白色","Quantity":10,"Unit":"件","Description":"BCA021_加加大码长袖长装孕妇服_XXL_白色_件","RFIDElectronicTag":"BCA021XXLA02110","Barcode":"BCA021XXLA02110","StorageArea":"布草仓库","WarehouseLocationCode":"A021","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA022","Variety":"加大码长袖长装孕妇服","Specification":"XL","ColorPattern":"白色","Quantity":20,"Unit":"件","Description":"BCA022_加大码长袖长装孕妇服_XL_白色_件","RFIDElectronicTag":"BCA022XLA02220","Barcode":"BCA022XLA02220","StorageArea":"布草仓库","WarehouseLocationCode":"A022","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA023","Variety":"大码长袖长装孕妇服","Specification":"L","ColorPattern":"白色","Quantity":40,"Unit":"件","Description":"BCA023_大码长袖长装孕妇服_L_白色_件","RFIDElectronicTag":"BCA023LA02340","Barcode":"BCA023LA02340","StorageArea":"布草仓库","WarehouseLocationCode":"A023","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA024","Variety":"中码长袖长装孕妇服","Specification":"M","ColorPattern":"白色","Quantity":20,"Unit":"件","Description":"BCA024_中码长袖长装孕妇服_M_白色_件","RFIDElectronicTag":"BCA024MA02420","Barcode":"BCA024MA02420","StorageArea":"布草仓库","WarehouseLocationCode":"A024","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA025","Variety":"小码长袖长装孕妇服","Specification":"S","ColorPattern":"白色","Quantity":10,"Unit":"件","Description":"BCA025_小码长袖长装孕妇服_S_白色_件","RFIDElectronicTag":"BCA025SA02510","Barcode":"BCA025SA02510","StorageArea":"布草仓库","WarehouseLocationCode":"A025","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA026","Variety":"加加大码短袖长装孕妇服","Specification":"XXL","ColorPattern":"白色","Quantity":10,"Unit":"件","Description":"BCA026_加加大码短袖长装孕妇服_XXL_白色_件","RFIDElectronicTag":"BCA026XXLA02610","Barcode":"BCA026XXLA02610","StorageArea":"布草仓库","WarehouseLocationCode":"A026","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA027","Variety":"加大码短袖长装孕妇服","Specification":"XL","ColorPattern":"白色","Quantity":20,"Unit":"件","Description":"BCA027_加大码短袖长装孕妇服_XL_白色_件","RFIDElectronicTag":"BCA027XLA02720","Barcode":"BCA027XLA02720","StorageArea":"布草仓库","WarehouseLocationCode":"A027","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA028","Variety":"大码短袖长装孕妇服","Specification":"L","ColorPattern":"白色","Quantity":40,"Unit":"件","Description":"BCA028_大码短袖长装孕妇服_L_白色_件","RFIDElectronicTag":"BCA028LA02840","Barcode":"BCA028LA02840","StorageArea":"布草仓库","WarehouseLocationCode":"A028","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA029","Variety":"中码短袖长装孕妇服","Specification":"M","ColorPattern":"白色","Quantity":20,"Unit":"件","Description":"BCA029_中码短袖长装孕妇服_M_白色_件","RFIDElectronicTag":"BCA029MA02920","Barcode":"BCA029MA02920","StorageArea":"布草仓库","WarehouseLocationCode":"A029","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA030","Variety":"小码短袖长装孕妇服","Specification":"S","ColorPattern":"白色","Quantity":10,"Unit":"件","Description":"BCA030_小码短袖长装孕妇服_S_白色_件","RFIDElectronicTag":"BCA030SA03010","Barcode":"BCA030SA03010","StorageArea":"布草仓库","WarehouseLocationCode":"A030","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA031","Variety":"加加大码护士长裤","Specification":"XXL","ColorPattern":"紫色","Quantity":40,"Unit":"件","Description":"BCA031_加加大码护士长裤_XXL_紫色_件","RFIDElectronicTag":"BCA031XXLA03140","Barcode":"BCA031XXLA03140","StorageArea":"布草仓库","WarehouseLocationCode":"A031","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA032","Variety":"加大码护士长裤","Specification":"XL","ColorPattern":"紫色","Quantity":60,"Unit":"件","Description":"BCA032_加大码护士长裤_XL_紫色_件","RFIDElectronicTag":"BCA032XLA03260","Barcode":"BCA032XLA03260","StorageArea":"布草仓库","WarehouseLocationCode":"A032","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA033","Variety":"大码护士长裤","Specification":"L","ColorPattern":"紫色","Quantity":100,"Unit":"件","Description":"BCA033_大码护士长裤_L_紫色_件","RFIDElectronicTag":"BCA033LA033100","Barcode":"BCA033LA033100","StorageArea":"布草仓库","WarehouseLocationCode":"A033","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA034","Variety":"中码护士长裤","Specification":"M","ColorPattern":"紫色","Quantity":60,"Unit":"件","Description":"BCA034_中码护士长裤_M_紫色_件","RFIDElectronicTag":"BCA034MA03460","Barcode":"BCA034MA03460","StorageArea":"布草仓库","WarehouseLocationCode":"A034","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA035","Variety":"小码护士长裤","Specification":"S","ColorPattern":"紫色","Quantity":40,"Unit":"件","Description":"BCA035_小码护士长裤_S_紫色_件","RFIDElectronicTag":"BCA035SA03540","Barcode":"BCA035SA03540","StorageArea":"布草仓库","WarehouseLocationCode":"A035","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA036","Variety":"加加大码护士短裤","Specification":"XXL","ColorPattern":"紫色","Quantity":10,"Unit":"件","Description":"BCA036_加加大码护士短裤_XXL_紫色_件","RFIDElectronicTag":"BCA036XXLA03610","Barcode":"BCA036XXLA03610","StorageArea":"布草仓库","WarehouseLocationCode":"A036","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA037","Variety":"加大码护士短裤","Specification":"XL","ColorPattern":"紫色","Quantity":20,"Unit":"件","Description":"BCA037_加大码护士短裤_XL_紫色_件","RFIDElectronicTag":"BCA037XLA03720","Barcode":"BCA037XLA03720","StorageArea":"布草仓库","WarehouseLocationCode":"A037","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA038","Variety":"大码护士短裤","Specification":"L","ColorPattern":"紫色","Quantity":40,"Unit":"件","Description":"BCA038_大码护士短裤_L_紫色_件","RFIDElectronicTag":"BCA038LA03840","Barcode":"BCA038LA03840","StorageArea":"布草仓库","WarehouseLocationCode":"A038","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA039","Variety":"中码护士短裤","Specification":"M","ColorPattern":"紫色","Quantity":20,"Unit":"件","Description":"BCA039_中码护士短裤_M_紫色_件","RFIDElectronicTag":"BCA039MA03920","Barcode":"BCA039MA03920","StorageArea":"布草仓库","WarehouseLocationCode":"A039","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA040","Variety":"小码护士短裤","Specification":"S","ColorPattern":"紫色","Quantity":10,"Unit":"件","Description":"BCA040_小码护士短裤_S_紫色_件","RFIDElectronicTag":"BCA040SA04010","Barcode":"BCA040SA04010","StorageArea":"布草仓库","WarehouseLocationCode":"A040","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA041","Variety":"加加大码长袖洗手衣","Specification":"XXL","ColorPattern":"兰色","Quantity":800,"Unit":"件","Description":"BCA041_加加大码长袖洗手衣_XXL_兰色_件","RFIDElectronicTag":"BCA041XXLA041800","Barcode":"BCA041XXLA041800","StorageArea":"布草仓库","WarehouseLocationCode":"A041","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA042","Variety":"加大码长袖洗手衣","Specification":"XL","ColorPattern":"兰色","Quantity":1200,"Unit":"件","Description":"BCA042_加大码长袖洗手衣_XL_兰色_件","RFIDElectronicTag":"BCA042XLA0421200","Barcode":"BCA042XLA0421200","StorageArea":"布草仓库","WarehouseLocationCode":"A042","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA043","Variety":"大码长袖洗手衣","Specification":"L","ColorPattern":"兰色","Quantity":2000,"Unit":"件","Description":"BCA043_大码长袖洗手衣_L_兰色_件","RFIDElectronicTag":"BCA043LA0432000","Barcode":"BCA043LA0432000","StorageArea":"布草仓库","WarehouseLocationCode":"A043","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA044","Variety":"中码长袖洗手衣","Specification":"M","ColorPattern":"兰色","Quantity":1200,"Unit":"件","Description":"BCA044_中码长袖洗手衣_M_兰色_件","RFIDElectronicTag":"BCA044MA0441200","Barcode":"BCA044MA0441200","StorageArea":"布草仓库","WarehouseLocationCode":"A044","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA045","Variety":"小码长袖洗手衣","Specification":"S","ColorPattern":"兰色","Quantity":800,"Unit":"件","Description":"BCA045_小码长袖洗手衣_S_兰色_件","RFIDElectronicTag":"BCA045SA045800","Barcode":"BCA045SA045800","StorageArea":"布草仓库","WarehouseLocationCode":"A045","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA046","Variety":"加加大码短袖洗手衣","Specification":"XXL","ColorPattern":"兰色","Quantity":1000,"Unit":"件","Description":"BCA046_加加大码短袖洗手衣_XXL_兰色_件","RFIDElectronicTag":"BCA046XXLA0461000","Barcode":"BCA046XXLA0461000","StorageArea":"布草仓库","WarehouseLocationCode":"A046","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA047","Variety":"加大码短袖洗手衣","Specification":"XL","ColorPattern":"兰色","Quantity":2500,"Unit":"件","Description":"BCA047_加大码短袖洗手衣_XL_兰色_件","RFIDElectronicTag":"BCA047XLA0472500","Barcode":"BCA047XLA0472500","StorageArea":"布草仓库","WarehouseLocationCode":"A047","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA048","Variety":"大码短袖洗手衣","Specification":"L","ColorPattern":"兰色","Quantity":3000,"Unit":"件","Description":"BCA048_大码短袖洗手衣_L_兰色_件","RFIDElectronicTag":"BCA048LA0483000","Barcode":"BCA048LA0483000","StorageArea":"布草仓库","WarehouseLocationCode":"A048","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA049","Variety":"中码短袖洗手衣","Specification":"M","ColorPattern":"兰色","Quantity":2500,"Unit":"件","Description":"BCA049_中码短袖洗手衣_M_兰色_件","RFIDElectronicTag":"BCA049MA0492500","Barcode":"BCA049MA0492500","StorageArea":"布草仓库","WarehouseLocationCode":"A049","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA050","Variety":"小码短袖洗手衣","Specification":"S","ColorPattern":"兰色","Quantity":1000,"Unit":"件","Description":"BCA050_小码短袖洗手衣_S_兰色_件","RFIDElectronicTag":"BCA050SA0501000","Barcode":"BCA050SA0501000","StorageArea":"布草仓库","WarehouseLocationCode":"A050","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA051","Variety":"加加大码洗手裤","Specification":"XXL","ColorPattern":"兰色","Quantity":1000,"Unit":"件","Description":"BCA051_加加大码洗手裤_XXL_兰色_件","RFIDElectronicTag":"BCA051XXLA0511000","Barcode":"BCA051XXLA0511000","StorageArea":"布草仓库","WarehouseLocationCode":"A051","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA052","Variety":"加大码洗手裤","Specification":"XL","ColorPattern":"兰色","Quantity":2500,"Unit":"件","Description":"BCA052_加大码洗手裤_XL_兰色_件","RFIDElectronicTag":"BCA052XLA0522500","Barcode":"BCA052XLA0522500","StorageArea":"布草仓库","WarehouseLocationCode":"A052","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA053","Variety":"大码洗手裤","Specification":"L","ColorPattern":"兰色","Quantity":3000,"Unit":"件","Description":"BCA053_大码洗手裤_L_兰色_件","RFIDElectronicTag":"BCA053LA0533000","Barcode":"BCA053LA0533000","StorageArea":"布草仓库","WarehouseLocationCode":"A053","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA054","Variety":"中码洗手裤","Specification":"M","ColorPattern":"兰色","Quantity":2500,"Unit":"件","Description":"BCA054_中码洗手裤_M_兰色_件","RFIDElectronicTag":"BCA054MA0542500","Barcode":"BCA054MA0542500","StorageArea":"布草仓库","WarehouseLocationCode":"A054","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA055","Variety":"小码洗手裤","Specification":"S","ColorPattern":"兰色","Quantity":1000,"Unit":"件","Description":"BCA055_小码洗手裤_S_兰色_件","RFIDElectronicTag":"BCA055SA0551000","Barcode":"BCA055SA0551000","StorageArea":"布草仓库","WarehouseLocationCode":"A055","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA056","Variety":"加加大码手术衣","Specification":"XXL","ColorPattern":"绿色","Quantity":200,"Unit":"件","Description":"BCA056_加加大码手术衣_XXL_绿色_件","RFIDElectronicTag":"BCA056XXLA056200","Barcode":"BCA056XXLA056200","StorageArea":"布草仓库","WarehouseLocationCode":"A056","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA057","Variety":"加大码手术衣","Specification":"XL","ColorPattern":"绿色","Quantity":300,"Unit":"件","Description":"BCA057_加大码手术衣_XL_绿色_件","RFIDElectronicTag":"BCA057XLA057300","Barcode":"BCA057XLA057300","StorageArea":"布草仓库","WarehouseLocationCode":"A057","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA058","Variety":"大码手术衣","Specification":"L","ColorPattern":"绿色","Quantity":500,"Unit":"件","Description":"BCA058_大码手术衣_L_绿色_件","RFIDElectronicTag":"BCA058LA058500","Barcode":"BCA058LA058500","StorageArea":"布草仓库","WarehouseLocationCode":"A058","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA059","Variety":"中码手术衣","Specification":"M","ColorPattern":"绿色","Quantity":300,"Unit":"件","Description":"BCA059_中码手术衣_M_绿色_件","RFIDElectronicTag":"BCA059MA059300","Barcode":"BCA059MA059300","StorageArea":"布草仓库","WarehouseLocationCode":"A059","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA060","Variety":"小码手术衣","Specification":"S","ColorPattern":"绿色","Quantity":200,"Unit":"件","Description":"BCA060_小码手术衣_S_绿色_件","RFIDElectronicTag":"BCA060SA060200","Barcode":"BCA060SA060200","StorageArea":"布草仓库","WarehouseLocationCode":"A060","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA061","Variety":"加加大码隔离衣","Specification":"XXL","ColorPattern":"兰色","Quantity":50,"Unit":"件","Description":"BCA061_加加大码隔离衣_XXL_兰色_件","RFIDElectronicTag":"BCA061XXLA06150","Barcode":"BCA061XXLA06150","StorageArea":"布草仓库","WarehouseLocationCode":"A061","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA062","Variety":"加大码隔离衣","Specification":"XL","ColorPattern":"兰色","Quantity":60,"Unit":"件","Description":"BCA062_加大码隔离衣_XL_兰色_件","RFIDElectronicTag":"BCA062XLA06260","Barcode":"BCA062XLA06260","StorageArea":"布草仓库","WarehouseLocationCode":"A062","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA063","Variety":"大码隔离衣","Specification":"L","ColorPattern":"兰色","Quantity":80,"Unit":"件","Description":"BCA063_大码隔离衣_L_兰色_件","RFIDElectronicTag":"BCA063LA06380","Barcode":"BCA063LA06380","StorageArea":"布草仓库","WarehouseLocationCode":"A063","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA064","Variety":"中码隔离衣","Specification":"M","ColorPattern":"兰色","Quantity":60,"Unit":"件","Description":"BCA064_中码隔离衣_M_兰色_件","RFIDElectronicTag":"BCA064MA06460","Barcode":"BCA064MA06460","StorageArea":"布草仓库","WarehouseLocationCode":"A064","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA065","Variety":"小码隔离衣","Specification":"S","ColorPattern":"兰色","Quantity":50,"Unit":"件","Description":"BCA065_小码隔离衣_S_兰色_件","RFIDElectronicTag":"BCA065SA06550","Barcode":"BCA065SA06550","StorageArea":"布草仓库","WarehouseLocationCode":"A065","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA066","Variety":"加加大码成人病人长袖衫","Specification":"XXL","ColorPattern":"蓝色格子条纹","Quantity":500,"Unit":"件","Description":"BCA066_加加大码成人病人长袖衫_XXL_蓝色格子条纹_件","RFIDElectronicTag":"BCA066XXLA066500","Barcode":"BCA066XXLA066500","StorageArea":"布草仓库","WarehouseLocationCode":"A066","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA067","Variety":"加大码成人病人长袖衫","Specification":"XL","ColorPattern":"蓝色格子条纹","Quantity":600,"Unit":"件","Description":"BCA067_加大码成人病人长袖衫_XL_蓝色格子条纹_件","RFIDElectronicTag":"BCA067XLA067600","Barcode":"BCA067XLA067600","StorageArea":"布草仓库","WarehouseLocationCode":"A067","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA068","Variety":"大码成人病人长袖衫","Specification":"L","ColorPattern":"蓝色格子条纹","Quantity":800,"Unit":"件","Description":"BCA068_大码成人病人长袖衫_L_蓝色格子条纹_件","RFIDElectronicTag":"BCA068LA068800","Barcode":"BCA068LA068800","StorageArea":"布草仓库","WarehouseLocationCode":"A068","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA069","Variety":"中码成人病人长袖衫","Specification":"M","ColorPattern":"蓝色格子条纹","Quantity":600,"Unit":"件","Description":"BCA069_中码成人病人长袖衫_M_蓝色格子条纹_件","RFIDElectronicTag":"BCA069MA069600","Barcode":"BCA069MA069600","StorageArea":"布草仓库","WarehouseLocationCode":"A069","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA070","Variety":"小码成人病人长袖衫","Specification":"S","ColorPattern":"蓝色格子条纹","Quantity":500,"Unit":"件","Description":"BCA070_小码成人病人长袖衫_S_蓝色格子条纹_件","RFIDElectronicTag":"BCA070SA070500","Barcode":"BCA070SA070500","StorageArea":"布草仓库","WarehouseLocationCode":"A070","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA071","Variety":"加加大码成人病人长裤","Specification":"XXL","ColorPattern":"蓝色格子条纹","Quantity":500,"Unit":"条","Description":"BCA071_加加大码成人病人长裤_XXL_蓝色格子条纹_条","RFIDElectronicTag":"BCA071XXLA071500","Barcode":"BCA071XXLA071500","StorageArea":"布草仓库","WarehouseLocationCode":"A071","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA072","Variety":"加大码成人病人长裤","Specification":"XL","ColorPattern":"蓝色格子条纹","Quantity":600,"Unit":"条","Description":"BCA072_加大码成人病人长裤_XL_蓝色格子条纹_条","RFIDElectronicTag":"BCA072XLA072600","Barcode":"BCA072XLA072600","StorageArea":"布草仓库","WarehouseLocationCode":"A072","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA073","Variety":"大码成人病人长裤","Specification":"L","ColorPattern":"蓝色格子条纹","Quantity":800,"Unit":"条","Description":"BCA073_大码成人病人长裤_L_蓝色格子条纹_条","RFIDElectronicTag":"BCA073LA073800","Barcode":"BCA073LA073800","StorageArea":"布草仓库","WarehouseLocationCode":"A073","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA074","Variety":"中码成人病人长裤","Specification":"M","ColorPattern":"蓝色格子条纹","Quantity":600,"Unit":"条","Description":"BCA074_中码成人病人长裤_M_蓝色格子条纹_条","RFIDElectronicTag":"BCA074MA074600","Barcode":"BCA074MA074600","StorageArea":"布草仓库","WarehouseLocationCode":"A074","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA075","Variety":"小码成人病人长裤","Specification":"S","ColorPattern":"蓝色格子条纹","Quantity":500,"Unit":"条","Description":"BCA075_小码成人病人长裤_S_蓝色格子条纹_条","RFIDElectronicTag":"BCA075SA075500","Barcode":"BCA075SA075500","StorageArea":"布草仓库","WarehouseLocationCode":"A075","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA076","Variety":"加加大码骨科单开边绑带病人长袖衫","Specification":"XXL","ColorPattern":"蓝色格子条纹","Quantity":30,"Unit":"件","Description":"BCA076_加加大码骨科单开边绑带病人长袖衫_XXL_蓝色格子条纹_件","RFIDElectronicTag":"BCA076XXLA07630","Barcode":"BCA076XXLA07630","StorageArea":"布草仓库","WarehouseLocationCode":"A076","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA077","Variety":"加大码骨科单开边绑带病人长袖衫","Specification":"XL","ColorPattern":"蓝色格子条纹","Quantity":40,"Unit":"件","Description":"BCA077_加大码骨科单开边绑带病人长袖衫_XL_蓝色格子条纹_件","RFIDElectronicTag":"BCA077XLA07740","Barcode":"BCA077XLA07740","StorageArea":"布草仓库","WarehouseLocationCode":"A077","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA078","Variety":"大码骨科单开边绑带病人长袖衫","Specification":"L","ColorPattern":"蓝色格子条纹","Quantity":60,"Unit":"件","Description":"BCA078_大码骨科单开边绑带病人长袖衫_L_蓝色格子条纹_件","RFIDElectronicTag":"BCA078LA07860","Barcode":"BCA078LA07860","StorageArea":"布草仓库","WarehouseLocationCode":"A078","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA079","Variety":"中码骨科单开边绑带病人长袖衫","Specification":"M","ColorPattern":"蓝色格子条纹","Quantity":40,"Unit":"件","Description":"BCA079_中码骨科单开边绑带病人长袖衫_M_蓝色格子条纹_件","RFIDElectronicTag":"BCA079MA07940","Barcode":"BCA079MA07940","StorageArea":"布草仓库","WarehouseLocationCode":"A079","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA080","Variety":"小码骨科单开边绑带病人长袖衫","Specification":"S","ColorPattern":"蓝色格子条纹","Quantity":30,"Unit":"件","Description":"BCA080_小码骨科单开边绑带病人长袖衫_S_蓝色格子条纹_件","RFIDElectronicTag":"BCA080SA08030","Barcode":"BCA080SA08030","StorageArea":"布草仓库","WarehouseLocationCode":"A080","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA081","Variety":"加加大码骨科单开边绑带病人长裤","Specification":"XXL","ColorPattern":"蓝色格子条纹","Quantity":30,"Unit":"条","Description":"BCA081_加加大码骨科单开边绑带病人长裤_XXL_蓝色格子条纹_条","RFIDElectronicTag":"BCA081XXLA08130","Barcode":"BCA081XXLA08130","StorageArea":"布草仓库","WarehouseLocationCode":"A081","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA082","Variety":"加大码骨科单开边绑带病人长裤","Specification":"XL","ColorPattern":"蓝色格子条纹","Quantity":40,"Unit":"条","Description":"BCA082_加大码骨科单开边绑带病人长裤_XL_蓝色格子条纹_条","RFIDElectronicTag":"BCA082XLA08240","Barcode":"BCA082XLA08240","StorageArea":"布草仓库","WarehouseLocationCode":"A082","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA083","Variety":"大码骨科单开边绑带病人长裤","Specification":"L","ColorPattern":"蓝色格子条纹","Quantity":60,"Unit":"条","Description":"BCA083_大码骨科单开边绑带病人长裤_L_蓝色格子条纹_条","RFIDElectronicTag":"BCA083LA08360","Barcode":"BCA083LA08360","StorageArea":"布草仓库","WarehouseLocationCode":"A083","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA084","Variety":"中码骨科单开边绑带病人长裤","Specification":"M","ColorPattern":"蓝色格子条纹","Quantity":40,"Unit":"条","Description":"BCA084_中码骨科单开边绑带病人长裤_M_蓝色格子条纹_条","RFIDElectronicTag":"BCA084MA08440","Barcode":"BCA084MA08440","StorageArea":"布草仓库","WarehouseLocationCode":"A084","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA085","Variety":"小码骨科单开边绑带病人长裤","Specification":"S","ColorPattern":"蓝色格子条纹","Quantity":30,"Unit":"条","Description":"BCA085_小码骨科单开边绑带病人长裤_S_蓝色格子条纹_条","RFIDElectronicTag":"BCA085SA08530","Barcode":"BCA085SA08530","StorageArea":"布草仓库","WarehouseLocationCode":"A085","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA086","Variety":"加加大码骨科双开边绑带病人长袖衫","Specification":"XXL","ColorPattern":"蓝色格子条纹","Quantity":30,"Unit":"件","Description":"BCA086_加加大码骨科双开边绑带病人长袖衫_XXL_蓝色格子条纹_件","RFIDElectronicTag":"BCA086XXLA08630","Barcode":"BCA086XXLA08630","StorageArea":"布草仓库","WarehouseLocationCode":"A086","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA087","Variety":"加大码骨科双开边绑带病人长袖衫","Specification":"XL","ColorPattern":"蓝色格子条纹","Quantity":40,"Unit":"件","Description":"BCA087_加大码骨科双开边绑带病人长袖衫_XL_蓝色格子条纹_件","RFIDElectronicTag":"BCA087XLA08740","Barcode":"BCA087XLA08740","StorageArea":"布草仓库","WarehouseLocationCode":"A087","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA088","Variety":"大码骨科双开边绑带病人长袖衫","Specification":"L","ColorPattern":"蓝色格子条纹","Quantity":60,"Unit":"件","Description":"BCA088_大码骨科双开边绑带病人长袖衫_L_蓝色格子条纹_件","RFIDElectronicTag":"BCA088LA08860","Barcode":"BCA088LA08860","StorageArea":"布草仓库","WarehouseLocationCode":"A088","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA089","Variety":"中码骨科双开边绑带病人长袖衫","Specification":"M","ColorPattern":"蓝色格子条纹","Quantity":40,"Unit":"件","Description":"BCA089_中码骨科双开边绑带病人长袖衫_M_蓝色格子条纹_件","RFIDElectronicTag":"BCA089MA08940","Barcode":"BCA089MA08940","StorageArea":"布草仓库","WarehouseLocationCode":"A089","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA090","Variety":"小码骨科双开边绑带病人长袖衫","Specification":"S","ColorPattern":"蓝色格子条纹","Quantity":30,"Unit":"件","Description":"BCA090_小码骨科双开边绑带病人长袖衫_S_蓝色格子条纹_件","RFIDElectronicTag":"BCA090SA09030","Barcode":"BCA090SA09030","StorageArea":"布草仓库","WarehouseLocationCode":"A090","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA091","Variety":"加加大码骨科双开边绑带病人长裤","Specification":"XXL","ColorPattern":"蓝色格子条纹","Quantity":30,"Unit":"条","Description":"BCA091_加加大码骨科双开边绑带病人长裤_XXL_蓝色格子条纹_条","RFIDElectronicTag":"BCA091XXLA09130","Barcode":"BCA091XXLA09130","StorageArea":"布草仓库","WarehouseLocationCode":"A091","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA092","Variety":"加大码骨科双开边绑带病人长裤","Specification":"XL","ColorPattern":"蓝色格子条纹","Quantity":40,"Unit":"条","Description":"BCA092_加大码骨科双开边绑带病人长裤_XL_蓝色格子条纹_条","RFIDElectronicTag":"BCA092XLA09240","Barcode":"BCA092XLA09240","StorageArea":"布草仓库","WarehouseLocationCode":"A092","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA093","Variety":"大码骨科双开边绑带病人长裤","Specification":"L","ColorPattern":"蓝色格子条纹","Quantity":60,"Unit":"条","Description":"BCA093_大码骨科双开边绑带病人长裤_L_蓝色格子条纹_条","RFIDElectronicTag":"BCA093LA09360","Barcode":"BCA093LA09360","StorageArea":"布草仓库","WarehouseLocationCode":"A093","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA094","Variety":"中码骨科双开边绑带病人长裤","Specification":"M","ColorPattern":"蓝色格子条纹","Quantity":40,"Unit":"条","Description":"BCA094_中码骨科双开边绑带病人长裤_M_蓝色格子条纹_条","RFIDElectronicTag":"BCA094MA09440","Barcode":"BCA094MA09440","StorageArea":"布草仓库","WarehouseLocationCode":"A094","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA095","Variety":"小码骨科双开边绑带病人长裤","Specification":"S","ColorPattern":"蓝色格子条纹","Quantity":30,"Unit":"条","Description":"BCA095_小码骨科双开边绑带病人长裤_S_蓝色格子条纹_条","RFIDElectronicTag":"BCA095SA09530","Barcode":"BCA095SA09530","StorageArea":"布草仓库","WarehouseLocationCode":"A095","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA096","Variety":"加加大码孕产妇病人长袖衫","Specification":"XXL","ColorPattern":"蓝色格子条纹","Quantity":40,"Unit":"件","Description":"BCA096_加加大码孕产妇病人长袖衫_XXL_蓝色格子条纹_件","RFIDElectronicTag":"BCA096XXLA09640","Barcode":"BCA096XXLA09640","StorageArea":"布草仓库","WarehouseLocationCode":"A096","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA097","Variety":"加大码孕产妇病人长袖衫","Specification":"XL","ColorPattern":"蓝色格子条纹","Quantity":60,"Unit":"件","Description":"BCA097_加大码孕产妇病人长袖衫_XL_蓝色格子条纹_件","RFIDElectronicTag":"BCA097XLA09760","Barcode":"BCA097XLA09760","StorageArea":"布草仓库","WarehouseLocationCode":"A097","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA098","Variety":"大码孕产妇病人长袖衫","Specification":"L","ColorPattern":"蓝色格子条纹","Quantity":100,"Unit":"件","Description":"BCA098_大码孕产妇病人长袖衫_L_蓝色格子条纹_件","RFIDElectronicTag":"BCA098LA098100","Barcode":"BCA098LA098100","StorageArea":"布草仓库","WarehouseLocationCode":"A098","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA099","Variety":"中码孕产妇病人长袖衫","Specification":"M","ColorPattern":"蓝色格子条纹","Quantity":60,"Unit":"件","Description":"BCA099_中码孕产妇病人长袖衫_M_蓝色格子条纹_件","RFIDElectronicTag":"BCA099MA09960","Barcode":"BCA099MA09960","StorageArea":"布草仓库","WarehouseLocationCode":"A099","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA100","Variety":"小码孕产妇病人长袖衫","Specification":"S","ColorPattern":"蓝色格子条纹","Quantity":40,"Unit":"件","Description":"BCA100_小码孕产妇病人长袖衫_S_蓝色格子条纹_件","RFIDElectronicTag":"BCA100SA10040","Barcode":"BCA100SA10040","StorageArea":"布草仓库","WarehouseLocationCode":"A100","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA101","Variety":"加加大码孕产妇病人长裤","Specification":"XXL","ColorPattern":"蓝色格子条纹","Quantity":40,"Unit":"条","Description":"BCA101_加加大码孕产妇病人长裤_XXL_蓝色格子条纹_条","RFIDElectronicTag":"BCA101XXLA10140","Barcode":"BCA101XXLA10140","StorageArea":"布草仓库","WarehouseLocationCode":"A101","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA102","Variety":"加大码孕产妇病人长裤","Specification":"XL","ColorPattern":"蓝色格子条纹","Quantity":60,"Unit":"条","Description":"BCA102_加大码孕产妇病人长裤_XL_蓝色格子条纹_条","RFIDElectronicTag":"BCA102XLA10260","Barcode":"BCA102XLA10260","StorageArea":"布草仓库","WarehouseLocationCode":"A102","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA103","Variety":"大码孕产妇病人长裤","Specification":"L","ColorPattern":"蓝色格子条纹","Quantity":100,"Unit":"条","Description":"BCA103_大码孕产妇病人长裤_L_蓝色格子条纹_条","RFIDElectronicTag":"BCA103LA103100","Barcode":"BCA103LA103100","StorageArea":"布草仓库","WarehouseLocationCode":"A103","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA104","Variety":"中码孕产妇病人长裤","Specification":"M","ColorPattern":"蓝色格子条纹","Quantity":60,"Unit":"条","Description":"BCA104_中码孕产妇病人长裤_M_蓝色格子条纹_条","RFIDElectronicTag":"BCA104MA10460","Barcode":"BCA104MA10460","StorageArea":"布草仓库","WarehouseLocationCode":"A104","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA105","Variety":"小码孕产妇病人长裤","Specification":"S","ColorPattern":"蓝色格子条纹","Quantity":40,"Unit":"条","Description":"BCA105_小码孕产妇病人长裤_S_蓝色格子条纹_条","RFIDElectronicTag":"BCA105SA10540","Barcode":"BCA105SA10540","StorageArea":"布草仓库","WarehouseLocationCode":"A105","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA106","Variety":"加加大码特诊成人病人长袖衫","Specification":"XXL","ColorPattern":"蓝色格子条纹","Quantity":30,"Unit":"件","Description":"BCA106_加加大码特诊成人病人长袖衫_XXL_蓝色格子条纹_件","RFIDElectronicTag":"BCA106XXLA10630","Barcode":"BCA106XXLA10630","StorageArea":"布草仓库","WarehouseLocationCode":"A106","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA107","Variety":"加大码特诊成人病人长袖衫","Specification":"XL","ColorPattern":"蓝色格子条纹","Quantity":40,"Unit":"件","Description":"BCA107_加大码特诊成人病人长袖衫_XL_蓝色格子条纹_件","RFIDElectronicTag":"BCA107XLA10740","Barcode":"BCA107XLA10740","StorageArea":"布草仓库","WarehouseLocationCode":"A107","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA108","Variety":"大码特诊成人病人长袖衫","Specification":"L","ColorPattern":"蓝色格子条纹","Quantity":60,"Unit":"件","Description":"BCA108_大码特诊成人病人长袖衫_L_蓝色格子条纹_件","RFIDElectronicTag":"BCA108LA10860","Barcode":"BCA108LA10860","StorageArea":"布草仓库","WarehouseLocationCode":"A108","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA109","Variety":"中码特诊成人病人长袖衫","Specification":"M","ColorPattern":"蓝色格子条纹","Quantity":40,"Unit":"件","Description":"BCA109_中码特诊成人病人长袖衫_M_蓝色格子条纹_件","RFIDElectronicTag":"BCA109MA10940","Barcode":"BCA109MA10940","StorageArea":"布草仓库","WarehouseLocationCode":"A109","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA110","Variety":"小码特诊成人病人长袖衫","Specification":"S","ColorPattern":"蓝色格子条纹","Quantity":30,"Unit":"件","Description":"BCA110_小码特诊成人病人长袖衫_S_蓝色格子条纹_件","RFIDElectronicTag":"BCA110SA11030","Barcode":"BCA110SA11030","StorageArea":"布草仓库","WarehouseLocationCode":"A110","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA111","Variety":"加加大码特诊成人病人长裤","Specification":"XXL","ColorPattern":"蓝色格子条纹","Quantity":30,"Unit":"条","Description":"BCA111_加加大码特诊成人病人长裤_XXL_蓝色格子条纹_条","RFIDElectronicTag":"BCA111XXLA11130","Barcode":"BCA111XXLA11130","StorageArea":"布草仓库","WarehouseLocationCode":"A111","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA112","Variety":"加大码特诊成人病人长裤","Specification":"XL","ColorPattern":"蓝色格子条纹","Quantity":40,"Unit":"条","Description":"BCA112_加大码特诊成人病人长裤_XL_蓝色格子条纹_条","RFIDElectronicTag":"BCA112XLA11240","Barcode":"BCA112XLA11240","StorageArea":"布草仓库","WarehouseLocationCode":"A112","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA113","Variety":"大码特诊成人病人长裤","Specification":"L","ColorPattern":"蓝色格子条纹","Quantity":60,"Unit":"条","Description":"BCA113_大码特诊成人病人长裤_L_蓝色格子条纹_条","RFIDElectronicTag":"BCA113LA11360","Barcode":"BCA113LA11360","StorageArea":"布草仓库","WarehouseLocationCode":"A113","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA114","Variety":"中码特诊成人病人长裤","Specification":"M","ColorPattern":"蓝色格子条纹","Quantity":40,"Unit":"条","Description":"BCA114_中码特诊成人病人长裤_M_蓝色格子条纹_条","RFIDElectronicTag":"BCA114MA11440","Barcode":"BCA114MA11440","StorageArea":"布草仓库","WarehouseLocationCode":"A114","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA115","Variety":"小码特诊成人病人长裤","Specification":"S","ColorPattern":"蓝色格子条纹","Quantity":30,"Unit":"条","Description":"BCA115_小码特诊成人病人长裤_S_蓝色格子条纹_条","RFIDElectronicTag":"BCA115SA11530","Barcode":"BCA115SA11530","StorageArea":"布草仓库","WarehouseLocationCode":"A115","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA116","Variety":"加大码儿科病人长袖衫(12-14岁)","Specification":"XL","ColorPattern":"花色","Quantity":30,"Unit":"件","Description":"BCA116_加大码儿科病人长袖衫(12-14岁)_XL_花色_件","RFIDElectronicTag":"BCA116XLA11630","Barcode":"BCA116XLA11630","StorageArea":"布草仓库","WarehouseLocationCode":"A116","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA117","Variety":"大码儿科病人长袖衫(9-11岁)","Specification":"L","ColorPattern":"花色","Quantity":30,"Unit":"件","Description":"BCA117_大码儿科病人长袖衫(9-11岁)_L_花色_件","RFIDElectronicTag":"BCA117LA11730","Barcode":"BCA117LA11730","StorageArea":"布草仓库","WarehouseLocationCode":"A117","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA118","Variety":"中码儿科病人长袖衫(6-8岁)","Specification":"M","ColorPattern":"花色","Quantity":30,"Unit":"件","Description":"BCA118_中码儿科病人长袖衫(6-8岁)_M_花色_件","RFIDElectronicTag":"BCA118MA11830","Barcode":"BCA118MA11830","StorageArea":"布草仓库","WarehouseLocationCode":"A118","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA119","Variety":"小码儿科病人长袖衫(3-5岁)","Specification":"S","ColorPattern":"花色","Quantity":30,"Unit":"件","Description":"BCA119_小码儿科病人长袖衫(3-5岁)_S_花色_件","RFIDElectronicTag":"BCA119SA11930","Barcode":"BCA119SA11930","StorageArea":"布草仓库","WarehouseLocationCode":"A119","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA120","Variety":"加小码儿科病人长袖衫(1-2岁)","Specification":"XS","ColorPattern":"花色","Quantity":30,"Unit":"件","Description":"BCA120_加小码儿科病人长袖衫(1-2岁)_XS_花色_件","RFIDElectronicTag":"BCA120XSA12030","Barcode":"BCA120XSA12030","StorageArea":"布草仓库","WarehouseLocationCode":"A120","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA121","Variety":"大码儿科病人双袖开纽长袖服","Specification":"L","ColorPattern":"花色","Quantity":30,"Unit":"件","Description":"BCA121_大码儿科病人双袖开纽长袖服_L_花色_件","RFIDElectronicTag":"BCA121LA12130","Barcode":"BCA121LA12130","StorageArea":"布草仓库","WarehouseLocationCode":"A121","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA122","Variety":"中码儿科病人双袖开纽长袖服","Specification":"M","ColorPattern":"花色","Quantity":30,"Unit":"件","Description":"BCA122_中码儿科病人双袖开纽长袖服_M_花色_件","RFIDElectronicTag":"BCA122MA12230","Barcode":"BCA122MA12230","StorageArea":"布草仓库","WarehouseLocationCode":"A122","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA123","Variety":"小码儿科病人双袖开纽长袖服","Specification":"S","ColorPattern":"花色","Quantity":30,"Unit":"件","Description":"BCA123_小码儿科病人双袖开纽长袖服_S_花色_件","RFIDElectronicTag":"BCA123SA12330","Barcode":"BCA123SA12330","StorageArea":"布草仓库","WarehouseLocationCode":"A123","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA124","Variety":"加大码儿科病人长裤(12-14岁)","Specification":"XL","ColorPattern":"花色","Quantity":30,"Unit":"条","Description":"BCA124_加大码儿科病人长裤(12-14岁)_XL_花色_条","RFIDElectronicTag":"BCA124XLA12430","Barcode":"BCA124XLA12430","StorageArea":"布草仓库","WarehouseLocationCode":"A124","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA125","Variety":"大码儿科病人长裤(9-11岁)","Specification":"L","ColorPattern":"花色","Quantity":30,"Unit":"条","Description":"BCA125_大码儿科病人长裤(9-11岁)_L_花色_条","RFIDElectronicTag":"BCA125LA12530","Barcode":"BCA125LA12530","StorageArea":"布草仓库","WarehouseLocationCode":"A125","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA126","Variety":"中码儿科病人长裤(6-8岁)","Specification":"M","ColorPattern":"花色","Quantity":30,"Unit":"条","Description":"BCA126_中码儿科病人长裤(6-8岁)_M_花色_条","RFIDElectronicTag":"BCA126MA12630","Barcode":"BCA126MA12630","StorageArea":"布草仓库","WarehouseLocationCode":"A126","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA127","Variety":"小码儿科病人长裤(3-5岁)","Specification":"S","ColorPattern":"花色","Quantity":30,"Unit":"条","Description":"BCA127_小码儿科病人长裤(3-5岁)_S_花色_条","RFIDElectronicTag":"BCA127SA12730","Barcode":"BCA127SA12730","StorageArea":"布草仓库","WarehouseLocationCode":"A127","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA128","Variety":"加小码儿科病人长裤(1-2岁)","Specification":"XS","ColorPattern":"花色","Quantity":30,"Unit":"条","Description":"BCA128_加小码儿科病人长裤(1-2岁)_XS_花色_条","RFIDElectronicTag":"BCA128XSA12830","Barcode":"BCA128XSA12830","StorageArea":"布草仓库","WarehouseLocationCode":"A128","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA129","Variety":"婴儿衫","Specification":"-","ColorPattern":"花色","Quantity":100,"Unit":"件","Description":"BCA129_婴儿衫_-_花色_件","RFIDElectronicTag":"BCA129-A129100","Barcode":"BCA129-A129100","StorageArea":"布草仓库","WarehouseLocationCode":"A129","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA130","Variety":"双袖开纽婴儿衫","Specification":"-","ColorPattern":"花色","Quantity":30,"Unit":"件","Description":"BCA130_双袖开纽婴儿衫_-_花色_件","RFIDElectronicTag":"BCA130-A13030","Barcode":"BCA130-A13030","StorageArea":"布草仓库","WarehouseLocationCode":"A130","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA131","Variety":"病人睡袍","Specification":"-","ColorPattern":"蓝色格子条纹","Quantity":150,"Unit":"件","Description":"BCA131_病人睡袍_-_蓝色格子条纹_件","RFIDElectronicTag":"BCA131-A131150","Barcode":"BCA131-A131150","StorageArea":"布草仓库","WarehouseLocationCode":"A131","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA132","Variety":"婴儿衫","Specification":"-","ColorPattern":"花色","Quantity":200,"Unit":"件","Description":"BCA132_婴儿衫_-_花色_件","RFIDElectronicTag":"BCA132-A132200","Barcode":"BCA132-A132200","StorageArea":"布草仓库","WarehouseLocationCode":"A132","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA133","Variety":"双层婴儿夹棉袍","Specification":"-","ColorPattern":"花色","Quantity":200,"Unit":"件","Description":"BCA133_双层婴儿夹棉袍_-_花色_件","RFIDElectronicTag":"BCA133-A133200","Barcode":"BCA133-A133200","StorageArea":"布草仓库","WarehouseLocationCode":"A133","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA134","Variety":"双层婴儿背心","Specification":"-","ColorPattern":"花色","Quantity":30,"Unit":"件","Description":"BCA134_双层婴儿背心_-_花色_件","RFIDElectronicTag":"BCA134-A13430","Barcode":"BCA134-A13430","StorageArea":"布草仓库","WarehouseLocationCode":"A134","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA135","Variety":"婴儿服","Specification":"-","ColorPattern":"花色","Quantity":100,"Unit":"件","Description":"BCA135_婴儿服_-_花色_件","RFIDElectronicTag":"BCA135-A135100","Barcode":"BCA135-A135100","StorageArea":"布草仓库","WarehouseLocationCode":"A135","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA136","Variety":"婴儿和尚袍","Specification":"-","ColorPattern":"花色","Quantity":100,"Unit":"件","Description":"BCA136_婴儿和尚袍_-_花色_件","RFIDElectronicTag":"BCA136-A136100","Barcode":"BCA136-A136100","StorageArea":"布草仓库","WarehouseLocationCode":"A136","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA137","Variety":"夹棉背心","Specification":"-","ColorPattern":"白色","Quantity":50,"Unit":"件","Description":"BCA137_夹棉背心_-_白色_件","RFIDElectronicTag":"BCA137-A13750","Barcode":"BCA137-A13750","StorageArea":"布草仓库","WarehouseLocationCode":"A137","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA138","Variety":"婴儿被袋(长110*宽100cm双层)","Specification":"-","ColorPattern":"白色","Quantity":100,"Unit":"张","Description":"BCA138_婴儿被袋(长110*宽100cm双层)_-_白色_张","RFIDElectronicTag":"BCA138-A138100","Barcode":"BCA138-A138100","StorageArea":"布草仓库","WarehouseLocationCode":"A138","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA139","Variety":"三层床单(长200*宽80cm)","Specification":"-","ColorPattern":"白色","Quantity":100,"Unit":"张","Description":"BCA139_三层床单(长200*宽80cm)_-_白色_张","RFIDElectronicTag":"BCA139-A139100","Barcode":"BCA139-A139100","StorageArea":"布草仓库","WarehouseLocationCode":"A139","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA140","Variety":"婴儿被袋(长90*宽90cm双层)","Specification":"-","ColorPattern":"白色","Quantity":100,"Unit":"张","Description":"BCA140_婴儿被袋(长90*宽90cm双层)_-_白色_张","RFIDElectronicTag":"BCA140-A140100","Barcode":"BCA140-A140100","StorageArea":"布草仓库","WarehouseLocationCode":"A140","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA141","Variety":"婴儿床罩(长70*宽45*高35cm)","Specification":"-","ColorPattern":"白色","Quantity":100,"Unit":"张","Description":"BCA141_婴儿床罩(长70*宽45*高35cm)_-_白色_张","RFIDElectronicTag":"BCA141-A141100","Barcode":"BCA141-A141100","StorageArea":"布草仓库","WarehouseLocationCode":"A141","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA142","Variety":"婴儿床单(长90*宽60cm单层)","Specification":"-","ColorPattern":"白色","Quantity":100,"Unit":"张","Description":"BCA142_婴儿床单(长90*宽60cm单层)_-_白色_张","RFIDElectronicTag":"BCA142-A142100","Barcode":"BCA142-A142100","StorageArea":"布草仓库","WarehouseLocationCode":"A142","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA143","Variety":"婴儿枕袋(长40*25cm双层)","Specification":"-","ColorPattern":"白色","Quantity":100,"Unit":"张","Description":"BCA143_婴儿枕袋(长40*25cm双层)_-_白色_张","RFIDElectronicTag":"BCA143-A143100","Barcode":"BCA143-A143100","StorageArea":"布草仓库","WarehouseLocationCode":"A143","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA144","Variety":"妇检床床套(长95*宽55cm))","Specification":"-","ColorPattern":"白色","Quantity":20,"Unit":"张","Description":"BCA144_妇检床床套(长95*宽55cm))_-_白色_张","RFIDElectronicTag":"BCA144-A14420","Barcode":"BCA144-A14420","StorageArea":"布草仓库","WarehouseLocationCode":"A144","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA145","Variety":"床罩(200*86*25cm)","Specification":"-","ColorPattern":"白色","Quantity":200,"Unit":"张","Description":"BCA145_床罩(200*86*25cm)_-_白色_张","RFIDElectronicTag":"BCA145-A145200","Barcode":"BCA145-A145200","StorageArea":"布草仓库","WarehouseLocationCode":"A145","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA146","Variety":"内镜床罩(200*70*18cm)","Specification":"-","ColorPattern":"白色","Quantity":50,"Unit":"张","Description":"BCA146_内镜床罩(200*70*18cm)_-_白色_张","RFIDElectronicTag":"BCA146-A14650","Barcode":"BCA146-A14650","StorageArea":"布草仓库","WarehouseLocationCode":"A146","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA147","Variety":"中单(长165*宽125CM)","Specification":"-","ColorPattern":"白色","Quantity":100,"Unit":"张","Description":"BCA147_中单(长165*宽125CM)_-_白色_张","RFIDElectronicTag":"BCA147-A147100","Barcode":"BCA147-A147100","StorageArea":"布草仓库","WarehouseLocationCode":"A147","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA148","Variety":"中单(240*90cm)","Specification":"-","ColorPattern":"白色","Quantity":100,"Unit":"张","Description":"BCA148_中单(240*90cm)_-_白色_张","RFIDElectronicTag":"BCA148-A148100","Barcode":"BCA148-A148100","StorageArea":"布草仓库","WarehouseLocationCode":"A148","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA149","Variety":"枕袋","Specification":"-","ColorPattern":"白色","Quantity":1500,"Unit":"张","Description":"BCA149_枕袋_-_白色_张","RFIDElectronicTag":"BCA149-A1491500","Barcode":"BCA149-A1491500","StorageArea":"布草仓库","WarehouseLocationCode":"A149","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA150","Variety":"被袋","Specification":"-","ColorPattern":"白色","Quantity":1500,"Unit":"张","Description":"BCA150_被袋_-_白色_张","RFIDElectronicTag":"BCA150-A1501500","Barcode":"BCA150-A1501500","StorageArea":"布草仓库","WarehouseLocationCode":"A150","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA151","Variety":"床单","Specification":"-","ColorPattern":"白色","Quantity":1500,"Unit":"张","Description":"BCA151_床单_-_白色_张","RFIDElectronicTag":"BCA151-A1511500","Barcode":"BCA151-A1511500","StorageArea":"布草仓库","WarehouseLocationCode":"A151","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA152","Variety":"捆红边枕袋","Specification":"-","ColorPattern":"白色","Quantity":300,"Unit":"张","Description":"BCA152_捆红边枕袋_-_白色_张","RFIDElectronicTag":"BCA152-A152300","Barcode":"BCA152-A152300","StorageArea":"布草仓库","WarehouseLocationCode":"A152","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA153","Variety":"捆红边床罩","Specification":"-","ColorPattern":"白色","Quantity":300,"Unit":"张","Description":"BCA153_捆红边床罩_-_白色_张","RFIDElectronicTag":"BCA153-A153300","Barcode":"BCA153-A153300","StorageArea":"布草仓库","WarehouseLocationCode":"A153","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA154","Variety":"重症三层床单","Specification":"-","ColorPattern":"白色","Quantity":300,"Unit":"张","Description":"BCA154_重症三层床单_-_白色_张","RFIDElectronicTag":"BCA154-A154300","Barcode":"BCA154-A154300","StorageArea":"布草仓库","WarehouseLocationCode":"A154","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA155","Variety":"工衣袋(宽110*高125cm)","Specification":"-","ColorPattern":"白色","Quantity":500,"Unit":"个","Description":"BCA155_工衣袋(宽110*高125cm)_-_白色_个","RFIDElectronicTag":"BCA155-A155500","Barcode":"BCA155-A155500","StorageArea":"布草仓库","WarehouseLocationCode":"A155","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA156","Variety":"腹带((长85*宽20cm))","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"条","Description":"BCA156_腹带((长85*宽20cm))_-_白色_条","RFIDElectronicTag":"BCA156-A15630","Barcode":"BCA156-A15630","StorageArea":"布草仓库","WarehouseLocationCode":"A156","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA157","Variety":"披肩((长70*宽60cm)","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"个","Description":"BCA157_披肩((长70*宽60cm)_-_白色_个","RFIDElectronicTag":"BCA157-A15730","Barcode":"BCA157-A15730","StorageArea":"布草仓库","WarehouseLocationCode":"A157","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA158","Variety":"冰袋套(长48*宽15cm)","Specification":"-","ColorPattern":"白色","Quantity":200,"Unit":"个","Description":"BCA158_冰袋套(长48*宽15cm)_-_白色_个","RFIDElectronicTag":"BCA158-A158200","Barcode":"BCA158-A158200","StorageArea":"布草仓库","WarehouseLocationCode":"A158","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA159","Variety":"袖套(长36*宽19cm)","Specification":"-","ColorPattern":"白色","Quantity":20,"Unit":"双","Description":"BCA159_袖套(长36*宽19cm)_-_白色_双","RFIDElectronicTag":"BCA159-A15920","Barcode":"BCA159-A15920","StorageArea":"布草仓库","WarehouseLocationCode":"A159","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA160","Variety":"婴儿手镯","Specification":"-","ColorPattern":"白色","Quantity":50,"Unit":"个","Description":"BCA160_婴儿手镯_-_白色_个","RFIDElectronicTag":"BCA160-A16050","Barcode":"BCA160-A16050","StorageArea":"布草仓库","WarehouseLocationCode":"A160","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA161","Variety":"湿化瓶套(长24*宽22cm)","Specification":"-","ColorPattern":"白色","Quantity":10,"Unit":"个","Description":"BCA161_湿化瓶套(长24*宽22cm)_-_白色_个","RFIDElectronicTag":"BCA161-A16110","Barcode":"BCA161-A16110","StorageArea":"布草仓库","WarehouseLocationCode":"A161","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA162","Variety":"氧气筒套(长128*宽41cm)","Specification":"-","ColorPattern":"白色","Quantity":10,"Unit":"个","Description":"BCA162_氧气筒套(长128*宽41cm)_-_白色_个","RFIDElectronicTag":"BCA162-A16210","Barcode":"BCA162-A16210","StorageArea":"布草仓库","WarehouseLocationCode":"A162","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA163","Variety":"多层氧气袋(长21*宽18cm四层))","Specification":"-","ColorPattern":"白色","Quantity":10,"Unit":"个","Description":"BCA163_多层氧气袋(长21*宽18cm四层))_-_白色_个","RFIDElectronicTag":"BCA163-A16310","Barcode":"BCA163-A16310","StorageArea":"布草仓库","WarehouseLocationCode":"A163","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA164","Variety":"口腔科椅套(长120cm*宽60cm)","Specification":"-","ColorPattern":"白色","Quantity":10,"Unit":"套","Description":"BCA164_口腔科椅套(长120cm*宽60cm)_-_白色_套","RFIDElectronicTag":"BCA164-A16410","Barcode":"BCA164-A16410","StorageArea":"布草仓库","WarehouseLocationCode":"A164","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA165","Variety":"耳鼻咽喉科椅套(长105*宽50cm)","Specification":"-","ColorPattern":"白色","Quantity":10,"Unit":"套","Description":"BCA165_耳鼻咽喉科椅套(长105*宽50cm)_-_白色_套","RFIDElectronicTag":"BCA165-A16510","Barcode":"BCA165-A16510","StorageArea":"布草仓库","WarehouseLocationCode":"A165","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA166","Variety":"可水洗枕芯面料C40S*C40S/135*95/防羽布"},
{"ProductCode":"填充100%聚酯纤维(赛羽绒)克重900g","Variety":"-","Specification":"白色","ColorPattern":1500,"Quantity":"个","Unit":"BCA166_可水洗枕芯面料C40S*C40S/135*95/防羽布"},
{"ProductCode":"填充100%聚酯纤维(赛羽绒)克重900g_-_白色_个","Variety":"BCA166-A1661500","Specification":"BCA166-A1661500","ColorPattern":"布草仓库","Quantity":"A166","Unit":"","Description":"","RFIDElectronicTag":"","Barcode":"","StorageArea":"","WarehouseLocationCode":"","AffiliatedHospital":"","Department":"","ServiceProvider":""},
{"ProductCode":"BCA167","Variety":"可水洗被芯面料C40S*C40S/135*95/防羽布"},
{"ProductCode":"填充100%聚酯纤维(赛羽绒)克重1500g","Variety":"-","Specification":"白色","ColorPattern":1500,"Quantity":"张","Unit":"BCA167_可水洗被芯面料C40S*C40S/135*95/防羽布"},
{"ProductCode":"填充100%聚酯纤维(赛羽绒)克重1500g_-_白色_张","Variety":"BCA167-A1671500","Specification":"BCA167-A1671500","ColorPattern":"布草仓库","Quantity":"A167","Unit":"","Description":"","RFIDElectronicTag":"","Barcode":"","StorageArea":"","WarehouseLocationCode":"","AffiliatedHospital":"","Department":"","ServiceProvider":""},
{"ProductCode":"BCA168","Variety":"可水洗被芯面料C40S*C40S/135*95/防羽布"},
{"ProductCode":"填充100%聚酯纤维(赛羽绒)克重2000g","Variety":"-","Specification":"白色","ColorPattern":1500,"Quantity":"张","Unit":"BCA168_可水洗被芯面料C40S*C40S/135*95/防羽布"},
{"ProductCode":"填充100%聚酯纤维(赛羽绒)克重2000g_-_白色_张","Variety":"BCA168-A1681500","Specification":"BCA168-A1681500","ColorPattern":"布草仓库","Quantity":"A168","Unit":"","Description":"","RFIDElectronicTag":"","Barcode":"","StorageArea":"","WarehouseLocationCode":"","AffiliatedHospital":"","Department":"","ServiceProvider":""},
{"ProductCode":"BCA169","Variety":"可水洗被芯面料C40S*C40S/135*95/防羽布"},
{"ProductCode":"填充100%聚酯纤维(赛羽绒)克重2500g","Variety":"-","Specification":"白色","ColorPattern":1500,"Quantity":"张","Unit":"BCA169_可水洗被芯面料C40S*C40S/135*95/防羽布"},
{"ProductCode":"填充100%聚酯纤维(赛羽绒)克重2500g_-_白色_张","Variety":"BCA169-A1691500","Specification":"BCA169-A1691500","ColorPattern":"布草仓库","Quantity":"A169","Unit":"","Description":"","RFIDElectronicTag":"","Barcode":"","StorageArea":"","WarehouseLocationCode":"","AffiliatedHospital":"","Department":"","ServiceProvider":""},
{"ProductCode":"BCA170","Variety":"33*30cm双层包布","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA170_33*30cm双层包布_-_白色_张","RFIDElectronicTag":"BCA170-A17030","Barcode":"BCA170-A17030","StorageArea":"布草仓库","WarehouseLocationCode":"A170","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA171","Variety":"55*52cm双层包布","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA171_55*52cm双层包布_-_白色_张","RFIDElectronicTag":"BCA171-A17130","Barcode":"BCA171-A17130","StorageArea":"布草仓库","WarehouseLocationCode":"A171","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA172","Variety":"66*62cm双层包布","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA172_66*62cm双层包布_-_白色_张","RFIDElectronicTag":"BCA172-A17230","Barcode":"BCA172-A17230","StorageArea":"布草仓库","WarehouseLocationCode":"A172","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA173","Variety":"75*75cm双层包布","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA173_75*75cm双层包布_-_白色_张","RFIDElectronicTag":"BCA173-A17330","Barcode":"BCA173-A17330","StorageArea":"布草仓库","WarehouseLocationCode":"A173","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA174","Variety":"97*94cm双层包布","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA174_97*94cm双层包布_-_白色_张","RFIDElectronicTag":"BCA174-A17430","Barcode":"BCA174-A17430","StorageArea":"布草仓库","WarehouseLocationCode":"A174","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA175","Variety":"140*118cm双层包布","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA175_140*118cm双层包布_-_白色_张","RFIDElectronicTag":"BCA175-A17530","Barcode":"BCA175-A17530","StorageArea":"布草仓库","WarehouseLocationCode":"A175","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA176","Variety":"92*55cm单层托布","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA176_92*55cm单层托布_-_白色_张","RFIDElectronicTag":"BCA176-A17630","Barcode":"BCA176-A17630","StorageArea":"布草仓库","WarehouseLocationCode":"A176","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA177","Variety":"70*45cm单层治疗巾","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA177_70*45cm单层治疗巾_-_白色_张","RFIDElectronicTag":"BCA177-A17730","Barcode":"BCA177-A17730","StorageArea":"布草仓库","WarehouseLocationCode":"A177","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA178","Variety":"90*80cm单层治疗巾","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA178_90*80cm单层治疗巾_-_白色_张","RFIDElectronicTag":"BCA178-A17830","Barcode":"BCA178-A17830","StorageArea":"布草仓库","WarehouseLocationCode":"A178","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA179","Variety":"70*45cm单层孔巾","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA179_70*45cm单层孔巾_-_白色_张","RFIDElectronicTag":"BCA179-A17930","Barcode":"BCA179-A17930","StorageArea":"布草仓库","WarehouseLocationCode":"A179","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA180","Variety":"97*94cm双层孔巾","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA180_97*94cm双层孔巾_-_白色_张","RFIDElectronicTag":"BCA180-A18030","Barcode":"BCA180-A18030","StorageArea":"布草仓库","WarehouseLocationCode":"A180","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA181","Variety":"90*75cm单层孔巾","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA181_90*75cm单层孔巾_-_白色_张","RFIDElectronicTag":"BCA181-A18130","Barcode":"BCA181-A18130","StorageArea":"布草仓库","WarehouseLocationCode":"A181","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA182","Variety":"95*83cm双层治疗巾","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA182_95*83cm双层治疗巾_-_白色_张","RFIDElectronicTag":"BCA182-A18230","Barcode":"BCA182-A18230","StorageArea":"布草仓库","WarehouseLocationCode":"A182","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA183","Variety":"125*105cm双层治疗巾","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA183_125*105cm双层治疗巾_-_白色_张","RFIDElectronicTag":"BCA183-A18330","Barcode":"BCA183-A18330","StorageArea":"布草仓库","WarehouseLocationCode":"A183","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA184","Variety":"210*145cm双层夹单","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA184_210*145cm双层夹单_-_白色_张","RFIDElectronicTag":"BCA184-A18430","Barcode":"BCA184-A18430","StorageArea":"布草仓库","WarehouseLocationCode":"A184","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA185","Variety":"127*97cm双层夹单","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA185_127*97cm双层夹单_-_白色_张","RFIDElectronicTag":"BCA185-A18530","Barcode":"BCA185-A18530","StorageArea":"布草仓库","WarehouseLocationCode":"A185","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA186","Variety":"260*90cm单层中单","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA186_260*90cm单层中单_-_白色_张","RFIDElectronicTag":"BCA186-A18630","Barcode":"BCA186-A18630","StorageArea":"布草仓库","WarehouseLocationCode":"A186","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA187","Variety":"270*95cm双层包布","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA187_270*95cm双层包布_-_白色_张","RFIDElectronicTag":"BCA187-A18730","Barcode":"BCA187-A18730","StorageArea":"布草仓库","WarehouseLocationCode":"A187","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA188","Variety":"220*112cm双层包布","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA188_220*112cm双层包布_-_白色_张","RFIDElectronicTag":"BCA188-A18830","Barcode":"BCA188-A18830","StorageArea":"布草仓库","WarehouseLocationCode":"A188","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA189","Variety":"225*150cm双层包布","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA189_225*150cm双层包布_-_白色_张","RFIDElectronicTag":"BCA189-A18930","Barcode":"BCA189-A18930","StorageArea":"布草仓库","WarehouseLocationCode":"A189","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA190","Variety":"190*170cm双层包布","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA190_190*170cm双层包布_-_白色_张","RFIDElectronicTag":"BCA190-A19030","Barcode":"BCA190-A19030","StorageArea":"布草仓库","WarehouseLocationCode":"A190","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA191","Variety":"145*135cm双层包布","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA191_145*135cm双层包布_-_白色_张","RFIDElectronicTag":"BCA191-A19130","Barcode":"BCA191-A19130","StorageArea":"布草仓库","WarehouseLocationCode":"A191","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA192","Variety":"130*100双层包布","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA192_130*100双层包布_-_白色_张","RFIDElectronicTag":"BCA192-A19230","Barcode":"BCA192-A19230","StorageArea":"布草仓库","WarehouseLocationCode":"A192","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA193","Variety":"97*94cm双层包布","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA193_97*94cm双层包布_-_白色_张","RFIDElectronicTag":"BCA193-A19330","Barcode":"BCA193-A19330","StorageArea":"布草仓库","WarehouseLocationCode":"A193","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA194","Variety":"55*52cm双层包布","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA194_55*52cm双层包布_-_白色_张","RFIDElectronicTag":"BCA194-A19430","Barcode":"BCA194-A19430","StorageArea":"布草仓库","WarehouseLocationCode":"A194","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA195","Variety":"350*225cm双层孔巾","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA195_350*225cm双层孔巾_-_白色_张","RFIDElectronicTag":"BCA195-A19530","Barcode":"BCA195-A19530","StorageArea":"布草仓库","WarehouseLocationCode":"A195","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA196","Variety":"305*220cm双层孔巾","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA196_305*220cm双层孔巾_-_白色_张","RFIDElectronicTag":"BCA196-A19630","Barcode":"BCA196-A19630","StorageArea":"布草仓库","WarehouseLocationCode":"A196","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA197","Variety":"148*95cm双层孔巾","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA197_148*95cm双层孔巾_-_白色_张","RFIDElectronicTag":"BCA197-A19730","Barcode":"BCA197-A19730","StorageArea":"布草仓库","WarehouseLocationCode":"A197","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA198","Variety":"220*210cm单层孔巾","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA198_220*210cm单层孔巾_-_白色_张","RFIDElectronicTag":"BCA198-A19830","Barcode":"BCA198-A19830","StorageArea":"布草仓库","WarehouseLocationCode":"A198","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA199","Variety":"230*130cm单层孔巾","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA199_230*130cm单层孔巾_-_白色_张","RFIDElectronicTag":"BCA199-A19930","Barcode":"BCA199-A19930","StorageArea":"布草仓库","WarehouseLocationCode":"A199","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA200","Variety":"97*74cm单层孔巾","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA200_97*74cm单层孔巾_-_白色_张","RFIDElectronicTag":"BCA200-A20030","Barcode":"BCA200-A20030","StorageArea":"布草仓库","WarehouseLocationCode":"A200","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA201","Variety":"110*77cm单层治疗巾","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA201_110*77cm单层治疗巾_-_白色_张","RFIDElectronicTag":"BCA201-A20130","Barcode":"BCA201-A20130","StorageArea":"布草仓库","WarehouseLocationCode":"A201","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA202","Variety":"200*125cm单层孔巾","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA202_200*125cm单层孔巾_-_白色_张","RFIDElectronicTag":"BCA202-A20230","Barcode":"BCA202-A20230","StorageArea":"布草仓库","WarehouseLocationCode":"A202","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA203","Variety":"165*90cm单层孔巾","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA203_165*90cm单层孔巾_-_白色_张","RFIDElectronicTag":"BCA203-A20330","Barcode":"BCA203-A20330","StorageArea":"布草仓库","WarehouseLocationCode":"A203","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA204","Variety":"110*97cm单层孔巾","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA204_110*97cm单层孔巾_-_白色_张","RFIDElectronicTag":"BCA204-A20430","Barcode":"BCA204-A20430","StorageArea":"布草仓库","WarehouseLocationCode":"A204","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA205","Variety":"110*16cm布套","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA205_110*16cm布套_-_白色_张","RFIDElectronicTag":"BCA205-A20530","Barcode":"BCA205-A20530","StorageArea":"布草仓库","WarehouseLocationCode":"A205","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},
{"ProductCode":"BCA206","Variety":"53*25cm袖套","Specification":"-","ColorPattern":"白色","Quantity":30,"Unit":"张","Description":"BCA206_53*25cm袖套_-_白色_张","RFIDElectronicTag":"BCA206-A20630","Barcode":"BCA206-A20630","StorageArea":"布草仓库","WarehouseLocationCode":"A206","AffiliatedHospital":"","Department":"","ServiceProvider":"","BoundPersonnel":"","CurrentOperationDocument":"","CreationTime":"","Status":"","ModificationTime":"","Operation":""},

]

let tempBucaoData = []
let uidnum = 0
bucaoData.map((item)=>{
	let len = item.Quantity
	const epc = item.RFIDElectronicTag
	for(let i = 0;i<len;i++){
		let tempItem = {...item}
		tempItem.Uid = uidnum
		uidnum++
		tempItem.Quantity = 1
		let count = Math.floor(Math.random()*210-1)+1
		//Math.floor(Math.random() * 100) + 1;
		//new Date().getTime() % 100) + 1
		tempItem.Count = count
		tempItem.Status = count>200?'报废':'在库' //在库 1 使用 2 送洗 3 报废 4
		tempItem.RFIDElectronicTag = epc+i
		
		tempItem.Barcode = tempItem.RFIDElectronicTag
		tempItem.AffiliatedHospital = '本院'
		const now = new Date()
	   // 输出格式如: "2023-03-15 12:30:45"
		tempItem.CreationTime = formatDate(now)
		tempItem.ModificationTime = formatDate(now)
	    if(i==0){
			tempItem.image = "./工作服-男.png"
		}else if(i==1){
			tempItem.image = "./工作服-女.png"
		}else if(i%2){
			tempItem.image = "./工作服-分.png"
		}else if(i%3){
			tempItem.image = "./工作服-内.png"
		}else if(i%5){
			tempItem.image = "./手术服.png"
		}else if(i%7){
			tempItem.image = "./病服.png"
		}else if(i%11){
			tempItem.image = "./病服1.png"
		}else if(i%13){
			tempItem.image = "./病服2.png"
		}else if(i%17){
			tempItem.image = "./病服3.png"
		}else{
			tempItem.image = "./病床.png"
		}
		
		
		tempBucaoData.push(tempItem)
		tempItem = null
	}
})
//console.log(JSON.stringify(tempBucaoData))

let bucaoColumns=[
		{
			//rowspan: 2, //合并两行
			align: "center",
			halign: "center",
			valign: "middle",
			checkbox: true
		},
		{
			  field: 'index',
			  title: '序号',
			  align: "center",
			  halign: "center",
			  valign: "middle",
			  sortable: true,
			  //formatter: uidHandle,//自定义方法设置uid跳转链接
			  formatter: function (value, row, index) {
				return index+1;
			  },
			  //rowspan: 2, //合并两行
			  width: 30
		}
	]

	//console.log(JSON.stringify(tempBucaoData))

	let cols = Object.keys(tempBucaoData[0])

	cols.map((item)=>{
		if(item == 'Operation'){
			bucaoColumns.push({
				field: item,
				title: '操作',
				align: "center",
				halign: "center",
				valign: "middle",
				//rowspan: 2, //合并两行
				//width: 400,
				formatter: operateFormatter //自定义方法,添加操作按钮
			})
		}else if(item != 'Department'&&
					item != 'ServiceProvider'&&
					item != 'BoundPersonnel'&&
					item != 'CurrentOperationDocument'&&
					item != 'Description' &&
					item != 'Barcode' &&
					item != 'ModificationTime' &&
					item != 'CreationTime' && item!="image"){
						let tempData = {
							field: item,
							title: item=='ProductCode'?"产品码":
							item=='Variety'?"品种":
							item=='Specification'?"规格":
							item=='ColorPattern'?"颜色花色":
							item=='Quantity'?"数量":
							item=='Unit'?"单位":
							item=='Description'?"描述":
							item=='RFIDElectronicTag'?"RFID电子标签码":
							item=='Barcode'?"条码":
							item=='StorageArea'?"存储区域":
							item=='WarehouseLocationCode'?"库位编码":
							item=='AffiliatedHospital'?"所属医院":
							item=='Status'?"状态":
							item=='ModificationTime'?"修改时间":
							item=='Count'?"洗涤次数":
							item,
							align: "center",
							halign: "center",
							valign: "middle",
							sortable: true,
							//rowspan: 2, //合并两行
							width: "300px",
							editable: true,
							//formatter: operateFormatter //自定义方法,添加操作按钮
						}
						if(item=='Status'){
							tempData = {
								field: item,
								title: "状态",
								align: "center",
								halign: "center",
								valign: "middle",
								sortable: true,
								//rowspan: 2, //合并两行
								width: "300px",
								editable: true,
								formatter: operateFormatterStatus //自定义方法,添加操作按钮
							}
						}
			        bucaoColumns.push(tempData)
		}else if(item=="image"){
			bucaoColumns.push({
				field: item,
				title: '图片',
				align: "center",
				halign: "center",
				valign: "middle",
				sortable: true,
				//rowspan: 2, //合并两行
				width: "300px",
				formatter: imageFormatter //自定义方法,添加操作按钮
			})
		}
		
	})

	var tableData = []

	$(window).on('resize', function() {
		$('#' + tableName).bootstrapTable('resetView');
	});
	
	function initTable(){
	    $('#' + tableName).empty();
		$('#' + tableName).bootstrapTable('destroy').bootstrapTable({
			  //columns: columns, //动态拼接生成表格
			  //data: tableData,
			  columns: bucaoColumns,
			  data: tempBucaoData,
			  //data: [],
			  sortStable: true,
			  toolbar: "#toolbar",                //一个jQuery 选择器,指明自定义的toolbar 例如:#toolbar, .toolbar.
			  uniqueId: "Uid",                    //每一行的唯一标识,一般为主键列
			  height: document.body.clientHeight-150,   //动态获取高度值,可以使表格自适应页面
			  cache: true,                       // 表格缓存
			  striped: true,                      // 隔行加亮 行间隔色
			  queryParamsType: "limit",           //设置为"undefined",可以获取pageNumber,pageSize,searchText,sortName,sortOrder //设置为"limit",符合 RESTFul 格式的参数,可以获取limit, offset, search, sort, order 
			  queryParams: queryParams,
			  sidePagination: "client",           //分页方式:client客户端分页,server服务端分页(*)
			  sortable: true,                     //是否启用排序;意味着整个表格都会排序
			  sortName: 'Uid',                    // 设置默认排序为 name
			  sortOrder: "asc",                   //排序方式
			  pagination: true,                   //是否显示分页(*)
			  search: true,                       //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
			  strictSearch: true,
			  showColumns: true,                  //是否显示所有的列
			  showRefresh: true,                  //是否显示刷新按钮
			  showToggle:true,                    //是否显示详细视图和列表视图
			  detailView: true, // 是否显示父子表
			  clickToSelect: true,                //是否启用点击选中行
			  paginationLoop: true,
			  minimumCountColumns: 2,          //最少允许的列数 clickToSelect: true, //是否启用点击选中行
			  pageNumber: 1,                   //初始化加载第一页,默认第一页
			  pageSize: 10,                    //每页的记录行数(*)
			  pageList: [10, 25, 50, 100],     //可供选择的每页的行数(*)
			  paginationPreText: "上一页",
			  paginationNextText: "下一页",
			  paginationFirstText: "首页",
			  paginationLastText: "末页",
			  undefinedText: "...",
			  responseHandler: responseHandler,
			  showExport: true,
			  buttonsAlign: "right",//按钮位置
			  resizable: true,
			  exportDataType: 'all',//导出的数据类型,支持basic、all 、selected
			  exportOptions:{
                ignoreColumn:[0],      //导出数据忽略第一列
                fileName:'报表',     //导出数据的文件名
                worksheetName:'sheet1',//表格工作区名称
                tableName:'报表',
                excelstyles:['background-color','color','font-size','font-weight']
              },
			  rowStyle: rowStyle,
			  cellStyle:function(value,row,index){// value:单元格值,row:行对象,index:第几行
				// 逻辑            
				return {css: {"background-color": 'rgb(11,22,33)'}};
			  },
			  onLoadSuccess: function (data) { //加载成功时执行
				//console.log(data);
			  },
			  onLoadError: function (res) { //加载失败时执行
				console.log(res);
			  },
			  onSort: function (a, b) { //点击排序时触发
				$(".fixed-table-header").removeClass('hidden');
				return a - b;
			  },
			  onExpandRow: function(index,row,$detail){
				initSubTable(index,row,$detail)
			  },
			  editable: true, // 启用编辑功能
			  onEditableSave: function(field, row, oldValue, $el) {
				// 保存编辑后的值
				console.log('Edited:', field, row, oldValue, $el);
			  }
		});
		$(".fixed-table-header").addClass('hidden');
		//初始化子表 无限循环
		const initSubTable = function(index,row,$detail){
			let parentId = row.id
			let cur_table = $detail.html('<table></table>').find('table')
			let len = row.Count
			let tData = []
			let currentDate = new Date(); // 获取当前日期
			if(len != 0){
				for(let i = 1;i<len+1;i++){
					let previousDate = formatDate(new Date(currentDate.getTime() - (len-i)*2*24*60*60*1000)); // 将当前日期减去一天的毫秒数
					let tCountObj = {
						"mesh": i,
						"translation": [
							(-69.28118*i).toFixed(1),
							(97.06617*i).toFixed(1),
							(-31.3581028*i).toFixed(1)
						],
						"scale": [
							1,
							1,
							1
						],
						"Description": i>100?"第"+i+"次清洗,超过洗涤次数上限,需要申请报废!":"第"+i+"次清洗",
						"date": previousDate,
						"LaundryFactory": "医用织物洗涤工厂",
						"operate": "作业员",
						"rotation": [
							i,
							-i,
							(i/3).toFixed(1),
							1
						]
					}
					tData.push(tCountObj)
				}
			}
			$(cur_table).bootstrapTable({
				data: tData,
				columns:[
				{
					field: 'Uid',
					title: '编号',
					align: 'center',
					align: "center",
					halign: "center",
					valign: "middle",
					//formatter: uidHandle,//自定义方法设置uid跳转链接
					formatter: function (value, row, index) {
						return index+1;
					},
					width: 30
				},
				{
					field: 'Description',
					title: '描述',
					width: 100
				},
				{
					field: 'LaundryFactory',
					title: '洗涤工厂',
					width: 100
				},
				{
					field: 'operate',
					title: '操作员',
					width: 100
				},
				{
					field: 'date',
					title: '修改日期',
					width: 100
				},
				/*
				{
					field: 'translation',
					title: 'translation',
					width: 100
				},
				{
					field: 'scale',
					title: 'scale',
					width: 100
				},
				{
					field: 'rotation',
					title: 'rotation',
					width: 100
				}*/
			],
				uniqueId: "Uid",                    //每一行的唯一标识,一般为主键列
				//无限循环取子表,直到子表里面没有记录
				onExpandRow: function(index,row,$detail){
					initSubTable(index,row,$detail)
				}
			})
		}
		//执行分时任务
		btnTask()
	}
	 
	/***************************************
	* 生成从minNum到maxNum的随机数。
	* 如果指定decimalNum个数,则生成指定小数位数的随机数
	* 如果不指定任何参数,则生成0-1之间的随机数。
	*
	* @minNum:[数据类型是Integer]生成的随机数的最小值(minNum和maxNum可以调换位置)
	* @maxNum:[数据类型是Integer]生成的随机数的最大值
	* @decimalNum:[数据类型是Integer]如果生成的是带有小数的随机数,则指定随机数的小数点后的位数
	*
	****************************************/
	function randomNum(maxNum, minNum, decimalNum) {
		var max = 0, min = 0;
		minNum <= maxNum ? (min = minNum, max = maxNum) : (min = maxNum, max = minNum);
		switch (arguments.length) {
			case 1:
				return Math.floor(Math.random() * (max + 1));
				break;
			case 2:
				return Math.floor(Math.random() * (max - min + 1) + min);
				break;
			case 3:
				return (Math.random() * (max - min) + min).toFixed(decimalNum);
				break;
			default:
				return Math.random();
				break;
		}
	}
	
	function refresh(){
        $('#' + tableName).bootstrapTable('refresh');
    }

    function DoOnMsoNumberFormat(cell, row, col) {
        var result = "";
        if (row > 0 && col == 0)
            result = "\\@";
        return result;
    }
	

    var columns=[]
    function buildTableColumns() {
	    columns = []
	
	    var itemCode=[], //所选择因子的code
            itemName=[];  // 所选择因子的text
        $.each($(".itemArea li input[type='checkbox']"),function () {
            if($(this).is(":checked")){
                itemCode.push($(this).data("code"));
                itemName.push($(this).parents("label").text());
            }
        });

	    var initColumns = []; //公共固定列
	    var itemColumns = []; //动态因子列
			  
	    initColumns=[
		{
			rowspan: 2, //合并两行
			align: 'center',
			align: "center",
			halign: "center",
			valign: "middle",
			checkbox: true
		},
		{
			  field: 'Uid',
			  title: '编号',
			  align: 'center',
			  align: "center",
			  halign: "center",
			  valign: "middle",
			  //formatter: uidHandle,//自定义方法设置uid跳转链接
			  formatter: function (value, row, index) {
				return index+1;
			  },
			  rowspan: 2, //合并两行
			  width: 30
		}, {
			  field: 'time',
			  title: '时间',
			  align: 'center',
			  align: "center",
			  halign: "center",
			  valign: "middle",
			  width: 200,
			  rowspan: 2, //合并两行
			  formatter: function (value, row, index) {//赋予的参数
				  return ['<div style="width: 200px;display: flex;justify-content: space-around;">'+value+'</div>'].join('');
				},
			  sortable:false   //本列不可以排序
		}];

		if(itemCode.length>0){
			//根据选择因子绘制动态表头
			for (var i = 0; i < itemCode.length; i++) {
				switch(itemCode[i]){
					case 'B01':
						initColumns.push (
							{
								field: "",
								title: itemName[i] ,
								//width: 80,
								align: "right",
								halign: "center",
								colspan: 5
							}
						);
						itemColumns.push({
								  field: 'value0',
								  title: '流量(m³/h)',
								  align: 'center'
							  }, {
								  field: 'value1',
								  title: '累计量(m³)',
								  align: 'center',
								  //sortable: true,
								  //clickToSelect: false,
								  sortName: "age",
								  order:"asc"
							  }, {
								  field: 'value2',
								  title: '浊度(Ntu)',
								  align: 'left',
								  halign:'center' //设置表头列居中对齐
							  }, {
								  field: 'value3',
								  title: 'pH',
								  align: 'center'
							  }, {
								  field: 'value4',
								  title: '温度(℃)',
								  align: 'center'
							  });
					  break;
					case 'B02':
						initColumns.push ({
								field: "",
								title: itemName[i] ,
								//width: 80,
								align: "right",
								halign: "center",
								colspan: 10
							});
						itemColumns.push({
							  field: 'value5',
							  title: '库流量(m³/h)',
							  align: 'center'
						  }, {
							  field: 'value6',
							  title: '库累积量(m³)',
							  align: 'center'
						  }, {
							  field: 'value7',
							  title: '纸流量(m³/h)',
							  align: 'center'
						  }, {
							  field: 'value8',
							  title: '纸累积量(m³)',
							  align: 'center'
						  }, {
							  field: 'value9',
							  title: '横流量(m³/h)',
							  align: 'center'
						  }, {
							  field: 'value10',
							  title: '横累积量(m³)',
							  align: 'center'
						  }, {
							  field: 'value11',
							  title: '浊度(Ntu)',
							  align: 'center'
						  }, {
							  field: 'value12',
							  title: '余氯(mg/L)',
							  align: 'center'
						  }, {
							  field: 'value13',
							  title: 'pH',
							  align: 'center'
						  }, {
							  field: 'value14',
							  title: '温度(℃)',
							  align: 'center'
						  });
					  break;
					case 'B03':
						initColumns.push ({
								field: "",
								title: itemName[i] ,
								//width: 80,
								align: "right",
								halign: "center",
								colspan: 2
							});
						itemColumns.push({
							  field: 'value15',
							  title: '1#吸水井(m)',
							  align: 'center'
						  }, {
							  field: 'value16',
							  title: '2#吸水井(m)',
							  align: 'center'
						  });
					  break;
					case 'B04':
						initColumns.push ({
								field: "",
								title: itemName[i] ,
								//width: 80,
								align: "right",
								halign: "center",
								colspan: 3
							});
						itemColumns.push({
							  field: 'value17',
							  title: '大河(Bar)',
							  align: 'center'
						  }, {
							  field: 'value18',
							  title: '哈河(Bar)',
							  align: 'center'
						  }, {
							  field: 'value19',
							  title: '杭河(Bar)',
							  align: 'center'
						  });
					  break;
					default:
					  break;
				}
			}
			
			initColumns.push ({
				  field: 'operate',
				  title: '操作',
				  align: 'center',
				  align: "center",
				  halign: "center",
				  valign: "middle",
				  rowspan: 2, //合并两行
				  width: 200,
				  formatter: operateFormatter//自定义方法,添加操作按钮
				});
		}
		
		columns.push(initColumns, itemColumns); //合并表格内容
    }
	
	$(function(){
		  var hash = window.location.hash;
		  hash && $('ul.nav a[href="'+hash+'"]').tab('show');
		  $("#navList a").click(function(e){
		    e.preventDefault()
			$(this).tab('show');
		  });
		  var nua = navigator.userAgent
		  var isAndroid = (nua.indexOf('Mozilla/5.0') > -1 && nua.indexOf('Android ') > -1 && nua.indexOf('AppleWebKit') > -1 && nua.indexOf('Chrome') === -1)
		  if (isAndroid) {
			$('select.form-control').removeClass('form-control').css('width', '100%')
		  }
		  init()
	});
	
	// Example starter JavaScript for disabling form submissions if there are invalid fields
	$(() => {
	  'use strict'
	  // Fetch all the forms we want to apply custom Bootstrap validation styles to
	  const forms = document.querySelectorAll('.needs-validation')

	  // Loop over them and prevent submission
	  Array.from(forms).forEach(form => {
		form.addEventListener('submit', event => {
		  if (!form.checkValidity()) {
			event.preventDefault()
			event.stopPropagation()
		  }

		  form.classList.add('was-validated')
		}, false)
	  })
	});
	
	function dateFormat(viewMode){
		let format= ''
		switch(viewMode){
			case 'days':
			    format = 'yyyy-mm-dd'
				break;
			case 'months':
			    format = 'yyyy-mm'
				break;
			case 'years':
			    format = 'yyyy'
				break;
			default:
				break;
		}
		return format
	}

	function dateFormatCap(viewMode){
		let format= ''
		switch(viewMode){
			case 'days':
			    format = 'YYYY-MM-DD'
				break;
			case 'months':
			    format = 'YYYY-MM'
				break;
			case 'years':
			    format = 'YYYY'
				break;
			default:
				break;
		}
		return format
	}

	function addDate(viewMode='days',num){
		let temp = today
		today =  moment(temp).add(parseInt(num), viewMode).format(dateFormatCap(viewMode))
		$("#startDate").datepicker("destroy");
		initDate(viewMode)
		getData(viewModeTable(viewMode))
	}

	function subtractDate(viewMode='days',num){
		let temp = today
		today =  moment(temp).subtract(parseInt(num), viewMode).format(dateFormatCap(viewMode))
		$("#startDate").datepicker("destroy");
		initDate(viewMode)
		getData(viewModeTable(viewMode))
	}

	function selectDateBtn(viewMode='days'){
		let str = ''
		if(viewMode=='days'){
			str = '日'
		}else if(viewMode=='months'){
			str = '月'
		}else if(viewMode=='years'){
			str = '年'
		}
		let htmlDiv =  '<button class="btn btn-default"  onclick='+'subtractDate("'+viewMode+'",1)'+' style="height:40px;">上一'+str+'</button>'+
			'<button class="btn btn-default"  onclick='+'addDate("'+viewMode+'",1)'+' style="height:40px;">下一'+str+'</button>'
		$('#date-operate').html(htmlDiv)
		$("#startDate").datepicker("destroy");
		initDate(viewMode)
	}

	let today = new Date();

	function initDate(viewMode='days'){
		//'days' 'months' 'years'
		//初始化日期
		var ops = {
			todayHighlight:true, //设置当天日期高亮 
			language: 'zh-CN', //语言
			autoclose: false, //选择后自动关闭
			clearBtn: true,//清除按钮
			format: dateFormat(viewMode),//日期格式
			todayBtn: true,//设置今天按钮显示
			minViewMode: viewMode,
			maxViewMode: viewMode
		};

		$("#startDate").datepicker(ops);
		$("#startDate").datepicker("update", today);
	}
	
	function init(){
		initDate();
	    // 获取动态因子数据
	    getItemData(); 
		//  监听因子点击事件
		$(".itemArea li label").click( ()=> {
			getItemData();
		});
	}
	
	function getItemData() {
		getData('day');
    }
	
	function add(){
		  var mockDatas=[];
		  let liuliang = randomNum(0,1000)
		  let leijiliuliang = randomNum(100000,1000000)
		  for(let i = 0;i< 1;i++){
			let temp = {
				uid: i,
				time: new Date().toLocaleDateString('en-GB'),
				value0: ((liuliang+i)*Math.random()).toFixed(1),
				value1: leijiliuliang+i,
				value2: randomNum(0,10,2),
				value3: randomNum(6.5,8.5,2),
				value4: randomNum(20,30,2),
				value5: ((liuliang+i)*Math.random()).toFixed(1),
				value6: leijiliuliang+i,
				value7: ((liuliang+i)*Math.random()).toFixed(1),
				value8: leijiliuliang+i,
				value9: ((liuliang+i)*Math.random()).toFixed(1),
				value10: leijiliuliang+i,
				value11: randomNum(0,1,2),
				value12: randomNum(1,1,2),
				value13: randomNum(6.5,8.5,2),
				value14: randomNum(20,30,2),
				value15: randomNum(3,5,2),
				value16: randomNum(3,5,2),
				value17: randomNum(0,1,2),
				value18: randomNum(0,1,2),
				value19: randomNum(0,1,2),
				value20: randomNum(1,100),
				value21: randomNum(1,100),
			  }
			  mockDatas.push(temp)
		  }
	    // 添加记录
		//$('#btn_add').click(function() {
			// 使用bootstrap-table的编辑器API
			//$('#' + tableName).bootstrapTable('append', mockDatas[0] );
			$('#' + tableName).bootstrapTable('prepend', mockDatas[0]);
		//});
	}
	let selectedRows = null
	function edit(){

		// 编辑记录
		//$('#btn_edit').click(function() {
			selectedRows = $('#' + tableName).bootstrapTable('getSelections');
			if (selectedRows.length == 0) {
				alert('Please select one row to edit!');
				return;
			}
			if ((selectedRows.length >= 2)) {
				alert("只能选择一条记录!");
				return;
			} else {
				// 启用编辑模式

				// 使用jQuery来打开模态框
                $('#myModal').modal('show');

				// 假设表格配置了uniqueId属性,且每行数据有一个唯一的id字段
				let uniqueId = 'Uid'; // 这应该与表格配置的uniqueId属性相匹配

				let rowIndex = ''
				$.each(selectedRows, function(index, row) {
					// 使用uniqueId找到行索引
					rowIndex = row[uniqueId];
					let htmlDoc = ''
					Object.keys(row).map((key)=>{
						if(!['0','_position'].includes(key)){
							htmlDoc += `<div class="col-sm-6"><div class="form-group"><label class="col-sm-3 control-label">${key}:</label>
							<div class="col-sm-8"><input class="form-control" type="text" name='${key}' id='${key}' value='${row[key]}' >
							</div></div></div>`
						}
					})

					document.querySelector('#editerModal').innerHTML = htmlDoc
				});


				//$('#' + tableName).bootstrapTable('updateRow',  {
				//	index: rowIndex, // 行索引
				//	row: tempBucaoData[rowIndex+1] // 新的行数据
				//});
			}
			
		//});
	}

	function saveEdit(){

		// 假设表格配置了uniqueId属性,且每行数据有一个唯一的id字段
		let uniqueId = 'Uid'; // 这应该与表格配置的uniqueId属性相匹配

		let rowIndex = ''
		let newData = {}
		$.each(selectedRows, function(index, row) {
			// 使用uniqueId找到行索引
			rowIndex = row[uniqueId];
			newData = row;
			Object.keys(row).map((key)=>{
				if(!['0','_position'].includes(key)){
					// 获取id为"myInputId"的input元素
					let inputElement = document.getElementById(key);
					// 获取这个input元素的值
					let inputValue = inputElement.value;
					newData[key] = inputValue;
				}
				
			})
		});

		$('#' + tableName).bootstrapTable('updateRow',  {
			index: rowIndex, // 行索引
			row: newData // 新的行数据
		});

		// 使用jQuery来关闭模态框
		$('#myModal').modal('hide');
		document.querySelector('#editerModal').innerHTML = ''
		selectedRows = null
	}

	function changeLinenStatus(index,data){
		let temp = tempBucaoData[index]
		temp.Status = data
		$('#' + tableName).bootstrapTable('updateRow',  {
			index: index, // 行索引
			row: temp // 新的行数据
		});
	}

	function remove(){
		// 删除记录
		//$('#btn_delete').click(function() {
			let selectedRows = $('#' + tableName).bootstrapTable('getSelections');
			if (selectedRows.length == 0) {
				alert('Please select one row to edit!');
				return;
			} else if ((selectedRows.length >= 2)) {
				alert("只能选择一条记录进行删除操作!");
				return;
			} else {
				// 启用编辑模式

				// 假设表格配置了uniqueId属性,且每行数据有一个唯一的id字段
				let uniqueId = 'Uid'; // 这应该与表格配置的uniqueId属性相匹配

				let rowIndex = ''
				$.each(selectedRows, function(index, row) {
					// 使用uniqueId找到行索引
					rowIndex = row[uniqueId];
				});

				$('#' + tableName).bootstrapTable('remove', {
					field: 'Uid',
                    values: [rowIndex]
				});

				// 删除所有行
				//$('#' + tableName).bootstrapTable('removeAll');
			}
		//})
	}
	function removeBatch(){
		    let selectedRows = $('#' + tableName).bootstrapTable('getSelections');
			if (selectedRows.length == 0) {
				alert('Please select one row to edit!');
				return;
			} else {
				// 启用编辑模式

				// 假设表格配置了uniqueId属性,且每行数据有一个唯一的id字段
				let uniqueId = 'Uid'; // 这应该与表格配置的uniqueId属性相匹配

				let rowIndex = []
				$.each(selectedRows, function(index, row) {
					// 使用uniqueId找到行索引
					rowIndex.push(row[uniqueId]);
				});

				$('#' + tableName).bootstrapTable('remove', {
					field: 'Uid',
                    values: rowIndex
				});

				// 删除所有行
				//$('#' + tableName).bootstrapTable('removeAll');
			}
	  /*let tids;
	  let rows = $('#' + tableName).bootstrapTable('getSelections');
	  if (rows.length == 0) {// rows 主要是为了判断是否选中,下面的else内容才是主要
		alert("请至少选择一条要删除的记录!");
		return;
	  } else {
		let arrays = new Array();// 声明一个数组
		$(rows).each(function () {// 通过获得别选中的来进行遍历
		  arrays.push(this.uid);// uid为获得到的整条数据中的一列
		});
		tids = arrays.join(','); // 获得要删除的id
	  }*/
	  /*$.ajax({
		type: "post",//方法类型
		dataType: "json",//预期服务器返回的数据类型
		url: ctx + 'system/madareanumberview/removeBatch?tids=' + tids,//url
		success: function (result) {
		  if (result.success) {
			alert("删除成功");
		  } else {
			alert(result.message);
		  }
		}
	  })*/
	}
	
	function submitFun(e){
	   console.log('提交表单')
	   $('#myModal').modal('hide')
	   startWorker()
	}

	
	function fullscreen() {
		var element = document.getElementById('reportTab');
		if (element.requestFullscreen) {
			element.requestFullscreen();
		} else if (element.mozRequestFullScreen) { /* Firefox */
			element.mozRequestFullScreen();
		} else if (element.webkitRequestFullscreen) { /* Chrome, Safari & Opera */
			element.webkitRequestFullscreen();
		} else if (element.msRequestFullscreen) { /* IE/Edge */
			element.msRequestFullscreen();
		}
	}
	
	document.addEventListener('fullscreenchange', function() {
		if (!document.fullscreenElement) {
			// 退出全屏时的代码
		}
	}, false);
	
	document.addEventListener('mozfullscreenchange', function() {
		if (!document.mozFullScreenElement) {
			// 退出全屏时的代码
		}
	}, false);
	
	document.addEventListener('webkitfullscreenchange', function() {
		if (!document.webkitFullscreenElement) {
			// 退出全屏时的代码
		}
	}, false);
	
	document.addEventListener('msfullscreenchange', function() {
		if (!document.msFullscreenElement) {
			// 退出全屏时的代码
		}
	}, false);

	//高阶函数 分时执行 封装举例
	//const btn = document.querySelector('#btnTask');
	//生成 长度100000 数组
	//sconst datas = new Array(100000).fill(0).map((_, i)=>i);
	
	function btnTask() {
		
		/*for(const i of datas){
			const div = document.createElement('div');
			div.innerText = i;
			document.body.appendChild(div);
		}*/
		
		const taskHandler = (_, i)=>{
			//const div = document.createElement('div');
			//div.innerText = i;
			//document.body.appendChild(div);
			//console.log('执行分时任务',tempBucaoData[i]);

			//在调用 load 方法之前,你可以保存当前表格的状态,例如当前页码、每页显示的行数、排序字段和排序顺序。
			//let currentPage = $('#' + tableName).bootstrapTable('getOptions').pageNumber;
			//let pageSize = $('#' + tableName).bootstrapTable('getOptions').pageSize;
			//let sortName = $('#' + tableName).bootstrapTable('getOptions').sortName;
			//let sortOrder = $('#' + tableName).bootstrapTable('getOptions').sortOrder;

			//尾部插入新数据
			//$('#' + tableName).bootstrapTable('append', tempBucaoData[i]);

			//头部插入新数据
			//$('#' + tableName).bootstrapTable('prepend', tempBucaoData[i]);

			//$('#' + tableName).bootstrapTable('load', tempBucaoData[i]);

			//$('#' + tableName).bootstrapTable('selectPage', currentPage);
			//$('#' + tableName).bootstrapTable('refreshOptions', {
			//	pageSize: pageSize,
			//	sortName: sortName,
			//	sortOrder: sortOrder
			//});

			//如果你使用的是服务器端分页、排序和搜索,那么在调用 load 方法后,你可能需要重新发起请求到服务器,以获取正确的数据集,同时传递相应的分页、排序和搜索参数

			//$('#' + tableName).bootstrapTable('load', newDataArray, { silent: true });

			//设置 silent 选项为 true 在 load 方法中,这样它就不会触发 load 事件,但这不会保留状态,只是防止事件触发。

			//$('#' + tableName).bootstrapTable('updateRow', {
			//	index: rowIndex, // 行索引
			//	row: newRowData // 新的行数据
			//});
			//$('#' + tableName).bootstrapTable('remove', {
			//	field: 'id', // 根据哪个字段来删除
			//	values: [value1, value2] // 要删除的值数组
			//});

			//使用 refresh 方法而不是 load 方法,它会刷新当前数据,而不是替换它们,从而可能保留状态。
			//$('#' + tableName).bootstrapTable('refresh');

			//为了更好地管理表格状态,你可能需要编写额外的逻辑来确保在数据更新后,用户界面的一致性和预期的行为。
		};
		const scheduler = (task)=>{
			setTimeout(()=>{
				const now = performance.now()
				task(()=>performance.now()-now<=10)
			},1000)
			//requestIdleCallback((idle)=>{
			//	task(()=>idle.timeRemaining())
			//})
		}
		//performChunk(datas, taskHandler, scheduler)
		//通用函数,保证易用性和灵活性
		//browserPerformChunk(datas, taskHandler)
		browserPerformChunk(tempBucaoData, taskHandler)
	}


	function performChunk(datas, taskHandler, scheduler){
		//参数归一化
		if(typeof datas === 'number'){
			datas = {
				length: datas
			}
		}
		let i = 0;
		function _run(){
			if(i>=datas.length){
				return
			}
			//一个渲染帧中,空闲时开启分片执行
			scheduler((goOn)=>{
				while(goOn()&& i<datas.length){
					taskHandler(datas[i],i)
					i++;
				}
				//此次分片完成
				_run();
			})
			/*requestIdleCallback(()=>{
				while(idle.timeRemaining()>0&& i<datas.length){
					taskHandler(datas[i],i)
					i++;
				}
				//此次分片完成
				_run();
			})*/
		}
		_run()
	}

	function browserPerformChunk(datas, taskHandler){
		const scheduler = (task)=>{
			//requestAnimationFrame()
			requestIdleCallback((idle)=>{
				task(()=>idle.timeRemaining())
			})
		}
		//performChunk(datas, taskHandler, scheduler)
		performChunk(datas, taskHandler, scheduler)
	}

	</script>
	
</body>
</html>

参见:

使用 jQuery 实现各种 JavaScript 效果

Bootstrap v3 中文文档 · Bootstrap 是最受欢迎的 HTML、CSS 和 JavaScript 框架,用于开发响应式布局、移动设备优先的 WEB 项目。 | Bootstrap 中文网

Worker - Web API | MDN

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/934819.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS(65) ArkUI FrameNode详解

Node 1、Node简介2、FrameNode2.1、创建和删除节点2.2、对FrameNode的增删改2.3、 FramNode的查询功能3、demo源码4、总结5、参考资料1、Node简介 在HarmonyOS(63) ArkUI 自定义占位组件NodeContainer介绍了自定义节点复用的原理(阅读本本篇博文之前,建议先读读这个),在No…

独家首发 | 基于 KAN、KAN卷积的轴承故障诊断模型

往期精彩内容&#xff1a; Python-凯斯西储大学&#xff08;CWRU&#xff09;轴承数据解读与分类处理 基于FFT CNN - BiGRU-Attention 时域、频域特征注意力融合的轴承故障识别模型-CSDN博客 基于FFT CNN - Transformer 时域、频域特征融合的轴承故障识别模型-CSDN博客 P…

【总结·反思·汇报·思考02】裸辞后,我的一些感想和感悟。

Hello&#xff0c;大家好&#xff01; 首先&#xff0c;我需要向大家道个歉&#xff0c;对不起&#xff01;因为最近发生了一些事情&#xff0c;博客文章一直没有更新。&#xff08;90度鞠躬道歉&#xff09; 那么&#xff0c;最近到底发生了什么呢&#xff1f;相信大家已经从…

解密分布式锁:保障系统一致性的关键

作者&#xff1a;后端小肥肠 &#x1f347; 我写过的文章中的相关代码放到了gitee&#xff0c;地址&#xff1a;xfc-fdw-cloud: 公共解决方案 &#x1f34a; 有疑问可私信或评论区联系我。 &#x1f951; 创作不易未经允许严禁转载。 目录 1. 前言 2. 为何要使用分布式锁&…

HarmonyOS-高级(一)

文章目录 一次开发、多端部署自由流转 &#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;HarmonyOS专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年12月09日12点19分 一次开发、多端部署 布局能力 自适应布局 拉伸能力均分能力占比能力缩放…

河工oj第七周补题题解2024

A.GO LecturesⅠ—— Victory GO LecturesⅠ—— Victory - 问题 - 软件学院OJ 代码 统计 #include<bits/stdc.h> using namespace std;double b, w;int main() {for(int i 1; i < 19; i ) {for(int j 1; j < 19; j ) {char ch; cin >> ch;if(ch B) b …

开源架构安全深度解析:挑战、措施与未来

开源架构安全深度解析&#xff1a;挑战、措施与未来 一、引言二、开源架构面临的安全挑战&#xff08;一&#xff09;代码漏洞 —— 隐藏的定时炸弹&#xff08;二&#xff09;依赖项安全 —— 牵一发而动全身&#xff08;三&#xff09;社区安全 —— 开放中的潜在危机 三、开…

Ubuntu上使用system()函数运行不需要输入密码

使用system()运行一些终端命令的时候&#xff0c;需要sudo权限&#xff0c;也就是必须输入密码&#xff0c;那么在程序自启动的时候就无法成功启动。如果设置Ubuntu下所有操作都不需要密码&#xff0c;安全性太低&#xff0c;所以我们可以将需要用到的终端指令给予无需输入密码…

HBuilderX(uni-app)Vue3路由传参和接收路由参数!!

uni-app搭建小程序时候Vue3语法接收路由参数&#xff0c;去官方文档查看&#xff0c;是onLoad的option接收参数&#xff0c;我试过&#xff0c;接收不到&#xff0c;上网查各种方法也是不太行&#xff0c;最后自己琢磨出来了&#xff0c;这参数藏得还挺深&#xff01;&#xff…

操作系统(1)OS的基本概念

一、定义 操作系统&#xff08;OS&#xff09;是控制和管理整个计算机系统的硬件与软件资源&#xff0c;并合理地组织、调度计算机的工作与资源的分配&#xff0c;进而为用户和其他软件提供方便接口与环境的程序集合。它是计算机系统中最基本的系统软件。 二、功能 资源管理&am…

gridcontrol多行表头

效果如下 只需这样做,设置该属性为对应的值

Formality:set_svf命令

相关阅读 Formalityhttps://blog.csdn.net/weixin_45791458/category_12841971.html?spm1001.2014.3001.5482 svf文件的全称是Setup Verification for Formality&#xff0c;即Design Compiler提供给Formality的设置验证文件&#xff0c;它的作用是为Formality的指导模式(Gui…

【蓝桥杯每日一题】重新排序

重新排序 2024-12-8 蓝桥杯每日一题 重新排序 前缀和 差分 题目大意 给定一个数组 A 和一些查询 L i , R i Li_,R_i Li,​Ri​, 求数组中第 L i L_i Li​至第 R i R_i Ri​个元素之和。 小蓝觉得这个问题很无聊, 于是他想重新排列一下数组, 使得最终每个查 询结果的和尽可能…

LabelImg使用教程

(yolov5scondaPython3123) D:\PyCharm20240724\20240724PyCharmProject>conda.bat deactivate D:\PyCharm20240724\20240724PyCharmProject>conda activate labelimg_env (labelimg_env) D:\PyCharm20240724\20240724PyCharmProject> labelimg 创建快捷键方式

洛谷 P1179 [NOIP2010 普及组] 数字统计 C语言

题目&#xff1a; https://www.luogu.com.cn/problem/P1179 思路&#xff1a;直接暴力过 代码&#xff1a; #include<iostream> using namespace std; int cnt(int x) {int sum 0;while(x){int temp x %10;if(temp 2){sum;}x x/10;}return sum; } int main(void) …

练9:进制转换

欢迎大家订阅【蓝桥杯Python每日一练】 专栏&#xff0c;开启你的 Python数据结构与算法 学习之旅&#xff01; 文章目录 1 进制转换2 例题分析 1 进制转换 ①任意制转为十进制 【示例】 ②十进制转为任意制 【法一】 【法二】 2 例题分析 题目地址&#xff1a;https:/…

【ComfyUI+多视图生成】MV-Adapter:多视图一致性图片生成(2024.12.09基于SDXL开源)

源码&#xff1a;https://github.com/huanngzh/MV-Adapter ComfyUI扩展&#xff1a;https://github.com/huanngzh/ComfyUI-MVAdapter 项目主页&#xff1a;https://huanngzh.github.io/MV-Adapter-Page/ 论文&#xff1a;2412.MV-Adapter: Multi-view Consistent Image Generat…

《机器学习》2.4假设检验 t分布 F分布

目录 t发布 注意是这个东西服从t分布 数据服从t分布通常是在以下情况下&#xff1a; 以下是一些具体的例子&#xff0c;说明在何种情况下数据会服从t分布&#xff1a; t检验 交叉验证t检验 样本方差​编辑 F分布&#xff08;fisher Friedman检验是一种非参数统计方法&a…

图像识别 | Matlab基于卷积神经网络(CNN)的宝可梦识别源程序,GUI界面。附详细的运行说明。

图像识别 | Matlab基于卷积神经网络(CNN)的宝可梦识别源程序&#xff0c;GUI界面。附详细的运行说明。 目录 图像识别 | Matlab基于卷积神经网络(CNN)的宝可梦识别源程序&#xff0c;GUI界面。附详细的运行说明。预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab基…

全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之计数器与累加器(一)

学习背景&#xff1a; 在现实生活中一些需要计数的场景下我们会用到计数器&#xff0c;如空姐手里记录乘客的计数器&#xff0c;跳绳手柄上的计数器等。累加器是累加器求和&#xff0c;以得到最后的结果。计数器和累加器它们虽然是基础知识&#xff0c;但是应用广泛&#xff0…