app-base-react
Version:
react development common base package.
1 lines • 8.12 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _table=require("antd/lib/table"),_table2=_interopRequireDefault(_table),_empty=require("antd/lib/empty"),_empty2=_interopRequireDefault(_empty),_row=require("antd/lib/row"),_row2=_interopRequireDefault(_row),_col=require("antd/lib/col"),_col2=_interopRequireDefault(_col),_button=require("antd/lib/button"),_button2=_interopRequireDefault(_button),_message2=require("antd/lib/message"),_message3=_interopRequireDefault(_message2),_regenerator=require("babel-runtime/regenerator"),_regenerator2=_interopRequireDefault(_regenerator),_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r,a=arguments[t];for(r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},_createClass=function(){function a(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(e,t,r){return t&&a(e.prototype,t),r&&a(e,r),e}}(),_antd=(require("antd/lib/table/style/css"),require("antd/lib/empty/style/css"),require("antd/lib/row/style/css"),require("antd/lib/col/style/css"),require("antd/lib/button/style/css"),require("antd/lib/message/style/css"),require("antd")),_react=require("react"),_react2=_interopRequireDefault(_react),_utilAxios=require("../../../library/util-axios"),_utilAxios2=_interopRequireDefault(_utilAxios);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _asyncToGenerator(e){return function(){var i=e.apply(this,arguments);return new Promise(function(o,s){return function t(e,r){try{var a=i[e](r),n=a.value}catch(e){return void s(e)}if(!a.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});o(n)}("next")})}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var url="CfgExcel/",FormQuery=(0,_react.lazy)(function(){return import("./CfgExcelQuery")}),UploadExcel=(0,_react.lazy)(function(){return import("./component/UploadExcel")}),CfgExcelList=function(){function n(e){var t,a,r,o=this,i=(_classCallCheck(this,n),_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e)));return i.onLoad=(t=_asyncToGenerator(_regenerator2.default.mark(function e(t){var r,a;return _regenerator2.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return i.setState({loading:!0}),e.next=3,_utilAxios2.default.get(url+"getList",t);case 3:r=e.sent,a={pageSizeOptions:["20","100","200","500","1000"],pageSize:t.pageSize||20,defaultPageSize:t.pageSize||20,showSizeChanger:!0,showQuickJumper:!0,total:r.total,showTotal:function(e){return"总记录 "+e+" "}},i.setState({loading:!1,showEdit:!1,params:t,data:r.data,pagination:a,selected:[],selectedRows:[]});case 6:case"end":return e.stop()}},e,o)})),function(e){return t.apply(this,arguments)}),i.onChange=(a=_asyncToGenerator(_regenerator2.default.mark(function e(t,r,a){var n;return _regenerator2.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return(n=i.state.params).pageSize=t.pageSize,n.pageIndex=t.current,e.next=5,i.onLoad(n);case 5:case"end":return e.stop()}},e,o)})),function(e,t,r){return a.apply(this,arguments)}),i.onSearch=(r=_asyncToGenerator(_regenerator2.default.mark(function e(t){var r;return _regenerator2.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=_extends({},i.state.params,t),e.next=3,i.onLoad(r);case 3:case"end":return e.stop()}},e,o)})),function(e){return r.apply(this,arguments)}),i.onDownLoad=function(){window.open(i.props.downloadUrl)},i.onUpload=_asyncToGenerator(_regenerator2.default.mark(function e(){return _regenerator2.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,i.getHeader(i.state.params);case 2:return e.next=4,i.onLoad(i.state.params);case 4:case"end":return e.stop()}},e,o)})),i.onExport=function(){var e,t,o,r,a,s=i;0==s.state.data.length?_message3.default.error("没有导出的记录!"):(e=[],t=[],o=function e(t){return t&&t.props?e(t.props.children):t},s.state.columns.map(function(e){t.push(e.title)}),e.push(t),s.state.data.map(function(r,a){var n=[];s.state.columns.map(function(e){var t=r[e.dataIndex];e.render?(e=(e=e.render(t,r,a))&&e.props?o(e.props.children)||t:e,n.push(UtilString.getName(e))):n.push(t)}),e.push(n)}),r=XLSX.utils.aoa_to_sheet(e),a=XLSX.utils.book_new(),window.XLSX.utils.book_append_sheet(a,r,"SheetJS"),window.XLSX.writeFile(a,s.props.params.type+".xlsx"),_message3.default.success("导出成功!"))},i.state={params:_extends({},e.params),data:[],pagination:{},loading:!1,selected:[],selectedRows:[],showView:!1,showEdit:!1,values:{},isFold:!1,columns:[]},i}var t,e;return _inherits(n,_react2.default.Component),_createClass(n,[{key:"componentDidMount",value:(e=_asyncToGenerator(_regenerator2.default.mark(function e(){return _regenerator2.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.onUpload();case 2:case"end":return e.stop()}},e,this)})),function(){return e.apply(this,arguments)})},{key:"getHeader",value:(t=_asyncToGenerator(_regenerator2.default.mark(function e(t){var r,a,n,o;return _regenerator2.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.setState({loading:!0}),r=[],e.next=4,_utilAxios2.default.get(url+"getList",_extends({},t,{type:"HEADER:"+this.props.params.type}));case 4:if((a=e.sent).data)for(o in n=a.data[0])/^[a-z]+$/.test(o)&&1==o.length&&n[o]&&r.push({title:n[o],dataIndex:o});this.setState({columns:r,loading:!1});case 7:case"end":return e.stop()}},e,this)})),function(e){return t.apply(this,arguments)})},{key:"render",value:function(){var e=this,t={scroll:{y:this.props.height-this.props.tableH},size:"middle",rowKey:"id",columns:this.state.columns,dataSource:this.state.data,pagination:this.state.pagination,loading:this.state.loading,onChange:this.onChange};return _react2.default.createElement("div",{className:"app-admin"},_react2.default.createElement("div",{className:this.state.showView||this.state.showEdit?"hide":""},_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{className:"main-title"},_react2.default.createElement("i",{className:"iconfont icon-title"}),this.props.params.type,_react2.default.createElement(_button2.default,{className:"btn-filter",onClick:function(){e.setState({isFold:!e.state.isFold})}},_react2.default.createElement("i",{className:this.state.isFold?"iconfont icon-filter":"iconfont icon-upfilter"}),"筛选项"))),_react2.default.createElement("div",{style:{display:this.state.isFold?"none":""}},_react2.default.createElement(FormQuery,{search:this.props.search||[],onSearch:this.onSearch,values:this.state.params})),_react2.default.createElement(_row2.default,{className:"main-toolbar"},_react2.default.createElement(_col2.default,{xs:14},this.props.downloadUrl?_react2.default.createElement(_button2.default,{className:"btn-download",onClick:this.onDownLoad},_react2.default.createElement("i",{className:"iconfont icon-download"}),"下载导入模板"):"",_react2.default.createElement(UploadExcel,{type:this.state.params.type,onChange:this.onUpload}),_react2.default.createElement(_button2.default,{style:{marginLeft:"10px"},className:"btn-export",onClick:this.onExport},_react2.default.createElement("i",{className:"iconfont icon-publish"}),"导出"))),0!=this.state.columns.length||this.state.loading?_react2.default.createElement(_table2.default,t):_react2.default.createElement(_empty2.default,{description:"请上传Excel"})))}}]),n}();exports.default=CfgExcelList;