app-base-web
Version:
web development common base package.
1 lines • 20 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _inputNumber=require("antd/lib/input-number"),_inputNumber2=_interopRequireDefault(_inputNumber),_modal=require("antd/lib/modal"),_modal2=_interopRequireDefault(_modal),_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),_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}}();require("antd/lib/input-number/style/css"),require("antd/lib/modal/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");var _react=require("react"),_react2=_interopRequireDefault(_react),_antd=require("antd"),_utilModal=require("../../../library/util-modal"),_utilModal2=_interopRequireDefault(_utilModal),_utilDic=require("../../../library/util-dic"),_utilDic2=_interopRequireDefault(_utilDic),_utilString=require("../../../library/util-string"),_utilString2=_interopRequireDefault(_utilString),_jquery=require("../../../library/jquery"),_jquery2=_interopRequireDefault(_jquery),_dic=require("../../../library/dic"),_dic2=_interopRequireDefault(_dic),_utilAxios=require("../../../library/util-axios"),_utilAxios2=_interopRequireDefault(_utilAxios),_editTable=require("../../../library/editTable"),_editTable2=_interopRequireDefault(_editTable);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(n,u){return function t(e,a){try{var l=i[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)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}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="SysMenu/",SysMenuList=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.onCopy=function(){var t=r;0!=t.state.selected.length?_utilAxios2.default.post(url+"copy",t.state.selected).then(function(e){e.success?(_message3.default.info(e.msg),t.onLoad(t.state.params||{})):_message3.default.error(e.msg)}):_message3.default.error("请选择记录!")},r.onView=function(e){r.setState({showView:!0,loading:!1,values:e})},r.onEdit=function(e){var t=r;_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?_utilModal2.default.confirm({content:"确定删除?",onOk:function(){_utilAxios2.default.post(url+"delete?id="+t.state.selected).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)})}}):_message3.default.error("请选择记录!")},r.state={params:{parentId:r.props.parentId,parentName:r.props.parentName},data:[],pagination:{},loading:!1,selected:[],showView:!1,showEdit:!1,values:{}},r.columns=[{title:"序号",width:50,fixed:"left",render:function(e,t,a){return a+1}},{title:"菜单ID",dataIndex:"id",width:50,render:function(e,t){return _react2.default.createElement("a",{className:"btn-detail",onClick:function(){return r.onView(t)}},e)}},{title:"菜单名称",dataIndex:"name",width:200,render:function(e,t){return _react2.default.createElement("a",{className:"btn-detail",onClick:function(){return r.onView(t)}},e)}},{title:"上级菜单名称",dataIndex:"parentName",width:200},{title:"菜单类型",dataIndex:"type",width:100,render:function(e){return _utilDic2.default.json("app","菜单类型")[e]}},{title:"样式",dataIndex:"className",width:100},{title:"图标",dataIndex:"imgSrc",width:100},{title:"参数",dataIndex:"params",width:150},{title:"接口权限",dataIndex:"permission",width:150},{title:"顺序号",dataIndex:"ord",width:60}],r}var a;return _inherits(t,_react2.default.Component),_createClass(t,[{key:"componentDidMount",value:function(){this.onLoad(this.state.params)}},{key:"onLoad",value:(a=_asyncToGenerator(regeneratorRuntime.mark(function e(t){var a,l;return regeneratorRuntime.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});case 6:case"end":return e.stop()}},e,this)})),function(e){return a.apply(this,arguments)})},{key:"render",value:function(){var t=this,e={scroll:{y:this.props.height-210},size:"middle",rowKey:"id",columns:this.columns,rowSelection:{selectedRowKeys:this.state.selected,onChange:function(e){t.setState({selected:e})}},rowClassName:function(e){return e.id===t.state.selectedRowId?"row-selected":""},onRow:function(e){return{onClick:function(){t.setState({selectedRowId:e.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:16},_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-copy",onClick:this.onCopy},_react2.default.createElement("i",{className:"iconfont icon-copy"}),"拷贝"),_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",xs:8},_react2.default.createElement(_input2.default.Search,{placeholder:"请输入名称",onSearch:function(e){return t.onSearch(e)},enterButton:!0}))),_react2.default.createElement(_table2.default,e)),this.state.showView?_react2.default.createElement(FormView,{height:this.props.height-140,values:this.state.values,onEdit:this.onEdit,onReturn:function(){t.setState({showView:!1})}}):"",this.state.showEdit?_react2.default.createElement(FormEdit,{height:this.props.height-140,values:this.state.values,onSave:this.onSave,onCancel:function(){t.setState({showEdit:!1})},onEditReturn:function(){t.setState({showEdit:!1,showView:!0})}}):"")}}]),t}(),MenuTree=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)},a.state={value:void 0,label: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(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,_utilAxios2.default.post("SysMenu/listTreeMenu",{});case 2:t=e.sent,this.setState({treeData:t.data.treeData,defaultExpandedKeys:t.data.defaultExpandedKeys,treeKey:_utilString2.default.uuid()});case 4: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}(),SysMenu=function(){function t(e){_classCallCheck(this,t);var a=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onSetParent=function(e,t){a.setState({parentId:e,parentName:t,menuKey:_utilString2.default.uuid(),isShowMenu:!0})},a.onSave=function(){a.setState({menuTreeKey:_utilString2.default.uuid()})},a.state={parentId:-1,parentName:"",menuKey:_utilString2.default.uuid(),menuTreeKey:_utilString2.default.uuid(),isShowMenu:!1},a}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(MenuTree,{onSetParent:this.onSetParent,key:this.state.menuTreeKey})),_react2.default.createElement(_layout2.default.Content,{style:{background:"#fff",paddingLeft:"20px"}},this.state.isShowMenu?_react2.default.createElement(SysMenuList,{key:this.state.menuKey,parentId:this.state.parentId,parentName:this.state.parentName,onSave:this.onSave}):"请选择主菜单"))}}]),t}();exports.default=SysMenu;var FormView=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 e=this;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.props.onEdit(e.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:24},_react2.default.createElement("label",null,"上级菜单名称"),_react2.default.createElement("span",null,this.state.parentName))),_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:24},_react2.default.createElement("label",null,"菜单ID"),_react2.default.createElement("span",null,this.state.id))),_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.name))),_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:24},_react2.default.createElement("label",null,"菜单类型"),_react2.default.createElement("span",null,_utilDic2.default.json("app","菜单类型")[this.state.type]))),_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.className))),_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.imgSrc))),_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.params))),_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.permission))),_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 n=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.onSave=function(t){var a=n;t.id=n.state.id,t.parentId=n.state.parentId,n.state.params&&(t.params=n.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)}),n.props.onSave&&n.props.onSave()},n.showModal=function(){var e=[],t=n.state.params;if(t&&""!=t.trim())for(var a in t=JSON.parse(t)){var l={};l.paramKey=a,l.paramValue=t[a],e.push(l)}n.setState({visible:!0,dataSource:e})},n.handleOk=function(e){console.log(e);var r={},t=n.refs.params.state.dataSource;t&&(t.map(function(e,t){var a=e.paramKey,l=e.paramValue;a&&""!=a.trim()&&(r[a]=l)}),"{}"!=JSON.stringify(r)&&n.setState({params:JSON.stringify(r)})),n.setState({visible:!1})},n.handleCancel=function(e){console.log(e),n.setState({visible:!1})},n.state=_extends({},e.values),n.formRef=_react2.default.createRef(),n}return _inherits(t,_react2.default.Component),_createClass(t,[{key:"render",value:function(){return _react2.default.createElement("div",null,_react2.default.createElement(_modal2.default,{title:"添加参数",visible:this.state.visible,onOk:this.handleOk,onCancel:this.handleCancel,width:700},_react2.default.createElement(_editTable2.default,{ref:"params",dataSource:this.state.dataSource})),_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}},_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:24},_react2.default.createElement(_form2.default.Item,{name:"parentName",label:"父级菜单",initialValue:this.state.parentName},_react2.default.createElement(_input2.default,{disabled:!0})))),_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:24},_react2.default.createElement(_form2.default.Item,{name:"name",label:"菜单名称",initialValue:this.state.name,rules:[{required:!0,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:"type",label:"菜单类型",initialValue:this.state.type,rules:[{required:!0,message:"请输入菜单类型"}]},_react2.default.createElement(_dic2.default,{params:{app:"app",type:"菜单类型"}})))),_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:24},_react2.default.createElement(_form2.default.Item,{name:"className",label:"样式",initialValue:this.state.className},_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:"imgSrc",label:"图标",initialValue:this.state.imgSrc},_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:"params",label:"参数",initialValue:this.state.params},_react2.default.createElement("div",{style:{display:"flex"}},_react2.default.createElement(_input2.default.TextArea,{disabled:!0,value:this.state.params}),_react2.default.createElement(_button2.default,{onClick:this.showModal,className:"btn-add",icon:_react2.default.createElement("i",{className:"iconfont icon-add"})},"添加参数"))))),_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:24},_react2.default.createElement(_form2.default.Item,{name:"permission",label:"接口权限",initialValue:this.state.permission},_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:"ord",label:"顺序号",initialValue:this.state.ord,rules:[{required:!0,message:"请输入顺序号"}]},_react2.default.createElement(_inputNumber2.default,{style:{width:"100%"}}))))),_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}();