{"version":3,"sources":["webpack:///./src/components/business/mobile/product/InsProductAttrsTree.vue?e3e2","webpack:///./src/components/business/mobile/product/InsProductAttrsTree.vue?61a2","webpack:///./src/components/business/mobile/product/InsProductAttrsTree.vue","webpack:///./src/components/business/mobile/product/InsProductAttrsTree.vue?fc9f","webpack:///./src/components/business/mobile/product/InsProductAttrsTree.vue?44f7","webpack:///./src/components/business/mobile/product/InsProductAttrsTree.vue?6a1e"],"names":["render","_vm","this","_c","_self","_setupProxy","staticClass","class","showCheckbox","ui","_l","attrData","attr","index","key","attrs","defaultSelected","multiSelect","on","changeOSelect","_e","title","_v","_s","ref","expandAll","props","changeCSelect","handleNodeClick","staticRenderFns","InsPoductAttrsTree","_Vue","_this","_classCallCheck","checkedKeys","selectedAttr","children","label","_inherits","_createClass","value","item","_this2","flag","forEach","element","Id","Vals","length","splice","push","$emit","_this3","$Api","prodAttrApi","getAttrList","type","then","result","keyValue","AttrValues","_this4","v","$refs","tree","setCheckedKeys","data","checkedDetails","b","getCheckedNodes","changeSelectedAttr","Nodes","c","isLeaf","parent","_this5","s","AttrId","JSON","parse","stringify","setTreeChecked","n","o","Vue","__decorate","Prop","default","Watch","deep","Component","components","InsSelectSearch","component"],"mappings":"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","file":"js/chunk-3b2c2eaa.77168aa2.js","sourcesContent":["export * from \"-!../../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--10-oneOf-1-1!../../../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../../node_modules/_style-resources-loader@1.5.0@style-resources-loader/lib/index.js??ref--10-oneOf-1-4!../../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/index.js??vue-loader-options!./InsProductAttrsTree.vue?vue&type=style&index=0&id=618bc286&prod&lang=less\"","export * from \"-!../../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--10-oneOf-1-1!../../../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../../node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../../node_modules/_style-resources-loader@1.5.0@style-resources-loader/lib/index.js??ref--10-oneOf-1-4!../../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/index.js??vue-loader-options!./InsProductAttrsTree.vue?vue&type=style&index=1&id=618bc286&prod&scoped=true&lang=less\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"productAttrsTree\",class:{'noCheckbox': !_vm.showCheckbox}},[(_vm.ui === 'dropdown')?_vm._l((_vm.attrData),function(attr,index){return _c('InsSelectSearch',{key:index,attrs:{\"data\":attr,\"defaultAttrs\":_vm.defaultSelected,\"multiple\":_vm.multiSelect},on:{\"changeSelect\":_vm.changeOSelect}})}):_vm._e(),(_vm.ui === 'tree')?[(_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,\"node-click\":_vm.handleNodeClick}})]:_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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 components: {\r\n InsSelectSearch: () => import('@/components/base/mobile/InsSelectSearch.vue')\r\n }\r\n})\r\nexport default class InsPoductAttrsTree extends Vue {\r\n @Prop({ default: '' }) private title!: string; // 标题\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 @Prop({ default: 'dropdown' }) private ui!: string;\r\n @Prop({ default: () => [] }) private defaultSelected!: attrItem[];\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 changeOSelect (item) {\r\n console.log(item, 'changeSelect');\r\n let flag = 0;\r\n this.selectedAttr.forEach((element, index) => {\r\n console.log(element, index, 'element,index,');\r\n if (element.Id === item.Id) {\r\n if (item.Vals.length) {\r\n element.Vals = item.Vals;\r\n } else {\r\n this.selectedAttr.splice(index, 1);\r\n }\r\n\r\n flag = 1;\r\n }\r\n });\r\n\r\n if (!flag) {\r\n this.selectedAttr.push(item);\r\n }\r\n\r\n console.log(this.selectedAttr, 'searchV2查询参数(下拉框)');\r\n this.$emit('changeSelect', this.selectedAttr);\r\n }\r\n\r\n // @Watch('$route', { deep: true })\r\n // onRouteChange (n, o) {\r\n // this.getCheckedKeys();\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 // 设置目前勾选的节点\r\n setTreeChecked () {\r\n this.checkedKeys = [];\r\n this.defaultSelected.forEach(element => {\r\n element.Vals.forEach(v => {\r\n this.checkedKeys.push('c' + v);\r\n });\r\n });\r\n\r\n (this.$refs.tree as any).setCheckedKeys(this.checkedKeys);\r\n\r\n console.log(this.defaultSelected, 'this.defaultSelected');\r\n }\r\n\r\n // 选择改变(树形控件checkbox)\r\n changeCSelect (data, checkedDetails) {\r\n console.log(data, 'checked data');\r\n console.log(checkedDetails, 'checkedDetails');\r\n if (!this.multiSelect) {\r\n (this.$refs.tree as any).setCheckedKeys([data.keyValue]);\r\n }\r\n\r\n let b = (this.$refs.tree as any).getCheckedNodes(true);\r\n this.changeSelectedAttr(b);\r\n }\r\n\r\n // 节点被点击时的回调(树形控件)\r\n handleNodeClick (data, Nodes, c) {\r\n if (!this.showCheckbox && Nodes.isLeaf) {\r\n this.selectedAttr = [];\r\n this.selectedAttr.push({\r\n Id: Nodes.parent.data.Id,\r\n Vals: [data.Id]\r\n });\r\n\r\n console.log(this.selectedAttr, '节点被点击时的回调 NodeClick');\r\n this.$emit('changeSelect', this.selectedAttr);\r\n }\r\n }\r\n\r\n // 搜寻attr改变\r\n changeSelectedAttr (item) {\r\n console.log(item, '搜寻attr改变');\r\n this.selectedAttr = [];\r\n\r\n item.forEach(element => {\r\n if (this.selectedAttr.length) {\r\n let flag = 0;\r\n this.selectedAttr.forEach(s => {\r\n if (element.AttrId === s.Id) {\r\n s.Vals.push(element.Id);\r\n flag = 1;\r\n }\r\n });\r\n\r\n if (!flag && element.AttrId) {\r\n this.selectedAttr.push({\r\n Id: element.AttrId,\r\n Vals: [element.Id]\r\n });\r\n }\r\n } else {\r\n this.selectedAttr.push({\r\n Id: element.AttrId,\r\n Vals: [element.Id]\r\n });\r\n }\r\n });\r\n\r\n console.log(this.selectedAttr, 'searchV2查询参数(Tree)');\r\n this.$emit('changeSelect', this.selectedAttr);\r\n }\r\n\r\n mounted () {\r\n this.getAttrList();\r\n\r\n if (this.defaultSelected.length) {\r\n this.selectedAttr = JSON.parse(JSON.stringify(this.defaultSelected));\r\n\r\n if (this.ui === 'tree' && this.showCheckbox) {\r\n this.setTreeChecked();\r\n }\r\n }\r\n }\r\n\r\n @Watch('defaultSelected', { deep: true })\r\n onDefaultSelectedChange (n, o) {\r\n console.log(n, o, 'DefaultSelectedChange');\r\n if (this.ui === 'tree' && this.showCheckbox) {\r\n this.setTreeChecked();\r\n } else if (this.ui === 'dropdown' && !this.defaultSelected.length) {\r\n this.selectedAttr = [];\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../../node_modules/_babel-loader@8.4.1@babel-loader/lib/index.js!../../../../../node_modules/_ts-loader@5.4.5@ts-loader/index.js??ref--14-3!../../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/index.js??vue-loader-options!./InsProductAttrsTree.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../../node_modules/_babel-loader@8.4.1@babel-loader/lib/index.js!../../../../../node_modules/_ts-loader@5.4.5@ts-loader/index.js??ref--14-3!../../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/_vue-loader@15.11.1@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=618bc286&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=618bc286&prod&lang=less\"\nimport style1 from \"./InsProductAttrsTree.vue?vue&type=style&index=1&id=618bc286&prod&scoped=true&lang=less\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"618bc286\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}