From 727ee25aeb5fcaf84e2cf009b2eacd3a86bcb3ca Mon Sep 17 00:00:00 2001
From: zrg <z18737863051@163.com>
Date: 星期四, 28 十一月 2024 12:55:23 +0800
Subject: [PATCH] 新增 环境检测方案,环境检测单
---
WebTM/views/模治具管理/模治具管理/Gy_BarCodeBillList.html | 726 +++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 570 insertions(+), 156 deletions(-)
diff --git "a/WebTM/views/\346\250\241\346\262\273\345\205\267\347\256\241\347\220\206/\346\250\241\346\262\273\345\205\267\347\256\241\347\220\206/Gy_BarCodeBillList.html" "b/WebTM/views/\346\250\241\346\262\273\345\205\267\347\256\241\347\220\206/\346\250\241\346\262\273\345\205\267\347\256\241\347\220\206/Gy_BarCodeBillList.html"
index 9c021de..8e4f235 100644
--- "a/WebTM/views/\346\250\241\346\262\273\345\205\267\347\256\241\347\220\206/\346\250\241\346\262\273\345\205\267\347\256\241\347\220\206/Gy_BarCodeBillList.html"
+++ "b/WebTM/views/\346\250\241\346\262\273\345\205\267\347\256\241\347\220\206/\346\250\241\346\262\273\345\205\267\347\256\241\347\220\206/Gy_BarCodeBillList.html"
@@ -90,8 +90,6 @@
<!--鏄剧ず褰撳墠杩囨护鏂规-->
<div class="layui-inline" style="margin-left:5px;">
<div style="text-align:center;font-size:15px;font-weight:bold;color:#fc9393" id="HFilterScheme_Now"></div>
- </div>
- <div class="layui-colla-content" style="padding: 0px; margin-left: 5%;">
<div class="layui-row" style="margin-top:10px;">
<div class="layui-inline">
<label class="layui-form-label">杩囨护</label>
@@ -119,10 +117,66 @@
<input type="text" class="layui-input" value="" name="ColContent" id="ColContent">
</div>
</div>
+ <div class="layui-row" style=" margin-top: 10px; margin-left: 70px;">
+ <div class="layui-inline">
+ <label class="layui-form-label">杩囨护</label>
+ <div class="layui-input-block">
+ <select name="ColName1" id="ColName1" class="ForFilteringSchemes" lay-filter="ColName1" style="width:190px;">
+ </select>
+ </div>
+ </div>
+ <div class="layui-inline">
+ <select name="Comparator1" id="Comparator1" class="ForFilteringSchemes" lay-filter="Comparator1" style="width:190px;">
+ <option value="0" selected="selected"></option>
+ <option value="=">=</option>
+ <option value=">=">>=</option>
+ <option value=">">></option>
+ <option value="<="><=</option>
+ <option value="<"><</option>
+ <option value="<>"><></option>
+ <option value="7">鍖呭惈</option>
+ <option value="8">宸﹀寘鍚�</option>
+ <option value="9">鍙冲寘鍚�</option>
+ <option value="10">涓嶅寘鍚�</option>
+ </select>
+ </div>
+ <div class="layui-inline">
+ <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent1" id="ColContent1">
+ </div>
+ </div>
+ <div class="layui-row" style=" margin-top: 10px; margin-left: 70px;">
+ <div class="layui-inline">
+ <label class="layui-form-label">杩囨护</label>
+ <div class="layui-input-block">
+ <select name="ColName2" id="ColName2" class="ForFilteringSchemes" lay-filter="ColName2" style="width:190px;">
+ </select>
+ </div>
+ </div>
+ <div class="layui-inline">
+ <select name="Comparator2" id="Comparator2" class="ForFilteringSchemes" lay-filter="Comparator2" style="width:190px;">
+ <option value="0" selected="selected"></option>
+ <option value="=">=</option>
+ <option value=">=">>=</option>
+ <option value=">">></option>
+ <option value="<="><=</option>
+ <option value="<"><</option>
+ <option value="<>"><></option>
+ <option value="7">鍖呭惈</option>
+ <option value="8">宸﹀寘鍚�</option>
+ <option value="9">鍙冲寘鍚�</option>
+ <option value="10">涓嶅寘鍚�</option>
+ </select>
+ </div>
+ <div class="layui-inline">
+ <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent2" id="ColContent2">
+ </div>
+ </div>
</div>
</div>
</div>
<table class="" id="mainTable" lay-filter="mainTable"></table>
+
+ <div id="page" style="position:relative;bottom:0;"></div>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-getCheckData"><i class="layui-icon layui-icon-tips"></i>棰勮</button>-->
@@ -132,7 +186,7 @@
<button type="button" class="layui-btn layui-btn-sm" style="display:none;" lay-event="set_Drop" id="set_Drop"><i class="layui-icon layui-icon-radio"></i>浣滃簾</button>
<button type="button" class="layui-btn layui-btn-sm" style="display:none;" lay-event="set_DeDrop" id="set_DeDrop"><i class="layui-icon layui-icon-radio"></i>鍙嶄綔搴�</button>
<button type="button" class="layui-btn layui-btn-sm" style="display:none;" id="btn-Delete" lay-event="btn-Delete"><i class="layui-icon layui-icon-delete"></i>鍒犻櫎</button>
- <button type="button" class="layui-btn layui-btn-sm" style="display:none;" id="set_HideColumn" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>鍒楄缃�</button>
+ <button type="button" class="layui-btn layui-btn-sm" style="" id="set_HideColumn" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>鍒楄缃�</button>
<button type="button" class="layui-btn layui-btn-sm" style="display:none;" lay-event="set_HideButton" id="HideButton"><i class="layui-icon layui-icon-form"></i>鎸夐挳璁剧疆</button>
<button type="button" class="layui-btn layui-btn-sm" style="display:none;" lay-event="get_export" id="get_export"><i class="layui-icon layui-icon-export"></i>瀵煎嚭</button>
<button type="button" class="layui-btn layui-btn-sm" style="display:none;" id="btn-exit" lay-event="btn-exit"><i class="layui-icon layui-icon-return"></i>閫�鍑�</button>
@@ -165,8 +219,10 @@
var sWhere = "";
var option = [];
var ins;
- var titleData = ["鍗曟嵁ID", "HMaterID", "HDeptID", "HSupID"];//涓嶉渶瑕佹樉绀虹殑瀛楁 鍙墿灞�
+ var titleData = ["鍗曟嵁ID", "HMaterID", "HDeptID", "HSupID"];//涓嶉渶瑕佹樉绀虹殑瀛楁 鍙墿灞�
+ var page = 1;//鍒嗛〉鏁版嵁
+ var size = 50;
//#region 銆愯繃婊ゆ柟妗堛��
//杩囨护鏉′欢鐨刢lass绫�
@@ -245,7 +301,7 @@
rows = rows.substring(rows.length - 1, 0);
layer.open({
type: 2
- , area: ['50%', '50%']
+ , area: ['40%', '80%']
, title: '鎵撳嵃妯$増閫夋嫨'
, shade: 0.6 //閬僵閫忔槑搴�
, maxmin: false //鍏佽鍏ㄥ睆鏈�灏忓寲
@@ -265,7 +321,8 @@
$("#HSourceBillNo").val("");
$("#HMaterNumber").val("");
sWhere = "";
- get_Display(sWhere);
+ get_DisplayPage(sWhere);
+
break;
//浣滃簾鎸夐挳
case 'set_Drop': set_DropBill(0);
@@ -327,9 +384,18 @@
$("#ColContent").val("");
$("#ColName").val("0");
$("#Comparator").val("0");
+ $("#ColContent1").val("");
+ $("#ColName1").val("0");
+ $("#Comparator1").val("0");
+ $("#ColContent2").val("");
+ $("#ColName2").val("0");
+ $("#Comparator2").val("0");
form.render('select');
+ if (page != 1) {
+ $("#page a:eq(1)").get(0).click();//鐐瑰嚮鍒嗛〉鏍忕涓�椤�
+ }
sWhere = "";
- get_Display(sWhere);
+ get_DisplayPage(sWhere);
});
//#endregion
@@ -344,54 +410,105 @@
var ColName = $("#ColName").val();//澶嶉�夋
var Comparator = $("#Comparator").val()
var ColContent = $("#ColContent").val();
-
+ var ColName1 = $("#ColName1").val();//澶嶉�夋
+ var Comparator1 = $("#Comparator1").val()
+ var ColContent1 = $("#ColContent1").val();
+ var ColName2 = $("#ColName2").val();//澶嶉�夋
+ var Comparator2 = $("#Comparator2").val()
+ var ColContent2 = $("#ColContent2").val();
if (ColName != 0 && Comparator != 0) {
var com = "";
switch (Comparator) {
case "7":
- com = "like'%" + ColContent + "%'";
+ com = "like ''%" + ColContent + "%''";
break;
case "8":
- com = "like'%" + ColContent + "'";
+ com = "like ''%" + ColContent + "''";
break;
case "9":
- com = "like'" + ColContent + "%'";
+ com = "like''" + ColContent + "%''";
break;
case "10":
- com = "not like'%" + ColContent + "%'";
+ com = "not like ''%" + ColContent + "%''";
break;
default:
- com = "" + Comparator + "'" + ColContent + "'";
+ com = "" + Comparator + "''" + ColContent + "''";
break;
}
sWhere += " and " + ColName + " " + com;
}
- if (HBeginDate) {
- sWhere += " and CONVERT(varchar(100),鏃ユ湡, 23) >= '" + HBeginDate + "'";
- }
- if (HEndDate) {
- sWhere += " and CONVERT(varchar(100),鏃ユ湡, 23) <= '" + HEndDate + "'";
- }
- if (HBarCode) {
- sWhere += " and 鏉$爜缂栧彿 like '%" + HBarCode + "%'";
- }
- if (HMaterName) {
- sWhere += " and 鐗╂枡鍚嶇О like'%" + HMaterName + "%'";
- }
- if (HMaterNumber) {
- sWhere += " and 鐗╂枡浠g爜 like'%" + HMaterNumber + "%'";
- }
- if (HSourceBillNo) {
- sWhere += " and 婧愬崟鍗曞彿 like '%" + HSourceBillNo + "%'";
+
+ var com1 = "";
+ if (ColName1 != 0 && Comparator1 != 0) {
+ switch (Comparator1) {
+ case "7":
+ com1 = "like ''%" + ColContent1 + "%''";
+ break;
+ case "8":
+ com1 = "like ''%" + ColContent1 + "''";
+ break;
+ case "9":
+ com1 = "like''" + ColContent1 + "%''";
+ break;
+ case "10":
+ com1 = "not like''%" + ColContent1 + "%''";
+ break;
+ default:
+ com1 = "" + Comparator1 + "''" + ColContent1 + "''";
+ break;
+ }
+ sWhere += " and " + ColName1 + " " + com1;
}
- get_Display(sWhere);
+ var com2 = "";
+ if (ColName2 != 0 && Comparator2 != 0) {
+ switch (Comparator) {
+ case "7":
+ com2 = "like ''%" + ColContent2 + "%''";
+ break;
+ case "8":
+ com2 = "like''%" + ColContent2 + "''";
+ break;
+ case "9":
+ com2 = "like ''" + ColContent2 + "%''";
+ break;
+ case "10":
+ com2 = "not like ''%" + ColContent2 + "%''";
+ break;
+ default:
+ com2 = "" + Comparator2 + "''" + ColContent2 + "''";
+ break;
+ }
+ sWhere += " and " + ColName2 + " " + com2;
+ }
+ if (HBeginDate) {
+ sWhere += " and CONVERT(varchar(100),鏃ユ湡, 23) >= ''" + HBeginDate + "''";
+ }
+ if (HEndDate) {
+ sWhere += " and CONVERT(varchar(100),鏃ユ湡, 23) <= ''" + HEndDate + "''";
+ }
+ if (HBarCode) {
+ sWhere += " and 鏉$爜缂栧彿 like ''%" + HBarCode + "%''";
+ }
+ if (HMaterName) {
+ sWhere += " and 鐗╂枡鍚嶇О like''%" + HMaterName + "%''";
+ }
+ if (HMaterNumber) {
+ sWhere += " and 鐗╂枡浠g爜 like''%" + HMaterNumber + "%''";
+ }
+ if (HSourceBillNo) {
+ sWhere += " and 婧愬崟鍗曞彿 like ''%" + HSourceBillNo + "%''";
+ }
+
+ get_DisplayPage(sWhere);
sWhere = "";//璋冪敤鎺ュ彛鍚庢竻绌簊Where缂撳瓨
});
//#endregion
//#region 鍒濆鍖栫晫闈�
function set_ClearBill() {
+ //鍒濆鍖栬〃鏍�
+ set_InitGrid();
//鍒濆鍖栨棩鏈熼棿闅斻�佸紑濮嬫棩鏈熴�佺粨鏉熸棩鏈�
setSelect_HInitTimeCycle();
//鑻ユ棩鏈熼棿闅斾笉涓� 浠绘剰闂撮殧锛屽垯绂佺敤寮�濮嬫棩鏈熶笌缁撴潫鏃ユ湡鐨勯�夋嫨
@@ -407,10 +524,9 @@
//鏍规嵁鏃ユ湡闂撮殧璁剧疆寮�濮嬫椂闂翠笌缁撴潫鏃堕棿
$("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * HInitTimeCycle), "yyyy-MM-dd"));
$("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
- //鍒濆鍖栬〃鏍�
- set_InitGrid();
+
//鏌ヨ
- get_Display(sWhere);
+ get_DisplayPage(sWhere);
//浠绘剰瀛楁杩囨护涓嬫媺妗嗗垵濮嬪寲
ColFilter();
@@ -418,68 +534,152 @@
get_DefaultModule();
}
function set_InitGrid() {
- option = {
+ option = {
elem: '#mainTable'
, toolbar: '#toolbarDemo'
- , height: 'full-50'
- , page: true
- , totalRow: true
- , cellMinWidth: 90
- , limits: [50, 500, 5000, 20000,50000]
- , limit: 50
- , done: function (res, curr, count) {
- soulTable.render(this);
- }
- , cols: [[
- { type: 'checkbox', fixed: 'left' }
- , { field: 'hmainid', title: '鍗曟嵁ID', hide: true, sort: true }
- , { field: '鏉$爜绫诲瀷', title: '鏉$爜绫诲瀷', width: 160, sort: true }
- , { field: '鏉$爜缂栧彿', title: '鏉$爜缂栧彿', width: 160, sort: true }
- , { field: 'HMaterID', title: 'HMaterID', width: 160, hide: true, sort: true }
- , { field: '鐗╂枡浠g爜', title: '鐗╂枡浠g爜', width: 200, sort: true }
- , { field: '鐗╂枡鍚嶇О', title: '鐗╂枡鍚嶇О', width: 250, sort: true }
- , { field: '瑙勬牸鍨嬪彿', title: '瑙勬牸鍨嬪彿', width: 250, sort: true }
- , { field: '璁¢噺鍗曚綅浠g爜', title: '璁¢噺鍗曚綅浠g爜', width: 200, sort: true }
- , { field: '璁¢噺鍗曚綅', title: '璁¢噺鍗曚綅', width: 200, sort: true }
- , { field: '鐐夊彿', title: '鐐夊彿', width: 200, sort: true }
- , { field: '閽㈠嵎鍙�', title: '閽㈠嵎鍙�', width: 200, sort: true }
- , { field: '鏉$爜鐘舵��', title: '鏉$爜鐘舵��', width: 200, sort: true }
- , { field: '鍘傚晢', title: '鍘傚晢', width: 200, sort: true }
- , { field: '鎹嗗寘鍙�', title: '鎹嗗寘鍙�', width: 200, sort: true }
- , { field: '鐢熶骇鏃ユ湡', title: '鐢熶骇鏃ユ湡', width: 200, templet: "<div>{{d.鐢熶骇鏃ユ湡 ==null ?'':layui.util.toDateString(d.鐢熶骇鏃ユ湡, 'yyyy-MM-dd HH:mm:ss')}}</div>", sort: true }
- , { field: '淇濊川鏈熻嚦', title: '淇濊川鏈熻嚦', width: 200, templet: "<div>{{d.淇濊川鏈熻嚦 ==null ?'':layui.util.toDateString(d.淇濊川鏈熻嚦, 'yyyy-MM-dd HH:mm:ss')}}</div>", sort: true }
- , { field: 'HAuxPropID', title: 'HAuxPropID', width: 200, sort: true }
- , { field: '杈呭姪灞炴�т唬鐮�', title: '杈呭姪灞炴�т唬鐮�', width: 160, sort: true }
- , { field: '杈呭姪灞炴��', title: '杈呭姪灞炴��', width: 160, sort: true }
- , { field: '鎵瑰彿', title: '鎵瑰彿', width: 160, sort: true }
- , { field: '鏁伴噺', title: '鏁伴噺', width: 200, sort: true, totalRow: true}
- , { field: '璁″垝璺熻釜鍙�', title: '璁″垝璺熻釜鍙�', width: 200, sort: true }
- , { field: '婧愬崟鍗曞彿', title: '婧愬崟鍗曞彿', width: 200, sort: true }
- , { field: 'HSupID', title: 'HSupID', width: 200, hide: true, sort: true }
- , { field: '渚涘簲鍟嗕唬鐮�', title: '渚涘簲鍟嗕唬鐮�', width: 200, sort: true }
- , { field: '渚涘簲鍟�', title: '渚涘簲鍟�', width: 200, sort: true }
- , { field: '杩涙枡鏃ユ湡', title: '杩涙枡鏃ユ湡', width: 200, sort: true }
- , { field: '杩涙枡鏃ユ湡鍛�', title: '杩涙枡鏃ユ湡鍛�', width: 115, sort: true }
- , { field: '瀹㈡埛鍨嬪彿', title: '瀹㈡埛鍨嬪彿', width: 115, sort: true }
- , { field: '寰�鏉ュ崟浣�', title: '寰�鏉ュ崟浣�', width: 200, sort: true }
- , { field: 'HDeptID', title: 'HDeptID', width: 200, hide: true, sort: true }
- , { field: '杞﹂棿', title: '杞﹂棿', width: 115, sort: true }
- , { field: '璁″垝瀹屽伐鏃ユ湡', title: '璁″垝瀹屽伐鏃ユ湡', width: 200, sort: true }
- , { field: '鎷栧彿', title: '鎷栧彿', width: 200, sort: true }
- , { field: '鎬绘墭鏁�', title: '鎬绘墭鏁�', width: 200, sort: true, totalRow: true }
- , { field: '澶囨敞', title: '澶囨敞', width: 200, sort: true }
- , { field: '鍒朵綔浜�', title: '鍒朵綔浜�', width: 115, sort: true }
- , { field: '鏃ユ湡', title: '鏃ユ湡', width: 200, templet: "<div>{{d.鏃ユ湡 ==null ?'':layui.util.toDateString(d.鏃ユ湡, 'yyyy-MM-dd HH:mm:ss')}}</div>", sort: true }
- , { field: '鎵撳嵃娆℃暟', title: '鎵撳嵃娆℃暟', width: 200, sort: true }
- , { field: '浣滃簾鏍囪', title: '浣滃簾鏍囪', width: 200, sort: true }
- , { field: '浣滃簾浜�', title: '浣滃簾浜�', width: 115, sort: true }
- , { field: '鐢熶骇鍏ュ簱鏃ユ湡', title: '鐢熶骇鍏ュ簱鏃ユ湡', width: 200, templet: "<div>{{d.鐢熶骇鍏ュ簱鏃ユ湡 ==null ?'':layui.util.toDateString(d.鐢熶骇鍏ュ簱鏃ユ湡, 'yyyy-MM-dd HH:mm:ss')}}</div>", sort: true }
- , { field: '閿�鍞嚭搴撴棩鏈�', title: '閿�鍞嚭搴撴棩鏈�', width: 200, templet: "<div>{{d.閿�鍞嚭搴撴棩鏈� ==null ?'':layui.util.toDateString(d.閿�鍞嚭搴撴棩鏈�, 'yyyy-MM-dd HH:mm:ss')}}</div>", sort: true }
- ]]
+ , height: 'full-150'
+ , page: false
+ , limit: 50
+ , done: function (res, curr, count) {
+ soulTable.render(this);
+ }
+ , cols: [[
+ { type: 'checkbox', fixed: 'left' }
+ , { field: 'hmainid', title: '鍗曟嵁ID', hide: true, sort: true }
+ , { field: '鏉$爜绫诲瀷', title: '鏉$爜绫诲瀷', width: 160, sort: true }
+ , { field: '鏉$爜缂栧彿', title: '鏉$爜缂栧彿', width: 160, sort: true }
+ , { field: 'HMaterID', title: 'HMaterID', width: 160, hide: true, sort: true }
+ , { field: '鐗╂枡浠g爜', title: '鐗╂枡浠g爜', width: 200, sort: true }
+ , { field: '鐗╂枡鍚嶇О', title: '鐗╂枡鍚嶇О', width: 250, sort: true }
+ , { field: '瑙勬牸鍨嬪彿', title: '瑙勬牸鍨嬪彿', width: 250, sort: true }
+ , { field: '璁¢噺鍗曚綅浠g爜', title: '璁¢噺鍗曚綅浠g爜', width: 200, sort: true }
+ , { field: '璁¢噺鍗曚綅', title: '璁¢噺鍗曚綅', width: 200, sort: true }
+ , { field: '鐐夊彿', title: '鐐夊彿', width: 200, sort: true }
+ , { field: '閽㈠嵎鍙�', title: '閽㈠嵎鍙�', width: 200, sort: true }
+ , { field: '鏉$爜鐘舵��', title: '鏉$爜鐘舵��', width: 200, sort: true }
+ , { field: '鍘傚晢', title: '鍘傚晢', width: 200, sort: true }
+ , { field: '鎹嗗寘鍙�', title: '鎹嗗寘鍙�', width: 200, sort: true }
+ , { field: '鐢熶骇鏃ユ湡', title: '鐢熶骇鏃ユ湡', width: 200, templet: "<div>{{d.鐢熶骇鏃ユ湡 ==null ?'':layui.util.toDateString(d.鐢熶骇鏃ユ湡, 'yyyy-MM-dd HH:mm:ss')}}</div>", sort: true }
+ , { field: '淇濊川鏈熻嚦', title: '淇濊川鏈熻嚦', width: 200, templet: "<div>{{d.淇濊川鏈熻嚦 ==null ?'':layui.util.toDateString(d.淇濊川鏈熻嚦, 'yyyy-MM-dd HH:mm:ss')}}</div>", sort: true }
+ , { field: 'HAuxPropID', title: 'HAuxPropID', width: 200, sort: true }
+ , { field: '杈呭姪灞炴�т唬鐮�', title: '杈呭姪灞炴�т唬鐮�', width: 160, sort: true }
+ , { field: '杈呭姪灞炴��', title: '杈呭姪灞炴��', width: 160, sort: true }
+ , { field: '鎵瑰彿', title: '鎵瑰彿', width: 160, sort: true }
+ , { field: '鏁伴噺', title: '鏁伴噺', width: 200, sort: true, totalRow: true }
+ , { field: '璁″垝璺熻釜鍙�', title: '璁″垝璺熻釜鍙�', width: 200, sort: true }
+ , { field: '婧愬崟鍗曞彿', title: '婧愬崟鍗曞彿', width: 200, sort: true }
+ , { field: 'HSupID', title: 'HSupID', width: 200, hide: true, sort: true }
+ , { field: '渚涘簲鍟嗕唬鐮�', title: '渚涘簲鍟嗕唬鐮�', width: 200, sort: true }
+ , { field: '渚涘簲鍟�', title: '渚涘簲鍟�', width: 200, sort: true }
+ , { field: '杩涙枡鏃ユ湡', title: '杩涙枡鏃ユ湡', width: 200, sort: true }
+ , { field: '杩涙枡鏃ユ湡鍛�', title: '杩涙枡鏃ユ湡鍛�', width: 115, sort: true }
+ , { field: '瀹㈡埛鍨嬪彿', title: '瀹㈡埛鍨嬪彿', width: 115, sort: true }
+ , { field: '寰�鏉ュ崟浣�', title: '寰�鏉ュ崟浣�', width: 200, sort: true }
+ , { field: 'HDeptID', title: 'HDeptID', width: 200, hide: true, sort: true }
+ , { field: '杞﹂棿', title: '杞﹂棿', width: 115, sort: true }
+ , { field: '璁″垝瀹屽伐鏃ユ湡', title: '璁″垝瀹屽伐鏃ユ湡', width: 200, sort: true }
+ , { field: '鎷栧彿', title: '鎷栧彿', width: 200, sort: true }
+ , { field: '鎬绘墭鏁�', title: '鎬绘墭鏁�', width: 200, sort: true, totalRow: true }
+ , { field: '澶囨敞', title: '澶囨敞', width: 200, sort: true }
+ , { field: '鍒朵綔浜�', title: '鍒朵綔浜�', width: 115, sort: true }
+ , { field: '鏃ユ湡', title: '鏃ユ湡', width: 200, templet: "<div>{{d.鏃ユ湡 ==null ?'':layui.util.toDateString(d.鏃ユ湡, 'yyyy-MM-dd HH:mm:ss')}}</div>", sort: true }
+ , { field: '鎵撳嵃娆℃暟', title: '鎵撳嵃娆℃暟', width: 200, sort: true }
+ , { field: '浣滃簾鏍囪', title: '浣滃簾鏍囪', width: 200, sort: true }
+ , { field: '浣滃簾浜�', title: '浣滃簾浜�', width: 115, sort: true }
+ , { field: '鐢熶骇鍏ュ簱鏃ユ湡', title: '鐢熶骇鍏ュ簱鏃ユ湡', width: 200, templet: "<div>{{d.鐢熶骇鍏ュ簱鏃ユ湡 ==null ?'':layui.util.toDateString(d.鐢熶骇鍏ュ簱鏃ユ湡, 'yyyy-MM-dd HH:mm:ss')}}</div>", sort: true }
+ , { field: '閿�鍞嚭搴撴棩鏈�', title: '閿�鍞嚭搴撴棩鏈�', width: 200, templet: "<div>{{d.閿�鍞嚭搴撴棩鏈� ==null ?'':layui.util.toDateString(d.閿�鍞嚭搴撴棩鏈�, 'yyyy-MM-dd HH:mm:ss')}}</div>", sort: true }
+ ]]
};
+ optionPage = {
+ elem: 'page', //娉ㄦ剰锛岃繖閲岀殑 page 鏄� ID锛屼笉鐢ㄥ姞 # 鍙�
+ count: 10000, //鏁版嵁鎬绘暟锛屼粠鏈嶅姟绔緱鍒�
+ limit: 50,
+ limits: [50, 500, 5000, 50000],
+ layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'],
+ jump: function (obj, first) {
+ //console.log(obj)
+ //obj鍖呭惈浜嗗綋鍓嶅垎椤电殑鎵�鏈夊弬鏁帮紝姣斿锛�
+ //console.log(obj.curr); //寰楀埌褰撳墠椤碉紝浠ヤ究鍚戞湇鍔$璇锋眰瀵瑰簲椤电殑鏁版嵁銆�
+ //console.log(obj.limit); //寰楀埌姣忛〉鏄剧ず鐨勬潯鏁�
+ //棣栨涓嶆墽琛�
+ if (!first) {
+ //do something
+ page = obj.curr;
+ size = obj.limit;
+ // 鍋囪鎸夐挳鏈変竴涓狪D涓�"myButton"
+ $("#btnSearch").trigger("click");
+ }
+ }
+ }
+ laypage.render(optionPage);
}
+ //#region 鍒嗛〉鏌ヨ
+ function get_DisplayPage(sWhere) {
+ var wait = layer.load();//閬僵
+ var ajaxLoad = layer.load();
+ $.ajax({
+ url: GetWEBURL() + '/Gy_BarCodeBillList/page',
+ type: "GET",
+ data: { "sWhere": sWhere, "user": sessionStorage["HUserName"], "page": page, "size": size },
+ success: function (data1) {
+ option.limit = size;//鏀瑰彉琛ㄦ牸椤靛ぇ灏�
+ if (data1.code == 1) {
+ optionPage.count = data1.count;//鏀瑰彉鍒楄〃鏁版嵁鎬绘暟
+ var data = [];
+ var col = [];
+ //缁欑┖鐨勬暟缁勮祴鍊�
+ for (var key in data1.list) {
+ data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
+ }
+ //鍦ㄥ垪琛ㄥ乏杈规坊鍔犲嬀閫夋
+ col.push({ type: 'checkbox', fixed: 'left' });
+ for (var i = 0; i < data.length; i++) {
+ // if (data[i].name == 'HInterID' || data[i].name == 'HBillType' || data[i].name == 'hmainid') {
+ if ($.inArray(data[i].name, titleData) > -1) {
+ col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //闅愯棌id鍒�
+ }
+ else {
+ switch (data[i].Type) {
+ //int
+ case 'DateTime':
+ col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 120 });
+ break;
+ default:
+ col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 120 });
+ }
+ }
+ }
+
+
+ option.cols = [col];
+ option.data = data1.data;
+ ins = table.render(option);
+ laypage.render(optionPage);
+ //鍒锋柊琛ㄦ牸鏁版嵁
+ DisPlay_HideColumn();
+
+ layer.close(ajaxLoad);
+ if ($("#ColName option").length < 1) {
+ ColFilter();
+ }
+ //layer.alert("鏌ヨ鎴愬姛", { icon: 1 });
+ } else {
+ option.data = [[]]
+ table.render(option);
+ layer.close(ajaxLoad);
+ /*layer.alert(data1.code + data1.Message, { icon: 5 });*/
+ }
+ }, error: function () {
+ layer.close(ajaxLoad);
+ layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+ }
+ });
+ }
+ //#endregion
+
+ //#endregion
//杩涘叆椤甸潰鏄剧ず鐨勭紦瀛樺垪琛�
function get_Display(sWhere) {
var index = layer.load(0);
@@ -491,11 +691,48 @@
data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
success: function (data1) {
if (data1.count == 1) {
+ var data = [];//鍒楀瓧娈垫暟鎹�
+ var col = [];
+
+ var totalArray = [];
+
+ //缁欑┖鐨勬暟缁勮祴鍊�
+ for (var key in data1.list) {//寰簭閬嶅巻鏁扮粍
+ data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });//浠庢瘡涓璞′腑鎻愬彇鏁版嵁
+ }
+
+ //鍒ゆ柇鏄惁鏄函鑻辨枃
+ var patrn = new RegExp("[\u4E00-\u9FA5]+");
+ //鍦ㄥ垪琛ㄥ乏杈规坊鍔犲嬀閫夋
+ col.push({ type: 'checkbox', fixed: 'left', totalRowText: '鍚堣' });
+ for (var i = 0; i < data.length; i++) {//閬嶅巻data鏁扮粍閲嶇殑鏁版嵁
+ // if (data[i].name == 'HInterID' || data[i].name == 'HBillType' || data[i].name == 'hmainid') {
+ if ($.inArray(data[i].name, titleData) > -1) {//妫�鏌ata銆恑銆�.name鏄惁鍦ㄦ暟缁勪腑 //璁$畻鍒�
+ col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //闅愯棌id鍒�
+ }
+ else if (!patrn.test(data[i].name)) {
+ col.push({ field: data[i].name, title: data[i].name, hide: true }); //闅愯棌鍒�
+ }
+ else if ($.inArray(data[i].name, totalArray) > -1) { //璁$畻鍒�
+ col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, totalRow: true, width: 120 });
+ } else {
+ switch (data[i].Type) {
+ //int
+ case 'DateTime':
+ col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd HH:mm:ss')}}</div>", width: 200 });
+ break;
+ default:
+ col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200 });
+ }
+ }
+ }
+
+ option.cols = [col];
option.data = data1.data;
ins = table.render(option);
layer.close(index);
- if ($("#Comparator").val() == 0 && $("#ColContent").val() == "") {
+ if ($("#Comparator").val() == 0 && $("#ColContent").val() == "" && $("#Comparator1").val() == 0 && $("#ColContent1").val() == "" && $("#Comparator2").val() == 0 && $("#ColContent2").val() == "") {
ColFilter();
}
//鍒锋柊鎸夐挳鏄剧ず
@@ -554,11 +791,80 @@
}
//#endregion
+ //#region 鍒嗛〉鏌ヨ
+ function get_DisplayPage(sWhere) {
+ var wait = layer.load();//閬僵
+ var ajaxLoad = layer.load();
+ $.ajax({
+ url: GetWEBURL() + '/Gy_BarCodeBillList/page',
+ type: "GET",
+ data: { "sWhere": sWhere, "user": sessionStorage["HUserName"], "page": page, "size": size },
+ success: function (data1) {
+ option.limit = size;//鏀瑰彉琛ㄦ牸椤靛ぇ灏�
+ if (data1.code == 1) {
+ optionPage.count = data1.count;//鏀瑰彉鍒楄〃鏁版嵁鎬绘暟
+ var data = [];
+ var col = [];
+ //缁欑┖鐨勬暟缁勮祴鍊�
+ for (var key in data1.list) {
+ data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
+ }
+ //鍦ㄥ垪琛ㄥ乏杈规坊鍔犲嬀閫夋
+ col.push({ type: 'checkbox', fixed: 'left' });
+ for (var i = 0; i < data.length; i++) {
+ // if (data[i].name == 'HInterID' || data[i].name == 'HBillType' || data[i].name == 'hmainid') {
+ if ($.inArray(data[i].name, titleData) > -1) {
+ col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //闅愯棌id鍒�
+ }
+ else {
+ switch (data[i].Type) {
+ //int
+ case 'DateTime':
+ col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 120 });
+ break;
+ default:
+ col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 120 });
+ }
+ }
+ }
+
+
+ option.cols = [col];
+ option.data = data1.data;
+ ins = table.render(option);
+ laypage.render(optionPage);
+ //鍒锋柊琛ㄦ牸鏁版嵁
+ DisPlay_HideColumn();
+
+ layer.close(ajaxLoad);
+ if ($("#ColName option").length < 1) {
+ ColFilter();
+ }
+
+ //鍒锋柊鎸夐挳鏄剧ず
+ var btns = document.getElementsByTagName("button"); //鑾峰彇鏈〉鎵�鏈夋寜閽璞�
+ var HBillType = "鏉$爜涓绘。";
+ Display_HideButton(btns, HBillType, HModName, sessionStorage["HUserName"]);
+ //layer.alert("鏌ヨ鎴愬姛", { icon: 1 });
+ } else {
+ option.data = [[]]
+ table.render(option);
+ layer.close(ajaxLoad);
+ /*layer.alert(data1.code + data1.Message, { icon: 5 });*/
+ }
+ }, error: function () {
+ layer.close(ajaxLoad);
+ layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+ }
+ });
+ }
+ //#endregion
+
//闅愯棌鍒楄缃�
function get_HideColumn() {
var colName = "";
- for (var i = 1; i < option.cols[0].length - 1; i++) {
- colName += option.cols[0][i]["title"] + ",";
+ for (var i = 1; i < option.cols[0].length; i++) {
+ colName += option.cols[0][i]["field"] + ",";
}
colName = encodeURI(colName.substring(0, colName.length - 1));//瀵� URI 杩涜缂栫爜
@@ -570,7 +876,7 @@
, shift: 2 //寮瑰嚭鍔ㄧ敾
, area: ["50%", "90%"] //绐椾綋澶у皬
, maxmin: true //璁剧疆鏈�澶ф渶灏忔寜閽槸鍚︽樉绀�
- , content: ['../../鍩虹璧勬枡/闅愯棌鍒楄缃�/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName, "yes"]
+ , content: ['../../鍩虹璧勬枡/闅愯棌鍒楄缃�/Gy_GridView_Hide_New.html?HModName=' + HModName + '&colName=' + colName, "yes"]
, btn: ["纭畾", "鍙栨秷"]
, btn1: function (index, laero) {
//鍒锋柊琛ㄦ牸鏁版嵁
@@ -582,93 +888,197 @@
}
//鏄剧ず鍒楁暟鎹�
+ //function DisPlay_HideColumn() {
+ // $.ajax({
+ // url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
+ // type: "GET",
+ // data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
+ // success: function (data1) {
+ // if (data1.data.length != 0) {
+
+
+ // var dataCol = [];//鏁版嵁搴撴煡璇㈠嚭鐨勫垪鏁版嵁
+
+
+ // dataCol = data1.data[0].HGridString.split(',');
+
+ // for (var i = 0; i < option.cols[0].length - 2; i++) {
+ // var dataCols = dataCol[i].split('|');
+ // //闅愯棌鍒�
+ // if (dataCols[1] == 1) {
+ // option.cols[0][i + 1]["hide"] = true;
+ // }
+ // //璁剧疆鍒楀
+ // if (dataCols[3] > 0) {
+ // option.cols[0][i + 1]["width"] = dataCols[3];
+ // }
+ // //璁剧疆鍐呭瀛椾綋澶у皬
+ // if (data1.data[0].HFontSize != 0) {
+ // option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
+ // } else {
+ // option.cols[0][i + 1]["style"] = "font-size:100%";
+ // }
+ // //璁剧疆鍒楀
+ // //if (data1.data[0].HColumnWidth != 0) {
+ // // option.cols[0][i + 1]["width"] = data1.data[0].HColumnWidth + "px;";
+ // //} else {
+ // // option.cols[0][i + 1]["width"] = "";
+ // //}
+ // //鏄剧ず鍒�
+ // if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
+ // option.cols[0][i + 1]["hide"] = false;
+ // }
+ // //瀛椾綋鎵�鍦ㄤ綅缃�(宸� 灞呬腑 鍙�)
+ // switch (dataCols[2]) {
+ // case "L":
+ // option.cols[0][i + 1]["align"] = "left";
+ // break;
+ // case "M":
+ // option.cols[0][i + 1]["align"] = "center";
+ // break;
+ // case "R":
+ // option.cols[0][i + 1]["align"] = "right";
+ // break;
+ // }
+ // }
+
+ // //鍙栨秷鍐荤粨鍒�
+ // for (var i = 1; i < option.cols[0].length - 1; i++) {
+ // if (option.cols[0][i]["fixed"] != null) {
+ // option.cols[0][i]["fixed"] = null;
+ // }
+ // else {
+ // break;
+ // }
+ // }
+ // //鍐荤粨鍒�
+ // if (data1.data[0].HFixCols != 0) {
+ // for (var i = 0; i < data1.data[0].HFixCols; i++) {
+ // if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
+ // data1.data[0].HFixCols += 1;
+ // }
+ // option.cols[0][i + 1]["fixed"] = "left";
+ // }
+ // }
+ // table.render(option);
+ // } else {
+ // table.render(option);
+ // }
+
+ // //鍒锋柊鎸夐挳鏄剧ず
+ // var btns = document.getElementsByTagName("button"); //鑾峰彇鏈〉鎵�鏈夋寜閽璞�
+ // var HBillType = "鏉$爜涓绘。";
+ // Display_HideButton(btns, HBillType, HModName, sessionStorage["HUserName"]);
+
+ // }, error: function () {
+ // layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+ // }
+ // })
+ //}
+
+ //#region 鏄剧ず鍒楁暟鎹�
function DisPlay_HideColumn() {
$.ajax({
url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
type: "GET",
+ async: false,
data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
success: function (data1) {
if (data1.data.length != 0) {
-
var dataCol = [];//鏁版嵁搴撴煡璇㈠嚭鐨勫垪鏁版嵁
-
-
+ var newCols = [[]];//瀵瑰簲鏁版嵁搴撳垪椤哄簭col
+ newCols[0].push(option.cols[0][0]);//鏀惧叆绗竴涓猚heckbox
dataCol = data1.data[0].HGridString.split(',');
-
- for (var i = 0; i < option.cols[0].length - 2; i++) {
- var dataCols = dataCol[i].split('|');
- //闅愯棌鍒�
- if (dataCols[1] == 1) {
- option.cols[0][i + 1]["hide"] = true;
- }
- //璁剧疆鍒楀
- if (dataCols[3] > 0) {
- option.cols[0][i + 1]["width"] = dataCols[3];
- }
- //璁剧疆鍐呭瀛椾綋澶у皬
- if (data1.data[0].HFontSize != 0) {
- option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
- } else {
- option.cols[0][i + 1]["style"] = "font-size:100%";
- }
- //璁剧疆鍒楀
- //if (data1.data[0].HColumnWidth != 0) {
- // option.cols[0][i + 1]["width"] = data1.data[0].HColumnWidth + "px;";
- //} else {
- // option.cols[0][i + 1]["width"] = "";
- //}
- //鏄剧ず鍒�
- if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
- option.cols[0][i + 1]["hide"] = false;
- }
- //瀛椾綋鎵�鍦ㄤ綅缃�(宸� 灞呬腑 鍙�)
- switch (dataCols[2]) {
- case "L":
- option.cols[0][i + 1]["align"] = "left";
- break;
- case "M":
- option.cols[0][i + 1]["align"] = "center";
- break;
- case "R":
- option.cols[0][i + 1]["align"] = "right";
- break;
- }
- }
-
- //鍙栨秷鍐荤粨鍒�
- for (var i = 1; i < option.cols[0].length - 1; i++) {
- if (option.cols[0][i]["fixed"] != null) {
- option.cols[0][i]["fixed"] = null;
- }
- else {
- break;
- }
- }
- //鍐荤粨鍒�
- if (data1.data[0].HFixCols != 0) {
- for (var i = 0; i < data1.data[0].HFixCols; i++) {
- if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
- data1.data[0].HFixCols += 1;
+ //鍒楄缃垪鏁颁笌椤甸潰鍒楁暟鏄惁涓�鑷�
+ if (dataCol.length == option.cols[0].length - 1) {
+ //閬嶅巻瀵绘壘鍒楄缃搴斿垪鎸夐『搴忔彃鍏�
+ for (var j = 0; j < option.cols[0].length - 1; j++) {
+ for (var i = 0; i < option.cols[0].length - 1; i++) {
+ var dataCols = dataCol[j].split('|');
+ //閫夋嫨涓巇atacols鐩稿簲鍒楄繘琛屼慨鏀�
+ if (option.cols[0][i + 1]["field"] == dataCols[5]) {
+ //闅愯棌鍒�
+ if (dataCols[1] == 1) {
+ option.cols[0][i + 1]["hide"] = true;
+ }
+ //璁剧疆鍒楀
+ if (dataCols[3] > 0) {
+ option.cols[0][i + 1]["width"] = dataCols[3];
+ }
+ //璁剧疆鍐呭瀛椾綋澶у皬
+ if (data1.data[0].HFontSize != 0) {
+ option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
+ } else {
+ option.cols[0][i + 1]["style"] = "font-size:100%";
+ }
+ //鏄剧ず鍒�
+ if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
+ option.cols[0][i + 1]["hide"] = false;
+ }
+ //缁熻鍒�
+ if (dataCols[6] == 1) {
+ option.cols[0][i + 1]["totalRow"] = true;
+ }
+ //瀛椾綋鎵�鍦ㄤ綅缃�(宸� 灞呬腑 鍙�)
+ switch (dataCols[2]) {
+ case "L":
+ option.cols[0][i + 1]["align"] = "left";
+ break;
+ case "M":
+ option.cols[0][i + 1]["align"] = "center";
+ break;
+ case "R":
+ option.cols[0][i + 1]["align"] = "right";
+ break;
+ }
+ //璁剧疆琛ㄦ牸title灞炴�ф樉绀哄埆鍚�
+ if (dataCols[4] != null && dataCols[4] != "") {
+ option.cols[0][i + 1]["title"] = dataCols[4];
+ }
+ newCols[0].push(option.cols[0][i + 1]);
+ }
}
- option.cols[0][i + 1]["fixed"] = "left";
+ }
+ //閬嶅巻寰幆鍚庡垽鏂搴斿垪鏁版槸鍚︿竴鑷�
+ if (dataCol.length == newCols[0].length - 1) {
+ option.cols = newCols;
+ //鍙栨秷鍐荤粨鍒�
+ for (var i = 1; i < option.cols[0].length - 1; i++) {
+ if (option.cols[0][i]["fixed"] != null) {
+ option.cols[0][i]["fixed"] = null;
+ }
+ else {
+ break;
+ }
+ }
+ //鍐荤粨鍒�
+ if (data1.data[0].HFixCols != 0) {
+ for (var i = 0; i < data1.data[0].HFixCols; i++) {
+ if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
+ data1.data[0].HFixCols += 1;
+ }
+ option.cols[0][i + 1]["fixed"] = "left";
+ }
+ }
}
}
table.render(option);
+
} else {
table.render(option);
+
}
-
//鍒锋柊鎸夐挳鏄剧ず
var btns = document.getElementsByTagName("button"); //鑾峰彇鏈〉鎵�鏈夋寜閽璞�
var HBillType = "鏉$爜涓绘。";
Display_HideButton(btns, HBillType, HModName, sessionStorage["HUserName"]);
-
}, error: function () {
layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
}
})
}
+ //#endregion
//#region 瀵煎嚭Execel
function get_Export() {
@@ -735,11 +1145,15 @@
var Organization = '<option value="0" selected="selected" ></option>';
for (var i = 1; i < option.cols[0].length; i++) {
if (option.cols[0][i].hide != true) {
- Organization += '<option style="color:blue;" value="' + option.cols[0][i].field + '">' + option.cols[0][i].field + '</option>';
+ Organization += '<option style="color:blue;" value="' + option.cols[0][i].field + '">' + option.cols[0][i].title + '</option>';
}
}
$("#ColName").empty();
$("#ColName").append(Organization);
+ $("#ColName1").empty();
+ $("#ColName1").append(Organization);
+ $("#ColName2").empty();
+ $("#ColName2").append(Organization);
form.render('select');
}
//#endregion
--
Gitblit v1.9.1