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

3
src/components/doctorCheck/CheckItemList.vue

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

3
src/components/doctorCheck/CheckPicture.vue

@ -586,7 +586,8 @@ 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,

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>

6
src/components/doctorCheck/PatientRegisterList.vue

@ -94,14 +94,14 @@
<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 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 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", {

72
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 :span="3">
<el-form-item label="性激素期" prop="sexHormoneTermId">
<el-select v-model="form.sexHormoneTermId" placeholder="请选择" filterable clearable size="small"
@ -192,14 +175,31 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="3" />
</el-row>
<el-row>
<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>
</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 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="medicalCardNo">
<el-input v-model="form.medicalCardNo" size="small"></el-input>
<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">
@ -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>

8
src/components/patientRegister/PatientRegisterList.vue

@ -432,12 +432,12 @@
<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>
<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>

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>

55
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>
@ -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,7 +975,7 @@ export default {
});
//this.form.preTotal = totalPlan;
//
this.handleBalance(totalPlan, totalCompute);
this.handleBalance(totalPlan, Math.round(100 * totalCompute) / 100);
this.findBalance()
},
@ -979,11 +983,20 @@ export default {
//
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,

Loading…
Cancel
Save