Commit 55f4eb42 authored by xinzhedeai's avatar xinzhedeai

add:消费者首页new

parent aea0a9bf
......@@ -44,6 +44,7 @@
id="app"
class="page_wrapper"
v-cloak
v-if="!['consumers'].includes(userInfo.userType)"
>
<!-- 第二层:商户图标、名称、等级、场所类型和地址 -->
<div
......@@ -74,7 +75,7 @@
<!-- 第二层:商户图标、名称、等级、场所类型和地址 -->
<div
class="second-layer-sj"
v-if="userInfo.userType=='shop'"
v-if="['shop'].includes(userInfo.userType)"
v-cloak
>
<div class="header">
......
......@@ -38,7 +38,8 @@ window.onload = function () {
},
],
userInfo: {
userType: 'sj1', // 登录用户type
userType: 'sj1', // 登录用户type
userType: 'consumers', // 登录用户type
userId: '1', // 登录用户id
userName: '张三', // 登录用户name
deptId: '1', // 登录用户部门id
......@@ -246,7 +247,32 @@ window.onload = function () {
merId: result.data.merchantInfoNumVo?.id, //
}
gemhoUtil.setCookie('userType', this.userInfo.userType)
if (this.userInfo.userType === 'shop') {
if(this.userInfo.userType = 'consumers'){ // 2025年5月14日新增消费者逻辑
// 根据url地址的merid获取商户信息
if(gemhoUtil.getParameter('merId')){ // 消费者直接在爱山东扫商户码进入首页
// this.getMerInfo()
param = {
merId: gemhoUtil.getParameter('merId'),
pageName: 'src/_consumer_home',
}
let url = gemhoUtil.setParameter(`${param.pageName}.html`, param)
gemhoUtil.navigatePage(url, '跳转中...')
return
}else{ // 消费者不扫码后,直接退出到爱山东首页。(用户直接在爱山东点击应用进入首页)
vant.Dialog.alert({
title: '信息提示',
message: '请扫描商户码访问~',
}).then(() => { // 关闭当前访问页面回到爱山东
lightAppJssdk.navigation.close({
success: function (data) { },
fail: function (data) { },
})
});
}
return
}else if (this.userInfo.userType === 'shop') {
this.defaultMenuList[1].navTo = 'checkrecord'
} else {
this.defaultMenuList[1].navTo = 'shanghu_list'
......@@ -261,21 +287,12 @@ window.onload = function () {
remark: moduleItem.remark || '',
})
)
if (this.page * this.size >= this.total) {
this.finished = true // 下滑不在刷新数据
}
}
this.loading = false
setTimeout(() => {
this.$nextTick(() => {
vant.Toast.clear()
})
}, 0)
this.$nextTick(() => {
// 滚动条跳转位置
window.scrollTo(0, gemhoUtil.getCookie('scrollPosition'))
})
}
)
}, 0)
......@@ -299,6 +316,7 @@ window.onload = function () {
pageSize: this.size,
date: this.selectedDate,
sort: 'lawId,desc',
merId: gemhoUtil.getParameter('merId'),
},
},
(res) => {
......@@ -318,16 +336,6 @@ window.onload = function () {
}
)
}, 0)
// http
// .get(
// '/gq/checkRecord/merHomeStatistics?merId=1&date=' +
// this.selectedDate
// )
// .then((res) => {
// if (res.code == 200) {
// this.userData = res.data
// }
// })
},
},
//过滤器
......@@ -339,5 +347,6 @@ window.onload = function () {
return `${year}${month}月`
},
},
})
}
......@@ -8,9 +8,16 @@ axios.defaults.timeout = 50000
// axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
axios.defaults.headers.post['Content-Type'] = 'application/json'
// axios.defaults.headers.common['Authorization'] = gemhoUtil.getCookie('token')
// 商户token
// 消费者token
axios.defaults.headers.common['Authorization'] =
'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiLlvKDlrZ3lvakiLCJsb2dpbl91c2VyX2tleSI6ImYzZDMwY2Q4LWY5ODAtNGE0NC1iNzE1LTZiMTJlNGQyZTQ1OCJ9.HjtdJuJS7NjTw4GMaAtDtOeA2EnF75pXVQefzwkdrxQdxyHB6L8h0XhKSB5A_YMsznQMd4DZrGZ5TPEmc1fueg'
'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiLmtojotLnogIUiLCJsb2dpbl91c2VyX2tleSI6ImExNWIwMDNjLWRlYWItNGU2MC04ODg4LTJiODNjMzVkNDUzNSJ9.l6gHzFX-U5rKGJ7zoDA4jMBIxkhVgCjWr5ynFg1DR6xspM9Ls6raTxyEo2Kr61UbG2UD6P2kN63vF_U8nX8afg'
// // 商户token
// axios.defaults.headers.common['Authorization'] =
// 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiLlvKDlrZ3lvakiLCJsb2dpbl91c2VyX2tleSI6ImYzZDMwY2Q4LWY5ODAtNGE0NC1iNzE1LTZiMTJlNGQyZTQ1OCJ9.HjtdJuJS7NjTw4GMaAtDtOeA2EnF75pXVQefzwkdrxQdxyHB6L8h0XhKSB5A_YMsznQMd4DZrGZ5TPEmc1fueg'
// admin账号token
// axios.defaults.headers.common['Authorization'] =
......
......@@ -4,14 +4,20 @@
// 环境的切换
if (window.env == 'dev') {
axios.defaults.baseURL = 'http://192.168.2.37:8080'
// 消费者token
axios.defaults.headers.common['Authorization'] =
'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiLmtojotLnogIUiLCJsb2dpbl91c2VyX2tleSI6ImExNWIwMDNjLWRlYWItNGU2MC04ODg4LTJiODNjMzVkNDUzNSJ9.l6gHzFX-U5rKGJ7zoDA4jMBIxkhVgCjWr5ynFg1DR6xspM9Ls6raTxyEo2Kr61UbG2UD6P2kN63vF_U8nX8afg'
// 商户token
// axios.defaults.headers.common['Authorization'] =
// 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiLlvKDlrZ3lvakiLCJsb2dpbl91c2VyX2tleSI6IjNjMmRiMWFiLWIyZGMtNDBjYi04YjM5LWRiNTJmM2VmYzNkYyJ9.sfZyPP-COShNCjwxKR26zGDsPHXss97gu7JEpaMapIZyMQEsxzMigVickcqdhaqDwTRcfr0IxAj64vnrriS9Cw'
// admin账号token
axios.defaults.headers.common['Authorization'] =
'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImxvZ2luX3VzZXJfa2V5IjoiNTljMWVhMTMtODNmYy00OWI2LWI5YzMtM2VkNzliODFhZjg4In0.XHl0IpagNwLJBqW_s2n6Kzhs9eY-TrMUBfAO8oeikYRUH72eshEXwMsTyTWgVnX_okY4tuB4U124AeF6EO_qiQ'
// axios.defaults.headers.common['Authorization'] =
// 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImxvZ2luX3VzZXJfa2V5IjoiNTljMWVhMTMtODNmYy00OWI2LWI5YzMtM2VkNzliODFhZjg4In0.XHl0IpagNwLJBqW_s2n6Kzhs9eY-TrMUBfAO8oeikYRUH72eshEXwMsTyTWgVnX_okY4tuB4U124AeF6EO_qiQ'
}else{
axios.defaults.baseURL = 'https://gqyjpt.weihai.cn/prod-api'
......
html,
body {
letter-spacing: .01rem;
background-color: #FFF;
overflow-x: hidden;
}
.wrapper {
......@@ -10,6 +12,7 @@ body {
.header {
padding: .2rem;
background: #fff;
}
.header .title {
......@@ -29,7 +32,7 @@ body {
}
.detail {
width: 6.5rem;
width: 100%;
/* height: 1.88rem; */
background: #F5F6FA;
border-radius: 0.01rem;
......
......@@ -102,8 +102,8 @@
line-height: 50px;
padding: 0 12px;
font-size: 14px;
border-bottom: 1px solid #f0f2f5;
margin-bottom: 10px;
/* border-bottom: 1px solid #f0f2f5; */
/* margin-bottom: 10px; */
font-weight: 400;
}
.save-btn {
......@@ -117,6 +117,19 @@
cursor: pointer;
margin-bottom: .4rem;
}
.textareaEle{
width: 100%;
border: 1px solid #CACACA;
font-size: .28rem;
border-radius: .05rem;
padding: .15rem;
}
.merchant-icon{
width: 100%;
}
.date-wrapper .van-cell{
padding-left: 0;
}
</style>
<!-- 在 includeHead.js 之后添加环境判断 -->
<script src="../sdk/includeHead.js"></script>
......@@ -125,7 +138,7 @@
<div id="app" class="page_wrapper" v-cloak>
<!-- 第一层:标题图 -->
<div class="second-layer second-layer-zf">
<img class="merchant-icon" src="image/code/zhengfu_logo.png" alt="" />
<img class="merchant-icon" src="../image/code/banner.png" alt="" />
</div>
<!-- 第二层:商户图标、名称、等级、场所类型和地址 -->
......@@ -136,7 +149,7 @@
class="tag">安全等级-绿</span>
</div>
<div class="detail">
<van-row>
<van-row style="margin-bottom: .25rem;">
<van-col span="24">场所类型: {{merInformation.smallPlaceTypeName}}</van-col>
</van-row>
<van-row>
......@@ -148,19 +161,24 @@
<div class="third-layer">
<!-- form开始 -->
<div class="form-container">
<h2 style="font-family: PingFang SC;
font-weight: 500;
font-size: .26rem;
color: #0587FE;border-radius: .04rem;padding:.2rem;
border: 0.02rem solid #7DC3FF;">消费者安全建议:如您有建议,可填写下方内容</h2>
<div>
<h5 class="imager-item-title">
<span>*安全建议</span>
<span></span>
</h5>
<div>
<textarea name="" id="" cols="10" rows="2"></textarea>
<textarea class="textareaEle" name="" id="" cols="10" rows="2" style="resize: none;"></textarea>
</div>
</div>
<div>
<h5 class="imager-item-title">
<span>请上传图片(最多张)</span>
<span>请上传图片(最多4张)</span>
<span></span>
</h5>
<div>
......@@ -172,26 +190,47 @@
<div class="form-item">
<span class="form-label">联系人</span>
<div class="form-input-wrap">
<input type="text" v-model="formData.owner" class="form-input" placeholder="请输入11位手机号"
pattern="[0-9]{11}">
<input type="text" v-model="formData.owner" class="form-input" placeholder="请输入姓名">
</div>
</div>
<div class="form-item">
<span class="form-label">联系电话</span>
<span class="form-label">联系方式</span>
<div class="form-input-wrap">
<input type="text" v-model="formData.merchantPhone" class="form-input"
placeholder="请输入联系地址">
placeholder="请输入手机号">
</div>
</div>
<div class="form-item">
<!-- <div class="form-item">
<van-cell @click="showDatePicker=true" >日期<span class="formValue">{{formData.date}}</span></van-cell>
</div> -->
<van-popup v-model="showDatePicker" position="bottom">
<van-datetime-picker
type="date"
@confirm="onDateConfirm"
@cancel="showDatePicker = false"
/>
</van-popup>
<div class="form-item date-wrapper">
<span class="form-label">日期</span>
<div class="form-input-wrap">
<input type="text" v-model="formData.businessAddress" v-model="formData.merchantPhone"
class="form-input" placeholder="请输入联系地址">
<van-field
readonly
v-model="formData.date"
:min-date="minDate"
:max-date="maxDate"
placeholder="请选择日期"
@click="showDatePicker = true"
class="form-input"
/>
</div>
</div>
<!-- form结束 -->
<button class="save-btn" style="margin-left: 50%; transform: translateX(-50%);" onclick="save"
>提交</button>
......
......@@ -9,6 +9,9 @@ window.addEventListener("load", function () {
el: '#app',
data() {
return {
showDatePicker: false, // 控制日期选择器显示
minDate: new Date(gemhoUtil.getTargetDateYMD()), // 最小可选日期
maxDate: new Date(2099, 11, 31), // 最大可选日期
// 新增子Tab数据
subActiveTab: 0,
hazardList: [// 更多示例数据...
......@@ -19,7 +22,7 @@ window.addEventListener("load", function () {
showTypePicker: false,
typeOptions: ['小餐饮', '酒店', '商场', '学校', '医疗机构'],
formData: {
principal: '',
date: gemhoUtil.getTargetDateYMD(),
phone: '',
area: '',
businessHours: '',
......@@ -50,7 +53,36 @@ window.addEventListener("load", function () {
mounted() {
this.getShopInfo() // 获取商户信息
},
watch: {
'formData.date': {
handler(newVal) {
console.log('date 属性变化:', newVal);
},
deep: true // 深度监听对象属性
}
},
methods: {
// 日期格式化函数(确保格式为 YYYY-MM-DD)
dateFormatter(type, value) {
if (type === 'year') {
return `${value}年`;
} else if (type === 'month') {
return `${value}月`;
}
return `${value}日`;
},
// 确认日期选择
onDateConfirm(date) {
// 将 Date 对象格式化为 YYYY-MM-DD 字符串
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
this.formData.date = `${year}-${month}-${day}`;
this.showDatePicker = false;
},
dateChange(e){
console.log('date 属性变化22222:', e);
},
// 文件上传处理
handleFileUpload(file) {
console.log('上传文件:', file);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment