yuyou_x
2024-01-31 ccd58ec32e0958841bb6b5920f7b75694dce0690
物料类别后台逻辑代码,前台页面代码,多选下拉框代码列子
1个文件已删除
4个文件已添加
2 文件已重命名
12个文件已修改
1429 ■■■■■ 已修改文件
HTML/js/xm-select.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/BaseSetting/Materials.html 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/BaseSetting/MaterialsForm.html 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/SystemSettings/Category.html 255 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/SystemSettings/CategoryForm.html 173 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Model/ModelDto/SysDto/MaterialCategoryDto.cs 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Model/ModelDto/SysDto/MaterialsDto.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Model/ModelDto/SysDto/XmSelectDto.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/SysServer/MaterialCategory.cs 218 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/SysServer/MaterialCategoryServer.cs 346 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/SysServer/MaterialsServer.cs 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.DAL/SysInfrastructure/MaterialsRepository.cs 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.Entity/SysEntity/SysMaterialCategory.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.Entity/SysEntity/SysMaterials.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.IBLL/ISysServer/IMaterialCategoryServer.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.IBLL/ISysServer/IMaterialsServer.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.IDAL/ISysInterface/IMaterialsRepository.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Wms/Controllers/BasisController.cs 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Wms/Controllers/SysController.cs 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/js/xm-select.js
New file
@@ -0,0 +1,8 @@
/*!
 * @Title: xm-select
 * @Version: 1.1.9
 * @Description:基于layui的多选解决方案
 * @Site: https://gitee.com/maplemei/xm-select
 * @Author: maplemei
 * @License:Apache 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))}))}}}});
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;
                                                });
HTML/views/BaseSetting/MaterialsForm.html
@@ -10,10 +10,20 @@
    </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">
            <div class="layui-form-item" id="uptshow">
                <div class="layui-inline">
                <label class="layui-form-label">物料号</label>
                <div class="layui-input-block" style="width: 490px;">
                    <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 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">
@@ -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 //不成功
                                {
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-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: 'Demo', title: '备注', align: 'center'
                        }, 
                        {
                            field: 'Ord', 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,38 +243,22 @@
                                        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) {
                                            sendData(IP + "/sys/InsertMaterialCategories", 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() {
                                                                layer.close(index); //关闭弹层
                                                                refreshTable($("#DictName").val(),$("#ParentNo").val(),$("#Level").val(), $("#IsEdit").val(), $("#IsAdd").val());
                                                        refreshTable($("#CategoryName").val(),$("#AreaNo").val());
                                                                doing = true;
                                                            });
                                                        }
@@ -371,13 +271,6 @@
                                                        }
                                                    });
                                                }
                                                else
                                                {
                                                    console.log(123);
                                                }
                                            }
                                        }
                                    });
                                    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;
                                                });
HTML/views/SystemSettings/CategoryForm.html
New file
@@ -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', //主入口模块
            }).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>
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; }
    }
}
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; }
Wms/Model/ModelDto/SysDto/XmSelectDto.cs
New file
@@ -0,0 +1,13 @@
using 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; }
    }
}
Wms/WMS.BLL/SysServer/MaterialCategory.cs
File was deleted
Wms/WMS.BLL/SysServer/MaterialCategoryServer.cs
New file
@@ -0,0 +1,346 @@
using 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);
            }
        }
    }
}
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;
                }
            }
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;
Wms/WMS.Entity/SysEntity/SysMaterialCategory.cs
File was renamed from Wms/WMS.Entity/SysEntity/MaterialCategory.cs
@@ -1,4 +1,5 @@
using System;
using 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; }
    }
}
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; }
Wms/WMS.IBLL/ISysServer/IMaterialCategoryServer.cs
File was renamed from Wms/WMS.IBLL/ISysServer/IMaterialCategory.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);
    }
}
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查询物料信息
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查询物料信息
Wms/Wms/Controllers/BasisController.cs
@@ -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 = "成功" });
                }
            }
            catch (Exception ex)
            {
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
                });
            }
        }