pengjun 2 years ago
parent
commit
1d35c64852
  1. 93
      src/components/report/CusOrgOCX.vue

93
src/components/report/CusOrgOCX.vue

@ -4,8 +4,7 @@
<el-tree :data="patientRegister.customerOrgTreeAll" :props="customerOrg.treeprops" @node-click="handleNode" />
</div>
<div style="display: block;width:650px;margin-top: -30px; margin-left: 5px;">
<el-table :data="dataCusOrgOCX" border height="450" highlight-current-row @row-click="rowick" size="small"
@selection-change="handleSelectionChange" @cell-contextmenu="onCellRightClick">
<el-table :data="dataCusOrgOCX" border height="450" highlight-current-row @row-dblclick="rowDblclick" size="small" >
<el-table-column prop="customerOrgId" label="体检单位" width="130">
<template slot-scope="scope">
<el-cascader v-model="scope.row.customerOrgId" :options="patientRegister.customerOrgTreeAll"
@ -17,8 +16,8 @@
<el-table-column prop="customerOrgId" label="次数" width="50" align="center">
<template slot-scope="scope">
<el-select v-model="scope.row.customerOrgRegister" placeholder="次数" style="width: 50px" size="small"
:disabled="scope.row.customerOrgId == dict.personOrgId"
@change="changeMedicalTimes(scope.row.customerOrgId)" value-key="id">
:disabled="!useCusOrg || scope.row.customerOrgId == dict.personOrgId"
@change="changeMedicalTimes(scope.$index)" value-key="id">
<el-option v-for="item in scope.row.customerOrgRegisterList" :key="item.id" :label="item.medicalTimes"
:value="item" />
</el-select>
@ -46,7 +45,8 @@
<el-table-column prop="customerOrgGroupIds" label="分组" width="215">
<template slot-scope="scope">
<el-select v-model="scope.row.customerOrgGroupIds" multiple collapse-tags filterable clearable style="width:210px;"
placeholder="请选择分组" size="small" @focus="getCustGroup(scope.$index,scope.row.customerOrgRegister.id)">
placeholder="请选择分组" size="small" @focus="getCustGroup(scope.$index,scope.row.customerOrgRegister.id)"
:disabled="!useCusOrg || scope.row.customerOrgId == dict.personOrgId">
<el-option v-for="item in scope.row.customerOrgGroupList" :key="item.value" :label="item.displayName" :value="item.id" />
</el-select>
</template>
@ -56,7 +56,7 @@
<div style="display: block;">
<div>
<span>日期方式</span>
<el-radio-group v-model="dateType">
<el-radio-group v-model="dateType" @change="changeDateType">
<el-radio label="creationTime">登记日期</el-radio>
<el-radio label="medicalStartDate">体检日期</el-radio>
<el-radio label="summaryDate">总检日期 </el-radio>
@ -64,11 +64,11 @@
</div>
<div style="margin-top: 5px;">
<span>单位作为查询条件</span>
<el-checkbox v-model="useCusOrg" />
<el-checkbox v-model="useCusOrg" @change="changeUseOrg"/>
</div>
</div>
<div style="margin-left: 50px;margin-top: 5px;">
<el-button type="primary" @click="readIdCard">确定</el-button>
<el-button type="primary" @click="report.dialogCusOrgOCX = false">确定</el-button>
<el-button type="danger" @click="report.dialogCusOrgOCX = false">关闭</el-button>
</div>
</div>
@ -78,7 +78,7 @@
<script>
import { mapState } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { tcdate } from "../../utlis/proFunc";
import { arrayExistObj } from "../../utlis/proFunc";
import { getTreePids, getTreeAllChildIdsById } from "../../utlis/tree";
export default {
components: {},
@ -92,8 +92,9 @@ export default {
useCusOrg: true, //使
//
dataCusOrgOCX: [{
id:'', //ID
customerOrgId: '',
customerOrgRegister: '', //
customerOrgRegister: {}, //
customerOrgRegisterList: [], //
dateType: 'creationTime', // creationTimemedicalStartDatesummaryDate
startDate: '',
@ -152,7 +153,7 @@ export default {
//--
handleNode(data, node, prop) {
console.log(data, node, prop);
// console.log(data, node, prop);
if (!this.preNodeId) {
this.preNodeId = data.id;
} else {
@ -173,12 +174,18 @@ export default {
//
async treeDbClick(node) {
this.parentIds = getTreePids(this.patientRegister.customerOrgTreeAll, 'children', 'parentId', 'id', node.id);
this.childIds = getTreeAllChildIdsById(this.patientRegister.customerOrgTreeAll, 'children', 'id', node.id);
//console.log('this.patientRegister.customerOrgTreeAll',this.patientRegister.customerOrgTreeAll);
if(!this.useCusOrg){
this.$message.info("请先勾选单位作为查询条件");
return;
}
this.parentIds = getTreePids(this.patientRegister.customerOrgTreeAll, 'treeChildren', 'parentId', 'id', node.id);
this.childIds = getTreeAllChildIdsById(this.patientRegister.customerOrgTreeAll, 'treeChildren', 'id', node.id);
//
let ldate = new Date();
let record = {
id:parseInt(Math.random() * 100000000),
customerOrgId: '',
customerOrgRegister: {}, //
customerOrgRegisterList: [], //
@ -191,8 +198,8 @@ export default {
record.customerOrgId = node.id;
if(node.id != this.dict.personOrgId){
try {
//let res =
let res1 = await getapi(`/api/app/customerorgregister/getlistincustomerorgid?CustomerOrgId=${cusOrgId}`);
let res = await getapi(`/api/app/customer-org/parent/${node.id}`);
let res1 = await getapi(`/api/app/customerorgregister/getlistincustomerorgid?CustomerOrgId=${res.data}`);
record.customerOrgRegisterList = res1.data;
if(res1.data && res1.data.length > 0){
record.customerOrgRegister = res1.data[res1.data.length - 1];
@ -200,12 +207,20 @@ export default {
record.endDate = res1.data[res1.data.length - 1].isComplete == 'N' ? ldate : res1.data[res1.data.length - 1].endTime;
}
} catch (error) {
console.log(`get: /api/app/customerorgregister/getlistincustomerorgid?CustomerOrgId=${cusOrgId}`,error)
console.log(`get: /api/app/customer-org/parent/${node.id} /api/app/customerorgregister/getlistincustomerorgid?CustomerOrgId=${node.id}`,error)
}
}
let insableMsg = '';
this.dataCusOrgOCX.forEach(e =>{
// console.log('record',record);
// console.log('this.parentIds',this.parentIds);
// console.log('this.childIds',this.childIds);
this.dataCusOrgOCX.forEach((e,i) =>{
// console.log(i,e);
if(e.customerOrgId == record.customerOrgId && e.customerOrgRegister.id == record.customerOrgRegister.id){
insableMsg = "已经添加了该节点,不可再添加此节点";
}
if(this.parentIds.indexOf(e.customerOrgId) > - 1 && e.customerOrgRegister.id == record.customerOrgRegister.id){
insableMsg = "已经添加了上级节点,不可再添加此节点";
}
@ -223,6 +238,18 @@ export default {
},
//
changeMedicalTimes(index){
let v = this.dataCusOrgOCX[index].customerOrgRegister;
this.dataCusOrgOCX[index].startDate = v.beginTime;
this.dataCusOrgOCX[index].endDate = v.isComplete == 'N' ? new Date() : v.endTime;
//
this.dataCusOrgOCX[index].customerOrgGroupIds = [];
},
//
getCustGroup(index,groupId){
///api/app/customerorggroup/getlistinfilter?CustomerOrgRegisterId=3fa85f64-5717-4562-b3fc-2c963f66afa6
@ -233,6 +260,38 @@ export default {
})
},
//
changeDateType(v){
this.dataCusOrgOCX.forEach(e =>{
e.dateType = v;
return e;
})
},
changeUseOrg(v){
let ldate = new Date();
this.dataCusOrgOCX = [];
if(!v){
this.dataCusOrgOCX.push({
id:parseInt(Math.random() * 100000000),
customerOrgId: '',
customerOrgRegister: {}, //
customerOrgRegisterList: [], //
dateType: 'creationTime', // creationTimemedicalStartDatesummaryDate
startDate: ldate,
endDate: ldate,
customerOrgGroupIds: [], //
customerOrgGroupList: [], //
})
}
},
//
rowDblclick(row){
let lfind = arrayExistObj(this.dataCusOrgOCX,'id',row.id);
if(lfind > -1) this.dataCusOrgOCX.splice(lfind,1);
},
//
changeCustomerOrgId(v) {
console.log(v)

Loading…
Cancel
Save