{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\form\\FieldPanel.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\form\\FieldPanel.vue","mtime":1675071991960},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["import \"core-js/modules/es7.object.get-own-property-descriptors\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/es6.array.find\";\nimport _defineProperty from \"D:/jenkins/workspace/xq-web-bpm/node_modules/@babel/runtime/helpers/esm/defineProperty\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.regexp.split\";\nimport _readOnlyError from \"D:/jenkins/workspace/xq-web-bpm/node_modules/@babel/runtime/helpers/esm/readOnlyError\";\nimport \"core-js/modules/es6.function.name\";\n\nfunction 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; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport Draggable from \"vuedraggable\";\nimport deepmerge from \"deepmerge\";\nimport { basicComponents, layoutComponents, advanceComponents } from \"@/api/controlsConfig.js\";\nimport req from \"@/request.js\";\n\nvar EipCopyFormDialog = function EipCopyFormDialog() {\n return import(\"@/components/dialog/EipCopyFormDialog.vue\");\n};\n\nexport default {\n name: \"field-panel\",\n components: {\n Draggable: Draggable,\n EipCopyFormDialog: EipCopyFormDialog\n },\n props: [\"boDefIds\", \"widgetForm\", \"formType\", \"formId\", \"copyFormList\"],\n data: function data() {\n return {\n showFiledList: [],\n basicComponents: basicComponents,\n layoutComponents: layoutComponents,\n advanceComponents: advanceComponents,\n activeName: \"controlLayout\",\n boTreeData: [],\n activeBoTreeMenu: \"0\",\n activeCopyFormNames: [\"form0\"],\n selectedMap: {},\n boDefIdMap: {},\n copyFiledMap: {},\n copyFormBoTreeData: []\n };\n },\n created: function created() {\n if (this.copyFormList && this.copyFormList.length > 0) {\n this.initGenerateBoTreeData(this.boDefIds, true);\n }\n },\n watch: {\n boDefIds: {\n handler: function handler(newVal) {\n this.copyFiledMap = {};\n this.initGenerateBoTreeData(newVal);\n }\n },\n widgetForm: {\n handler: function handler(val, oldVal) {\n if (val && val.list && val.list.length > 0) {\n this.initSelectedMap(val.list);\n } else {\n this.selectedMap = {};\n }\n },\n deep: true\n }\n },\n methods: {\n handleMoveEnd: function handleMoveEnd(evt) {},\n handleMoveStart: function handleMoveStart(evt) {\n // 新增控件时 将控件属性切断联系\n evt.item._underlying_vm_ = deepmerge({}, evt.item._underlying_vm_, {\n clone: true\n });\n var key = Date.parse(new Date()) + \"_\" + Math.ceil(Math.random() * 99999);\n evt.item._underlying_vm_.key = key;\n },\n handleFiledMoveStart: function handleFiledMoveStart(evt) {\n // 新增控件时 将控件属性切断联系\n var fieldControl = this.getFieldControl(evt.item._underlying_vm_);\n\n if (this.selectedMap[fieldControl.tableName + \"_\" + fieldControl.name]) {\n this.$message({\n message: \"字段【\" + fieldControl.desc + \"】已绑定控件,不能多次绑定。\",\n type: \"warning\"\n });\n delete evt.item._underlying_vm_;\n return;\n } //添加拖拽方式属性\n\n\n fieldControl.dragType = \"field\";\n evt.item._underlying_vm_ = deepmerge({}, fieldControl, {\n clone: true\n });\n var key = Date.parse(new Date()) + \"_\" + Math.ceil(Math.random() * 99999);\n evt.item._underlying_vm_.key = key;\n },\n handleCopyFiledMoveStart: function handleCopyFiledMoveStart(formKey, evt) {\n var _this2 = this;\n\n // 新增控件时 将控件属性切断联系\n var fieldControl = this.getCopyFieldControl(formKey, evt.item._underlying_vm_);\n\n if (!fieldControl || typeof fieldControl == \"undefined\") {\n this.$message({\n message: \"未找到该复用字段的控件。\",\n type: \"warning\"\n });\n fieldControl = (_readOnlyError(\"fieldControl\"), this.getFieldControl(evt.item._underlying_vm_));\n }\n\n if (this.selectedMap[fieldControl.tableName + \"_\" + fieldControl.name]) {\n this.$message({\n message: \"字段【\" + fieldControl.desc + \"】已绑定控件,不能多次绑定。\",\n type: \"warning\"\n });\n delete evt.item._underlying_vm_;\n return;\n } //添加拖拽方式属性\n\n\n fieldControl.dragType = \"copy\";\n evt.item._underlying_vm_ = deepmerge({}, fieldControl, {\n clone: true\n });\n var key = Date.parse(new Date()) + \"_\" + Math.ceil(Math.random() * 99999);\n evt.item._underlying_vm_.key = key; //检测有没有绑定指定属性或事件,如果有提示注意检查是否涉及到其他BO导致绑定属性或事件失效\n\n setTimeout(function () {\n return _this2.validateFieldProperty(fieldControl);\n }, 1500);\n },\n handleMove: function handleMove(evt) {},\n handleClick: function handleClick(tab, event) {\n if (tab.name == \"attributeField\" && this.boDefIds && (!this.boTreeData || this.boTreeData.length == 0)) {\n this.initGenerateBoTreeData(this.boDefIds);\n }\n },\n validateFieldProperty: function validateFieldProperty(filed) {\n if (filed && filed.options) {\n var propertyList = []; //判断计算公式\n\n if (filed.options.formulasDiyJs) {\n propertyList.push(\"【计算公式】\");\n } //判断联动设置\n\n\n if (filed.options.linkage) {\n propertyList.push(\"【联动设置】\");\n } //判断统计函数\n\n\n if (filed.options.mathExp) {\n propertyList.push(\"【字段校验】\");\n } //判断文本内容的变量\n\n\n if (filed.options.textValue) {\n propertyList.push(\"【文本内容变量】\");\n } //判断字段校验\n\n\n if (filed.options.validateList && filed.options.validateList.length > 0) {\n propertyList.push(\"【字段校验】\");\n }\n\n if (propertyList.length > 0) {\n var msg = \"复用字段“\" + filed.desc + \"”中设置了\" + propertyList.join(\",\") + \",请检查是否存在绑定非当前BO字段,如果存在需自行修改,否则可能会影响相关功能效果。\";\n this.$message({\n message: msg,\n type: \"warning\",\n duration: 5500\n });\n }\n }\n },\n getTitleStyle: function getTitleStyle(entName, fieldName) {\n if (this.selectedMap[entName + \"_\" + fieldName]) {\n return \"color:#bdbfc2;\";\n }\n\n return \"color:#212121;\";\n },\n initGenerateBoTreeData: function initGenerateBoTreeData(boDefIds, initCopyForm) {\n if (boDefIds) {\n var _this = this;\n\n var ids = boDefIds.split(\",\");\n ids.forEach(function (defId) {\n _this.boDefIdMap[defId] = true;\n });\n req.get(\"${form}/form/form/v1/generateBoTreeData?boDefIds=\" + boDefIds).then(function (data) {\n var response = data.data;\n\n if (response.state) {\n _this.boTreeData = JSON.parse(response.value);\n }\n\n if (initCopyForm) {\n _this.formDialogConfirm(_this.copyFormList, true);\n\n _this.initSelectedMap(_this.widgetForm.list);\n }\n });\n } else {\n this.boTreeData = [];\n this.boDefIdMap = {};\n }\n },\n getFieldControl: function getFieldControl(field) {\n var baseObj = {\n name: field.name,\n target: field.name,\n desc: field.comment,\n title: field.comment,\n boAttrId: field.boAttrId,\n fieldPath: field.fieldPath,\n entId: field.entId,\n boDefAlias: field.boDefAlias,\n tableName: field.tableName,\n columnType: field.dataType\n };\n\n if (field.fieldPath.split(\".\").length > 2) {\n baseObj.parentNodeType = \"sun\";\n baseObj.boSubEntity = field.tableName;\n }\n\n var key = Date.parse(new Date()) + \"_\" + Math.ceil(Math.random() * 99999);\n\n if (field.dataType == \"number\") {\n var option = {\n icon: \"icon-single\",\n ctrlType: \"number\",\n key: key,\n columnType: \"number\",\n options: {\n defaultValue: 0,\n min: 0,\n max: 99999,\n step: 1,\n decimalDigits: field.decimalLen,\n maxDecimalDigits: field.decimalLen,\n filtercurrency: \"\",\n filterthousandBit: \"\",\n advancedProperty: \"inputType|bindPreAndSufFix\",\n basicsProperty: \"number|currency|placeholder|dateCount\",\n controlsPosition: \"\",\n company: \"\",\n validateType: \"min_value|max_value|confirmed|numeric|between|digits|required|row_unique|frontJSValidate|mobile\",\n dataType: \"number\",\n validateList: [],\n disabled: false,\n formulasDiyJs: \"\",\n lableColor: \"#969799\",\n mathExp: \"\",\n bindPreAndSufFixjson: {\n preFix: \"\",\n sufSix: \"\"\n }\n }\n };\n return _objectSpread(_objectSpread({}, baseObj), option);\n } else if (field.dataType == \"date\") {\n var _option = {\n icon: \"icon-date\",\n ctrlType: \"date\",\n key: key,\n columnType: \"date\",\n options: {\n defaultValue: \"\",\n dataType: \"date\",\n validateType: \"isAfter|isBefore|isStart|isEnd|required|row_unique|frontJSValidate\",\n advancedProperty: \"isEditor|isInputEdit\",\n placeholder: \"\",\n basicsProperty: \"date|placeholder\",\n validate: \"\",\n readonly: false,\n editable: true,\n clearable: true,\n timestamp: false,\n required: false,\n type: \"date\",\n validateList: [],\n disabled: false,\n formulasDiyJs: \"\",\n lableColor: \"#969799\",\n mathExp: \"\",\n bindPreAndSufFixjson: {\n preFix: \"\",\n sufSix: \"\"\n },\n format: field.format,\n inputFormat: field.format\n }\n };\n return _objectSpread(_objectSpread({}, baseObj), _option);\n } else if (field.dataType == \"clob\") {\n var _option2 = {\n icon: \"icon-single\",\n ctrlType: \"textarea\",\n key: key,\n columnType: \"clob\",\n options: {\n width: \"100%\",\n isWidth: true,\n defaultValue: \"\",\n dataType: \"clob\",\n validateType: \"regex|min|max|required|row_unique|frontJSValidate|backendValidate\",\n advancedProperty: \"isEditor|isInputEdit\",\n placeholder: \"\",\n basicsProperty: \"placeholder\",\n validateList: [],\n disabled: false,\n formulasDiyJs: \"\",\n lableColor: \"#969799\"\n }\n };\n return _objectSpread(_objectSpread({}, baseObj), _option2);\n } else {\n var _option3 = {\n icon: \"icon-single\",\n ctrlType: \"input\",\n key: key,\n options: {\n width: \"100%\",\n isWidth: true,\n defaultValue: \"\",\n isCountDate: false,\n mathExp: \"\",\n isStartDate: \"\",\n isEndDate: \"\",\n countFormat: \"day\",\n dataType: \"string|number\",\n validateList: [],\n validate: \"\",\n validateType: \"confirmed|email|regex|min|max|min_value|max_value|isAfter|isBefore|isStart|isEnd|numeric|between|is|digits|mobile|required|row_unique|alpha_spaces|alpha_dash|alpha_num|alpha|frontJSValidate|backendValidate\",\n advancedProperty: \"isInputEdit|isBindIdentity|inputType|bindPreAndSufFix\",\n placeholder: \"\",\n disabled: false,\n basicsProperty: \"input|dateCount|placeholder\",\n bindIdentityjson: {},\n isBindPreAndSufFix: false,\n bindPreAndSufFixjson: {\n preFix: \"\",\n sufSix: \"\"\n },\n formulasDiyJs: \"\",\n lableColor: \"#969799\",\n showCondition: {\n target: '',\n fieldPath: '',\n value: ''\n }\n }\n };\n return _objectSpread(_objectSpread({}, baseObj), _option3);\n }\n\n return null;\n },\n getCopyFieldControl: function getCopyFieldControl(formKey, field) {\n if (this.copyFiledMap[formKey] && this.copyFiledMap[formKey][formKey + \"_\" + field.tableName + \"_\" + field.name]) {\n return this.copyFiledMap[formKey][formKey + \"_\" + field.tableName + \"_\" + field.name];\n } else {\n return null;\n }\n },\n initSelectedMap: function initSelectedMap(rootList, formKey) {\n var this_ = this;\n var newMap = {};\n\n var getFieldMap = function getFieldMap(newMap, obj, type) {\n switch (type) {\n case \"grid\":\n if (obj.columns && obj.columns.length > 0) {\n obj.columns.forEach(function (citem) {\n if (citem.list && citem.list.length > 0) {\n citem.list.forEach(function (gitem) {\n if (gitem.fieldPath) {\n if (formKey) {\n newMap[formKey + \"_\" + gitem.tableName + \"_\" + gitem.name] = _objectSpread({}, gitem);\n } else {\n newMap[gitem.tableName + \"_\" + gitem.name] = true;\n }\n }\n });\n }\n });\n }\n\n break;\n\n case \"table\":\n if (obj.rows && obj.rows.length > 0) {\n obj.rows.forEach(function (ritem) {\n if (ritem.cols && ritem.cols.length > 0) {\n ritem.cols.forEach(function (citem) {\n citem.list.forEach(function (item) {\n if (item.fieldPath) {\n if (formKey) {\n newMap[formKey + \"_\" + item.tableName + \"_\" + item.name] = _objectSpread({}, item);\n } else {\n newMap[item.tableName + \"_\" + item.name] = true;\n }\n }\n });\n });\n }\n });\n }\n\n break;\n\n default:\n break;\n }\n };\n\n var getLayoutMap = function getLayoutMap(list, newMap) {\n list.forEach(function (listItem) {\n if (listItem.fieldPath) {\n if (formKey) {\n newMap[formKey + \"_\" + listItem.tableName + \"_\" + listItem.name] = _objectSpread({}, listItem);\n } else {\n newMap[listItem.tableName + \"_\" + listItem.name] = true;\n }\n } else if (listItem.ctrlType) {\n switch (listItem.ctrlType) {\n case \"tab\":\n case \"accordion\":\n if (listItem.columns && listItem.columns.length > 0) {\n listItem.columns.forEach(function (aitem) {\n if (aitem.list && aitem.list.length > 0) {\n getLayoutMap(aitem.list, newMap);\n }\n });\n }\n\n break;\n\n case \"grid\":\n getFieldMap(newMap, listItem, \"grid\");\n break;\n\n case \"table\":\n getFieldMap(newMap, listItem, \"table\");\n break;\n\n case \"subtable\":\n if (listItem.list && listItem.list.length > 0) {\n listItem.list.forEach(function (item) {\n if (item.fieldPath) {\n if (formKey) {\n newMap[formKey + \"_\" + item.tableName + \"_\" + item.name] = _objectSpread({}, item);\n } else {\n newMap[item.tableName + \"_\" + item.name] = true;\n }\n } else if (item.ctrlType == \"sunDiv\" || item.ctrlType == \"suntable\") {\n if (item.list && item.list.length > 0) {\n item.list.forEach(function (sunitem) {\n if (sunitem.fieldPath) {\n if (formKey) {\n newMap[formKey + \"_\" + sunitem.tableName + \"_\" + sunitem.name] = _objectSpread({}, sunitem);\n } else {\n newMap[sunitem.tableName + \"_\" + sunitem.name] = true;\n }\n } else if (sunitem.ctrlType == \"grid\") {\n getFieldMap(newMap, sunitem, \"grid\");\n }\n });\n }\n }\n });\n }\n\n break;\n\n case \"subDiv\":\n if (listItem.list && listItem.list.length > 0) {\n listItem.list.forEach(function (item) {\n if (item.fieldPath) {\n newMap[item.tableName + \"_\" + item.name] = true;\n } else if (item.ctrlType == \"grid\") {\n getFieldMap(newMap, item, \"grid\");\n } else if (item.ctrlType == \"sunDiv\" || item.ctrlType == \"suntable\") {\n if (item.list && item.list.length > 0) {\n item.list.forEach(function (sunitem) {\n if (sunitem.fieldPath) {\n if (formKey) {\n newMap[formKey + \"_\" + sunitem.tableName + \"_\" + sunitem.name] = _objectSpread({}, sunitem);\n } else {\n newMap[sunitem.tableName + \"_\" + sunitem.name] = true;\n }\n } else if (sunitem.ctrlType == \"grid\") {\n getFieldMap(newMap, sunitem, \"grid\");\n }\n });\n }\n }\n });\n }\n\n break;\n\n default:\n break;\n }\n } else {}\n });\n\n if (newMap) {\n //获取可以复用的字段集合\n for (var key in newMap) {\n this_.showFiledList.push(newMap[key]);\n }\n }\n };\n\n getLayoutMap(rootList, newMap);\n\n if (formKey) {\n this.copyFiledMap[formKey] = newMap;\n } else {\n this.selectedMap = newMap;\n }\n },\n addCopyForms: function addCopyForms() {\n this.$refs.eipCopyFormDialog.showDialog();\n },\n addCopyForm: function addCopyForm(form) {\n var formObj = {\n key: form.formKey,\n name: form.name,\n boTreeData: []\n };\n\n var _this = this;\n\n var copyBoTree = function copyBoTree(defId) {\n var copyTreeData = {};\n\n _this.boTreeData.forEach(function (treeData) {\n if (treeData.id == defId) {\n copyTreeData = _objectSpread({}, treeData);\n }\n });\n\n return copyTreeData;\n };\n\n form.boDefList.forEach(function (defId) {\n if (_this.boDefIdMap[defId]) {\n var copyTree = copyBoTree(defId);\n\n if (JSON.stringify(copyTree) != \"{}\") {\n formObj.boTreeData.push(copyTree);\n }\n }\n });\n\n if (formObj.boTreeData.length > 0) {\n var expand = JSON.parse(form.expand);\n this.initSelectedMap(expand.list, form.formKey);\n this.copyFormBoTreeData.push(formObj);\n } else {\n this.$message({\n message: \"表单【\" + form.name + \"】不能被复用。\",\n type: \"warning\"\n });\n }\n },\n formDialogConfirm: function formDialogConfirm(data, init) {\n if (data && data.length > 0) {\n var _this = this;\n\n data.forEach(function (form) {\n if (form.expand && form.boDefList && form.boDefList.length > 0) {\n _this.addCopyForm(form);\n\n if (!init) {\n _this.$emit('addTocopyFormList', form);\n }\n }\n });\n }\n },\n //判断哪些字段可以复用\n isShow: function isShow(attr) {\n if (this.showFiledList.length > 0) {\n var isShow = this.showFiledList.find(function (obj) {\n return obj.fieldPath == attr.fieldPath;\n });\n\n if (isShow) {\n return true;\n } else {\n return false;\n }\n } else {\n return false;\n }\n }\n }\n};",null]}