|
|
@@ -453,7 +453,18 @@ export default {
|
|
|
})
|
|
|
if (res.code == 0) {
|
|
|
const list = res.data?.wests || []
|
|
|
- this.westernDiseaseOptions = list
|
|
|
+ // 保留已选中但不在搜索结果中的选项
|
|
|
+ const selectedCodes = Array.isArray(this.editData.westernDisease)
|
|
|
+ ? this.editData.westernDisease
|
|
|
+ : []
|
|
|
+ const resultCodes = new Set(list.map(i => i.westcode))
|
|
|
+ const preserved = selectedCodes
|
|
|
+ .filter(code => !resultCodes.has(code))
|
|
|
+ .map(code => ({
|
|
|
+ westcode: code,
|
|
|
+ westname: this.westernDiseaseNameMap[code] || code,
|
|
|
+ }))
|
|
|
+ this.westernDiseaseOptions = [...preserved, ...list]
|
|
|
this.westernDiseaseHasMore = list.length >= 200
|
|
|
}
|
|
|
} catch (e) {
|
|
|
@@ -605,12 +616,14 @@ export default {
|
|
|
this.therapyOptions = detail.theCode != null
|
|
|
? [{ therapyCode: detail.theCode, therapy: detail.theName, therapyName: detail.theName }]
|
|
|
: []
|
|
|
- if (detail.westernCode && detail.westernDiag) {
|
|
|
+ if (detail.westernCode) {
|
|
|
const codes = String(detail.westernCode).split(',')
|
|
|
- const names = String(detail.westernDiag).split(',')
|
|
|
+ const names = detail.westernDiag
|
|
|
+ ? String(detail.westernDiag).split(',')
|
|
|
+ : []
|
|
|
this.westernDiseaseOptions = codes.map((code, idx) => ({
|
|
|
westcode: code.trim(),
|
|
|
- westname: (names[idx] || '').trim(),
|
|
|
+ westname: (names[idx] || '').trim() || code.trim(),
|
|
|
}))
|
|
|
} else {
|
|
|
this.westernDiseaseOptions = []
|