从EXCEL表格到WEB TABLE的实践

news2024/12/15 17:32:01

前言

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python中向量指的是什么意思

一、向量是什么 在数学中&#xff0c;向量&#xff08;也称为欧几里得向量、几何向量、矢量&#xff09;&#xff0c;指具有大小&#xff08;magnitude&#xff09;和方向的量。它可以形象化地表示为带箭头的线段。箭头所指&#xff1a;代表向量的方向&#xff1b;线段长度&am…

高数 导数

文章目录 一&#xff0c;导数的知识点 二&#xff0c;单侧导数 三&#xff0c;可导和连续的关系 四&#xff0c;复合函数求导 五&#xff0c;参数方程求导 六&#xff0c;高阶导数求导 七&#xff0c;隐函数求导 八&#xff0c;微分基础 一&#xff0c;导数常用的知识点 …

基于Spring Boot的同城宠物照看系统的设计与实现

一、摘要 在快节奏的现代生活中&#xff0c;宠物已成为许多家庭不可或缺的一部分。然而&#xff0c;宠物照看服务的需求也随之增长。为了满足这一需求&#xff0c;我们设计并实现了一款同城宠物照看系统&#xff0c;该系统利用Java技术和MySQL数据库&#xff0c;为用户提供一个…

光伏逆变器负载的维护和保养方法有哪些?

光伏逆变器是光伏发电系统中的关键设备&#xff0c;它将太阳能电池板产生的直流电转换为交流电&#xff0c;为家庭和工业用电提供稳定的电力。为了保证光伏逆变器的正常运行和延长其使用寿命&#xff0c;我们需要对其进行定期的维护和保养。以下是一些建议&#xff1a; 清洁&a…

离开花少6后的周雨彤,还会不会好了

花儿与少年&#xff0c;这档著名的旅行综艺&#xff0c;从丝路季的9.3分&#xff0c;一路狂跌至第六季的3.9分&#xff0c;有人说是因为节目里太过抓马&#xff0c;导致这季分数太低&#xff0c;然而以最强抓马著称的花少2都有7.1分的高分。 花少6难看是真的&#xff0c;导演组…

警惕!手动调整服务器时间可能引发的系统灾难

警惕&#xff01;手动调整服务器时间可能引发的系统灾难 1. 鉴权机制1.1 基于时间戳的签名验证1.2 基于会话的认证机制&#xff08;JWT、TOTP&#xff09; 2. 雪花算法生成 ID 的影响2.1 时间戳回拨导致 ID 冲突2.2 ID 顺序被打乱 3. 日志记录与审计3.1 日志顺序错误3.2 审计日…

群控系统服务端开发模式-应用开发-操作记录功能开发

一、开放路由 在根目录下route文件夹下修改app.php文件&#xff0c;代码如下&#xff1a; // 操作日志Route::get(token/get_list,permission.Token/getList);// 获取操作日志列表Route::post(token/get_all,permission.Token/getAll);// 获取操作日志所有数据Route::post(toke…

无限弹窗?无限重启?

Windows开机自启目录&#xff1a; "%USERPROFILE%\AppData\Roaming\Microsoft\windows\StartMenu\Programs\Startup" 基于这个和 start 命令&#xff0c; shutdown 命令&#xff0c; 编写 bat 病毒程序。 无限弹窗 echo start cmd > hack.txt echo %0 >>…

6.1 初探MapReduce

MapReduce是一种分布式计算框架&#xff0c;用于处理大规模数据集。其核心思想是“分而治之”&#xff0c;通过Map阶段将任务分解为多个简单任务并行处理&#xff0c;然后在Reduce阶段汇总结果。MapReduce编程模型包括Map和Reduce两个阶段&#xff0c;数据来源和结果存储通常在…

Scripted Pipeline语法简单使用

一、JenkinsFile 语法参数 env_tools 环境工具变量的定义设置位置&#xff1a; “Manage Jenkins”-> “Tools” stage(env tools) {node(test){ //定义maven java环境def mvnHome tool MAVEN_HOME_CentOS//引用环境变量&#xff0c;配置PATH变量env.PATH &qu…

前端退出对话框也就是点击右上角的叉,显示灰色界面,已经解决

文章目录 遇到一个前端bug&#xff0c;点击生成邀请码 打开对话框 然后我再点击叉号&#xff0c;退出对话框&#xff0c;虽然退出了对话框&#xff0c;但是显示灰色界面。如下图&#xff1a; 导致界面就会失效&#xff0c;点击任何地方都没有反应。 发现是如下代码的问题&am…

在 Kibana 中为 Vega Sankey 可视化添加过滤功能

作者&#xff1a;来自 Elastic Tim Bosman 及 Miloš Mandić 有兴趣在 Kibana 中为 Vega 可视化添加交互式过滤器吗&#xff1f;了解如何利用 “kibanaAddFilter” 函数轻松创建动态且响应迅速的 Sankey 可视化。 在这篇博客中&#xff0c;我们将了解如何启用 Vega Sankey 可视…

【实验】【H3CNE邓方鸣】交换机端口安全实验+2024.12.11

实验来源&#xff1a;邓方鸣交换机端口安全实验 软件下载&#xff1a; 华三虚拟实验室: 华三虚拟实验室下载 wireshark&#xff1a;wireshark SecureCRT v8.7 版本: CRT下载分享与破解 文章目录 dot1x 开启802.1X身份验证 开启802.1X身份验证&#xff0c;需要在系统视图和接口视…

qt 封装 调用 dll

这个目录下 &#xff0c;第一个收藏的这个 &#xff0c;可以用&#xff0c; 但是有几个地方要注意 第一.需要将dll的头文件添加到qt的文件夹里面 第二&#xff0c;需要在pro文件里面添加动态库路径 第三&#xff0c;如果调用dll失败&#xff0c;那么大概需要将dll文件放在e…

JS原型及原型链

欢迎来到“雪碧聊技术”CSDN博客&#xff01; 在这里&#xff0c;您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者&#xff0c;还是具有一定经验的开发者&#xff0c;相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导&#xff0c;我将…

常见的汽车前灯方案

文章目录 1.前言2.前灯方案需求概述3.传统前灯方案3.1 方案描述3.2 常用芯片 4.智能前灯控制器方案4.1 方案描述4.2 常用芯片 5.投影灯方案5.1 DLP5.2 MicroLED模组5.2.1 方案描述5.2.2 常用芯片 1.前言 自从上次分享了汽车贯穿式尾灯之后&#xff0c;也有很多读者发私信咨询汽…

队列+宽搜_429. N 叉树的层序遍历_二叉树最大宽度

429. N 叉树的层序遍历 定义一个队列q&#xff0c;将一层的节点入队&#xff0c;并记录节点个数。根据节点的个数&#xff0c;出队列&#xff0c;并将其孩子入队列。出完队列&#xff0c;队列当前剩余节点的个数就是下次出队列的次数。直到队列为空 /* // Definition for a Nod…

深度剖析 ToF 技术:原理、优劣、数据纠错与工业应用全解析

1 引言 飞行时间&#xff08;Time-of-Flight&#xff0c;简称ToF&#xff09;技术是一种先进的三维成像技术&#xff0c;其工作机制与三维激光扫描技术有着相似之处。ToF技术的主要优势在于其能够一次性捕获整个场景的深度信息&#xff0c;而不是通过逐点扫描的方式来获取&…

嵌入式硬件-- 元器件焊接

1.锡膏的使用 锡膏要保存在冰箱里。 焊接排线端子&#xff1b;138度的低温锡&#xff08;锡膏&#xff09;&#xff0c; 第一次使用&#xff0c;直接拿东西挑一点涂在引脚上&#xff0c;不知道多少合适&#xff0c;加热台加热到260左右&#xff0c;放在上面观察锡融化&#…

一区向量加权算法优化INFO-CNN-SVM卷积神经网络结合支持向量机多特征分类预测

一区向量加权算法优化INFO-CNN-SVM卷积神经网络结合支持向量机多特征分类预测 目录 一区向量加权算法优化INFO-CNN-SVM卷积神经网络结合支持向量机多特征分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现INFO-CNN-SVM向量加权算法优化卷积神经网络结…