pengjun 1 year 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 />
</el-tab-pane>
<el-tab-pane label="既往病史" name="1">
<OccDiseasePrevious/>
<OccDiseasePrevious />
</el-tab-pane>
<el-tab-pane label="接害因素检查结论" name="2">
<OccDiseasePoison />
@ -21,7 +21,7 @@
<CheckDetails />
</el-tab-pane>
<el-tab-pane label="图文报告" name="6">
<ImageTextReport/>
<ImageTextReport />
</el-tab-pane>
<el-tab-pane label="职业健康检查结论" name="7">
<OccDiseaseConclusion />
@ -74,8 +74,8 @@ export default {
},
//
mounted() {
this.dictInit();
async mounted() {
await this.dictInit();
this.initOccDiseaseData()
@ -93,25 +93,31 @@ export default {
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_poison = deepCopy(res.data['patientPoisonDtos'])
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() {
@ -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 = {
patientRegisterId: this.dataTransOpts.tableS.patient_register.id,
patientOccupationalDisease: this.dataTransOpts.tableS.patient_occupational_disease,
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,
patientOccupationalHistorys: this.dataTransOpts.tableM.patient_occupational_history,
patientSymptoms: this.dataTransOpts.tableM.patient_symptom
@ -177,7 +199,7 @@ export default {
this.$message.warning({ showClose: true, message: res.message })
}
}).then(res => {
if(res && res.code > -1){
if (res && res.code > -1) {
this.dataTransOpts.plus.OccDisease++
}
})

2
src/components/occDisease/OccDiseaseBase.vue

@ -28,7 +28,7 @@
<el-row>
<el-col :span="24">
<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>
</el-form-item>
</el-col>

35
src/components/occDisease/OccDiseaseHistory.vue

@ -2,36 +2,36 @@
<div>
<el-table :data="dataTransOpts.tableM.patient_occupational_history" border height="465" row-key="id" size="small"
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">
<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%" />
</template>
</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">
<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%" />
</template>
</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">
<el-input v-model="scope.row.org" size="small" />
</template>
</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">
<el-input v-model="scope.row.workShop" size="small" />
</template>
</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">
<el-input v-model="scope.row.workType" size="small" />
</template>
</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">
<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">
<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" />
@ -39,7 +39,7 @@
</el-select>
</template>
</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">
<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" />
@ -118,6 +118,25 @@ export default {
moment, checkPagePriv,
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) => {
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">
<template slot-scope="scope">
<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>
</template>
</el-table-column>
@ -68,7 +68,7 @@ export default {
]
}
], //
occupationalAbnormal:[], //
occupationalAbnormal: [], //
};
},
@ -76,15 +76,12 @@ export default {
//
let userPriv = window.sessionStorage.getItem('userPriv')
if (userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName))
},
//
mounted() {
this.dictInit()
this.$nextTick(() => {
this.postion = deepCopy(this.dict.postion)
})
this.dictInit()
},
computed: {
@ -96,6 +93,26 @@ export default {
//
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) => {
if (res.code > -1) {
@ -105,7 +122,7 @@ export default {
},
filterMethod(v) {
if (v) {

28
src/components/occDisease/OccDiseaseSymptom.vue

@ -2,7 +2,8 @@
<div>
<el-table :data="dataTransOpts.tableM.patient_symptom" border height="465" row-key="id" size="small"
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">
<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" />
@ -50,14 +51,14 @@ import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { getPagePriv, checkPagePriv, objCopy, deepCopy, arrayExistObj } from "../../utlis/proFunc";
export default {
components: {},
props: ["refFunc","patientRegisterId"],
props: ["refFunc", "patientRegisterId"],
data() {
return {
pagePriv: {
routeUrlorPageName: 'customerOrg', //
privs: [] //
},
symptom:[]
symptom: []
};
},
@ -65,7 +66,7 @@ export default {
//
let userPriv = window.sessionStorage.getItem('userPriv')
if (userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName))
},
//
@ -79,16 +80,15 @@ export default {
methods: {
moment, checkPagePriv,
//
dictInit() {
// --
postapi("/api/app/Symptom/GetList").then((res) => {
postapi("/api/app/Symptom/GetList").then(res => {
if (res.code > -1) {
this.dict.symptom = res.data;
this.symptom = res.data
this.symptom = res.data;
}
});
})
},
filterMethod(v) {
@ -96,10 +96,10 @@ export default {
let lv = v.toUpperCase()
this.symptom = this.dict.symptom.filter(e => {
return e.displayName.indexOf(lv) > -1 || e.simpleCode.indexOf(lv) > -1
})
})
} else {
this.symptom = deepCopy(this.dict.symptom)
}
}
},
//
@ -122,12 +122,12 @@ export default {
//
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({
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.percentage = 0;
let ReportCode = '0005';
let ReportCode = '0005';
let token = window.sessionStorage.getItem('token');
let user = window.sessionStorage.getItem('user');
let toOutShell = {
@ -179,6 +179,7 @@ export default {
///3a0c990e-5756-2dc0-19d5-69a617fe4048
let ReportCode = '0005';
if(this.dataTransOpts.tableS.patient_register.isPatientOccupationalDisease == 'Y') ReportCode = '0006'
let token = window.sessionStorage.getItem('token');
let user = window.sessionStorage.getItem('user');
let toOutShell = {
@ -208,8 +209,10 @@ export default {
// let res = await postapi(`/api/app/printreport/getpeisreport?PatientRegisterId=${this.patientRegister.patientRegisterId}`)
// toOutShell.ReportTable = res.data
let JSONtoOutShell = JSON.stringify(toOutShell)
console.log('$peisAPI.printPre',JSONtoOutShell)
if (isPreview) {
this.$peisAPI.printPre(JSON.stringify(toOutShell))
this.$peisAPI.printPre(JSONtoOutShell)
.then(res => {
if (JSON.parse(res).code < 0) {
this.$message.warning({ showClose: true, message: JSON.parse(res).message });
@ -225,7 +228,7 @@ export default {
this.$message.warning({ showClose: true, message: '未总检或未审核,不可打印报告' })
return
}
this.$peisAPI.print(JSON.stringify(toOutShell))
this.$peisAPI.print(JSONtoOutShell)
.then(res => {
if (JSON.parse(res).code < 0) {
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
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 user = window.sessionStorage.getItem('user');
let toOutShell = {
ReportCode, token,
ReportCode, token,BusinessCode,
isBuildImage: 'N',
IsUploadPdf: 'N',
preViewCanPrint: 'Y',
@ -416,8 +420,9 @@ export default {
// 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 => {
if (res) {
let lres = JSON.parse(res)

Loading…
Cancel
Save