{"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\\dict\\DictSelect.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\dict\\DictSelect.vue","mtime":1675071991756},{"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\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]}