{"version":3,"sources":["webpack:///./src/components/business/pc/product/InsProductAttrsTree.vue?a7c1","webpack:///./src/components/business/pc/product/InsProductAttrsTree.vue?9655","webpack:///./src/components/business/pc/product/InsProductAttrsTree.vue","webpack:///./src/components/business/pc/product/InsProductAttrsTree.vue?d4ae","webpack:///./src/components/business/pc/product/InsProductAttrsTree.vue?a56c"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","direction","_l","attr","index","key","attrs","multiSelect","on","changeOSelect","_e","_v","_s","title","ref","expandAll","attrData","showCheckbox","props","changeCSelect","staticRenderFns","checkedKeys","selectedAttr","children","label","$Api","prodAttrApi","getAttrList","type","then","result","forEach","item","keyValue","Id","push","Vals","AttrValues","element","length","routerType","v","$refs","tree","setCheckedKeys","setTimeout","a","getCheckedNodes","changeSelectedAttr","b","val","parentId","flag","$emit","i","j","AttrId","n","o","getCheckedKeys","JSON","parse","$route","query","default","deep","name","components","InsSelectSearch","component"],"mappings":"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","file":"js/chunk-f2c9a026.814f0df5.js","sourcesContent":["import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../../node_modules/style-resources-loader/lib/index.js??ref--10-oneOf-1-4!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InsProductAttrsTree.vue?vue&type=style&index=0&id=18f004ea&scoped=true&lang=less&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../../node_modules/style-resources-loader/lib/index.js??ref--10-oneOf-1-4!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InsProductAttrsTree.vue?vue&type=style&index=0&id=18f004ea&scoped=true&lang=less&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"productAttrsTree\"},[(_vm.direction === 'row')?_vm._l((_vm.attrData),function(attr,index){return _c('ins-select-search',{key:index,attrs:{\"data\":attr,\"multiple\":_vm.multiSelect},on:{\"changeSelect\":_vm.changeOSelect}})}):_vm._e(),(_vm.direction === 'column')?[(_vm.title)?_c('p',{staticClass:\"Title\"},[_vm._v(_vm._s(_vm.title))]):_vm._e(),_c('el-tree',{ref:\"tree\",attrs:{\"icon-class\":\"el-icon-arrow-right\",\"default-expand-all\":_vm.expandAll,\"data\":_vm.attrData,\"node-key\":\"keyValue\",\"show-checkbox\":_vm.showCheckbox,\"props\":_vm.props,\"check-strictly\":!_vm.multiSelect},on:{\"check\":_vm.changeCSelect}})]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\nexport interface attrItem {\r\n Id: number,\r\n Vals: number[]\r\n}\r\n@Component({\r\n name: 'InsPoductAttrsTree',\r\n components: {\r\n InsSelectSearch: () => import('@/components/base/pc/InsSelectSearch.vue')\r\n }\r\n})\r\nexport default class InsPoductAttrsTree extends Vue {\r\n @Prop({ default: '' }) private title!: string; // 标题\r\n @Prop({ default: 'column' }) private direction!: string; // 高级搜索组件方向 column/row\r\n @Prop({ default: false }) private expandAll!: boolean; // 是否默认展开所有节点\r\n @Prop({ default: true }) private multiSelect!: boolean; // 是否为多选\r\n @Prop({ default: false }) private showCheckbox!: boolean; // 节点是否可被选择\r\n\r\n attrData: object[] = []; // 产品属性数据\r\n checkedKeys: any[] = []; // 设置选中的节点\r\n selectedAttr: attrItem[] = []; // 选中的产品属性数组\r\n // 设置树形控件节点对象属性值\r\n props: object = {\r\n children: 'AttrValues',\r\n label: 'Name'\r\n };\r\n\r\n // 选中的产品属性值对象数组\r\n get attrs () {\r\n return JSON.parse(this.$route.query.attrs as string);\r\n }\r\n\r\n get routerType () {\r\n return JSON.parse(this.$route.query.type as string);\r\n }\r\n\r\n // 获取全部非库存属性\r\n getAttrList () {\r\n this.$Api.prodAttrApi.getAttrList({ type: 0 }).then((result) => {\r\n result.forEach((item) => {\r\n item.keyValue = 'p' + item.Id;\r\n\r\n this.selectedAttr.push({\r\n Id: item.Id,\r\n Vals: []\r\n });\r\n\r\n item.AttrValues.forEach(element => {\r\n element.keyValue = 'c' + element.Id;\r\n });\r\n });\r\n\r\n this.attrData = result;\r\n\r\n console.log(this.attrData, '处理后的产品属性');\r\n });\r\n }\r\n\r\n // 获取选中attr\r\n getCheckedKeys () {\r\n this.checkedKeys = [];\r\n\r\n this.attrs.forEach(element => {\r\n if (element.Vals.length || this.routerType) {\r\n element.Vals.forEach(v => {\r\n this.checkedKeys.push('c' + v);\r\n });\r\n } else {\r\n this.checkedKeys.push('p' + element.Id);\r\n }\r\n });\r\n\r\n console.log(this.checkedKeys, 'this.checkedKeys');\r\n\r\n (this.$refs.tree as any).setCheckedKeys(this.checkedKeys);\r\n\r\n setTimeout(() => {\r\n let a = (this.$refs.tree as any).getCheckedNodes(true);\r\n this.changeSelectedAttr(a, 1);\r\n }, 300);\r\n }\r\n\r\n // 选择改变(树形控件)\r\n changeCSelect (key) {\r\n if (!this.multiSelect) {\r\n (this.$refs.tree as any).setCheckedKeys([key.keyValue]);\r\n }\r\n\r\n let b = (this.$refs.tree as any).getCheckedNodes(true);\r\n this.changeSelectedAttr(b, 0);\r\n }\r\n\r\n // 选择改变(下拉框)\r\n changeOSelect (val, parentId, flag) {\r\n console.log(parentId, val, 'changeSelect');\r\n this.selectedAttr.forEach(element => {\r\n if (element.Id === parentId) {\r\n if (this.multiSelect) {\r\n element.Vals = val;\r\n } else {\r\n element.Vals = [val];\r\n }\r\n }\r\n });\r\n\r\n console.log(this.selectedAttr, 'searchV2查询参数(下拉框)');\r\n this.$emit('changeSelect', this.selectedAttr, flag);\r\n }\r\n\r\n // 搜寻attr改变\r\n changeSelectedAttr (item, flag) {\r\n console.log(item, '搜寻attr改变');\r\n\r\n this.selectedAttr.forEach(element => {\r\n element.Vals = [];\r\n });\r\n\r\n for (var i = 0; i < item.length; i++) {\r\n for (var j = 0; j < this.selectedAttr.length; j++) {\r\n if (item[i].AttrId === this.selectedAttr[j].Id) {\r\n this.selectedAttr[j].Vals.push(item[i].Id);\r\n }\r\n }\r\n }\r\n console.log(this.selectedAttr, 'searchV2查询参数(Tree)');\r\n this.$emit('changeSelect', this.selectedAttr, flag);\r\n }\r\n\r\n @Watch('$route', { deep: true })\r\n onRouteChange (n, o) {\r\n if (this.direction === 'column' && !this.routerType) {\r\n this.getCheckedKeys();\r\n }\r\n }\r\n\r\n mounted () {\r\n this.getAttrList();\r\n if (this.direction === 'column') {\r\n this.getCheckedKeys();\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InsProductAttrsTree.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InsProductAttrsTree.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InsProductAttrsTree.vue?vue&type=template&id=18f004ea&scoped=true&\"\nimport script from \"./InsProductAttrsTree.vue?vue&type=script&lang=ts&\"\nexport * from \"./InsProductAttrsTree.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./InsProductAttrsTree.vue?vue&type=style&index=0&id=18f004ea&scoped=true&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"18f004ea\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}