{"remainingRequest":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\cssc-fvue\\src\\components\\dict\\DictSelect.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\cssc-fvue\\src\\components\\dict\\DictSelect.vue","mtime":1667804638962},{"path":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\cssc-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\r\nimport dictUtils from './DictSelectUtils'\r\nexport default {\r\n name: 'DictSelect',\r\n props: {\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 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 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.type == 'cascader') { // 级联\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 },\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]}