Compare commits
11 Commits
0d226b19ea
...
e03aed53a5
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e03aed53a5 | ||
|
|
a0c040e3af | ||
|
|
06f9b79012 | ||
|
|
d0f448789a | ||
|
|
1c01a7dcb7 | ||
|
|
aee000cd6b | ||
|
|
0fdfc3ca41 | ||
|
|
54d017c618 | ||
|
|
1f47945c98 | ||
|
|
0bc9cace0c | ||
|
|
3324598637 |
@ -214,6 +214,7 @@ image {
|
|||||||
|
|
||||||
.payItem_money{
|
.payItem_money{
|
||||||
width: auto;
|
width: auto;
|
||||||
|
margin-right: 10rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bottom {
|
.bottom {
|
||||||
|
|||||||
@ -56,7 +56,8 @@
|
|||||||
<view class="payItem" v-for="(item, index) in Bill" :key="index">
|
<view class="payItem" v-for="(item, index) in Bill" :key="index">
|
||||||
<view class="payItem_tit">
|
<view class="payItem_tit">
|
||||||
<view class="payItem_left">
|
<view class="payItem_left">
|
||||||
<checkbox :checked="item.check" @click="checkChange(item, index)"></checkbox>
|
<checkbox :checked="item.check" @click="checkChange(item, index)"
|
||||||
|
v-if="item.community_order_rows.some(itemObj => itemObj.pay_status == 1)"></checkbox>
|
||||||
<view style="margin-left: 24rpx">{{ item.order_date }}年</view>
|
<view style="margin-left: 24rpx">{{ item.order_date }}年</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="payItem_right">
|
<view class="payItem_right">
|
||||||
@ -72,7 +73,8 @@
|
|||||||
</view>
|
</view>
|
||||||
<view v-if="item.more">
|
<view v-if="item.more">
|
||||||
<view class="payItem_List" v-for="(items, indes) in item.community_order_rows" :key="items.order_id">
|
<view class="payItem_List" v-for="(items, indes) in item.community_order_rows" :key="items.order_id">
|
||||||
<checkbox :checked="items.check" @click="itemsCheckChange(items, indes, index)"></checkbox>
|
<checkbox :checked="items.check" @click="itemsCheckChange(items, indes, index)"
|
||||||
|
v-if="items.pay_status == 1"></checkbox>
|
||||||
<view class="Item_time" v-if="items.billing_cycle == 1">
|
<view class="Item_time" v-if="items.billing_cycle == 1">
|
||||||
{{ items.order_date }}年
|
{{ items.order_date }}年
|
||||||
</view>
|
</view>
|
||||||
@ -83,8 +85,8 @@
|
|||||||
{{ items.community_fee_type ? items.community_fee_type.type_name : '' }}
|
{{ items.community_fee_type ? items.community_fee_type.type_name : '' }}
|
||||||
</view>
|
</view>
|
||||||
<view class="Item_money">¥{{ items.money }}</view>
|
<view class="Item_money">¥{{ items.money }}</view>
|
||||||
<view class="Item_status" v-if="items.status == 0">未付款</view>
|
<view class="Item_status" v-if="items.pay_status == 1">未付款</view>
|
||||||
<view class="Item_status sucess" v-if="items.status == 1">
|
<view class="Item_status sucess" v-if="items.pay_status == 2">
|
||||||
已付款
|
已付款
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -158,7 +160,7 @@
|
|||||||
<view class="row_label">绑定房源</view>
|
<view class="row_label">绑定房源</view>
|
||||||
<view class="row_con3">
|
<view class="row_con3">
|
||||||
<view class="row_con3_1">
|
<view class="row_con3_1">
|
||||||
{{ item.community_order.length }}个账单
|
{{ item.community_order ? item.community_order.length : 0 }}个账单
|
||||||
</view>
|
</view>
|
||||||
<view class="row_con3_2">明细可从收据查看</view>
|
<view class="row_con3_2">明细可从收据查看</view>
|
||||||
</view>
|
</view>
|
||||||
@ -228,7 +230,7 @@
|
|||||||
微信支付
|
微信支付
|
||||||
</view>
|
</view>
|
||||||
<view class="banlenceItem_right">
|
<view class="banlenceItem_right">
|
||||||
<span>¥</span>{{ (currentMoney - balanceMoney).toFixed(2) }}
|
<span>¥</span>{{ balanceMoney > currentMoney ? 0.00 : (currentMoney - balanceMoney).toFixed(2) }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="line3"></view>
|
<view class="line3"></view>
|
||||||
@ -239,7 +241,7 @@
|
|||||||
物业公积金支付
|
物业公积金支付
|
||||||
</view>
|
</view>
|
||||||
<view class="banlenceItem_right">
|
<view class="banlenceItem_right">
|
||||||
<span>¥</span>{{ balanceMoney }}
|
<span>¥</span>{{ balanceMoney > currentMoney ? currentMoney : balanceMoney }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -396,7 +398,7 @@ export default {
|
|||||||
let money = 0;
|
let money = 0;
|
||||||
this.Bill.forEach((item) => {
|
this.Bill.forEach((item) => {
|
||||||
item.community_order_rows.forEach((ite) => {
|
item.community_order_rows.forEach((ite) => {
|
||||||
if (ite.check) {
|
if (ite.check && ite.pay_status == 1) {
|
||||||
money += ite.money;
|
money += ite.money;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -447,7 +449,7 @@ export default {
|
|||||||
} else if (this.payType == 2) {
|
} else if (this.payType == 2) {
|
||||||
name_mini = "物业公积金";
|
name_mini = "物业公积金";
|
||||||
} else {
|
} else {
|
||||||
name_mimi = "微信 + 物业公积金";
|
name_mini = "微信 + 物业公积金";
|
||||||
}
|
}
|
||||||
if (!this.currentMoney) {
|
if (!this.currentMoney) {
|
||||||
return uni.showToast({
|
return uni.showToast({
|
||||||
@ -455,22 +457,86 @@ export default {
|
|||||||
duration: 2000,
|
duration: 2000,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
await request(apiArr.createPayOrder, "POST", {
|
|
||||||
|
// 构建支付参数,根据支付类型决定传递哪些字段
|
||||||
|
const payParams = {
|
||||||
order_ids: order_ids,
|
order_ids: order_ids,
|
||||||
community_id: this.currentCommunity.id,
|
community_id: this.currentCommunity.id,
|
||||||
room_id: this.currentRoom.room_id,
|
room_id: this.currentRoom.room_id,
|
||||||
pay_user_id: uni.getStorageSync("userId"),
|
pay_user_id: uni.getStorageSync("userId"),
|
||||||
user_name: uni.getStorageSync("nickName"),
|
user_name: uni.getStorageSync("nickName"),
|
||||||
pay_user_name: uni.getStorageSync("nickName"),
|
pay_user_name: uni.getStorageSync("nickName"),
|
||||||
//格式化年月日 时分秒
|
|
||||||
pay_time: formatDate(new Date()),
|
pay_time: formatDate(new Date()),
|
||||||
money: this.currentMoney,
|
|
||||||
name_mini,
|
name_mini,
|
||||||
}).then((res) => {
|
};
|
||||||
console.log(res);
|
|
||||||
this.payInfoId = res.id;
|
// 判断是否是组合支付
|
||||||
this.OrderPay();
|
const isComboPay = this.show2;
|
||||||
});
|
|
||||||
|
if (this.payType == 1 || isComboPay) {
|
||||||
|
//微信支付或组合支付
|
||||||
|
if (isComboPay) {
|
||||||
|
payParams.money = this.currentMoney - Number(this.balanceMoney).toFixed(2) > 0 ? this.currentMoney - Number(this.balanceMoney).toFixed(2) : 0.00;
|
||||||
|
if (payParams.money == 0.00) {
|
||||||
|
this.payType = 2;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
payParams.money = this.currentMoney;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.payType == 2 || isComboPay) {
|
||||||
|
// 公积金支付或组合支付
|
||||||
|
const fundAmount = Math.min(Number(this.balanceMoney), Number(this.currentMoney));
|
||||||
|
payParams.property_housing_fund = fundAmount.toFixed(2);
|
||||||
|
|
||||||
|
// 仅公积金支付 公积金不足
|
||||||
|
if (this.payType == 2 && !isComboPay) {
|
||||||
|
if (Number(this.balanceMoney) < Number(this.currentMoney)) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '可用公积金不足,可选择组合支付',
|
||||||
|
icon: 'none',
|
||||||
|
duration: 3000
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 组合支付
|
||||||
|
if (isComboPay) {
|
||||||
|
this.payType = 3;
|
||||||
|
name_mini = "微信 + 物业公积金";
|
||||||
|
}
|
||||||
|
|
||||||
|
payParams.name_mini = name_mini;
|
||||||
|
|
||||||
|
if (this.payType == 2) {
|
||||||
|
uni.showModal({
|
||||||
|
title: '提示',
|
||||||
|
content: '确定使用物业公积金支付?',
|
||||||
|
success: async function (res) {
|
||||||
|
if (res.confirm) {
|
||||||
|
await request(apiArr.createPayOrder, "POST", payParams).then((res) => {
|
||||||
|
const params = {
|
||||||
|
order_pay_id: res.id,
|
||||||
|
}
|
||||||
|
request(apiArr.tradeQuery, "POST", params).then(res => {
|
||||||
|
this.getRoomSelect();
|
||||||
|
this.getUserGovenmentMoney();
|
||||||
|
})
|
||||||
|
});
|
||||||
|
} else if (res.cancel) {
|
||||||
|
console.log('用户点击取消');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
await request(apiArr.createPayOrder, "POST", payParams).then((res) => {
|
||||||
|
this.payInfoId = res.id;
|
||||||
|
this.OrderPay();
|
||||||
|
});
|
||||||
|
}
|
||||||
},
|
},
|
||||||
//根据支付订单查询交易信息
|
//根据支付订单查询交易信息
|
||||||
async getPayInfo() {
|
async getPayInfo() {
|
||||||
@ -498,6 +564,8 @@ export default {
|
|||||||
order_pay_id: this.payInfoId,
|
order_pay_id: this.payInfoId,
|
||||||
}
|
}
|
||||||
request(apiArr.tradeQuery, "POST", params).then(res => {
|
request(apiArr.tradeQuery, "POST", params).then(res => {
|
||||||
|
this.getRoomSelect();
|
||||||
|
this.getUserGovenmentMoney();
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
fail: (payErr) => {
|
fail: (payErr) => {
|
||||||
@ -528,21 +596,19 @@ export default {
|
|||||||
|
|
||||||
//支付记录
|
//支付记录
|
||||||
getPayList() {
|
getPayList() {
|
||||||
|
|
||||||
request(apiArr.getPayOrderList, "POST", {
|
request(apiArr.getPayOrderList, "POST", {
|
||||||
room_id: this.currentRoom.room_id,
|
room_id: this.currentRoom.room_id,
|
||||||
page_num: this.page_num,
|
page_num: this.page_num,
|
||||||
page_size: this.page_size,
|
page_size: this.page_size,
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
console.log(res);
|
|
||||||
let flag = false;
|
let flag = false;
|
||||||
if (res.rows && res.rows.length == this.page_size) {
|
if (res.rows && (res.rows?.length == this.page_size)) {
|
||||||
flag = true;
|
flag = true;
|
||||||
} else {
|
} else {
|
||||||
flag = false;
|
flag = false;
|
||||||
}
|
}
|
||||||
this.flag = flag;
|
this.flag = flag;
|
||||||
this.payOrderList = res.rows;
|
this.payOrderList = res.rows
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@ -1,40 +1,40 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="container">
|
<view class="container">
|
||||||
<div class="Msg">
|
<view class="Msg">
|
||||||
<div class="Msg_Tit">
|
<view class="Msg_Tit">
|
||||||
<div class="Msg_Tit_left">
|
<view class="Msg_Tit_left">
|
||||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.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>
|
||||||
{{ info.user.nick_name }}
|
{{ info.user.nick_name }}
|
||||||
</div>
|
</view>
|
||||||
<div 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="indez < 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'"
|
:src="indez < 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>
|
||||||
</div>
|
</view>
|
||||||
</div>
|
</view>
|
||||||
|
|
||||||
<div class="Msg_con">
|
<view class="Msg_con">
|
||||||
{{ info.comment }}
|
{{ info.comment }}
|
||||||
<div class="Msg_con_img" v-if="info.image_url">
|
<view class="Msg_con_img" v-if="info.image_url">
|
||||||
<image v-for="(img, index) in info.image_url.split(',')" :key="index" :src="picUrl + img"
|
<image v-for="(img, index) in info.image_url.split(',')" :key="index" :src="picUrl + img"
|
||||||
mode="aspectFill"></image>
|
mode="aspectFill"></image>
|
||||||
<video class="Msg_con_video" v-if="info.video_url" :src="picUrl + info.video_url" controls></video>
|
<video class="Msg_con_video" v-if="info.video_url" :src="picUrl + info.video_url" controls></video>
|
||||||
</div>
|
</view>
|
||||||
</div>
|
</view>
|
||||||
|
|
||||||
<div class="Msg_iconList">
|
<view class="Msg_iconList">
|
||||||
<div class="Msg_iconList_left">
|
<view class="Msg_iconList_left">
|
||||||
<div class="Msg_iconList_leftIcon">
|
<view class="Msg_iconList_leftIcon">
|
||||||
<image
|
<image
|
||||||
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.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 }}
|
||||||
</div>
|
</view>
|
||||||
|
|
||||||
<div 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://wechat-img-file.oss-cn-beijing.aliyuncs.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>
|
||||||
@ -42,42 +42,42 @@
|
|||||||
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.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 }}
|
||||||
</div>
|
</view>
|
||||||
</div>
|
</view>
|
||||||
<div class="Msg_iconList_right">
|
<view class="Msg_iconList_right">
|
||||||
<div class="Msg_iconList_leftIcon" @click="deletes" v-if="isDelte">
|
<view class="Msg_iconList_leftIcon" @click="deletes" v-if="isDelte">
|
||||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.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>
|
||||||
</div>
|
</view>
|
||||||
</div>
|
</view>
|
||||||
</div>
|
</view>
|
||||||
|
|
||||||
<!-- 回复列表 -->
|
<!-- 回复列表 -->
|
||||||
<div class="reply" v-for="(item, index) in replyList" :key="index">
|
<view class="reply" v-for="(item, index) in replyList" :key="index">
|
||||||
<div class="reply_tit">
|
<view class="reply_tit">
|
||||||
<div class="reply_tit_left">
|
<view class="reply_tit_left">
|
||||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.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>
|
||||||
{{ item.user.nick_name }}
|
{{ item.user.nick_name }}
|
||||||
</div>
|
</view>
|
||||||
<div class="reply_tit_right">{{ item.reply_time }}</div>
|
<view class="reply_tit_right">{{ item.reply_time }}</view>
|
||||||
</div>
|
</view>
|
||||||
<div class="reply_con">{{ item.reply_content }}</div>
|
<view class="reply_con">{{ item.reply_content }}</view>
|
||||||
</div>
|
</view>
|
||||||
</div>
|
</view>
|
||||||
|
|
||||||
<div class="comment">
|
<view class="comment">
|
||||||
<div class="comment_con">
|
<view class="comment_con">
|
||||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.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="说点什么">
|
||||||
|
|
||||||
<button id="send" @click="sendComment">发送</button>
|
<button id="send" @click="sendComment">发送</button>
|
||||||
</div>
|
</view>
|
||||||
</div>
|
</view>
|
||||||
</div>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@ -141,7 +141,7 @@ export default {
|
|||||||
request(apiArr.createUserReply, "POST", {
|
request(apiArr.createUserReply, "POST", {
|
||||||
evaluation_id: that.info.id,
|
evaluation_id: that.info.id,
|
||||||
reply_content: that.reply_content,
|
reply_content: that.reply_content,
|
||||||
reply_user_type: "1"
|
reply_user_type: 1
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: "发送成功",
|
title: "发送成功",
|
||||||
|
|||||||
@ -81,7 +81,7 @@
|
|||||||
到店服务券
|
到店服务券
|
||||||
</view> -->
|
</view> -->
|
||||||
<view class="line"></view>
|
<view class="line"></view>
|
||||||
<view class="btn_right">
|
<view class="btn_right" @click="toPayInfo">
|
||||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/lcoal_payIcon.png"
|
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/lcoal_payIcon.png"
|
||||||
mode="aspectFill"></image>
|
mode="aspectFill"></image>
|
||||||
快捷支付记录
|
快捷支付记录
|
||||||
@ -145,6 +145,10 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
// 跳转快捷支付记录
|
||||||
|
toPayInfo(){
|
||||||
|
NavgateTo("/packages/localLife/payInfo/index")
|
||||||
|
},
|
||||||
back() {
|
back() {
|
||||||
NavgateTo("1");
|
NavgateTo("1");
|
||||||
},
|
},
|
||||||
|
|||||||
@ -159,7 +159,9 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
// 已移至onLoad中执行,确保执行顺序
|
if(this.info.id){
|
||||||
|
this.getCommentList()
|
||||||
|
}
|
||||||
},
|
},
|
||||||
onReachBottom() {
|
onReachBottom() {
|
||||||
if (this.flag) {
|
if (this.flag) {
|
||||||
@ -191,9 +193,11 @@ export default {
|
|||||||
});
|
});
|
||||||
|
|
||||||
list.forEach(item => {
|
list.forEach(item => {
|
||||||
item.merchant_evaluation_reply_list = item.merchant_evaluation_reply_list.filter((item) => {
|
if(item.merchant_evaluation_reply_list){
|
||||||
return item.status == 2;
|
item.merchant_evaluation_reply_list = item.merchant_evaluation_reply_list.filter((item) => {
|
||||||
})
|
return item.status == 2;
|
||||||
|
})
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
this.commentList = this.commentList.concat(list);
|
this.commentList = this.commentList.concat(list);
|
||||||
|
|||||||
@ -161,7 +161,6 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
|
||||||
// 跳转快捷支付记录
|
// 跳转快捷支付记录
|
||||||
toPayInfo(){
|
toPayInfo(){
|
||||||
NavgateTo("/packages/localLife/payInfo/index")
|
NavgateTo("/packages/localLife/payInfo/index")
|
||||||
|
|||||||
@ -60,6 +60,12 @@
|
|||||||
color: #1890ff;
|
color: #1890ff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.disabled {
|
||||||
|
opacity: 0.6;
|
||||||
|
cursor: not-allowed;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
.camera-section {
|
.camera-section {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<!-- 点位选择下拉菜单 -->
|
<!-- 点位选择下拉菜单 -->
|
||||||
<view class="select-container">
|
<view class="select-container">
|
||||||
<label class="select-label">选择点位</label>
|
<label class="select-label">选择点位</label>
|
||||||
<input type="text" class="search-input" v-model="searchKeyword" @focus="showOptions = true"
|
<input type="text" class="search-input" v-model="searchKeyword" @focus="showOptions = !showOptions"
|
||||||
placeholder="请输入点位名称搜索" readonly />
|
placeholder="请输入点位名称搜索" readonly />
|
||||||
|
|
||||||
<!-- 下拉选项 -->
|
<!-- 下拉选项 -->
|
||||||
@ -14,11 +14,12 @@
|
|||||||
</view>
|
</view>
|
||||||
<!-- 有选项时显示选项列表 -->
|
<!-- 有选项时显示选项列表 -->
|
||||||
<view v-else>
|
<view v-else>
|
||||||
<view v-for="option in pointsList"
|
<view v-for="option in pointsList" :key="option.id" class="option-item"
|
||||||
:key="option.point_id"
|
@click="option.exec_status != 3 && selectPointHandler(option)"
|
||||||
class="option-item"
|
:class="{ 'disabled': option.exec_status == 3 }">
|
||||||
@click="selectPointHandler(option)">
|
<view>
|
||||||
{{ option.point_info.point_name }}
|
{{ option.point_info.point_name }}
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -57,6 +58,7 @@ import {
|
|||||||
uniqueByField,
|
uniqueByField,
|
||||||
menuButtonInfo,
|
menuButtonInfo,
|
||||||
NavgateTo,
|
NavgateTo,
|
||||||
|
upload
|
||||||
} from "../../../utils";
|
} from "../../../utils";
|
||||||
|
|
||||||
import { apiArr } from "../../../api/routingInspection";
|
import { apiArr } from "../../../api/routingInspection";
|
||||||
@ -87,16 +89,17 @@ export default {
|
|||||||
this.pointsList = res.task_point_info
|
this.pointsList = res.task_point_info
|
||||||
},
|
},
|
||||||
selectPointHandler(option) {
|
selectPointHandler(option) {
|
||||||
console.log("🚀 ~ selectPointHandler ~ option:", option)
|
|
||||||
// 安全检查,确保必要的属性存在
|
// 安全检查,确保必要的属性存在
|
||||||
if (option && option.point_info && option.point_info.point_name) {
|
if (option && option.point_info && option.point_info.point_name) {
|
||||||
// 根据实际数据结构选择正确的id属性
|
// 根据实际数据结构选择正确的id属性
|
||||||
this.selectedPoint = option.location_info && option.point_id
|
this.selectedPoint = option.location_info && option.id
|
||||||
? option.point_id
|
? option.id
|
||||||
: option.id || option.point_info.point_name
|
: option.id || option.point_info.point_name
|
||||||
this.selectedPointInfo = option // 保存完整的点位信息
|
this.selectedPointInfo = option // 保存完整的点位信息
|
||||||
this.searchKeyword = option.point_info.point_name
|
this.searchKeyword = option.point_info.point_name
|
||||||
this.showOptions = false
|
this.showOptions = false
|
||||||
|
// 切换点位时清空图片数据
|
||||||
|
this.images = []
|
||||||
} else {
|
} else {
|
||||||
console.warn('选择的点位信息不完整', option)
|
console.warn('选择的点位信息不完整', option)
|
||||||
}
|
}
|
||||||
@ -150,25 +153,52 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// 准备提交数据,使用正确的参数格式
|
// 上传所有图片到服务器
|
||||||
|
uni.showLoading({
|
||||||
|
title: '正在上传图片...',
|
||||||
|
mask: true
|
||||||
|
})
|
||||||
|
|
||||||
|
// 使用Promise.all并行上传所有图片
|
||||||
|
const uploadPromises = this.images.map(imagePath => {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
upload(imagePath, (res) => {
|
||||||
|
if (res.code === 1 && res.data && res.data.path) {
|
||||||
|
resolve(res.data.path); // 上传成功,返回服务器返回的图片URL
|
||||||
|
} else {
|
||||||
|
reject(new Error('图片上传失败'));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 等待所有图片上传完成
|
||||||
|
const uploadedImageUrls = await Promise.all(uploadPromises);
|
||||||
|
|
||||||
|
uni.hideLoading();
|
||||||
|
|
||||||
|
// 准备提交数据,使用服务器返回的图片URL
|
||||||
const params = {
|
const params = {
|
||||||
task_id: parseInt(this.taskId), // 巡检任务ID
|
task_id: parseInt(this.taskId), // 巡检任务ID
|
||||||
point_id: parseInt(this.selectedPoint), // 巡检点ID
|
task_point_id: parseInt(this.selectedPoint), // 巡检点ID
|
||||||
image: this.images // 巡检图片,格式为字符串数组
|
image: uploadedImageUrls // 巡检图片,使用服务器返回的URL数组
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log('上传成功的图片URL:', uploadedImageUrls)
|
||||||
|
|
||||||
// 调用正确的接口
|
// 调用正确的接口
|
||||||
const res = await request(apiArr.routingInspectionSubmit, "POST", params);
|
const res = await request(apiArr.routingInspectionSubmit, "POST", params);
|
||||||
|
|
||||||
// 输出提交的数据
|
// 输出提交的数据
|
||||||
console.log('提交数据:', params)
|
console.log('提交数据:', params)
|
||||||
|
|
||||||
// 显示提交成功提示
|
// 显示提交成功提示
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: '提交成功',
|
title: '提交成功',
|
||||||
icon: 'success'
|
icon: 'success'
|
||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
uni.hideLoading();
|
||||||
console.error('提交失败', error)
|
console.error('提交失败', error)
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: '提交失败',
|
title: '提交失败',
|
||||||
|
|||||||
@ -14,12 +14,12 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="work-order-section">
|
<view class="work-order-section">
|
||||||
<view v-for="(item, index) in 9" :key="index">
|
<view v-for="(item, index) in 9" :key="index">
|
||||||
<view class="work-order-card" v-if="index == 0 && showWorkOrderSection"
|
<view class="work-order-card" v-if="index == 1 && showWorkOrderSection"
|
||||||
@click="navigateToWorkOrderDashboard">
|
@click="navigateToWorkOrderDashboard">
|
||||||
<image class="work-order-icon" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/workOrder.png" mode="aspectFill" />
|
<image class="work-order-icon" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/workOrder.png" mode="aspectFill" />
|
||||||
<text class="work-order-text">工单台</text>
|
<text class="work-order-text">工单台</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="work-order-card" v-if="index == 1"
|
<view class="work-order-card" v-if="index == 0"
|
||||||
@click="navigateToRoutingInspection">
|
@click="navigateToRoutingInspection">
|
||||||
<image class="work-order-icon" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/polling.png" mode="aspectFill" />
|
<image class="work-order-icon" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/polling.png" mode="aspectFill" />
|
||||||
<text class="work-order-text">巡更巡检</text>
|
<text class="work-order-text">巡更巡检</text>
|
||||||
|
|||||||
@ -52,6 +52,9 @@ export default {
|
|||||||
},
|
},
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
this.communityId = JSON.parse(options.communityId);
|
this.communityId = JSON.parse(options.communityId);
|
||||||
|
// this.getList();
|
||||||
|
},
|
||||||
|
onShow() {
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|||||||
@ -25,7 +25,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="section section1">
|
<view class="section section1">
|
||||||
<view class="section_label">
|
<view class="section_label">
|
||||||
<view>{{ userInfo.balance }}</view>
|
<view>{{ userInfo.property_housing_fund }}</view>
|
||||||
<view>积分</view>
|
<view>积分</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="section_label">
|
<view class="section_label">
|
||||||
@ -113,14 +113,16 @@
|
|||||||
</u-grid>
|
</u-grid>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="main margin20" v-if="isMerchant">
|
<view class="main margin20" v-if="shopManagementList.some(item => item.isShow)">
|
||||||
<view class="main_title">商家端</view>
|
<view class="main_title">功能服务</view>
|
||||||
<view class="item1 padding_bottom0">
|
<view class="item1 padding_bottom0">
|
||||||
<u-grid col="4" :border="false">
|
<u-grid col="4" :border="false">
|
||||||
<u-grid-item @click="headerOrderClick(item)" v-for="(item, index) in shopManagementList"
|
<u-grid-item @click="headerOrderClick(item)" v-for="(item, index) in shopManagementList"
|
||||||
:key="index">
|
:key="index">
|
||||||
<image class="nav_icon" :src="item.image" mode=""></image>
|
<view v-if="item.isShow" class="item2">
|
||||||
<text class="grid-text">{{ item.name }}</text>
|
<image class="nav_icon" :src="item.image" mode=""></image>
|
||||||
|
<text class="grid-text">{{ item.name }}</text>
|
||||||
|
</view>
|
||||||
</u-grid-item>
|
</u-grid-item>
|
||||||
</u-grid>
|
</u-grid>
|
||||||
</view>
|
</view>
|
||||||
@ -217,11 +219,26 @@ export default {
|
|||||||
url: "",
|
url: "",
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
shopManagementList: [{
|
shopManagementList: [
|
||||||
image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/user_page_Group_1782.png",
|
{
|
||||||
name: "店铺管理",
|
image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/user_page_Group_1782.png",
|
||||||
url: "/packages/storeManagement/index/index",
|
name: "商家端",
|
||||||
}],
|
url: "/packages/storeManagement/index/index",
|
||||||
|
isShow: uni.getStorageSync('is_merchant'),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/userPageGys.png",
|
||||||
|
name: "供应商端",
|
||||||
|
url: "",
|
||||||
|
isShow: uni.getStorageSync('is_worker'),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/userPageWuye.png",
|
||||||
|
name: "物业端",
|
||||||
|
url: "/packages/workOrderDashboard/guide/index",
|
||||||
|
isShow: uni.getStorageSync("is_worker"),
|
||||||
|
}
|
||||||
|
],
|
||||||
parkList: [
|
parkList: [
|
||||||
{
|
{
|
||||||
image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/park/parkIndex_icon1.png",
|
image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/park/parkIndex_icon1.png",
|
||||||
@ -246,7 +263,6 @@ export default {
|
|||||||
],
|
],
|
||||||
userInfo: {},
|
userInfo: {},
|
||||||
isShop: uni.getStorageSync('is_shop'),
|
isShop: uni.getStorageSync('is_shop'),
|
||||||
isMerchant: uni.getStorageSync('is_merchant'),
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user