Browse Source

recoverCore

master
pengjun 1 month ago
parent
commit
6a2b9afd64
  1. 62
      src/components/patientRegister/PatientRegisterList.vue
  2. 117
      src/components/patientRegister/PatientRegisterRecoverList.vue
  3. 2
      src/views/customerOrg/patientRegister.vue
  4. 33
      src/views/customerOrg/patientRegisterRecover.vue

62
src/components/patientRegister/PatientRegisterList.vue

@ -271,12 +271,18 @@
</download-excel> </download-excel>
<!-- <el-button type="" class="commonbutton" @click="btnExport('info')">人员信息导出</el-button> --> <!-- <el-button type="" class="commonbutton" @click="btnExport('info')">人员信息导出</el-button> -->
</div> </div>
<!-- 弃用
<div class="listBtn"> <div class="listBtn">
<el-button type="" class="commonbutton" @click="btnDragColDesign">设计列排序</el-button> <el-button type="" class="commonbutton" @click="btnDragColDesign">设计列排序</el-button>
</div> </div>
-->
<div v-show="checkPagePriv(pagePriv.privs, '人员检验检查条码')" class="listBtn"> <div v-show="checkPagePriv(pagePriv.privs, '人员检验检查条码')" class="listBtn">
<el-button type="" class="commonbutton" @click="printPromise2()" style="font-size: 12px">人员+检查条码</el-button> <el-button type="" class="commonbutton" @click="printPromise2()" style="font-size: 12px">人员+检查条码</el-button>
</div> </div>
<div v-show="checkPagePriv(pagePriv.privs, '体检表回收')" class="listBtn">
<el-button type="" class="commonbutton" @click="btnScanRecover">体检表回收</el-button>
</div>
<!-- elProgress.display dialogWin.LocalConfig <!-- elProgress.display dialogWin.LocalConfig
<div class="listBtn"> <div class="listBtn">
<el-button type="" class="commonbutton" @click="dialogWin.LocalConfig = true">本地设置</el-button> <el-button type="" class="commonbutton" @click="dialogWin.LocalConfig = true">本地设置</el-button>
@ -426,6 +432,18 @@
<img width="100%" :src="qrCode.url"> <img width="100%" :src="qrCode.url">
<div style="font-size: 16px;">{{ qrCode.barcodeNo + ' ' + qrCode.patientName }}</div> <div style="font-size: 16px;">{{ qrCode.barcodeNo + ' ' + qrCode.patientName }}</div>
</el-dialog> </el-dialog>
<el-dialog title="扫/输入条码回收体检表(指引单)" :visible.sync="dialogRecover" width="400" :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>
<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>
</div> </div>
</div> </div>
</template> </template>
@ -658,7 +676,11 @@ export default {
url: 'https://ccjktj.cn:5081/', // url: 'https://ccjktj.cn:5081/', //
barcodeNo: '条码号', barcodeNo: '条码号',
patientName: '姓 名' patientName: '姓 名'
}
},
//
dialogRecover:false,
patientRegisterNo:''
}; };
}, },
@ -2442,6 +2464,44 @@ export default {
// }) // })
}, },
//
btnScanRecover() {
this.patientRegisterNo = ''
this.dialogRecover = true
this.$nextTick(() => {
this.$refs['tmh'].focus(); //
});
},
//
signByPatientRegisterNo() {
let patientRegisterNo = this.patientRegisterNo
let body = {
sType: 1,
patientRegisterNo
}
//console.log(`/api/app/patientregister/getpatientregisterorpatient`, body)
postapi('/api/app/patientregister/getpatientregisterorpatient', body)
.then((res) => {
if (res.code != -1) {
if (res.data) {
this.recoverCore([res.data.id])
this.patientRegisterNo = ''
}
}
});
},
//
recoverCore(body) {
postapi(`/api/app/patientregister/updaterecoverguidemany`, body)
.then((res) => {
if (res.code > -1) {
this.$message.success({ showClose: true, message: "操作成功!"});
}
})
},
btnDragColDesign() { btnDragColDesign() {
this.dragColDesign = deepCopy(this.dragCol); this.dragColDesign = deepCopy(this.dragCol);
this.dialogColSort = true; this.dialogColSort = true;

117
src/components/patientRegister/PatientRegisterRecoverList.vue

@ -1,13 +1,9 @@
<template> <template>
<div style="display: flex;"> <div style="display: flex;">
<div :style="'padding: 15px;background-color: #fff;border-radius: 8px;width:' + (window.pageWidth - 200 - 110 - 65) + 'px;'">
<el-table :data="dataList" width="100%"
:height="window.pageHeight < 600 ? 350:window.pageHeight-245"
row-key="id" size="small"
highlight-current-row ref="dataList"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="40"/>
<div :style="'width:' + (window.pageWidth - 200 - 145) + 'px;'">
<el-table :data="dataList" width="100%" :height="window.pageHeight < 600 ? 350 : window.pageHeight - 220" row-key="id"
size="small" highlight-current-row ref="dataList" @selection-change="handleSelectionChange" @row-click="rowClick">
<el-table-column type="selection" width="40" align="center" />
<el-table-column prop="isRecoverGuide" label="回收" width="50"> <el-table-column prop="isRecoverGuide" label="回收" width="50">
<template slot-scope="scope"> <template slot-scope="scope">
<el-checkbox :value="scope.row.isRecoverGuide == 'Y'" /> <el-checkbox :value="scope.row.isRecoverGuide == 'Y'" />
@ -25,7 +21,8 @@
</el-table-column> </el-table-column>
<el-table-column prop="customerOrgParentName" label="单位" width="180"> <el-table-column prop="customerOrgParentName" label="单位" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row.customerOrgParentName ? scope.row.customerOrgParentName : scope.row.customerOrgName }}</div>
<div>{{ scope.row.customerOrgParentName ? scope.row.customerOrgParentName : scope.row.customerOrgName }}
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="customerOrgName" label="部门" width="180"> <el-table-column prop="customerOrgName" label="部门" width="180">
@ -119,21 +116,21 @@
</div> </div>
<div style="margin-left: 10px;"> <div style="margin-left: 10px;">
<div class="listBtn"> <div class="listBtn">
<el-button type="success" class="commonbutton" @click="recover">回收表单</el-button>
<el-button type="success" class="commonbutton" @click="btnRecover">回收表单</el-button>
</div> </div>
<div class="listBtn"> <div class="listBtn">
<el-button type="primary" class="commonbutton" @click="scanRecover">扫码回收</el-button>
<el-button type="primary" class="commonbutton" @click="btnScanRecover">扫码回收</el-button>
</div> </div>
</div> </div>
<el-dialog title="扫/输入条码签到" :visible.sync="dialogVisible">
<el-form :model="form">
<el-form-item label="条码" label-width="100px">
<el-input v-model="form.patientRegisterNo" @change="signByPatientRegisterNo"></el-input>
</el-form-item>
</el-form>
<el-dialog title="扫/输入条码回收体检表(指引单)" :visible.sync="dialogVisible" width="400" :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>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false" class="commonbutton">关闭</el-button>
<el-button type="primary" @click="signByPatientRegisterNo" class="commonbutton">确定</el-button> <el-button type="primary" @click="signByPatientRegisterNo" class="commonbutton">确定</el-button>
<el-button @click="dialogVisible = false" class="commonbutton">关闭</el-button>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
@ -142,7 +139,7 @@
import moment from "moment"; import moment from "moment";
import { mapState, mapActions } from "vuex"; import { mapState, mapActions } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api"; import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { dddw, objCopy, arrayReduce } from "@/utlis/proFunc";
import { dddw, objCopy, arrayReduce,arrayExistObj } from "@/utlis/proFunc";
import PatientRegisterEdit from "../../components/patientRegister/PatientRegisterEdit.vue"; import PatientRegisterEdit from "../../components/patientRegister/PatientRegisterEdit.vue";
import Camera from "../../components/patientRegister/Camera.vue"; import Camera from "../../components/patientRegister/Camera.vue";
@ -156,10 +153,11 @@ export default {
return { return {
dataList: [], // dataList: [], //
multipleSelection: [], // multipleSelection: [], //
selectedRow:{}, //
dialogVisible: false, dialogVisible: false,
form:{
patientRegisterNo: '' patientRegisterNo: ''
}
}; };
}, },
@ -177,26 +175,46 @@ export default {
this.multipleSelection = val; this.multipleSelection = val;
}, },
rowClick(row){
this.selectedRow = row
},
//
recoverCore(body) { recoverCore(body) {
postapi(`/api/app/patientregister/updaterecoverguidemany`, body) postapi(`/api/app/patientregister/updaterecoverguidemany`, body)
.then((res) => { .then((res) => {
if (res.code != -1){
console.log("操作成功");
if (res.code > -1) {
this.$message.success({ showClose: true, message: "操作成功!"});
//
if(this.multipleSelection.length > 0){
this.multipleSelection.forEach(e => {
e.isRecoverGuide = 'Y'
});
}else{
let lfind = arrayExistObj(this.dataList,'id',body[0].id)
if(lfind > -1){
this.dataList[lfind].isRecoverGuide = 'Y'
}
}
} }
}) })
.catch((err) => {
this.$message.error({ showClose: true, message: "操作失败,原因:" + err});
});
}, },
//
recover() {
if (!this.multipleSelection || this.multipleSelection.length < 1 ) {
this.$message.error({ showClose: true, message: "请选择体检人员,再进行此操作"});
//
btnRecover() {
//
let selectedRds = []
selectedRds = selectedRds.concat(this.multipleSelection)
if(selectedRds.length == 0){
if(this.selectedRow.id) selectedRds.push(this.selectedRow)
}
if (selectedRds.length == 0) {
this.$message.warning({ showClose: true, message: "请勾选择或选中体检人员,再进行此操作" });
return; return;
} }
let body = [] let body = []
this.multipleSelection.forEach(e =>{
selectedRds.forEach(e => {
body.push(e.id) body.push(e.id)
}); });
@ -204,24 +222,29 @@ export default {
}, },
scanRecover(){
//
btnScanRecover() {
this.patientRegisterNo = ''
this.dialogVisible = true this.dialogVisible = true
this.$nextTick(() => {
this.$refs['tmh'].focus(); //
});
}, },
// //
signByPatientRegisterNo() { signByPatientRegisterNo() {
let patientRegisterNo = this.form.patientRegisterNo
let patientRegisterNo = this.patientRegisterNo
let body = { let body = {
sType: 1, sType: 1,
patientRegisterNo patientRegisterNo
} }
console.log(`/api/app/patientregister/getpatientregisterorpatient`,body)
//console.log(`/api/app/patientregister/getpatientregisterorpatient`, body)
postapi('/api/app/patientregister/getpatientregisterorpatient', body) postapi('/api/app/patientregister/getpatientregisterorpatient', body)
.then((res) => { .then((res) => {
if (res.code != -1) { if (res.code != -1) {
if (res.data) { if (res.data) {
this.recoverCore([res.data.id]) this.recoverCore([res.data.id])
this.form.patientRegisterNo = ''
this.patientRegisterNo = ''
} }
} }
}); });
@ -272,23 +295,14 @@ export default {
if (this.patientRegister.query.patientRegisterNo) body = { patientRegisterNo: this.patientRegister.query.patientRegisterNo } if (this.patientRegister.query.patientRegisterNo) body = { patientRegisterNo: this.patientRegister.query.patientRegisterNo }
console.log('/api/app/patientregister/getlistinfilter', body)
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
//console.log('/api/app/patientregister/getlistinfilter', body)
postapi('/api/app/patientregister/getlistinfilter', body) postapi('/api/app/patientregister/getlistinfilter', body)
.then((res) => { .then((res) => {
if (res.code != - 1) { if (res.code != - 1) {
this.dataList = res.data.items; this.dataList = res.data.items;
} }
loading.close();
}) })
.catch((err) => {
loading.close();
});
}, },
}, },
@ -313,4 +327,15 @@ export default {
.btnClass { .btnClass {
width: 100px; width: 100px;
} }
.query {
margin-right: 10px;
font-size: 14px;
color: #232748;
font-weight: 400;
font-family: "NotoSansSC-Regular";
}
.spanClass {
font-size: 14px;
padding: 0 2px 0 0;
}
</style> </style>

2
src/views/customerOrg/patientRegister.vue

@ -6,7 +6,7 @@
</div> </div>
<div style="display: flex;"> <div style="display: flex;">
<!-- 单位树组件 --> <!-- 单位树组件 -->
<div :style="'margin-right:5px;background-color: #fff;border-radius: 8px;width:208px; height:' +
<div :style="'margin-right:10px;background-color: #fff;border-radius: 8px;width:208px; height:' +
(window.pageHeight < 600 ? 450 : window.pageHeight - 100) + (window.pageHeight < 600 ? 450 : window.pageHeight - 100) +
'px;' 'px;'
"> ">

33
src/views/customerOrg/patientRegisterRecover.vue

@ -1,26 +1,21 @@
<template> <template>
<div> <div>
<div> <div>
<div class="middlebox">
<div class="contenttitle"> <div class="contenttitle">
体检登记 /
<span class="contenttitleBold"
>体检表回收</span
>
体检登记 /<span class="contenttitleBold">体检表回收</span>
</div> </div>
</div>
<div style="display: flex;margin-top: 7px;">
<div style="display: flex;">
<!-- 单位树组件 --> <!-- 单位树组件 -->
<div :style="'margin-right:15px;background-color: #fff;border-radius: 8px;width:208px; height:' +
(window.pageHeight < 600 ? 450 : window.pageHeight - 100) +
<div :style="'margin-right:10px;background-color: #fff;border-radius: 8px;width:208px; height:' +
(window.pageHeight < 600 ? 450 : window.pageHeight - 98) +
'px;' 'px;'
"> ">
<!---->
<CustomerOrgTreeAll /> <CustomerOrgTreeAll />
</div> </div>
<div :style="'display:block;width:' + <div :style="'display:block;width:' +
(window.pageWidth - 200 - 35) + (window.pageWidth - 200 - 35) +
'px;height:' +
(window.pageHeight < 600 ? 450 : window.pageHeight - 150) +
'px;'"> 'px;'">
<!-- 查询条件 --> <!-- 查询条件 -->
<PatientRegisterQuery /> <PatientRegisterQuery />
@ -210,6 +205,20 @@ export default {
}; };
</script> </script>
<style scoped> <style scoped>
@import '../../assets/css/global_card.css';
@import "../../assets/css/global_input.css";
@import "../../assets/css/global_table.css";
@import "../../assets/css/global.css";
.box {
display: flex;
}
.listBtn {
margin-top: 5px;
text-align: center;
}
.btnClass {
width: 100px;
}
</style> </style>
Loading…
Cancel
Save