{"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\\dict\\DictSelect.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\dict\\DictSelect.vue","mtime":1667327529200},{"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//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport dictUtils from './DictSelectUtils'\r\nexport default {\r\n  name: 'DictSelect',\r\n  props: {\r\n    hiddenValue:String,\r\n    filterable:{\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    multiple: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    dictCode: String,\r\n    placeholder: String,\r\n    triggerChange: Boolean,\r\n    disabled: Boolean,\r\n    value: [String, Number, Array],\r\n    type: String,\r\n    dictCodeName: Array,\r\n    isShowInbody: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    needLabel: Boolean, // 将值和文本都返回\r\n    hasDefaultOption: {\r\n      type: Boolean,\r\n      default: false\r\n    }, // 请选择的默认项,\r\n    validate: [String, Object],\r\n    clearable: Boolean,\r\n    size: String,\r\n    readonly: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    permission: {\r\n      type: String,\r\n      default: 'w',\r\n      validator: function(value) {\r\n        return ['b', 'w', 'r', 'n'].indexOf(value) !== -1\r\n      }\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      dictOptions: [],\r\n      tagType: ''\r\n    }\r\n  },\r\n  watch: {\r\n    dictCode: {\r\n      immediate: true,\r\n      handler() {\r\n        this.initDictData()\r\n      }\r\n    }\r\n  },\r\n  created() {\r\n    if (!this.type || this.type === 'list') {\r\n      this.tagType = 'select'\r\n    } else {\r\n      this.tagType = this.type\r\n    }\r\n  },\r\n  computed: {\r\n    getValue() {\r\n      // debugger    \r\n      if (this.type != 'cascader') {\r\n        return this.value != null ? this.value.toString() : null\r\n      } else {\r\n        return this.value\r\n      }\r\n      \r\n    }\r\n  },\r\n  methods: {\r\n    focus() {\r\n      this.$refs.selectDict.focus()\r\n    },\r\n    reloadDict() {\r\n      this.initDictData()\r\n    },\r\n    initDictData() {\r\n      if (dictUtils.getDictItemsFromCache(this.dictCode)) {\r\n        let dictItems = dictUtils.getDictItemsFromCache(this.dictCode)\r\n         if(this.hiddenValue){\r\n           let arr=[]\r\n            dictItems.forEach(item=>{\r\n            if(item.value !== this.hiddenValue){\r\n              arr.push(item)\r\n            }\r\n             this.dictOptions=arr\r\n            })\r\n           \r\n          } else if (this.type == 'cascader') {\r\n          // 级联\r\n          this.dictOptions = this.formatDictOptions(\r\n            dictItems,\r\n            this.dictCodeName[0]\r\n          )\r\n        } else {\r\n          this.dictOptions = dictItems\r\n          if (this.hasDefaultOption && this.tagType == 'select') {\r\n            this.dictOptions.unshift({\r\n              value: '请选择',\r\n              key: undefined\r\n            })\r\n          }\r\n        }\r\n      }\r\n    },\r\n    // 如果是级联字典,处理字典数据结构\r\n    formatDictOptions(options, dictName) {\r\n      let tempOpt = [...options]\r\n      tempOpt.forEach(item => {\r\n        if (item.lowerDic && item.lowerDic[dictName]) {\r\n          item.children = item.lowerDic[dictName]\r\n          this.formatDictOptions(item.children, this.dictCodeName[1])\r\n        }\r\n      })\r\n      // console.log(tempOpt, \"tempOpt\");\r\n      return tempOpt\r\n    },\r\n    handleInput(val, selectObj) {\r\n      this.$emit('input', val, selectObj)\r\n      this.$emit('select', val, selectObj)\r\n    },\r\n    setCurrentDictOptions(dictOptions) {\r\n      this.dictOptions = dictOptions\r\n    },\r\n    getCurrentDictOptions() {\r\n      return this.dictOptions\r\n    }\r\n  }\r\n}\r\n",null]}