{"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\\ValidataProperty.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\form\\ValidataProperty.vue","mtime":1675071992022},{"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/es6.function.name\";\nimport \"regenerator-runtime/runtime\";\nimport _asyncToGenerator from \"D:/jenkins/workspace/xq-web-bpm/node_modules/@babel/runtime/helpers/esm/asyncToGenerator\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.find\";\nimport \"core-js/modules/es6.regexp.split\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 { Base64 } from \"js-base64\";\nimport utils from \"@/hotent-ui-util.js\";\nimport { validateRules } from \"@/api/controlsConfig.js\";\nexport default {\n  name: \"layout-property\",\n  components: {\n    Draggable: Draggable\n  },\n  props: [\"data\", \"boData\", \"fieldIndexData\"],\n  data: function data() {\n    return {\n      validateRules: validateRules,\n      isAddValidata: true,\n      dialogMethodVisible: false,\n      methodIndex: 0,\n      diyScript: \"\",\n      isFilter: false,\n      specialValidate: [\"confirmed\", \"isAfter\", \"isBefore\", \"isStart\", \"isEnd\"],\n      toolmethod: \"\",\n      cmOptions: {\n        value: \"\",\n        mode: \"javascript\",\n        readOnly: false,\n        tabSize: 2,\n        theme: \"base16-light\",\n        lineNumbers: true,\n        line: true\n      },\n      requiredIndex: -1\n    };\n  },\n  computed: {\n    validateList: function validateList() {\n      var _this = this;\n\n      var rule = this.data.options.validateType;\n\n      if (!rule) {\n        return [];\n      } //判断是否只有一个必填校验规并且选择了必填校验\n\n\n      if (rule == \"required\" && this.data.options.validate == \"'required'\") {\n        return this.data.options.validateList;\n      }\n\n      var filterRule = rule.split(\"|\");\n      return this.validateRules.filter(function (val) {\n        var res = true;\n\n        if (filterRule.indexOf(val.key) != -1) {\n          if (_this.isFilter) {\n            var showValidate = _this.data.options.validateList.find(function (obj) {\n              return obj.key == val.key;\n            });\n\n            if (showValidate != undefined) {\n              res = false;\n            }\n          }\n        } else {\n          res = false;\n        }\n\n        return res;\n      });\n    }\n  },\n  created: function created() {\n    this.$validator = this.$root.$validator;\n  },\n  watch: {\n    fieldIndexData: function fieldIndexData(newVal) {\n      var _this2 = this;\n\n      if (newVal.fieldName) {\n        this.data.options.validateList.forEach(function (v, i) {\n          if (v.key == \"required\") {\n            _this2.data.options.validateList.splice(i, 1);\n          }\n        });\n        var k = {};\n        k.key = \"required\";\n        k.name = \"必填\";\n        this.data.options.validateList.push(k);\n        this.changeValidate(k);\n      }\n\n      this.requiredIndex = -1;\n\n      for (var i = 0; i < this.data.options.validateList.length; i++) {\n        if (this.data.options.validateList[i].key == \"required\" && newVal.fieldName) {\n          this.requiredIndex = i;\n          return;\n        } else if (this.data.options.validateList[i].key == \"required\") {\n          this.data.options.validateList.splice(i, 1);\n        }\n      }\n    }\n  },\n  methods: {\n    diyScriptChange: function () {\n      var _diyScriptChange = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(myValue) {\n        var myField, value, startPos, endPos;\n        return regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                myField = this.$refs.scriptText;\n                value = myValue;\n\n                if (!(myField.selectionStart || myField.selectionStart === 0)) {\n                  _context.next = 12;\n                  break;\n                }\n\n                startPos = myField.selectionStart;\n                endPos = myField.selectionEnd;\n                this.toolmethod = myField.value.substring(0, startPos) + value + myField.value.substring(endPos, myField.value.length);\n                _context.next = 8;\n                return this.$nextTick();\n\n              case 8:\n                // 这句是重点, 圈起来\n                myField.focus();\n                myField.setSelectionRange(endPos + value.length, endPos + value.length);\n                _context.next = 13;\n                break;\n\n              case 12:\n                this.toolmethod += value;\n\n              case 13:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee, this);\n      }));\n\n      function diyScriptChange(_x) {\n        return _diyScriptChange.apply(this, arguments);\n      }\n\n      return diyScriptChange;\n    }(),\n    methodOk: function methodOk() {\n      this.data.options.validateList[this.methodIndex].value = Base64.encode(this.toolmethod);\n      this.data.options.validate = this.newMergeValidate(this.data.options.validateList);\n      this.dialogMethodVisible = false;\n    },\n    methodClick: function methodClick(index) {\n      this.methodIndex = index;\n      this.dialogMethodVisible = true;\n      if (!this.data.options.validateList[index].value) return;\n      this.toolmethod = Base64.decode(this.data.options.validateList[index].value);\n    },\n    handleGridColumnRemove: function handleGridColumnRemove(index) {\n      this.data.options.validateList.splice(index, 1);\n    },\n    filterBoAttr: function filterBoAttr(obj) {\n      var _this3 = this;\n\n      return obj.filter(function (val) {\n        return val.name != _this3.data.target;\n      });\n    },\n    end: function end(evt) {\n      this.isFilter = false;\n      var validateList = this.data.options.validateList;\n      this.data.options.validate = this.newMergeValidate(validateList);\n    },\n    appendValidate: function appendValidate(item) {\n      var validateList = this.data.options.validateList;\n      this.data.options.validate = this.newMergeValidate(validateList);\n    },\n    changeValidate: function changeValidate(item) {\n      var showValidate = this.validateRules.find(function (obj) {\n        return obj.key == item.key;\n      });\n      item.inputType = showValidate.inputType;\n      item.name = showValidate.name;\n      item.isInput = showValidate.isInput;\n      item.type = showValidate.type;\n\n      if (this.validateList.length != 1) {\n        delete item.value;\n      }\n\n      if (!item.isInput) {\n        var validateList = this.data.options.validateList;\n        this.data.options.validate = this.newMergeValidate(validateList);\n      }\n    },\n    addValidata: function addValidata() {\n      var _this4 = this;\n\n      this.isFilter = true;\n\n      if (!this.data.fieldPath) {\n        this.$validator.validateAll(\"field\");\n        this.$message.warning(\"请选择需要修改的组件或绑定属性\");\n        return;\n      }\n\n      this.isAddValidata = true; //判断是否只有一个必填校验规\n\n      if (this.data.options.validateType == \"required\" && this.data.options.validateList.length == 1) {\n        this.$message.warning(\"当前选择的控件只有一个必填校验\");\n        return;\n      }\n\n      if (this.data.options.validateList == undefined) {\n        this.data.options.validateList = [];\n      } else if (this.data.options.validateList.length > 0) {\n        var validata = this.data.options.validateList[this.data.options.validateList.length - 1];\n\n        if (validata.key == \"\") {\n          this.$validator.validate(\"field.validatorSelect\");\n          return;\n        } else if (validata.key == \"between\") {\n          if (validata.start == undefined || validata.start == \"\" || validata.end == undefined || validata.end == \"\") {\n            this.$validator.validate(\"field.validatorValue\");\n            return;\n          }\n        } else if (validata.inputType == \"select\" && (validata.value == undefined || validata.value.length == 0)) {\n          this.$validator.validate(\"field.validatorSelectInput\");\n          return;\n        } else if (validata.inputType == \"input\" && (validata.value == undefined || validata.value.length == 0)) {\n          this.$validator.validate(\"field.validatorValue\");\n          return;\n        } else if (validata.inputType == \"button\" && (validata.value == undefined || validata.value.length == 0)) {\n          this.$message.warning(\"请输入js方法校验\");\n          return;\n        }\n      }\n\n      this.$nextTick(function () {\n        setTimeout(function () {\n          _this4.data.options.validateList.push({\n            key: \"\",\n            name: \"\"\n          });\n        });\n      });\n    },\n    removeValidata: function removeValidata(index) {\n      this.isFilter = false;\n      this.data.options.validateList.splice(index, 1);\n      this.data.options.validate = this.newMergeValidate(this.data.options.validateList);\n    },\n    getValidate: function getValidate(item) {\n      var validate = item.key;\n\n      if (item.isInput) {\n        if (item.inputType == \"select\") {\n          if (item.name == \"相同的值\" || item.name == \"日期不晚于\" || item.name == \"日期晚于\" || item.name == \"日期早于\" || item.name == \"日期不早于\") {\n            if (item.value.split(\".\").length == 4) {\n              //子表\n              validate = item.key + \":\" + \"item.\" + item.value.split(\".\")[3];\n            } else if (item.value.split(\".\").length == 5) {\n              //孙表\n              validate = item.key + \":\" + \"item.\" + item.value.split(\".\")[4];\n            } else {\n              validate = item.key + \":\" + item.value;\n            }\n          } else {\n            validate = item.key + \":\" + item.value;\n          }\n        } else if (item.inputType == \"input\") {\n          validate = item.key + \":\" + item.value;\n        } else if (item.inputType == \"twoInput\") {\n          validate = \"between:\" + item.start + \",\" + item.end;\n        } else if (item.inputType == \"button\") {\n          validate = item.key + \":\" + item.value;\n        }\n      }\n\n      return validate;\n    },\n    newMergeValidate: function newMergeValidate(validateList) {\n      var ref = false;\n      var validateObj1 = \"\";\n      var validateObj2 = [];\n      var me_ = this;\n      validateList.forEach(function (obj) {\n        var validate = me_.getValidate(obj);\n        validateObj2.push(validate);\n        var key = utils.stringSplit(validate, \":\")[0];\n        var value = utils.stringSplit(validate, \":\")[1];\n        var splitVar = \"\";\n        var op = \"\";\n\n        if (validateObj1 != \"\") {\n          op = \"|\";\n          splitVar = \"+\";\n        }\n\n        if (me_.specialValidate.indexOf(key) > -1) {\n          validateObj1 = validateObj1 + splitVar + \"'\" + op + key + \":'+\" + value;\n          ref = true;\n        } else {\n          validateObj1 = validateObj1 + splitVar + \"'\" + op + validate + \"'\";\n        }\n      });\n      var validateStr = \"\";\n\n      if (ref) {\n        validateStr = validateObj1;\n      } else {\n        if (validateObj2.length == 0) {\n          validateStr = \"\";\n        } else {\n          validateStr = \"'\" + validateObj2.join(\"|\") + \"'\";\n        }\n      }\n\n      return validateStr;\n    }\n  }\n};",null]}