app-base-react
Version:
react development common base package.
1 lines • 7.65 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var _configProvider=require("antd/lib/config-provider"),_configProvider2=_interopRequireDefault(_configProvider),_table=require("antd/lib/table"),_table2=_interopRequireDefault(_table),_row=require("antd/lib/row"),_row2=_interopRequireDefault(_row),_col=require("antd/lib/col"),_col2=_interopRequireDefault(_col),_modal=require("antd/lib/modal"),_modal2=_interopRequireDefault(_modal),_button=require("antd/lib/button"),_button2=_interopRequireDefault(_button),_upload=require("antd/lib/upload"),_upload2=_interopRequireDefault(_upload),_message2=require("antd/lib/message"),_message3=_interopRequireDefault(_message2),_popconfirm=require("antd/lib/popconfirm"),_popconfirm2=_interopRequireDefault(_popconfirm),_createClass=function(){function r(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,a){return t&&r(e.prototype,t),a&&r(e,a),e}}(),_antd=(require("antd/lib/config-provider/style/css"),require("antd/lib/table/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/upload/style/css"),require("antd/lib/message/style/css"),require("antd/lib/popconfirm/style/css"),require("antd")),_zh_CN=require("antd/lib/locale/zh_CN"),_zh_CN2=_interopRequireDefault(_zh_CN),_react=require("react"),_react2=_interopRequireDefault(_react),_utilAxios=require("../util-axios"),_utilAxios2=_interopRequireDefault(_utilAxios),_utilDate=require("../util-date"),_utilDate2=_interopRequireDefault(_utilDate);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);t<e.length;t++)a[t]=e[t];return a}return Array.from(e)}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)}require("./style");var HanderUpload=function(){function t(e){_classCallCheck(this,t);var r=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.onDel=function(a){r.state.data.map(function(e,t){a.uid===e.uid&&r.state.data.splice(t,1)}),r.setState({data:[].concat(_toConsumableArray(r.state.data))},r.onChange)},r.handleUpload=function(){var e=r.state.fileList,t=new FormData;e.forEach(function(e){t.append("files[]",e)}),r.setState({uploading:!0})},r.onChange=function(){r.props.onChange&&r.props.onChange(r.state.data)},r.onSubmit=function(e){var t=r.state.fileList,a=r.state.data||[];r.setState({visible:!1,fileList:[],data:[].concat(_toConsumableArray(a),_toConsumableArray(t))},r.onChange)},r.state={data:r.props.data||[],fileList:[],pagination:"",visible:!1,loading:!1,disabled:r.props.disabled||"",accept:r.props.accept||".doc,.docx,.xls,.xlsx,.ppt,.pptx,.txt,.pdf,.zip,.gz,.rar,.jpg,.jpeg,.png,.jpe,.bmp,.mp3,.mp4,.avi,.rmvb,.mkv,.dat"},r.columns=[{title:"序号",dataIndex:"id",width:100,render:function(e,t,a){return a+1}},{title:"文件名",dataIndex:"name",width:100},{title:"大小(kb)",dataIndex:"size",width:100,render:function(e,t){return _react2.default.createElement("span",null,(e/1024).toFixed(2))}},{title:"上传时间",dataIndex:"lastModifiedDate",width:100,render:function(e,t){return _react2.default.createElement("span",null,_utilDate2.default.format(e))}},{title:"上传人",dataIndex:"uploadedBy",width:100,render:function(e,t){return _react2.default.createElement("span",null,_utilAxios2.default.getUser().name)}},{title:"操作",width:100,align:"center",fixed:"right",render:function(e,t){return _react2.default.createElement("ul",null,_react2.default.createElement("li",null,_react2.default.createElement("a",{onClick:function(){}},_react2.default.createElement("i",{className:"iconfont icon-reload"}))),_react2.default.createElement("li",null,_react2.default.createElement(_popconfirm2.default,{getPopupContainer:function(e){return document.body},placement:"topRight",title:"确认删除该文件吗?",onConfirm:function(){return r.onDel(t)}},_react2.default.createElement("a",null,_react2.default.createElement("i",{className:"iconfont icon-del"})))))}}],r.formRef=_react2.default.createRef(),r}return _inherits(t,_react2.default.Component),_createClass(t,[{key:"UNSAFE_componentWillReceiveProps",value:function(e){e.value!==this.props.data&&this.setState({data:e.value})}},{key:"render",value:function(){var i=this,e=this.props,t=e.title,a=e.className,e=e.multiple,r={scroll:{y:this.props.height||300},size:"middle",rowKey:"uid",columns:this.columns,rowClassName:function(){return"editable-row"},onRow:function(t){return{onClick:function(e){i.setState({selectedRowId:t.uid})}}},dataSource:this.state.data,pagination:!1,loading:this.state.loading},e={name:"files",multiple:e||!0,listType:"picture",onRemove:function(a){i.setState(function(e){var t=e.fileList.indexOf(a),e=e.fileList.slice();return e.splice(t,1),{fileList:e}})},beforeUpload:function(t){if(60<t.size/1024/1024)return _message3.default.warn("对不起,您上传的文件大小不能超过60M,请重新选择文件并确保其大小符合要求,谢谢!"),_upload2.default.LIST_IGNORE;t.name;if(t){var e=t.name,a=e.substring(e.lastIndexOf(".")).toLowerCase(),e=i.state.accept;if(e){var r=e.split(","),n=!0;if(r.map(function(e){e===a&&(n=!1)}),n)return _message3.default.warn("文件上传只支持如下格式:"+e),_upload2.default.LIST_IGNORE}}return i.setState(function(e){return{fileList:[].concat(_toConsumableArray(e.fileList),[t])}}),!1},fileList:this.state.fileList};return _react2.default.createElement(_configProvider2.default,{locale:_zh_CN2.default},_react2.default.createElement("div",{className:"uploadfile"},_react2.default.createElement(_modal2.default,{title:"上传文件",centered:!0,bodyStyle:{maxHeight:"400px",overflow:"auto"},visible:this.state.visible,onCancel:function(){return i.setState({visible:!1})},footer:[_react2.default.createElement(_button2.default,{key:"back",className:"btn-cancel",onClick:function(){i.setState({visible:!1})}},_react2.default.createElement("i",{className:"iconfont icon-cancel"}),"取消"),_react2.default.createElement(_button2.default,{key:"submit",className:"btn-submit",onClick:this.onSubmit},_react2.default.createElement("i",{className:"iconfont icon-submit"}),"提交")]},_react2.default.createElement("div",null,_react2.default.createElement(_upload2.default.Dragger,e,_react2.default.createElement("i",{className:"iconfont icon-upload",style:{fontSize:"40px"}})))),_react2.default.createElement("div",{style:{marginBottom:"14px"}},_react2.default.createElement(_row2.default,{justify:"space-between"},this.state.disabled?"":_react2.default.createElement(_col2.default,null,_react2.default.createElement(_button2.default,{className:a||"btn-upload",style:{marginRight:"10px"},onClick:function(){return i.setState({visible:!0})}},_react2.default.createElement("i",{className:"iconfont icon-upload"}),t||"添加附件")))),_react2.default.createElement(_table2.default,r)))}}]),t}();exports.default=HanderUpload;