From 4287244f76904389908dfdbf6d2091fa1b680b64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B2=B3=E9=B9=8F=E9=BE=99?= <1547476325@qq.com> Date: Mon, 26 May 2025 14:26:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/shop.ts | 78 +++++++++ src/api/votingElection.ts | 44 ----- src/components/zh-scroll/zh-scroll.vue | 23 ++- src/mock/good.ts | 147 ----------------- src/pages/index/index.vue | 45 ++--- .../index/shoppage/financialAssistance.vue | 113 ++++++++----- src/pages/index/shoppage/jrbDetail.vue | 20 ++- src/pages/index/shoppage/mediaDetail.vue | 32 ++-- src/pages/index/shoppage/mediaHelp.vue | 119 +++++++++----- src/pages/index/shoppage/mtbmakeMessage.vue | 155 +++++++++++++++--- src/pages/index/shoppage/shopHelp.vue | 46 ++---- src/pages/index/shoppage/shophelpDetail.vue | 52 +++--- src/pages/memberCenter/index.vue | 1 - src/pages/memberCenter/inpart.vue | 12 +- src/pages/mine/completeInformation.vue | 2 +- src/pages/mine/porsonalinfo.vue | 21 +-- src/static/img/Frame.png | Bin 18918 -> 0 bytes src/static/img/image.png | Bin 30289 -> 0 bytes src/static/img/sl4.png | Bin 71641 -> 0 bytes src/static/img/sl5.png | Bin 127053 -> 0 bytes src/static/logo.png | Bin 112107 -> 0 bytes 21 files changed, 483 insertions(+), 427 deletions(-) create mode 100644 src/api/shop.ts delete mode 100644 src/api/votingElection.ts delete mode 100644 src/mock/good.ts delete mode 100644 src/static/img/Frame.png delete mode 100644 src/static/img/image.png delete mode 100644 src/static/img/sl4.png delete mode 100644 src/static/img/sl5.png delete mode 100644 src/static/logo.png diff --git a/src/api/shop.ts b/src/api/shop.ts new file mode 100644 index 0000000..0ddcc72 --- /dev/null +++ b/src/api/shop.ts @@ -0,0 +1,78 @@ +import { request } from '@/utils/http' + +//开店帮分类 +export function storeCategoryAll() { + return request.http({ + url: '/api/huiqitong/store_category_all', + method: 'GET' + }) +} + +//开店帮内容 +export function storeList(data:any) { + return request.http({ + url: '/api/huiqitong/store_list', + method: 'GET', + data + }) +} + +//开店帮内容详情 +export function storeInfo(id:string) { + return request.http({ + url: '/api/huiqitong/store_info/'+id, + method: 'GET', + }) +} + +//金融帮信息列表 +export function financeList(data:any) { + return request.http({ + url: '/api/huiqitong/finance_list', + method: 'GET', + data + }) +} + +//金融帮信息详情 +export function financeInfo(id:string) { + return request.http({ + url: '/api/huiqitong/finance_info/'+id, + method: 'GET' + }) +} + +//媒体帮列表 +export function mediumList(data:any) { + return request.http({ + url: '/api/huiqitong/medium_list', + method: 'GET', + data + }) +} + +//媒体帮内容详情 +export function mediumInfo(id:string) { + return request.http({ + url: '/api/huiqitong/medium_info/'+id, + method: 'GET' + }) +} + +//发布需求 +export function mediumAdd(data:any) { + return request.http({ + url: '/api/huiqitong/medium/add', + method: 'POST', + data + }) +} + +//我发布的媒体需求 +export function myMedium() { + return request.http({ + url: '/api/huiqitong/my_medium', + method: 'POST' + }) +} + diff --git a/src/api/votingElection.ts b/src/api/votingElection.ts deleted file mode 100644 index 9fb86e6..0000000 --- a/src/api/votingElection.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { request } from '@/utils/http' - -// 获取投票选举(正在进行) -export function getVoteprogress(id: string) { - return request.http({ - url: '/api/vote_progress?meetId='+ id, - method: 'GET' - }) -} - -//用户投票 -export function voteMember(data: any) { - return request.http({ - url: '/api/vote_member', - data - }) -} - -// 获取我的选举 -export function getMyvote(data: any) { - return request.http({ - url: '/api/my_vote', - method: 'GET', - data - }) -} - -// 手机号获取用户信息 -export function getMember_mobile(data: any) { - return request.http({ - url: '/api/member_mobile', - method: 'GET', - data - }) -} - -// 判断用户是否签到 -export function getIs_sign(data: any) { - return request.http({ - url: '/api/is_sign', - method: 'GET', - data - }) -} diff --git a/src/components/zh-scroll/zh-scroll.vue b/src/components/zh-scroll/zh-scroll.vue index 14cb0b7..eb2b037 100644 --- a/src/components/zh-scroll/zh-scroll.vue +++ b/src/components/zh-scroll/zh-scroll.vue @@ -18,16 +18,19 @@ - + {{ item.name }} - + - {{ good.name }} - + + + {{ good.name }} + + @@ -46,6 +49,7 @@ @@ -618,7 +602,6 @@ .biaoq { padding: 10rpx; - width: 110rpx; height: 40.5rpx; border-radius: 0rpx 4rpx 20rpx 0rpx; margin-left: 16rpx; diff --git a/src/pages/index/shoppage/financialAssistance.vue b/src/pages/index/shoppage/financialAssistance.vue index 4b22f4f..b9596a2 100644 --- a/src/pages/index/shoppage/financialAssistance.vue +++ b/src/pages/index/shoppage/financialAssistance.vue @@ -2,28 +2,29 @@ - - - - - - - - {{item.splace}} - - - {{item.title}} - - - - - {{item.ms}} + + + + + + + {{item.bank}} + + + {{item.name}} + + + + + {{item.branch}} + - + @@ -33,38 +34,37 @@ import { ref } from 'vue'; + import { + financeList + } from '@/api/shop' - + const baseurl = ref(import.meta.env.VITE_APP_BASE_URL + '/') // 响应式数据 const keyword = ref(''); + const page = ref(1) + const pagesize = ref(6) - const search = (val) => { - console.log(val); + const search = async (val) => { + page.value = 1 + pagesize.value = 6 + await getfinanceList(keyword.value, page.value, pagesize.value) } - const clickIcon = () => { - console.log(keyword.value); + const clickIcon = async () => { + page.value = 1 + pagesize.value = 6 + await getfinanceList(keyword.value, page.value, pagesize.value) } - const ztList = ref([{ - id: 0, - img: '/static/img/image.png', - title: '这是一个标题', - time: '2025-04-16', - splace: '内蒙古数心科技', - ms: '描述描述描述描述描述描述' - }, - { - id: 1, - img: '/static/img/image.png', - title: '这是一个标题', - time: '2025-04-16', - splace: '内蒙古数心科技', - ms: '描述描述描述描述描述描述' - } - ]) + const clear = async () => { + page.value = 1 + pagesize.value = 6 + await getfinanceList(keyword.value, page.value, pagesize.value) + } + + const ztList = ref([]) const godetail = (id) => { uni.navigateTo({ @@ -76,10 +76,33 @@ uni.navigateTo({ url: '/pages/index/shoppage/interactiveZone' }) + } + + const getfinanceList = async (name, page, limit) => { + let params = { + 'keyword': name, + 'page': page, + 'limit': limit + } + await financeList(params).then((res) => { + ztList.value = res.data.data + }) + } + + const onloadmore = async () => { + page.value++ + let params = { + 'keyword': keyword.value, + 'page': page.value, + 'limit': pagesize.value + } + await financeList(params).then((res) => { + ztList.value = [...ztList.value, ...res.data.data] + }) } - onMounted(() => { - + onShow(async() => { + await getfinanceList('',1,6) }) @@ -89,15 +112,17 @@ height: calc(100vh - 178rpx); width: 100%; overflow-y: hidden; - + .hyonne { + max-height: calc(100vh - 350rpx); + overflow-y: auto; + } .main { margin-top: 10rpx; width: 100%; height: 100%; padding: 0 24rpx; box-sizing: border-box; - max-height: 79vh; - overflow-y: auto; + overflow-y: hidden; .ztone { display: flex; diff --git a/src/pages/index/shoppage/jrbDetail.vue b/src/pages/index/shoppage/jrbDetail.vue index c3e9c5d..f1a0970 100644 --- a/src/pages/index/shoppage/jrbDetail.vue +++ b/src/pages/index/shoppage/jrbDetail.vue @@ -5,20 +5,20 @@ 产品说明 - - 说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明说明 + + 联系方式 - 大聪明 13012345678 + {{listdata.listdata}} {{listdata.tel}} 微信二维码 - + @@ -29,10 +29,18 @@ import { ref } from 'vue'; + import { + financeInfo + } from '@/api/shop' + const baseurl = ref(import.meta.env.VITE_APP_BASE_URL + '/') + + const listdata = ref({}) - onLoad((param) => { - console.log(param); + onLoad(async(param) => { + await financeInfo(param.id).then((res) => { + listdata.value = res.data + }) }) diff --git a/src/pages/index/shoppage/mediaDetail.vue b/src/pages/index/shoppage/mediaDetail.vue index 83160a9..7fbb4a3 100644 --- a/src/pages/index/shoppage/mediaDetail.vue +++ b/src/pages/index/shoppage/mediaDetail.vue @@ -6,26 +6,27 @@ {{userData.name}} - {{userData.member_tag_title}} + {{userData.member_tag_title || userData.tag_name}} {{userData.introduce?'个人介绍':'助企案例'}} - {{userData.introduce}} + {{userData.introduce||userData.content}} 联系方式 - {{userData.moblie}} + {{userData.moblie||userData.tel}} 微信二维码 - + + @@ -39,18 +40,29 @@ ref } from 'vue'; import { memberCenterInfo } from '@/api/memberCenter' + import { + mediumInfo + } from '@/api/shop' const baseurl = ref(import.meta.env.VITE_APP_BASE_URL + '/') const userData = ref({}) onLoad(async(param) => { - await memberCenterInfo(param.id).then((res)=> { - console.log(res); - if(res.code === 1) { - userData.value = res.data - } - }) + if(param.type === 'mt') { + await mediumInfo(param.id).then((res)=> { + if(res.code === 1) { + userData.value = res.data + } + }) + } else { + await memberCenterInfo(param.id).then((res)=> { + console.log(res); + if(res.code === 1) { + userData.value = res.data + } + }) + } }) diff --git a/src/pages/index/shoppage/mediaHelp.vue b/src/pages/index/shoppage/mediaHelp.vue index f262e4c..22a17a1 100644 --- a/src/pages/index/shoppage/mediaHelp.vue +++ b/src/pages/index/shoppage/mediaHelp.vue @@ -2,33 +2,34 @@ - - - + + - + {{item.name}} - + + {{item.tag_name}} + - + - {{item.number}} + {{item.tel}} - {{item.emil}} + {{item.email}} - + 发布信息 @@ -42,19 +43,36 @@ import { ref } from 'vue'; + import { + mediumList + } from '@/api/shop' + + const baseurl = ref(import.meta.env.VITE_APP_BASE_URL + '/') // 响应式数据 const keyword = ref(''); + const page = ref(1) + const pagesize = ref(2) - const search = (val) => { - console.log(val); + const search = async (val) => { + page.value = 1 + pagesize.value = 2 + await getmediumList(keyword.value, page.value, pagesize.value) } - - const clickIcon = () => { - console.log(keyword.value); + + const clickIcon = async () => { + page.value = 1 + pagesize.value = 2 + await getmediumList(keyword.value, page.value, pagesize.value) + } + + const clear = async () => { + page.value = 1 + pagesize.value = 2 + await getmediumList(keyword.value, page.value, pagesize.value) } const gohdzq = () => { @@ -63,35 +81,11 @@ }) } - const mtList = ref([{ - img: '/static/img/Bitmap.png', - name: '多余和毛毛姐', - number: '+86 13012345678', - emil: 'sxkjqq.com' - }, - { - img: '/static/img/Bitmap.png', - name: '多余和毛毛姐', - number: '+86 13012345678', - emil: 'sxkjqq.com' - }, - { - img: '/static/img/Bitmap.png', - name: '多余和毛毛姐', - number: '+86 13012345678', - emil: 'sxkjqq.com' - }, - { - img: '/static/img/Bitmap.png', - name: '多余和毛毛姐', - number: '+86 13012345678', - emil: 'sxkjqq.com' - } - ]) + const mtList = ref([]) const gomtbdetail = (id) => { uni.navigateTo({ - url: '/pages/index/shoppage/mediaDetail?id='+id + url: '/pages/index/shoppage/mediaDetail?id='+id +'&type='+'mt' }) } @@ -101,8 +95,31 @@ }) } - onMounted(() => { - + const getmediumList = async (name, page, limit) => { + let params = { + 'name': name, + 'page': page, + 'limit': limit + } + await mediumList(params).then((res) => { + mtList.value = res.data.data + }) + } + + const onloadmore = async () => { + page.value++ + let params = { + 'name': keyword.value, + 'page': page.value, + 'limit': pagesize.value + } + await mediumList(params).then((res) => { + mtList.value = [...mtList.value, ...res.data.data] + }) + } + + onShow(async() => { + await getmediumList('',1,2) }) @@ -137,7 +154,7 @@ .right { margin-left: 16rpx; display: grid; - + justify-items: baseline; .name { font-family: Source Han Sans; font-size: 32rpx; @@ -149,6 +166,20 @@ letter-spacing: normal; color: #0C092A; } + .tab { + margin-top: 8rpx; + padding: 6rpx 20rpx; + border-radius: 0rpx 4rpx 20rpx 0rpx; + background: linear-gradient(70deg, #312984 -45%, #867BF5 99%); + font-family: YouSheBiaoTiHei; + font-size: 24rpx; + font-weight: normal; + display: flex; + align-items: center; + justify-content: center; + color: #FFFFFF; + text-shadow: 0rpx 4rpx 4rpx rgba(0, 0, 0, 0.2); + } } } diff --git a/src/pages/index/shoppage/mtbmakeMessage.vue b/src/pages/index/shoppage/mtbmakeMessage.vue index 1adbd65..9eb4e9d 100644 --- a/src/pages/index/shoppage/mtbmakeMessage.vue +++ b/src/pages/index/shoppage/mtbmakeMessage.vue @@ -3,33 +3,55 @@ + + + + + 上传头像 + + + + - + - - + + - - + + + + + 上传微信二维码 + + + + + + - + - + - 上传营业执照 + 上传宣传封面 + :src="baseurl+ '/' + form.publicize_pic" mode="scaleToFill"> - - + + @@ -45,23 +67,47 @@ import { ref } from 'vue'; - + import { + mediumAdd + } from '@/api/shop' + const baseurl = ref(import.meta.env.VITE_APP_BASE_URL) // 响应式表单数据 const form = ref({ name: '', type: '', - number: '', - emil: '', - img: '', - case: '' + tag: '', + tel: '', + email: '', + publicize_pic: '', + content: '', + code_pic: '', + head_pic: '', }); const show = ref(false); - const columns = reactive([ - ['中国', '美国', '日本'] + const columns = reactive([[{ + 'id': 1, + 'name': '自媒体' + }, + { + 'id': 2, + 'name': '达人' + }, + { + 'id': 3, + 'name': '网红' + }, + { + 'id': 4, + 'name': '孵化机构' + }, + { + 'id': 5, + 'name': '陪跑机构' + }] ]); // 校验规则 @@ -76,22 +122,32 @@ message: '请输入标签', trigger: ['blur', 'change'], }, ], - number: [{ + tel: [{ required: true, message: '请输入联系方式', trigger: ['blur', 'change'], }, ], - emil: [{ + email: [{ required: true, message: '请输入邮箱地址', trigger: ['blur', 'change'], }, ], - img: [{ + publicize_pic: [{ required: true, message: '请上传宣传封面', trigger: ['blur', 'change'], }, ], - case: [{ + code_pic: [{ + required: true, + message: '请上传微信二维码', + trigger: ['blur', 'change'], + }, ], + head_pic: [{ + required: true, + message: '请上传头像', + trigger: ['blur', 'change'], + }, ], + content: [{ required: true, message: '请输入真实案例', trigger: ['blur', 'change'], @@ -110,6 +166,47 @@ success: async (val) => { if (JSON.parse(val.data).data.url) { console.log(JSON.parse(val.data).data.url); + form.value.publicize_pic = JSON.parse(val.data).data.url + } + }, + fail: (res) => { + console.log('失败', res); + } + }) + } + + const txafterRead = async (e) => { + uni.uploadFile({ + url: import.meta.env.VITE_APP_BASE_URL + '/api/file/image', + filePath: e.file.url, + name: 'file', + header: { + 'token': uni.getStorageSync('access_token') + }, + success: async (val) => { + if (JSON.parse(val.data).data.url) { + console.log(JSON.parse(val.data).data.url); + form.value.head_pic = JSON.parse(val.data).data.url + } + }, + fail: (res) => { + console.log('失败', res); + } + }) + } + + const codeafterRead = async (e) => { + uni.uploadFile({ + url: import.meta.env.VITE_APP_BASE_URL + '/api/file/image', + filePath: e.file.url, + name: 'file', + header: { + 'token': uni.getStorageSync('access_token') + }, + success: async (val) => { + if (JSON.parse(val.data).data.url) { + console.log(JSON.parse(val.data).data.url); + form.value.code_pic = JSON.parse(val.data).data.url } }, fail: (res) => { @@ -123,7 +220,8 @@ const confirm = (val) => { console.log(val.value[0]); - form.value.type = val.value[0] + form.value.type = val.value[0].name + form.value.tag = val.value[0].id show.value = false } @@ -132,6 +230,14 @@ uFormRef.value.validate().then(valid => { if (valid) { uni.$u.toast('校验通过') + delete form.value.type + mediumAdd(form.value).then((res)=> { + if(res.code === 1) { + uni.navigateTo({ + url: '/pages/index/shoppage/mediaHelp' + }) + } + }) } else { uni.$u.toast('请填写完整') } @@ -190,6 +296,7 @@ } } } + .yyzz { margin-top: 12rpx; width: 100%; @@ -206,7 +313,7 @@ letter-spacing: normal; color: #CCCCCC; } - + :deep(.u-upload) { .u-upload__wrap { view { diff --git a/src/pages/index/shoppage/shopHelp.vue b/src/pages/index/shoppage/shopHelp.vue index 01da635..919fdc1 100644 --- a/src/pages/index/shoppage/shopHelp.vue +++ b/src/pages/index/shoppage/shopHelp.vue @@ -7,56 +7,40 @@ :showAction="false" height="40" margin="40rpx 24rpx 24rpx 24rpx"> - +