From 11902a5aa974042a991a2d6b40e3eef610766b25 Mon Sep 17 00:00:00 2001
From: yujialong <479214531@qq.com>
Date: Thu, 25 Jan 2024 17:12:19 +0800
Subject: [PATCH] fix
---
src/api/index.js | 1 +
src/pages/activity/add/index.vue | 8 +-
.../miniProgramMg/index/banner/add/index.vue | 68 ++++++++++++++-
.../miniProgramMg/index/hot/add/index.vue | 83 +++++++++++++++----
src/pages/user/list/index.vue | 10 ++-
5 files changed, 142 insertions(+), 28 deletions(-)
diff --git a/src/api/index.js b/src/api/index.js
index 92beaa0..c7dd89d 100644
--- a/src/api/index.js
+++ b/src/api/index.js
@@ -50,6 +50,7 @@ export default {
updateAccountAllEnable: `users/users/userAccount/updateAccountAllEnable`,
updateTeamStatus: `nakadai/kindergarten/platformTeamAccount/updateTeamStatus`,
delUserAccounts: `users/users/userAccount/delUserAccounts`,
+ deletePrompt: `users/users/userAccount/deletePrompt`,
queryUserInfoByPhone: `nakadai/nakadai/partner-team/queryUserInfoByPhone`,
transferAdmin: `nakadai/nakadai/partnerAccount/transferAdmin`,
savePartnerAccount: `nakadai/nakadai/partnerAccount/savePartnerAccount`,
diff --git a/src/pages/activity/add/index.vue b/src/pages/activity/add/index.vue
index 4775d3a..6137032 100644
--- a/src/pages/activity/add/index.vue
+++ b/src/pages/activity/add/index.vue
@@ -201,9 +201,11 @@
- 保存
- 发布
+
+ 保存
+ 发布
+
预览
取消
diff --git a/src/pages/miniProgramMg/index/banner/add/index.vue b/src/pages/miniProgramMg/index/banner/add/index.vue
index d2746f1..128793e 100644
--- a/src/pages/miniProgramMg/index/banner/add/index.vue
+++ b/src/pages/miniProgramMg/index/banner/add/index.vue
@@ -54,7 +54,34 @@
:value="item.id">
-
+
+
+
+
+
+
+
+
+
+
@@ -95,6 +122,7 @@ export default {
originForm: {},
form: {
correspondingLinkId: '',
+ goodsId: '',
coverUrl: '',
details: '1',
description: '',
@@ -122,6 +150,7 @@ export default {
name: '店铺'
},
],
+ goods: [],
linkDetails: [],
submiting: false,
updateTime: 0,
@@ -160,7 +189,20 @@ export default {
}
})
}
+ // 商品id
+ if (data.selectLinkId === '1' && data.correspondingLinkId.includes(',')) {
+ const linkId = data.correspondingLinkId.split(',')
+ data.correspondingLinkId = +linkId[0]
+ if (linkId.length > 1) {
+ data.goodsId = +linkId[1]
+ }
+ } else {
+ data.correspondingLinkId = +data.correspondingLinkId
+ }
+ if (!data.correspondingLinkId) data.correspondingLinkId = ''
+ if (!data.goodsId) data.goodsId = ''
this.form = data
+ data.goodsId && this.getGoods()
this.getDetails()
}).catch(err => { })
},
@@ -169,7 +211,7 @@ export default {
if (id) this.form.correspondingLinkId = ''
const { selectLinkId } = this.form
// 活动列表
- if (selectLinkId === '2') {
+ if (selectLinkId === '2') { // 活动列表
const { data } = await this.$post(this.api.postLoginActivity, {
pageNum: 1,
pageSize: 1000,
@@ -180,7 +222,7 @@ export default {
e.id = +e.id
})
this.linkDetails = data.records
- } else if (selectLinkId === '3') { // 供应商
+ } else if (selectLinkId === '1' || selectLinkId === '3') { // 供应商
const { data } = await this.$post(this.api.selectEnterpriseCertificationList, {
pageNum: 1,
pageSize: 1000,
@@ -195,6 +237,22 @@ export default {
this.linkDetails = []
}
},
+ // 查询商品
+ async getGoods (id) {
+ if (id) this.form.goodsId = ''
+ if (this.form.correspondingLinkId) {
+ const { page } = await this.$get(this.api.prodList, {
+ current: 1,
+ size: 1000,
+ shopId: this.form.correspondingLinkId
+ })
+ page.records.forEach(e => {
+ e.name = e.prodName
+ e.id = e.prodId
+ })
+ this.goods = page.records
+ }
+ },
// 清除链接详情
clearDetails () {
this.form.correspondingLinkId = ''
@@ -228,12 +286,14 @@ export default {
// 提交
save (status) {
if (this.submiting) return false
- const { form } = this
+ const form = JSON.parse(JSON.stringify(this.form))
if (!form.productName) return Util.warningMsg('请填写产品名称');
// 发布需要校验
if (status) {
if (!form.coverUrl) return Util.warningMsg('请上传图片');
}
+ if (form.selectLinkId === '1' && form.correspondingLinkId && form.goodsId) form.correspondingLinkId = form.correspondingLinkId + ',' + form.goodsId
+
form.publishStatus = status
this.submiting = true
if (this.id) {
diff --git a/src/pages/miniProgramMg/index/hot/add/index.vue b/src/pages/miniProgramMg/index/hot/add/index.vue
index 44ccd18..61e3327 100644
--- a/src/pages/miniProgramMg/index/hot/add/index.vue
+++ b/src/pages/miniProgramMg/index/hot/add/index.vue
@@ -53,6 +53,7 @@
外链接
+ {{ form.correspondingLinkId }}
@@ -67,7 +68,34 @@
:value="item.id">
-
+
+
+
+
+
+
+
+
+
+
@@ -112,6 +140,7 @@ export default {
originForm: {},
form: {
correspondingLinkId: '',
+ goodsId: '',
coverUrl: '',
details: '1',
description: '',
@@ -139,6 +168,7 @@ export default {
name: '店铺'
},
],
+ goods: [],
linkDetails: [],
submiting: false,
updateTime: 0,
@@ -179,7 +209,20 @@ export default {
}
})
}
+ // 商品id
+ if (data.selectLinkId === '1' && data.correspondingLinkId.includes(',')) {
+ const linkId = data.correspondingLinkId.split(',')
+ data.correspondingLinkId = +linkId[0]
+ if (linkId.length > 1) {
+ data.goodsId = +linkId[1]
+ }
+ } else {
+ data.correspondingLinkId = +data.correspondingLinkId
+ }
+ if (!data.correspondingLinkId) data.correspondingLinkId = ''
+ if (!data.goodsId) data.goodsId = ''
this.form = data
+ data.goodsId && this.getGoods()
this.getDetails()
}).catch(err => { })
},
@@ -187,18 +230,6 @@ export default {
async getDetails (id) {
if (id) this.form.correspondingLinkId = ''
const { selectLinkId } = this.form
- // if (selectLinkId === '1') {
- // const { data } = await this.$get(this.api.prodList, {
- // current: 1,
- // size: 1000,
- // status: '',
- // })
- // data.records.forEach(e => {
- // e.name = e.competitionName
- // e.id = +e.id
- // })
- // this.linkDetails = data.records
- // } else
if (selectLinkId === '2') { // 活动列表
const { data } = await this.$post(this.api.postLoginActivity, {
pageNum: 1,
@@ -206,11 +237,11 @@ export default {
listType: 0,
})
data.records.forEach(e => {
- e.name = e.competitionName
e.id = +e.id
+ e.name = e.competitionName
})
this.linkDetails = data.records
- } else if (selectLinkId === '3') { // 供应商
+ } else if (selectLinkId === '1' || selectLinkId === '3') { // 供应商
const { data } = await this.$post(this.api.selectEnterpriseCertificationList, {
pageNum: 1,
pageSize: 1000,
@@ -218,13 +249,29 @@ export default {
})
data.records.forEach(e => {
e.name = e.companyName
- e.id = +e.teamId
+ e.id = e.teamId
})
this.linkDetails = data.records
} else {
this.linkDetails = []
}
},
+ // 查询商品
+ async getGoods (id) {
+ if (id) this.form.goodsId = ''
+ if (this.form.correspondingLinkId) {
+ const { page } = await this.$get(this.api.prodList, {
+ current: 1,
+ size: 1000,
+ shopId: this.form.correspondingLinkId
+ })
+ page.records.forEach(e => {
+ e.name = e.prodName
+ e.id = e.prodId
+ })
+ this.goods = page.records
+ }
+ },
// 清除链接详情
clearDetails () {
this.form.correspondingLinkId = ''
@@ -259,13 +306,15 @@ export default {
// 提交
save (status) {
if (this.submiting) return false
- const { form } = this
+ const form = JSON.parse(JSON.stringify(this.form))
if (!form.productName) return Util.warningMsg('请填写产品名称');
// 发布需要校验
if (status) {
if (!this.pics.length) return Util.warningMsg('请上传封面图');
if (form.details === '1' && !form.description) return Util.warningMsg('请填写详情内容');
}
+ if (form.selectLinkId === '1' && form.correspondingLinkId && form.goodsId) form.correspondingLinkId = form.correspondingLinkId + ',' + form.goodsId
+
form.coverUrl = this.pics.map(e => e.url).join()
form.publishStatus = status
this.submiting = true
diff --git a/src/pages/user/list/index.vue b/src/pages/user/list/index.vue
index 6e30db3..ef002bd 100644
--- a/src/pages/user/list/index.vue
+++ b/src/pages/user/list/index.vue
@@ -288,8 +288,9 @@ export default {
toDetail (row, detail) {
this.$router.push(`detail?openId=${row.appOpenId}${detail ? '&show=1' : ''}`)
},
- handleDelete (row) {
- this.$confirm('确定要删除吗?', '提示', {
+ async handleDelete (row) {
+ const res = await this.$post(this.api.deletePrompt, [row.appOpenId])
+ this.$confirm(res.tips || '确定要删除吗?', '提示', {
type: 'warning'
}).then(() => {
this.$post(this.api.delUserAccounts, [row.appOpenId]).then(async (res) => {
@@ -308,10 +309,11 @@ export default {
handleSelectionChange (val) {
this.multipleSelection = val;
},
- delAllSelection () {
+ async delAllSelection () {
if (this.multipleSelection.length) {
let delList = this.multipleSelection.map(e => e.appOpenId);
- this.$confirm('确定要删除选中数据吗?', '提示', {
+ const res = await this.$post(this.api.deletePrompt, delList)
+ this.$confirm(res.tips || '确定要删除选中数据吗?', '提示', {
type: 'warning'
}).then(() => {
this.$post(this.api.delUserAccounts, delList).then(async (res) => {