ming-demo3
Version:
mdf metaui web
485 lines (406 loc) • 16.2 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 _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
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 _findIndex2 = _interopRequireDefault(require("lodash/findIndex"));
var _axios = _interopRequireDefault(require("axios"));
var _react = _interopRequireWildcard(require("react"));
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; }
var CheckOrgComp = function (_Component) {
(0, _inherits2["default"])(CheckOrgComp, _Component);
function CheckOrgComp(props) {
var _this2;
(0, _classCallCheck2["default"])(this, CheckOrgComp);
_this2 = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(CheckOrgComp).call(this, props));
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "handleCheck", function (item, type) {
var Params = _this2.props.model.getParams();
if (Params && Params.sigleOrg) return;
var funclist = _this2.state.funclist;
var model = _this2.props.model;
if (model.getParams().mode == "edit" && item.preset) return;
if (!type && model.getParams().mode == "browse") return;
if (item.code === "inventoryorg") {
var factoryorg = (0, _toConsumableArray2["default"])(funclist).find(function (item) {
return item.code === "factoryorg";
});
if (factoryorg && factoryorg.checked && item.checked) {
return false;
}
}
if (item.code === "financeorg") {
var taxpayerorg = (0, _toConsumableArray2["default"])(funclist).find(function (item) {
return item.code === "taxpayerorg";
});
if (taxpayerorg && taxpayerorg.checked && item.checked) {
return false;
}
}
var checkedFuncListcode = [];
var newfunclist = (0, _toConsumableArray2["default"])(funclist).map(function (value, index) {
if (value.id === item.id) {
if (!value.checked) {
if (value.code === "factoryorg") {
var inventoryorg = (0, _toConsumableArray2["default"])(funclist).find(function (item) {
return item.code === "inventoryorg";
});
if (inventoryorg && inventoryorg.checked) {} else {
setTimeout(function () {
_this2.handleCheck({
id: "ORGFUNC_INVENTORY_00016",
code: "inventoryorg",
tplcode: "org_inventory_card_body_page_base",
VO: "inventoryOrgVO",
name: "库存组织",
photo: "http://cdn.yonyoucloud.com/dev/apcenter/img/pic/007.svg",
checked: false,
preset: false,
visible: true
});
}, 0);
}
}
if (value.code === "taxpayerorg") {
var financeorg = (0, _toConsumableArray2["default"])(funclist).find(function (item) {
return item.code === "financeorg";
});
if (financeorg && financeorg.checked) {} else {
setTimeout(function () {
_this2.handleCheck({
id: "ORGFUNC_FINANCE_00002",
name: "会计主体",
photo: "http://cdn.yonyoucloud.com/dev/apcenter/img/pic/006.svg",
tplcode: "org_finance_card_body_page_base",
code: "financeorg",
VO: "financeOrgVO",
checked: false,
preset: false,
visible: true
});
}, 0);
}
}
checkedFuncListcode.push(item.code);
}
return _objectSpread({}, item, {
checked: !value.checked
});
} else {
if (value.checked) {
checkedFuncListcode.push(value.code);
}
return value;
}
});
model.setCache("funclist", JSON.stringify(newfunclist));
model.execute("checkefunc", item);
_this2.setFinOrgState(checkedFuncListcode, model);
_this2.setState({
funclist: newfunclist
});
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "setFinOrgState", function (checkedFuncListcode, model) {
var inventoryReferModel = model.get("inventoryOrg!finorgid_name");
if (checkedFuncListcode.includes("inventoryorg")) {
var hasFinflag = checkedFuncListcode.includes("financeorg");
inventoryReferModel.setState("bIsNull", hasFinflag);
inventoryReferModel.setState("bCanModify", !hasFinflag);
inventoryReferModel.setDisabled(hasFinflag);
} else {
inventoryReferModel.setState("bIsNull", true);
}
var periodschemaNameModel = model.get("financeOrg!periodschema_name");
var currencyNameModel = model.get("financeOrg!currency_name");
if (checkedFuncListcode.includes("financeorg")) {
periodschemaNameModel.setState("bIsNull", false);
currencyNameModel.setState("bIsNull", false);
} else {
periodschemaNameModel.setState("bIsNull", true);
currencyNameModel.setState("bIsNull", true);
}
});
var _this2$props = _this2.props,
meta = _this2$props.meta,
_model = _this2$props.model;
_this2.state = {
meta: meta,
companytype: null,
funclist: []
};
var _this = (0, _assertThisInitialized2["default"])(_this2);
_this.promise = new cb.promise();
_model.on("checkAllFunc", function (checkedType) {
_this.filterFunclistByCompanyType(["salesorg", "purchaseorg", "inventoryorg", "financeorg", "factoryorg"]);
});
_model.on("delOrgFun", function (OrgFun) {
if (OrgFun) {
var type = OrgFun.funcType;
var func = (0, _toConsumableArray2["default"])(_this.state.funclist).find(function (item) {
return item.code === type;
});
_this.handleCheck(func, "del");
}
});
_model.on("changetype", function (checkedType, treeId) {
var changetype = function changetype() {
if (!treeId) {
_this.filterFunclistByCompanyType(_this.getFunclist(checkedType), !treeId);
} else {
_axios["default"].get("/org/tmpl/orgId/funcType/link?orgId=".concat(treeId)).then(function (res) {
var resData = res.data;
if (resData.code == 200) {
if (resData.data && resData.data.length) {
_this.filterFunclistByCompanyType(resData.data);
} else {
_this.filterFunclistByCompanyType([]);
}
} else {
cb.utils.alert(resData.message);
return false;
}
});
}
};
if (_model.getParams().carryParams && _model.getParams().carryParams.checkedType) {
_this.promise.then(function (res) {
if (res) {
changetype();
}
});
} else {
changetype();
}
});
_model.on("updateFuncState", function (object) {
var funclist = _this.state.funclist;
funclist.forEach(function (element) {
if (element.hasOwnProperty('state')) {
delete element['state'];
}
var key = element.code.replace('org', 'Org!enable');
if (object[key] !== undefined) {
element.state = object[key];
}
});
_this.setState({
funclist: funclist
});
});
return _this2;
}
(0, _createClass2["default"])(CheckOrgComp, [{
key: "componentDidMount",
value: function componentDidMount() {
var _this = this;
_axios["default"].get("/org/tmpl/functype/list").then(function (res) {
var resData = res.data;
if (resData.code == 200) {
if (resData.data.length) {
_this.setState({
funclist: (0, _toConsumableArray2["default"])(resData.data).filter(function (item) {
return item.visible;
})
});
_this.promise.resolve(true);
}
} else {
_this.promise.resolve(false);
cb.utils.alert(resData.message, "error");
}
});
}
}, {
key: "getFunclist",
value: function getFunclist(companytype) {
var code = companytype.code,
name = companytype.name;
if (!code) {
code = name;
}
var checkedFuncListcode = [];
switch (code) {
case "company":
case "公司":
checkedFuncListcode = ["adminorg", "financeorg"];
break;
case "factory":
case "工厂":
checkedFuncListcode = ["adminorg", "factoryorg", "inventoryorg"];
break;
case "banshichu":
case "branchCompany":
case "办事处":
case "分公司":
checkedFuncListcode = ["adminorg", "salesorg"];
break;
case "shiyebu":
case "事业部":
checkedFuncListcode = ["adminorg", "salesorg", "purchaseorg", "inventoryorg"];
break;
case "maoyigongsi":
case "贸易公司":
checkedFuncListcode = ["adminorg", "salesorg"];
break;
case "cangchuzhongxin":
case "仓储中心":
checkedFuncListcode = ["adminorg", "inventoryorg"];
break;
case "yanfazhongxin":
case "研发中心":
checkedFuncListcode = ["adminorg"];
break;
case "qitaleixing":
case "研发中心":
checkedFuncListcode = [];
break;
default:
break;
}
return checkedFuncListcode;
}
}, {
key: "filterFunclistByCompanyType",
value: function filterFunclistByCompanyType(funclists) {
var isAdd = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var _this$state$funclist = this.state.funclist,
funclist = _this$state$funclist === void 0 ? [] : _this$state$funclist;
var model = this.props.model;
var checkedFuncListcode = [];
if (funclists && funclists.length) {
if (funclists.includes("inventoryorg") && funclists.includes("financeorg")) {
model.get("inventoryOrg!finorgid_name").setValue(undefined);
}
checkedFuncListcode = (0, _toConsumableArray2["default"])(funclists);
}
var newfunclist = (0, _toConsumableArray2["default"])(funclist);
if (checkedFuncListcode.length) {
newfunclist = newfunclist.map(function (value) {
var flag = checkedFuncListcode.includes(value.code);
model.execute("updateViewMeta", {
code: value.tplcode || " ",
visible: flag
});
if (isAdd) delete value.state;
return _objectSpread({}, value, {
checked: flag,
preset: funclists.includes(value.code)
});
});
} else {
newfunclist = newfunclist.map(function (value, index) {
model.execute("updateViewMeta", {
code: value.tplcode || " ",
visible: false
});
if (isAdd) delete value.state;
return _objectSpread({}, value, {
checked: false,
preset: false
});
});
}
try {
var hasOrgFlag = function hasOrgFlag(str) {
return newfunclist.some(function (item) {
return item.code === str;
});
};
var orgCards = [{
code: 'assetsorg',
cCode: 'org_assets_card_body_page_base'
}, {
code: 'inventoryorg',
cCode: 'org_inventory_card_body_page_base'
}, {
code: 'factoryorg',
cCode: 'org_factory_card_body_page_base'
}, {
code: 'taxpayerorg',
cCode: 'org_taxpayer_card_body_page_base'
}, {
code: 'salesorg',
cCode: 'org_sales_card_body_page_base'
}, {
code: 'financeorg',
cCode: 'org_finance_card_body_page_base'
}, {
code: 'purchaseorg',
cCode: 'org_purchase_card_body_page_base'
}];
orgCards.forEach(function (item) {
if (!hasOrgFlag(item.code)) {
model.execute("updateViewMeta", {
code: item.cCode,
visible: false
});
}
});
this.setFinOrgState(checkedFuncListcode, model);
} catch (error) {
console.error(error);
}
this.setState({
funclist: newfunclist
});
model.setCache("funclist", JSON.stringify(newfunclist));
}
}, {
key: "render",
value: function render() {
var _this3 = this;
var funclist = this.state.funclist;
var mode = this.props.model.getParams().mode;
var hasChecked = (0, _findIndex2["default"])(funclist, {
checked: true
});
if (!funclist.length) return null;
return _react["default"].createElement("div", {
className: "check-orgfuntype".concat(hasChecked === -1 ? ' bottom-70' : '')
}, funclist.map(function (item) {
var itemclass = 'func-item';
var title = '';
if (item.checked) {
itemclass += " checked";
}
if (mode === 'browse') {
itemclass += " browse";
}
if (item.state === 0) {
title = '未启用';
} else if (item.state === 1) {
title = '已启用';
itemclass += " enable";
} else if (item.state === 2) {
title = '已停用';
itemclass += " stoped";
} else {
title = "".concat(item.preset ? '未启用' : item.state === undefined ? '' : '未选中');
}
return _react["default"].createElement("div", {
key: item.id,
className: itemclass,
onClick: function onClick() {
return _this3.handleCheck(item);
}
}, _react["default"].createElement("div", {
className: "func-item-checkbox",
title: title
}, item.name));
}));
}
}]);
return CheckOrgComp;
}(_react.Component);
exports["default"] = CheckOrgComp;
//# sourceMappingURL=CheckOrgComp.js.map
;