UNPKG

ming-demo3

Version:
329 lines (288 loc) 10.1 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 _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _slice2 = _interopRequireDefault(require("lodash/slice")); var _react = _interopRequireWildcard(require("react")); var _baseui = require("@mdf/baseui"); var _SvgIcon = _interopRequireDefault(require("@mdf/metaui-web/lib/components/common/SvgIcon")); var _indexedDB = require("../../redux/indexedDB"); var Draftbutton = function (_React$Component) { (0, _inherits2["default"])(Draftbutton, _React$Component); function Draftbutton(props) { var _this; (0, _classCallCheck2["default"])(this, Draftbutton); _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(Draftbutton).call(this, props)); var isIpad = cb.rest.terminalType == 2 ? true : false; _this.openIndexdb(); var controls = _this.props.controls; _this.viewModel = props.model.getParent(); var status = _this.viewModel.getParams().mode; var userId = cb.rest.AppContext.user.id; var billNo = _this.viewModel.getParams().billNo; _this.state = { status: status, bEnder: false, key: null, userId: userId, billNo: billNo, controls: controls, sortDraftdata: [], isIpad: isIpad }; return _this; } (0, _createClass2["default"])(Draftbutton, [{ key: "componentDidMount", value: function componentDidMount() { this.props.model.addListener(this); var _self = this; this.viewModel.on('afterSave', function (args) { if (args.err == null) { var key = _self.state.key; _self.deleteDraft(key, null); } }); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.props.model.removeListener(this); } }, { key: "setVisible", value: function setVisible(visible) { this.setState({ visible: visible }); if (this.props.onVisibleChange) this.props.onVisibleChange(visible); } }, { key: "render", value: function render() { var _this2 = this; if (!this.state.visible) return null; var draftTag = null; var isStyle = this.props.iStyle; var value = this.props.value; var _this$state = this.state, status = _this$state.status, sortDraftdata = _this$state.sortDraftdata; var menuItem = this.menurender(); var menu = _react["default"].createElement(_baseui.Menu, { overlayClassName: "draft_menu" }, menuItem); if (status == "add") { if (isStyle == 0) { draftTag = _react["default"].createElement(_baseui.Button, { className: "draft_header" }, _react["default"].createElement(_SvgIcon["default"], { type: "caogaoxiang" }), value); } else { draftTag = isStyle == 2 ? _react["default"].createElement(_baseui.Button, { className: "draft_header" }, _react["default"].createElement(_SvgIcon["default"], { type: "caogaoxiang" })) : _react["default"].createElement(_baseui.Button, { className: "draft_header" }, value); } } if (status == "browse") { draftTag = _react["default"].createElement(_baseui.Button, { className: "draf_button no-border-radius " }, value, " ", _react["default"].createElement(_baseui.Icon, { type: "down" })); } if (!draftTag) return null; return _react["default"].createElement(_baseui.Dropdown, { overlayClassName: "drop_menu", onVisibleChange: function onVisibleChange() { return _this2.visibleChange(); }, overlay: menu }, draftTag); } }, { key: "visibleChange", value: function visibleChange() { this.openIndexdb(); } }, { key: "compare", value: function compare(property) { return function (a, b) { var value1 = a[property]; var value2 = b[property]; return value2 - value1; }; } }, { key: "gainbillNodata", value: function gainbillNodata() { var _this3 = this; var options = { dbTableName: 'billNodata' }; (0, _indexedDB.IDB_searchData)(options).then(function (dbData) { _this3.renderData(dbData); })["catch"](function (e) { console.error(e.message); return null; }); } }, { key: "openIndexdb", value: function openIndexdb() { var _this4 = this; return (0, _indexedDB.openDB)('off-lineDB', cb.rest._dbVersion, ['billNodata']).then(function (result) { if (result) { _this4.gainbillNodata(); } else cb.utils.alert('打开数据库失败,缓存功能不可用!', 'error'); })["catch"](function (e) { console.error(e); }); } }, { key: "renderData", value: function renderData(data) { var _this$state2 = this.state, sortDraftdata = _this$state2.sortDraftdata, userId = _this$state2.userId, billNo = _this$state2.billNo; console.log('userId', userId); console.log('billNo', billNo); var selectValue = userId + '_' + billNo; var selectData = []; data.forEach(function (ele, index) { if (ele.checkKey === selectValue) { selectData.push(ele); } }); var sortData = selectData.sort(this.compare('copyTime')); sortDraftdata = (0, _slice2["default"])(sortData, 0, 15); this.setState({ sortDraftdata: sortDraftdata }); } }, { key: "menurender", value: function menurender() { var menuItem = []; var self = this; var _this$state3 = this.state, sortDraftdata = _this$state3.sortDraftdata, isIpad = _this$state3.isIpad; if (sortDraftdata && sortDraftdata.length > 0) { sortDraftdata.forEach(function (ele, index) { var _this5 = this; if (isIpad) { var enterShow = _react["default"].createElement("span", { onClick: function onClick() { return _this5.deleteDraft(ele.attrKey, true); }, className: "draft_font" }, _react["default"].createElement(_baseui.Icon, { type: "shanchu1" })); var Item = _react["default"].createElement(_baseui.Menu.Item, { className: "draft_menuItem draft_lipc", key: ele.copyTime }, _react["default"].createElement("span", { className: "draft_itemName", readOnly: true, style: { border: '0', background: 'transparent' }, onClick: function onClick() { return _this5.enterDetails(ele); } }, ele.draftName), _react["default"].createElement("span", { className: "draft_shoutime" }, ele.showtime), enterShow); menuItem.push(Item); } else { var _enterShow = _react["default"].createElement("span", { onClick: function onClick() { return _this5.deleteDraft(ele.attrKey, true); }, className: "draft_font" }, _react["default"].createElement(_baseui.Icon, { type: "shanchu1" })); var _Item = _react["default"].createElement(_baseui.Menu.Item, { className: "draft_menuItem draft_lipc", key: ele.copyTime }, _react["default"].createElement("span", { className: "draft_itemName draft_pc", readOnly: true, style: { border: '0', background: 'transparent' }, onClick: function onClick() { return _this5.enterDetails(ele); } }, ele.draftName), _enterShow); menuItem.push(_Item); } }, this); } else { menuItem = _react["default"].createElement(_baseui.Menu.Item, { className: "draft_haveNodata" }, "\u6682\u65E0\u6570\u636E"); } return menuItem; } }, { key: "enterDetails", value: function enterDetails(ele) { this.viewModel.setCache('draftInfo', { attrKey: ele.attrKey }); this.viewModel.getParams().mode = ele.savedraftstate; this.viewModel.biz["do"]('render', this.viewModel, { data: ele, dirty: true }, true); this.setState({ status: ele.savedraftstate, key: ele.attrKey }); } }, { key: "deleteDraft", value: function deleteDraft(key, isMouseEnter) { var options = { id: key, dbTableName: 'billNodata' }; (0, _indexedDB.IDB_deleteOneData)(options).then(function (result) { if (isMouseEnter != null) { cb.utils.alert('删除草稿成功', 'success'); } })["catch"](function (e) { cb.utils.alert('删除草稿失败!', 'error'); console.error(e.message); return null; }); this.setState({ bEnder: true }); } }]); return Draftbutton; }(_react["default"].Component); exports["default"] = Draftbutton; //# sourceMappingURL=Draftbutton.js.map