{"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]}