|
|
@@ -23,8 +23,8 @@
|
|
|
<text class="transfer-meta">申请时间:{{ formatDateTime(item.createdAt) }}</text>
|
|
|
</view>
|
|
|
<view class="transfer-actions">
|
|
|
- <view class="transfer-btn transfer-deny" @click.stop="denyTransfer(item)">拒绝</view>
|
|
|
- <view class="transfer-btn transfer-approve" @click.stop="approveTransfer(item)">同意</view>
|
|
|
+ <view class="transfer-btn transfer-deny" @click.stop="denyTransfer(item.id)">拒绝</view>
|
|
|
+ <view class="transfer-btn transfer-approve" @click.stop="approveTransfer(item.id)">同意</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
<!-- 本家庭发起的申请 -->
|
|
|
@@ -61,17 +61,17 @@
|
|
|
<view class="swipe-row" v-for="item in reports" :key="getReportKey(item)">
|
|
|
<!-- 右侧操作按钮(左滑后露出:删除 + 调整归属);DAN 报告不可左右滑动删除 -->
|
|
|
<view class="swipe-actions" v-if="item.reportType !== 'dan'">
|
|
|
- <view class="swipe-delete" @click.stop="confirmDelete(item)">删除</view>
|
|
|
- <view class="swipe-adjust" @click.stop="adjustBinding(item)">调整归属</view>
|
|
|
+ <view class="swipe-delete" @click.stop="confirmDelete(item.id)">删除</view>
|
|
|
+ <view class="swipe-adjust" @click.stop="adjustBinding(item.id, item.subjectId)">调整归属</view>
|
|
|
</view>
|
|
|
<!-- 卡片内容(可左滑) -->
|
|
|
<view class="swipe-content"
|
|
|
:class="{ 'swipe-moving': curId === item.id }"
|
|
|
:style="'transform: translateX(' + (curId === item.id ? moveOffset : (openMap[item.id] ? -160 : 0)) + 'px)'"
|
|
|
- @touchstart="onTouchStart($event, item)"
|
|
|
+ @touchstart="onTouchStart($event, item.id, item.reportType)"
|
|
|
@touchmove="onTouchMove"
|
|
|
@touchend="onTouchEnd"
|
|
|
- @click="onRowClick(item)">
|
|
|
+ @click="onRowClick(item.id, item.reportType)">
|
|
|
<view class="report-card">
|
|
|
<view class="report-card-left">
|
|
|
<view class="report-type-badge" :class="'badge-' + (item.reportType === 'gut_flora' ? 'gut' : item.reportType === 'tongue' ? 'tongue' : item.reportType === 'dan' ? 'dan' : 'exam')">
|
|
|
@@ -122,7 +122,7 @@
|
|
|
v-for="member in adjustMembers"
|
|
|
:key="member.id"
|
|
|
:class="{ 'chip-active': selectedAdjustMemberId === member._filterId }"
|
|
|
- @click="selectMemberAdjust(member)"
|
|
|
+ @click="selectMemberAdjust(member.id)"
|
|
|
>
|
|
|
<text class="chip-text">{{ member.nickname || '成员' }}</text>
|
|
|
</view>
|
|
|
@@ -136,7 +136,7 @@
|
|
|
class="member-item"
|
|
|
v-for="(member, mIdx) in adjustMembers"
|
|
|
:key="mIdx"
|
|
|
- @click="selectMemberAdjust(member)"
|
|
|
+ @click="selectMemberAdjust(member.id)"
|
|
|
>
|
|
|
<text class="member-avatar">{{ (member.nickname || '?').substring(0, 1) }}</text>
|
|
|
<text class="member-name">{{ member.nickname || '未知' }}</text>
|
|
|
@@ -232,13 +232,13 @@ export default {
|
|
|
getReportKey(item) {
|
|
|
return item.reportType + '-' + item.id
|
|
|
},
|
|
|
- adjustBinding(item) {
|
|
|
+ adjustBinding(id, subjectId) {
|
|
|
var self = this
|
|
|
// 显示成员选择面板
|
|
|
self.showAdjustPanel = true
|
|
|
- self.adjustReportId = item.id
|
|
|
+ self.adjustReportId = id
|
|
|
// 记录当前归属成员ID(用于判断是否显示"取消归属"选项)
|
|
|
- self.adjustCurrentMemberId = item.subjectId
|
|
|
+ self.adjustCurrentMemberId = subjectId
|
|
|
// 使用已加载的成员列表
|
|
|
self.adjustMembers = self.members
|
|
|
self.selectedAdjustMemberId = null
|
|
|
@@ -344,11 +344,11 @@ export default {
|
|
|
this.selectedMemberId = filterId
|
|
|
this.loadData()
|
|
|
},
|
|
|
- selectMemberAdjust(member) {
|
|
|
+ selectMemberAdjust(memberId) {
|
|
|
var self = this
|
|
|
self.showAdjustPanel = false
|
|
|
// 调用后端接口修改归属
|
|
|
- reassignReport(self.adjustReportId, member.id).then(function(res) {
|
|
|
+ reassignReport(self.adjustReportId, memberId).then(function(res) {
|
|
|
if (res.code === 200) {
|
|
|
uni.showToast({ title: '归属修改成功', icon: 'success' })
|
|
|
self.loadData()
|
|
|
@@ -390,7 +390,7 @@ export default {
|
|
|
if (status === 'denied') return '对方已拒绝'
|
|
|
return '等待对方同意'
|
|
|
},
|
|
|
- approveTransfer(item) {
|
|
|
+ approveTransfer(id) {
|
|
|
var self = this
|
|
|
uni.showModal({
|
|
|
title: '同意转移',
|
|
|
@@ -398,7 +398,7 @@ export default {
|
|
|
confirmColor: BrandColors.elementDanger,
|
|
|
success: function(res) {
|
|
|
if (!res.confirm) return
|
|
|
- approveReportTransfer(item.id).then(function(r) {
|
|
|
+ approveReportTransfer(id).then(function(r) {
|
|
|
if (r && r.code === 200) {
|
|
|
uni.showToast({ title: '已同意,报告已转入对方家庭', icon: 'none' })
|
|
|
self.loadTransferRequests()
|
|
|
@@ -412,14 +412,14 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- denyTransfer(item) {
|
|
|
+ denyTransfer(id) {
|
|
|
var self = this
|
|
|
uni.showModal({
|
|
|
title: '拒绝转移',
|
|
|
content: '拒绝后该报告继续留在您的家庭。',
|
|
|
success: function(res) {
|
|
|
if (!res.confirm) return
|
|
|
- denyReportTransfer(item.id, '').then(function(r) {
|
|
|
+ denyReportTransfer(id, '').then(function(r) {
|
|
|
if (r && r.code === 200) {
|
|
|
uni.showToast({ title: '已拒绝', icon: 'none' })
|
|
|
self.loadTransferRequests()
|
|
|
@@ -458,36 +458,36 @@ export default {
|
|
|
}
|
|
|
uni.navigateTo({ url: url })
|
|
|
},
|
|
|
- onRowClick(item) {
|
|
|
+ onRowClick(id, reportType) {
|
|
|
// 刚滑动过,忽略本次点击
|
|
|
if (this.touchDidMove) {
|
|
|
this.touchDidMove = false
|
|
|
return
|
|
|
}
|
|
|
// 行处于打开态,点击先收起
|
|
|
- if (this.openMap[item.id]) {
|
|
|
- this.$set(this.openMap, item.id, false)
|
|
|
+ if (this.openMap[id]) {
|
|
|
+ this.$set(this.openMap, id, false)
|
|
|
return
|
|
|
}
|
|
|
- this.goToDetail(item.id, item.reportType)
|
|
|
+ this.goToDetail(id, reportType)
|
|
|
},
|
|
|
- onTouchStart(e, item) {
|
|
|
+ onTouchStart(e, id, reportType) {
|
|
|
// DAN 报告无删除/调整归属能力,禁止左滑
|
|
|
- if (item && item.reportType === 'dan') {
|
|
|
+ if (id != null && reportType === 'dan') {
|
|
|
this.curId = null
|
|
|
return
|
|
|
}
|
|
|
|
|
|
// 先收起其它已打开行
|
|
|
- if (this.curId !== null && this.curId !== item.id && this.openMap[this.curId]) {
|
|
|
+ if (this.curId !== null && this.curId !== id && this.openMap[this.curId]) {
|
|
|
this.$set(this.openMap, this.curId, false)
|
|
|
}
|
|
|
var touch = e.touches[0]
|
|
|
- this.curId = item.id
|
|
|
+ this.curId = id
|
|
|
this.startX = touch.clientX
|
|
|
this.startY = touch.clientY
|
|
|
this.touchDidMove = false
|
|
|
- this.baseOffset = this.openMap[item.id] ? -160 : 0
|
|
|
+ this.baseOffset = this.openMap[id] ? -160 : 0
|
|
|
this.moveOffset = this.baseOffset
|
|
|
},
|
|
|
onTouchMove(e) {
|
|
|
@@ -515,7 +515,7 @@ export default {
|
|
|
goToUpload() {
|
|
|
uni.navigateTo({ url: '/pages/health/report-upload' })
|
|
|
},
|
|
|
- confirmDelete(item) {
|
|
|
+ confirmDelete(id) {
|
|
|
var self = this
|
|
|
uni.showModal({
|
|
|
title: '删除报告',
|
|
|
@@ -523,13 +523,13 @@ export default {
|
|
|
confirmColor: BrandColors.elementDanger,
|
|
|
success: function(res) {
|
|
|
if (!res.confirm) return
|
|
|
- self.doDelete(item)
|
|
|
+ self.doDelete(id)
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- doDelete(item) {
|
|
|
+ doDelete(id) {
|
|
|
var self = this
|
|
|
- deleteReport(item.id).then(function(res) {
|
|
|
+ deleteReport(id).then(function(res) {
|
|
|
if (res.code === 200) {
|
|
|
uni.showToast({ title: '已删除', icon: 'success' })
|
|
|
self.loadData()
|