|
@ -5,7 +5,7 @@ |
|
|
</a-tabs> |
|
|
</a-tabs> |
|
|
<a-form :form="form" v-if="typeof tabNums === 'number'"> |
|
|
<a-form :form="form" v-if="typeof tabNums === 'number'"> |
|
|
<a-spin :spinning="spinning"> |
|
|
<a-spin :spinning="spinning"> |
|
|
<a-collapse v-model="activeKey"> |
|
|
<a-collapse v-model="activeKey" style="boeder-bottom: none !important"> |
|
|
<!-- 首先遍历整个data大数组 --> |
|
|
<!-- 首先遍历整个data大数组 --> |
|
|
<!-- <div v-for="(item, index) in list" :key="index"> --> |
|
|
<!-- <div v-for="(item, index) in list" :key="index"> --> |
|
|
<a-collapse-panel :header="item.name" :key="index.toString()" v-for="(item, index) in list"> |
|
|
<a-collapse-panel :header="item.name" :key="index.toString()" v-for="(item, index) in list"> |
|
@ -36,25 +36,23 @@ |
|
|
:input-read-only="true" |
|
|
:input-read-only="true" |
|
|
v-else-if="a.type === 6" |
|
|
v-else-if="a.type === 6" |
|
|
/> |
|
|
/> |
|
|
<a-upload |
|
|
<div v-else-if="a.type === 7"> |
|
|
:action="action" |
|
|
<a-upload |
|
|
:default-file-list="fileList" |
|
|
:action="action" |
|
|
:headers="headers" |
|
|
:default-file-list="fileList" |
|
|
@change="fileChange($event, a.id)" |
|
|
:headers="headers" |
|
|
list-type="picture" |
|
|
@change="fileChange($event, a.id)" |
|
|
name="files" |
|
|
list-type="picture" |
|
|
v-else-if="a.type === 7" |
|
|
name="files" |
|
|
> |
|
|
v-if="code || showrzlb" |
|
|
<a-button |
|
|
|
|
|
v-show=" |
|
|
|
|
|
!contentList.find(item => { |
|
|
|
|
|
return item.testQuestionsId === a.id; |
|
|
|
|
|
}) |
|
|
|
|
|
" |
|
|
|
|
|
> |
|
|
> |
|
|
<a-icon type="upload" />点击上传 |
|
|
<a-button> <a-icon type="upload" />点击上传 </a-button> |
|
|
</a-button> |
|
|
</a-upload> |
|
|
</a-upload> |
|
|
<img :src="a.answer" v-if="a.answer && !code" /> |
|
|
|
|
|
<template v-if="a.domList && a.domList.length && !code"> |
|
|
|
|
|
<img v-for="imgSrc in a.domList" :key="imgSrc" :src="imgSrc" /> |
|
|
|
|
|
</template> |
|
|
|
|
|
</div> |
|
|
<div v-else-if="a.type === 10"> |
|
|
<div v-else-if="a.type === 10"> |
|
|
<a-select :default-value="getAnswer(a.answer)" @change="onChange($event, a.type, a.id, a.recordId)" style="width: 100%"> |
|
|
<a-select :default-value="getAnswer(a.answer)" @change="onChange($event, a.type, a.id, a.recordId)" style="width: 100%"> |
|
|
<a-select-option :key="c" :value="b.showValue" v-for="(b, c) in a.optionVos">{{ b.showValue }}</a-select-option> |
|
|
<a-select-option :key="c" :value="b.showValue" v-for="(b, c) in a.optionVos">{{ b.showValue }}</a-select-option> |
|
@ -162,26 +160,26 @@ |
|
|
:input-read-only="true" |
|
|
:input-read-only="true" |
|
|
v-else-if="h.type === 6" |
|
|
v-else-if="h.type === 6" |
|
|
/> |
|
|
/> |
|
|
<a-upload |
|
|
<div v-else-if="h.type === 7"> |
|
|
:action="action" |
|
|
<a-upload |
|
|
:default-file-list="fileList" |
|
|
:action="action" |
|
|
:headers="headers" |
|
|
:default-file-list="fileList" |
|
|
@change="fileChange($event, h.id)" |
|
|
:headers="headers" |
|
|
list-type="picture" |
|
|
@change="fileChange($event, h.id)" |
|
|
name="files" |
|
|
list-type="picture" |
|
|
v-else-if="h.type === 7" |
|
|
name="files" |
|
|
> |
|
|
v-if="code || showrzlb" |
|
|
<a-button |
|
|
|
|
|
v-show=" |
|
|
|
|
|
!contentList.find(item => { |
|
|
|
|
|
return item.testQuestionsId === h.id; |
|
|
|
|
|
}) |
|
|
|
|
|
" |
|
|
|
|
|
> |
|
|
> |
|
|
<a-icon type="upload" /> |
|
|
<a-button> |
|
|
点击上传 |
|
|
<a-icon type="upload" /> |
|
|
</a-button> |
|
|
点击上传 |
|
|
</a-upload> |
|
|
</a-button> |
|
|
|
|
|
</a-upload> |
|
|
|
|
|
<img :src="h.answer" v-if="h.answer && !code" /> |
|
|
|
|
|
<template v-if="h.domList && h.domList.length && !code"> |
|
|
|
|
|
<img v-for="imgSrc in h.domList" :key="imgSrc" :src="imgSrc" /> |
|
|
|
|
|
</template> |
|
|
|
|
|
</div> |
|
|
<div v-else-if="h.type === 10"> |
|
|
<div v-else-if="h.type === 10"> |
|
|
<a-select |
|
|
<a-select |
|
|
:default-value="getAnswer(h.answer)" |
|
|
:default-value="getAnswer(h.answer)" |
|
@ -424,25 +422,23 @@ |
|
|
style="width: 100%" |
|
|
style="width: 100%" |
|
|
v-else-if="h.type === 6" |
|
|
v-else-if="h.type === 6" |
|
|
/> |
|
|
/> |
|
|
<a-upload |
|
|
<div v-else-if="h.type === 7"> |
|
|
:action="action" |
|
|
<a-upload |
|
|
:default-file-list="fileList" |
|
|
:action="action" |
|
|
:headers="headers" |
|
|
:default-file-list="fileList" |
|
|
@change="fileChange($event, h.id)" |
|
|
:headers="headers" |
|
|
list-type="picture" |
|
|
@change="fileChange($event, h.id)" |
|
|
name="files" |
|
|
list-type="picture" |
|
|
v-else-if="h.type === 7" |
|
|
name="files" |
|
|
> |
|
|
v-if="code || showrzlb" |
|
|
<a-button |
|
|
|
|
|
v-show=" |
|
|
|
|
|
!contentList.find(item => { |
|
|
|
|
|
return item.testQuestionsId === h.id; |
|
|
|
|
|
}) |
|
|
|
|
|
" |
|
|
|
|
|
> |
|
|
> |
|
|
<a-icon type="upload" />点击上传 |
|
|
<a-button> <a-icon type="upload" />点击上传 </a-button> |
|
|
</a-button> |
|
|
</a-upload> |
|
|
</a-upload> |
|
|
<img :src="h.answer" v-if="h.answer && !code" /> |
|
|
|
|
|
<template v-if="h.domList && h.domList.length && !code"> |
|
|
|
|
|
<img v-for="imgSrc in h.domList" :key="imgSrc" :src="imgSrc" /> |
|
|
|
|
|
</template> |
|
|
|
|
|
</div> |
|
|
<div v-else-if="h.type === 10"> |
|
|
<div v-else-if="h.type === 10"> |
|
|
<a-select |
|
|
<a-select |
|
|
:default-value="getAnswer(h.answer)" |
|
|
:default-value="getAnswer(h.answer)" |
|
@ -646,7 +642,7 @@ |
|
|
<!-- 二级大标题 --> |
|
|
<!-- 二级大标题 --> |
|
|
<span class="hhh2">{{ w.name }}:</span> |
|
|
<span class="hhh2">{{ w.name }}:</span> |
|
|
<a-upload |
|
|
<a-upload |
|
|
v-if="w.recordType && (getCode || code)" |
|
|
v-if="w.recordType && (getCode || code || showrzlb)" |
|
|
name="files" |
|
|
name="files" |
|
|
:multiple="true" |
|
|
:multiple="true" |
|
|
:action="action" |
|
|
:action="action" |
|
@ -698,25 +694,23 @@ |
|
|
style="width: 100%" |
|
|
style="width: 100%" |
|
|
v-else-if="e.type === 6" |
|
|
v-else-if="e.type === 6" |
|
|
/> |
|
|
/> |
|
|
<a-upload |
|
|
<div v-else-if="e.type === 7"> |
|
|
:action="action" |
|
|
<a-upload |
|
|
:default-file-list="fileList" |
|
|
:action="action" |
|
|
:headers="headers" |
|
|
:default-file-list="fileList" |
|
|
@change="fileChange($event, e.id, e.recordId)" |
|
|
:headers="headers" |
|
|
list-type="picture" |
|
|
@change="fileChange($event, e.id, e.recordId)" |
|
|
name="files" |
|
|
list-type="picture" |
|
|
v-else-if="e.type === 7" |
|
|
name="files" |
|
|
> |
|
|
v-if="code || showrzlb" |
|
|
<a-button |
|
|
|
|
|
v-show=" |
|
|
|
|
|
!contentList.find(item => { |
|
|
|
|
|
return item.testQuestionsId === e.id; |
|
|
|
|
|
}) |
|
|
|
|
|
" |
|
|
|
|
|
> |
|
|
> |
|
|
<a-icon type="upload" />点击上传 |
|
|
<a-button> <a-icon type="upload" />点击上传 </a-button> |
|
|
</a-button> |
|
|
</a-upload> |
|
|
</a-upload> |
|
|
<img :src="e.answer" v-if="e.answer && !code" /> |
|
|
|
|
|
<template v-if="e.domList && e.domList.length && !code"> |
|
|
|
|
|
<img v-for="imgSrc in e.domList" :key="imgSrc" :src="imgSrc" /> |
|
|
|
|
|
</template> |
|
|
|
|
|
</div> |
|
|
<div v-else-if="e.type === 10"> |
|
|
<div v-else-if="e.type === 10"> |
|
|
<a-select |
|
|
<a-select |
|
|
:default-value="getAnswer(e.answer)" |
|
|
:default-value="getAnswer(e.answer)" |
|
@ -827,26 +821,31 @@ |
|
|
style="width: 100%" |
|
|
style="width: 100%" |
|
|
v-else-if="h.type === 6" |
|
|
v-else-if="h.type === 6" |
|
|
/> |
|
|
/> |
|
|
<a-upload |
|
|
<div v-else-if="h.type === 7"> |
|
|
:action="action" |
|
|
<a-upload |
|
|
:default-file-list="fileList" |
|
|
:action="action" |
|
|
:headers="headers" |
|
|
:default-file-list="fileList" |
|
|
@change="fileChange($event, h.id)" |
|
|
:headers="headers" |
|
|
list-type="picture" |
|
|
@change="fileChange($event, h.id)" |
|
|
name="files" |
|
|
list-type="picture" |
|
|
v-else-if="h.type === 7" |
|
|
name="files" |
|
|
> |
|
|
v-if="code || showrzlb" |
|
|
<a-button |
|
|
> |
|
|
v-show=" |
|
|
<a-button> |
|
|
|
|
|
<!-- v-show=" |
|
|
!contentList.find(item => { |
|
|
!contentList.find(item => { |
|
|
return item.testQuestionsId === h.id; |
|
|
return item.testQuestionsId === h.id; |
|
|
}) |
|
|
}) |
|
|
" |
|
|
" --> |
|
|
> |
|
|
<a-icon type="upload" /> |
|
|
<a-icon type="upload" /> |
|
|
点击上传 |
|
|
点击上传 |
|
|
</a-button> |
|
|
</a-button> |
|
|
<img :src="h.answer" v-if="h.answer && !code" /> |
|
|
</a-upload> |
|
|
<template v-if="h.domList && h.domList.length && !code"> |
|
|
|
|
|
<img v-for="imgSrc in h.domList" :key="imgSrc" :src="imgSrc" /> |
|
|
|
|
|
</template> |
|
|
|
|
|
</a-upload> |
|
|
|
|
|
</div> |
|
|
<div v-else-if="h.type === 10"> |
|
|
<div v-else-if="h.type === 10"> |
|
|
<a-select |
|
|
<a-select |
|
|
:default-value="getAnswer(h.answer)" |
|
|
:default-value="getAnswer(h.answer)" |
|
@ -1088,26 +1087,26 @@ |
|
|
style="width: 100%" |
|
|
style="width: 100%" |
|
|
v-else-if="h.type === 6" |
|
|
v-else-if="h.type === 6" |
|
|
/> |
|
|
/> |
|
|
<a-upload |
|
|
<div v-else-if="h.type === 7"> |
|
|
:action="action" |
|
|
<a-upload |
|
|
:default-file-list="fileList" |
|
|
:action="action" |
|
|
:headers="headers" |
|
|
:default-file-list="fileList" |
|
|
@change="fileChange($event, h.id)" |
|
|
:headers="headers" |
|
|
list-type="picture" |
|
|
@change="fileChange($event, h.id)" |
|
|
name="files" |
|
|
list-type="picture" |
|
|
v-else-if="h.type === 7" |
|
|
name="files" |
|
|
> |
|
|
v-if="code || showrzlb" |
|
|
<a-button |
|
|
|
|
|
v-show=" |
|
|
|
|
|
!contentList.find(item => { |
|
|
|
|
|
return item.testQuestionsId === h.id; |
|
|
|
|
|
}) |
|
|
|
|
|
" |
|
|
|
|
|
> |
|
|
> |
|
|
<a-icon type="upload" /> |
|
|
<a-button> |
|
|
点击上传 |
|
|
<a-icon type="upload" /> |
|
|
</a-button> |
|
|
点击上传 |
|
|
</a-upload> |
|
|
</a-button> |
|
|
|
|
|
</a-upload> |
|
|
|
|
|
<img :src="h.answer" v-if="h.answer && !code" /> |
|
|
|
|
|
<template v-if="h.domList && h.domList.length && !code"> |
|
|
|
|
|
<img v-for="imgSrc in h.domList" :key="imgSrc" :src="imgSrc" /> |
|
|
|
|
|
</template> |
|
|
|
|
|
</div> |
|
|
<div v-else-if="h.type === 10"> |
|
|
<div v-else-if="h.type === 10"> |
|
|
<a-select |
|
|
<a-select |
|
|
:default-value="getAnswer(h.answer)" |
|
|
:default-value="getAnswer(h.answer)" |
|
@ -1319,7 +1318,12 @@ |
|
|
</a-collapse> |
|
|
</a-collapse> |
|
|
</a-spin> |
|
|
</a-spin> |
|
|
</a-form> |
|
|
</a-form> |
|
|
<iframe frameborder="0" height="100%" :src="rzlbSrc" v-else></iframe> |
|
|
<iframe style="width: 100%; border: none !important" frameborder="0" height="100%" :src="rzlbSrc" v-else-if="tabNums === '认知量表'"> |
|
|
|
|
|
</iframe> |
|
|
|
|
|
<sample-table v-else-if="tabNums === '生物样本'" :list="lists" class="mt-3" /> |
|
|
|
|
|
<iframe v-else-if="tabNums === '认知测评'" style="width: 100%; border: none !important" :style="{ height: height }" :src="rzlbcpSrc"> |
|
|
|
|
|
</iframe> |
|
|
|
|
|
<biological-samples v-else-if="tabNums === '生物样本添加'" style="width: 100%" :showrzlb="showrzlb" /> |
|
|
<!-- <a-date-picker |
|
|
<!-- <a-date-picker |
|
|
v-if="list.length > 0" |
|
|
v-if="list.length > 0" |
|
|
:default-value="$moment(dateChoose, dateFormat)" |
|
|
:default-value="$moment(dateChoose, dateFormat)" |
|
@ -1333,8 +1337,12 @@ |
|
|
,研究编号为: |
|
|
,研究编号为: |
|
|
<span style="color: green">{{ recordCode }}</span> |
|
|
<span style="color: green">{{ recordCode }}</span> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<a-button @click="choosePatient" class="choose-btn" type="primary"> |
|
|
|
|
|
<a-icon type="retweet" /> |
|
|
|
|
|
重新选择患者 |
|
|
|
|
|
</a-button> |
|
|
<a-button |
|
|
<a-button |
|
|
v-if="list.length > 0 && (getCode || code)" |
|
|
v-if="list.length > 0 && typeof tabNums === 'number' && (getCode || code || showrzlb)" |
|
|
@click="showModal" |
|
|
@click="showModal" |
|
|
class="white--text px-10 bot-right-btn" |
|
|
class="white--text px-10 bot-right-btn" |
|
|
style="margin-top: 40px" |
|
|
style="margin-top: 40px" |
|
@ -1352,9 +1360,11 @@ |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<script> |
|
|
<script> |
|
|
import { mapState } from 'vuex'; |
|
|
import { mapState, mapMutations } from 'vuex'; |
|
|
import { queryAll, saveCaseMes, upload, basic } from 'config/api'; |
|
|
import { queryAll, saveCaseMes, upload, basic, queryByPatient } from 'config/api'; |
|
|
import TypeTable from 'components/TypeTable/TypeTable.vue'; |
|
|
import TypeTable from 'components/TypeTable/TypeTable.vue'; |
|
|
|
|
|
import SampleTable from 'components/PatientInfo/SampleTable.vue'; |
|
|
|
|
|
import BiologicalSamples from 'views/BiologicalSamples/BiologicalSamples.vue'; |
|
|
|
|
|
|
|
|
const formItemLayout = { |
|
|
const formItemLayout = { |
|
|
labelCol: { span: 6 }, |
|
|
labelCol: { span: 6 }, |
|
@ -1367,12 +1377,16 @@ const formItemLayout1 = { |
|
|
const tailItemLayout = { wrapperCol: { span: 18, offset: 4 } }; |
|
|
const tailItemLayout = { wrapperCol: { span: 18, offset: 4 } }; |
|
|
export default { |
|
|
export default { |
|
|
name: 'PatientInfo', |
|
|
name: 'PatientInfo', |
|
|
components: { TypeTable }, |
|
|
components: { TypeTable, SampleTable, BiologicalSamples }, |
|
|
props: { |
|
|
props: { |
|
|
code: { |
|
|
code: { |
|
|
type: String, |
|
|
type: String, |
|
|
default: '', |
|
|
default: '', |
|
|
}, |
|
|
}, |
|
|
|
|
|
showrzlb: { |
|
|
|
|
|
type: Boolean, |
|
|
|
|
|
default: false, |
|
|
|
|
|
}, |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
data() { |
|
|
data() { |
|
@ -1406,6 +1420,9 @@ export default { |
|
|
recordTypeList: [], |
|
|
recordTypeList: [], |
|
|
spinning: false, |
|
|
spinning: false, |
|
|
rzlbSrc: '', |
|
|
rzlbSrc: '', |
|
|
|
|
|
rzlbcpSrc: '', |
|
|
|
|
|
lists: {}, |
|
|
|
|
|
height: '', |
|
|
}; |
|
|
}; |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
@ -1426,8 +1443,11 @@ export default { |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
mounted() {}, |
|
|
mounted() { |
|
|
mounted() { |
|
|
this.rzlbSrc = `http://sxzxyzzlm.tall.wiki/ht-common/home/reportHistory?code=LSBGD&userId=${this.ptProps.userId}`; |
|
|
this.height = document.getElementsByClassName('main')[0].offsetHeight + 'px'; |
|
|
|
|
|
this.rzlbSrc = `https://sxzxyzzlm.tall.wiki/ht-common/home/reportHistory?code=LSBGD&userId=${this.ptProps.userId}`; |
|
|
|
|
|
this.rzlbcpSrc = `https://sxzxyzzlm.tall.wiki/ht-common?code=KT&userId=${this.ptProps.userId}`; |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
async created() { |
|
|
async created() { |
|
@ -1435,14 +1455,24 @@ export default { |
|
|
this.spinning = true; |
|
|
this.spinning = true; |
|
|
this.getCode = ''; |
|
|
this.getCode = ''; |
|
|
this.tabNums = 0; |
|
|
this.tabNums = 0; |
|
|
this.rzlbSrc = `http://sxzxyzzlm.tall.wiki/ht-common/home/reportHistory?code=LSBGD&userId=${this.user.id}`; |
|
|
this.rzlbSrc = `https://sxzxyzzlm.tall.wiki/ht-common/home/reportHistory?code=LSBGD&userId=${this.user.id}`; |
|
|
|
|
|
this.rzlbcpSrc = `https://sxzxyzzlm.tall.wiki/ht-common?code=KT&userId=${this.user.id}`; |
|
|
if (this.$route.query && this.$route.query.code) { |
|
|
if (this.$route.query && this.$route.query.code) { |
|
|
// vue从路径中获取参数 此处参数名为code |
|
|
// vue从路径中获取参数 此处参数名为code |
|
|
this.getCode = this.$route.query.code; |
|
|
this.getCode = this.$route.query.code; |
|
|
} |
|
|
} |
|
|
await this.getQuery(); |
|
|
await this.getQuery(); |
|
|
|
|
|
await this.getlists(); |
|
|
|
|
|
this.setCallback(0); |
|
|
}, |
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
|
|
|
...mapMutations('home', ['setCallback']), |
|
|
|
|
|
/** |
|
|
|
|
|
* 重新选择患者 |
|
|
|
|
|
*/ |
|
|
|
|
|
choosePatient() { |
|
|
|
|
|
this.$router.push('/selectPatient'); |
|
|
|
|
|
}, |
|
|
// 'AB',a.id, index,k,h.id |
|
|
// 'AB',a.id, index,k,h.id |
|
|
addDom(type, id, index, quesIndex, quesId) { |
|
|
addDom(type, id, index, quesIndex, quesId) { |
|
|
const { list } = this; |
|
|
const { list } = this; |
|
@ -1455,6 +1485,7 @@ export default { |
|
|
} |
|
|
} |
|
|
quesObj.domList.push(''); |
|
|
quesObj.domList.push(''); |
|
|
this.list = [...list]; |
|
|
this.list = [...list]; |
|
|
|
|
|
console.log(this.list); |
|
|
}, |
|
|
}, |
|
|
addDomB(type, index, indexB, id, quesIndex, quesId) { |
|
|
addDomB(type, index, indexB, id, quesIndex, quesId) { |
|
|
const { list } = this; |
|
|
const { list } = this; |
|
@ -1492,6 +1523,7 @@ export default { |
|
|
callback(key) { |
|
|
callback(key) { |
|
|
this.contentList = []; |
|
|
this.contentList = []; |
|
|
this.tabNums = key; |
|
|
this.tabNums = key; |
|
|
|
|
|
this.setCallback(key); |
|
|
}, |
|
|
}, |
|
|
async getQuery() { |
|
|
async getQuery() { |
|
|
try { |
|
|
try { |
|
@ -1507,10 +1539,14 @@ export default { |
|
|
if (code === 200) { |
|
|
if (code === 200) { |
|
|
this.list = data; |
|
|
this.list = data; |
|
|
if (this.getCode || this.code) { |
|
|
if (this.getCode || this.code) { |
|
|
console.log(data); |
|
|
|
|
|
this.tabList = data[0].reportTypes; |
|
|
this.tabList = data[0].reportTypes; |
|
|
|
|
|
// this.tabList.push('生物样本'); |
|
|
} else { |
|
|
} else { |
|
|
this.tabList = [0, 14, 90, 180, 365, '认知量表']; |
|
|
if (this.showrzlb) { |
|
|
|
|
|
this.tabList = [0, 14, 90, '认知测评', '生物样本添加']; |
|
|
|
|
|
} else { |
|
|
|
|
|
this.tabList = [0, 14, 90, '认知量表', '生物样本']; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} else { |
|
|
} else { |
|
|
console.log(msg); |
|
|
console.log(msg); |
|
@ -1792,26 +1828,24 @@ export default { |
|
|
}, |
|
|
}, |
|
|
// 上传图片事件 |
|
|
// 上传图片事件 |
|
|
fileChange(info, id, recordId) { |
|
|
fileChange(info, id, recordId) { |
|
|
console.log(info); |
|
|
|
|
|
this.spinning = true; |
|
|
this.spinning = true; |
|
|
if (info.file.status === 'done') { |
|
|
if (info.file.status === 'done') { |
|
|
this.fileList = info.fileList; |
|
|
this.fileList = info.fileList; |
|
|
for (let i = 0; i < this.contentList.length; i++) { |
|
|
// for (let i = 0; i < this.contentList.length; i++) { |
|
|
if (this.contentList[i].testQuestionsId === id) { |
|
|
// if (this.contentList[i].testQuestionsId === id) { |
|
|
this.contentList.splice(i, 1); |
|
|
// this.contentList.splice(i, 1); |
|
|
} |
|
|
// } |
|
|
} |
|
|
// } |
|
|
|
|
|
console.log(info.fileList); |
|
|
if (info.fileList.length > 0) { |
|
|
if (info.fileList.length > 0) { |
|
|
let obj = { |
|
|
let obj = { |
|
|
testQuestionsId: id, |
|
|
testQuestionsId: id, |
|
|
patientRecordId: recordId ? recordId : '', |
|
|
patientRecordId: recordId ? recordId : '', |
|
|
contents: info.fileList[0].response.data[0].visitUrl, |
|
|
contents: info.fileList[info.fileList.length - 1].response.data[0].visitUrl, |
|
|
}; |
|
|
}; |
|
|
this.contentList.push(obj); |
|
|
this.contentList.push(obj); |
|
|
} |
|
|
} |
|
|
this.spinning = false; |
|
|
this.spinning = false; |
|
|
console.log(this.contentList); |
|
|
|
|
|
console.log(this.fileList); |
|
|
|
|
|
} else if (info.file.status === 'removed') { |
|
|
} else if (info.file.status === 'removed') { |
|
|
this.fileList = info.fileList; |
|
|
this.fileList = info.fileList; |
|
|
for (let i = 0; i < this.contentList.length; i++) { |
|
|
for (let i = 0; i < this.contentList.length; i++) { |
|
@ -1821,6 +1855,7 @@ export default { |
|
|
} |
|
|
} |
|
|
this.spinning = false; |
|
|
this.spinning = false; |
|
|
} |
|
|
} |
|
|
|
|
|
console.log(this.contentList); |
|
|
}, |
|
|
}, |
|
|
// 图像识别 |
|
|
// 图像识别 |
|
|
async handleChange(info, title, recordId, indexA, indexB) { |
|
|
async handleChange(info, title, recordId, indexA, indexB) { |
|
@ -1830,7 +1865,7 @@ export default { |
|
|
const objList = list[indexA].subReportCodes[indexB]; |
|
|
const objList = list[indexA].subReportCodes[indexB]; |
|
|
const params = { |
|
|
const params = { |
|
|
param: { |
|
|
param: { |
|
|
hospitalId: this.hospitalId, |
|
|
patientId: this.patientId, |
|
|
code: title, |
|
|
code: title, |
|
|
url: info.file.response.data[0].visitUrl, |
|
|
url: info.file.response.data[0].visitUrl, |
|
|
}, |
|
|
}, |
|
@ -1888,6 +1923,20 @@ export default { |
|
|
for (let k = 0; k < item.questionVos.length; k++) { |
|
|
for (let k = 0; k < item.questionVos.length; k++) { |
|
|
const itemADom = item.questionVos[k]; |
|
|
const itemADom = item.questionVos[k]; |
|
|
if (itemADom.domList && itemADom.domList.length) { |
|
|
if (itemADom.domList && itemADom.domList.length) { |
|
|
|
|
|
// 判断domList存在的话,判断answer是否修改过, |
|
|
|
|
|
// 如果没有,则需要把 answer 的答案也重新传给后台 |
|
|
|
|
|
// 防止只传domList的值,吧answer的答案覆盖 |
|
|
|
|
|
if ( |
|
|
|
|
|
!this.contentList.find(item => { |
|
|
|
|
|
item.testQuestionsId === itemADom.id; |
|
|
|
|
|
}) |
|
|
|
|
|
) { |
|
|
|
|
|
let objAnswer = { |
|
|
|
|
|
testQuestionsId: itemADom.id, |
|
|
|
|
|
contents: itemADom.answer, |
|
|
|
|
|
}; |
|
|
|
|
|
this.contentList.push(objAnswer); |
|
|
|
|
|
} |
|
|
for (let m = 0; m < itemADom.domList.length; m++) { |
|
|
for (let m = 0; m < itemADom.domList.length; m++) { |
|
|
const listItem = itemADom.domList[m]; |
|
|
const listItem = itemADom.domList[m]; |
|
|
if (listItem !== '') { |
|
|
if (listItem !== '') { |
|
@ -1906,6 +1955,20 @@ export default { |
|
|
for (let n = 0; n < itemBDom.questionVos.length; n++) { |
|
|
for (let n = 0; n < itemBDom.questionVos.length; n++) { |
|
|
const itemCDOM = itemBDom.questionVos[n]; |
|
|
const itemCDOM = itemBDom.questionVos[n]; |
|
|
if (itemCDOM.domList && itemCDOM.domList.length) { |
|
|
if (itemCDOM.domList && itemCDOM.domList.length) { |
|
|
|
|
|
// 判断domList存在的话,判断answer是否修改过, |
|
|
|
|
|
// 如果没有,则需要把 answer 的答案也重新传给后台 |
|
|
|
|
|
// 防止只传domList的值,吧answer的答案覆盖 |
|
|
|
|
|
if ( |
|
|
|
|
|
!this.contentList.find(item => { |
|
|
|
|
|
item.testQuestionsId === itemCDOM.id; |
|
|
|
|
|
}) |
|
|
|
|
|
) { |
|
|
|
|
|
let objAnswer = { |
|
|
|
|
|
testQuestionsId: itemCDOM.id, |
|
|
|
|
|
contents: itemCDOM.answer, |
|
|
|
|
|
}; |
|
|
|
|
|
this.contentList.push(objAnswer); |
|
|
|
|
|
} |
|
|
for (let p = 0; p < itemCDOM.domList.length; p++) { |
|
|
for (let p = 0; p < itemCDOM.domList.length; p++) { |
|
|
const listItem = itemCDOM.domList[p]; |
|
|
const listItem = itemCDOM.domList[p]; |
|
|
if (listItem !== '') { |
|
|
if (listItem !== '') { |
|
@ -1931,6 +1994,20 @@ export default { |
|
|
for (let q = 0; q < subVos.length; q++) { |
|
|
for (let q = 0; q < subVos.length; q++) { |
|
|
const itemADom = subVos[q]; |
|
|
const itemADom = subVos[q]; |
|
|
if (itemADom.domList && itemADom.domList.length) { |
|
|
if (itemADom.domList && itemADom.domList.length) { |
|
|
|
|
|
// 判断domList存在的话,判断answer是否修改过, |
|
|
|
|
|
// 如果没有,则需要把 answer 的答案也重新传给后台 |
|
|
|
|
|
// 防止只传domList的值,吧answer的答案覆盖 |
|
|
|
|
|
if ( |
|
|
|
|
|
!this.contentList.find(item => { |
|
|
|
|
|
item.testQuestionsId === itemADom.id; |
|
|
|
|
|
}) |
|
|
|
|
|
) { |
|
|
|
|
|
let objAnswer = { |
|
|
|
|
|
testQuestionsId: itemADom.id, |
|
|
|
|
|
contents: itemADom.answer, |
|
|
|
|
|
}; |
|
|
|
|
|
this.contentList.push(objAnswer); |
|
|
|
|
|
} |
|
|
for (let m = 0; m < itemADom.domList.length; m++) { |
|
|
for (let m = 0; m < itemADom.domList.length; m++) { |
|
|
const listItem = itemADom.domList[m]; |
|
|
const listItem = itemADom.domList[m]; |
|
|
if (listItem !== '') { |
|
|
if (listItem !== '') { |
|
@ -1949,6 +2026,20 @@ export default { |
|
|
for (let n = 0; n < itemBDom.questionVos.length; n++) { |
|
|
for (let n = 0; n < itemBDom.questionVos.length; n++) { |
|
|
const itemCDOM = itemBDom.questionVos[n]; |
|
|
const itemCDOM = itemBDom.questionVos[n]; |
|
|
if (itemCDOM.domList && itemCDOM.domList.length) { |
|
|
if (itemCDOM.domList && itemCDOM.domList.length) { |
|
|
|
|
|
// 判断domList存在的话,判断answer是否修改过, |
|
|
|
|
|
// 如果没有,则需要把 answer 的答案也重新传给后台 |
|
|
|
|
|
// 防止只传domList的值,吧answer的答案覆盖 |
|
|
|
|
|
if ( |
|
|
|
|
|
!this.contentList.find(item => { |
|
|
|
|
|
item.testQuestionsId === itemCDOM.id; |
|
|
|
|
|
}) |
|
|
|
|
|
) { |
|
|
|
|
|
let objAnswer = { |
|
|
|
|
|
testQuestionsId: itemCDOM.id, |
|
|
|
|
|
contents: itemCDOM.answer, |
|
|
|
|
|
}; |
|
|
|
|
|
this.contentList.push(objAnswer); |
|
|
|
|
|
} |
|
|
for (let p = 0; p < itemCDOM.domList.length; p++) { |
|
|
for (let p = 0; p < itemCDOM.domList.length; p++) { |
|
|
const listItem = itemCDOM.domList[p]; |
|
|
const listItem = itemCDOM.domList[p]; |
|
|
if (listItem !== '') { |
|
|
if (listItem !== '') { |
|
@ -1975,6 +2066,13 @@ export default { |
|
|
this.contentList.splice(i, 1); |
|
|
this.contentList.splice(i, 1); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
if (this.contentList.length === 0) { |
|
|
|
|
|
this.spinning = false; |
|
|
|
|
|
this.confirmLoading = false; |
|
|
|
|
|
this.visible = false; |
|
|
|
|
|
this.$message.error('用户未进行改动,无需保存'); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
const params = { |
|
|
const params = { |
|
|
param: { |
|
|
param: { |
|
|
list: this.contentList, |
|
|
list: this.contentList, |
|
@ -1988,20 +2086,33 @@ export default { |
|
|
if (code === 200) { |
|
|
if (code === 200) { |
|
|
this.spinning = false; |
|
|
this.spinning = false; |
|
|
this.$message.success('提交成功'); |
|
|
this.$message.success('提交成功'); |
|
|
this.confirmLoading = false; |
|
|
this.getQuery(); |
|
|
this.visible = false; |
|
|
|
|
|
this.contentList = []; |
|
|
|
|
|
} else { |
|
|
|
|
|
this.spinning = false; |
|
|
|
|
|
this.$message.error('提交失败'); |
|
|
|
|
|
this.confirmLoading = false; |
|
|
|
|
|
} |
|
|
} |
|
|
} catch (error) { |
|
|
} catch (error) { |
|
|
this.spinning = false; |
|
|
this.spinning = false; |
|
|
this.$message.error('error'); |
|
|
this.$message.error('提交失败'); |
|
|
} |
|
|
} |
|
|
|
|
|
let { contentList } = this; |
|
|
|
|
|
contentList = []; |
|
|
|
|
|
this.contentList = [...contentList]; |
|
|
|
|
|
this.visible = false; |
|
|
this.confirmLoading = false; |
|
|
this.confirmLoading = false; |
|
|
}, |
|
|
}, |
|
|
|
|
|
// 获取当前病患的生物样本信息 |
|
|
|
|
|
async getlists() { |
|
|
|
|
|
try { |
|
|
|
|
|
const { patientId } = this; |
|
|
|
|
|
const params = { param: { patientId } }; |
|
|
|
|
|
const res = await queryByPatient(params); |
|
|
|
|
|
const { code, msg, data } = res.data; |
|
|
|
|
|
if (code === 200) { |
|
|
|
|
|
console.log(data); |
|
|
|
|
|
this.lists = data; |
|
|
|
|
|
} else { |
|
|
|
|
|
this.$message.error(msg); |
|
|
|
|
|
} |
|
|
|
|
|
} catch (error) {} |
|
|
|
|
|
}, |
|
|
}, |
|
|
}, |
|
|
}; |
|
|
}; |
|
|
</script> |
|
|
</script> |
|
@ -2029,4 +2140,10 @@ export default { |
|
|
/deep/ .ant-tabs-bar { |
|
|
/deep/ .ant-tabs-bar { |
|
|
margin-bottom: 0 !important; |
|
|
margin-bottom: 0 !important; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.choose-btn { |
|
|
|
|
|
position: fixed; |
|
|
|
|
|
top: 20px; |
|
|
|
|
|
right: 12px; |
|
|
|
|
|
} |
|
|
</style> |
|
|
</style> |
|
|