{"remainingRequest":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\cssc-fvue\\src\\components\\eipControl\\EipCascader.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\cssc-fvue\\src\\components\\eipControl\\EipCascader.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\r\nimport utils from \"@/utils.js\";\r\nimport hotentUtils from \"@/hotent-ui-util.js\";\r\nimport sub_pio_mixin from \"@/sub-permission-mixin.js\";\r\n\r\nexport default {\r\n name: \"eip-cascader\",\r\n props: [\r\n \"validate\",\r\n \"value\",\r\n \"name\",\r\n \"permission\",\r\n \"atter\",\r\n \"inputType\",\r\n \"placeholder\",\r\n \"ganged\",\r\n ],\r\n mixins: [sub_pio_mixin],//混入方式引入表单组件中公共属性,处理子表、孙表行内联动(切面修改permission_sub)\r\n data() {\r\n let _this = this;\r\n return {\r\n lazyLoadResolve: null,\r\n props: {\r\n value: _this.ganged.valueBind,\r\n label: _this.ganged.labelBind,\r\n lazy: true,\r\n lazyLoad(node, resolve) {\r\n _this.dynamicLoadOption(node, resolve);\r\n },\r\n },\r\n };\r\n },\r\n computed: {\r\n inputVal: {\r\n get() {\r\n if (this.value) {\r\n if (this.value.constructor == String) {\r\n if (!this.value) {\r\n return \"\";\r\n }\r\n let cascaderModel = JSON.parse(this.value);\r\n if (!this.inputWriteable) {\r\n return cascaderModel.pathLabels.join(\"/\");\r\n }\r\n return cascaderModel.path;\r\n }\r\n return this.value.path;\r\n } else {\r\n return this.value;\r\n }\r\n },\r\n set(val) {\r\n let selectValArr = this.$refs[this.atter].getCheckedNodes(false);\r\n if (selectValArr.length > 0 && selectValArr[0] !== null) {\r\n let result = {\r\n path: selectValArr[0].path,\r\n pathLabels: selectValArr[0].pathLabels,\r\n };\r\n this.$emit(\"input\", JSON.stringify(result));\r\n }\r\n },\r\n },\r\n inputWriteable: function () {\r\n return utils.getWriteable(this.permission_sub);\r\n },\r\n inputValidate: function () {\r\n var validateObj = this.$store.state.index.validate;\r\n return utils.addRequiredOrNot(\r\n this.permission_sub,\r\n this.validate,\r\n validateObj,\r\n this\r\n );\r\n },\r\n inputName: function () {\r\n let labeldesc = \"\";\r\n if (\r\n this.$slots &&\r\n this.$slots.labeldesc &&\r\n this.$slots.labeldesc[0].children &&\r\n this.$slots.labeldesc[0].children[0].text\r\n ) {\r\n labeldesc = this.$slots.labeldesc[0].children[0].text;\r\n return this.name ? this.name : utils.getName() + \"-\" + labeldesc;\r\n } else {\r\n return this.name ? this.name : utils.getName();\r\n }\r\n },\r\n },\r\n created() {\r\n if (\r\n !this.ganged ||\r\n !this.ganged.alias ||\r\n !this.ganged.valueBind ||\r\n !this.ganged.labelBind\r\n ) {\r\n const msg = `级联控件【${this.inputName}】未正确的设置选项配置`;\r\n this.$message.error(msg);\r\n throw msg;\r\n }\r\n // 动态选项所绑定的关联查询返回了查询结果\r\n this.$on(\"dynamic-options:update\", this.dynamicOptionResponse);\r\n this.$validator = this.$root.$validator;\r\n },\r\n methods: {\r\n // 动态加载选项\r\n dynamicLoadOption: function (node, resolve) {\r\n this.lazyLoadResolve = resolve;\r\n setTimeout(() => {\r\n const params = this.prepareLoadParams(this.ganged.bind, node);\r\n this.$emit(\"dynamic-options:load\", this.ganged.alias, params);\r\n }, 0);\r\n },\r\n // 准备查询参数\r\n prepareLoadParams: function (condition, node) {\r\n let params = {};\r\n // 根节点,没有上一级节点时获取不到查询参数值\r\n if (node.level == 0) {\r\n return params;\r\n }\r\n\r\n if (condition && !hotentUtils.isEmpty(condition)) {\r\n Object.keys(condition).forEach((k) => {\r\n const val = node.data[condition[k]];\r\n if (!hotentUtils.isEmpty(val)) {\r\n params[k] = val;\r\n }\r\n });\r\n }\r\n return params;\r\n },\r\n // 动态加载选项返回值处理\r\n dynamicOptionResponse: function (alias, data) {\r\n if (this.lazyLoadResolve) {\r\n this.lazyLoadResolve(data);\r\n // 动态加载选项后触发组件视图更新\r\n this.$refs[this.atter].computePresentContent();\r\n }\r\n },\r\n },\r\n};\r\n",null]}