From 1e572b05b85218a0268c57c9e5fb8e944342ff86 Mon Sep 17 00:00:00 2001
From: BianLzhaoMin <11485688+bianliangzhaomin123@user.noreply.gitee.com>
Date: Mon, 23 Dec 2024 18:21:01 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E6=81=AF=E5=88=97=E8=A1=A8=E5=8A=9F?=
=?UTF-8?q?=E8=83=BD=E5=AE=8C=E5=96=84=20=E5=8F=91=E9=80=81=E6=B6=88?=
=?UTF-8?q?=E6=81=AF=E5=8A=9F=E8=83=BD=E5=AE=8C=E5=96=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
index.html | 4 +-
package-lock.json | 7 +
package.json | 1 +
.../components/details-model.vue | 10 +-
src/pages/goods-list/index.vue | 227 ++++++++++++++++--
src/pages/message-pages/index.vue | 56 +++--
src/pages/message/index.vue | 19 +-
src/services/message/index.js | 32 +++
vite.config.js | 4 +-
9 files changed, 325 insertions(+), 35 deletions(-)
create mode 100644 src/services/message/index.js
diff --git a/index.html b/index.html
index 407f674..685ae04 100644
--- a/index.html
+++ b/index.html
@@ -19,7 +19,9 @@
'')
-
+
+ 安徽租赁商城
+
diff --git a/package-lock.json b/package-lock.json
index 9b780f6..115ded8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -26,6 +26,7 @@
"@vant/area-data": "^2.0.0",
"less": "^4.2.1",
"less-loader": "^12.2.0",
+ "lodash-es": "^4.17.21",
"moment": "^2.30.1",
"pinia": "^2.3.0",
"pinia-plugin-persistedstate": "^4.1.3",
@@ -9504,6 +9505,12 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/lodash-es": {
+ "version": "4.17.21",
+ "resolved": "https://repo.huaweicloud.com/repository/npm/lodash-es/-/lodash-es-4.17.21.tgz",
+ "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==",
+ "license": "MIT"
+ },
"node_modules/lodash.camelcase": {
"version": "4.3.0",
"resolved": "https://repo.huaweicloud.com/repository/npm/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
diff --git a/package.json b/package.json
index a2732cc..80e952b 100644
--- a/package.json
+++ b/package.json
@@ -60,6 +60,7 @@
"@vant/area-data": "^2.0.0",
"less": "^4.2.1",
"less-loader": "^12.2.0",
+ "lodash-es": "^4.17.21",
"moment": "^2.30.1",
"pinia": "^2.3.0",
"pinia-plugin-persistedstate": "^4.1.3",
diff --git a/src/pages/goods-details/components/details-model.vue b/src/pages/goods-details/components/details-model.vue
index 59dc7c8..eff34f4 100644
--- a/src/pages/goods-details/components/details-model.vue
+++ b/src/pages/goods-details/components/details-model.vue
@@ -47,7 +47,7 @@
-
+
{
uni.switchTab({ url: '/pages/cart/index' })
}
+// 在线聊
+const onLineMessage = () => {
+ const { companyId, companyName, ownId } = deviceInfo.value
+ uni.navigateTo({
+ url: `/pages/message-pages/index?id=${companyId}&name=${companyName}&ownId=${ownId}`,
+ })
+}
+
onLoad(() => {
userCompanyId.value = memberStore.userInfo.companyId
getDeviceDetailsData()
diff --git a/src/pages/goods-list/index.vue b/src/pages/goods-list/index.vue
index 4423cbc..ef1539a 100644
--- a/src/pages/goods-list/index.vue
+++ b/src/pages/goods-list/index.vue
@@ -12,20 +12,32 @@
-
-
- 使用年限
-
-
-
- 租金
-
-
-
- 上架时间
-
+
+ 使用年限
+
+
+
+
+ 租金
+
+
+
+
+
+
+ 上架时间
+
+
+
+
+
+
+
+
+ 筛选
+
@@ -40,6 +52,49 @@
+
+
+
+
+
+
+
+ 全部筛选
+
+
+
+
+
+
+
+
+
+ {{ selectList[activeSelect].selectName }}
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
@@ -50,8 +105,76 @@ import Navbar from '@/components/Navbar/index'
import { getDeviceListAPI } from '@/services/index/index.js'
import { onLoad } from '@dcloudio/uni-app'
import { ref } from 'vue'
-const active = ref('')
+const activeSelect = ref(0)
+const showBottom = ref(false)
const deviceList = ref([])
+const selectList = ref([
+ {
+ selectName: '使用年限',
+ val_list: [
+ {
+ name: '全部',
+ value: '',
+ },
+ {
+ name: '0-1年',
+ value: [0, 1],
+ },
+ ],
+ },
+ {
+ selectName: '设备类型',
+ val_list: [
+ {
+ name: '全部',
+ value: '',
+ },
+ {
+ name: '0-1年',
+ value: [0, 1],
+ },
+ ],
+ },
+ {
+ selectName: '下级分类',
+ val_list: [
+ {
+ name: '全部',
+ value: '',
+ },
+ {
+ name: '0-1年',
+ value: [0, 1],
+ },
+ ],
+ },
+ {
+ selectName: '价格区间',
+ val_list: [
+ {
+ name: '全部',
+ value: '',
+ },
+ {
+ name: '0-1年',
+ value: [0, 1],
+ },
+ ],
+ },
+ {
+ selectName: '设备所属公司',
+ val_list: [
+ {
+ name: '全部',
+ value: '',
+ },
+ {
+ name: '0-1年',
+ value: [0, 1],
+ },
+ ],
+ },
+])
const onScrollTolower = () => {
console.log('滚动触底')
}
@@ -82,6 +205,10 @@ const onClickLeft = () => {
url: '/pages/index/index',
})
}
+
+const onFilter = () => {
+ showBottom.value = true
+}
onLoad(() => {
getDeviceListData()
})
@@ -116,15 +243,40 @@ onLoad(() => {
}
.goods-items {
+ display: flex;
+ justify-content: space-between;
padding: 10px;
box-sizing: border-box;
border-top-left-radius: 20px;
border-top-right-radius: 20px;
background: $uni-bg-color;
-}
-.flex-row-start view {
- margin-right: 6px;
+ .filter-box {
+ display: flex;
+ align-items: center;
+
+ .filter-items {
+ display: flex;
+ align-items: center;
+
+ .filter-type {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ padding: 0 6px;
+
+ & .van-icon:first-child {
+ transform: rotateZ(-90deg);
+ margin-bottom: -3px;
+ }
+ & .van-icon:last-child {
+ transform: rotateZ(90deg);
+ margin-top: -3px;
+ }
+ }
+ }
+ }
}
.van-tabbar {
@@ -141,4 +293,47 @@ onLoad(() => {
:deep(.van-nav-bar__title) {
color: #333;
}
+
+.filter-bottom {
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ overflow-y: hidden;
+}
+
+.filter-content {
+ flex: 1;
+ height: 100%;
+ display: flex;
+
+ .right-btns {
+ flex: 1;
+ padding: 10px;
+ box-sizing: border-box;
+
+ .btns {
+ display: flex;
+ flex-wrap: wrap;
+ margin-top: 15px;
+ view {
+ width: calc((100% - 20px) / 3);
+ margin-bottom: 10px;
+ margin-right: 10px;
+ height: 28px;
+ line-height: 28px;
+ text-align: center;
+ border-radius: 14px;
+ }
+
+ .active_btn {
+ color: #22ab9b;
+ background-color: #d1eae7;
+ }
+
+ & view:nth-child(3n) {
+ margin-right: 0;
+ }
+ }
+ }
+}
diff --git a/src/pages/message-pages/index.vue b/src/pages/message-pages/index.vue
index 0b83269..b0114f8 100644
--- a/src/pages/message-pages/index.vue
+++ b/src/pages/message-pages/index.vue
@@ -3,15 +3,15 @@
- 老张租赁
+ {{ contactUser }}
-
-
+
+
- 你还有货吗
+ {{ item.messageContent }}
-
+
- 你还有货吗
+ {{ item.messageContent }}
@@ -38,8 +38,8 @@
-
-
+
+
@@ -48,17 +48,44 @@
import { ref } from 'vue'
import { useMemberStore } from '@/stores/index.js'
import { onLoad } from '@dcloudio/uni-app'
+import { debounce } from 'lodash-es'
+import { sendMessageAPI, getMessageInfoAPI } from '@/services/message/index.js'
const memberStore = useMemberStore()
-const userName = ref('')
-const userAccount = ref('')
+const contactUser = ref('')
+const messageList = ref([])
+const myCompanyId = ref()
+
+const sendParams = ref({
+ toUser: '',
+ toCompany: '',
+ messageContent: '',
+})
const onClickLeft = () => {
uni.navigateBack()
}
-onLoad(() => {
- userName.value = memberStore.userInfo.nickName
- userAccount.value = memberStore.userInfo.userName
+const getMessageInfoData = async () => {
+ const { data: res } = await getMessageInfoAPI({ toCompany: sendParams.value.toCompany })
+ messageList.value = res
+}
+
+// 发送按钮
+const onSendMessage = debounce(async () => {
+ const res = await sendMessageAPI(sendParams.value)
+ if (res.code === 200) {
+ getMessageInfoData()
+ } else {
+ showNotify({ type: 'success', message: '发送失败' })
+ }
+}, 500)
+
+onLoad((options) => {
+ myCompanyId.value = memberStore.userInfo?.companyId
+ sendParams.value.toCompany = options?.id
+ sendParams.value.toUser = options?.ownId
+ contactUser.value = options?.name
+ getMessageInfoData()
})
@@ -138,7 +165,8 @@ onLoad(() => {
bottom: 0;
left: 0;
padding: 12px 0;
- height: 60px;
+ // height: 60px;
+ height: auto;
width: 100%;
display: flex;
align-items: center;
diff --git a/src/pages/message/index.vue b/src/pages/message/index.vue
index 10a1e09..3f9b637 100644
--- a/src/pages/message/index.vue
+++ b/src/pages/message/index.vue
@@ -53,16 +53,33 @@