8 changed files with 605 additions and 37 deletions
-
7src/components/doctorCheck/ButtonList.vue
-
8src/components/doctorCheck/PatientRegisterBase.vue
-
5src/components/doctorCheck/PatientRegisterList.vue
-
347src/components/sumDoctorCheck/ButtonList.vue
-
25src/components/sumDoctorCheck/SumPREdit.vue
-
236src/components/sumDoctorCheck/SumSug.vue
-
8src/store/index.js
-
6src/views/doctorCheck/sumDoctorCheck.vue
@ -0,0 +1,236 @@ |
|||
<template> |
|||
<div style="display: flex;"> |
|||
<div style="width:50%;"> |
|||
<el-table id="tableSummary" row-key="id" :data="sumDoctorCheck.summaryList" width="100%" height="650" border > |
|||
<el-table-column prop="summaryTitle" label="综述" > |
|||
<template slot-scope="scope"> |
|||
<div> |
|||
<el-input v-model="scope.row.summaryTitle" placeholder="请输入综述" disabled></el-input> |
|||
<el-table :id="scope.row.id" row-key="summaryContent" style="margin-left: 30px;" |
|||
:data="scope.row.details" border @row-click="rowClick" :show-header="false"> |
|||
<el-table-column prop="summaryContent" label="综述" /> |
|||
</el-table> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
<div style="width:50%;"> |
|||
<el-table id="tableSuggestion" row-key="id" :data="sumDoctorCheck.suggestionList" width="100%" height="650" border> |
|||
<el-table-column prop="suggestionTitle" label="建议" > |
|||
<template slot-scope="scope"> |
|||
<div> |
|||
<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" placeholder="请输入建议" |
|||
:disabled="sumDoctorCheck.sumPREdit.completeFlag=='3' || sumDoctorCheck.sumPREdit.isAudit=='Y'"></el-button> |
|||
</el-input> |
|||
<el-table :id="scope.row.id" row-key="suggestionContent" style="margin-left: 30px;" |
|||
:data="scope.row.details" border @row-click="rowClickSug" :show-header="false"> |
|||
<el-table-column prop="suggestionContent" label="建议" /> |
|||
</el-table> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
<script lang="ts"> |
|||
import { mapState } from 'vuex'; |
|||
import Sortable from "sortablejs"; |
|||
import { getapi, postapi, putapi, deletapi } from "@/api/api"; |
|||
import { arrayExistObj } from '@/utlis/proFunc'; |
|||
export default { |
|||
components: {}, |
|||
data() { |
|||
return { |
|||
sumDetails:[], |
|||
sugDetails:[], |
|||
}; |
|||
}, |
|||
|
|||
created() { }, |
|||
|
|||
//挂载完成 |
|||
mounted() { |
|||
this.rowDrop(); |
|||
this.rowDropSuggestion() |
|||
}, |
|||
|
|||
computed: { |
|||
...mapState(['dict', 'sumDoctorCheck']), |
|||
}, |
|||
|
|||
methods: { |
|||
//获取综述 |
|||
summaryList(RegisterId) { |
|||
// [ |
|||
// { |
|||
// "id": "3a0c5bbb-dfea-eec1-ed37-78203086987c", |
|||
// "patientRegisterId": "3a0c5b73-0b3a-fe97-88b7-b47b18424136", |
|||
// "summaryTitle": "血常规", |
|||
// "summaryFlag": null, |
|||
// "displayOrder": 0, |
|||
// "details": [ |
|||
// { |
|||
// "sumSummaryHeaderId": "3a0c6589-9b6f-bbb1-bb8b-d6876ea5e4e6", |
|||
// "summaryContent": "重度肥胖", |
|||
// "displayOrder": 1 |
|||
// } |
|||
// ] |
|||
// }, |
|||
// ] |
|||
console.log(`/api/app/sumsummaryheader/getsumsummarylist?PatientRegisterId=${RegisterId}`) |
|||
getapi(`/api/app/sumsummaryheader/getsumsummarylist?PatientRegisterId=${RegisterId}`) |
|||
.then((res) => { |
|||
console.log("summaryList", res.data); |
|||
if (res.code != -1) { |
|||
this.sumDoctorCheck.summaryList = res.data; |
|||
} |
|||
}) |
|||
.catch((err) => { |
|||
this.$message({ type: "error", message: `操作失败,原因:${err}` }); |
|||
}); |
|||
}, |
|||
|
|||
//获取建议 |
|||
suggestionList(RegisterId) { |
|||
// [ |
|||
// { |
|||
// "id": "3a0c6589-9b6f-bbb1-bb8b-d6876ea5e4e6", |
|||
// "patientRegisterId": "3a0c6589-99bb-5518-a196-4cf094b44e9a", |
|||
// "suggestionTitle": "身高体重", |
|||
// "suggestionFlag": null, |
|||
// "displayOrder": 0, |
|||
// "details": [ |
|||
// { |
|||
// "sumSuggestionHeaderId": "3a0c6589-9b6f-bbb1-bb8b-d6876ea5e4e6", |
|||
// "suggestionContent": "控制饮食,少盐少油少糖少脂;\n加强锻炼。", |
|||
// "displayOrder": 1 |
|||
// } |
|||
// ] |
|||
// }, |
|||
// ] |
|||
console.log(`/api/app/sumsuggestionheader/getsumsuggestionlist?PatientRegisterId=${RegisterId}`) |
|||
getapi(`/api/app/sumsuggestionheader/getsumsuggestionlist?PatientRegisterId=${RegisterId}`) |
|||
.then((res) => { |
|||
console.log("suggestionList", res.data); |
|||
if (res.code != -1) { |
|||
this.sumDoctorCheck.suggestionList = res.data; |
|||
} |
|||
}) |
|||
.catch((err) => { |
|||
this.$message({ type: "error", message: `操作失败,原因:${err}` }); |
|||
}); |
|||
}, |
|||
|
|||
//增加建议明细 |
|||
addSug(){ |
|||
console.log('addSug') |
|||
}, |
|||
|
|||
//选择组合项目 |
|||
rowClick(row) { |
|||
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.rowDropSumDetail(row.sumSummaryHeaderId) |
|||
} |
|||
console.log('this.sumDetails',this.sumDetails) |
|||
}, |
|||
|
|||
//综述明细拖拽 |
|||
rowDropSumDetail(id) { |
|||
this.$nextTick(() => { |
|||
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 |
|||
const that = this; |
|||
Sortable.create(el, { |
|||
animation: 150, // ms, number 单位:ms,定义排序动画的时间 |
|||
//拖拽结束 |
|||
onEnd({ newIndex, oldIndex }) { |
|||
that.isshow = false; |
|||
const currRow = that.sumDetails.splice(oldIndex, 1)[0]; |
|||
that.sumDetails.splice(newIndex, 0, currRow); |
|||
}, |
|||
}); |
|||
}); |
|||
}, |
|||
|
|||
findEl(fEl,nodeName){ |
|||
let el = null |
|||
for(let i=0;i<fEl.children.length;i++){ |
|||
console.log(fEl.children[i].nodeName) |
|||
if(fEl.children[i].nodeName == nodeName){ |
|||
el = fEl.children[i] |
|||
break |
|||
}else{ |
|||
el = this.findEl(fEl.children[i],nodeName) |
|||
} |
|||
if(el) break |
|||
} |
|||
return el |
|||
}, |
|||
|
|||
rowClickSug(row){ |
|||
console.log('rowClickSug',row) |
|||
}, |
|||
|
|||
//拖拽 |
|||
rowDrop() { |
|||
this.$nextTick(() => { |
|||
const el = document.querySelector("#tableSummary tbody"); |
|||
console.log('tbody',el) |
|||
const that = this; |
|||
Sortable.create(el, { |
|||
animation: 150, // ms, number 单位:ms,定义排序动画的时间 |
|||
//拖拽结束 |
|||
onEnd({ newIndex, oldIndex }) { |
|||
that.isshow = false; |
|||
const currRow = that.sumDoctorCheck.summaryList.splice(oldIndex, 1)[0]; |
|||
that.sumDoctorCheck.summaryList.splice(newIndex, 0, currRow); |
|||
}, |
|||
}); |
|||
}); |
|||
}, |
|||
|
|||
//拖拽 |
|||
rowDropSuggestion() { |
|||
this.$nextTick(() => { |
|||
const el = document.querySelector("#tableSuggestion tbody"); |
|||
console.log('tbody',el) |
|||
const that = this; |
|||
Sortable.create(el, { |
|||
animation: 150, // ms, number 单位:ms,定义排序动画的时间 |
|||
//拖拽结束 |
|||
onEnd({ newIndex, oldIndex }) { |
|||
that.isshow = false; |
|||
const currRow = that.sumDoctorCheck.suggestionList.splice(oldIndex, 1)[0]; |
|||
that.sumDoctorCheck.suggestionList.splice(newIndex, 0, currRow); |
|||
}, |
|||
}); |
|||
}); |
|||
}, |
|||
|
|||
}, |
|||
|
|||
//监听事件 |
|||
watch: { |
|||
//检查项目切换 |
|||
"sumDoctorCheck.sumPREdit.id"(newVal, oldVal) { |
|||
console.log("watch sumDoctorCheck.sumPREdit.id newVal:", newVal, " oldVal:", oldVal); |
|||
if (newVal != oldVal && newVal != '') { |
|||
this.summaryList(newVal) |
|||
this.suggestionList(newVal) |
|||
} |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
<style></style> |
|||
|
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue