UNPKG

app-base-react

Version:
1 lines 10.8 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _table=require("antd/lib/table"),_table2=_interopRequireDefault(_table),_input=require("antd/lib/input"),_input2=_interopRequireDefault(_input),_row=require("antd/lib/row"),_row2=_interopRequireDefault(_row),_col=require("antd/lib/col"),_col2=_interopRequireDefault(_col),_modal=require("antd/lib/modal"),_modal2=_interopRequireDefault(_modal),_regenerator=require("babel-runtime/regenerator"),_regenerator2=_interopRequireDefault(_regenerator),_button=require("antd/lib/button"),_button2=_interopRequireDefault(_button),_message2=require("antd/lib/message"),_message3=_interopRequireDefault(_message2),_typeof="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},_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a,n=arguments[t];for(a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},_createClass=function(){function n(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(e,t,a){return t&&n(e.prototype,t),a&&n(e,a),e}}(),_antd=(require("antd/lib/table/style/css"),require("antd/lib/input/style/css"),require("antd/lib/row/style/css"),require("antd/lib/col/style/css"),require("antd/lib/modal/style/css"),require("antd/lib/button/style/css"),require("antd/lib/message/style/css"),require("antd")),_react=require("react"),_react2=_interopRequireDefault(_react),_index=require("../../../library/generator/index.js"),_index2=_interopRequireDefault(_index),_index3=require("../../../library/generator/index1.js"),_index4=_interopRequireDefault(_index3),_utilAxios=require("../../../library/util-axios"),_utilAxios2=_interopRequireDefault(_utilAxios),_utilModal=require("../../../library/util-modal"),_utilModal2=_interopRequireDefault(_utilModal);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _asyncToGenerator(e){return function(){var l=e.apply(this,arguments);return new Promise(function(i,o){return function t(e,a){try{var n=l[e](a),r=n.value}catch(e){return void o(e)}if(!n.done)return Promise.resolve(r).then(function(e){t("next",e)},function(e){t("throw",e)});i(r)}("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 title="申报模板",url="CfgDictionary/",FormEdit=(0,_react.lazy)(function(){return import("./DeclTemplateEdit")}),CfgDictionaryList=function(){function t(e){_classCallCheck(this,t);var i=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return i.onChange=function(e,t,a){var n=i.state.params;n.pageSize=e.pageSize,n.pageIndex=e.current,i.onLoad(n)},i.onSearch=function(e){var t=i.state.params;t.name=e,i.onLoad(t)},i.onAdd=function(){var t={};Object.keys(i.state.values).forEach(function(e){return t[e]=void 0}),i.setState({showView:!1,showEdit:!0,values:t})},i.onView=function(e){i.setState({showView:!0,loading:!1,values:e})},i.onEdit=function(e){var t=i;_utilAxios2.default.get(url+"getModel?id="+e.id,{},function(e){t.setState({showEdit:!0,showView:!1,values:e.data})})},i.onSave=function(e){i.onLoad(i.state.params)},i.saveForm=function(e){try{var t=i.formRef2.current.getValue(),a=Object.keys(t).length<2,n=i;a?_utilModal2.default.confirm({content:"表单为空,确定保存吗",onOk:function(){n.saveAPI("")}}):n.saveAPI(JSON.stringify(t))}catch(e){console.log("ERROR:"+e)}},i.saveAPI=function(e){var t=i,e=_extends({},i.state.record,{memo:e});_utilAxios2.default.post(url+"save",e).then(function(e){e.success?(_message3.default.info(e.msg),t.setState({isModalOpen:!1},function(){return t.onSave()})):_message3.default.error(e.msg)})},i.handleCancel=function(){i.setState({isModalOpen:!1})},i.onDel=function(){var a,t=i,e=i.state,n=e.selected,r=e.selectedRows;0==n.length?_message3.default.error("请选择记录!"):(a="",i.state.hasUseKey.map(function(t){r.map(function(e){t===e.value&&(a+=e.zh_CN+"、")})}),a?(_message3.default.error(a+"已被使用,无法删除!"),a=a.slice(-1)):_utilModal2.default.confirm({content:"确定删除?",okText:"确认",cancelText:"取消",onOk:function(){_utilAxios2.default.delete(url+"delete?id="+n).then(function(e){e.success?(_message3.default.info(e.msg),t.onLoad(t.state.params||{})):_message3.default.error(e.msg)})}}))},i.state={params:{app:"project",type:"表单模板"},data:[],pagination:{},loading:!1,selected:[],selectedRows:[],showView:!1,showEdit:!1,values:{},tempValue:"{}",record:{},isModalOpen:!1,optionsTitle:"编辑模板",isReadOnly:!1,defaultSettings:[{title:"基础组件",widgets:[{text:"输入框",name:"input",schema:{title:"输入框",type:"string"},setting:{props:{title:"选项",type:"object",labelWidth:80,properties:{addonBefore:{title:"前tab",type:"string"},addonAfter:{title:"后tab",type:"string"},prefix:{title:"前缀",type:"string"},suffix:{title:"后缀",type:"string"}}},minLength:{title:"最短字数",type:"number"},maxLength:{title:"最长字数",type:"number"},pattern:{title:"校验正则表达式",type:"string",props:{placeholder:"填写正则表达式"}}}}],show:!0,useCommon:!0}],hasUseKey:[]},i.columns=[{title:"序号",width:50,fixed:"left",render:function(e,t,a){return a+1}},{title:"模板应用",dataIndex:"app",width:100,render:function(e,t){return _react2.default.createElement("a",{className:"btn-detail",onClick:function(){return i.onEdit(t)}},e)}},{title:"模板名称",dataIndex:"zh_CN",width:120},{title:"编辑/预览",dataIndex:"memo",width:100,render:function(e,t){var a=!1;return i.state.hasUseKey.map(function(e){e===t.value&&(a=!0)}),a?_react2.default.createElement(_button2.default,{onClick:function(){return i.setState({isModalOpen:!0,optionsTitle:t.zh_CN,record:t,tempValue:e,isReadOnly:!0})}},"预览表单"):_react2.default.createElement(_button2.default,{onClick:function(){return i.setState({isModalOpen:!0,optionsTitle:t.zh_CN,record:t,tempValue:e,isReadOnly:!1})}},"编辑/预览表单")}}],i.formRef2=_react2.default.createRef(),i}var a;return _inherits(t,_react2.default.Component),_createClass(t,[{key:"componentDidMount",value:function(){this.onLoad(this.state.params),this.getTemplateMap()}},{key:"onLoad",value:(a=_asyncToGenerator(_regenerator2.default.mark(function e(t){var a,n;return _regenerator2.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.setState({loading:!0}),e.next=3,_utilAxios2.default.get(url+"getList",t);case 3:a=e.sent,n={pageSizeOptions:["20","100","200","500","1000"],pageSize:t.pageSize||20,defaultPageSize:t.pageSize||20,showSizeChanger:!0,showQuickJumper:!0,total:a.total,showTotal:function(e){return"总记录 "+e+" "}},this.setState({loading:!1,showEdit:!1,params:t,data:a.data,pagination:n});case 6:case"end":return e.stop()}},e,this)})),function(e){return a.apply(this,arguments)})},{key:"getTemplateMap",value:function(){var r=this;_utilAxios2.default.get("ProjectManagement/getTemplateMap",{pageIndex:1,pageSize:99999}).then(function(e){if(e.success){var t=e.data,a=[];if(null!==t&&"object"===(void 0===t?"undefined":_typeof(t))&&t.constructor===Object)for(var n in t)t[n]&&a.push(n);r.setState({hasUseKey:a})}})}},{key:"render",value:function(){var a=this,e={scroll:{y:this.props.height-210},size:"middle",rowKey:"id",columns:this.columns,rowSelection:{selectedRowKeys:this.state.selected,onChange:function(e,t){a.setState({selected:e,selectedRows:t})}},rowClassName:function(e){return e.id===a.state.selectedRowId?"row-selected":""},onRow:function(t){return{onClick:function(e){a.setState({selectedRowId:t.id})}}},dataSource:this.state.data,pagination:this.state.pagination,loading:this.state.loading,onChange:this.onChange};return _react2.default.createElement(_react.Fragment,null,_react2.default.createElement(_modal2.default,{title:this.state.optionsTitle,visible:this.state.isModalOpen,onCancel:this.handleCancel,width:"90%",centered:!0,destroyOnClose:!0,footer:null,bodyStyle:{padding:"0"}},_react2.default.createElement("div",{style:{height:"90vh"}},this.state.isReadOnly?_react2.default.createElement(_index4.default,{showDefaultForm:!0,defaultValue:this.state.tempValue?JSON.parse(this.state.tempValue):void 0}):_react2.default.createElement(_index2.default,{ref:this.formRef2,showDefaultForm:!0,defaultValue:this.state.tempValue?JSON.parse(this.state.tempValue):void 0,settings:this.state.defaultSettings,extraButtons:[{text:"保存",onClick:function(){return a.saveForm()}}]}))),_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"}),title)),_react2.default.createElement(_row2.default,{className:"main-toolbar"},_react2.default.createElement(_col2.default,{className:"text-left",xs:12},_react2.default.createElement(_button2.default,{className:"btn-add",onClick:this.onAdd},_react2.default.createElement("i",{className:"iconfont icon-add"}),"录入"),_react2.default.createElement(_button2.default,{className:"btn-del",onClick:this.onDel},_react2.default.createElement("i",{className:"iconfont icon-del"}),"删除")),_react2.default.createElement(_col2.default,{className:"text-left",xs:6}),_react2.default.createElement(_col2.default,{className:"text-right",xs:6},_react2.default.createElement(_input2.default.Search,{placeholder:"请输入模板名称",onSearch:function(e){var t=a.state.params;t.zh_CN=e,a.setState({params:t},function(){return a.onLoad(a.state.params)})},enterButton:!0}))),_react2.default.createElement(_table2.default,e)),_react2.default.createElement(_react.Suspense,{fallback:_react2.default.createElement("div",null)},this.state.showEdit?_react2.default.createElement(FormEdit,{height:this.props.height-140,values:this.state.values,onSave:this.onSave,onCancel:function(){a.setState({showEdit:!1})},onEditReturn:function(){a.setState({showEdit:!1,showView:!0})}}):"")))}}]),t}();exports.default=CfgDictionaryList;