UNPKG

@wufengteam/inputs

Version:

平台提供的右侧属性编辑器,需要在主工程中注册

267 lines (265 loc) 14 kB
"use strict"; function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireWildcard(require("react")); var _antd = require("antd"); var _flow = require("@alita/flow"); var _icons = require("@ant-design/icons"); var _core = require("@wufengteam/core"); var _attrfilter = _interopRequireDefault(require("@wufengteam/attrfilter")); var _constants = require("./constants"); var _utils = require("../utils"); require("./index.css"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } var __rest = void 0 && (void 0).__rest || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; /* eslint-disable no-console */ // // @ts-ignore // import DelPng from './dDel.png'; // // @ts-ignore // import AddPng from './dData.png'; var useForm = _antd.Form.useForm; var prefix = "".concat(_utils.cssPrefixCls, "-filter-attr"); var AttrFilter = function AttrFilter(_ref) { var value = _ref.value, DSLCore = _ref.DSLCore, tooltipText = _ref.tooltipText, onChange = _ref.onChange; var _a; // selectAttr默认给[],否则未选择显示字段的时候会报错 var _ref2 = ((_a = DSLCore === null || DSLCore === void 0 ? void 0 : DSLCore.current) === null || _a === void 0 ? void 0 : _a.props) || {}, parityOtherForm = _ref2.parityOtherForm, subFormFields = _ref2.subFormFields; var _useState = (0, _react.useState)(parityOtherForm), _useState2 = _slicedToArray(_useState, 2), selfBindForm = _useState2[0], setSelfBindForm = _useState2[1]; var _useState3 = (0, _react.useState)(value), _useState4 = _slicedToArray(_useState3, 2), options = _useState4[0], setOptions = _useState4[1]; var _useState5 = (0, _react.useState)('AND'), _useState6 = _slicedToArray(_useState5, 2), queryLogic = _useState6[0], setQueryLogic = _useState6[1]; var components = subFormFields || []; var formOptions = components.filter(function (item) { return ['Input', 'Select', 'MultipleSelect', 'DatePicker', 'TimePicker', 'RangePicker', 'TextArea', 'InputNumber', 'Password', 'Radio', 'CheckboxGroup', 'InputPhone', 'InputMail', 'TreeSelect', 'Cascader'].includes(item === null || item === void 0 ? void 0 : item.compName); }).map(function (i) { var _a; return { label: ((_a = i === null || i === void 0 ? void 0 : i.props) === null || _a === void 0 ? void 0 : _a.name) || (i === null || i === void 0 ? void 0 : i.label), value: i === null || i === void 0 ? void 0 : i.id, compType: i.compName, key: i.id }; }); var _useState7 = (0, _react.useState)(false), _useState8 = _slicedToArray(_useState7, 2), visible = _useState8[0], setVisible = _useState8[1]; var _useState9 = (0, _react.useState)([]), _useState10 = _slicedToArray(_useState9, 2), selfValue = _useState10[0], setSelfValue = _useState10[1]; var _useForm = useForm(), _useForm2 = _slicedToArray(_useForm, 1), form = _useForm2[0]; var confirm = function confirm() { form.submit(); }; var onFinish = function onFinish(values) { // #10685681 表单关联关系-后端需要关联组件中增加attrName和attrId两个属性 var newValue = values.map(function (it) { var filter = formOptions === null || formOptions === void 0 ? void 0 : formOptions.find(function (opt) { return (opt === null || opt === void 0 ? void 0 : opt.value) === (it === null || it === void 0 ? void 0 : it.attrCode); }); var filterL = options === null || options === void 0 ? void 0 : options.find(function (opt) { return (opt === null || opt === void 0 ? void 0 : opt.attrCode) === (it === null || it === void 0 ? void 0 : it.screenInput); }); return Object.assign(Object.assign({}, it), { attrName: filter === null || filter === void 0 ? void 0 : filter.label, screenInputName: filterL === null || filterL === void 0 ? void 0 : filterL.attrName, queryLogic: queryLogic }); }); setVisible(false); onChange === null || onChange === void 0 ? void 0 : onChange(newValue); }; var onClose = function onClose() { setVisible(false); }; /** * 查询表单的字段 */ var queryFormFiledById = function queryFormFiledById(id, appId) { if (!id || !appId) return; _core.wufengController.getAction('queryFormFiledById', { catalogItemId: id, appId: appId }).then(function (res) { var _ref3 = res || {}, resultObject = _ref3.resultObject, resultCode = _ref3.resultCode; if (res && resultCode === '0') { if (Array.isArray(resultObject)) { var optionsTemp = []; resultObject.forEach(function (item) { if (!(item.attrCode.includes('obj_') || (item === null || item === void 0 ? void 0 : item.queryFormFiledById) === 'flow' || (item === null || item === void 0 ? void 0 : item.attrCode) === 'created_name' || (item === null || item === void 0 ? void 0 : item.attrCode) === 'created_time' || (item === null || item === void 0 ? void 0 : item.attrCode) === 'updated_name' || (item === null || item === void 0 ? void 0 : item.attrCode) === 'updated_time' || (item === null || item === void 0 ? void 0 : item.attrCode) === 'creator_org_name' || (item === null || item === void 0 ? void 0 : item.attrCode) === 'updator_org_name')) { optionsTemp.push({ attrCode: item.attrCode, attrName: item.attrName, busiObjectId: item.busiObjectId, // children:item.children compType: item.compType, key: item.attrCode, label: item.attrName, staticCode: item.staticCode, value: item.attrCode, attrId: item.busiObjectAttrId }); } }); setOptions(optionsTemp); } } }); }; (0, _react.useEffect)(function () { var _a; if (Array.isArray(value) && value.length > 0) { setQueryLogic(((_a = value[0]) === null || _a === void 0 ? void 0 : _a.queryLogic) || 'AND'); } setSelfValue(value); form === null || form === void 0 ? void 0 : form.setFieldsValue({ formShowColumnsList: value || [] }); }, [JSON.stringify(value)]); (0, _react.useEffect)(function () { if (parityOtherForm && selfBindForm && (parityOtherForm === null || parityOtherForm === void 0 ? void 0 : parityOtherForm.catalogItemId) !== (selfBindForm === null || selfBindForm === void 0 ? void 0 : selfBindForm.catalogItemId)) { form === null || form === void 0 ? void 0 : form.setFieldsValue({ formShowColumnsList: [] }); setSelfValue([]); } setSelfBindForm(parityOtherForm); queryFormFiledById(parityOtherForm === null || parityOtherForm === void 0 ? void 0 : parityOtherForm.catalogItemId, parityOtherForm === null || parityOtherForm === void 0 ? void 0 : parityOtherForm.appId); }, [JSON.stringify(parityOtherForm)]); return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", { onClick: function onClick(e) { e.stopPropagation(); setVisible(!visible); }, className: prefix }, /*#__PURE__*/_react.default.createElement("div", { className: "".concat(prefix, "-select") }, /*#__PURE__*/_react.default.createElement(_antd.Select, { value: (selfValue === null || selfValue === void 0 ? void 0 : selfValue.length) > 0 ? '已设置过滤条件' : '请设置', dropdownStyle: { display: 'none' }, style: { width: '100%' } })), tooltipText && ( /*#__PURE__*/_react.default.createElement("div", { className: "".concat(prefix, "-ques") }, /*#__PURE__*/_react.default.createElement(_antd.Tooltip, { title: tooltipText }, /*#__PURE__*/_react.default.createElement(_icons.QuestionCircleOutlined, { style: { color: '#9E9E9E' } }))))), /*#__PURE__*/_react.default.createElement(_antd.Drawer, { closable: false, title: "\u6821\u9A8C\u8BE6\u60C5", placement: "right", width: 850, onClose: onClose, visible: visible }, /*#__PURE__*/_react.default.createElement(_flow.Page, null, /*#__PURE__*/_react.default.createElement(_flow.Header, null, /*#__PURE__*/_react.default.createElement("div", { style: { height: '50px' } })), /*#__PURE__*/_react.default.createElement(_flow.Content, null, /*#__PURE__*/_react.default.createElement("div", { className: "".concat(prefix, "-header") }, /*#__PURE__*/_react.default.createElement("div", null, "\u7B26\u5408\u4EE5\u4E0B"), /*#__PURE__*/_react.default.createElement(_antd.Select, { value: queryLogic, style: { width: 65, fontSize: 14 }, bordered: false, size: "small", options: [{ value: 'OR', label: '任一' }, { value: 'AND', label: '所有' }], onChange: function onChange(e) { setQueryLogic(e); } }), /*#__PURE__*/_react.default.createElement("div", null, "\u6761\u4EF6\u7684\u6570\u636E")), /*#__PURE__*/_react.default.createElement("div", { className: "".concat(prefix, "-AttrFilterForm") }, /*#__PURE__*/_react.default.createElement(_attrfilter.default, { isSubForm: true, form: form, addTitle: "\u589E\u52A0\u6761\u4EF6", value: selfValue, onChange: onFinish, targetOptions: options, options: formOptions, showOr: false, showRelated: false, ignoreKeyList: ['updator_id', 'created_name', 'creator_id', 'created_time', 'updated_name', 'updated_time', 'creator_org_name', 'flow_status'], filterCondition: _constants.DATA_MANAGE_FILTER_CONDITION, filterFieldType: _constants.DATA_MANAGE_FILTER_FIELD_TYPE, ignoreCompList: [ // 不需要展示的组件 'ImgUpload', 'StdUpload', 'VideoUpload', 'Attachments', 'Autograph', 'TextRecognition', 'EditableTable', 'QuillEditor', 'RichTextEditor', 'Location', 'BindTable', 'Api', 'SubForm' // 子表单 ], placeholderL: "\u5B50\u8868\u5355\u5B57\u6BB5" }))), /*#__PURE__*/_react.default.createElement(_flow.Footer, null, /*#__PURE__*/_react.default.createElement(_antd.Space, { size: "small", style: { padding: '20px 32px', display: 'flex', flexDirection: 'row-reverse' } }, /*#__PURE__*/_react.default.createElement(_antd.Button, { onClick: onClose }, "\u53D6\u6D88"), /*#__PURE__*/_react.default.createElement(_antd.Button, { type: "primary", onClick: confirm }, "\u786E\u8BA4")))))); }; var FilterAttr = function FilterAttr(_a) { var name = _a.name, rules = _a.rules, label = _a.label, other = __rest(_a, ["name", "rules", "label"]); return /*#__PURE__*/_react.default.createElement(_antd.Form.Item, { label: label, name: name, rules: rules }, /*#__PURE__*/_react.default.createElement(AttrFilter, Object.assign({}, other))); }; var _default = exports.default = FilterAttr;