{"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\\BasicsProperty.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\form\\BasicsProperty.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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport ValidataProperty from \"@/components/form/ValidataProperty.vue\";\r\nimport FormVarSelector from \"@/components/form/FormVarSelector.vue\";\r\nimport ImgFileUpload from \"@/components/common/ImgFileUpload.vue\";\r\nimport IconDialog from \"@/components/dialog/IconDialog.vue\";\r\nimport { isArray } from \"util\";\r\nimport { Base64 } from \"js-base64\";\r\nimport form from \"@/api/form.js\";\r\nimport HtFormItem from \"bpm_el_ui/src/components/common/HtFormItem\";\r\nimport i18nMessageEdit from \"@/components/system/I18nMessageEdit.vue\";\r\nimport FormulasDialog from \"@/components/form/customView/FormulasDialog.vue\";\r\n\r\nexport default {\r\n name: \"basics-property\",\r\n props: [\"data\", \"mainBoFields\", \"boDefData\", \"allBoData\",\"formVarData\",\"returnData\",\"formType\",\"linkageNoAttrFieldList\"],\r\n components: {\r\n HtFormItem,\r\n ValidataProperty,\r\n IconDialog,\r\n FormVarSelector,\r\n ImgFileUpload,\r\n i18nMessageEdit,\r\n FormulasDialog\r\n },\r\n data() {\r\n return {\r\n selectQueryDialog: false,\r\n dialogQuery: false,\r\n dialogImageUrl: \"\",\r\n dialogVisible: false,\r\n effectObj: {\r\n linkageType:\"field\",\r\n validateObj: {\r\n fieldPath: this.data.fieldPath,\r\n options: {\r\n validateList: [],\r\n validate: \"\",\r\n validateType:\r\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\"\r\n }\r\n }\r\n },\r\n field: this.data,\r\n customQuerys: [],\r\n customQueryUrl: \"\",\r\n fields: [],\r\n filterListType: [\"number\", \"currency\", \"date\", \"amap\"],\r\n dialogLinkageVisible: false, //联动设置对话框\r\n linkage: [\r\n {\r\n value: \"\",\r\n effect: [\r\n {\r\n validateObj: {\r\n fieldPath: this.data.fieldPath,\r\n options: {\r\n validateList: [],\r\n validate: \"\",\r\n validateType:\r\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\"\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ], //联动表达式\r\n items: [\r\n //联动校验显示隐藏\r\n { key: \"n\", value: \"隐藏\" },\r\n { key: \"w\", value: \"显示\" },\r\n { key: \"b\", value: \"必填\" }\r\n ],\r\n selectors: [\r\n //选择器数组\r\n {\r\n name: \"用户选择器\",\r\n alias: \"eip-user-selector\",\r\n fields: [\r\n { key: \"id\", value: \"用户ID\" },\r\n { key: \"account\", value: \"用户账号\" },\r\n { key: \"fullname\", value: \"用户姓名\" },\r\n { key: \"mobile\", value: \"用户手机\" },\r\n { key: \"email\", value: \"用户邮箱\" }\r\n ]\r\n },\r\n {\r\n name: \"组织选择器\",\r\n alias: \"eip-org-selector\",\r\n fields: [\r\n { key: \"id\", value: \"组织ID\" },\r\n { key: \"code\", value: \"组织代码\" },\r\n { key: \"name\", value: \"组织名称\" },\r\n { key: \"pathName\", value: \"组织路径\" }\r\n ]\r\n },\r\n {\r\n name: \"角色选择器\",\r\n alias: \"eip-role-selector\",\r\n fields: [\r\n { key: \"id\", value: \"角色ID\" },\r\n { key: \"code\", value: \"角色代码\" },\r\n { key: \"name\", value: \"角色名称\" }\r\n ]\r\n },\r\n {\r\n name: \"职务选择器\",\r\n alias: \"eip-job-selector\",\r\n fields: [\r\n { key: \"id\", value: \"职务ID\" },\r\n { key: \"code\", value: \"职务代码\" },\r\n { key: \"name\", value: \"职务名称\" }\r\n ]\r\n },\r\n {\r\n name: \"岗位选择器\",\r\n alias: \"eip-post-selector\",\r\n fields: [\r\n { key: \"id\", value: \"岗位ID\" },\r\n { key: \"code\", value: \"岗位代码\" },\r\n { key: \"name\", value: \"岗位名称\" }\r\n ]\r\n },\r\n {\r\n name: \"维度选择器\",\r\n alias: \"eip-demension-selector\",\r\n fields: [\r\n { key: \"id\", value: \"维度ID\" },\r\n { key: \"code\", value: \"维度代码\" },\r\n { key: \"demName\", value: \"维度名称\" }\r\n ]\r\n }\r\n ],\r\n dialogcustDialogVisible: false, //对话框\r\n customDialogs: [], //对话框列表数据\r\n custDialogprop: {}, //对话框返回值对象\r\n config: {\r\n initialFrameHeight: 240,\r\n UEDITOR_HOME_URL: window.location.origin +'/'+ window.location.pathname.split('/')[1]+'/static/ueditor/',\r\n toolbars: [\r\n [\r\n // 'source', //源代码\r\n 'undo', //撤销\r\n 'bold', //加粗\r\n 'indent', //首行缩进\r\n 'italic', //斜体\r\n 'underline', //下划线\r\n 'strikethrough', //删除线\r\n 'subscript', //下标\r\n 'fontborder', //字符边框\r\n 'superscript', //上标\r\n 'formatmatch', //格式刷\r\n 'forecolor',//字体颜色\r\n 'justifyleft', //居左对齐\r\n 'justifycenter', //居中对齐\r\n 'justifyright', //居右对齐\r\n 'justifyjustify', //两端对齐\r\n 'fontfamily', //字体\r\n 'fontsize', //字号\r\n 'insertorderedlist', //有序列表\r\n 'insertunorderedlist', //无序列表\r\n 'lineheight',//行间距\r\n 'inserttable', //插入表格\r\n ]\r\n ],\r\n // 初始容器宽度\r\n initialFrameWidth: \"100%\",\r\n zIndex:9999,\r\n enableAutoSave: false,\r\n readonly : false\r\n },\r\n upLoadAcceptList: [\r\n \"jpg\",\r\n \"jpeg\",\r\n \"png\",\r\n \"bmp\",\r\n \"pdf\",\r\n \"JPG\",\r\n \"JPEG\",\r\n \"PNG\",\r\n \"BMP\",\r\n \"PDF\",\r\n \"doc\",\r\n \"docx\",\r\n \"xls\",\r\n \"xlsx\",\r\n \"ppt\",\r\n \"pptx\",\r\n \"rtf\",\r\n \"txt\",\r\n \"zip\",\r\n \"rar\",\r\n \"vsd\",\r\n \"dwg\",\r\n \"mp4\",\r\n \"avi\",\r\n \"3gp\",\r\n \"rmvb\",\r\n \"rm\",\r\n \"wmv\"\r\n ], //附件上传支持的类型\r\n dialogTextVisible: false, //属性文本对话框\r\n textValue: \"\", //属性文本值\r\n dialogScriptVisible: false, //自定义js脚本对话框\r\n diyScript: \"\", //自定义js脚本对话框表单值\r\n scriptText: \"\", //自定义js脚本对话框值\r\n isBnt: false, //是否按钮脚本\r\n dicData: [],\r\n tagData: [],\r\n dicDefaultProps: {\r\n children: \"children\",\r\n label: \"name\"\r\n },\r\n custDialogpropKey: 1,\r\n i18nMessageKey: \"\",\r\n createKeyMap: {\r\n text: true,\r\n image: true,\r\n \"immediate-single\": true,\r\n \"immediate-textarea\": true\r\n },\r\n companys: [\r\n {\r\n label: \"台\"\r\n },\r\n {\r\n label: \"件\"\r\n },\r\n {\r\n label: \"元\"\r\n }\r\n ],\r\n subTables: [], //子表对象\r\n linkageTypeList: [{key:'field',desc:'字段'},{key:'subTable',desc:'子表'}], //联动类型列表\r\n };\r\n },\r\n methods: {\r\n //附件类型全选\r\n selectAll(){\r\n this.field.options.file.accept=[...this.upLoadAcceptList];\r\n },\r\n //附件类型全不选\r\n selectNotAll(){\r\n this.field.options.file.accept=[];\r\n },\r\n //附件类型反选\r\n counterSelect(){\r\n let list = [...this.upLoadAcceptList];\r\n for(var i=0;i -1) {\r\n return obj.dataType == this.field.options.dataType;\r\n } else if (obj.nodeType == \"sub\") {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n },\r\n formulasDialog() {\r\n if (!this.field.fieldPath) {\r\n this.$message(\"请选择需要修改的组件或绑定属性\");\r\n return;\r\n }\r\n this.$refs.formulasDialog.handleOpen();\r\n },\r\n //选择子表,控制子表权限\r\n subTableChange(value, data) {},\r\n afterSaveI18n(data) {\r\n data.key = data.key.replace(\"$\", \"#\");\r\n if (data.prop.endsWith(\"placeholder\")) {\r\n this.field.options.placeholder = data.key;\r\n this.field.options.placeholder_zh = data.desc;\r\n } else if (data.prop.endsWith(\"tip\")) {\r\n this.tooltip = data.key;\r\n } else {\r\n this.field.desc = data.key;\r\n this.field.desc_zh = data.desc;\r\n }\r\n },\r\n editI18nMessage(after) {\r\n this.i18nMessageKey = this.field.fieldPath || this.field.path;\r\n if (this.createKeyMap[this.field.ctrlType]) {\r\n this.i18nMessageKey =\r\n this.formData.formKey +\r\n \".\" +\r\n this.field.ctrlType +\r\n Math.random() * 5000;\r\n }\r\n if (this.i18nMessageKey && after) {\r\n this.i18nMessageKey += after;\r\n }\r\n this.$refs.i18nMessageEdit.handleOpen();\r\n },\r\n //关闭联动设置对话框\r\n closeDialogLinkage() {\r\n this.dialogLinkageVisible = false;\r\n this.linkage.length = 0;\r\n },\r\n getEffectsTargetOptions(){\r\n let boDataList = [];\r\n if(this.field.parentNodeType){\r\n boDataList = this.allBoData.filter(tab => tab.name == this.field.boSubEntity);\r\n }else{\r\n boDataList = this.allBoData;\r\n }\r\n let linkageBoDataList = JSON.parse(JSON.stringify(boDataList));\r\n //处理联动无属性字段\r\n try {\r\n if(this.effectObj.linkageType=='field' && this.linkageNoAttrFieldList && this.linkageNoAttrFieldList.length>0){\r\n let tableName = this.field.parentNodeType? this.field.boSubEntity : '';\r\n let noAttrObj = {name:'noAttrField',desc:'无属性字段',children:[]};\r\n this.linkageNoAttrFieldList.forEach(item =>{\r\n if(!tableName || item.tableName === tableName){\r\n if(item.ctrlType == 'button'){\r\n item.desc = item.options.bindEventjson.name;\r\n }\r\n noAttrObj.children.push(item);\r\n }\r\n });\r\n if(noAttrObj.children.length>0){\r\n linkageBoDataList.push(noAttrObj);\r\n }\r\n }\r\n } catch (error) {\r\n console.log('联动添加无属性字段'+error);\r\n }\r\n return JSON.parse(JSON.stringify(linkageBoDataList));;\r\n },\r\n getLinkageTypeList(effects){\r\n if(this.field.parentNodeType){\r\n effects.boType = this.field.parentNodeType?this.field.parentNodeType:'sub';\r\n return this.linkageTypeList.filter(type => type.key == 'field');\r\n }else{\r\n effects.boType = 'main';\r\n return this.linkageTypeList;\r\n }\r\n },\r\n //按钮控件如果选择了不显示输入框,可以不用绑定属性\r\n clickNoBindModel(value) {\r\n if (!value) {\r\n this.field.fieldPath = \"\";\r\n this.field.options.noBindModel = true;\r\n this.field.noTitle = true;\r\n this.field.noPlaceholder = true;\r\n this.field.noTooltip = true;\r\n } else {\r\n this.field.options.noBindModel = false;\r\n this.field.noTitle = false;\r\n this.field.noPlaceholder = false;\r\n this.field.noTooltip = false;\r\n }\r\n },\r\n icons(icon) {\r\n if (this.field.ctrlType == \"button\") {\r\n this.field.options.bindEventjson.icon = icon;\r\n } else {\r\n this.field.options.customDialogjson.icon = icon;\r\n }\r\n },\r\n scriptOk() {\r\n this.dialogScriptVisible = false;\r\n if (!this.scriptText) {\r\n this.field.options.script = \"\";\r\n return;\r\n }\r\n if (!this.isBnt) {\r\n this.field.options.script = Base64.encode(this.scriptText);\r\n } else {\r\n this.field.options.script = Base64.encode(this.scriptText);\r\n }\r\n },\r\n async diyScriptChange(myValue) {\r\n const myField = this.$refs.scriptText;\r\n var value = myValue;\r\n if (myField.selectionStart || myField.selectionStart === 0) {\r\n var startPos = myField.selectionStart;\r\n var endPos = myField.selectionEnd;\r\n this.scriptText =\r\n myField.value.substring(0, startPos) +\r\n value +\r\n myField.value.substring(endPos, myField.value.length);\r\n await this.$nextTick(); // 这句是重点, 圈起来\r\n myField.focus();\r\n myField.setSelectionRange(endPos + value.length, endPos + value.length);\r\n } else {\r\n this.scriptText += value;\r\n }\r\n },\r\n autoRunJSScript(isBnt) {\r\n if (isBnt) {\r\n this.isBnt = true;\r\n }\r\n this.dialogScriptVisible = true;\r\n if (!this.field.options.script) return;\r\n this.scriptText = Base64.decode(this.field.options.script);\r\n },\r\n textClick(node) {\r\n var value = \"\";\r\n if (node.nodeType == \"field\") {\r\n value = \"{{data.\" + node.path + \".\" + node.name + \"}}\";\r\n } else if (node.nodeType == \"var\") {\r\n value = \"{\" + node.desc + \":\" + node.name + \"}\";\r\n }\r\n this.textValue = this.textValue + value;\r\n },\r\n handleRemove(file, fileList) {\r\n console.log(file, fileList);\r\n },\r\n handlePictureCardPreview(file) {\r\n this.dialogImageUrl = file.url;\r\n this.dialogVisible = true;\r\n },\r\n // 对话框确定事件\r\n custDialogOk(isDialog) {\r\n //对话框返回值\r\n if (this.custDialogprop && this.field.ctrlType == \"dialog\") {\r\n var mappingConf = [];\r\n for (var key in this.custDialogprop) {\r\n mappingConf.push({\r\n from: key,\r\n target: [this.custDialogprop[key]],\r\n targetSub: [this.custDialogprop[key]]\r\n });\r\n }\r\n this.field.options.customDialogjson.custDialog.mappingConf = mappingConf;\r\n //关联数据返回值对象\r\n } else if (this.custDialogprop && this.field.ctrlType == \"relation\") {\r\n this.field.options.gangedBind = this.custDialogprop;\r\n }\r\n this.dialogcustDialogVisible = false;\r\n },\r\n //对话框返回值解除绑定事件\r\n unbind(key) {\r\n for (var item in this.custDialogprop) {\r\n if (key == item) {\r\n this.$set(this.custDialogprop, key, \"\");\r\n delete this.custDialogprop[key];\r\n }\r\n }\r\n },\r\n //对话框change事件\r\n changeCustDialog() {\r\n const this_ = this;\r\n this_.custDialogprop = {};\r\n this_.field.options.customDialogjson.custDialog.conditions = [];\r\n this_.field.options.customDialogjson.custDialog.mappingConf = [];\r\n this_.field.options.customDialogjson.custDialog.custQueryJson = [];\r\n this_.field.options.customDialogjson.custDialog.selectNum = \"\";\r\n if (this_.customDialogs.length == 0) return;\r\n if (this_.field.options.customDialogjson.custDialog.alias == null) {\r\n this_.field.options.customDialogjson.custDialog.conditions = [];\r\n return;\r\n }\r\n for (var i = 0, d; (d = this_.customDialogs[i++]); ) {\r\n if (d.alias == this_.field.options.customDialogjson.custDialog.alias) {\r\n this_.field.options.customDialogjson.custDialog.selectNum =\r\n d.selectNum; //单选多选 1:单选。-1:多选\r\n let treeData;\r\n if (d.style===2){\r\n let combineConfig = JSON.parse(d.combinationRule);\r\n let listDialog = this_.customDialogs.filter(item => item.alias === combineConfig.rightDialog);\r\n treeData = JSON.parse(listDialog[0].resultfield);\r\n this_.field.options.customDialogjson.custDialog.type = \"combiDialog\";\r\n }\r\n if (d.listDialog && d.listDialog.resultfield) {\r\n treeData = eval(\"(\" + d.listDialog.resultfield + \")\");\r\n this_.field.options.customDialogjson.custDialog.type =\r\n \"combiDialog\";\r\n }\r\n if (d.resultfield && d.resultfield!=='[]') {\r\n treeData = eval(\"(\" + d.resultfield + \")\");\r\n this_.field.options.customDialogjson.custDialog.type = \"custDialog\";\r\n }\r\n for (let q = 0, f; (f = treeData[q++]); ) {\r\n f.field = f.comment;\r\n }\r\n this_.field.options.customDialogjson.resultField = treeData;\r\n let conditionList = eval(\"(\" + d.conditionfield + \")\");\r\n this_.field.options.customDialogjson.custDialog.conditions = [];\r\n //只处理类型等于1的对话框参数(defaultType:1:用户输入,2:固定值 ,3:参数传入)\r\n if (conditionList && conditionList.length > 0) {\r\n for (let j = 0, c; (c = conditionList[j++]); ) {\r\n if (c.defaultType == \"3\") {\r\n let has = false;\r\n if (!has)\r\n this_.field.options.customDialogjson.custDialog.conditions.push(\r\n c\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n custDialogClick() {\r\n this.dialogcustDialogVisible = true;\r\n var initConf = this.field.options.customDialogjson.custDialog.mappingConf;\r\n if (initConf) {\r\n for (var i = 0, c; (c = initConf[i++]); ) {\r\n if (!c) continue;\r\n var target = c.target;\r\n if (target) target = target.join(\",\");\r\n this.custDialogprop[c.from] = target;\r\n\r\n var targetSub = c.targetSub;\r\n if (targetSub) targetSub = targetSub.join(\",\");\r\n this.custDialogprop[c.from] = targetSub;\r\n }\r\n }\r\n },\r\n changeFieldBind() {\r\n if (\r\n !this.field ||\r\n !this.field.options ||\r\n !this.field.options.selector ||\r\n !this.field.options.selector.type\r\n )\r\n return;\r\n var alias = this.field.options.selector.type.alias,\r\n oldBind = this.field.options.bind;\r\n if (!alias) {\r\n delete this.field.options;\r\n return;\r\n }\r\n if (\r\n oldBind &&\r\n oldBind.length > 0 &&\r\n this.field.options.bind[0].alias == alias\r\n )\r\n return;\r\n var keyValues = [];\r\n for (var i = 0; i < this.selectors.length; i++) {\r\n if (alias == this.selectors[i].alias) {\r\n var fields = this.selectors[i].fields;\r\n for (var j = 0; j < fields.length; j++) {\r\n keyValues.push({\r\n alias: alias,\r\n key: fields[j].key,\r\n value: fields[j].value\r\n });\r\n }\r\n }\r\n }\r\n this.field.options.bind = [];\r\n this.field.options.bind = keyValues;\r\n },\r\n linkageOk() {\r\n if (this.field.ctrlType == \"select\") {\r\n if (this.linkage.length == 0) {\r\n this.dialogLinkageVisible = false;\r\n this.field.options.linkage = [];\r\n } else {\r\n try {\r\n this.linkage.forEach(column => {\r\n column.effect.forEach(effects => {\r\n if (effects.type && (effects.target || effects.targetSub)) {\r\n this.dialogLinkageVisible = false;\r\n this.field.options.linkage = [...this.linkage];\r\n // Object.assign(this.field.options.linkage, this.linkage);\r\n } else {\r\n this.$message({ message: \"请将信息填写完整\", type: \"warning\" });\r\n throw new Error('breakForEach');\r\n return false;\r\n }\r\n });\r\n });\r\n }catch(e){\r\n if (e.message != 'breakForEach') throw e;\r\n }\r\n }\r\n } else {\r\n this.dialogLinkageVisible = false;\r\n this.field.options.linkage = [...this.linkage];\r\n // Object.assign(this.field.options.linkage, this.linkage);\r\n }\r\n },\r\n addRows() {\r\n this.linkage.push({\r\n value: \"\",\r\n effect: [\r\n {\r\n linkageType:\"field\",\r\n validateObj: {\r\n fieldPath: this.field.fieldPath,\r\n options: {\r\n validateList: [],\r\n validate: \"\",\r\n validateType:\r\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\"\r\n }\r\n }\r\n }\r\n ]\r\n });\r\n },\r\n //打开联动设置对话框\r\n openLinkage() {\r\n this.subTables = [];\r\n for (let i = 0; i < this.allBoData.length; i++) {\r\n if (this.allBoData[i].nodeType == \"sub\") {\r\n this.subTables.push(this.allBoData[i]);\r\n }\r\n }\r\n if (this.field.options.linkage && this.field.options.linkage.length > 0) {\r\n this.linkage = [...this.field.options.linkage];\r\n }else{\r\n this.linkage = [];\r\n }\r\n this.dialogLinkageVisible = true;\r\n },\r\n // 当字段与关联查询绑定后,将关联查询中多余的属性删除\r\n slimCustomQuery(customQuery) {\r\n if (customQuery && customQuery.constructor == Object) {\r\n // 删除多余的属性\r\n delete customQuery[\"id\"];\r\n delete customQuery[\"createTime\"];\r\n delete customQuery[\"pkVal\"];\r\n delete customQuery[\"objName\"];\r\n delete customQuery[\"needPage\"];\r\n delete customQuery[\"pageSize\"];\r\n delete customQuery[\"dsalias\"];\r\n delete customQuery[\"dataParam\"];\r\n delete customQuery[\"sortfield\"];\r\n delete customQuery[\"diySql\"];\r\n delete customQuery[\"isTable\"];\r\n delete customQuery[\"sqlBuildType\"];\r\n // delete customQuery[\"dsType\"];\r\n delete customQuery[\"url\"];\r\n delete customQuery[\"header\"];\r\n delete customQuery[\"requestType\"];\r\n delete customQuery[\"pageKey\"];\r\n delete customQuery[\"pageSizeKey\"];\r\n delete customQuery[\"totalKey\"];\r\n delete customQuery[\"listKey\"];\r\n }\r\n },\r\n //选择下拉框控件并绑定关联查询\r\n setSelectQuery(alias, index) {\r\n const _this = this;\r\n _this.customQuerys.forEach(item => {\r\n //判断选择的关联查询是否存在\r\n if (alias == item.alias) {\r\n if (typeof item.conditionfield == \"string\") {\r\n item.conditionfield = JSON.parse(item.conditionfield); //parseToJson(item.customQuery.conditionfield);\r\n item.resultfield = JSON.parse(item.resultfield); // parseToJson(item.customQuery.resultfield);\r\n item.conditionfield.forEach(res => {\r\n _this.$set(res, \"fieldPath\", \"\"); //关联查询条件字段绑定的表单参数路径\r\n });\r\n item.resultfield.forEach(res => {\r\n _this.$set(res, \"fieldPath\", \"\"); //关联查询返回字段绑定的表单参数路径\r\n });\r\n }\r\n //把当前对象克隆一份到控件属性配置\r\n Object.assign(\r\n _this.field.options.customQuery.custQueryJson[index],\r\n item\r\n );\r\n // 删除多余属性\r\n _this.slimCustomQuery(\r\n _this.field.options.customQuery.custQueryJson[index]\r\n );\r\n }\r\n });\r\n },\r\n //打开下拉框绑定关联查询弹框\r\n showSelectQueryDialog() {\r\n this.selectQueryDialog = true;\r\n },\r\n //打开对话框绑定关联查询弹框\r\n showDialogQuery() {\r\n this.dialogQuery = true;\r\n },\r\n //选择对话框控件并绑定关联查询\r\n setDialogQuery(alias, index) {\r\n const _this = this;\r\n _this.customQuerys.forEach(item => {\r\n //判断选择的关联查询是否存在\r\n if (alias == item.alias) {\r\n if (typeof item.conditionfield == \"string\") {\r\n item.conditionfield = JSON.parse(item.conditionfield); //parseToJson(item.customQuery.conditionfield);\r\n item.resultfield = JSON.parse(item.resultfield); // parseToJson(item.customQuery.resultfield);\r\n item.conditionfield.forEach(res => {\r\n _this.$set(res, \"fieldPath\", \"\"); //关联查询条件字段绑定的表单参数路径\r\n });\r\n item.resultfield.forEach(res => {\r\n _this.$set(res, \"fieldPath\", \"\"); //关联查询返回字段绑定的表单参数路径\r\n });\r\n }\r\n //把当前对象克隆一份到控件属性配置\r\n Object.assign(\r\n _this.field.options.customDialogjson.custDialog.custQueryJson[\r\n index\r\n ],\r\n item\r\n );\r\n _this.slimCustomQuery(\r\n _this.field.options.customDialogjson.custDialog.custQueryJson[index]\r\n );\r\n }\r\n });\r\n },\r\n //选择动态选项\r\n setCurrentCustomQuery() {\r\n const _this = this;\r\n _this.field.options.customQuery.custQueryJson = [];\r\n _this.customQuerys.forEach(item => {\r\n if (_this.field.options.customQuery.alias == item.alias) {\r\n if (typeof item.conditionfield == \"string\") {\r\n item.conditionfield = JSON.parse(item.conditionfield); //parseToJson(item.customQuery.conditionfield);\r\n item.resultfield = JSON.parse(item.resultfield); // parseToJson(item.customQuery.resultfield);\r\n }\r\n //把当前对象克隆一份到控件属性配置\r\n Object.assign(_this.field.options.customQuery, item);\r\n _this.slimCustomQuery(_this.field.options.customQuery);\r\n }\r\n });\r\n //删除掉无效的参数\r\n var bind = [];\r\n this.field.options.customQuery.conditionfield.forEach(item => {\r\n if (item.defaultType == 1) {\r\n bind.push(item);\r\n }\r\n });\r\n this.field.options.bind = bind;\r\n //切换关联数据设置项或下拉框动态值 同时清空绑定返回值、参数绑定、选项绑定\r\n this.custDialogprop = {};\r\n this.field.options.gangedBind = {};\r\n this.field.options.customQuery.valueBind = \"\";\r\n this.field.options.customQuery.labelBind = \"\";\r\n if (this.field.options.customQuery.conditionfield) {\r\n this.field.options.customQuery.conditionfield.forEach(element => {\r\n this.$set(element, \"fieldPath\", \"\");\r\n });\r\n }\r\n },\r\n //切换固定选项和动态选项时\r\n dynamicClick() {\r\n this.customQueryUrl = \"/form/customQuery/v1/list\";\r\n this.field.options.customQuery = {\r\n valueBind: \"\",\r\n labelBind: \"\",\r\n conditionfield: [],\r\n custQueryJson: []\r\n };\r\n this.field.options.bind = [];\r\n this.field.options.options = [];\r\n if (this.field.options.choiceType == \"dynamic\") {\r\n this.field.options.linkage = [];\r\n }\r\n },\r\n //数据字典列表\r\n afterDicLoadData(data) {\r\n this.dicData = data.rows;\r\n },\r\n dicClick(visible) {\r\n if (this.dicData && this.dicData.length > 0)\r\n return;\r\n form.getCategory(\"DIC\", data => {\r\n this.dicData = data.data;\r\n });\r\n },\r\n tagClick(visible){\r\n if (this.tagData && this.tagData.length > 0)\r\n return;\r\n form.getCategory(\"TAG\", data => {\r\n this.tagData = data.data.filter(item => item.id==='31120')[0].children;\r\n });\r\n },\r\n dicNodeClick(data) {\r\n this.field.options.dic = data.typeKey;\r\n this.field.options.dicName = data.name;\r\n this.$refs.dicSelect.blur();\r\n },\r\n tagNodeClick(data){\r\n this.field.options.tag = data.typeKey;\r\n this.field.options.tagName = data.name;\r\n this.$refs.tagSelect.blur();\r\n },\r\n afterCustomQueryLoadData(data) {\r\n this.customQuerys = data.rows;\r\n },\r\n afterCustomDialogLoadData(data) {\r\n this.customDialogs = data;\r\n },\r\n //判断控件是否有特殊基础属性\r\n isBasicsProperty(basicsProperty, alias) {\r\n if (basicsProperty && alias) {\r\n const basicsPropertys = basicsProperty.split(\"|\");\r\n if (basicsPropertys.includes(alias)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n return false;\r\n },\r\n clearFunction() {\r\n this.field.options.mathExp = undefined;\r\n },\r\n updateCustDialogprop() {\r\n this.$forceUpdate();\r\n },\r\n addEffectObj(effect, effectObj) {\r\n let cloneObj = JSON.parse(JSON.stringify(effectObj));\r\n if (cloneObj.validateObj) {\r\n if (cloneObj.validateObj.options) {\r\n cloneObj.validateObj.options.validateList = [];\r\n }\r\n }\r\n effect.push(cloneObj);\r\n },\r\n copyEffectObj(effect, effectObj) {\r\n effect.push(JSON.parse(JSON.stringify(effectObj)));\r\n },\r\n copyEffect(column) {\r\n this.linkage.push(JSON.parse(JSON.stringify(column)));\r\n },\r\n filteredAllBoData(){\r\n this.field\r\n },\r\n getEffectsTarget(group,item){\r\n let groupName = group.name === 'noAttrField'?item.tableName:group.name;\r\n return item.path + '.' + item.name + '|' + groupName + '.' + item.name;\r\n },\r\n },\r\n watch: {\r\n data(val) {\r\n if (val.options && val.options.selector) {\r\n if (!val.options.selector.isSingle) {\r\n this.$set(val.options.selector,'isSingle',false);\r\n }\r\n if (!val.options.selector.selectCurrent) {\r\n this.$set(val.options.selector,'selectCurrent',false);\r\n }\r\n }\r\n this.field = val;\r\n },\r\n field: {\r\n handler(val) {\r\n this.$emit(\"update:data\", val);\r\n },\r\n deep: true\r\n }\r\n }\r\n};\r\n",null]}