release: freeze 2026-10-15 validated release baseline
CI/CD Pipeline / UI Contracts (source-structure gates) (push) Canceled after 0s
CI/CD Pipeline / E2E (live stack) (push) Canceled after 0s
CI/CD Pipeline / Backend Build & Test (push) Canceled after 0s
CI/CD Pipeline / Admin Web Build (push) Canceled after 0s
CI/CD Pipeline / Mini Program Compile Check (push) Canceled after 0s
CI/CD Pipeline / Migration Validation (push) Canceled after 0s
CI/CD Pipeline / Test Shell Guard (Phase 23 Gate) (push) Canceled after 0s

This commit is contained in:
WorkBuddy
2026-10-15 09:47:31 +08:00
parent 827c23db1d
commit 3c2b967274
149 changed files with 4324 additions and 348 deletions
@@ -2,11 +2,13 @@
* 红娘服务进度页 U35
*/
const api = require('../../utils/api');
const { matchmakerService } = require('../../services');
Page({
data: {
service: null,
loading: true
loading: true,
confirming: false
},
onLoad() {
@@ -22,8 +24,10 @@ Page({
this.setData({ loading: true });
try {
const token = wx.getStorageSync('accessToken');
const res = await api.get(`/matchmaker/services/${serviceId}`, {}, { Authorization: `Bearer ${token}` });
this.setData({ service: res, loading: false });
const services = await api.get('/matchmaker/services', {}, { Authorization: `Bearer ${token}` });
const service = Array.isArray(services)
? services.find(item => (item.serviceId || item.id) === serviceId) : null;
this.setData({ service: service || null, loading: false });
} catch (err) {
this.setData({ loading: false });
}
@@ -44,6 +48,20 @@ Page({
}
},
async onConfirmService() {
if (!this.data.service || this.data.service.status !== 'waiting_user' || this.data.confirming) return;
this.setData({ confirming: true });
try {
await matchmakerService.confirmService(this.data.service.serviceId || this.data.service.id);
wx.showToast({ title: '已确认', icon: 'success' });
await this.loadService(this.data.service.serviceId || this.data.service.id);
} catch (err) {
wx.showToast({ title: (err && err.message) || '确认失败,请稍后重试', icon: 'none' });
} finally {
this.setData({ confirming: false });
}
},
getStatusText(status) {
const map = {
'submitted': '已提交,等待分配',
@@ -6,6 +6,7 @@
</view>
<view class="info-card">
<view class="info-row"><text class="info-label">服务编号</text><text class="info-value">{{service.displayId || service.serviceDisplayId}}</text></view>
<view class="info-row">
<text class="info-label">服务类型</text>
<text class="info-value">{{getServiceTypeText(service.serviceType)}}</text>
@@ -49,6 +50,12 @@
</view>
</view>
</view>
<view wx:if="{{service.status === 'waiting_user'}}" class="confirm-card">
<text class="confirm-title">红娘已提交服务方案</text>
<text class="confirm-desc">确认后将恢复服务跟进。</text>
<button class="btn-confirm" loading="{{confirming}}" disabled="{{confirming}}" bindtap="onConfirmService">{{confirming ? '确认中...' : '确认服务方案'}}</button>
</view>
</view>
<view wx:if="{{!loading && !service}}" class="empty">