ming-demo3
Version:
mdf metaui web
174 lines (148 loc) • 5.43 kB
JavaScript
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 _react = _interopRequireWildcard(require("react"));
var _metaRunner = _interopRequireDefault(require("../meta-runner"));
var _Toolbar = _interopRequireDefault(require("./Toolbar"));
var PullSelect = function (_Component) {
(0, _inherits2["default"])(PullSelect, _Component);
function PullSelect(props) {
var _this;
(0, _classCallCheck2["default"])(this, PullSelect);
_this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(PullSelect).call(this, props));
var container = props.meta.containers[0];
var toolbar = container && container.containers && container.containers[0] && container.containers[0].controls || [];
toolbar.push({
cControlType: 'button',
cItemName: 'btnCancel',
cShowCaption: '取消',
iStyle: 0
});
props.viewModel.addProperty('btnCancel', new cb.models.SimpleModel({
"cItemName": "btnCancel",
"cShowCaption": "取消",
"cControlType": "button",
"iStyle": 0,
"needClear": false
}));
_this.state = {
toolbar: toolbar
};
var billNo;
try {
billNo = JSON.parse(container.cStyle).billnumber;
} catch (e) {
console.error('pull select error: ' + e.message);
}
if (!billNo) return (0, _possibleConstructorReturn2["default"])(_this);
var data = {
billtype: 'voucherlist',
billno: billNo
};
var _props$viewModel$getP = props.viewModel.getParams(),
query = _props$viewModel$getP.query;
query.source = 'pull';
data.params = {
query: query
};
cb.loader.runCommandLine('bill', data, props.viewModel, function (vm, viewmeta) {
_this.processListViewMeta(viewmeta.view);
_this.setState({
viewModel: vm,
metaData: viewmeta
});
});
toolbar.forEach(function (item) {
var cItemName = item.cItemName;
var buttonModel = props.viewModel.get(cItemName);
buttonModel.un('click');
buttonModel.on('click', function (params) {
if (cItemName === 'btnCancel') {
props.viewModel.communication({
type: 'return'
});
return;
}
var actionParams = props.viewModel.allActions.find(function (action) {
return action.cAction.trim().toLocaleLowerCase() === 'batchpush';
});
var args = Object.assign({}, actionParams, {
key: cItemName,
domain: false
}, {
params: params
});
args.disabledCallback = function () {
buttonModel.setDisabled(true);
};
args.enabledCallback = function () {
buttonModel.setDisabled(false);
};
_this.state.viewModel.biz["do"](actionParams.cAction, _this.state.viewModel, args);
});
});
return _this;
}
(0, _createClass2["default"])(PullSelect, [{
key: "processListViewMeta",
value: function processListViewMeta(container) {
delete container.templateType;
this.recursiveContainer(container);
}
}, {
key: "recursiveContainer",
value: function recursiveContainer(container) {
var _this2 = this;
if (!container.containers) return;
var toolbarIndex = container.containers.findIndex(function (item) {
var ctrlType = item.cControlType && item.cControlType.trim().toLocaleLowerCase();
return ctrlType === 'toolbar';
});
if (toolbarIndex > -1) container.containers.splice(toolbarIndex, 1);
container.containers.forEach(function (item) {
_this2.recursiveContainer(item);
});
}
}, {
key: "render",
value: function render() {
var _this$state = this.state,
viewModel = _this$state.viewModel,
metaData = _this$state.metaData,
toolbar = _this$state.toolbar;
if (!viewModel) return null;
var _this$props = this.props,
index = _this$props.index,
width = _this$props.width;
return _react["default"].createElement("div", {
className: "pullSelect-Content",
style: {
paddingBottom: 60
}
}, _react["default"].createElement(_metaRunner["default"], {
index: index,
width: width,
viewModel: viewModel,
metaData: metaData
}), toolbar && _react["default"].createElement(_Toolbar["default"], {
controls: toolbar,
model: this.props.viewModel,
config: JSON.stringify({
classname: "bottom-toolbar"
})
}));
}
}]);
return PullSelect;
}(_react.Component);
exports["default"] = PullSelect;
//# sourceMappingURL=PullSelect.js.map
;