UNPKG

ming-demo3

Version:
485 lines (406 loc) 16.2 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 _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