luobinjie 2 days ago
parent
commit
b6e2d00f44
  1. 5
      src/components/doctorCheck/CheckItemList.vue
  2. 5
      src/components/doctorCheck/CheckPicture.vue
  3. 8
      src/components/doctorCheck/CheckSumSug.vue
  4. 10
      src/components/doctorCheck/PatientRegisterList.vue
  5. 12
      src/components/doctorCheck/QueueCheckList.vue
  6. 74
      src/components/patientRegister/PatientRegisterEdit.vue
  7. 14
      src/components/patientRegister/PatientRegisterList.vue
  8. 6
      src/components/patientRegister/PatientRegisterRecoverList.vue
  9. 89
      src/views/charge/charge.vue

5
src/components/doctorCheck/CheckItemList.vue

@ -1219,10 +1219,7 @@ export default {
//
onContextmenuTemplate(event) {
if (!this.$peisAPI) return
let menus = [
{ type: 'separator' },
{ label: '显示明细历次结果', itemId: '显示明细历次结果', enabled: true },
{ label: '预览影像报告', itemId: '预览影像报告', enabled: true }
let menus = [
// { label: '', itemId: '', enabled: true },
// {
// label: '',

5
src/components/doctorCheck/CheckPicture.vue

@ -586,8 +586,9 @@ export default {
let fileName = item.FilePath
let dotIndex = fileName.lastIndexOf('\\');
if (dotIndex > -1) fileName = fileName.substring(dotIndex, fileName.length);
let pointIndex = fileName.lastIndexOf('.');
if (dotIndex > -1) fileName = Date.now() + fileName.substring(dotIndex + 1, pointIndex || fileName.length);
let body = {
registerCheckId: this.dataTransOpts.tableS.register_check.id,
pictureBaseStrs: [{

8
src/components/doctorCheck/CheckSumSug.vue

@ -72,19 +72,19 @@
<thead>
<tr height="30">
<td class="tdCellClass">项目</td>
<td class="tdCellClass">单位</td>
<td class="tdCellClass">参考范围</td>
<td class="tdCellClass">{{ doctorCheck.preResult.checkDate || '结果' }}</td>
<td class="tdCellClass">参考范围</td>
<td class="tdCellClass">单位</td>
</tr>
</thead>
<tbody>
<tr v-for="(item, index) of doctorCheck.preResult.registerCheckItems || []" :key="index" height="30">
<td class="tdCellClass" style="text-align: left;">{{ item.itemName }}</td>
<td class="tdCellClass">{{ item.unitName }}</td>
<td class="tdCellClass">{{ item.referenceRangeValue }}</td>
<td
:style="`padding: 0 5px;text-align:left;color: ${item.itemName == '小结' ? '#000000' : getColorStr(item.reportFontColor)};`"
v-html="item.resultValue"></td>
<td class="tdCellClass">{{ item.referenceRangeValue }}</td>
<td class="tdCellClass">{{ item.unitName }}</td>
</tr>
<tr height="30">
<td class="tdCellClass" style="text-align: left;">小结</td>

10
src/components/doctorCheck/PatientRegisterList.vue

@ -93,15 +93,15 @@
<!-- 人员列表 -->
<el-table :data="dataList" border width="100%" :height="tableHeight" row-key="id" size="small" highlight-current-row
@row-click="rowClick" @row-dblclick="rowDblclick" ref="info" id="info" style="border-radius:10px;">
<el-table-column type="index" label="序号" width="40" align="center" />
<el-table-column prop="patientName" label="姓名" width="80" sortable align="center" />
<el-table-column prop="sexName" label="性别" sortable align="center" />
<el-table-column prop="age" label="年龄" width="40" align="center" />
<el-table-column type="index" label="序号" width="40" align="center" />
<el-table-column prop="customerOrgParentName" label="单位" width="120" sortable show-overflow-tooltip>
<template slot-scope="scope">
<div>{{ scope.row.customerOrgParentName ? scope.row.customerOrgParentName : scope.row.customerOrgName }}</div>
</template>
</el-table-column>
</el-table-column>
<el-table-column prop="patientName" label="姓名" width="80" sortable align="center" />
<el-table-column prop="sexName" label="性别" sortable align="center" />
<el-table-column prop="age" label="年龄" width="40" align="center" />
<el-table-column prop="customerOrgName" label="部门" width="100" sortable show-overflow-tooltip>
<template slot-scope="scope">
<div>{{ scope.row.customerOrgParentName ? scope.row.customerOrgName : "" }}</div>

12
src/components/doctorCheck/QueueCheckList.vue

@ -353,12 +353,12 @@ export default {
// "patientRegisterId": "3a143cf9-0b1b-7765-a90a-b087c4aad1b9",
// "patientRegisterNo": "003485"
//
if (row.patientRegisterNo) {
this.dataTransOpts.tableS.patient_register.patientRegisterNo =
row.patientRegisterNo;
this.dataTransOpts.refresh.patient_register.S++;
}
// ()
// if (row.patientRegisterNo) {
// this.dataTransOpts.tableS.patient_register.patientRegisterNo =
// row.patientRegisterNo;
// this.dataTransOpts.refresh.patient_register.S++;
// }
if (row.queueRegisterId && completeFlag != "9") {
postapi("/api/app/QueueRegister/UpdateQueueRegisterStatus", {

74
src/components/patientRegister/PatientRegisterEdit.vue

@ -152,27 +152,10 @@
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="人员类别" prop="personnelTypeId">
<el-select v-model="form.personnelTypeId" placeholder="请选择" filterable clearable
:style="'width:' + Math.floor((window.pageWidth - 510) / 4.8) + 'px;'" size="small">
<el-option v-for="item in dict.personnelType" :key="item.id" :label="item.displayName"
:value="item.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="体检类别" prop="medicalTypeId">
<el-select v-model="form.medicalTypeId" placeholder="请选择" filterable clearable
:style="'width:' + Math.floor((window.pageWidth - 510) / 4.8) + 'px;'" size="small"
@change="changeMedicalTypeId">
<el-option v-for="item in dict.medicalType" :key="item.id" :label="item.displayName"
:value="item.id" />
</el-select>
<el-form-item label="体检卡号" prop="medicalCardNo">
<el-input v-model="form.medicalCardNo" size="small"></el-input>
</el-form-item>
</el-col>
<el-col :span="3" />
</el-row>
<el-row>
</el-col>
<el-col :span="3">
<el-form-item label="性激素期" prop="sexHormoneTermId">
<el-select v-model="form.sexHormoneTermId" placeholder="请选择" filterable clearable size="small"
@ -192,16 +175,33 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="3" />
</el-row>
<el-row>
<el-col :span="5">
<el-form-item label="工卡号" prop="jobCardNo">
<el-input v-model="form.jobCardNo" size="small"></el-input>
<el-form-item label="体检类别" prop="medicalTypeId">
<el-select v-model="form.medicalTypeId" placeholder="请选择" filterable clearable
:style="'width:' + Math.floor((window.pageWidth - 510) / 4.8) + 'px;'" size="small"
@change="changeMedicalTypeId">
<el-option v-for="item in dict.medicalType" :key="item.id" :label="item.displayName"
:value="item.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="体检卡号" prop="medicalCardNo">
<el-input v-model="form.medicalCardNo" size="small"></el-input>
<el-form-item label="人员类别" prop="personnelTypeId">
<el-select v-model="form.personnelTypeId" placeholder="请选择" filterable clearable
:style="'width:' + Math.floor((window.pageWidth - 510) / 4.8) + 'px;'" size="small">
<el-option v-for="item in dict.personnelType" :key="item.id" :label="item.displayName"
:value="item.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="工卡号" prop="jobCardNo">
<el-input v-model="form.jobCardNo" size="small"></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="职务" prop="jobPost">
<el-input v-model="form.jobPost" size="small"></el-input>
@ -539,53 +539,53 @@
<!--组件弹窗-->
<div>
<!-- 人员档案列表 -->
<el-dialog title="人员档案列表" :visible.sync="dialogVisible" width="800px" :show-close="false"
<el-dialog title="人员档案列表" :visible.sync="dialogVisible" width="900px" :show-close="false"
:close-on-click-modal="false" :append-to-body="true">
<el-table :data="patientList" border width="800" height="480" row-key="id" size="small"
class="el-table__body-wrapper tbody" highlight-current-row @row-click="rowick" @row-dblclick="patientDblclick"
ref="patientList">
<el-table-column type="index" width="30" />
<el-table-column prop="patientNo" label="档案号" />
<el-table-column prop="lastTime" label="末次体检" width="100">
<el-table-column type="index" width="30" align="center"/>
<el-table-column prop="patientNo" label="档案号" min-width="80" align="center"/>
<el-table-column prop="lastTime" label="末次体检" min-width="80" align="center">
<template slot-scope="scope">
<div v-if="scope.row.lastTime">
{{ moment(scope.row.lastTime).format("yyyy-MM-DD") }}
</div>
</template>
</el-table-column>
<el-table-column prop="medicalTimes" label="体检次数" />
<el-table-column prop="displayName" label="姓名" />
<el-table-column prop="sexId" label="性别">
<el-table-column prop="medicalTimes" label="体检次数" min-width="70" align="center"/>
<el-table-column prop="displayName" label="姓名" min-width="70" align="center"/>
<el-table-column prop="sexId" label="性别" min-width="50" align="center">
<template slot-scope="scope">
<div>
{{ dddw(dict.sex, "id", scope.row.sexId, "displayName") }}
</div>
</template>
</el-table-column>
<el-table-column prop="maritalStatusId" label="婚姻">
<el-table-column prop="maritalStatusId" label="婚姻" min-width="50" align="center">
<template slot-scope="scope">
<div>
{{ dddw(dict.maritalStatus, "id", scope.row.maritalStatusId, "displayName") }}
</div>
</template>
</el-table-column>
<el-table-column prop="birthDate" label="出生日期" width="100">
<el-table-column prop="birthDate" label="出生日期" min-width="80" align="center">
<template slot-scope="scope">
<div v-if="scope.row.birthDate">
{{ moment(scope.row.birthDate).format("yyyy-MM-DD") }}
</div>
</template>
</el-table-column>
<el-table-column prop="nationId" label="民族">
<el-table-column prop="nationId" label="民族" min-width="50" align="center">
<template slot-scope="scope">
<div>
{{ dddw(dict.nation, "id", scope.row.nationId, "displayName") }}
</div>
</template>
</el-table-column>
<el-table-column prop="idNo" label="身份证号" />
<el-table-column prop="telephone" label="电话" />
<el-table-column prop="mobileTelephone" label="手机号" />
<el-table-column prop="idNo" label="身份证号" min-width="150" align="center"/>
<el-table-column prop="mobileTelephone" label="手机号" min-width="110" align="center"/>
<el-table-column prop="telephone" label="电话" min-width="120" align="center"/>
</el-table>
<span slot="footer" class="dialog-footer">
<el-button class="commonbutton" @click="dialogVisible = false" style="width:90px;">取消</el-button>

14
src/components/patientRegister/PatientRegisterList.vue

@ -432,15 +432,15 @@
<img width="100%" :src="qrCode.personUrl">
<div style="font-size: 16px;">{{ qrCode.barcodeNo + ' ' + qrCode.patientName }}</div>
</el-dialog>
<el-dialog title="扫/输入条码回收体检表(指引单)" :visible.sync="dialogRecover" width="400" :append-to-body="true"
<!---->
<el-dialog title="扫/输入条码回收体检表(指引单)" :visible.sync="dialogRecover" width="400px" :append-to-body="true"
:close-on-click-modal="false">
<div class="query">
<span class="spanClass">条码号</span>
<el-input ref="tmh" v-model="patientRegisterNo" @change="signByPatientRegisterNo"></el-input>
<div class="query" >
<span class="spanClass">条码号</span> <!-- @change="signByPatientRegisterNo" -->
<el-input ref="tmh" v-model="patientRegisterNo" @keyup.native.enter="signByPatientRegisterNo"></el-input>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="signByPatientRegisterNo" class="commonbutton">确定</el-button>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="signByPatientRegisterNo" class="commonbutton">确定</el-button>
<el-button @click="dialogRecover = false" class="commonbutton">关闭</el-button>
</div>
</el-dialog>

6
src/components/patientRegister/PatientRegisterRecoverList.vue

@ -113,11 +113,11 @@
</download-excel>
</div> -->
</div>
<el-dialog title="扫/输入条码回收体检表(指引单)" :visible.sync="dialogVisible" width="400" :append-to-body="true"
<el-dialog title="扫/输入条码回收体检表(指引单)" :visible.sync="dialogVisible" width="400px" :append-to-body="true"
:close-on-click-modal="false">
<div class="query">
<span class="spanClass">条码号</span>
<el-input ref="tmh" v-model="patientRegisterNo" @change="signByPatientRegisterNo"></el-input>
<span class="spanClass">条码号</span> <!-- @change="signByPatientRegisterNo" -->
<el-input ref="tmh" v-model="patientRegisterNo" @keyup.native.enter="signByPatientRegisterNo"></el-input>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="signByPatientRegisterNo" class="commonbutton">确定</el-button>

89
src/views/charge/charge.vue

@ -37,15 +37,16 @@
<el-input placeholder="姓名" v-model="query.patientName" size="small" style="width: 100px;"
clearable />
</div>
<el-radio-group v-model="query.chargeFlag" @input="btnQuery" size="mini" style="margin-top:8px;margin-left: 21px;">
<el-radio-group v-model="query.chargeFlag" @input="btnQuery" size="mini"
style="margin-top:8px;margin-left: 21px;">
<el-radio label="N">未收费</el-radio>
<el-radio label="Y">已收费</el-radio>
<el-radio label="B">已退费</el-radio>
</el-radio-group>
<div v-if="query.chargeFlag != 'N'" style="margin-left:21px;">
<span>发票号</span>
<el-input placeholder="发票/收据号" v-model="query.invoiceNo" size="small"
style="width: 90px;" clearable />
<el-input placeholder="发票/收据号" v-model="query.invoiceNo" size="small" style="width: 90px;"
clearable />
</div>
</div>
<div>
@ -117,18 +118,16 @@
<div style="display: flex; flex-wrap: wrap;height:40px; width: 100%;align-items: center;">
<div class="query">
<span>条码号</span>
<el-input v-model="info.patientRegisterNo" size="small"
style="margin-left: 3px; width: 120px;" disabled />
<el-input v-model="info.patientRegisterNo" size="small" style="margin-left: 3px; width: 120px;"
disabled />
</div>
<div class="query">
<span>档案号</span>
<el-input v-model="info.patientNo" size="small"
style="margin-left: 3px; width: 90px;" disabled />
<el-input v-model="info.patientNo" size="small" style="margin-left: 3px; width: 90px;" disabled />
</div>
<div class="query">
<span>姓名</span>
<el-input v-model="info.patientName" size="small"
style="margin-left: 3px; width: 80px;" disabled />
<el-input v-model="info.patientName" size="small" style="margin-left: 3px; width: 80px;" disabled />
</div>
</div>
</div>
@ -392,10 +391,10 @@ export default {
patientName: '',
},//
info:{
info: {
patientRegisterNo: '',
patientNo: '',
patientName:''
patientName: ''
},
patientList: [],//
@ -484,13 +483,13 @@ export default {
//
mounted() {
this.enterToQuery()
if (this.patientRegisterNo){
if (this.patientRegisterNo) {
this.query.patientRegisterNo = this.patientRegisterNo
this.query.chargeFlag = 'N'
this.query.chargeFlag = 'N'
}
this.btnQuery();
this.btnQuery();
},
@ -549,24 +548,24 @@ export default {
//console.log('query', this.query);
if(this.query.patientRegisterNo){
if (this.query.patientRegisterNo) {
body = { patientRegisterNo: this.query.patientRegisterNo };
}else if(this.query.patientNo){
} else if (this.query.patientNo) {
body = { patientNo: this.query.patientNo };
}else if(this.query.invoiceNo && this.query.chargeFlag != 'N'){
} else if (this.query.invoiceNo && this.query.chargeFlag != 'N') {
body = { invoiceNo: this.query.invoiceNo };
}else{
} else {
if (this.query.startDate && this.query.endDate) {
body.startDate = moment(this.query.startDate).format("yyyy-MM-DD")
body.endDate = moment(this.query.endDate).format("yyyy-MM-DD")
body.endDate = moment(this.query.endDate).format("yyyy-MM-DD")
if (body.startDate > body.endDate) {
this.$message.warning("起始日期不能大于截止日期,数据校验不通过!")
return
}
if(this.query.patientName) body.patientName = this.query.patientName
if (this.query.patientName) body.patientName = this.query.patientName
}
}
switch (this.query.chargeFlag) {
case 'Y':
//
@ -747,6 +746,7 @@ export default {
this.cardSeq = index
this.cardDatas = [] //
this.queryCard.value = ''
this.cardChoosed = {}
this.winDialog.queryCard = true //
},
@ -778,6 +778,10 @@ export default {
//
btnOkCard() {
if(!this.cardChoosed.id){
this.$message.warning({showClose:true,message:'请选择会员卡'})
return
}
//
let lfind = arrayExistObj(this.chargePays, 'cardRegisterId', this.cardChoosed.id)
if (lfind > -1) {
@ -971,19 +975,28 @@ export default {
});
//this.form.preTotal = totalPlan;
//
this.handleBalance(totalPlan, totalCompute);
this.handleBalance(totalPlan, Math.round(100 * totalCompute) / 100);
this.findBalance()
},
//
//
handleBalance(totalPlan, totalCompute) {
if (totalPlan != totalCompute) {
for (let i = this.selectedData.length - 1; i = 0; i--) {
lfind = lfind = arrayExistObj(this.asbItemsForFee, 'id', this.selectedData[i].id);
if (lfind > -1 && this.selectedData[i].amount == 1) {
this.asbItemsForFee[lfind].chargePrice = this.asbItemsForFee[lfind].chargePrice + totalPlan - totalCompute;
this.selectedData[i].chargePrice = this.asbItemsForFee[lfind].chargePrice;
//console.log('', totalPlan, totalCompute, this.selectedData)
for (let i = this.selectedData.length - 1; i >= 0; i--) {
// lfind = arrayExistObj(this.asbItemsForFee, 'id', this.selectedData[i].id);
// if (lfind > -1 && this.selectedData[i].amount == 1) {
// this.asbItemsForFee[lfind].chargePrice = this.asbItemsForFee[lfind].chargePrice + totalPlan - totalCompute;
// this.selectedData[i].chargePrice = this.asbItemsForFee[lfind].chargePrice;
// break;
// }
//console.log('this.selectedData[i].amount', this.selectedData[i].amount)
if (this.selectedData[i].amount == 1) {
let chargePrice = this.selectedData[i].chargePrice
this.selectedData[i].chargePrice = Math.round((Number(chargePrice) + Number(totalPlan) - totalCompute)*100)/100 ;
this.selectedData[i].discount = Math.round(this.selectedData[i].chargePrice * 10000/this.selectedData[i].standardPrice)/100
//console.log(' ', i, chargePrice, this.selectedData[i].chargePrice)
break;
}
}
@ -1111,7 +1124,7 @@ export default {
this.$message.warning("收费方式合计收款不可小于应收金额!");
return;
}
let chargeMoney = 0
this.chargePays.forEach(e => {
if (e.chargeMoney) {
if (e.payModeId == '01') {
@ -1128,9 +1141,12 @@ export default {
cardRegisterId: e.cardRegisterId,
});
}
chargeMoney += e.chargeMoney
}
});
let detailsTotal = 0
this.selectedData.forEach(e => {
asbitems.push({
asbitemId: e.asbitemId,
@ -1138,8 +1154,15 @@ export default {
amount: e.amount,
registerAsbitemId: e.id,
});
detailsTotal += Math.round(100 * e.amount * e.chargePrice) / 100
});
if (Math.round(chargeMoney * 100) / 100 !== Math.round(detailsTotal * 100) / 100) {
this.$message.warning({ showClose: true, message: `明细合计 ${Math.round(detailsTotal * 100) / 100} 与 总金额 ${Math.round(chargeMoney * 100) / 100} 不一致` })
return
}
body = {
patientRegisterId: this.form.patientRegisterId,
invoiceNo: this.form.invoiceNo,
@ -1178,7 +1201,7 @@ export default {
cancelButtonText: "否",
type: "warning",
}).then(() => {
this.chargePrint('0007', false, res.data.chargeId)
this.chargePrint('0007', false, res.data.chargeId)
setTimeout(() => {
this.btnQuery();
}, 1000)
@ -1582,7 +1605,7 @@ export default {
//immediate: true, //
// // deep: true, //
handler(newVal, oldVal) {
console.log(`watch: 收费 newVal: ${newVal}, oldVal: ${oldVal}, 人员条码号: `, this.patientRegisterNo)
console.log(`watch: 收费 newVal: ${newVal}, oldVal: ${oldVal}, 人员条码号: `, this.patientRegisterNo)
this.query.patientRegisterNo = this.patientRegisterNo
this.query.chargeFlag = 'N'
this.btnQuery()

Loading…
Cancel
Save