UNPKG

app-base-react

Version:
1 lines 21.1 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _inputNumber=require("antd/lib/input-number"),_inputNumber2=_interopRequireDefault(_inputNumber),_form=require("antd/lib/form"),_form2=_interopRequireDefault(_form),_layout=require("antd/lib/layout"),_layout2=_interopRequireDefault(_layout),_tree=require("antd/lib/tree"),_tree2=_interopRequireDefault(_tree),_table=require("antd/lib/table"),_table2=_interopRequireDefault(_table),_input=require("antd/lib/input"),_input2=_interopRequireDefault(_input),_button=require("antd/lib/button"),_button2=_interopRequireDefault(_button),_row=require("antd/lib/row"),_row2=_interopRequireDefault(_row),_col=require("antd/lib/col"),_col2=_interopRequireDefault(_col),_regenerator=require("babel-runtime/regenerator"),_regenerator2=_interopRequireDefault(_regenerator),_message2=require("antd/lib/message"),_message3=_interopRequireDefault(_message2),_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a,l=arguments[t];for(a in l)Object.prototype.hasOwnProperty.call(l,a)&&(e[a]=l[a])}return e},_createClass=function(){function l(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(e,t,a){return t&&l(e.prototype,t),a&&l(e,a),e}}(),_antd=(require("antd/lib/input-number/style/css"),require("antd/lib/form/style/css"),require("antd/lib/layout/style/css"),require("antd/lib/tree/style/css"),require("antd/lib/table/style/css"),require("antd/lib/input/style/css"),require("antd/lib/button/style/css"),require("antd/lib/row/style/css"),require("antd/lib/col/style/css"),require("antd/lib/message/style/css"),require("antd")),_react=require("react"),_react2=_interopRequireDefault(_react),_jquery=require("../../../library/jquery"),_jquery2=_interopRequireDefault(_jquery),_radioGroup=require("../../../library/radio-group"),_radioGroup2=_interopRequireDefault(_radioGroup),_utilAxios=require("../../../library/util-axios"),_utilAxios2=_interopRequireDefault(_utilAxios),_utilModal=require("../../../library/util-modal"),_utilModal2=_interopRequireDefault(_utilModal),_utilString=require("../../../library/util-string"),_utilString2=_interopRequireDefault(_utilString);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _asyncToGenerator(e){return function(){var s=e.apply(this,arguments);return new Promise(function(n,u){return function t(e,a){try{var l=s[e](a),r=l.value}catch(e){return void u(e)}if(!l.done)return Promise.resolve(r).then(function(e){t("next",e)},function(e){t("throw",e)});n(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="CfgZone/",CfgZoneList=function(){function t(e){_classCallCheck(this,t);var r=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.onChange=function(e,t,a){var l=r.state.params;l.pageSize=e.pageSize,l.pageIndex=e.current,r.onLoad(l)},r.onSearch=function(e){var t=r.state.params;t.name=e,r.onLoad(t)},r.onAdd=function(){var t={};Object.keys(r.state.values).forEach(function(e){return t[e]=void 0}),t.parentId=r.state.params.parentId,t.parentName=r.state.params.parentName,r.setState({showView:!1,showEdit:!0,values:t})},r.onView=function(e){r.setState({showView:!0,loading:!1,values:e})},r.onEdit=function(e){var t=r;"1"==e.state?_message3.default.info("不能编辑已发布的记录!"):_utilAxios2.default.get(url+"getModel?id="+e.id,{},function(e){t.setState({showEdit:!0,showView:!1,values:e.data})})},r.onSave=function(e){r.onLoad(r.state.params),r.props.onSave&&r.props.onSave()},r.onDel=function(){var t=r;0==t.state.selected.length?_message3.default.error("请选择记录!"):_utilModal2.default.confirm({content:"确定删除?",okText:"确认",cancelText:"取消",onOk:function(){_utilAxios2.default.post(url+"delete?id="+t.state.selected+"&subType="+t.state.params.subType).then(function(e){e.success?(_message3.default.info(e.msg),t.onLoad(t.state.params||{}),t.props.onSave&&t.props.onSave()):_message3.default.error(e.msg)})}})},r.state={params:{parentId:r.props.parentId||void 0,parentName:r.props.parentName||void 0,subType:r.props.subType||void 0},data:[],pagination:{},loading:!1,selected:[],showView:!1,showEdit:!1,values:{},systemId:r.props.systemId,showField:_extends({},r.props.showField)},r.columns=[{title:"序号",width:50,fixed:"left",render:function(e,t,a){return a+1}},{title:"ID",width:50,show:r.state.showField.showListId,dataIndex:"id"},{title:"父ID",width:60,show:r.state.showField.showParentId,dataIndex:"parentId"},{title:"类型",dataIndex:"type",width:100,show:r.state.showField.showType,render:function(e,t){return _react2.default.createElement("a",{className:"btn-detail",onClick:function(){return r.onView(t)}},"1"==e?"专区":"目录")}},{title:"专区名称",dataIndex:"name",width:100,render:function(e,t){return _react2.default.createElement("a",{className:"btn-detail",onClick:function(){return r.onView(t)}},e)}},{title:"副标题",dataIndex:"subTitle",width:100,show:r.state.showField.showSubTitle},{title:"联系人",dataIndex:"userName",width:100},{title:"联系人账号",dataIndex:"account",width:100},{title:"联系电话",dataIndex:"mobile",width:100},{title:"电子邮箱",dataIndex:"email",width:100},{title:"排序号",dataIndex:"ord",width:100}],r}var a;return _inherits(t,_react2.default.Component),_createClass(t,[{key:"componentDidMount",value:function(){this.onLoad(this.state.params),this.columns=this.columns.filter(function(e){return!1!==e.show})}},{key:"onLoad",value:(a=_asyncToGenerator(_regenerator2.default.mark(function e(t){var a,l;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,l={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:l,selected:[],selectedRows:[]});case 6:case"end":return e.stop()}},e,this)})),function(e){return a.apply(this,arguments)})},{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})}},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("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:13},_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-right",style:{paddingRight:"8px",textAlign:"left"},xs:3}),_react2.default.createElement(_col2.default,{className:"text-right",xs:8},_react2.default.createElement(_input2.default.Search,{placeholder:"请输入分区名称",onSearch:function(e){return a.onSearch(e)},enterButton:!0}))),_react2.default.createElement(_table2.default,e)),this.state.showView?_react2.default.createElement(FormView,{systemId:this.state.systemId,height:this.props.height-140,values:this.state.values,onEdit:this.onEdit,showField:this.state.showField,onReturn:function(){a.setState({showView:!1})}}):"",this.state.showEdit?_react2.default.createElement(FormEdit,{systemId:this.state.systemId,height:this.props.height-140,subType:this.props.subType,values:this.state.values,onSave:this.onSave,showField:this.state.showField,onCancel:function(){a.setState({showEdit:!1})},onEditReturn:function(){a.setState({showEdit:!1,showView:!0})}}):"")}}]),t}(),CfgZoneTree=function(){function t(e){_classCallCheck(this,t);var a=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onSelect=function(e,t){a.props.onSetParent(t.node.props.id,t.node.props.title,t.node.props.systemId)},a.state={value:void 0,label:void 0,subType:a.props.subType||void 0,treeData:[],treeKey:_utilString2.default.uuid()},a.initData(),a}var e;return _inherits(t,_react2.default.Component),_createClass(t,[{key:"initData",value:(e=_asyncToGenerator(_regenerator2.default.mark(function e(){var t;return _regenerator2.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t={subType:this.state.subType},e.next=3,_utilAxios2.default.get("CfgZone/listTree",t);case 3:t=e.sent,this.setState({treeData:t.data.treeData,defaultExpandedKeys:t.data.defaultExpandedKeys,treeKey:_utilString2.default.uuid()});case 5:case"end":return e.stop()}},e,this)})),function(){return e.apply(this,arguments)})},{key:"render",value:function(){return _react2.default.createElement(_tree2.default,{autoExpandParent:!0,blockNode:!0,checkable:!1,treeData:this.state.treeData,defaultExpandAll:!0,defaultExpandParent:!0,defaultExpandedKeys:this.state.defaultExpandedKeys,showLine:!0,draggable:!0,selectable:!0,onSelect:this.onSelect,key:this.state.treeKey})}}]),t}(),CfgZoneMain=function(){function t(e){_classCallCheck(this,t);var l=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return l.onSetParent=function(e,t,a){l.setState({parentId:e,parentName:t,systemId:a,menuKey:_utilString2.default.uuid(),isShowMenu:!0})},l.onSave=function(){l.setState({menuTreeKey:_utilString2.default.uuid()})},l.state={parentId:0,parentName:"",subType:l.props.subType,systemId:l.props.systemId,menuKey:_utilString2.default.uuid(),menuTreeKey:_utilString2.default.uuid(),isShowMenu:!1,showField:_extends({showType:!0,showSubType:!1,showSubTitle:!0,showSummary:!0,showCatalog:!0,showParentId:!0},l.props.showField)},l}return _inherits(t,_react2.default.Component),_createClass(t,[{key:"componentDidMount",value:function(){var t=setInterval(function(){var e=(0,_jquery2.default)(".ant-tree-iconEle");0<e.length&&(e.remove(),clearInterval(t))},100)}},{key:"render",value:function(){return _react2.default.createElement(_layout2.default,{style:{background:"#f0f2f5",height:"100%"}},_react2.default.createElement(_layout2.default.Sider,{theme:"light",width:"200",style:{padding:"15px 20px",marginRight:"10px"}},_react2.default.createElement(CfgZoneTree,{onSetParent:this.onSetParent,key:this.state.menuTreeKey,subType:this.state.subType})),_react2.default.createElement(_layout2.default.Content,{style:{background:"#fff",paddingLeft:"20px"}},_react2.default.createElement(CfgZoneList,{key:this.state.menuKey,parentId:this.state.parentId,subType:this.state.subType,parentName:this.state.parentName,systemId:this.state.systemId,onSave:this.onSave,showField:this.state.showField})))}}]),t}(),FormView=(exports.default=CfgZoneMain,function(){function a(e){_classCallCheck(this,a);var t=_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).call(this,e));return t.state=_extends({},e.values),t}return _inherits(a,_react2.default.Component),_createClass(a,[{key:"componentDidMount",value:function(){var t=this;_utilAxios2.default.get(url+"getModel?id="+this.state.id,{},function(e){t.setState(_extends({},e.data))})}},{key:"render",value:function(){var t=this,e=this.props.showField,a=e.showType,l=e.showSubTitle,r=e.showSummary;e.showParentId,e.showCatalog;return _react2.default.createElement(_form2.default,{className:"form-view"},_react2.default.createElement("div",{className:"form-title"},_react2.default.createElement("i",null,title," - 详情"),_react2.default.createElement("span",null,_react2.default.createElement(_button2.default,{className:"btn-edit",onClick:function(e){t.props.onEdit(t.state)}},_react2.default.createElement("i",{className:"iconfont icon-edit"}),"编辑"))),_react2.default.createElement("div",{className:"form-content",style:{height:this.props.height}},_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:12},_react2.default.createElement("label",null,"专区名称"),_react2.default.createElement("span",null,this.state.name)),l?_react2.default.createElement(_col2.default,{xs:12},_react2.default.createElement("label",null,"副标题"),_react2.default.createElement("span",null,this.state.subTitle)):""),_react2.default.createElement(_row2.default,null,a?_react2.default.createElement(_col2.default,{xs:12},_react2.default.createElement("label",null,"类型"),_react2.default.createElement("span",null,"1"==this.state.type?"专区":"目录")):""),_react2.default.createElement(_row2.default,null,r?_react2.default.createElement(_col2.default,{xs:24},_react2.default.createElement("label",null,"简介"),_react2.default.createElement("span",null,this.state.summary)):""),_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:12},_react2.default.createElement("label",null,"联系人"),_react2.default.createElement("span",null,this.state.userName)),_react2.default.createElement(_col2.default,{xs:12},_react2.default.createElement("label",null,"联系人账号"),_react2.default.createElement("span",null,this.state.account))),_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:12},_react2.default.createElement("label",null,"联系电话"),_react2.default.createElement("span",null,this.state.mobile)),_react2.default.createElement(_col2.default,{xs:12},_react2.default.createElement("label",null,"电子邮箱"),_react2.default.createElement("span",null,this.state.email))),_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:24},_react2.default.createElement("label",null,"备注"),_react2.default.createElement("span",null,this.state.memo))),_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:24},_react2.default.createElement("label",null,"排序号"),_react2.default.createElement("span",null,this.state.ord)))),_react2.default.createElement("div",{className:"form-toolbar"},_react2.default.createElement(_button2.default,{className:"btn-return",onClick:this.props.onReturn},_react2.default.createElement("i",{className:"iconfont icon-return"}),"返回")))}}]),a}()),FormEdit=function(){function t(e){_classCallCheck(this,t);var l=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return l.onSave=function(t){var a=l;t.id=l.state.id,t.systemId=t.systemId||l.props.systemId,l.props.subType&&(t.subType=l.props.subType),l.props.showField.showType||(t.type="1"),l.state.params&&(t.params=l.state.params),_utilAxios2.default.post(url+"save",t).then(function(e){e.success?(_message3.default.info(e.msg),a.props.onSave(t)):_message3.default.error(e.msg)}),l.props.onSave&&l.props.onSave()},l.state=_extends({},e.values),l.formRef=_react2.default.createRef(),l}return _inherits(t,_react2.default.Component),_createClass(t,[{key:"render",value:function(){var e=this.props.showField,t=e.showType,a=e.showSubType,l=e.showSubTitle,r=e.showSummary,n=e.showParentId,e=e.showCatalog;return _react2.default.createElement("div",null,_react2.default.createElement(_form2.default,{ref:this.formRef,className:"form-edit",layout:"vertical",onFinish:this.onSave},_react2.default.createElement("div",{className:"form-title"},_react2.default.createElement("i",null,title," - ",this.state.id?"编辑":"录入"),this.state.id?_react2.default.createElement("span",null,_react2.default.createElement(_button2.default,{className:"btn-return",onClick:this.props.onEditReturn},_react2.default.createElement("i",{className:"iconfont icon-return"}),"返回")):""),_react2.default.createElement("div",{className:"form-content",style:{height:this.props.height}},n?_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:6},_react2.default.createElement(_form2.default.Item,{name:"parentId",label:"上级ID",initialValue:this.state.parentId},_react2.default.createElement(_input2.default,{disabled:!0})))):"",_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:12},_react2.default.createElement(_form2.default.Item,{name:"name",label:"专区名称",initialValue:this.state.name,rules:[{required:!0,message:"请输入专区名称"}]},_react2.default.createElement(_input2.default,null))),l?_react2.default.createElement(_col2.default,{xs:12},_react2.default.createElement(_form2.default.Item,{name:"subTitle",label:"副标题",initialValue:this.state.subTitle},_react2.default.createElement(_input2.default,null))):""),_react2.default.createElement(_row2.default,null,t?_react2.default.createElement(_col2.default,{xs:6},_react2.default.createElement(_form2.default.Item,{name:"type",label:"类型",initialValue:this.state.type,rules:[{required:!0,message:"请选择类型"}]},_react2.default.createElement(_radioGroup2.default,{type:"button",options:e?[{id:"1",name:"专区"},{id:"2",name:"目录"}]:[{id:"1",name:"专区"}]}))):"",a?_react2.default.createElement(_col2.default,{xs:6},_react2.default.createElement(_form2.default.Item,{name:"subType",label:"子类型",initialValue:this.state.subType,rules:[{required:!0,message:"请输入子类型"}]},_react2.default.createElement(_input2.default,null))):""),_react2.default.createElement(_row2.default,null,r?_react2.default.createElement(_col2.default,{xs:24},_react2.default.createElement(_form2.default.Item,{name:"summary",label:"简介",initialValue:this.state.summary},_react2.default.createElement(_input2.default.TextArea,null))):""),_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:6},_react2.default.createElement(_form2.default.Item,{name:"userName",label:"联系人",initialValue:this.state.userName,rules:[{required:!0,message:"请输入联系人"}]},_react2.default.createElement(_input2.default,null))),_react2.default.createElement(_col2.default,{xs:6},_react2.default.createElement(_form2.default.Item,{name:"account",label:"联系人账号",initialValue:this.state.account},_react2.default.createElement(_input2.default,null))),_react2.default.createElement(_col2.default,{xs:6},_react2.default.createElement(_form2.default.Item,{name:"mobile",label:"联系电话",initialValue:this.state.mobile,rules:[{required:!0,message:"请输入联系电话"},{pattern:/^(?:(?:\d{2,4}-)?\d{7,8}|1[3-9]\d{9}|400\d{7})$/,message:"请输入正确格式的电话号码"}]},_react2.default.createElement(_input2.default,null))),_react2.default.createElement(_col2.default,{xs:6},_react2.default.createElement(_form2.default.Item,{name:"email",label:"电子邮箱",initialValue:this.state.email,rules:[{required:!0,message:"请输入电子邮箱"},{pattern:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,message:"请输入正确格式的邮箱"}]},_react2.default.createElement(_input2.default,null)))),_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:24},_react2.default.createElement(_form2.default.Item,{name:"memo",label:"备注",initialValue:this.state.memo},_react2.default.createElement(_input2.default.TextArea,null)))),_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:6},_react2.default.createElement(_form2.default.Item,{name:"ord",label:"排序号",initialValue:this.state.ord},_react2.default.createElement(_inputNumber2.default,null))))),_react2.default.createElement("div",{className:"form-toolbar"},_react2.default.createElement(_button2.default,{className:"btn-cancel",onClick:this.props.onCancel},_react2.default.createElement("i",{className:"iconfont icon-cancel"}),"取消"),_react2.default.createElement(_button2.default,{className:"btn-submit",htmlType:"submit"},_react2.default.createElement("i",{className:"iconfont icon-submit"}),"提交"))))}}]),t}();