{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\myLayout\\LayoutConfigPanel.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\myLayout\\LayoutConfigPanel.vue","mtime":1667327529622},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\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\r\nimport Draggable from \"vuedraggable\";\r\n\r\nexport default {\r\n  components: {\r\n    Draggable\r\n  },\r\n  props: {\r\n    data:Object,\r\n    layoutObj:{\r\n      type:Object,\r\n      default(){\r\n        return {name:'',memo:''}\r\n      }\r\n  }},\r\n  data() {\r\n    return {\r\n      validator: {\r\n        type: null,\r\n        required: null,\r\n        pattern: null,\r\n        range: null,\r\n        length: null\r\n      }\r\n    };\r\n  },\r\n  computed: {\r\n    show() {\r\n      if (this.data && Object.keys(this.data).length > 0) {\r\n        return true;\r\n      }\r\n      return false;\r\n    }\r\n  },\r\n  methods: {\r\n    handleOptionsRemove(index) {\r\n      if (this.data.type === \"grid\") {\r\n        this.data.columns.splice(index, 1);\r\n      } else {\r\n        this.data.options.options.splice(index, 1);\r\n      }\r\n    },\r\n    handleAddOption() {\r\n      if (this.data.options.showLabel) {\r\n        this.data.options.options.push({\r\n          value: this.$t(\"fm.config.widget.newOption\"),\r\n          label: this.$t(\"fm.config.widget.newOption\")\r\n        });\r\n      } else {\r\n        this.data.options.options.push({\r\n          value: this.$t(\"fm.config.widget.newOption\")\r\n        });\r\n      }\r\n    },\r\n    handleAddColumn() {\r\n      this.data.columns.push({\r\n        span: \"\",\r\n        list: []\r\n      });\r\n    },\r\n    generateRule() {\r\n      this.data.rules = [];\r\n      Object.keys(this.validator).forEach(key => {\r\n        if (this.validator[key]) {\r\n          this.data.rules.push(this.validator[key]);\r\n        }\r\n      });\r\n    },\r\n    handleSelectMuliple(value) {\r\n      if (value) {\r\n        if (this.data.options.defaultValue) {\r\n          this.data.options.defaultValue = [this.data.options.defaultValue];\r\n        } else {\r\n          this.data.options.defaultValue = [];\r\n        }\r\n      } else {\r\n        if (this.data.options.defaultValue.length > 0) {\r\n          this.data.options.defaultValue = this.data.options.defaultValue[0];\r\n        } else {\r\n          this.data.options.defaultValue = \"\";\r\n        }\r\n      }\r\n    },\r\n\r\n    validateRequired(val) {\r\n      if (val) {\r\n        this.validator.required = {\r\n          required: true,\r\n          message: `${this.data.name}${this.$t(\r\n            \"fm.config.widget.validatorRequired\"\r\n          )}`\r\n        };\r\n      } else {\r\n        this.validator.required = null;\r\n      }\r\n\r\n      this.$nextTick(() => {\r\n        this.generateRule();\r\n      });\r\n    },\r\n\r\n    validateDataType(val) {\r\n      if (!this.show) {\r\n        return false;\r\n      }\r\n\r\n      if (val) {\r\n        this.validator.type = {\r\n          type: val,\r\n          message: this.data.name + this.$t(\"fm.config.widget.validatorType\")\r\n        };\r\n      } else {\r\n        this.validator.type = null;\r\n      }\r\n\r\n      this.generateRule();\r\n    },\r\n    valiatePattern(val) {\r\n      if (!this.show) {\r\n        return false;\r\n      }\r\n\r\n      if (val) {\r\n        this.validator.pattern = {\r\n          pattern: val,\r\n          message: this.data.name + this.$t(\"fm.config.widget.validatorPattern\")\r\n        };\r\n      } else {\r\n        this.validator.pattern = null;\r\n      }\r\n\r\n      this.generateRule();\r\n    }\r\n  },\r\n  watch: {\r\n    \"layoutObj.name\":function(newVal,oldVal){\r\n      this.$emit(\"update:layoutObj\",this.layoutObj);\r\n    },\r\n    \"layoutObj.memo\":function(newVal,oldVal){\r\n      this.$emit(\"update:layoutObj\",this.layoutObj);\r\n    },\r\n    \"data.options.isRange\": function(val) {\r\n      if (typeof val !== \"undefined\") {\r\n        if (val) {\r\n          this.data.options.defaultValue = null;\r\n        } else {\r\n          if (Object.keys(this.data.options).indexOf(\"defaultValue\") >= 0)\r\n            this.data.options.defaultValue = \"\";\r\n        }\r\n      }\r\n    },\r\n    \"data.options.required\": function(val) {\r\n      this.validateRequired(val);\r\n    },\r\n    \"data.options.dataType\": function(val) {\r\n      this.validateDataType(val);\r\n    },\r\n    \"data.options.pattern\": function(val) {\r\n      this.valiatePattern(val);\r\n    },\r\n    \"data.name\": function(val) {\r\n      if (this.data.options) {\r\n        this.validateRequired(this.data.options.required);\r\n        this.validateDataType(this.data.options.dataType);\r\n        this.valiatePattern(this.data.options.pattern);\r\n      }\r\n    }\r\n  }\r\n};\r\n",null]}