diff --git a/common/js/request.js b/common/js/request.js index 54f4dca..23c8c7c 100644 --- a/common/js/request.js +++ b/common/js/request.js @@ -11,8 +11,8 @@ export default { }) // request 触发前拼接 url // args.url = 'https://www.opsoul.com' + args.url; - args.url = 'http://120.79.136.57' + args.url; - // args.url = 'http://127.0.0.1:80' + args.url; + // args.url = 'http://120.79.136.57' + args.url; + args.url = 'http://127.0.0.1:80' + args.url; if (args.data) { args.data.deptId = globalData.deptId; args.data.from = globalData.from; @@ -353,15 +353,25 @@ export default { }) return res[1].data; }, - async listByStep(params = { + async listByStepWithAllNode(params = { goodsCategoryId: null }) { let res = await uni.request({ - url: '/goods/deptcategory/listByStep', + url: '/goods/deptcategory/app/listByStep', method: 'POST', data: params }) return res[1].data; + }, + async listByStep(params = { + goodsCategoryId: null + }) { + let res = await uni.request({ + url: '/goods/deptcategory/listByStep', + method: 'POST', + data: params + }) + return res[1].data; }, async uploadFile(filePath) { let res = await uni.uploadFile({ diff --git a/pages/index/worker-home.vue b/pages/index/worker-home.vue index 73d33e6..3228d5b 100644 --- a/pages/index/worker-home.vue +++ b/pages/index/worker-home.vue @@ -175,21 +175,21 @@ } }, async loadCategoryList(idArr) { - let typeList = await this.$request.listByStep(); + let typeList = await this.$request.listByStepWithAllNode(); typeList = typeList.data; - let col1Id = idArr ? idArr[0] : typeList[0].goodsCategoryId; - let subTypeList = await this.$request.listByStep({ - goodsCategoryId: col1Id - }); - subTypeList = subTypeList.data; - let col2Id = idArr ? idArr[1] : subTypeList[0].goodsCategoryId; - let subSubTypeList = await this.$request.listByStep({ - goodsCategoryId: col2Id - }); - subSubTypeList = subSubTypeList.data; + // let col1Id = idArr ? idArr[0] : typeList[0].goodsCategoryId; + // let subTypeList = await this.$request.listByStepWithAllNode({ + // goodsCategoryId: col1Id + // }); + // subTypeList = subTypeList.data; + // let col2Id = idArr ? idArr[1] : subTypeList[0].goodsCategoryId; + // let subSubTypeList = await this.$request.listByStepWithAllNode({ + // goodsCategoryId: col2Id + // }); + // subSubTypeList = subSubTypeList.data; this.categoryList.push(typeList); - this.categoryList.push(subTypeList); - this.categoryList.push(subSubTypeList); + this.categoryList.push([]); + this.categoryList.push([]); }, async loadRegionList() { let regionList = await this.$request.areaListByStep(); @@ -258,6 +258,20 @@ for (let i = 0; i < this.categoryList.length; i++) { chosenCategory.push(this.categoryList[i][this.categoryMultiIndex[i]]); } + let lastCategory = null; + for (let i = chosenCategory.length - 1; i >= 0; i--) { + if (i === 0) { + lastCategory = chosenCategory[i]; + break; + } + lastCategory = chosenCategory[i]; + if (!lastCategory || lastCategory.isAllNode) { + lastCategory = chosenCategory[i - 1]; + continue; + } + break; + } + chosenCategory[chosenCategory.length - 1] = lastCategory; this.searchInfo.category = chosenCategory; this.searchGoods(); }, @@ -265,23 +279,25 @@ let colObj = e.detail; if (colObj.column == 0) { // 通过一级查询二级 - let subTypeList = await this.$request.listByStep({ - goodsCategoryId: this.categoryList[0][colObj.value].goodsCategoryId + let subTypeList = await this.$request.listByStepWithAllNode({ + goodsCategoryId: this.categoryList[0][colObj.value].goodsCategoryId, + isAllNode: this.categoryList[0][colObj.value].isAllNode }); subTypeList = subTypeList.data; - let subSubTypeList = await this.$request.listByStep({ - goodsCategoryId: subTypeList[0].goodsCategoryId - }); - subSubTypeList = subSubTypeList.data; + // let subSubTypeList = await this.$request.listByStepWithAllNode({ + // goodsCategoryId: subTypeList[0].goodsCategoryId + // }); + // subSubTypeList = subSubTypeList.data; this.categoryList.pop(); this.categoryList.pop(); this.categoryList.push(subTypeList); - this.categoryList.push(subSubTypeList); + this.categoryList.push([]); this.categoryMultiIndex = [colObj.value, 0, 0]; } else if (colObj.column == 1) { // 通过二级查三级 - let subSubTypeList = await this.$request.listByStep({ - goodsCategoryId: this.categoryList[1][colObj.value].goodsCategoryId + let subSubTypeList = await this.$request.listByStepWithAllNode({ + goodsCategoryId: this.categoryList[1][colObj.value].goodsCategoryId, + isAllNode: this.categoryList[1][colObj.value].isAllNode }); subSubTypeList = subSubTypeList.data; this.categoryList.pop(); diff --git a/pages/product/filtered-products.vue b/pages/product/filtered-products.vue index 71da50a..daf23da 100644 --- a/pages/product/filtered-products.vue +++ b/pages/product/filtered-products.vue @@ -226,21 +226,21 @@ this.pageNum++; }, async loadCategoryList(idArr) { - let typeList = await this.$request.listByStep(); + let typeList = await this.$request.listByStepWithAllNode(); typeList = typeList.data; - let col1Id = idArr ? idArr[0] : typeList[0].goodsCategoryId; - let subTypeList = await this.$request.listByStep({ - goodsCategoryId: col1Id - }); - subTypeList = subTypeList.data; - let col2Id = idArr ? idArr[1] : subTypeList[0].goodsCategoryId; - let subSubTypeList = await this.$request.listByStep({ - goodsCategoryId: col2Id - }); - subSubTypeList = subSubTypeList.data; + // let col1Id = idArr ? idArr[0] : typeList[0].goodsCategoryId; + // let subTypeList = await this.$request.listByStepWithAllNode({ + // goodsCategoryId: col1Id + // }); + // subTypeList = subTypeList.data; + // let col2Id = idArr ? idArr[1] : subTypeList[0].goodsCategoryId; + // let subSubTypeList = await this.$request.listByStepWithAllNode({ + // goodsCategoryId: col2Id + // }); + // subSubTypeList = subSubTypeList.data; this.categoryList.push(typeList); - this.categoryList.push(subTypeList); - this.categoryList.push(subSubTypeList); + this.categoryList.push([]); + this.categoryList.push([]); }, async loadRegionList() { let regionList = await this.$request.areaListByStep(); @@ -340,35 +340,57 @@ for (let i = 0; i < this.categoryList.length; i++) { chosenCategory.push(this.categoryList[i][this.categoryMultiIndex[i]]); } + let lastCategory = null; + for (let i = chosenCategory.length - 1; i >= 0; i--) { + if (i === 0) { + lastCategory = chosenCategory[i]; + break; + } + lastCategory = chosenCategory[i]; + if (!lastCategory || lastCategory.isAllNode) { + lastCategory = chosenCategory[i - 1]; + continue; + } + break; + } + chosenCategory[chosenCategory.length - 1] = lastCategory; this.chosenCategory = chosenCategory; this.taskConditions[this.tabCur].value = chosenCategory[chosenCategory.length - 1].goodsCategoryId; this.searchGoods(); }, - async categoryColChange(e) { + async categoryColChange(e) { + let subTypeList = []; + let subSubTypeList = []; let colObj = e.detail; - if (colObj.column == 0) { - // 通过一级查询二级 - let subTypeList = await this.$request.listByStep({ - goodsCategoryId: this.categoryList[0][colObj.value].goodsCategoryId - }); - subTypeList = subTypeList.data; - let subSubTypeList = await this.$request.listByStep({ - goodsCategoryId: subTypeList[0].goodsCategoryId - }); - subSubTypeList = subSubTypeList.data; + if (colObj.column == 0) { + // 通过一级查询二级 + let chosenColCategory = this.categoryList[0][colObj.value]; + subTypeList = await this.$request.listByStepWithAllNode({ + goodsCategoryId: chosenColCategory.goodsCategoryId, + isAllNode: chosenColCategory.isAllNode + }); + subTypeList = subTypeList.data; + // if (subTypeList && subTypeList.length) { + // subSubTypeList = await this.$request.listByStepWithAllNode({ + // goodsCategoryId: subTypeList[0].goodsCategoryId, + // isAllNode: chosenColCategory.isAllNode + // }); + // subSubTypeList = subSubTypeList.data; + // } this.categoryList.pop(); this.categoryList.pop(); - this.categoryList.push(subTypeList); - this.categoryList.push(subSubTypeList); + this.categoryList.push(subTypeList ? subTypeList : []); + this.categoryList.push([]); this.categoryMultiIndex = [colObj.value, 0, 0]; } else if (colObj.column == 1) { // 通过二级查三级 - let subSubTypeList = await this.$request.listByStep({ - goodsCategoryId: this.categoryList[1][colObj.value].goodsCategoryId + let subSubTypeList = await this.$request.listByStepWithAllNode({ + goodsCategoryId: this.categoryList[1][colObj.value].goodsCategoryId, + isAllNode: this.categoryList[1][colObj.value].isAllNode }); subSubTypeList = subSubTypeList.data; this.categoryList.pop(); - this.categoryList.push(subSubTypeList); + this.categoryList.push(subSubTypeList ? subSubTypeList : []); this.categoryMultiIndex = [this.categoryMultiIndex[0], colObj.value, 0]; } },