Browse Source

0314

master
领悟 4 months ago
parent
commit
51ccf71ca7
  1. 7
      src/views/thrombolysis/components/throm-before.vue
  2. 1
      src/views/thrombolysis/components/throm-before2.vue
  3. 27
      src/views/thrombolysis/components/throm-before4.vue
  4. 1
      src/views/thrombolysis/components/throm-ing-record.vue
  5. 1
      src/views/thrombolysis/components/throm-ing.vue
  6. 1
      src/views/thrombolysis/components/throm-interfere-image.vue
  7. 69
      src/views/thrombolysis/components/throm-interfere-informed.vue
  8. 1
      src/views/thrombolysis/components/throm-interfere-surgical.vue
  9. 9
      src/views/thrombolysis/components/throm-interfere.vue
  10. 12
      src/views/thrombolysis/components/throm-result-sop.vue
  11. 1
      src/views/thrombolysis/components/throm-result.vue
  12. 58
      src/views/thrombolysis/index.vue

7
src/views/thrombolysis/components/throm-before.vue

@ -20,6 +20,9 @@
</template> </template>
<script> <script>
import {
mapState
} from 'vuex';
import ThromBefore0 from './throm-before0.vue'; import ThromBefore0 from './throm-before0.vue';
import ThromBefore1 from './throm-before1.vue'; import ThromBefore1 from './throm-before1.vue';
import ThromBefore2 from './throm-before2.vue'; import ThromBefore2 from './throm-before2.vue';
@ -39,9 +42,13 @@
currentIndex: 0, currentIndex: 0,
} }
}, },
computed: {
...mapState('patient', ['patientData'])
},
methods: { methods: {
handleClickStep(current) { handleClickStep(current) {
this.currentIndex = current; this.currentIndex = current;
this.home.queryAid(this.patientData?.firstAidId, false)
}, },
handleNext() { handleNext() {
this.currentIndex++ this.currentIndex++

1
src/views/thrombolysis/components/throm-before2.vue

@ -154,6 +154,7 @@ export default {
this.activeTabKey = key; this.activeTabKey = key;
}, },
onSubmit(){ onSubmit(){
this.home.queryAid(this.patientData?.firstAidId, false)
this.$emit('next') this.$emit('next')
} }
}, },

27
src/views/thrombolysis/components/throm-before4.vue

@ -148,8 +148,8 @@
<div class="throm-common-button"> <div class="throm-common-button">
<!-- <a-button :disabled="writeAble" class="" type="primary" size="large" block <!-- <a-button :disabled="writeAble" class="" type="primary" size="large" block
@click="onSubmitSign" v-if="!disabled && activeTabKey == 'tab1'">提交</a-button> --> @click="onSubmitSign" v-if="!disabled && activeTabKey == 'tab1'">提交</a-button> -->
<a-button :disabled="writeAble" class="" block type="primary" size="large" <a-button :disabled="writeAble" class="" block type="primary" size="large" @click="handleNextTab"
@click="activeTabKey = 'tab2'" v-if="activeTabKey == 'tab1'">下一步</a-button> v-if="activeTabKey == 'tab1'">下一步</a-button>
<a-button :disabled="writeAble" class="" block type="primary" size="large" @click="onSubmitSign" <a-button :disabled="writeAble" class="" block type="primary" size="large" @click="onSubmitSign"
v-if="activeTabKey == 'tab2'">下一步</a-button> v-if="activeTabKey == 'tab2'">下一步</a-button>
<a-button :disabled="writeAble" class="" block type="primary" size="large" @click="handleNext" <a-button :disabled="writeAble" class="" block type="primary" size="large" @click="handleNext"
@ -341,25 +341,6 @@
} }
}, },
async handleNext() { async handleNext() {
// const {
// firstAidId
// } = this.patientData;
// if (!firstAidId) return this.$message.error('');
// let res = await ctFrontAdd({
// firstAidId,
// path: this.fileList.join(','),
// type: 3,
// });
// const {
// code,
// data,
// msg
// } = res;
// if (code === 200) {
// this.$message.success('');
// this.$emit('next')
// }
let codeAndAnswerList = []; let codeAndAnswerList = [];
codeAndAnswerList.push({ codeAndAnswerList.push({
questionCode: 'JMRS-ZQTY-PIC', questionCode: 'JMRS-ZQTY-PIC',
@ -372,6 +353,10 @@
this.$emit('next') this.$emit('next')
}, },
handleNextTab() {
this.activeTabKey = 'tab2'
this.home.queryAid(this.patientData?.firstAidId, false)
},
async queryFileList() { async queryFileList() {
const { const {
firstAidId firstAidId

1
src/views/thrombolysis/components/throm-ing-record.vue

@ -80,6 +80,7 @@
} }
}, },
handleNext() { handleNext() {
this.home.queryAid(this.patientData?.firstAidId, false)
this.$emit('next') this.$emit('next')
} }
} }

1
src/views/thrombolysis/components/throm-ing.vue

@ -104,6 +104,7 @@
code code
}) })
this.currentIndex = current; this.currentIndex = current;
this.home.queryAid(this.patientData?.firstAidId, false)
}, },
handleNext() { handleNext() {
this.currentIndex++ this.currentIndex++

1
src/views/thrombolysis/components/throm-interfere-image.vue

@ -99,6 +99,7 @@
} }
}, },
onSubmit() { onSubmit() {
this.home.queryAid(this.patientData?.firstAidId, false)
this.$emit('next') this.$emit('next')
} }
} }

69
src/views/thrombolysis/components/throm-interfere-informed.vue

@ -3,6 +3,21 @@
<a-card style="width:100%" :tab-list="tabList" :active-tab-key="activeTabKey" @tabChange="onTabChange"> <a-card style="width:100%" :tab-list="tabList" :active-tab-key="activeTabKey" @tabChange="onTabChange">
<div class="throm-before4-container Informed-container"> <div class="throm-before4-container Informed-container">
<div class="video-container" v-if="activeTabKey == 'tab1'"> <div class="video-container" v-if="activeTabKey == 'tab1'">
<div class="info">百人中使用药物结果分布情况</div>
<div class="img">
<img src="@/assets/images/100.png" alt="" style="width: 100%;" />
</div>
<div class="image-container">
<video :src="getVideo" controls autoplay loop muted v-if="getVideo" width="100%">
您的浏览器不支持 video 标签
</video>
<!-- <div class="notImg" v-else>溶栓视频安全区</div> -->
<div class="emtpy" v-else>
<a-empty :image="emptyImage" description="未检测到影像信息" />
</div>
</div>
</div>
<div class="video-container" v-if="activeTabKey == 'tab2'">
<h1 style="text-align: center;font-size: 2rem;line-height: 5rem;font-weight: bold;">急性脑梗塞静脉溶栓治疗知情同意书 <h1 style="text-align: center;font-size: 2rem;line-height: 5rem;font-weight: bold;">急性脑梗塞静脉溶栓治疗知情同意书
</h1> </h1>
<div style="transition: all 1s; overflow: hidden; "> <div style="transition: all 1s; overflow: hidden; ">
@ -101,10 +116,10 @@
@confirm="confirmPicker" @cancel="picker = false" /> @confirm="confirmPicker" @cancel="picker = false" />
</div> </div>
</div> </div>
<div class="video-container" v-if="activeTabKey == 'tab2'"> <div class="video-container" v-if="activeTabKey == 'tab3'">
<div class="upload-informed-container"> <div class="upload-informed-container">
<div class="upload-container"> <div class="upload-container">
<div class="info">知情同意图片</div> <div class="info">上传知情同意图片</div>
<div class="upload-list" style="min-height: 300px;" v-if="fileList.length"> <div class="upload-list" style="min-height: 300px;" v-if="fileList.length">
<!-- <div class="upload-list-item" v-for="(item, index) in fileList" :key="index" <!-- <div class="upload-list-item" v-for="(item, index) in fileList" :key="index"
@click="handlePreview(item)"> @click="handlePreview(item)">
@ -135,21 +150,7 @@
</a-modal> </a-modal>
</div> </div>
</div> </div>
<div class="video-container" v-if="activeTabKey == 'tab3'">
<div class="info">百人中使用药物结果分布情况</div>
<div class="img">
<img src="@/assets/images/100.png" alt="" style="width: 100%;" />
</div>
<div class="image-container">
<video :src="getVideo" controls autoplay loop muted v-if="getVideo" width="100%">
您的浏览器不支持 video 标签
</video>
<!-- <div class="notImg" v-else>溶栓视频安全区</div> -->
<div class="emtpy" v-else>
<a-empty :image="emptyImage" description="未检测到影像信息" />
</div>
</div>
</div>
</div> </div>
</a-card> </a-card>
@ -162,8 +163,12 @@
<div class="throm-common-button"> <div class="throm-common-button">
<!-- <a-button :disabled="writeAble" class="" type="primary" size="large" block @click="onSubmitSign" <!-- <a-button :disabled="writeAble" class="" type="primary" size="large" block @click="onSubmitSign"
v-if="!disabled && activeTabKey == 'tab1'">提交</a-button> --> v-if="!disabled && activeTabKey == 'tab1'">提交</a-button> -->
<a-button :disabled="writeAble" class="" block type="primary" size="large" <a-button :disabled="writeAble" class="" block type="primary" size="large" v-if="activeTabKey == 'tab1'"
@click="handleNextTab">下一步</a-button>
<a-button :disabled="writeAble" class="" block type="primary" size="large" v-if="activeTabKey == 'tab2'"
@click="onSubmitSign">下一步</a-button> @click="onSubmitSign">下一步</a-button>
<a-button :disabled="writeAble" class="" block type="primary" size="large" v-if="activeTabKey == 'tab3'"
@click="handleNext">下一步</a-button>
</div> </div>
</div> </div>
</template> </template>
@ -201,15 +206,15 @@
activeTabKey: 'tab1', activeTabKey: 'tab1',
tabList: [{ tabList: [{
key: 'tab1', key: 'tab1',
tab: '知情同意', tab: '谈话辅助工具',
}, },
{ {
key: 'tab2', key: 'tab2',
tab: '拍照上传', tab: '知情同意',
}, },
{ {
key: 'tab3', key: 'tab3',
tab: '谈话辅助工具', tab: '拍照上传',
} }
], ],
apiUrl: imgUrl, apiUrl: imgUrl,
@ -358,8 +363,22 @@
// } // }
} }
}, },
handleNext() { handleNextTab(key) {
this.activeTabKey = 'tab2';
this.home.queryAid(this.patientData?.firstAidId, false)
},
async handleNext() {
let codeAndAnswerList = [];
codeAndAnswerList.push({
questionCode: 'JMRS-ZQTY-PIC',
answer: this.fileList,
time: '',
});
await this.home.updateAidCode({
codeAndAnswerList,
}, false);
this.$emit('next') this.$emit('next')
}, },
onTabChange(key, type) { onTabChange(key, type) {
this.activeTabKey = key; this.activeTabKey = key;
@ -640,7 +659,11 @@
.video-container { .video-container {
.info { .info {
font-size: 18px; font-size: 18px;
margin-bottom: 2rem; font-family: Source Han Sans CN, Source Han Sans CN-Bold;
font-weight: 700;
text-align: left;
margin-bottom: 20px;
color: #393d4e;
} }
.plus { .plus {

1
src/views/thrombolysis/components/throm-interfere-surgical.vue

@ -104,6 +104,7 @@
console.log(res) console.log(res)
}, },
onSubmit() { onSubmit() {
this.home.queryAid(this.patientData?.firstAidId, false)
this.$emit('next') this.$emit('next')
} }
} }

9
src/views/thrombolysis/components/throm-interfere.vue

@ -16,6 +16,9 @@
</template> </template>
<script> <script>
import {
mapState
} from 'vuex';
import ThromInterfereImage from './throm-interfere-image.vue'; import ThromInterfereImage from './throm-interfere-image.vue';
import ThromInterfereInformed from './throm-interfere-informed.vue'; import ThromInterfereInformed from './throm-interfere-informed.vue';
import ThromInterfereSurgical from './throm-interfere-surgical.vue'; import ThromInterfereSurgical from './throm-interfere-surgical.vue';
@ -26,6 +29,10 @@
ThromInterfereInformed, ThromInterfereInformed,
ThromInterfereSurgical, ThromInterfereSurgical,
}, },
computed: {
...mapState('patient', ['patientData'])
},
created() {},
data() { data() {
return { return {
currentIndex: 0, currentIndex: 0,
@ -33,7 +40,9 @@
}, },
methods: { methods: {
handleClickStep(current) { handleClickStep(current) {
console.log('handleClickStep', current)
this.currentIndex = current; this.currentIndex = current;
this.home.queryAid(this.patientData?.firstAidId, false)
}, },
handleNext() { handleNext() {
this.currentIndex++ this.currentIndex++

12
src/views/thrombolysis/components/throm-result-sop.vue

@ -70,6 +70,7 @@
countDownInSeconds: '', countDownInSeconds: '',
nodeList: [], nodeList: [],
}, },
patFirstAidId: ''
} }
}, },
props: { props: {
@ -88,7 +89,7 @@
}, },
async mounted() { async mounted() {
// console.log(this.reportType, this.firstAidId) // console.log(this.reportType, this.firstAidId)
console.log('mounted') // console.log('mounted')
if (this.reportType == 'modal') { if (this.reportType == 'modal') {
this.init(this.dataSource.firstAidId); this.init(this.dataSource.firstAidId);
} else if (this.firstAidId) { } else if (this.firstAidId) {
@ -111,13 +112,13 @@
...mapMutations('patient', ['setNextNodeData']), ...mapMutations('patient', ['setNextNodeData']),
// //
async init(firstAidId) { async init(firstAidId) {
this.patFirstAidId = firstAidId
this.getNextNode(firstAidId); this.getNextNode(firstAidId);
this.timer = null; this.timer = null;
this.timer = setInterval(()=>{ this.timer = setInterval(() => {
console.log('10mmin')
this.getNextNode(firstAidId); this.getNextNode(firstAidId);
}, 10000) }, 10000)
}, },
async getNextNode(firstAidId) { async getNextNode(firstAidId) {
let res = await getNextNode({ let res = await getNextNode({
@ -137,13 +138,14 @@
} }
}, },
onSubmit() { onSubmit() {
this.home.queryAid(this.patFirstAidId, false)
this.$emit('next') this.$emit('next')
} }
}, },
beforeDestroy() { beforeDestroy() {
console.log("beforeDestroy") console.log("beforeDestroy")
// //
if(this.timer){ if (this.timer) {
clearInterval(this.timer); clearInterval(this.timer);
this.timer = null this.timer = null
} }

1
src/views/thrombolysis/components/throm-result.vue

@ -57,6 +57,7 @@
methods: { methods: {
handleClickStep(current) { handleClickStep(current) {
this.currentIndex = current; this.currentIndex = current;
this.home.queryAid(this.patientData?.firstAidId, false)
}, },
handleNext() { handleNext() {
this.currentIndex++ this.currentIndex++

58
src/views/thrombolysis/index.vue

@ -2,28 +2,37 @@
<div class="thrombolysis-container"> <div class="thrombolysis-container">
<div class="thrombolysis-box"> <div class="thrombolysis-box">
<a-steps v-model="current" type="navigation" size="small" :style="stepStyle"> <a-steps v-model="current" type="navigation" size="small" :style="stepStyle" @change="handleClickStep">
<a-step status="finish" title="创建患者" disabled /> <a-step status="finish" title="创建患者" disabled />
<a-step :status="current == 1 ? 'process' : current > 1 ? 'finish' : 'wait'" title="溶栓前" :disabled="!!firstAidId"> <a-step :status="current == 1 ? 'process' : current > 1 ? 'finish' : 'wait'" title="溶栓前"
:disabled="!!firstAidId">
</a-step> </a-step>
<template v-if="isrs && !isjr"> <template v-if="isrs && !isjr">
<a-step :status="current == 2 ? 'process' : current > 2 ? 'finish' : 'wait'" title="溶栓中" :disabled="!!firstAidId" /> <a-step :status="current == 2 ? 'process' : current > 2 ? 'finish' : 'wait'" title="溶栓中"
<a-step :status="current == 3 ? 'process' : current > 3 ? 'finish' : 'wait'" title="查看结果" :disabled="!!firstAidId" /> :disabled="!!firstAidId" />
<a-step :status="current == 4 ? 'process' : current > 4 ? 'finish' : 'wait'" title="报告" disabled /> <a-step :status="current == 3 ? 'process' : current > 3 ? 'finish' : 'wait'" title="查看结果"
:disabled="!!firstAidId" />
<a-step :status="current == 4 ? 'process' : current > 4 ? 'finish' : 'wait'" title="报告" disabled />
</template> </template>
<template v-else-if="!isrs && isjr"> <template v-else-if="!isrs && isjr">
<a-step :status="current == 2 ? 'process' : current > 2 ? 'finish' : 'wait'" title="介入" :disabled="!!firstAidId" /> <a-step :status="current == 2 ? 'process' : current > 2 ? 'finish' : 'wait'" title="介入"
<a-step :status="current == 3 ? 'process' : current > 3 ? 'finish' : 'wait'" title="查看结果" :disabled="!!firstAidId" /> :disabled="!!firstAidId" />
<a-step :status="current == 3 ? 'process' : current > 3 ? 'finish' : 'wait'" title="查看结果"
:disabled="!!firstAidId" />
<a-step :status="current == 4 ? 'process' : current > 4 ? 'finish' : 'wait'" title="报告" disabled /> <a-step :status="current == 4 ? 'process' : current > 4 ? 'finish' : 'wait'" title="报告" disabled />
</template> </template>
<template v-else-if="!isrs && !isjr"> <template v-else-if="!isrs && !isjr">
<a-step :status="current == 2 ? 'process' : current > 2 ? 'finish' : 'wait'" title="查看结果" :disabled="!!firstAidId" /> <a-step :status="current == 2 ? 'process' : current > 2 ? 'finish' : 'wait'" title="查看结果"
:disabled="!!firstAidId" />
<a-step :status="current == 3 ? 'process' : current > 3 ? 'finish' : 'wait'" title="报告" disabled /> <a-step :status="current == 3 ? 'process' : current > 3 ? 'finish' : 'wait'" title="报告" disabled />
</template> </template>
<template v-else> <template v-else>
<a-step :status="current == 2 ? 'process' : current > 2 ? 'finish' : 'wait'" title="溶栓中" :disabled="!!firstAidId" /> <a-step :status="current == 2 ? 'process' : current > 2 ? 'finish' : 'wait'" title="溶栓中"
<a-step :status="current == 3 ? 'process' : current > 3 ? 'finish' : 'wait'" title="介入" :disabled="!!firstAidId" /> :disabled="!!firstAidId" />
<a-step :status="current == 4 ? 'process' : current > 4 ? 'finish' : 'wait'" title="查看结果" :disabled="!!firstAidId" /> <a-step :status="current == 3 ? 'process' : current > 3 ? 'finish' : 'wait'" title="介入"
:disabled="!!firstAidId" />
<a-step :status="current == 4 ? 'process' : current > 4 ? 'finish' : 'wait'" title="查看结果"
:disabled="!!firstAidId" />
<a-step :status="current == 5 ? 'process' : current > 5 ? 'finish' : 'wait'" title="报告" disabled /> <a-step :status="current == 5 ? 'process' : current > 5 ? 'finish' : 'wait'" title="报告" disabled />
</template> </template>
@ -75,10 +84,10 @@
}, },
computed: { computed: {
...mapState('patient', ['patientData']), ...mapState('patient', ['patientData']),
isrs() { isrs() {
return !(this.patientData?.recordValDict?.['JBXX-ISRS']?.[0]?.answer[0] == '否') return !(this.patientData?.recordValDict?.['JBXX-ISRS']?.[0]?.answer[0] == '否')
}, },
isjr() { isjr() {
return !(this.patientData?.recordValDict?.['JBXX-ISJR']?.[0]?.answer[0] == '否') return !(this.patientData?.recordValDict?.['JBXX-ISJR']?.[0]?.answer[0] == '否')
} }
}, },
@ -99,10 +108,10 @@
handler(to, o) { handler(to, o) {
const cuIndex = to.query?.cu const cuIndex = to.query?.cu
const chIndex = to.query?.ch const chIndex = to.query?.ch
if(!!cuIndex && !isNaN(cuIndex) && !isNaN(Number(cuIndex))){ if (!!cuIndex && !isNaN(cuIndex) && !isNaN(Number(cuIndex))) {
this.current = Number(to.query.cu) this.current = Number(to.query.cu)
} }
if(!!chIndex && !isNaN(chIndex) && !isNaN(Number(chIndex))){ if (!!chIndex && !isNaN(chIndex) && !isNaN(Number(chIndex))) {
this.childIndex = Number(to.query.ch) this.childIndex = Number(to.query.ch)
} }
}, },
@ -112,10 +121,10 @@
next((vm) => { next((vm) => {
const cuIndex = to.query?.cu const cuIndex = to.query?.cu
const chIndex = to.query?.ch const chIndex = to.query?.ch
if(!!cuIndex && !isNaN(cuIndex) && !isNaN(Number(cuIndex))){ if (!!cuIndex && !isNaN(cuIndex) && !isNaN(Number(cuIndex))) {
vm.current = Number(to.query.cu) vm.current = Number(to.query.cu)
} }
if(!!chIndex && !isNaN(chIndex) && !isNaN(Number(chIndex))){ if (!!chIndex && !isNaN(chIndex) && !isNaN(Number(chIndex))) {
vm.childIndex = Number(to.query.ch) vm.childIndex = Number(to.query.ch)
} }
}); });
@ -124,11 +133,15 @@
handleNext(data) { handleNext(data) {
this.firstAidId = data?.firstAidId this.firstAidId = data?.firstAidId
// console.log(firstAidId) // console.log(firstAidId)
this.$nextTick(()=> { this.$nextTick(() => {
this.current++ this.current++
}) })
} },
handleClickStep(current) {
console.log('handleClickStep', current)
this.home.queryAid(this.patientData?.firstAidId, false)
},
} }
} }
</script> </script>
@ -149,7 +162,8 @@
} }
} }
} }
.throm-step{
margin-right:10px !important; .throm-step {
margin-right: 10px !important;
} }
</style> </style>
Loading…
Cancel
Save