|
|
|
@ -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', // 登记日期:creationTime;体检日期:medicalStartDate;总检日期:summaryDate |
|
|
|
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', // 登记日期:creationTime;体检日期:medicalStartDate;总检日期:summaryDate |
|
|
|
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) |
|
|
|
|