From 211d8853f6c9813bdc1f50f6269b1d517cc099e7 Mon Sep 17 00:00:00 2001 From: wangzimeng <3297159934@qq.com> Date: Fri, 1 Aug 2025 15:08:52 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=8F=91=E5=B8=83=EF=BC=9A=E5=90=8C?= =?UTF-8?q?=E6=84=8F=E9=A1=BB=E7=9F=A5=E5=BC=B9=E6=A1=86=E7=9A=84=E6=8C=89?= =?UTF-8?q?=E9=92=AE=E6=A0=B7=E5=BC=8F=202=E3=80=81=E5=8F=91=E5=B8=83?= =?UTF-8?q?=EF=BC=9A=E8=BA=AB=E4=BB=BD=E8=AE=A4=E8=AF=81=E7=9A=84=E8=B7=B3?= =?UTF-8?q?=E8=BD=AC=203=E3=80=81=E6=88=91=E7=9A=84=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E7=9A=84=E5=88=97=E8=A1=A8=E6=A0=B7=E5=BC=8F=E4=BF=AE=E6=94=B9?= =?UTF-8?q?-=E6=B7=BB=E5=8A=A0=E6=8C=89=E9=92=AE=EF=BC=88=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=92=8C=E5=8F=96=E6=B6=88=E5=95=8A=E6=8C=89=E9=92=AE?= =?UTF-8?q?=EF=BC=89=EF=BC=8C=E5=B9=B6=E5=AE=9E=E7=8E=B0=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=204=E3=80=81=E6=88=91=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E7=9A=84=E4=BF=AE=E6=94=B9=E9=A1=B5=E9=9D=A2=E6=8E=A5=E5=8F=82?= =?UTF-8?q?=E5=92=8C=E6=95=B0=E6=8D=AE=E5=8F=8D=E6=98=BE=205=E3=80=81?= =?UTF-8?q?=E8=B6=B3=E8=BF=B9=E7=9A=84=E9=A1=B5=E9=9D=A2=E9=AB=98=E5=BA=A6?= =?UTF-8?q?=E6=89=93=E5=BC=80=EF=BC=8C=E5=90=88=E5=B9=B6=E7=9B=B8=E5=90=8C?= =?UTF-8?q?=E6=97=A5=E6=9C=9F=E7=9A=84=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages.json | 52 +- pages/canteenRent/rentDetail.vue | 6 - pages/canteenRent/rentEdit.vue | 1537 ++++++++++++++++++++++++++++++ pages/index/fabu.vue | 123 ++- pages/index/index.vue | 21 + pages/user/goods-log.vue | 30 +- pages/user/myRelease/list.vue | 594 +++++++----- sheep/api/rent.js | 14 + 8 files changed, 2077 insertions(+), 300 deletions(-) create mode 100644 pages/canteenRent/rentEdit.vue diff --git a/pages.json b/pages.json index 8ad227c..5071eec 100644 --- a/pages.json +++ b/pages.json @@ -96,8 +96,7 @@ } } ], - "subPackages": [ - { + "subPackages": [{ "root": "pages/canteenRent", "pages": [{ "path": "rentList", @@ -110,17 +109,28 @@ } }, { - "path": "rentDetail", - "style": { - "navigationBarTitleText": "招租详情" - }, - "meta": { - "sync": true, - "title": "招租详情", - "group": "食堂招租" - } + "path": "rentDetail", + "style": { + "navigationBarTitleText": "招租详情" + }, + "meta": { + "sync": true, + "title": "招租详情", + "group": "食堂招租" } - + }, + { + "path": "rentEdit", + "style": { + "navigationBarTitleText": "修改发布信息" + }, + "meta": { + "sync": true, + "title": "修改发布信息", + "group": "食堂招租" + } + } + ] }, { @@ -136,16 +146,16 @@ } }, { - "path": "classesDetail", - "style": { - "navigationBarTitleText": "课程详情" - }, - "meta": { - "sync": true, - "title": "课程详情", - "group": "平台学院" - } + "path": "classesDetail", + "style": { + "navigationBarTitleText": "课程详情" + }, + "meta": { + "sync": true, + "title": "课程详情", + "group": "平台学院" } + } ] }, { diff --git a/pages/canteenRent/rentDetail.vue b/pages/canteenRent/rentDetail.vue index 802e6ba..b61efdc 100644 --- a/pages/canteenRent/rentDetail.vue +++ b/pages/canteenRent/rentDetail.vue @@ -239,12 +239,6 @@ title:'已收藏', icon:'none' }) - // setTimeout(() => { - // uni.showToast({ - // title:'已收藏', - // icon:'none' - // }) - // }, 1000) } } diff --git a/pages/canteenRent/rentEdit.vue b/pages/canteenRent/rentEdit.vue new file mode 100644 index 0000000..277c2f0 --- /dev/null +++ b/pages/canteenRent/rentEdit.vue @@ -0,0 +1,1537 @@ + + + + + \ No newline at end of file diff --git a/pages/index/fabu.vue b/pages/index/fabu.vue index 7836181..8711041 100644 --- a/pages/index/fabu.vue +++ b/pages/index/fabu.vue @@ -106,8 +106,8 @@ 选择标签 - 选择 - 河南 + 选择 + @@ -161,45 +161,51 @@ - - 《责任承诺确认书》 - - - - - - - - + + 《责任承诺确认书》 + + + + + + + + 取消 我同意 我同意 - - - + + + - - 身份认证 - 认证后即可发布信息 + + + 身份认证 + + 认证后即可发布信息 - 取消 - 去认证 + 取消 + 去认证 - - + + - - + + sheep.$store('user').isLogin); const state = reactive({ showRegion: false, @@ -336,7 +342,7 @@ const Negotiate = ref('') //富文本 const cardShow = ref(false) //身份认证 const status = ref(0) - + onShow(() => { getFbKnow(); getTagList(); @@ -345,10 +351,10 @@ //身份认证 function getAuthentied() { sheep.$api.rent.isAuthentied().then((res) => { - if(res.code == 1) { - if(res.data !=1) { + if (res.code == 1) { + if (res.data != 1) { cardShow.value = true; - }else { + } else { cardShow.value = false; } } @@ -357,10 +363,10 @@ //发布须知 function getFbKnow() { sheep.$api.rent.fabuAgree().then((res) => { - if(res.code == 1) { - console.log('发布须知',res.data); + if (res.code == 1) { + console.log('发布须知', res.data); Negotiate.value = res.data.notice_publication_agreement - console.log('发布须知——Negotiate:',Negotiate.value); + console.log('发布须知——Negotiate:', Negotiate.value); } }) } @@ -370,22 +376,22 @@ url: e }) } else { - + uni.showToast({ title: '请先登录', icon: 'none', duration: 2000 }) - + setTimeout(function() { uni.switchTab({ url: '/pages/index/user' }) }, 2000); - + } } - + async function getTagList() { const res = await sheep.$api.rent.tagsList({}); if (res.code == 1) { @@ -403,7 +409,7 @@ console.log('tagList', tagList.value, tagShowList.value); } } - + const typeList = ref({}) const typeShowList = ref([]) async function getTypeList() { @@ -411,7 +417,7 @@ if (res.code == 1) { typeList.value = res.data // typeShowList.value = res.data - + typeShowList.value = Object.values(typeList.value) console.log('typeList', typeList.value, typeShowList.value); } @@ -432,9 +438,9 @@ console.log('选择项目类型--typeIndex', typeIndex.value); form.value.typeName = typeShowList.value[typeIndex.value] form.value.type = Object.keys(typeList.value).find( - key => typeList.value[key] === form.value.typeName - ); - console.log('type',form.value.type); + key => typeList.value[key] === form.value.typeName + ); + console.log('type', form.value.type); showType.value = false; } @@ -511,6 +517,22 @@ agreeShow.value = true } + //详情 + function getDetail() { + sheep.$api.rent.rentInfo(rentEditId.value).then((res) => { + if (res.code == 1) { + form.value = res.data, + selectTagslist.value = tagList.value.reduce((acc, obj) => { + if (form.value.cate_ids.includes(obj.id)) { + acc.push(obj); + } + return acc; + }, []); + console.log('详情',selectTagslist.value); + } + }) + } + async function apply() { if (agreeAdd.value == false) { uni.showToast({ @@ -521,10 +543,10 @@ } form.value.cate_ids = selectTagslist.value.map((item) => item.id).join(',') console.log('cate_ids', form.value.cate_ids, state.formData.images); - + form.value.images = state.formData.images.join(','); console.log('images', form.value.images); - + if (form.value.title == '') { uni.showToast({ title: '请输入标题', @@ -597,9 +619,9 @@ return } console.log('apply——form:', form.value); - + const res = await sheep.$api.rent.addRent(form.value) - if(res.code == 1){ + if (res.code == 1) { console.log('发布成功'); agreeAdd.value = false; selectTagslist.value = [] @@ -621,10 +643,10 @@ } state.formData.images = [] uni.switchTab({ - url:'/pages/index/user' + url: '/pages/index/user' }) } - + } @@ -634,7 +656,8 @@ display: flex; justify-content: flex-start; flex-wrap: wrap; - word-wrap: break-word; /* 允许长单词或URL换行 */ + word-wrap: break-word; + /* 允许长单词或URL换行 */ overflow-wrap: break-word; align-items: center; diff --git a/pages/index/index.vue b/pages/index/index.vue index d66a079..da7a52c 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -169,6 +169,27 @@ }); // } }; + + function getTag() { + // if (_.isEmpty(uni.getStorageSync('areaCity'))) { + sheep.$api.rent.tagsList().then((res) => { + if (res.code === 1) { + uni.setStorageSync('tagList', res.data.list); + } + }); + // } + }; + + function getType() { + // if (_.isEmpty(uni.getStorageSync('areaCity'))) { + sheep.$api.rent.listType().then((res) => { + if (res.code === 1) { + uni.setStorageSync('typeList', res.data); + } + }); + // } + }; + const template = computed(() => sheep.$store('app').template?.home); const isLogin = computed(() => sheep.$store('user').isLogin); diff --git a/pages/user/goods-log.vue b/pages/user/goods-log.vue index 3cb1acd..a3be9cf 100644 --- a/pages/user/goods-log.vue +++ b/pages/user/goods-log.vue @@ -3,7 +3,7 @@ + style="height: 80vh;box-sizing: border-box;"> {{item.date_text}} @@ -126,12 +126,38 @@ }); console.log('足迹返值', res); if (res.code == 1) { - feetHisList.value = [...feetHisList.value, ...res.data.list] + if(listQuery.value.page == 1) { + feetHisList.value = res.data.list; + }else { + if (feetHisList.value.length > 0 && res.data.list.length > 0) { + const lastItemOfPrevPage = feetHisList.value[feetHisList.value.length - 1]; + const firstItemOfNewPage = res.data.list[0]; + + // 判断日期是否相同 + if (isSameDate(lastItemOfPrevPage.date, firstItemOfNewPage.date)) { + // 合并相同日期的数据 + lastItemOfPrevPage.log = [...lastItemOfPrevPage.log, ...firstItemOfNewPage.log]; + // 添加剩余的数据 + feetHisList.value = [...feetHisList.value, ...res.data.list.slice(1)]; + } else { + // 日期不同,直接拼接 + feetHisList.value = [...feetHisList.value, ...res.data.list]; + } + } else { + feetHisList.value = [...feetHisList.value, ...res.data.list]; + } + } + // feetHisList.value = [...feetHisList.value, ...res.data.list] feetCount.value = res.data.count console.log('足迹列表', feetHisList.value); } } + + // 辅助函数:比较两个日期是否相同 + function isSameDate(date1, date2) { + return date1 === date2; + } //加载更多 function onScrolltolower() { diff --git a/pages/user/myRelease/list.vue b/pages/user/myRelease/list.vue index 9d9b7fc..c6404df 100644 --- a/pages/user/myRelease/list.vue +++ b/pages/user/myRelease/list.vue @@ -14,115 +14,151 @@ - - - - - - - {{item.platform_title || item.title}} - - - - {{e}} + + + + + + + + + {{item.title}} + + + + + {{e}} + - - - - - - {{item.address_city_text}} + + + + + {{item.address_city_text}} + + + {{item.release_time_text}} + + + {{item.views}} - {{item.release_time_text}} - - - {{item.views}} + + + + + + 修改信息 + 取消发布 + + + + + + + + + + + + + + + {{item.title}} + + + + + {{e}} + + + + + + + + {{item.address_city_text}} + + + {{item.release_time_text}} + + + {{item.views}} + + + + + + + + 修改信息 + 取消发布 - - - - - - - - {{item.platform_title || item.title}} - - - - {{e}} + + + + + + + + + + {{item.title}} + + + + + {{e}} + - - - - - - {{item.address_city_text}} - - - {{item.release_time_text}} - - - {{item.views}} - - - - - - - - - - - - - - - - {{item.platform_title || item.title}} - - - - {{e}} + + + + + {{item.address_city_text}} - - - - - - {{item.address_city_text}} + {{item.release_time_text}} + + + {{item.views}} - {{item.release_time_text}} - - - {{item.views}} - + + + 驳回原因:{{item.reason}} + + + 修改信息 + 取消发布 + + - + @@ -180,10 +216,9 @@ listQuery.value.status = tabMaps[currentTab.value].value } rentList.value = [] + getList(); } - - //招租列表 async function getList() { const res = await sheep.$api.rent.rentlist({ @@ -191,6 +226,7 @@ limit: listQuery.value.limit, order: 'normal', status: listQuery.value.status, + my: 1, }); console.log('getList', res); @@ -241,14 +277,43 @@ rentList.value = []; getList(); } - + //详情 function toDetail(e) { console.log('跳转详情', e); uni.navigateTo({ url: '/pages/canteenRent/rentDetail?id=' + e.id }) } - + //修改 + function rentEdit(item) { + console.log('修改招租',item); + uni.navigateTo({ + url: `/pages/canteenRent/rentEdit?id=${item.id}` + }) + } + //取消 + function rentCancel(item) { + console.log('取消招租',item.id); + const ids = item.id + console.log('取消招租',ids); + sheep.$api.rent.delRent({ids:item.id}).then((res) => { + if(res.code === 1) { + console.log('delete:',res); + uni.showToast({ + title: '取消成功', + icon: 'none' + }) + rentList.value = [] + getList() + }else { + uni.showToast({ + title: res.msg, + icon: 'error' + }) + } + }) + } + getList() @@ -259,245 +324,332 @@ font-weight: 800; line-height: 34rpx; } - + .intro { font-size: 24rpx; font-weight: 400; line-height: 24rpx; } - + .title2 { color: #3d3d3d; font-size: 30rpx; font-weight: 800; line-height: 42rpx; } - + .title3 { font-size: 20rpx; font-weight: 400; color: #999999; line-height: 22rpx; } - + + .titltFail { + font-size: 28rpx; + font-weight: 400; + line-height: 28rpx; + color: #3d3d3d; + display: flex; + justify-content: flex-start; + + } + .container { .recommend-box { - // margin-top: 30rpx; padding: 0rpx 30rpx; .rrecommList { margin-top: 30rpx; - // padding: 30rpx; .reListItem { background-color: #ffffff; width: 640rpx; - height: 190rpx; + height: 320rpx; padding: 30rpx; - display: flex; - justify-content: flex-start; - align-items: center; + // display: block; + // justify-content: ; + // align-items: center; border-radius: 18rpx; margin-bottom: 30rpx; - .listItem-images { - display: grid; + .reItemCon { + width: 100%; + display: flex; justify-content: flex-start; + align-items: center; - .iamges-mainImg { - width: 190rpx; - height: 190rpx; - position: relative; - right: 0rpx; - bottom: 0rpx; - z-index: 1; + .listItem-images { + display: grid; + justify-content: flex-start; + .iamges-mainImg { + width: 190rpx; + height: 190rpx; + position: relative; + right: 0rpx; + bottom: 0rpx; + z-index: 1; + + } } - } - .listItem-contents { - margin-left: 20rpx; + .listItem-contents { + margin-left: 20rpx; - .score-box { - display: flex; - - .cate { + .score-box { display: flex; - justify-content: flex-start; - align-items: center; - .cate-e { + .cate { + display: flex; + justify-content: flex-start; + align-items: center; - .status-tag { - padding: 5rpx 15rpx; - border-radius: 5rpx; - font-size: 22rpx; - font-weight: 400; - line-height: 22rpx; - background-color: rgba(247, 97, 0, 0.2); + .cate-e { - // opacity: 0.2; - color: #F76100; - //flex-shrink: 0 + .status-tag { + padding: 5rpx 15rpx; + border-radius: 5rpx; + font-size: 22rpx; + font-weight: 400; + line-height: 22rpx; + background-color: rgba(247, 97, 0, 0.2); + + // opacity: 0.2; + color: #F76100; + //flex-shrink: 0 + } } } + + + } - + .cons-third { + width: 428rpx; + margin-top: 26rpx; + display: flex; + justify-content: space-between; + align-items: center; + } } - - .cons-third { - margin-top: 20rpx; - display: flex; - justify-content: space-around; - align-items: center; - } } + + + + + } .unListItem { background-color: #ffffff; width: 640rpx; - height: 190rpx; + height: 440rpx; padding: 30rpx; - display: flex; - justify-content: flex-start; - align-items: center; border-radius: 18rpx; margin-bottom: 30rpx; - .listItem-images { - display: grid; + .unItemCon { + width: 100%; + height: 190rpx; + display: flex; justify-content: flex-start; + align-items: center; - .iamges-mainImg { - width: 190rpx; - height: 190rpx; - position: relative; - right: 0rpx; - bottom: 108rpx; - z-index: 1; + .listItem-images { + display: grid; + justify-content: flex-start; + .iamges-mainImg { + width: 190rpx; + height: 190rpx; + position: relative; + right: 0rpx; + bottom: 108rpx; + z-index: 1; + + } } - } - .listItem-contents { - margin-left: 20rpx; + .listItem-contents { + margin-left: 20rpx; - .score-box { - display: flex; - - .cate { + .score-box { display: flex; - justify-content: flex-start; - align-items: center; - .cate-e { + .cate { + display: flex; + justify-content: flex-start; + align-items: center; - .status-tag { - padding: 5rpx 15rpx; - border-radius: 5rpx; - font-size: 22rpx; - font-weight: 400; - line-height: 22rpx; - background-color: rgba(247, 97, 0, 0.2); + .cate-e { - // opacity: 0.2; - color: #F76100; - //flex-shrink: 0 + .status-tag { + padding: 5rpx 15rpx; + border-radius: 5rpx; + font-size: 22rpx; + font-weight: 400; + line-height: 22rpx; + background-color: rgba(247, 97, 0, 0.2); + + // opacity: 0.2; + color: #F76100; + //flex-shrink: 0 + } } } + + + } - + .cons-third { + width: 428rpx; + margin-top: 26rpx; + display: flex; + justify-content: space-between; + align-items: center; + } } - - .cons-third { - margin-top: 20rpx; - display: flex; - justify-content: space-around; - align-items: center; - } } + + .failReasonBox { + height: 69rpx; + width: 570rpx; + margin: 30rpx 0; + padding: 30rpx; + background-color: #f7f7f7; + border-radius: 12rpx; + overflow-wrap: break-word; + word-break: break-word; + white-space: normal; + + } + } .pandListItem { background-color: #ffffff; width: 640rpx; - height: 190rpx; + height: 320rpx; padding: 30rpx; - display: flex; - justify-content: flex-start; - align-items: center; border-radius: 18rpx; margin-bottom: 30rpx; - .listItem-images { - display: grid; + .pandItemCon { + width: 100%; + height: 190rpx; + display: flex; justify-content: flex-start; + align-items: center; - .iamges-mainImg { - width: 190rpx; - height: 190rpx; - position: relative; - right: 0rpx; - bottom: 108rpx; - z-index: 1; + .listItem-images { + display: grid; + justify-content: flex-start; + .iamges-mainImg { + width: 190rpx; + height: 190rpx; + position: relative; + right: 0rpx; + bottom: 108rpx; + z-index: 1; + + } } - } - .listItem-contents { - margin-left: 20rpx; + .listItem-contents { + margin-left: 20rpx; - .score-box { - display: flex; - - .cate { + .score-box { display: flex; - justify-content: flex-start; - align-items: center; - .cate-e { + .cate { + display: flex; + justify-content: flex-start; + align-items: center; - .status-tag { - padding: 5rpx 15rpx; - border-radius: 5rpx; - font-size: 22rpx; - font-weight: 400; - line-height: 22rpx; - background-color: rgba(247, 97, 0, 0.2); + .cate-e { - // opacity: 0.2; - color: #F76100; - //flex-shrink: 0 + .status-tag { + padding: 5rpx 15rpx; + border-radius: 5rpx; + font-size: 22rpx; + font-weight: 400; + line-height: 22rpx; + background-color: rgba(247, 97, 0, 0.2); + + // opacity: 0.2; + color: #F76100; + //flex-shrink: 0 + } } } + + + } - + .cons-third { + width: 428rpx; + margin-top: 26rpx; + display: flex; + justify-content: space-between; + align-items: center; + } } - - .cons-third { - margin-top: 20rpx; - display: flex; - justify-content: space-around; - align-items: center; - } } - } + } } } } + + .reItemBtn { + width: 100%; + display: flex; + justify-content: flex-end; + align-items: center; + + .editItemBtn { + width: 189rpx; + height: 70rpx; + display: flex; + justify-content: center; + align-items: center; + font-size: 32rpx; + border-radius: 128rpx; + border: 1rpx solid #333333; + font-weight: 400; + color: #333333; + line-height: 20rpx; + } + + .cancelItemBtn { + width: 189rpx; + height: 70rpx; + background: linear-gradient(to right, #FFBD25, #FCCA58); + margin-left: 20rpx; + display: flex; + justify-content: center; + align-items: center; + font-size: 32rpx; + border-radius: 128rpx; + font-weight: 400; + color: #333333; + line-height: 20rpx; + } + + } \ No newline at end of file diff --git a/sheep/api/rent.js b/sheep/api/rent.js index d140de0..b7d9142 100644 --- a/sheep/api/rent.js +++ b/sheep/api/rent.js @@ -52,6 +52,20 @@ export default { method: 'POST', data, }), + //编辑提交 + editRent: (data) => + request({ + url: 'meal.information/edit', + method: 'POST', + data, + }), + //删除 + delRent: (data) => + request({ + url: 'meal.information/del', + method: 'POST', + data, + }), //省市 getCity: () => request({