pengjun 2 years ago
parent
commit
ccc882d662
  1. 76
      src/components/occDisease/OccDisease.vue
  2. 2
      src/components/occDisease/OccDiseaseBase.vue
  3. 35
      src/components/occDisease/OccDiseaseHistory.vue
  4. 35
      src/components/occDisease/OccDiseasePoison.vue
  5. 28
      src/components/occDisease/OccDiseaseSymptom.vue
  6. 9
      src/components/report/BtnReport.vue
  7. 11
      src/components/sumDoctorCheck/ButtonList.vue

76
src/components/occDisease/OccDisease.vue

@ -5,7 +5,7 @@
<OccDiseaseBase /> <OccDiseaseBase />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="既往病史" name="1"> <el-tab-pane label="既往病史" name="1">
<OccDiseasePrevious/>
<OccDiseasePrevious />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="接害因素检查结论" name="2"> <el-tab-pane label="接害因素检查结论" name="2">
<OccDiseasePoison /> <OccDiseasePoison />
@ -21,7 +21,7 @@
<CheckDetails /> <CheckDetails />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="图文报告" name="6"> <el-tab-pane label="图文报告" name="6">
<ImageTextReport/>
<ImageTextReport />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="职业健康检查结论" name="7"> <el-tab-pane label="职业健康检查结论" name="7">
<OccDiseaseConclusion /> <OccDiseaseConclusion />
@ -74,8 +74,8 @@ export default {
}, },
// //
mounted() {
this.dictInit();
async mounted() {
await this.dictInit();
this.initOccDiseaseData() this.initOccDiseaseData()
@ -93,25 +93,31 @@ export default {
methods: { methods: {
// //
dictInit() {
//
postapi("/api/app/Poison/GetPoisonWithTypeList").then((res) => {
if (res.code > -1) {
this.dict.postion = res.data;
this.dict.postionList = []
this.dict.postion.forEach(e => {
e.poisonDtos.forEach(e2 => {
this.dict.postionList.push({
poisonTypeName: e.poisonTypeName,
id: e2.id,
displayName: e2.displayName,
simpleCode: e2.simpleCode
})
});
async dictInit() {
//
let res = await postapi("/api/app/Poison/GetPoisonWithTypeList")
if (res.code > -1) {
this.dict.postion = res.data;
this.dict.postionList = []
this.dict.postion.forEach(e => {
e.poisonDtos.forEach(e2 => {
this.dict.postionList.push({
poisonTypeName: e.poisonTypeName,
id: e2.id,
displayName: e2.displayName,
simpleCode: e2.simpleCode
})
}); });
}
});
});
}
// --
let res2 = await postapi("/api/app/Symptom/GetList")
if (res2.code > -1) {
this.dict.symptom = res2.data;
}
}, },
@ -125,9 +131,16 @@ export default {
this.dataTransOpts.tableM.patient_occupational_medical_history = deepCopy(res.data['patientOccupationalMedicalHistoryDtos']) this.dataTransOpts.tableM.patient_occupational_medical_history = deepCopy(res.data['patientOccupationalMedicalHistoryDtos'])
this.dataTransOpts.tableM.patient_poison = deepCopy(res.data['patientPoisonDtos']) this.dataTransOpts.tableM.patient_poison = deepCopy(res.data['patientPoisonDtos'])
this.dataTransOpts.tableM.patient_occupational_history = deepCopy(res.data['patientOccupationalHistoryDtos']) this.dataTransOpts.tableM.patient_occupational_history = deepCopy(res.data['patientOccupationalHistoryDtos'])
this.dataTransOpts.tableM.patient_symptom = deepCopy(res.data['patientSymptomDtos'])
if (Array.isArray(res.data['patientSymptomDtos']) && res.data['patientSymptomDtos'].length > 0) {
this.dataTransOpts.tableM.patient_symptom = deepCopy(res.data['patientSymptomDtos'])
} else {
this.dataTransOpts.tableM.patient_symptom = []
this.dict.symptom.forEach(e => {
this.dataTransOpts.tableM.patient_symptom.push({ symptomId: e.id, degree: '-' })
});
}
} }
})
})
}, },
btnTest() { btnTest() {
@ -156,12 +169,21 @@ export default {
}, },
// //
btnOk() {
btnOk() {
let message = ''
this.dataTransOpts.tableM.patient_poison.forEach((e, i) => {
if (!e.occupationalAbnormalId) message = `接害因素检查结论,第 ${i + 1} 行未下结论`
});
if (message) {
this.$message.warning({ showClose: true, message })
return
}
let body = { let body = {
patientRegisterId: this.dataTransOpts.tableS.patient_register.id, patientRegisterId: this.dataTransOpts.tableS.patient_register.id,
patientOccupationalDisease: this.dataTransOpts.tableS.patient_occupational_disease, patientOccupationalDisease: this.dataTransOpts.tableS.patient_occupational_disease,
patientPastMedicalHistorys: this.dataTransOpts.tableM.patient_past_medical_history, patientPastMedicalHistorys: this.dataTransOpts.tableM.patient_past_medical_history,
patientOccupationalMedicalHistorys:this.dataTransOpts.tableM.patient_occupational_medical_history,
patientOccupationalMedicalHistorys: this.dataTransOpts.tableM.patient_occupational_medical_history,
patientPoisons: this.dataTransOpts.tableM.patient_poison, patientPoisons: this.dataTransOpts.tableM.patient_poison,
patientOccupationalHistorys: this.dataTransOpts.tableM.patient_occupational_history, patientOccupationalHistorys: this.dataTransOpts.tableM.patient_occupational_history,
patientSymptoms: this.dataTransOpts.tableM.patient_symptom patientSymptoms: this.dataTransOpts.tableM.patient_symptom
@ -177,7 +199,7 @@ export default {
this.$message.warning({ showClose: true, message: res.message }) this.$message.warning({ showClose: true, message: res.message })
} }
}).then(res => { }).then(res => {
if(res && res.code > -1){
if (res && res.code > -1) {
this.dataTransOpts.plus.OccDisease++ this.dataTransOpts.plus.OccDisease++
} }
}) })

2
src/components/occDisease/OccDiseaseBase.vue

@ -28,7 +28,7 @@
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="接害因素" > <el-form-item label="接害因素" >
<el-input type="textarea" v-model="dataTransOpts.tableS.patient_occupational_disease.poisonFactors" size="small"
<el-input type="textarea" v-model="dataTransOpts.tableS.patient_occupational_disease.riskFactors" size="small"
:autosize="{ minRows: 1, maxRows: 10 }"></el-input> :autosize="{ minRows: 1, maxRows: 10 }"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>

35
src/components/occDisease/OccDiseaseHistory.vue

@ -2,36 +2,36 @@
<div> <div>
<el-table :data="dataTransOpts.tableM.patient_occupational_history" border height="465" row-key="id" size="small" <el-table :data="dataTransOpts.tableM.patient_occupational_history" border height="465" row-key="id" size="small"
highlight-current-row ref="contactMethod"> highlight-current-row ref="contactMethod">
<el-table-column prop="beginDate" label="开始日期" min-width="100">
<el-table-column prop="beginDate" label="开始日期" min-width="90">
<template slot-scope="scope"> <template slot-scope="scope">
<el-date-picker v-model="scope.row.beginDate" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" <el-date-picker v-model="scope.row.beginDate" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
placeholder="开始日期" size="small" style="width: 100%" /> placeholder="开始日期" size="small" style="width: 100%" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="endDate" label="结束日期" min-width="100">
<el-table-column prop="endDate" label="结束日期" min-width="90">
<template slot-scope="scope"> <template slot-scope="scope">
<el-date-picker v-model="scope.row.endDate" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" <el-date-picker v-model="scope.row.endDate" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
placeholder="结束日期" size="small" style="width: 100%" /> placeholder="结束日期" size="small" style="width: 100%" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="org" label="工作单位" min-width="200">
<el-table-column prop="org" label="工作单位" min-width="130">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.org" size="small" /> <el-input v-model="scope.row.org" size="small" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="workShop" label="车间" min-width="80">
<el-table-column prop="workShop" label="车间" min-width="60">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.workShop" size="small" /> <el-input v-model="scope.row.workShop" size="small" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="workType" label="工种" min-width="80">
<el-table-column prop="workType" label="工种" min-width="60">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.workType" size="small" /> <el-input v-model="scope.row.workType" size="small" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="poison" label="害因素" min-width="200">
<el-table-column prop="poison" label="害因素" min-width="130">
<template slot-scope="scope"> <template slot-scope="scope">
<el-select v-model="scope.row.poison" size="small" style="width:220px" clearable filterable
<el-select v-model="scope.row.poison" size="small" style="width:130px" clearable filterable
:filter-method="filterMethod"> :filter-method="filterMethod">
<el-option-group v-for="group in postion" :key="group.poisonTypeName" :label="group.poisonTypeName"> <el-option-group v-for="group in postion" :key="group.poisonTypeName" :label="group.poisonTypeName">
<el-option v-for="item in group.poisonDtos" :key="item.id" :label="item.displayName" :value="item.displayName" /> <el-option v-for="item in group.poisonDtos" :key="item.id" :label="item.displayName" :value="item.displayName" />
@ -39,7 +39,7 @@
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="protectiveMeasures" label="防护措施" min-width="200">
<el-table-column prop="protectiveMeasures" label="防护措施" min-width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<el-select v-model="scope.row.protectiveMeasures" size="small"> <el-select v-model="scope.row.protectiveMeasures" size="small">
<el-option v-for="item in protectiveMeasures" :key="item.id" :label="item.displayName" :value="item.displayName" /> <el-option v-for="item in protectiveMeasures" :key="item.id" :label="item.displayName" :value="item.displayName" />
@ -118,6 +118,25 @@ export default {
moment, checkPagePriv, moment, checkPagePriv,
dictInit() { dictInit() {
//
postapi("/api/app/Poison/GetPoisonWithTypeList").then(res => {
if (res.code > -1) {
this.dict.postion = res.data;
this.postion = res.data;
this.dict.postionList = []
this.dict.postion.forEach(e => {
e.poisonDtos.forEach(e2 => {
this.dict.postionList.push({
poisonTypeName: e.poisonTypeName,
id: e2.id,
displayName: e2.displayName,
simpleCode: e2.simpleCode
})
});
});
}
})
// //
postapi("/api/app/ProtectiveMeasures/GetList").then((res) => { postapi("/api/app/ProtectiveMeasures/GetList").then((res) => {
if (res.code > -1) { if (res.code > -1) {

35
src/components/occDisease/OccDiseasePoison.vue

@ -15,8 +15,8 @@
<el-table-column prop="occupationalAbnormalId" label="接害因素检查结论" min-width="130" align="center"> <el-table-column prop="occupationalAbnormalId" label="接害因素检查结论" min-width="130" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-select v-model="scope.row.occupationalAbnormalId" size="small" clearable filterable <el-select v-model="scope.row.occupationalAbnormalId" size="small" clearable filterable
:filter-method="filterMethod">
<el-option v-for="item in occupationalAbnormal" :key="item.id" :label="item.displayName" :value="item.id" />
:filter-method="filterMethod">
<el-option v-for="item in occupationalAbnormal" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
@ -68,7 +68,7 @@ export default {
] ]
} }
], // ], //
occupationalAbnormal:[], //
occupationalAbnormal: [], //
}; };
}, },
@ -76,15 +76,12 @@ export default {
// //
let userPriv = window.sessionStorage.getItem('userPriv') let userPriv = window.sessionStorage.getItem('userPriv')
if (userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName)) if (userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName))
}, },
// //
mounted() { mounted() {
this.dictInit()
this.$nextTick(() => {
this.postion = deepCopy(this.dict.postion)
})
this.dictInit()
}, },
computed: { computed: {
@ -96,6 +93,26 @@ export default {
// //
dictInit() { dictInit() {
//
postapi("/api/app/Poison/GetPoisonWithTypeList").then(res => {
if (res.code > -1) {
this.dict.postion = res.data;
this.postion = res.data;
this.dict.postionList = []
this.dict.postion.forEach(e => {
e.poisonDtos.forEach(e2 => {
this.dict.postionList.push({
poisonTypeName: e.poisonTypeName,
id: e2.id,
displayName: e2.displayName,
simpleCode: e2.simpleCode
})
});
});
}
})
// //
postapi("/api/app/OccupationalAbnormal/GetList").then((res) => { postapi("/api/app/OccupationalAbnormal/GetList").then((res) => {
if (res.code > -1) { if (res.code > -1) {
@ -105,7 +122,7 @@ export default {
}, },
filterMethod(v) { filterMethod(v) {
if (v) { if (v) {

28
src/components/occDisease/OccDiseaseSymptom.vue

@ -2,7 +2,8 @@
<div> <div>
<el-table :data="dataTransOpts.tableM.patient_symptom" border height="465" row-key="id" size="small" <el-table :data="dataTransOpts.tableM.patient_symptom" border height="465" row-key="id" size="small"
highlight-current-row ref="patientSymptom"> highlight-current-row ref="patientSymptom">
<el-table-column prop="symptomId" label="项目" min-width="200">
<el-table-column type="index" label="序号" width="40" align="center"/>
<el-table-column prop="symptomId" label="项目" min-width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<el-select v-model="scope.row.symptomId" size="small" clearable filterable :filter-method="filterMethod"> <el-select v-model="scope.row.symptomId" size="small" clearable filterable :filter-method="filterMethod">
<el-option v-for="item in symptom" :key="item.id" :label="item.displayName" :value="item.id" /> <el-option v-for="item in symptom" :key="item.id" :label="item.displayName" :value="item.id" />
@ -50,14 +51,14 @@ import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { getPagePriv, checkPagePriv, objCopy, deepCopy, arrayExistObj } from "../../utlis/proFunc"; import { getPagePriv, checkPagePriv, objCopy, deepCopy, arrayExistObj } from "../../utlis/proFunc";
export default { export default {
components: {}, components: {},
props: ["refFunc","patientRegisterId"],
props: ["refFunc", "patientRegisterId"],
data() { data() {
return { return {
pagePriv: { pagePriv: {
routeUrlorPageName: 'customerOrg', // routeUrlorPageName: 'customerOrg', //
privs: [] // privs: [] //
}, },
symptom:[]
symptom: []
}; };
}, },
@ -65,7 +66,7 @@ export default {
// //
let userPriv = window.sessionStorage.getItem('userPriv') let userPriv = window.sessionStorage.getItem('userPriv')
if (userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName)) if (userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName))
}, },
// //
@ -79,16 +80,15 @@ export default {
methods: { methods: {
moment, checkPagePriv, moment, checkPagePriv,
// //
dictInit() { dictInit() {
// -- // --
postapi("/api/app/Symptom/GetList").then((res) => {
postapi("/api/app/Symptom/GetList").then(res => {
if (res.code > -1) { if (res.code > -1) {
this.dict.symptom = res.data; this.dict.symptom = res.data;
this.symptom = res.data
this.symptom = res.data;
} }
});
})
}, },
filterMethod(v) { filterMethod(v) {
@ -96,10 +96,10 @@ export default {
let lv = v.toUpperCase() let lv = v.toUpperCase()
this.symptom = this.dict.symptom.filter(e => { this.symptom = this.dict.symptom.filter(e => {
return e.displayName.indexOf(lv) > -1 || e.simpleCode.indexOf(lv) > -1 return e.displayName.indexOf(lv) > -1 || e.simpleCode.indexOf(lv) > -1
})
})
} else { } else {
this.symptom = deepCopy(this.dict.symptom) this.symptom = deepCopy(this.dict.symptom)
}
}
}, },
// //
@ -122,12 +122,12 @@ export default {
// //
btnAdd() { btnAdd() {
console.log('this.dataTransOpts.tableM.patient_symptom',this.dataTransOpts.tableM.patient_symptom)
console.log('this.dataTransOpts.tableM.patient_symptom', this.dataTransOpts.tableM.patient_symptom)
this.dataTransOpts.tableM.patient_symptom.push({ this.dataTransOpts.tableM.patient_symptom.push({
patientRegisterId: this.patientRegisterId, patientRegisterId: this.patientRegisterId,
symptomId:'',
degree:'',
timeLength:''
symptomId: '',
degree: '',
timeLength: ''
}); });
}, },

9
src/components/report/BtnReport.vue

@ -113,7 +113,7 @@ export default {
this.elProgress.display = true; this.elProgress.display = true;
this.elProgress.percentage = 0; this.elProgress.percentage = 0;
let ReportCode = '0005';
let ReportCode = '0005';
let token = window.sessionStorage.getItem('token'); let token = window.sessionStorage.getItem('token');
let user = window.sessionStorage.getItem('user'); let user = window.sessionStorage.getItem('user');
let toOutShell = { let toOutShell = {
@ -179,6 +179,7 @@ export default {
///3a0c990e-5756-2dc0-19d5-69a617fe4048 ///3a0c990e-5756-2dc0-19d5-69a617fe4048
let ReportCode = '0005'; let ReportCode = '0005';
if(this.dataTransOpts.tableS.patient_register.isPatientOccupationalDisease == 'Y') ReportCode = '0006'
let token = window.sessionStorage.getItem('token'); let token = window.sessionStorage.getItem('token');
let user = window.sessionStorage.getItem('user'); let user = window.sessionStorage.getItem('user');
let toOutShell = { let toOutShell = {
@ -208,8 +209,10 @@ export default {
// let res = await postapi(`/api/app/printreport/getpeisreport?PatientRegisterId=${this.patientRegister.patientRegisterId}`) // let res = await postapi(`/api/app/printreport/getpeisreport?PatientRegisterId=${this.patientRegister.patientRegisterId}`)
// toOutShell.ReportTable = res.data // toOutShell.ReportTable = res.data
let JSONtoOutShell = JSON.stringify(toOutShell)
console.log('$peisAPI.printPre',JSONtoOutShell)
if (isPreview) { if (isPreview) {
this.$peisAPI.printPre(JSON.stringify(toOutShell))
this.$peisAPI.printPre(JSONtoOutShell)
.then(res => { .then(res => {
if (JSON.parse(res).code < 0) { if (JSON.parse(res).code < 0) {
this.$message.warning({ showClose: true, message: JSON.parse(res).message }); this.$message.warning({ showClose: true, message: JSON.parse(res).message });
@ -225,7 +228,7 @@ export default {
this.$message.warning({ showClose: true, message: '未总检或未审核,不可打印报告' }) this.$message.warning({ showClose: true, message: '未总检或未审核,不可打印报告' })
return return
} }
this.$peisAPI.print(JSON.stringify(toOutShell))
this.$peisAPI.print(JSONtoOutShell)
.then(res => { .then(res => {
if (JSON.parse(res).code < 0) { if (JSON.parse(res).code < 0) {
this.$message.warning({ showClose: true, message: JSON.parse(res).message }); this.$message.warning({ showClose: true, message: JSON.parse(res).message });

11
src/components/sumDoctorCheck/ButtonList.vue

@ -382,10 +382,14 @@ export default {
} }
///3a0c990e-5756-2dc0-19d5-69a617fe4048 ///3a0c990e-5756-2dc0-19d5-69a617fe4048
let ReportCode = '0005'; let ReportCode = '0005';
let BusinessCode = this.dataTransOpts.tableS.patient_register.id
if(this.dataTransOpts.tableS.patient_register.isPatientOccupationalDisease == 'Y') ReportCode = '0006'
let token = window.sessionStorage.getItem('token'); let token = window.sessionStorage.getItem('token');
let user = window.sessionStorage.getItem('user'); let user = window.sessionStorage.getItem('user');
let toOutShell = { let toOutShell = {
ReportCode, token,
ReportCode, token,BusinessCode,
isBuildImage: 'N', isBuildImage: 'N',
IsUploadPdf: 'N', IsUploadPdf: 'N',
preViewCanPrint: 'Y', preViewCanPrint: 'Y',
@ -416,8 +420,9 @@ export default {
// return this.$peisAPI.printPre(JSON.stringify(toOutShell)); // return this.$peisAPI.printPre(JSON.stringify(toOutShell));
// } // }
// }) // })
toOutShell.BusinessCode = this.dataTransOpts.tableS.patient_register.id
this.$peisAPI.printPre(JSON.stringify(toOutShell))
let JSONtoOutShell = JSON.stringify(toOutShell)
console.log('$peisAPI.printPre',JSONtoOutShell)
this.$peisAPI.printPre(JSONtoOutShell)
.then(res => { .then(res => {
if (res) { if (res) {
let lres = JSON.parse(res) let lres = JSON.parse(res)

Loading…
Cancel
Save