UNPKG

ming-demo1

Version:
816 lines (738 loc) 29.3 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _redux = require("redux"); var _reactRedux = require("react-redux"); var _baseui = require("@mdf/baseui"); var _basic = require("../basic"); var _userDefineArchives = require("../../redux/userDefineArchives"); var _ActionStatus = _interopRequireDefault(require("../../constants/ActionStatus")); var _SvgIcon = _interopRequireDefault(require("@mdf/metaui-web/lib/components/common/SvgIcon")); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } if (process.env.__CLIENT__ === true) { require("./UserDefineArchives.css"); } var confirm = _baseui.Modal.confirm; var UserDefineSetting = function (_Component) { (0, _inherits2["default"])(UserDefineSetting, _Component); function UserDefineSetting(props) { var _this; (0, _classCallCheck2["default"])(this, UserDefineSetting); _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(UserDefineSetting).call(this, props)); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "checkType", function (rule, value, callback) { var form = _this.props.form; if (value != undefined && value.trim() == "") { callback('数据类型不可为空字符。'); } else { callback(); } }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "checkItemName", function (rule, value, callback) { var form = _this.props.form; if (value && value.trim().length > 50) { callback('最大长度为50个字符'); } else { callback(); } }); _this.state = { isUpdate: _this.props.params.defineId !== undefined, typeValue: "", typeDisabled: false, maxInputLenDisabled: false, decimalDigitsDisabled: false, isMultiSelDisabled: false, isEnabledDisabled: false, isSysEnabled: false, bInitGridModelDataSource: true }; _this.handleOk = _this.handleOk.bind((0, _assertThisInitialized2["default"])(_this)); _this.handleCancel = _this.handleCancel.bind((0, _assertThisInitialized2["default"])(_this)); _this.dataSourceChange = _this.dataSourceChange.bind((0, _assertThisInitialized2["default"])(_this)); return _this; } (0, _createClass2["default"])(UserDefineSetting, [{ key: "getTabsContent", value: function getTabsContent() { var _this2 = this; var TabPane = _baseui.Tabs.TabPane; if (this.state.typeValue == "档案") { return _react["default"].createElement(_baseui.Tabs, { defaultActiveKey: "1", tabBarExtraContent: _react["default"].createElement("div", null, _react["default"].createElement(_baseui.Button, { type: "ghost", ref: "buttonAdd", className: "ant-btn ant-btn-ghost no-border-radius m-l-5", onClick: function onClick(e) { return _this2.handleClick('add'); } }, _react["default"].createElement(_SvgIcon["default"], { type: "plus" }), "\u589E\u884C")) }, _react["default"].createElement(TabPane, { tab: "\u6863\u6848\u503C", key: "1" }, _react["default"].createElement(_basic.Row, null, _react["default"].createElement(_basic.Col, { span: 'all' }, this.renderTable())))); } else { return _react["default"].createElement("div", null); } } }, { key: "render", value: function render() { var _this3 = this, _React$createElement; var isUpdate = this.state.isUpdate; var _this$props = this.props, form = _this$props.form, userDefineArchives = _this$props.userDefineArchives; var getFieldDecorator = form.getFieldDecorator; var FormItem = _baseui.Form.Item; var tabsContent = this.getTabsContent(); var needMaxInputLen = !this.state.maxInputLenDisabled; var isInputDisabled = this.props.params.classId == "batchnoArchive" || this.props.params.classId == "productSpec" ? true : false; return _react["default"].createElement(_baseui.Modal, (_React$createElement = { title: "\u81EA\u5B9A\u4E49\u9879\u8BBE\u7F6E", width: 846, maskClosable: false, className: "userDefineSetting" }, (0, _defineProperty2["default"])(_React$createElement, "width", 750), (0, _defineProperty2["default"])(_React$createElement, "visible", true), (0, _defineProperty2["default"])(_React$createElement, "onOk", this.handleOk), (0, _defineProperty2["default"])(_React$createElement, "onCancel", this.handleCancel), _React$createElement), _react["default"].createElement(_baseui.Form, { className: "ant-advanced-search-form" }, _react["default"].createElement(_basic.Row, { colCount: 2, gutter: 24 }, _react["default"].createElement(_basic.Col, { span: 0 }, " ", _react["default"].createElement(FormItem, null, " ", getFieldDecorator("tenantId")(_react["default"].createElement(_baseui.Input, { size: "default", disabled: true })), " "), " "), _react["default"].createElement(_basic.Col, { span: 0 }, " ", _react["default"].createElement(FormItem, null, " ", getFieldDecorator("pubts")(_react["default"].createElement(_baseui.Input, { size: "default", disabled: true })), " "), " "), _react["default"].createElement(_basic.Col, { span: 0 }, " ", _react["default"].createElement(FormItem, null, " ", getFieldDecorator("id")(_react["default"].createElement(_baseui.Input, { size: "default", disabled: true })), " "), " "), _react["default"].createElement(_basic.Col, { span: 0 }, " ", _react["default"].createElement(FormItem, null, " ", getFieldDecorator("classId")(_react["default"].createElement(_baseui.Input, { size: "default", disabled: true })), " "), " "), _react["default"].createElement(_basic.Col, { span: 1 }, " ", _react["default"].createElement(FormItem, { label: "\u5206\u7C7B", labelCol: { span: 7 }, wrapperCol: { span: 13 } }, " ", getFieldDecorator("className")(_react["default"].createElement(_baseui.Input, { size: "default", disabled: true })), " "), " "), _react["default"].createElement(_basic.Col, { span: 0 }, " ", _react["default"].createElement(FormItem, { label: "defineId", labelCol: { span: 6 }, wrapperCol: { span: 14 } }, " ", getFieldDecorator("defineId")(_react["default"].createElement(_baseui.Input, { placeholder: "defineId", size: "default", disabled: true })), " "), " "), _react["default"].createElement(_basic.Col, { span: 1 }, " ", _react["default"].createElement(FormItem, { label: "\u9879\u76EE\u53F7", labelCol: { span: 6 }, wrapperCol: { span: 14 } }, " ", getFieldDecorator("item")(_react["default"].createElement(_baseui.Input, { placeholder: "\u9879\u76EE\u53F7", size: "default", disabled: true })), " "), " ")), _react["default"].createElement(_basic.Row, { colCount: 2, gutter: 24 }, _react["default"].createElement(_basic.Col, { span: 1 }, _react["default"].createElement(FormItem, { label: "\u6570\u636E\u7C7B\u578B", labelCol: { span: 7 }, wrapperCol: { span: 13 } }, getFieldDecorator("type", { rules: [{ required: true, message: '不能为空' }], initialValue: "" })(_react["default"].createElement(_baseui.Select, { style: { width: 139 }, disabled: this.state.typeDisabled, onChange: function onChange(val) { return _this3.dataSourceChange("type", val, false); } }, _react["default"].createElement(_baseui.Select.Option, { value: "\u6587\u672C" }, "\u6587\u672C"), _react["default"].createElement(_baseui.Select.Option, { value: "\u6574\u578B" }, "\u6574\u578B"), _react["default"].createElement(_baseui.Select.Option, { value: "\u6570\u503C" }, "\u6570\u503C"), _react["default"].createElement(_baseui.Select.Option, { value: "\u65E5\u671F" }, "\u65E5\u671F"), _react["default"].createElement(_baseui.Select.Option, { value: "\u65F6\u95F4" }, "\u65F6\u95F4"), _react["default"].createElement(_baseui.Select.Option, { value: "\u65E5\u671F\u65F6\u95F4" }, "\u65E5\u671F\u65F6\u95F4"), _react["default"].createElement(_baseui.Select.Option, { value: "\u6863\u6848" }, "\u6863\u6848"))))), _react["default"].createElement(_basic.Col, { span: 1 }, " ", _react["default"].createElement(FormItem, { label: "\u9879\u76EE\u540D\u79F0", labelCol: { span: 6 }, wrapperCol: { span: 14 } }, " ", getFieldDecorator("showItem", { rules: [{ required: true, message: '不能为空' }, { validator: this.checkItemName }] })(_react["default"].createElement(_baseui.Input, { placeholder: "", size: "default" })), " "), " ")), _react["default"].createElement(_basic.Row, { colCount: 2, gutter: 24 }, _react["default"].createElement(_basic.Col, { span: 1 }, " ", _react["default"].createElement(FormItem, { label: "\u63A7\u5236\u5F55\u5165\u957F\u5EA6", labelCol: { span: 7 }, wrapperCol: { span: 13 } }, " ", getFieldDecorator("maxInputLen", { rules: [{ required: needMaxInputLen, message: '不能为空' }] })(_react["default"].createElement(_baseui.Input, { placeholder: "", size: "default", disabled: this.state.maxInputLenDisabled })), " "), " "), _react["default"].createElement(_basic.Col, { span: 1 }, " ", _react["default"].createElement(FormItem, { label: "\u5C0F\u6570\u4F4D\u6570", labelCol: { span: 6 }, wrapperCol: { span: 14 } }, " ", getFieldDecorator("decimalDigits")(_react["default"].createElement(_baseui.Input, { placeholder: "\u8BF7\u8F93\u5165\u5C0F\u6570\u4F4D\u6570", size: "default", disabled: this.state.decimalDigitsDisabled })), " "), " ")), _react["default"].createElement(_basic.Row, { colCount: 12, gutter: 24 }, _react["default"].createElement(_basic.Col, { span: 6 }, _react["default"].createElement(_basic.Col, { span: 7, className: "ant-form-item-label" }, _react["default"].createElement("label", null, "\u63A7\u5236")), _react["default"].createElement(_basic.Col, { span: 13, className: "checkbox" }, getFieldDecorator("isEnabled", { initialValue: false, valuePropName: 'checked' })(_react["default"].createElement(_baseui.Checkbox, { disabled: this.state.isEnabledDisabled }, "\u542F\u7528")), getFieldDecorator("isInput", { initialValue: false, valuePropName: 'checked' })(_react["default"].createElement(_baseui.Checkbox, { disabled: isInputDisabled }, "\u5FC5\u8F93"))))), tabsContent)); } }, { key: "handleClick", value: function handleClick(action, row) { switch (action) { case 'edit': this.gridModel.setReadOnly(false); break; case 'add': this.gridModel.setReadOnly(false); this.gridModel.appendRow(); break; case 'delete': this.gridModel.setReadOnly(false); this.gridModel.deleteRows(row); break; } } }, { key: "renderTable", value: function renderTable() { var _this$props$userDefin = this.props.userDefineArchives, userDefSetting_ArchiveValue = _this$props$userDefin.userDefSetting_ArchiveValue, userDefSetting_GetArchiveStatus = _this$props$userDefin.userDefSetting_GetArchiveStatus; if (userDefSetting_GetArchiveStatus === _ActionStatus["default"].ING) { return _react["default"].createElement("div", null, "\u6B63\u5728\u52A0\u8F7D.."); } else if (userDefSetting_GetArchiveStatus === _ActionStatus["default"].FAILURE) { return _react["default"].createElement("div", null, "\u52A0\u8F7D\u5931\u8D25"); } var action = {}; if (this.state.isSysEnabled == false) { action.cAlign = "left"; action.cControlType = "Toolbar"; action.cDataSourceName = "Toolbar"; action.controls = []; action.controls.push({ cCaption: "删除", cControlType: "button", cItemName: "btnDelete", cShowCaption: "删除", iOrder: 2, iStyle: 0, icon: "delete", key: "ABC231626" }); } return _react["default"].createElement(_basic.Table, { width: 900, height: 0, model: this.gridModel, maxRowCount: 5, action: action }); } }, { key: "dataSourceChange", value: function dataSourceChange(name, value, bInit) { var _this$props2 = this.props, form = _this$props2.form, userDefineArchives = _this$props2.userDefineArchives; var fields = {}; if (name == "type") { fields.typeDisabled = { value: false }; if (value == "文本") { this.state.maxInputLenDisabled = false; fields.decimalDigits = { value: null }; this.state.decimalDigitsDisabled = true; this.state.isMultiSelDisabled = true; if (bInit == false) { fields.maxInputLen = { value: 255 }; } } else if (value == "整型") { this.state.maxInputLenDisabled = false; fields.decimalDigits = { value: null }; this.state.decimalDigitsDisabled = true; this.state.isMultiSelDisabled = true; if (bInit == false) { fields.maxInputLen = { value: 255 }; } } else if (value == "数值") { this.state.maxInputLenDisabled = false; this.state.decimalDigitsDisabled = false; this.state.isMultiSelDisabled = true; if (bInit == false) { fields.maxInputLen = { value: 255 }; fields.decimalDigits = { value: 8 }; } } else if (value == "日期") { fields.maxInputLen = { value: null }; this.state.maxInputLenDisabled = true; fields.decimalDigits = { value: null }; this.state.decimalDigitsDisabled = true; this.state.isMultiSelDisabled = true; } else if (value == "时间") { fields.maxInputLen = { value: null }; this.state.maxInputLenDisabled = true; fields.decimalDigits = { value: null }; this.state.decimalDigitsDisabled = true; this.state.isMultiSelDisabled = true; } else if (value == "日期时间") { fields.maxInputLen = { value: null }; this.state.maxInputLenDisabled = true; fields.decimalDigits = { value: null }; this.state.decimalDigitsDisabled = true; this.state.isMultiSelDisabled = true; } else if (value == "档案") { var _getUserDefineArchiveByDefineId = this.props.getUserDefineArchiveByDefineId; fields.maxInputLen = { value: null }; this.state.maxInputLenDisabled = true; fields.decimalDigits = { value: null }; this.state.decimalDigitsDisabled = true; this.state.isMultiSelDisabled = false; _getUserDefineArchiveByDefineId(this.props.params.defineId); } } if (bInit == true) { var isEnabled = form.getFieldValue('isEnabled'); this.state.isSysEnabled = false; if (isEnabled && isEnabled == true) { this.state.isSysEnabled = true; this.state.maxInputLenDisabled = true; this.state.typeDisabled = true; this.state.isEnabledDisabled = true; } } form.setFields(fields); this.setState({ typeValue: value }); } }, { key: "checkUserDefValue", value: function checkUserDefValue(value) { var type = value.type; var length = value.length; if (length == undefined) length = 255; var maxInputLen = value.maxInputLen; var decimalDigits = value.decimalDigits; if (type == undefined || type == "") { cb.utils.alert("数据类型不可为空,请检查。", 'error'); return false; } if (value.type == "文本") { if (isNaN(maxInputLen) == true || typeof maxInputLen == "string" && maxInputLen.trim() == "" || maxInputLen < 1 || length < maxInputLen || String(maxInputLen).indexOf(".") > 0) { cb.utils.alert("控制录入长度必须为1~255之间的整数!", 'error'); return false; } } if (value.type == "数值") { if (isNaN(decimalDigits) == true || typeof maxInputLen == "string" && maxInputLen.trim() == "" || decimalDigits < 1 || decimalDigits > 8 || String(decimalDigits).indexOf(".") > 0) { cb.utils.alert("小数位数必须为1~8之间的整数!", 'error'); return false; } if (isNaN(maxInputLen) == true || typeof maxInputLen == "string" && maxInputLen.trim() == "" || maxInputLen < 1 || length < maxInputLen || String(maxInputLen).indexOf(".") > 0) { cb.utils.alert("控制录入长度必须为1~255之间的整数!", 'error'); return false; } } if (value.type == "整型") { if (isNaN(maxInputLen) == true || typeof maxInputLen == "string" && maxInputLen.trim() == "" || maxInputLen < 1 || length < maxInputLen || String(maxInputLen).indexOf(".") > 0) { cb.utils.alert("控制录入长度必须为1~255之间的整数!", 'error'); return false; } } } }, { key: "checkUserDefArchiveValue", value: function checkUserDefArchiveValue(data) { if (data) { var codeArray = []; var nameNullRow = []; for (var i = 0; i < data.length; i++) { if (data[i].name === undefined || data[i].name == "") { cb.utils.alert("档案值,名称字段不能为空!", 'error'); return false; } } } return true; } }, { key: "handleOk", value: function handleOk() { var _this4 = this; var _this$props3 = this.props, form = _this$props3.form, updateUserDef = _this$props3.updateUserDef, userDefineArchives = _this$props3.userDefineArchives; var propertytype = form.getFieldValue('propertytype'); var bOKDisable = propertytype ? true : false; if (propertytype == "0" || propertytype == 0) bOKDisable = false; if (bOKDisable == true) { cb.utils.alert("行业应用不可修改自定义项。", 'error'); return; } var self = this; var isEnabled = form.getFieldValue('isEnabled'); form.validateFields(function (errors, values) { if (!!errors) { return; } if (_this4.checkUserDefValue(values) == false) return; values = cb.utils.changeUserDefineTypeEnumValue([values], false)[0]; var params; if (_this4.state.typeValue == "档案") { var dataAll = _this4.gridModel.getAllData(); var dirtyData = _this4.gridModel.getDirtyData(); if (isEnabled == true && !(dataAll && dataAll.length > 0)) { cb.utils.alert("档案值不可为空。", 'error'); return; } else if (_this4.checkUserDefArchiveValue(dataAll) == false) { return; } else { params = { "classId": _this4.props.params.classId, "defineId": _this4.props.params.defineId, "userDefBase": values, "userDefines": dirtyData }; } } else { var data = _this4.gridModel.getData(); for (var i = data.length - 1; i >= 0; i--) { if (data[i]._status == "Insert") delete data[i];else { data[i]._status = "Delete"; } } params = { "classId": _this4.props.params.classId, "defineId": _this4.props.params.defineId, "userDefBase": values, "userDefines": data }; } if (isEnabled == true && _this4.state.isSysEnabled == false) { self.state.isShowConfirm = true; cb.utils.confirm('请确保数据类型设置正确,启用后不允许调整!', function () { self.state.isShowConfirm = false; updateUserDef(params); self.handleCancel(); }, function () { self.state.isShowConfirm = false; }); } else { updateUserDef(params); self.handleCancel(); } }); } }, { key: "handleCancel", value: function handleCancel() { this.props.hideSetting(); } }, { key: "componentDidMount", value: function componentDidMount() { var _this5 = this; var _this$props4 = this.props, params = _this$props4.params, userDefineArchives = _this$props4.userDefineArchives, form = _this$props4.form, getUserDefineArchiveByDefineId = _this$props4.getUserDefineArchiveByDefineId; var isUpdate = this.state.isUpdate; var userDefList_DisplayData = userDefineArchives.userDefList_DisplayData, refFields = userDefineArchives.refFields; if (isUpdate) { for (var u in userDefList_DisplayData) { var userDef = userDefList_DisplayData[u]; if (userDef.defineId === params.defineId) { var _fields = {}; for (var key in userDef) { _fields[key] = { value: userDef[key] }; } form.setFields(_fields); if (_fields.type) { this.state.typeValue = _fields.type.value; this.dataSourceChange("type", this.state.typeValue, true); } break; } } this.gridModel = new cb.models.GridModel({ columns: { id: { cItemName: 'id', cShowCaption: 'ID', iColWidth: 0, bHidden: false, bShowIt: false, bCanModify: false, cControlType: 'Input', bMustSelect: true }, code: { cItemName: 'code', cShowCaption: '编码', iColWidth: 250, bHidden: false, bShowIt: true, bCanModify: true, cControlType: 'Input', bMustSelect: true, iMaxLength: 20 }, name: { cItemName: 'name', cShowCaption: '名称', iColWidth: 400, bHidden: false, bShowIt: true, bCanModify: true, cControlType: 'Input', bMustSelect: true, iMaxLength: 50 }, pubts: { cItemName: 'pubts', cShowCaption: 'pubts', iColWidth: 0, bHidden: false, bShowIt: true, bCanModify: true, cControlType: 'Input' }, isDeleted: { cItemName: 'isDeleted', cShowCaption: 'isDeleted', iColWidth: 0, bHidden: false, bShowIt: true, bCanModify: true, cControlType: 'Input' } }, independent: true, readOnly: true, showCheckBox: false, showAggregates: false, pagination: false, showColumnSetting: false }); this.state.bInitGridModelDataSource = true; this.gridModel.on('beforeCellValueChange', function (data) { var cellName = data.cellName; var value = data.value; if (cellName == "code" && value.length > 20) { return false; } else if (cellName == "name" && value.length > 50) { return false; } else return true; }); this.gridModel.setReadOnly(false); var fields = { grid: this.gridModel, btnEdit: new cb.models.SimpleModel(), btnDelete: new cb.models.SimpleModel() }; this.viewModel = new cb.models.ContainerModel(); this.viewModel.setData(fields); this.viewModel.get("btnEdit").on('click', function (params) { _this5.handleClick('edit'); }); this.viewModel.get("btnDelete").on('click', function (params) { _this5.handleClick('delete', params.index); }); if (this.state.typeValue == "档案") getUserDefineArchiveByDefineId(params.defineId); } else {} } }, { key: "componentWillReceiveProps", value: function componentWillReceiveProps(nextProps) { if (this.state.isShowConfirm) return;else { if (this.gridModel && nextProps.userDefineArchives.userDefSetting_ArchiveValue && nextProps.userDefineArchives.userDefSetting_ArchiveValue.length > 0) { if (this.state.bInitGridModelDataSource) { this.gridModel.setDataSource(nextProps.userDefineArchives.userDefSetting_ArchiveValue); this.gridModel.setDirty(false); this.state.bInitGridModelDataSource = false; } } } } }]); return UserDefineSetting; }(_react.Component); (0, _defineProperty2["default"])(UserDefineSetting, "contextTypes", { router: _propTypes["default"].object.isRequired }); var mapStateToProps = function mapStateToProps(state, ownProps) { return { userDefineArchives: state.userDefineArchives.toJS(), params: ownProps.params }; }; var mapDispatchToProps = function mapDispatchToProps(dispatch) { var methods = { getUserDefineArchiveByDefineId: _userDefineArchives.getUserDefineArchiveByDefineId, updateUserDef: _userDefineArchives.updateUserDef, hideSetting: _userDefineArchives.hideSetting }; return _objectSpread({ dispatch: dispatch }, (0, _redux.bindActionCreators)(methods, dispatch)); }; var _default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(_baseui.Form.create()(UserDefineSetting)); exports["default"] = _default; //# sourceMappingURL=UserDefineSetting.js.map