Browse Source

diagnosis

master
pengjun 2 years ago
parent
commit
51c53ceea8
  1. 67
      src/views/diagnosis/diagnosis.vue
  2. 12
      src/views/diagnosis/diagnosisSug.vue

67
src/views/diagnosis/diagnosis.vue

@ -19,8 +19,6 @@
<!-- <!--
<el-checkbox v-model="query.itemTypeFlag">项目类别作为查询条件</el-checkbox> <el-checkbox v-model="query.itemTypeFlag">项目类别作为查询条件</el-checkbox>
<el-input placeholder="查询关键字" v-model="query.keyWords" size="small" clearable style="width: 200px" /> <el-input placeholder="查询关键字" v-model="query.keyWords" size="small" clearable style="width: 200px" />
--> -->
<el-select v-model="diagnosis" placeholder="快速查找" size="small" <el-select v-model="diagnosis" placeholder="快速查找" size="small"
filterable :filter-method="filterMethod" value-key="id" filterable :filter-method="filterMethod" value-key="id"
@ -57,12 +55,14 @@
|| dropCol[index].prop == 'isSummaryTemplate'" > || dropCol[index].prop == 'isSummaryTemplate'" >
{{ scope.row[dropCol[index].prop] == 'Y' ? '是':'否' }} {{ scope.row[dropCol[index].prop] == 'Y' ? '是':'否' }}
</div> </div>
<!--
<div v-else-if="dropCol[index].prop == 'itemTypeId'" > <div v-else-if="dropCol[index].prop == 'itemTypeId'" >
<el-cascader :options="dict.itemTypeTree" v-model="scope.row[dropCol[index].prop]" <el-cascader :options="dict.itemTypeTree" v-model="scope.row[dropCol[index].prop]"
:props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops, }" :show-all-levels="false" :props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops, }" :show-all-levels="false"
disabled size="small"> disabled size="small">
</el-cascader> </el-cascader>
</div> </div>
-->
<div v-else-if="dropCol[index].prop == 'diagnosisLevelId'" > <div v-else-if="dropCol[index].prop == 'diagnosisLevelId'" >
{{ dddw(dict.diagnosisLevel, "id", scope.row[dropCol[index].prop], "displayName") }} {{ dddw(dict.diagnosisLevel, "id", scope.row[dropCol[index].prop], "displayName") }}
</div> </div>
@ -220,7 +220,8 @@ export default {
keyWords:'', keyWords:'',
}, },
diagnosis: {}, //null, //{id:'',displayName:''} diagnosis: {}, //null, //{id:'',displayName:''}
tableData:[], //
tableData:[], //()
diagnosisAll:[], //
quickTableData:[], // quickTableData:[], //
formInit:{}, formInit:{},
form:{ form:{
@ -246,7 +247,7 @@ export default {
// //
dropCol: [ dropCol: [
//{ label: "",prop: "sn",minWidth: 40,align:"center"}, //{ label: "",prop: "sn",minWidth: 40,align:"center"},
{ label: "项目类别",prop: "itemTypeId",minWidth: 120,align:"center"},
// { label: "",prop: "itemTypeId",minWidth: 120,align:"center"},
{ label: "诊断级别",prop: "diagnosisLevelId",minWidth: 60,align:"center"}, { label: "诊断级别",prop: "diagnosisLevelId",minWidth: 60,align:"center"},
{ label: "诊断名称",prop: "displayName",minWidth: 100,align:"center"}, { label: "诊断名称",prop: "displayName",minWidth: 100,align:"center"},
{ label: "建议名称",prop: "suggestionName",minWidth: 100,align:"center"}, { label: "建议名称",prop: "suggestionName",minWidth: 100,align:"center"},
@ -268,7 +269,7 @@ export default {
// //
mounted() { mounted() {
this.rowDrop('elTableDiagnosis') this.rowDrop('elTableDiagnosis')
this.btnQuery()
// this.btnQuery()
}, },
computed: { computed: {
@ -296,8 +297,18 @@ export default {
} }
}); });
this.allDiagnosis()
},
//
allDiagnosis(){
postapi('/api/app/diagnosis/getlistinsuggestion',{}).then(res =>{
if(res.code != -1){
this.diagnosisAll = res.data
this.quickTableData = res.data
}
})
}, },
// //
@ -314,19 +325,22 @@ export default {
if(lfind > -1) this.tableData[lfind] = Object.assign(this.tableData[lfind],this.form) if(lfind > -1) this.tableData[lfind] = Object.assign(this.tableData[lfind],this.form)
}, },
btnQuery(){
async btnQuery(){
let body = {} let body = {}
// if(this.query.itemTypeFlag && this.query.itemTypeId) body.itemTypeId = this.query.itemTypeId
if(this.query.itemTypeFlag && this.query.itemTypeId){
body.itemTypeId = this.query.itemTypeId
}else{
return
}
// if(this.query.keyWords) body.keyWords = this.query.keyWords // if(this.query.keyWords) body.keyWords = this.query.keyWords
postapi('/api/app/diagnosis/getlistinsuggestion',body).then(res =>{ postapi('/api/app/diagnosis/getlistinsuggestion',body).then(res =>{
if(res.code != -1){ if(res.code != -1){
this.tableData = res.data this.tableData = res.data
this.quickTableData = res.data
this.form = Object.assign({},this.formInit) this.form = Object.assign({},this.formInit)
} }
}) })
//console.log(this.query)
console.log('btnQuery')
}, },
// //
@ -334,7 +348,7 @@ export default {
//console.log('filterMethod',this.dict.asbItemQuick) //console.log('filterMethod',this.dict.asbItemQuick)
if (keyWords) { if (keyWords) {
this.quickTableData = []; this.quickTableData = [];
this.tableData.forEach(item => {
this.diagnosisAll.forEach(item => {
if (item.displayName.indexOf(keyWords) > - 1 if (item.displayName.indexOf(keyWords) > - 1
|| item.simpleCode.indexOf(keyWords.toUpperCase()) > - 1 || item.simpleCode.indexOf(keyWords.toUpperCase()) > - 1
|| item.suggestionName.indexOf(keyWords) > - 1) { || item.suggestionName.indexOf(keyWords) > - 1) {
@ -342,7 +356,7 @@ export default {
} }
}); });
} else { } else {
this.quickTableData = deepCopy(tableData);
this.quickTableData = deepCopy(this.diagnosisAll);
} }
}, },
@ -350,7 +364,18 @@ export default {
quickDiagnosis(v) { quickDiagnosis(v) {
// value-key value console.log('quickDiagnosis',v) // value-key value console.log('quickDiagnosis',v)
let lfind = -1 let lfind = -1
if (v.id) {
if(!v.itemTypeId) return
this.query.itemTypeId = v.itemTypeId
let body = {
itemTypeId:v.itemTypeId
}
postapi('/api/app/diagnosis/getlistinsuggestion',body).then(res =>{
if(res.code != -1){
this.tableData = res.data
this.form = Object.assign({},this.formInit)
lfind = arrayExistObj(this.tableData, 'id', v.id) lfind = arrayExistObj(this.tableData, 'id', v.id)
if (lfind > -1) { if (lfind > -1) {
this.$refs['elTable'].setCurrentRow(this.tableData[lfind]) this.$refs['elTable'].setCurrentRow(this.tableData[lfind])
@ -358,12 +383,14 @@ export default {
this.scrollToRow(lfind) this.scrollToRow(lfind)
} }
} }
})
//console.log('v,query.diagnosis',v,this.query.diagnosis) //console.log('v,query.diagnosis',v,this.query.diagnosis)
this.$refs['elSelectKeyWords'].focus(); //asbItemId this.$refs['elSelectKeyWords'].focus(); //asbItemId
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['elSelectKeyWords'].blur(); //total asbItemId this.$refs['elSelectKeyWords'].blur(); //total asbItemId
// this.query.keyWords = '' // this.query.keyWords = ''
this.quickTableData = deepCopy(this.tableData)
this.quickTableData = deepCopy(this.diagnosisAll)
this.$refs['elSelectKeyWords'].focus(); //total asbItemId this.$refs['elSelectKeyWords'].focus(); //total asbItemId
}); });
}, },
@ -408,11 +435,11 @@ export default {
this.form = deepCopy(row) this.form = deepCopy(row)
// //
if(typeof row.itemTypeId == 'string'){
this.query.itemTypeId = row.itemTypeId
}else{
this.query.itemTypeId = row.itemTypeId[row.itemTypeId.length - 1]
}
// if(typeof row.itemTypeId == 'string'){
// this.query.itemTypeId = row.itemTypeId
// }else{
// this.query.itemTypeId = row.itemTypeId[row.itemTypeId.length - 1]
// }
}, },
@ -525,6 +552,7 @@ export default {
this.rowClick(curRow) this.rowClick(curRow)
}) })
} }
this.allDiagnosis()
}, },
btnDel(){ btnDel(){
@ -546,6 +574,7 @@ export default {
let lfind = arrayExistObj(this.tableData,'id',this.form.id) let lfind = arrayExistObj(this.tableData,'id',this.form.id)
if(lfind > -1) this.tableData.splice(lfind,1) if(lfind > -1) this.tableData.splice(lfind,1)
this.form = deepCopy(this.formInit) this.form = deepCopy(this.formInit)
this.allDiagnosis()
} }
}).catch((err) => { }).catch((err) => {
if (err == "cancel") { if (err == "cancel") {
@ -573,7 +602,7 @@ export default {
handler(newVal,oldVal){ handler(newVal,oldVal){
// console.log('watch:patientRegisterNo:',newVal,oldVal) // console.log('watch:patientRegisterNo:',newVal,oldVal)
if(newVal != oldVal){ if(newVal != oldVal){
this.triggerScroll();
this.btnQuery();
} }
} }
}, },

12
src/views/diagnosis/diagnosisSug.vue

@ -7,7 +7,7 @@
<el-table-column type="index" label="序号" width="40" align="center"/> <el-table-column type="index" label="序号" width="40" align="center"/>
<el-table-column prop="suggestionContent" label="建议内容"> <el-table-column prop="suggestionContent" label="建议内容">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input type="textarea" v-model="scope.row.suggestionContent" placeholder="建议内容" style="width: 100%"
<el-input type="textarea" :id="scope.row.id" v-model="scope.row.suggestionContent" placeholder="建议内容" style="width: 100%"
:autosize="{ minRows: 1, maxRows: 100 }"> :autosize="{ minRows: 1, maxRows: 100 }">
</el-input> </el-input>
</template> </template>
@ -106,11 +106,19 @@ export default {
this.$message.warning("请先选择诊断记录!") this.$message.warning("请先选择诊断记录!")
return return
} }
let id = Math.random()
let rd = { let rd = {
id:Math.random(),
id:id,
suggestionContent:'' suggestionContent:''
} }
this.tableData.push(rd) this.tableData.push(rd)
this.$nextTick(()=>{
let el = document.getElementById(id)
console.log('el',id,el)
el.autofocus = true
el.focus()
})
}, },
btnSave(){ btnSave(){

Loading…
Cancel
Save