{"version":3,"sources":["webpack:///./src/components/business/mobile/product/InsProductAttrsTree.vue?cf08","webpack:///./src/components/business/mobile/product/InsProductAttrsTree.vue?71e6","webpack:///./src/components/business/mobile/product/InsProductAttrsTree.vue?c8fb","webpack:///./src/components/business/mobile/product/InsProductAttrsTree.vue","webpack:///./src/components/business/mobile/product/InsProductAttrsTree.vue?528f","webpack:///./src/components/business/mobile/product/InsProductAttrsTree.vue?1f2a"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","class","showCheckbox","ui","_l","attr","index","key","attrs","defaultSelected","multiSelect","on","changeOSelect","_e","_v","_s","title","ref","expandAll","attrData","props","changeCSelect","handleNodeClick","staticRenderFns","checkedKeys","selectedAttr","children","label","item","flag","forEach","element","Id","Vals","length","splice","push","$emit","$Api","prodAttrApi","getAttrList","type","then","result","keyValue","AttrValues","v","$refs","tree","setCheckedKeys","data","checkedDetails","b","getCheckedNodes","changeSelectedAttr","Nodes","c","isLeaf","parent","s","AttrId","JSON","parse","stringify","setTreeChecked","n","o","default","deep","components","InsSelectSearch","component"],"mappings":"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","file":"js/chunk-ad21b3d6.dc5b5961.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&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&lang=less&\"","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=1&id=d222573e&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=1&id=d222573e&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\",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)}\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 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/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=d222573e&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&lang=less&\"\nimport style1 from \"./InsProductAttrsTree.vue?vue&type=style&index=1&id=d222573e&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 \"d222573e\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}