app-base-react
Version:
react development common base package.
622 lines (564 loc) • 18 kB
JavaScript
;
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;