Compare commits

..

No commits in common. "master" and "feature/yi" have entirely different histories.

244 changed files with 5413 additions and 19870 deletions

View File

@ -9,5 +9,4 @@ export const apiArr = {
updateApply: "/api/v2/wechat/commodity/after-sales/update-apply", //商品订单售后修改申请 updateApply: "/api/v2/wechat/commodity/after-sales/update-apply", //商品订单售后修改申请
createReview: "/api/v2/wechat/commodity/review/create", //创建订单评价 createReview: "/api/v2/wechat/commodity/review/create", //创建订单评价
orderRefund: "/api/v2/wechat/commodity/order/refund", //商品订单退款 orderRefund: "/api/v2/wechat/commodity/order/refund", //商品订单退款
selectGoodsDetail: "/api/v2/wechat/commodity/goods-info/by-goods", //根据货品id查询商品货品信息
}; };

View File

@ -1,13 +0,0 @@
export const apiArr = {
ecApply: "/api/v2/wechat/lkl-split-business/ec-apply", //电子合同申请
ecQuery: "/api/v2/wechat/lkl-split-business/ec-query", //电子合同查询
ecDownload: "/api/v2/wechat/lkl-split-business/ec-download", //电子合同下载
upload: "/api/v2/wechat/lkl-split-business/upload", //附件上传
applyLedgerReceiver: "/api/v2/wechat/lkl-split-business/apply-ledger-receiver", //分账接收方创建申请
applyBind: "/api/v2/wechat/lkl-split-business/apply-bind", //分账关系绑定申请
addMer: "/api/v2/wechat/lkl-split-business/add-mer", //商户进件
queryMerchant: "/api/v2/wechat/lkl-split-business/query-merchant", //商户进件信息查询
applyLedgerMer: "/api/v2/wechat/lkl-split-business/apply-ledger-mer", //商户分账业务开通申请
queryLedgerMer: "/api/v2/wechat/lkl-split-business/query-ledger-mer", //商户分账信息查询
progresss: "/api/v2/wechat/lkl-split-business/progress", //商户分账进度查询
};

View File

@ -1,10 +0,0 @@
export const apiArr = {
pointShopTab: "/api/v2/wechat/points-mall/tab", //积分商城tab
pointShopPage: "/api/v2/wechat/points-mall/page", //积分商城列表分页
platformPointsRule: "/api/v2/wechat/points-mall/platform-points-rule", //平台积分规则
pointShopRecord: "/api/v2/wechat/points-mall/order/record", //积分商城兑换记录
pointShopPay: "/api/v2/wechat/points-mall/order/pay", //积分商城订单支付
pointOrderInfo: "/api/v2/wechat/points-mall/order/info", //积分商城订单详情
pointShopAdd: "/api/v2/wechat/points-mall/order/add", //积分商城创建订单
pointGoodInfo: "/api/v2/wechat/points-mall/info", //积分商城商品详情
};

View File

@ -16,8 +16,6 @@ export const apiArr = {
addAddress: '/api/v2/wechat/commodity/receiving_address/add', // 收货地址添加 addAddress: '/api/v2/wechat/commodity/receiving_address/add', // 收货地址添加
addAddressList: '/api/v2/wechat/commodity/receiving_address', // 收货地址列表 addAddressList: '/api/v2/wechat/commodity/receiving_address', // 收货地址列表
queryOrder: '/api/v2/wechat/commodity/order/trade_query', // 查询订单 queryOrder: '/api/v2/wechat/commodity/order/trade_query', // 查询订单
splitLedger: '/api/v2/wechat/commodity/order/split-ledger', // 分账
orderUpdate: '/api/v2/wechat/commodity/order/update',
getComment: '/api/v2/wechat/commodity/review/list', // 获取评论 getComment: '/api/v2/wechat/commodity/review/list', // 获取评论
mergePreorder: '/api/v2/wechat/commodity/order/preorder', // 商品订单合并预下单 mergePreorder: '/api/v2/wechat/commodity/order/preorder', // 商品订单合并预下单

View File

@ -17,8 +17,4 @@ export const apiArr = {
couponList: '/api/v1/wechat/discuss/list', // 获取优惠券列表 couponList: '/api/v1/wechat/discuss/list', // 获取优惠券列表
getUserCommunity:"/api/v1/wechat/community/owner/mylist",//获取用户社区信息 getUserCommunity:"/api/v1/wechat/community/owner/mylist",//获取用户社区信息
createQrcode: '/api/v1/wechat/water/device/qr-code', //获取小程序码 createQrcode: '/api/v1/wechat/water/device/qr-code', //获取小程序码
redPackageCenter: '/api/v2/wechat/red-package/center', //红包中心分页
redPackageClaim: '/api/v2/wechat/red-package/claim', //领取红包
redPackageMyred: '/api/v2/wechat/red-package/my-red', //我的红包分页
}; };

View File

@ -4,6 +4,4 @@ export const apiArr = {
getHomeBanner: "/api/v2/wechat/home-banner-region-crud/page", //获取首页banner及其广告 getHomeBanner: "/api/v2/wechat/home-banner-region-crud/page", //获取首页banner及其广告
getButtonNum:"/api/v2/wechat/nav-display-crud/info",//获取首页button的行数 数量 getButtonNum:"/api/v2/wechat/nav-display-crud/info",//获取首页button的行数 数量
getHomeButton:"/api/v2/wechat/home-button-region-crud/page", //获取首页button getHomeButton:"/api/v2/wechat/home-button-region-crud/page", //获取首页button
statusQuery:"/api/v2/wechat/store-info-crud/status-query", //门店审核状态查询
}; };

View File

@ -1,6 +1,6 @@
export const apiArr = { export const apiArr = {
getUserInfo: '/api/v2/wechat/mpuser-crud/info', // 获取城市列表 getUserInfo: '/api/v2/wechat/mpuser-crud/info', // 获取城市列表
userInfoUpdate: '/api/v2/wechat/mpuser-crud/update', // 会员信息更新 userInfoUpdate: '/api/v2/wechat/mpuser-crud/update', // 会员信息更新
getAccumulationFund: '/api/v2/wechat/government-housing-fund-flow-crud/page', // 岁银 getAccumulationFund: '/api/v2/wechat/government-housing-fund-flow-crud/page', // 物业费
getPoints: '/api/v2/wechat/member-points-flow-crud/page', // 积分 getPoints: '/api/v2/wechat/member-points-flow-crud/page', // 积分
} }

View File

@ -43,63 +43,63 @@ export default {
navList: [ navList: [
{ {
photo: photo:
"https://static.hshuishang.com/property-img-file/footer_home.png", "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/footer_home.png",
photoAc: photoAc:
"https://static.hshuishang.com/property-img-file/footer_homeAc.png", "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/footer_homeAc.png",
nav_name: "智慧首页", nav_name: "智慧首页",
url: "/pages/index/index", url: "/pages/index/index",
}, },
{ {
photo: photo:
"https://static.hshuishang.com/property-img-file/footer_facility.png", "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/footer_facility.png",
photoAc: photoAc:
"https://static.hshuishang.com/property-img-file/footer_facilityAc.png", "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/footer_facilityAc.png",
nav_name: "智能设备", nav_name: "智能设备",
url: "/packages/smartDevice/index/index", url: "/packages/smartDevice/index/index",
}, },
{ {
photo: photo:
"https://static.hshuishang.com/property-img-file/footer_richScan.png", "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/footer_richScan.png",
photoAc: photoAc:
"https://static.hshuishang.com/property-img-file/footer_richScan.png", "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/footer_richScan.png",
url: "", url: "",
isScan: true, isScan: true,
}, },
{ {
photo: photo:
"https://static.hshuishang.com/property-img-file/footer_community.png", "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/footer_community.png",
photoAc: photoAc:
"https://static.hshuishang.com/property-img-file/footer_communityAc.png", "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/footer_communityAc.png",
nav_name: "我的小区", nav_name: "我的小区",
url: "/packages/community/index/index", url: "/packages/community/index/index",
}, },
// { // {
// photo: "https://static.hshuishang.com/property-img-file/footer_localLife.png", // photo: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/footer_localLife.png",
// photoAc: "https://static.hshuishang.com/property-img-file/footer_localLifeAc.png", // photoAc: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/footer_localLifeAc.png",
// nav_name: "", // nav_name: "",
// url: "/packages/localLife/index/index", // url: "/packages/localLife/index/index",
// }, // },
// { // {
// photo: // photo:
// "https://static.hshuishang.com/property-img-file/footer_shop.png", // "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/footer_shop.png",
// photoAc: // photoAc:
// "https://static.hshuishang.com/property-img-file/footer_shopAc.png", // "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/footer_shopAc.png",
// nav_name: "", // nav_name: "",
// url: "/packages/shop/index/index", // url: "/packages/shop/index/index",
// }, // },
// { // {
// photo: // photo:
// "https://static.hshuishang.com/property-img-file/footer_door.png", // "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/footer_door.png",
// photoAc: // photoAc:
// "https://static.hshuishang.com/property-img-file/footer_communityAc.png", // "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/footer_communityAc.png",
// nav_name: "", // nav_name: "",
// url: "/packages/homeServer/index/index", // url: "/packages/homeServer/index/index",
// }, // },
{ {
photo: photo:
"https://static.hshuishang.com/property-img-file/footer_mine.png", "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/footer_mine.png",
photoAc: photoAc:
"https://static.hshuishang.com/property-img-file/footer_mineAc.png", "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/footer_mineAc.png",
nav_name: "个人中心", nav_name: "个人中心",
url: "/pages/user/index", url: "/pages/user/index",
}, },

View File

@ -1,14 +1,14 @@
<template> <template>
<view class="search"> <view class="search">
<view class="locat" catchtap="goPagesLink"> <view class="locat" catchtap="goPagesLink">
<image class="local_left_icon" src="https://static.hshuishang.com/User/_assets/location.png" <image class="local_left_icon" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/location.png"
mode="" /> mode="" />
<text class="local_city">{{address}}</text> <text class="local_city">{{address}}</text>
<van-icon name="arrow-down" color="#FF512A " /> <van-icon name="arrow-down" color="#FF512A " />
</view> </view>
<view class='search_bar'> <view class='search_bar'>
<image class="search_icon" <image class="search_icon"
src="https://static.hshuishang.com/community/_assets/Group_36.png" mode="" /> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/community/_assets/Group_36.png" mode="" />
<input class="search_input" placeholder='输入搜索的社区名称' confirm-type='search' @input="searchInput" <input class="search_input" placeholder='输入搜索的社区名称' confirm-type='search' @input="searchInput"
@confirm="searchInput" :value=" selectKeyWord" /> @confirm="searchInput" :value=" selectKeyWord" />
</view> </view>

View File

@ -9,7 +9,7 @@
<view class="center">物业公司{{item.shop && item.shop.shop_name || item.property}}</view> <view class="center">物业公司{{item.shop && item.shop.shop_name || item.property}}</view>
<view class="address"> <view class="address">
<image class="address_icon" <image class="address_icon"
src="https://static.hshuishang.com/community/_assets/Group_50.png" mode="" /> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/community/_assets/Group_50.png" mode="" />
<view class="text-container"> <view class="text-container">
<text>{{item.addr}}</text> <text>{{item.addr}}</text>
</view> </view>
@ -17,13 +17,13 @@
<view class="bottom"> <view class="bottom">
<view class="bottom_left"> <view class="bottom_left">
<view class="btn" @click.stop="handleOptionClick"> <view class="btn" @click.stop="handleOptionClick">
<image class="btn_icon" src="https://static.hshuishang.com/community/_assets/Send.png" <image class="btn_icon" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/community/_assets/Send.png"
mode="aspectFill" /> mode="aspectFill" />
导航 导航
</view> </view>
<view class="btn mobile" @click.stop="headlePhoneClick"> <view class="btn mobile" @click.stop="headlePhoneClick">
<image class="btn_icon" <image class="btn_icon"
src="https://static.hshuishang.com/community/_assets/Phone-telephone.png" mode="" /> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/community/_assets/Phone-telephone.png" mode="" />
电话 电话
</view> </view>
</view> </view>

View File

@ -10,22 +10,22 @@
<view class="msg"> <view class="msg">
<view class="msg_left"> <view class="msg_left">
<view class="msg_left_1"> <view class="msg_left_1">
<image src="https://static.hshuishang.com/kitchen/kitchen_time.png" mode="widthFix" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/kitchen/kitchen_time.png" mode="widthFix" />
{{shopInfo.opening_time}}-{{shopInfo.closing_time}} {{shopInfo.opening_time}}-{{shopInfo.closing_time}}
<view>营业</view> <view>营业</view>
</view> </view>
<view class="msg_left_2"> <view class="msg_left_2">
<image src="https://static.hshuishang.com/kitchen/kitchen_add.png" mode="widthFix" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/kitchen/kitchen_add.png" mode="widthFix" />
{{shopInfo.addrInfo}} {{shopInfo.addrInfo}}
</view> </view>
</view> </view>
<view class="msg_right"> <view class="msg_right">
<view class="msg_right1" @click="haderTelClick"> <view class="msg_right1" @click="haderTelClick">
<image src="https://static.hshuishang.com/kitchen/kitchen_phone.png" mode="widthFix" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/kitchen/kitchen_phone.png" mode="widthFix" />
电话 电话
</view> </view>
<view class="msg_right2" @click="handleOptionClick"> <view class="msg_right2" @click="handleOptionClick">
<image src="https://static.hshuishang.com/kitchen/kitchen_add.png" mode="widthFix" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/kitchen/kitchen_add.png" mode="widthFix" />
导航 导航
</view> </view>
</view> </view>

View File

@ -1,14 +1,14 @@
.box { .box {
width: 750rpx; width: 750rpx;
height: 1343rpx; height: 1343rpx;
background: url(https://static.hshuishang.com/kitchen/recharge_bg.png) no-repeat; background: url(https://wechat-img-file.oss-cn-beijing.aliyuncs.com/kitchen/recharge_bg.png) no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
} }
.msg { .msg {
width: 710rpx; width: 710rpx;
height: 308rpx; height: 308rpx;
background: url(https://static.hshuishang.com/kitchen/recharge_tit.png) no-repeat; background: url(https://wechat-img-file.oss-cn-beijing.aliyuncs.com/kitchen/recharge_tit.png) no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
margin: 0 auto; margin: 0 auto;
margin-top: 30rpx; margin-top: 30rpx;

View File

@ -9,7 +9,7 @@
<view class="msg"> <view class="msg">
账户余额() 账户余额()
<view>{{money}}</view> <view>{{money}}</view>
<image src="https://static.hshuishang.com/kitchen/recharge_img.png" mode="widthFix" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/kitchen/recharge_img.png" mode="widthFix" />
</view> </view>
<view class="recharge"> <view class="recharge">

View File

@ -62,7 +62,7 @@ image {
height: 150rpx; height: 150rpx;
flex-direction: row; flex-direction: row;
display: flex; display: flex;
background-image: url('https://static.hshuishang.com/gp_detail_top.png'); background-image: url('https://wechat-img-file.oss-cn-beijing.aliyuncs.com/gp_detail_top.png');
background-size: cover; background-size: cover;
background-position: -30rpx center; background-position: -30rpx center;
} }
@ -621,7 +621,7 @@ image {
.shadowBox_img { .shadowBox_img {
width: 600rpx; width: 600rpx;
height: 945rpx; height: 945rpx;
background: url('https://static.hshuishang.com/property-img-file/shop_share_bg.png') no-repeat; background: url('https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/shop_share_bg.png') no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
} }

View File

@ -83,7 +83,7 @@
<view class="Msg_ItemTit">货号</view> <view class="Msg_ItemTit">货号</view>
<view class="Msg_ItemCon" @click="copys(currentGG.goods_no)"> <view class="Msg_ItemCon" @click="copys(currentGG.goods_no)">
{{ currentGG.goods_no }} {{ currentGG.goods_no }}
<image src="https://static.hshuishang.com/property-img-file/shop_copy.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/shop_copy.png"></image>
</view> </view>
</view> </view>
<view class="Msg_Item"> <view class="Msg_Item">
@ -117,14 +117,14 @@
<view class="Car"> <view class="Car">
<view class="car_left"> <view class="car_left">
<view class="share" @click="share"> <view class="share" @click="share">
<image src="https://static.hshuishang.com/property-img-file/shop_share.png" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/shop_share.png"
mode="widthFix"></image> mode="widthFix"></image>
分享 分享
</view> </view>
<view class="cars" @click="car"> <view class="cars" @click="car">
<u-badge numberType="limit" :type="type" max="99" :value="carNum"></u-badge> <u-badge numberType="limit" :type="type" max="99" :value="carNum"></u-badge>
<image src="https://static.hshuishang.com/property-img-file/shop_car.png" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/shop_car.png"
mode="widthFix"></image> mode="widthFix"></image>
购物车 购物车
</view> </view>
@ -155,14 +155,14 @@
<view class="shadowBox1"> <view class="shadowBox1">
<view class="shadowBox1Item" @click="shareFriend"> <view class="shadowBox1Item" @click="shareFriend">
<button class="shadowBox1Item_btn" open-type="share" bindtap="onShareButtonClick"> <button class="shadowBox1Item_btn" open-type="share" bindtap="onShareButtonClick">
<image src="https://static.hshuishang.com/property-img-file/shop_WX.png" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/shop_WX.png"
mode="aspectFill"></image> mode="aspectFill"></image>
微信好友 微信好友
</button> </button>
</view> </view>
<view class="shadowBox1Item" @click="openSave"> <view class="shadowBox1Item" @click="openSave">
<button class="shadowBox1Item_btn"> <button class="shadowBox1Item_btn">
<image src="https://static.hshuishang.com/property-img-file/shop_saveImg.png" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/shop_saveImg.png"
mode="aspectFill"></image> mode="aspectFill"></image>
生成海报 生成海报
</button> </button>
@ -175,7 +175,7 @@
<view class="shadowBox_img"> <view class="shadowBox_img">
<view class="boxshadow_tit">今日商品推荐</view> <view class="boxshadow_tit">今日商品推荐</view>
<view class="boxshadow_img"> <view class="boxshadow_img">
<image src="https://static.hshuishang.com/property-img-file/shop_share_img.png"> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/shop_share_img.png">
</image> </image>
</view> </view>
<view class="line"></view> <view class="line"></view>
@ -203,12 +203,12 @@
</view> </view>
<view class="temp"> <view class="temp">
<view class="temp1"> <view class="temp1">
<img class="temp_img" src="https://static.hshuishang.com/pingjia.png" /> <img class="temp_img" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/pingjia.png" />
为你展示真实评价 为你展示真实评价
</view> </view>
<view class="temp1" @click="showSizePopup"> <view class="temp1" @click="showSizePopup">
款式 款式
<img class="temp_img1" src="https://static.hshuishang.com/kuanshi.png" /> <img class="temp_img1" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/kuanshi.png" />
</view> </view>
</view> </view>
<view class="reviews-list" v-if="comments.length > 0"> <view class="reviews-list" v-if="comments.length > 0">
@ -297,7 +297,6 @@ export default {
boxshadow1: false, boxshadow1: false,
boxshadow2: false, boxshadow2: false,
id: "", id: "",
adver_id: "",//id
groupById: "", groupById: "",
promotional_price: "", // promotional_price: "", //
info: "", info: "",
@ -507,7 +506,7 @@ export default {
this.boxshadow2 = false; this.boxshadow2 = false;
// //
uni.downloadFile({ uni.downloadFile({
url: "https://static.hshuishang.com/property-img-file/shop_share_img.png", url: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/shop_share_img.png",
success: (res) => { success: (res) => {
if (res.statusCode === 200) { if (res.statusCode === 200) {
uni.saveImageToPhotosAlbum({ uni.saveImageToPhotosAlbum({
@ -542,7 +541,6 @@ export default {
getGoodsInfo() { getGoodsInfo() {
const params = { const params = {
id: this.id, id: this.id,
adver_id: this.adver_id,
} }
request(apiArr.getGoodsInfo, "POST", params).then((res) => { request(apiArr.getGoodsInfo, "POST", params).then((res) => {
// //
@ -729,14 +727,14 @@ export default {
// //
getBuyRecord() { getBuyRecord() {
const params = { const params = {
activity_id: this.groupById, activity_id: 47,
goods_id: this.itemObj.id, goods_id: this.id
} }
request(apiArr2.groupBuyRecord, 'POST', params).then(res => { request(apiArr2.groupBuyRecord, 'POST', params).then(res => {
const record = res.group_buy_record.map(item => { const record = res.group_buy_record.map(item => {
return { return {
...item, ...item,
avatar: picUrl + item.avatar avatar: picture + item.avatar
} }
}) })
this.purchaseRecords = record this.purchaseRecords = record
@ -783,7 +781,6 @@ export default {
this.top = meun.top; this.top = meun.top;
this.localHeight = meun.height; this.localHeight = meun.height;
this.id = this.itemObj.commodity_id ? this.itemObj.commodity_id : this.itemObj.id; this.id = this.itemObj.commodity_id ? this.itemObj.commodity_id : this.itemObj.id;
this.adver_id = this.itemObj.adver_id
this.groupById = this.itemObj.groupById this.groupById = this.itemObj.groupById
this.promotional_price = this.itemObj.promotional_price this.promotional_price = this.itemObj.promotional_price
this.getBuyRecord() this.getBuyRecord()

View File

@ -277,7 +277,7 @@ page {
.copy-icon { .copy-icon {
width: 30rpx; width: 30rpx;
height: 30rpx; height: 30rpx;
background-image: url('https://static.hshuishang.com/myOrder/copy.png'); background-image: url('https://wechat-img-file.oss-cn-beijing.aliyuncs.com/myOrder/copy.png');
background-size: cover; background-size: cover;
margin-left: 10rpx; margin-left: 10rpx;
} }

View File

@ -72,7 +72,7 @@
<view class="payment-item" @click="selectPayment('wechat')"> <view class="payment-item" @click="selectPayment('wechat')">
<view class="payment-icon"> <view class="payment-icon">
<image <image
src="https://static.hshuishang.com/property-img-file/com_wechat.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_wechat.png"
mode="aspectFit"></image> mode="aspectFit"></image>
</view> </view>
<view class="payment-content"> <view class="payment-content">
@ -82,12 +82,12 @@
</view> </view>
<view class="payment-select" v-if="selectedPayment === 'wechat'"> <view class="payment-select" v-if="selectedPayment === 'wechat'">
<image <image
src="https://static.hshuishang.com/property-img-file/com_check2.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_check2.png"
mode="aspectFit" style="width: 40rpx; height: 40rpx;"></image> mode="aspectFit" style="width: 40rpx; height: 40rpx;"></image>
</view> </view>
<view class="payment-select" v-else> <view class="payment-select" v-else>
<image <image
src="https://static.hshuishang.com/property-img-file/com_check1.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_check1.png"
mode="aspectFit" style="width: 40rpx; height: 40rpx;"></image> mode="aspectFit" style="width: 40rpx; height: 40rpx;"></image>
</view> </view>
</view> </view>
@ -195,7 +195,7 @@
<view class="payment-item" @click="selectPayment('wechat')"> <view class="payment-item" @click="selectPayment('wechat')">
<view class="payment-icon"> <view class="payment-icon">
<image <image
src="https://static.hshuishang.com/property-img-file/com_wechat.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_wechat.png"
mode="aspectFit"></image> mode="aspectFit"></image>
</view> </view>
<view class="payment-content"> <view class="payment-content">
@ -205,12 +205,12 @@
</view> </view>
<view class="payment-select" v-if="selectedPayment === 'wechat'"> <view class="payment-select" v-if="selectedPayment === 'wechat'">
<image <image
src="https://static.hshuishang.com/property-img-file/com_check2.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_check2.png"
mode="aspectFit" style="width: 40rpx; height: 40rpx;"></image> mode="aspectFit" style="width: 40rpx; height: 40rpx;"></image>
</view> </view>
<view class="payment-select" v-else> <view class="payment-select" v-else>
<image <image
src="https://static.hshuishang.com/property-img-file/com_check1.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_check1.png"
mode="aspectFit" style="width: 40rpx; height: 40rpx;"></image> mode="aspectFit" style="width: 40rpx; height: 40rpx;"></image>
</view> </view>
</view> </view>
@ -227,7 +227,7 @@
<view class="shadowBox2"> <view class="shadowBox2">
<view class="shadowBox_img"> <view class="shadowBox_img">
<view class="boxshadow_tit"> <view class="boxshadow_tit">
<image src="https://static.hshuishang.com/af_√.png" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/af_√.png"
class="boxshadow_tit_img"> class="boxshadow_tit_img">
</image> </image>
已支付成功 已支付成功
@ -235,7 +235,7 @@
<view class="boxshadow_img"> <view class="boxshadow_img">
<view v-if="verifyCode">核销码{{ verifyCode }}</view> <view v-if="verifyCode">核销码{{ verifyCode }}</view>
<!-- <image <!-- <image
src="https://static.hshuishang.com/property-img-file/shop_share_img.png"> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/shop_share_img.png">
</image> --> </image> -->
</view> </view>
<view> <view>
@ -246,7 +246,7 @@
<view class="wealBox"> <view class="wealBox">
<view class="wealBoxItem wealBoxItem1"> <view class="wealBoxItem wealBoxItem1">
<view class="wealBoxItemTop"> <view class="wealBoxItemTop">
<image src="https://static.hshuishang.com/activity_fen.png" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/activity_fen.png"
mode="aspectFit"> mode="aspectFit">
</image> </image>
<view>石榴分</view> <view>石榴分</view>
@ -260,7 +260,7 @@
</view> </view>
<view class="wealBoxItem wealBoxItem2"> <view class="wealBoxItem wealBoxItem2">
<view class="wealBoxItemTop"> <view class="wealBoxItemTop">
<image src="https://static.hshuishang.com/activity_zi.png" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/activity_zi.png"
mode="aspectFit"> mode="aspectFit">
</image> </image>
<view>石榴籽</view> <view>石榴籽</view>
@ -274,7 +274,7 @@
</view> </view>
<view class="wealBoxItem wealBoxItem3"> <view class="wealBoxItem wealBoxItem3">
<view class="wealBoxItemTop"> <view class="wealBoxItemTop">
<image src="https://static.hshuishang.com/activity_jin.png" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/activity_jin.png"
mode="aspectFit" /> mode="aspectFit" />
<view>石榴金</view> <view>石榴金</view>
</view> </view>
@ -299,20 +299,20 @@
<button class="shadowBox1Item_btn" open-type="share" bindtap="onShareButtonClick" /> <button class="shadowBox1Item_btn" open-type="share" bindtap="onShareButtonClick" />
<view class="shadowBox1Item"> <view class="shadowBox1Item">
<image <image
src="https://static.hshuishang.com/property-img-file/shop_WX.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/shop_WX.png"
mode="aspectFill"></image> mode="aspectFill"></image>
微信好友 微信好友
</view> </view>
<button class="shadowBox2Item_btn" open-type="share" bindtap="onShareButtonClick" /> <button class="shadowBox2Item_btn" open-type="share" bindtap="onShareButtonClick" />
<view class="shadowBox1Item" @click="shareFriend"> <view class="shadowBox1Item" @click="shareFriend">
<image <image
src="https://static.hshuishang.com/property-img-file/shop_WX.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/shop_WX.png"
mode="aspectFill"></image> mode="aspectFill"></image>
小程序链接 小程序链接
</view> </view>
<!-- <view class="shadowBox1Item" @click="openSave"> <!-- <view class="shadowBox1Item" @click="openSave">
<image <image
src="https://static.hshuishang.com/property-img-file/shop_saveImg.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/shop_saveImg.png"
mode="aspectFill"></image> mode="aspectFill"></image>
二维码海报 二维码海报
</view> --> </view> -->
@ -331,7 +331,7 @@
<view class="boxshadow_tit">今日商品推荐</view> <view class="boxshadow_tit">今日商品推荐</view>
<view class="boxshadow_img"> <view class="boxshadow_img">
<image <image
src="https://static.hshuishang.com/property-img-file/shop_share_img.png"> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/shop_share_img.png">
</image> </image>
</view> </view>
<view class="shadowBoxInfo"> <view class="shadowBoxInfo">
@ -786,7 +786,7 @@ export default {
this.boxshadow2 = false; this.boxshadow2 = false;
// //
uni.downloadFile({ uni.downloadFile({
url: "https://static.hshuishang.com/property-img-file/shop_share_img.png", url: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/shop_share_img.png",
success: (res) => { success: (res) => {
if (res.statusCode === 200) { if (res.statusCode === 200) {
uni.saveImageToPhotosAlbum({ uni.saveImageToPhotosAlbum({

View File

@ -185,30 +185,23 @@
/* 购物车按钮 */ /* 购物车按钮 */
.shop_car { .shop_car {
width: 80rpx; width: 140rpx;
height: 80rpx; height: 140rpx;
position: absolute; position: fixed;
bottom: 150rpx; right: 33rpx;
right: 30rpx; bottom: 80rpx;
z-index: 10; z-index: 10;
border-radius: 50%;
background-color: #ffffff;
padding: 10rpx;
display: flex;
align-items: center;
justify-content: center;
} }
.shop_car image { .shop_car image {
width: 60rpx; width: 100%;
height: 60rpx; height: 100%;
} }
.u-badge { .u-badge {
position: absolute; position: absolute;
right: 0rpx; right: 0;
top: -6rpx; top: -10rpx;
z-index: 11;
} }
/* 规格标签样式 */ /* 规格标签样式 */

View File

@ -34,7 +34,7 @@
<!-- 购物车按钮 --> <!-- 购物车按钮 -->
<view class="shop_car" @click="shopCar"> <view class="shop_car" @click="shopCar">
<u-badge numberType="limit" type="error" max="99" :value="carNum"></u-badge> <u-badge numberType="limit" type="error" max="99" :value="carNum"></u-badge>
<image src="https://static.hshuishang.com/property-img-file/page_user_Group_1564.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/shop_car_num.png"></image>
</view> </view>
</view> </view>
</template> </template>
@ -83,17 +83,17 @@ export default {
}, },
methods: { methods: {
getGoodsList() { getGoodsList() {
// if (!uni.getStorageSync('userId')) { if (!uni.getStorageSync('userId')) {
// uni.showToast({ uni.showToast({
// title: '', title: '请先登录',
// icon: 'none' icon: 'none'
// }) })
// return return
// } }
const params = { const params = {
adver_id: this.idVal, adver_id: this.idVal,
} }
return request(shopApi.adverGoodsList, 'POST', params, {}, false).then(res => { return request(shopApi.adverGoodsList, 'POST', params).then(res => {
const list = res.adver_goods_list.map(item => { const list = res.adver_goods_list.map(item => {
// quantity // quantity
return { return {

View File

@ -12,7 +12,7 @@
</view> </view>
</view> </view>
<view class="empty" v-if="shopCarTotal == 0"> <view class="empty" v-if="shopCarTotal == 0">
<image src="https://static.hshuishang.com/shopCar_no.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/shopCar_no.png"></image>
</view> </view>
<view class="main" v-else> <view class="main" v-else>
<view class="deleteIcon" @click="deleteItem"> <view class="deleteIcon" @click="deleteItem">
@ -22,10 +22,10 @@
<view class="footer_all" @click="is_day_checked" <view class="footer_all" @click="is_day_checked"
style="color: orange; font-size: 35rpx; font-weight: bolder;"> style="color: orange; font-size: 35rpx; font-weight: bolder;">
<image v-if="!isDaychecked" <image v-if="!isDaychecked"
src="https://static.hshuishang.com/property-img-file/com_check1.png"> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_check1.png">
</image> </image>
<image v-if="isDaychecked" <image v-if="isDaychecked"
src="https://static.hshuishang.com/property-img-file/com_check2.png"> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_check2.png">
</image> </image>
当日达 当日达
</view> </view>
@ -34,10 +34,10 @@
<view class="goodsItem_supplier"> <view class="goodsItem_supplier">
<view class="goodsItem_left" @click="supplierCheck(carItem, true)"> <view class="goodsItem_left" @click="supplierCheck(carItem, true)">
<image v-if="!carItem.supplierChecked" <image v-if="!carItem.supplierChecked"
src="https://static.hshuishang.com/property-img-file/com_check1.png"> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_check1.png">
</image> </image>
<image v-if="carItem.supplierChecked" <image v-if="carItem.supplierChecked"
src="https://static.hshuishang.com/property-img-file/com_check2.png"> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_check2.png">
</image> </image>
</view> </view>
<view class="goodsItem_tit"> <view class="goodsItem_tit">
@ -48,10 +48,10 @@
:key="item.id"> :key="item.id">
<view class="goodsItem_left" @click="DayChecked(item)"> <view class="goodsItem_left" @click="DayChecked(item)">
<image v-if="!item.checked" <image v-if="!item.checked"
src="https://static.hshuishang.com/property-img-file/com_check1.png"> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_check1.png">
</image> </image>
<image v-if="item.checked" <image v-if="item.checked"
src="https://static.hshuishang.com/property-img-file/com_check2.png"> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_check2.png">
</image> </image>
</view> </view>
<view class="goodsItem_right"> <view class="goodsItem_right">
@ -107,10 +107,10 @@
<view class="footer_all" @click="parcel_post_checked" <view class="footer_all" @click="parcel_post_checked"
style="color: orange; font-size: 35rpx; font-weight: bolder;"> style="color: orange; font-size: 35rpx; font-weight: bolder;">
<image v-if="!isParcelPostchecked" <image v-if="!isParcelPostchecked"
src="https://static.hshuishang.com/property-img-file/com_check1.png"> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_check1.png">
</image> </image>
<image v-if="isParcelPostchecked" <image v-if="isParcelPostchecked"
src="https://static.hshuishang.com/property-img-file/com_check2.png"> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_check2.png">
</image> </image>
包邮 包邮
</view> </view>
@ -119,10 +119,10 @@
<view class="goodsItem_supplier"> <view class="goodsItem_supplier">
<view class="goodsItem_left" @click="supplierCheck(carItem, false)"> <view class="goodsItem_left" @click="supplierCheck(carItem, false)">
<image v-if="!carItem.supplierChecked" <image v-if="!carItem.supplierChecked"
src="https://static.hshuishang.com/property-img-file/com_check1.png"> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_check1.png">
</image> </image>
<image v-if="carItem.supplierChecked" <image v-if="carItem.supplierChecked"
src="https://static.hshuishang.com/property-img-file/com_check2.png"> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_check2.png">
</image> </image>
</view> </view>
<view class="goodsItem_tit"> <view class="goodsItem_tit">
@ -133,10 +133,10 @@
:key="item.id"> :key="item.id">
<view class="goodsItem_left" @click="changeChecked(item)"> <view class="goodsItem_left" @click="changeChecked(item)">
<image v-if="!item.checked" <image v-if="!item.checked"
src="https://static.hshuishang.com/property-img-file/com_check1.png"> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_check1.png">
</image> </image>
<image v-if="item.checked" <image v-if="item.checked"
src="https://static.hshuishang.com/property-img-file/com_check2.png"> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_check2.png">
</image> </image>
</view> </view>
<view class="goodsItem_right"> <view class="goodsItem_right">
@ -169,7 +169,8 @@
</view> </view>
</template> </template>
<template #input> <template #input>
<text style="width: 80rpx; text-align: center" class="input">{{ <text style="width: 80rpx; text-align: center"
class="input">{{
item.count }}</text> item.count }}</text>
</template> </template>
<template #plus> <template #plus>
@ -192,10 +193,10 @@
<view class="footer_left"> <view class="footer_left">
<view class="footer_all" @click="allChecked"> <view class="footer_all" @click="allChecked">
<image v-if="!isAllchecked" <image v-if="!isAllchecked"
src="https://static.hshuishang.com/property-img-file/com_check1.png"> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_check1.png">
</image> </image>
<image v-if="isAllchecked" <image v-if="isAllchecked"
src="https://static.hshuishang.com/property-img-file/com_check2.png"> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_check2.png">
</image> </image>
全选 全选
</view> </view>
@ -534,7 +535,6 @@ export default {
const that = this; const that = this;
request(apiArr.deleteCar, "POST", { request(apiArr.deleteCar, "POST", {
ids: [carItem.id], ids: [carItem.id],
goods_cate: 3,
}).then((res) => { }).then((res) => {
// //
item.splice(goodsIndex, 1); item.splice(goodsIndex, 1);
@ -700,7 +700,6 @@ export default {
request(apiArr.deleteCar, "POST", { request(apiArr.deleteCar, "POST", {
ids, ids,
goods_cate: 3,
}) })
.then((res) => { .then((res) => {
uni.showToast({ uni.showToast({

View File

@ -307,7 +307,7 @@ page {
content: ''; content: '';
width: 52rpx; width: 52rpx;
height: 22rpx; height: 22rpx;
background: url(https://static.hshuishang.com/property-img-file/com_active.png); background: url(https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_active.png);
background-size: cover; background-size: cover;
position: absolute; position: absolute;
left: 50%; left: 50%;

View File

@ -8,7 +8,7 @@
<div class="myRealEstate"> <div class="myRealEstate">
<div class="myRealEstates"> <div class="myRealEstates">
<image src="https://static.hshuishang.com/property-img-file/com_communityNav.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communityNav.png" mode="aspectFill"></image>
<div class="name">滏阳锦苑</div> <div class="name">滏阳锦苑</div>
<div class="Visitor">访客身份 点击立即入驻本社区</div> <div class="Visitor">访客身份 点击立即入驻本社区</div>
</div> </div>
@ -25,7 +25,7 @@
<div class="ConList"> <div class="ConList">
<div class="ConItem" v-for="item in 3" @click="desc"> <div class="ConItem" v-for="item in 3" @click="desc">
<div class="ConItem_left"> <div class="ConItem_left">
<image src="https://static.hshuishang.com/property-img-file/com_act2Img.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_act2Img.png" mode="aspectFill"></image>
</div> </div>
<div class="ConItem_right"> <div class="ConItem_right">
<div class="ConItem_right_tit">关于小区停车场治理通告</div> <div class="ConItem_right_tit">关于小区停车场治理通告</div>

View File

@ -3,7 +3,7 @@
<view class="container"> <view class="container">
<div class="userAva"> <div class="userAva">
<image src="https://static.hshuishang.com/property-img-file/com_MsgImg1.png" alt="" mode="aspectFill" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png" alt="" mode="aspectFill" />
</div> </div>
<div class="Name">MarrekoZhang</div> <div class="Name">MarrekoZhang</div>

View File

@ -1,14 +1,14 @@
<template> <template>
<view class="container"> <view class="container">
<div class="searchBox"> <div class="searchBox">
<img src="https://static.hshuishang.com/property-img-file/com_communitySearchIcon.png" alt="" /> <img src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png" alt="" />
<input placeholder="请输入小区名称" type="text"> <input placeholder="请输入小区名称" type="text">
</div> </div>
<div class="communityList"> <div class="communityList">
<div class="communityItem" v-for="(item, index) in 5" :key="index" @click="chooseCommunityInfo"> <div class="communityItem" v-for="(item, index) in 5" :key="index" @click="chooseCommunityInfo">
<div class="communityItem_img"> <div class="communityItem_img">
<img src="https://static.hshuishang.com/property-img-file/com_act2Img.png" alt="" /> <img src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_act2Img.png" alt="" />
</div> </div>
<div class="communityItem_msg"> <div class="communityItem_msg">
@ -21,8 +21,8 @@
</div> </div>
<div class="communityItem_msg_more"> <div class="communityItem_msg_more">
<img src="https://static.hshuishang.com/property-img-file/com_check1.png" alt="" /> <img src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_check1.png" alt="" />
<!-- <img src="https://static.hshuishang.com/property-img-file/com_check2.png" alt="" /> --> <!-- <img src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_check2.png" alt="" /> -->
</div> </div>
</div> </div>

View File

@ -7,7 +7,7 @@
<div class="communityList"> <div class="communityList">
<div class="communityItem"> <div class="communityItem">
<div class="communityItem_img"> <div class="communityItem_img">
<image mode="aspectFill" src="https://static.hshuishang.com/property-img-file/com_act2Img.png" alt="" /> <image mode="aspectFill" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_act2Img.png" alt="" />
</div> </div>
<div class="communityItem_msg"> <div class="communityItem_msg">
@ -20,7 +20,7 @@
</div> </div>
<div class="communityItem_msg_more"> <div class="communityItem_msg_more">
<image src="https://static.hshuishang.com/property-img-file/com_communityMore.png" alt="" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communityMore.png" alt="" />
</div> </div>
</div> </div>

View File

@ -167,7 +167,7 @@ image {
position: absolute; position: absolute;
right: 0; right: 0;
bottom: 0; bottom: 0;
background: url(https://static.hshuishang.com/property-img-file/com_activeIcon.png) no-repeat; background: url(https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_activeIcon.png) no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
} }
@ -206,7 +206,7 @@ image {
position: absolute; position: absolute;
right: 0; right: 0;
bottom: 0; bottom: 0;
background: url(https://static.hshuishang.com/property-img-file/com_activeIcon.png) no-repeat; background: url(https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_activeIcon.png) no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
} }

View File

@ -4,7 +4,7 @@
<div class="currentAdd_left">{{ city.region }}</div> <div class="currentAdd_left">{{ city.region }}</div>
<div class="currentAdd_right" @click="changeAddress"> <div class="currentAdd_right" @click="changeAddress">
切换城市 切换城市
<image src="https://static.hshuishang.com/property-img-file/com_choseAddress.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_choseAddress.png"></image>
</div> </div>
</div> </div>
@ -12,7 +12,7 @@
<div class="search"> <div class="search">
<input type="text" placeholder="请输入小区名称" v-model="communityName" /> <input type="text" placeholder="请输入小区名称" v-model="communityName" />
<image @click="searchByName" <image @click="searchByName"
src="https://static.hshuishang.com/property-img-file/com_communitySearchIcon.png"> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png">
</image> </image>
</div> </div>
@ -24,14 +24,14 @@
<div class="communityItem_address">{{ item.addr }}</div> <div class="communityItem_address">{{ item.addr }}</div>
</div> </div>
<div class="communityItem_right"> <div class="communityItem_right">
<image src="https://static.hshuishang.com/property-img-file/com_communityMore.png"> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communityMore.png">
</image> </image>
</div> </div>
</div> </div>
</div> </div>
<div class="empty" v-if="communityList.length == 0"> <div class="empty" v-if="communityList.length == 0">
<image src="https://static.hshuishang.com/property-img-file/com_noSearch.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_noSearch.png"></image>
<span>未找到相关信息的小区</span> <span>未找到相关信息的小区</span>
</div> </div>
</div> </div>
@ -39,7 +39,7 @@
<!-- <div class="communityBox" v-if="step == 2"> <!-- <div class="communityBox" v-if="step == 2">
<div class="search"> <div class="search">
<input type="text" placeholder="请输入楼栋名称"> <input type="text" placeholder="请输入楼栋名称">
<image src="https://static.hshuishang.com/property-img-file/com_communitySearchIcon.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png"></image>
</div> </div>
<div class="floorList"> <div class="floorList">
@ -49,7 +49,7 @@
</div> </div>
<div class="empty" v-if="!foloorList"> <div class="empty" v-if="!foloorList">
<image src="https://static.hshuishang.com/property-img-file/com_noSearch.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_noSearch.png"></image>
<span>未找到相关信息的楼栋</span> <span>未找到相关信息的楼栋</span>
</div> </div>
</div> --> </div> -->
@ -58,7 +58,7 @@
<div class="search"> <div class="search">
<input v-model="searchQuery" type="text" placeholder="请输入楼栋名称" /> <input v-model="searchQuery" type="text" placeholder="请输入楼栋名称" />
<image @click="searchName" <image @click="searchName"
src="https://static.hshuishang.com/property-img-file/com_communitySearchIcon.png"> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png">
</image> </image>
</div> </div>
@ -70,7 +70,7 @@
</div> </div>
<div class="empty" v-if="filteredFloorsList.length === 0"> <div class="empty" v-if="filteredFloorsList.length === 0">
<image src="https://static.hshuishang.com/property-img-file/com_noSearch.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_noSearch.png"></image>
<span>未找到相关信息的楼栋</span> <span>未找到相关信息的楼栋</span>
</div> </div>
</div> </div>
@ -79,7 +79,7 @@
<div class="search"> <div class="search">
<input v-model="searchQuery" type="text" placeholder="请输入楼层名称" /> <input v-model="searchQuery" type="text" placeholder="请输入楼层名称" />
<image @click="searchName" <image @click="searchName"
src="https://static.hshuishang.com/property-img-file/com_communitySearchIcon.png"> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png">
</image> </image>
</div> </div>
@ -92,7 +92,7 @@
</div> </div>
<div class="empty" v-if="filteredFloorsList.length === 0"> <div class="empty" v-if="filteredFloorsList.length === 0">
<image src="https://static.hshuishang.com/property-img-file/com_noSearch.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_noSearch.png"></image>
<span>未找到相关信息的楼层</span> <span>未找到相关信息的楼层</span>
</div> </div>
</div> </div>
@ -101,7 +101,7 @@
<div class="search"> <div class="search">
<input v-model="searchQuery" type="text" placeholder="请输入房间名称" /> <input v-model="searchQuery" type="text" placeholder="请输入房间名称" />
<image @click="searchName" <image @click="searchName"
src="https://static.hshuishang.com/property-img-file/com_communitySearchIcon.png"> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png">
</image> </image>
</div> </div>
@ -114,7 +114,7 @@
</div> </div>
<div class="empty" v-if="filteredFloorsList.length === 0"> <div class="empty" v-if="filteredFloorsList.length === 0">
<image src="https://static.hshuishang.com/property-img-file/com_noSearch.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_noSearch.png"></image>
<span>未找到相关信息的房间</span> <span>未找到相关信息的房间</span>
</div> </div>
</div> </div>

View File

@ -378,17 +378,17 @@ page {
} }
.tabItem1 { .tabItem1 {
background: url(https://static.hshuishang.com/property-img-file/com_tabBg1.png); background: url(https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_tabBg1.png);
background-size: cover; background-size: cover;
} }
.tabItem2 { .tabItem2 {
background: url(https://static.hshuishang.com/property-img-file/com_tabBg2.png); background: url(https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_tabBg2.png);
background-size: cover; background-size: cover;
} }
.tabItem3 { .tabItem3 {
background: url(https://static.hshuishang.com/property-img-file/com_tabBg3.png); background: url(https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_tabBg3.png);
background-size: cover; background-size: cover;
} }
@ -470,7 +470,7 @@ page {
content: ''; content: '';
width: 52rpx; width: 52rpx;
height: 22rpx; height: 22rpx;
background: url(https://static.hshuishang.com/property-img-file/com_active.png); background: url(https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_active.png);
background-size: cover; background-size: cover;
position: absolute; position: absolute;
left: 50%; left: 50%;

View File

@ -2,57 +2,57 @@
<view class="container"> <view class="container">
<view class="searchBox" :style="{ height: localHeight + 'px', paddingTop: top + 'px' }"> <view class="searchBox" :style="{ height: localHeight + 'px', paddingTop: top + 'px' }">
<view class="searchBox_add"> <view class="searchBox_add">
<img src="https://static.hshuishang.com/property-img-file/com_communityIcon.png" alt="" /> <img src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communityIcon.png" alt="" />
我的房产 我的房产
</view> </view>
</view> </view>
<div class="myRealEstate"> <div class="myRealEstate">
<div class="myRealEstates"> <div class="myRealEstates">
<image src="https://static.hshuishang.com/property-img-file/com_communityNav.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communityNav.png" mode="aspectFill"></image>
<div class="name">滏阳锦苑</div> <div class="name">滏阳锦苑</div>
<div class="Visitor">访客身份 点击立即入驻本社区</div> <div class="Visitor">访客身份 点击立即入驻本社区</div>
</div> </div>
<div class="Announcement"> <div class="Announcement">
<image src="https://static.hshuishang.com/property-img-file/com_Announcement.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_Announcement.png" mode="aspectFill"></image>
<div class="line"></div> <div class="line"></div>
<div class="msg" @click="notice"> <div class="msg" @click="notice">
<div>asdasdasd</div> <div>asdasdasd</div>
<image src="https://static.hshuishang.com/property-img-file/com_more.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_more.png" mode="aspectFill"></image>
</div> </div>
</div> </div>
</div> </div>
<div class="navList"> <div class="navList">
<div class="navItem"> <div class="navItem">
<image src="https://static.hshuishang.com/property-img-file/com_NavIcon1.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_NavIcon1.png" mode="aspectFill"></image>
物业服务 物业服务
</div> </div>
<div class="navItem" @click="repair"> <div class="navItem" @click="repair">
<image src="https://static.hshuishang.com/property-img-file/com_NavIcon2.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_NavIcon2.png" mode="aspectFill"></image>
在线报修 在线报修
</div> </div>
<div class="navItem" @click="propertyPayment"> <div class="navItem" @click="propertyPayment">
<image src="https://static.hshuishang.com/property-img-file/com_NavIcon3.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_NavIcon3.png" mode="aspectFill"></image>
物业缴费 物业缴费
</div> </div>
<div class="navItem"> <div class="navItem">
<image src="https://static.hshuishang.com/property-img-file/com_NavIcon4.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_NavIcon4.png" mode="aspectFill"></image>
物业公积 物业公积
</div> </div>
<div class="navItem"> <div class="navItem">
<image src="https://static.hshuishang.com/property-img-file/com_NavIcon5.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_NavIcon5.png" mode="aspectFill"></image>
社区管家 社区管家
</div> </div>
<div class="navItem" @click="mores"> <div class="navItem" @click="mores">
<image src="https://static.hshuishang.com/property-img-file/com_NavIconMore.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_NavIconMore.png" mode="aspectFill"></image>
更多 更多
</div> </div>
</div> </div>
@ -78,7 +78,7 @@
<div class="nearbyList"> <div class="nearbyList">
<div class="emptys" v-if="false"> <div class="emptys" v-if="false">
<image src="https://static.hshuishang.com/property-img-file/com_nearbyList_empty.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_nearbyList_empty.png" mode="aspectFill"></image>
周边暂无补贴公积金商家 周边暂无补贴公积金商家
<div class="emptysBtn"> <div class="emptysBtn">
@ -88,21 +88,21 @@
<div class="nearbyList_left"> <div class="nearbyList_left">
<div class="nearbyList_leftItem"> <div class="nearbyList_leftItem">
<image src="https://static.hshuishang.com/property-img-file/com_nearbyImg1.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_nearbyImg1.png" mode="aspectFill"></image>
</div> </div>
<div class="nearbyList_leftItem"> <div class="nearbyList_leftItem">
<image src="https://static.hshuishang.com/property-img-file/com_nearbyImg1.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_nearbyImg1.png" mode="aspectFill"></image>
</div> </div>
</div> </div>
<div class="nearbyList_right"> <div class="nearbyList_right">
<div class="nearbyList_rightItem"> <div class="nearbyList_rightItem">
<image src="https://static.hshuishang.com/property-img-file/com_nearbyImg2.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_nearbyImg2.png" mode="aspectFill"></image>
</div> </div>
<div class="nearbyList_rightItem"> <div class="nearbyList_rightItem">
<image src="https://static.hshuishang.com/property-img-file/com_nearbyImg2.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_nearbyImg2.png" mode="aspectFill"></image>
</div> </div>
<div class="nearbyList_rightItem"> <div class="nearbyList_rightItem">
<image src="https://static.hshuishang.com/property-img-file/com_nearbyImg2.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_nearbyImg2.png" mode="aspectFill"></image>
</div> </div>
</div> </div>
</div> </div>
@ -124,7 +124,7 @@
<div v-if="active == 0" class="act1"> <div v-if="active == 0" class="act1">
<div class="empty" > <div class="empty" >
<image src="https://static.hshuishang.com/property-img-file/com_empty.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_empty.png" mode="aspectFill"></image>
暂无信息 暂无信息
<div class="emptyAdd">发布社区互动信息</div> <div class="emptyAdd">发布社区互动信息</div>
@ -133,20 +133,20 @@
<div class="MsgList_left" v-if="false"> <div class="MsgList_left" v-if="false">
<div class="MsgList_leftItem"> <div class="MsgList_leftItem">
<div class="MsgList_leftItemImg"> <div class="MsgList_leftItemImg">
<image src="https://static.hshuishang.com/property-img-file/com_MsgImg1.png" mode="widthFix"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png" mode="widthFix"></image>
</div> </div>
<div class="MsgList_leftItemName">我家的小猫丢了谁看见了请联系我~</div> <div class="MsgList_leftItemName">我家的小猫丢了谁看见了请联系我~</div>
<div class="MsgList_leftItemMsg"> <div class="MsgList_leftItemMsg">
<div class="MsgList_leftItemMsg_like"> <div class="MsgList_leftItemMsg_like">
<image src="https://static.hshuishang.com/property-img-file/com_likeIcon.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_likeIcon.png" mode="aspectFill"></image>
134 134
</div> </div>
<div class="MsgList_leftItemMsg_like"> <div class="MsgList_leftItemMsg_like">
<image src="https://static.hshuishang.com/property-img-file/com_comIcon.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_comIcon.png" mode="aspectFill"></image>
134 134
</div> </div>
<div class="MsgList_leftItemMsg_like"> <div class="MsgList_leftItemMsg_like">
<image src="https://static.hshuishang.com/property-img-file/com_shareIcon.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_shareIcon.png" mode="aspectFill"></image>
134 134
</div> </div>
</div> </div>
@ -156,7 +156,7 @@
<div class="MsgList_right" v-if="false"> <div class="MsgList_right" v-if="false">
<div class="MsgList_rightItem"> <div class="MsgList_rightItem">
<div class="MsgList_rightItemImg"> <div class="MsgList_rightItemImg">
<image src="https://static.hshuishang.com/property-img-file/com_MsgImg2.png" mode="widthFix"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg2.png" mode="widthFix"></image>
</div> </div>
<div class="MsgList_rightItemName"> <div class="MsgList_rightItemName">
@ -165,15 +165,15 @@
<div class="MsgList_leftItemMsg"> <div class="MsgList_leftItemMsg">
<div class="MsgList_leftItemMsg_like"> <div class="MsgList_leftItemMsg_like">
<image src="https://static.hshuishang.com/property-img-file/com_likeIcon.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_likeIcon.png" mode="aspectFill"></image>
134 134
</div> </div>
<div class="MsgList_leftItemMsg_like"> <div class="MsgList_leftItemMsg_like">
<image src="https://static.hshuishang.com/property-img-file/com_comIcon.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_comIcon.png" mode="aspectFill"></image>
134 134
</div> </div>
<div class="MsgList_leftItemMsg_like"> <div class="MsgList_leftItemMsg_like">
<image src="https://static.hshuishang.com/property-img-file/com_shareIcon.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_shareIcon.png" mode="aspectFill"></image>
134 134
</div> </div>
</div> </div>
@ -187,15 +187,15 @@
<div class="MsgList_leftItemMsg"> <div class="MsgList_leftItemMsg">
<div class="MsgList_leftItemMsg_like"> <div class="MsgList_leftItemMsg_like">
<image src="https://static.hshuishang.com/property-img-file/com_likeIcon.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_likeIcon.png" mode="aspectFill"></image>
134 134
</div> </div>
<div class="MsgList_leftItemMsg_like"> <div class="MsgList_leftItemMsg_like">
<image src="https://static.hshuishang.com/property-img-file/com_comIcon.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_comIcon.png" mode="aspectFill"></image>
134 134
</div> </div>
<div class="MsgList_leftItemMsg_like"> <div class="MsgList_leftItemMsg_like">
<image src="https://static.hshuishang.com/property-img-file/com_shareIcon.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_shareIcon.png" mode="aspectFill"></image>
134 134
</div> </div>
</div> </div>
@ -206,7 +206,7 @@
<div v-if="active == 1" class="act2"> <div v-if="active == 1" class="act2">
<div class="empty" > <div class="empty" >
<image src="https://static.hshuishang.com/property-img-file/com_empty.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_empty.png" mode="aspectFill"></image>
暂无信息 暂无信息
<div class="emptyAdd">发布社区互动信息</div> <div class="emptyAdd">发布社区互动信息</div>
@ -214,7 +214,7 @@
<div class="act2Item" v-for="itme in 3"> <div class="act2Item" v-for="itme in 3">
<div class="act2Item_left"> <div class="act2Item_left">
<image src="https://static.hshuishang.com/property-img-file/com_act2Img.png" mode="widthFix"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_act2Img.png" mode="widthFix"></image>
</div> </div>
<div class="act2Item_right"> <div class="act2Item_right">
<div class="act2Item_right_Name">约1.7~2.3/ 软糯甜香新鲜水果 玉米</div> <div class="act2Item_right_Name">约1.7~2.3/ 软糯甜香新鲜水果 玉米</div>
@ -224,7 +224,7 @@
<div class="act2Item_right_Btn"> <div class="act2Item_right_Btn">
<div class="act2Item_right_Btn_left"> <div class="act2Item_right_Btn_left">
<image src="https://static.hshuishang.com/property-img-file/com_act2Ms.png" mode="widthFix"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_act2Ms.png" mode="widthFix"></image>
<span>5.58</span> <span>5.58</span>
</div> </div>
@ -242,7 +242,7 @@
<div v-if="active == 2" class="act2"> <div v-if="active == 2" class="act2">
<div class="empty" > <div class="empty" >
<image src="https://static.hshuishang.com/property-img-file/com_empty.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_empty.png" mode="aspectFill"></image>
暂无信息 暂无信息
<div class="emptyAdd">发布社区互动信息</div> <div class="emptyAdd">发布社区互动信息</div>
@ -250,7 +250,7 @@
<div class="act2Item" v-for="itme in 3"> <div class="act2Item" v-for="itme in 3">
<div class="act2Item_left"> <div class="act2Item_left">
<image src="https://static.hshuishang.com/property-img-file/com_act2Img.png" mode="widthFix"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_act2Img.png" mode="widthFix"></image>
</div> </div>
<div class="act2Item_right"> <div class="act2Item_right">
<div class="act2Item_right_Name">约1.7~2.3/ 软糯甜香新鲜水果 玉米</div> <div class="act2Item_right_Name">约1.7~2.3/ 软糯甜香新鲜水果 玉米</div>
@ -278,7 +278,7 @@
<div v-if="active == 3" class="act4"> <div v-if="active == 3" class="act4">
<div class="act4Item" v-for="itme in 4"> <div class="act4Item" v-for="itme in 4">
<div class="act4Img"> <div class="act4Img">
<image src="https://static.hshuishang.com/property-img-file/com_act2Img.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_act2Img.png" mode="aspectFill"></image>
</div> </div>
<div class="act4Name"> <div class="act4Name">
舒克小苏打牙膏洁白细护120G 舒克小苏打牙膏洁白细护120G

View File

@ -10,7 +10,7 @@
}, },
{ {
"id": 3, "id": 3,
"category_name": "岁银" "category_name": "物业费"
}, },
{ {
"id": 4, "id": 4,
@ -21,39 +21,39 @@
{ {
"id": 1, "id": 1,
"title": "物业介绍", "title": "物业介绍",
"pic": "https://static.hshuishang.com/Group_3677.png" "pic": "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/Group_3677.png"
}, },
{ {
"id": 2, "id": 2,
"title": "物业缴费", "title": "物业缴费",
"pic": "https://static.hshuishang.com/Group_3680.png" "pic": "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/Group_3680.png"
}, },
{ {
"id": 3, "id": 3,
"title": "岁银", "title": "物业费",
"pic": "https://static.hshuishang.com/Group_3679.png" "pic": "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/Group_3679.png"
}, },
{ {
"id": 4, "id": 4,
"title": "报事报修", "title": "报事报修",
"pic": "https://static.hshuishang.com/Group_3678.png" "pic": "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/Group_3678.png"
} }
], ],
"defaultNoticeList": [ "defaultNoticeList": [
{ {
"id": 1, "id": 1,
"title": "物业介绍", "title": "物业介绍",
"content": "您好!\n &nbsp;&nbsp;&nbsp;&nbsp;物业服务中心是小区专属服务团队,核心服务包括:岁银收缴、公共区域清洁维护、设施设备(电梯/水电/绿化)检修、秩序安全管理,及应急事件响应、活动组织等日常事务。\n &nbsp;&nbsp;&nbsp;&nbsp;我们始终以\"用心服务、共建美好\"为宗旨,欢迎大家监督并提出改进建议。感谢您的理解与配合,让我们携手维护舒心的园区环境!" "content": "您好!\n &nbsp;&nbsp;&nbsp;&nbsp;物业服务中心是小区专属服务团队,核心服务包括:物业费收缴、公共区域清洁维护、设施设备(电梯/水电/绿化)检修、秩序安全管理,及应急事件响应、活动组织等日常事务。\n &nbsp;&nbsp;&nbsp;&nbsp;我们始终以\"用心服务、共建美好\"为宗旨,欢迎大家监督并提出改进建议。感谢您的理解与配合,让我们携手维护舒心的园区环境!"
}, },
{ {
"id": 2, "id": 2,
"title": "物业缴费", "title": "物业缴费",
"content": "各位业主:\n &nbsp;&nbsp;&nbsp;&nbsp;为简化缴费流程,提升服务效率,物业已上线\"线上+线下\"一体化缴费功能,支持岁银、车位费、公共能耗费等各类费用便捷缴纳,具体使用说明如下:\n一、线上缴费推荐\n &nbsp;&nbsp;&nbsp;&nbsp;1. 小程序端操作:打开物业专属小程序,进入\"我的-物业缴费\"页面,系统将自动展示您需缴纳的费用账单(含费用类型、金额、缴费周期等明细);确认账单无误后,选择微信支付,点击\"确认缴费\"即可完成。\n &nbsp;&nbsp;&nbsp;&nbsp;2. 账单查询:在缴费页面点击\"缴费记录\",可查看缴费明细(含缴费时间、金额、凭证号)。\n二、线下缴费备用\n若您偏好线下办理可前往物业前台通过现金、银行卡、移动支付微信/支付宝扫码)完成缴费。" "content": "各位业主:\n &nbsp;&nbsp;&nbsp;&nbsp;为简化缴费流程,提升服务效率,物业已上线\"线上+线下\"一体化缴费功能,支持物业费、车位费、公共能耗费等各类费用便捷缴纳,具体使用说明如下:\n一、线上缴费推荐\n &nbsp;&nbsp;&nbsp;&nbsp;1. 小程序端操作:打开物业专属小程序,进入\"我的-物业缴费\"页面,系统将自动展示您需缴纳的费用账单(含费用类型、金额、缴费周期等明细);确认账单无误后,选择微信支付,点击\"确认缴费\"即可完成。\n &nbsp;&nbsp;&nbsp;&nbsp;2. 账单查询:在缴费页面点击\"缴费记录\",可查看缴费明细(含缴费时间、金额、凭证号)。\n二、线下缴费备用\n若您偏好线下办理可前往物业前台通过现金、银行卡、移动支付微信/支付宝扫码)完成缴费。"
}, },
{ {
"id": 3, "id": 3,
"title": "岁银", "title": "物业费",
"content": "各位业主:\n &nbsp;&nbsp;&nbsp;&nbsp;上线\"岁银\"功能,其核心规则与使用方式如下,覆盖所有房产通用场景:\n一、岁银的获取方式\n &nbsp;&nbsp;&nbsp;&nbsp;通过周边合作门店消费,即可获得岁银\n二、跨房产通用一份公积金多房产可用\n &nbsp;&nbsp;&nbsp;&nbsp;您的个人岁银不绑定单一房产可通用至您已加入的所有房产。例如您的个人公积金既可抵扣A小区的岁银也可抵扣您加入的B小区的水电费、C小区的燃气费无需额外转移或申请。\n三、查询与透明化\n &nbsp;&nbsp;&nbsp;&nbsp;在物业平台\"我的-岁银\"页面,可实时查看:个人公积金余额、所属房产的总额、抵扣记录(含抵扣房产、金额、个人扣除份额),确保每笔使用清晰可溯。" "content": "各位业主:\n &nbsp;&nbsp;&nbsp;&nbsp;上线\"物业费\"功能,其核心规则与使用方式如下,覆盖所有房产通用场景:\n一、物业费的获取方式\n &nbsp;&nbsp;&nbsp;&nbsp;通过周边合作门店消费,即可获得物业费\n二、跨房产通用一份公积金多房产可用\n &nbsp;&nbsp;&nbsp;&nbsp;您的个人物业费不绑定单一房产可通用至您已加入的所有房产。例如您的个人公积金既可抵扣A小区的物业费也可抵扣您加入的B小区的水电费、C小区的燃气费无需额外转移或申请。\n三、查询与透明化\n &nbsp;&nbsp;&nbsp;&nbsp;在物业平台\"我的-物业费\"页面,可实时查看:个人公积金余额、所属房产的总额、抵扣记录(含抵扣房产、金额、个人扣除份额),确保每笔使用清晰可溯。"
}, },
{ {
"id": 4, "id": 4,

View File

@ -234,7 +234,7 @@ image {
.active2::after { .active2::after {
content: ''; content: '';
background: url(https://static.hshuishang.com/property-img-file/com_active.png) no-repeat; background: url(https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_active.png) no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
width: 52rpx; width: 52rpx;
height: 22rpx; height: 22rpx;

View File

@ -1,7 +1,7 @@
<template> <template>
<view class="container"> <view class="container">
<!-- <view class="empty" v-if="communityList.length == 0"> <!-- <view class="empty" v-if="communityList.length == 0">
<image src="https://static.hshuishang.com/property-img-file/com_newEmpty.png" alt="" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_newEmpty.png" alt="" />
<text>当前账户未绑定任何项目房源信息</text> <text>当前账户未绑定任何项目房源信息</text>
<button class="emptyBtn" @click="addCommunity">新增房产绑定</button> <button class="emptyBtn" @click="addCommunity">新增房产绑定</button>
</view> --> </view> -->
@ -17,7 +17,7 @@
<view class="swiperBox_no1"> <view class="swiperBox_no1">
<swiper @animationfinish="swipers" autoplay circular> <swiper @animationfinish="swipers" autoplay circular>
<image src="https://static.hshuishang.com/community_no_image1.png" mode="aspectFill" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/community_no_image1.png" mode="aspectFill"
class="swiperBox_no_img" @click="addCommunity" /> class="swiperBox_no_img" @click="addCommunity" />
</swiper> </swiper>
@ -30,7 +30,7 @@
<view class="swiperBox_no2"> <view class="swiperBox_no2">
<swiper @animationfinish="swipers" autoplay circular> <swiper @animationfinish="swipers" autoplay circular>
<image src="https://static.hshuishang.com/community_no_image2.png" mode="aspectFill" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/community_no_image2.png" mode="aspectFill"
class="swiperBox_no_img" @click="addCommunity" /> class="swiperBox_no_img" @click="addCommunity" />
</swiper> </swiper>
</view> </view>
@ -73,7 +73,7 @@
</view> </view>
</view> </view>
<view class="swiperBox1" v-if="bannerList.length > 0"> <view class="swiperBox1">
<swiper @animationfinish="swipers" autoplay circular> <swiper @animationfinish="swipers" autoplay circular>
<swiper-item v-for="(item, index) in bannerList" :key="index" @click="headerServerClick(item)"> <swiper-item v-for="(item, index) in bannerList" :key="index" @click="headerServerClick(item)">
<image :src="item.ad_picture" mode="aspectFill" /> <image :src="item.ad_picture" mode="aspectFill" />
@ -87,20 +87,7 @@
</view> </view>
</view> </view>
<view class="swiperBox_no1" v-else> <view class="swiperBox2">
<swiper @animationfinish="swipers" autoplay circular>
<image src="https://static.hshuishang.com/community_no_image1.png" mode="aspectFill"
class="swiperBox_no_img" />
</swiper>
<view class="dot">
<view :class="['dotItem', currentIdx == index ? 'active' : '']" v-for="(item, index) in bannerList"
:key="index">
</view>
</view>
</view>
<view class="swiperBox2" v-if="streamerList.length > 0">
<swiper @animationfinish="swipers" autoplay circular> <swiper @animationfinish="swipers" autoplay circular>
<swiper-item v-for="(item, index) in streamerList" :key="index" @click="headerServerClick(item)"> <swiper-item v-for="(item, index) in streamerList" :key="index" @click="headerServerClick(item)">
<image :src="item.ad_picture" mode="aspectFill" class="swiperBox2_img" /> <image :src="item.ad_picture" mode="aspectFill" class="swiperBox2_img" />
@ -108,13 +95,6 @@
</swiper> </swiper>
</view> </view>
<view class="swiperBox_no2" v-else>
<swiper @animationfinish="swipers" autoplay circular>
<image src="https://static.hshuishang.com/community_no_image2.png" mode="aspectFill"
class="swiperBox_no_img" />
</swiper>
</view>
<view class="funcList"> <view class="funcList">
<u-grid :col="rowNum" :border="false"> <u-grid :col="rowNum" :border="false">
<u-grid-item v-for="(item, index) in functionList" @click="jump(item.mini_program_url)" :key="index"> <u-grid-item v-for="(item, index) in functionList" @click="jump(item.mini_program_url)" :key="index">
@ -179,7 +159,7 @@
</swiper> </swiper>
</view> </view>
<view class="close" @click="closeAds"> <view class="close" @click="closeAds">
<image src="https://static.hshuishang.com/property-img-file/com_close.png"> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_close.png">
</image> </image>
</view> </view>
</view> </view>
@ -238,43 +218,43 @@ export default {
functionList: [], functionList: [],
noValFunctionList: [ noValFunctionList: [
{ {
nav_icon: 'https://static.hshuishang.com/noValFunction1.png', nav_icon: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/noValFunction1.png',
nav_name: "物业介绍", nav_name: "物业介绍",
}, },
{ {
nav_icon: 'https://static.hshuishang.com/noValFunction2.png', nav_icon: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/noValFunction2.png',
nav_name: "物业缴费", nav_name: "物业缴费",
}, },
{ {
nav_icon: 'https://static.hshuishang.com/noValFunction3.png', nav_icon: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/noValFunction3.png',
nav_name: "岁银", nav_name: "物业费",
}, },
{ {
nav_icon: 'https://static.hshuishang.com/noValFunction1.png', nav_icon: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/noValFunction1.png',
nav_name: "物业报修", nav_name: "物业报修",
}, },
{ {
nav_icon: 'https://static.hshuishang.com/noValFunction4.png', nav_icon: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/noValFunction4.png',
nav_name: "便民电话", nav_name: "便民电话",
}, },
{ {
nav_icon: 'https://static.hshuishang.com/noValFunction5.png', nav_icon: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/noValFunction5.png',
nav_name: "人脸门禁", nav_name: "人脸门禁",
}, },
{ {
nav_icon: 'https://static.hshuishang.com/noValFunction6.png', nav_icon: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/noValFunction6.png',
nav_name: "手机开门", nav_name: "手机开门",
}, },
{ {
nav_icon: 'https://static.hshuishang.com/noValFunction7.png', nav_icon: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/noValFunction7.png',
nav_name: "物业活动", nav_name: "物业活动",
}, },
{ {
nav_icon: 'https://static.hshuishang.com/noValFunction8.png', nav_icon: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/noValFunction8.png',
nav_name: "访客邀请", nav_name: "访客邀请",
}, },
{ {
nav_icon: 'https://static.hshuishang.com/noValFunction10.png', nav_icon: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/noValFunction10.png',
nav_name: "场地预约", nav_name: "场地预约",
}, },
], ],
@ -337,7 +317,7 @@ export default {
is_published: 1, is_published: 1,
jump_target: 1, jump_target: 1,
mini_program_url: "/packages/community/repairList/index", mini_program_url: "/packages/community/repairList/index",
nav_icon: "https://static.hshuishang.com/noValFunction1.png", nav_icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/noValFunction1.png",
nav_name: "报事报修", nav_name: "报事报修",
other_appid: "", other_appid: "",
other_path: "", other_path: "",
@ -351,7 +331,7 @@ export default {
is_published: 1, is_published: 1,
jump_target: 1, jump_target: 1,
mini_program_url: "/packages/community/propertyPayment/index", mini_program_url: "/packages/community/propertyPayment/index",
nav_icon: "https://static.hshuishang.com/noValFunction2.png", nav_icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/noValFunction2.png",
nav_name: "物业缴费", nav_name: "物业缴费",
other_appid: "", other_appid: "",
other_path: "", other_path: "",
@ -365,8 +345,8 @@ export default {
is_published: 1, is_published: 1,
jump_target: 1, jump_target: 1,
mini_program_url: "/packages/community/providentFund/index", mini_program_url: "/packages/community/providentFund/index",
nav_icon: "https://static.hshuishang.com/noValFunction3.png", nav_icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/noValFunction3.png",
nav_name: "岁银", nav_name: "物业费",
other_appid: "", other_appid: "",
other_path: "", other_path: "",
sort: 2, sort: 2,

View File

@ -1,7 +1,7 @@
<template> <template>
<view class="community-list-container"> <view class="community-list-container">
<view class="top"> <view class="top">
<image src="https://static.hshuishang.com/communityTopImg.png" mode=""></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/communityTopImg.png" mode=""></image>
</view> </view>
<view class="community-list"> <view class="community-list">
<view class="community-item-box" v-for="(item, index) in communityList" :key="index"> <view class="community-item-box" v-for="(item, index) in communityList" :key="index">
@ -30,7 +30,7 @@
</view> </view>
<view class="community-address"> <view class="community-address">
<image id="local" <image id="local"
src="https://static.hshuishang.com/property-img-file/local_localIcon.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_localIcon.png"
mode="aspectFill"></image> mode="aspectFill"></image>
<view class="community-address-text">{{ item.addr }}</view> <view class="community-address-text">{{ item.addr }}</view>
</view> </view>
@ -62,7 +62,7 @@ export default {
hasMoreData: true, hasMoreData: true,
isLoading: false, isLoading: false,
tencentMapKey: '55NBZ-MUQYW-EAJRL-YIWPA-ZXCR6-4NBPP', // API Key tencentMapKey: '55NBZ-MUQYW-EAJRL-YIWPA-ZXCR6-4NBPP', // API Key
defaultCommunityImage: 'https://static.hshuishang.com/community_no_image3.png' // defaultCommunityImage: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/community_no_image3.png' //
}; };
}, },
methods: { methods: {

View File

@ -12,7 +12,7 @@
<view class="empty" v-if="communityList.length == 0"> <view class="empty" v-if="communityList.length == 0">
<view class="emptyTitle">绑定房源</view> <view class="emptyTitle">绑定房源</view>
<view class="emptyMsg">请绑定房源信息 以便使用其他功能</view> <view class="emptyMsg">请绑定房源信息 以便使用其他功能</view>
<image src="https://static.hshuishang.com/community_no_image3.png" alt="" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/community_no_image3.png" alt="" />
</view> </view>
<view class="communityList"> <view class="communityList">
@ -30,9 +30,9 @@
</view> </view>
</view> </view>
<view class="communityItem_right"> <view class="communityItem_right">
<image src="https://static.hshuishang.com/property-img-file/com_check1.png" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_check1.png"
v-if="item.community_id != currentCommunity.id"></image> v-if="item.community_id != currentCommunity.id"></image>
<image src="https://static.hshuishang.com/property-img-file/com_check2.png" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_check2.png"
v-if="item.community_id == currentCommunity.id"></image> v-if="item.community_id == currentCommunity.id"></image>
</view> </view>
</view> </view>

View File

@ -25,7 +25,7 @@
</view> </view>
<view class="add" @click="addCar"> <view class="add" @click="addCar">
<image src="https://static.hshuishang.com/ConvenServer/addCar.png" mode="widthFix"/> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/ConvenServer/addCar.png" mode="widthFix"/>
</view> </view>
</view> </view>
</template> </template>

View File

@ -307,7 +307,7 @@ page {
content: ''; content: '';
width: 52rpx; width: 52rpx;
height: 22rpx; height: 22rpx;
background: url(https://static.hshuishang.com/property-img-file/com_active.png); background: url(https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_active.png);
background-size: cover; background-size: cover;
position: absolute; position: absolute;
left: 50%; left: 50%;

View File

@ -8,7 +8,7 @@
<div class="myRealEstate"> <div class="myRealEstate">
<div class="myRealEstates"> <div class="myRealEstates">
<image src="https://static.hshuishang.com/property-img-file/com_communityNav.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communityNav.png" mode="aspectFill"></image>
<div class="name">滏阳锦苑</div> <div class="name">滏阳锦苑</div>
<div class="Visitor">访客身份 点击立即入驻本社区</div> <div class="Visitor">访客身份 点击立即入驻本社区</div>
</div> </div>
@ -25,7 +25,7 @@
<div class="ConList"> <div class="ConList">
<div class="ConItem" v-for="item in 3" @click="desc"> <div class="ConItem" v-for="item in 3" @click="desc">
<div class="ConItem_left"> <div class="ConItem_left">
<image src="https://static.hshuishang.com/property-img-file/com_act2Img.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_act2Img.png" mode="aspectFill"></image>
</div> </div>
<div class="ConItem_right"> <div class="ConItem_right">
<div class="ConItem_right_tit">关于小区停车场治理通告</div> <div class="ConItem_right_tit">关于小区停车场治理通告</div>

View File

@ -128,7 +128,7 @@ page {
bottom: -2rpx; bottom: -2rpx;
width: 30rpx; width: 30rpx;
height: 30rpx; height: 30rpx;
background: url(https://static.hshuishang.com/property-img-file/com_activeIcon.png); background: url(https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_activeIcon.png);
background-size: 100% 100%; background-size: 100% 100%;
} }

View File

@ -65,7 +65,7 @@
<u-upload :fileList="imgList" name="imgList" @afterRead="afterReadImg" @delete="deletePic" multiple <u-upload :fileList="imgList" name="imgList" @afterRead="afterReadImg" @delete="deletePic" multiple
:maxCount="5"> :maxCount="5">
<view class="imgCon"> <view class="imgCon">
<image src="https://static.hshuishang.com/property-img-file/com_imageImg.png" mode="widthFix"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_imageImg.png" mode="widthFix"></image>
上传图片 上传图片
</view> </view>
</u-upload> </u-upload>
@ -78,7 +78,7 @@
<u-upload v-if="!videoList.url" :fileList="videoList" @afterRead="afterReadVideo" @delete="deleteVideo" name="videoList" <u-upload v-if="!videoList.url" :fileList="videoList" @afterRead="afterReadVideo" @delete="deleteVideo" name="videoList"
:maxCount="1" accept="video"> :maxCount="1" accept="video">
<view class="imgCon"> <view class="imgCon">
<image src="https://static.hshuishang.com/property-img-file/com_videoImg.png" mode="widthFix"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_videoImg.png" mode="widthFix"></image>
上传视频 上传视频
</view> </view>
</u-upload> </u-upload>

View File

@ -4,7 +4,7 @@
<view class="searchIpt"> <view class="searchIpt">
<input type="text" placeholder="社区名称/业主姓名/业主手机" placeholder-style="color: #999999;font-size: 24rpx;" <input type="text" placeholder="社区名称/业主姓名/业主手机" placeholder-style="color: #999999;font-size: 24rpx;"
:value="search" @input="search" /> :value="search" @input="search" />
<image class="sear_icon" src="https://static.hshuishang.com/water_filter/dervice/deriveSearch.png" <image class="sear_icon" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/water_filter/dervice/deriveSearch.png"
mode="" /> mode="" />
</view> </view>
</view> </view>

View File

@ -131,7 +131,7 @@ image {
position: absolute; position: absolute;
right: 8rpx; right: 8rpx;
top: 23rpx; top: 23rpx;
background: url(https://static.hshuishang.com/property-img-file/com_jfImg.png) no-repeat; background: url(https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_jfImg.png) no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
} }

View File

@ -8,7 +8,7 @@
<view class="community"> <view class="community">
<view class="community_left"> <view class="community_left">
<image mode="aspectFill" src="https://static.hshuishang.com/property-img-file/test.png" <image mode="aspectFill" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/test.png"
alt="" /> alt="" />
</view> </view>
<view class="community_right" @click="changeShow"> <view class="community_right" @click="changeShow">
@ -35,7 +35,7 @@
<view class="homeMoney" v-if="active == 0"> <view class="homeMoney" v-if="active == 0">
<view class="homeMoney_box"> <view class="homeMoney_box">
<view class="homeMoney_box_left"> <view class="homeMoney_box_left">
<view class="homeMoney_box_left1">岁银</view> <view class="homeMoney_box_left1">物业费</view>
<view class="homeMoney_box_left2">可抵扣账户金额</view> <view class="homeMoney_box_left2">可抵扣账户金额</view>
</view> </view>
<view class="homeMoney_box_right"> <view class="homeMoney_box_right">
@ -102,7 +102,7 @@
<view class="PayTypeItem_left"> <view class="PayTypeItem_left">
<view class="PayTypeItem_img"> <view class="PayTypeItem_img">
<image mode="aspectFill" <image mode="aspectFill"
src="https://static.hshuishang.com/property-img-file/com_wechat.png" alt="" /> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_wechat.png" alt="" />
</view> </view>
<view class="PayTypeItem_con"> <view class="PayTypeItem_con">
<view class="PayTypeItem_con_tit">微信支付</view> <view class="PayTypeItem_con_tit">微信支付</view>
@ -119,10 +119,10 @@
<view class="PayTypeItem_left"> <view class="PayTypeItem_left">
<view class="PayTypeItem_img"> <view class="PayTypeItem_img">
<image mode="aspectFill" <image mode="aspectFill"
src="https://static.hshuishang.com/property-img-file/com_homeMoney.png" alt="" /> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_homeMoney.png" alt="" />
</view> </view>
<view class="PayTypeItem_con"> <view class="PayTypeItem_con">
<view class="PayTypeItem_con_tit">岁银支付</view> <view class="PayTypeItem_con_tit">物业费支付</view>
<view class="PayTypeItem_con_msg"> <view class="PayTypeItem_con_msg">
可用公积金<span></span>{{ balanceMoney }} 可用公积金<span></span>{{ balanceMoney }}
<view class="PayTypeItem_con_msg2" @click="changeShow2"> <view class="PayTypeItem_con_msg2" @click="changeShow2">
@ -174,7 +174,7 @@
</view> </view>
<view class="row"> <view class="row">
<view class="row_label">岁银抵扣金额</view> <view class="row_label">物业费抵扣金额</view>
<view class="row_con4">-{{ item.property_housing_fund }}</view> <view class="row_con4">-{{ item.property_housing_fund }}</view>
</view> </view>
@ -228,7 +228,7 @@
<view class="banlenceItem"> <view class="banlenceItem">
<view class="banlenceItem_left"> <view class="banlenceItem_left">
<image mode="aspectFill" <image mode="aspectFill"
src="https://static.hshuishang.com/property-img-file/com_wechat.png" alt="" /> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_wechat.png" alt="" />
微信支付 微信支付
</view> </view>
<view class="banlenceItem_right"> <view class="banlenceItem_right">
@ -239,8 +239,8 @@
<view class="banlenceItem"> <view class="banlenceItem">
<view class="banlenceItem_left"> <view class="banlenceItem_left">
<image mode="aspectFill" <image mode="aspectFill"
src="https://static.hshuishang.com/property-img-file/com_homeMoney.png" alt="" /> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_homeMoney.png" alt="" />
岁银支付 物业费支付
</view> </view>
<view class="banlenceItem_right"> <view class="banlenceItem_right">
<span></span>{{ balanceMoney > currentMoney ? currentMoney : balanceMoney }} <span></span>{{ balanceMoney > currentMoney ? currentMoney : balanceMoney }}
@ -249,7 +249,7 @@
</view> </view>
<view class="btn" @click="createPay"> <view class="btn" @click="createPay">
岁银+微信支付 <span></span>{{ currentMoney }} 物业费+微信支付 <span></span>{{ currentMoney }}
</view> </view>
</view> </view>
</view> </view>
@ -611,9 +611,9 @@ export default {
if (this.payType == 1) { if (this.payType == 1) {
name_mini = "微信"; name_mini = "微信";
} else if (this.payType == 2) { } else if (this.payType == 2) {
name_mini = "岁银"; name_mini = "物业费";
} else { } else {
name_mini = "微信 + 岁银"; name_mini = "微信 + 物业费";
} }
if (!this.currentMoney) { if (!this.currentMoney) {
return uni.showToast({ return uni.showToast({
@ -674,7 +674,7 @@ export default {
// //
if (isComboPay && (payParams.money != 0.00 || payParams.money != 0)) { if (isComboPay && (payParams.money != 0.00 || payParams.money != 0)) {
this.payType = 3; this.payType = 3;
name_mini = "微信 + 岁银"; name_mini = "微信 + 物业费";
} }
payParams.name_mini = name_mini; payParams.name_mini = name_mini;
@ -682,7 +682,7 @@ export default {
if (this.payType == 2) { if (this.payType == 2) {
uni.showModal({ uni.showModal({
title: '提示', title: '提示',
content: '确定使用岁银支付?', content: '确定使用物业费支付?',
success: async (res) => { success: async (res) => {
if (res.confirm) { if (res.confirm) {
await request(apiArr.createPayOrder, "POST", payParams).then((res) => { await request(apiArr.createPayOrder, "POST", payParams).then((res) => {
@ -799,7 +799,7 @@ export default {
}); });
}, },
// //
more(item) { more(item) {
NavgateTo(`../providentFund/index?item=${JSON.stringify(item)}`); NavgateTo(`../providentFund/index?item=${JSON.stringify(item)}`);
}, },

View File

@ -3,7 +3,7 @@ page {
} }
.container { .container {
.container_body { .container_body {
background: url("https://static.hshuishang.com/property-img-file/community_providentFund_Group_1523.png") no-repeat; background: url("https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/community_providentFund_Group_1523.png") no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
} }
.title { .title {

View File

@ -8,7 +8,7 @@
:autoBack="true" :autoBack="true"
/> />
<view class="container_body" :style="{ paddingTop: top + 'px' }"> <view class="container_body" :style="{ paddingTop: top + 'px' }">
<view class="title">岁银</view> <view class="title">物业费</view>
<view class="title_bottom"> <view class="title_bottom">
<view>{{ getTotal(list.owners) }}</view> <view>{{ getTotal(list.owners) }}</view>
<u-icon <u-icon
@ -49,7 +49,7 @@
</view> </view>
<view class="item"> <view class="item">
<view class="label fix"> <view class="label fix">
<text>岁银总余额</text> <text>物业费总余额</text>
<u-icon <u-icon
name="info-circle-fill" name="info-circle-fill"
size="30rpx" size="30rpx"
@ -90,13 +90,13 @@
<image <image
v-if="item.checked" v-if="item.checked"
class="pic" class="pic"
src="https://static.hshuishang.com/property-img-file/community_providentFund_Group_1444.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/community_providentFund_Group_1444.png"
mode="scaleToFill" mode="scaleToFill"
/> />
<image <image
v-else v-else
class="pic" class="pic"
src="https://static.hshuishang.com/property-img-file/community_providentFund_Ellipse_160.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/community_providentFund_Ellipse_160.png"
mode="scaleToFill" mode="scaleToFill"
/> />
</view> </view>
@ -124,8 +124,8 @@ export default {
moeny: "0.00", moeny: "0.00",
show: false, show: false,
ownerDesc: ownerDesc:
"本房产的岁银为该房产的所有成员岁银总和。无需经过成员同意便可用于本房产的岁银抵扣,一旦成功抵扣,成员所拥有的岁银将自动进行扣除。", "本房产的物业费为该房产的所有成员物业费总和。无需经过成员同意便可用于本房产的物业费抵扣,一旦成功抵扣,成员所拥有的物业费将自动进行扣除。",
desc: "岁银可通用至您加入的所有房产,任一房产的物业相关费用均可用该岁银抵扣。", desc: "物业费可通用至您加入的所有房产,任一房产的物业相关费用均可用该物业费抵扣。",
defaultName: "", defaultName: "",
list: [], list: [],
houseList: [], houseList: [],

View File

@ -61,7 +61,7 @@
content: ''; content: '';
width: 52rpx; width: 52rpx;
height: 22rpx; height: 22rpx;
background: url(https://static.hshuishang.com/property-img-file/com_active.png); background: url(https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_active.png);
background-size: cover; background-size: cover;
position: absolute; position: absolute;
left: 50%; left: 50%;

View File

@ -71,7 +71,7 @@
</view> </view>
<view v-if="list.length == 0" class="empty"> <view v-if="list.length == 0" class="empty">
<image src="https://static.hshuishang.com/property-img-file/com_nearbyList_empty.png" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_nearbyList_empty.png"
mode="aspectFill"></image> mode="aspectFill"></image>
暂无数据 暂无数据
</view> </view>
@ -188,11 +188,6 @@ export default {
}, },
}, },
onShow() {
this.init();
this.getTabsList();
},
onLoad(options) { onLoad(options) {
const meun = menuButtonInfo(); const meun = menuButtonInfo();
this.top = meun.top; this.top = meun.top;

View File

@ -88,17 +88,17 @@
} }
.tabItem1 { .tabItem1 {
background: url(https://static.hshuishang.com/property-img-file/com_tabBg1.png); background: url(https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_tabBg1.png);
background-size: cover; background-size: cover;
} }
.tabItem2 { .tabItem2 {
background: url(https://static.hshuishang.com/property-img-file/com_tabBg2.png); background: url(https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_tabBg2.png);
background-size: cover; background-size: cover;
} }
.tabItem3 { .tabItem3 {
background: url(https://static.hshuishang.com/property-img-file/com_tabBg3.png); background: url(https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_tabBg3.png);
background-size: cover; background-size: cover;
} }

View File

@ -75,128 +75,128 @@ export default {
return { return {
functionList: [ functionList: [
{ {
icon: "https://static.hshuishang.com/property-img-file/com_serverIcon1.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_serverIcon1.png",
name: "业主入驻", name: "业主入驻",
url: "" url: ""
}, },
{ {
icon: "https://static.hshuishang.com/property-img-file/com_serverIcon2.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_serverIcon2.png",
name: "我的房产", name: "我的房产",
url: "" url: ""
}, },
{ {
icon: "https://static.hshuishang.com/property-img-file/com_serverIcon3.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_serverIcon3.png",
name: "生活缴费", name: "生活缴费",
url: "weixin://dl/business/?t=WvQ1ZJv0J5Z" url: "weixin://dl/business/?t=WvQ1ZJv0J5Z"
}, },
{ {
icon: "https://static.hshuishang.com/property-img-file/com_serverIcon4.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_serverIcon4.png",
name: "便民服务", name: "便民服务",
url: "" url: ""
}, },
{ {
icon: "https://static.hshuishang.com/property-img-file/com_serverIcon5.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_serverIcon5.png",
name: "岁银", name: "物业费",
url: "" url: ""
}, },
{ {
icon: "https://static.hshuishang.com/property-img-file/com_serverIcon6.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_serverIcon6.png",
name: "社区互动", name: "社区互动",
url: "" url: ""
}, },
{ {
icon: "https://static.hshuishang.com/property-img-file/com_serverIcon7.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_serverIcon7.png",
name: "岁银", name: "物业费",
url: "" url: ""
}, },
{ {
icon: "https://static.hshuishang.com/property-img-file/com_serverIcon8.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_serverIcon8.png",
name: "物业服务", name: "物业服务",
url: "" url: ""
}, },
{ {
icon: "https://static.hshuishang.com/property-img-file/com_serverIcon9.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_serverIcon9.png",
name: "报事报修", name: "报事报修",
url: "" url: ""
}, },
{ {
icon: "https://static.hshuishang.com/property-img-file/com_serverIcon10.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_serverIcon10.png",
name: "物业缴费", name: "物业缴费",
url: "" url: ""
}, },
{ {
icon: "https://static.hshuishang.com/property-img-file/com_serverIcon11.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_serverIcon11.png",
name: "纠纷调解", name: "纠纷调解",
url: "" url: ""
}, },
{ {
icon: "https://static.hshuishang.com/property-img-file/com_serverIcon12.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_serverIcon12.png",
name: "社区管家", name: "社区管家",
url: "" url: ""
}, },
], ],
localList: [ localList: [
{ {
icon: "https://static.hshuishang.com/property-img-file/com_localIcon1.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_localIcon1.png",
name: "美食", name: "美食",
url: "" url: ""
}, },
{ {
icon: "https://static.hshuishang.com/property-img-file/com_localIcon2.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_localIcon2.png",
name: "家教", name: "家教",
url: "" url: ""
}, },
{ {
icon: "https://static.hshuishang.com/property-img-file/com_localIcon3.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_localIcon3.png",
name: "超市", name: "超市",
url: "" url: ""
}, },
{ {
icon: "https://static.hshuishang.com/property-img-file/com_localIcon4.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_localIcon4.png",
name: "健身", name: "健身",
url: "" url: ""
}, },
], ],
shopList: [ shopList: [
{ {
icon: "https://static.hshuishang.com/property-img-file/com_shopIcon1.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_shopIcon1.png",
name: "电商购物", name: "电商购物",
url: "" url: ""
}, },
{ {
icon: "https://static.hshuishang.com/property-img-file/com_shopIcon2.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_shopIcon2.png",
name: "社区团购", name: "社区团购",
url: "" url: ""
}, },
{ {
icon: "https://static.hshuishang.com/property-img-file/com_shopIcon3.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_shopIcon3.png",
name: "本地优选", name: "本地优选",
url: "" url: ""
}, },
{ {
icon: "https://static.hshuishang.com/property-img-file/com_shopIcon4.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_shopIcon4.png",
name: "社区拼团", name: "社区拼团",
url: "" url: ""
}, },
], ],
cardList: [ cardList: [
{ {
icon: "https://static.hshuishang.com/property-img-file/com_cardIcon1.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_cardIcon1.png",
name: "我的积分", name: "我的积分",
url: "" url: ""
}, },
{ {
icon: "https://static.hshuishang.com/property-img-file/com_cardIcon2.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_cardIcon2.png",
name: "积分兑换", name: "积分兑换",
url: "" url: ""
}, },
{ {
icon: "https://static.hshuishang.com/property-img-file/com_cardIcon3.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_cardIcon3.png",
name: "我的优惠卡", name: "我的优惠卡",
url: "" url: ""
}, },
{ {
icon: "https://static.hshuishang.com/property-img-file/com_cardIcon4.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_cardIcon4.png",
name: "我的会员卡", name: "我的会员卡",
url: "" url: ""
}, },

View File

@ -3,7 +3,7 @@
<view class="swiper"> <view class="swiper">
<swiper> <swiper>
<swiper-item> <swiper-item>
<image src="https://static.hshuishang.com/doorToDoor/door_img.png" mode="" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/door_img.png" mode="" />
</swiper-item> </swiper-item>
</swiper> </swiper>
</view> </view>
@ -29,25 +29,25 @@
<view class="serviceTagItem" @click="jump"> <view class="serviceTagItem" @click="jump">
<view class="serviceTagItem_name">家政保洁</view> <view class="serviceTagItem_name">家政保洁</view>
<view class="serviceTagItem_img1"> <view class="serviceTagItem_img1">
<image src="https://static.hshuishang.com/doorToDoor/hot1.png" mode="widthFix" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/hot1.png" mode="widthFix" />
</view> </view>
</view> </view>
<view class="serviceTagItem item2" @click="jump"> <view class="serviceTagItem item2" @click="jump">
<view class="serviceTagItem_name">专业保姆</view> <view class="serviceTagItem_name">专业保姆</view>
<view class="serviceTagItem_img2"> <view class="serviceTagItem_img2">
<image src="https://static.hshuishang.com/doorToDoor/hot2.png" mode="widthFix" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/hot2.png" mode="widthFix" />
</view> </view>
</view> </view>
<view class="serviceTagItem item3" @click="jump"> <view class="serviceTagItem item3" @click="jump">
<view class="serviceTagItem_name">家电维修</view> <view class="serviceTagItem_name">家电维修</view>
<view class="serviceTagItem_img3"> <view class="serviceTagItem_img3">
<image src="https://static.hshuishang.com/doorToDoor/hot3.png" mode="widthFix" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/hot3.png" mode="widthFix" />
</view> </view>
</view> </view>
<view class="serviceTagItem item4" @click="jump"> <view class="serviceTagItem item4" @click="jump">
<view class="serviceTagItem_name">搬家拉货</view> <view class="serviceTagItem_name">搬家拉货</view>
<view class="serviceTagItem_img4"> <view class="serviceTagItem_img4">
<image src="https://static.hshuishang.com/doorToDoor/hot4.png" mode="widthFix" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/hot4.png" mode="widthFix" />
</view> </view>
</view> </view>
</view> </view>
@ -65,7 +65,7 @@
<view class="item_tit_left">{{item.cate_name}}</view> <view class="item_tit_left">{{item.cate_name}}</view>
<view class="item_tit_right" @click="jump(item.cate_id)"> <view class="item_tit_right" @click="jump(item.cate_id)">
更多 更多
<image src="https://static.hshuishang.com/water_filter/filter_more.png" mode="" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/water_filter/filter_more.png" mode="" />
</view> </view>
</view> </view>
<view class="item_goodsList"> <view class="item_goodsList">
@ -123,55 +123,55 @@
return { return {
tabList:[{ tabList:[{
name:"服务中心", name:"服务中心",
img:'https://static.hshuishang.com/doorToDoor/door_icon1.png', img:'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/door_icon1.png',
url:"../ServiceMore/ServiceMore", url:"../ServiceMore/ServiceMore",
}, },
{ {
name:"家政保洁", name:"家政保洁",
img:'https://static.hshuishang.com/doorToDoor/door_icon2.png', img:'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/door_icon2.png',
url:"../ServiceMore/ServiceMore", url:"../ServiceMore/ServiceMore",
}, },
{ {
name:"衣物洗护", name:"衣物洗护",
img:'https://static.hshuishang.com/doorToDoor/door_icon3.png', img:'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/door_icon3.png',
url:"../ServiceMore/ServiceMore", url:"../ServiceMore/ServiceMore",
}, },
{ {
name:"家电维修", name:"家电维修",
img:'https://static.hshuishang.com/doorToDoor/door_icon4.png', img:'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/door_icon4.png',
url:"../ServiceMore/ServiceMore", url:"../ServiceMore/ServiceMore",
}, },
{ {
name:"跑腿服务", name:"跑腿服务",
img:'https://static.hshuishang.com/doorToDoor/door_icon5.png', img:'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/door_icon5.png',
url:"../ServiceMore/ServiceMore", url:"../ServiceMore/ServiceMore",
}, },
{ {
name:"养车用车", name:"养车用车",
img:'https://static.hshuishang.com/doorToDoor/door_icon6.png', img:'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/door_icon6.png',
url:"../ServiceMore/ServiceMore", url:"../ServiceMore/ServiceMore",
}, },
{ {
name:"保姆月嫂", name:"保姆月嫂",
img:'https://static.hshuishang.com/doorToDoor/door_icon7.png', img:'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/door_icon7.png',
url:"../ServiceMore/ServiceMore", url:"../ServiceMore/ServiceMore",
}, },
{ {
name:"家电清洗", name:"家电清洗",
img:'https://static.hshuishang.com/doorToDoor/door_icon8.png', img:'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/door_icon8.png',
url:"../ServiceMore/ServiceMore", url:"../ServiceMore/ServiceMore",
}, },
{ {
name:"搬家拉货", name:"搬家拉货",
img:'https://static.hshuishang.com/doorToDoor/door_icon9.png', img:'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/door_icon9.png',
url:"../ServiceMore/ServiceMore", url:"../ServiceMore/ServiceMore",
}, },
{ {
name:"家装维修", name:"家装维修",
img:'https://static.hshuishang.com/doorToDoor/door_icon10.png', img:'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/door_icon10.png',
url:"../ServiceMore/ServiceMore", url:"../ServiceMore/ServiceMore",
}, },
], ],

View File

@ -4,29 +4,29 @@
<view class="tit">请填写预约信息</view> <view class="tit">请填写预约信息</view>
<view class="row none" v-if="isreal == 1"> <view class="row none" v-if="isreal == 1">
<view class="row_tit"> <view class="row_tit">
<image src="https://static.hshuishang.com/doorToDoor/reser_icon1.png" mode="" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/reser_icon1.png" mode="" />
请选择上门时间 请选择上门时间
</view> </view>
<view class="row_con" @click="changeShow"> <view class="row_con" @click="changeShow">
{{time}} {{time}}
<image src="https://static.hshuishang.com/water_filter/filter_more.png" mode="" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/water_filter/filter_more.png" mode="" />
</view> </view>
</view> </view>
<view class="row none" v-if="isreal == 2"> <view class="row none" v-if="isreal == 2">
<view class="row_tit"> <view class="row_tit">
<image src="https://static.hshuishang.com/doorToDoor/reser_icon2.png" mode="" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/reser_icon2.png" mode="" />
请选择服务时间 请选择服务时间
</view> </view>
<view class="row_con" @click="changeShow2"> <view class="row_con" @click="changeShow2">
{{serTime}} {{serTime}}
<image src="https://static.hshuishang.com/water_filter/filter_more.png" mode="" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/water_filter/filter_more.png" mode="" />
</view> </view>
</view> </view>
<view class="gray"></view> <view class="gray"></view>
<view class="row"> <view class="row">
<view class="row_tit"> <view class="row_tit">
<image src="https://static.hshuishang.com/doorToDoor/reser_icon3.png" mode="" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/reser_icon3.png" mode="" />
联系人姓名 联系人姓名
</view> </view>
@ -44,7 +44,7 @@
</view> </view>
<view class="row"> <view class="row">
<view class="row_tit"> <view class="row_tit">
<image src="https://static.hshuishang.com/doorToDoor/reser_icon4.png" mode="" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/reser_icon4.png" mode="" />
联系人电话 联系人电话
</view> </view>
@ -62,18 +62,18 @@
</view> </view>
<view class="row"> <view class="row">
<view class="row_tit"> <view class="row_tit">
<image src="https://static.hshuishang.com/doorToDoor/reser_icon5.png" mode="" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/reser_icon5.png" mode="" />
请选择服务地址 请选择服务地址
</view> </view>
<view class="row_con" @click="changeArea"> <view class="row_con" @click="changeArea">
{{citys}} {{citys}}
<image src="https://static.hshuishang.com/water_filter/filter_more.png" mode="" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/water_filter/filter_more.png" mode="" />
</view> </view>
</view> </view>
<view class="row none"> <view class="row none">
<view class="row_tit"> <view class="row_tit">
<image src="https://static.hshuishang.com/doorToDoor/reser_icon5.png" mode="" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/reser_icon5.png" mode="" />
详细地址 详细地址
</view> </view>
@ -103,7 +103,7 @@
<view class="gray"></view> <view class="gray"></view>
<view class="row none"> <view class="row none">
<view class="row_tit2"> <view class="row_tit2">
<image src="https://static.hshuishang.com/doorToDoor/reser_icon6.png" mode="" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/reser_icon6.png" mode="" />
<input <input
type="text" type="text"
placeholder="给商家捎句话" placeholder="给商家捎句话"

View File

@ -19,7 +19,7 @@
<view class="item_left_msg_tit"> <view class="item_left_msg_tit">
{{item.title}} {{item.title}}
<view class="phone" @click="call"> <view class="phone" @click="call">
<image src="https://static.hshuishang.com/doorToDoor/phone.png" mode="widthFix" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/phone.png" mode="widthFix" />
</view> </view>
</view> </view>
<view class="item_left_msg_time">服务时间{{item.biz_time}}</view> <view class="item_left_msg_time">服务时间{{item.biz_time}}</view>

View File

@ -8,22 +8,22 @@
<view class="msg"> <view class="msg">
<view class="msg_left"> <view class="msg_left">
<view class="msg_left_1"> <view class="msg_left_1">
<image src="https://static.hshuishang.com/kitchen/kitchen_time.png" mode="" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/kitchen/kitchen_time.png" mode="" />
{{info.opening_time}}-{{info.closing_time}} {{info.opening_time}}-{{info.closing_time}}
<view>{{info.is_open === 1 ? '营业' :'停业'}}</view> <view>{{info.is_open === 1 ? '营业' :'停业'}}</view>
</view> </view>
<view class="msg_left_2"> <view class="msg_left_2">
<image src="https://static.hshuishang.com/kitchen/kitchen_add.png" mode="" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/kitchen/kitchen_add.png" mode="" />
{{info.addr}} {{info.addr}}
</view> </view>
</view> </view>
<view class="msg_right"> <view class="msg_right">
<view class="msg_right1" @click="call"> <view class="msg_right1" @click="call">
<image src="https://static.hshuishang.com/kitchen/kitchen_phone.png" mode="" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/kitchen/kitchen_phone.png" mode="" />
电话 电话
</view> </view>
<view class="msg_right2" @click="handleOptionClick"> <view class="msg_right2" @click="handleOptionClick">
<image src="https://static.hshuishang.com/kitchen/kitchen_add.png" mode="" /> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/kitchen/kitchen_add.png" mode="" />
导航 导航
</view> </view>
</view> </view>

View File

@ -1,279 +0,0 @@
/* addMer/index.css */
page {
padding-bottom: 0rpx;
}
.establish-acceptor-container {
padding: 0 30rpx;
min-height: 100vh;
}
.acceptor-form {
background-color: #fff;
border-radius: 12rpx;
padding: 30rpx;
}
.form-section {
margin-bottom: 40rpx;
}
.section-title {
font-size: 32rpx;
font-weight: 500;
color: #333;
margin-bottom: 24rpx;
padding-bottom: 12rpx;
border-bottom: 1px solid #eee;
}
.form-item {
margin-bottom: 32rpx;
position: relative;
}
.form-label {
display: block;
font-size: 28rpx;
color: #666;
margin-bottom: 12rpx;
}
.form-label.required::after {
content: '*';
color: #e64340;
margin-left: 4rpx;
}
.form-input {
width: 100%;
height: 88rpx;
padding: 0 24rpx;
font-size: 28rpx;
border: 1px solid #ddd;
border-radius: 8rpx;
box-sizing: border-box;
background-color: #fff;
}
.form-input:focus {
border-color: #007aff;
outline: none;
}
.form-input::placeholder {
color: #999;
}
/* 弹窗样式 */
.popup {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
display: flex;
justify-content: center;
align-items: center;
z-index: 999;
}
.popup-content {
width: 80%;
max-height: 70vh;
background-color: #fff;
border-radius: 10rpx;
overflow: hidden;
display: flex;
flex-direction: column;
}
.popup-title {
padding: 30rpx;
text-align: center;
font-size: 36rpx;
font-weight: bold;
border-bottom: 1rpx solid #eee;
}
.popup-list {
flex: 1;
overflow-y: auto;
max-height: 50vh;
}
.popup-item {
padding: 30rpx;
text-align: center;
border-bottom: 1rpx solid #eee;
font-size: 32rpx;
}
.popup-item:active {
background-color: #f5f5f5;
}
.popup-footer {
padding: 20rpx;
border-top: 1rpx solid #eee;
}
.popup-cancel-btn {
width: 100%;
padding: 0 20rpx;
background-color: #fff;
border: 1rpx solid #ddd;
border-radius: 8rpx;
font-size: 32rpx;
background-color: #007aff;
color: #ffffff;
}
/* 弹窗选择器样式 */
.popup-select {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 24rpx;
border: 1px solid #ddd;
border-radius: 8rpx;
background-color: #fff;
height: 88rpx;
font-size: 28rpx;
}
/* 附件上传样式 */
.attachment-section {
margin-top: 20rpx;
}
.attachment-item {
background-color: #f9f9f9;
border: 1px solid #eee;
border-radius: 8rpx;
padding: 24rpx;
margin-bottom: 24rpx;
}
.upload-btn {
width: 100%;
height: 80rpx;
background-color: #007aff;
color: #fff;
font-size: 28rpx;
border: none;
border-radius: 8rpx;
margin-top: 16rpx;
cursor: pointer;
}
.upload-btn:active {
background-color: #0051d5;
}
.file-info {
margin-top: 16rpx;
padding: 16rpx;
background-color: #e8f4ff;
border-radius: 8rpx;
font-size: 26rpx;
color: #007aff;
display: flex;
justify-content: space-between;
align-items: center;
}
.delete-btn {
padding: 0rpx 20rpx;
background-color: #e64340;
color: #fff;
border: none;
border-radius: 10rpx;
font-size: 24rpx;
cursor: pointer;
margin-right: 0rpx;
}
.delete-btn:active {
background-color: #c21f1c;
}
.add-attachment-btn {
width: 100%;
height: 80rpx;
background-color: #f0f0f0;
color: #666;
font-size: 28rpx;
border-radius: 8rpx;
margin-top: 16rpx;
cursor: pointer;
}
.add-attachment-btn:active {
background-color: #e0e0e0;
}
/* 提交按钮样式 */
.submit-section {
margin-top: 40rpx;
margin-bottom: 20rpx;
display: flex;
}
.submit-btn,
.submit-btn1 {
width: 100%;
height: 80rpx;
color: #fff;
font-size: 28rpx;
border-radius: 8rpx;
margin-top: 16rpx;
cursor: pointer;
box-shadow: 0 4rpx 12rpx rgba(0, 122, 255, 0.3);
}
.submit-btn {
background-color: #007aff;
margin-left: 5rpx;
}
.submit-btn1 {
background-color: #ff4016;
margin-right: 5rpx;
}
.submit-btn:active {
background-color: #0051d5;
transform: scale(0.98);
}
.submit-btn:disabled {
background-color: #b8d5ff;
cursor: not-allowed;
}
/* 输入框错误状态 */
.form-input.error {
border-color: #e64340;
}
/* 滚动条样式 */
::-webkit-scrollbar {
width: 8rpx;
height: 8rpx;
}
::-webkit-scrollbar-track {
background: #f1f1f1;
border-radius: 4rpx;
}
::-webkit-scrollbar-thumb {
background: #c1c1c1;
border-radius: 4rpx;
}
::-webkit-scrollbar-thumb:hover {
background: #a8a8a8;
}

View File

@ -1,789 +0,0 @@
<template>
<view class="establish-acceptor-container">
<form class="acceptor-form" @submit.prevent="submitForm">
<!-- 基本信息 -->
<view class="form-section">
<!-- <view class="form-item">
<label class="form-label required">商户ID</label>
<input type="number" class="form-input" v-model.number="formData.mch_id" placeholder="请输入商户ID"
required>
</view> -->
<view class="form-item">
<label class="form-label required">商户注册名称</label>
<input type="text" class="form-input" v-model="formData.merRegName"
placeholder="请输入商户注册名称长度不小于4个汉字8~40字符" required>
</view>
<view class="form-item">
<label class="form-label required">商户地区代码</label>
<input type="text" class="form-input" v-model="formData.merRegDistCode"
placeholder="请输入商户地区代码" required>
</view>
<view class="form-item">
<label class="form-label required">商户详细地址</label>
<input type="text" class="form-input" v-model="formData.merRegAddr"
placeholder="请输入去除省、市、区后的详细地址" required>
</view>
<view class="form-item">
<label class="form-label required">商户MCC编号</label>
<input type="text" class="form-input" v-model="formData.mccCode"
placeholder="请输入商户MCC编号" required>
</view>
<view class="form-item">
<label class="form-label">营业执照名称</label>
<input type="text" class="form-input" v-model="formData.merBlisName"
placeholder="请输入营业执照名称,小微商户可不传">
</view>
<view class="form-item">
<label class="form-label">营业执照号</label>
<input type="text" class="form-input" v-model="formData.merBlis" placeholder="请输入营业执照号,小微商户可不传">
</view>
<view class="form-item">
<label class="form-label">营业执照开始日期</label>
<input type="date" class="form-input" v-model="formData.merBlisStDt" placeholder="请选择营业执照开始日期">
</view>
<view class="form-item">
<label class="form-label">营业执照有效期</label>
<input type="date" class="form-input" v-model="formData.merBlisExpDt" placeholder="请选择营业执照有效期">
</view>
<view class="form-item">
<label class="form-label required">商户经营内容</label>
<input type="text" class="form-input" v-model="formData.merBusiContent"
placeholder="请输入商户经营内容" required>
</view>
</view>
<!-- 法人信息 -->
<view class="form-section">
<view class="form-item">
<label class="form-label required">商户法人姓名</label>
<input type="text" class="form-input" v-model="formData.larName" placeholder="请输入商户法人姓名" required>
</view>
<view class="form-item">
<label class="form-label required">法人证件类型</label>
<view class="popup-select" @click="showIdTypePopup = true">
<span>{{ selectedIdTypeLabel || '请选择法人证件类型' }}</span>
</view>
</view>
<view class="form-item">
<label class="form-label required">法人身份证号码</label>
<input type="text" class="form-input" v-model="formData.larIdcard" placeholder="请输入法人身份证号码"
required>
</view>
<view class="form-item">
<label class="form-label required">法人身份证开始日期</label>
<input type="date" class="form-input" v-model="formData.larIdcardStDt" placeholder="请选择法人身份证开始日期"
required>
</view>
<view class="form-item">
<label class="form-label required">法人身份证有效期</label>
<input type="date" class="form-input" v-model="formData.larIdcardExpDt" placeholder="请选择法人身份证有效期"
required>
</view>
</view>
<!-- 联系人信息 -->
<view class="form-section">
<view class="form-item">
<label class="form-label required">商户联系人姓名</label>
<input type="text" class="form-input" v-model="formData.merContactName" placeholder="请输入商户联系人姓名"
required>
</view>
<view class="form-item">
<label class="form-label required">商户联系人手机号码</label>
<input type="number" class="form-input" v-model="formData.merContactMobile"
placeholder="请输入商户联系人手机号码" required>
</view>
</view>
<!-- 结算账户信息 -->
<view class="form-section">
<view class="form-item">
<label class="form-label required">结算账户开户行号</label>
<input type="text" class="form-input" v-model="formData.openningBankCode" placeholder="请输入结算账户开户行号"
required>
</view>
<view class="form-item">
<label class="form-label required">结算账户开户行名称</label>
<input type="text" class="form-input" v-model="formData.openningBankName" placeholder="请输入结算账户开户行名称"
required>
</view>
<view class="form-item">
<label class="form-label required">结算账户清算行号</label>
<input type="text" class="form-input" v-model="formData.clearingBankCode" placeholder="请输入结算账户清算行号"
required>
</view>
<view class="form-item">
<label class="form-label required">结算账户账号</label>
<input type="text" class="form-input" v-model="formData.acctNo" placeholder="请输入结算账户账号" required>
</view>
<view class="form-item">
<label class="form-label required">结算账户名称</label>
<input type="text" class="form-input" v-model="formData.acctName" placeholder="请输入结算账户名称" required>
</view>
<view class="form-item">
<label class="form-label required">结算账户性质</label>
<view class="popup-select" @click="showAcctTypePopup = true">
<span>{{ selectedAcctTypeLabel || '请选择结算账户性质' }}</span>
</view>
</view>
<!-- 费率信息 -->
<view class="form-item">
<label class="form-label required">费率类型</label>
<input type="text" class="form-input" v-model="formData.feeData[0].feeRateTypeCode" placeholder="请输入费率类型" required>
</view>
<view class="form-item">
<label class="form-label required">费率类型名称</label>
<input type="text" class="form-input" v-model="formData.feeData[0].feeRateTypeName" placeholder="请输入费率类型名称" required>
</view>
<view class="form-item">
<label class="form-label required">手续费率(%)</label>
<input type="number" class="form-input" v-model="formData.feeData[0].feeRatePct" placeholder="请输入手续费率" step="0.01" required>
</view>
</view>
<!-- 附件上传 -->
<view class="form-section">
<h3 class="section-title">附件上传可选</h3>
<view class="attachment-section">
<view class="attachment-item" v-for="(file, index) in formData.fileData" :key="index">
<view class="form-item">
<label class="form-label">附件类型</label>
<view class="popup-select" @click="showFileAttachTypePopup = index">
<span>{{ getAttachTypeLabel(file.attType) || '请选择附件类型' }}</span>
</view>
</view>
<button class="upload-btn" @click="uploadFile(index)">上传文件</button>
<view v-if="file.attFileId" class="file-info">
<span>{{ file.attachName || '已上传文件' }}</span>
<button class="delete-btn" @click="removeFile(index)">删除</button>
</view>
</view>
<button class="add-attachment-btn" @click="addFile">添加附件</button>
</view>
</view>
<!-- 提交按钮 -->
<view class="form-section submit-section">
<button type="button" class="submit-btn1" @click="ecQuery">结果查询</button>
<button type="submit" class="submit-btn" @click="submitForm">提交申请</button>
</view>
</form>
<!-- 地区代码弹窗 -->
<view class="popup" v-if="showAreaPopup">
<view class="popup-content">
<view class="popup-title">选择商户地区代码</view>
<view class="popup-list">
<view class="popup-item" v-for="area in areaOptions" :key="area.value" @click="selectArea(area)">
{{ area.label }}
</view>
</view>
<view class="popup-footer">
<button class="popup-cancel-btn" @click="showAreaPopup = false">取消</button>
</view>
</view>
</view>
<!-- MCC编号弹窗 -->
<view class="popup" v-if="showMccPopup">
<view class="popup-content">
<view class="popup-title">选择商户MCC编号</view>
<view class="popup-list">
<view class="popup-item" v-for="mcc in mccOptions" :key="mcc.value" @click="selectMcc(mcc)">
{{ mcc.label }}
</view>
</view>
<view class="popup-footer">
<button class="popup-cancel-btn" @click="showMccPopup = false">取消</button>
</view>
</view>
</view>
<!-- 经营内容弹窗 -->
<view class="popup" v-if="showBusiContentPopup">
<view class="popup-content">
<view class="popup-title">选择商户经营内容</view>
<view class="popup-list">
<view class="popup-item" v-for="content in busiContentOptions" :key="content.value"
@click="selectBusiContent(content)">
{{ content.label }}
</view>
</view>
<view class="popup-footer">
<button class="popup-cancel-btn" @click="showBusiContentPopup = false">取消</button>
</view>
</view>
</view>
<!-- 法人证件类型弹窗 -->
<view class="popup" v-if="showIdTypePopup">
<view class="popup-content">
<view class="popup-title">选择法人证件类型</view>
<view class="popup-list">
<view class="popup-item" v-for="type in idTypeOptions" :key="type.value"
@click="selectIdType(type)">
{{ type.label }}
</view>
</view>
<view class="popup-footer">
<button class="popup-cancel-btn" @click="showIdTypePopup = false">取消</button>
</view>
</view>
</view>
<!-- 结算账户性质弹窗 -->
<view class="popup" v-if="showAcctTypePopup">
<view class="popup-content">
<view class="popup-title">选择结算账户性质</view>
<view class="popup-list">
<view class="popup-item" v-for="type in acctTypeOptions" :key="type.value"
@click="selectAcctType(type)">
{{ type.label }}
</view>
</view>
<view class="popup-footer">
<button class="popup-cancel-btn" @click="showAcctTypePopup = false">取消</button>
</view>
</view>
</view>
<!-- 文件附件类型弹窗 -->
<view class="popup" v-if="showFileAttachTypePopup >= 0">
<view class="popup-content">
<view class="popup-title">选择附件类型</view>
<view class="popup-list">
<view class="popup-item" v-for="type in fileAttachTypeOptions" :key="type.value"
@click="selectFileAttachType(showFileAttachTypePopup, type)">
{{ type.label }}
</view>
</view>
<view class="popup-footer">
<button class="popup-cancel-btn" @click="showFileAttachTypePopup = -1">取消</button>
</view>
</view>
</view>
</view>
</template>
<script>
import { picUrl, menuButtonInfo, request, NavgateTo, RequsetUrl } from "../../../utils";
import { apiArr } from "../../../api/contract";
export default {
data() {
return {
//
formData: {
mch_id: uni.getStorageSync('mchId'), // ID
merRegName: '', //
merRegDistCode: '', //
merRegAddr: '', //
mccCode: '', // MCC
merBlisName: '', //
merBlis: '', //
merBlisStDt: '', //
merBlisExpDt: '', //
merBusiContent: '', //
larName: '', //
larIdType: '', //
larIdcard: '', //
larIdcardStDt: '', //
larIdcardExpDt: '', //
merContactMobile: '', //
merContactName: '', //
openningBankCode: '', //
openningBankName: '', //
clearingBankCode: '', //
acctNo: '', //
acctName: '', //
acctTypeCode: '', //
feeData: [
{
feeRateTypeCode: "",
feeRateTypeName: "",
feeRatePct: ""
}
], //
fileData: [
{
attType: '',
attFileId: '',
attachName: ''
}
] //
},
//
showAreaPopup: false,
showMccPopup: false,
showBusiContentPopup: false,
showIdTypePopup: false,
showAcctTypePopup: false,
showFileAttachTypePopup: -1,
//
selectedAreaLabel: '',
selectedMccLabel: '',
selectedBusiContentLabel: '',
selectedIdTypeLabel: '',
selectedAcctTypeLabel: '',
// API
areaOptions: [
{ value: '110101', label: '北京市东城区' },
{ value: '110102', label: '北京市西城区' },
{ value: '310101', label: '上海市黄浦区' },
{ value: '310102', label: '上海市黄浦区' }
],
mccOptions: [
{ value: '5411', label: '大型超市' },
{ value: '5999', label: '其他零售商户' },
{ value: '7011', label: '住宿服务' },
{ value: '7221', label: '美容美发服务' }
],
busiContentOptions: [
{ value: 'GROCERY', label: '食品饮料' },
{ value: 'CLOTHING', label: '服装鞋帽' },
{ value: 'SERVICE', label: '生活服务' },
{ value: 'ENTERTAINMENT', label: '娱乐休闲' }
],
idTypeOptions: [
{ value: '01', label: '身份证' },
{ value: '02', label: '护照' },
{ value: '03', label: '港澳通行证' },
{ value: '04', label: '台胞证' },
{ value: '10', label: '外国人永久居留身份证' },
{ value: '11', label: '港澳居民居住证' },
{ value: '12', label: '台湾居民居住证' },
{ value: '13', label: '执行事务合伙人' },
{ value: '99', label: '其它证件' },
],
acctTypeOptions: [
{ value: '57', label: '对公' },
{ value: '58', label: '对私' }
],
fileAttachTypeOptions: [
{ value: 'FR_ID_CARD_FRONT', label: '法人身份证正面' },
{ value: 'FR_ID_CARD_BEHIND', label: '法人身份证反面' },
{ value: 'ID_CARD_FRONT', label: '结算人身份证正面' },
{ value: 'ID_CARD_BEHIND', label: '结算人身份证反面' },
{ value: 'BANK_CARD', label: '银行卡' },
{ value: 'BUSINESS_LICENCE', label: '营业执照' },
{ value: 'MERCHANT_PHOTO', label: '商户门头照' },
{ value: 'SHOPINNER', label: '商铺内部照片' },
{ value: 'XY', label: '线下纸质协议' },
{ value: 'NETWORK_XY', label: '电子协议' },
{ value: 'HT', label: '租赁合同' },
{ value: 'COOPERATION_QUALIFICATION_PROOF', label: '合作资质证明' },
{ value: 'FOOD_QUALIFICATION_PROOF', label: '食品经营相关资质' },
{ value: 'NO_LEGAL_PERSON_SETT_AUTH_LETTER', label: '非法人结算授权书' },
{ value: 'SPLIT_ENTRUST_FILE', label: '结算授权委托书' },
{ value: 'RENTAL_AGREEMENT', label: '集市方与场地方间的租赁协议' },
{ value: 'SPLIT_COOPERATION_FILE', label: '集市方与摊主间的合作协议' },
{ value: 'OTHERS', label: '其他' }
]
};
},
methods: {
//
addFile() {
this.formData.fileData.push({
attType: '',
attFileId: '',
attachName: ''
});
},
//
selectArea(area) {
this.formData.merRegDistCode = area.value;
this.selectedAreaLabel = area.label;
this.showAreaPopup = false;
},
// MCC
selectMcc(mcc) {
this.formData.mccCode = mcc.value;
this.selectedMccLabel = mcc.label;
this.showMccPopup = false;
},
//
selectBusiContent(content) {
this.formData.merBusiContent = content.value;
this.selectedBusiContentLabel = content.label;
this.showBusiContentPopup = false;
},
//
selectIdType(type) {
this.formData.larIdType = type.value;
this.selectedIdTypeLabel = type.label;
this.showIdTypePopup = false;
},
//
selectAcctType(type) {
this.formData.acctTypeCode = type.value;
this.selectedAcctTypeLabel = type.label;
this.showAcctTypePopup = false;
},
//
selectFileAttachType(index, type) {
this.formData.fileData[index].attType = type.value;
this.showFileAttachTypePopup = -1;
},
//
getAttachTypeLabel(typeValue) {
if (!typeValue) return '';
const option = this.fileAttachTypeOptions.find(type => type.value === typeValue);
return option ? option.label : '';
},
//
removeFile(index) {
this.formData.fileData.splice(index, 1);
},
//
uploadFile(index) {
const fileData = this.formData.fileData[index];
//
if (!fileData.attType) {
uni.showToast({
title: '请先选择附件类型',
icon: 'none'
});
return;
}
// uni.chooseMessageFile API
uni.chooseMessageFile({
count: 1,
type: 'file',
extension: ['pdf', 'doc', 'docx', 'jpg', 'jpeg', 'png'], //
success: (res) => {
const tempFile = res.tempFiles[0];
console.log("选择的文件:", tempFile);
//
fileData.attachName = tempFile.name;
//
uni.showLoading({
title: '上传中',
mask: true
});
// 使uni.uploadFile
uni.uploadFile({
url: RequsetUrl + apiArr.upload, // URL
filePath: tempFile.path, //
name: 'file', // key
formData: {
attType: fileData.attType //
},
header: {
Authorization: uni.getStorageSync("ctoken") //
},
success: (uploadRes) => {
//
const res = JSON.parse(uploadRes.data);
//
fileData.attFileId = res.data.respData.attFileId;
uni.showToast({
title: '上传成功',
icon: 'success'
});
},
fail: (error) => {
console.error('文件上传失败:', error);
uni.showToast({
title: '上传失败',
icon: 'none'
});
},
complete: () => {
uni.hideLoading(); //
}
});
},
fail: (err) => {
console.error('选择文件失败:', err);
uni.showToast({
title: '选择文件失败',
icon: 'none'
});
}
});
},
//
validateForm() {
const { formData } = this;
//
if (!formData.mch_id) {
uni.showToast({ title: '请输入商户ID', icon: 'none' });
return false;
}
if (!formData.merRegName) {
uni.showToast({ title: '请输入商户注册名称', icon: 'none' });
return false;
} else if (formData.merRegName.length < 8 || formData.merRegName.length > 40) {
uni.showToast({ title: '商户注册名称长度必须在8~40字符之间', icon: 'none' });
return false;
}
if (!formData.merRegDistCode) {
uni.showToast({ title: '请选择商户地区代码', icon: 'none' });
return false;
}
if (!formData.merRegAddr) {
uni.showToast({ title: '请输入商户详细地址', icon: 'none' });
return false;
} else if (formData.merRegAddr.length < 6 || formData.merRegAddr.length > 200) {
uni.showToast({ title: '商户详细地址长度必须在6~200字符之间', icon: 'none' });
return false;
}
if (!formData.mccCode) {
uni.showToast({ title: '请选择商户MCC编号', icon: 'none' });
return false;
}
if (!formData.merBusiContent) {
uni.showToast({ title: '请选择商户经营内容', icon: 'none' });
return false;
}
if (!formData.larName) {
uni.showToast({ title: '请输入商户法人姓名', icon: 'none' });
return false;
}
if (!formData.larIdType) {
uni.showToast({ title: '请选择法人证件类型', icon: 'none' });
return false;
}
if (!formData.larIdcard) {
uni.showToast({ title: '请输入法人身份证号码', icon: 'none' });
return false;
}
if (!formData.larIdcardStDt) {
uni.showToast({ title: '请选择法人身份证开始日期', icon: 'none' });
return false;
}
if (!formData.larIdcardExpDt) {
uni.showToast({ title: '请选择法人身份证有效期', icon: 'none' });
return false;
}
if (!formData.merContactMobile) {
uni.showToast({ title: '请输入商户联系人手机号码', icon: 'none' });
return false;
}
if (!formData.merContactName) {
uni.showToast({ title: '请输入商户联系人姓名', icon: 'none' });
return false;
}
if (!formData.openningBankCode) {
uni.showToast({ title: '请输入结算账户开户行号', icon: 'none' });
return false;
}
if (!formData.openningBankName) {
uni.showToast({ title: '请输入结算账户开户行名称', icon: 'none' });
return false;
}
if (!formData.clearingBankCode) {
uni.showToast({ title: '请输入结算账户清算行号', icon: 'none' });
return false;
}
if (!formData.acctNo) {
uni.showToast({ title: '请输入结算账户账号', icon: 'none' });
return false;
}
if (!formData.acctName) {
uni.showToast({ title: '请输入结算账户名称', icon: 'none' });
return false;
}
if (!formData.acctTypeCode) {
uni.showToast({ title: '请选择结算账户性质', icon: 'none' });
return false;
}
//
if (!formData.feeData[0].feeRateTypeCode) {
uni.showToast({ title: '请输入费率类型', icon: 'none' });
return false;
}
if (!formData.feeData[0].feeRateTypeName) {
uni.showToast({ title: '请输入费率类型名称', icon: 'none' });
return false;
}
if (!formData.feeData[0].feeRatePct) {
uni.showToast({ title: '请输入手续费率', icon: 'none' });
return false;
}
return true;
},
ecQuery() {
const storeValue = uni.getStorageSync('storeValue');
if (!storeValue || !storeValue.contractId) {
uni.showToast({
title: '请先提交申请',
icon: 'none'
});
return;
}
const params = {
contractId: storeValue.contractId
}
request(apiArr.queryMerchant, "POST", params).then(res => {
if (res.respData.contractStatus === 'REVIEW_ING') {
uni.showToast({
title: '审核通过',
icon: 'success'
});
uni.setStorageSync('storeValue', { merInnerNo: res.respData.merInnerNo });
uni.setStorageSync('storeValue', { merCupNo: res.respData.merCupNo });
} else if (res.respData.contractStatus === 'WAIT_FOR_CONTACT') {
uni.showToast({
title: '审核驳回',
icon: 'none'
});
} else if (res.respData.contractStatus === 'MANUAL_AUDIT') {
uni.showToast({
title: '审核中',
icon: 'none'
});
}
})
},
//
submitForm() {
//
if (!this.validateForm()) {
return;
}
uni.showLoading({
title: '提交中...',
mask: true
});
//
const submitData = {
mch_id: this.formData.mch_id,
merRegName: this.formData.merRegName,
merRegDistCode: this.formData.merRegDistCode,
merRegAddr: this.formData.merRegAddr,
mccCode: this.formData.mccCode,
merBlisName: this.formData.merBlisName,
merBlis: this.formData.merBlis,
merBlisStDt: this.formData.merBlisStDt,
merBlisExpDt: this.formData.merBlisExpDt,
merBusiContent: this.formData.merBusiContent,
larName: this.formData.larName,
larIdType: this.formData.larIdType,
larIdcard: this.formData.larIdcard,
larIdcardStDt: this.formData.larIdcardStDt,
larIdcardExpDt: this.formData.larIdcardExpDt,
merContactMobile: this.formData.merContactMobile,
merContactName: this.formData.merContactName,
openningBankCode: this.formData.openningBankCode,
openningBankName: this.formData.openningBankName,
clearingBankCode: this.formData.clearingBankCode,
acctNo: this.formData.acctNo,
acctName: this.formData.acctName,
acctTypeCode: this.formData.acctTypeCode,
feeData: this.formData.feeData,
fileData: []
};
// attFileIdfileData
const validFiles = this.formData.fileData.filter(file => file.attFileId);
if (validFiles.length > 0) {
submitData.fileData = validFiles.map(file => ({
attType: file.attType,
attFileId: file.attFileId,
attachName: file.attachName
}));
}
console.log('提交的数据:', submitData);
// addMer
request(apiArr.addMer, "POST", submitData).then(res => {
uni.hideLoading();
uni.showToast({
title: '提交成功',
icon: 'success'
});
uni.setStorageSync('storeValue', { contractId: res.respData.contractId });
}).catch(error => {
uni.hideLoading();
console.error('提交失败:', error);
uni.showToast({
title: '提交失败',
icon: 'none'
});
});
}
}
}
</script>
<style>
@import url("./index.css");
</style>

View File

@ -1,283 +0,0 @@
/* 分账接收方创建页面样式 */
.establish-acceptor-container {
padding: 0 30rpx;
min-height: 100vh;
}
page{
padding-bottom: 0rpx;
}
/* 弹窗样式 */
.popup {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
display: flex;
justify-content: center;
align-items: center;
z-index: 999;
}
.popup-content {
width: 80%;
max-height: 70vh;
background-color: #fff;
border-radius: 10rpx;
overflow: hidden;
display: flex;
flex-direction: column;
}
.popup-title {
padding: 30rpx;
text-align: center;
font-size: 36rpx;
font-weight: bold;
border-bottom: 1rpx solid #eee;
}
.popup-list {
flex: 1;
overflow-y: auto;
max-height: 50vh;
}
.popup-item {
padding: 30rpx;
text-align: center;
border-bottom: 1rpx solid #eee;
font-size: 32rpx;
}
.popup-item:active {
background-color: #f5f5f5;
}
.popup-footer {
padding: 20rpx;
border-top: 1rpx solid #eee;
}
.popup-cancel-btn {
width: 100%;
padding: 0 20rpx;
background-color: #fff;
border: 1rpx solid #ddd;
border-radius: 8rpx;
font-size: 32rpx;
background-color: #007aff;
color: #ffffff;
}
/* 弹窗选择器样式 */
.popup-select {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 20rpx;
border: 1rpx solid #ddd;
border-radius: 6rpx;
background-color: #fff;
min-height: 80rpx;
}
.page-title {
font-size: 36rpx;
font-weight: 600;
color: #333;
text-align: center;
margin: 30rpx 0 40rpx;
}
.acceptor-form {
background-color: #fff;
border-radius: 12rpx;
padding: 30rpx;
}
.form-section {
margin-bottom: 40rpx;
}
.section-title {
font-size: 32rpx;
font-weight: 500;
color: #333;
margin-bottom: 24rpx;
padding-bottom: 12rpx;
border-bottom: 1px solid #eee;
}
.form-item {
margin-bottom: 32rpx;
position: relative;
}
.form-label {
display: block;
font-size: 28rpx;
color: #666;
margin-bottom: 12rpx;
}
.form-label.required::after {
content: '*';
color: #e64340;
margin-left: 4rpx;
}
.form-input {
width: 100%;
height: 88rpx;
padding: 0 24rpx;
font-size: 28rpx;
border: 1px solid #ddd;
border-radius: 8rpx;
box-sizing: border-box;
background-color: #fff;
}
.form-input:focus {
border-color: #007aff;
outline: none;
}
.form-input::placeholder {
color: #999;
}
/* 附件上传样式 */
.attachment-section {
margin-top: 20rpx;
}
.attachment-item {
background-color: #f9f9f9;
border: 1px solid #eee;
border-radius: 8rpx;
padding: 24rpx;
margin-bottom: 24rpx;
}
.upload-btn {
width: 100%;
height: 80rpx;
background-color: #007aff;
color: #fff;
font-size: 28rpx;
border: none;
border-radius: 8rpx;
margin-top: 16rpx;
cursor: pointer;
}
.upload-btn:active {
background-color: #0051d5;
}
.file-info {
margin-top: 16rpx;
padding: 16rpx;
background-color: #e8f4ff;
border-radius: 8rpx;
font-size: 26rpx;
color: #007aff;
display: flex;
justify-content: space-between;
align-items: center;
}
.delete-btn {
padding: 0rpx 20rpx;
background-color: #e64340;
color: #fff;
border: none;
border-radius: 10rpx;
font-size: 24rpx;
cursor: pointer;
margin-right: 0rpx;
}
.delete-btn:active {
background-color: #c21f1c;
}
.add-attachment-btn {
width: 100%;
height: 80rpx;
background-color: #f0f0f0;
color: #666;
font-size: 28rpx;
border-radius: 8rpx;
margin-top: 16rpx;
cursor: pointer;
}
.add-attachment-btn:active {
background-color: #e0e0e0;
}
/* 提交按钮样式 */
.submit-section {
margin-top: 40rpx;
margin-bottom: 20rpx;
}
.submit-btn {
width: 100%;
height: 80rpx;
background-color: #007aff;
color: #fff;
font-size: 28rpx;
border-radius: 8rpx;
margin-top: 16rpx;
cursor: pointer;
box-shadow: 0 4rpx 12rpx rgba(0, 122, 255, 0.3);
}
.submit-btn:active {
background-color: #0051d5;
transform: scale(0.98);
}
.submit-btn:disabled {
background-color: #b8d5ff;
cursor: not-allowed;
}
/* 响应式调整 */
@media (min-width: 768px) {
.establish-acceptor-container {
max-width: 800rpx;
margin: 0 auto;
}
}
/* 输入框错误状态 */
.form-input.error {
border-color: #e64340;
}
/* 滚动条样式 */
::-webkit-scrollbar {
width: 8rpx;
height: 8rpx;
}
::-webkit-scrollbar-track {
background: #f1f1f1;
border-radius: 4rpx;
}
::-webkit-scrollbar-thumb {
background: #c1c1c1;
border-radius: 4rpx;
}
::-webkit-scrollbar-thumb:hover {
background: #a8a8a8;
}

View File

@ -1,417 +0,0 @@
<template>
<view class="establish-acceptor-container">
<form class="acceptor-form" @submit.prevent="submitForm">
<!-- 基本信息 -->
<view class="form-section">
<view class="form-item">
<label class="form-label">分账商户内部商户号</label>
<input type="text" class="form-input" v-model="formData.merInnerNo" placeholder="请输入分账商户内部商户号">
</view>
<view class="form-item">
<label class="form-label">分账商户银联商户号</label>
<input type="text" class="form-input" v-model="formData.merCupNo" placeholder="请输入分账商户银联商户号">
</view>
<view class="form-item">
<label class="form-label required">分账接收方编号</label>
<input type="text" class="form-input" v-model="formData.receiverNo" placeholder="请输入分账接收方编号"
required>
</view>
</view>
<!-- 合作协议附件 -->
<view class="form-section">
<view class="form-item">
<label class="form-label required">附件名称</label>
<input type="text" class="form-input" v-model="formData.entrustFileName" placeholder="请输入合作协议附件名称"
required>
</view>
<button class="upload-btn" @click="uploadEntrustFile">上传合作协议</button>
<view v-if="formData.entrustFilePath" class="file-info">
<span>{{ formData.entrustFileName || '已上传文件' }}</span>
<button class="delete-btn" @click="removeEntrustFile">删除</button>
</view>
</view>
<!-- 其他附件可选 -->
<view class="form-section">
<h3 class="section-title">附件上传可选</h3>
<view class="attachment-section">
<view class="attachment-item" v-for="(attachment, index) in formData.attachments" :key="index">
<view class="form-item">
<label class="form-label">附件类型</label>
<view class="popup-select" @click="showAttachTypePopup = index">
<span>{{ getAttachTypeLabel(attachment.attachType) || '请选择附件类型' }}</span>
</view>
</view>
<view class="form-item">
<label class="form-label">附件名称</label>
<input type="text" class="form-input" v-model="attachment.attachName" placeholder="请输入附件名称">
</view>
<button class="upload-btn" @click="uploadFile(index)">上传文件</button>
<view v-if="attachment.attachStorePath" class="file-info">
<span>{{ attachment.attachName || '已上传文件' }}</span>
<button class="delete-btn" @click="removeAttachment(index)">删除</button>
</view>
</view>
<button class="add-attachment-btn" @click="addAttachment">添加附件</button>
</view>
</view>
<view class="form-section submit-section">
<button type="submit" class="submit-btn" @click="submitForm">申请绑定</button>
</view>
</form>
<!-- 附件类型弹窗 -->
<view class="popup" v-if="showAttachTypePopup >= 0">
<view class="popup-content">
<view class="popup-title">选择附件类型</view>
<view class="popup-list">
<view class="popup-item" v-for="type in attachTypeOptions" :key="type.value"
@click="selectAttachType(showAttachTypePopup, type)">
{{ type.label }}
</view>
</view>
<view class="popup-footer">
<button class="popup-cancel-btn" @click="showAttachTypePopup = -1">取消</button>
</view>
</view>
</view>
</view>
</template>
<script>
import { picUrl, menuButtonInfo, request, NavgateTo, RequsetUrl } from "../../../utils";
import { apiArr } from "../../../api/contract";
export default {
data() {
return {
//
showAttachTypePopup: -1,
//
attachTypeOptions: [
{ value: 'FR_ID_CARD_FRONT', label: '法人身份证正面' },
{ value: 'FR_ID_CARD_BEHIND', label: '法人身份证反面' },
{ value: 'ID_CARD_FRONT', label: '结算人身份证正面' },
{ value: 'ID_CARD_BEHIND', label: '结算人身份证反面' },
{ value: 'BANK_CARD', label: '银行卡' },
{ value: 'BUSINESS_LICENCE', label: '营业执照' },
{ value: 'MERCHANT_PHOTO', label: '商户门头照' },
{ value: 'SHOPINNER', label: '商铺内部照片' },
{ value: 'XY', label: '线下纸质协议' },
{ value: 'NETWORK_XY', label: '电子协议' },
{ value: 'HT', label: '租赁合同' },
{ value: 'COOPERATION_QUALIFICATION_PROOF', label: '合作资质证明' },
{ value: 'FOOD_QUALIFICATION_PROOF', label: '食品经营相关资质' },
{ value: 'NO_LEGAL_PERSON_SETT_AUTH_LETTER', label: '非法人结算授权书' },
{ value: 'SPLIT_ENTRUST_FILE', label: '结算授权委托书' },
{ value: 'RENTAL_AGREEMENT', label: '集市方与场地方间的租赁协议' },
{ value: 'SPLIT_COOPERATION_FILE', label: '集市方与摊主间的合作协议' },
{ value: 'OTHERS', label: '其他' }
],
//
formData: {
//
merInnerNo: '',
merCupNo: '',
//
receiverNo: '',
entrustFileName: '',
entrustFilePath: '',
//
attachments: [{
attachType: '',
attachName: '',
attachStorePath: ''
}]
}
};
},
methods: {
//
addAttachment() {
this.formData.attachments.push({
attachType: '',
attachName: '',
attachStorePath: ''
});
},
//
selectAttachType(index, type) {
this.formData.attachments[index].attachType = type.value;
this.showAttachTypePopup = -1;
},
//
getAttachTypeLabel(typeValue) {
if (!typeValue) return '';
const option = this.attachTypeOptions.find(type => type.value === typeValue);
return option ? option.label : '';
},
//
removeAttachment(index) {
this.formData.attachments.splice(index, 1);
},
//
uploadEntrustFile() {
// uni.chooseMessageFile API
uni.chooseMessageFile({
count: 1,
type: 'file',
extension: ['pdf', 'doc', 'docx', 'jpg', 'jpeg', 'png'], //
success: (res) => {
const tempFile = res.tempFiles[0];
console.log("选择的文件:", tempFile);
// 使
if (!this.formData.entrustFileName) {
this.formData.entrustFileName = tempFile.name;
}
//
uni.showLoading({
title: '上传中',
mask: true
});
// 使uni.uploadFile
uni.uploadFile({
url: RequsetUrl + apiArr.upload, // URL
filePath: tempFile.path, //
name: 'file', // key
formData: {
attType: 'ENTRUST_FILE' //
},
header: {
Authorization: uni.getStorageSync("ctoken") //
},
success: (uploadRes) => {
//
const res = JSON.parse(uploadRes.data);
//
this.formData.entrustFilePath = res.data.respData.attFileId;
uni.showToast({
title: '上传成功',
icon: 'success'
});
},
fail: (error) => {
console.error('文件上传失败:', error);
uni.showToast({
title: '上传失败',
icon: 'none'
});
},
complete: () => {
uni.hideLoading(); //
}
});
},
fail: (err) => {
console.error('选择文件失败:', err);
uni.showToast({
title: '选择文件失败',
icon: 'none'
});
}
});
},
//
removeEntrustFile() {
this.formData.entrustFileName = '';
this.formData.entrustFilePath = '';
},
//
uploadFile(index) {
const attachment = this.formData.attachments[index];
//
if (!attachment.attachType) {
uni.showToast({
title: '请先选择附件类型',
icon: 'none'
});
return;
}
// uni.chooseMessageFile API
uni.chooseMessageFile({
count: 1,
type: 'file',
extension: ['pdf', 'doc', 'docx', 'jpg', 'jpeg', 'png'], //
success: (res) => {
const tempFile = res.tempFiles[0];
console.log("选择的文件:", tempFile);
// 使
if (!attachment.attachName) {
attachment.attachName = tempFile.name;
}
//
uni.showLoading({
title: '上传中',
mask: true
});
// 使uni.uploadFile
uni.uploadFile({
url: RequsetUrl + apiArr.upload, // URL
filePath: tempFile.path, //
name: 'file', // key
formData: {
attType: attachment.attachType //
},
header: {
Authorization: uni.getStorageSync("ctoken") //
},
success: (uploadRes) => {
//
const res = JSON.parse(uploadRes.data);
//
attachment.attachStorePath = res.data.respData.attFileId;
uni.showToast({
title: '上传成功',
icon: 'success'
});
},
fail: (error) => {
console.error('文件上传失败:', error);
uni.showToast({
title: '上传失败',
icon: 'none'
});
},
complete: () => {
uni.hideLoading(); //
}
});
},
fail: (err) => {
console.error('选择文件失败:', err);
uni.showToast({
title: '选择文件失败',
icon: 'none'
});
}
});
},
//
validateForm() {
const { formData } = this;
//
if (!formData.receiverNo) {
uni.showToast({ title: '请输入分账接收方编号', icon: 'none' });
return false;
}
if (!formData.entrustFileName) {
uni.showToast({ title: '请输入合作协议附件名称', icon: 'none' });
return false;
}
if (!formData.entrustFilePath) {
uni.showToast({ title: '请上传合作协议附件', icon: 'none' });
return false;
}
return true;
},
//
submitForm() {
//
if (!this.validateForm()) {
return;
}
uni.showLoading({
title: '提交中...',
mask: true
});
//
const submitData = {
merInnerNo: this.formData.merInnerNo, //
merCupNo: this.formData.merCupNo, //
receiverNo: this.formData.receiverNo, //
entrustFileName: this.formData.entrustFileName, //
entrustFilePath: this.formData.entrustFilePath, //
attachments: [] //
};
// attachStorePathattachments
const validAttachments = this.formData.attachments.filter(attach => attach.attachStorePath);
if (validAttachments.length > 0) {
submitData.attachments = validAttachments.map(attach => ({
attachType: attach.attachType,
attachName: attach.attachName,
attachStorePath: attach.attachStorePath
}));
}
console.log('提交的数据:', submitData);
// applyBind
request(apiArr.applyBind, "POST", submitData).then(res => {
uni.hideLoading();
if (res && res.cmdRetCode === 'SUCCESS') {
uni.showToast({
title: '提交成功',
icon: 'success'
});
setTimeout(() => {
uni.navigateBack();
}, 1500);
} else {
uni.showToast({
title: res?.retMsg || '提交失败',
icon: 'none'
});
}
}).catch(error => {
uni.hideLoading();
console.error('提交失败:', error);
uni.showToast({
title: '提交失败',
icon: 'none'
});
});
},
//
resetForm() {
this.formData = {
merInnerNo: '',
merCupNo: '',
receiverNo: '',
entrustFileName: '',
entrustFilePath: '',
attachments: []
};
}
}
}
</script>
<style>
@import url("./index.css");
</style>

View File

@ -1,279 +0,0 @@
/* addMer/index.css */
page {
padding-bottom: 0rpx;
}
.establish-acceptor-container {
padding: 0 30rpx;
min-height: 100vh;
}
.acceptor-form {
background-color: #fff;
border-radius: 12rpx;
padding: 30rpx;
}
.form-section {
margin-bottom: 40rpx;
}
.section-title {
font-size: 32rpx;
font-weight: 500;
color: #333;
margin-bottom: 24rpx;
padding-bottom: 12rpx;
border-bottom: 1px solid #eee;
}
.form-item {
margin-bottom: 32rpx;
position: relative;
}
.form-label {
display: block;
font-size: 28rpx;
color: #666;
margin-bottom: 12rpx;
}
.form-label.required::after {
content: '*';
color: #e64340;
margin-left: 4rpx;
}
.form-input {
width: 100%;
height: 88rpx;
padding: 0 24rpx;
font-size: 28rpx;
border: 1px solid #ddd;
border-radius: 8rpx;
box-sizing: border-box;
background-color: #fff;
}
.form-input:focus {
border-color: #007aff;
outline: none;
}
.form-input::placeholder {
color: #999;
}
/* 弹窗样式 */
.popup {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
display: flex;
justify-content: center;
align-items: center;
z-index: 999;
}
.popup-content {
width: 80%;
max-height: 70vh;
background-color: #fff;
border-radius: 10rpx;
overflow: hidden;
display: flex;
flex-direction: column;
}
.popup-title {
padding: 30rpx;
text-align: center;
font-size: 36rpx;
font-weight: bold;
border-bottom: 1rpx solid #eee;
}
.popup-list {
flex: 1;
overflow-y: auto;
max-height: 50vh;
}
.popup-item {
padding: 30rpx;
text-align: center;
border-bottom: 1rpx solid #eee;
font-size: 32rpx;
}
.popup-item:active {
background-color: #f5f5f5;
}
.popup-footer {
padding: 20rpx;
border-top: 1rpx solid #eee;
}
.popup-cancel-btn {
width: 100%;
padding: 0 20rpx;
background-color: #fff;
border: 1rpx solid #ddd;
border-radius: 8rpx;
font-size: 32rpx;
background-color: #007aff;
color: #ffffff;
}
/* 弹窗选择器样式 */
.popup-select {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 24rpx;
border: 1px solid #ddd;
border-radius: 8rpx;
background-color: #fff;
height: 88rpx;
font-size: 28rpx;
}
/* 附件上传样式 */
.attachment-section {
margin-top: 20rpx;
}
.attachment-item {
background-color: #f9f9f9;
border: 1px solid #eee;
border-radius: 8rpx;
padding: 24rpx;
margin-bottom: 24rpx;
}
.upload-btn {
width: 100%;
height: 80rpx;
background-color: #007aff;
color: #fff;
font-size: 28rpx;
border: none;
border-radius: 8rpx;
margin-top: 16rpx;
cursor: pointer;
}
.upload-btn:active {
background-color: #0051d5;
}
.file-info {
margin-top: 16rpx;
padding: 16rpx;
background-color: #e8f4ff;
border-radius: 8rpx;
font-size: 26rpx;
color: #007aff;
display: flex;
justify-content: space-between;
align-items: center;
}
.delete-btn {
padding: 0rpx 20rpx;
background-color: #e64340;
color: #fff;
border: none;
border-radius: 10rpx;
font-size: 24rpx;
cursor: pointer;
margin-right: 0rpx;
}
.delete-btn:active {
background-color: #c21f1c;
}
.add-attachment-btn {
width: 100%;
height: 80rpx;
background-color: #f0f0f0;
color: #666;
font-size: 28rpx;
border-radius: 8rpx;
margin-top: 16rpx;
cursor: pointer;
}
.add-attachment-btn:active {
background-color: #e0e0e0;
}
/* 提交按钮样式 */
.submit-section {
margin-top: 40rpx;
margin-bottom: 20rpx;
display: flex;
}
.submit-btn,
.submit-btn1 {
width: 100%;
height: 80rpx;
color: #fff;
font-size: 28rpx;
border-radius: 8rpx;
margin-top: 16rpx;
cursor: pointer;
box-shadow: 0 4rpx 12rpx rgba(0, 122, 255, 0.3);
}
.submit-btn {
background-color: #007aff;
margin-left: 5rpx;
}
.submit-btn1 {
background-color: #ff4016;
margin-right: 5rpx;
}
.submit-btn:active {
background-color: #0051d5;
transform: scale(0.98);
}
.submit-btn:disabled {
background-color: #b8d5ff;
cursor: not-allowed;
}
/* 输入框错误状态 */
.form-input.error {
border-color: #e64340;
}
/* 滚动条样式 */
::-webkit-scrollbar {
width: 8rpx;
height: 8rpx;
}
::-webkit-scrollbar-track {
background: #f1f1f1;
border-radius: 4rpx;
}
::-webkit-scrollbar-thumb {
background: #c1c1c1;
border-radius: 4rpx;
}
::-webkit-scrollbar-thumb:hover {
background: #a8a8a8;
}

View File

@ -1,327 +0,0 @@
<template>
<view class="establish-acceptor-container">
<form class="acceptor-form" @submit.prevent="submitForm">
<!-- 基本信息 -->
<view class="form-section">
<!-- <view class="form-item">
<label class="form-label required">商户号</label>
<input type="number" class="form-input" v-model.number="formData.mch_id" placeholder="请输入商户号"
required>
</view> -->
<view class="form-item">
<label class="form-label">拉卡拉内部商户号</label>
<input type="text" class="form-input" v-model="formData.merInnerNo" placeholder="请输入拉卡拉内部商户号(可选)">
</view>
<view class="form-item">
<label class="form-label">银联商户号</label>
<input type="text" class="form-input" v-model="formData.merCupNo" placeholder="请输入银联商户号(可选)">
</view>
<view class="form-item">
<label class="form-label required">联系手机号</label>
<input type="number" class="form-input" v-model="formData.contactMobile" placeholder="请输入联系手机号"
required>
</view>
<view class="form-item">
<label class="form-label">电子分账协议号</label>
<input type="text" class="form-input" v-model="formData.eleContractNo" placeholder="请输入电子分账协议号(可选)">
</view>
</view>
<!-- 附件上传 -->
<view class="form-section">
<h3 class="section-title">附件上传可选</h3>
<view class="attachment-section">
<view class="attachment-item" v-for="(file, index) in formData.fileData" :key="index">
<view class="form-item">
<label class="form-label">附件类型</label>
<view class="popup-select" @click="showFileAttachTypePopup = index">
<span>{{ getAttachTypeLabel(file.attType) || '请选择附件类型' }}</span>
</view>
</view>
<button class="upload-btn" @click="uploadFile(index)">上传文件</button>
<view v-if="file.attFileId" class="file-info">
<span>{{ file.attachName || '已上传文件' }}</span>
<button class="delete-btn" @click="removeFile(index)">删除</button>
</view>
</view>
<button class="add-attachment-btn" @click="addFile">添加附件</button>
</view>
</view>
<!-- 提交按钮 -->
<view class="form-section submit-section">
<button type="button" class="submit-btn1" @click="ecQuery">结果查询</button>
<button type="submit" class="submit-btn" @click="submitForm">提交申请</button>
</view>
</form>
<!-- 文件附件类型弹窗 -->
<view class="popup" v-if="showFileAttachTypePopup >= 0">
<view class="popup-content">
<view class="popup-title">选择附件类型</view>
<view class="popup-list">
<view class="popup-item" v-for="type in fileAttachTypeOptions" :key="type.value"
@click="selectFileAttachType(showFileAttachTypePopup, type)">
{{ type.label }}
</view>
</view>
<view class="popup-footer">
<button class="popup-cancel-btn" @click="showFileAttachTypePopup = -1">取消</button>
</view>
</view>
</view>
</view>
</template>
<script>
import { picUrl, menuButtonInfo, request, NavgateTo, RequsetUrl } from "../../../utils";
import { apiArr } from "../../../api/contract";
export default {
data() {
return {
//
formData: {
mch_id: uni.getStorageSync('mchId'), //
merInnerNo: '', //
merCupNo: '', //
contactMobile: '', //
eleContractNo: '', //
fileData: [
{
attType: '',
attFileId: '',
attachName: ''
}
] //
},
//
showFileAttachTypePopup: -1,
// API
fileAttachTypeOptions: [
{ value: 'BUSINESS_LICENSE', label: '营业执照' },
{ value: 'ID_CARD_FRONT', label: '身份证正面' },
{ value: 'ID_CARD_BACK', label: '身份证反面' },
{ value: 'BANK_CARD', label: '银行卡' },
{ value: 'CONTRACT', label: '合同文件' },
{ value: 'OTHER', label: '其他' }
]
};
},
methods: {
//
addFile() {
this.formData.fileData.push({
attType: '',
attFileId: '',
attachName: ''
});
},
//
selectFileAttachType(index, type) {
this.formData.fileData[index].attType = type.value;
this.showFileAttachTypePopup = -1;
},
//
getAttachTypeLabel(typeValue) {
if (!typeValue) return '';
const option = this.fileAttachTypeOptions.find(type => type.value === typeValue);
return option ? option.label : '';
},
//
removeFile(index) {
this.formData.fileData.splice(index, 1);
},
//
uploadFile(index) {
const fileData = this.formData.fileData[index];
//
if (!fileData.attType) {
uni.showToast({
title: '请先选择附件类型',
icon: 'none'
});
return;
}
// uni.chooseMessageFile API
uni.chooseMessageFile({
count: 1,
type: 'file',
extension: ['pdf', 'doc', 'docx', 'jpg', 'jpeg', 'png'], //
success: (res) => {
const tempFile = res.tempFiles[0];
console.log("选择的文件:", tempFile);
//
fileData.attachName = tempFile.name;
//
uni.showLoading({
title: '上传中',
mask: true
});
// 使uni.uploadFile
uni.uploadFile({
url: RequsetUrl + apiArr.upload, // URL
filePath: tempFile.path, //
name: 'file', // key
formData: {
attType: fileData.attType //
},
header: {
Authorization: uni.getStorageSync("ctoken") //
},
success: (uploadRes) => {
//
const res = JSON.parse(uploadRes.data);
//
fileData.attFileId = res.data.respData.attFileId;
fileData.attachName = tempFile.name; //
uni.showToast({
title: '上传成功',
icon: 'success'
});
},
fail: (error) => {
console.error('文件上传失败:', error);
uni.showToast({
title: '上传失败',
icon: 'none'
});
},
complete: () => {
uni.hideLoading(); //
}
});
},
fail: (err) => {
console.error('选择文件失败:', err);
uni.showToast({
title: '选择文件失败',
icon: 'none'
});
}
});
},
//
validateForm() {
const { formData } = this;
//
if (!formData.mch_id) {
uni.showToast({ title: '请输入商户号', icon: 'none' });
return false;
}
if (!formData.contactMobile) {
uni.showToast({ title: '请输入联系手机号', icon: 'none' });
return false;
} else if (!/^1[3-9]\d{9}$/.test(formData.contactMobile)) {
uni.showToast({ title: '请输入有效的手机号', icon: 'none' });
return false;
}
return true;
},
ecQuery() {
// const storeValue = uni.getStorageSync('storeValue');
// if (!storeValue || !storeValue.contractId) {
// uni.showToast({
// title: '',
// icon: 'none'
// });
// return;
// }
// const params = {
// contractId: storeValue.contractId
// }
request(apiArr.queryLedgerMer, "POST", {}).then(res => {
if (res.respData.splitStatus === 'VALID') {
uni.showToast({
title: '审核通过',
icon: 'success'
});
} else if (res.respData.contractStatus === 'INVALID') {
uni.showToast({
title: '审核未通过',
icon: 'none'
});
}
})
},
//
submitForm() {
//
if (!this.validateForm()) {
return;
}
uni.showLoading({
title: '提交中...',
mask: true
});
//
const submitData = {
mch_id: this.formData.mch_id,
merInnerNo: this.formData.merInnerNo,
merCupNo: this.formData.merCupNo,
contactMobile: this.formData.contactMobile,
eleContractNo: this.formData.eleContractNo,
attachments: []
};
// attFileIdattachments
const validFiles = this.formData.fileData.filter(file => file.attFileId);
if (validFiles.length > 0) {
submitData.attachments = validFiles.map(file => ({
attachType: file.attType,
attachName: file.attachName,
attachStorePath: file.attFileId
}));
}
console.log('提交的数据:', submitData);
request(apiArr.applyLedgerMer, "POST", submitData).then(res => {
uni.hideLoading();
uni.showToast({
title: '提交成功',
icon: 'success'
});
uni.setStorageSync('storeValue', { fz_apply_id: res.resp_data.ec_apply_id });
}).catch(error => {
uni.hideLoading();
console.error('提交失败:', error);
uni.showToast({
title: '提交失败',
icon: 'none'
});
});
}
}
}
</script>
<style>
@import url("./index.css");
</style>

View File

@ -68,9 +68,9 @@ export default {
}, },
getAvatarUrl(record){ getAvatarUrl(record){
if(record.client_id_one == uni.getStorageSync('openId')){ if(record.client_id_one == uni.getStorageSync('openId')){
return record.two.avatar ? picUrl + record.two.avatar : 'https://static.hshuishang.com/defaultTx.png' return record.two.avatar ? picUrl + record.two.avatar : 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/defaultTx.png'
}else{ }else{
return record.one.avatar ? picUrl + record.one.avatar : 'https://static.hshuishang.com/defaultTx.png' return record.one.avatar ? picUrl + record.one.avatar : 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/defaultTx.png'
} }
}, },
// //

View File

@ -1,322 +0,0 @@
/* 全局样式重置 */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'SimSun', '宋体', serif;
font-size: 28rpx;
color: #333;
line-height: 1.5;
background-color: #fff;
}
page{
padding-bottom: 0rpx;
}
/* 合同容器 */
.contract-container {
max-width: 1200rpx;
margin: 0 auto;
padding: 140rpx 30rpx 40rpx;
background-color: #fff;
}
/* 提交申请按钮样式 */
.submit-container {
display: flex;
justify-content: center;
align-items: center;
margin: 40rpx 0;
padding: 20rpx;
}
.submit-btn {
width: 80%;
max-width: 400rpx;
height: 80rpx;
background-color: #007bff;
color: #fff;
border: none;
border-radius: 10rpx;
font-size: 32rpx;
font-weight: bold;
cursor: pointer;
transition: background-color 0.3s;
}
.submit-btn:hover {
background-color: #0056b3;
}
.submit-btn:active {
background-color: #004085;
}
.header{
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1000;
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 30rpx;
background-color: #fff;
padding: 20rpx 30rpx;
box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.1);
}
/* 合同标题 */
.contract-title {
font-size: 36rpx;
font-weight: bold;
text-align: center;
margin-bottom: 40rpx;
color: #333;
}
.header-title{
font-size: 36rpx;
}
.print-btn{
padding: 2rpx 20rpx;
background-color: #007bff;
color: #fff;
border: none;
border-radius: 8rpx;
font-size: 28rpx;
cursor: pointer;
}
/* 甲乙双方信息 */
.party-info {
margin-bottom: 40rpx;
}
.party-info p {
margin-bottom: 20rpx;
font-size: 28rpx;
}
/* 合同内容 */
.contract-content {
margin-bottom: 40rpx;
}
.contract-intro {
margin-bottom: 30rpx;
text-align: justify;
font-size: 28rpx;
}
/* 标题样式 */
h2 {
font-size: 32rpx;
font-weight: bold;
margin-bottom: 30rpx;
color: #333;
}
h3 {
font-size: 30rpx;
font-weight: bold;
margin-bottom: 20rpx;
color: #333;
}
/* 章节样式 */
.section {
margin-top: 20rpx;
margin-bottom: 40rpx;
}
.section-desc input {
display: inline-block;
}
.section-desc {
margin-bottom: 20rpx;
font-size: 28rpx;
}
.section-desc {
line-height: 1.5;
}
.input-field {
width: 40px;
vertical-align: middle;
}
.subsection {
margin-bottom: 30rpx;
margin-left: 40rpx;
}
.subsection p {
margin-bottom: 15rpx;
font-size: 28rpx;
}
.subsection-item view {
display: flex;
align-items: center;
}
.subsection-item input {
display: inline-block;
}
/* 复选框组 */
.checkbox-group {
display: flex;
flex-wrap: wrap;
gap: 20rpx;
margin-bottom: 20rpx;
}
.checkbox-item {
display: flex;
align-items: center;
font-size: 28rpx;
cursor: pointer;
}
.checkbox-label {
margin-right: 10rpx;
}
/* 输入框样式 */
.input-field1 {
width: 500rpx;
height: 60rpx;
border: 1rpx solid #ccc;
border-radius: 8rpx;
padding: 0 20rpx;
font-size: 28rpx;
margin: 0 10rpx;
}
.input-field {
width: 200rpx;
height: 40rpx;
border: 1rpx solid #ccc;
border-radius: 8rpx;
padding: 0 20rpx;
font-size: 28rpx;
margin: 0 10rpx;
}
.input-field.small {
width: 100rpx;
}
.input-field.very-small {
width: 100rpx;
}
/* 费用标准样式 */
.fee-standard {
display: flex;
flex-direction: column;
gap: 20rpx;
margin-bottom: 20rpx;
}
.fee-standard .checkbox-item {
display: flex;
align-items: center;
font-size: 28rpx;
cursor: pointer;
flex-wrap: wrap;
}
/* 表格样式 */
.fee-table {
width: 100%;
border-collapse: collapse;
margin-bottom: 30rpx;
font-size: 28rpx;
}
.wrap-text {
word-wrap: break-word;
word-break: break-all;
max-width: 100%;
}
.fee-table th,
.fee-table td {
display: flex;
justify-content: center;
align-items: center;
border: 1rpx solid #ccc;
padding: 20rpx;
text-align: center;
}
.fee-table th {
background-color: #f5f5f5;
font-weight: bold;
}
.fee-table tr:nth-child(even) {
background-color: #fafafa;
}
/* 响应式设计 */
@media (max-width: 750rpx) {
.contract-container {
padding: 20rpx 15rpx;
}
.contract-title {
font-size: 32rpx;
}
h2 {
font-size: 28rpx;
}
h3 {
font-size: 26rpx;
}
.input-field {
width: 250rpx;
height: 50rpx;
font-size: 26rpx;
}
.input-field.small {
width: 150rpx;
}
.input-field.very-small {
width: 80rpx;
}
.fee-table th,
.fee-table td {
padding: 15rpx;
font-size: 26rpx;
}
}
/* 打印样式 */
@media print {
.contract-container {
max-width: 100%;
padding: 0;
}
.input-field {
border: 1rpx solid #000;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,283 +0,0 @@
/* 分账接收方创建页面样式 */
.establish-acceptor-container {
padding: 20rpx;
min-height: 100vh;
}
page{
padding-bottom: 0rpx;
}
/* 弹窗样式 */
.popup {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
display: flex;
justify-content: center;
align-items: center;
z-index: 999;
}
.popup-content {
width: 80%;
max-height: 70vh;
background-color: #fff;
border-radius: 10rpx;
overflow: hidden;
display: flex;
flex-direction: column;
}
.popup-title {
padding: 30rpx;
text-align: center;
font-size: 36rpx;
font-weight: bold;
border-bottom: 1rpx solid #eee;
}
.popup-list {
flex: 1;
overflow-y: auto;
max-height: 50vh;
}
.popup-item {
padding: 30rpx;
text-align: center;
border-bottom: 1rpx solid #eee;
font-size: 32rpx;
}
.popup-item:active {
background-color: #f5f5f5;
}
.popup-footer {
padding: 20rpx;
border-top: 1rpx solid #eee;
}
.popup-cancel-btn {
width: 100%;
padding: 0 20rpx;
background-color: #fff;
border: 1rpx solid #ddd;
border-radius: 8rpx;
font-size: 32rpx;
background-color: #007aff;
color: #ffffff;
}
/* 弹窗选择器样式 */
.popup-select {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 20rpx;
border: 1rpx solid #ddd;
border-radius: 6rpx;
background-color: #fff;
min-height: 80rpx;
}
.page-title {
font-size: 36rpx;
font-weight: 600;
color: #333;
text-align: center;
margin: 30rpx 0 40rpx;
}
.acceptor-form {
background-color: #fff;
border-radius: 12rpx;
padding: 30rpx;
}
.form-section {
margin-bottom: 40rpx;
}
.section-title {
font-size: 32rpx;
font-weight: 500;
color: #333;
margin-bottom: 24rpx;
padding-bottom: 12rpx;
border-bottom: 1px solid #eee;
}
.form-item {
margin-bottom: 32rpx;
position: relative;
}
.form-label {
display: block;
font-size: 28rpx;
color: #666;
margin-bottom: 12rpx;
}
.form-label.required::after {
content: '*';
color: #e64340;
margin-left: 4rpx;
}
.form-input {
width: 100%;
height: 88rpx;
padding: 0 24rpx;
font-size: 28rpx;
border: 1px solid #ddd;
border-radius: 8rpx;
box-sizing: border-box;
background-color: #fff;
}
.form-input:focus {
border-color: #007aff;
outline: none;
}
.form-input::placeholder {
color: #999;
}
/* 附件上传样式 */
.attachment-section {
margin-top: 20rpx;
}
.attachment-item {
background-color: #f9f9f9;
border: 1px solid #eee;
border-radius: 8rpx;
padding: 24rpx;
margin-bottom: 24rpx;
}
.upload-btn {
width: 100%;
height: 80rpx;
background-color: #007aff;
color: #fff;
font-size: 28rpx;
border: none;
border-radius: 8rpx;
margin-top: 16rpx;
cursor: pointer;
}
.upload-btn:active {
background-color: #0051d5;
}
.file-info {
margin-top: 16rpx;
padding: 16rpx;
background-color: #e8f4ff;
border-radius: 8rpx;
font-size: 26rpx;
color: #007aff;
display: flex;
justify-content: space-between;
align-items: center;
}
.delete-btn {
padding: 0rpx 20rpx;
background-color: #e64340;
color: #fff;
border: none;
border-radius: 10rpx;
font-size: 24rpx;
cursor: pointer;
margin-right: 0rpx;
}
.delete-btn:active {
background-color: #c21f1c;
}
.add-attachment-btn {
width: 100%;
height: 80rpx;
background-color: #f0f0f0;
color: #666;
font-size: 28rpx;
border-radius: 8rpx;
margin-top: 16rpx;
cursor: pointer;
}
.add-attachment-btn:active {
background-color: #e0e0e0;
}
/* 提交按钮样式 */
.submit-section {
margin-top: 40rpx;
margin-bottom: 20rpx;
}
.submit-btn {
width: 100%;
height: 80rpx;
background-color: #007aff;
color: #fff;
font-size: 28rpx;
border-radius: 8rpx;
margin-top: 16rpx;
cursor: pointer;
box-shadow: 0 4rpx 12rpx rgba(0, 122, 255, 0.3);
}
.submit-btn:active {
background-color: #0051d5;
transform: scale(0.98);
}
.submit-btn:disabled {
background-color: #b8d5ff;
cursor: not-allowed;
}
/* 响应式调整 */
@media (min-width: 768px) {
.establish-acceptor-container {
max-width: 800rpx;
margin: 0 auto;
}
}
/* 输入框错误状态 */
.form-input.error {
border-color: #e64340;
}
/* 滚动条样式 */
::-webkit-scrollbar {
width: 8rpx;
height: 8rpx;
}
::-webkit-scrollbar-track {
background: #f1f1f1;
border-radius: 4rpx;
}
::-webkit-scrollbar-thumb {
background: #c1c1c1;
border-radius: 4rpx;
}
::-webkit-scrollbar-thumb:hover {
background: #a8a8a8;
}

View File

@ -1,512 +0,0 @@
<template>
<view class="establish-acceptor-container">
<form class="acceptor-form" @submit.prevent="submitForm">
<!-- 必需字段 -->
<view class="form-section">
<!-- <view class="form-item">
<label class="form-label required">商户号</label>
<input
type="number"
class="form-input"
v-model="formData.mchId"
placeholder="请输入商户号"
required
>
</view> -->
<view class="form-item">
<label class="form-label required">分账接收方名称</label>
<input type="text" class="form-input" v-model="formData.receiverName" placeholder="请输入分账接收方名称"
required>
</view>
<view class="form-item">
<label class="form-label required">联系手机号</label>
<input type="tel" class="form-input" v-model="formData.contactMobile" placeholder="请输入联系手机号"
required>
</view>
</view>
<view class="form-section">
<view class="form-item">
<label class="form-label">营业执照号码</label>
<input type="text" class="form-input" v-model="formData.licenseNo" placeholder="请输入营业执照号码">
</view>
<view class="form-item">
<label class="form-label">营业执照名称</label>
<input type="text" class="form-input" v-model="formData.licenseName" placeholder="请输入营业执照名称">
</view>
<view class="form-item">
<label class="form-label">法人姓名</label>
<input type="text" class="form-input" v-model="formData.legalPersonName" placeholder="请输入法人姓名">
</view>
<view class="form-item">
<label class="form-label">法人证件号</label>
<input type="text" class="form-input" v-model="formData.legalPersonCertificateNo"
placeholder="请输入法人证件号">
</view>
</view>
<view class="form-section">
<view class="form-item">
<label class="form-label required">收款账户卡号</label>
<input type="text" class="form-input" v-model="formData.acctNo" placeholder="请输入收款账户卡号" required>
</view>
<view class="form-item">
<label class="form-label required">收款账户名称</label>
<input type="text" class="form-input" v-model="formData.acctName" placeholder="请输入收款账户名称" required>
</view>
<view class="form-item">
<label class="form-label required">收款账户类型</label>
<view class="popup-select" @click="showAccountTypePopup = true">
<span class="selected-value">{{ selectedAccountType || '请选择账户类型' }}</span>
<uni-icons type="down" size="16"></uni-icons>
</view>
<!-- 账户类型弹窗 -->
<view class="popup" v-if="showAccountTypePopup">
<view class="popup-content">
<view class="popup-title">选择账户类型</view>
<view class="popup-list">
<view class="popup-item" v-for="type in accountTypeOptions" :key="type.value"
@click="selectAccountType(type)">
{{ type.label }}
</view>
</view>
<view class="popup-footer">
<button class="popup-cancel-btn" @click="showAccountTypePopup = false">取消</button>
</view>
</view>
</view>
</view>
<view class="form-item">
<label class="form-label required">收款账户证件号</label>
<input type="text" class="form-input" v-model="formData.acctCertificateNo" placeholder="请输入收款账户证件号"
required>
</view>
<view class="form-item">
<label class="form-label required">收款账户开户行号</label>
<input type="text" class="form-input" v-model="formData.acctOpenBankCode" placeholder="请输入开户行号"
required>
</view>
<view class="form-item">
<label class="form-label required">收款账户开户行名称</label>
<input type="text" class="form-input" v-model="formData.acctOpenBankName" placeholder="请输入开户行名称"
required>
</view>
<view class="form-item">
<label class="form-label required">收款账户清算行行号</label>
<input type="text" class="form-input" v-model="formData.acctClearBankCode" placeholder="请输入清算行行号"
required>
</view>
</view>
<view class="form-section">
<h3 class="section-title">附件上传可选</h3>
<view class="attachment-section">
<view class="attachment-item" v-for="(attachment, index) in formData.attachList" :key="index">
<view class="form-item">
<label class="form-label">附件类型</label>
<view class="popup-select" @click="showAttachTypePopup = index">
<span class="selected-value">{{ getAttachTypeLabel(attachment.attachType) || '请选择附件类型'
}}</span>
<uni-icons type="down" size="16"></uni-icons>
</view>
</view>
<view class="form-item">
<label class="form-label">附件名称</label>
<input type="text" class="form-input" v-model="attachment.attachName" placeholder="请输入附件名称">
</view>
<button class="upload-btn" @click="uploadFile(index)">上传文件</button>
<view v-if="attachment.attachStorePath" class="file-info">
<span>{{ attachment.attachName || '已上传文件' }}</span>
<button class="delete-btn" @click="removeAttachment(index)">删除</button>
</view>
</view>
<button class="add-attachment-btn" @click="addAttachment">添加附件</button>
</view>
</view>
<view class="form-section submit-section">
<button type="submit" class="submit-btn" @click="submitForm">提交申请</button>
</view>
</form>
<!-- 附件类型弹窗 -->
<view class="popup" v-if="showAttachTypePopup >= 0">
<view class="popup-content">
<view class="popup-title">选择附件类型</view>
<view class="popup-list">
<view class="popup-item" v-for="type in attachTypeOptions" :key="type.value"
@click="selectAttachType(showAttachTypePopup, type)">
{{ type.label }}
</view>
</view>
<view class="popup-footer">
<button class="popup-cancel-btn" @click="showAttachTypePopup = -1">取消</button>
</view>
</view>
</view>
</view>
</template>
<script>
import { picUrl, menuButtonInfo, request, NavgateTo, RequsetUrl } from "../../../utils";
import { apiArr } from "../../../api/contract";
export default {
data() {
return {
//
showAccountTypePopup: false,
showAttachTypePopup: -1,
//
accountTypeOptions: [
{ value: '57', label: '对公' },
{ value: '58', label: '对私' }
],
//
attachTypeOptions: [
{ value: 'FR_ID_CARD_FRONT', label: '法人身份证正面' },
{ value: 'FR_ID_CARD_BEHIND', label: '法人身份证反面' },
{ value: 'ID_CARD_FRONT', label: '结算人身份证正面' },
{ value: 'ID_CARD_BEHIND', label: '结算人身份证反面' },
{ value: 'BANK_CARD', label: '银行卡' },
{ value: 'BUSINESS_LICENCE', label: '营业执照' },
{ value: 'MERCHANT_PHOTO', label: '商户门头照' },
{ value: 'SHOPINNER', label: '商铺内部照片' },
{ value: 'XY', label: '线下纸质协议' },
{ value: 'NETWORK_XY', label: '电子协议' },
{ value: 'HT', label: '租赁合同' },
{ value: 'COOPERATION_QUALIFICATION_PROOF', label: '合作资质证明' },
{ value: 'FOOD_QUALIFICATION_PROOF', label: '食品经营相关资质' },
{ value: 'NO_LEGAL_PERSON_SETT_AUTH_LETTER', label: '非法人结算授权书' },
{ value: 'SPLIT_ENTRUST_FILE', label: '结算授权委托书' },
{ value: 'RENTAL_AGREEMENT', label: '集市方与场地方间的租赁协议' },
{ value: 'SPLIT_COOPERATION_FILE', label: '集市方与摊主间的合作协议' },
{ value: 'OTHERS', label: '其他' }
],
formData: {
//
mchId: '',
receiverName: '',
contactMobile: '',
acctNo: '',
acctName: '',
acctTypeCode: '',
acctCertificateNo: '',
acctOpenBankCode: '',
acctOpenBankName: '',
acctClearBankCode: '',
//
licenseNo: '',
licenseName: '',
legalPersonName: '',
legalPersonCertificateNo: '',
//
attachList: [{
attachType: '',
attachName: '',
attachStorePath: ''
}]
}
}
},
computed: {
//
selectedAccountType() {
if (!this.formData.acctTypeCode) return '';
const option = this.accountTypeOptions.find(type => type.value === this.formData.acctTypeCode);
return option ? option.label : '';
}
},
methods: {
//
addAttachment() {
this.formData.attachList.push({
attachType: '',
attachName: '',
attachStorePath: ''
});
},
//
selectAccountType(type) {
this.formData.acctTypeCode = type.value;
this.showAccountTypePopup = false;
},
//
selectAttachType(index, type) {
this.formData.attachList[index].attachType = type.value;
this.showAttachTypePopup = -1;
},
//
getAttachTypeLabel(typeValue) {
if (!typeValue) return '';
const option = this.attachTypeOptions.find(type => type.value === typeValue);
return option ? option.label : '';
},
//
removeAttachment(index) {
this.formData.attachList.splice(index, 1);
//
if (this.formData.attachList.length === 0) {
this.formData.attachList.push({
attachType: '',
attachName: '',
attachStorePath: ''
});
}
},
//
uploadFile(index) {
const attachment = this.formData.attachList[index];
//
if (!attachment.attachType) {
uni.showToast({
title: '请先选择附件类型',
icon: 'none'
});
return;
}
// uni.chooseMessageFile API
uni.chooseMessageFile({
count: 1,
type: 'file',
extension: ['pdf', 'doc', 'docx', 'jpg', 'jpeg', 'png'], //
success: (res) => {
const tempFile = res.tempFiles[0];
console.log("选择的文件:", tempFile);
// 使
if (!attachment.attachName) {
attachment.attachName = tempFile.name;
}
//
uni.showLoading({
title: '上传中',
mask: true
});
// 使uni.uploadFile
uni.uploadFile({
url: RequsetUrl + apiArr.upload, // URL
filePath: tempFile.path, //
name: 'file', // key
formData: {
attType: attachment.attachType //
},
header: {
Authorization: uni.getStorageSync("ctoken") //
},
success: (uploadRes) => {
//
const res = JSON.parse(uploadRes.data);
//
attachment.attachStorePath = res.data.respData.attFileId;
uni.showToast({
title: '上传成功',
icon: 'success'
});
},
fail: (error) => {
console.error('文件上传失败:', error);
uni.showToast({
title: '上传失败',
icon: 'none'
});
},
complete: () => {
uni.hideLoading(); //
}
});
},
fail: (err) => {
console.error('选择文件失败:', err);
uni.showToast({
title: '选择文件失败',
icon: 'none'
});
}
});
},
//
validateForm() {
const { formData } = this;
//
// if (!formData.mchId) {
// uni.showToast({ title: '', icon: 'none' });
// return false;
// }
if (!formData.receiverName) {
uni.showToast({ title: '请输入分账接收方名称', icon: 'none' });
return false;
}
if (!formData.contactMobile) {
uni.showToast({ title: '请输入联系手机号', icon: 'none' });
return false;
} else if (!/^1[3-9]\d{9}$/.test(formData.contactMobile)) {
uni.showToast({ title: '请输入正确的手机号格式', icon: 'none' });
return false;
}
if (!formData.acctNo) {
uni.showToast({ title: '请输入收款账户卡号', icon: 'none' });
return false;
}
if (!formData.acctName) {
uni.showToast({ title: '请输入收款账户名称', icon: 'none' });
return false;
}
if (!formData.acctTypeCode) {
uni.showToast({ title: '请选择收款账户类型', icon: 'none' });
return false;
}
if (!formData.acctCertificateNo) {
uni.showToast({ title: '请输入收款账户证件号', icon: 'none' });
return false;
}
if (!formData.acctOpenBankCode) {
uni.showToast({ title: '请输入收款账户开户行号', icon: 'none' });
return false;
}
if (!formData.acctOpenBankName) {
uni.showToast({ title: '请输入收款账户开户行名称', icon: 'none' });
return false;
}
if (!formData.acctClearBankCode) {
uni.showToast({ title: '请输入收款账户清算行行号', icon: 'none' });
return false;
}
return true;
},
//
submitForm() {
//
if (!this.validateForm()) {
return;
}
uni.showLoading({
title: '提交中...',
mask: true
});
//
const submitData = {
mchId: '000', //
receiverName: this.formData.receiverName, //
contactMobile: this.formData.contactMobile, //
licenseNo: this.formData.licenseNo, //
licenseName: this.formData.licenseName, //
legalPersonName: this.formData.legalPersonName, //
legalPersonCertificateNo: this.formData.legalPersonCertificateNo, //
acctNo: this.formData.acctNo, //
acctName: this.formData.acctName, //
acctTypeCode: this.formData.acctTypeCode, //
acctCertificateNo: this.formData.acctCertificateNo, //
acctOpenBankCode: this.formData.acctOpenBankCode, //
acctOpenBankName: this.formData.acctOpenBankName, //
acctClearBankCode: this.formData.acctClearBankCode //
};
// attachStorePathattachList
const validAttachments = this.formData.attachList.filter(attach => attach.attachStorePath);
if (validAttachments.length > 0) {
submitData.attachList = validAttachments.map(attach => ({
attachType: attach.attachType,
attachName: attach.attachName,
attachStorePath: attach.attachStorePath
}));
}
console.log('提交的数据:', submitData);
request(apiArr.applyLedgerReceiver, "POST", submitData).then(res => {
uni.hideLoading();
if (res && res.cmdRetCode === 'SUCCESS') {
uni.showToast({
title: '提交成功',
icon: 'success'
});
setTimeout(() => {
uni.navigateBack();
}, 1500);
} else {
uni.showToast({
title: res?.retMsg || '提交失败',
icon: 'none'
});
}
}).catch(error => {
uni.hideLoading();
console.error('提交失败:', error);
uni.showToast({
title: '提交失败',
icon: 'none'
});
});
},
//
resetForm() {
this.formData = {
// mchId: '',
receiverName: '',
contactMobile: '',
acctNo: '',
acctName: '',
acctTypeCode: '',
acctCertificateNo: '',
acctOpenBankCode: '',
acctOpenBankName: '',
acctClearBankCode: '',
licenseNo: '',
licenseName: '',
legalPersonName: '',
legalPersonCertificateNo: '',
attachList: []
};
}
}
}
</script>
<style>
@import url("./index.css");
</style>

View File

@ -15,15 +15,15 @@
<view v-if="connectingStatus" class="connecting-status">{{ connectingStatus }}</view> <view v-if="connectingStatus" class="connecting-status">{{ connectingStatus }}</view>
<!-- 聊天消息区域 --> <!-- 聊天消息区域 -->
<scroll-view class="chat-messages" scroll-y="true" <scroll-view :scroll-into-view="scrollToView" class="chat-messages" lower-threshold="100" scroll-y="true"
upper-threshold="50" @scrolltoupper="loadMoreHistory" @scroll="onScroll"> upper-threshold="100" @scrolltolower="loadMoreHistory" @scrolltoupper="loadMoreHistory">
<!-- 加载历史消息提示 --> <!-- 加载历史消息提示 -->
<view v-if="isLoadingHistory" class="message-time">加载历史消息...</view> <view v-if="isLoadingHistory" class="message-time">加载历史消息...</view>
<!-- 消息列表 --> <!-- 消息列表 -->
<block v-for="(message, index) in messages" :key="index"> <block v-for="(message, index) in messages" :key="index">
<!-- 时间分割线 --> <!-- 时间分割线 -->
<view v-if="needShowTime(index)" class="message-time">{{ message.times }}</view> <view v-if="needShowTime(index)" class="message-time">{{ formatTime(message.time) }}</view>
<!-- 消息项 --> <!-- 消息项 -->
<view :id="'msg-' + index" :class="{ <view :id="'msg-' + index" :class="{
@ -56,8 +56,8 @@
<script> <script>
import { menuButtonInfo, picUrl, request } from '@/utils' import { menuButtonInfo, picUrl, request } from '@/utils'
import { apiArr } from '@/api/customerService'
import mqttTool from '@/utils/mqtt' import mqttTool from '@/utils/mqtt'
import { apiArr } from '../../../api/customerService'
export default { export default {
data() { data() {
@ -76,7 +76,6 @@ export default {
userAvatar: '', userAvatar: '',
// //
messages: [], messages: [],
// //
inputMessage: '', inputMessage: '',
// //
@ -106,11 +105,9 @@ export default {
} }
}, },
onLoad(options) { onLoad(options) {
console.log('客服聊天页面onLoad触发')
const meun = menuButtonInfo() const meun = menuButtonInfo()
this.top = meun.top this.top = meun.top
this.localHeight = meun.height this.localHeight = meun.height
console.log('导航栏信息top:', this.top, 'height:', this.localHeight)
// //
if (options.item) { if (options.item) {
const item = JSON.parse(options.item) const item = JSON.parse(options.item)
@ -122,10 +119,7 @@ export default {
this.chatTarget.title = this.chatTarget.employee_name this.chatTarget.title = this.chatTarget.employee_name
this.getMqttConfig().then(() => { this.getMqttConfig().then(() => {
// //
console.log('获取MQTT配置成功开始初始化聊天')
this.initChat() this.initChat()
}).catch(error => {
console.error('获取MQTT配置失败:', error)
}) })
} else { } else {
// //
@ -139,21 +133,17 @@ export default {
this.chatTarget.openId = this.chatTarget.client_id_one this.chatTarget.openId = this.chatTarget.client_id_one
} }
// MQTT // MQTT
console.log('开始初始化聊天')
this.initChat() this.initChat()
} }
} else {
console.log('没有接收到参数item')
} }
// //
this.userAvatar = picUrl + uni.getStorageSync('headPhoto') this.userAvatar = picUrl + uni.getStorageSync('headPhoto')
console.log('用户头像:', this.userAvatar)
}, },
onShow() { onShow() {
}, },
methods: { methods: {
getAvatarUrl(record) { getAvatarUrl(record) {
return this.chatTarget.employee_image ? this.chatTarget.employee_image : 'https://static.hshuishang.com/defaultTx.png' return this.chatTarget.employee_image ? this.chatTarget.employee_image : 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/defaultTx.png'
}, },
async connect() { async connect() {
this.client = null this.client = null
@ -232,11 +222,7 @@ export default {
// //
this.startKeepalive() this.startKeepalive()
// //
console.log('连接成功,开始加载历史消息')
await this.loadHistoryMessages() await this.loadHistoryMessages()
console.log('历史消息加载完成,消息数量:', this.messages.length)
} catch (error) { } catch (error) {
console.error('初始化聊天失败', error) console.error('初始化聊天失败', error)
this.connectingStatus = '连接失败,请检查网络' this.connectingStatus = '连接失败,请检查网络'
@ -305,23 +291,16 @@ export default {
// //
async loadHistoryMessages() { async loadHistoryMessages() {
console.log('loadHistoryMessages方法调用')
console.log('加载条件检查hasMoreHistory:', this.hasMoreHistory, 'isLoadingHistory:', this.isLoadingHistory)
if (!this.hasMoreHistory || this.isLoadingHistory) { if (!this.hasMoreHistory || this.isLoadingHistory) {
console.log('不满足加载条件hasMoreHistory:', this.hasMoreHistory, 'isLoadingHistory:', this.isLoadingHistory)
return return
} }
try { try {
this.isLoadingHistory = true this.isLoadingHistory = true
console.log('开始加载历史消息,当前页码:', this.pageNum)
// mqttConfig.bindId // mqttConfig.bindId
if (!this.chatTarget.bindId) { if (!this.chatTarget.bindId) {
console.log('没有bindId开始获取MQTT配置')
await this.getMqttConfig() await this.getMqttConfig()
console.log('获取MQTT配置成功bindId', this.chatTarget.bindId)
} }
const params = { const params = {
@ -335,13 +314,11 @@ export default {
const res = await request(apiArr.csGetMsgRecord, 'POST', params) const res = await request(apiArr.csGetMsgRecord, 'POST', params)
console.log('历史消息返回结果:', res) console.log('历史消息返回结果:', res)
if (res && res.msg_record) { if (res && res.code === 1 && res.data && res.data.msg_record) {
const historyMessages = res.msg_record const historyMessages = res.data.msg_record
console.log('原始历史消息数量:', historyMessages.length)
// //
if (historyMessages.length === 0) { if (historyMessages.length === 0) {
console.log('没有更多历史消息了')
this.hasMoreHistory = false this.hasMoreHistory = false
return return
} }
@ -350,74 +327,30 @@ export default {
const formattedMessages = historyMessages.map(msg => ({ const formattedMessages = historyMessages.map(msg => ({
content: msg.content, content: msg.content,
time: new Date(msg.create_time).getTime(), time: new Date(msg.create_time).getTime(),
times: msg.update_time,
isSelf: msg.send_client === this.selfClientId, // isSelf: msg.send_client === this.selfClientId, //
isLoading: false isLoading: false
})).reverse(); // })).reverse(); //
console.log('格式化后的历史消息:', formattedMessages)
// //
const previousMessageCount = this.messages.length; this.messages = [...formattedMessages, ...this.messages]
console.log('添加前消息数量:', previousMessageCount)
this.messages = [...formattedMessages, ...this.messages];
console.log('添加后消息数量:', this.messages.length)
// //
this.pageNum++; this.pageNum++
console.log('下一页页码:', this.pageNum)
//
if (previousMessageCount === 0) {
setTimeout(() => {
console.log('首次加载,滚动到底部,消息数量:', this.messages.length)
// 使
uni.pageScrollTo({
scrollTop: 999999,
duration: 300
});
}, 100);
} else {
//
//
console.log('非首次加载,新增消息数量:', formattedMessages.length)
}
} else {
console.log('接口返回数据格式不正确或无消息记录')
// hasMoreHistoryfalse
if (this.pageNum > 1) {
this.hasMoreHistory = false
}
} }
} catch (error) { } catch (error) {
console.error('加载历史消息失败', error) console.error('加载历史消息失败', error)
} finally { } finally {
this.isLoadingHistory = false this.isLoadingHistory = false
console.log('加载历史消息结束')
} }
}, },
//
onScroll(e) {
console.log('滚动事件触发scrollTop', e.detail.scrollTop)
},
// //
loadMoreHistory() { loadMoreHistory(e) {
console.log('滚动到顶部事件触发') //
// if (e && e.detail.direction === 'top') {
console.log('当前条件isLoadingHistory:', this.isLoadingHistory, 'hasMoreHistory:', this.hasMoreHistory, 'pageNum:', this.pageNum)
// hasMoreHistorytrue
if (!this.hasMoreHistory && this.pageNum === 1) {
console.log('重置hasMoreHistory为true')
this.hasMoreHistory = true
}
if (!this.isLoadingHistory && this.hasMoreHistory) { if (!this.isLoadingHistory && this.hasMoreHistory) {
console.log('开始加载更多历史消息')
this.loadHistoryMessages() this.loadHistoryMessages()
} else { }
console.log('不满足加载更多条件isLoadingHistory:', this.isLoadingHistory, 'hasMoreHistory:', this.hasMoreHistory)
} }
}, },
@ -500,11 +433,7 @@ export default {
// //
scrollToBottom() { scrollToBottom() {
setTimeout(() => { setTimeout(() => {
console.log('手动滚动到底部') this.scrollToView = 'msg-' + (this.messages.length - 1)
uni.pageScrollTo({
scrollTop: 999999,
duration: 300
});
}, 100) }, 100)
}, },
@ -586,9 +515,3 @@ export default {
<style> <style>
@import url("./index.css"); @import url("./index.css");
</style> </style>
<style scoped>
:root {
--header-height: 80px; /* 头部高度 */
--input-height: 80px; /* 输入区域高度 */
}
</style>

View File

@ -1,246 +0,0 @@
/* 合同申请表单样式 */
.contract-apply-container {
padding: 30rpx;
min-height: 100vh;
}
.page-header {
margin-bottom: 15rpx;
display: flex;
justify-content: space-between;
align-items: center;
}
page {
padding-bottom: 0rpx;
}
.page-header h1 {
font-size: 36rpx;
font-weight: bold;
color: #333;
margin-bottom: 10rpx;
}
.download-btn{
height: 65rpx;
border: none;
border-radius: 10rpx;
line-height: 65rpx;
background-color: #409eff;
color: #fff;
margin-right: 0rpx;
}
.page-header .subtitle {
font-size: 28rpx;
color: #666;
}
.contract-form {
background-color: #fff;
border-radius: 10rpx;
padding: 30rpx;
}
.form-item {
margin-bottom: 30rpx;
}
.form-label {
font-size: 28rpx;
color: #333;
margin-bottom: 10rpx;
display: block;
}
.form-label.required::after {
content: '*';
color: #e64340;
margin-left: 4rpx;
}
.form-input,
.form-select {
width: 100%;
height: 80rpx;
border: 1rpx solid #d9d9d9;
border-radius: 8rpx;
padding: 0 20rpx;
font-size: 28rpx;
box-sizing: border-box;
line-height: 80rpx;
}
.form-input:focus,
.form-select:focus {
border-color: #409eff;
outline: none;
}
.form-select {
appearance: none;
background: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024"><path fill="%23999" d="M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"></path></svg>') no-repeat right 20rpx center;
background-size: 24rpx 24rpx;
}
.bottom-btn{
display: flex;
justify-content: space-between;
}
/* 按钮样式 */
.sign-btn,
.submit-btn1,
.submit-btn {
width: 100%;
height: 90rpx;
border: none;
border-radius: 45rpx;
font-size: 32rpx;
font-weight: bold;
margin-bottom: 20rpx;
transition: all 0.3s;
line-height: 90rpx;
}
.sign-btn {
background-color: #f0f0f0;
color: #666;
}
.sign-btn:active {
background-color: #e0e0e0;
}
.submit-btn {
background-color: #409eff;
color: #fff;
margin-left: 5rpx;
}
.submit-btn1 {
background-color: #ff4016;
color: #fff;
margin-right: 5rpx;
}
.submit-btn:active {
background-color: #66b1ff;
}
/* 响应式调整 */
@media screen and (max-width: 768px) {
.contract-apply-container {
padding: 20rpx;
}
.contract-form {
padding: 20rpx;
}
}
/* 自定义弹窗样式 */
.custom-modal-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0, 0, 0, 0.5);
display: flex;
justify-content: center;
align-items: center;
z-index: 9999;
}
.custom-modal {
width: 100%;
max-width: 650rpx;
background-color: #fff;
border-radius: 12rpx;
overflow: hidden;
box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.15);
}
.modal-header {
padding: 30rpx;
border-bottom: 2rpx solid #f0f0f0;
display: flex;
justify-content: space-between;
align-items: center;
}
.modal-header h3 {
margin: 0;
font-size: 32rpx;
font-weight: 600;
color: #333;
}
.close-btn {
background: none;
border: none;
font-size: 40rpx;
color: #999;
cursor: pointer;
padding: 0;
width: 40rpx;
height: 40rpx;
display: flex;
justify-content: center;
align-items: center;
}
.modal-content {
padding: 40rpx 30rpx;
}
.modal-content p {
margin: 0 0 30rpx 0;
font-size: 28rpx;
color: #666;
line-height: 1.5;
}
.link-container {
background-color: #f5f5f5;
padding: 20rpx;
border-radius: 8rpx;
word-break: break-all;
}
.link-text {
color: #007aff;
font-size: 26rpx;
text-decoration: underline;
cursor: pointer;
}
.modal-footer {
padding: 0 30rpx 30rpx;
display: flex;
justify-content: center;
}
.confirm-btn {
background-color: #007aff;
color: #fff;
border: none;
line-height: 80rpx;
border-radius: 8rpx;
font-size: 28rpx;
cursor: pointer;
min-width: 200rpx;
height: 80rpx;
}
.confirm-btn2 {
border: none;
line-height: 80rpx;
border-radius: 8rpx;
font-size: 28rpx;
cursor: pointer;
min-width: 200rpx;
height: 80rpx;
}

View File

@ -1,511 +0,0 @@
<template>
<view class="contract-apply-container">
<view class="page-header">
<h1>合同申请</h1>
<button type="button" class="download-btn" @click="download">合同下载</button>
</view>
<form class="contract-form">
<!-- 合同类别 -->
<view class="form-item">
<view class="form-label required">合同类别</view>
<view class="form-input-wrapper">
<view class="form-select" @click="handleEcTypeClick">
{{ getEcTypeLabel({ value: formData.ec_type_code }) || formData.ec_type_code || '请选择合同类别' }}
</view>
<u-picker :show="showEcTypePicker" :columns="[ecTypeOptions]" keyName="label" @confirm="onEcTypeConfirm"
@cancel="showEcTypePicker = false" @close="showEcTypePicker = false" :closeOnClickOverlay="true"></u-picker>
</view>
</view>
<!-- 法人/经营者证件类型 -->
<view class="form-item">
<view class="form-label required">法人/经营者证件类型</view>
<view class="form-input-wrapper">
<view class="form-select" @click="handleCertTypeClick">
{{ getCertTypeLabel(formData.cert_type) || '请选择证件类型' }}
</view>
<u-picker :show="showCertTypePicker" :columns="[certTypeOptions]" keyName="label" @confirm="onCertTypeConfirm"
@cancel="showCertTypePicker = false" @close="showCertTypePicker = false"
:closeOnClickOverlay="true"></u-picker>
</view>
</view>
<!-- 法人/经营者姓名 -->
<view class="form-item">
<view class="form-label required">法人/经营者姓名</view>
<input type="text" class="form-input" v-model="formData.cert_name" placeholder="请输入姓名" />
</view>
<!-- 法人/经营者证件号码 -->
<view class="form-item">
<view class="form-label required">法人/经营者证件号码</view>
<input type="text" class="form-input" v-model="formData.cert_no" placeholder="请输入证件号码" />
</view>
<!-- 签约手机号 -->
<view class="form-item">
<view class="form-label required">签约手机号</view>
<input type="tel" class="form-input" v-model="formData.mobile" placeholder="请输入手机号" />
</view>
<!-- 营业执照号 -->
<view class="form-item">
<view class="form-label">营业执照号</view>
<input type="text" class="form-input" v-model="formData.business_license_no" placeholder="请输入营业执照号(可选)" />
</view>
<!-- 营业执照名称 -->
<view class="form-item">
<view class="form-label">营业执照名称</view>
<input type="text" class="form-input" v-model="formData.business_license_name" placeholder="请输入营业执照名称(可选)" />
</view>
<!-- 企业/经营者结算开户行号 -->
<view class="form-item">
<view class="form-label required">企业/经营者结算开户行号</view>
<input type="text" class="form-input" v-model="formData.openning_bank_code" placeholder="请输入开户行号" />
</view>
<!-- 企业/经营者结算开户行名称 -->
<view class="form-item">
<view class="form-label required">企业/经营者结算开户行名称</view>
<input type="text" class="form-input" v-model="formData.openning_bank_name" placeholder="请输入开户行名称" />
</view>
<!-- 企业/经营者结算卡性质 -->
<view class="form-item">
<view class="form-label required">企业/经营者结算卡性质</view>
<view class="form-input-wrapper">
<view class="form-select" @click="handleAcctTypeClick">
{{ formData.acct_type_code ? (formData.acct_type_code === '57' ? '对公' : '对私') : '请选择结算卡性质' }}
</view>
<u-picker :show="showAcctTypePicker" :columns="[acctTypeOptions]" keyName="label" @confirm="onAcctTypeConfirm"
@cancel="showAcctTypePicker = false" @close="showAcctTypePicker = false"
:closeOnClickOverlay="true"></u-picker>
</view>
</view>
<!-- 企业/经营者结算卡号 -->
<view class="form-item">
<view class="form-label required">企业/经营者结算卡号</view>
<input type="text" class="form-input" v-model="formData.acct_no" placeholder="请输入结算卡号" />
</view>
<!-- 企业/经营者结算卡名称 -->
<view class="form-item">
<view class="form-label required">企业/经营者结算卡名称</view>
<input type="text" class="form-input" v-model="formData.acct_name" placeholder="请输入结算卡名称" />
</view>
<!-- 签署协议按钮 -->
<button type="button" class="sign-btn" @click="goToSignAgreement">签署协议</button>
<!-- 提交申请按钮 -->
<view class="bottom-btn">
<button type="button" class="submit-btn1" @click="ecQuery">结果查询</button>
<button type="button" class="submit-btn" @click="submitApplication">提交申请</button>
</view>
</form>
<!-- 自定义弹窗 -->
<view v-if="showCustomModal" class="custom-modal-overlay" @click="closeModal">
<view class="custom-modal" @click.stop>
<view class="modal-content">
<p>查询结果前请先确认是否在以下页面中填写信息</p>
<view class="link-container">
<text class="link-text" @click="openApplyUrl">{{ applyUrl || '暂无链接' }}</text>
</view>
</view>
<view class="modal-footer">
<button type="button" class="confirm-btn2" @click="closeModal">取消</button>
<button type="button" class="confirm-btn" @click="confirmQuery">确认</button>
</view>
</view>
</view>
</view>
</template>
<script>
import { picUrl, menuButtonInfo, request, NavgateTo, RequsetUrl } from "../../../utils";
import { apiArr } from "../../../api/contract";
export default {
data() {
return {
formData: {
mch_id: uni.getStorageSync('mchId'),
ec_type_code: 'Ec007',
cert_type: '',
cert_name: '',
cert_no: '',
mobile: '',
business_license_no: '',
business_license_name: '',
openning_bank_code: '',
openning_bank_name: '',
acct_type_code: '',
acct_no: '',
acct_name: '',
ec_content_parameters: '',
},
// picker
showEcTypePicker: false,
showCertTypePicker: false,
showAcctTypePicker: false,
// picker
ecTypeOptions: [
{ label: '特约商户支付服务合作协议V4.1 + 结算授权委托书', value: 'Ec007' }
],
certTypeOptions: [
{ label: '身份证', value: 'RESIDENT_ID' },
{ label: '护照', value: 'PASSPORT' },
{ label: '港澳居民往来内地通行证', value: 'HK_MACAO_PASS' },
{ label: '台湾居民来往大陆通行证', value: 'TAIWAN_PASS' }
],
acctTypeOptions: [
{ label: '对公', value: '57' },
{ label: '对私', value: '58' }
],
//
showCustomModal: false,
applyUrl: ''
};
},
onLoad(options) {
// ec_content
if (options.ec_content) {
this.formData.ec_content_parameters = options.ec_content;
}
//
uni.$on('agreementSigned', (data) => {
if (data && data.ec_content) {
this.formData.ec_content_parameters = data.ec_content;
uni.showToast({
title: '协议签署成功',
icon: 'success'
});
}
});
},
//
onUnload() {
uni.$off('agreementSigned');
},
methods: {
//
download() {
const storeValue = uni.getStorageSync('storeValue');
if (!storeValue || !storeValue.ec_apply_id) {
uni.showToast({
title: '请先提交申请',
icon: 'none'
});
return;
}
const params = {
ec_apply_id: storeValue.ec_apply_id
};
uni.showLoading({
title: '下载中',
mask: true
});
request(apiArr.ecDownload, "POST", params).then(res => {
const respData = res.resp_data;
//
if (respData.ec_status === 'COMPLETED' && respData.ec_file) {
try {
// Base64URLBase64
const base64Data = respData.ec_file;
// URLBase64
const safeBase64 = base64Data.replace(/-/g, '+').replace(/_/g, '/');
//
const fileName = `contract_${respData.ec_apply_id || Date.now()}.pdf`;
// uni-app使API
//
const fs = uni.getFileSystemManager();
//
const tempFilePath = `${uni.env.USER_DATA_PATH}/${fileName}`;
try {
// Base64
fs.writeFile({
filePath: tempFilePath,
data: safeBase64,
encoding: 'base64',
success: () => {
uni.hideLoading();
uni.showToast({
title: '合同下载成功',
icon: 'success'
});
console.log('文件保存成功:', tempFilePath);
//
uni.openDocument({
filePath: tempFilePath,
showMenu: true,
success: (openRes) => {
console.log('文件打开成功:', openRes);
},
fail: (openErr) => {
console.error('文件打开失败:', openErr);
uni.showToast({
title: '文件打开失败',
icon: 'none'
});
}
});
},
fail: (writeErr) => {
uni.hideLoading();
console.error('文件写入失败:', writeErr);
uni.showToast({
title: '合同下载失败',
icon: 'none'
});
}
});
} catch (fsError) {
uni.hideLoading();
console.error('文件系统操作失败:', fsError);
uni.showToast({
title: '文件系统错误',
icon: 'none'
});
}
} catch (error) {
uni.hideLoading();
console.error('处理文件数据失败:', error);
uni.showToast({
title: '文件处理失败',
icon: 'none'
});
}
} else {
uni.hideLoading();
if (respData.ec_status !== 'COMPLETED') {
uni.showToast({
title: '电子合同尚未完成',
icon: 'none'
});
} else {
uni.showToast({
title: '合同文件不存在',
icon: 'none'
});
}
}
}).catch(err => {
uni.hideLoading();
console.error('下载合同失败:', err);
uni.showToast({
title: '下载失败,请重试',
icon: 'none'
});
})
},
//
ecQuery() {
//
this.applyUrl = uni.getStorageSync('applyUrl');
this.showCustomModal = true;
},
//
closeModal() {
this.showCustomModal = false;
},
//
openApplyUrl() {
if (this.applyUrl) {
uni.navigateTo({
url: `/pages/webview/webview?url=${encodeURIComponent(this.applyUrl)}`
});
}
},
//
confirmQuery() {
this.showCustomModal = false;
//
const storeValue = uni.getStorageSync('storeValue');
if (!storeValue || !storeValue.ec_apply_id) {
uni.showToast({
title: '请先提交申请',
icon: 'none'
});
return;
}
const params = {
ec_apply_id: storeValue.ec_apply_id
}
request(apiArr.ecQuery, "POST", params).then(res => {
if (res.resp_data.ec_status === 'COMPLETED') {
uni.showToast({
title: '申请通过',
icon: 'success'
});
} else {
uni.showToast({
title: '申请未通过',
icon: 'none'
});
}
})
},
//
getEcTypeLabel(code) {
// valuevalue
const targetValue = typeof code === 'string' ? code : (code && code.value ? code.value : code);
const option = this.ecTypeOptions.find(item => item.value === targetValue);
return option ? option.label : null;
},
//
getCertTypeLabel(type) {
const option = this.certTypeOptions.find(item => item.value === type);
return option ? option.label : null;
},
//
handleEcTypeClick() {
this.showEcTypePicker = true;
},
handleCertTypeClick() {
this.showCertTypePicker = true;
},
handleAcctTypeClick() {
this.showAcctTypePicker = true;
},
//
onEcTypeConfirm(e) {
const selectedValue = e.value[0];
//
const selectedOption = this.ecTypeOptions.find(item => item.value === selectedValue);
this.formData.ec_type_code = selectedOption ? selectedOption.value : selectedValue;
this.showEcTypePicker = false;
},
//
onCertTypeConfirm(e) {
const selectedValue = e.value[0];
const selectedOption = this.certTypeOptions.find(item => item.value === selectedValue.value);
this.formData.cert_type = selectedOption ? selectedOption.value : selectedValue;
this.showCertTypePicker = false;
},
//
onAcctTypeConfirm(e) {
const selectedValue = e.value[0];
const selectedOption = this.acctTypeOptions.find(item => item.value === selectedValue.value);
this.formData.acct_type_code = selectedOption ? selectedOption.value : selectedValue;
this.showAcctTypePicker = false;
},
goToSignAgreement() {
NavgateTo('/packages/customerService/contract/index', {
//
onAgreementSigned: (data) => {
if (data && data.ec_content) {
this.formData.ec_content_parameters = data.ec_content;
uni.showToast({
title: '协议签署成功',
icon: 'success'
});
}
}
});
},
submitApplication() {
//
if (!this.validateForm()) {
return;
}
request(apiArr.ecApply, "POST", this.formData).then(res => {
uni.showToast({
title: '提交成功',
icon: 'success'
});
uni.setStorageSync('storeValue', { ec_apply_id: res.resp_data.ec_apply_id });
uni.setStorageSync('applyUrl', res.resp_data.result_url);
})
},
//
validateForm() {
const { formData } = this;
if (!formData.ec_type_code) {
uni.showToast({ title: '请选择合同类别', icon: 'none' });
return false;
}
if (!formData.cert_type) {
uni.showToast({ title: '请选择法人/经营者证件类型', icon: 'none' });
return false;
}
if (!formData.cert_name) {
uni.showToast({ title: '请输入法人/经营者姓名', icon: 'none' });
return false;
}
if (!formData.cert_no) {
uni.showToast({ title: '请输入法人/经营者证件号码', icon: 'none' });
return false;
}
//
if (!formData.mobile) {
uni.showToast({ title: '请输入签约手机号', icon: 'none' });
return false;
} else if (!/^1[3-9]\d{9}$/.test(formData.mobile)) {
uni.showToast({ title: '手机号格式不正确', icon: 'none' });
return false;
}
if (!formData.openning_bank_code) {
uni.showToast({ title: '请输入企业/经营者结算开户行号', icon: 'none' });
return false;
}
if (!formData.openning_bank_name) {
uni.showToast({ title: '请输入企业/经营者结算开户行名称', icon: 'none' });
return false;
}
if (!formData.acct_type_code) {
uni.showToast({ title: '请选择企业/经营者结算卡性质', icon: 'none' });
return false;
}
if (!formData.acct_no) {
uni.showToast({ title: '请输入企业/经营者结算卡号', icon: 'none' });
return false;
}
if (!formData.acct_name) {
uni.showToast({ title: '请输入企业/经营者结算卡名称', icon: 'none' });
return false;
}
if (!formData.ec_content_parameters) {
uni.showToast({ title: '请先点击签署协议并完成协议签署', icon: 'none' });
return false;
}
return true;
}
}
};
</script>
<style>
@import url("./index.css");
</style>

View File

@ -16,7 +16,7 @@
</view> </view>
<div class="iptBox"> <div class="iptBox">
<image <image
src="https://static.hshuishang.com/property-img-file/com_communitySearchIcon.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png"
></image> ></image>
<u--input <u--input
placeholder="请输入内容" placeholder="请输入内容"
@ -31,35 +31,35 @@
<div class="FilterItem" @click="showDialog(1)"> <div class="FilterItem" @click="showDialog(1)">
附近 附近
<image <image
src="https://static.hshuishang.com/property-img-file/homeServer_filterMore.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
></image> ></image>
</div> </div>
<div class="FilterItem" @click="showDialog(2)"> <div class="FilterItem" @click="showDialog(2)">
综合 综合
<image <image
src="https://static.hshuishang.com/property-img-file/homeServer_filterMore.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
></image> ></image>
</div> </div>
<div class="FilterItem" @click="showDialog(3)"> <div class="FilterItem" @click="showDialog(3)">
排序 排序
<image <image
src="https://static.hshuishang.com/property-img-file/homeServer_filterMore.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
></image> ></image>
</div> </div>
<div class="FilterItem" @click="showDialog(4)"> <div class="FilterItem" @click="showDialog(4)">
分类 分类
<image <image
src="https://static.hshuishang.com/property-img-file/homeServer_filterMore.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
></image> ></image>
</div> </div>
<div class="FilterItem" @click="showDialog(5)"> <div class="FilterItem" @click="showDialog(5)">
性别 性别
<image <image
src="https://static.hshuishang.com/property-img-file/homeServer_filterMore.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
></image> ></image>
</div> </div>
</div> </div>
@ -67,7 +67,7 @@
<div class="Filter_right"> <div class="Filter_right">
筛选 筛选
<image <image
src="https://static.hshuishang.com/property-img-file/homeServer_filter.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filter.png"
></image> ></image>
</div> </div>
</div> </div>
@ -155,11 +155,11 @@
<div class="MasterItem" v-for="(item, index) in 3" :key="index"> <div class="MasterItem" v-for="(item, index) in 3" :key="index">
<div class="MasterItem_left"> <div class="MasterItem_left">
<image <image
src="https://static.hshuishang.com/property-img-file/community_providentFund_Group_1444.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/community_providentFund_Group_1444.png"
></image> ></image>
<image <image
v-if="false" v-if="false"
src="https://static.hshuishang.com/property-img-file/community_providentFund_Ellipse_160.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/community_providentFund_Ellipse_160.png"
> >
</image> </image>
</div> </div>
@ -167,7 +167,7 @@
<div class="MasterItem_info"> <div class="MasterItem_info">
<div class="MasterItem_Info_left"> <div class="MasterItem_Info_left">
<image <image
src="https://static.hshuishang.com/property-img-file/home_icon12.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/home_icon12.png"
></image> ></image>
<div class="state state1">待服务</div> <div class="state state1">待服务</div>
<div class="state state2" v-if="false">休息中</div> <div class="state state2" v-if="false">休息中</div>
@ -178,18 +178,18 @@
林师傅 林师傅
<image <image
class="Medal" class="Medal"
src="https://static.hshuishang.com/property-img-file/homeServer_Champion.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_Champion.png"
> >
</image> </image>
<image <image
class="Medal" class="Medal"
v-if="false" v-if="false"
src="https://static.hshuishang.com/property-img-file/homeServer_RunnerUp.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_RunnerUp.png"
> >
</image> </image>
<image <image
class="star" class="star"
src="https://static.hshuishang.com/property-img-file/local_start1.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_start1.png"
></image> ></image>
<span>4.8</span> <span>4.8</span>
</div> </div>
@ -211,13 +211,13 @@
<div class="MasterItem_Info_right_6"> <div class="MasterItem_Info_right_6">
<image <image
src="https://static.hshuishang.com/property-img-file/com_MsgImg1.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"
></image> ></image>
<image <image
src="https://static.hshuishang.com/property-img-file/com_MsgImg1.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"
></image> ></image>
<image <image
src="https://static.hshuishang.com/property-img-file/com_MsgImg1.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"
></image> ></image>
</div> </div>
</div> </div>

View File

@ -5,7 +5,7 @@
<view class="location" @click="chooseLocation"> <view class="location" @click="chooseLocation">
<image <image
id="local" id="local"
src="https://static.hshuishang.com/property-img-file/local_localIcon.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_localIcon.png"
mode="aspectFill" mode="aspectFill"
></image> ></image>
@ -14,7 +14,7 @@
</view> </view>
<view class="search-box"> <view class="search-box">
<image <image
src="https://static.hshuishang.com/property-img-file/com_communitySearchIcon.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png"
class="search-icon" class="search-icon"
></image> ></image>
<input class="search-placeholder" placeholder="请输入您要找的服务" /> <input class="search-placeholder" placeholder="请输入您要找的服务" />
@ -44,7 +44,7 @@
> >
<view id="top" style="height: 1px; opacity: 0"></view> <view id="top" style="height: 1px; opacity: 0"></view>
<image <image
src="https://static.hshuishang.com/property-img-file/guanggao4.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/guanggao4.png"
class="content-img" class="content-img"
></image> ></image>
<view <view
@ -138,23 +138,23 @@ export default {
serviceCategories: [ serviceCategories: [
{ {
name: "家电维修", name: "家电维修",
icon: "https://static.hshuishang.com/property-img-file/index_top3.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/index_top3.png",
}, },
{ {
name: "数码维修", name: "数码维修",
icon: "https://static.hshuishang.com/property-img-file/index_top3.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/index_top3.png",
}, },
{ {
name: "电器清洗", name: "电器清洗",
icon: "https://static.hshuishang.com/property-img-file/index_top3.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/index_top3.png",
}, },
{ {
name: "洗衣洗鞋", name: "洗衣洗鞋",
icon: "https://static.hshuishang.com/property-img-file/index_top3.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/index_top3.png",
}, },
{ {
name: "精细擦窗", name: "精细擦窗",
icon: "https://static.hshuishang.com/property-img-file/index_top3.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/index_top3.png",
}, },
], ],
currentIndex: 0, currentIndex: 0,

View File

@ -386,7 +386,7 @@
height: 100rpx; height: 100rpx;
position: fixed; position: fixed;
right: 33rpx; right: 33rpx;
bottom: 100rpx; bottom: 320rpx;
z-index: 10; z-index: 10;
} }

View File

@ -13,7 +13,7 @@
<u-icon name="arrow-down" color="#999999" size="28"></u-icon> <u-icon name="arrow-down" color="#999999" size="28"></u-icon>
</view> </view>
<view class="search-box" @click="searchService"> <view class="search-box" @click="searchService">
<image src="https://static.hshuishang.com/property-img-file/com_communitySearchIcon.png" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png"
class="search-icon" mode="aspectFit"></image> class="search-icon" mode="aspectFit"></image>
<text class="search-placeholder">请输入您要找的服务</text> <text class="search-placeholder">请输入您要找的服务</text>
</view> </view>
@ -45,12 +45,12 @@
<view class="announcement-flex"> <view class="announcement-flex">
到家 到家
<text class="announcement-title"> 公告</text> <text class="announcement-title"> 公告</text>
<image src="https://static.hshuishang.com/property-img-file/index_notice1.png" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/index_notice1.png"
class="announcement-img" mode="aspectFit"></image> class="announcement-img" mode="aspectFit"></image>
</view> </view>
<view class="hrStyle">|</view> <view class="hrStyle">|</view>
<text class="announcement-content">公告内容公告内容公告内容公告内容...</text> <text class="announcement-content">公告内容公告内容公告内容公告内容...</text>
<image src="https://static.hshuishang.com/property-img-file/index_notice2.png" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/index_notice2.png"
class="arrow-right" @click="lookNotice" mode="aspectFit"></image> class="arrow-right" @click="lookNotice" mode="aspectFit"></image>
</view> </view>
@ -58,7 +58,7 @@
<view class="serverList"> <view class="serverList">
<view class="serverList_left"> <view class="serverList_left">
<!-- <view> --> <!-- <view> -->
<image src="https://static.hshuishang.com/property-img-file/guanggao1.png" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/guanggao1.png"
mode="aspectFit" /> mode="aspectFit" />
<!-- <swiper-item v-for="(item, index) in homeLeftList" :key="index"> <!-- <swiper-item v-for="(item, index) in homeLeftList" :key="index">
<image :src="item.pic_src" alt="" mode="aspectFit" /> <image :src="item.pic_src" alt="" mode="aspectFit" />
@ -75,14 +75,14 @@
<!-- 立即联系 --> <!-- 立即联系 -->
<view class="contact-section" @click="contactService"> <view class="contact-section" @click="contactService">
<image src="https://static.hshuishang.com/property-img-file/index_kefu1.png" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/index_kefu1.png"
class="contact-icon"></image> class="contact-icon"></image>
<view class="contact-text"> <view class="contact-text">
<text class="contact-title">立即联系</text> <text class="contact-title">立即联系</text>
<br /> <br />
<text class="contact-subtitle">未找到您需要的服务</text> <text class="contact-subtitle">未找到您需要的服务</text>
</view> </view>
<image src="https://static.hshuishang.com/property-img-file/index_kefu2.png" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/index_kefu2.png"
class="contact-icon2"></image> class="contact-icon2"></image>
</view> </view>
<view class="interval"></view> <view class="interval"></view>
@ -90,19 +90,19 @@
<!-- 推荐热门服务 --> <!-- 推荐热门服务 -->
<view class="hot-services"> <view class="hot-services">
<view class="section-header"> <view class="section-header">
<image src="https://static.hshuishang.com/property-img-file/index_bottom1.png" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/index_bottom1.png"
class="section-arrow"></image> class="section-arrow"></image>
<text class="section-title">推荐热门服务</text> <text class="section-title">推荐热门服务</text>
</view> </view>
<view class="service-list"> <view class="service-list">
<view class="service-card" v-for="(service, index) in hotServiceList" :key="index"> <view class="service-card" v-for="(service, index) in hotServiceList" :key="index">
<image src="https://static.hshuishang.com/property-img-file/ceshi.png" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/ceshi.png"
class="service-image"></image> class="service-image"></image>
<view class="service-info"> <view class="service-info">
<view class="service-info-left"> <view class="service-info-left">
<view class="service-info-left-top"> <view class="service-info-left-top">
<text class="service-name">{{ service.name }}</text> <text class="service-name">{{ service.name }}</text>
<image src="https://static.hshuishang.com/property-img-file/index_bottom2.png" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/index_bottom2.png"
class="service-image2"></image> class="service-image2"></image>
<text class="service-tag">{{ service.tag }}</text> <text class="service-tag">{{ service.tag }}</text>
</view> </view>
@ -127,7 +127,7 @@
<!-- 回到顶部 --> <!-- 回到顶部 -->
<div class="toUp" @click="scrollToTop"> <div class="toUp" @click="scrollToTop">
<u-badge numberType="limit" type="error" max="99" :value="value"></u-badge> <u-badge numberType="limit" type="error" max="99" :value="value"></u-badge>
<image src="https://static.hshuishang.com/property-img-file/toUp.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/toUp.png"></image>
</div> </div>
</view> </view>
</template> </template>
@ -158,17 +158,17 @@ export default {
homeLeftList: [ homeLeftList: [
{ {
title: "", title: "",
pic_src: "https://static.hshuishang.com/property-img-file/guanggao1.png", pic_src: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/guanggao1.png",
}, },
], ],
homeRightList: [ homeRightList: [
{ {
title: "", title: "",
pic_src: "https://static.hshuishang.com/property-img-file/guanggao2.png", pic_src: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/guanggao2.png",
}, },
{ {
title: "", title: "",
pic_src: "https://static.hshuishang.com/property-img-file/guanggao3.png", pic_src: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/guanggao3.png",
}, },
], ],
// //

View File

@ -30,7 +30,7 @@
<swiper> <swiper>
<swiper-item> <swiper-item>
<image <image
src="https://static.hshuishang.com/property-img-file/homeServer_banner.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_banner.png"
></image> ></image>
</swiper-item> </swiper-item>
</swiper> </swiper>
@ -44,7 +44,7 @@
<div class="master_info"> <div class="master_info">
<div class="master_info_left"> <div class="master_info_left">
<image <image
src="https://static.hshuishang.com/property-img-file/home_icon12.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/home_icon12.png"
></image> ></image>
<div class="state state1">待服务</div> <div class="state state1">待服务</div>
<div class="state state2" v-if="false">休息中</div> <div class="state state2" v-if="false">休息中</div>
@ -55,17 +55,17 @@
林师傅 林师傅
<image <image
class="Medal" class="Medal"
src="https://static.hshuishang.com/property-img-file/homeServer_Champion.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_Champion.png"
></image> ></image>
<image <image
class="Medal" class="Medal"
v-if="false" v-if="false"
src="https://static.hshuishang.com/property-img-file/homeServer_RunnerUp.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_RunnerUp.png"
> >
</image> </image>
<image <image
class="star" class="star"
src="https://static.hshuishang.com/property-img-file/local_start1.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_start1.png"
></image> ></image>
<span>4.8</span> <span>4.8</span>
</div> </div>
@ -110,28 +110,28 @@
<div class="master_msg"> <div class="master_msg">
<div class="master_msg_item"> <div class="master_msg_item">
<image <image
src="https://static.hshuishang.com/property-img-file/homeServer_masterIcon1.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_masterIcon1.png"
></image> ></image>
<div class="master_msg_itemText">52</div> <div class="master_msg_itemText">52</div>
<div>广东梅州人</div> <div>广东梅州人</div>
</div> </div>
<div class="master_msg_item"> <div class="master_msg_item">
<image <image
src="https://static.hshuishang.com/property-img-file/homeServer_masterIcon2.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_masterIcon2.png"
></image> ></image>
<div class="master_msg_itemText">5-10</div> <div class="master_msg_itemText">5-10</div>
<div>服务经验</div> <div>服务经验</div>
</div> </div>
<div class="master_msg_item"> <div class="master_msg_item">
<image <image
src="https://static.hshuishang.com/property-img-file/homeServer_masterIcon3.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_masterIcon3.png"
></image> ></image>
<div class="master_msg_itemText">500+</div> <div class="master_msg_itemText">500+</div>
<div>成功预约</div> <div>成功预约</div>
</div> </div>
<div class="master_msg_item"> <div class="master_msg_item">
<image <image
src="https://static.hshuishang.com/property-img-file/homeServer_masterIcon4.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_masterIcon4.png"
></image> ></image>
<div class="master_msg_itemText">100+</div> <div class="master_msg_itemText">100+</div>
<div>用户评价</div> <div>用户评价</div>
@ -149,7 +149,7 @@
<div class="imgList"> <div class="imgList">
<div class="imgItem" v-for="(item, index) in 5" :key="index"> <div class="imgItem" v-for="(item, index) in 5" :key="index">
<image <image
src="https://static.hshuishang.com/property-img-file/com_MsgImg1.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"
></image> ></image>
</div> </div>
</div> </div>
@ -160,7 +160,7 @@
<div class="master_info mt20" v-for="(item, index) in 3" :key="index"> <div class="master_info mt20" v-for="(item, index) in 3" :key="index">
<div class="master_info_left"> <div class="master_info_left">
<image <image
src="https://static.hshuishang.com/property-img-file/home_icon12.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/home_icon12.png"
></image> ></image>
<div class="state state1">待服务</div> <div class="state state1">待服务</div>
<div class="state state2" v-if="false">休息中</div> <div class="state state2" v-if="false">休息中</div>
@ -172,17 +172,17 @@
林师傅 林师傅
<image <image
class="Medal" class="Medal"
src="https://static.hshuishang.com/property-img-file/homeServer_Champion.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_Champion.png"
></image> ></image>
<image <image
class="Medal" class="Medal"
v-if="false" v-if="false"
src="https://static.hshuishang.com/property-img-file/homeServer_RunnerUp.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_RunnerUp.png"
> >
</image> </image>
<image <image
class="star" class="star"
src="https://static.hshuishang.com/property-img-file/local_start1.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_start1.png"
></image> ></image>
<span>4.8</span> <span>4.8</span>
</div> </div>
@ -215,7 +215,7 @@
<div class="master_info"> <div class="master_info">
<div class="master_info_left"> <div class="master_info_left">
<image <image
src="https://static.hshuishang.com/property-img-file/home_icon12.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/home_icon12.png"
></image> ></image>
<div class="state state1">待服务</div> <div class="state state1">待服务</div>
<div class="state state2" v-if="false">休息中</div> <div class="state state2" v-if="false">休息中</div>
@ -226,17 +226,17 @@
林师傅 林师傅
<image <image
class="Medal" class="Medal"
src="https://static.hshuishang.com/property-img-file/homeServer_Champion.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_Champion.png"
></image> ></image>
<image <image
class="Medal" class="Medal"
v-if="false" v-if="false"
src="https://static.hshuishang.com/property-img-file/homeServer_RunnerUp.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_RunnerUp.png"
> >
</image> </image>
<image <image
class="star" class="star"
src="https://static.hshuishang.com/property-img-file/local_start1.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_start1.png"
></image> ></image>
<span>4.8</span> <span>4.8</span>
</div> </div>
@ -282,28 +282,28 @@
<div class="master_msg"> <div class="master_msg">
<div class="master_msg_item"> <div class="master_msg_item">
<image <image
src="https://static.hshuishang.com/property-img-file/homeServer_masterIcon1.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_masterIcon1.png"
></image> ></image>
<div class="master_msg_itemText">52</div> <div class="master_msg_itemText">52</div>
<div>广东梅州人</div> <div>广东梅州人</div>
</div> </div>
<div class="master_msg_item"> <div class="master_msg_item">
<image <image
src="https://static.hshuishang.com/property-img-file/homeServer_masterIcon2.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_masterIcon2.png"
></image> ></image>
<div class="master_msg_itemText">5-10</div> <div class="master_msg_itemText">5-10</div>
<div>服务经验</div> <div>服务经验</div>
</div> </div>
<div class="master_msg_item"> <div class="master_msg_item">
<image <image
src="https://static.hshuishang.com/property-img-file/homeServer_masterIcon3.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_masterIcon3.png"
></image> ></image>
<div class="master_msg_itemText">500+</div> <div class="master_msg_itemText">500+</div>
<div>成功预约</div> <div>成功预约</div>
</div> </div>
<div class="master_msg_item"> <div class="master_msg_item">
<image <image
src="https://static.hshuishang.com/property-img-file/homeServer_masterIcon4.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_masterIcon4.png"
></image> ></image>
<div class="master_msg_itemText">100+</div> <div class="master_msg_itemText">100+</div>
<div>用户评价</div> <div>用户评价</div>
@ -323,7 +323,7 @@
<div class="evaluateItem_header"> <div class="evaluateItem_header">
<div class="evaluateItem_ava"> <div class="evaluateItem_ava">
<image <image
src="https://static.hshuishang.com/property-img-file/com_MsgImg1.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"
></image> ></image>
</div> </div>
<div class="evaluateItem_msg"> <div class="evaluateItem_msg">
@ -332,7 +332,7 @@
<image <image
v-for="(item, index) in 5" v-for="(item, index) in 5"
:key="index" :key="index"
src="https://static.hshuishang.com/property-img-file/homeServer_stait.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_stait.png"
></image> ></image>
<span class="evaluateItem_msg3">技术评级100</span> <span class="evaluateItem_msg3">技术评级100</span>
</div> </div>
@ -349,7 +349,7 @@
<div class="imgList"> <div class="imgList">
<div class="imgItem" v-for="(item, index) in 5" :key="index"> <div class="imgItem" v-for="(item, index) in 5" :key="index">
<image <image
src="https://static.hshuishang.com/property-img-file/com_MsgImg1.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"
></image> ></image>
</div> </div>
</div> </div>
@ -361,14 +361,14 @@
<div class="footerIcon" @click="Vendor"> <div class="footerIcon" @click="Vendor">
<image <image
id="footerIcon1" id="footerIcon1"
src="https://static.hshuishang.com/property-img-file/footer_shop.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/footer_shop.png"
></image> ></image>
店铺 店铺
</div> </div>
<div class="footerIcon"> <div class="footerIcon">
<image <image
id="footerIcon2" id="footerIcon2"
src="https://static.hshuishang.com/property-img-file/homeServer_CollectIcon.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_CollectIcon.png"
></image> ></image>
收藏 收藏
</div> </div>
@ -376,7 +376,7 @@
<image <image
@click="openSave" @click="openSave"
id="footerIcon2" id="footerIcon2"
src="https://static.hshuishang.com/property-img-file/shop_share.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/shop_share.png"
></image> ></image>
分享 分享
</div> </div>
@ -393,7 +393,7 @@
<view class="boxshadow_text">好友对方可以直接查看详情</view> <view class="boxshadow_text">好友对方可以直接查看详情</view>
<view class="boxshadow_text2">张师傅</view> <view class="boxshadow_text2">张师傅</view>
<view class="boxshadow_img"> <view class="boxshadow_img">
<image src="https://static.hshuishang.com/erweima.png"> </image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/erweima.png"> </image>
</view> </view>
<view class="boxshadow_text2">扫描二维码查看服务详情</view> <view class="boxshadow_text2">扫描二维码查看服务详情</view>
<view class="boxshadow_btnList"> <view class="boxshadow_btnList">

View File

@ -29,7 +29,7 @@
<div class="EvaluateItem" v-for="(item, index) in 3" :key="index"> <div class="EvaluateItem" v-for="(item, index) in 3" :key="index">
<div class="evaluateItem_header"> <div class="evaluateItem_header">
<div class="evaluateItem_ava"> <div class="evaluateItem_ava">
<image src="https://static.hshuishang.com/property-img-file/com_MsgImg1.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"></image>
</div> </div>
<div class="evaluateItem_msg"> <div class="evaluateItem_msg">
<div class="evaluateItem_msg1">TP</div> <div class="evaluateItem_msg1">TP</div>
@ -37,7 +37,7 @@
<image <image
v-for="(item, index) in 5" v-for="(item, index) in 5"
:key="index" :key="index"
src="https://static.hshuishang.com/property-img-file/homeServer_stait.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_stait.png"
></image> ></image>
</div> </div>
</div> </div>

View File

@ -8,7 +8,7 @@
<view class="notice-content">{{ item.content }}</view> <view class="notice-content">{{ item.content }}</view>
<view class="notice-date"> <view class="notice-date">
<image <image
src="https://static.hshuishang.com/time.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/time.png"
class="date-image" class="date-image"
></image> ></image>
<view>{{ item.date }}</view> <view>{{ item.date }}</view>
@ -31,13 +31,13 @@ export default {
return { return {
noticeList: [ noticeList: [
{ {
image: "https://static.hshuishang.com/test.png", image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
title: "公告标题1", title: "公告标题1",
content: "公告内容", content: "公告内容",
date: "2023-01-01", date: "2023-01-01",
}, },
{ {
image: "https://static.hshuishang.com/test.png", image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
title: "公告标题2", title: "公告标题2",
content: "公告内容", content: "公告内容",
date: "2023-01-02", date: "2023-01-02",

View File

@ -105,7 +105,7 @@
.active2::after { .active2::after {
content: ''; content: '';
background: url(https://static.hshuishang.com/property-img-file/com_active.png) no-repeat; background: url(https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_active.png) no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
width: 52rpx; width: 52rpx;
height: 22rpx; height: 22rpx;

View File

@ -12,7 +12,7 @@
></u-icon> ></u-icon>
<view class="search-input-container"> <view class="search-input-container">
<image <image
src="https://static.hshuishang.com/property-img-file/com_communitySearchIcon.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png"
class="search-icon" class="search-icon"
></image> ></image>
<input <input
@ -100,7 +100,7 @@
@click="navigateToReservation(service)" @click="navigateToReservation(service)"
> >
<image <image
src="https://static.hshuishang.com/property-img-file/ceshi.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/ceshi.png"
class="service-image" class="service-image"
/> />
<view class="service-info"> <view class="service-info">
@ -108,7 +108,7 @@
<view class="service-info-left-top"> <view class="service-info-left-top">
<text class="service-name">{{ service.name }}</text> <text class="service-name">{{ service.name }}</text>
<image <image
src="https://static.hshuishang.com/property-img-file/index_bottom2.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/index_bottom2.png"
class="service-image2" class="service-image2"
></image> ></image>
<text class="service-tag">{{ service.tag }}</text> <text class="service-tag">{{ service.tag }}</text>
@ -153,7 +153,7 @@
:value="value" :value="value"
></u-badge> ></u-badge>
<image <image
src="https://static.hshuishang.com/property-img-file/toUp.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/toUp.png"
></image> ></image>
</div> --> </div> -->
</view> </view>
@ -177,15 +177,15 @@ export default {
specifiedContent: [ specifiedContent: [
{ {
name: "服务", name: "服务",
icon: "https://static.hshuishang.com/property-img-file/com_communitySearchIcon.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png",
}, },
{ {
name: "阿石", name: "阿石",
icon: "https://static.hshuishang.com/property-img-file/com_communitySearchIcon.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png",
}, },
{ {
name: "阿榴", name: "阿榴",
icon: "https://static.hshuishang.com/property-img-file/com_communitySearchIcon.png", icon: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png",
}, },
], ],
searchHistory: [], searchHistory: [],

View File

@ -205,86 +205,71 @@ page {
padding: 20rpx 30rpx; padding: 20rpx 30rpx;
border-bottom: 1rpx solid #f5f5f5; border-bottom: 1rpx solid #f5f5f5;
} }
.filter-title { .filter-title {
font-size: 28rpx; font-size: 28rpx;
color: #333; color: #333;
margin-bottom: 20rpx; margin-bottom: 20rpx;
font-weight: bold; font-weight: bold;
} }
.filter-options { .filter-options {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
gap: 15rpx; gap: 15rpx;
} }
.filter-option { .filter-option {
border-radius: 10rpx; background: #f5f5f5;
border: 1rpx solid #cccccc; border-radius: 50rpx;
padding: 12rpx 30rpx; padding: 12rpx 30rpx;
font-size: 24rpx; font-size: 24rpx;
color: #666; color: #666;
white-space: nowrap; white-space: nowrap;
} }
.filter-option.active { .filter-option.active {
background: #ff370b; background: #ff370b;
color: white; color: white;
} }
.price-range { .price-range {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 20rpx; gap: 20rpx;
margin-top: 10rpx; margin-top: 10rpx;
} }
.price-input { .price-input {
flex: 1; flex: 1;
height: 60rpx; height: 60rpx;
border: 1rpx solid #cccccc; background: #f5f5f5;
border-radius: 10rpx; border-radius: 10rpx;
padding: 0 20rpx; padding: 0 20rpx;
font-size: 24rpx; font-size: 24rpx;
border: none;
} }
.price-separator { .price-separator {
font-size: 28rpx; font-size: 28rpx;
color: #999; color: #999;
} }
.filter-buttons { .filter-buttons {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
padding: 20rpx 30rpx; padding: 20rpx 30rpx;
margin-top: 10rpx; margin-top: 10rpx;
} }
.reset-button { .reset-button {
width: 200rpx; width: 200rpx;
height: 70rpx; height: 70rpx;
border: 1rpx solid #cccccc; border: 1rpx solid #7abbff;
border-radius: 50rpx; border-radius: 50rpx;
background: #d9d9d9; background: #f0f7ff;
color: black; color: #409eff;
display: flex;
align-items: center;
justify-content: center;
font-size: 28rpx; font-size: 28rpx;
} }
.confirm-button { .confirm-button {
width: 200rpx; width: 200rpx;
height: 70rpx; height: 70rpx;
background: #ff370b; background: #409eff;
border-radius: 50rpx; border-radius: 50rpx;
color: white; color: white;
font-size: 28rpx; font-size: 28rpx;
display: flex; border: none;
align-items: center;
justify-content: center;
font-size: 28rpx;
} }
.MasterItem_Info_right_1 { .MasterItem_Info_right_1 {
@ -416,7 +401,6 @@ page {
.local span { .local span {
font-weight: 700; font-weight: 700;
margin: 0 10rpx;
} }
.filterMore1 { .filterMore1 {
@ -425,32 +409,27 @@ page {
overflow: hidden; overflow: hidden;
overflow-x: auto; overflow-x: auto;
white-space: nowrap; white-space: nowrap;
margin: 40rpx 0 20rpx 0; margin-top: 20rpx;
} }
.filterMoreItem { .filterMoreItem {
font-size: 26rpx; font-size: 28rpx;
color: #222222; color: #222222;
display: flex; display: flex;
align-items: center; align-items: center;
background-color: #f6f6fa;
padding: 0 20rpx; padding: 0 20rpx;
margin-right: 10rpx; margin-right: 10rpx;
margin-right: 20rpx; margin-right: 20rpx;
border-radius: 10rpx; border-radius: 20rpx;
border: 1rpx solid #cccccc;
padding: 10rpx 20rpx; padding: 10rpx 20rpx;
} }
.filterMoreItem-active {
color: #ff702c !important;
border: 1rpx solid #ff702c;
}
.filterMore2_item { .filterMore2_item {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
margin: 0 10rpx 45rpx 10rpx; margin-bottom: 20rpx;
color: #999; color: #999;
} }

View File

@ -1,178 +1,179 @@
<template> <template>
<view class="container2"> <view class="container2">
<view class="header"> <div class="header">
<view class="Filter"> <div class="Filter">
<view class="Filter_left"> <div class="Filter_left">
<view <div
v-for="filter in filters" v-for="filter in filters"
:key="filter.id" :key="filter.id"
class="FilterItem" class="FilterItem"
:class="{ active: selectedFilter === filter.id }" :class="{ active: selectedFilter === filter.id }"
@click=" @click="
showDialog(filter.id); showDialog(filter.id);
selectedFilter = filter.id;
" "
> >
{{ filter.label }} {{ filter.label }}
<image <image
:src=" :src="
selectedFilter === filter.id selectedFilter === filter.id
? 'https://static.hshuishang.com/search_up.png' ? 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/search_up.png'
: 'https://static.hshuishang.com/property-img-file/homeServer_filterMore.png' : 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png'
" "
:class="{ iconStyle: selectedFilter === filter.id }" :class="{ iconStyle: selectedFilter === filter.id }"
></image> ></image>
</view> </div>
</view> </div>
<view class="Filter_right" @click="showDialog(6)"> <div class="Filter_right" @click="showDialog(6)">
<text :class="{ activeFilter: show6 }">筛选</text> <text :class="{ activeFilter: show6 }">筛选</text>
<image <image
src="https://static.hshuishang.com/property-img-file/homeServer_filter.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filter.png"
></image> ></image>
</view> </div>
</view> </div>
<!-- 位置筛选 --> <!-- 位置筛选 -->
<view class="FilterMore" v-if="show1"> <div class="FilterMore" v-if="show1">
<view class="local">距离 <span>上海公馆</span> ></view> <div class="local">距离 <span>上海公馆</span></div>
<view class="filterMore1"> <div class="filterMore1">
<view class="filterMoreItem filterMoreItem-active">附近</view> <div class="filterMoreItem">附近</div>
<view class="filterMoreItem">500m</view> <div class="filterMoreItem">500m</div>
<view class="filterMoreItem">1km</view> <div class="filterMoreItem">1km</div>
<view class="filterMoreItem">3km</view> <div class="filterMoreItem">3km</div>
<view class="filterMoreItem">5km</view> <div class="filterMoreItem">5km</div>
<view class="filterMoreItem">10km</view> <div class="filterMoreItem">10km</div>
</view> </div>
</view> </div>
<!-- 综合筛选 --> <!-- 综合筛选 -->
<view class="FilterMore" v-if="show2"> <div class="FilterMore" v-if="show2">
<view class="filterMore2_item"> <div class="filterMore2_item">
<view class="filterMore2_item_left">综合</view> <div class="filterMore2_item_left">综合</div>
<view class="filterMore2_item_right"> <div class="filterMore2_item_right">
<u-icon name="checkmark-circle-fill" color="#ff702c"></u-icon> <u-icon name="checkmark-circle-fill" color="#ff702c"></u-icon>
</view> </div>
</view> </div>
<view class="filterMore2_item"> <div class="filterMore2_item">
<view class="filterMore2_item_left active3">从高到低</view> <div class="filterMore2_item_left active3">从高到低</div>
<view class="filterMore2_item_right"> <div class="filterMore2_item_right">
<u-icon name="checkmark-circle-fill" color="#ff702c"></u-icon> <u-icon name="checkmark-circle-fill" color="#ff702c"></u-icon>
</view> </div>
</view> </div>
<view class="filterMore2_item"> <div class="filterMore2_item">
<view class="filterMore2_item_left">从低到高</view> <div class="filterMore2_item_left">从低到高</div>
<view class="filterMore2_item_right"> <div class="filterMore2_item_right">
<u-icon name="checkmark-circle-fill" color="#ff702c"></u-icon> <u-icon name="checkmark-circle-fill" color="#ff702c"></u-icon>
</view> </div>
</view> </div>
</view> </div>
<!-- 排序筛选 --> <!-- 排序筛选 -->
<view class="FilterMore" v-if="show3"> <div class="FilterMore" v-if="show3">
<view class="filterMore2_item"> <div class="filterMore2_item">
<view class="filterMore2_item_left2">智能排序</view> <div class="filterMore2_item_left2">智能排序</div>
<view class="filterMore2_item_right"> <div class="filterMore2_item_right">
<u-icon name="checkmark-circle-fill" color="#ff702c"></u-icon> <u-icon name="checkmark-circle-fill" color="#ff702c"></u-icon>
</view> </div>
</view> </div>
<view class="filterMore2_item"> <div class="filterMore2_item">
<view class="filterMore2_item_left2 active3">距离优先</view> <div class="filterMore2_item_left2 active3">距离优先</div>
<view class="filterMore2_item_right"> <div class="filterMore2_item_right">
<u-icon name="checkmark-circle-fill" color="#ff702c"></u-icon> <u-icon name="checkmark-circle-fill" color="#ff702c"></u-icon>
</view> </div>
</view> </div>
<view class="filterMore2_item"> <div class="filterMore2_item">
<view class="filterMore2_item_left2">好评优先</view> <div class="filterMore2_item_left2">好评优先</div>
<view class="filterMore2_item_right"> <div class="filterMore2_item_right">
<u-icon name="checkmark-circle-fill" color="#ff702c"></u-icon> <u-icon name="checkmark-circle-fill" color="#ff702c"></u-icon>
</view> </div>
</view> </div>
<view class="filterMore2_item"> <div class="filterMore2_item">
<view class="filterMore2_item_left2">销量优先</view> <div class="filterMore2_item_left2">销量优先</div>
<view class="filterMore2_item_right"> <div class="filterMore2_item_right">
<u-icon name="checkmark-circle-fill" color="#ff702c"></u-icon> <u-icon name="checkmark-circle-fill" color="#ff702c"></u-icon>
</view> </div>
</view> </div>
</view> </div>
<!-- 高级筛选面板 --> <!-- 高级筛选面板 -->
<view class="FilterMore" v-if="show6"> <div class="FilterMore" v-if="show6">
<view class="filter-section"> <div class="filter-section">
<view class="filter-title">满意度</view> <div class="filter-title">满意度</div>
<view class="filter-options"> <div class="filter-options">
<view <div
class="filter-option" class="filter-option"
:class="{ active: selectedSatisfaction.includes('5+') }" :class="{ active: selectedSatisfaction.includes('5+') }"
@click="toggleSatisfaction('5+')" @click="toggleSatisfaction('5+')"
> >
5分及以上 5分及以上
</view> </div>
<view <div
class="filter-option" class="filter-option"
:class="{ active: selectedSatisfaction.includes('4.9+') }" :class="{ active: selectedSatisfaction.includes('4.9+') }"
@click="toggleSatisfaction('4.9+')" @click="toggleSatisfaction('4.9+')"
> >
4.9分及以上 4.9分及以上
</view> </div>
<view <div
class="filter-option" class="filter-option"
:class="{ active: selectedSatisfaction.includes('4.8+') }" :class="{ active: selectedSatisfaction.includes('4.8+') }"
@click="toggleSatisfaction('4.8+')" @click="toggleSatisfaction('4.8+')"
> >
4.8分及以上 4.8分及以上
</view> </div>
<view <div
class="filter-option" class="filter-option"
:class="{ active: selectedSatisfaction.includes('4.7+') }" :class="{ active: selectedSatisfaction.includes('4.7+') }"
@click="toggleSatisfaction('4.7+')" @click="toggleSatisfaction('4.7+')"
> >
4.7分及以上 4.7分及以上
</view> </div>
<view <div
class="filter-option" class="filter-option"
:class="{ active: selectedSatisfaction.includes('4.6+') }" :class="{ active: selectedSatisfaction.includes('4.6+') }"
@click="toggleSatisfaction('4.6+')" @click="toggleSatisfaction('4.6+')"
> >
4.6分及以上 4.6分及以上
</view> </div>
<view <div
class="filter-option" class="filter-option"
:class="{ active: selectedSatisfaction.includes('4.5+') }" :class="{ active: selectedSatisfaction.includes('4.5+') }"
@click="toggleSatisfaction('4.5+')" @click="toggleSatisfaction('4.5+')"
> >
4.5分及以上 4.5分及以上
</view> </div>
</view> </div>
</view> </div>
<view class="filter-section"> <div class="filter-section">
<view class="filter-title">评论数量</view> <div class="filter-title">评论数量</div>
<view class="filter-options"> <div class="filter-options">
<view <div
class="filter-option" class="filter-option"
:class="{ active: selectedReviewCount === '1-100' }" :class="{ active: selectedReviewCount === '1-100' }"
@click="selectedReviewCount = '1-100'" @click="selectedReviewCount = '1-100'"
> >
1-100 1-100
</view> </div>
<view <div
class="filter-option" class="filter-option"
:class="{ active: selectedReviewCount === '100-500' }" :class="{ active: selectedReviewCount === '100-500' }"
@click="selectedReviewCount = '100-500'" @click="selectedReviewCount = '100-500'"
> >
100-500 100-500
</view> </div>
<view <div
class="filter-option" class="filter-option"
:class="{ active: selectedReviewCount === '500+' }" :class="{ active: selectedReviewCount === '500+' }"
@click="selectedReviewCount = '500+'" @click="selectedReviewCount = '500+'"
> >
500以上 500以上
</view> </div>
</view> </div>
</view> </div>
<view class="filter-section"> <div class="filter-section">
<view class="filter-title">价格范围</view> <div class="filter-title">价格范围</div>
<view class="price-range"> <div class="price-range">
<input <input
type="number" type="number"
v-model="minPrice" v-model="minPrice"
@ -188,111 +189,111 @@
class="price-input" class="price-input"
@input="validatePriceRange" @input="validatePriceRange"
/> />
</view> </div>
</view> </div>
<view class="filter-section"> <div class="filter-section">
<view class="filter-title">类别</view> <div class="filter-title">类别</div>
<view class="filter-options"> <div class="filter-options">
<view <div
class="filter-option" class="filter-option"
:class="{ active: selectedCategory === 'airConditioner' }" :class="{ active: selectedCategory === 'airConditioner' }"
@click="selectedCategory = 'airConditioner'" @click="selectedCategory = 'airConditioner'"
> >
空调维修 空调维修
</view> </div>
<view <div
class="filter-option" class="filter-option"
:class="{ active: selectedCategory === 'refrigerator' }" :class="{ active: selectedCategory === 'refrigerator' }"
@click="selectedCategory = 'refrigerator'" @click="selectedCategory = 'refrigerator'"
> >
冰箱维修 冰箱维修
</view> </div>
</view> </div>
</view> </div>
<view class="filter-buttons"> <div class="filter-buttons">
<button class="reset-button" @click="resetFilters">重置</button> <button class="reset-button" @click="resetFilters">重置</button>
<button class="confirm-button" @click="applyFilters">确定</button> <button class="confirm-button" @click="applyFilters">确定</button>
</view> </div>
</view> </div>
</view> </div>
<view class="main"> <div class="main">
<!-- 遮罩 --> <!-- 遮罩 -->
<view class="dialogBox" v-if="isShowDia" @click="closeAllFilters"></view> <div class="dialogBox" v-if="isShowDia"></div>
<view class="MasterList"> <div class="MasterList">
<view class="MasterItem" v-for="(item, index) in 5" :key="index"> <div class="MasterItem" v-for="(item, index) in 5" :key="index">
<view class="MasterItem_right"> <div class="MasterItem_right">
<view class="MasterItem_info"> <div class="MasterItem_info">
<view class="MasterItem_Info_left"> <div class="MasterItem_Info_left">
<image <image
src="https://static.hshuishang.com/property-img-file/home_icon12.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/home_icon12.png"
></image> ></image>
<view class="state state1">待服务</view> <div class="state state1">待服务</div>
<view class="state state2" v-if="false">休息中</view> <div class="state state2" v-if="false">休息中</div>
<view class="state state3" v-if="false">服务中</view> <div class="state state3" v-if="false">服务中</div>
</view> </div>
<view class="MasterItem_Info_right"> <div class="MasterItem_Info_right">
<view class="MasterItem_Info_right_1"> <div class="MasterItem_Info_right_1">
<view class="master_info_right_left"> <div class="master_info_right_left">
林师傅 林师傅
<image <image
class="Medal" class="Medal"
src="https://static.hshuishang.com/property-img-file/homeServer_Champion.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_Champion.png"
> >
</image> </image>
<image <image
class="Medal" class="Medal"
v-if="false" v-if="false"
src="https://static.hshuishang.com/property-img-file/homeServer_RunnerUp.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_RunnerUp.png"
> >
</image> </image>
<image <image
class="star" class="star"
src="https://static.hshuishang.com/property-img-file/local_start1.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_start1.png"
></image> ></image>
<span>4.8</span> <span>4.8</span>
</view> </div>
<view class="master_info_right_right" @click="masterInfo"> <div class="master_info_right_right" @click="masterInfo">
查看资料 查看资料
</view> </div>
</view> </div>
<view class="MasterItem_Info_right_2"> <div class="MasterItem_Info_right_2">
52 广东梅州人 5-10 52 广东梅州人 5-10
</view> </div>
<view class="MasterItem_Info_right_3"> <div class="MasterItem_Info_right_3">
<span>500+</span>预定 <span>100+</span>评价 <span>500+</span>预定 <span>100+</span>评价
</view> </div>
<view class="MasterItem_Info_right_4"> <div class="MasterItem_Info_right_4">
<view class="tagItem tag1">积极主动</view> <div class="tagItem tag1">积极主动</div>
<view class="tagItem tag2">技术精湛</view> <div class="tagItem tag2">技术精湛</div>
<view class="tagItem tag3">技术精湛</view> <div class="tagItem tag3">技术精湛</div>
</view> </div>
<view class="MasterItem_Info_right_5"> <div class="MasterItem_Info_right_5">
价格范围 <span>500-800</span> 价格范围 <span>500-800</span>
</view> </div>
<view class="MasterItem_Info_right_6"> <div class="MasterItem_Info_right_6">
<image <image
src="https://static.hshuishang.com/property-img-file/com_MsgImg1.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"
></image> ></image>
<image <image
src="https://static.hshuishang.com/property-img-file/com_MsgImg1.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"
></image> ></image>
<image <image
src="https://static.hshuishang.com/property-img-file/com_MsgImg1.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"
></image> ></image>
</view> </div>
</view> </div>
</view> </div>
</view> </div>
</view> </div>
</view> </div>
</view> </div>
</view> </view>
</template> </template>
@ -338,8 +339,18 @@ export default {
}; };
}, },
watch: { watch: {
// watch show1(val) {
// if (!val) this.selectedFilter = null;
},
show2(val) {
if (!val) this.selectedFilter = null;
},
show3(val) {
if (!val) this.selectedFilter = null;
},
show6(val) {
if (!val) this.selectedFilter = null;
},
}, },
methods: { methods: {
masterInfo() { masterInfo() {
@ -390,9 +401,6 @@ export default {
this.isShowDia = false; this.isShowDia = false;
}, },
showDialog(index) { showDialog(index) {
// ID
this.selectedFilter = index;
//
this[`show${index}`] = !this[`show${index}`]; this[`show${index}`] = !this[`show${index}`];
this.logOtherButtons(index); this.logOtherButtons(index);
this.isShowDia = this[`show${index}`]; this.isShowDia = this[`show${index}`];
@ -404,14 +412,6 @@ export default {
} }
} }
}, },
closeAllFilters() {
//
for (let i = 1; i <= 6; i++) {
this[`show${i}`] = false;
}
this.isShowDia = false;
this.selectedFilter = null;
},
}, },
onReady() {}, onReady() {},

View File

@ -16,7 +16,7 @@
</view> </view>
<div class="iptBox"> <div class="iptBox">
<image <image
src="https://static.hshuishang.com/property-img-file/com_communitySearchIcon.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png"
></image> ></image>
<u--input <u--input
placeholder="请输入内容" placeholder="请输入内容"
@ -31,42 +31,42 @@
<div class="FilterItem" @click="showDialog(1)"> <div class="FilterItem" @click="showDialog(1)">
附近 附近
<image <image
src="https://static.hshuishang.com/property-img-file/homeServer_filterMore.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
></image> ></image>
</div> </div>
<div class="FilterItem" @click="showDialog(2)"> <div class="FilterItem" @click="showDialog(2)">
综合 综合
<image <image
src="https://static.hshuishang.com/property-img-file/homeServer_filterMore.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
></image> ></image>
</div> </div>
<div class="FilterItem" @click="showDialog(3)"> <div class="FilterItem" @click="showDialog(3)">
排序 排序
<image <image
src="https://static.hshuishang.com/property-img-file/homeServer_filterMore.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
></image> ></image>
</div> </div>
<div class="FilterItem" @click="showDialog(4)"> <div class="FilterItem" @click="showDialog(4)">
分类 分类
<image <image
src="https://static.hshuishang.com/property-img-file/homeServer_filterMore.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
></image> ></image>
</div> </div>
<div class="FilterItem" @click="showDialog(5)"> <div class="FilterItem" @click="showDialog(5)">
性别 性别
<image <image
src="https://static.hshuishang.com/property-img-file/homeServer_filterMore.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
></image> ></image>
</div> </div>
<div class="FilterItem" @click="showDialog(6)"> <div class="FilterItem" @click="showDialog(6)">
地区 地区
<image <image
src="https://static.hshuishang.com/property-img-file/homeServer_filterMore.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
></image> ></image>
</div> </div>
</div> </div>
@ -74,7 +74,7 @@
<div class="Filter_right"> <div class="Filter_right">
筛选 筛选
<image <image
src="https://static.hshuishang.com/property-img-file/homeServer_filter.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filter.png"
></image> ></image>
</div> </div>
</div> </div>
@ -202,7 +202,7 @@
<div class="MasterItem_info"> <div class="MasterItem_info">
<div class="MasterItem_Info_left"> <div class="MasterItem_Info_left">
<image <image
src="https://static.hshuishang.com/property-img-file/home_icon12.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/home_icon12.png"
></image> ></image>
<div class="state state1">待服务</div> <div class="state state1">待服务</div>
<div class="state state2" v-if="false">休息中</div> <div class="state state2" v-if="false">休息中</div>
@ -214,18 +214,18 @@
林师傅 林师傅
<image <image
class="Medal" class="Medal"
src="https://static.hshuishang.com/property-img-file/homeServer_Champion.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_Champion.png"
> >
</image> </image>
<image <image
class="Medal" class="Medal"
v-if="false" v-if="false"
src="https://static.hshuishang.com/property-img-file/homeServer_RunnerUp.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_RunnerUp.png"
> >
</image> </image>
<image <image
class="star" class="star"
src="https://static.hshuishang.com/property-img-file/local_start1.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_start1.png"
></image> ></image>
<span>4.8</span> <span>4.8</span>
</div> </div>
@ -252,13 +252,13 @@
<div class="MasterItem_Info_right_6"> <div class="MasterItem_Info_right_6">
<image <image
src="https://static.hshuishang.com/property-img-file/com_MsgImg1.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"
></image> ></image>
<image <image
src="https://static.hshuishang.com/property-img-file/com_MsgImg1.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"
></image> ></image>
<image <image
src="https://static.hshuishang.com/property-img-file/com_MsgImg1.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"
></image> ></image>
</div> </div>
</div> </div>

View File

@ -37,7 +37,7 @@ export default {
shops: [ shops: [
{ {
id: 1, id: 1,
image: "https://static.hshuishang.com/test.png", image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
title: "专业到家服务", title: "专业到家服务",
ratingCount: 5, ratingCount: 5,
rating: 4.8, rating: 4.8,
@ -46,7 +46,7 @@ export default {
}, },
{ {
id: 2, id: 2,
image: "https://static.hshuishang.com/test.png", image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
title: "专业到家服务", title: "专业到家服务",
ratingCount: 5, ratingCount: 5,
rating: 4.8, rating: 4.8,
@ -55,7 +55,7 @@ export default {
}, },
{ {
id: 3, id: 3,
image: "https://static.hshuishang.com/test.png", image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
title: "专业到家服务", title: "专业到家服务",
ratingCount: 5, ratingCount: 5,
rating: 4.8, rating: 4.8,
@ -64,7 +64,7 @@ export default {
}, },
{ {
id: 4, id: 4,
image: "https://static.hshuishang.com/test.png", image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
title: "专业到家服务", title: "专业到家服务",
ratingCount: 5, ratingCount: 5,
rating: 4.8, rating: 4.8,
@ -73,7 +73,7 @@ export default {
}, },
{ {
id: 5, id: 5,
image: "https://static.hshuishang.com/test.png", image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
title: "专业到家服务", title: "专业到家服务",
ratingCount: 5, ratingCount: 5,
rating: 4.8, rating: 4.8,
@ -82,7 +82,7 @@ export default {
}, },
{ {
id: 6, id: 6,
image: "https://static.hshuishang.com/test.png", image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
title: "专业到家服务", title: "专业到家服务",
ratingCount: 5, ratingCount: 5,
rating: 4.8, rating: 4.8,
@ -91,7 +91,7 @@ export default {
}, },
{ {
id: 7, id: 7,
image: "https://static.hshuishang.com/test.png", image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
title: "专业到家服务", title: "专业到家服务",
ratingCount: 5, ratingCount: 5,
rating: 4.8, rating: 4.8,
@ -100,7 +100,7 @@ export default {
}, },
{ {
id: 7, id: 7,
image: "https://static.hshuishang.com/test.png", image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
title: "专业到家服务", title: "专业到家服务",
ratingCount: 5, ratingCount: 5,
rating: 4.8, rating: 4.8,
@ -109,7 +109,7 @@ export default {
}, },
{ {
id: 7, id: 7,
image: "https://static.hshuishang.com/test.png", image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
title: "专业到家服务", title: "专业到家服务",
ratingCount: 5, ratingCount: 5,
rating: 4.8, rating: 4.8,
@ -118,7 +118,7 @@ export default {
}, },
{ {
id: 7, id: 7,
image: "https://static.hshuishang.com/test.png", image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
title: "专业到家服务", title: "专业到家服务",
ratingCount: 5, ratingCount: 5,
rating: 4.8, rating: 4.8,
@ -127,7 +127,7 @@ export default {
}, },
{ {
id: 7, id: 7,
image: "https://static.hshuishang.com/test.png", image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
title: "专业到家服务", title: "专业到家服务",
ratingCount: 5, ratingCount: 5,
rating: 4.8, rating: 4.8,
@ -136,7 +136,7 @@ export default {
}, },
{ {
id: 7, id: 7,
image: "https://static.hshuishang.com/test.png", image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
title: "专业到家服务", title: "专业到家服务",
ratingCount: 5, ratingCount: 5,
rating: 4.8, rating: 4.8,
@ -145,7 +145,7 @@ export default {
}, },
{ {
id: 7, id: 7,
image: "https://static.hshuishang.com/test.png", image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
title: "专业到家服务", title: "专业到家服务",
ratingCount: 5, ratingCount: 5,
rating: 4.8, rating: 4.8,
@ -154,7 +154,7 @@ export default {
}, },
{ {
id: 7, id: 7,
image: "https://static.hshuishang.com/test.png", image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
title: "专业到家服务", title: "专业到家服务",
ratingCount: 5, ratingCount: 5,
rating: 4.8, rating: 4.8,
@ -163,7 +163,7 @@ export default {
}, },
{ {
id: 7, id: 7,
image: "https://static.hshuishang.com/test.png", image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
title: "专业到家服务", title: "专业到家服务",
ratingCount: 5, ratingCount: 5,
rating: 4.8, rating: 4.8,
@ -172,7 +172,7 @@ export default {
}, },
{ {
id: 7, id: 7,
image: "https://static.hshuishang.com/test.png", image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
title: "专业到家服务", title: "专业到家服务",
ratingCount: 5, ratingCount: 5,
rating: 4.8, rating: 4.8,
@ -181,7 +181,7 @@ export default {
}, },
{ {
id: 7, id: 7,
image: "https://static.hshuishang.com/test.png", image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
title: "专业到家服务", title: "专业到家服务",
ratingCount: 5, ratingCount: 5,
rating: 4.8, rating: 4.8,
@ -190,7 +190,7 @@ export default {
}, },
{ {
id: 7, id: 7,
image: "https://static.hshuishang.com/test.png", image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
title: "专业到家服务", title: "专业到家服务",
ratingCount: 5, ratingCount: 5,
rating: 4.8, rating: 4.8,

View File

@ -253,7 +253,7 @@
.active2::after { .active2::after {
content: ''; content: '';
background: url(https://static.hshuishang.com/property-img-file/com_active.png) no-repeat; background: url(https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_active.png) no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
width: 52rpx; width: 52rpx;
height: 22rpx; height: 22rpx;

View File

@ -75,7 +75,7 @@
<div class="serverItem" @click="selectVendor"> <div class="serverItem" @click="selectVendor">
<div class="serverItem_left"> <div class="serverItem_left">
<image src="https://static.hshuishang.com/test.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png"></image>
</div> </div>
<div class="serverItem_right"> <div class="serverItem_right">
<div class="serverItem_right_msg"> <div class="serverItem_right_msg">
@ -89,20 +89,20 @@
<span class="rating"> <span class="rating">
<image <image
class="infoImage" class="infoImage"
src="https://static.hshuishang.com/serverInfo_xing.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/serverInfo_xing.png"
/> />
4.8 4.8
</span> </span>
<span class="distance"> <span class="distance">
<image <image
class="infoImage" class="infoImage"
src="https://static.hshuishang.com/serverInfo_weizhi.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/serverInfo_weizhi.png"
/>3.3km</span />3.3km</span
> >
<span class="served"> <span class="served">
<image <image
class="infoImage" class="infoImage"
src="https://static.hshuishang.com/serverInfo_fuwu.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/serverInfo_fuwu.png"
/>12226</span />12226</span
> >
</div> </div>
@ -133,14 +133,14 @@ export default {
return { return {
bannerList: [ bannerList: [
{ {
pic_src: "https://static.hshuishang.com/test.png", pic_src: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
}, },
{ {
pic_src: pic_src:
"https://static.hshuishang.com/property-img-file/homeServer_banner.png", "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_banner.png",
}, },
{ {
pic_src: "https://static.hshuishang.com/test.png", pic_src: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
}, },
], ],
currentIdx: 0, currentIdx: 0,

View File

@ -1,7 +1,7 @@
<template> <template>
<view class="container"> <view class="container">
<div class="searchIpt" @click="search"> <div class="searchIpt" @click="search">
<image src="https://static.hshuishang.com/property-img-file/com_communitySearchIcon.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png"></image>
<u--input placeholder="请输入内容" border="none" disabled v-model="value" @change="change"></u--input> <u--input placeholder="请输入内容" border="none" disabled v-model="value" @change="change"></u--input>
</div> </div>
<div class="line"></div> <div class="line"></div>
@ -10,7 +10,7 @@
<div class="vendorInfo"> <div class="vendorInfo">
<div class="vendorInfo_left"> <div class="vendorInfo_left">
<div class="vendorInfo_img"> <div class="vendorInfo_img">
<image src="https://static.hshuishang.com/property-img-file/com_MsgImg1.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"></image>
</div> </div>
<div class="vendorInfo_info"> <div class="vendorInfo_info">
<div class="vendor_name">专业到家服务</div> <div class="vendor_name">专业到家服务</div>
@ -18,15 +18,15 @@
</div> </div>
</div> </div>
<div class="vendorInfo_right"> <div class="vendorInfo_right">
<image src="https://static.hshuishang.com/property-img-file/local_start1.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_start1.png"></image>
<image v-if="false" src="https://static.hshuishang.com/property-img-file/local_start2.png"></image> <image v-if="false" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_start2.png"></image>
<div>收藏</div> <div>收藏</div>
<div v-if="false">取消收藏</div> <div v-if="false">取消收藏</div>
</div> </div>
</div> </div>
<div class="vendorMsg"> <div class="vendorMsg">
<div class="vendorMsg_Item"> <div class="vendorMsg_Item">
<image src="https://static.hshuishang.com/property-img-file/homeServer_masterIcon1.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_masterIcon1.png"></image>
<div class="vendorMsg_Item_msg"> <div class="vendorMsg_Item_msg">
<div class="num">150+</div> <div class="num">150+</div>
<div>服务师傅</div> <div>服务师傅</div>
@ -34,7 +34,7 @@
</div> </div>
<div class="vendorMsg_Item"> <div class="vendorMsg_Item">
<image src="https://static.hshuishang.com/property-img-file/homeServer_CumulativeIcon.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_CumulativeIcon.png"></image>
<div class="vendorMsg_Item_msg"> <div class="vendorMsg_Item_msg">
<div class="num">5000+</div> <div class="num">5000+</div>
<div>累计订单</div> <div>累计订单</div>
@ -42,7 +42,7 @@
</div> </div>
<div class="vendorMsg_Item"> <div class="vendorMsg_Item">
<image src="https://static.hshuishang.com/property-img-file/homeServer_masterIcon2.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_masterIcon2.png"></image>
<div class="vendorMsg_Item_msg"> <div class="vendorMsg_Item_msg">
<div class="num">10+</div> <div class="num">10+</div>
<div>行业经验</div> <div>行业经验</div>
@ -62,7 +62,7 @@
<div class="master_info" v-for="(item, index) in 3" :key="index"> <div class="master_info" v-for="(item, index) in 3" :key="index">
<div class="master_info_left"> <div class="master_info_left">
<image src="https://static.hshuishang.com/property-img-file/home_icon12.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/home_icon12.png"></image>
<div class="state state1">待服务</div> <div class="state state1">待服务</div>
<div class="state state2" v-if="false">休息中</div> <div class="state state2" v-if="false">休息中</div>
<div class="state state3" v-if="false">服务中</div> <div class="state state3" v-if="false">服务中</div>
@ -70,10 +70,10 @@
<div class="master_info_right"> <div class="master_info_right">
<div class="master_info_right1"> <div class="master_info_right1">
<div class="master_info_right_left">林师傅 <div class="master_info_right_left">林师傅
<image class="Medal" src="https://static.hshuishang.com/property-img-file/homeServer_Champion.png"></image> <image class="Medal" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_Champion.png"></image>
<image class="Medal" v-if="false" src="https://static.hshuishang.com/property-img-file/homeServer_RunnerUp.png"> <image class="Medal" v-if="false" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_RunnerUp.png">
</image> </image>
<image class="star" src="https://static.hshuishang.com/property-img-file/local_start1.png"></image> <image class="star" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_start1.png"></image>
<span>4.8</span> <span>4.8</span>
</div> </div>
<div class="master_info_right_right"> <div class="master_info_right_right">

View File

@ -6,7 +6,7 @@
<u-icon bold color="#000" size="40" name="arrow-left" @click="back"></u-icon> <u-icon bold color="#000" size="40" name="arrow-left" @click="back"></u-icon>
</view> </view>
<div class="iptBox"> <div class="iptBox">
<image src="https://static.hshuishang.com/property-img-file/com_communitySearchIcon.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png"></image>
<u--input placeholder="请输入内容" border="none" v-model="value" @change="change"></u--input> <u--input placeholder="请输入内容" border="none" v-model="value" @change="change"></u--input>
</div> </div>
</div> </div>
@ -14,33 +14,33 @@
<div class="Filter_left"> <div class="Filter_left">
<div class="FilterItem" @click="show1 = !show1"> <div class="FilterItem" @click="show1 = !show1">
接单量 接单量
<image src="https://static.hshuishang.com/property-img-file/homeServer_filterMore.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image>
</div> </div>
<div class="FilterItem" @click="show2 = !show2"> <div class="FilterItem" @click="show2 = !show2">
满意度 满意度
<image src="https://static.hshuishang.com/property-img-file/homeServer_filterMore.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image>
</div> </div>
<div class="FilterItem" @click="show3 = !show3"> <div class="FilterItem" @click="show3 = !show3">
排序 排序
<image src="https://static.hshuishang.com/property-img-file/homeServer_filterMore.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image>
</div> </div>
<div class="FilterItem" @click="show4 = !show4"> <div class="FilterItem" @click="show4 = !show4">
分类 分类
<image src="https://static.hshuishang.com/property-img-file/homeServer_filterMore.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image>
</div> </div>
<div class="FilterItem" @click="show5 = !show5"> <div class="FilterItem" @click="show5 = !show5">
性别 性别
<image src="https://static.hshuishang.com/property-img-file/homeServer_filterMore.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image>
</div> </div>
</div> </div>
<div class="Filter_right"> <div class="Filter_right">
筛选 筛选
<image src="https://static.hshuishang.com/property-img-file/homeServer_filter.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filter.png"></image>
</div> </div>
</div> </div>
<!-- 位置筛选 --> <!-- 位置筛选 -->
@ -126,7 +126,7 @@
<div class="MasterItem_right"> <div class="MasterItem_right">
<div class="MasterItem_info"> <div class="MasterItem_info">
<div class="MasterItem_Info_left"> <div class="MasterItem_Info_left">
<image src="https://static.hshuishang.com/property-img-file/home_icon12.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/home_icon12.png"></image>
<div class="state state1">待服务</div> <div class="state state1">待服务</div>
<div class="state state2" v-if="false">休息中</div> <div class="state state2" v-if="false">休息中</div>
<div class="state state3" v-if="false">服务中</div> <div class="state state3" v-if="false">服务中</div>
@ -135,12 +135,12 @@
<div class="MasterItem_Info_right_1"> <div class="MasterItem_Info_right_1">
<div class="master_info_right_left"> <div class="master_info_right_left">
林师傅 林师傅
<image class="Medal" src="https://static.hshuishang.com/property-img-file/homeServer_Champion.png"> <image class="Medal" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_Champion.png">
</image> </image>
<image class="Medal" v-if="false" <image class="Medal" v-if="false"
src="https://static.hshuishang.com/property-img-file/homeServer_RunnerUp.png"> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_RunnerUp.png">
</image> </image>
<image class="star" src="https://static.hshuishang.com/property-img-file/local_start1.png"></image> <image class="star" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_start1.png"></image>
<span>4.8</span> <span>4.8</span>
</div> </div>
@ -163,9 +163,9 @@
</div> </div>
<div class="MasterItem_Info_right_6"> <div class="MasterItem_Info_right_6">
<image src="https://static.hshuishang.com/property-img-file/com_MsgImg1.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"></image>
<image src="https://static.hshuishang.com/property-img-file/com_MsgImg1.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"></image>
<image src="https://static.hshuishang.com/property-img-file/com_MsgImg1.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"></image>
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,362 +0,0 @@
/* 全局样式重置 */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
/* 商品详情页容器 */
.detail-container {
width: 100%;
min-height: 100vh;
background-color: #f5f5f5;
padding-bottom: 100rpx;
}
/* 轮播图容器 */
.swiper-container {
position: relative;
width: 100%;
height: 600rpx;
background-color: #fff;
}
.swiper-image {
width: 100%;
height: 100%;
object-fit: cover;
}
.swiper-indicator {
position: absolute;
bottom: 20rpx;
right: 20rpx;
background-color: rgba(0, 0, 0, 0.5);
color: #fff;
padding: 10rpx 20rpx;
border-radius: 20rpx;
font-size: 24rpx;
}
/* 商品信息 */
.product-info {
padding: 30rpx;
background-color: #fff;
margin-bottom: 20rpx;
}
.product-price {
display: flex;
align-items: baseline;
margin-bottom: 20rpx;
justify-content: space-between;
}
.price-number {
font-size: 48rpx;
font-weight: bold;
color: #ff4d4f;
margin-right: 10rpx;
}
.price-unit {
font-size: 28rpx;
color: #ff4d4f;
}
.product-name {
font-size: 32rpx;
font-weight: 500;
color: #333;
line-height: 48rpx;
margin-bottom: 15rpx;
}
.exchange-info {
font-size: 24rpx;
color: #999;
}
/* 商品详情 */
.product-details {
padding: 30rpx;
background-color: #fff;
}
.detail-title {
font-size: 32rpx;
font-weight: 500;
color: #333;
margin-bottom: 20rpx;
padding-bottom: 20rpx;
border-bottom: 1rpx solid #e8e8e8;
display: flex;
align-items: center;
}
.line {
flex: 1;
height: 1rpx;
background-color: #000000;
margin: 0 20rpx;
}
.detail-content {
width: 100%;
}
.detail-image {
width: 100%;
height: auto;
margin-bottom: 20rpx;
}
/* 底部操作栏 */
.bottom-bar {
position: fixed;
bottom: 0;
left: 0;
width: 100%;
height: 150rpx;
background-color: #fff;
border-top: 1rpx solid #e8e8e8;
display: flex;
align-items: center;
padding: 0 30rpx;
z-index: 99;
}
.points-info {
display: flex;
flex-direction: column;
margin-right: 30rpx;
}
.points-label {
font-size: 24rpx;
color: #999;
}
.points-number {
font-size: 32rpx;
font-weight: bold;
color: #ff6262;
}
.insufficient-points {
width: 60%;
height: 70rpx;
line-height: 70rpx;
background-color: #f0f0f0;
color: #999;
text-align: center;
border-radius: 35rpx;
font-size: 28rpx;
margin-left: 10%;
}
.exchange-btn {
width: 200rpx;
height: 70rpx;
line-height: 70rpx;
background-color: #ff4d4f;
color: #fff;
text-align: center;
border-radius: 25rpx;
font-size: 32rpx;
border: none;
position: absolute;
right: 100rpx;
}
/* 规格选择弹窗 */
.spec-popup {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
display: flex;
justify-content: flex-end;
align-items: flex-end;
z-index: 999;
}
.popup-content {
width: 100%;
background-color: #fff;
border-radius: 30rpx 30rpx 0 0;
padding: 30rpx;
max-height: 80vh;
overflow-y: auto;
position: relative;
}
.popup-header {
display: flex;
align-items: center;
margin-bottom: 30rpx;
}
.spec-price {
display: flex;
align-items: baseline;
}
.spec-price-number {
font-size: 48rpx;
font-weight: bold;
color: #ff4d4f;
margin-right: 10rpx;
}
.spec-price-unit {
font-size: 28rpx;
color: #ff4d4f;
}
.spec-selected {
font-size: 28rpx;
color: #333;
flex: 1;
}
.close-btn {
font-size: 48rpx;
color: #999;
width: 50rpx;
height: 50rpx;
line-height: 50rpx;
text-align: center;
position: absolute;
top: 30rpx;
right: 30rpx;
}
.spec-image {
width: 150rpx;
height: 150rpx;
margin-right: 30rpx;
}
.spec-image-item {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 20rpx;
}
.spec-section {
margin-bottom: 30rpx;
}
.spec-title {
font-size: 28rpx;
font-weight: 500;
color: #333;
margin-bottom: 20rpx;
}
.spec-options {
display: flex;
flex-wrap: wrap;
gap: 20rpx;
}
.spec-option {
padding: 20rpx 30rpx;
border: 1rpx solid #e8e8e8;
border-radius: 10rpx;
font-size: 28rpx;
color: #333;
background-color: #fafafa;
}
.spec-option.active {
border-color: #ff4d4f;
color: #ff4d4f;
background-color: #fff2f0;
}
.quantity-section {
display: flex;
align-items: center;
justify-content: space-between;
margin: 50rpx 30rpx;
}
.quantity-title {
font-size: 28rpx;
font-weight: 500;
color: #333;
margin-right: 30rpx;
}
.quantity-control {
display: flex;
align-items: center;
}
.quantity-btn {
width: 60rpx;
height: 60rpx;
line-height: 60rpx;
text-align: center;
border: 1rpx solid #e8e8e8;
background-color: #fafafa;
font-size: 32rpx;
color: #333;
display: flex;
justify-content: center;
align-items: center;
}
.quantity-btn:disabled {
color: #ccc;
}
.quantity-input {
width: 80rpx;
height: 60rpx;
line-height: 60rpx;
text-align: center;
font-size: 28rpx;
color: #333;
border-top: 1rpx solid #e8e8e8;
border-bottom: 1rpx solid #e8e8e8;
}
.popup-footer {
margin: 30rpx;
}
.confirm-btn {
width: 100%;
height: 80rpx;
line-height: 80rpx;
background-color: #ff4d4f;
color: #fff;
text-align: center;
border-radius: 40rpx;
font-size: 32rpx;
border: none;
}
/* 适配不同屏幕尺寸 */
@media screen and (max-width: 375px) {
.price-number,
.spec-price-number {
font-size: 40rpx;
}
.product-name {
font-size: 28rpx;
}
.exchange-btn,
.confirm-btn {
font-size: 28rpx;
}
}

View File

@ -1,217 +0,0 @@
<template>
<view class="detail-container">
<!-- 商品轮播图 -->
<view class="swiper-container">
<swiper indicator-dots :autoplay="false" :interval="3000" :duration="1000" indicator-active-color="#ff4d4f"
style="height: 100%;">
<swiper-item v-for="(item, index) in carouselImages" :key="index" style="height: 100%;">
<image :src="item" mode="aspectFill" class="swiper-image"></image>
</swiper-item>
</swiper>
<view class="swiper-indicator">{{ currentImageIndex + 1 }}/{{ carouselImages.length }}</view>
</view>
<!-- 商品信息 -->
<view class="product-info">
<view class="product-price">
<view>
<text class="price-number">{{ selectedGoodsInfo.points }}</text>
<text class="price-unit">积分</text>
</view>
<view class="exchange-info">已兑{{ productInfo.exchange_count }}</view>
</view>
<view class="product-name">{{ productInfo.commodity_name }}</view>
</view>
<!-- 商品详情 -->
<view class="product-details">
<view class="detail-title">
<view class="line"></view>
<view>商品详情</view>
<view class="line"></view>
</view>
<view class="detail-content">
<image v-for="(item, index) in detailImages" :key="index" :src="item" mode="widthFix"
class="detail-image" />
</view>
</view>
<!-- 底部操作栏 -->
<view class="bottom-bar">
<view class="points-info">
<text class="points-number">{{ selectedGoodsInfo.points }}积分</text>
<text class="points-label">当前积分{{ userPoints }}</text>
</view>
<view v-if="userPoints < selectedGoodsInfo.points" class="insufficient-points">
<text v-if="!isLoggedIn" >暂未登录,请先登录</text>
<text v-else>积分不足还差{{ selectedGoodsInfo.points - userPoints }}积分哦</text>
</view>
<button v-else class="exchange-btn" @click="showSpecPopup = true">立即兑换</button>
<!-- <button class="exchange-btn" @click="showSpecPopup = true">立即兑换</button> -->
</view>
<!-- 规格选择弹窗 -->
<view v-if="showSpecPopup" class="spec-popup" @click.self="showSpecPopup = false">
<view class="popup-content">
<view class="close-btn" @click="showSpecPopup = false">×</view>
<view class="popup-header">
<view class="spec-image">
<image :src="selectedGoodsInfo.goods_info.commodity_pic" class="spec-image-item">
</image>
</view>
<view class="spec-info">
<view class="spec-price">
<text class="spec-price-number">{{ selectedGoodsInfo.points }}</text>
<text class="spec-price-unit">积分</text>
</view>
<view class="spec-change">
<view class="spec-selected">已选{{ selectedGoodsInfo.goods_info.goods_name }}</view>
</view>
</view>
</view>
<view class="spec-section">
<view class="spec-title">规格</view>
<view class="spec-options">
<view v-for="(spec, index) in productInfo.goods_info_list" :key="index"
:class="['spec-option', { active: selectedSpecId === spec.id }]" @click="selectSpec(spec)">
{{ spec.goods_info.goods_name }}
</view>
</view>
</view>
<view class="quantity-section">
<view class="quantity-title">数量</view>
<view class="quantity-control">
<button class="quantity-btn" @click="decreaseQuantity" :disabled="quantity <= 1">-</button>
<view class="quantity-input">{{ quantity }}</view>
<button class="quantity-btn" @click="increaseQuantity">+</button>
</view>
</view>
<view class="popup-footer">
<button class="confirm-btn" @click="confirmExchange">立即兑换</button>
</view>
</view>
</view>
</view>
</template>
<script>
import { request, picUrl, NavgateTo } from "../../../utils";
import { apiArr } from "../../../api/pointShop";
import { apiArr as apiArr2 } from '../../../api/v2User';
export default {
data() {
return {
productInfo: {},
userPoints: 0,
currentImageIndex: 0,
showSpecPopup: false,
selectedSpecId: 1,
selectedSpec: '',
quantity: 1,
selectedGoodsInfo: {},
isLoggedIn: false
};
},
computed: {
//
carouselImages() {
if (this.productInfo.commodity_carousel) {
return this.productInfo.commodity_carousel.split(',').map(item => picUrl + item);
}
return [];
},
//
detailImages() {
if (this.productInfo.commodity_detail_pic) {
return this.productInfo.commodity_detail_pic.split(',').map(item => picUrl + item);
}
return [];
}
},
methods: {
//
selectSpec(spec) {
this.selectedSpecId = spec.id;
this.selectedSpec = spec.goods_info.goods_name;
this.selectedGoodsInfo = {
...spec,
goods_info: {
...spec.goods_info,
commodity_pic: picUrl + spec.goods_info.commodity_pic
}
};
this.quantity = 1;
},
//
decreaseQuantity() {
if (this.quantity > 1) {
this.quantity--;
}
},
//
increaseQuantity() {
if (this.quantity < this.selectedGoodsInfo.goods_info.stock && this.quantity < this.selectedGoodsInfo.goods_info.limit_buy) {
this.quantity++;
}
},
//
confirmExchange() {
const orderInfo = {
productId: this.productInfo.id,
specId: this.selectedSpecId,
specName: this.selectedSpec,
quantity: this.quantity,
price: this.selectedGoodsInfo.points,
goodsInfo: this.selectedGoodsInfo,
}
this.showSpecPopup = false;
NavgateTo('/packages/jfShop/submitOrder/index?orderInfo=' + JSON.stringify(orderInfo));
},
//
getPointNum() {
if (!uni.getStorageSync("ctoken")) {
return 0;
}
request(apiArr2.getUserInfo, 'POST', {}, { silent: false }).then(res => {
this.userPoints = res.points;
});
},
},
onshow() {
this.getPointNum();
//
this.isLoggedIn = !!uni.getStorageSync("ctoken");
},
onLoad(options) {
this.getPointNum();
//
this.isLoggedIn = !!uni.getStorageSync("ctoken");
const orderInfo = JSON.parse(options.product);
const params = {
id: orderInfo.id
}
request(apiArr.pointGoodInfo, 'POST', params, { silent: false }, false).then(res => {
this.productInfo = res;
//
if (res.goods_info_list && res.goods_info_list.length > 0) {
this.selectedSpecId = res.goods_info_list[0].id;
this.selectedSpec = res.goods_info_list[0].goods_info.goods_name;
this.selectedGoodsInfo = {
...res.goods_info_list[0],
goods_info: {
...res.goods_info_list[0].goods_info,
commodity_pic: picUrl + res.goods_info_list[0].goods_info.commodity_pic
}
};
}
});
}
};
</script>
<style>
@import url('./index.css');
</style>

View File

@ -1,169 +0,0 @@
.header {
padding: 20rpx 0;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.header_top {
width: 50rpx;
height: 50rpx;
}
.header_sum {
font-size: 55rpx;
font-weight: bold;
color: #333;
}
.header_dec {
font-size: 20rpx;
color: #333;
}
.center{
padding: 20rpx 70rpx;
display: flex;
justify-content: space-between ;
align-items: center;
font-size: 24rpx;
}
.center_item{
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.image_item{
width: 70rpx;
height: 70rpx;
background-color: #f0f7ff;
border-radius: 20rpx;
margin-bottom: 10rpx;
display: flex;
justify-content: center;
align-items: center;
}
.image_item image{
width: 45rpx;
height: 45rpx;
}
/* 分类导航样式 */
.category-nav {
border-bottom: 1rpx solid #f0f0f0;
background-color: #fff;
}
.category-scroll {
white-space: nowrap;
padding: 0 20rpx;
margin-top: 20rpx;
}
.category-item {
display: inline-block;
padding: 20rpx 30rpx;
font-size: 28rpx;
color: #333;
position: relative;
}
.category-item.active {
color: #1e88e5;
font-weight: 500;
}
.category-item.active::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 100rpx;
height: 4rpx;
background-color: #1e88e5;
border-radius: 2rpx;
}
/* 商品列表样式 */
.product-list {
padding: 20rpx;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20rpx;
}
.product-item {
background-color: #fff;
border-radius: 12rpx;
padding: 20rpx;
display: flex;
flex-direction: column;
align-items: center;
}
.product-image {
width: 300rpx;
height: 300rpx;
border-radius: 8rpx;
margin-bottom: 16rpx;
}
.product-title {
font-size: 24rpx;
color: #333;
margin-bottom: 12rpx;
width: 100%;
line-height: 32rpx;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}
.product-info {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 16rpx;
}
.product-points {
font-size: 28rpx;
font-weight: bold;
color: #ff4444;
}
.product-sold {
font-size: 20rpx;
color: #999;
}
.exchange-btn {
width: 100%;
height: 60rpx;
background-color: #ff4444;
color: #fff;
font-size: 24rpx;
font-weight: 500;
border-radius: 30rpx;
display: flex;
justify-content: center;
align-items: center;
}
/* 加载状态样式 */
.loading, .no-more {
text-align: center;
padding: 30rpx 0;
font-size: 24rpx;
color: #999;
grid-column: 1 / -1;
}

View File

@ -1,167 +0,0 @@
<template>
<view>
<view class="header">
<image class="header_top" src="https://static.hshuishang.com/point_top.png" mode="" />
<view class="header_sum">{{ pointsNum }}</view>
<view class="header_dec">当前可用积分</view>
</view>
<view class="center">
<view class="center_item" @click="toPage('mx')">
<view class="image_item">
<image class="header_top" src="https://static.hshuishang.com/point_mx.png" mode="" />
</view>
<view>积分明细</view>
</view>
<view class="center_item">
<view class="image_item" @click="toPage('gz')">
<image class="header_top" src="https://static.hshuishang.com/point_gz.png" mode="" />
</view>
<view>积分规则</view>
</view>
<view class="center_item">
<view class="image_item" @click="toPage('jl')">
<image class="header_top" src="https://static.hshuishang.com/point_jl.png" mode="" />
</view>
<view>兑换记录</view>
</view>
</view>
<!-- 分类导航 -->
<view class="category-nav">
<scroll-view scroll-x="true" class="category-scroll">
<view v-for="(category, index) in categories" :key="index" class="category-item"
:class="{ active: activeCategory === category.id }" @click="activeCategory = category.id">
{{ category.category_name }}
</view>
</scroll-view>
</view>
<!-- 商品列表 -->
<scroll-view scroll-y="true" @scrolltolower="loadMore" style="height: calc(100vh - 300rpx);">
<view class="product-list">
<view v-for="(product, index) in products" :key="index" class="product-item">
<image class="product-image" :src="product.commodity_pic" mode="aspectFill" @click="toDetail(product)"></image>
<view class="product-title" @click="toDetail(product)">{{ product.commodity_name }}</view>
<view class="product-info" @click="toDetail(product)">
<view class="product-points">{{ product.goods_info_list[0].points }} 积分</view>
<view class="product-sold">已兑换{{ product.exchange_count }}</view>
</view>
<view class="exchange-btn" @click="toDetail(product)">立即兑换</view>
</view>
<!-- 加载更多提示 -->
<view v-if="loading" class="loading">加载中...</view>
</view>
</scroll-view>
</view>
</template>
<script>
import { request, picUrl, NavgateTo } from "../../../utils";
import { apiArr } from "../../../api/pointShop";
import { apiArr as apiArr2 } from '../../../api/v2User';
export default {
data() {
return {
pointsNum: 0,
activeCategory: '',
categories: [],
products: [],
page_num: 1,
page_size: 20,
loading: false,
noMore: false
}
},
watch: {
activeCategory(newVal) {
//
this.page_num = 1;
this.products = [];
this.noMore = false;
this.getList();
}
},
onShow() {
this.getNum()
this.getTab()
this.page_num = 1;
this.products = [];
this.noMore = false;
this.getList()
},
methods: {
getNum() {
if (!uni.getStorageSync("ctoken")) {
return 0;
}
request(apiArr2.getUserInfo, 'POST', {}, { silent: false }).then(res => {
this.pointsNum = res.points;
});
},
getTab() {
request(apiArr.pointShopTab, 'POST', {}, { silent: false }, false).then(res => {
this.categories = [{ id: '', category_name: '全部' }, ...res.tabs];
});
},
getList() {
if (this.loading || this.noMore) return;
this.loading = true;
const params = {
category_id: this.activeCategory,
page_num: this.page_num,
page_size: this.page_size
}
request(apiArr.pointShopPage, 'POST', params, { silent: false }, false).then(res => {
this.loading = false;
const newProducts = res.row.map(item => {
return {
...item,
commodity_pic: picUrl + item.commodity_pic,
}
});
//
if (this.page_num === 1) {
this.products = newProducts;
} else {
this.products = [...this.products, ...newProducts];
}
//
if (newProducts.length < this.page_size) {
this.noMore = true;
}
}).catch(() => {
this.loading = false;
});
},
loadMore() {
if (!this.loading && !this.noMore) {
this.page_num++;
this.getList();
}
},
toPage(data) {
if (data == 'mx') {
request(apiArr2.getUserInfo, 'POST', {}, { silent: false }).then(res => {
NavgateTo('/packages/user/wallet/index?type=1&item=' + JSON.stringify(res));
});
} else if (data == 'gz') {
uni.navigateTo({
url: '/packages/jfShop/rule/index'
})
} else if (data == 'jl') {
NavgateTo('/packages/jfShop/record/index');
}
},
toDetail(product) {
NavgateTo('/packages/jfShop/detail/index?product=' + JSON.stringify(product) + '&pointNum=' + this.pointsNum, { isLogin: false });
}
}
}
</script>
<style>
@import url("./index.css");
</style>

View File

@ -1,223 +0,0 @@
page {
background-color: #F5F7FA;
}
/* 订单详情页面样式 */
.order-detail-container {
display: flex;
flex-direction: column;
padding-bottom: 20rpx;
}
/* 通用区块样式 */
.section {
background-color: #ffffff;
border-radius: 12rpx;
margin: 10rpx 20rpx;
padding: 24rpx;
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
}
.section-title {
font-size: 30rpx;
font-weight: 600;
color: #333333;
margin-bottom: 20rpx;
}
/* 商品信息 */
.goods-item {
display: flex;
align-items: center;
padding: 10rpx 0;
}
.goods-image {
width: 140rpx;
height: 140rpx;
border-radius: 8rpx;
margin-right: 20rpx;
}
.goods-info {
flex: 1;
min-width: 0;
}
.goods-name {
font-size: 28rpx;
font-weight: 500;
color: #333333;
margin-bottom: 10rpx;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.goods-quantity {
font-size: 24rpx;
color: #999999;
}
/* 价格信息 */
.price-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 16rpx 0;
border-bottom: 1rpx solid #F0F0F0;
}
.price-item:last-child {
border-bottom: none;
}
.price-label {
font-size: 26rpx;
color: #666666;
}
.price-value {
font-size: 26rpx;
color: #333333;
}
.total-price .price-label {
font-weight: 600;
}
.total-price .price-value {
font-weight: 600;
color: #FF5000;
}
/* 收货地址 */
.address-info {
padding: 10rpx 0;
}
.consignee {
font-size: 28rpx;
font-weight: 500;
color: #333333;
margin-bottom: 10rpx;
}
.address-detail {
font-size: 26rpx;
color: #666666;
line-height: 36rpx;
}
/* 订单信息 */
.order-info-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 16rpx 0;
border-bottom: 1rpx solid #F0F0F0;
}
.order-info-item:last-child {
border-bottom: none;
}
.info-label {
font-size: 26rpx;
color: #666666;
}
.info-value {
font-size: 26rpx;
color: #333333;
display: flex;
align-items: center;
}
.copy-btn {
background-color: transparent;
border: none;
color: #4A6CF7;
font-size: 24rpx;
margin-left: 16rpx;
padding: 0;
}
/* 门店信息卡片 */
.store-card {
display: flex;
justify-content: space-between;
align-items: flex-start;
padding: 10rpx 0;
}
.store-info {
flex: 1;
padding-right: 20rpx;
}
.store-name {
font-size: 28rpx;
font-weight: 600;
color: #333333;
margin-bottom: 10rpx;
}
.store-address {
font-size: 24rpx;
color: #666666;
line-height: 36rpx;
}
.nav-btn {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background-color: transparent;
border: none;
color: #ff4d4f;
font-size: 24rpx;
padding: 0;
}
.nav-image {
width: 30rpx;
height: 30rpx;
margin-bottom: 10rpx;
}
/* 响应式设计 */
@media (max-width: 375px) {
.section {
margin: 16rpx;
padding: 20rpx;
}
.section-title {
font-size: 28rpx;
}
.goods-image {
width: 120rpx;
height: 120rpx;
}
.goods-name {
font-size: 26rpx;
}
.price-item,
.order-info-item {
padding: 14rpx 0;
}
.price-label,
.price-value,
.info-label,
.info-value {
font-size: 24rpx;
}
}

View File

@ -1,160 +0,0 @@
<template>
<view class="order-detail-container">
<!-- 商品信息 -->
<view class="section">
<h2 class="section-title">兑换商品</h2>
<view class="goods-item" @click="viewGoodsDetail">
<img :src="orderInfo.commodity_order_item_list[0].commodity_pic" alt="商品图片" class="goods-image">
<view class="goods-info">
<h3 class="goods-name">{{ orderInfo.commodity_order_item_list[0].goods_name }}</h3>
<p class="goods-quantity">{{ orderInfo.commodity_order_item_list[0].count }}</p>
</view>
<uni-icons type="arrowright" size="24rpx" color="#999999"></uni-icons>
</view>
</view>
<!-- 价格信息 -->
<view class="section">
<view class="price-item">
<span class="price-label">商品总价</span>
<span class="price-value">{{ orderInfo.total_amount }}积分</span>
</view>
<view class="price-item">
<span class="price-label">运费</span>
<span class="price-value">{{ orderInfo.freight }}积分</span>
</view>
<view class="price-item total-price">
<span class="price-label">商品实付</span>
<span class="price-value">{{ orderInfo.total_amount + orderInfo.freight }}积分</span>
</view>
</view>
<!-- 收货地址 -->
<view class="section">
<h2 class="section-title">收货地址</h2>
<view class="address-info">
<p class="consignee">{{ orderInfo.receiving_name }}{{ orderInfo.receiving_phone }}</p>
<p class="address-detail">{{ orderInfo.receiving_address }}</p>
</view>
</view>
<!-- 订单信息 -->
<view class="section">
<view class="order-info-item">
<span class="info-label">订单编号</span>
<view class="info-value">
<span>{{ orderInfo.order_no }}</span>
<view class="copy-btn" @click="copyOrderNo">复制</view>
</view>
</view>
<view class="order-info-item">
<span class="info-label">提交时间</span>
<span class="info-value">{{ orderInfo.order_time }}</span>
</view>
<view class="order-info-item">
<span class="info-label">成交时间</span>
<span class="info-value">{{ orderInfo.order_time }}</span>
</view>
</view>
<!-- 门店信息 -->
<view class="section">
<view class="store-card">
<view class="store-info">
<h2 class="store-name">{{ orderInfo.merchant_info.merchant_name }}</h2>
<p class="store-address">{{ orderInfo.merchant_info.address }}</p>
</view>
<view class="nav-btn" @click="navigateToStore">
<image class="nav-image" src="https://static.hshuishang.com/jfNav.png" mode="" />
<span>导航</span>
</view>
</view>
</view>
</view>
</template>
<script>
import { request, NavgateTo, picUrl } from "../../../utils";
import { apiArr } from "../../../api/pointShop";
export default {
data() {
return {
orderInfo: {}
};
},
onLoad(options) {
if (options.order_id) {
this.order_id = options.order_id;
const params = {
order_id: this.order_id
}
request(apiArr.pointOrderInfo, "POST", params).then(res => {
//
if (res.commodity_order_item_list && res.commodity_order_item_list.length > 0) {
res.commodity_order_item_list.forEach(item => {
if (item.commodity_pic) {
item.commodity_pic = picUrl + item.commodity_pic;
}
});
}
this.orderInfo = res;
});
}
},
methods: {
//
viewGoodsDetail() {
const product = {
id: this.orderInfo.commodity_order_item_list[0].commodity_id,
}
NavgateTo(`/packages/jfShop/detail/index?product=${JSON.stringify(product)}`);
},
//
copyOrderNo() {
uni.setClipboardData({
data: this.orderInfo.order_no,
success: function () {
uni.showToast({
title: '复制成功',
icon: 'success'
});
}
});
},
//
navigateToStore() {
const store = this.orderInfo.merchant_info;
if (store && store.latitude && store.longitude) {
uni.openLocation({
latitude: parseFloat(store.latitude),
longitude: parseFloat(store.longitude),
name: store.merchant_name,
address: store.address,
success: function () {
console.log('打开地图成功');
},
fail: function (err) {
console.log('打开地图失败', err);
uni.showToast({
title: '打开地图失败',
icon: 'none'
});
}
});
} else {
uni.showToast({
title: '门店位置信息不完整',
icon: 'none'
});
}
}
}
};
</script>
<style>
@import url('./index.css');
</style>

View File

@ -1,160 +0,0 @@
/* 兑换成功页面样式 */
.success-container {
display: flex;
flex-direction: column;
align-items: center;
padding: 40rpx 20rpx;
min-height: 100vh;
background-color: #ffffff;
}
/* 成功图标和标题 */
.success-header {
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 40rpx;
}
.success-icon {
width: 140rpx;
height: 140rpx;
border-radius: 50%;
background-color: #E6F7EF;
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 20rpx;
}
.success-icon image {
width: 80rpx;
height: 80rpx;
}
.success-title {
font-size: 36rpx;
font-weight: 600;
color: #333333;
margin-bottom: 10rpx;
}
.points-consumed {
font-size: 28rpx;
color: #666666;
}
/* 门店信息卡片 */
.store-card {
width: 90%;
background-color: #f7f8fa;
border-radius: 12rpx;
padding: 24rpx;
display: flex;
justify-content: space-between;
align-items: flex-start;
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
margin: 20rpx 0;
}
.store-info {
flex: 1;
padding-right: 20rpx;
}
.store-name {
font-size: 30rpx;
font-weight: 600;
color: #333333;
margin-bottom: 10rpx;
}
.store-address {
font-size: 24rpx;
color: #666666;
line-height: 36rpx;
}
.nav-btn {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background-color: transparent;
border: none;
color: #ff4d4f;
font-size: 24rpx;
padding: 0;
}
.nav-image {
width: 40rpx;
height: 40rpx;
margin-bottom: 10rpx;
}
/* 提示信息 */
.reminder {
font-size: 28rpx;
color: #333;
margin: 40rpx;
text-align: center;
}
/* 操作按钮 */
.action-buttons {
width: 100%;
display: flex;
flex-direction: column;
gap: 20rpx;
}
.primary-btn {
width: 100%;
height: 90rpx;
background-color: #ff4d4f;
color: #ffffff;
font-size: 32rpx;
font-weight: 600;
border: none;
border-radius: 20rpx;
display: flex;
justify-content: center;
align-items: center;
}
.secondary-btn {
width: 100%;
height: 90rpx;
background-color: #fff;
color: #333;
font-size: 32rpx;
font-weight: 500;
border: 1rpx solid #E5E7EB;
border-radius: 12rpx;
display: flex;
justify-content: center;
align-items: center;
}
/* 响应式设计 */
@media (max-width: 375px) {
.success-icon {
width: 120rpx;
height: 120rpx;
}
.success-title {
font-size: 32rpx;
}
.store-name {
font-size: 28rpx;
}
.primary-btn,
.secondary-btn {
height: 80rpx;
font-size: 28rpx;
}
}

View File

@ -1,101 +0,0 @@
<template>
<view class="success-container">
<!-- 成功图标和标题 -->
<view class="success-header">
<view class="success-icon">
<image class="header_top" src="https://static.hshuishang.com/jf_order_sucess.png" mode="" />
</view>
<h1 class="success-title">兑换成功</h1>
<p class="points-consumed">消耗 {{ storeInfo.total_amount }} 积分</p>
</view>
<!-- 门店信息卡片 -->
<view class="store-card">
<view class="store-info">
<h2 class="store-name">{{ storeInfo.merchant_info.merchant_name }}</h2>
<p class="store-address">{{ storeInfo.receiving_address }}</p>
</view>
<view class="nav-btn" @click="navigateToStore">
<image class="nav-image" src="https://static.hshuishang.com/jfNav.png" mode="" />
<span>导航</span>
</view>
</view>
<!-- 提示信息 -->
<p class="reminder">请前往线下门店兑换商品</p>
<!-- 操作按钮 -->
<view class="action-buttons">
<button class="primary-btn" @click="viewOrder">查看订单</button>
<button class="secondary-btn" @click="backToHome">返回首页</button>
</view>
</view>
</template>
<script>
import { request, NavgateTo } from "../../../utils";
import { apiArr } from "../../../api/pointShop";
export default {
data() {
return {
storeInfo: {},
order_id: ''
};
},
onLoad(options) {
if (options.order_id) {
this.order_id = options.order_id;
const params = {
order_id: this.order_id
}
request(apiArr.pointOrderInfo, "POST", params).then(res => {
this.storeInfo = res;
});
}
},
methods: {
//
navigateToStore() {
//
if (this.storeInfo.merchant_info.latitude && this.storeInfo.merchant_info.longitude) {
uni.openLocation({
latitude: Number(this.storeInfo.merchant_info.latitude),
longitude: Number(this.storeInfo.merchant_info.longitude),
name: this.storeInfo.merchant_info.merchant_name,
address: this.storeInfo.receiving_address,
success: (res) => {
console.log('导航成功', res);
},
fail: (err) => {
console.log('导航失败', err);
uni.showToast({
title: '导航失败,请检查位置权限',
icon: 'none'
});
}
});
} else {
uni.showToast({
title: '暂无门店位置信息',
icon: 'none'
});
}
},
//
viewOrder() {
NavgateTo(`/packages/jfShop/myOrder/index?order_id=${this.order_id}`);
},
//
backToHome() {
NavgateTo('/pages/index/index');
}
}
};
</script>
<style>
@import url('./index.css');
</style>

View File

@ -1,99 +0,0 @@
page {
background-color: #f6f7fbbe;
}
/* 积分兑换记录页面样式 */
.record-container {
padding: 16rpx;
min-height: 100vh;
}
/* 月份分组 */
.month-group {
margin-bottom: 32rpx;
}
/* 月份头部 */
.month-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 16rpx 0;
margin-bottom: 16rpx;
}
.month-title {
font-size: 28rpx;
font-weight: 600;
color: #333333;
}
.month-count {
font-size: 24rpx;
color: #999999;
}
/* 记录项 */
.record-item {
background-color: #ffffff;
border-radius: 16rpx;
padding: 24rpx;
margin-bottom: 16rpx;
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
}
.item-left {
display: flex;
margin-bottom: 24rpx;
}
.item-image {
width: 160rpx;
height: 160rpx;
border-radius: 8rpx;
margin-right: 24rpx;
}
.item-info {
flex: 1;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.item-name {
font-size: 28rpx;
font-weight: 600;
color: #333333;
margin-bottom: 12rpx;
}
.item-data {
font-size: 24rpx;
color: #666666;
margin-bottom: 8rpx;
line-height: 36rpx;
display: flex;
justify-content: space-between;
}
.item-label {
font-weight: bold;
width: 200rpx;
}
.nav-btn {
width: 150rpx;
padding: 0 30rpx;
border: 1rpx solid #ddddddc7;
border-radius: 40rpx;
background-color: #ffffff;
font-size: 24rpx;
color: #333333;
position: relative;
right: -250rpx;
}
.nav-btn:active {
background-color: #f5f5f5;
}

View File

@ -1,105 +0,0 @@
<template>
<view class="record-container">
<!-- 动态渲染月份分组 -->
<view v-for="group in records" :key="group.time" class="month-group">
<view class="month-header">
<text class="month-title">{{ group.time }}</text>
<text class="month-count">{{ group.total }}单兑换商品</text>
</view>
<!-- 动态渲染每个记录项 -->
<view v-for="item in group.orders" :key="item.id" class="record-item">
<view class="item-left">
<image class="item-image" :src="item.commodity_order_item_list[0].commodity_pic" mode="aspectFill">
</image>
<view class="item-info">
<text class="item-name">{{ item.commodity_order_item_list[0].goods_name }}</text>
<view class="item-data">
<view class="item-label">订单号</view>
<view>{{ item.order_no }}</view>
</view>
<view class="item-data">
<view class="item-label">积分变动</view>
<view>{{ item.total_amount }}积分</view>
</view>
<view class="item-data">
<view class="item-label">交易日期</view>
<view>{{ item.order_time }}</view>
</view>
<view class="item-data">
<view class="item-label">交易地点</view>
<view>{{ item.receiving_address }}</view>
</view>
</view>
</view>
<view class="item-right">
<button class="nav-btn" @click="navigateToStore(item)">导航</button>
</view>
</view>
</view>
</view>
</template>
<script>
import { request, picUrl, NavgateTo } from "../../../utils";
import { apiArr } from "../../../api/pointShop";
export default {
data() {
return {
records: []
};
},
methods: {
getList() {
request(apiArr.pointShopRecord, 'POST', {}, { silent: false }).then(res => {
//
res.rows.forEach(item => {
item.orders.forEach(ite => {
if (ite.commodity_order_item_list && ite.commodity_order_item_list.length > 0) {
ite.commodity_order_item_list.forEach(parm => {
if (parm.commodity_pic) {
parm.commodity_pic = picUrl + parm.commodity_pic;
}
});
}
})
});
this.records = res.rows;
});
},
navigateToStore(item) {
//
if (item.merchant_info.latitude && item.merchant_info.longitude) {
uni.openLocation({
latitude: Number(item.merchant_info.latitude),
longitude: Number(item.merchant_info.longitude),
name: item.merchant_info.merchant_name,
address: item.receiving_address,
success: (res) => {
console.log('导航成功', res);
},
fail: (err) => {
console.log('导航失败', err);
uni.showToast({
title: '导航失败,请检查位置权限',
icon: 'none'
});
}
});
} else {
uni.showToast({
title: '暂无门店位置信息',
icon: 'none'
});
}
}
},
onLoad() {
this.getList();
}
};
</script>
<style>
@import url('./index.css');
</style>

View File

@ -1,55 +0,0 @@
page{
background-color: #f6f6fa;
}
.rule-container {
margin: 20rpx;
padding: 30rpx 20rpx;
background-color: #fff;
border-radius: 12rpx;
}
.rule-title {
font-size: 32rpx;
font-weight: bold;
color: #333;
text-align: center;
margin-bottom: 15rpx;
}
.rule-tip {
font-size: 24rpx;
color: #ff4444;
text-align: center;
margin-bottom: 20rpx;
line-height: 36rpx;
}
.rule-details {
background-color: #fff;
border-radius: 12rpx;
padding: 30rpx 20rpx;
}
.rule-item {
margin-bottom: 30rpx;
}
.rule-item:last-child {
margin-bottom: 0;
}
.rule-item-title {
font-size: 28rpx;
font-weight: 500;
color: #333;
margin-bottom: 15rpx;
}
.rule-item-content {
font-size: 24rpx;
color: #666;
line-height: 36rpx;
text-align: justify;
margin-left: 20rpx;
}

View File

@ -1,47 +0,0 @@
<template>
<view class="rule-container">
<!-- 标题 -->
<view class="rule-title">{{ ruleData.title }}</view>
<!-- 核心提示语 -->
<view class="rule-tip">{{ ruleData.tip }}</view>
<!-- 详情列表 -->
<view class="rule-details">
<view v-for="(item, index) in ruleData.detail" :key="index" class="rule-item">
<view class="rule-item-title">{{ index + 1 }}.{{ item.sub_title }}</view>
<view class="rule-item-content">{{ item.sub_detail }}</view>
</view>
</view>
</view>
</template>
<script>
import { request, picUrl, NavgateTo } from "../../../utils";
import { apiArr } from "../../../api/pointShop";
export default {
data() {
return {
ruleData: {
title: '',
tip: '',
detail: []
}
}
},
onLoad() {
this.getContent()
},
methods: {
getContent() {
request(apiArr.platformPointsRule, 'POST', {}, { silent: false }, false).then(res => {
this.ruleData = res;
});
}
}
}
</script>
<style>
@import url('./index.css');
</style>

View File

@ -1,244 +0,0 @@
page{
background-color: #F6F6FA;
}
.container {
width: 100%;
}
/* 收货地址部分 */
.address-section {
background-color: #fff;
padding: 30rpx;
margin: 15rpx;
border-radius: 20rpx;
}
.address-info {
display: flex;
align-items: center;
justify-content: space-between;
}
.address-main {
flex: 1;
}
.address-name-phone {
display: flex;
align-items: center;
margin-bottom: 15rpx;
}
.name {
font-size: 32rpx;
font-weight: 600;
margin-right: 20rpx;
}
.phone {
font-size: 30rpx;
color: #666;
}
.address-detail {
font-size: 28rpx;
color: #666;
line-height: 1.4;
}
.address-arrow {
color: #999;
}
/* 分隔线 */
.divider {
height: 10rpx;
background-color: #f5f5f5;
}
/* 兑换商品部分 */
.exchange-section {
background-color: #fff;
padding: 30rpx;
margin: 15rpx;
border-radius: 20rpx;
}
.section-title {
font-size: 32rpx;
font-weight: 600;
margin-bottom: 25rpx;
}
.goods-item {
display: flex;
margin-bottom: 25rpx;
}
.goods-image {
width: 120rpx;
height: 120rpx;
margin-right: 20rpx;
overflow: hidden;
border-radius: 8rpx;
}
.goods-image image {
width: 100%;
height: 100%;
}
.goods-info {
flex: 1;
}
.goods-name {
font-size: 30rpx;
margin-bottom: 15rpx;
line-height: 1.3;
}
.goods-quantity {
font-size: 26rpx;
color: #999;
}
.goods-points {
font-size: 30rpx;
font-weight: 600;
}
.total-section {
display: flex;
justify-content: flex-end;
align-items: center;
font-size: 28rpx;
}
.total-points {
font-size: 32rpx;
color: #f03d0e;
font-weight: 600;
margin-left: 10rpx;
}
/* 积分计算部分 */
.points-calculation {
background-color: #fff;
padding: 30rpx;
margin: 15rpx;
border-radius: 20rpx;
}
.calculation-item {
height: 50rpx;
display: flex;
justify-content: space-between;
align-items: center;
font-size: 28rpx;
margin-bottom: 20rpx;
}
.calculation-item:last-child {
margin-bottom: 0;
}
/* 底部确认兑换部分 */
.bottom-section {
height: 100rpx;
position: fixed;
bottom: 0;
left: 0;
right: 0;
background-color: #fff;
padding: 20rpx 30rpx;
display: flex;
align-items: center;
justify-content: space-between;
border-top: 1rpx solid #e5e5e5;
}
.points-consumption {
display: flex;
align-items: center;
font-size: 28rpx;
}
.consumption-points {
font-size: 34rpx;
color: #f03d0e;
font-weight: 600;
margin-left: 10rpx;
}
.confirm-btn {
width: 280rpx;
height: 80rpx;
background-color: #f03d0e;
color: #fff;
font-size: 32rpx;
border-radius: 40rpx;
display: flex;
align-items: center;
justify-content: center;
position: absolute;
right: 50rpx;
}
/* 响应式调整 */
@media (max-width: 768px) {
.name {
font-size: 30rpx;
}
.phone {
font-size: 28rpx;
}
.address-detail {
font-size: 26rpx;
}
.section-title {
font-size: 30rpx;
}
.goods-name {
font-size: 28rpx;
}
.goods-quantity {
font-size: 24rpx;
}
.goods-points {
font-size: 28rpx;
}
.total-section {
font-size: 26rpx;
}
.total-points {
font-size: 30rpx;
}
.calculation-item {
font-size: 26rpx;
}
.points-consumption {
font-size: 26rpx;
}
.consumption-points {
font-size: 32rpx;
}
.confirm-btn {
width: 260rpx;
height: 76rpx;
font-size: 30rpx;
}
}

View File

@ -1,142 +0,0 @@
<template>
<view class="container">
<!-- 收货地址部分 -->
<view class="address-section">
<view class="address-info" @click="chooseAddress">
<view class="address-main">
<view class="address-name-phone">
<text class="name">{{ defAddress.name }}</text>
<text class="phone">{{ defAddress.phone }}</text>
</view>
<view class="address-detail">
{{ defAddress.address }}{{ defAddress.house_number }}
</view>
</view>
<view class="address-arrow"><u-icon name="arrow-right" size="25"></u-icon></view>
</view>
</view>
<!-- 兑换商品信息 -->
<view class="exchange-section">
<view class="section-title">兑换商品</view>
<view class="goods-item">
<view class="goods-image">
<image :src="goodsInfo.goodsInfo.goods_info.commodity_pic" mode="aspectFill"></image>
</view>
<view class="goods-info">
<view class="goods-name">{{ goodsInfo.specName }}</view>
<view class="goods-quantity">{{ goodsInfo.quantity }}</view>
</view>
<view class="goods-points">{{ goodsInfo.price }}积分</view>
</view>
<view class="total-section">
<text>{{ goodsInfo.quantity }}件商品 共计:</text>
<text class="total-points">{{ goodsInfo.price * goodsInfo.quantity }}积分</text>
</view>
</view>
<!-- 积分计算部分 -->
<view class="points-calculation">
<view class="calculation-item">
<text>商品小计</text>
<text>{{ goodsInfo.price * goodsInfo.quantity }}积分</text>
</view>
<view class="calculation-item">
<text>运费抵扣</text>
<text>0积分</text>
</view>
</view>
<!-- 底部确认兑换按钮 -->
<view class="bottom-section">
<view class="points-consumption">
<text>消耗积分:</text>
<text class="consumption-points">{{ goodsInfo.price * goodsInfo.quantity }}积分</text>
</view>
<button class="confirm-btn" @click="confirmExchange">确认兑换</button>
</view>
</view>
</template>
<script>
import { request, NavgateTo } from "../../../utils";
import { apiArr } from "../../../api/shop";
import { apiArr as apiArr2 } from "../../../api/pointShop";
export default {
data() {
return {
defAddress: {},
goodsInfo: {}
};
},
onLoad(options) {
if (options.orderInfo) {
this.goodsInfo = JSON.parse(options.orderInfo);
}
},
onShow() {
//
const selectedAddress = uni.getStorageSync('selectedAddress');
if (selectedAddress && Object.keys(selectedAddress).length > 0) {
this.defAddress = selectedAddress;
//
uni.removeStorageSync('selectedAddress');
} else {
//
this.getUserAddress();
}
},
methods: {
//
getUserAddress() {
request(apiArr.getUserDefAddress, "POST", {}).then(res => {
this.defAddress = res.default_address;
});
},
//
chooseAddress() {
NavgateTo('/packages/shop/address/index');
},
//
confirmExchange() {
//
if (!this.defAddress || Object.keys(this.defAddress).length === 0) {
uni.showToast({
title: '请选择收货地址',
icon: 'none'
});
return;
}
const params = {
user_id: uni.getStorageSync('userId'),
mch_id: this.goodsInfo.goodsInfo.mch_id,
receiving_name: this.defAddress.name,
receiving_phone: this.defAddress.phone,
receiving_address: this.defAddress.address + this.defAddress.house_number,
goods_item: {
goods_id: this.goodsInfo.goodsInfo.goods_id,
count: this.goodsInfo.quantity,
price: this.goodsInfo.price,
freight: this.goodsInfo.goodsInfo.freight || 0
}
}
request(apiArr2.pointShopAdd, "POST", params).then(res => {
const params = {
order_id: res.order_id
}
request(apiArr2.pointShopPay, "POST", params).then(res => {
setTimeout(() => {
NavgateTo('/packages/jfShop/orderDetail/index?order_id=' + params.order_id);
}, 300);
})
})
}
}
};
</script>
<style>
@import url('./index.css');
</style>

View File

@ -34,7 +34,7 @@ image {
} }
.container { .container {
background: url(https://static.hshuishang.com/property-img-file/local_pointbg.png); background: url(https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_pointbg.png);
background-size: 750rpx 423rpx; background-size: 750rpx 423rpx;
background-repeat: no-repeat; background-repeat: no-repeat;
} }

View File

@ -11,15 +11,15 @@
<div class="point">{{banlance}}</div> <div class="point">{{banlance}}</div>
<div class="funList"> <div class="funList">
<div class="funItem"> <div class="funItem">
<image src="https://static.hshuishang.com/property-img-file/local_fun1.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_fun1.png" mode="aspectFill"></image>
积分商城 积分商城
</div> </div>
<div class="funItem"> <div class="funItem">
<image src="https://static.hshuishang.com/property-img-file/local_fun2.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_fun2.png" mode="aspectFill"></image>
积分抽奖 积分抽奖
</div> </div>
<div class="funItem"> <div class="funItem">
<image src="https://static.hshuishang.com/property-img-file/local_fun3.png" mode="aspectFill"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_fun3.png" mode="aspectFill"></image>
兑换优惠券 兑换优惠券
</div> </div>
</div> </div>

View File

@ -3,7 +3,7 @@
<view class="Msg"> <view class="Msg">
<view class="Msg_Tit"> <view class="Msg_Tit">
<view class="Msg_Tit_left"> <view class="Msg_Tit_left">
<image src="https://static.hshuishang.com/property-img-file/user_ava.png" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/user_ava.png"
v-if="!info.user.avatar" mode="aspectFill"> v-if="!info.user.avatar" mode="aspectFill">
</image> </image>
<image :src="picUrl + info.user.avatar" v-if="info.user.avatar" mode="aspectFill"></image> <image :src="picUrl + info.user.avatar" v-if="info.user.avatar" mode="aspectFill"></image>
@ -11,7 +11,7 @@
</view> </view>
<view class="Msg_Tit_right"> <view class="Msg_Tit_right">
<image v-for="(item, index) in 5" :key="index" <image v-for="(item, index) in 5" :key="index"
:src="index < info.satisfaction ? 'https://static.hshuishang.com/property-img-file/local_start1.png' : 'https://static.hshuishang.com/property-img-file/local_start2.png'" :src="index < info.satisfaction ? 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_start1.png' : 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_start2.png'"
mode="aspectFill"></image> mode="aspectFill"></image>
</view> </view>
</view> </view>
@ -29,24 +29,24 @@
<view class="Msg_iconList_left"> <view class="Msg_iconList_left">
<view class="Msg_iconList_leftIcon"> <view class="Msg_iconList_leftIcon">
<image <image
src="https://static.hshuishang.com/property-img-file/local_review.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_review.png"
mode="widthFix"></image> mode="widthFix"></image>
{{ info.merchant_evaluation_reply_list ? info.merchant_evaluation_reply_list.length : 0 }} {{ info.merchant_evaluation_reply_list ? info.merchant_evaluation_reply_list.length : 0 }}
</view> </view>
<view class="Msg_iconList_leftIcon"> <view class="Msg_iconList_leftIcon">
<image v-if="info.is_like == 2" <image v-if="info.is_like == 2"
src="https://static.hshuishang.com/property-img-file/com_likeIcon.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_likeIcon.png"
mode="widthFix" @click="like(info)"></image> mode="widthFix" @click="like(info)"></image>
<image v-if="info.is_like == 1" <image v-if="info.is_like == 1"
src="https://static.hshuishang.com/property-img-file/com_likeIcon2.png" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_likeIcon2.png"
mode="widthFix" @click="unlike(info)"></image> mode="widthFix" @click="unlike(info)"></image>
{{ info.merchant_evaluation_like_list ? info.merchant_evaluation_like_list.length : 0 }} {{ info.merchant_evaluation_like_list ? info.merchant_evaluation_like_list.length : 0 }}
</view> </view>
</view> </view>
<view class="Msg_iconList_right"> <view class="Msg_iconList_right">
<view class="Msg_iconList_leftIcon" @click="deletes" v-if="isDelte"> <view class="Msg_iconList_leftIcon" @click="deletes" v-if="isDelte">
<image src="https://static.hshuishang.com/property-img-file/local_del.png" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_del.png"
mode="widthFix"></image> mode="widthFix"></image>
</view> </view>
</view> </view>
@ -56,7 +56,7 @@
<view class="reply" v-for="(item, index) in replyList" :key="index"> <view class="reply" v-for="(item, index) in replyList" :key="index">
<view class="reply_tit"> <view class="reply_tit">
<view class="reply_tit_left"> <view class="reply_tit_left">
<image src="https://static.hshuishang.com/property-img-file/user_ava.png" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/user_ava.png"
v-if="!item.user.avatar" mode="aspectFill"> v-if="!item.user.avatar" mode="aspectFill">
</image> </image>
<image :src="picUrl + item.user.avatar" v-if="item.user.avatar" mode="aspectFill"></image> <image :src="picUrl + item.user.avatar" v-if="item.user.avatar" mode="aspectFill"></image>
@ -70,7 +70,7 @@
<view class="comment"> <view class="comment">
<view class="comment_con"> <view class="comment_con">
<image src="https://static.hshuishang.com/property-img-file/local_send.png" <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_send.png"
mode="aspectFill"></image> mode="aspectFill"></image>
<input type="text" v-model="reply_content" placeholder="说点什么"> <input type="text" v-model="reply_content" placeholder="说点什么">

Some files were not shown because too many files have changed in this diff Show More