From 7d5e208f291c57e8d4c49c0c965cc6c736f9b31a Mon Sep 17 00:00:00 2001
From: yuyou_x <2336760928@qq.com>
Date: 星期三, 31 一月 2024 17:31:32 +0800
Subject: [PATCH] Merge branch 'yyk'

---
 Wms/WMS.IDAL/ISysInterface/IMaterialsRepository.cs   |    3 
 Wms/WMS.IBLL/ISysServer/IMaterialCategoryServer.cs   |   25 
 Wms/WMS.BLL/SysServer/MaterialCategoryServer.cs      |  346 +++++++++++++
 Wms/WMS.DAL/SysInfrastructure/MaterialsRepository.cs |   19 
 Wms/WMS.IBLL/ISysServer/IMaterialsServer.cs          |    3 
 /dev/null                                            |  218 --------
 Wms/Model/ModelDto/SysDto/MaterialCategoryDto.cs     |   26 
 Wms/Model/ModelDto/SysDto/XmSelectDto.cs             |   13 
 HTML/views/BaseSetting/Materials.html                |   50 +
 Wms/Model/ModelDto/SysDto/MaterialsDto.cs            |   10 
 Wms/Wms/Controllers/SysController.cs                 |  111 ++++
 HTML/js/xm-select.js                                 |    8 
 Wms/WMS.Entity/SysEntity/SysMaterialCategory.cs      |   14 
 Wms/WMS.Entity/SysEntity/SysMaterials.cs             |    5 
 HTML/views/BaseSetting/MaterialsForm.html            |   71 ++
 HTML/views/SystemSettings/CategoryForm.html          |  173 ++++++
 HTML/views/SystemSettings/Category.html              |  301 +++--------
 Wms/WMS.BLL/SysServer/MaterialsServer.cs             |   58 +-
 Wms/Wms/Controllers/BasisController.cs               |   33 -
 19 files changed, 961 insertions(+), 526 deletions(-)

diff --git a/HTML/js/xm-select.js b/HTML/js/xm-select.js
new file mode 100644
index 0000000..460aa68
--- /dev/null
+++ b/HTML/js/xm-select.js
@@ -0,0 +1,8 @@
+/*!
+ * @Title: xm-select
+ * @Version: 1.1.9
+ * @Description锛氬熀浜巐ayui鐨勫閫夎В鍐虫柟妗�
+ * @Site: https://gitee.com/maplemei/xm-select
+ * @Author: maplemei
+ * @License锛欰pache License 2.0
+ */!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="./",n(n.s=213)}({105:function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,o=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,(function(e,t){var r,i=t.trim().replace(/^"(.*)"$/,(function(e,t){return t})).replace(/^'(.*)'$/,(function(e,t){return t}));return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(i)?e:(r=0===i.indexOf("//")?i:0===i.indexOf("/")?n+i:o+i.replace(/^\.\//,""),"url("+JSON.stringify(r)+")")}))}},213:function(e,t,n){"use strict";n.r(t),function(e){n(215),n(216),n(218);var t=n(65);window.addEventListener("click",(function(){Object.keys(t.b).forEach((function(e){var n=t.b[e];n&&n.closed&&n.closed()}))})),"object"===("undefined"==typeof exports?"undefined":_typeof(exports))?e.exports=t.c:"function"==typeof define&&n(220)?define(xmSelect):window.layui&&layui.define&&layui.define((function(e){e("xmSelect",t.c)})),window.xmSelect=t.c}.call(this,n(214)(e))},214:function(e,t){e.exports=function(e){if(!e.webpackPolyfill){var t=Object.create(e);t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),Object.defineProperty(t,"exports",{enumerable:!0}),t.webpackPolyfill=1}return t}},215:function(e,t){Array.prototype.map||(Array.prototype.map=function(e,t){var n,o,r,i=Object(this),l=i.length>>>0;for(t&&(n=t),o=new Array(l),r=0;r<l;){var a,s;r in i&&(a=i[r],s=e.call(n,a,r,i),o[r]=s),r++}return o}),Array.prototype.forEach||(Array.prototype.forEach=function(e,t){var n,o;if(null==this)throw new TypeError("this is null or not defined");var r=Object(this),i=r.length>>>0;if("function"!=typeof e)throw new TypeError(e+" is not a function");for(arguments.length>1&&(n=t),o=0;o<i;){var l;o in r&&(l=r[o],e.call(n,l,o,r)),o++}}),Array.prototype.filter||(Array.prototype.filter=function(e){if(null==this)throw new TypeError;var t=Object(this),n=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var o=[],r=arguments[1],i=0;i<n;i++)if(i in t){var l=t[i];e.call(r,l,i,t)&&o.push(l)}return o}),Array.prototype.find||(Array.prototype.find=function(e){return e&&(this.filter(e)||[])[0]}),Array.prototype.findIndex||(Array.prototype.findIndex=function(e){for(var t,n=Object(this),o=n.length>>>0,r=arguments[1],i=0;i<o;i++)if(t=n[i],e.call(r,t,i,n))return i;return-1})},216:function(e,t,n){var o=n(217);"string"==typeof o&&(o=[[e.i,o,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};n(27)(o,r);o.locals&&(e.exports=o.locals)},217:function(e,t,n){(t=n(26)(!1)).push([e.i,"@-webkit-keyframes xm-upbit {\n  from {\n    -webkit-transform: translate3d(0, 30px, 0);\n    opacity: 0.3;\n  }\n  to {\n    -webkit-transform: translate3d(0, 0, 0);\n    opacity: 1;\n  }\n}\n@keyframes xm-upbit {\n  from {\n    transform: translate3d(0, 30px, 0);\n    opacity: 0.3;\n  }\n  to {\n    transform: translate3d(0, 0, 0);\n    opacity: 1;\n  }\n}\n@-webkit-keyframes loader {\n  0% {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n@keyframes loader {\n  0% {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\nxm-select {\n  background-color: #FFF;\n  position: relative;\n  border: 1px solid #E6E6E6;\n  border-radius: 2px;\n  display: block;\n  width: 100%;\n  cursor: pointer;\n  outline: none;\n}\nxm-select * {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n  font-size: 14px;\n  font-weight: 400;\n  text-overflow: ellipsis;\n  user-select: none;\n  -ms-user-select: none;\n  -moz-user-select: none;\n  -webkit-user-select: none;\n}\nxm-select:hover {\n  border-color: #C0C4CC;\n}\nxm-select > .xm-tips {\n  color: #999999;\n  padding: 0 10px;\n  position: absolute;\n  display: flex;\n  height: 100%;\n  align-items: center;\n}\nxm-select > .xm-icon {\n  display: inline-block;\n  overflow: hidden;\n  position: absolute;\n  width: 0;\n  height: 0;\n  right: 10px;\n  top: 50%;\n  margin-top: -3px;\n  cursor: pointer;\n  border: 6px dashed transparent;\n  border-top-color: #C2C2C2;\n  border-top-style: solid;\n  transition: all 0.3s;\n  -webkit-transition: all 0.3s;\n}\nxm-select > .xm-icon-expand {\n  margin-top: -9px;\n  transform: rotate(180deg);\n}\nxm-select > .xm-label.single-row {\n  position: absolute;\n  top: 0;\n  bottom: 0px;\n  left: 0px;\n  right: 30px;\n  overflow: auto hidden;\n}\nxm-select > .xm-label.single-row .scroll {\n  overflow-y: hidden;\n}\nxm-select > .xm-label.single-row .label-content {\n  flex-wrap: nowrap;\n}\nxm-select > .xm-label.auto-row .label-content {\n  flex-wrap: wrap;\n}\nxm-select > .xm-label.auto-row .xm-label-block > span {\n  white-space: unset;\n  height: 100%;\n}\nxm-select > .xm-label .scroll .label-content {\n  display: flex;\n  padding: 3px 30px 3px 10px;\n}\nxm-select > .xm-label .xm-label-block {\n  display: flex;\n  position: relative;\n  padding: 0px 5px;\n  margin: 2px 5px 2px 0;\n  border-radius: 3px;\n  align-items: baseline;\n  color: #FFF;\n}\nxm-select > .xm-label .xm-label-block > span {\n  display: flex;\n  color: #FFF;\n  white-space: nowrap;\n}\nxm-select > .xm-label .xm-label-block > i {\n  color: #FFF;\n  margin-left: 8px;\n  font-size: 12px;\n  cursor: pointer;\n  display: flex;\n}\nxm-select > .xm-label .xm-label-block.disabled {\n  background-color: #C2C2C2 !important;\n  cursor: no-drop !important;\n}\nxm-select > .xm-label .xm-label-block.disabled > i {\n  cursor: no-drop !important;\n}\nxm-select > .xm-body {\n  position: absolute;\n  left: 0;\n  top: 42px;\n  padding: 5px 0;\n  z-index: 999;\n  width: 100%;\n  min-width: fit-content;\n  border: 1px solid #E6E6E6;\n  background-color: #fff;\n  border-radius: 2px;\n  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);\n  animation-name: xm-upbit;\n  animation-duration: 0.3s;\n  animation-fill-mode: both;\n}\nxm-select > .xm-body .scroll-body {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\nxm-select > .xm-body .scroll-body::-webkit-scrollbar {\n  width: 8px;\n}\nxm-select > .xm-body .scroll-body::-webkit-scrollbar-track {\n  -webkit-border-radius: 2em;\n  -moz-border-radius: 2em;\n  -ms-border-radius: 2em;\n  border-radius: 2em;\n  background-color: #FFF;\n}\nxm-select > .xm-body .scroll-body::-webkit-scrollbar-thumb {\n  -webkit-border-radius: 2em;\n  -moz-border-radius: 2em;\n  -ms-border-radius: 2em;\n  border-radius: 2em;\n  background-color: #C2C2C2;\n}\nxm-select > .xm-body.up {\n  top: auto;\n  bottom: 42px;\n}\nxm-select > .xm-body.relative {\n  position: relative;\n  display: block !important;\n  top: 0;\n  box-shadow: none;\n  border: none;\n  animation-name: none;\n  animation-duration: 0;\n  min-width: 100%;\n}\nxm-select > .xm-body .xm-group {\n  cursor: default;\n}\nxm-select > .xm-body .xm-group-item {\n  display: inline-block;\n  cursor: pointer;\n  padding: 0 10px;\n  color: #999;\n  font-size: 12px;\n}\nxm-select > .xm-body .xm-option {\n  display: flex;\n  align-items: center;\n  position: relative;\n  padding: 0 10px;\n  cursor: pointer;\n}\nxm-select > .xm-body .xm-option-icon {\n  color: transparent;\n  display: flex;\n  border: 1px solid #E6E6E6;\n  border-radius: 3px;\n  justify-content: center;\n  align-items: center;\n}\nxm-select > .xm-body .xm-option-icon.xm-icon-danx {\n  border-radius: 100%;\n}\nxm-select > .xm-body .xm-option-content {\n  display: flex;\n  position: relative;\n  padding-left: 15px;\n  overflow: hidden;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n  color: #666;\n  width: calc(100% - 20px);\n}\nxm-select > .xm-body .xm-option.hide-icon .xm-option-content {\n  padding-left: 0;\n}\nxm-select > .xm-body .xm-option.selected.hide-icon .xm-option-content {\n  color: #FFF !important;\n}\nxm-select > .xm-body .xm-option .loader {\n  width: 0.8em;\n  height: 0.8em;\n  margin-right: 6px;\n  color: #C2C2C2;\n}\nxm-select > .xm-body .xm-select-empty {\n  text-align: center;\n  color: #999;\n}\nxm-select > .xm-body .disabled {\n  cursor: no-drop;\n}\nxm-select > .xm-body .disabled:hover {\n  background-color: #FFF;\n}\nxm-select > .xm-body .disabled .xm-option-icon {\n  border-color: #C2C2C2 !important;\n}\nxm-select > .xm-body .disabled .xm-option-content {\n  color: #C2C2C2 !important;\n}\nxm-select > .xm-body .disabled.selected > .xm-option-icon {\n  color: #C2C2C2 !important;\n}\nxm-select > .xm-body .xm-search {\n  background-color: #FFF !important;\n  position: relative;\n  padding: 0 10px;\n  margin-bottom: 5px;\n  cursor: pointer;\n}\nxm-select > .xm-body .xm-search > i {\n  position: absolute;\n  color: #666;\n}\nxm-select > .xm-body .xm-search-input {\n  border: none;\n  border-bottom: 1px solid #E6E6E6;\n  padding-left: 27px;\n  cursor: text;\n}\nxm-select > .xm-body .xm-paging {\n  padding: 0 10px;\n  display: flex;\n  margin-top: 5px;\n}\nxm-select > .xm-body .xm-paging > span:first-child {\n  border-radius: 2px 0 0 2px;\n}\nxm-select > .xm-body .xm-paging > span:last-child {\n  border-radius: 0 2px 2px 0;\n}\nxm-select > .xm-body .xm-paging > span {\n  display: flex;\n  flex: auto;\n  justify-content: center;\n  vertical-align: middle;\n  margin: 0 -1px 0 0;\n  background-color: #fff;\n  color: #333;\n  font-size: 12px;\n  border: 1px solid #e2e2e2;\n  flex-wrap: nowrap;\n  width: 100%;\n  overflow: hidden;\n  min-width: 50px;\n}\nxm-select > .xm-body .xm-toolbar {\n  padding: 0 10px;\n  display: flex;\n  margin: -3px 0;\n  cursor: default;\n}\nxm-select > .xm-body .xm-toolbar .toolbar-tag {\n  cursor: pointer;\n  display: flex;\n  margin-right: 20px;\n  color: #666;\n  align-items: baseline;\n}\nxm-select > .xm-body .xm-toolbar .toolbar-tag:hover {\n  opacity: 0.8;\n}\nxm-select > .xm-body .xm-toolbar .toolbar-tag:active {\n  opacity: 1;\n}\nxm-select > .xm-body .xm-toolbar .toolbar-tag > i {\n  margin-right: 2px;\n  font-size: 14px;\n}\nxm-select > .xm-body .xm-toolbar .toolbar-tag:last-child {\n  margin-right: 0;\n}\nxm-select > .xm-body .xm-body-custom {\n  line-height: initial;\n  cursor: default;\n}\nxm-select > .xm-body .xm-body-custom * {\n  box-sizing: initial;\n}\nxm-select > .xm-body .xm-tree {\n  position: relative;\n}\nxm-select > .xm-body .xm-tree-icon {\n  display: inline-block;\n  margin-right: 3px;\n  cursor: pointer;\n  border: 6px dashed transparent;\n  border-left-color: #C2C2C2;\n  border-left-style: solid;\n  transition: all 0.3s;\n  -webkit-transition: all 0.3s;\n  z-index: 2;\n  visibility: hidden;\n}\nxm-select > .xm-body .xm-tree-icon.expand {\n  margin-top: 3px;\n  margin-right: 5px;\n  margin-left: -2px;\n  transform: rotate(90deg);\n}\nxm-select > .xm-body .xm-tree-icon.xm-visible {\n  visibility: visible;\n}\nxm-select > .xm-body .xm-tree .left-line {\n  position: absolute;\n  left: 13px;\n  width: 0;\n  z-index: 1;\n  border-left: 1px dotted #c0c4cc !important;\n}\nxm-select > .xm-body .xm-tree .top-line {\n  position: absolute;\n  left: 13px;\n  height: 0;\n  z-index: 1;\n  border-top: 1px dotted #c0c4cc !important;\n}\nxm-select > .xm-body .xm-tree .xm-tree-icon + .top-line {\n  margin-left: 1px;\n}\nxm-select > .xm-body .scroll-body > .xm-tree > .xm-option > .top-line,\nxm-select > .xm-body .scroll-body > .xm-option > .top-line {\n  width: 0 !important;\n}\nxm-select > .xm-body .xm-cascader-box {\n  position: absolute;\n  left: 0;\n  right: 0;\n  top: 0;\n  bottom: 0;\n  padding: 5px 0;\n  border: 1px solid #E6E6E6;\n  background-color: #fff;\n  border-radius: 2px;\n  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);\n  margin: -1px;\n}\nxm-select > .xm-body .xm-cascader-box::before {\n  content: ' ';\n  position: absolute;\n  width: 0;\n  height: 0;\n  border: 6px solid transparent;\n  border-right-color: #E6E6E6;\n  top: 10px;\n  left: -12px;\n}\nxm-select > .xm-body .xm-cascader-box::after {\n  content: ' ';\n  position: absolute;\n  width: 0;\n  height: 0;\n  border: 6px solid transparent;\n  border-right-color: #fff;\n  top: 10px;\n  left: -11px;\n}\nxm-select > .xm-body .xm-cascader-scroll {\n  height: 100%;\n  overflow-x: hidden;\n  overflow-y: auto;\n}\nxm-select > .xm-body.cascader {\n  width: unset;\n  min-width: unset;\n}\nxm-select > .xm-body.cascader .xm-option-content {\n  padding-left: 8px;\n}\nxm-select > .xm-body.cascader .disabled .xm-right-arrow {\n  color: #C2C2C2 !important;\n}\nxm-select .xm-input {\n  cursor: pointer;\n  border-radius: 2px;\n  border-width: 1px;\n  border-style: solid;\n  border-color: #E6E6E6;\n  display: block;\n  width: 100%;\n  box-sizing: border-box;\n  background-color: #FFF;\n  line-height: 1.3;\n  padding-left: 10px;\n  outline: 0;\n  user-select: text;\n  -ms-user-select: text;\n  -moz-user-select: text;\n  -webkit-user-select: text;\n}\nxm-select .dis {\n  display: none;\n}\nxm-select .loading {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  background-color: rgba(255, 255, 255, 0.6);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\nxm-select .loader {\n  border: 0.2em dotted currentcolor;\n  border-radius: 50%;\n  -webkit-animation: 1s loader linear infinite;\n  animation: 1s loader linear infinite;\n  display: inline-block;\n  width: 1em;\n  height: 1em;\n  color: inherit;\n  vertical-align: middle;\n  pointer-events: none;\n}\nxm-select .xm-select-default {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  border: none;\n  visibility: hidden;\n}\nxm-select .xm-select-disabled {\n  position: absolute;\n  left: 0;\n  right: 0;\n  top: 0;\n  bottom: 0;\n  cursor: no-drop;\n  z-index: 2;\n  opacity: 0.3;\n  background-color: #FFF;\n}\nxm-select .item--divided {\n  border-top: 1px solid #ebeef5;\n  width: calc(100% - 20px);\n  cursor: initial;\n}\nxm-select .xm-right-arrow {\n  position: absolute;\n  color: #666;\n  right: 5px;\n  top: -1px;\n  font-weight: 700;\n  transform: scale(0.6, 1);\n}\nxm-select .xm-right-arrow::after {\n  content: '>';\n}\nxm-select[size='large'] {\n  min-height: 40px;\n  line-height: 40px;\n}\nxm-select[size='large'] .xm-input {\n  height: 40px;\n}\nxm-select[size='large'] .xm-label .scroll .label-content {\n  line-height: 34px;\n}\nxm-select[size='large'] .xm-label .xm-label-block {\n  height: 30px;\n  line-height: 30px;\n}\nxm-select[size='large'] .xm-body .xm-option .xm-option-icon {\n  height: 20px;\n  width: 20px;\n  font-size: 20px;\n}\nxm-select[size='large'] .xm-paging > span {\n  height: 34px;\n  line-height: 34px;\n}\nxm-select[size='large'] .xm-tree .left-line {\n  height: 100%;\n  bottom: 20px;\n}\nxm-select[size='large'] .xm-tree .left-line-group {\n  height: calc(100% - 40px);\n}\nxm-select[size='large'] .xm-tree .xm-tree-icon.xm-hidden + .top-line {\n  top: 19px;\n}\nxm-select[size='large'] .item--divided {\n  margin: 10px;\n}\nxm-select {\n  min-height: 36px;\n  line-height: 36px;\n}\nxm-select .xm-input {\n  height: 36px;\n}\nxm-select .xm-label .scroll .label-content {\n  line-height: 30px;\n}\nxm-select .xm-label .xm-label-block {\n  height: 26px;\n  line-height: 26px;\n}\nxm-select .xm-body .xm-option .xm-option-icon {\n  height: 18px;\n  width: 18px;\n  font-size: 18px;\n}\nxm-select .xm-paging > span {\n  height: 30px;\n  line-height: 30px;\n}\nxm-select .xm-tree .left-line {\n  height: 100%;\n  bottom: 18px;\n}\nxm-select .xm-tree .left-line-group {\n  height: calc(100% - 36px);\n}\nxm-select .xm-tree .xm-tree-icon.xm-hidden + .top-line {\n  top: 17px;\n}\nxm-select .item--divided {\n  margin: 9px;\n}\nxm-select[size='small'] {\n  min-height: 32px;\n  line-height: 32px;\n}\nxm-select[size='small'] .xm-input {\n  height: 32px;\n}\nxm-select[size='small'] .xm-label .scroll .label-content {\n  line-height: 26px;\n}\nxm-select[size='small'] .xm-label .xm-label-block {\n  height: 22px;\n  line-height: 22px;\n}\nxm-select[size='small'] .xm-body .xm-option .xm-option-icon {\n  height: 16px;\n  width: 16px;\n  font-size: 16px;\n}\nxm-select[size='small'] .xm-paging > span {\n  height: 26px;\n  line-height: 26px;\n}\nxm-select[size='small'] .xm-tree .left-line {\n  height: 100%;\n  bottom: 16px;\n}\nxm-select[size='small'] .xm-tree .left-line-group {\n  height: calc(100% - 32px);\n}\nxm-select[size='small'] .xm-tree .xm-tree-icon.xm-hidden + .top-line {\n  top: 15px;\n}\nxm-select[size='small'] .item--divided {\n  margin: 8px;\n}\nxm-select[size='mini'] {\n  min-height: 28px;\n  line-height: 28px;\n}\nxm-select[size='mini'] .xm-input {\n  height: 28px;\n}\nxm-select[size='mini'] .xm-label .scroll .label-content {\n  line-height: 22px;\n}\nxm-select[size='mini'] .xm-label .xm-label-block {\n  height: 18px;\n  line-height: 18px;\n}\nxm-select[size='mini'] .xm-body .xm-option .xm-option-icon {\n  height: 14px;\n  width: 14px;\n  font-size: 14px;\n}\nxm-select[size='mini'] .xm-paging > span {\n  height: 22px;\n  line-height: 22px;\n}\nxm-select[size='mini'] .xm-tree .left-line {\n  height: 100%;\n  bottom: 14px;\n}\nxm-select[size='mini'] .xm-tree .left-line-group {\n  height: calc(100% - 28px);\n}\nxm-select[size='mini'] .xm-tree .xm-tree-icon.xm-hidden + .top-line {\n  top: 13px;\n}\nxm-select[size='mini'] .item--divided {\n  margin: 7px;\n}\n.layui-form-pane xm-select {\n  margin: -1px -1px -1px 0;\n}\n",""]),e.exports=t},218:function(e,t,n){var o=n(219);"string"==typeof o&&(o=[[e.i,o,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};n(27)(o,r);o.locals&&(e.exports=o.locals)},219:function(e,t,n){(t=n(26)(!1)).push([e.i,'@font-face {\n  font-family: "xm-iconfont";\n  src: url(\'//at.alicdn.com/t/font_792691_ptvyboo0bno.eot?t=1574048839056\');\n  /* IE9 */\n  src: url(\'//at.alicdn.com/t/font_792691_ptvyboo0bno.eot?t=1574048839056#iefix\') format(\'embedded-opentype\'), /* IE6-IE8 */ url(\'data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAksAAsAAAAAEYAAAAjeAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCEUgqTXI8lATYCJAM0CxwABCAFhG0HgTwbZQ4jEbaCkVIj+4sD3sS6BFAp9ka91ulVG4leTC/+h+3V+zyRYCTyREKkcZ+D5/u137lPdveLGJBMunoiNPOQPBMq0/FQtEKIkMRDZng69d+hOiQumAr7bJdBOEzMTU77s78mhbI58aCg7ebCs4LBTgCk+cD/4ZqWUHebipp7al3tyKOjwCV/hVyw9PdzaktxI7IMQs26/1N8gV4DI0bVut3UhCaflGGgwM3oTXg1IfRMbCsmrEnriJVeYM2eXHII4KdMMzL4OoACHgZBCTasITcReDUBE8kWPLMTCGoQaDV+eKpUPQI49r8vP6BTPIDCaiBSml3oOQX0voNPebv/u2P0AUfP1w0s5EADzYBZsNdByylo2eVq/NtRdgFpovQR5x2CIwmIZeik6/u0T/m/A7RJP00sCmmyksj/kwc+LC5BFBqDEMDDjwPiANDB9MpJTXwHmsO3YyBwWDA4OFwwJLRcRgAOBUYMDg0mHRwGTAYozsV0AgWYruDwwExDHfzwKWf4OurQ9jzQDtoF+wpistfBfluQ5bQiiJa4ZQoKhShLiMayBbyg05AIkYBoIBJEEApQy/FwYv4HchADIUBXl61dW6mpwIgyp7p8PrHddieSjhY9oqTxyPB/FGNYDklpfYh8VtaoqSgb0bKoGB17CuVUp9Ll2nS2UpNGMSw9hyirA7C6+QLyByIQS0sSSmxvArC5odZmYZMxZSiBR5OkQl0uiufxMH5eL8t3u0d4XKyuq6EMdcpNe2+oXA8p9yPa+4T1PM7+A54tc7tpl2vcAHAftnhZj2chy1CyaCRFsyMqQ5nkNnskEt2yxxZinPsOZjFm4+XWvKqLkfCGS1k4MNP82isxSMf7ZsGYvQVCNAeSSVtzWCxRdXGxyZlA2CvCEevuO7y9M2z2NWH8icydzq/qAJSp1lGvDWFp6Nw3xChJowPD+76nU+upQk6Kw9jI0Rgym9Ct8VlxMI3CSIaDCZja5tDYt0/EYra4tn0Kp3v8Rdezk8svcy1mKhoSvNcZz3LKlUe777Gmval0s7bzAc0k13LGk896V9DuvNn34N0ebKgItkQgOomuJtgQPChNI4cwa7CEWCvfk5QjJFlem6i3SfVShWi5LTFRG+JwdCNpSqbpRFwrtb1TbcRkJi/AbJJQOmfCdnswLNGVM7qqSRO1zO0Q0j5Vr3cYQ07HB0MX6KoIZhx+D9Djs2C5bXtVwvbgJHtSCIL7hjFJme4sZDdS5IlJdKUO1Qt8opn0trBafz3AX933kmCRgyMEWGZjMAkRKhwmIHJGR4ruwFCdWKYzrap2R/mvd2UKajzRAZu88pGAD90Y+02kTFCKrBSXwGGJ3wRcPCdIppTxSmHOfESRwIli0S5J/8AYDCxTGh4XZua4xvfvGx320rDK2qA8g5FlS7pWNLx71+BwgA/KZ5I0aeKmNeCNoNPl8qNHu8uHHzqaKc86fHi4vPuRI4ny+I/vjxw+clh4HXVCFvVnVFx07EHZwVhSRliTTMWSEi0h6YuS6DxCRmiin0B3L4ry6cvR0ijYexFdBL3wGQM0YOrUAZCBkLOBBtQ+xdk7omfgUv+u++admyUeXduyxLM+r/+49rPfhgEZor6GymToNYksNsZyC7ntwAH0928UpgMpxpF0ydNlsMMBw7QsxTCmu0Hf3F+/+vb99Yumhb+e9R0LBNm+4O+hu7lQ5bGjI9j5G88qQ5SLFyuEC7cwd25xoYo2j4eA4bhpM7TZhPtmc+uhVEVSMYXLWh0bfjI8dvUpvDUocPZmU4kwwOfc83wB5wPehrpD3waApbwW+fgRrZXcxw+mB/3woZT+8JFMYwRMIy2k/18qhqcKpjYeYSnIACaUoRDu0e3kQFh98R5fiI8oJqwwGZSJDSbehLzZs7zIeWTQ4UGOIs2c4j2/Q/tn7n7j9juO33On6WhURCT/wO6Y3QdmWFY0Ef6JUeGRggO7ZbtaZlh5RYKWXbLPBLc3l/5h4A0mu3ZXTZ+u6t6VHMAzZhxak50T+24NnRuaOmehRkXlqVR5lIpuwezUUDUdCuJysv8Z/0/8uNE1s7jIJIubFWnI/x7g4nAZx79yYpFoAOU3a9iwT1O/GxUxPY0ljVPv9EukI3qNrl/So2YfzasqHCroNjS0+w0tlPlsYfC6v/01ixquizJH1Kd/VK+OS3iS3rTJWmqsMPdU3B3oFyC9RSumWE/0gG36IjTysfH51IJ/5oOgNYu6p4yb5Fdufhr/Kjtu0oSyYP/WJQrz35aNFnMhtFcwb55NlNnH8Wdu1b+XZA9zqlZrhdPo/V3uBhiUlQ66h0LhbAmFYIncdFOpVMh6Fl7peqy5Z2ZdQBITO2x1Asj1dRFjIBMC3hbuUh8Ooc4W03EjAdo8UL/t0oUfyU8630bmMcw/vqDNAsC9BQD4OqCgH+ljy0UhJB8AAJA+8EmArxk5gnRLik90AElf8rBm+IMvBTWnucb3+0o0ARk+r0ZBv8sU01nnSmP45/H8Dp8C8X+iE9e+ZvXymK/sQJ5/DuqhYKebPnKmPqLYuDcIMWS2/Rjxp2s8Do821LVn6A/xMK1RKvBLK5gyDsZ5uQ6bYusmx2yqLFe4lECHDPcFhojmckuAbnCI6Cn308RI6AAJdtCICQLQyBHKhSgX5YowN6BBPIEB8VxuSfNncpAuutzPnCSiDHDEo+DsKQBPoJi4MpRktepIs2zjO5h84IEMM3ffECKSZU1ZHxfewEI4h494MuuUNNOBjuw18QKHAzEXaAcylS3m3baq9MpnKenYmfEUgCdbXTHEtTVKsvruNGv9/DuYfOAhcuKu9TeEiA9nNJTUDOUbbVkn3sv2eDJrEnVrpvcHOjJeqRsOcpYYLuxoBzKVtCOm3ZaKbtJcurw+e/zN6c7Pd6r4gqUo0WLEiiOueOITvwQkKCEJM9nO3F60y5HkqLhdqUyXZtK3lqwReQ+G40O92UhOt0x/KmKM+u7LTPMzoEBOCYtiUPfSjODiuFXjSDm2idzAoc4Tj9bs2eJYDOU7HQA=\') format(\'woff2\'), url(\'//at.alicdn.com/t/font_792691_ptvyboo0bno.woff?t=1574048839056\') format(\'woff\'), url(\'//at.alicdn.com/t/font_792691_ptvyboo0bno.ttf?t=1574048839056\') format(\'truetype\'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ url(\'//at.alicdn.com/t/font_792691_ptvyboo0bno.svg?t=1574048839056#iconfont\') format(\'svg\');\n  /* iOS 4.1- */\n}\n.xm-iconfont {\n  font-family: "xm-iconfont" !important;\n  font-size: 16px;\n  font-style: normal;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n.xm-icon-quanxuan:before {\n  content: "\\e62c";\n}\n.xm-icon-caidan:before {\n  content: "\\e610";\n}\n.xm-icon-fanxuan:before {\n  content: "\\e837";\n}\n.xm-icon-pifu:before {\n  content: "\\e668";\n}\n.xm-icon-qingkong:before {\n  content: "\\e63e";\n}\n.xm-icon-sousuo:before {\n  content: "\\e600";\n}\n.xm-icon-danx:before {\n  content: "\\e62b";\n}\n.xm-icon-duox:before {\n  content: "\\e613";\n}\n.xm-icon-close:before {\n  content: "\\e601";\n}\n.xm-icon-expand:before {\n  content: "\\e641";\n}\n.xm-icon-banxuan:before {\n  content: "\\e60d";\n}\n',""]),e.exports=t},220:function(e,t){(function(t){e.exports=t}).call(this,{})},26:function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||"",o=e[3];if(!o)return n;if(t&&"function"==typeof btoa){var r=function(e){var t=btoa(unescape(encodeURIComponent(JSON.stringify(e)))),n="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(t);return"/*# ".concat(n," */")}(o),i=o.sources.map((function(e){return"/*# sourceURL=".concat(o.sourceRoot||"").concat(e," */")}));return[n].concat(i).concat([r]).join("\n")}return[n].join("\n")}(t,e);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,o){"string"==typeof e&&(e=[[null,e,""]]);var r={};if(o)for(var i=0;i<this.length;i++){var l=this[i][0];null!=l&&(r[l]=!0)}for(var a=0;a<e.length;a++){var s=[].concat(e[a]);o&&r[s[0]]||(n&&(s[2]?s[2]="".concat(n," and ").concat(s[2]):s[2]=n),t.push(s))}},t}},27:function(e,t,n){var o,r,i={},l=(o=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===r&&(r=o.apply(this,arguments)),r}),a=function(e,t){return t?t.querySelector(e):document.querySelector(e)},s=function(e){var t={};return function(e,n){if("function"==typeof e)return e();if(void 0===t[e]){var o=a.call(this,e,n);if(window.HTMLIFrameElement&&o instanceof window.HTMLIFrameElement)try{o=o.contentDocument.head}catch(e){o=null}t[e]=o}return t[e]}}(),c=null,u=0,p=[],f=n(105);function d(e,t){for(var n=0;n<e.length;n++){var o=e[n],r=i[o.id];if(r){r.refs++;for(var l=0;l<r.parts.length;l++)r.parts[l](o.parts[l]);for(;l<o.parts.length;l++)r.parts.push(v(o.parts[l],t))}else{var a=[];for(l=0;l<o.parts.length;l++)a.push(v(o.parts[l],t));i[o.id]={id:o.id,refs:1,parts:a}}}}function h(e,t){for(var n=[],o={},r=0;r<e.length;r++){var i=e[r],l=t.base?i[0]+t.base:i[0],a={css:i[1],media:i[2],sourceMap:i[3]};o[l]?o[l].parts.push(a):n.push(o[l]={id:l,parts:[a]})}return n}function m(e,t){var n=s(e.insertInto);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var o=p[p.length-1];if("top"===e.insertAt)o?o.nextSibling?n.insertBefore(t,o.nextSibling):n.appendChild(t):n.insertBefore(t,n.firstChild),p.push(t);else if("bottom"===e.insertAt)n.appendChild(t);else{if("object"!=typeof e.insertAt||!e.insertAt.before)throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n");var r=s(e.insertAt.before,n);n.insertBefore(t,r)}}function b(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e);var t=p.indexOf(e);t>=0&&p.splice(t,1)}function y(e){var t=document.createElement("style");if(void 0===e.attrs.type&&(e.attrs.type="text/css"),void 0===e.attrs.nonce){var o=function(){0;return n.nc}();o&&(e.attrs.nonce=o)}return x(t,e.attrs),m(e,t),t}function x(e,t){Object.keys(t).forEach((function(n){e.setAttribute(n,t[n])}))}function v(e,t){var n,o,r,i;if(t.transform&&e.css){if(!(i="function"==typeof t.transform?t.transform(e.css):t.transform.default(e.css)))return function(){};e.css=i}if(t.singleton){var l=u++;n=c||(c=y(t)),o=w.bind(null,n,l,!1),r=w.bind(null,n,l,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",x(t,e.attrs),m(e,t),t}(t),o=C.bind(null,n,t),r=function(){b(n),n.href&&URL.revokeObjectURL(n.href)}):(n=y(t),o=k.bind(null,n),r=function(){b(n)});return o(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;o(e=t)}else r()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=l()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=h(e,t);return d(n,t),function(e){for(var o=[],r=0;r<n.length;r++){var l=n[r];(a=i[l.id]).refs--,o.push(a)}e&&d(h(e,t),t);for(r=0;r<o.length;r++){var a;if(0===(a=o[r]).refs){for(var s=0;s<a.parts.length;s++)a.parts[s]();delete i[a.id]}}}};var g,_=(g=[],function(e,t){return g[e]=t,g.filter(Boolean).join("\n")});function w(e,t,n,o){var r=n?"":o.css;if(e.styleSheet)e.styleSheet.cssText=_(t,r);else{var i=document.createTextNode(r),l=e.childNodes;l[t]&&e.removeChild(l[t]),l.length?e.insertBefore(i,l[t]):e.appendChild(i)}}function k(e,t){var n=t.css,o=t.media;if(o&&e.setAttribute("media",o),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}function C(e,t,n){var o=n.css,r=n.sourceMap,i=void 0===t.convertToAbsoluteUrls&&r;(t.convertToAbsoluteUrls||i)&&(o=f(o)),r&&(o+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+" */");var l=new Blob([o],{type:"text/css"}),a=e.href;e.href=URL.createObjectURL(l),a&&URL.revokeObjectURL(a)}},40:function(e){e.exports=JSON.parse('{"a":"xm-select","b":"1.1.9"}')},65:function(e,t,n){"use strict";n.d(t,"b",(function(){return nt})),n.d(t,"d",(function(){return ot})),n.d(t,"a",(function(){return rt}));var o=n(40);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function s(e){return e.nodeType?e:document.querySelector(e)}function c(){for(var e=[],t=0;t<arguments.length;t++)e.push("".concat(t+1,". ").concat(arguments[t]));console.warn(e.join("\n"))}function u(e){return"[object Array]"==Object.prototype.toString.call(e)}function p(e){return"[object Function]"==Object.prototype.toString.call(e)}function f(e,t){var n;for(n in t)e[n]=e[n]&&"[object Object]"===e[n].toString()&&t[n]&&"[object Object]"===t[n].toString()?f(e[n],t[n]):e[n]=t[n];return e}function d(e,t,n){for(var o=n.value,r=l(t),i=function(n){var i=e[n];t.find((function(e){return e[o]==i[o]}))||r.push(i)},a=0;a<e.length;a++)i(a);return r}function h(e,t,n,o){if(e&&u(e)){var r=o.children,i=o.selected,l=o.value;e.forEach((function(e){e.__node[i]||t.find((function(t){return t[l]===e[l]}))?n.push(e):h(e[r],t,n,o)}))}}function m(e,t,n){if(e&&u(e))return e.map((function(e){return e=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},e),n.forEach((function(t){return delete e[t]})),e[t]=m(e[t],t,n),e}))}var b,y,x,v,g,_={},w=[],k=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function C(e,t){for(var n in t)e[n]=t[n];return e}function S(e){var t=e.parentNode;t&&t.removeChild(e)}function O(e,t,n){var o,r=arguments,i={};for(o in t)"key"!==o&&"ref"!==o&&(i[o]=t[o]);if(arguments.length>3)for(n=[n],o=3;o<arguments.length;o++)n.push(r[o]);if(null!=n&&(i.children=n),"function"==typeof e&&null!=e.defaultProps)for(o in e.defaultProps)void 0===i[o]&&(i[o]=e.defaultProps[o]);return j(e,i,t&&t.key,t&&t.ref,null)}function j(e,t,n,o,r){var i={type:e,props:t,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:r};return null==r&&(i.__v=i),b.vnode&&b.vnode(i),i}function A(e){return e.children}function E(e,t){this.props=e,this.context=t}function R(e,t){if(null==t)return e.__?R(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e)return n.__e;return"function"==typeof e.type?R(e):null}function P(e){var t,n;if(null!=(e=e.__)&&null!=e.__c){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e){e.__e=e.__c.base=n.__e;break}return P(e)}}function I(e){(!e.__d&&(e.__d=!0)&&y.push(e)&&!D.__r++||v!==b.debounceRendering)&&((v=b.debounceRendering)||x)(D)}function D(){for(var e;D.__r=y.length;)e=y.sort((function(e,t){return e.__v.__b-t.__v.__b})),y=[],e.some((function(e){var t,n,o,r,i,l,a;e.__d&&(l=(i=(t=e).__v).__e,(a=t.__P)&&(n=[],(o=C({},i)).__v=o,r=F(a,i,o,t.__n,void 0!==a.ownerSVGElement,null,n,null==l?R(i):l),B(n,i),r!=l&&P(i)))}))}function M(e,t,n,o,r,i,l,a,s,c){var u,p,f,d,h,m,b,y=o&&o.__k||w,x=y.length;for(s==_&&(s=null!=l?l[0]:x?R(o,0):null),n.__k=[],u=0;u<t.length;u++)if(null!=(d=n.__k[u]=null==(d=t[u])||"boolean"==typeof d?null:"string"==typeof d||"number"==typeof d?j(null,d,null,null,d):Array.isArray(d)?j(A,{children:d},null,null,null):null!=d.__e||null!=d.__c?j(d.type,d.props,d.key,null,d.__v):d)){if(d.__=n,d.__b=n.__b+1,null===(f=y[u])||f&&d.key==f.key&&d.type===f.type)y[u]=void 0;else for(p=0;p<x;p++){if((f=y[p])&&d.key==f.key&&d.type===f.type){y[p]=void 0;break}f=null}h=F(e,d,f=f||_,r,i,l,a,s,c),(p=d.ref)&&f.ref!=p&&(b||(b=[]),f.ref&&b.push(f.ref,null,d),b.push(p,d.__c||h,d)),null!=h?(null==m&&(m=h),s=T(e,d,f,y,l,h,s),"option"==n.type?e.value="":"function"==typeof n.type&&(n.__d=s)):s&&f.__e==s&&s.parentNode!=e&&(s=R(f))}if(n.__e=m,null!=l&&"function"!=typeof n.type)for(u=l.length;u--;)null!=l[u]&&S(l[u]);for(u=x;u--;)null!=y[u]&&K(y[u],y[u]);if(b)for(u=0;u<b.length;u++)H(b[u],b[++u],b[++u])}function T(e,t,n,o,r,i,l){var a,s,c;if(void 0!==t.__d)a=t.__d,t.__d=void 0;else if(r==n||i!=l||null==i.parentNode)e:if(null==l||l.parentNode!==e)e.appendChild(i),a=null;else{for(s=l,c=0;(s=s.nextSibling)&&c<o.length;c+=2)if(s==i)break e;e.insertBefore(i,l),a=l}return void 0!==a?a:i.nextSibling}function z(e,t,n){"-"===t[0]?e.setProperty(t,n):e[t]="number"==typeof n&&!1===k.test(t)?n+"px":null==n?"":n}function L(e,t,n,o,r){var i,l,a,s,c;if(r?"className"===t&&(t="class"):"class"===t&&(t="className"),"style"===t)if(i=e.style,"string"==typeof n)i.cssText=n;else{if("string"==typeof o&&(i.cssText="",o=null),o)for(s in o)n&&s in n||z(i,s,"");if(n)for(c in n)o&&n[c]===o[c]||z(i,c,n[c])}else"o"===t[0]&&"n"===t[1]?(l=t!==(t=t.replace(/Capture$/,"")),a=t.toLowerCase(),t=(a in e?a:t).slice(2),n?(o||e.addEventListener(t,V,l),(e.l||(e.l={}))[t]=n):e.removeEventListener(t,V,l)):"list"!==t&&"tagName"!==t&&"form"!==t&&"type"!==t&&"size"!==t&&!r&&t in e?e[t]=null==n?"":n:"function"!=typeof n&&"dangerouslySetInnerHTML"!==t&&(t!==(t=t.replace(/^xlink:?/,""))?null==n||!1===n?e.removeAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase()):e.setAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase(),n):null==n||!1===n&&!/^ar/.test(t)?e.removeAttribute(t):e.setAttribute(t,n))}function V(e){this.l[e.type](b.event?b.event(e):e)}function U(e,t,n){var o,r;for(o=0;o<e.__k.length;o++)(r=e.__k[o])&&(r.__=e,r.__e&&("function"==typeof r.type&&r.__k.length>1&&U(r,t,n),t=T(n,r,r,e.__k,null,r.__e,t),"function"==typeof e.type&&(e.__d=t)))}function F(e,t,n,o,r,i,l,a,s){var c,u,p,f,d,h,m,y,x,v,g,_=t.type;if(void 0!==t.constructor)return null;(c=b.__b)&&c(t);try{e:if("function"==typeof _){if(y=t.props,x=(c=_.contextType)&&o[c.__c],v=c?x?x.props.value:c.__:o,n.__c?m=(u=t.__c=n.__c).__=u.__E:("prototype"in _&&_.prototype.render?t.__c=u=new _(y,v):(t.__c=u=new E(y,v),u.constructor=_,u.render=q),x&&x.sub(u),u.props=y,u.state||(u.state={}),u.context=v,u.__n=o,p=u.__d=!0,u.__h=[]),null==u.__s&&(u.__s=u.state),null!=_.getDerivedStateFromProps&&(u.__s==u.state&&(u.__s=C({},u.__s)),C(u.__s,_.getDerivedStateFromProps(y,u.__s))),f=u.props,d=u.state,p)null==_.getDerivedStateFromProps&&null!=u.componentWillMount&&u.componentWillMount(),null!=u.componentDidMount&&u.__h.push(u.componentDidMount);else{if(null==_.getDerivedStateFromProps&&y!==f&&null!=u.componentWillReceiveProps&&u.componentWillReceiveProps(y,v),!u.__e&&null!=u.shouldComponentUpdate&&!1===u.shouldComponentUpdate(y,u.__s,v)||t.__v===n.__v){u.props=y,u.state=u.__s,t.__v!==n.__v&&(u.__d=!1),u.__v=t,t.__e=n.__e,t.__k=n.__k,u.__h.length&&l.push(u),U(t,a,e);break e}null!=u.componentWillUpdate&&u.componentWillUpdate(y,u.__s,v),null!=u.componentDidUpdate&&u.__h.push((function(){u.componentDidUpdate(f,d,h)}))}u.context=v,u.props=y,u.state=u.__s,(c=b.__r)&&c(t),u.__d=!1,u.__v=t,u.__P=e,c=u.render(u.props,u.state,u.context),u.state=u.__s,null!=u.getChildContext&&(o=C(C({},o),u.getChildContext())),p||null==u.getSnapshotBeforeUpdate||(h=u.getSnapshotBeforeUpdate(f,d)),g=null!=c&&c.type==A&&null==c.key?c.props.children:c,M(e,Array.isArray(g)?g:[g],t,n,o,r,i,l,a,s),u.base=t.__e,u.__h.length&&l.push(u),m&&(u.__E=u.__=null),u.__e=!1}else null==i&&t.__v===n.__v?(t.__k=n.__k,t.__e=n.__e):t.__e=N(n.__e,t,n,o,r,i,l,s);(c=b.diffed)&&c(t)}catch(e){t.__v=null,b.__e(e,t,n)}return t.__e}function B(e,t){b.__c&&b.__c(t,e),e.some((function(t){try{e=t.__h,t.__h=[],e.some((function(e){e.call(t)}))}catch(e){b.__e(e,t.__v)}}))}function N(e,t,n,o,r,i,l,a){var s,c,u,p,f,d=n.props,h=t.props;if(r="svg"===t.type||r,null!=i)for(s=0;s<i.length;s++)if(null!=(c=i[s])&&((null===t.type?3===c.nodeType:c.localName===t.type)||e==c)){e=c,i[s]=null;break}if(null==e){if(null===t.type)return document.createTextNode(h);e=r?document.createElementNS("http://www.w3.org/2000/svg",t.type):document.createElement(t.type,h.is&&{is:h.is}),i=null,a=!1}if(null===t.type)d!==h&&e.data!=h&&(e.data=h);else{if(null!=i&&(i=w.slice.call(e.childNodes)),u=(d=n.props||_).dangerouslySetInnerHTML,p=h.dangerouslySetInnerHTML,!a){if(null!=i)for(d={},f=0;f<e.attributes.length;f++)d[e.attributes[f].name]=e.attributes[f].value;(p||u)&&(p&&u&&p.__html==u.__html||(e.innerHTML=p&&p.__html||""))}(function(e,t,n,o,r){var i;for(i in n)"children"===i||"key"===i||i in t||L(e,i,null,n[i],o);for(i in t)r&&"function"!=typeof t[i]||"children"===i||"key"===i||"value"===i||"checked"===i||n[i]===t[i]||L(e,i,t[i],n[i],o)})(e,h,d,r,a),p?t.__k=[]:(s=t.props.children,M(e,Array.isArray(s)?s:[s],t,n,o,"foreignObject"!==t.type&&r,i,l,_,a)),a||("value"in h&&void 0!==(s=h.value)&&s!==e.value&&L(e,"value",s,d.value,!1),"checked"in h&&void 0!==(s=h.checked)&&s!==e.checked&&L(e,"checked",s,d.checked,!1))}return e}function H(e,t,n){try{"function"==typeof e?e(t):e.current=t}catch(e){b.__e(e,n)}}function K(e,t,n){var o,r,i;if(b.unmount&&b.unmount(e),(o=e.ref)&&(o.current&&o.current!==e.__e||H(o,null,t)),n||"function"==typeof e.type||(n=null!=(r=e.__e)),e.__e=e.__d=void 0,null!=(o=e.__c)){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(e){b.__e(e,t)}o.base=o.__P=null}if(o=e.__k)for(i=0;i<o.length;i++)o[i]&&K(o[i],t,n);null!=r&&S(r)}function q(e,t,n){return this.constructor(e,n)}function Y(e,t,n){var o,r,i;b.__&&b.__(e,t),r=(o=n===g)?null:n&&n.__k||t.__k,e=O(A,null,[e]),i=[],F(t,(o?t:n||t).__k=e,r||_,_,void 0!==t.ownerSVGElement,n&&!o?[n]:r?null:t.childNodes.length?w.slice.call(t.childNodes):null,i,n||_,o),B(i,e)}function Z(e){return(Z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Q(e){return function(e){if(Array.isArray(e))return J(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return J(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return J(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function J(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function W(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function G(e,t){return(G=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function X(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=ee(e);if(t){var r=ee(this).constructor;n=Reflect.construct(o,arguments,r)}else n=o.apply(this,arguments);return $(this,n)}}function $(e,t){return!t||"object"!==Z(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function ee(e){return(ee=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}b={__e:function(e,t){for(var n,o;t=t.__;)if((n=t.__c)&&!n.__)try{if(n.constructor&&null!=n.constructor.getDerivedStateFromError&&(o=!0,n.setState(n.constructor.getDerivedStateFromError(e))),null!=n.componentDidCatch&&(o=!0,n.componentDidCatch(e)),o)return I(n.__E=n)}catch(t){e=t}throw e}},E.prototype.setState=function(e,t){var n;n=this.__s!==this.state?this.__s:this.__s=C({},this.state),"function"==typeof e&&(e=e(n,this.props)),e&&C(n,e),null!=e&&this.__v&&(t&&this.__h.push(t),I(this))},E.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),I(this))},E.prototype.render=A,y=[],x="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,D.__r=0,g=_;var te=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&G(e,t)}(i,e);var t,n,o,r=X(i);function i(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),r.call(this,e)}return t=i,(n=[{key:"iconClick",value:function(e,t,n,o){this.props.ck(e,t,n,!0),o.stopPropagation()}},{key:"scrollFunc",value:function(e){if(0==e.wheelDeltaX){for(var t=this.labelRef.getElementsByClassName("xm-label-block"),n=10,o=0;o<t.length;o++)n+=t[o].getBoundingClientRect().width+5;var r=this.labelRef.getBoundingClientRect().width,i=n>r?n-r:r,l=this.labelRef.scrollLeft+e.deltaY;l<0&&(l=0),l>i&&(l=i),this.labelRef.scrollLeft=l}}},{key:"componentDidMount",value:function(){this.labelRef.addEventListener&&this.labelRef.addEventListener("DOMMouseScroll",this.scrollFunc.bind(this),!1),this.labelRef.attachEvent&&this.labelRef.attachEvent("onmousewheel",this.scrollFunc.bind(this)),this.labelRef.onmousewheel=this.scrollFunc.bind(this)}},{key:"render",value:function(e){var t=this,n=e.data,o=e.prop,r=e.theme,i=e.model,l=e.sels,a=e.autoRow,s=e.tree,c=o.name,u=o.disabled,f=i.label,d=f.type,m=f[d],b=l;s.show&&s.strict&&s.simple&&h(n,l,b=[],o);var y="",x=!0,v=b.map((function(e){return e[c]})).join(",");if("text"===d)y=b.map((function(e){return"".concat(m.left).concat(e[c]).concat(m.right)})).join(m.separator);else if("block"===d){x=!1;var g=Q(b),_={backgroundColor:r.color},w=m.showCount<=0?g.length:m.showCount;y=g.splice(0,w).map((function(e){var n={width:m.showIcon?"calc(100% - 20px)":"100%"};return O("div",{class:["xm-label-block",e[u]?"disabled":""].join(" "),style:_},m.template&&p(m.template)?O("span",{style:n,dangerouslySetInnerHTML:{__html:m.template(e,g)}}):O("span",{style:n},e[c]),m.showIcon&&O("i",{class:"xm-iconfont xm-icon-close",onClick:t.iconClick.bind(t,e,!0,e[u])}))})),g.length&&y.push(O("div",{class:"xm-label-block",style:_},"+ ",g.length))}else y=b.length&&m&&m.template?m.template(n,b):b.map((function(e){return e[c]})).join(",");return O("div",{class:["xm-label",a?"auto-row":"single-row"].join(" ")},O("div",{class:"scroll",ref:function(e){return t.labelRef=e}},x?O("div",{class:"label-content",dangerouslySetInnerHTML:{__html:y}}):O("div",{class:"label-content",title:v},y)))}}])&&W(t.prototype,n),o&&W(t,o),i}(E);function ne(e){return(ne="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function oe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function re(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?oe(Object(n),!0).forEach((function(t){ie(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):oe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ie(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function le(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function ae(e,t){return(ae=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function se(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=ue(e);if(t){var r=ue(this).constructor;n=Reflect.construct(o,arguments,r)}else n=o.apply(this,arguments);return ce(this,n)}}function ce(e,t){return!t||"object"!==ne(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function ue(e){return(ue=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var pe={},fe=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ae(e,t)}(i,e);var t,n,o,r=se(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=r.call(this,e)).setState({filterValue:"",remote:!0,loading:!1,pageIndex:1,totalSize:0,val:pe}),t.searchCid=0,t.inputOver=!0,t.__value="",t.tempData=[],t.size=0,t}return t=i,(n=[{key:"optionClick",value:function(e,t,n,o){this.props.ck(e,t,n),this.focus(),this.blockClick(o)}},{key:"groupClick",value:function(e,t){var n=this.props.prop,o=n.click,r=n.children,i=n.disabled,l=e[o],a=e[r].filter((function(e){return!e[i]}));"SELECT"===l?this.props.onReset(a,"append"):"CLEAR"===l?this.props.onReset(a,"delete"):"AUTO"===l?this.props.onReset(a,"auto"):p(l)&&l(e),this.focus(),this.blockClick(t)}},{key:"blockClick",value:function(e){e.stopPropagation()}},{key:"pagePrevClick",value:function(){arguments.length>0&&void 0!==arguments[0]||this.size;var e=this.state.pageIndex;e<=1||(this.changePageIndex(e-1),this.props.pageRemote&&this.postData(e-1,!0))}},{key:"pageNextClick",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.size,t=this.state.pageIndex;t>=e||(this.changePageIndex(t+1),this.props.pageRemote&&this.postData(t+1,!0))}},{key:"changePageIndex",value:function(e){this.setState({pageIndex:e})}},{key:"searchInput",value:function(e){var t=this,n=e.target.value;n!==this.__value&&(clearTimeout(this.searchCid),this.inputOver&&(this.__value=n,this.searchCid=setTimeout((function(){t.callback=!0,t.setState({filterValue:t.__value,remote:!0,pageIndex:1})}),this.props.delay)))}},{key:"focus",value:function(){this.searchInputRef&&this.searchInputRef.focus()}},{key:"blur",value:function(){this.searchInputRef&&this.searchInputRef.blur()}},{key:"handleComposition",value:function(e){var t=e.type;"compositionstart"===t?(this.inputOver=!1,clearTimeout(this.searchCid)):"compositionend"===t&&(this.inputOver=!0,this.searchInput(e))}},{key:"postData",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state.pageIndex,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];(this.state.remote||n)&&(this.callback=!1,this.setState({loading:!0,remote:!1}),this.blur(),this.props.remoteMethod(this.state.filterValue,(function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;setTimeout((function(){e.focus(),e.callback=!0,e.setState({loading:!1,totalSize:n}),e.props.onReset(t,"data")}),10)}),this.props.show,t))}},{key:"keydown",value:function(e,t){var n=this,o=t.keyCode;"div"===e&&(27===o||9===o?this.props.onReset(!1,"close"):37===o?this.pagePrevClick():39===o&&this.pageNextClick());var r=this.props.prop,i=r.value,l=r.optgroup,a=r.disabled,s=this.tempData.filter((function(e){return!e[l]&&!e[a]})),c=s.length-1;if(-1!==c){var u=s.findIndex((function(e){return e[i]===n.state.val}));if(38===o){u<=0?u=c:u>0&&(u-=1);var p=s[u][i];this.setState({val:p})}else if(40===o){-1===u||u===c?u=0:u<c&&(u+=1);var f=s[u][i];this.setState({val:f})}else if(13===o&&this.state.val!=pe){var d=s[u];this.optionClick(d,-1!=this.props.sels.findIndex((function(e){return e[i]===n.state.val})),d[a],t)}}}},{key:"componentWillReceiveProps",value:function(e){var t=this;this.props.show!=e.show&&(e.show?setTimeout((function(){e.filterable?t.focus():t.base.focus()}),0):(this.setState({filterValue:"",val:pe}),this.__value="",this.searchInputRef&&(this.searchInputRef.value="")))}},{key:"render",value:function(e){var t,n=this,o=e.data,r=e.flatData,i=e.prop,l=e.template,a=e.theme,s=e.radio,c=e.sels,u=e.empty,h=e.filterable,m=e.filterMethod,b=e.remoteSearch,y=(e.remoteMethod,e.delay,e.searchTips),x=e.create,v=e.pageRemote,g=e.max,_=i.name,w=i.value,k=i.disabled,C=i.children,S=i.optgroup,j=f([],r);if((v||h&&b)&&this.postData(),h&&!b){j=j.filter((function(e,t){return e[S]?(delete e.__del,!0):m(n.state.filterValue,e,t,i)}));for(var A=0;A<j.length-1;A++){var E=j[A],R=j[A+1];E[S]&&R[S]&&(j[A].__del=!0)}j.length&&j[j.length-1][S]&&(j[j.length-1].__del=!0),j=j.filter((function(e){return!e.__del})),t=this.state.filterValue&&p(x)}var P=O("div",{class:h?"xm-search":"xm-search dis"},O("i",{class:"xm-iconfont xm-icon-sousuo"}),O("input",{class:"xm-input xm-search-input",placeholder:y})),I={};j.filter((function(e){return e[S]})).forEach((function(e){e[C].forEach((function(t){return I[t[w]]=e}))})),j=j.filter((function(e){return!e[S]}));var D="";if(e.paging){var M=v?this.state.totalSize:Math.floor((j.length-1)/e.pageSize)+1;M<=0&&(M=1);var T=this.state.pageIndex;if(T>M&&(T=M),M>0&&T<=0&&(T=1),!v){var z=(T-1)*e.pageSize,L=z+e.pageSize;j=j.slice(z,L)}var V={cursor:"no-drop",color:"#d2d2d2"},U={},F={};T<=1&&(U=V),T==M&&(F=V),this.state.pageIndex!==T&&this.changePageIndex(T),this.size=M,D=O("div",{class:"xm-paging"},O("span",{style:U,onClick:this.pagePrevClick.bind(this,M)},e.languageProp.paging.prev),O("span",null,this.state.pageIndex," / ",M),O("span",{style:F,onClick:this.pageNextClick.bind(this,M)},e.languageProp.paging.next))}else e.showCount>0&&(j=j.slice(0,e.showCount));var B,N=[],H={__tmp:!0};H[S]=!0,j.forEach((function(e){var t=I[e[w]];B&&!t&&(t=H),t!=B&&(B=t,t&&N.push(B)),N.push(e)})),j=N,t&&(t=x(this.state.filterValue,f([],j)))&&j.splice(0,0,re(re({},t),{},{__node:{}}));var K=f([],j);this.tempData=K;var q=O("div",{class:"xm-toolbar"},e.toolbar.list.map((function(t){var o,r=e.languageProp.toolbar[t];o="ALL"===t?{icon:"xm-iconfont xm-icon-quanxuan",name:r,method:function(e){var t=i.optgroup,o=i.disabled,r=e.filter((function(e){return!e[t]})).filter((function(e){return!e[o]})),l=c.filter((function(e){return e[i.disabled]})),a=[];a=s?l.length?l:r.slice(0,1):g>0?l.length>=g?l:d(r.slice(0,g-l.length),l,i):d(r,c,i),n.props.onReset(a,"sels")}}:"CLEAR"===t?{icon:"xm-iconfont xm-icon-qingkong",name:r,method:function(e){n.props.onReset(c.filter((function(e){return e[i.disabled]})),"sels")}}:"REVERSE"===t?{icon:"xm-iconfont xm-icon-fanxuan",name:r,method:function(e){var t=i.optgroup,o=i.disabled,r=e.filter((function(e){return!e[t]})).filter((function(e){return!e[o]})),l=[];c.forEach((function(e){var t=r.findIndex((function(t){return t[w]===e[w]}));-1==t?l.push(e):r.splice(t,1)}));var a=l.filter((function(e){return e[i.disabled]})),u=[];u=s?a.length?a:r.slice(0,1):g>0?a.length>=g?a:d(r.slice(0,g-a.length),a,i):d(r,l,i),n.props.onReset(u,"sels")}}:t;var l=function(e){"mouseenter"===e.type&&(e.target.style.color=a.color),"mouseleave"===e.type&&(e.target.style.color="")};return O("div",{class:"toolbar-tag",style:{},onClick:function(){p(o.method)&&o.method(K),n.focus()},onMouseEnter:l,onMouseLeave:l},e.toolbar.showIcon&&O("i",{class:o.icon}),O("span",null,o.name))})).filter((function(e){return e}))),Y="hidden"!=e.model.icon;return(j=j.map((function(e){return e[S]?e.__tmp?O("div",{class:"item--divided"}):O("div",{class:"xm-group"},O("div",{class:"xm-group-item",onClick:n.groupClick.bind(n,e)},e[_])):function(e){var t=!!c.find((function(t){return t[w]==e[w]})),r=t?{color:a.color,border:"none"}:{borderColor:a.color},i={};e[w]===n.state.val&&(i.backgroundColor=a.hover),!Y&&t&&(i.backgroundColor=a.color,e[k]&&(i.backgroundColor="#C2C2C2"));var u=["xm-option",e[k]?" disabled":"",t?" selected":"",Y?"show-icon":"hide-icon"].join(" "),p=["xm-option-icon xm-iconfont",s?"xm-icon-danx":"xm-icon-duox"].join(" "),f=function(t){"mouseenter"===t.type&&(e[k]||n.setState({val:e[w]}))};return O("div",{class:u,style:i,value:e[w],onClick:n.optionClick.bind(n,e,t,e[k]),onMouseEnter:f,onMouseLeave:f},Y&&O("i",{class:p,style:r}),O("div",{class:"xm-option-content",dangerouslySetInnerHTML:{__html:l({data:o,item:e,arr:c,name:e[_],value:e[w]})}}))}(e)}))).length||(!e.pageEmptyShow&&(D=""),j.push(O("div",{class:"xm-select-empty"},u))),O("div",{onClick:this.blockClick,tabindex:"1",style:"outline: none;"},O("div",null,e.toolbar.show&&q,P,O("div",{class:"scroll-body",style:{maxHeight:e.height}},j),e.paging&&D),this.state.loading&&O("div",{class:"loading"},O("span",{class:"loader"})))}},{key:"componentDidMount",value:function(){var e=this.base.querySelector(".xm-search-input");e&&(e.addEventListener("compositionstart",this.handleComposition.bind(this)),e.addEventListener("compositionupdate",this.handleComposition.bind(this)),e.addEventListener("compositionend",this.handleComposition.bind(this)),e.addEventListener("input",this.searchInput.bind(this)),this.searchInputRef=e),this.base.addEventListener("keydown",this.keydown.bind(this,"div"))}},{key:"componentDidUpdate",value:function(){if(this.callback){this.callback=!1;var e=this.props.filterDone;p(e)&&e(this.state.filterValue,this.tempData||[])}}}])&&le(t.prototype,n),o&&le(t,o),i}(E);function de(e){return(de="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function he(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function me(e,t){return(me=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function be(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=xe(e);if(t){var r=xe(this).constructor;n=Reflect.construct(o,arguments,r)}else n=o.apply(this,arguments);return ye(this,n)}}function ye(e,t){return!t||"object"!==de(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function xe(e){return(xe=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ve=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&me(e,t)}(i,e);var t,n,o,r=be(i);function i(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),r.call(this,e)}return t=i,(n=[{key:"blockClick",value:function(e){e.stopPropagation()}},{key:"shouldComponentUpdate",value:function(){return!this.prepare}},{key:"render",value:function(e){return this.prepare=!0,O("div",{onClick:this.blockClick,class:"xm-body-custom"},O("div",{class:"scroll-body",style:{maxHeight:e.height}},O("div",{style:"margin: 5px 0",dangerouslySetInnerHTML:{__html:e.content}})))}}])&&he(t.prototype,n),o&&he(t,o),i}(E);function ge(e){return(ge="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function we(e,t){return(we=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ke(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=Se(e);if(t){var r=Se(this).constructor;n=Reflect.construct(o,arguments,r)}else n=o.apply(this,arguments);return Ce(this,n)}}function Ce(e,t){return!t||"object"!==ge(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Se(e){return(Se=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Oe={},je=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&we(e,t)}(i,e);var t,n,o,r=ke(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=r.call(this,e)).state={expandedKeys:[],filterValue:"",remote:!0,loading:!1,val:Oe},t.searchCid=0,t.inputOver=!0,t.__value="",t.tempData=[],t}return t=i,(n=[{key:"init",value:function(e){var t=e.tree,n=e.dataObj,o=e.flatData,r=e.prop,i=r.value,l=r.optgroup,a=[];!0===t.expandedKeys?a=o.filter((function(e){return!0===e[l]})).map((function(e){return e[i]})):t.expandedKeys.forEach((function(e){a.push(e);for(var t=n[e],o=function(){var e=t[i];-1===a.findIndex((function(t){return t===e}))&&a.push(e),t=t.__node.parent};t;)o()})),this.setState({expandedKeys:a})}},{key:"blockClick",value:function(e){e.stopPropagation()}},{key:"optionClick",value:function(e,t,n,o,r){var i=this;if("line"===o){if(!0===e.__node.loading)return;var l=this.props,a=l.tree,s=l.prop,c=l.sels;if(!a.lazy&&!e[s.optgroup])return void this.props.ck(e,t,n);var u=e[this.props.prop.value],p=this.state.expandedKeys,f=p.findIndex((function(e){return e===u}));-1===f?p.push(u):p.splice(f,1),this.setState({expandedKeys:p});var d=e[s.children];a.lazy&&d&&0===d.length&&!1!==e.__node.loading&&(e.__node.loading=!0,a.load(e,(function(t){e.__node.loading=!1,e[s.children]=i.handlerData(t,s.children),e[s.selected]=-1!=c.findIndex((function(t){return t[s.value]===e[s.value]})),i.props.onReset(c,"treeData")})))}else"checkbox"===o&&this.props.ck(e,t,n);this.blockClick(r)}},{key:"handlerData",value:function(e,t){var n=this;return e.map((function(e){return e.__node={},e[t]&&(e[t]=n.handlerData(e[t],t)),e}))}},{key:"searchInput",value:function(e){var t=this,n=e.target.value;n!==this.__value&&(clearTimeout(this.searchCid),this.inputOver&&(this.__value=n,this.searchCid=setTimeout((function(){t.callback=!0,t.setState({filterValue:t.__value,remote:!0})}),this.props.delay)))}},{key:"focus",value:function(){this.searchInputRef&&this.searchInputRef.focus()}},{key:"blur",value:function(){this.searchInputRef&&this.searchInputRef.blur()}},{key:"handleComposition",value:function(e){var t=e.type;"compositionstart"===t?(this.inputOver=!1,clearTimeout(this.searchCid)):"compositionend"===t&&(this.inputOver=!0,this.searchInput(e))}},{key:"filterData",value:function(e,t){var n=this,o=this.props,r=o.prop,i=o.filterMethod,l=o.tree,a=r.children,s=r.optgroup,c=(r.name,r.value);return e.forEach((function(e,o){if(e[s]){var u=n.filterData(e[a],t);if(e.__node.hidn=!!t&&0===u.filter((function(e){return!e.__node.hidn})).length,!e.__node.hidn){var p=n.state.expandedKeys;return void(t&&-1===p.findIndex((function(t){return t===e[c]}))&&(p.push(e[c]),n.setState({expandedKeys:p})))}if(l.strict)return}e.__node.hidn=!!t&&!i(t,e,o,r)})),e}},{key:"postData",value:function(){var e=this;this.state.remote&&(this.callback=!1,this.setState({loading:!0,remote:!1}),this.blur(),this.props.remoteMethod(this.state.filterValue,(function(t,n){e.focus(),e.callback=!0,e.setState({loading:!1,totalSize:n}),e.props.onReset(t,"data")}),this.props.show,1))}},{key:"componentWillReceiveProps",value:function(e){var t=this;this.props.show!=e.show&&(e.show?setTimeout((function(){return t.focus()}),0):(this.setState({filterValue:"",val:Oe}),this.__value="",this.searchInputRef&&(this.searchInputRef.value="")))}},{key:"componentWillMount",value:function(){this.init(this.props)}},{key:"render",value:function(e,t){var n=this,o=(t.expandedKeys,e.prop),r=e.empty,i=e.sels,l=e.theme,a=e.radio,s=e.template,c=e.data,u=e.tree,h=e.filterable,m=e.remoteSearch,b=e.searchTips,y=o.name,x=o.value,v=o.disabled,g=o.children,_=o.optgroup,w="hidden"!=e.model.icon,k=function(e,t,o){var r=!!i.find((function(t){return t[x]==e[x]})),p=e[v],f=!0===e.__node.half;u.strict&&(r=r||f||e.__node.selected,p=p||e.__node.disabled);var d=r?{color:l.color,border:"none"}:{borderColor:l.color},h={paddingLeft:t+"px"};e[x]===n.state.val&&(h.backgroundColor=l.hover),!w&&r&&(h.backgroundColor=l.color,p&&(h.backgroundColor="#C2C2C2"));var m=["xm-option",p?" disabled":"",r?" selected":"",w?"show-icon":"hide-icon"].join(" "),b=["xm-option-icon xm-iconfont",a?"xm-icon-danx":u.strict&&f?"xm-icon-banxuan":"xm-icon-duox"].join(" "),_=["xm-tree-icon",o?"expand":"",e[g]&&(e[g].length>0||u.lazy&&!1!==e.__node.loading)?"xm-visible":"xm-hidden"].join(" "),k=[];u.showFolderIcon&&(k.push(O("i",{class:_})),u.showLine&&(o&&k.push(O("i",{class:"left-line",style:{left:t-u.indent+3+"px"}})),k.push(O("i",{class:"top-line",style:{left:t-u.indent+3+"px",width:u.indent+(0===o?10:-2)+"px"}}))));var C=function(t){"mouseenter"===t.type&&(e[v]||n.setState({val:e[x]}))};return O("div",{class:m,style:h,value:e[x],onClick:n.optionClick.bind(n,e,r,e[v],"line"),onMouseEnter:C,onMouseLeave:C},k,e.__node.loading&&O("span",{class:"loader"}),w&&O("i",{class:b,style:d,onClick:n.optionClick.bind(n,e,r,e[v],"checkbox")}),O("div",{class:"xm-option-content",dangerouslySetInnerHTML:{__html:s({data:c,item:e,arr:i,name:e[y],value:e[x]})}}))};h&&(m?this.postData():this.filterData(c,this.state.filterValue));var C=f([],c),S=f([],i);this.tempData=C;var j=c.map((function(e){return function e(t,o){if(!t.__node.hidn){var r=t[g];if(o+=u.indent,r){var i=-1!==n.state.expandedKeys.findIndex((function(e){return t[x]===e}));return 0===r.length&&(i=!1),O("div",{class:"xm-tree"},u.showFolderIcon&&u.showLine&&i&&r.length>0&&O("i",{class:"left-line left-line-group",style:{left:o+3+"px"}}),k(t,o,0===r.length&&(!u.lazy||u.lazy&&!1===t.__node.loading)?0:i),i&&O("div",{class:"xm-tree-box"},r.map((function(t){return e(t,o)}))))}return k(t,o,0)}}(e,10-u.indent)})).filter((function(e){return e}));function A(e,t){t.forEach((function(t){return t[_]?(!u.strict&&e.push(t),A(e,t[g])):e.push(t)}))}var E=O("div",{class:"xm-toolbar"},e.toolbar.list.map((function(t){var r,s=e.languageProp.toolbar[t];r="ALL"===t?{icon:"xm-iconfont xm-icon-quanxuan",name:s,method:function(e){var t=[];A(t,e),t=t.filter((function(e){return!e[v]})),n.props.onReset(a?t.slice(0,1):d(t,i,o),"treeData")}}:"CLEAR"===t?{icon:"xm-iconfont xm-icon-qingkong",name:s,method:function(e){n.props.onReset(i.filter((function(e){return e[o.disabled]})),"treeData")}}:"REVERSE"===t?{icon:"xm-iconfont xm-icon-fanxuan",name:s,method:function(e){var t=[];A(t,e),t=t.filter((function(e){return!e[v]}));var r=[];i.forEach((function(e){var n=t.findIndex((function(t){return t[x]===e[x]}));-1==n?r.push(e):t.splice(n,1)})),n.props.onReset(a?r.slice(0,1):d(t,r,o),"treeData")}}:t;var c=function(e){"mouseenter"===e.type&&(e.target.style.color=l.color),"mouseleave"===e.type&&(e.target.style.color="")};return O("div",{class:"toolbar-tag",onClick:function(){p(r.method)&&r.method(C,S)},onMouseEnter:c,onMouseLeave:c},e.toolbar.showIcon&&O("i",{class:r.icon}),O("span",null,r.name))})).filter((function(e){return e}))),R=O("div",{class:h?"xm-search":"xm-search dis"},O("i",{class:"xm-iconfont xm-icon-sousuo"}),O("input",{class:"xm-input xm-search-input",placeholder:b}));return j.length||j.push(O("div",{class:"xm-select-empty"},r)),O("div",{onClick:this.blockClick,class:"xm-body-tree"},e.toolbar.show&&E,R,O("div",{class:"scroll-body",style:{maxHeight:e.height}},j),this.state.loading&&O("div",{class:"loading"},O("span",{class:"loader"})))}},{key:"componentDidMount",value:function(){var e=this.base.querySelector(".xm-search-input");e&&(e.addEventListener("compositionstart",this.handleComposition.bind(this)),e.addEventListener("compositionupdate",this.handleComposition.bind(this)),e.addEventListener("compositionend",this.handleComposition.bind(this)),e.addEventListener("input",this.searchInput.bind(this)),this.searchInputRef=e)}},{key:"componentDidUpdate",value:function(){if(this.callback){this.callback=!1;var e=this.props.filterDone;p(e)&&e(this.state.filterValue,this.tempData||[])}}}])&&_e(t.prototype,n),o&&_e(t,o),i}(E);function Ae(e){return(Ae="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ee(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function Re(e,t){return(Re=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Pe(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=De(e);if(t){var r=De(this).constructor;n=Reflect.construct(o,arguments,r)}else n=o.apply(this,arguments);return Ie(this,n)}}function Ie(e,t){return!t||"object"!==Ae(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function De(e){return(De=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Me=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Re(e,t)}(i,e);var t,n,o,r=Pe(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=r.call(this,e)).state={expand:[]},t}return t=i,(n=[{key:"blockClick",value:function(e){e.stopPropagation()}},{key:"optionClick",value:function(e,t,n,o,r,i){if("line"===o){if(n)return;if(!0===e.__node.loading)return;var l=this.props,a=l.cascader,s=l.prop;if(l.sels,!a.lazy&&!e[s.optgroup])return void this.props.ck(e,t,n);var c=this.state.expand.slice(0,r+1);c[r]=e[this.props.prop.value],this.setState({expand:c})}else"checkbox"===o&&this.props.ck(e,t,n);this.blockClick(i)}},{key:"componentWillReceiveProps",value:function(e){}},{key:"componentWillMount",value:function(){}},{key:"render",value:function(e,t){var n=this,o=e.prop,r=e.empty,i=e.sels,l=e.theme,a=e.radio,s=e.template,c=e.data,u=e.cascader,p=o.name,f=o.value,d=o.disabled,h=o.children,m="hidden"!=e.model.icon,b=[],y=function e(t,o,r){var y=t[h];o=o+u.indent+6;var x=y&&n.state.expand[r]===t[f];return x&&b.push(O("div",{class:"xm-cascader-box",index:r%4,style:{left:o+"px",width:u.indent+"px"}},O("div",{class:"xm-cascader-scroll"},y.map((function(t){return e(t,o,r+1)}))))),function(e,t,o,r){var b=!!i.find((function(t){return t[f]==e[f]})),y=e[d],x=!0===e.__node.half;u.strict&&(b=b||x||e.__node.selected,y=y||e.__node.disabled);var v=b?{color:l.color,border:"none"}:{borderColor:l.color},g={backgroundColor:"transparent"},_=["xm-option",y?" disabled":"",b?" selected":"",m?"show-icon":"hide-icon"].join(" "),w=["xm-option-icon xm-iconfont",a?"xm-icon-danx":u.strict&&x?"xm-icon-banxuan":"xm-icon-duox"].join(" ");e[f]===n.state.val&&(g.backgroundColor=l.hover);var k={},C={};r&&(k.color=l.color,k.fontWeight=700,C.color=l.color);var S=function(t){"mouseenter"===t.type?e[d]||n.setState({val:e[f]}):"mouseleave"===t.type&&n.setState({val:""})};return O("div",{class:_,style:g,value:e[f],onClick:n.optionClick.bind(n,e,b,y,"line",o),onMouseEnter:S,onMouseLeave:S},m&&O("i",{class:w,style:v,onClick:n.optionClick.bind(n,e,b,y,"checkbox",o)}),O("div",{class:"xm-option-content",style:k,dangerouslySetInnerHTML:{__html:s({data:c,item:e,arr:i,name:e[p],value:e[f]})}}),e[h]&&O("div",{class:"xm-right-arrow",style:C}))}(t,0,r,x)},x=c.map((function(e){return y(e,2,0)})).concat(b).filter((function(e){return e}));return x.length||x.push(O("div",{class:"xm-select-empty"},r)),O("div",{onClick:this.blockClick,class:"xm-body-cascader",style:{width:u.indent+"px",height:e.height}},x)}},{key:"componentDidMount",value:function(){this.props.onReset("cascader","class")}},{key:"componentDidUpdate",value:function(){}}])&&Ee(t.prototype,n),o&&Ee(t,o),i}(E);function Te(e){return function(e){if(Array.isArray(e))return ze(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return ze(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ze(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ze(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function Le(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function Ve(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Le(Object(n),!0).forEach((function(t){Ue(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Le(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ue(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Fe(e){return(Fe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Be(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function Ne(e,t){return(Ne=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function He(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=Ye(e);if(t){var r=Ye(this).constructor;n=Reflect.construct(o,arguments,r)}else n=o.apply(this,arguments);return Ke(this,n)}}function Ke(e,t){return!t||"object"!==Fe(t)&&"function"!=typeof t?qe(e):t}function qe(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ye(e){return(Ye=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Ze=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ne(e,t)}(i,e);var t,n,o,r=He(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),t=r.call(this,e),rt[e.el]=qe(t),t.state=t.initState(),t.bodyView=null,t}return t=i,(n=[{key:"initState",value:function(){return{data:[],dataObj:{},flatData:[],sels:[],show:!1,tmpColor:"",bodyClass:""}}},{key:"init",value:function(e,t){var n,o=e.data,r=e.prop,i=e.initValue,l=e.radio;if(t){var a={},s=[];this.load(o,a,s),n=this.exchangeValue(i||Object.keys(a).filter((function(e){return!0===a[e][r.selected]})),a),l&&n.length>1&&(n=n.slice(0,1)),this.setState({sels:n,dataObj:a,flatData:s})}return this.setState({data:o}),n}},{key:"exchangeValue",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state.dataObj,o=e.map((function(e){return"object"===Fe(e)?Ve(Ve({},e),{},{__node:{}}):n[e]})).filter((function(e){return e})),r=!0,i=this.props.tree;return i.show&&!1===i.strict&&(r=!1),r&&(o=o.filter((function(e){return!0!==e[t.props.prop.optgroup]}))),o}},{key:"value",value:function(e,t,n){!1!==t&&!0!==t&&(t=this.state.show);var o=this.props,r=o.prop,i=o.tree,l=this.exchangeValue(e);if(i.show&&i.strict){var a=this.state.data;this.clearAndReset(a,l),l=this.init({data:a,prop:r},!0)}this.resetSelectValue(l,l,!0,n),this.setState({show:t})}},{key:"clearAndReset",value:function(e,t){var n=this,o=this.props.prop,r=o.selected,i=o.children,l=o.value;e.forEach((function(e){e[r]=-1!=t.findIndex((function(t){return t[l]===e[l]}));var o=e[i];o&&u(o)&&n.clearAndReset(o,t)}))}},{key:"load",value:function(e,t,n,o){var r=this,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,l=this.props,a=l.prop,s=l.tree,c=a.children,p=a.optgroup,f=a.value,d=a.selected,h=a.disabled;e.forEach((function(e){e.__node={parent:o,level:i,loading:e.__node&&e.__node.loading},t[e[f]]=e,n.push(e);var l=e[c];if(l&&u(l)){var a=l.length;if(a>0){r.load(l,t,n,e,i+1),e[p]=!0,s.strict&&(!0===e[d]&&(delete e[d],l.forEach((function(e){return e[d]=!0}))),!0===e[h]&&(delete e[h],l.forEach((function(e){return e[h]=!0}))));var m=l.filter((function(e){return!0===e[d]||!0===e.__node.selected})).length;e.__node.selected=m===a,e.__node.half=m>0&&m<a||l.filter((function(e){return!0===e.__node.half})).length>0,e.__node.disabled=l.filter((function(e){return!0===e[h]||!0===e.__node.disabled})).length===a}}}))}},{key:"resetSelectValue",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0,o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=this.props.on;if(p(r)&&this.prepare&&o){var i=r({arr:e,change:t,isAdd:n});if(u(i))return this.value(i,null,!1)}this.setState({sels:e})}},{key:"updateBorderColor",value:function(e){this.setState({tmpColor:e})}},{key:"treeHandler",value:function(e,t,n,o){var r=this,i=this.props.prop,l=i.value,a=(i.selected,i.disabled),s=i.children,c=i.optgroup,u=t[s];u.filter((function(e){return!(e[a]||e.__node.disabled)})).forEach((function(t){if(t[c])r.treeHandler(e,t,n,o);else{var i=e.findIndex((function(e){return e[l]==t[l]}));"del"===o?-1!=i&&(e.splice(i,1),n.push(t)):"half"!==o&&"add"!==o||-1==i&&(e.push(t),n.push(t))}}));var p=u.length,f=u.filter((function(t){return-1!==e.findIndex((function(e){return e[l]===t[l]}))||!0===t.__node.selected})).length;t.__node.selected=f===p,t.__node.half=f>0&&f<p}},{key:"itemClick",value:function(e,t,n,o){var r=this.props,i=r.theme,l=r.prop,a=r.radio,s=r.repeat,c=r.clickClose,u=r.max,f=r.maxMethod,d=r.tree,h=this.state.sels,m=l.value,b=(l.selected,l.disabled,l.children),y=l.optgroup;if(!n){if(e[y]&&d.strict){e[b];var x=[],v=!0;e.__node.selected?(this.treeHandler(h,e,x,"del"),v=!1):e.__node.half?(this.treeHandler(h,e,x,"half"),0===x.length&&(this.treeHandler(h,e,x,"del"),v=!1)):this.treeHandler(h,e,x,"add"),this.resetSelectValue(h,x,v),this.setState({data:this.state.data})}else if(!t||s&&!o){var g=(w=u,w-=0,isNaN(w)&&(w=0),w);if(g>0&&h.length>=g)return this.updateBorderColor(i.maxColor),void(f&&p(f)&&f(h,e));h=a?[e]:[].concat(Te(h),[e]),this.resetSelectValue(h,[e],!t)}else{var _=h.findIndex((function(t){return t[m]==e[m]}));-1!=_&&(h.splice(_,1),this.resetSelectValue(h,[e],!t))}var w,k=e.__node.parent;if(k){for(;k;){var C=k[b],S=C.length,O=C.filter((function(e){return-1!==h.findIndex((function(t){return t[m]===e[m]}))||!0===e.__node.selected})).length;k.__node.selected=O===S,k.__node.half=O>0&&O<S||C.filter((function(e){return!0===e.__node.half})).length>0,k=k.__node.parent}this.setState({data:this.state.data})}c&&!o&&this.onClick()}}},{key:"onClick",value:function(e){var t=this;if("relative"!==this.props.model.type)if(this.props.disabled)!1!==this.state.show&&this.setState({show:!1});else{var n=!this.state.show;if(n){if(this.props.show&&0==this.props.show())return;Object.keys(nt).filter((function(e){return e!=t.props.el})).forEach((function(e){return nt[e].closed()}))}else{if(this.props.hide&&0==this.props.hide())return;this.bodyView.scroll&&this.bodyView.scroll(0,0)}this.setState({show:n}),e&&e.stopPropagation()}}},{key:"onReset",value:function(e,t){var n=this;if("data"===t){var o=e.filter((function(e){return!0===e[n.props.prop.selected]}));this.resetSelectValue(d(o,this.state.sels,this.props.prop),o,!0);var r=[];this.load(e,{},r),this.setState({data:e,flatData:r})}else"sels"===t?this.resetSelectValue(e,e,!0):"append"===t?this.append(e):"delete"===t?this.del(e):"auto"===t?this.auto(e):"treeData"===t?this.value(e,null,!0):"close"===t?this.onClick():"class"===t&&this.setState({bodyClass:e})}},{key:"append",value:function(e){var t=this.exchangeValue(e);this.resetSelectValue(d(t,this.state.sels,this.props.prop),t,!0)}},{key:"del",value:function(e){var t=this.props.prop.value,n=this.state.sels;(e=this.exchangeValue(e)).forEach((function(e){var o=n.findIndex((function(n){return n[t]===e[t]}));-1!=o&&n.splice(o,1)})),this.resetSelectValue(n,e,!1)}},{key:"auto",value:function(e){var t=this,n=this.props.prop.value;e.filter((function(e){return-1!=t.state.sels.findIndex((function(t){return t[n]===e[n]}))})).length==e.length?this.del(e):this.append(e)}},{key:"componentWillReceiveProps",value:function(e){this.init(e,e.updateData)}},{key:"componentWillMount",value:function(){this.init(this.props,!0)}},{key:"render",value:function(e,t){var n=this,o=e.theme,r=e.prop,i=(e.radio,e.repeat,e.clickClose,e.on,e.max,e.maxMethod,e.content),l=e.disabled,a=e.tree,s={borderColor:o.color},c=t.data,u=t.dataObj,p=t.flatData,f=t.sels,d=t.show,h=t.tmpColor,m=t.bodyClass;l&&(d=!1);var b={style:Ve(Ve({},e.style),d?s:{}),onClick:this.onClick.bind(this),ua:-1!=navigator.userAgent.indexOf("Mac OS")?"mac":"win",size:e.size,tabindex:1};h&&(b.style.borderColor=h,setTimeout((function(){b.style.borderColor="",n.updateBorderColor("")}),300)),r.value;var y=Ve(Ve({},e),{},{data:c,sels:f,ck:this.itemClick.bind(this),title:f.map((function(e){return e[r.name]})).join(",")}),x=Ve(Ve({},e),{},{data:c,dataObj:u,flatData:p,sels:f,ck:this.itemClick.bind(this),show:d,onReset:this.onReset.bind(this)}),v=i?O(ve,x):a.show?O(je,x):e.cascader.show?O(Me,x):O(fe,x);return O("xm-select",b,O("input",{class:"xm-select-default","lay-verify":e.layVerify,"lay-verType":e.layVerType,name:e.name,value:f.map((function(e){return e[r.value]})).join(",")}),O("i",{class:d?"xm-icon xm-icon-expand":"xm-icon"}),0===f.length&&O("div",{class:"xm-tips"},e.tips),O(te,y),O("div",{class:["xm-body",m,e.model.type,d?"":"dis"].join(" "),ref:function(e){return n.bodyView=e}},v),l&&O("div",{class:"xm-select-disabled"}))}},{key:"componentDidMount",value:function(){var e=this;this.prepare=!0,this.base.addEventListener("keydown",(function(t){13===t.keyCode&&e.onClick()})),this.input=this.base.querySelector(".xm-select-default");var t=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;t&&new t((function(t){t.forEach((function(t){"attributes"==t.type&&"class"===t.attributeName&&-1!==e.input.className.indexOf("layui-form-danger")&&(e.input.className="xm-select-default",e.base.style.borderColor=e.props.theme.maxColor)}))})).observe(this.input,{attributes:!0});for(var n=this.base;n;){if("FORM"===n.tagName){var o=n.querySelector('button[type="reset"]');o&&o.addEventListener("click",(function(t){e.init(e.props,!0)}));break}n=n.parentElement}}},{key:"componentDidUpdate",value:function(){var e=this.props,t=e.direction;if("relative"!==e.model.type){var n=this.base.getBoundingClientRect();if("auto"===t){this.bodyView.style.display="block",this.bodyView.style.visibility="hidden";var o=this.bodyView.getBoundingClientRect().height;this.bodyView.style.display="",this.bodyView.style.visibility="";var r=n.y||n.top||0,i=document.documentElement.clientHeight-r-n.height-20;t=i>o||r<i?"down":"up"}"down"==t?(this.bodyView.style.top=n.height+4+"px",this.bodyView.style.bottom="auto"):(this.bodyView.style.top="auto",this.bodyView.style.bottom=n.height+4+"px")}}}])&&Be(t.prototype,n),o&&Be(t,o),i}(E),Qe={tips:"璇烽�夋嫨",empty:"鏆傛棤鏁版嵁",searchTips:"璇烽�夋嫨",toolbar:{ALL:"鍏ㄩ��",CLEAR:"娓呯┖",REVERSE:"鍙嶉��",SEARCH:"鎼滅储"},paging:{prev:"涓婁竴椤�",next:"涓嬩竴椤�"}},Je={zn:Qe,en:{tips:"please selected",empty:"no data",searchTips:"please search",toolbar:{ALL:"select all",CLEAR:"clear",REVERSE:"invert select",SEARCH:"search"},paging:{prev:"prev",next:"next"}}};function We(){return(We=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}function Ge(e){return(Ge="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Xe(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}var $e=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.init(t)}var t,n,o;return t=e,(n=[{key:"init",value:function(e){this.options=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"zn",t=Je[e]||Qe;return{language:e,languageProp:t,data:[],content:"",name:"select",layVerify:"",layVerType:"",size:"medium",disabled:!1,initValue:null,create:null,tips:t.tips,empty:t.empty,delay:500,searchTips:t.searchTips,filterable:!1,filterMethod:function(e,t,n,o){return!e||-1!=t[o.name].indexOf(e)},remoteSearch:!1,remoteMethod:function(e,t){t([])},direction:"auto",style:{},height:"200px",autoRow:!1,paging:!1,pageSize:10,pageEmptyShow:!0,pageRemote:!1,radio:!1,repeat:!1,clickClose:!1,max:0,maxMethod:function(e,t){},showCount:0,toolbar:{show:!1,showIcon:!0,list:["ALL","CLEAR"]},tree:{show:!1,showFolderIcon:!0,showLine:!0,indent:20,expandedKeys:[],strict:!0,lazy:!1,load:null,simple:!1},cascader:{show:!1,indent:100,strict:!0},prop:{name:"name",value:"value",selected:"selected",disabled:"disabled",children:"children",optgroup:"optgroup",click:"click"},theme:{color:"#009688",maxColor:"#e54d42",hover:"#f2f2f2"},model:{label:{type:"block",text:{left:"",right:"",separator:", "},block:{showCount:0,showIcon:!0,template:null},count:{template:function(e,t){return"宸查�変腑 ".concat(t.length," 椤�, 鍏� ").concat(e.length," 椤�")}}},icon:"show",type:"absolute"},show:function(){},hide:function(){},template:function(e){e.item,e.sels;var t=e.name;return e.value,t},on:function(e){e.arr,e.item,e.selected}}}(e.language),this.update(e)}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=!!e.data;this.options=f(this.options,e);var n=this.options.dom;if(n){var o=this.options.data||[];if("function"==typeof o&&(o=o(),this.options.data=o),u(o))return Y(O(Ze,We({},this.options,{updateData:t})),n),this;c("data鏁版嵁蹇呴』涓烘暟缁勭被鍨�, 涓嶈兘鏄�".concat("undefined"==typeof data?"undefined":Ge(data),"绫诲瀷"))}else c("娌℃湁鎵惧埌娓叉煋瀵硅薄: ".concat(e.el,", 璇锋鏌�"))}},{key:"reset",value:function(){var e=this.options.el;return this.init(ot[e]),rt[e].init(this.options,!0),this}},{key:"opened",value:function(){var e=rt[this.options.el];return!e.state.show&&e.onClick(),this}},{key:"closed",value:function(){var e=rt[this.options.el];return e.state.show&&e.onClick(),this}},{key:"getValue",value:function(e){var t=this,n=this.options,o=n.tree,r=n.prop,i=n.data,l=rt[this.options.el].state.sels,a=l;o.show&&o.strict&&o.simple&&h(i,l,a=[],r);var s=m(a,r.children,["__node"]);return"name"===e?s.map((function(e){return e[t.options.prop.name]})):"nameStr"===e?s.map((function(e){return e[t.options.prop.name]})).join(","):"value"===e?s.map((function(e){return e[t.options.prop.value]})):"valueStr"===e?s.map((function(e){return e[t.options.prop.value]})).join(","):s}},{key:"setValue",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(u(e))return rt[this.options.el].value(this.options.radio?e.slice(0,1):e,t,n),this;c("璇蜂紶鍏ユ暟缁勭粨鏋�...")}},{key:"append",value:function(e){if(u(e))return rt[this.options.el].append(e),this;c("璇蜂紶鍏ユ暟缁勭粨鏋�...")}},{key:"delete",value:function(e){if(u(e))return rt[this.options.el].del(e),this;c("璇蜂紶鍏ユ暟缁勭粨鏋�...")}},{key:"warning",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e||this.options.theme.maxColor;return!0===t?rt[this.options.el].base.style.borderColor=n:rt[this.options.el].updateBorderColor(n),this}}])&&Xe(t.prototype,n),o&&Xe(t,o),e}();function et(e){return function(e){if(Array.isArray(e))return tt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return tt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return tt(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function tt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}var nt={},ot={},rt={};t.c={name:o.a,version:o.b,render:function(e){var t=e.el;if(e.dom=s(t),t.nodeType){var n="DOM_RENDER_"+Date.now()+"_"+Math.random();t.setAttribute(o.a,n),t="[".concat(o.a,"='").concat(n,"']"),e.el=t}ot[t]=e;var r=new $e(e);return r&&(nt[t]=r),r},get:function(e,t){var n;switch(Object.prototype.toString.call(e)){case"[object String]":e&&(n=function(t){return t===e});break;case"[object RegExp]":n=function(t){return e.test(t)};break;case"[object Function]":n=e}var o=Object.keys(nt),r=(n?o.filter(n):o).map((function(e){return nt[e]})).filter((function(e){return s(e.options.el)}));return t?r[0]:r},batch:function(e,t){var n=Array.prototype.slice.call(arguments);return n.splice(0,2),this.get(e).map((function(e){return e[t].apply(e,et(n))}))}}}});
\ No newline at end of file
diff --git a/HTML/views/BaseSetting/Materials.html b/HTML/views/BaseSetting/Materials.html
index 64e1bbf..83582b5 100644
--- a/HTML/views/BaseSetting/Materials.html
+++ b/HTML/views/BaseSetting/Materials.html
@@ -98,6 +98,17 @@
                             </div>
                         </div>
 						<div class="layui-inline">
+                            <!-- 鐗╂枡绫诲埆 -->
+                            <div class="layui-inline">
+                                <label class="layui-form-label" style="width: 60px;">鐗╂枡绫诲埆</label>
+                                <div class="layui-input-inline">
+                                    <select name="CategoryNo" id="CategoryNo" lay-verify="">
+                                        <option value=""></option>
+                                    </select>
+                                </div>
+                            </div>
+                        </div>
+						<div class="layui-inline">
 							<button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit lay-filter="LAY-app-contlist-search">
 								<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>鎼滅储
 							</button>
@@ -192,10 +203,23 @@
 					laypage = layui.laypage,
 					layer = layui.layer;
 
-				refreshTable("","","","","","","");
+				refreshTable("","","","","","","","");
 				var tableIns;
+				//鑾峰彇绫诲埆淇℃伅
+				sendData(IP + "/sys/GetMaterialCategories1",{},'get',function(res){
+                    console.log(res)
+					if (res.code == 1) //鎴愬姛
+					{
+						Categoryhtml = '<option value =""></option>';
+						for (var i = 0; i < res.data.length; i++) {
+                            Categoryhtml = Categoryhtml + '<option value =' + res.data[i].CategoryNo + '>' + res.data[i].CategoryName + '</option>'
+						}
+						$("#CategoryNo").append(Categoryhtml);
+						form.render('select');
+					}
+				})
 				
-				function refreshTable(SkuNo,SkuName,AuditStatusNo,Type,IsControlled,IsInspect,Environment) {
+				function refreshTable(SkuNo,SkuName,AuditStatusNo,Type,IsControlled,IsInspect,Environment,CategoryNo) {
 					var param = {
 						SkuNo: SkuNo,
 						SkuName: SkuName,
@@ -203,10 +227,11 @@
                         Type: Type,
                         IsControlled: IsControlled,
                         IsInspect: IsInspect,
-                        Environment: Environment
+                        Environment: Environment,
+						CategoryNo:CategoryNo
 					};
 					
-					var url  = "/Basis/GetMateList?SkuNo="+SkuNo+"&&SkuName="+SkuName+"&&AuditStatusNo="+AuditStatusNo+"&&Type="+Type+"&&IsControlled="+IsControlled+"&&IsInspect="+IsInspect+"&&Environment="+Environment;
+					var url  = "/Basis/GetMateList?SkuNo="+SkuNo+"&&SkuName="+SkuName+"&&AuditStatusNo="+AuditStatusNo+"&&Type="+Type+"&&IsControlled="+IsControlled+"&&IsInspect="+IsInspect+"&&Environment="+Environment+"&CategoryNo="+CategoryNo;
 					sendData(IP + url, {}, 'get', function(res) {
 						if (res.code == 0) //鎴愬姛
 						{
@@ -324,6 +349,9 @@
 							field: 'Environment',title: '瀛樺偍鐜',align: 'center',templet: '#buttonEnvironment',width: 120
 						},
 						{
+							field: 'CategoryName',title: '鐗╂枡绫诲埆',align: 'center',width: 120
+						},
+						{
 							field: 'Weight',title: '鐞嗚閲嶉噺',align: 'center',width: 135
 						}, 
 						{
@@ -365,8 +393,9 @@
 					var IsControlled = data.field.IsControlled;
 					var IsInspect = data.field.IsInspect;
 					var Environment = data.field.Environment;
+					var CategoryNo = data.field.CategoryNo;
                     
-					refreshTable(SkuNo,SkuName,AuditStatusNo,Type,IsControlled,IsInspect,Environment);
+					refreshTable(SkuNo,SkuName,AuditStatusNo,Type,IsControlled,IsInspect,Environment,CategoryNo);
 				});
 				var doing = true;
 				var $ = layui.$,
@@ -398,6 +427,7 @@
                                             IsControlled: field.IsControlled,
                                             IsInspect: field.IsInspect,
                                             Origin: field.Origin,
+                                            CategoryNo: field.CategoryNo,
                                             UnitNo: field.UnitNo,
                                             PackagNo: field.PackagNo,
                                             Environment: field.Environment,
@@ -427,7 +457,8 @@
                                                             $("#Type").val(),
                                                             $("#IsControlled").val(),
                                                             $("#IsInspect").val(),
-                                                            $("#Environment").val()
+                                                            $("#Environment").val(),
+                                                            $("#CategoryNo").val()
                                                         );
 														doing = true;
 													});
@@ -519,7 +550,8 @@
                                                 $("#Type").val(),
                                                 $("#IsControlled").val(),
                                                 $("#IsInspect").val(),
-                                                $("#Environment").val()
+                                                $("#Environment").val(),
+                                                $("#CategoryNo").val()
                                             );
 											//table.reload('LAY-app-content-list'); //鏁版嵁鍒锋柊
 											doing = true;
@@ -569,6 +601,7 @@
                                         IsControlled: field.IsControlled,
                                         IsInspect: field.IsInspect,
                                         Origin: field.Origin,
+                                        CategoryNo: field.CategoryNo,
                                         UnitNo: field.UnitNo,
                                         PackagNo: field.PackagNo,
                                         Environment: field.Environment,
@@ -599,7 +632,8 @@
                                                             $("#Type").val(),
                                                             $("#IsControlled").val(),
                                                             $("#IsInspect").val(),
-                                                            $("#Environment").val()
+                                                            $("#Environment").val(),
+                                                            $("#CategoryNo").val(),
                                                         );
 													doing = true;
 												});
diff --git a/HTML/views/BaseSetting/MaterialsForm.html b/HTML/views/BaseSetting/MaterialsForm.html
index bfc067e..98c9ebe 100644
--- a/HTML/views/BaseSetting/MaterialsForm.html
+++ b/HTML/views/BaseSetting/MaterialsForm.html
@@ -10,12 +10,22 @@
 	</head>
 	<body>
 		<div class="layui-form" lay-filter="layuiadmin-app-form-list" id="layuiadmin-app-form-list" style="padding: 20px 0px 0 0;">
-			<div class="layui-form-item">
-				<label class="layui-form-label">鐗╂枡鍙�</label>
-				<div class="layui-input-block" style="width: 490px;">
-					<input type="text" name="SkuNo" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" lay-verify="required" autocomplete="off" class="layui-input">
+			<div class="layui-form-item" id="uptshow">
+				<div class="layui-inline">
+					<label class="layui-form-label">鐗╂枡鍙�</label>
+					<div class="layui-input-block" style="width: 182px;">
+						<input type="text" name="SkuNo" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" lay-verify="required" autocomplete="off" class="layui-input">
+					</div>
 				</div>
-			</div>
+				<div class="layui-inline">
+					<label class="layui-form-label">鐗╂枡绫诲埆</label>
+					<div class="layui-input-block" style="width:182px">
+						<select name="CategoryNo" id="CategoryNo" lay-verify="" lay-search>
+							<option value=""></option>
+						</select>
+					</div>
+				</div>
+            </div>
 			<!-- <div class="layui-form-item" id="uptshow">
 				<div class="layui-inline">
 					<label class="layui-form-label">鐗╂枡鍚嶇О</label>
@@ -180,6 +190,51 @@
 					form = layui.form,
 					layer = layui.layer;
 
+					// var sel3 = false;
+					// //鑾峰彇绫诲埆淇℃伅 CategoryNo
+					// sendData(IP + "/sys/GetMaterialCategories1",{},'get',function(res){
+					// 	console.log(res)
+					// 	if (res.code == 1) //鎴愬姛
+					// 	{
+					// 		Categoryhtml = '<option value =""></option>';
+					// 		for (var i = 0; i < res.data.length; i++) {
+					// 			$("#CategoryNo").append('<option value =' + res.data[i].CategoryNo + '>' + res.data[i].CategoryName + '</option>');
+					// 		}
+					// 		form.render('select');
+					// 		sel3 = true;
+					// 	}
+					// 	else
+					// 	{
+					// 		layer.msg(res.msg, {
+					// 			icon: 2,
+					// 			time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+					// 		}, function() {sel3 = true;});
+					// 	}
+					// })
+					var sel3 = false;
+					//鑾峰彇绫诲埆淇℃伅 CategoryNo
+					synData(IP + "/sys/GetMaterialCategories1",{},'get',function(res){
+						console.log(res)
+						if(res.code == 1) //鎴愬姛
+						{
+							for (var i = 0; i < res.data.length; i++)
+							{
+								$("#CategoryNo").append('<option value =' + res.data[i].CategoryNo + '>' + res.data[i].CategoryName + '</option>');
+							}
+							form.render('select');
+							sel3 = true;
+						}
+						else //涓嶆垚鍔�
+						{
+							layer.msg(res.msg, {
+								icon: 2,
+								time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+							}, function() {sel3 = true;});
+						}
+						
+					});
+
+
 					var sel1 = false;
 					//鑾峰彇鍗曚綅涓嬫媺鑿滃崟 UnitNo
 					synData(IP + "/Basis/GetUnitList",{},'get',function(res){
@@ -231,13 +286,14 @@
                     }
 					else
 					{
-						if (sel1 && sel2) {
+						if (sel1 && sel2 && sel3) {
 							var param = {
 								UserId: id,
 							};
 							synData(IP + "/Basis/GetMateById?Id= " +getQueryString('id')+ "", {}, 'get', function(res) {
 								if (res.code == 0) //鎴愬姛
 								{
+									// console.log(res.data.CategoryNo)
 									//瀹℃壒鐘舵�佺紪杈戞樉绀�
 									if(res.data.AuditStatusNo != "")
 									{
@@ -256,6 +312,8 @@
 									$("input[name='Standard']").val(res.data.Standard); // 瑙勬牸
 									$("#AuditStatusNo option[value='" + res.data.AuditStatusNo + "']").attr("selected","selected"); // 瀹℃牳鐘舵��
 									$("#Type option[value='" + res.data.Type + "']").attr("selected","selected"); // 绫诲瀷
+									$("#CategoryNo option[value='" + res.data.CategoryNo + "']").attr("selected","selected"); // 绫诲埆
+									// $("#CategoryNo option[value='" + res.data.CategoryNo + "']").attr("selected","selected"); // 绫诲埆
 									$("#IsControlled option[value='" + res.data.IsControlled + "']").attr("selected","selected"); // 鏄惁鍙楁帶
 									$("#IsInspect option[value='" + res.data.IsInspect + "']").attr("selected","selected"); // 鏄惁鍏嶆
 									$("#UnitNo option[value='" + res.data.UnitNo + "']").attr("selected","selected");// 鍗曚綅
@@ -268,6 +326,7 @@
 									$("input[name='LowInventory']").val(res.data.LowInventory); // 浣庡簱瀛�
 									$("textarea[name='Demo']").val(res.data.Demo); //澶囨敞
 									form.render();
+									form.render('select');
 								}
 								else //涓嶆垚鍔�
 								{
diff --git a/HTML/views/SystemSettings/Category.html b/HTML/views/SystemSettings/Category.html
index 017b503..661dc76 100644
--- a/HTML/views/SystemSettings/Category.html
+++ b/HTML/views/SystemSettings/Category.html
@@ -25,54 +25,14 @@
 						<div class="layui-inline">
 							<label class="layui-form-label" style="width: 60px;">绫诲埆鍚嶇О</label>
 							<div class="layui-input-inline">
-								<input type="text" id="DictName" name="DictName" placeholder="璇疯緭鍏ュ姛鑳藉悕绉�" autocomplete="off" class="layui-input">
-							</div>
-						</div>
-						<div class="layui-inline">
-							<label class="layui-form-label" style="width: 70px;">鐖剁骇瀛楀吀鍙�</label>
-							<div class="layui-input-inline">
-								<select name="ParentNo" id="ParentNo" lay-verify="" lay-search="">
-									<option value=""></option>
-								</select>
+								<input type="text" id="CategoryName" name="CategoryName" placeholder="璇疯緭鍏ョ被鍒悕绉�" autocomplete="off" class="layui-input">
 							</div>
 						</div>
 						<div class="layui-inline">
 							<label class="layui-form-label" style="width: 45px;">鍖哄煙</label>
 							<div class="layui-input-inline">
-								<select name="Level" id="Level" lay-verify="" lay-search>
+								<select name="AreaNo" id="AreaNo" lay-verify="" lay-search>
 									<option value=""></option>
-									<option value="0">鏍圭洰褰�</option>
-									<option value="1">涓嬬骇鐩綍</option>
-								</select>
-							</div>
-						</div>
-						<!-- <div class="layui-inline">
-							<label class="layui-form-label" style="width: 60px;">鏄惁鍏紑</label>
-							<div class="layui-input-inline">
-								<select name="IsPublic" id="IsPublic" lay-verify="" lay-search>
-									<option value=""></option>
-									<option value="0">鍏紑</option>
-									<option value="1">涓嶅叕寮�</option>
-								</select>
-							</div>
-						</div> -->
-						<div class="layui-inline">
-							<label class="layui-form-label" style="width: 60px;">鍏佽缂栬緫</label>
-							<div class="layui-input-inline">
-								<select name="IsEdit" id="IsEdit" lay-verify="" lay-search>
-									<option value=""></option>
-									<option value="0">鍏佽</option>
-									<option value="1">涓嶅厑璁�</option>
-								</select>
-							</div>
-						</div>
-						<div class="layui-inline">
-							<label class="layui-form-label" style="width: 60px;">鍏佽澧炲姞</label>
-							<div class="layui-input-inline">
-								<select name="IsAdd" id="IsAdd" lay-verify="" lay-search>
-									<option value=""></option>
-									<option value="0">鍏佽</option>
-									<option value="1">涓嶅厑璁�</option>
 								</select>
 							</div>
 						</div>
@@ -90,49 +50,12 @@
 				</div>
 				<div class="layui-card-body">
 					<table id="LAY-app-content-list" lay-filter="LAY-app-content-list"></table>
-					<!-- 鏄惁鍏紑 -->
-                    <script type="text/html" id="buttonIsPublic">
-						{{# if(d.IsPublic=='0'){ }}
-							<button class="layui-btn layui-btn-radius layui-btn-xs">鍏紑</button>
-						{{# } else if(d.IsPublic=='1') { }}
-							<button class="layui-btn layui-btn-radius layui-btn-danger layui-btn-xs">涓嶅叕寮�</button>
-						{{# }  }}
-					</script>
-					
-                    <!-- 灞傜骇 -->
-                    <script type="text/html" id="buttonLevel">
-						{{# if(d.Level=='0'){ }}
-							<button class="layui-btn layui-btn-radius layui-btn-xs">鏍圭洰褰�</button>
-						{{# } else if(d.Level=='1') { }}
-							<button class="layui-btn layui-btn-radius layui-btn-danger layui-btn-xs">涓嬬骇鐩綍</button>
-						{{# }  }}
-					</script>
-                    
-                    <!-- 鍏佽缂栬緫 -->
-                    <script type="text/html" id="buttonIsEdit">
-                        {{# if(d.IsEdit=='0'){ }}
-                            <p>鍏佽</p>
-						{{# } else if(d.IsEdit=='1') { }}
-							<p>涓嶅厑璁�</p>
-						{{# }  }}
-                    </script>
 
-                    <!-- 鍏佽娣诲姞 -->
-                    <script type="text/html" id="buttonIsAdd">
-                        {{# if(d.IsAdd=='0'){ }}
-                            <p>鍏佽</p>
-						{{# } else if(d.IsAdd=='1') { }}
-							<p>涓嶅厑璁�</p>
-						{{# }  }}
-                    </script>
 					<!-- 鎿嶄綔 -->
 					<script type="text/html" id="table-content-list">
-						{{# if(d.IsEdit=='0'){ }}
-							<a class="layui-btn layui-btn-normal layui-btn-xs approvalBtnupt" lay-event="edit">
-								<i class="layui-icon layui-icon-edit"></i>缂栬緫
-							</a>
-						{{# } else if(d.IsEdit=='1') }}
-                       
+						<a class="layui-btn layui-btn-normal layui-btn-xs approvalBtnupt" lay-event="edit">
+							<i class="layui-icon layui-icon-edit"></i>缂栬緫
+						</a>
                         <a class="layui-btn layui-btn-danger layui-btn-xs approvalBtndel" lay-event="del">
 							<i class="layui-icon layui-icon-delete"></i>鍒犻櫎
 						</a>
@@ -157,35 +80,30 @@
 
 				var tableIns;
 
-				//鑾峰彇鐖剁骇瀛楀吀鍙�
-				sendData(IP + "/sys/GetDicParentListByLevel",{},'get',function(res){
+				//鑾峰彇鍖哄煙淇℃伅
+				sendData(IP + "/sys/GetStorageAreaList",{},'get',function(res){
+                    console.log(res)
 					if (res.code == 0) //鎴愬姛
 					{
-						parentnohtml = '<option value =""></option>';
+						Areahtml = '<option value =""></option>';
 						for (var i = 0; i < res.data.length; i++) {
-							//鍒ゆ柇灞傜骇涓嶆槸鎸夐挳
-							if (res.data[i].Level == '0')
-							{
-								//鏍圭洰褰�
-								parentnohtml = parentnohtml + '<option value =' + res.data[i].DictNo + '>' + res.data[i].DictName + '</option>'
-							} 
+                            //鏍圭洰褰�
+                            Areahtml = Areahtml + '<option value =' + res.data[i].AreaNo + '>' + res.data[i].AreaName + '</option>'
 						}
-						$("#ParentNo").append(parentnohtml);
+						$("#AreaNo").append(Areahtml);
 						form.render('select');
 					}
 				})
 
-				function refreshTable(DictName,DictNo,Level,IsEdit,IsAdd) {
+				function refreshTable(CategoryName,AreaNo) {
 					var param = {
-						DictName: DictName,
-						DictNo: DictNo,
-						Level: Level,
-						IsEdit: IsEdit,
-						IsAdd: IsAdd
+						CategoryName: CategoryName,
+						AreaNo: AreaNo,
 					};
+					console.log(param)
 
-					sendData(IP + "/Sys/GetDicList?DictName="+DictName+"&&DictNo="+DictNo+"&&Level="+Level+"&&IsEdit="+IsEdit+"&&IsAdd="+IsAdd, {}, 'get', function(res) {
-						if (res.code == 0) { //鎴愬姛
+					sendData(IP + "/Sys/GetMaterialCategories", param, 'get', function(res) {
+						if (res.code == 1) { //鎴愬姛
 							var list = res.data;
 							$.extend(infoOptions, {
 								data: list
@@ -197,7 +115,7 @@
 						}
 						else //涓嶆垚鍔�
 						{
-							layer.msg('鑾峰彇瀛楀吀鍒楄〃淇℃伅澶辫触锛�', {
+							layer.msg(res.msg, {
 								icon: 2,
 								time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
 							}, function() {});
@@ -216,17 +134,18 @@
 					});
 					if (res.code == 0) { //鎴愬姛
 						for (var k = 0; k < res.data.length; k++) {
-							if (res.data[k].MenuName == "娣诲姞瀛楀吀") {
+							if (res.data[k].MenuName == "鏂板绫诲埆") {
 								$(function() {
 									$("#approvalBtn").show();
 								});
 							}
-							if (res.data[k].MenuName == "鍒犻櫎瀛楀吀") {
+							if (res.data[k].MenuName == "鍒犻櫎绫诲埆") {
 								$(function() {
 									$(".approvalBtndel").show();
 								});
 							}
-							if (res.data[k].MenuName == "缂栬緫瀛楀吀") {
+							if (res.data[k].MenuName == "缂栬緫绫诲埆") {
+								console.log(1)
 								$(function() {
 									$(".approvalBtnupt").show();
 								});
@@ -258,37 +177,37 @@
 							title: '搴忓彿', type: 'numbers', fixed: 'left', width:65
 						}, 
 						{
-							field: 'DictNo', title: '瀛楀吀缂栧彿', align: 'center', fixed: 'left'
+							field: 'CategoryNo', title: '绫诲埆缂栧彿', align: 'center', fixed: 'left',width:100
 						}, 
 						{
-							field: 'DictName', title: '瀛楀吀鍚嶇О', align: 'center'
+							field: 'CategoryName', title: '绫诲埆鍚嶇О', align: 'center',width:100
 						}, 
 						{
-							field: 'ParentNo', title: '鐖剁骇瀛楀吀鍙�', align: 'center'
+							field: 'AreaName', title: '缁戝畾鍖哄煙', align: 'center'
 						}, 
+                        // {
+						// 	field: 'WareHouseName', title: '鎵�灞炰粨搴�', align: 'center'
+						// },
 						{
-							field: 'Ord', title: '鏄剧ず椤哄簭', align: 'center'
+							field: 'Demo', title: '澶囨敞', align: 'center'
 						},
 						{
-							field: 'Level', title: '灞傜骇', align: 'center', templet: '#buttonLevel'
-						},
-						{
-							field: 'IsPublic', templet: '#buttonIsPublic', title: '鏄惁鍏紑', align: 'center'
-						},
-						{
-							field: 'IsEdit', title: '鍏佽缂栬緫', align: 'center',  templet: '#buttonIsEdit'
-						},
-						{
-							field: 'IsAdd', title: '鍏佽澧炲姞', align: 'center', templet: '#buttonIsAdd'
-						},
-						{
-							field: 'CreateName', title: '鍒涘缓浜�', align: 'center'
+							field: 'CreateName', title: '鍒涘缓浜�', align: 'center',width:100
 						},
 						{
 							field: 'CreateTime', title: '鍒涘缓鏃ユ湡', align: 'center',
 							templet: function (d) {
 								return formatDate(d.CreateTime);
-							}
+							},width:165
+						},
+                        {
+							field: 'UpdateName', title: '鏇存敼浜�', align: 'center',width:100
+						},
+						{
+							field: 'UpdateTime', title: '鏇存敼鏃ユ湡', align: 'center',
+							templet: function (d) {
+								return formatDate(d.UpdateTime);
+							},width:165
 						},
 						{
 							title: '鎿嶄綔', fixed: 'right', align: 'center', width: 200 , toolbar: '#table-content-list'
@@ -298,13 +217,10 @@
 
 				//鐩戝惉鎼滅储
 				form.on('submit(LAY-app-contlist-search)', function(data) {
-					console.log(data)
-					var DictName = data.field.DictName;
-					var DictNo = data.field.ParentNo;
-					var Level = data.field.Level;
-					var IsEdit = data.field.IsEdit;
-					var IsAdd = data.field.IsAdd;
-					refreshTable(DictName,DictNo,Level,IsEdit,IsAdd);
+					console.log(data.field)
+					var CategoryName = data.field.CategoryName;
+					var AreaNo = data.field.AreaNo;
+					refreshTable(CategoryName,AreaNo);
 				});
 				var doing = true;
 				var $ = layui.$,
@@ -313,8 +229,8 @@
 						add: function() {
 							layer.open({
 								type: 2,
-								title: '娣诲姞瀛楀吀淇℃伅',
-								content: 'DictionaryForm.html',
+								title: '娣诲姞绫诲埆淇℃伅',
+								content: 'CategoryForm.html',
 								maxmin: true,
 								area: ['530px', '530px'],
 								btn: ['纭畾', '鍙栨秷'],
@@ -327,58 +243,35 @@
 										var field = data.field; //鑾峰彇鎻愪氦鐨勫瓧娈�
 										//鎻愪氦 Ajax 鎴愬姛鍚庯紝闈欐�佹洿鏂拌〃鏍间腑鐨勬暟鎹�
 										var param = {
-                                            DictNo: field.DictNo, //瀛楀吀缂栧彿
-                                            DictName: field.DictName, //瀛楀吀鍚嶇О
-                                            ParentNo: field.ParentNo, //鐖剁骇瀛楀吀鍙�
-                                            Ord: field.Ord, //鏄剧ず椤哄簭
-                                            Level: field.Level, //灞傜骇
-                                            IsPublic: field.IsPublic, //鏄惁鍏紑
-                                            IsEdit: field.IsEdit, //鍏佽缂栬緫
-											IsAdd: field.IsAdd //鍏佽娣诲姞
+                                            CategoryNo: field.CategoryNo, //鍖哄煙缂栧彿
+                                            CategoryName: field.CategoryName, //绫诲埆鍚嶇О
+                                            AreaNo: field.select, //鍖哄煙缂栫爜
+                                            Demo: field.Demo, //澶囨敞
 										};
-										if(field.Level == '1')
-										{
-											if(field.ParentNo == '')
-											{
-												layer.msg("褰撳眰绾т负瀛愮骇鏃讹紝鐖剁骇鐩綍涓嶅彲涓虹┖锛�", {
-													icon: 2,
-													time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-												}, function() {doing = true;});
-											}
-											else
-											{
-												console.log(11)
-												if(doing){
-													doing = false;
-													sendData(IP + "/sys/AddDic", param, 'post',function(res) {
-														console.log(res);
-														if (res.code == 0) { //鎴愬姛
-															layer.msg(res.msg, {
-																icon: 1,
-																time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-															}, function() {
-																layer.close(index); //鍏抽棴寮瑰眰
-																refreshTable($("#DictName").val(),$("#ParentNo").val(),$("#Level").val(), $("#IsEdit").val(), $("#IsAdd").val());
-																doing = true;
-															});
-														}
-														else
-														{ //涓嶆垚鍔�
-															layer.msg(res.msg, {
-																icon: 2,
-																time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-															}, function() {doing = true;});
-														}
-													});
-												}
-												else
-												{
-													console.log(123);
-												}
-											}
-										}
-										
-									});
+                                        if(doing){
+                                            doing = false;
+                                            sendData(IP + "/sys/InsertMaterialCategories", param, 'post',function(res) {
+                                                console.log(res);
+                                                if (res.code == 1) { //鎴愬姛
+                                                    layer.msg(res.msg, {
+                                                        icon: 1,
+                                                        time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                                                    }, function() {
+                                                        layer.close(index); //鍏抽棴寮瑰眰
+                                                        refreshTable($("#CategoryName").val(),$("#AreaNo").val());
+                                                        doing = true;
+                                                    });
+                                                }
+                                                else
+                                                { //涓嶆垚鍔�
+                                                    layer.msg(res.msg, {
+                                                        icon: 2,
+                                                        time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                                                    }, function() {doing = true;});
+                                                }
+                                            });
+                                        }
+                                    });
 									submit.trigger('click');
 								}
 							});
@@ -421,32 +314,36 @@
 					}
 				}
 				var uid = $.cookie('userId');
-				refreshTable("","","","","");
+				refreshTable("","");
 				table.on('tool(LAY-app-content-list)', function(obj) {
 					var data = obj.data;
+					// console.log(obj.data)
 					//鍒犻櫎
 					if (obj.event === 'del')
 					{
-						layer.confirm('纭畾鍒犻櫎閫変腑鐨勫瓧鍏革紵', function(index) {
-							// console.log(data);
+						layer.confirm('纭畾鍒犻櫎閫変腑鐨勭被鍒紵', function(index) {
+							
 							cusid = data.Id;
+							console.log(cusid);
 							var arr = [];
-							arr.push(cusid); //灞炴��
+							
 							var param = {
-								Ids: arr
+								Id: cusid
 							};
+							console.log(param);
+							// arr.push(param);
 							if(doing)
 							{
 								doing = false;
-								sendData(IP + "/sys/DelDic?Id="+data.Id+"", {} , 'get', function(res) {
+								sendData(IP + "/sys/DeleteMaterialCategories", param , 'post', function(res) {
 									console.log(res);
-									if (res.code == 0)
+									if (res.code == 1)
 									{ //鎴愬姛
 										layer.msg(res.msg, {
 											icon: 1,
 											time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
 										}, function() {
-											refreshTable($("#DictName").val(),$("#ParentNo").val(),$("#Level").val(), $("#IsEdit").val(), $("#IsAdd").val());
+											refreshTable($("#CategoryName").val(),$("#AreaNo").val());
 											//table.reload('LAY-app-content-list'); //鏁版嵁鍒锋柊
 											doing = true;
 										});
@@ -473,10 +370,10 @@
 						cusId = data.Id;
 						layer.open({
 							type: 2,
-							title: '缂栬緫瀛楀吀淇℃伅',
-							content: 'DictionaryForm.html?id=' + cusId,
+							title: '缂栬緫绫诲埆淇℃伅',
+							content: 'CategoryForm.html?id=' + cusId,
 							maxmin: true,
-							area: ['500px', '450px'],
+							area: ['530px', '530px'],
 							btn: ['纭畾', '鍙栨秷'],
 							yes: function(index, layero) {
 								var iframeWindow = window['layui-layer-iframe' + index],
@@ -488,28 +385,24 @@
 									//鎻愪氦 Ajax 鎴愬姛鍚庯紝闈欐�佹洿鏂拌〃鏍间腑鐨勬暟鎹�
 									var param = {
 										Id: cusId,
-										DictNo: field.DictNo,
-										DictName: field.DictName,
-										ParentNo: field.ParentNo,
-										Ord: field.Ord,
-										Level: field.Level,
-										IsPublic: field.IsPublic,
-										IsEdit: field.IsEdit,
-										IsAdd: field.IsAdd
+										CategoryNo: field.CategoryNo, //鍖哄煙缂栧彿
+                                        CategoryName: field.CategoryName, //绫诲埆鍚嶇О
+                                        AreaNo: field.select, //鍖哄煙缂栫爜
+                                        Demo: field.Demo, //澶囨敞
 									};
 									if(doing)
 									{
 										doing = false;
-										sendData(IP + "/sys/ExitDic", param, 'post',
+										sendData(IP + "/sys/ExitMaterialCategories", param, 'post',
 										function(res) {
-											if (res.code == 0)
+											if (res.code == 1)
 											{ //鎴愬姛
 												layer.msg("淇敼鎴愬姛", {
 													icon: 1,
 													time: 1000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
 												}, function() {
 													layer.close(index); //鍏抽棴寮瑰眰
-													refreshTable($("#DictName").val(),$("#ParentNo").val(),$("#Level").val(), $("#IsEdit").val(), $("#IsAdd").val());
+													refreshTable($("#CategoryName").val(),$("#AreaNo").val());
 													//table.reload('LAY-app-content-list'); //鏁版嵁鍒锋柊
 													doing = true;
 												});
diff --git a/HTML/views/SystemSettings/CategoryForm.html b/HTML/views/SystemSettings/CategoryForm.html
new file mode 100644
index 0000000..5276263
--- /dev/null
+++ b/HTML/views/SystemSettings/CategoryForm.html
@@ -0,0 +1,173 @@
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta charset="utf-8">
+		<title>鐗╂枡绫诲埆淇℃伅缁存姢</title>
+		<meta name="renderer" content="webkit">
+		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+		<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+		<link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
+	</head>
+	<body>
+		<div class="layui-form" lay-filter="layuiadmin-app-form-list" id="layuiadmin-app-form-list" style="padding: 20px 30px 0 0;">
+			<div class="layui-form-item">
+				<label class="layui-form-label">绫诲埆缂栧彿</label>
+				<div class="layui-input-block">
+					<input type="text" name="CategoryNo" placeholder="璇疯緭鍏ョ被鍒紪鍙�" lay-verify="required" autocomplete="off" class="layui-input">
+				</div>
+            </div>
+            <div class="layui-form-item">
+				<label class="layui-form-label">绫诲埆鍚嶇О</label>
+				<div class="layui-input-block">
+					<input type="text" name="CategoryName" placeholder="璇疯緭鍏ョ被鍒悕绉�" lay-verify="required" autocomplete="off" class="layui-input">
+				</div>
+			</div>
+            <div class="layui-form-item" onchange="abc()">
+				<label class="layui-form-label" style="width: 70px;">鍖哄煙</label>
+				<div class="layui-input-block " id="AreaNo" >
+					<!-- <select name="AreaNo" id="AreaNo" lay-verify="" lay-search>
+                        <option value=""></option>
+                    </select> -->
+				</div>
+			</div>
+            <!-- <div class="layui-inline">
+                <label class="layui-form-label" style="width: 45px;"></label>
+                <div class="layui-input-inline">
+                    <select name="AreaNo" id="AreaNo" lay-verify="" lay-search>
+                        <option value=""></option>
+                    </select>
+                </div>
+            </div> -->
+            <div class="layui-form-item">
+				<div class="layui-inline">
+					<label class="layui-form-label">澶囨敞</label>
+					<div class="layui-input-block" style="width: 400px;">
+						<textarea placeholder="璇疯緭鍏ュ娉ㄥ唴瀹�" name="Demo" class="layui-textarea"></textarea>
+					</div>
+				</div>
+			</div>
+			<div class="layui-form-item layui-hide">
+				<input type="button" lay-submit lay-filter="layuiadmin-app-form-submit" id="layuiadmin-app-form-submit" value="纭娣诲姞">
+				<input type="button" lay-submit lay-filter="layuiadmin-app-form-edit" id="layuiadmin-app-form-edit" value="纭缂栬緫">
+			</div>
+		</div>
+
+		<script src="../../layuiadmin/layui/layui.js"></script>
+		<script src="../../js/public.js"></script>
+		<script src="../../js/jquery-3.5.1.min.js"></script>
+		<script src="../../js/jquery.cookie.js"></script>
+        <script src="../../js/xm-select.js"></script>
+		<script>
+			layui.config({
+				base: '../../layuiadmin/', //闈欐�佽祫婧愭墍鍦ㄨ矾寰�
+			}).extend({
+				index: 'lib/index', //涓诲叆鍙fā鍧�
+			}).use(['index', 'form', 'layer'], function() {
+				var $ = layui.$, form = layui.form, layer = layui.layer;
+                
+                var demo1 = xmSelect.render({
+                    // 杩欓噷缁戝畾css閫夋嫨鍣�
+                    el: '#AreaNo', 
+                    // 娓叉煋鐨勬暟鎹�
+                    data: [],
+                })
+                var arr = [];
+                
+				var id = getQueryString('id');
+				if (!id)
+				{
+					id = 0;
+				}
+				else
+				{
+					var param = {
+						UserId: id,
+					};
+					sendData(IP + "/sys/GetMaterialCategoriesById?Id="+id, {}, 'get', function(res) {
+						console.log(res)
+						if (res.code == 1) //鎴愬姛
+						{
+                            var str = res.data.AreaNo;
+                            arr = str.split(',');
+							// console.log(arr)
+							$("input[name='CategoryNo']").val(res.data.CategoryNo); //绫诲埆鍙�
+							$("input[name='CategoryName']").val(res.data.CategoryName); //绫诲埆鍚嶇О
+							// $("#ParentNo option[value='" + res.data.ParentNo + "']").attr("selected","selected"); //鐖剁骇瀛楀吀鍙�
+							$("textarea[name='Demo']").val(res.data.Demo); //澶囨敞
+
+							//鑾峰彇鍖哄煙淇℃伅
+							sendData(IP + "/sys/GetStorageAreaList",{},'get',function(res){
+								if (res.code == 0) //鎴愬姛
+								{
+									
+									res.list.forEach(item => {
+										arr.forEach(item2 => {
+											if(item.value == item2)
+											{
+												item.selected = true;
+											}
+										});
+										
+									});
+									demo1 = xmSelect.render({
+										// 杩欓噷缁戝畾css閫夋嫨鍣�
+										el: '#AreaNo', 
+										// 娓叉煋鐨勬暟鎹�
+										data: res.list,
+									})
+								}
+							})
+
+							form.render('select');
+
+						}
+						else
+						{ //涓嶆垚鍔�
+							layer.msg(res.msg, {
+								icon: 2,
+								time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+							}, function() {});
+						}
+					});
+				}
+				form.render('select');
+				
+                //鑾峰彇鍖哄煙淇℃伅
+				sendData(IP + "/sys/GetStorageAreaList",{},'get',function(res){
+					if (res.code == 0) //鎴愬姛
+					{
+                        if(arr != "")
+                        {
+							console.log(arr)
+                            res.list.forEach(item => {
+                                arr.forEach(item2 => {
+                                    if(item.AreaNo == item2)
+                                    {
+                                        item.selected = true;
+                                    }
+                                });
+                                
+                            });
+                        }
+                        demo1 = xmSelect.render({
+                            // 杩欓噷缁戝畾css閫夋嫨鍣�
+                            el: '#AreaNo', 
+                            // 娓叉煋鐨勬暟鎹�
+                            data: res.list,
+                        })
+					}
+				})
+			});
+
+			
+
+			//鑾峰彇娴忚鍣ㄥ弬鏁�
+			function getQueryString(name) {
+				var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
+				var r = window.location.search.substr(1).match(reg);
+				if (r != null) return unescape(r[2]);
+				return null;
+			}
+		</script>
+	</body>
+</html>
diff --git a/Wms/Model/ModelDto/SysDto/MaterialCategoryDto.cs b/Wms/Model/ModelDto/SysDto/MaterialCategoryDto.cs
index 58ad8a3..f1ef6e0 100644
--- a/Wms/Model/ModelDto/SysDto/MaterialCategoryDto.cs
+++ b/Wms/Model/ModelDto/SysDto/MaterialCategoryDto.cs
@@ -32,16 +32,6 @@
         public string AreaName { get; set; }
 
         /// <summary>
-        /// 鎵�灞炰粨搴�
-        /// </summary>
-        public string WareHouseNo { get; set; }
-
-        /// <summary>
-        /// 浠撳簱鍚嶇О
-        /// </summary>
-        public string WareHouseName { get; set; }
-
-        /// <summary>
         /// 澶囨敞
         /// </summary>
         public string Demo { get; set; }
@@ -63,11 +53,23 @@
         /// <summary>
         /// 鍒涘缓浜�
         /// </summary>
-        public int CreateUser { get; set; }
+        public string CreateName { get; set; }
+
+
+        /// <summary>
+        /// 鍒涘缓浜�
+        /// </summary>
+        public string CreateUser { get; set; }
 
         /// <summary>
         /// 鏇存柊浜�
         /// </summary>
-        public int? UpdateUser { get; set; }
+        public string UpdateName { get; set; }
+
+
+        /// <summary>
+        /// 鏇存柊浜�
+        /// </summary>
+        public string UpdateUser { get; set; }
     }
 }
diff --git a/Wms/Model/ModelDto/SysDto/MaterialsDto.cs b/Wms/Model/ModelDto/SysDto/MaterialsDto.cs
index 44babc2..a0a4b8f 100644
--- a/Wms/Model/ModelDto/SysDto/MaterialsDto.cs
+++ b/Wms/Model/ModelDto/SysDto/MaterialsDto.cs
@@ -105,6 +105,16 @@
         public int LowInventory { get; set; }
 
         /// <summary>
+        /// 绫诲埆缂栫爜
+        /// </summary>
+        public string CategoryNo { get; set; }
+
+        /// <summary>
+        /// 绫诲埆鍚嶇О
+        /// </summary>
+        public string CategoryName { get; set; }
+
+        /// <summary>
         /// 澶囨敞
         /// </summary>
         public string Demo { get; set; }
diff --git a/Wms/Model/ModelDto/SysDto/XmSelectDto.cs b/Wms/Model/ModelDto/SysDto/XmSelectDto.cs
new file mode 100644
index 0000000..02f7e1b
--- /dev/null
+++ b/Wms/Model/ModelDto/SysDto/XmSelectDto.cs
@@ -0,0 +1,13 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model.ModelDto.SysDto
+{
+    public class XmSelectDto
+    {
+        public string name { get; set; }
+        public string value { get; set; }
+        public bool selected { get; set; }
+    }
+}
diff --git a/Wms/WMS.BLL/SysServer/MaterialCategory.cs b/Wms/WMS.BLL/SysServer/MaterialCategory.cs
deleted file mode 100644
index 2800158..0000000
--- a/Wms/WMS.BLL/SysServer/MaterialCategory.cs
+++ /dev/null
@@ -1,218 +0,0 @@
-锘縰sing Model.ModelDto;
-using Model.ModelDto.SysDto;
-using SqlSugar;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Linq.Expressions;
-using System.Text;
-using WMS.DAL;
-using WMS.Entity.BllSoEntity;
-using WMS.Entity.Context;
-using WMS.Entity.SysEntity;
-using WMS.IBLL.ISysServer;
-
-namespace WMS.BLL.SysServer
-{
-    /// <summary>
-    ///  鐗╂枡绫诲埆绠$悊鏂规硶
-    /// </summary>
-    public class MaterialCategory : DbHelper<SysMaterialCategory>, IMaterialCategory
-    {
-
-        private static readonly SqlSugarScope Db = DataContext.Db;
-        public MaterialCategory() : base(Db)
-        {
-        }
-
-        /// <summary>
-        /// 鑾峰彇鐗╂枡绫诲埆淇℃伅
-        /// </summary>
-        /// <param name="categoryName">绫诲埆鍚嶇О</param>
-        /// <param name="areaNo">鍖哄煙缂栫爜</param>
-        /// <returns></returns>
-        /// <exception cref="Exception"></exception>
-        public List<MaterialCategoryDto> GetMaterialCategories(string categoryName, string areaNo)
-        {
-            try
-            {
-                var list = Db.Queryable<MaterialCategoryDto>()
-                    .WhereIF(!string.IsNullOrWhiteSpace(categoryName), a => a.CategoryName == categoryName)
-                    .WhereIF(!string.IsNullOrWhiteSpace(areaNo), a => a.AreaNo == areaNo)
-                    .Where(a => a.IsDel == "0").ToList();
-
-                return list;
-            }
-            catch (Exception ex)
-            {
-                throw new Exception(ex.Message);
-            }
-        }
-
-        /// <summary>
-        /// 鏂板绫诲埆淇℃伅
-        /// </summary>
-        /// <param name="category">鐗╂枡绫诲埆瀹炰綋</param>
-        /// <returns></returns>
-        /// <exception cref="Exception"></exception>
-        public string InsertMaterialCategories(SysMaterialCategory category)
-        {
-            try
-            {
-                string msg = "";
-                //鑾峰彇绫诲埆淇℃伅
-                var categoryInfo = Db.Queryable<SysMaterialCategory>().First(a => a.IsDel == "0" && a.CategoryNo == category.CategoryNo);
-                //鑾峰彇鍖哄煙淇℃伅
-                var area = Db.Queryable<SysStorageArea>().First(a => a.AreaNo == category.AreaNo && a.IsDel == "0");
-
-                if (categoryInfo != null)
-                {
-                    msg = "褰撳墠绫诲埆淇℃伅宸茶鍒涘缓锛岃閲嶆柊濉啓淇℃伅锛�";
-                    return msg;
-                }
-                if (area == null)
-                {
-                    msg = "褰撳墠閫夋嫨鍖哄煙淇℃伅寮傚父锛岃閲嶆柊閫夋嫨鎴栬仈绯荤鐞嗗憳锛�";
-                    return msg;
-                }
-
-                Db.BeginTran();
-                SysMaterialCategory list = new SysMaterialCategory()
-                {                    
-                    CategoryNo = category.CategoryNo, //绫诲埆鍙�
-                    CategoryName = category.CategoryName, //绫诲埆鍚嶇О
-
-                    AreaNo = category.AreaNo, //鍖哄煙缂栫爜
-                    WareHouseNo = area.WareHouseNo, //鎵�灞炰粨搴�
-                    Demo = category.Demo, //澶囨敞
-
-                    IsDel = "0", //鏄惁鍒犻櫎
-                    CreateUser = category.CreateUser, //鍒涘缓浜�
-                    CreateTime = Db.GetDate(), //鍒涘缓鏃堕棿
-                };
-
-                Db.Insertable(list).ExecuteCommand();
-
-
-                Db.CommitTran();
-
-                msg = "鏂板绫诲埆淇℃伅鎴愬姛锛�";
-                return msg;
-
-                
-            }
-            catch (Exception ex)
-            {
-                Db.RollbackTran();
-                throw new Exception(ex.Message);
-            }
-        }
-
-        /// <summary>
-        /// 缂栬緫绫诲埆淇℃伅
-        /// </summary>
-        /// <param name="category">鐗╂枡绫诲埆瀹炰綋</param>
-        /// <returns></returns>
-        /// <exception cref="Exception"></exception>
-        public string ExitMaterialCategories(SysMaterialCategory category)
-        {
-            try
-            {
-                string msg = "";
-                //鑾峰彇绫诲埆淇℃伅
-                var categoryInfo = Db.Queryable<SysMaterialCategory>().First(a => a.IsDel == "0" && a.CategoryNo == category.CategoryNo);
-                //鑾峰彇鍖哄煙淇℃伅
-                var area = Db.Queryable<SysStorageArea>().First(a => a.AreaNo == category.AreaNo && a.IsDel == "0");
-
-                if (categoryInfo != null)
-                {
-                    msg = "褰撳墠绫诲埆淇℃伅宸茶鍒涘缓锛岃閲嶆柊濉啓淇℃伅锛�";
-                    return msg;
-                }
-
-                if (area == null)
-                {
-                    msg = "褰撳墠閫夋嫨鍖哄煙淇℃伅寮傚父锛岃閲嶆柊閫夋嫨鎴栬仈绯荤鐞嗗憳锛�";
-                    return msg;
-                }
-
-                Db.BeginTran();
-                categoryInfo = new SysMaterialCategory()
-                {
-                    CategoryNo = category.CategoryNo, //绫诲埆鍙�
-                    CategoryName = category.CategoryName, //绫诲埆鍚嶇О
-
-                    AreaNo = category.AreaNo, //鍖哄煙缂栫爜
-                    WareHouseNo = area.WareHouseNo, //鎵�灞炰粨搴�
-                    Demo = category.Demo, //澶囨敞
-
-                    IsDel = "0", //鏄惁鍒犻櫎
-                    UpdateUser = category.CreateUser, //鏇存敼浜�
-                    UpdateTime = Db.GetDate(), //鏇存敼鏃堕棿
-                };
-
-                Db.Updateable(categoryInfo).ExecuteCommand();
-
-                Db.CommitTran();
-
-                msg = "缂栬緫绫诲埆淇℃伅鎴愬姛锛�";
-                return msg;
-
-                
-            }
-            catch (Exception ex)
-            {
-                Db.RollbackTran();
-                throw new Exception(ex.Message);
-            }
-        }
-
-        /// <summary>
-        /// 鍒犻櫎绫诲埆淇℃伅
-        /// </summary>
-        /// <param name="category">鐗╂枡绫诲埆瀹炰綋</param>
-        /// <returns></returns>
-        /// <exception cref="Exception"></exception>
-        public string DeleteMaterialCategories(SysMaterialCategory category)
-        {
-            try
-            {
-                string msg = "";
-                //鑾峰彇绫诲埆淇℃伅
-                var categoryInfo = Db.Queryable<SysMaterialCategory>().First(a => a.IsDel == "0" && a.CategoryNo == category.CategoryNo);
-                //鑾峰彇鍖哄煙淇℃伅
-                var area = Db.Queryable<SysStorageArea>().First(a => a.AreaNo == category.AreaNo && a.IsDel == "0");
-
-
-                if (categoryInfo != null)
-                {
-                    msg = "褰撳墠绫诲埆淇℃伅宸茶鍒犻櫎锛岃閲嶆柊閫夋嫨锛�";
-                    return msg;
-                }
-                if (area == null)
-                {
-                    msg = "褰撳墠閫夋嫨鍖哄煙淇℃伅寮傚父锛岃閲嶆柊閫夋嫨鎴栬仈绯荤鐞嗗憳锛�";
-                    return msg;
-                }
-
-                Db.BeginTran();
-
-                categoryInfo.IsDel = "1";
-
-                Db.Updateable(categoryInfo).ExecuteCommand();
-
-                Db.CommitTran();
-
-                msg = "鍒犻櫎绫诲埆淇℃伅鎴愬姛锛�";
-                return msg;
-
-
-            }
-            catch (Exception ex)
-            {
-                Db.RollbackTran();
-                throw new Exception(ex.Message);
-            }
-        }
-    }
-}
diff --git a/Wms/WMS.BLL/SysServer/MaterialCategoryServer.cs b/Wms/WMS.BLL/SysServer/MaterialCategoryServer.cs
new file mode 100644
index 0000000..9789bf9
--- /dev/null
+++ b/Wms/WMS.BLL/SysServer/MaterialCategoryServer.cs
@@ -0,0 +1,346 @@
+锘縰sing Model.ModelDto;
+using Model.ModelDto.BllSoDto;
+using Model.ModelDto.SysDto;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Linq.Expressions;
+using System.Text;
+using WMS.DAL;
+using WMS.Entity.BllSoEntity;
+using WMS.Entity.Context;
+using WMS.Entity.SysEntity;
+using WMS.IBLL.ISysServer;
+
+namespace WMS.BLL.SysServer
+{
+    /// <summary>
+    ///  鐗╂枡绫诲埆绠$悊鏂规硶
+    /// </summary>
+    public class MaterialCategoryServer : DbHelper<SysMaterialCategory>, IMaterialCategoryServer
+    {
+
+        private static readonly SqlSugarScope Db = DataContext.Db;
+        public MaterialCategoryServer() : base(Db)
+        {
+        }
+
+        /// <summary>
+        /// 鑾峰彇鐗╂枡绫诲埆淇℃伅
+        /// </summary>
+        /// <param name="categoryName">绫诲埆鍚嶇О</param>
+        /// <param name="areaNo">鍖哄煙缂栫爜</param>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        public List<MaterialCategoryDto> GetMaterialCategories(string categoryName, string areaNo)
+        {
+            try
+            {
+                //var list = Db.Queryable<MaterialCategoryDto>()
+                //    .WhereIF(!string.IsNullOrWhiteSpace(categoryName), a => a.CategoryName == categoryName)
+                //    .WhereIF(!string.IsNullOrWhiteSpace(areaNo), a => a.AreaNo == areaNo)
+                //    .Where(a => a.IsDel == "0").ToList();
+
+
+                Expression<Func<SysMaterialCategory, bool>> item = Expressionable.Create<SysMaterialCategory>()
+                   .AndIF(!string.IsNullOrWhiteSpace(categoryName), it => it.CategoryName.Contains(categoryName))
+                   .AndIF(!string.IsNullOrWhiteSpace(areaNo), it => it.AreaNo.Contains(areaNo))
+                   .And(it => it.IsDel == "0")
+                   .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
+
+                var data = GetAllWhereAsync(item)
+                    .Includes(x => x.CreateUserInfo)
+                    .Includes(x => x.UpdateUserInfo).ToList();
+                //.LeftJoin<SysWareHouse>((a, b) => a.WareHouseNo == b.WareHouseNo)
+                //.LeftJoin<SysUserInfor>((a, b, c) => a.CreateUser == c.Id)
+                //.LeftJoin<SysUserInfor>((a, b, c, d) => a.UpdateUser == d.Id)
+                var data2 = data.Select(a => new MaterialCategoryDto()
+                {
+                    Id = a.Id,
+
+                    CategoryNo = a.CategoryNo, //绫诲埆鍙�
+                    CategoryName = a.CategoryName, //绫诲埆鍚嶇О
+
+                    AreaNo = a.AreaNo, //鍖哄煙鍙�
+                    AreaName = GetStorageArea(a.AreaNo), //鍖哄煙鍚嶇О
+
+                    //WareHouseNo = a.WareHouseNo, //浠撳簱鍙�
+                    //WareHouseName = a.WareHouseInfo.WareHouseName, //浠撳簱鍚嶇О
+
+                    Demo = a.Demo, //澶囨敞
+                    IsDel = a.IsDel,
+
+                    CreateName = a.CreateUserInfo.RealName,
+                    UpdateName = a.UpdateUserInfo == null ? "" : a.UpdateUserInfo.RealName,
+
+                    CreateTime = a.CreateTime,
+                    UpdateTime = a.UpdateTime,
+                }).ToList();
+
+
+
+                return data2;
+            }
+            catch (Exception ex)
+            {
+                throw new Exception(ex.Message);
+            }
+        }
+
+        /// <summary>
+        /// 鑾峰彇鐗╂枡绫诲埆涓嬫媺鑿滃崟淇℃伅
+        /// </summary>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        public List<SysMaterialCategory> GetMaterialCategories()
+        {
+            try
+            {
+                //var list = Db.Queryable<MaterialCategoryDto>()
+                //    .WhereIF(!string.IsNullOrWhiteSpace(categoryName), a => a.CategoryName == categoryName)
+                //    .WhereIF(!string.IsNullOrWhiteSpace(areaNo), a => a.AreaNo == areaNo)
+                //    .Where(a => a.IsDel == "0").ToList();
+
+                var list = Db.Queryable<SysMaterialCategory>().Where(a => a.IsDel == "0").ToList();
+                return list;
+            }
+            catch (Exception ex)
+            {
+                throw new Exception(ex.Message);
+            }
+        }
+
+        /// <summary>
+        /// 鏍规嵁Id鑾峰彇鐗╂枡绫诲埆淇℃伅
+        /// </summary>
+        /// <param name="Id">Id</param>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        public SysMaterialCategory GetMaterialCategoriesById(int Id)
+        {
+            try
+            {
+                var list = Db.Queryable<SysMaterialCategory>().Where(a => a.IsDel == "0" && a.Id == Id).First();
+                return list;
+            }
+            catch (Exception ex)
+            {
+
+                throw new Exception(ex.Message);
+            }
+        }
+
+        /// <summary>
+        /// 鑾峰彇宸烽亾淇℃伅
+        /// </summary>
+        /// <param name="AreaNo">宸烽亾鍙�</param>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        public string GetStorageArea(string AreaNo)
+        {
+            try
+            {
+                string str = "";
+                if (string.IsNullOrWhiteSpace(AreaNo))
+                {
+                    return str;
+                }
+                else
+                {
+                    //鍒ゆ柇鏄惁闇�瑕佽繘琛屽垎鍓插瓧绗︿覆
+                    var arr = AreaNo.Split(',');
+                    //鑾峰彇鍖哄煙淇℃伅
+                    var list = Db.Queryable<SysStorageArea>().Where(a => a.IsDel == "0" && arr.Contains(a.AreaNo)).ToList();
+                    //鎷兼帴瀛楃涓�
+
+                    foreach (var item in list)
+                    {
+                        str += item.AreaName + ";";
+                    }
+                    return str;
+                }
+
+            }
+            catch (Exception ex)
+            {
+
+                throw new Exception("鑾峰彇宸烽亾淇℃伅寮傚父" + ex.Message);
+            }
+        }
+
+        /// <summary>
+        /// 鑾峰彇搴撳尯鍩熶俊鎭�
+        /// </summary>
+        /// <returns></returns>
+        public List<SysStorageArea> GetStorageAreaList()
+        {
+            try
+            {
+                var list = Db.Queryable<SysStorageArea>().Where(a => a.IsDel == "0").ToList();
+                return list;
+            }
+            catch (Exception e)
+            {
+                throw new Exception(e.Message);
+            }
+        }
+
+        /// <summary>
+        /// 鏂板绫诲埆淇℃伅
+        /// </summary>
+        /// <param name="category">鐗╂枡绫诲埆瀹炰綋</param>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        public string InsertMaterialCategories(SysMaterialCategory category)
+        {
+            try
+            {
+                string msg = "";
+                //鑾峰彇绫诲埆淇℃伅
+                var categoryInfo = Db.Queryable<SysMaterialCategory>().First(a => a.IsDel == "0" && a.CategoryNo == category.CategoryNo);
+                //鑾峰彇鍖哄煙淇℃伅
+                var area = Db.Queryable<SysStorageArea>().Where(a => category.AreaNo.Contains(a.AreaNo) && a.IsDel == "0").ToList();
+
+                if (categoryInfo != null)
+                {
+                    throw new Exception("褰撳墠绫诲埆淇℃伅宸茶鍒涘缓锛岃閲嶆柊濉啓淇℃伅锛�");
+                }
+                if (area == null)
+                {
+                    throw new Exception("褰撳墠閫夋嫨鍖哄煙淇℃伅寮傚父锛岃閲嶆柊閫夋嫨鎴栬仈绯荤鐞嗗憳锛�");
+                }
+
+                Db.BeginTran();
+                SysMaterialCategory list = new SysMaterialCategory()
+                {
+                    CategoryNo = category.CategoryNo, //绫诲埆鍙�
+                    CategoryName = category.CategoryName, //绫诲埆鍚嶇О
+
+                    AreaNo = category.AreaNo, //鍖哄煙缂栫爜
+                    Demo = category.Demo, //澶囨敞
+
+                    IsDel = "0", //鏄惁鍒犻櫎
+                    CreateUser = category.CreateUser, //鍒涘缓浜�
+                    CreateTime = Db.GetDate(), //鍒涘缓鏃堕棿
+                };
+
+                Db.Insertable(list).ExecuteCommand();
+
+
+                Db.CommitTran();
+
+                msg = "鏂板绫诲埆淇℃伅鎴愬姛锛�";
+                return msg;
+
+
+            }
+            catch (Exception ex)
+            {
+                Db.RollbackTran();
+                throw new Exception(ex.Message);
+            }
+        }
+
+        /// <summary>
+        /// 缂栬緫绫诲埆淇℃伅
+        /// </summary>
+        /// <param name="category">鐗╂枡绫诲埆瀹炰綋</param>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        public string ExitMaterialCategories(SysMaterialCategory category)
+        {
+            try
+            {
+                string msg = "";
+                //鑾峰彇绫诲埆淇℃伅
+                var categoryInfo = Db.Queryable<SysMaterialCategory>().First(a => a.IsDel == "0" && a.Id == category.Id);
+                //鑾峰彇鍖哄煙淇℃伅
+                var area = Db.Queryable<SysStorageArea>().First(a => category.AreaNo.Contains(a.AreaNo) && a.IsDel == "0");
+
+                if (area == null)
+                {
+                    throw new Exception("褰撳墠閫夋嫨鍖哄煙淇℃伅寮傚父锛岃閲嶆柊閫夋嫨鎴栬仈绯荤鐞嗗憳锛�");
+                }
+
+                Db.BeginTran();
+                categoryInfo.CategoryNo = category.CategoryNo; //绫诲埆鍙�
+                categoryInfo.CategoryName = category.CategoryName; //绫诲埆鍚嶇О
+                categoryInfo.AreaNo = category.AreaNo; //鍖哄煙缂栫爜
+                categoryInfo.Demo = category.Demo; //澶囨敞
+                categoryInfo.UpdateUser = category.CreateUser; //鏇存敼浜�
+                categoryInfo.UpdateTime = Db.GetDate(); //鏇存敼鏃堕棿
+
+
+                Db.Updateable(categoryInfo).ExecuteCommand();
+
+                Db.CommitTran();
+
+                msg = "缂栬緫绫诲埆淇℃伅鎴愬姛锛�";
+                return msg;
+
+
+            }
+            catch (Exception ex)
+            {
+                Db.RollbackTran();
+                throw new Exception(ex.Message);
+            }
+        }
+
+        /// <summary>
+        /// 鍒犻櫎绫诲埆淇℃伅
+        /// </summary>
+        /// <param name="category">鐗╂枡绫诲埆瀹炰綋</param>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        public string DeleteMaterialCategories(MaterialCategoryDto category)
+        {
+            try
+            {
+                string msg = "";
+                //鑾峰彇绫诲埆淇℃伅
+                var categoryInfo = Db.Queryable<SysMaterialCategory>().First(a => a.IsDel == "0" && a.Id == category.Id);
+                //鑾峰彇鍖哄煙淇℃伅
+                var area = Db.Queryable<SysStorageArea>().First(a => categoryInfo.AreaNo.Contains(a.AreaNo) && a.IsDel == "0");
+                //鑾峰彇鏄惁瀛樺湪鏈夌墿鏂欏凡缁戝畾褰撳墠绫诲埆
+                var mate = Db.Queryable<SysMaterials>().Where(a => a.IsDel == "0" && a.CategoryNo == categoryInfo.CategoryNo).ToList();
+
+                //鍒ゆ柇鏄惁瀛樺湪鏈夌墿鏂欏凡缁戝畾褰撳墠绫诲埆
+                if (mate.Count > 0)
+                {
+                    throw new Exception("褰撳墠绫诲埆宸叉湁鐗╂枡杩涜缁戝畾锛屾棤娉曞垹闄わ紒");
+                }
+                if (categoryInfo == null)
+                {
+                    throw new Exception("褰撳墠绫诲埆淇℃伅宸茶鍒犻櫎锛岃閲嶆柊閫夋嫨锛�");
+                }
+                if (area == null)
+                {
+                    throw new Exception("褰撳墠閫夋嫨鍖哄煙淇℃伅寮傚父锛岃閲嶆柊閫夋嫨鎴栬仈绯荤鐞嗗憳锛�");
+                }
+
+                Db.BeginTran();
+
+                categoryInfo.IsDel = "1";
+                categoryInfo.UpdateUser = int.Parse(category.UpdateUser);
+                categoryInfo.UpdateTime = Db.GetDate();
+
+                Db.Updateable(categoryInfo).ExecuteCommand();
+
+                Db.CommitTran();
+
+                msg = "鍒犻櫎绫诲埆淇℃伅鎴愬姛锛�";
+                return msg;
+
+
+            }
+            catch (Exception ex)
+            {
+                Db.RollbackTran();
+                throw new Exception(ex.Message);
+            }
+        }
+    }
+}
diff --git a/Wms/WMS.BLL/SysServer/MaterialsServer.cs b/Wms/WMS.BLL/SysServer/MaterialsServer.cs
index 4a64bfb..e33d8b6 100644
--- a/Wms/WMS.BLL/SysServer/MaterialsServer.cs
+++ b/Wms/WMS.BLL/SysServer/MaterialsServer.cs
@@ -9,25 +9,28 @@
 using AutoMapper;
 using Model.ModelDto.SysDto;
 using SqlSugar;
+using WMS.DAL;
+using WMS.Entity.Context;
 using WMS.Entity.SysEntity;
 using WMS.IBLL.ISysServer;
 using WMS.IDAL.ISysInterface;
 
 namespace WMS.BLL.SysServer
 {
-    public class MaterialsServer : IMaterialsServer
+    public class MaterialsServer : DbHelper<SysMaterialCategory>, IMaterialsServer
     {
         /// <summary>
         /// 渚濊禆娉ㄥ叆
         /// </summary>
         public IMaterialsRepository _mate { get; set; }
         private readonly IMapper _mapper;
+        private static readonly SqlSugarScope Db = DataContext.Db;
         /// <summary>
         /// 鏋勯�犲嚱鏁�
         /// </summary>
         /// <param name="mate">鐗╂枡缂栫爜</param>
         /// <param name="mapper">automapper</param>
-        public MaterialsServer(IMaterialsRepository mate, IMapper mapper)
+        public MaterialsServer(IMaterialsRepository mate, IMapper mapper) : base(Db)
         {
             _mate = mate; //鐗╂枡缂栫爜
             _mapper = mapper; //automapper
@@ -102,10 +105,11 @@
         /// <param name="isControlled">鏄惁鍙楁帶</param>
         /// <param name="isInspect">鏄惁鍏嶆</param>
         /// <param name="environment">瀛樺偍鐜</param>
+        /// <param name="categoryNo">绫诲埆缂栫爜</param>
         /// <returns></returns>
-        public List<MaterialsDto> GetMateList(string skuNo, string skuName, string auditStatusNo, string type, string isControlled, string isInspect, string environment)
+        public List<MaterialsDto> GetMateList(string skuNo, string skuName, string auditStatusNo, string type, string isControlled, string isInspect, string environment, string categoryNo)
         {
-            List<MaterialsDto> matedto = _mate.GetMateList(skuNo, skuName, auditStatusNo, type, isControlled, isInspect, environment);
+            List<MaterialsDto> matedto = _mate.GetMateList(skuNo, skuName, auditStatusNo, type, isControlled, isInspect, environment, categoryNo);
             return matedto;
         }
 
@@ -144,33 +148,21 @@
             {
                 //鏄犲皠妯″瀷
                 SysMaterials mate = _mapper.Map<SysMaterials>(matedto);
-                //鍒ゆ柇鐗╂枡鍙锋槸鍚﹀敮涓�
-                int count = GetMateByNo(mate.SkuNo);
-                int i = 0;
-                if (matedto.AdventTime > 365 && matedto.AdventTime < 30)
-                {
-                    return 2;
-                }
-                //else if (matedto.LowInventory > 1000)
-                //{
-                //    return 4;
-                //}
-                else
-                {
-                    if (count > 0)
-                    {
-                        i = 3;
-                    }
-                    else if (count == 0)
-                    {
-                        //鏂板
-                        i = await _mate.AddMate(mate);
-                    }
-                    return i;
-                }
+                mate.AuditStatusNo = "9"; //瀹℃牳鐘舵��
+                mate.Type = mate.Type; //绫诲瀷
+                mate.IsControlled = string.IsNullOrWhiteSpace(mate.IsControlled) ? "0" : mate.IsControlled; //鏄惁鍙楁帶
+                mate.IsInspect = string.IsNullOrWhiteSpace(mate.IsInspect) ? "0" : mate.IsInspect; //鏄惁鍏嶆
+                mate.Origin = "WMS"; //鏉ユ簮
+                mate.IsDel = "0";
+                mate.CreateTime = Db.GetDate();
+                Db.BeginTran();
+                Db.Insertable(mate).ExecuteCommand();
+                Db.CommitTran();
+                return 1;
             }
             catch (Exception ex)
             {
+                Db.RollbackTran();
                 //鎶涘嚭寮傚父
                 throw new Exception("鏂板鐗╂枡寮傚父", ex);
             }
@@ -222,7 +214,15 @@
                     //鏄犲皠妯″瀷
                     SysMaterials mate = _mapper.Map<SysMaterials>(matedto);
                     //缂栬緫
-                    int i = await _mate.ExitMate(mate);
+                    //鏍规嵁id鑾峰彇鐗╂枡淇℃伅
+                    var list = Db.Queryable<SysMaterials>().First(a => a.IsDel == "0" && a.Id == mate.Id);
+                    //mate.CategoryNo = list.CategoryNo;
+                    mate.Origin = list.Origin;
+                    mate.CreateUser = list.CreateUser;
+                    mate.UpdateTime = Db.GetDate();
+                    mate.CreateTime = list.CreateTime;
+
+                    int i = Db.Updateable(mate).ExecuteCommand();
                     return i;
                 }
             }
diff --git a/Wms/WMS.DAL/SysInfrastructure/MaterialsRepository.cs b/Wms/WMS.DAL/SysInfrastructure/MaterialsRepository.cs
index 7cc9e16..73e37c6 100644
--- a/Wms/WMS.DAL/SysInfrastructure/MaterialsRepository.cs
+++ b/Wms/WMS.DAL/SysInfrastructure/MaterialsRepository.cs
@@ -31,10 +31,11 @@
         /// <param name="isControlled">鏄惁鍙楁帶</param>
         /// <param name="isInspect">鏄惁鍏嶆</param>
         /// <param name="environment">瀛樺偍鐜</param>
+        /// <param name="categoryNo">绫诲埆缂栫爜</param>
         /// <returns></returns>
-        public List<MaterialsDto> GetMateList(string skuNo, string skuName, string auditStatusNo, string type, string isControlled, string isInspect, string environment)
+        public List<MaterialsDto> GetMateList(string skuNo, string skuName, string auditStatusNo, string type, string isControlled, string isInspect, string environment, string categoryNo)
         {
-            string str = "select mate.*,user1.RealName CreateUserName,pack.PackagName PackagName,unit.UnitName UnitName from SysMaterials mate left join SysUserInfor user1 on mate.CreateUser = user1.Id left join SysPackag pack on mate.PackagNo = pack.PackagNo left join SysUnit unit on mate.UnitNo = unit.UnitNo where mate.IsDel = @isdel";
+            string str = "select mate.*,user1.RealName CreateUserName,pack.PackagName PackagName,unit.UnitName UnitName,matec.CategoryName from SysMaterials mate left join SysUserInfor user1 on mate.CreateUser = user1.Id left join SysPackag pack on mate.PackagNo = pack.PackagNo left join SysUnit unit on mate.UnitNo = unit.UnitNo left join SysMaterialCategory matec on mate.CategoryNo = matec.CategoryNo where mate.IsDel = @isdel";
             //鍒ゆ柇鐗╂枡缂栫爜
             if (!string.IsNullOrEmpty(skuNo))
             {
@@ -70,6 +71,11 @@
             {
                 str += " and mate.Environment = @environment";
             }
+            //鍒ゆ柇鐗╂枡绫诲埆鏄惁涓虹┖
+            if (!string.IsNullOrWhiteSpace(categoryNo))
+            {
+                str += " and mate.CategoryNo = @categoryNo";
+            }
             List<MaterialsDto> matedto = Db.Ado.SqlQuery<MaterialsDto>(str, new
             {
                 isdel = "0", //鏄惁鍒犻櫎
@@ -80,6 +86,7 @@
                 iscontrolled = isControlled,// 鏄惁鍙楁帶
                 isinspect = isInspect,// 鏄惁鍏嶆
                 environment = environment,// 瀛樺偍鐜
+                categoryNo = categoryNo, //鐗╂枡绫诲埆
             });
             return matedto;
         }
@@ -122,7 +129,7 @@
         /// <returns></returns>
         public async Task<int> AddMate(SysMaterials mate)
         {
-            string str = "insert into SysMaterials values(@skuno, @skuname, @standard, @auditstatusno, @type, @iscontrolled, @isinspect, @origin, @unitno, @packagno, @environment, @weight, @warranty, @price,null,null, @demo, @isdel, @createTime, @createUser, null, null,@adventtime,@lowinventory)";
+            string str = "insert into SysMaterials values(@skuno, @skuname, @standard, @auditstatusno, @type, @iscontrolled, @isinspect, @origin, @unitno, @packagno, @environment, @weight, @warranty, @price,null,null,null,null,null,null,null,null,null,null,null, @demo, @isdel, @createTime, @createUser, null, null,@adventtime,@lowinventory,@categoryNo)";
             mate.CreateTime = Db.GetDate();
             int i = await Db.Ado.ExecuteCommandAsync(str, new
             {
@@ -145,7 +152,8 @@
                 createtime = Db.GetDate(), //鍒涘缓鏃堕棿
                 createUser = mate.CreateUser, //鍒涘缓浜�
                 adventtime = mate.AdventTime, //涓存湡
-                lowinventory = mate.LowInventory //浣庡簱瀛�
+                lowinventory = mate.LowInventory, //浣庡簱瀛�
+                categoryNo = mate.CategoryNo, //绫诲埆缂栫爜
             });
             return i;
         }
@@ -176,7 +184,7 @@
         public async Task<int> ExitMate(SysMaterials mate)
         {
 
-            string str = "update SysMaterials set SkuName = @skuname, Standard = @standard, AuditStatusNo = @auditstatusno, Type = @type, IsControlled = @iscontrolled, IsInspect = @isinspect, UnitNo = @unitno, PackagNo = @packagno, Environment = @environment, Weight = @weight, Warranty = @warranty, Price = @price, Demo = @demo, UpdateTime = @updatetime, UpdateUser = @updateuser,AdventTime = @adventtime,LowInventory = @lowinventory where Id = @id";
+            string str = "update SysMaterials set SkuName = @skuname, Standard = @standard, AuditStatusNo = @auditstatusno, Type = @type, IsControlled = @iscontrolled, IsInspect = @isinspect, UnitNo = @unitno, PackagNo = @packagno, Environment = @environment, Weight = @weight, Warranty = @warranty, Price = @price, Demo = @demo, UpdateTime = @updatetime, UpdateUser = @updateuser,AdventTime = @adventtime,LowInventory = @lowinventory,CategoryNo = @categoryNo where Id = @id";
             int i = await Db.Ado.ExecuteCommandAsync(str, new
             {
                 skuname = mate.SkuName, //鐗╂枡鍚嶇О
@@ -196,6 +204,7 @@
                 updateuser = mate.UpdateUser, //鏇存敼浜�
                 adventtime = mate.AdventTime, //涓存湡
                 lowinventory = mate.LowInventory, //浣庡簱瀛�
+                categoryNo = mate.CategoryNo, //绫诲埆缂栫爜
                 id = mate.Id //id
             });
             return i;
diff --git a/Wms/WMS.Entity/SysEntity/MaterialCategory.cs b/Wms/WMS.Entity/SysEntity/SysMaterialCategory.cs
similarity index 71%
rename from Wms/WMS.Entity/SysEntity/MaterialCategory.cs
rename to Wms/WMS.Entity/SysEntity/SysMaterialCategory.cs
index 0490f6f..bfcb913 100644
--- a/Wms/WMS.Entity/SysEntity/MaterialCategory.cs
+++ b/Wms/WMS.Entity/SysEntity/SysMaterialCategory.cs
@@ -1,4 +1,5 @@
-锘縰sing System;
+锘縰sing SqlSugar;
+using System;
 using System.Collections.Generic;
 using System.Text;
 
@@ -25,14 +26,15 @@
         public string AreaNo { get; set; }
 
         /// <summary>
-        /// 鎵�灞炰粨搴�
-        /// </summary>
-        public string WareHouseNo { get; set; }
-
-        /// <summary>
         /// 澶囨敞
         /// </summary>
         public string Demo { get; set; }
 
+        [Navigate(NavigateType.OneToOne, nameof(CreateUser))]
+        public SysUserInfor CreateUserInfo { get; set; }
+
+        [Navigate(NavigateType.OneToOne, nameof(UpdateUser))]
+        public SysUserInfor UpdateUserInfo { get; set; }
+
     }
 }
diff --git a/Wms/WMS.Entity/SysEntity/SysMaterials.cs b/Wms/WMS.Entity/SysEntity/SysMaterials.cs
index 0680ad8..46028fe 100644
--- a/Wms/WMS.Entity/SysEntity/SysMaterials.cs
+++ b/Wms/WMS.Entity/SysEntity/SysMaterials.cs
@@ -105,6 +105,11 @@
         /// </summary>
         public int LowInventory { get; set; }
 
+        /// <summary>
+        /// 绫诲埆缂栫爜
+        /// </summary>
+        public string CategoryNo { get; set; }
+
 
         [Navigate(NavigateType.OneToOne, nameof(Type))]
         public SysDictionary TypeInfo { get; set; }
diff --git a/Wms/WMS.IBLL/ISysServer/IMaterialCategory.cs b/Wms/WMS.IBLL/ISysServer/IMaterialCategoryServer.cs
similarity index 64%
rename from Wms/WMS.IBLL/ISysServer/IMaterialCategory.cs
rename to Wms/WMS.IBLL/ISysServer/IMaterialCategoryServer.cs
index b709004..b32eb5c 100644
--- a/Wms/WMS.IBLL/ISysServer/IMaterialCategory.cs
+++ b/Wms/WMS.IBLL/ISysServer/IMaterialCategoryServer.cs
@@ -9,7 +9,7 @@
     /// <summary>
     ///  鐗╂枡绫诲埆绠$悊鏂规硶
     /// </summary>
-    public interface IMaterialCategory
+    public interface IMaterialCategoryServer
     {
         /// <summary>
         /// 鑾峰彇鐗╂枡绫诲埆淇℃伅
@@ -19,6 +19,27 @@
         /// <returns></returns>
         /// <exception cref="Exception"></exception>
         List<MaterialCategoryDto> GetMaterialCategories(string categoryName, string areaNo);
+
+        /// <summary>
+        /// 鑾峰彇鐗╂枡绫诲埆涓嬫媺鑿滃崟淇℃伅
+        /// </summary>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        List<SysMaterialCategory> GetMaterialCategories();
+
+        /// <summary>
+        /// 鏍规嵁Id鑾峰彇鐗╂枡绫诲埆淇℃伅
+        /// </summary>
+        /// <param name="Id">Id</param>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        SysMaterialCategory GetMaterialCategoriesById(int Id);
+
+        /// <summary>
+        /// 鑾峰彇搴撳尯鍩熶俊鎭�
+        /// </summary
+        /// <returns></returns>
+        List<SysStorageArea> GetStorageAreaList();
 
         /// <summary>
         /// 鏂板绫诲埆淇℃伅
@@ -42,6 +63,6 @@
         /// <param name="category">鐗╂枡绫诲埆瀹炰綋</param>
         /// <returns></returns>
         /// <exception cref="Exception"></exception>
-        string DeleteMaterialCategories(SysMaterialCategory category);
+        string DeleteMaterialCategories(MaterialCategoryDto category);
     }
 }
diff --git a/Wms/WMS.IBLL/ISysServer/IMaterialsServer.cs b/Wms/WMS.IBLL/ISysServer/IMaterialsServer.cs
index fa3e53b..fa1d6b9 100644
--- a/Wms/WMS.IBLL/ISysServer/IMaterialsServer.cs
+++ b/Wms/WMS.IBLL/ISysServer/IMaterialsServer.cs
@@ -35,8 +35,9 @@
         /// <param name="isControlled">鏄惁鍙楁帶</param>
         /// <param name="isInspect">鏄惁鍏嶆</param>
         /// <param name="environment">瀛樺偍鐜</param>
+        /// <param name="categoryNo">绫诲埆缂栫爜</param>
         /// <returns></returns>
-        List<MaterialsDto> GetMateList(string skuNo, string skuName, string auditStatusNo, string type, string isControlled, string isInspect, string environment);
+        List<MaterialsDto> GetMateList(string skuNo, string skuName, string auditStatusNo, string type, string isControlled, string isInspect, string environment,string categoryNo);
 
         /// <summary>
         /// 鏍规嵁id鏌ヨ鐗╂枡淇℃伅
diff --git a/Wms/WMS.IDAL/ISysInterface/IMaterialsRepository.cs b/Wms/WMS.IDAL/ISysInterface/IMaterialsRepository.cs
index f216b9f..444151f 100644
--- a/Wms/WMS.IDAL/ISysInterface/IMaterialsRepository.cs
+++ b/Wms/WMS.IDAL/ISysInterface/IMaterialsRepository.cs
@@ -21,8 +21,9 @@
         /// <param name="isControlled">鏄惁鍙楁帶</param>
         /// <param name="isInspect">鏄惁鍏嶆</param>
         /// <param name="environment">瀛樺偍鐜</param>
+        /// <param name="categoryNo">绫诲埆缂栫爜</param>
         /// <returns></returns>
-        List<MaterialsDto> GetMateList(string skuNo, string skuName, string auditStatusNo, string type, string isControlled, string isInspect, string environment);
+        List<MaterialsDto> GetMateList(string skuNo, string skuName, string auditStatusNo, string type, string isControlled, string isInspect, string environment, string categoryNo);
 
         /// <summary>
         /// 鏍规嵁id鏌ヨ鐗╂枡淇℃伅
diff --git a/Wms/Wms/Controllers/BasisController.cs b/Wms/Wms/Controllers/BasisController.cs
index a73f38c..6025132 100644
--- a/Wms/Wms/Controllers/BasisController.cs
+++ b/Wms/Wms/Controllers/BasisController.cs
@@ -1189,7 +1189,7 @@
             }
             catch (Exception ex)
             {
-                return Ok(new { data = "", code = 1, msg = "缂栬緫鍔熻兘寮傚父锛�"+ ex.Message });
+                return Ok(new { data = "", code = 1, msg = "缂栬緫鍔熻兘寮傚父锛�" + ex.Message });
             }
         }
 
@@ -1232,11 +1232,12 @@
         /// <param name="isControlled">鏄惁鍙楁帶</param>
         /// <param name="isInspect">鏄惁鍏嶆</param>
         /// <param name="environment">瀛樺偍鐜</param>
+        /// <param name="categoryNo">绫诲埆缂栫爜</param>
         /// <returns></returns>
         [HttpGet]
-        public IActionResult GetMateList(string skuNo, string skuName, string auditStatusNo, string type, string isControlled, string isInspect, string environment)
+        public IActionResult GetMateList(string skuNo, string skuName, string auditStatusNo, string type, string isControlled, string isInspect, string environment, string categoryNo)
         {
-            List<MaterialsDto> matedto = _mate.GetMateList(skuNo, skuName, auditStatusNo, type, isControlled, isInspect, environment);
+            List<MaterialsDto> matedto = _mate.GetMateList(skuNo, skuName, auditStatusNo, type, isControlled, isInspect, environment, categoryNo);
             return Ok(new
             {
                 data = matedto,
@@ -1282,28 +1283,10 @@
                 matedto.CreateUser = uid;
                 //鏂板
                 int i = await _mate.AddMate(matedto);
-                //鍒ゆ柇鏄惁鏂板鎴愬姛
-                if (i == 0)
-                {
-                    return Ok(new { data = i, code = 1, msg = "澶辫触" });
-                }
-                else if (i == 2)
-                {
-                    return Ok(new { data = i, code = 2, msg = "涓存湡澶╂暟涓嶅彲澶т簬365鍙婂皬浜�30" });
-                }
-                else if (i == 3)
-                {
-                    return Ok(new { data = i, code = 3, msg = "澶辩墿鏂欏彿蹇呴』鍞竴璐�" });
-                }
-                //else if (i == 4)
-                //{
-                //    return Ok(new { data = i, code = 4, msg = "浣庡簱瀛樹笉鍙珮浜�1000" });
-                //}
-                else
-                {
-                    await _operation.InsertOperation("鍩虹淇℃伅", "鐗╂枡绠$悊", matedto.SkuNo, "娣诲姞", "娣诲姞鐗╂枡淇℃伅 鐗╂枡鍙凤細" + matedto.SkuNo, uid);
-                    return Ok(new { data = i, code = 0, msg = "鎴愬姛" });
-                }
+
+                await _operation.InsertOperation("鍩虹淇℃伅", "鐗╂枡绠$悊", matedto.SkuNo, "娣诲姞", "娣诲姞鐗╂枡淇℃伅 鐗╂枡鍙凤細" + matedto.SkuNo, uid);
+                return Ok(new { data = i, code = 0, msg = "鎴愬姛" });
+
             }
             catch (Exception ex)
             {
diff --git a/Wms/Wms/Controllers/SysController.cs b/Wms/Wms/Controllers/SysController.cs
index b60a331..94988f0 100644
--- a/Wms/Wms/Controllers/SysController.cs
+++ b/Wms/Wms/Controllers/SysController.cs
@@ -20,6 +20,7 @@
 using System.Security.Cryptography;
 using Model.ModelDto;
 using Model.ModelDto.LogDto;
+using Newtonsoft.Json.Linq;
 
 namespace Wms.Controllers
 {
@@ -42,7 +43,7 @@
         private readonly IExceptionServer _table; //寮傚父澶勭悊
         private readonly IHeaderSettingsServer _headerSet;//琛ㄥご璁剧疆
 
-        private readonly IMaterialCategory _category;//鐗╂枡绫诲埆
+        private readonly IMaterialCategoryServer _category;//鐗╂枡绫诲埆
 
         /// <summary>
         /// 鏋勯�犲嚱鏁�
@@ -58,7 +59,7 @@
         /// <param name="operation">鎿嶄綔鏃ュ織</param>
         /// <param name="table">寮傚父澶勭悊</param>
         /// <param name="category">鐗╂枡绫诲埆</param>
-        public SysController(IWareHouseServer wareHouseSvc, IStorageAreaServer areaSvc, IStorageRoadwayServer roadwaySvc, IStorageLocatServer locatSvc, IPalletsServer palletSvc, IPalletTrackServer palletTrackSvc, IMenuServer menuSvc, IDictionaryServer dic, IOperationSysServer operation, IExceptionServer table, IHeaderSettingsServer headerSet, IMaterialCategory category)
+        public SysController(IWareHouseServer wareHouseSvc, IStorageAreaServer areaSvc, IStorageRoadwayServer roadwaySvc, IStorageLocatServer locatSvc, IPalletsServer palletSvc, IPalletTrackServer palletTrackSvc, IMenuServer menuSvc, IDictionaryServer dic, IOperationSysServer operation, IExceptionServer table, IHeaderSettingsServer headerSet, IMaterialCategoryServer category)
         {
             _wareHouseSvc = wareHouseSvc; //浠撳簱
             _areaSvc = areaSvc; //鍖哄煙
@@ -1620,8 +1621,100 @@
                 {
                     data = "",
                     code = 0,
-                    msg = "鑾峰彇鐗╂枡绫诲埆淇℃伅寮傚父"
+                    msg = ex.Message
                 });
+            }
+        }
+
+        /// <summary>
+        /// 鑾峰彇鐗╂枡绫诲埆涓嬫媺鑿滃崟淇℃伅
+        /// </summary>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        [HttpGet]
+        public IActionResult GetMaterialCategories1()
+        {
+            try
+            {
+                var list = _category.GetMaterialCategories();
+                return Ok(new
+                {
+                    data = list,
+                    code = 1,
+                    msg = "鑾峰彇鐗╂枡绫诲埆淇℃伅鎴愬姛"
+                });
+            }
+            catch (Exception ex)
+            {
+                return Ok(new
+                {
+                    data = "",
+                    code = 0,
+                    msg = ex.Message
+                });
+            }
+        }
+
+
+        /// <summary>
+        /// 鏍规嵁Id鑾峰彇鐗╂枡绫诲埆淇℃伅
+        /// </summary>
+        /// <param name="Id">Id</param>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        [HttpGet]
+        public IActionResult GetMaterialCategoriesById(int Id)
+        {
+            try
+            {
+                var list = _category.GetMaterialCategoriesById(Id);
+                return Ok(new
+                {
+                    data = list,
+                    code = 1,
+                    msg = "鏍规嵁Id鑾峰彇鐗╂枡绫诲埆淇℃伅鎴愬姛"
+                });
+            }
+            catch (Exception ex)
+            {
+                return Ok(new
+                {
+                    data = "",
+                    code = 0,
+                    msg = ex.Message
+                });
+            }
+        }
+
+        /// <summary>
+        /// 鑾峰彇鍖哄煙淇℃伅
+        /// </summary>
+        /// <returns></returns>
+        [HttpGet]
+        public IActionResult GetStorageAreaList()
+        {
+            try
+            {
+                var bolls = _category.GetStorageAreaList();
+
+                List<XmSelectDto> list = new List<XmSelectDto>();
+
+                foreach (var item in bolls)
+                {
+                    XmSelectDto list1 = new XmSelectDto()
+                    {
+                        name = item.AreaName, //鍖哄煙鍚嶇О
+                        value = item.AreaNo, //鍖哄煙鍙�
+                        selected = false, //鏄惁閫変腑
+                    };
+                    list.Add(list1);
+                }
+
+                return Ok(new { code = 0, msg = "鍖哄煙淇℃伅", data = bolls, list });
+            }
+            catch (Exception e)
+            {
+                return Ok(new { code = 1, msg = e.Message });
             }
         }
 
@@ -1651,7 +1744,7 @@
 
                 var list = _category.InsertMaterialCategories(category);
 
-                _operation.InsertOperation("鍩虹淇℃伅", "鐗╂枡绫诲埆", category.CategoryNo, "鏂板", "鏂板绫诲埆淇℃伅 绫诲埆鍙凤細" + category.CategoryNo, Convert.ToInt32(userId));
+                _operation.InsertOperation("鍩虹淇℃伅", "鐗╂枡绫诲埆", category.CategoryNo, "娣诲姞", "娣诲姞绫诲埆淇℃伅 绫诲埆鍙凤細" + category.CategoryNo, Convert.ToInt32(userId));
 
                 return Ok(new
                 {
@@ -1668,7 +1761,7 @@
                 {
                     data = "",
                     code = 0,
-                    msg = "鏂板鐗╂枡绫诲埆淇℃伅寮傚父"
+                    msg = ex.Message
                 });
             }
         }
@@ -1716,7 +1809,7 @@
                 {
                     data = "",
                     code = 0,
-                    msg = "缂栬緫鐗╂枡绫诲埆淇℃伅寮傚父"
+                    msg = ex.Message
                 });
             }
         }
@@ -1728,7 +1821,7 @@
         /// <returns></returns>
         /// <exception cref="Exception"></exception>
         [HttpPost]
-        public IActionResult DeleteMaterialCategories(SysMaterialCategory category)
+        public IActionResult DeleteMaterialCategories(MaterialCategoryDto category)
         {
             try
             {
@@ -1743,7 +1836,7 @@
                 {
                     return Ok(new { code = 1, msg = "涓鸿幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
                 }
-                category.UpdateUser = int.Parse(userId);
+                category.UpdateUser = userId;
 
                 var list = _category.DeleteMaterialCategories(category);
 
@@ -1764,7 +1857,7 @@
                 {
                     data = "",
                     code = 0,
-                    msg = "鍒犻櫎鐗╂枡绫诲埆淇℃伅寮傚父"
+                    msg = ex.Message
                 });
             }
         }

--
Gitblit v1.8.0