From 43946aca83334ac3e1c3929a2d6dcba3f2bf6446 Mon Sep 17 00:00:00 2001 From: yangan <yangan0921@163.com> Date: 星期二, 17 十二月 2024 15:27:59 +0800 Subject: [PATCH] fix:小程序眼镜密码,h5历史收发单 --- pages/public-page/message/message.vue | 419 ++++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 257 insertions(+), 162 deletions(-) diff --git a/pages/public-page/message/message.vue b/pages/public-page/message/message.vue index 592a6e4..91608b0 100644 --- a/pages/public-page/message/message.vue +++ b/pages/public-page/message/message.vue @@ -1,184 +1,279 @@ <template> <view class="message-body"> - <u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" v-if="messageList.length == 0" width="400" height="400" textSize="18"></u-empty> - <u-list @scroll="scrolltolower" :height="1400"> - <u-list-item> - <u-swipe-action> - <u-swipe-action-item :options="options1" v-for="(item, index) in messageList" :key="item.id" @click="deleteMsg(item, index)"> - <u-badge :isDot="true" type="error" v-if="item.status !== 1"></u-badge> - <u-cell size="large" :title="item.title" @click="messageDetails(item, index)"> - <u-parse :content="item.content" slot="label"></u-parse> + <u-empty mode="data" + icon="http://cdn.uviewui.com/uview/empty/data.png" + v-if="messageList.length == 0" + width="400" + height="400" + textSize="18" + text="鏆傛棤鏁版嵁"></u-empty> + <view class="message-list"> + <u-list @scrolltolower="scrolltolower" + :height="1400"> + <u-list-item> + <u-swipe-action> + <u-swipe-action-item :options="options1" + :threshold="50" + v-for="(item, index) in messageList" + :key="item.id" + @click="deleteMsg(item, index)"> + <u-badge :isDot="true" + type="error" + v-if="item.status !== 1"></u-badge> + <!-- @click="messageDetails(item, index)" --> + <u-cell size="large"> + <u-parse + :content="item.content" + slot="label"></u-parse> - <view class="prepose" slot="icon"><u-icon name="volume" color="#035CFB" size="40"></u-icon></view> - </u-cell> - </u-swipe-action-item> - </u-swipe-action> - </u-list-item> - <view class="more-text" v-if="showMoreData && messageList.length !== 0">娌℃湁鏁版嵁浜�...</view> - </u-list> - <u-modal :show="show" :content="content" :showCancelButton="true" @confirm="confirm" @cancel="cancel"></u-modal> + <view class="prepose" + slot="icon"><u-icon name="volume" + color="#035CFB" + size="40"></u-icon></view> + <view slot="right-icon" style="font-size: 12px;"> + <view>{{ item.createTime }}</view> + <view>鍙戦�佷汉锛�<text style="font-size:12px;color:#00000082">{{item.createByName}}</text></view> + </view> + </u-cell> + </u-swipe-action-item> + </u-swipe-action> + </u-list-item> + <!-- <view class="more-text" + v-if="showMoreData && messageList.length !== 0">娌℃湁鏁版嵁浜�...</view> --> + </u-list> + </view> + <u-modal :show="show" + :content="content" + :showCancelButton="true" + @confirm="confirm" + @cancel="cancel"></u-modal> </view> </template> <script> -export default { - data() { - return { - pageNum: 1, - pageSize: 10, - total: '', - messageList: [], - showMoreData: false, - options1: [ - { + export default { + data() { + return { + pageNum: 1, + pageSize: 10, + total: '', + messageList: [], + showMoreData: false, + options1: [{ text: '鍒犻櫎' - } - ], - show: false, - content: '鏄惁纭鍒犻櫎', - id: '', - index: '' - }; - }, - onShow() { - this.messageReq(); - }, - onHide() { - this.messageList = []; - this.pageNum = 1; - }, - methods: { - // 瑙﹀簳鍔犺浇 - scrolltolower() { - if (this.pageNum * this.pageSize >= this.total) return (this.showMoreData = true); - this.pageNum++; + }], + show: false, + content: '鏄惁纭鍒犻櫎', + id: '', + index: '' + }; + }, + onShow() { this.messageReq(); }, - // 鑾峰彇娑堟伅鍒楄〃 - messageReq() { - uni.showLoading({ - title: '鍔犺浇涓�' - }); - this.$reqGet('getMessageByUser', { current: this.pageNum, size: this.pageSize }).then(res => { - if (res.code == 0) { - uni.hideLoading(); - this.total = res.data.total; - const regex = /<[^>]*>([^<]*)<\/[^>]*>/g; - - const solveHandle = v => { - const regex = /<[^>]*>([^<]*)<\/[^>]*>/g; - let result = v.replace(regex, (match, p1) => { - return p1.length > 8 ? p1.slice(0, 8) + '...' : p1; - }); - return result; - }; - if (this.pageNum > 1) { - this.messageList = this.messageList.concat(res.data.records); - this.messageList = this.messageList.map(v => { - return { - ...v, - content: solveHandle(v.content) - }; - }); - } else if (this.pageNum == 1) { - this.messageList = res.data.records; - this.messageList = this.messageList.map(v => { - return { - ...v, - content: solveHandle(v.content) - }; - }); - } - } else { - this.$u.toast('鍔犺浇澶辫触'); - } - }); + onPullDownRefresh(){ + this.messageReq(); + uni.stopPullDownRefresh(); + }, - // 宸茶娑堟伅 - messageDetails(value, index) { - if (value.status == 0) { - this.$reqAllJson('readMessage', { id: value.id, status: value.status }, { method: 'PUT', 'Content-Type': 'application/json' }).then(res => { + onHide() { + this.messageList = []; + this.pageNum = 1; + }, + methods: { + // 瑙﹀簳鍔犺浇 + scrolltolower() { + if (this.pageNum * this.pageSize >= this.total) return (this.showMoreData = true); + this.pageNum++; + this.messageReq(); + }, + // 鑾峰彇娑堟伅鍒楄〃 + messageReq() { + uni.showLoading({ + title: '鍔犺浇涓�' + }); + this.$reqGet('getMessageByUser', { current: this.pageNum, size: this.pageSize }).then(res => { if (res.code == 0) { - uni.navigateTo({ - url: `/pages/public-page/messageDetails/messageDetails?messageId=${value.messageId}&id=${value.id}` - }); + uni.hideLoading(); + this.total = res.data.total; + + function removeTags(str) { + return str.replace(/<\/?[^>]+>/gi, ''); + } + if (this.pageNum > 1) { + this.messageList = this.messageList.concat(res.data.records); + this.messageList = this.messageList.map(v => { + return { + ...v, + title: v.title.slice(0, 8) + '...', + content: removeTags(v.content).trim() + }; + }); + } else if (this.pageNum == 1) { + this.messageList = res.data.records; + this.messageList = this.messageList.map(v => { + return { + ...v, + title: v.title.slice(0, 8) + '...', + content: removeTags(v.content).trim() + }; + }); + } + setTimeout(() => { + this.onShowMessage(); + }, 500); + } else { + this.$u.toast('鍔犺浇澶辫触'); } }); - } else { - uni.navigateTo({ - url: `/pages/public-page/messageDetails/messageDetails?messageId=${value.messageId}&id=${value.id}` - }); - } - }, - // 鍒犻櫎娑堟伅 - deleteMsg(value, index) { - this.show = true; - this.id = value.id; - }, - // 纭鍒犻櫎 - confirm() { - this.show = false; - this.$reqGet('delteMessage', { id: this.id }).then(res => { - if (res.code == 0) { - this.$u.toast('鍒犻櫎鎴愬姛'); - setTimeout(() => { - uni.showLoading({ - title: '鍔犺浇涓�' - }); - this.$reqGet('getMessageByUser', { current: 1, size: this.pageSize }).then(res => { - uni.hideLoading(); - this.total = res.data.total; - this.messageList = res.data.records; - }); - }, 800); + }, + // 宸茶娑堟伅 + messageDetails(value, index) { + if (value.status == 0) { + this.$reqAllJson('readMessage', { + id: value.id, + status: value + .status + }, { method: 'PUT', 'Content-Type': 'application/json' }).then(res => { + if (res.code == 0) { + uni.navigateTo({ + url: `/pages/public-page/messageDetails/messageDetails?messageId=${value.messageId}&id=${value.id}` + }); + } + }); } else { - this.$u.toast('鍒犻櫎澶辫触'); + uni.navigateTo({ + url: `/pages/public-page/messageDetails/messageDetails?messageId=${value.messageId}&id=${value.id}` + }); } - }); - }, - cancel() { - this.show = false; + }, + //鐐瑰紑棣栭〉宸叉秷鎭� + onShowMessage(){ + const messageIds = this.messageList.filter(item=>item.status === 0); + console.log(messageIds,this.messageList,'messageIds') + this.$reqAllJson('readMessage', { + messageIds: messageIds.map(item=>item.id).join(","), + status: 0 + }, { method: 'PUT', 'Content-Type': 'application/json' }).then(res=>{ + console.log(res,'resss') + }) + //閲嶆柊娓叉煋鎺ュ彛 + this.$reqGet('getMessageByUser', { current: this.pageNum, size: this.pageSize }).then(res => { + if (res.code == 0) { + uni.hideLoading(); + this.total = res.data.total; + + function removeTags(str) { + return str.replace(/<\/?[^>]+>/gi, ''); + } + if (this.pageNum > 1) { + this.messageList = this.messageList.concat(res.data.records); + this.messageList = this.messageList.map(v => { + return { + ...v, + title: v.title.slice(0, 8) + '...', + content: removeTags(v.content).trim() + }; + }); + } else if (this.pageNum == 1) { + this.messageList = res.data.records; + this.messageList = this.messageList.map(v => { + return { + ...v, + title: v.title.slice(0, 8) + '...', + content: removeTags(v.content).trim() + }; + }); + } + } else { + this.$u.toast('鍔犺浇澶辫触'); + } + }); + }, + // 鍒犻櫎娑堟伅 + deleteMsg(value, index) { + this.show = true; + this.id = value.id; + }, + // 纭鍒犻櫎 + confirm() { + this.show = false; + this.$reqGet('delteMessage', { id: this.id }).then(res => { + if (res.code == 0) { + this.$u.toast('鍒犻櫎鎴愬姛'); + setTimeout(() => { + uni.showLoading({ + title: '鍔犺浇涓�' + }); + this.$reqGet('getMessageByUser', { current: 1, size: this.pageSize }).then( + res => { + uni.hideLoading(); + this.total = res.data.total; + this.messageList = []; + this.pageNum = 1 + this.messageList = res.data.records; + }); + }, 800); + } else { + this.$u.toast('鍒犻櫎澶辫触'); + } + }); + }, + cancel() { + this.show = false; + } } - } -}; + }; </script> -<style lang="scss" scoped> -@mixin flex { - display: flex; - justify-content: center; - align-items: center; -} -::v-deep .u-list-item- { - position: relative; - .u-badge { - position: absolute; - left: vww(45); - top: vww(13); +<style lang="scss" + scoped> + @mixin flex { + display: flex; + justify-content: center; + align-items: center; } -} -::v-deep .u-cell__title-text { - height: 32rpx; - font-size: 34rpx !important; - font-weight: bold; - color: #2f2f2f !important; - margin-bottom: vww(18); -} -.message-body { - width: 100%; - height: 100%; - .prepose { - width: 89rpx; - height: 89rpx; - background: rgba(237, 240, 245, 0.75); - border-radius: 50%; - @include flex; - margin-right: vww(32); + + ::v-deep .u-list-item- { + position: relative; + + .u-badge { + position: absolute; + left: vww(45); + top: vww(13); + } } - .more-text { - color: #999; - font-size: 24rpx; - text-align: center; + + ::v-deep .u-cell__title-text { + height: 32rpx; + font-size: 34rpx !important; + font-weight: bold; + color: #2f2f2f !important; + margin-bottom: vww(18); } -} -</style> + + .message-body { + width: 100%; + height: 100%; + background-color: #cccccc26; + + .message-list { + margin: vww(5) 0; + } + + .prepose { + width: 89rpx; + height: 89rpx; + background: rgba(237, 240, 245, 0.75); + border-radius: 50%; + @include flex; + margin-right: vww(32); + } + + .more-text { + color: #999; + font-size: 24rpx; + text-align: center; + } + } +</style> \ No newline at end of file -- Gitblit v1.9.1