UNPKG

app-base-react

Version:
906 lines (835 loc) 27.8 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _modal = require('antd/lib/modal'); var _modal2 = _interopRequireDefault(_modal); var _form = require('antd/lib/form'); var _form2 = _interopRequireDefault(_form); var _table = require('antd/lib/table'); var _table2 = _interopRequireDefault(_table); var _divider = require('antd/lib/divider'); var _divider2 = _interopRequireDefault(_divider); var _row = require('antd/lib/row'); var _row2 = _interopRequireDefault(_row); var _col = require('antd/lib/col'); var _col2 = _interopRequireDefault(_col); var _button = require('antd/lib/button'); var _button2 = _interopRequireDefault(_button); var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); var _message2 = require('antd/lib/message'); var _message3 = _interopRequireDefault(_message2); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); require('antd/lib/modal/style/css'); require('antd/lib/form/style/css'); require('antd/lib/table/style/css'); require('antd/lib/divider/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'); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _utilAxios = require('../../../library/util-axios'); var _utilAxios2 = _interopRequireDefault(_utilAxios); var _utilDic = require('../../../library/util-dic'); var _utilDic2 = _interopRequireDefault(_utilDic); var _utilModal = require('../../../library/util-modal'); var _utilModal2 = _interopRequireDefault(_utilModal); var _utilString = require('../../../library/util-string'); var _utilString2 = _interopRequireDefault(_utilString); var _wangEditor = require('../../../library/wang-editor'); var _wangEditor2 = _interopRequireDefault(_wangEditor); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // 项目申报-项目申报管理 var title = '项目申报管理'; var url = 'ProjectApplicationManagement/'; var FormView = (0, _react.lazy)(function () { return import('./ProjectApplicationManagementView'); }); var FormEdit = (0, _react.lazy)(function () { return import('./ProjectApplicationManagementEdit'); }); var FormQuery = (0, _react.lazy)(function () { return import('./ProjectApplicationManagementQuery'); }); var ProjectApplicationManagementList = function (_React$Component) { _inherits(ProjectApplicationManagementList, _React$Component); function ProjectApplicationManagementList(props) { _classCallCheck(this, ProjectApplicationManagementList); var _this = _possibleConstructorReturn(this, (ProjectApplicationManagementList.__proto__ || Object.getPrototypeOf(ProjectApplicationManagementList)).call(this, props)); _this.onChange = function (pagination, filters, sorter) { var params = _this.state.params; params.pageSize = pagination.pageSize; params.pageIndex = pagination.current; _this.onLoad(params); }; _this.onSearch = function (values) { var params = _extends({}, _this.state.params, values); _this.onLoad(params); }; _this.onAdd = function () { var values = {}; Object.keys(_this.state.values).forEach(function (key) { return values[key] = undefined; }); _this.setState({ showView: false, showEdit: true, values: values }); }; _this.onView = function (values) { _this.setState({ showView: true, loading: false, values: values }); }; _this.onEdit = function (values) { var me = _this; if ('2' == values.declarationStatus || '5' == values.declarationStatus) { _message3.default.info(values.state == '2' ? '不能编辑审核通过的记录!' : '不能编辑结果公布的记录!'); return; } _utilAxios2.default.get(url + 'getModel?id=' + values.id, {}, function (rs) { me.setState({ showEdit: true, showView: false, values: rs.data }); }); }; _this.onSave = function (values) { _this.onLoad(_this.state.params); }; _this.onDel = function () { var me = _this; if (me.state.selected.length == 0) { _message3.default.error('请选择记录!'); return; } _utilModal2.default.confirm({ content: '确定删除?', okText: '确认', cancelText: '取消', onOk: function onOk() { _utilAxios2.default.delete(url + 'delete?id=' + me.state.selected).then(function (rs) { if (rs.success) { _message3.default.info(rs.msg); me.onLoad(me.state.params || {}); } else { _message3.default.error(rs.msg); } }); } }); }; _this.onAudit = function (values) { var me = _this; if (me.state.selected.length == 0) { _message3.default.error('请选择记录!'); return; } var content = ''; var state = ''; if (_this.state.curDeclarationStatus == '2') { content = '确定审核通过?'; state = '5'; if (!values.declarationOpinions || values.declarationOpinions == "<p><br></p>") { _message3.default.error("请输入审核意见"); return; } } else if (_this.state.curDeclarationStatus == '3') { content = '确定审核不通过?'; state = '5'; if (!values.declarationOpinions || values.declarationOpinions == "<p><br></p>") { _message3.default.error("请输入审核意见"); return; } } else if (_this.state.curDeclarationStatus == '4') { content = '确定审核退回?'; state = '2'; if (!values.declarationOpinions || values.declarationOpinions == "<p><br></p>") { _message3.default.error("请输入审核意见"); return; } } _utilModal2.default.confirm({ // title: '警告', content: content, okText: '确认', cancelText: '取消', onOk: function onOk() { _utilAxios2.default.post(url + 'setState?state=' + state + '&id=' + me.state.selected, { declarationStatus: me.state.curDeclarationStatus, declarationOpinions: values.declarationOpinions || '', declarationResults: '' }).then(function (rs) { if (rs.success) { _message3.default.info(rs.msg); me.onLoad(me.state.params || {}); me.formRef1.current.resetFields(); } else { _message3.default.error(rs.msg); } }); } }); }; _this.onResult = function (values) { var me = _this; if (me.state.selected.length == 0) { _message3.default.error('请选择记录!'); return; } var content = ''; var state = ''; if (_this.state.curDeclarationStatus == 5) { content = '确定设置为完结?'; state = '6'; if (!values.declarationResults || values.declarationResults == "<p><br></p>") { _message3.default.error("请输入申报结果"); return; } } else if (_this.state.curDeclarationStatus == 6) { content = '确定设置为终止?'; state = '6'; if (!values.declarationResults || values.declarationResults == "<p><br></p>") { _message3.default.error("请输入申报结果"); return; } } else if (_this.state.curDeclarationStatus == 7) { content = '确定设置为中止?'; state = '6'; if (!values.declarationResults || values.declarationResults == "<p><br></p>") { _message3.default.error("请输入申报结果"); return; } } _utilModal2.default.confirm({ // title: '警告', content: content, okText: '确认', cancelText: '取消', onOk: function onOk() { _utilAxios2.default.post(url + 'setState?state=' + state + '&id=' + me.state.selected, { declarationStatus: me.state.curDeclarationStatus, declarationOpinions: '', declarationResults: values.declarationResults || '' }).then(function (rs) { if (rs.success) { _message3.default.info(rs.msg); me.onLoad(me.state.params || {}); me.formRef2.current.resetFields(); } else { _message3.default.error(rs.msg); } }); } }); }; _this.state = { params: {}, data: [], pagination: {}, loading: false, selected: [], //Table checked selectedRows: [], //显藏控制 showView: false, showEdit: false, //values values: {}, openAudit: false, openResult: false, curDeclarationStatus: 0, curModalTitle: "", isFold: false, tableKey: '1' }; _this.formRef1 = _react2.default.createRef(); _this.formRef2 = _react2.default.createRef(); _this.columns = [{ title: '序号', width: 50, fixed: 'left', render: function render(text, record, index) { return index + 1; } }, { title: '事项年度', dataIndex: 'eventYear', width: 100, render: function render(text, record) { return _react2.default.createElement( 'a', { className: 'btn-detail', onClick: function onClick() { return _this.onView(record); } }, text ); } }, { title: '事项名称', dataIndex: 'projectName', width: 100, render: function render(text, record) { return _react2.default.createElement( 'a', { className: 'btn-detail', onClick: function onClick() { return _this.onView(record); } }, text ); } }, { title: ' 所属区域', dataIndex: 'region', width: 100 }, { title: '事项类型', dataIndex: 'eventType', width: 100, render: function render(text, record) { return _utilDic2.default.json('project', '事项类型')[text]; } }, { title: '申报编号', dataIndex: 'num', width: 100, render: function render(text, record) { return _react2.default.createElement( 'a', { className: 'btn-detail', onClick: function onClick() { return _this.onView(record); } }, text ); } }, // { // title: "申报方式", // dataIndex: "declarationMethod", // width: 100 // }, // { // title: "评审方式", // dataIndex: "reviewMethod", // width: 100 // }, // { // title: "实施主体/部门", // dataIndex: "implementingEntity", // width: 100 // }, { title: '申报单位', dataIndex: 'declarationUnit', width: 100, render: function render(text, record) { return _react2.default.createElement( 'a', { className: 'btn-detail', onClick: function onClick() { return _this.onView(record); } }, text ); } }, // { // title: "统一社会信用代码", // dataIndex: "credit", // width: 100 // }, { title: '单位类型', dataIndex: 'unitType', width: 100 }, // { // title: "单位地址", // dataIndex: "address", // width: 100 // }, { title: '联系人名称', dataIndex: 'contactName', width: 100 }, { title: '联系人电话', dataIndex: 'phone', width: 100 }, { title: '联系人邮箱', dataIndex: 'email', width: 100 }, // { // title: "开户银行名称", // dataIndex: "bankName", // width: 100 // }, // { // title: "开户银行账号", // dataIndex: "bankAccount", // width: 100 // }, // { // title: "其他信息", // dataIndex: "others", // width: 100 // }, // { // title: "填报文档材料", // dataIndex: "fillInDocumentMaterials", // width: 100 // }, { title: '申报状态', dataIndex: 'declarationStatus', width: 100, render: function render(text, record) { return _utilDic2.default.json('project', '申报状态')[text]; } // }, // { // title: "申报意见", // dataIndex: "declarationOpinions", // width: 100 // }, // { // title: "申报结果", // dataIndex: "declarationResults", // width: 100 }]; return _this; } _createClass(ProjectApplicationManagementList, [{ key: 'componentDidMount', value: function componentDidMount() { this.onLoad(this.state.params); } /*** Table ***/ }, { key: 'onLoad', value: function () { var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee(params) { var rs, pagination; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: this.setState({ loading: true }); _context.next = 3; return _utilAxios2.default.get(url + 'getList', params); case 3: rs = _context.sent; pagination = { pageSizeOptions: ['20', '100', '200', '500', '1000'], pageSize: params.pageSize || 20, defaultPageSize: params.pageSize || 20, showSizeChanger: true, showQuickJumper: true, total: rs.total, showTotal: function showTotal(total) { return '\u603B\u8BB0\u5F55 ' + total + ' '; } }; this.setState({ loading: false, showEdit: false, params: params, data: rs.data, pagination: pagination, tableKey: _utilString2.default.uuid(), openAudit: false, openResult: false, selected: [], selectedRows: [] }); case 6: case 'end': return _context.stop(); } } }, _callee, this); })); function onLoad(_x) { return _ref.apply(this, arguments); } return onLoad; }() }, { key: 'render', value: function render() { var _this2 = this; var tableCfg = { scroll: { y: this.props.height - 210 }, size: 'middle', rowKey: 'id', columns: this.columns, rowSelection: { selectedRowKeys: this.state.selected, onChange: function onChange(selectedRowKeys, selectedRows) { _this2.setState({ selected: selectedRowKeys, selectedRows: selectedRows }); } }, rowClassName: function rowClassName(record) { return record.id === _this2.state.selectedRowId ? 'row-selected' : ''; }, onRow: function onRow(record) { return { onClick: function onClick(event) { _this2.setState({ selectedRowId: record.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( _button2.default, { className: 'btn-filter', onClick: function onClick() { _this2.setState({ isFold: !_this2.state.isFold }); } }, _react2.default.createElement('i', { className: this.state.isFold ? 'iconfont icon-filter' : 'iconfont icon-upfilter' }), '\u7B5B\u9009\u9879' ) ) ), _react2.default.createElement( 'div', { style: { display: this.state.isFold ? 'none' : '' } }, _react2.default.createElement(FormQuery, { onSearch: this.onSearch, values: this.state.params }) ), _react2.default.createElement( _row2.default, { className: 'main-toolbar' }, _react2.default.createElement( _col2.default, { xs: 24 }, _react2.default.createElement( _button2.default, { className: 'btn-del', onClick: this.onDel }, _react2.default.createElement('i', { className: 'iconfont icon-del' }), '\u5220\u9664' ), _react2.default.createElement( _button2.default, { className: 'btn-pass', onClick: function onClick() { if (_this2.state.selected.length == 0) { _message3.default.error('请选择记录!'); return; } for (var i = 0; i < _this2.state.selected.length; i++) { if (_this2.state.selectedRows[i].declarationStatus == '5') { _message3.default.error("不能审核已完结项目!"); return; } if (_this2.state.selectedRows[i].declarationStatus == '6') { _message3.default.error("不能审核已终止项目!"); return; } } _this2.setState({ openAudit: true, curDeclarationStatus: 2, curModalTitle: "项目审核 - 审核通过" }); } }, _react2.default.createElement('i', { className: 'iconfont icon-submit' }), '\u5BA1\u6838\u901A\u8FC7' ), _react2.default.createElement( _button2.default, { className: 'btn-revoke', onClick: function onClick() { if (_this2.state.selected.length == 0) { _message3.default.error('请选择记录!'); return; } for (var i = 0; i < _this2.state.selected.length; i++) { if (_this2.state.selectedRows[i].declarationStatus == '5') { _message3.default.error("不能审核已完结项目!"); return; } if (_this2.state.selectedRows[i].declarationStatus == '6') { _message3.default.error("不能审核已终止项目!"); return; } } _this2.setState({ openAudit: true, curDeclarationStatus: 3, curModalTitle: "项目审核 - 审核不通过" }); } }, _react2.default.createElement('i', { className: 'iconfont icon-revoke' }), '\u5BA1\u6838\u4E0D\u901A\u8FC7' ), _react2.default.createElement( _button2.default, { className: 'btn-sendemail', onClick: function onClick() { if (_this2.state.selected.length == 0) { _message3.default.error('请选择记录!'); return; } for (var i = 0; i < _this2.state.selected.length; i++) { if (_this2.state.selectedRows[i].declarationStatus == '5') { _message3.default.error("不能审核已完结项目!"); return; } if (_this2.state.selectedRows[i].declarationStatus == '6') { _message3.default.error("不能审核已终止项目!"); return; } } _this2.setState({ openAudit: true, curDeclarationStatus: 4, curModalTitle: "项目审核 - 审核退回" }); } }, _react2.default.createElement('i', { className: 'iconfont icon-close' }), '\u5BA1\u6838\u9000\u56DE' ), _react2.default.createElement(_divider2.default, { type: 'vertical' }), _react2.default.createElement( _button2.default, { className: 'btn-pass', onClick: function onClick() { if (_this2.state.selected.length == 0) { _message3.default.error('请选择记录!'); return; } _this2.setState({ openResult: true, curDeclarationStatus: 5, curModalTitle: "申报结果 - 设为完结" //申报成功 }); } }, _react2.default.createElement('i', { className: 'iconfont icon-pass' }), '\u8BBE\u4E3A\u5B8C\u7ED3' ), _react2.default.createElement( _button2.default, { className: 'btn-revoke', onClick: function onClick() { if (_this2.state.selected.length == 0) { _message3.default.error('请选择记录!'); return; } _this2.setState({ openResult: true, curDeclarationStatus: 7, curModalTitle: "申报结果 - 设为中止" }); } }, _react2.default.createElement('i', { className: 'iconfont icon-set' }), '\u8BBE\u4E3A\u4E2D\u6B62' ), _react2.default.createElement( _button2.default, { className: 'btn-nopass', onClick: function onClick() { if (_this2.state.selected.length == 0) { _message3.default.error('请选择记录!'); return; } _this2.setState({ openResult: true, curDeclarationStatus: 6, curModalTitle: "申报结果 - 设为终止" }); } }, _react2.default.createElement('i', { className: 'iconfont icon-nopass' }), '\u8BBE\u4E3A\u7EC8\u6B62' ), _react2.default.createElement(_divider2.default, { type: 'vertical' }), _react2.default.createElement( _button2.default, { className: 'btn-export', onClick: function onClick() { return _utilAxios2.default.onExport(_this2, title); } }, _react2.default.createElement('i', { className: 'iconfont icon-export' }), '\u5BFC\u51FA' ) ) ), _react2.default.createElement(_table2.default, _extends({}, tableCfg, { key: this.state.tableKey })) ), _react2.default.createElement( _react.Suspense, { fallback: _react2.default.createElement('div', null) }, this.state.showView ? _react2.default.createElement(FormView, { height: this.props.height - 80, values: this.state.values, onEdit: this.onEdit, onReturn: function onReturn() { _this2.setState({ showView: false }); } }) : '', this.state.showEdit ? _react2.default.createElement(FormEdit, { height: this.props.height - 80, values: this.state.values, onSave: this.onSave, onCancel: function onCancel() { _this2.setState({ showEdit: false }); }, onEditReturn: function onEditReturn() { _this2.setState({ showEdit: false, showView: true }); } }) : '' ), _react2.default.createElement( _modal2.default, { open: this.state.openAudit, visible: this.state.openAudit, title: this.state.curModalTitle, footer: null, width: '90%', onCancel: function onCancel() { _this2.setState({ openAudit: false }); } }, _react2.default.createElement( 'div', { className: 'form-content' }, _react2.default.createElement( _form2.default, { ref: this.formRef1, onFinish: this.onAudit, className: 'form-edit', layout: 'vertical' }, _react2.default.createElement( _row2.default, null, _react2.default.createElement( _col2.default, { xs: 24 }, _react2.default.createElement( _form2.default.Item, { name: 'declarationOpinions' }, _react2.default.createElement(_wangEditor2.default, null) ) ) ), _react2.default.createElement( _row2.default, null, _react2.default.createElement( _col2.default, { xs: 24, align: 'center' }, _react2.default.createElement( _button2.default, { className: 'btn-submit', htmlType: 'submit' }, ' ', _react2.default.createElement('i', { className: 'iconfont icon-submit' }), '\u63D0\u4EA4 ' ), '\xA0\xA0\xA0', _react2.default.createElement( _button2.default, { className: 'btn-reset', onClick: function onClick() { _this2.setState({ openAudit: false }); } }, ' ', _react2.default.createElement('i', { className: 'iconfont icon-reset' }), '\u53D6\u6D88 ' ) ) ) ) ) ), _react2.default.createElement( _modal2.default, { open: this.state.openResult, visible: this.state.openResult, title: this.state.curModalTitle, footer: null, width: '90%', onCancel: function onCancel() { _this2.setState({ openResult: false }); } }, _react2.default.createElement( 'div', { className: 'form-content' }, _react2.default.createElement( _form2.default, { ref: this.formRef2, onFinish: this.onResult, className: 'form-edit', layout: 'vertical' }, _react2.default.createElement( _row2.default, null, _react2.default.createElement( _col2.default, { xs: 24 }, _react2.default.createElement( _form2.default.Item, { name: 'declarationResults' }, _react2.default.createElement(_wangEditor2.default, null) ) ) ), _react2.default.createElement( _row2.default, null, _react2.default.createElement( _col2.default, { xs: 24, align: 'center' }, _react2.default.createElement( _button2.default, { className: 'btn-submit', htmlType: 'submit' }, ' ', _react2.default.createElement('i', { className: 'iconfont icon-submit' }), '\u63D0\u4EA4 ' ), '\xA0\xA0\xA0', _react2.default.createElement( _button2.default, { className: 'btn-reset', onClick: function onClick() { _this2.setState({ openResult: false }); } }, ' ', _react2.default.createElement('i', { className: 'iconfont icon-reset' }), '\u53D6\u6D88 ' ) ) ) ) ) ) ); } }]); return ProjectApplicationManagementList; }(_react2.default.Component); exports.default = ProjectApplicationManagementList;