|
@@ -1,142 +1,117 @@
|
|
|
<template>
|
|
|
- <el-container>
|
|
|
- <el-aside width="40%">
|
|
|
- <page-layer>
|
|
|
- <template #header>
|
|
|
- 医生:
|
|
|
- <SelectStaffCode v-model="asideQueryParam" :name="['code','nameDoctor']"></SelectStaffCode>
|
|
|
- <el-button icon="Search" type="primary" @click="queryInfo">查询</el-button>
|
|
|
- <el-button type="success" @click="addInfo">添加</el-button>
|
|
|
+ <div class="layout_container layout-horizontal">
|
|
|
+ <div class="m-r_8px layout_container" style="width: max-content">
|
|
|
+ <header>
|
|
|
+ 医生:
|
|
|
+ <SelectStaffCode v-model="asideQueryParam" :name="['code','nameDoctor']"></SelectStaffCode>
|
|
|
+ <el-button icon="Search" type="primary" @click="queryInfo">查询</el-button>
|
|
|
+ <el-button type="success" @click="addInfo">添加</el-button>
|
|
|
+ </header>
|
|
|
+ <div class="layout_main layout_el-table">
|
|
|
+ <el-table :data="asideTableData"
|
|
|
+ highlight-current-row
|
|
|
+ @row-click="selectDoctor">
|
|
|
+ <el-table-column label="医生编码" prop="code"></el-table-column>
|
|
|
+ <el-table-column label="医生工号" prop="codeDoctor"></el-table-column>
|
|
|
+ <el-table-column label="医生姓名" prop="nameDoctor"></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <el-pagination
|
|
|
+ small
|
|
|
+ :current-page="asideQueryParam.currentPage"
|
|
|
+ :page-size="asideQueryParam.pageSize"
|
|
|
+ :page-sizes="[20, 30, 40, 50]"
|
|
|
+ :total="asideQueryParam.total"
|
|
|
+ layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ style="margin-top: 5px"
|
|
|
+ @size-change="handleSizeChange"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ ></el-pagination>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layout_flex_1-x layout_container layout-horizontal">
|
|
|
+ <div class="layout_flex_1-x layout_el-table">
|
|
|
+ <el-tag style="width: max-content"> 请选择要配置的手术</el-tag>
|
|
|
+ <div>
|
|
|
+ 关键字:
|
|
|
+ <el-input v-model="leftQueryParam.code" placeholder="支持手术编码,名称,拼音" clearable
|
|
|
+ prefix-icon="Search" style="width: 170px"/>
|
|
|
+ <el-button icon="Search" type="primary" @click="queryidc9Info">查询</el-button>
|
|
|
+ </div>
|
|
|
+ <el-table :data="leftTableData" @selection-change="handleSelectionChange" highlight-current-row>
|
|
|
+ <el-table-column type="selection" width="55"/>
|
|
|
+ <el-table-column label="手术编码" prop="code"></el-table-column>
|
|
|
+ <el-table-column label="手术名称" prop="name" show-overflow-tooltip></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <el-divider direction="vertical" border-style="dashed" style="margin: 0 10px; height: 100%"></el-divider>
|
|
|
+ </div>
|
|
|
+ <div class="layout_flex_1-x layout_el-table">
|
|
|
+ <el-tag style="width: max-content"> 请选择要配置的手术</el-tag>
|
|
|
+ <el-button style="width: max-content" type="success" @click="saveInfo">保存</el-button>
|
|
|
+ <el-table :data="mainTableData" highlight-current-row>
|
|
|
+ <el-table-column label="手术编码" prop="codeOp"></el-table-column>
|
|
|
+ <el-table-column label="手术名称" prop="codeOpName" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column label="操作">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-popconfirm
|
|
|
+ cancel-button-text="取消"
|
|
|
+ confirm-button-text="确认"
|
|
|
+ icon="Info"
|
|
|
+ iconColor="#F56C6C"
|
|
|
+ title="是否删除"
|
|
|
+ @confirm="delClick(scope.$index, scope.row)"
|
|
|
+ >
|
|
|
+ <template #reference>
|
|
|
+ <el-button size="small" type="danger">删除</el-button>
|
|
|
</template>
|
|
|
- <template #main>
|
|
|
- <el-table :data="asideTableData"
|
|
|
- :height="innerHeight - 100" highlight-current-row @row-click="selectDoctor">
|
|
|
- <el-table-column label="医生编码" prop="code"></el-table-column>
|
|
|
- <el-table-column label="医生工号" prop="codeDoctor"></el-table-column>
|
|
|
- <el-table-column label="医生姓名" prop="nameDoctor"></el-table-column>
|
|
|
- </el-table>
|
|
|
- <el-pagination
|
|
|
- small
|
|
|
- :current-page="asideQueryParam.currentPage"
|
|
|
- :page-size="asideQueryParam.pageSize"
|
|
|
- :page-sizes="[20, 30, 40, 50]"
|
|
|
- :total="asideQueryParam.total"
|
|
|
- layout="total, sizes, prev, pager, next, jumper"
|
|
|
- style="margin-top: 5px"
|
|
|
- @size-change="handleSizeChange"
|
|
|
- @current-change="handleCurrentChange"
|
|
|
- ></el-pagination>
|
|
|
- </template>
|
|
|
- </page-layer>
|
|
|
- </el-aside>
|
|
|
- <el-main>
|
|
|
- <div style="width: 100%;height: 100%;display: flex">
|
|
|
- <div style="width: 45%">
|
|
|
- <div style="color: #1294fb;text-align: center;margin-bottom: 5px">
|
|
|
- 请选择要配置的手术
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <div>
|
|
|
- 关键字:
|
|
|
- <el-input v-model="leftQueryParam.code" placeholder="支持手术编码,名称,拼音" clearable prefix-icon="Search" style="width: 170px"/>
|
|
|
- <el-button icon="Search" type="primary" @click="queryidc9Info">查询</el-button>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <el-table :data="leftTableData"
|
|
|
- :height="innerHeight - 100" @selection-change="handleSelectionChange" highlight-current-row>
|
|
|
- <el-table-column type="selection" width="55" />
|
|
|
- <el-table-column label="手术编码" prop="code"></el-table-column>
|
|
|
- <el-table-column label="手术名称" prop="name" show-overflow-tooltip></el-table-column>
|
|
|
- </el-table>
|
|
|
-
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <el-pagination
|
|
|
- small
|
|
|
- :current-page="leftQueryParam.currentPage"
|
|
|
- :page-size="leftQueryParam.pageSize"
|
|
|
- :page-sizes="[20, 30, 40, 50]"
|
|
|
- :total="leftQueryParam.total"
|
|
|
- layout="total, sizes, prev, pager, next"
|
|
|
- style="margin-top: 5px"
|
|
|
- @size-change="leftHandleSizeChange"
|
|
|
- @current-change="leftHandleCurrentChange"
|
|
|
- ></el-pagination>
|
|
|
- </div>
|
|
|
- <div style="width: 5%;height:89%;display: flex;align-items: center">
|
|
|
- <div style="width: 10px;height: 10px;padding-left: 12px;cursor: pointer" @click="addRight">></div>
|
|
|
- </div>
|
|
|
- <div style="width: 45%">
|
|
|
- <div style="color: #1294fb;text-align: center;margin-bottom: 5px">
|
|
|
- 已配置的手术
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <div>
|
|
|
- <el-button type="success" @click="saveInfo">保存</el-button>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <el-table :data="mainTableData"
|
|
|
- :height="innerHeight - 100" highlight-current-row>
|
|
|
- <el-table-column label="手术编码" prop="codeOp"></el-table-column>
|
|
|
- <el-table-column label="手术名称" prop="codeOpName" show-overflow-tooltip></el-table-column>
|
|
|
- <el-table-column label="操作">
|
|
|
- <template #default="scope">
|
|
|
- <el-popconfirm
|
|
|
- cancel-button-text="取消"
|
|
|
- confirm-button-text="确认"
|
|
|
- icon="Info"
|
|
|
- iconColor="#F56C6C"
|
|
|
- title="是否删除"
|
|
|
- @confirm="delClick(scope.$index, scope.row)"
|
|
|
- >
|
|
|
- <template #reference>
|
|
|
- <el-button size="small" type="danger">删除</el-button>
|
|
|
- </template>
|
|
|
- </el-popconfirm>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- </div>
|
|
|
-
|
|
|
- </el-main>
|
|
|
- </el-container>
|
|
|
+ </el-popconfirm>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
<script setup name="OprtDoctorLevel">
|
|
|
import SelectStaffCode from '@/components/SelectStaffCode.vue'
|
|
|
-import {queryOpLevelManagement, saveOpLevelManagement,queryOprtInfo,getEmpCodeRs,queryZdIcd9Cm3} from '@/api/dictionary/oprt-lecel'
|
|
|
+import {
|
|
|
+ queryOpLevelManagement,
|
|
|
+ saveOpLevelManagement,
|
|
|
+ queryOprtInfo,
|
|
|
+ getEmpCodeRs,
|
|
|
+ queryZdIcd9Cm3
|
|
|
+} from '@/api/dictionary/oprt-lecel'
|
|
|
import {ElMessage} from 'element-plus'
|
|
|
import PageLayer from "@/layout/PageLayer";
|
|
|
+
|
|
|
const innerHeight = window.innerHeight
|
|
|
const asideQueryParam = ref({
|
|
|
- nameDoctor:'',
|
|
|
- codeDoctor:'',
|
|
|
- code:'',
|
|
|
- currentPage:1,
|
|
|
- pageSize:30,
|
|
|
- total:0,
|
|
|
+ nameDoctor: '',
|
|
|
+ codeDoctor: '',
|
|
|
+ code: '',
|
|
|
+ currentPage: 1,
|
|
|
+ pageSize: 30,
|
|
|
+ total: 0,
|
|
|
})
|
|
|
|
|
|
|
|
|
const leftQueryParam = ref({
|
|
|
- code:'',
|
|
|
- opScaleList:[3,4],
|
|
|
- currentPage:1,
|
|
|
- pageSize:30,
|
|
|
- total:0,
|
|
|
+ code: '',
|
|
|
+ opScaleList: [3, 4],
|
|
|
+ currentPage: 1,
|
|
|
+ pageSize: 30,
|
|
|
+ total: 0,
|
|
|
})
|
|
|
|
|
|
const mainQueryParam = ref({
|
|
|
- code:'',
|
|
|
- codeOp:'',
|
|
|
- codeOpName:'',
|
|
|
- currentPage:1,
|
|
|
- pageSize:100000,
|
|
|
- total:0,
|
|
|
+ code: '',
|
|
|
+ codeOp: '',
|
|
|
+ codeOpName: '',
|
|
|
+ currentPage: 1,
|
|
|
+ pageSize: 100000,
|
|
|
+ total: 0,
|
|
|
})
|
|
|
|
|
|
|
|
@@ -145,115 +120,118 @@ const asideTableData = ref([])
|
|
|
const mainTableData = ref([])
|
|
|
const leftTableData = ref([])
|
|
|
|
|
|
-const queryidc9Info = ()=>{
|
|
|
- queryZdIcd9Cm3(leftQueryParam.value).then((res)=>{
|
|
|
- leftTableData.value = res.records
|
|
|
- leftQueryParam.value.total = res.total
|
|
|
- })
|
|
|
+const queryidc9Info = () => {
|
|
|
+ queryZdIcd9Cm3(leftQueryParam.value).then((res) => {
|
|
|
+ leftTableData.value = res.records
|
|
|
+ leftQueryParam.value.total = res.total
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
const selectionDoctor = ref({})
|
|
|
|
|
|
-const selectDoctor = (row)=>{
|
|
|
- selectionDoctor.value = row
|
|
|
- mainQueryParam.value.code = row.code
|
|
|
- queryidc9Info()
|
|
|
- oprtQueryInfo()
|
|
|
+const selectDoctor = (row) => {
|
|
|
+ selectionDoctor.value = row
|
|
|
+ mainQueryParam.value.code = row.code
|
|
|
+ queryidc9Info()
|
|
|
+ oprtQueryInfo()
|
|
|
}
|
|
|
|
|
|
-const queryInfo = ()=>{
|
|
|
- queryOpLevelManagement(asideQueryParam.value).then((res)=>{
|
|
|
- asideTableData.value = res.records
|
|
|
- asideQueryParam.value.total = res.total
|
|
|
- })
|
|
|
+const queryInfo = () => {
|
|
|
+ queryOpLevelManagement(asideQueryParam.value).then((res) => {
|
|
|
+ asideTableData.value = res.records
|
|
|
+ asideQueryParam.value.total = res.total
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
-const oprtQueryInfo=()=>{
|
|
|
- queryOprtInfo(mainQueryParam.value).then((res)=>{
|
|
|
- mainTableData.value = res.records
|
|
|
- })
|
|
|
+const oprtQueryInfo = () => {
|
|
|
+ queryOprtInfo(mainQueryParam.value).then((res) => {
|
|
|
+ mainTableData.value = res.records
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
-const addInfo=()=>{
|
|
|
- getEmpCodeRs(asideQueryParam.value.code).then((res)=>{
|
|
|
- asideQueryParam.value.codeDoctor =res
|
|
|
- asideTableData.value.unshift({code:asideQueryParam.value.code,codeDoctor:asideQueryParam.value.codeDoctor,nameDoctor:asideQueryParam.value.nameDoctor})
|
|
|
+const addInfo = () => {
|
|
|
+ getEmpCodeRs(asideQueryParam.value.code).then((res) => {
|
|
|
+ asideQueryParam.value.codeDoctor = res
|
|
|
+ asideTableData.value.unshift({
|
|
|
+ code: asideQueryParam.value.code,
|
|
|
+ codeDoctor: asideQueryParam.value.codeDoctor,
|
|
|
+ nameDoctor: asideQueryParam.value.nameDoctor
|
|
|
})
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
const handleSizeChange = (val) => {
|
|
|
- asideQueryParam.value.pageSize = val
|
|
|
- queryInfo()
|
|
|
+ asideQueryParam.value.pageSize = val
|
|
|
+ queryInfo()
|
|
|
}
|
|
|
|
|
|
const leftHandleSizeChange = (val) => {
|
|
|
- leftQueryParam.value.pageSize = val
|
|
|
- queryidc9Info()
|
|
|
+ leftQueryParam.value.pageSize = val
|
|
|
+ queryidc9Info()
|
|
|
}
|
|
|
|
|
|
const handleCurrentChange = (val) => {
|
|
|
- asideQueryParam.value.currentPage = val
|
|
|
- queryInfo()
|
|
|
+ asideQueryParam.value.currentPage = val
|
|
|
+ queryInfo()
|
|
|
}
|
|
|
|
|
|
const leftHandleCurrentChange = (val) => {
|
|
|
- leftQueryParam.value.currentPage = val
|
|
|
- queryidc9Info()
|
|
|
+ leftQueryParam.value.currentPage = val
|
|
|
+ queryidc9Info()
|
|
|
}
|
|
|
|
|
|
const multipleSelection = ref([])
|
|
|
-const handleSelectionChange=(val)=>{
|
|
|
- multipleSelection.value = val
|
|
|
+const handleSelectionChange = (val) => {
|
|
|
+ multipleSelection.value = val
|
|
|
}
|
|
|
|
|
|
-const addRight = ()=>{
|
|
|
- if(multipleSelection.value.length <=0){
|
|
|
- ElMessage.error('请至少选择一条手术')
|
|
|
- return
|
|
|
+const addRight = () => {
|
|
|
+ if (multipleSelection.value.length <= 0) {
|
|
|
+ ElMessage.error('请至少选择一条手术')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for (let i = multipleSelection.value.length - 1; i >= 0; i--) {
|
|
|
+ let temp = {
|
|
|
+ codeOp: multipleSelection.value[i].code,
|
|
|
+ codeOpName: multipleSelection.value[i].name,
|
|
|
}
|
|
|
- for (let i = multipleSelection.value.length-1; i >= 0 ; i--) {
|
|
|
- let temp = {
|
|
|
- codeOp:multipleSelection.value[i].code,
|
|
|
- codeOpName:multipleSelection.value[i].name,
|
|
|
- }
|
|
|
- if(isInclude(mainTableData.value,multipleSelection.value[i].code)){
|
|
|
- ElMessage.error(`手术编码${multipleSelection.value[i].code}已有,请不要重复添加`)
|
|
|
- return
|
|
|
- }
|
|
|
- mainTableData.value.unshift(temp)
|
|
|
+ if (isInclude(mainTableData.value, multipleSelection.value[i].code)) {
|
|
|
+ ElMessage.error(`手术编码${multipleSelection.value[i].code}已有,请不要重复添加`)
|
|
|
+ return
|
|
|
}
|
|
|
+ mainTableData.value.unshift(temp)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
|
-function isInclude(data,code){
|
|
|
- for (let i = 0; i <data.length ; i++) {
|
|
|
- if(data[i].codeOp===code){
|
|
|
- return true
|
|
|
- }
|
|
|
+function isInclude(data, code) {
|
|
|
+ for (let i = 0; i < data.length; i++) {
|
|
|
+ if (data[i].codeOp === code) {
|
|
|
+ return true
|
|
|
}
|
|
|
- return false
|
|
|
+ }
|
|
|
+ return false
|
|
|
}
|
|
|
|
|
|
-const saveInfo =()=>{
|
|
|
+const saveInfo = () => {
|
|
|
|
|
|
- let param = {
|
|
|
- code:selectionDoctor.value.code,
|
|
|
- codeDoctor:selectionDoctor.value.codeDoctor,
|
|
|
- nameDoctor:selectionDoctor.value.nameDoctor,
|
|
|
- saveData:mainTableData.value
|
|
|
- }
|
|
|
- saveOpLevelManagement(param).then((res)=>{
|
|
|
+ let param = {
|
|
|
+ code: selectionDoctor.value.code,
|
|
|
+ codeDoctor: selectionDoctor.value.codeDoctor,
|
|
|
+ nameDoctor: selectionDoctor.value.nameDoctor,
|
|
|
+ saveData: mainTableData.value
|
|
|
+ }
|
|
|
+ saveOpLevelManagement(param).then((res) => {
|
|
|
|
|
|
- })
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
-const delClick=(index,row)=>{
|
|
|
- mainTableData.value.splice(index, 1)
|
|
|
+const delClick = (index, row) => {
|
|
|
+ mainTableData.value.splice(index, 1)
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|
|
|
|
|
|
-</style>
|
|
|
+</style>
|