|
|
|
@ -1,74 +1,77 @@ |
|
|
|
<template> |
|
|
|
<div style="display: flex"> |
|
|
|
<div :style="'width:' + (window.pageWidth - 200-145) + 'px;'" @contextmenu.prevent="onContextmenu"> |
|
|
|
<div> |
|
|
|
<el-table @body-scrolling="load" :data="patientRegister.prList" border |
|
|
|
:height="window.pageHeight < 600 ? 248 : Math.floor(((window.pageHeight - 250) * 2) / 3)" highlight-current-row |
|
|
|
@row-click="rowClick" size="small" row-key="id" @selection-change="handleSelectionChange" |
|
|
|
@cell-contextmenu="onCellRightClick" ref="info" id="info" :row-class-name="handleRowClassName"> |
|
|
|
<!-- 取消勾选,改为选中 |
|
|
|
<div> |
|
|
|
<!--组件主体--> |
|
|
|
<div style="display: flex"> |
|
|
|
<div :style="'width:' + (window.pageWidth - 200 - 145) + 'px;'" @contextmenu.prevent="onContextmenu"> |
|
|
|
<div> |
|
|
|
<el-table @body-scrolling="load" :data="tableData" border |
|
|
|
:height="window.pageHeight < 600 ? 248 : Math.floor(((window.pageHeight - 250) * 2) / 3)" |
|
|
|
highlight-current-row @row-click="rowClick" size="small" row-key="id" |
|
|
|
@selection-change="handleSelectionChange" @cell-contextmenu="onCellRightClick" ref="info" id="info" |
|
|
|
:row-class-name="handleRowClassName"> |
|
|
|
<!-- 取消勾选,改为选中 |
|
|
|
<el-table-column type="selection" width="40" show-overflow-tooltip/> |
|
|
|
:height="window.pageHeight < 600 ? 202 : Math.floor(((window.pageHeight - 302) * 2) / 3)" |
|
|
|
--> |
|
|
|
<el-table-column v-for="(item, index) in headerCols" :key="`col_${index}`" :min-width="dropCol[index].minWidth" |
|
|
|
:align="dropCol[index].align" :label="item.label" :prop="dropCol[index].prop" |
|
|
|
:sortable="dropCol[index].prop == 'sn' ? false : true"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div v-if="dropCol[index].prop == 'sn'"> |
|
|
|
{{ scope.$index + 1 }} |
|
|
|
</div> |
|
|
|
<div v-else-if="dropCol[index].prop == 'completeFlag'"> |
|
|
|
{{ dddw(dict.completeFlag, "id", scope.row.completeFlag, "displayName") }} |
|
|
|
</div> |
|
|
|
<div v-else-if="dropCol[index].prop == 'guidePrintTimes'"> |
|
|
|
<i class="el-icon-printer" v-if="scope.row.guidePrintTimes > 0" style="font-size: 20px; color: green" /> |
|
|
|
</div> |
|
|
|
<div v-else-if="dropCol[index].prop == 'isLock' |
|
|
|
|| dropCol[index].prop == 'isVip' |
|
|
|
|| dropCol[index].prop == 'isUpload' |
|
|
|
"> |
|
|
|
{{ scope.row[dropCol[index].prop] == "Y" ? "是" : "否" }} |
|
|
|
</div> |
|
|
|
<div v-else-if="dropCol[index].prop == 'customerOrgParentName'"> |
|
|
|
{{ scope.row.customerOrgParentName |
|
|
|
? scope.row.customerOrgParentName |
|
|
|
: scope.row.customerOrgName }} |
|
|
|
</div> |
|
|
|
<div v-else-if="dropCol[index].prop == 'sexId'"> |
|
|
|
{{ dddw(dict.sex, "id", scope.row[dropCol[index].prop], "displayName") }} |
|
|
|
</div> |
|
|
|
<div v-else-if="dropCol[index].prop == 'groupPack'"> |
|
|
|
<div |
|
|
|
v-if="scope.row.medicalPackageId !== dict.personOrgId && scope.row.customerOrgId === dict.personOrgId"> |
|
|
|
{{ dddw(dict.medicalPackage, "id", scope.row.medicalPackageId, "displayName") }} |
|
|
|
<el-table-column v-for="(item, index) in headerCols" :key="`col_${index}`" |
|
|
|
:min-width="dropCol[index].minWidth" :align="dropCol[index].align" :label="item.label" |
|
|
|
:prop="dropCol[index].prop" :sortable="dropCol[index].prop == 'sn' ? false : true"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div v-if="dropCol[index].prop == 'sn'"> |
|
|
|
{{ scope.$index + 1 }} |
|
|
|
</div> |
|
|
|
<div |
|
|
|
v-if="scope.row.medicalPackageId !== dict.personOrgId && scope.row.customerOrgId !== dict.personOrgId"> |
|
|
|
{{ dddw(dict.customerOrgGroupAll, "id", scope.row.customerOrgGroupId, "displayName") }} |
|
|
|
<div v-else-if="dropCol[index].prop == 'completeFlag'"> |
|
|
|
{{ dddw(dict.completeFlag, "id", scope.row.completeFlag, "displayName") }} |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div v-else-if="dropCol[index].prop == 'nationId'"> |
|
|
|
{{ dddw(dict.nation, "id", scope.row[dropCol[index].prop], "displayName") }} |
|
|
|
</div> |
|
|
|
<div v-else-if="dropCol[index].prop == 'birthDate' |
|
|
|
|| dropCol[index].prop == 'creationTime'"> |
|
|
|
{{ scope.row[dropCol[index].prop] ? moment(scope.row[dropCol[index].prop]).format('yyyy-MM-DD') : '' }} |
|
|
|
</div> |
|
|
|
<div v-else-if="dropCol[index].prop == 'maritalStatusId'"> |
|
|
|
{{ dddw(dict.maritalStatus, "id", scope.row[dropCol[index].prop], "displayName") }} |
|
|
|
</div> |
|
|
|
<div v-else-if="dropCol[index].prop == 'medicalTypeId'"> |
|
|
|
{{ dddw(dict.medicalType, "id", scope.row[dropCol[index].prop], "displayName") }} |
|
|
|
</div> |
|
|
|
<div v-else-if="dropCol[index].prop == 'personnelTypeId'"> |
|
|
|
{{ dddw(dict.personnelType, "id", scope.row[dropCol[index].prop], "displayName") }} |
|
|
|
</div> |
|
|
|
<div v-else> |
|
|
|
{{ scope.row[dropCol[index].prop] }} |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<!-- |
|
|
|
<div v-else-if="dropCol[index].prop == 'guidePrintTimes'"> |
|
|
|
<i class="el-icon-printer" v-if="scope.row.guidePrintTimes > 0" style="font-size: 20px; color: green" /> |
|
|
|
</div> |
|
|
|
<div v-else-if="dropCol[index].prop == 'isLock' |
|
|
|
|| dropCol[index].prop == 'isVip' |
|
|
|
|| dropCol[index].prop == 'isUpload' |
|
|
|
"> |
|
|
|
{{ scope.row[dropCol[index].prop] == "Y" ? "是" : "否" }} |
|
|
|
</div> |
|
|
|
<div v-else-if="dropCol[index].prop == 'customerOrgParentName'"> |
|
|
|
{{ scope.row.customerOrgParentName |
|
|
|
? scope.row.customerOrgParentName |
|
|
|
: scope.row.customerOrgName }} |
|
|
|
</div> |
|
|
|
<div v-else-if="dropCol[index].prop == 'sexId'"> |
|
|
|
{{ dddw(dict.sex, "id", scope.row[dropCol[index].prop], "displayName") }} |
|
|
|
</div> |
|
|
|
<div v-else-if="dropCol[index].prop == 'groupPack'"> |
|
|
|
<div |
|
|
|
v-if="scope.row.medicalPackageId !== dict.personOrgId && scope.row.customerOrgId === dict.personOrgId"> |
|
|
|
{{ dddw(dict.medicalPackage, "id", scope.row.medicalPackageId, "displayName") }} |
|
|
|
</div> |
|
|
|
<div |
|
|
|
v-if="scope.row.medicalPackageId !== dict.personOrgId && scope.row.customerOrgId !== dict.personOrgId"> |
|
|
|
{{ dddw(dict.customerOrgGroupAll, "id", scope.row.customerOrgGroupId, "displayName") }} |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div v-else-if="dropCol[index].prop == 'nationId'"> |
|
|
|
{{ dddw(dict.nation, "id", scope.row[dropCol[index].prop], "displayName") }} |
|
|
|
</div> |
|
|
|
<div v-else-if="dropCol[index].prop == 'birthDate' |
|
|
|
|| dropCol[index].prop == 'creationTime'"> |
|
|
|
{{ scope.row[dropCol[index].prop] ? moment(scope.row[dropCol[index].prop]).format('yyyy-MM-DD') : '' }} |
|
|
|
</div> |
|
|
|
<div v-else-if="dropCol[index].prop == 'maritalStatusId'"> |
|
|
|
{{ dddw(dict.maritalStatus, "id", scope.row[dropCol[index].prop], "displayName") }} |
|
|
|
</div> |
|
|
|
<div v-else-if="dropCol[index].prop == 'medicalTypeId'"> |
|
|
|
{{ dddw(dict.medicalType, "id", scope.row[dropCol[index].prop], "displayName") }} |
|
|
|
</div> |
|
|
|
<div v-else-if="dropCol[index].prop == 'personnelTypeId'"> |
|
|
|
{{ dddw(dict.personnelType, "id", scope.row[dropCol[index].prop], "displayName") }} |
|
|
|
</div> |
|
|
|
<div v-else> |
|
|
|
{{ scope.row[dropCol[index].prop] }} |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<!-- |
|
|
|
"sexHormoneTermId": "00000000-0000-0000-0000-000000000000", |
|
|
|
"interposeMeasure": null, |
|
|
|
"medicalConclusionId": "00000000-0000-0000-0000-000000000000", |
|
|
|
@ -94,36 +97,37 @@ |
|
|
|
"creatorId": null, |
|
|
|
"id": "3a0c196d-a6d0-37fe-5c32-4806bdc4530f" |
|
|
|
--> |
|
|
|
</el-table> |
|
|
|
<div style="display: flex;justify-content:space-between;"> |
|
|
|
<div></div> |
|
|
|
<div> |
|
|
|
<span style="font-size:12px;">共:{{ loadOpts.totalCount }} 条记录,当前显示:{{ patientRegister.prList.length }} 条。</span> |
|
|
|
</el-table> |
|
|
|
<div style="display: flex;justify-content:space-between;"> |
|
|
|
<div></div> |
|
|
|
<div> |
|
|
|
<span style="font-size:12px;">共:{{ loadOpts.totalCount }} 条记录,当前显示:{{ tableData.length }} |
|
|
|
条。</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!-- 给合项目 基本信息 --> |
|
|
|
<el-tabs v-model="tabChoosed" style="margin-top: -22px;"> |
|
|
|
<!-- 给合项目 --> |
|
|
|
<el-tab-pane label="已选组合项目" name="1"> |
|
|
|
<PatientRegisterAsbItem /> |
|
|
|
</el-tab-pane> |
|
|
|
</el-tabs> |
|
|
|
</div> |
|
|
|
<!-- 给合项目 基本信息 --> |
|
|
|
<el-tabs v-model="tabChoosed" style="margin-top: -22px;"> |
|
|
|
<!-- 给合项目 --> |
|
|
|
<el-tab-pane label="已选组合项目" name="1"> |
|
|
|
<PatientRegisterAsbItem /> |
|
|
|
</el-tab-pane> |
|
|
|
</el-tabs> |
|
|
|
</div> |
|
|
|
<div style="margin-left: 10px;"> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '人员登记')" class="listBtn"> |
|
|
|
<el-button type="success" class="commonbutton" @click="btnAdd">人员登记</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '批量正式登记')" class="listBtn"> |
|
|
|
<el-button type="success" class="commonbutton" @click="btnAddBatch">批量正式登记</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '编辑')" class="listBtn"> |
|
|
|
<el-button type="primary" class="commonbutton" @click="btnEdit">编辑</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '删除')" class="listBtn"> |
|
|
|
<el-button type="danger" class="commonbutton" @click="btnDel">删除</el-button> |
|
|
|
</div> |
|
|
|
<!-- |
|
|
|
<div style="margin-left: 10px;"> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '人员登记')" class="listBtn"> |
|
|
|
<el-button type="success" class="commonbutton" @click="btnAdd">人员登记</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '批量正式登记')" class="listBtn"> |
|
|
|
<el-button type="success" class="commonbutton" @click="btnAddBatch">批量正式登记</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '编辑')" class="listBtn"> |
|
|
|
<el-button type="primary" class="commonbutton" @click="btnEdit">编辑</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '删除')" class="listBtn"> |
|
|
|
<el-button type="danger" class="commonbutton" @click="btnDel">删除</el-button> |
|
|
|
</div> |
|
|
|
<!-- |
|
|
|
<div class="listBtn"> |
|
|
|
<el-button |
|
|
|
type="" |
|
|
|
@ -137,66 +141,65 @@ |
|
|
|
<el-button type="" class="btnClass commonbutton">健康档案</el-button> |
|
|
|
</div> |
|
|
|
--> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '批量调整分组')" class="listBtn"> |
|
|
|
<el-button type="" class="commonbutton" @click="btnGroupBatch">批量调整分组</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '批量调整项目')" class="listBtn"> |
|
|
|
<el-button type="" class="commonbutton" @click="btnAsbBatch">批量调整项目</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '指引单打印')" class="listBtn"> |
|
|
|
<el-button type="" class="commonbutton" @click="guidePrint('0001', false)">指引单打印</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '指引单预览')" class="listBtn"> |
|
|
|
<el-button type="" class="commonbutton" @click="guidePrint('0001', true)">指引单预览</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '人员信息导出')" class="listBtn"> |
|
|
|
<el-button type="" class="commonbutton" @click="btnExport('info')">人员信息导出</el-button> |
|
|
|
</div> |
|
|
|
<!-- |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '批量调整分组')" class="listBtn"> |
|
|
|
<el-button type="" class="commonbutton" @click="btnGroupBatch">批量调整分组</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '批量调整项目')" class="listBtn"> |
|
|
|
<el-button type="" class="commonbutton" @click="btnAsbBatch">批量调整项目</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '指引单打印')" class="listBtn"> |
|
|
|
<el-button type="" class="commonbutton" @click="guidePrint('0001', false)">指引单打印</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '指引单预览')" class="listBtn"> |
|
|
|
<el-button type="" class="commonbutton" @click="guidePrint('0001', true)">指引单预览</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '人员信息导出')" class="listBtn"> |
|
|
|
<el-button type="" class="commonbutton" @click="btnExport('info')">人员信息导出</el-button> |
|
|
|
</div> |
|
|
|
<!-- |
|
|
|
<div class="listBtn"> |
|
|
|
<el-button type="" class="btnClass commonbutton" @click="rowSelected(patientRegister.prList)">选中</el-button> |
|
|
|
<el-button type="" class="btnClass commonbutton" @click="rowSelected(tableData)">选中</el-button> |
|
|
|
</div> |
|
|
|
--> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!--组件弹窗--> |
|
|
|
<div> |
|
|
|
<!-- 体检人员登记 :title="patientRegister.patientRegisterRd.id ? '体检人员--编辑' : '体检人员--新增'" --> |
|
|
|
<el-dialog :title="dataTransOpts.tableS.patient_register.id ? '体检人员--编辑' : '体检人员--新增'" |
|
|
|
:visible.sync="dialogWin.PatientRegisterEdit" :close-on-click-modal="false" fullscreen |
|
|
|
@close="close_dialogWin_PatientRegisterEdit"> |
|
|
|
<!-- :formInitData="patientRegister.patientRegisterRd" --> |
|
|
|
<PatientRegisterEdit :isDoctor="'0'" :patientRegisterId="patientRegister.patientRegisterRd.id" |
|
|
|
:editTimes="editTimes" :refreshRegister="refreshRegister" :refFuncSetData="refFuncSetData"/> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<!-- 拍照 --> |
|
|
|
<el-dialog title="拍照" :visible.sync="patientRegister.cameraVisble" width="400" height="800" :show-close="false" |
|
|
|
:append-to-body="true" :close-on-click-modal="false"> |
|
|
|
<Camera :id="patientRegister.patientRegisterId" /> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 批量调整分组 --> |
|
|
|
<el-dialog title="批量调整分组" :visible.sync="dialogWin.PatientRegisterEditGroupBatch" width="600px" height="800px" |
|
|
|
:append-to-body="true" :close-on-click-modal="false"> |
|
|
|
<PatientRegisterEditGroupBatch :multipleSelection="multipleSelection" /> |
|
|
|
|
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<!-- 批量调整项目 --> |
|
|
|
<el-dialog title="批量调整项目" :visible.sync="dialogWin.PatientRegisterEditItemBatch" width="610px" height="800px" |
|
|
|
:append-to-body="true" :close-on-click-modal="false"> |
|
|
|
<PatientRegisterEditItemBatch :multipleSelection="multipleSelection" /> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<!-- 通用进度条 --> |
|
|
|
<el-dialog title="数据处理中……" :visible.sync="elProgress.display" width="600px" height="400" :show-close="false" |
|
|
|
:close-on-click-modal="false" :append-to-body="true"> |
|
|
|
<ElProgressOCX /> |
|
|
|
</el-dialog> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- 体检人员登记 :title="patientRegister.patientRegisterRd.id ? '体检人员--编辑' : '体检人员--新增'" --> |
|
|
|
<el-dialog :title="dataTransOpts.tableS.patient_register.id ? '体检人员--编辑' : '体检人员--新增'" :visible.sync="dialogVisible" |
|
|
|
:close-on-click-modal="false" fullscreen @close="closeDialogPR"> |
|
|
|
<!-- :formInitData="patientRegister.patientRegisterRd" --> |
|
|
|
<PatientRegisterEdit :isDoctor="'0'" :patientRegisterId="patientRegister.patientRegisterRd.id" |
|
|
|
:editTimes="editTimes" :refreshRegister="refreshRegister" /> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<!-- 拍照 --> |
|
|
|
<el-dialog title="拍照" :visible.sync="patientRegister.cameraVisble" width="400" height="800" :show-close="false" |
|
|
|
:append-to-body="true" :close-on-click-modal="false"> |
|
|
|
<Camera :id="patientRegister.patientRegisterId" /> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<!-- 指引单 --> |
|
|
|
<el-dialog title="指引单" :visible.sync="dialogGuide" width="400" height="800" :append-to-body="true" |
|
|
|
:close-on-click-modal="false"> |
|
|
|
<div>{{ guideMsg }}</div> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<!-- 批量调整分组 --> |
|
|
|
<el-dialog title="批量调整分组" :visible.sync="dialogWin.PatientRegisterEditGroupBatch" width="600px" height="800px" |
|
|
|
:append-to-body="true" :close-on-click-modal="false"> |
|
|
|
<PatientRegisterEditGroupBatch :multipleSelection="multipleSelection" /> |
|
|
|
|
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<!-- 批量调整项目 --> |
|
|
|
<el-dialog title="批量调整项目" :visible.sync="dialogWin.PatientRegisterEditItemBatch" width="610px" height="800px" |
|
|
|
:append-to-body="true" :close-on-click-modal="false"> |
|
|
|
<PatientRegisterEditItemBatch :multipleSelection="multipleSelection" /> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<!-- 通用进度条 --> |
|
|
|
<el-dialog title="数据处理中……" :visible.sync="elProgress.display" width="600px" height="400" :show-close="false" |
|
|
|
:close-on-click-modal="false" :append-to-body="true"> |
|
|
|
<ElProgressOCX /> |
|
|
|
</el-dialog> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
<script> |
|
|
|
@ -243,11 +246,12 @@ export default { |
|
|
|
startPoint: -1, // 多选起点 -1 表示选择 |
|
|
|
endPoint: -1, // 多选终点 -1 表示未选择 |
|
|
|
|
|
|
|
tableData: [], //表格数据 |
|
|
|
tableDataCurrentRow: {}, // 当前被选中的行 |
|
|
|
|
|
|
|
multipleSelection: [], //选中的数据列表 |
|
|
|
dialogVisible: false, |
|
|
|
|
|
|
|
dialogCamera: false, |
|
|
|
dialogGuide: false, |
|
|
|
guideMsg: "guideMsg", |
|
|
|
tabChoosed: "1", |
|
|
|
formInitData: {}, //体检登记初始表单数据 |
|
|
|
editTimes: 0, |
|
|
|
@ -309,7 +313,7 @@ export default { |
|
|
|
//获取用户当前页面的权限 |
|
|
|
let userPriv = window.sessionStorage.getItem('userPriv') |
|
|
|
if (userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName)) |
|
|
|
|
|
|
|
|
|
|
|
this.loadOptsInit = Object.assign({}, this.loadOpts) |
|
|
|
}, |
|
|
|
|
|
|
|
@ -354,12 +358,17 @@ export default { |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
// 行选择 |
|
|
|
rowSelected(rows) { |
|
|
|
rows.forEach((e) => { |
|
|
|
this.$refs["info"].toggleRowSelection(e, true); |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
refFuncSetData(item, v) { |
|
|
|
setData(this, item, v) |
|
|
|
}, |
|
|
|
|
|
|
|
// 打印指引单(isPreview) |
|
|
|
async guidePrint(ReportCode, isPreview) { |
|
|
|
if (!this.$peisAPI) { |
|
|
|
@ -381,7 +390,7 @@ export default { |
|
|
|
|
|
|
|
//选中(取消勾选)start ------------------------- |
|
|
|
this.multipleSelection = [] |
|
|
|
this.patientRegister.prList.forEach(e => { |
|
|
|
this.tableData.forEach(e => { |
|
|
|
if (e.choosed) { |
|
|
|
this.multipleSelection.push(deepCopy(e)) |
|
|
|
} |
|
|
|
@ -435,15 +444,15 @@ export default { |
|
|
|
if (JSON.parse(resPeisAPI).code < 0) continue |
|
|
|
resPrintTimes = postapi("api/app/patientregister/updatepatientregisterguideprinttimesmany", [this.multipleSelection[i].id]); |
|
|
|
if (resPrintTimes.code == -1) continue |
|
|
|
lfind = arrayExistObj(this.patientRegister.prList, "id", this.multipleSelection[i].id); |
|
|
|
lfind = arrayExistObj(this.tableData, "id", this.multipleSelection[i].id); |
|
|
|
if (lfind > -1) { |
|
|
|
if (this.patientRegister.prList[lfind].guidePrintTimes) { |
|
|
|
this.patientRegister.prList[lfind].guidePrintTimes = |
|
|
|
if (this.tableData[lfind].guidePrintTimes) { |
|
|
|
this.tableData[lfind].guidePrintTimes = |
|
|
|
Number( |
|
|
|
this.patientRegister.prList[lfind].guidePrintTimes |
|
|
|
this.tableData[lfind].guidePrintTimes |
|
|
|
) + 1; |
|
|
|
} else { |
|
|
|
this.patientRegister.prList[lfind].guidePrintTimes = 1; |
|
|
|
this.tableData[lfind].guidePrintTimes = 1; |
|
|
|
} |
|
|
|
} |
|
|
|
} catch (error) { |
|
|
|
@ -466,7 +475,7 @@ export default { |
|
|
|
}); |
|
|
|
// 取消全选 |
|
|
|
if (!rows.length) { |
|
|
|
this.patientRegister.prList.forEach((item) => { |
|
|
|
this.tableData.forEach((item) => { |
|
|
|
item.highLightBg = ""; |
|
|
|
}); |
|
|
|
} |
|
|
|
@ -483,32 +492,32 @@ export default { |
|
|
|
|
|
|
|
//点击体检次数行 |
|
|
|
rowClick(row) { |
|
|
|
//console.log("this.patientRegister.prList",this.window,this.patientRegister.prList); |
|
|
|
//console.log("this.tableData",this.window,this.tableData); |
|
|
|
|
|
|
|
// 按住了shift键 |
|
|
|
if (this.window.shift) { |
|
|
|
//清除所有选择 |
|
|
|
this.patientRegister.prList.forEach((e, index) => { |
|
|
|
this.tableData.forEach((e, index) => { |
|
|
|
e.choosed = false; |
|
|
|
e.index = index; |
|
|
|
}); |
|
|
|
|
|
|
|
if (this.startPoint == -1) { |
|
|
|
this.patientRegister.prList[row.index].choosed = true; |
|
|
|
this.tableData[row.index].choosed = true; |
|
|
|
this.startPoint = row.index; |
|
|
|
} else { |
|
|
|
if (this.startPoint > row.index) { |
|
|
|
for (let i = row.index; i <= this.startPoint; i++) { |
|
|
|
this.patientRegister.prList[i].choosed = true; |
|
|
|
this.tableData[i].choosed = true; |
|
|
|
} |
|
|
|
} else if (this.startPoint <= row.index) { |
|
|
|
for (let i = this.startPoint; i <= row.index; i++) { |
|
|
|
this.patientRegister.prList[i].choosed = true; |
|
|
|
this.tableData[i].choosed = true; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} else if (this.window.ctrl) { // 按住了ctrl 键 |
|
|
|
this.patientRegister.prList[row.index].choosed = true; |
|
|
|
this.tableData[row.index].choosed = true; |
|
|
|
if (this.startPoint == -1) { |
|
|
|
this.startPoint = row.index; |
|
|
|
} |
|
|
|
@ -516,22 +525,22 @@ export default { |
|
|
|
// 未按住了ctrl 、shift 键 |
|
|
|
//清除所有选择 |
|
|
|
console.log("清除所有选择"); |
|
|
|
this.patientRegister.prList.forEach((e, index) => { |
|
|
|
this.tableData.forEach((e, index) => { |
|
|
|
e.choosed = false; |
|
|
|
e.index = index; |
|
|
|
}); |
|
|
|
console.log(this.patientRegister.prList, row.index); |
|
|
|
console.log(this.patientRegister.prList[row.index].choosed); |
|
|
|
console.log(this.tableData, row.index); |
|
|
|
console.log(this.tableData[row.index].choosed); |
|
|
|
|
|
|
|
this.patientRegister.prList[row.index].choosed = true; |
|
|
|
this.tableData[row.index].choosed = true; |
|
|
|
this.startPoint = row.index; |
|
|
|
} |
|
|
|
|
|
|
|
//选中了多个点编辑时,排序最前的作为当前选中的 |
|
|
|
console.log('row.index <= this.startPoint', row.index, this.startPoint) |
|
|
|
let lfind = -1 |
|
|
|
for (let i = 0; i < this.patientRegister.prList.length; i++) { |
|
|
|
if (this.patientRegister.prList[i].choosed) { |
|
|
|
for (let i = 0; i < this.tableData.length; i++) { |
|
|
|
if (this.tableData[i].choosed) { |
|
|
|
lfind = i |
|
|
|
break |
|
|
|
} |
|
|
|
@ -539,21 +548,22 @@ export default { |
|
|
|
|
|
|
|
if (lfind > -1) { |
|
|
|
// 弹出编辑框,只有在编辑框显示时,才去触发获取数据 |
|
|
|
this.dataTransOpts.tableS.patient_register.id = this.patientRegister.prList[lfind].id |
|
|
|
// this.getCustomerOrgGroup(this.patientRegister.prList[lfind].customerOrgParentId); |
|
|
|
this.dataTransOpts.tableS.patient_register.id = this.tableData[lfind].id |
|
|
|
this.tableDataCurrentRow = deepCopy(this.tableData[lfind]) |
|
|
|
// this.getCustomerOrgGroup(this.tableData[lfind].customerOrgParentId); |
|
|
|
setTimeout(() => { |
|
|
|
this.dataTransOpts.refresh.register_asbitem.M++ //触发所选组合项目刷新 |
|
|
|
}, 20); |
|
|
|
}, 10); |
|
|
|
|
|
|
|
// 旧的方式 |
|
|
|
// if(this.patientRegister.patientRegisterRd.id != this.patientRegister.prList[lfind].id){ |
|
|
|
// this.setForm(this.patientRegister.prList[lfind]) |
|
|
|
// // this.patientRegister.query.customerOrgParentId = this.patientRegister.prList[lfind].customerOrgParentId; |
|
|
|
// if(this.patientRegister.patientRegisterRd.id != this.tableData[lfind].id){ |
|
|
|
// this.setForm(this.tableData[lfind]) |
|
|
|
// // this.patientRegister.query.customerOrgParentId = this.tableData[lfind].customerOrgParentId; |
|
|
|
// this.patientRegister.customerOrgGroupChange = 0; //控制体检列表记录切换时,0 无需触发更换分组操作 |
|
|
|
// this.patientRegister.medicalPackageChange = 0; //控制体检列表记录切换时,0 无需触发更换套餐操作 |
|
|
|
// // this.getCustomerOrgGroup(this.patientRegister.prList[lfind].customerOrgParentId); |
|
|
|
// // this.getCustomerOrgGroup(this.tableData[lfind].customerOrgParentId); |
|
|
|
// this.dict.asbItem = [...this.dict.asbItemAll]; |
|
|
|
// this.getPatientRegisterAbs(this.patientRegister.prList[lfind].id); |
|
|
|
// this.getPatientRegisterAbs(this.tableData[lfind].id); |
|
|
|
// } |
|
|
|
} |
|
|
|
|
|
|
|
@ -576,12 +586,12 @@ export default { |
|
|
|
// this.setForm(this.patientRegister.patientRegisterRdInit) |
|
|
|
// this.patientRegister.patientRegisterAbs = []; |
|
|
|
// this.patientRegister.patientRegisterRd.id = '' |
|
|
|
// this.dialogVisible = true; |
|
|
|
// this.dialogWin.PatientRegisterEdit = true; |
|
|
|
// this.editTimes++; //触发表单窗口,数据更新 |
|
|
|
// this.getPatientRegisterAbs(); |
|
|
|
|
|
|
|
this.dataTransOpts.tableS.patient_register.id = '' |
|
|
|
this.dialogVisible = true; |
|
|
|
this.dialogWin.PatientRegisterEdit = true; |
|
|
|
setTimeout(() => { |
|
|
|
// 触发数据刷新 |
|
|
|
this.dataTransOpts.refresh.patient_register.S++ //触发人员信息刷新 |
|
|
|
@ -602,7 +612,7 @@ export default { |
|
|
|
let patientRegisterIds = [] |
|
|
|
//取消勾选,换成选择的方式 start |
|
|
|
this.multipleSelection = []; |
|
|
|
this.patientRegister.prList.forEach((e) => { |
|
|
|
this.tableData.forEach((e) => { |
|
|
|
if (e.choosed && e.completeFlag == '0') { |
|
|
|
this.multipleSelection.push(e); |
|
|
|
patientRegisterIds.push(e.id) |
|
|
|
@ -621,8 +631,8 @@ export default { |
|
|
|
if (res.code != -1) { |
|
|
|
console.log('操作成功!') |
|
|
|
patientRegisterIds.forEach(e => { |
|
|
|
let lfind = arrayExistObj(this.patientRegister.prList, 'id', e) |
|
|
|
if (lfind > -1) this.patientRegister.prList[lfind].completeFlag = completeFlag |
|
|
|
let lfind = arrayExistObj(this.tableData, 'id', e) |
|
|
|
if (lfind > -1) this.tableData[lfind].completeFlag = completeFlag |
|
|
|
}); |
|
|
|
} |
|
|
|
}) |
|
|
|
@ -638,8 +648,8 @@ export default { |
|
|
|
this.$message.warning("请选择要操作的记录"); |
|
|
|
return; |
|
|
|
} |
|
|
|
//console.log(this.patientRegister.patientRegisterRd,this.patientRegister.prList) |
|
|
|
this.dialogVisible = true; |
|
|
|
//console.log(this.patientRegister.patientRegisterRd,this.tableData) |
|
|
|
this.dialogWin.PatientRegisterEdit = true; |
|
|
|
// 触发数据刷新 |
|
|
|
this.dataTransOpts.refresh.patient_register.S++ //触发人员信息刷新(会同时刷新组合项目) |
|
|
|
this.dataTransOpts.plus.clearPatientRegisterQuery++ //触发清空人员登记界面的查询条件 |
|
|
|
@ -647,29 +657,29 @@ export default { |
|
|
|
}, |
|
|
|
|
|
|
|
//新增或编辑后选中记录 |
|
|
|
async closeDialogPR() { |
|
|
|
async close_dialogWin_PatientRegisterEdit() { |
|
|
|
// 如果 dataTransOpts.tableS.patient_register.id 为空(未增加),则不做处理 |
|
|
|
if (!this.dataTransOpts.tableS.patient_register.id) return |
|
|
|
|
|
|
|
// 刷新列表(并选中当前新增或编辑的行记录) |
|
|
|
this.patientRegister.prList.forEach(e => { |
|
|
|
e.choosed = false |
|
|
|
}) |
|
|
|
let res = await postapi(`/api/app/patientregister/getinfoorpatient?PatientRegisterId=${this.dataTransOpts.tableS.patient_register.id}`) |
|
|
|
if (res.code != 1) return |
|
|
|
|
|
|
|
this.patientRegister.prList.forEach(e => { |
|
|
|
e.choosed = false |
|
|
|
}); |
|
|
|
let lfind = arrayExistObj(this.patientRegister.prList, 'id', this.dataTransOpts.tableS.patient_register.id) |
|
|
|
if (lfind > -1) { |
|
|
|
objCopy(res.data, this.patientRegister.prList[lfind]) |
|
|
|
this.patientRegister.prList[lfind].choosed = true |
|
|
|
let id = this.dataTransOpts.tableS.patient_register.id |
|
|
|
if (!id){ |
|
|
|
id = this.tableDataCurrentRow.id |
|
|
|
} |
|
|
|
if(!id) return |
|
|
|
this.dataTransOpts.tableS.patient_register.id = id |
|
|
|
|
|
|
|
// let res = await postapi(`/api/app/patientregister/getinfoorpatient?PatientRegisterId=${this.dataTransOpts.tableS.patient_register.id}`) |
|
|
|
// if (res.code != 1) return |
|
|
|
|
|
|
|
// this.tableData.forEach(e => { |
|
|
|
// e.choosed = false |
|
|
|
// }); |
|
|
|
let lfind = arrayExistObj(this.tableData, 'id', this.dataTransOpts.tableS.patient_register.id) |
|
|
|
if (lfind > -1) { |
|
|
|
objCopy(this.tableDataCurrentRow,this.tableData[lfind]) |
|
|
|
} else { |
|
|
|
lfind = this.patientRegister.prList.length |
|
|
|
this.patientRegister.prList.push(res.data) |
|
|
|
this.patientRegister.prList[lfind].index = lfind |
|
|
|
this.patientRegister.prList[lfind].choosed = true |
|
|
|
lfind = this.tableData.length |
|
|
|
this.tableDataCurrentRow.index = lfind |
|
|
|
this.tableDataCurrentRow.choosed = true |
|
|
|
this.tableData.push(this.tableDataCurrentRow) |
|
|
|
} |
|
|
|
|
|
|
|
// 刷新 register_asbitem 表记录 |
|
|
|
@ -678,10 +688,10 @@ export default { |
|
|
|
// setTimeout(() => { |
|
|
|
// this.$refs['info'].setCurrentRow(currentRow) |
|
|
|
// this.setForm(currentRow) |
|
|
|
// // this.patientRegister.query.customerOrgParentId = this.patientRegister.prList[lfind].customerOrgParentId; |
|
|
|
// // this.patientRegister.query.customerOrgParentId = this.tableData[lfind].customerOrgParentId; |
|
|
|
// this.patientRegister.customerOrgGroupChange = 0; //控制体检列表记录切换时,0 无需触发更换分组操作 |
|
|
|
// this.patientRegister.medicalPackageChange = 0; //控制体检列表记录切换时,0 无需触发更换套餐操作 |
|
|
|
// // this.getCustomerOrgGroup(this.patientRegister.prList[lfind].customerOrgParentId); |
|
|
|
// // this.getCustomerOrgGroup(this.tableData[lfind].customerOrgParentId); |
|
|
|
// this.dict.asbItem = [...this.dict.asbItemAll]; |
|
|
|
// this.getPatientRegisterAbs(currentRow.id); |
|
|
|
// }, 100) |
|
|
|
@ -703,7 +713,7 @@ export default { |
|
|
|
|
|
|
|
//选中(取消勾选)start ------------------------- |
|
|
|
this.multipleSelection = [] |
|
|
|
this.patientRegister.prList.forEach(e => { |
|
|
|
this.tableData.forEach(e => { |
|
|
|
if (e.choosed) { |
|
|
|
this.multipleSelection.push(deepCopy(e)) |
|
|
|
} |
|
|
|
@ -734,7 +744,7 @@ export default { |
|
|
|
.then((res) => { |
|
|
|
if (res.code != -1) { |
|
|
|
console.log("操作成功"); |
|
|
|
arrayReduce(this.patientRegister.prList, this.multipleSelection, 'id=id') |
|
|
|
arrayReduce(this.tableData, this.multipleSelection, 'id=id') |
|
|
|
this.setForm(this.patientRegister.patientRegisterRdInit) |
|
|
|
this.getPatientRegisterAbs(); |
|
|
|
} |
|
|
|
@ -843,13 +853,13 @@ export default { |
|
|
|
let oldCount = 0 |
|
|
|
|
|
|
|
if (body.skipCount == 0) { //查询 |
|
|
|
this.patientRegister.prList = []; |
|
|
|
this.tableData = []; |
|
|
|
} else { |
|
|
|
// 懒加载 ,原数据集不用清空 |
|
|
|
oldCount = this.patientRegister.prList.length |
|
|
|
oldCount = this.tableData.length |
|
|
|
} |
|
|
|
curLoad.forEach((e, index) => { |
|
|
|
this.patientRegister.prList.push(Object.assign({ index: Number(oldCount) + Number(index), choosed: false }, e)) |
|
|
|
this.tableData.push(Object.assign({ index: Number(oldCount) + Number(index), choosed: false }, e)) |
|
|
|
}) |
|
|
|
|
|
|
|
//如果 有选中 记录,则刷新其对应的组合项目 |
|
|
|
@ -954,7 +964,7 @@ export default { |
|
|
|
} |
|
|
|
//取消勾选,换成选择的方式 start |
|
|
|
this.multipleSelection = []; |
|
|
|
this.patientRegister.prList.forEach((e) => { |
|
|
|
this.tableData.forEach((e) => { |
|
|
|
if (e.choosed) this.multipleSelection.push(e); |
|
|
|
}); |
|
|
|
//取消勾选,换成选择的方式 end |
|
|
|
@ -977,7 +987,7 @@ export default { |
|
|
|
} |
|
|
|
//取消勾选,换成选择的方式 start |
|
|
|
this.multipleSelection = []; |
|
|
|
this.patientRegister.prList.forEach((e) => { |
|
|
|
this.tableData.forEach((e) => { |
|
|
|
if (e.choosed) this.multipleSelection.push(e); |
|
|
|
}); |
|
|
|
//取消勾选,换成选择的方式 end |
|
|
|
@ -1269,7 +1279,7 @@ export default { |
|
|
|
//console.log('watch:patientRegister.query.customerOrgId:',newVal,oldVal) |
|
|
|
// 单位变化时,清除当前列表信息 |
|
|
|
if (newVal && newVal != oldVal) { |
|
|
|
this.patientRegister.prList = [] |
|
|
|
this.tableData = [] |
|
|
|
this.dataTransOpts.tableM.register_asbitem = [] |
|
|
|
} |
|
|
|
} |
|
|
|
|