You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
266 lines
8.6 KiB
266 lines
8.6 KiB
<template>
|
|
<div style="margin-top: -10px;">
|
|
<div>
|
|
<el-tabs v-model="tabChoosed" style="margin-top: 0px;">
|
|
<el-tab-pane label="待发申请检查项目" name="1">
|
|
<el-table :data="tableDataReq0" border style="width: 100%" row-key="id" height="450" highlight-current-row
|
|
size="small" @selection-change="handleSelectionChange" :row-style="{ height: '25px' }">
|
|
<el-table-column type="selection" align="center" width="40" />
|
|
<el-table-column type="index" label="序号" align="center" width="40" />
|
|
<el-table-column label="检查ID" min-width="320" prop="registerCheckId"></el-table-column>
|
|
<el-table-column label="组合项目" min-width="150" prop="asbitemName"></el-table-column>
|
|
<el-table-column label="申请号" min-width="120" prop="checkRequestNo"></el-table-column>
|
|
<el-table-column prop="execFlag" label="状态" min-width="70" align="center" />
|
|
</el-table>
|
|
</el-tab-pane>
|
|
<el-tab-pane label="已发申请检查项目" name="2">
|
|
<el-table :data="tableDataReq1" border style="width: 100%" row-key="id" height="450" highlight-current-row
|
|
size="small" @row-click="rowClick" :row-style="{ height: '25px' }">
|
|
<el-table-column type="index" label="序号" align="center" width="40" />
|
|
<el-table-column label="检查ID" min-width="320" prop="registerCheckId"></el-table-column>
|
|
<el-table-column label="组合项目" min-width="150" prop="asbitemName"></el-table-column>
|
|
<el-table-column label="申请号" min-width="120" prop="checkRequestNo"></el-table-column>
|
|
<el-table-column prop="execFlag" label="状态" min-width="70" align="center" />
|
|
<el-table-column label="操作" width="50" align="center">
|
|
<template slot-scope="scope">
|
|
<el-dropdown>
|
|
<span>
|
|
<i class="el-icon-s-operation" style="font-size: 24px;color: blue;cursor:pointer;"></i>
|
|
</span>
|
|
<el-dropdown-menu slot="dropdown">
|
|
<el-dropdown-item @click.native="cancelRequest(scope.row)"
|
|
:disabled="setBtnDisabled(scope.row, 'cancel')">撤消申请</el-dropdown-item>
|
|
<!--
|
|
<el-dropdown-item @click.native="refreshRequest(scope.row)">刷新状态</el-dropdown-item>
|
|
<el-dropdown-item @click.native="chargeBack(scope.row)"
|
|
:disabled="setBtnDisabled(scope.row, 'chargeBack')">退费申请</el-dropdown-item>
|
|
-->
|
|
</el-dropdown-menu>
|
|
</el-dropdown>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-tab-pane>
|
|
</el-tabs>
|
|
</div>
|
|
<!-- 按钮区域 -->
|
|
<div style="display: flex; margin-top: 10px; justify-content: space-between;">
|
|
<div></div>
|
|
<div style="display: flex;">
|
|
<div style="margin-left: 10px">
|
|
<el-button class="commonbutton" @click="btnRefresh">刷新</el-button>
|
|
</div>
|
|
<div style="margin-left: 10px" v-show="tabChoosed == '1'">
|
|
<el-button class="commonbutton" @click="btnSubmit">检查申请</el-button>
|
|
</div>
|
|
<div style="margin-left: 10px">
|
|
<el-button class="commonbutton" @click="dialogWin.ThirdPacsRequest = false">关闭</el-button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import { mapState } from "vuex";
|
|
import { getapi, postapi, putapi, deletapi } from "@/api/api";
|
|
import { dddw, arrayExistObj, deepCopy } from "../../utlis/proFunc";
|
|
|
|
// import
|
|
export default {
|
|
props: ["refParams"],
|
|
data() {
|
|
return {
|
|
tabChoosed: '1',
|
|
tableDataReq0: [], //组合项目数据 过滤后显示的数据
|
|
selectedData: [], //选中的组合项目
|
|
tableDataReq1: [], //检查申请单
|
|
tableDataReq1Details: [], //检查申请单明细
|
|
};
|
|
},
|
|
|
|
created() {
|
|
|
|
},
|
|
|
|
mounted() {
|
|
this.initData(this.refParams.patientRegisterId);
|
|
},
|
|
computed: {
|
|
...mapState(["dict", "dataTransOpts", "dialogWin"]),
|
|
},
|
|
methods: {
|
|
|
|
initData(patientRegisterId) {
|
|
this.tableDataReq0 = []
|
|
this.tableDataReq1 = []
|
|
this.tableDataReq1Details = []
|
|
if (!patientRegisterId) return
|
|
|
|
//待发申请 检查项目
|
|
this.asbList(patientRegisterId)
|
|
|
|
// 检查申请单
|
|
this.requestList(patientRegisterId)
|
|
},
|
|
|
|
// 待检查项目
|
|
asbList(patientRegisterId) {
|
|
this.tableDataReq0 = []
|
|
postapi('/api/app/RegisterCheck/GetPacsRequestListByPatientRegisterId', { patientRegisterId, execFlag: '0' })
|
|
.then(res => {
|
|
if (res.code > -1) {
|
|
this.tableDataReq0 = res.data
|
|
}
|
|
})
|
|
},
|
|
|
|
// 检查申请单列表查询
|
|
requestList(patientRegisterId) {
|
|
this.tableDataReq1 = []
|
|
postapi('/api/app/RegisterCheck/GetPacsRequestListByPatientRegisterId', { patientRegisterId, execFlag: '1' })
|
|
.then(res => {
|
|
if (res.code > -1) {
|
|
this.tableDataReq1 = res.data
|
|
}
|
|
})
|
|
},
|
|
|
|
|
|
setChargeRequestFlag(chargeRequestFlag) {
|
|
let ret = '检查申请'
|
|
switch (chargeRequestFlag) {
|
|
case '1':
|
|
ret = '已检查'
|
|
break;
|
|
case '2':
|
|
ret = '作废申请'
|
|
break;
|
|
case '3':
|
|
ret = '已作废'
|
|
break;
|
|
case '4':
|
|
ret = '退费申请'
|
|
break;
|
|
case '5':
|
|
ret = '已退费'
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
return ret
|
|
},
|
|
|
|
handleSelectionChange(v) {
|
|
this.selectedData = v;
|
|
},
|
|
|
|
setBtnDisabled(row, oprType) {
|
|
let ret = true
|
|
if (oprType == 'chargeBack') {
|
|
if (row.chargeRequestFlag == '1') ret = false
|
|
} else {
|
|
if (row.chargeRequestFlag == '0') ret = false
|
|
}
|
|
return ret
|
|
},
|
|
|
|
// 获取申请单明细
|
|
rowClick(row) {
|
|
|
|
},
|
|
|
|
// 刷新状态
|
|
refreshRequest(row) {
|
|
console.log('refreshRequest', row)
|
|
postapi('/api/app/ChargeRequest/SyncChargeRequestFlagFromInterface', { chargeRequestId: row.id })
|
|
.then(res => {
|
|
if (res.code > -1) {
|
|
this.btnRefresh()
|
|
}
|
|
})
|
|
},
|
|
|
|
|
|
// 撤消申请(作废申请)
|
|
cancelRequest(row) {
|
|
postapi('/api/app/RegisterCheck/CancelThirdPacsRequest', { registerCheckId: row.registerCheckId })
|
|
.then(res => {
|
|
if (res.code > -1) {
|
|
this.requestList(this.refParams.patientRegisterId)
|
|
}
|
|
})
|
|
},
|
|
|
|
// 退费申请
|
|
chargeBack(row) {
|
|
postapi('/api/app/ChargeRequest/RefundChargeRequest', { chargeRequestId: row.id })
|
|
.then(res => {
|
|
if (res.code > -1) {
|
|
row.chargeRequestFlag = "4"
|
|
}
|
|
})
|
|
},
|
|
|
|
// 刷新
|
|
btnRefresh() {
|
|
if (this.tabChoosed == '1') {
|
|
this.asbList(this.refParams.patientRegisterId)
|
|
} else {
|
|
this.requestList(this.refParams.patientRegisterId)
|
|
}
|
|
},
|
|
|
|
// 发送申请
|
|
async btnSubmit() {
|
|
if (this.selectedData.length == 0) {
|
|
this.$message.warning({ showClose: true, message: `请勾选要发送检查申请的检查项目!` });
|
|
return;
|
|
}
|
|
|
|
for (let index = 0; index < this.selectedData.length; index++) {
|
|
let e = this.selectedData[index];
|
|
await postapi("/api/app/RegisterCheck/SendThirdPacsRequest", { registerCheckId: e.registerCheckId })
|
|
}
|
|
|
|
// 刷新
|
|
this.asbList(this.refParams.patientRegisterId)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
//监听事件
|
|
watch: {
|
|
//
|
|
"refParams.brushTimes": {
|
|
// immediate: true, // 立即执行
|
|
// // deep: true, // 深度监听复杂类型内变化
|
|
handler(newVal, oldVal) {
|
|
console.log(`watch: 检查申请 newVal: ${newVal}, oldVal: ${oldVal}, 人员条码号: `, this.refParams.patientRegisterId)
|
|
if (newVal != oldVal) this.initData(this.refParams.patientRegisterId)
|
|
}
|
|
},
|
|
|
|
"tabChoosed": {
|
|
// immediate: true, // 立即执行
|
|
// // deep: true, // 深度监听复杂类型内变化
|
|
handler(newVal, oldVal) {
|
|
console.log(`watch: 检查申请 newVal: ${newVal}, oldVal: ${oldVal}, 人员条码号: `, this.refParams.patientRegisterId)
|
|
if (newVal != oldVal) {
|
|
if (newVal == '1') {
|
|
this.asbList(this.refParams.patientRegisterId)
|
|
} else {
|
|
this.requestList(this.refParams.patientRegisterId)
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
<style scoped>
|
|
@import "../../assets/css/global_input.css";
|
|
@import "../../assets/css/global_table.css";
|
|
@import "../../assets/css/global.css";
|
|
</style>
|