ming-demo3
Version:
mdf metaui web
329 lines (288 loc) • 10.1 kB
JavaScript
"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