Browse Source

status

master
pengjun 2 years ago
parent
commit
0bc15a35b6
  1. 77
      src/components/sumDoctorCheck/SumAsbItemStatus.vue
  2. 101
      src/components/sumDoctorCheck/SumSug.vue
  3. 4
      src/views/doctorCheck/sumDoctorCheck.vue

77
src/components/sumDoctorCheck/SumAsbItemStatus.vue

@ -0,0 +1,77 @@
<template>
<div style="display: flex;height:90px;">
<div class="asbitemListClass">
<div style="margin-top:2px;font-size:7px;color: #409EFF;">未检组合项目</div>
<div style="display: flex; flex-wrap: wrap; height:68px;width:100%; margin-top:2px;border: 1px solid;">
<el-tag style="margin-left: 5px;" v-for="item in unCheckAsb" :key="item" size="mini">{{item}}</el-tag>
</div>
</div>
<div class="asbitemListClass">
<div style="margin-top:2px;font-size:7px;color: #909399;">弃检组合项目</div>
<div style="display: flex; flex-wrap: wrap; height:68px;width:100%; margin-top:2px;border: 1px solid;">
<el-tag type="info" style="margin-left: 5px;" v-for="item in refuseAsb" :key="item" size="mini">{{item}}</el-tag>
</div>
</div>
<div class="asbitemListClass">
<div style="margin-top:2px;font-size:7px;color: #F56C6C;">组合项目已检但无值的明细项目</div>
<div style="display: flex; flex-wrap: wrap; height:68px;width:100%; margin-top:2px;border: 1px solid;">
<el-tag type="danger" style="margin-left: 5px;" v-for="item in noResultItem" :key="item" size="mini">{{item}}</el-tag>
</div>
</div>
<div class="asbitemListClass">
<div style="margin-top:2px;font-size:7px;color: #E6A23C;">组合项目已检但弃检的明细项目</div>
<div style="display: flex; flex-wrap: wrap; height:68px;width:100%; margin-top:2px;border: 1px solid;">
<el-tag type="warning" style="margin-left: 5px;" v-for="item in refuseItem" :key="item" size="mini">{{item}}</el-tag>
</div>
</div>
</div>
</template>
<script>
import moment from "moment";
import { mapState } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
export default {
components: {},
data() {
return {
unCheckAsb:['未检项目1','未检项目2','未检项目3','未检项目4','未检项目5','未检项目6','未检项目7','未检项目8'],
refuseAsb:['弃检1','弃检2'],
noResultItem:['无果1','无果2'],
refuseItem:['弃检明细1','弃检明细2'],
};
},
created() {},
//
mounted() {},
computed: {
...mapState(["dict", "doctorCheck","sumDoctorCheck"]),
},
methods: {
lmoment(date, forMat) {
return moment(new Date(date)).format(forMat);
},
},
};
</script>
<style scoped>
.asbitemListClass {
display: block;
width: 24.5%;
margin-left: 3px;
}
.labelClass{
margin-top:2px;
font-size:8x;
}
.contentClass{
display: flex;
height:52px;
margin-top:2px;
font-size:8x;
}
</style>

101
src/components/sumDoctorCheck/SumSug.vue

@ -2,18 +2,18 @@
<div style="display: flex;"> <div style="display: flex;">
<div style="width:50%;"> <div style="width:50%;">
<el-table id="tableSummary" row-key="id" :data="sumDoctorCheck.summaryList" width="100%" <el-table id="tableSummary" row-key="id" :data="sumDoctorCheck.summaryList" width="100%"
:height="window.pageHeight < 600 ? 300:window.pageHeight-300"
border :row-style="{ height: '60px' }">
<el-table-column prop="summaryTitle" label="综述" >
:height="window.pageHeight < 600 ? 200 : window.pageHeight - 400" border :row-style="{ height: '60px' }">
<el-table-column prop="summaryTitle" label="综述">
<template slot-scope="scope"> <template slot-scope="scope">
<div> <div>
<el-input v-model="scope.row.summaryTitle" placeholder="请输入综述" disabled></el-input> <el-input v-model="scope.row.summaryTitle" placeholder="请输入综述" disabled></el-input>
<el-table :id="scope.row.id" :row-key="scope.$index + scope.row.id" style="margin-left: 30px;" <el-table :id="scope.row.id" :row-key="scope.$index + scope.row.id" style="margin-left: 30px;"
:data="scope.row.details" border @row-click="rowClick" :show-header="false" :row-style="{ height: '30px' }">
:data="scope.row.details" border @row-click="rowClick" :show-header="false"
:row-style="{ height: '30px' }">
<el-table-column prop="summaryContent" label="综述"> <el-table-column prop="summaryContent" label="综述">
<template slot-scope="scope2"> <template slot-scope="scope2">
<el-input type="textarea" v-model="scope2.row.summaryContent" placeholder="请输入综述" style="width: 95%" <el-input type="textarea" v-model="scope2.row.summaryContent" placeholder="请输入综述" style="width: 95%"
:disabled="sumDoctorCheck.sumPREdit.completeFlag=='3' || sumDoctorCheck.sumPREdit.isAudit=='Y'"
:disabled="sumDoctorCheck.sumPREdit.completeFlag == '3' || sumDoctorCheck.sumPREdit.isAudit == 'Y'"
:autosize="{ minRows: 1, maxRows: 100 }"> :autosize="{ minRows: 1, maxRows: 100 }">
</el-input> </el-input>
</template> </template>
@ -26,42 +26,41 @@
</div> </div>
<div style="width:50%;"> <div style="width:50%;">
<el-table id="tableSuggestion" row-key="id" :data="sumDoctorCheck.suggestionList" width="100%" <el-table id="tableSuggestion" row-key="id" :data="sumDoctorCheck.suggestionList" width="100%"
:height="window.pageHeight < 600 ? 300:window.pageHeight-300"
border :row-style="{ height: '60px' }">
:height="window.pageHeight < 600 ? 200 : window.pageHeight - 400" border :row-style="{ height: '60px' }">
<el-table-column type="index" width="30" style="vertical-align: top;"> <el-table-column type="index" width="30" style="vertical-align: top;">
</el-table-column> </el-table-column>
<el-table-column prop="suggestionTitle" label="建议" >
<el-table-column prop="suggestionTitle" label="建议">
<template slot-scope="scope"> <template slot-scope="scope">
<div> <div>
<el-input v-model="scope.row.suggestionTitle" placeholder="请输入建议标题"
:disabled="sumDoctorCheck.sumPREdit.completeFlag=='3' || sumDoctorCheck.sumPREdit.isAudit=='Y'"
>
<el-input v-model="scope.row.suggestionTitle" placeholder="请输入建议标题"
:disabled="sumDoctorCheck.sumPREdit.completeFlag == '3' || sumDoctorCheck.sumPREdit.isAudit == 'Y'">
<el-button slot="append" icon="el-icon-plus" @click="addSug(scope.$index)" <el-button slot="append" icon="el-icon-plus" @click="addSug(scope.$index)"
:disabled="sumDoctorCheck.sumPREdit.completeFlag=='3' || sumDoctorCheck.sumPREdit.isAudit=='Y'"></el-button>
:disabled="sumDoctorCheck.sumPREdit.completeFlag == '3' || sumDoctorCheck.sumPREdit.isAudit == 'Y'"></el-button>
<!-- <!--
<el-button slot="append" icon="el-icon-d-caret"></el-button> <el-button slot="append" icon="el-icon-d-caret"></el-button>
--> -->
</el-input> </el-input>
<el-table :id="'sug' + scope.row.id" row-key="displayOrder" style="margin-left: 30px;" <el-table :id="'sug' + scope.row.id" row-key="displayOrder" style="margin-left: 30px;"
:data="scope.row.details" border @row-click="rowClickSug" :show-header="false" :row-style="{ height: '30px' }">
:data="scope.row.details" border @row-click="rowClickSug" :show-header="false"
:row-style="{ height: '30px' }">
<el-table-column width="30"> <el-table-column width="30">
<template slot-scope="scope2"> <template slot-scope="scope2">
<div>{{ scope2.$index+1 }}</div>
<div>{{ scope2.$index + 1 }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="suggestionContent" label="建议" >
<el-table-column prop="suggestionContent" label="建议">
<template slot-scope="scope2"> <template slot-scope="scope2">
<el-input type="textarea" v-model="scope2.row.suggestionContent" placeholder="请输入建议内容" <el-input type="textarea" v-model="scope2.row.suggestionContent" placeholder="请输入建议内容"
:disabled="sumDoctorCheck.sumPREdit.completeFlag=='3' || sumDoctorCheck.sumPREdit.isAudit=='Y'"
:disabled="sumDoctorCheck.sumPREdit.completeFlag == '3' || sumDoctorCheck.sumPREdit.isAudit == 'Y'"
:autosize="{ minRows: 1, maxRows: 100 }"> :autosize="{ minRows: 1, maxRows: 100 }">
</el-input> </el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="" width="87"> <el-table-column label="" width="87">
<template slot-scope="scope2"> <template slot-scope="scope2">
<el-button type="danger" icon="el-icon-delete" @click="delSug(scope.row.details,scope2.$index)"
:disabled="sumDoctorCheck.sumPREdit.completeFlag=='3' || sumDoctorCheck.sumPREdit.isAudit=='Y'"
size="small"></el-button>
<el-button type="danger" icon="el-icon-delete" @click="delSug(scope.row.details, scope2.$index)"
:disabled="sumDoctorCheck.sumPREdit.completeFlag == '3' || sumDoctorCheck.sumPREdit.isAudit == 'Y'"
size="small"></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -81,8 +80,8 @@ export default {
components: {}, components: {},
data() { data() {
return { return {
sumDetails:[],
sugDetails:[],
sumDetails: [],
sugDetails: [],
}; };
}, },
@ -95,7 +94,7 @@ export default {
}, },
computed: { computed: {
...mapState(['window','dict', 'doctorCheck', 'sumDoctorCheck']),
...mapState(['window', 'dict', 'doctorCheck', 'sumDoctorCheck']),
}, },
methods: { methods: {
@ -162,36 +161,36 @@ export default {
}, },
// //
addSug(index){
addSug(index) {
this.sumDoctorCheck.suggestionList[index].details.push({ this.sumDoctorCheck.suggestionList[index].details.push({
sumSuggestionHeaderId:this.sumDoctorCheck.suggestionList[index].id,
sumSuggestionHeaderId: this.sumDoctorCheck.suggestionList[index].id,
suggestionContent: '', suggestionContent: '',
displayOrder:Math.random(),
displayOrder: Math.random(),
}) })
}, },
// //
delSug(details,indexD){
details.splice(indexD,1);
delSug(details, indexD) {
details.splice(indexD, 1);
}, },
// //
rowClick(row) { rowClick(row) {
console.log('rowClick row',row)
let lfind = arrayExistObj(this.sumDoctorCheck.summaryList,'id',row.sumSummaryHeaderId)
if(lfind > -1) {
console.log('rowClick row', row)
let lfind = arrayExistObj(this.sumDoctorCheck.summaryList, 'id', row.sumSummaryHeaderId)
if (lfind > -1) {
this.sumDetails = this.sumDoctorCheck.summaryList[lfind].details this.sumDetails = this.sumDoctorCheck.summaryList[lfind].details
this.rowDropSumDetail(row.sumSummaryHeaderId) this.rowDropSumDetail(row.sumSummaryHeaderId)
} }
console.log('this.sumDetails',this.sumDetails)
console.log('this.sumDetails', this.sumDetails)
}, },
// //
rowDropSumDetail(id) { rowDropSumDetail(id) {
this.$nextTick(() => { this.$nextTick(() => {
const fEl = document.getElementById(id) // document.querySelector(`#${id} tbody`) querySelector; const fEl = document.getElementById(id) // document.querySelector(`#${id} tbody`) querySelector;
console.log('rowDropSumDetail tbody',fEl,fEl.children) //el.childNodes,el.children
const el = this.findEl(fEl,'TBODY')
console.log('rowDropSumDetail tbody',el) //el.childNodes,el.children
console.log('rowDropSumDetail tbody', fEl, fEl.children) //el.childNodes,el.children
const el = this.findEl(fEl, 'TBODY')
console.log('rowDropSumDetail tbody', el) //el.childNodes,el.children
const that = this; const that = this;
Sortable.create(el, { Sortable.create(el, {
animation: 150, // ms, number ms animation: 150, // ms, number ms
@ -205,38 +204,38 @@ export default {
}); });
}, },
findEl(fEl,nodeName){
findEl(fEl, nodeName) {
let el = null let el = null
for(let i=0;i<fEl.children.length;i++){
for (let i = 0; i < fEl.children.length; i++) {
console.log(fEl.children[i].nodeName) console.log(fEl.children[i].nodeName)
if(fEl.children[i].nodeName == nodeName){
if (fEl.children[i].nodeName == nodeName) {
el = fEl.children[i] el = fEl.children[i]
break break
}else{
el = this.findEl(fEl.children[i],nodeName)
} else {
el = this.findEl(fEl.children[i], nodeName)
} }
if(el) break
if (el) break
} }
return el return el
}, },
rowClickSug(row){
console.log('rowClick row',row)
let lfind = arrayExistObj(this.sumDoctorCheck.suggestionList,'id',row.sumSuggestionHeaderId)
if(lfind > -1) {
rowClickSug(row) {
console.log('rowClick row', row)
let lfind = arrayExistObj(this.sumDoctorCheck.suggestionList, 'id', row.sumSuggestionHeaderId)
if (lfind > -1) {
this.sugDetails = this.sumDoctorCheck.suggestionList[lfind].details this.sugDetails = this.sumDoctorCheck.suggestionList[lfind].details
this.rowDropSugDetail(row.sumSuggestionHeaderId) this.rowDropSugDetail(row.sumSuggestionHeaderId)
} }
console.log('this.sumDetails',this.sugDetails)
console.log('this.sumDetails', this.sugDetails)
}, },
// //
rowDropSugDetail(id) { rowDropSugDetail(id) {
this.$nextTick(() => { this.$nextTick(() => {
const fEl = document.getElementById('sug'+id) // document.querySelector(`#${id} tbody`) querySelector;
console.log('rowDropSumDetail tbody',fEl,fEl.children) //el.childNodes,el.children
const el = this.findEl(fEl,'TBODY')
console.log('rowDropSumDetail tbody',el) //el.childNodes,el.children
const fEl = document.getElementById('sug' + id) // document.querySelector(`#${id} tbody`) querySelector;
console.log('rowDropSumDetail tbody', fEl, fEl.children) //el.childNodes,el.children
const el = this.findEl(fEl, 'TBODY')
console.log('rowDropSumDetail tbody', el) //el.childNodes,el.children
const that = this; const that = this;
Sortable.create(el, { Sortable.create(el, {
animation: 150, // ms, number ms animation: 150, // ms, number ms
@ -254,7 +253,7 @@ export default {
rowDrop() { rowDrop() {
this.$nextTick(() => { this.$nextTick(() => {
const el = document.querySelector("#tableSummary tbody"); const el = document.querySelector("#tableSummary tbody");
console.log('tbody',el)
console.log('tbody', el)
const that = this; const that = this;
Sortable.create(el, { Sortable.create(el, {
animation: 150, // ms, number ms animation: 150, // ms, number ms
@ -272,7 +271,7 @@ export default {
rowDropSuggestion() { rowDropSuggestion() {
this.$nextTick(() => { this.$nextTick(() => {
const el = document.querySelector("#tableSuggestion tbody"); const el = document.querySelector("#tableSuggestion tbody");
console.log('tbody',el)
console.log('tbody', el)
const that = this; const that = this;
Sortable.create(el, { Sortable.create(el, {
animation: 150, // ms, number ms animation: 150, // ms, number ms

4
src/views/doctorCheck/sumDoctorCheck.vue

@ -12,6 +12,7 @@
<div> <div>
<SumSug/> <SumSug/>
<SumPREdit/> <SumPREdit/>
<SumAsbItemStatus/>
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="明细结果" name="2"> <el-tab-pane label="明细结果" name="2">
@ -49,6 +50,7 @@ import PatientRegisterBase from "../../components/doctorCheck/PatientRegisterBas
import ButtonList from "../../components/sumDoctorCheck/ButtonList.vue"; import ButtonList from "../../components/sumDoctorCheck/ButtonList.vue";
import SumSug from "../../components/sumDoctorCheck/SumSug.vue"; import SumSug from "../../components/sumDoctorCheck/SumSug.vue";
import SumPREdit from "../../components/sumDoctorCheck/SumPREdit.vue"; import SumPREdit from "../../components/sumDoctorCheck/SumPREdit.vue";
import SumAsbItemStatus from "../../components/sumDoctorCheck/SumAsbItemStatus.vue";
import CheckDetails from "../../components/sumDoctorCheck/CheckDetails.vue"; import CheckDetails from "../../components/sumDoctorCheck/CheckDetails.vue";
import SumItemsType from "../../components/sumDoctorCheck/SumItemsType.vue"; import SumItemsType from "../../components/sumDoctorCheck/SumItemsType.vue";
import SumItems from "../../components/sumDoctorCheck/SumItems.vue"; import SumItems from "../../components/sumDoctorCheck/SumItems.vue";
@ -59,10 +61,12 @@ export default {
ButtonList, ButtonList,
SumSug, SumSug,
SumPREdit, SumPREdit,
SumAsbItemStatus,
CheckDetails, CheckDetails,
SumItemsType, SumItemsType,
SumItems, SumItems,
SumHistory, SumHistory,
}, },
data() { data() {
return { return {

Loading…
Cancel
Save