44 lines
1.4 KiB
JavaScript
44 lines
1.4 KiB
JavaScript
/**
|
|
* MatchmakerCard 红娘服务卡片(规范 §48-50)
|
|
*
|
|
* 展示我申请的红娘服务进度,含状态、所属机构、最近跟进时间。
|
|
* 不变量(AGENTS.md 第 5 条):红娘不可替用户操作——本卡片不暴露任何
|
|
* "代用户 Like/Pass"入口,红娘推荐列表走 matchStore.like/pass(userId)。
|
|
* 不变量(AGENTS.md 第 1 条):用户永久免费——本卡片不展示任何付费红娘/会员红娘字段。
|
|
*/
|
|
Component({
|
|
options: { addGlobalClass: true },
|
|
properties: {
|
|
service: { type: Object, value: null },
|
|
showRecommendations: { type: Boolean, value: false },
|
|
},
|
|
data: {
|
|
statusLabelMap: {
|
|
submitted: '已提交申请',
|
|
assigned: '红娘已分配',
|
|
in_service: '服务中',
|
|
waiting_user: '等待你的回应',
|
|
completed: '服务完成',
|
|
cancelled: '已取消',
|
|
},
|
|
statusKindMap: {
|
|
submitted: 'info',
|
|
assigned: 'info',
|
|
in_service: 'success',
|
|
waiting_user: 'warning',
|
|
completed: 'disabled',
|
|
cancelled: 'disabled',
|
|
},
|
|
},
|
|
methods: {
|
|
onViewDetail() {
|
|
if (!this.data.service) return;
|
|
this.triggerEvent('view', { serviceId: this.data.service.serviceId });
|
|
},
|
|
onViewRecommendations() {
|
|
if (!this.data.service) return;
|
|
this.triggerEvent('recommendations', { serviceId: this.data.service.serviceId });
|
|
},
|
|
},
|
|
});
|