Browse Source

pacs

master
pengjun 11 months ago
parent
commit
43d0294bd5
  1. 6
      src/router/index.js
  2. 328
      src/views/lis/pacsRequest.vue

6
src/router/index.js

@ -525,6 +525,12 @@ const routes = [{
component: () =>
import ("../views/lis/LisTakeSample.vue"),
},
{
path: "/pacsRequest",
name: "pacs申请",
component: () =>
import ("../views/lis/pacsRequest.vue"),
},
//---------------------- 体 检 end ----------------------
//---------------------- 体检查询 start ----------------------
{

328
src/views/lis/pacsRequest.vue

@ -0,0 +1,328 @@
<template>
<div style="font-size: 14px;display: flex; width: 100%;">
<div style="display: flex;">
<div :style="`display: block; width: ${window.pageWidth - 10}px;`">
<!-- 查询条件 与列表 -->
<div
:style="'display: flex;flex-wrap: wrap;height: 40px;background-color: #fff;border-radius: 8px;margin-bottom: 5px;align-items: center;padding: 10px;width:' + (window.pageWidth - 40) + 'px;'">
<div class="query">
<span class="spanClass">条码号</span>
<el-input placeholder="条码号" v-model="query.patientRegisterNo" size="small" clearable style="width: 120px" />
</div>
</div>
<div :style="`height: ${window.pageHeight - 130}px;`"></div>
<!-- 人员列表 -->
<div v-if="false" style="padding: 10px 0 0 0;border-radius: 8px;background-color: #fff;">
<el-table :data="patientList" border highlight-current-row ref="patientList"
:height="Math.floor(tableListHeight / 2)" @row-click="rowClick" size="small">
<el-table-column type="index" label="序号" width="40" align="center" />
<el-table-column prop="chargeSumMoney" label="金额" width="80" align="center" />
<el-table-column prop="patientName" label="姓名" />
<el-table-column prop="sexId" label="性别" width="40" />
<el-table-column prop="age" label="年龄" width="40" />
<el-table-column prop="patientRegisterNo" label="条码号" width="150" />
<el-table-column prop="patientNo" label="档案号" />
<el-table-column prop="medicalTimes" label="体检次数" />
<el-table-column prop="isVip" label="是否VIP">
<template slot-scope="scope">
<div>{{ scope.row.isVip == "Y" ? "是" : "否" }}</div>
</template>
</el-table-column>
<el-table-column prop="salesman" label="介绍人" />
<!--
<el-table-column prop="invoiceNo" label="发票号" />
<el-table-column prop="invoiceOrgName" label="发票抬头" />
<el-table-column prop="chargeId" label="介绍人" />
<el-table-column prop="chargeBackId" label="介绍人" />
-->
<el-table-column prop="email" label="邮箱" width="180" />
<el-table-column prop="idNo" label="身份证" width="150" />
<el-table-column prop="mobileTelephone" label="手机" width="100" />
<el-table-column prop="telephone" label="电话" width="100" />
<el-table-column prop="address" label="地址" width="300" />
</el-table>
</div>
<!-- 项目收费列表 -->
<div v-if="false" style="padding: 10px 0 5px 0;border-radius: 8px;background-color: #fff;">
<el-table :data="details" border highlight-current-row :height="Math.floor(tableListHeight / 2) - 10"
size="small">
<el-table-column label="序号" width="40" type="index" align="center" />
<el-table-column label="组合项目" width="240" prop="asbitemName" />
<el-table-column label="标准价格" prop="standardPrice" width="80" align="center" />
<el-table-column label="折扣" prop="discount" width="80" align="center" />
<el-table-column label="数量" prop="amount" width="50" align="center" />
<el-table-column label="实收价格" prop="chargePrice" width="80" align="center" />
<el-table-column prop="total" label="金额" width="70" v-if="false" />
<el-table-column prop="standardPrice" label="标准金额" width="80" v-if="false" />
</el-table>
</div>
</div>
<!--
<div style="margin-left:10px;" class="btnDivClass">
<div class="btnListClass">
<el-button type="primary" class="commonbutton" @click="Query">查询</el-button>
</div>
</div>
-->
</div>
</div>
</template>
<script>
import moment from 'moment';
import { mapState, mapActions } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { tcdate, dddw, arrayExistObj, deepCopy } from "../../utlis/proFunc";
export default {
components: {
},
data() {
return {
activeName: "peis",
query: {
dateType: '1', // 1 2 3
startDate: null,
endDate: null,
patientRegisterNo: '',
patientNo: '',
invoiceNo: '', //
patientName: '',
idNo: "", //
},//
patientList: [],//
curPatient: {}, //
details: [], //
LocalConfig: {
doctorCheck: { //
scheduledAet: '', //scheduledAet
},
lisLab: { //
specimens: [], //
}
},
};
},
created() {
this.dictInit();
},
//
mounted() {
this.enterToQuery()
},
computed: {
...mapState(["pickerOptions", "window", "dict", "dataTransOpts", "patientRegister", "customerOrg"]),
tableListHeight() {
let tempH = this.window.pageHeight < 600 ? 600 : this.window.pageHeight
return tempH - 175 - 30
},
bodyWidth() {
let tempW = this.window.pageWidth < 600 ? 600 : this.window.pageWidth
return tempW - 110 - 25
}
},
methods: {
...mapActions(["getCustomerOrgGroup"]),
dddw, moment,
//
Query() {
let loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
this.query.startDate = moment(this.query.startDate).format("yyyy-MM-DD");
this.query.endDate = moment(this.query.endDate).format("yyyy-MM-DD");
postapi('/api/app/AppointPatientRegister/GerAppointPatientRegisterWithAsbitemList', this.query)
.then(res => {
if (res.code > -1) {
this.patientList = res.data
if (this.patientList.length > 0) {
this.rowClick(this.patientList[0])
this.$refs['patientList'].setCurrentRow(this.patientList[0])
}
}
})
.finally(() => {
loading.close();
})
},
//
rowClick(row) {
this.curPatient = row
this.details = row.appointRegisterAsbitemDetail
},
//
dictInit() {
this.formInit = Object.assign({}, this.form)
this.query.startDate = new Date()
this.query.endDate = this.query.startDate
let LocalConfigStr = window.localStorage.getItem("LocalConfig") || null
if (LocalConfigStr) {
try {
let LocalConfig = JSON.parse(LocalConfigStr)
if(LocalConfig?.doctorCheck?.scheduledAet) this.LocalConfig.doctorCheck.scheduledAet = LocalConfig.doctorCheck.scheduledAet
if (LocalConfig?.lisLab?.specimens) this.LocalConfig.lisLab.specimens = LocalConfig.lisLab.specimens
} catch (error) {
console.log('error', error)
}
}
},
//
enterToQuery() {
// console.log('enterToTab');
this.$nextTick(() => {
let inputs = document.querySelectorAll(["input"]); // //.inline-input
//
inputs.forEach((input, i) => {
// console.log('input',input);
input.addEventListener('keydown', (event) => {
if (event.keyCode === 13) {
//
event.preventDefault();
//
// console.log(input.getAttribute('placeholder'),input.value)
let placeholder = input.getAttribute('placeholder')
switch (placeholder) {
case '条码号':
//
this.pacsRequest(input.value)
.then(() => { })
.catch(err => {
console.log('pacsRequest.err', err)
})
.finally(() => {
input.select()
})
break;
case '检查条码':
if (input.value) this.onQueryByPacsNo(input.value)
input.select()
break;
case '检验条码':
if (input.value) this.onQueryByLisNo(input.value)
input.select()
break;
}
}
});
input.addEventListener('click', (event) => {
let placeholder = input.getAttribute('placeholder')
switch (placeholder) {
case '条码号':
input.select()
break;
}
});
});
});
},
// pacsDCM-Worklist
pacsRequest(checkRequestNo) {
return new Promise((resolve, reject) => {
let body = {
scheduledAet: this.LocalConfig.doctorCheck.scheduledAet,
checkRequestNo
}
postapi('/api/app/Worklist/CreateRegisterCheckWorklist', body)
.then(res => {
if (res.code > -1) {
resolve(res.data)
} else {
reject(res.message)
}
})
.catch(err => {
reject(err)
})
})
}
},
//()
watch: {
// "dataTransOpts.refresh.charge.S": {
// immediate: true, //
// // // deep: true, //
// handler(newVal, oldVal) {
// console.log(`watch: newVal: ${newVal}, oldVal: ${oldVal}, : `, this.patientRegisterNo)
// this.query.patientRegisterNo = this.patientRegisterNo
// this.Query("patientRegisterNo")
// }
// },
},
};
</script>
<style scoped>
@import '../../assets/css/global_button.css';
@import '../../assets/css/global_card.css';
@import '../../assets/css/global_dialog.css';
@import '../../assets/css/global_form.css';
@import '../../assets/css/global_input.css';
@import '../../assets/css/global_table.css';
@import '../../assets/css/global.css';
.query {
margin-left: 5px;
font-size: 14px;
color: #232748;
font-weight: 400;
font-family: "NotoSansSC-Regular";
}
.btnDivClass {
display: block;
width: 100px;
margin-left: 10px;
}
.btnListClass {
margin-top: 10px;
}
.btnClass {
width: 100px;
}
:deep .el-form-item--mini.el-form-item,
.el-form-item--small.el-form-item {
margin-bottom: 10px;
}
</style>
Loading…
Cancel
Save