Browse Source

病例收集树形结构相关接口调用

360view
bianyaqi 3 years ago
parent
commit
8fb8dcd3aa
  1. 203
      src/components/360View/collection.vue
  2. 8
      src/components/360View/index1.vue
  3. 2
      src/components/360View/medicalRecord/outPatientRecord/index.vue
  4. 3
      src/page-subspecialty/views/modules/optometryManagement/dioptric/index.vue
  5. 5
      src/page-subspecialty/views/modules/outpatientManagement/call/index.vue
  6. 7
      src/page-subspecialty/views/modules/outpatientManagement/treat/index.vue

203
src/components/360View/collection.vue

@ -1,6 +1,10 @@
<template> <template>
<div class="collection"> <div class="collection">
<div class="collection_title">个人收藏</div>
<div style="flex: 1">
<el-button v-if="!tableData.length" size="mini" @click="dialogFormVisible = true">新增节点</el-button>
<el-tree <el-tree
v-else
:data="tableData" :data="tableData"
:props="collectProps" :props="collectProps"
node-key="id" node-key="id"
@ -8,40 +12,45 @@
:expand-on-click-node="false" :expand-on-click-node="false"
> >
<span slot-scope="{ node, data }" class="custom-tree-node" :name="node.id"> <span slot-scope="{ node, data }" class="custom-tree-node" :name="node.id">
<span style="display: inline-block;min-width: 100px">{{ node.label }}</span>
<span :class="[currentNumber == node.id ? 'active' : 'dis']">
<span class="ml15" @click="delMenu(data)">
<!-- <a-icon type="minus-circle" />-->
</span>
<span class="mr30" @click="addMenu(1,data)">
<!-- <a-icon type="plus-circle" />-->
<span style="display: inline-block;min-width: 100px">
<span>{{ node.label }}</span>
<!-- <el-input v-else v-model="editName" :autofocus="true" @blur="" @change="getRename" />-->
</span> </span>
<span> <span>
<el-button
type="text"
size="mini"
@click="() => addMenu(2,data)"
>
新增子级
</el-button>
<el-button
type="text"
size="mini"
@click="() => editMenu(node, data)"
>
配置
</el-button>
<el-dropdown trigger="click" @command="(command)=>addNode(command,node,data)">
<span>
<i class="el-icon-plus" />
</span> </span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="same">新增同级节点</el-dropdown-item>
<el-dropdown-item command="child">新增子级节点</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown trigger="click" style="margin-left: 10px" @command="(command)=>handleNode(command,node,data)">
<span>···</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="rename">重命名</el-dropdown-item>
<el-dropdown-item command="delete">删除</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</span> </span>
</span> </span>
</el-tree> </el-tree>
<div v-if="collectData.length">
<div style="text-align: center;padding-top: 32px">
<el-input v-model="remark" type="textarea" style="width: 180px;" size="small" clearable placeholder="请输入备注" />
<el-dialog width="30%" :modal="false" title="节点名称" :visible.sync="dialogFormVisible">
<el-input v-model="editName" />
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false"> </el-button>
<el-button type="primary" @click="confirmNode()"> </el-button>
</div>
</el-dialog>
</div> </div>
<div style="text-align: center;padding-top: 16px">
<el-button style="width: 180px" type="primary" size="small" @click="handleAddPatient">保存</el-button>
<div>
<div style="display:flex;text-align: center;padding: 16px">
<span>备注</span>
<el-input v-model="remark" style="flex: 1" type="textarea" resize="none" clearable placeholder="请输入备注" />
</div>
<div style="text-align: right;padding:0 16px 16px">
<el-button style="width: 180px" type="primary" size="small" @click="handleAddPatient">收藏当前患者</el-button>
</div> </div>
</div> </div>
</div> </div>
@ -60,20 +69,36 @@ export default {
patientIdNumber: { patientIdNumber: {
type: String, type: String,
default: '' default: ''
},
platform: {
type: String,
default: ''
},
patientId: {
type: String,
default: ''
} }
}, },
data() { data() {
return { return {
dialogFormVisible: false,
remark: '', remark: '',
currentNumber: '', currentNumber: '',
editName: '',
collectProps: { collectProps: {
// children: 'childs', // children: 'childs',
// label: 'name' // label: 'name'
}, },
addParam: {
id: 0,
parentId: 0
},
doctorId: JSON.parse(window.localStorage.getItem('qg-userData')).id,
collectData: [], collectData: [],
tableData: [{ tableData: [{
id: 1, id: 1,
label: '一级 1', label: '一级 1',
isEdit: false,
children: [{ children: [{
id: 4, id: 4,
label: '二级 1-1', label: '二级 1-1',
@ -87,6 +112,7 @@ export default {
}] }]
}, { }, {
id: 2, id: 2,
isEdit: false,
label: '一级 2', label: '一级 2',
children: [{ children: [{
id: 5, id: 5,
@ -97,6 +123,7 @@ export default {
}] }]
}, { }, {
id: 3, id: 3,
isEdit: false,
label: '一级 3', label: '一级 3',
children: [{ children: [{
id: 7, id: 7,
@ -115,20 +142,123 @@ export default {
watch: { watch: {
}, },
created() {
async created() {
this.initPatient()
}, },
mounted() { mounted() {
}, },
methods: { methods: {
//
initPatient() {
this.findTree()
this.queryPatientRemarks()
},
//
async queryPatientRemarks() {
const { data } = await this.$http.get('/tree/findTreeIsExistPatient', {
params: {
doctorId: this.doctorId,
patientId: this.patientId,
platform: this.platform
}
})
console.log('备注', data)
},
//
async findTree() {
const { data } = await this.$http.get(`/tree/findTree`, {
params: {
doctorId: JSON.parse(window.localStorage.getItem('qg-userData')).id,
platform: this.platform
}
})
console.log('树结构', data)
// this.tableData = data
},
//
// async patientTrees() {
// const { data } = await this.$http.get('/tree/findTreeIsExistPatient', {
// params: {
// doctorId: this.doctorId,
// patientId: this.patientId,
// platform: this.platform
// }
// })
// console.log('', data)
// },
searchRemark(data) { searchRemark(data) {
// this.treeId = data.id // this.treeId = data.id
// this.remark = data.hisManagePatientEntity ? data.hisManagePatientEntity.remark : '' // this.remark = data.hisManagePatientEntity ? data.hisManagePatientEntity.remark : ''
// this.remarkId = data.hisManagePatientEntity ? data.hisManagePatientEntity.id : '' // this.remarkId = data.hisManagePatientEntity ? data.hisManagePatientEntity.id : ''
}, },
async handleAddPatient() {
handleAddPatient() {
this.$http.post('/tree/addPatientTree', {})
},
//
addNode(command, node) {
switch (command) {
case 'same':
this.dialogFormVisible = true
this.addParam.id = node.id
this.addParam.parentId = node.parent.id
this.editName = node.name
break
case 'child':
this.addParam.id = node.id
this.addParam.parentId = node.parent.id
this.editName = node.name
break
default:
this.addParam.id = 0
this.addParam.parentId = 0
this.editName = ''
break
}
},
//
async confirmNode() {
const params = {
createDate: new Date().getDate(),
doctorId: this.doctorId,
flag: '1',
name: this.editName,
platform: this.platform,
weight: 1,
...this.addParam
}
await this.$http.post('/tree/addTree', params)
await this.findTree()
this.dialogFormVisible = false
},
handleNode(command, node, data) {
if (command === 'delete') {
this.deleteNode(node, data)
} else {
this.editNode(node, data)
}
},
//
deleteNode(node, data) {
this.addParam.id = node.id
this.addParam.parentId = node.parent.id
const params = {
createDate: new Date().getDate(),
doctorId: this.doctorId,
flag: '1',
name: data.label,
platform: this.platform,
weight: 1,
...this.addParam
}
this.$http.post('/tree/deleteTree', params)
this.findTree()
},
//
editNode(node, data) {
this.dialogFormVisible = true
this.editName = node.label
this.findTree()
} }
} }
} }
@ -137,6 +267,14 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.collection { .collection {
width: 600px; width: 600px;
display: flex;
flex-direction: column;
justify-content: space-between;
.collection_title{
font-size: 16px;
font-weight: bold;
padding: 18px;
}
.cell-cursor { .cell-cursor {
cursor: pointer; cursor: pointer;
color: #1e79ff; color: #1e79ff;
@ -144,5 +282,8 @@ export default {
.table-column-disable { .table-column-disable {
color: #dddd; color: #dddd;
} }
::v-deep .el-textarea__inner{
height: 164px;
}
} }
</style> </style>

8
src/components/360View/index1.vue

@ -206,7 +206,7 @@
<!-- 数据集--> <!-- 数据集-->
<dataInfo v-if="dataType === 2" :source-data="source" :data-list="collectList"/> <dataInfo v-if="dataType === 2" :source-data="source" :data-list="collectList"/>
<!-- 病历收藏--> <!-- 病历收藏-->
<collection v-if="dataType === 3" />
<collection v-if="dataType === 3" :platform="platform" :patient-id="patientId" />
<!-- 常用业务--> <!-- 常用业务-->
<business v-if="dataType === 4" /> <business v-if="dataType === 4" />
</drawer> </drawer>
@ -267,6 +267,10 @@ export default {
isSearch: { isSearch: {
type: String, type: String,
default: '' default: ''
},
platform: {
type: String,
default: ''
} }
}, },
data() { data() {
@ -276,7 +280,7 @@ export default {
patientBaseData: {}, patientBaseData: {},
timeAxisNodeInfo: [], // timeAxisNodeInfo: [], //
source: '', // source: '', //
collectList: '', //
collectList: [], //
drawerWidth: '', drawerWidth: '',
timeAxisData: [], // timeAxisData: [], //
dataType: 1, dataType: 1,

2
src/components/360View/medicalRecord/outPatientRecord/index.vue

@ -95,7 +95,7 @@
</el-form> </el-form>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="前段检查" name="前段检查" style="height: 100%"> <el-tab-pane label="前段检查" name="前段检查" style="height: 100%">
<forePart :patient-id="patientId" />
<!-- <forePart :patient-id="patientId" />-->
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="后段检查" name="后段检查"> <el-tab-pane label="后段检查" name="后段检查">
<afterPart :patient-id="patientId" /> <afterPart :patient-id="patientId" />

3
src/page-subspecialty/views/modules/optometryManagement/dioptric/index.vue

@ -111,7 +111,7 @@
<!-- HIS引入弹框 --> <!-- HIS引入弹框 -->
<his-add v-if="HisAddVisible" ref="HisAddRef" /> <his-add v-if="HisAddVisible" ref="HisAddRef" />
<!-- 详情页 --> <!-- 详情页 -->
<detail-view v-if="detailViewVisible" :id="detailId" ref="viewRef" :patient-id="patientId" :patient-id-number="patientIdNumber" is-search="" @detailViewVisible="detailViewVisible=false" />
<detail-view v-if="detailViewVisible" :id="detailId" ref="viewRef" platform="2" :patient-id="patientId" :patient-id-number="patientIdNumber" is-search="" @detailViewVisible="detailViewVisible=false" />
</template> </template>
</div> </div>
</template> </template>
@ -162,6 +162,7 @@ export default {
HisAddVisible: false, HisAddVisible: false,
editPatidVisible: false, editPatidVisible: false,
dataForm: { dataForm: {
platform: '3',
patId: '', patId: '',
patName: '', patName: '',
doctorName: '', doctorName: '',

5
src/page-subspecialty/views/modules/outpatientManagement/call/index.vue

@ -103,7 +103,7 @@
<!-- HIS引入弹框 --> <!-- HIS引入弹框 -->
<his-add v-if="HisAddVisible" ref="HisAddRef" /> <his-add v-if="HisAddVisible" ref="HisAddRef" />
<!-- 详情页 --> <!-- 详情页 -->
<detail-view v-if="detailViewVisible" :id="detailId" ref="viewRef" :patient-id="patientId" :patient-id-number="patientIdNumber" @detailViewVisible="detailViewVisible=false" />
<detail-view v-if="detailViewVisible" platform="1" :id="detailId" ref="viewRef" :patient-id="patientId" :patient-id-number="patientIdNumber" @detailViewVisible="detailViewVisible=false" />
</div> </div>
</template> </template>
<script> <script>
@ -173,7 +173,8 @@ export default {
// slBeginDate: '', // slBeginDate: '',
// slEndDate: '', // slEndDate: '',
// diagNoseName: '', // diagNoseName: '',
patientIdNumber: ''
patientIdNumber: '',
platform: '1'
}, },
doctorNameList: [], doctorNameList: [],
currentTableList: [], currentTableList: [],

7
src/page-subspecialty/views/modules/outpatientManagement/treat/index.vue

@ -43,7 +43,7 @@
:value="item.value" :value="item.value"
/> />
</el-select> </el-select>
<el-button style="margin-left: 0px" size="small" color="white" v-for="(item,index) in typeList" :key="index">{{ item.value }}</el-button>
<el-button v-for="(item,index) in typeList" :key="index" style="margin-left: 0px" size="small" color="white">{{ item.value }}</el-button>
</div> </div>
<div> <div>
<el-button type="primary" size="small" icon="el-icon-plus" @click="addOrUpdateHandle('','','新增患者')">新增</el-button> <el-button type="primary" size="small" icon="el-icon-plus" @click="addOrUpdateHandle('','','新增患者')">新增</el-button>
@ -105,7 +105,7 @@
<!-- HIS引入弹框 --> <!-- HIS引入弹框 -->
<his-add v-if="HisAddVisible" ref="HisAddRef" /> <his-add v-if="HisAddVisible" ref="HisAddRef" />
<!-- 详情页 --> <!-- 详情页 -->
<detail-view v-if="detailViewVisible" :id="detailId" ref="viewRef" :patient-id="patientId" :patient-id-number="patientIdNumber" @detailViewVisible="detailViewVisible=false" />
<detail-view v-if="detailViewVisible" :id="detailId" ref="viewRef" platform="1" :patient-id="patientId" :patient-id-number="patientIdNumber" @detailViewVisible="detailViewVisible=false" />
</div> </div>
</template> </template>
<script> <script>
@ -175,7 +175,8 @@ export default {
// slBeginDate: '', // slBeginDate: '',
// slEndDate: '', // slEndDate: '',
// diagNoseName: '', // diagNoseName: '',
patientIdNumber: ''
patientIdNumber: '',
platform: '2'
}, },
doctorNameList: [], doctorNameList: [],
currentTableList: [], currentTableList: [],

Loading…
Cancel
Save