UNPKG

app-base-react

Version:
622 lines (564 loc) 18 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _table = require('antd/lib/table'); var _table2 = _interopRequireDefault(_table); 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/table/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 _checkGroup = require('../../../library/check-group'); var _checkGroup2 = _interopRequireDefault(_checkGroup); 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); 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 = 'ProjectManagement/'; var FormView = (0, _react.lazy)(function () { return import('./ProjectManagementView'); }); var FormEdit = (0, _react.lazy)(function () { return import('./ProjectManagementEdit'); }); var FormQuery = (0, _react.lazy)(function () { return import('./ProjectManagementQuery'); }); var ProjectManagementList = function (_React$Component) { _inherits(ProjectManagementList, _React$Component); function ProjectManagementList(props) { _classCallCheck(this, ProjectManagementList); var _this = _possibleConstructorReturn(this, (ProjectManagementList.__proto__ || Object.getPrototypeOf(ProjectManagementList)).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 ("1" == values.state) { _message3.default.info("不能编辑已发布的记录!"); 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: '确定删除?', 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 (state) { var me = _this; if (me.state.selected.length == 0) { _message3.default.error('请选择记录!'); return; } _utilModal2.default.confirm({ // title: '警告', content: state == '2' ? '确定撤回发布?' : '确定发布?', okText: '确认', cancelText: '取消', onOk: function onOk() { _utilAxios2.default.post(url + 'setState?state=' + state + '&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.state = { params: {}, data: [], pagination: {}, loading: false, selected: [], //Table checked selectedRows: [], //显藏控制 showView: false, showEdit: false, //values values: {}, isFold: false }; _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: 'name', 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: "declarationStartTime", // width: 100, // render: (text, record) => { // return UtilDate.getDateTime(text) // } // }, // { // title: "申报结束时间", // dataIndex: "declarationEndTime", // width: 100, // render: (text, record) => { // return UtilDate.getDateTime(text) // } // }, { title: ' 所属区域', dataIndex: 'region', width: 100 }, { title: '事项类型', dataIndex: 'eventType', width: 100, render: function render(text, record) { return _utilDic2.default.json('project', '事项类型')[text]; } }, { title: '申报方式', dataIndex: 'declarationMethod', width: 100, renderText: function renderText(text, record) { if (!text) return ''; var dicArr = _utilDic2.default.list('project', '申报方式'); var textArr = JSON.parse(text); if (textArr.length == 0) return ''; var val = ''; for (var i = 0; i < textArr.length; i++) { for (var j = 0; j < dicArr.length; j++) { if (dicArr[j].value == textArr[i]) { if (val == '') val = dicArr[j].zh_CN;else val = val + ',' + dicArr[j].zh_CN; break; } } } return val; }, render: function render(text, record) { return _react2.default.createElement(_checkGroup2.default, { dic: { app: 'project', type: '申报方式' }, value: text, disabled: true }); } }, { title: '评审方式', dataIndex: 'reviewMethod', width: 100, renderText: function renderText(text, record) { if (!text) return ''; var dicArr = _utilDic2.default.list('project', '评审方式'); var textArr = JSON.parse(text); if (textArr.length == 0) return ''; var val = ''; for (var i = 0; i < textArr.length; i++) { for (var j = 0; j < dicArr.length; j++) { if (dicArr[j].value == textArr[i]) { if (val == '') val = dicArr[j].zh_CN;else val = val + ',' + dicArr[j].zh_CN; break; } } } return val; }, render: function render(text, record) { return _react2.default.createElement(_checkGroup2.default, { dic: { app: 'project', type: '评审方式' }, value: text, disabled: true }); } }, { title: '实施主体/部门', dataIndex: 'implementingEntity', width: 100 }, // { // title: "面向主体对象", // dataIndex: "subjectOrientedObject", // width: 100 // }, // { // title: "项目须知", // dataIndex: "projectInstructions", // width: 100 // }, // { // title: "项目详情", // dataIndex: "content", // width: 100 // }, // { // title: "模板ID", // dataIndex: "templateId", // width: 100, // render: (text, record) => { // return UtilDic.json("project", "表单模板")[text] // } // }, // { // title: "项目字段", // dataIndex: "projectFields", // width: 100 // }, // { // title: "材料清单", // dataIndex: "materialList", // width: 100 // }, // { // title: "填报文档清单", // dataIndex: "fillInTheDocumentList", // width: 100 // }, { title: '审核状态', dataIndex: 'state', width: 100, render: function render(text, record) { return _utilDic2.default.json('project', '审核状态')[text]; } // }, // { // title: "申报状态", // dataIndex: "declarationStatus", // width: 100, // render: (text, record) => { // return UtilDic.json("project", "申报状态")[text] // } // }, // { // title: "审核中状态文案", // dataIndex: "reviewStatusCopy", // width: 100 // }, // { // title: "审核通过状态文案", // dataIndex: "approvedStatusCopy", // width: 100 // }, // { // title: "审核不通过状态文案", // dataIndex: "failedReviewStatusCopy", // width: 100 // }, // { // title: "审核不合格状态文案", // dataIndex: "unqualifiedStatusCopy", // width: 100 // }, // { // title: "申报结果文案", // dataIndex: "declarationResultCopy", // width: 100 // }, // { // title: "其他配置", // dataIndex: "configs", // width: 100 }]; return _this; } _createClass(ProjectManagementList, [{ 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 + 'getListAdmin', 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, 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: 14 }, _react2.default.createElement( _button2.default, { className: 'btn-add', onClick: this.onAdd }, _react2.default.createElement('i', { className: 'iconfont icon-add' }), '\u5F55\u5165' ), _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() { _this2.onAudit(1); } }, _react2.default.createElement('i', { className: 'iconfont icon-submit' }), ' \u53D1\u5E03' ), _react2.default.createElement( _button2.default, { className: 'btn-revoke', onClick: function onClick() { _this2.onAudit(2); } }, _react2.default.createElement('i', { className: 'iconfont icon-revoke' }), ' \u64A4\u56DE' ), _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, tableCfg) ), _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 }); } }) : '' ) ); } }]); return ProjectManagementList; }(_react2.default.Component); exports.default = ProjectManagementList;