diff --git a/common/js/request.js b/common/js/request.js
index 738d592..f44727b 100644
--- a/common/js/request.js
+++ b/common/js/request.js
@@ -15,7 +15,7 @@ export default {
// request 触发前拼接 url
args.url = 'https://www.opsoul.com:8881' + args.url;
// args.url = 'http://127.0.0.1:80' + args.url;
- // args.url = 'http://192.168.2.50:80' + args.url;
+ // args.url = 'http://192.168.2.12:80' + args.url;
if (!args.data) {
args.data = {}
@@ -536,6 +536,14 @@ export default {
})
return res[1].data;
},
+ async qryProductDetail(params = {}) {
+ let res = await uni.request({
+ url: '/goods/goods/app/detail',
+ method: 'POST',
+ data: params
+ })
+ return res[1].data;
+ },
async updateGoodsStatus(params = {}) {
let res = await uni.request({
url: '/goods/goods/app/updateStatus',
diff --git a/pages/index/goods-manage.vue b/pages/index/goods-manage.vue
index 61b3a06..2a19ef0 100644
--- a/pages/index/goods-manage.vue
+++ b/pages/index/goods-manage.vue
@@ -281,7 +281,7 @@
addEditGood(servItem) {
let params = '';
if (servItem != null) {
- params = '?goodId=' + servItem.id
+ params = '?goodId=' + servItem.goodsId
}
uni.navigateTo({
url: '/pages/my/new-serv' + params
diff --git a/pages/my/new-serv.vue b/pages/my/new-serv.vue
index 495554d..62686d5 100644
--- a/pages/my/new-serv.vue
+++ b/pages/my/new-serv.vue
@@ -19,10 +19,15 @@
选择类目*
-
+ :value="categoryMultiIndex" :range-key="'goodsCategoryName'" :range="categoryList">
+
+
@@ -34,7 +39,7 @@
{{item.goodsCategoryName}}
-
+ `
-->
-
- 商品单位*
-
+
+ 商品单位*
+
+
+
+
+ 质保期
+
+
- 附加服务
-
+ 服务活动
+
+
+
+
+ 服务时效
+
+
上架区域*
-
+
@@ -257,7 +281,8 @@
myUniCombox
},
data() {
- return {
+ return {
+ goodsId: null,
formData: {
servName: '',
servDesc: '',
@@ -285,7 +310,7 @@
regionList: [],
regionMultiIndex: [0, 0],
isShowAllSpecs: false,
- productUnits: [{
+ goodsUnitList: [{
code: 1,
name: '台'
}, {
@@ -293,22 +318,46 @@
name: '件'
}, {
code: 3,
- name: '套'
- }, {
- code: 4,
name: '个'
}, {
- code: 5,
- name: '平方'
- }],
- servHonorTitle: [{
- code: -1,
- name: '无'
+ code: 4,
+ name: '套'
}, {
+ code: 5,
+ name: '㎡'
+ }, {
+ code: 6,
+ name: '只'
+ }, {
+ code: 7,
+ name: '张'
+ }, {
+ code: 8,
+ name: '条'
+ }, {
+ code: 9,
+ name: '顶'
+ }, {
+ code: 10,
+ name: '支'
+ }, {
+ code: 11,
+ name: '根'
+ }],
+ servActivityList: [{
code: 1,
name: '金牌服务'
+ }, {
+ code: 2,
+ name: '定制预售'
+ }, {
+ code: 3,
+ name: '特惠团购'
+ }, {
+ code: 4,
+ name: '分享0元购'
}],
- productProtectTimes: [{
+ warrantyPeriodList: [{
code: 1,
name: '15天'
}, {
@@ -317,6 +366,24 @@
}, {
code: 3,
name: '45天'
+ }, {
+ code: 4,
+ name: '3个月'
+ }, {
+ code: 5,
+ name: '6个月'
+ }, {
+ code: 6,
+ name: '12个月'
+ }],
+ expectDurationList: [{
+ name: '12点前下单,预计当天下午上门/服务'
+ }, {
+ name: '17点前下单,预计次日上门/服务'
+ }, {
+ name: '现时下单,预计次日上门/服务'
+ }, {
+ name: '现时下单,预计后日上门/服务'
}],
curUserInfo: {},
bankCard: null,
@@ -324,22 +391,98 @@
}
},
onLoad(options) {
- let goodId = null;
if (options && options.goodId) {
- goodId = options.goodId;
+ this.goodsId = options.goodId;
}
- this.loadData(goodId);
+ this.loadData(this.goodsId);
},
methods: {
async loadData(goodId) {
this.sysInfo = uni.getSystemInfoSync();
- this.curUserInfo = this.$request.getCurUserInfo();
+ this.curUserInfo = this.$request.getCurUserInfo();
+ if (goodId) {
+ this.getCurGoodsInfo(goodId);
+ }
this.checkBankAndCertify();
this.loadCategoryList();
this.loadRegionList();
// TODO 如果存在goodId说明是修改,需要查询good信息进行回显
// this.categoryList = await this.$api.data('categoryList');
// this.regionList = await this.$api.data('regionList');
+ },
+ async getCurGoodsInfo(goodsId) {
+ let res1 = await this.$request.qryProductDetail({
+ goodsId: goodsId
+ });
+ let goods = res1.data;
+
+ // 选中规则转map
+ let chosenGoodsStandardMap = new Map();
+ goods.goodsStandardList.forEach(o => {
+ chosenGoodsStandardMap.set(o.deptGoodsCategoryId, o);
+ });
+ // 查询选中的第三级类目下的所有规格
+ let res2 = await this.$request.listByStep({
+ type: 1,
+ goodsCategoryId: goods.deptGoodsCategoryId
+ });
+ let specsList = res2.data;
+ let newSpecsList = [];
+ specsList.forEach(o => {
+ if (chosenGoodsStandardMap.has(o.deptGoodsCategoryId)) {
+ o = chosenGoodsStandardMap.get(o.deptGoodsCategoryId);
+ o.checked = true;
+ }
+ newSpecsList.push(o);
+ });
+
+ // 选中地区转map
+ let chosenAreaMap = new Map();
+ goods.goodsAreaList.forEach(o => {
+ chosenAreaMap.set(o.countryAreaId, o);
+ });
+ // 查询选中的第二级区域下的第三级区域
+ let res3 = await this.$request.areaListByStep({
+ parentCode: goods.parentAreaId
+ });
+ let areaList = res3.data;
+ let newAreaList = [];
+ areaList.forEach(o => {
+ if (chosenAreaMap.has(o.areaId)) {
+ o = chosenAreaMap.get(o.areaId);
+ o.checked = true;
+ }
+ newAreaList.push(o);
+ });
+
+ this.formData = {
+ servName: goods.goodsName,
+ servDesc: goods.goodsDesc,
+ categoryConcatName: goods.categoryConcatName,
+ deptGoodsCategoryId: goods.deptGoodsCategoryId,
+ specsList: newSpecsList,
+ goodsUnit: {
+ name: goods.goodsUnit
+ },
+ warrantyPeriod: {
+ name: goods.warrantyPeriod
+ },
+ servActivity: {
+ name: goods.servActivity
+ },
+ expectDuration: {
+ name: goods.expectDuration
+ },
+ areaConcatName: goods.areaConcatName,
+ districtList: newAreaList,
+ detailDesc: goods.remark,
+ areaDesc: goods.areaDesc,
+ coverImgList: [goods.goodsImgUrl],
+ imgList: goods.lbUrl,
+ descImgList: goods.detailUrl,
+ videoList: goods.goodsVideoUrl ? [goods.goodsVideoUrl] : [],
+ // status: 0,
+ }
},
async checkBankAndCertify() {
// 查询账户绑定信息
@@ -406,7 +549,8 @@
for (let i = 0; i < this.categoryList.length; i++) {
chosenCategory.push(this.categoryList[i][this.categoryMultiIndex[i]]);
}
- this.formData.category = chosenCategory;
+ this.formData.category = chosenCategory;
+ this.formData.deptGoodsCategoryId = this.formData.category[this.formData.category.length - 1].goodsCategoryId;
// 查询最后一级品类
let res = await this.$request.listByStep({
@@ -610,7 +754,7 @@
errMsg = '服务名称不能为空';
} else if (!data.servDesc) {
errMsg = '服务描述不能为空';
- } else if (!data.category || !data.category.length) {
+ } else if ((!data.category || !data.category.length) && (!data.categoryConcatName)) {
errMsg = '请选择类目';
} else if (!data.goodsStandardList || !data.goodsStandardList.length) {
errMsg = '至少勾选一个规格';
@@ -712,15 +856,27 @@
let params = {
goodsName: this.formData.servName,
goodsDesc: this.formData.servDesc,
- goodsUnit: this.formData.goodsUnit,
- deptGoodsCategoryId: this.formData.category[this.formData.category.length - 1].goodsCategoryId,
+ goodsUnit: this.formData.goodsUnit.name,
+ warrantyPeriod: this.formData.warrantyPeriod.name,
+ servActivity: this.formData.servActivity.name,
+ expectDuration: this.formData.expectDuration.name,
+ deptGoodsCategoryId: this.formData.deptGoodsCategoryId,
goodsStandardList: goodsStandardList,
goodsAreaList: goodsAreaList,
goodsImgUrl: this.formData.coverImgList[0],
goodsImgsList: goodsImgsList,
goodsVideoUrl: goodsVideoUrl,
status: 0,
- remark: this.formData.detailDesc
+ remark: this.formData.detailDesc,
+ areaDesc: this.formData.areaDesc
+ }
+ console.log(params)
+ if (this.goodsId) {
+ uni.showToast({
+ icon: 'error',
+ title: '参数缺失'
+ })
+ return;
}
let res = await this.$request.addGoods(params);
if (res && res.code === 0) {