{"remainingRequest":"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\\AdvancedProperty.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\form\\AdvancedProperty.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":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n import ValidataProperty from \"@/components/form/ValidataProperty.vue\";\n import htEditor from \"@/components/common/HtEditor.vue\";\n import i18nMessageEdit from \"@/components/system/I18nMessageEdit.vue\";\n import MathDialog from \"@/components/form/customView/MathDialog.vue\";\n\n export default {\n name: \"advabced-property\",\n props: [\"data\", \"mainBoFields\", \"allBoData\", \"boDefData\", \"fieldIndexData\"],\n components: { ValidataProperty, htEditor, i18nMessageEdit, MathDialog },\n data() {\n return {\n myConfig: {\n initialFrameHeight: 240,\n UEDITOR_HOME_URL: window.location.origin +'/'+ window.location.pathname.split('/')[1]+'/static/ueditor/',\n toolbars: [\n [\n // 'source', //源代码\n 'undo', //撤销\n 'bold', //加粗\n 'indent', //首行缩进\n 'italic', //斜体\n 'underline', //下划线\n 'strikethrough', //删除线\n 'subscript', //下标\n 'fontborder', //字符边框\n 'superscript', //上标\n 'formatmatch', //格式刷\n 'forecolor',//字体颜色\n 'justifyleft', //居左对齐\n 'justifycenter', //居中对齐\n 'justifyright', //居右对齐\n 'justifyjustify', //两端对齐\n 'fontfamily', //字体\n 'fontsize', //字号\n 'insertorderedlist', //有序列表\n 'insertunorderedlist', //无序列表\n 'lineheight',//行间距\n 'inserttable', //插入表格\n ]\n ],\n // 初始容器宽度\n initialFrameWidth: \"100%\",\n zIndex:9999,\n enableAutoSave: false,\n readonly : false\n },\n effectObj: {\n validateObj: {\n fieldPath: this.data.fieldPath,\n options: {\n validateList: [],\n validate: \"\",\n validateType:\n \"confirmed|email|regex|min|max|min_value|max_value|isAfter|isBefore|isStart|isEnd|numeric|between|is|digits|mobile|required|alpha_spaces|alpha_dash|alpha_num|alpha|method\"\n }\n }\n },\n field: this.data,\n customQuerys: [],\n customQueryUrl: \"\",\n fields: [],\n dialogLinkageVisible: false, //联动设置对话框\n linkage: [\n {\n value: \"\",\n effect: [\n {\n validateObj: {\n fieldPath: this.data.fieldPath,\n options: {\n validateList: [],\n validate: \"\",\n validateType:\n \"confirmed|email|regex|min|max|min_value|max_value|isAfter|isBefore|isStart|isEnd|numeric|between|is|digits|mobile|required|alpha_spaces|alpha_dash|alpha_num|alpha|method\"\n }\n }\n }\n ]\n }\n ], //联动表达式\n items: [\n //联动校验显示隐藏\n { key: \"n\", value: \"隐藏\" },\n { key: \"w\", value: \"显示\" },\n { key: \"b\", value: \"必填\" }\n ],\n identityUrl: \"\", //获取流水号数据url\n identitys: [], //流水号数据\n scriptText: \"\", //自定义js脚本对话框值\n isBnt: false, //是否按钮脚本\n diyScript: \"\", //自定义js脚本对话框表单值\n dialogScriptVisible: false, //自定义js脚本对话框\n dialogTipVisible: false,\n dialogCountVisible: false, //数字统计框\n tooltip: \"\",\n i18nMessageKey: \"\",\n createKeyMap: {\n text: true,\n image: true,\n \"immediate-single\": true,\n \"immediate-textarea\": true\n }\n };\n },\n mounted() {\n\n if (this.field.options.isBindIdentity){\n this.identityUrl = \"/sys/identity/v1/getAll\";\n }\n\n if (this.field.options.bindIdentityjson) {\n if (this.field.options.bindIdentityjson.alias) {\n this.identityCheck();\n }\n }\n },\n methods: {\n //判断控件是否有特殊基础属性\n isBasicsProperty(basicsProperty, alias) {\n if (basicsProperty && alias) {\n const basicsPropertys = basicsProperty.split(\"|\");\n if (basicsPropertys.includes(alias)) {\n return true;\n } else {\n return false;\n }\n }\n return false;\n },\n clearFunction() {\n this.field.options.mathExp = undefined;\n },\n bindPreAndSufFixChange(model) {\n if (!model) {\n this.field.options.bindPreAndSufFixjson = {};\n }\n },\n afterSaveI18n(data) {\n data.key = data.key.replace(\"$\", \"#\");\n if (data.prop.endsWith(\"placeholder\")) {\n this.field.options.placeholder = data.key;\n this.field.options.placeholder_zh = data.desc;\n } else if (data.prop.endsWith(\"tip\")) {\n this.tooltip = data.key;\n } else {\n this.field.desc = data.key;\n this.field.desc_zh = data.desc;\n }\n },\n editI18nMessage(after) {\n this.i18nMessageKey = this.field.fieldPath || this.field.path;\n if (this.createKeyMap[this.field.ctrlType]) {\n this.i18nMessageKey =\n this.formData.formKey +\n \".\" +\n this.field.ctrlType +\n Math.random() * 5000;\n }\n if (this.i18nMessageKey && after) {\n this.i18nMessageKey += after;\n }\n this.$refs.i18nMessageEdit.handleOpen();\n },\n //字段填写提示按钮\n tipClick() {\n this.dialogTipVisible = true;\n if (!this.field.options.tip) {\n this.tooltip = \"\";\n return;\n }\n this.tooltip = this.field.options.tip;\n },\n async diyScriptChange(myValue) {\n const myField = this.$refs.scriptText;\n var value = myValue;\n if (myField.selectionStart || myField.selectionStart === 0) {\n var startPos = myField.selectionStart;\n var endPos = myField.selectionEnd;\n this.scriptText =\n myField.value.substring(0, startPos) +\n value +\n myField.value.substring(endPos, myField.value.length);\n await this.$nextTick(); // 这句是重点, 圈起来\n myField.focus();\n myField.setSelectionRange(endPos + value.length, endPos + value.length);\n } else {\n this.scriptText += value;\n }\n },\n scriptOk() {\n this.dialogScriptVisible = false;\n if (!this.scriptText) {\n this.field.options.script = \"\";\n return;\n }\n if (!this.isBnt) {\n this.field.options.script = Base64.encode(this.scriptText);\n } else {\n this.field.options.script = Base64.encode(this.scriptText);\n }\n },\n autoRunJSScript(isBnt) {\n if (isBnt) {\n this.isBnt = true;\n }\n this.dialogScriptVisible = true;\n if (!this.field.options.script) return;\n this.scriptText = Base64.decode(this.field.options.script);\n },\n //关闭联动设置对话框\n closeDialogLinkage() {\n this.dialogLinkageVisible = false;\n this.linkage.length = 0;\n },\n linkageOk() {\n this.dialogLinkageVisible = false;\n Object.assign(this.field.options.linkage, this.linkage);\n },\n addRows() {\n this.linkage.push({\n value: \"\",\n effect: [\n {\n validateObj: {\n fieldPath: this.field.fieldPath,\n options: {\n validateList: [],\n validate: \"\",\n validateType:\n \"confirmed|email|regex|min|max|min_value|max_value|isAfter|isBefore|isStart|isEnd|numeric|between|is|digits|mobile|required|alpha_spaces|alpha_dash|alpha_num|alpha|method\"\n }\n }\n }\n ]\n });\n },\n openLinkage() {\n if (this.field.options.linkage && this.field.options.linkage.length > 0) {\n Object.assign(this.linkage, this.field.options.linkage);\n } else {\n if (this.linkage.length == 1) {\n this.linkage.length = 0;\n }\n }\n this.dialogLinkageVisible = true;\n },\n\n //选择单选或复选的动态选项\n setCurrentCustomQuery() {\n const _this = this;\n this.customQuerys.forEach(item => {\n if (this.field.options.customQuery.alias == item.alias) {\n if (typeof item.conditionfield == \"string\") {\n item.conditionfield = JSON.parse(item.conditionfield); //parseToJson(item.customQuery.conditionfield);\n item.resultfield = JSON.parse(item.resultfield); // parseToJson(item.customQuery.resultfield);\n }\n //把当前对象克隆一份到控件属性配置\n Object.assign(_this.field.options.customQuery, item);\n }\n });\n //删除掉无效的参数\n var bind = [];\n this.field.options.customQuery.conditionfield.forEach(item => {\n if (item.defaultType == 1) {\n bind.push(item);\n }\n });\n this.field.options.bind = bind;\n },\n dynamicClick() {\n this.customQueryUrl = \"/form/customQuery/v1/list\";\n this.field.options.customQuery = {};\n this.field.options.bind = [];\n this.field.options.options = [];\n if (this.field.options.choiceType == \"dynamic\") {\n this.field.options.linkage = [];\n }\n },\n afterCustomQueryLoadData(data) {\n this.customQuerys = data.rows;\n },\n afterLoadIdentityData(data) {\n this.identitys = data;\n },\n identityCheck() {\n if (this.field.options.isBindIdentity) {\n this.identityUrl = \"/sys/identity/v1/getAll\";\n } else {\n this.identityUrl = \"\";\n }\n },\n isAdvancedProperty(advabcedAttr, alias) {\n if (advabcedAttr && alias) {\n const advabcedAttrs = advabcedAttr.split(\"|\");\n if (advabcedAttrs.includes(alias)) {\n return true;\n } else {\n return false;\n }\n }\n return false;\n },\n isNumberPrefix(){\n if(this.field.ctrlType == 'number' && this.field.options.bindPreAndSufFixjson.preFix){\n this.field.options.width = \"90%\";\n }\n }\n },\n watch: {\n data: {\n handler(val) {\n this.field = val;\n },\n deep: true,\n immediate: true\n },\n field: {\n handler(val) {\n this.$emit(\"update:data\", val);\n },\n deep: true,\n immediate: true\n }\n }\n};\n",null]}