This commit is contained in:
qiaojiale 2025-06-14 18:23:32 +08:00
parent 1078410227
commit 009a5ab8b1
20 changed files with 412 additions and 51 deletions

View File

@ -233,7 +233,6 @@ Page({
currentDevice:wx.getStorageSync('currentDevice') currentDevice:wx.getStorageSync('currentDevice')
}) })
that.getPayList() that.getPayList()
wx.showShareMenu({ wx.showShareMenu({
withShareTicket: true, withShareTicket: true,
menus: ['shareAppMessage', 'shareTimeline'] menus: ['shareAppMessage', 'shareTimeline']

View File

@ -133,7 +133,7 @@ Page({
} }
} }
util.postUrl(apiArr2.deviceList, param, res => { util.postUrl4(apiArr2.deviceList, param, res => {
wx.hideLoading() wx.hideLoading()
let flag = false let flag = false
if (res.list && res.list.length == that.data.page_size) { if (res.list && res.list.length == that.data.page_size) {

View File

@ -284,7 +284,8 @@ Page({
}); });
util.postUrl(apiArr.getDeviceByCode, { util.postUrl(apiArr.getDeviceByCode, {
device_code: res.result device_code: res.result,
install_id:that.data.id
}, res => { }, res => {
console.log(res, '222'); console.log(res, '222');
that.setData({ that.setData({

View File

@ -13,7 +13,7 @@
<view class="orderItem_Item" wx:if="{{item.status == 3 || item.status == 4 || item.status == 5}}"> <view class="orderItem_Item" wx:if="{{item.status == 3 || item.status == 4 || item.status == 5}}">
<view class="orderItem_Item_tit">设备号</view> <view class="orderItem_Item_tit">设备号</view>
<view class="orderItem_Item_con">{{item.device_id}}</view> <view class="orderItem_Item_con">{{item.device_code}}</view>
</view> </view>
<view class="orderItem_Item"> <view class="orderItem_Item">

View File

@ -11,6 +11,10 @@ Page({
account: "", account: "",
password: "", password: "",
}, },
accountIpt(e) { accountIpt(e) {
let that = this let that = this
that.setData({ that.setData({
@ -96,7 +100,11 @@ Page({
}, },
navigateToAgreement() {
wx.navigateTo({
url: '/pages/Agreement/Agreement',
})
},
getInfo() { getInfo() {
let that = this let that = this
util.postUrl4(apiArr.loginInfo, {}, res => { util.postUrl4(apiArr.loginInfo, {}, res => {

View File

@ -15,9 +15,13 @@
</view> </view>
</view> --> </view> -->
<view class="agreement">
<text>登录即表示您已同意</text>
<text class="link" bindtap="navigateToAgreement">《用户服务协议和隐私政策》</text>
</view>
<!-- 账号密码登录 --> <!-- 账号密码登录 -->
<view > <view>
<view class="login-form"> <view class="login-form">
<input class="login-input" value="{{account}}" bindinput="accountIpt" placeholder="请输入账号" /> <input class="login-input" value="{{account}}" bindinput="accountIpt" placeholder="请输入账号" />
<input class="login-input" password value="{{password}}" bindinput="passwordIpt" placeholder="请输入密码" /> <input class="login-input" password value="{{password}}" bindinput="passwordIpt" placeholder="请输入密码" />

View File

@ -6,7 +6,16 @@
position: fixed; position: fixed;
background-repeat: no-repeat; background-repeat: no-repeat;
} }
.agreement {
font-size: 24rpx;
color: #999;
text-align: center;
margin-top: 30rpx;
}
.link {
color: #2583ff;
}
.login-title { .login-title {
margin-top: 655rpx; margin-top: 655rpx;
} }

View File

@ -61,6 +61,12 @@ Page({
show5:true show5:true
}) })
}, },
cancel5(){
let that= this
that.setData({
show5:false
})
},
changeCustomerName(e) { changeCustomerName(e) {
let that = this let that = this
that.setData({ that.setData({

View File

@ -7,7 +7,7 @@
套餐 套餐
</view> </view>
<view class="formItem_con" bind:tap="changeShow1"> <view class="formItem_con" bind:tap="changeShow1">
<input type="text" placeholder="请选择套餐" value="{{package.package_name}}" /> <input type="text" placeholder="请选择套餐" disabled value="{{package.package_name}}" />
</view> </view>
</view> </view>
@ -17,7 +17,7 @@
产品 产品
</view> </view>
<view class="formItem_con" bind:tap="changeShow5"> <view class="formItem_con" bind:tap="changeShow5">
<input type="text" placeholder="请选择产品" value="{{product.product_name}}" /> <input type="text" placeholder="请选择产品" disabled value="{{product.product_name}}" />
</view> </view>
</view> </view>
@ -170,6 +170,6 @@
</van-popup> </van-popup>
<van-popup show="{{ show5 }}" safe-area-inset-bottom lock-scroll bind:close="onClose" round close-on-click-overlay position="bottom"> <van-popup show="{{ show5 }}" safe-area-inset-bottom lock-scroll bind:close="cancel5" round close-on-click-overlay position="bottom">
<van-picker show-toolbar bind:cancel="cancel5" bind:confirm="confirmproduct" columns="{{ productList }}" value-key="product_name" /> <van-picker show-toolbar bind:cancel="cancel5" bind:confirm="confirmproduct" columns="{{ productList }}" value-key="product_name" />
</van-popup> </van-popup>

View File

@ -13,7 +13,11 @@ Page({
account: "", account: "",
type:"" type:""
}, },
navigateToAgreement() {
wx.navigateTo({
url: '../Agreement/Agreement',
})
},
accountIpt(e) { accountIpt(e) {
let that = this let that = this
that.setData({ that.setData({

View File

@ -3,18 +3,22 @@
<view class="login-title"> <view class="login-title">
<view class="login-tip" style="font-size: 40rpx; color: #000000;">欢迎来到【人人爱净水】</view> <view class="login-tip" style="font-size: 40rpx; color: #000000;">欢迎来到【人人爱净水】</view>
<view class="login-tip" style="font-size: 28rpx; color: #555555; margin-top: 30rpx;" wx:if="{{loginType === 'phone'}}">为了更好的体验,申请获取您的公开信息</view> <view class="login-tip" style="font-size: 28rpx; color: #555555; margin-top: 30rpx;" wx:if="{{loginType === 'phone'}}">为了更好的体验,申请获取您的公开信息</view>
<view class="login-tip" style="font-size: 28rpx; color: #555555; margin-top: 14rpx;">(头像、昵称等)</view>
<view class="agreement">
<text>登录即表示您已同意</text>
<text class="link" bindtap="navigateToAgreement">《用户服务协议和隐私政策》</text>
</view>
<!-- 手机登录 --> <!-- 手机登录 -->
<view > <view>
<view class="login-tip" style="font-size: 28rpx; color: #555555; margin-top: 14rpx;">(头像、昵称等)</view>
<view class="login-button"> <view class="login-button">
<button class="login-btn" open-type="getPhoneNumber" bindtap="headerLoginClick" bindgetphonenumber="getPhoneNumber"> <button class="login-btn" open-type="getPhoneNumber" bindtap="headerLoginClick" bindgetphonenumber="getPhoneNumber">
授权登录 授权登录
</button> </button>
</view> </view>
</view> </view>
<view class="login-to-home"> <view class="login-to-home">
<text class="login-to-home-text" bindtap='backHomes'> <text class="login-to-home-text" bindtap='backHomes'>

View File

@ -7,6 +7,17 @@
background-repeat: no-repeat; background-repeat: no-repeat;
} }
.agreement {
font-size: 24rpx;
color: #999;
text-align: center;
margin-top: 30rpx;
}
.link {
color: #2583ff;
}
.login-title { .login-title {
margin-top: 655rpx; margin-top: 655rpx;
} }

View File

@ -18,10 +18,57 @@ Page({
navigateToClient() { navigateToClient() {
if (wx.getStorageSync('ctoken') && wx.getStorageSync('loginMaster') == '1') { if (wx.getStorageSync('ctoken') && wx.getStorageSync('loginMaster') == '1') {
wx.navigateTo({
url: '/pages/water_filter/water_filter', wx.getSetting({
}) withSubscriptions: true,
success: (res) => {
if (res.subscriptionsSetting && res.subscriptionsSetting.mainSwitch) {
const itemSettings = res.subscriptionsSetting.itemSettings || {};
const tmplMap = {
'5yPg-WOoP9-9ZU1fHjC4zg1KNaPWb76K87JzzKb58f0': '工单完成通知',
'qLYGETdlX5pR8WvTs8v4g4zlBOhA04z46KS_Q_yesr4': '工单派工通知',
'5yPg-WOoP9-9ZU1fHjC4zg1KNaPWb76K87JzzKb58f0': '订单付款通知'
};
const unsubscribedTmplIds = [];
Object.keys(tmplMap).forEach(tmplId => {
if (itemSettings[tmplId] !== 'accept') {
unsubscribedTmplIds.push(tmplId);
}
});
if (unsubscribedTmplIds.length > 0) {
wx.requestSubscribeMessage({
tmplIds: unsubscribedTmplIds,
success: (res) => {
wx.navigateTo({
url: '/pages/water_filter/water_filter',
})
},
fail: (err) => {
wx.navigateTo({
url: '/pages/water_filter/water_filter',
})
}
});
} else {
wx.navigateTo({
url: '/pages/water_filter/water_filter',
})
}
}
},
fail: () => {
wx.navigateTo({
url: '/pages/water_filter/water_filter',
})
}
});
} else { } else {
wx.navigateTo({ wx.navigateTo({
url: '/pages/login/login', url: '/pages/login/login',
}) })
@ -107,7 +154,7 @@ Page({
if (accountInfo.miniProgram.version) { if (accountInfo.miniProgram.version) {
version = accountInfo.miniProgram.version version = accountInfo.miniProgram.version
} else { } else {
version = '1.0.19' version = '1.0.22'
} }
wx.setStorageSync('version', version) wx.setStorageSync('version', version)

View File

@ -334,9 +334,9 @@ Page({
that.queryPay() that.queryPay()
}, },
fail(fal) { fail(fal) {
if(fal.errMsg == 'requestPayment:fail cancel'){ if (fal.errMsg == 'requestPayment:fail cancel') {
that.payFail(2) that.payFail(2)
}else{ } else {
that.payFail(1) that.payFail(1)
} }
} }
@ -391,19 +391,31 @@ Page({
success: (res) => { success: (res) => {
console.log('订阅成功', res); console.log('订阅成功', res);
that.getUserInfo(); that.getUserInfo();
// wx.reLaunch({
// url: '/pages/water_filter/water_filter',
// })
}, },
fail: (err) => { fail: (err) => {
console.error('订阅失败', err); console.error('订阅失败', err);
that.getUserInfo(); that.getUserInfo();
// wx.reLaunch({
// url: '/pages/water_filter/water_filter',
// })
} }
}); });
} else { } else {
that.getUserInfo(); that.getUserInfo();
// wx.reLaunch({
// url: '/pages/water_filter/water_filter',
// })
} }
} }
}, },
fail: () => { fail: () => {
that.getUserInfo(); that.getUserInfo();
// wx.reLaunch({
// url: '/pages/water_filter/water_filter',
// })
} }
}); });
@ -426,10 +438,12 @@ Page({
wx.setStorageSync('dealer_id', ress.dealer_id); wx.setStorageSync('dealer_id', ress.dealer_id);
wx.setStorageSync('is_dev', ress.is_dev); wx.setStorageSync('is_dev', ress.is_dev);
// if (ress.is_dev == 2) { wx.reLaunch({
wx.navigateTo({ url: '/pages/water_filter/water_filter',
url: '/pages/newOrderList/newOrderList',
}) })
// if (ress.is_dev == 2) {
// } else if (ress.is_dev == 3) { // } else if (ress.is_dev == 3) {
// wx.navigateTo({ // wx.navigateTo({
// url: '/pages/water_filter/water_filter', // url: '/pages/water_filter/water_filter',

View File

@ -36,7 +36,6 @@ Page({
wx.navigateTo({ wx.navigateTo({
url: `../newOrderListDesc/index?id=${e.currentTarget.dataset.id}`, url: `../newOrderListDesc/index?id=${e.currentTarget.dataset.id}`,
}) })
}, },
addWorkOrder() { addWorkOrder() {
wx.navigateTo({ wx.navigateTo({

View File

@ -1,11 +1,5 @@
<view class="upkeep"> <view class="upkeep">
<!-- <view class="upkeep_select">
<view class="ipt">
<input value="{{searchText}}" bindinput="ipt1" type="text" placeholder="工单号/客户名称/客户手机" placeholder-style="color: #999999;font-size: 24rpx;" />
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/water_filter/dervice/deriveSearch.png?1" mode="widthFix" bind:tap="search" />
</view>
</view> -->
<view class="orderList" wx:if="{{deviceList.length != 0}}"> <view class="orderList" wx:if="{{deviceList.length != 0}}">
<view class="orderItem" wx:for="{{deviceList}}" wx:key="index" bind:tap="desc" data-id="{{item.install_id}}"> <view class="orderItem" wx:for="{{deviceList}}" wx:key="index" bind:tap="desc" data-id="{{item.install_id}}">

View File

@ -13,6 +13,8 @@ Page({
* 页面的初始数据 * 页面的初始数据
*/ */
data: { data: {
newOrderDesc: {},
s: app.system.statusBarHeight, // 状态栏高度 s: app.system.statusBarHeight, // 状态栏高度
n: (app.menu.top - app.system.statusBarHeight) * 2 + app.menu.height, // 导航栏高度 n: (app.menu.top - app.system.statusBarHeight) * 2 + app.menu.height, // 导航栏高度
t: app.menu.top, // 胶囊局顶部距离 t: app.menu.top, // 胶囊局顶部距离
@ -103,6 +105,9 @@ Page({
}, },
], ],
foot_width: '50%', foot_width: '50%',
newOrderList: [],
newOrderInfo: "",
}, },
back() { back() {
wx.redirectTo({ wx.redirectTo({
@ -147,7 +152,6 @@ Page({
}) })
}, },
getPermission() { getPermission() {
let that = this let that = this
wx.requestSubscribeMessage({ wx.requestSubscribeMessage({
@ -233,7 +237,7 @@ Page({
} }
wx.showLoading({ wx.showLoading({
title: '登录中...', title: '操作中...',
mask: true mask: true
}) })
@ -249,7 +253,7 @@ Page({
icon: "none" icon: "none"
}) })
that.setData({ that.setData({
"currentDevice.sevice_status": 0 "currentDevice.sevice_status": 2
}) })
console.log('关机'); console.log('关机');
} else if (res.data.params.sevice_status.value == '10') { } else if (res.data.params.sevice_status.value == '10') {
@ -266,6 +270,61 @@ Page({
}) })
}, },
getNewOrderList() {
let that = this
wx.showLoading({
title: '加载中...',
mask: true,
})
//设置加载状态
util.postUrl(apiArr.userNewOrderList, {
page_size: that.data.page_size,
page_num: that.data.page_num,
}, res => {
wx.hideLoading()
if (res.rows) {
let flag = false
that.setData({
newOrderList: that.data.newOrderList.concat(res.rows || []),
})
if(res.rows.length){
that.getNewOrderInfo(res.rows[0].install_id)
}
}
})
},
call(){
let that= this
wx.makePhoneCall({
phoneNumber: that.data.newOrderDesc.cus_service_phone,
})
},
getNewOrderInfo(e) {
let that = this
util.postUrl(apiArr.newOrderDesc, { install_id: Number(e) }, res => {
res.product_icon2 = util.img_url + res.product_icon
res.qrcode2 = util.img_url + res.qrcode
that.setData({
newOrderDesc: res,
})
if (res.status == 3) {
let imgList2 = res.install_imgs.split(',')
let imgList = []
imgList2.forEach((item, index) => {
imgList.push(util.img_url + item)
})
that.setData({
msg: res.install_desc,
imgList2,
imgList,
dis1: true
})
}
})
},
getUserInfo() { getUserInfo() {
wx.showLoading({ wx.showLoading({
title: '加载中...', title: '加载中...',
@ -285,6 +344,11 @@ Page({
that.setData({ that.setData({
is_dev: wx.getStorageSync('is_dev') is_dev: wx.getStorageSync('is_dev')
}) })
if (ress.is_dev == 2) {
that.getNewOrderList()
}
}) })
}, },
@ -446,6 +510,10 @@ Page({
jumps(e) { jumps(e) {
console.log(e); console.log(e);
if (e.currentTarget.dataset.idx == '1') { if (e.currentTarget.dataset.idx == '1') {
wx.redirectTo({
url: e.currentTarget.dataset.url,
})
return
wx.getSetting({ wx.getSetting({
withSubscriptions: true, withSubscriptions: true,
success: (res) => { success: (res) => {
@ -647,7 +715,7 @@ Page({
} }
res.today = Number(res.today).toFixed(2) res.today = Number(res.today).toFixed(2)
res.yesterday = Number(res.yesterday).toFixed(2) res.yesterday = Number(res.yesterday).toFixed(2)
that.setData({ that.setData({
currentDevice: res currentDevice: res
}) })
@ -823,11 +891,11 @@ Page({
}) })
}, },
newOrder() { // newOrder() {
wx.navigateTo({ // wx.navigateTo({
url: '/pages/newOrderList/newOrderList', // url: '/pages/newOrderList/newOrderList',
}) // })
}, // },
//查询设备实时信息 //查询设备实时信息
getDeriveInfo() { getDeriveInfo() {

View File

@ -107,8 +107,8 @@
<view class="device-state" wx:if="{{login}}"> <view class="device-state" wx:if="{{login}}">
<image wx:if="{{currentDevice.sevice_status != 1}}" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/water_filter/Group_405.png?v1" mode="" class="switch-icon" /> <image wx:if="{{currentDevice.sevice_status == '2'}}" bind:tap="openOff" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/water_filter/Group_405.png?v1" mode="" class="switch-icon" />
<image wx:if="{{currentDevice.sevice_status == 1}}" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/openBtn.png" mode="" class="switch-icon" /> <image wx:if="{{currentDevice.sevice_status == '1'}}" bind:tap="openOff" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/openBtn.png" mode="" class="switch-icon" />
<text class="switch-text text-color text-size" bind:tap="openOff" wx:if="{{currentDevice.sevice_status == '1'}}">开机</text> <text class="switch-text text-color text-size" bind:tap="openOff" wx:if="{{currentDevice.sevice_status == '1'}}">开机</text>
<text class="switch-text text-color text-size" bind:tap="openOff" wx:if="{{currentDevice.sevice_status == '2'}}">关机</text> <text class="switch-text text-color text-size" bind:tap="openOff" wx:if="{{currentDevice.sevice_status == '2'}}">关机</text>
@ -118,7 +118,7 @@
<image wx:if="{{currentDevice.network_status != '1'}}" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/water_filter/mdicon3.png" mode="" class="wifi-icon" /> <image wx:if="{{currentDevice.network_status != '1'}}" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/water_filter/mdicon3.png" mode="" class="wifi-icon" />
<image wx:if="{{currentDevice.network_status == '1'}}" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/water_filter/mdicon4.png" mode="" class="wifi-icon" /> <image wx:if="{{currentDevice.network_status == 1}}" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/mdicon4.png" mode="" class="wifi-icon" />
<text class="wifi-text text-color text-size">{{currentDevice.network_status == '1'?'在线':'离线'}}</text> <text class="wifi-text text-color text-size">{{currentDevice.network_status == '1'?'在线':'离线'}}</text>
</view> </view>
@ -252,9 +252,79 @@
添加设备 添加设备
</view> </view>
<view wx:if="{{is_dev == 2 }}" class="btnDevice" bind:tap="newOrder"> <view wx:if="{{is_dev == 2 }}">
查看进度 <view class="section">
<view class="section-title">工单信息</view>
<view class="info-item">
<text class="label">产品名称:</text>
<text class="value">{{newOrderDesc.product_name || '暂无数据'}}</text>
</view>
<view class="info-item">
<text class="label">约定时间:</text>
<text class="value">{{newOrderDesc.appointment_time || '暂无数据'}}</text>
</view>
<view class="info-item">
<text class="label">客户姓名:</text>
<text class="value">{{newOrderDesc.customer_name || '暂无数据'}}</text>
</view>
<view class="info-item">
<text class="label">客户电话:</text>
<text class="value">{{newOrderDesc.customer_phone || '暂无数据'}}</text>
</view>
<view class="info-item">
<text class="label">客户地址:</text>
<text class="value">{{newOrderDesc.address || '暂无数据'}}</text>
</view>
<view class="info-item" wx:if="{{newOrderDesc.repairman_name}}">
<text class="label">维修师傅:</text>
<text class="value">{{newOrderDesc.repairman_name}}</text>
</view>
<view class="info-item" wx:if="{{newOrderDesc.repairman_phone}}">
<text class="label">维修师傅电话:</text>
<text class="value">{{newOrderDesc.repairman_phone}}</text>
</view>
<view class="info-item">
<text class="label">客户地址:</text>
<text class="value">{{newOrderDesc.address || '暂无数据'}}</text>
</view>
<view class="info-item">
<text class="label">订单状态:</text>
<text class="value " wx:if="{{newOrderDesc.status == '1'}}">待分配</text>
<text class="value " wx:if="{{newOrderDesc.status == '2'}}">安装中</text>
<text class="value " wx:if="{{newOrderDesc.status == '3'}}">待激活</text>
<text class="value " wx:if="{{newOrderDesc.status == '4'}}">已安装</text>
<text class="value " wx:if="{{newOrderDesc.status == '5'}}">忽视</text>
</view>
<view class="info-item">
<text class="label">客服电话:</text>
<view class="value" bind:tap="call">
{{newOrderDesc.cus_service_phone}}
<van-icon name="phone-o" color="#8bc34a" />
</view>
</view>
<view class="info-item" wx:if="{{newOrderDesc.qrcode}}">
<text class="label">客服二维码:</text>
</view>
<view class="product-image" wx:if="{{newOrderDesc.qrcode}}">
<image src="{{newOrderDesc.qrcode2}}" mode="aspectFit" />
</view>
</view>
</view> </view>
</view> </view>
@ -262,11 +332,11 @@
<view class="foot-fixed"> <view class="foot-fixed">
<block wx:for="{{nav_list}}" wx:key="unique"> <block wx:for="{{nav_list}}" wx:key="unique">
<!-- <view>{{item.photo}}</view> --> <!-- <view>{{item.photo}}</view> -->
<view id="navIndex" bind:tap="jumps" data-idx="{{index}}" data-url="{{item.url}}" style="width:{{foot_width}}" class="foot-item"> <view id="navIndex" bind:tap="jumps" data-idx="{{index}}" data-url="{{item.url}}" style="width:{{foot_width}}" class="foot-item">
<view class="foot-icon" style="background: url({{item.photo}}) center center no-repeat; background-size: contain;"></view> <view class="foot-icon" style="background: url({{item.photo}}) center center no-repeat; background-size: contain;"></view>
<text class="foot-label" id="navIndexLabel">{{item.nav_name}}</text> <text class="foot-label" id="navIndexLabel">{{item.nav_name}}</text>
</view> </view>
</block> </block>
</view> </view>

View File

@ -628,4 +628,113 @@
font-weight: 400; font-weight: 400;
font-size: 36rpx; font-size: 36rpx;
color: #FFFFFF; color: #FFFFFF;
}
.section {
margin-top: 40rpx;
width: 100%;
margin-bottom: 40rpx;
padding: 20rpx;
background: #fff;
border-radius: 8rpx;
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
}
.section-title {
font-size: 32rpx;
font-weight: bold;
margin-bottom: 20rpx;
color: #000;
}
.info-item {
display: flex;
align-items: center;
margin-bottom: 16rpx;
white-space: nowrap;
}
.label {
color: #666;
font-size: 28rpx;
width: 210rpx;
}
.value {
color: #333;
font-size: 28rpx;
flex: 1;
}
.product-image {
margin: 32rpx 0;
text-align: center;
box-sizing: border-box;
width: 300rpx;
height: 300rpx;
display: flex;
align-items: center;
justify-content: center;
}
.product-image image {
width: 280rpx;
height: 280rpx;
border-radius: 16rpx;
box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.1);
}
.complete-btn-container {
position: fixed;
bottom: 32rpx;
left: 32rpx;
right: 32rpx;
display: flex;
justify-content: space-between;
}
.complete-btn {
width: 48%;
height: 80rpx;
line-height: 80rpx;
background: #2583FF;
color: #fff;
border-radius: 40rpx;
font-size: 32rpx;
}
.cancel-btn {
background: #999;
}
.installation-images {
display: flex;
flex-wrap: wrap;
gap: 16rpx;
}
.installation-image {
width: 210rpx;
height: 210rpx;
border-radius: 8rpx;
}
.image-container {
display: flex;
flex-wrap: wrap;
gap: 16rpx;
/* 图片间距 */
position: relative;
}
.image-item {
width: calc((100% - 32rpx) / 3);
/* 每行显示3张图片减去间距 */
height: 210rpx;
border-radius: 8rpx;
} }

View File

@ -2,6 +2,20 @@
"condition": { "condition": {
"miniprogram": { "miniprogram": {
"list": [ "list": [
{
"name": "/packages/WaterPurifier/pages/Addfriend/Addfriend",
"pathName": "/packages/WaterPurifier/pages/Addfriend/Addfriend",
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "新增工单详情",
"pathName": "pages/newOrderListDesc/index",
"query": "id=5",
"launchMode": "default",
"scene": null
},
{ {
"name": "用户新装工单列表", "name": "用户新装工单列表",
"pathName": "pages/newOrderList/newOrderList", "pathName": "pages/newOrderList/newOrderList",