| | |
| | | data: updateOrderRemarkVos |
| | | }) |
| | | } |
| | | |
| | | // 报告核收 |
| | | export function heXiaoByIds(orderIds) { |
| | | return request({ |
| | | url: '/hosp/order/heXiaoByIds/'+orderIds, |
| | | method: 'post', |
| | | // data: orderIds |
| | | }) |
| | | } |
| | | |
New file |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | // 查询会诊申请记录 |
| | | export function listHzlog(query) { |
| | | return request({ |
| | | url: '/hosp/hzlog/list', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // 查询会诊申请记录 |
| | | export function getHzlog(id) { |
| | | return request({ |
| | | url: '/hosp/hzlog/' + id, |
| | | method: 'get' |
| | | }) |
| | | } |
| | | |
| | | // 新增会诊申请记录 |
| | | |
| | | export function addHzlog(data) { |
| | | return request({ |
| | | url: '/hosp/hzlog', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // 修改会诊申请记录 |
| | | |
| | | export function updateHzlog(data) { |
| | | return request({ |
| | | url: '/hosp/hzlog', |
| | | method: 'put', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // 删除会诊申请记录 |
| | | |
| | | export function delHzlog(id) { |
| | | return request({ |
| | | url: '/hosp/hzlog/' + id, |
| | | method: 'delete' |
| | | }) |
| | | } |
New file |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | // 查询会诊回复记录列表 |
| | | export function listReplylog(query) { |
| | | return request({ |
| | | url: '/hosp/replylog/list', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // 查询会诊回复记录详细 |
| | | export function getReplylog(id) { |
| | | return request({ |
| | | url: '/hosp/replylog/' + id, |
| | | method: 'get' |
| | | }) |
| | | } |
| | | |
| | | // 新增会诊回复记录 |
| | | export function addReplylog(data) { |
| | | return request({ |
| | | url: '/hosp/replylog', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // 修改会诊回复记录 |
| | | export function updateReplylog(data) { |
| | | return request({ |
| | | url: '/hosp/replylog', |
| | | method: 'put', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // 删除会诊回复记录 |
| | | export function delReplylog(id) { |
| | | return request({ |
| | | url: '/hosp/replylog/' + id, |
| | | method: 'delete' |
| | | }) |
| | | } |
| | | |
| | | |
| | | // 查询会诊回复记录列表 |
| | | export function hzHasDept(query) { |
| | | return request({ |
| | | url: '/hosp/hzlog/hzHasDept', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
New file |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | // 新增 |
| | | export function memo(data) { |
| | | return request({ |
| | | url: '/mall/memo', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | // 修改 |
| | | export function eictmemo(data) { |
| | | return request({ |
| | | url: '/mall/memo', |
| | | method: 'put', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // 删除 |
| | | export function delememo(id) { |
| | | return request({ |
| | | url: '/mall/memo/' + id, |
| | | method: 'delete', |
| | | }) |
| | | } |
| | | |
| | | |
| | | // 查询 |
| | | export function listByUserAndDate(query) { |
| | | return request({ |
| | | url: '/mall/memo/listByUserAndDate', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | // 查询 |
| | | export function listByDate(query) { |
| | | return request({ |
| | | url: '/mall/memo/listByDate', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | |
| | | method: 'get', |
| | | }) |
| | | } |
| | | |
| | | // 获取所有医生信息数据列表接口 |
| | | export function getUserList(query) { |
| | | return request({ |
| | | url: '/mall/schedulingTime/getUserListBySchedulingTimt', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | |
| | | // 获取排班信息临时数据接口 |
| | | export function getScheduling(data) { |
| | | return request({ |
| | | url: '/mall/schedulingTime/getSchedulingInformation', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // 新增医生排班信息数据接口 |
| | | export function timeConfig(mallSchedulingTimes) { |
| | | return request({ |
| | | url: 'mall/schedulingTime', |
| | | method: 'post', |
| | | data: mallSchedulingTimes |
| | | }) |
| | | } |
| | | |
| | | // 停诊接口 |
| | | export function updateIsClose(data) { |
| | | return request({ |
| | | url: '/mall/schedulingTime/updateIsClose', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | |
| | | // 人员类别 |
| | | export function roleList() { |
| | | return request({ |
| | | url: '/system/role/list', |
| | | method: 'get', |
| | | }) |
| | | } |
| | |
| | | }) |
| | | } |
| | | |
| | | // 查询子部门 |
| | | export function getChildList() { |
| | | return request({ |
| | | url: '/system/dept/getChildList', |
| | | method: 'get' |
| | | }) |
| | | } |
| | |
| | | </el-dropdown-menu> |
| | | </el-dropdown> |
| | | </div> |
| | | <div style="margin-left: 5px;"> |
| | | <el-tooltip content="通知公告" effect="dark"> |
| | | <router-link :to="{ path: '/notice' }"> |
| | | <i class="el-icon-message-solid"></i> |
| | | </router-link> |
| | | |
| | | </el-tooltip> |
| | | |
| | | </div> |
| | | |
| | | <div> |
| | | <template v-if="device !== 'mobile'"> |
| | |
| | | <div :class="{'has-logo':showLogo}" :style="{ backgroundColor: settings.sideTheme === 'theme-dark' ? variables.menuBackground : variables.menuLightBackground }"> |
| | | <logo v-if="showLogo" :collapse="isCollapse" /> |
| | | <el-scrollbar :class="settings.sideTheme" wrap-class="scrollbar-wrapper"> |
| | | <!-- :default-openeds="['/tijian']" --> |
| | | <el-menu |
| | | :default-openeds="['/tijian']" |
| | | |
| | | :default-active="activeMenu" |
| | | :collapse="isCollapse" |
| | | :background-color="settings.sideTheme === 'theme-dark' ? variables.menuBackground : variables.menuLightBackground" |
| | |
| | | |
| | | import { monitorZoom } from "@/utils/devicePixelRatio.js"; |
| | | const m = monitorZoom(); |
| | | console.log(window.screen.width) |
| | | console.log(window.devicePixelRatio) |
| | | if (window.screen.width * window.devicePixelRatio >= 3840) { |
| | | console.log(111111) |
| | | document.body.style.zoom = 100 / (Number(m) / 2); // 屏幕为 4k 时 |
| | | } else { |
| | | console.log(22222) |
| | | document.body.style.zoom = 100 / Number(m); |
| | | console.log(document.body.style.zoom) |
| | | } |
| | | |
| | | // 自定义表格工具组件 |
| | |
| | | name:'rmer', |
| | | meta: { title: '知识库管理 ', icon: 'dashboard', } |
| | | }, |
| | | { |
| | | path: '/notice', |
| | | component: () => import('@/views/system/notice/index'), |
| | | name:'rmer', |
| | | meta: { title: '通知公告 '} |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | |
| | | :data="checkList" |
| | | ref="table" |
| | | border |
| | | @selection-change="handleSelectionChange" |
| | | style="margin: 20px; width: 98%" |
| | | > |
| | | <el-table-column type="selection" width="40px" align="center" fixed="left" /> |
| | |
| | | align="center" |
| | | prop="tjCompName" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | |
| | | |
| | | /> |
| | | </el-table> |
| | | |
| | | <div class="pag"> |
| | |
| | | |
| | | |
| | | <script> |
| | | import { |
| | | getcheckList, |
| | | getTjdetailList, |
| | | getupdateCheckType, |
| | | getModifiedState, |
| | | getfiedState, |
| | | getState, |
| | | getforceIn, |
| | | gettoPdf, |
| | | getModified, |
| | | } from "@/api/doctor/checkAll"; |
| | | import { getInfo } from "@/api/login"; |
| | | import {getcheckList,heXiaoByIds} from "@/api/doctor/checkAll"; |
| | | import { getCompany, queryCompany } from "@/api/team/tuanti"; |
| | | // import { getDeptAdvice } from "@/api/doctor/check"; |
| | | import { getPdf, revoke } from "@/api/hosp/order"; |
| | | import ViewPdf from "@/components/ViewPdf"; |
| | | |
| | | export default { |
| | |
| | | name: "checkAll", |
| | | data() { |
| | | return { |
| | | remarks: "", |
| | | remark: "", |
| | | proIds: "", |
| | | xiaojie: "", |
| | | isdisabled: false, |
| | | dialogVisible: false, |
| | | src: "", |
| | | url: "", |
| | | userId: "", |
| | | flag: true, |
| | | bill: null, |
| | | numberList: [], |
| | | dialogVisible: false, |
| | | pickerOptions: { |
| | | shortcuts: [ |
| | | { |
| | |
| | | startTime: [], |
| | | textarea1: "", |
| | | loading: true, |
| | | // 当前用户选中的值 |
| | | selectLettercurrent: " ", |
| | | // 抽屉打开方式 |
| | | drawer: false, |
| | | tableAll: {}, |
| | | tjNumber: "", |
| | | // 全部小结 |
| | | DeptadviceAll: [], |
| | | MsgId: "", |
| | | Deptobj: "", |
| | | // 点击参数 |
| | | changedate: [], |
| | | orderIds: [], |
| | | status: {}, |
| | | // 查询参数 |
| | | queryParams: { |
| | |
| | | compId: null, |
| | | name: null, |
| | | checkStatus:null, |
| | | }, |
| | | |
| | | // 查询参数 |
| | | queryParam: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | company: undefined, |
| | | companyId: undefined, |
| | | pacId: undefined, |
| | | pacName: undefined, |
| | | jobNo: undefined, |
| | | name: undefined, |
| | | sex: undefined, |
| | | idCard: undefined, |
| | | age: undefined, |
| | | birthday: undefined, |
| | | position: undefined, |
| | | department: undefined, |
| | | departmentId: undefined, |
| | | phoe: undefined, |
| | | address: undefined, |
| | | marriage: undefined, |
| | | nation: undefined, |
| | | email: undefined, |
| | | tjCategory: undefined, |
| | | payType: undefined, |
| | | }, |
| | | }; |
| | | }, |
| | |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | |
| | | viewReport(row) { |
| | | const tjNumber = row.tjNumber; |
| | | const flag = true; |
| | | getPdf(tjNumber, flag).then((response) => { |
| | | if (response.size === 0) { |
| | | const loading = this.$loading({ |
| | | lock: true, |
| | | text: 'Loading', |
| | | spinner: 'el-icon-loading', |
| | | background: 'rgba(0, 0, 0, 0.7)' |
| | | }); |
| | | setTimeout(() => { |
| | | loading.close(); |
| | | }, 3000); |
| | | this.$message.msgSuccess("报告正在生成,请两分钟后预览!"); |
| | | |
| | | } else { |
| | | this.dialogVisible = true; |
| | | |
| | | this.url = window.webkitURL.createObjectURL(response); //将后端返回的blob文件读取出url |
| | | } |
| | | }); |
| | | }, |
| | | // viewReport(row) { |
| | | // const tjNumber = row.tjNumber; |
| | | // const viewNum = "792997692059705344"; |
| | | // const params = { viewNum, tjNumber }; |
| | | // hasReportEnd(tjNumber).then((res) => { |
| | | // if (res == 1) { |
| | | // this.$tab.openPage("体检报告", "/report/viewReport", params); |
| | | // } else { |
| | | // this.$message.error("该用户体检暂未完成,无法打印体检报告!"); |
| | | // } |
| | | // }); |
| | | // }, |
| | | downLoadFileImg(row) { |
| | | const tjNumber = row.tjNumber; |
| | | const flag = true; |
| | | getPdf(tjNumber, flag).then((response) => { |
| | | this.url = window.webkitURL.createObjectURL(response); //将后端返回的blob文件读取出url |
| | | }); |
| | | handleSelectionChange(selection) { |
| | | this.orderIds = selection.map((item) => item.orderId); |
| | | this.single = selection.length !== 1; |
| | | this.multiple = !selection.length; |
| | | }, |
| | | |
| | | // 单选按钮 |
| | | radioChange(value) { |
| | | this.loading = true; |
| | | this.queryParams.checkStatus = value; |
| | | getcheckList(this.queryParams).then((response) => { |
| | | if (response.data) { |
| | | this.checkList = response.data.customers; |
| | | this.total = response.data.total; |
| | | } else { |
| | | this.checkList = []; |
| | | } |
| | | this.loading = false; |
| | | radioChange() { |
| | | heXiaoByIds(this.orderIds).then((response) => { |
| | | this.$modal.msgSuccess("报告已核收!请前往体检记录页面查看!"); |
| | | }); |
| | | }, |
| | | |
| | |
| | | this.resetForm("tableList"); |
| | | this.submitForm(); |
| | | }, |
| | | |
| | | // 点击详情 |
| | | handleClick(row) { |
| | | this.tableAll = row; |
| | | if (this.tableAll.cusSex === 0) { |
| | | this.tableAll.cusSex = "男"; |
| | | } |
| | | if (this.tableAll.cusSex === 1) { |
| | | this.tableAll.cusSex = "女"; |
| | | } |
| | | this.tjNumber = this.tableAll.tjNumber; |
| | | getState(this.tjNumber).then((res) => { |
| | | this.status = res.data; |
| | | if (this.status.status === "1") { |
| | | getInfo().then((response) => { |
| | | this.userId = response.user.userId; |
| | | if (this.userId) { |
| | | let data = { |
| | | userId: this.userId, |
| | | tjNumber: this.tjNumber, |
| | | state: 0, |
| | | }; |
| | | getModifiedState(data).then((res) => { |
| | | this.MsgId = res.msg; |
| | | this.drawer = true; |
| | | getupdateCheckType(this.tjNumber).then((response) => { |
| | | this.changedate = response.data; |
| | | this.changedate.forEach((item) => { |
| | | this.textarea1 = item.checkAdvice; |
| | | }); |
| | | if (this.changedate) { |
| | | for (let i = 0; i < this.changedate.length; i++) { |
| | | this.remark = this.changedate[i].remark; |
| | | } |
| | | this.changedate.forEach((item) => { |
| | | // this.remark = item.remark; |
| | | item.sons.forEach((item3) => { |
| | | if (item3.standard.tjStandardGtValue === null) { |
| | | item3.standard.tjStandardGtValue = ""; |
| | | } |
| | | if (item3.standard.tjStandardLtValue === null) { |
| | | item3.standard.tjStandardLtValue = ""; |
| | | } |
| | | }); |
| | | // item.remark = ""; |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | | type: "warning ", |
| | | message: "该客户没有体检项目数据", |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | this.$confirm( |
| | | "" + this.status.name + "正在修改该信息, 是否强制进去?", |
| | | "提示", |
| | | { |
| | | confirmButtonText: "是", |
| | | cancelButtonText: "否", |
| | | type: "warning", |
| | | } |
| | | ) |
| | | .then(() => { |
| | | getInfo().then((response) => { |
| | | this.userId = response.user.userId; |
| | | if (this.userId) { |
| | | let data = { |
| | | userId: this.userId, |
| | | tjNumber: this.tjNumber, |
| | | state: 0, |
| | | }; |
| | | getforceIn(data).then((res) => { |
| | | this.MsgId = res.msg; |
| | | this.drawer = true; |
| | | getupdateCheckType(this.tjNumber).then((response) => { |
| | | this.changedate = response.data; |
| | | if (this.changedate) { |
| | | for (let i = 0; i < this.changedate.length; i++) { |
| | | this.remark = this.changedate[i].remark; |
| | | } |
| | | this.changedate.forEach((item) => { |
| | | this.textarea1 = item.checkAdvice; |
| | | |
| | | // this.remark = item.remark; |
| | | item.sons.forEach((item3) => { |
| | | if (item3.standard.tjStandardGtValue === null) { |
| | | item3.standard.tjStandardGtValue = ""; |
| | | } |
| | | if (item3.standard.tjStandardLtValue === null) { |
| | | item3.standard.tjStandardLtValue = ""; |
| | | } |
| | | }); |
| | | // item.remark = ""; |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | | type: "warning ", |
| | | message: "该客户没有体检项目数据", |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: "info", |
| | | message: "已取消进入", |
| | | }); |
| | | }); |
| | | this.drawer = false; |
| | | } |
| | | }); |
| | | |
| | | // 获取小结 |
| | | // getDeptAdvice().then((response) => { |
| | | // response.data.forEach((item) => { |
| | | // this.DeptadviceAll = item; |
| | | // }); |
| | | // }); |
| | | }, |
| | | // 撤销 |
| | | getRevoke(row) { |
| | | const tjNumber = row.tjNumber; |
| | | revoke(tjNumber).then((response) => { |
| | | this.$modal.msgSuccess("撤回成功"); |
| | | }); |
| | | }, |
| | | |
| | | // 是否关闭弹窗 |
| | | handleClose(done) { |
| | | if (this.loading) { |
| | | return; |
| | | } |
| | | this.$confirm("确定要提交吗?") |
| | | .then((_) => { |
| | | this.loading = true; |
| | | this.timer = setTimeout(() => { |
| | | done(); |
| | | this.determine(); |
| | | // 动画关闭需要一定的时间 |
| | | setTimeout(() => { |
| | | this.loading = false; |
| | | }, 400); |
| | | }, 2000); |
| | | }) |
| | | .catch((_) => { |
| | | this.drawer = false; |
| | | let data = { |
| | | userId: this.userId, |
| | | tjNumber: this.tjNumber, |
| | | state: 1, |
| | | id: this.MsgId, |
| | | }; |
| | | getfiedState(data).then((res) => {}); |
| | | }); |
| | | }, |
| | | |
| | | // 生成报告 |
| | | // generate(row) { |
| | | // const tjNumber = row.tjNumber; |
| | | // getGenerate(tjNumber).then((response) => { |
| | | // this.$modal.msgSuccess("生成成功"); |
| | | // }); |
| | | // }, |
| | | // xiAoJieChange(event) { |
| | | // if (event) { |
| | | // this.changedate.forEach((item) => { |
| | | // item.remark = ""; |
| | | // item.parentAdvice.forEach((item1) => { |
| | | // event.forEach((item2) => { |
| | | // if (item2 == item1.id) { |
| | | // item.remark = item.remark + item1.advice + "。"; |
| | | // } |
| | | // }); |
| | | // }); |
| | | // }); |
| | | // } |
| | | // }, |
| | | |
| | | change(vale) { |
| | | // console.log(this.changedate[index].remark); |
| | | }, |
| | | determine() { |
| | | let tjNumber = this.tableAll.tjNumber; |
| | | let advice = this.textarea1; |
| | | let data = { |
| | | tjNumber, |
| | | advice, |
| | | checkStatus: 1, |
| | | }; |
| | | getTjdetailList(data).then((response) => { |
| | | if (response.code === 200) { |
| | | this.$modal.msgSuccess("提交成功"); |
| | | let tjNumber = this.tjNumber; |
| | | let data = { |
| | | userId: this.userId, |
| | | tjNumber: tjNumber, |
| | | state: 1, |
| | | id: this.MsgId, |
| | | }; |
| | | gettoPdf(tjNumber).then((res) => { |
| | | this.$modal.msgSuccess("已生成报告!请前往体检记录页面查看!"); |
| | | }); |
| | | getfiedState(data).then((res) => { |
| | | this.drawer = false; |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | for (let i = 0; i < this.changedate.length; i++) { |
| | | this.proIds = this.changedate[i].parentId; |
| | | let remarks = this.changedate[i].remark; |
| | | let updateOrderRemarkVos = [ |
| | | { |
| | | tjNumber, |
| | | proId: this.proIds.toString(), |
| | | remarks, |
| | | }, |
| | | ]; |
| | | getModified(updateOrderRemarkVos).then((response) => {}); |
| | | } |
| | | this.submitForm() |
| | | this.$forceUpdate() |
| | | // this.changedate.forEach((item) => { |
| | | // this.proIds = item.parentId; |
| | | // // this.remark = item.remark; |
| | | // }); |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | <el-radio-button label="0">未检</el-radio-button> |
| | | <el-radio-button label="1">已检</el-radio-button> |
| | | </el-radio-group> |
| | | <el-row :gutter="10" class="mb8" style="margin:8px 10px;"> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" |
| | | size="mini" |
| | | @click="radioChange" |
| | | v-hasPermi="['system:notice:add']" |
| | | >会诊申请</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | |
| | | |
| | | <template> |
| | | <el-table :data="tableList" v-loading="loading" ref="table" height="536px" style="margin: 20px; width: 98%" |
| | | border=""> |
| | | <!-- <template slot="empty">数据正在加载中</template> --> |
| | | <el-table-column label="体检号" align="center" prop="tjNumber" width="180px" /> |
| | | <el-table-column label="姓名" align="center" prop="cusName" width="100px" /> |
| | | <el-table-column label="体检号" align="center" prop="tjNumber" width="160px" /> |
| | | <el-table-column label="姓名" align="center" prop="cusName" width="90px" /> |
| | | <el-table-column label="性别" align="center" prop="cusSex" width="60px"> |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.cusSex == '0'">男</span> |
| | |
| | | <span v-if="scope.row.cusSex == '9'">未说明性别</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="出生日期" align="center" prop="cusBrithday" width="120px" /> |
| | | <el-table-column label="电话" align="center" prop="cusPhone" width="120px" /> |
| | | <!-- <el-table-column |
| | | label="状态" |
| | | align="center" |
| | | prop="tjStatus" |
| | | :show-overflow-tooltip="true" |
| | | width="80px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.tjStatus == "1" ? "已检" : "未检" }}</span> |
| | | </template> |
| | | </el-table-column> --> |
| | | |
| | | <el-table-column label="出生日期" align="center" prop="cusBrithday" width="100px" /> |
| | | <el-table-column label="电话" align="center" prop="cusPhone" width="100px" /> |
| | | <el-table-column label="体检类型" align="center" prop="tjType" width="80px" /> |
| | | <el-table-column label="登记时间" align="center" prop="createTime" width="160px" /> |
| | | <el-table-column label="体检时间" align="center" prop="tjTime" width="120px" /> |
| | | <el-table-column label="体检时间" align="center" prop="tjTime" width="100px" /> |
| | | <el-table-column label="未检项" prop="notCheckeds" :show-overflow-tooltip="true" /> |
| | | <el-table-column label="操作" align="center" width="80px"> |
| | | <el-table-column label="操作" align="center" width="130px"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="primary" size="mini" @click="handleClick(scope.row)">详情</el-button> |
| | | <el-button type="primary" icon="el-icon-first-aid-kit" size="mini" @click="Changeapplyfor(scope.row)" |
| | | title="会诊申请" v-if="tjStatus == '1'"></el-button> |
| | | <el-button type="primary" icon="el-icon-share" size="mini" @click="handleClick(scope.row)" |
| | | title="详情"></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body> |
| | | <el-row> |
| | | <el-col :span="7" v-if="hzlogList.length >= 1"> |
| | | <h3>会诊申请记录</h3> |
| | | <el-table :data="hzlogList" style="width: 100%" border> |
| | | <el-table-column label="申请人" align="center" prop="hzDoctorName" width="100px" /> |
| | | <el-table-column label="科室" align="center" prop="hzDeptName" width="260px" /> |
| | | </el-table> |
| | | </el-col> |
| | | <el-col :span="16"> |
| | | <!-- :rules="rules" --> |
| | | <el-form ref="form" :model="form" label-width="80px"> |
| | | <el-form-item label="姓名" prop="cusName"> |
| | | <el-input v-model="form.cusName" placeholder="请输入姓名" disabled /> |
| | | </el-form-item> |
| | | <el-form-item label="体检号" prop="tjNumber"> |
| | | <el-input v-model="form.tjNumber" placeholder="请输入体检号" disabled /> |
| | | </el-form-item> |
| | | <el-form-item label="会诊科室" prop="hzType"> |
| | | <el-radio-group v-model="form.hzType"> |
| | | <el-radio-button label="0">全院会诊</el-radio-button> |
| | | <el-radio-button label="1">科室会诊</el-radio-button> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="选择科室" v-if="form.hzType == '1'"> |
| | | <el-select v-model="form.hzDeptId" multiple filterable style="width: 100%"> |
| | | <el-option v-for="item in deptList" :key="item.deptId" :label="item.deptName" |
| | | :value="item.deptId"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="申请人" prop="hzDoctorId"> |
| | | <el-select v-model="form.hzDoctorId" placeholder="请选择" style="width: 100%" filterable> |
| | | <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="申请时间" prop="createTime"> |
| | | <el-date-picker v-model="form.createTime" type="datetime" placeholder="选择申请时间"> |
| | | </el-date-picker> |
| | | </el-form-item> --> |
| | | </el-form> |
| | | </el-col> |
| | | </el-row> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitFormapply">确 定</el-button> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog :title="title" :visible.sync="foropen" width="1000px" append-to-body> |
| | | <el-row> |
| | | <el-col :span="8" v-if="hasdeptList.length >= 1"> |
| | | <h3 style="text-align: center;">会诊申请记录</h3> |
| | | <el-table :data="hasdeptList" style="width: 100%" border ref="tab" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="50" align="center" /> |
| | | <el-table-column label="申请人" align="center" prop="hzDoctorName" width="100px" /> |
| | | <el-table-column label="科室" align="center" prop="hzDeptName" width="260px" /> |
| | | </el-table> |
| | | </el-col> |
| | | <el-col :span="16" style="padding: 0 10px;"> |
| | | <h3 style="text-align: center;">会诊意见</h3> |
| | | <div v-if="hzReplyLogsList.length >= 1" style="margin-bottom: 10px;"> |
| | | <div v-for="(item, index) in hzReplyLogsList" :key="index" |
| | | style="padding-bottom:5px;border-bottom: 1px solid black;"> |
| | | <!-- <div>会诊科室:{{ item.replyDeptName }}</div> --> |
| | | <div> 医生:{{ item.hzDoctorName }} </div> |
| | | <div>回复:{{ item.replyContent }}</div> |
| | | </div> |
| | | </div> |
| | | <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="textarea"> |
| | | </el-input> |
| | | <div style="padding: 10px 10px;"> |
| | | <el-button type="primary" @click="submitFormreply">回复</el-button> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitFormapply">确 定</el-button> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> --> |
| | | </el-dialog> |
| | | |
| | | <!-- 点击右边弹出层 --> |
| | | <el-drawer :visible.sync="drawer" :with-header="false" size="70%" :before-close="handleClose"> |
| | | <div style="font-size: 14px"> |
| | |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | </div> |
| | | <div style="margin: 10px 10px;" v-if="hasdeptList.length >= 1"> |
| | | <el-button type="primary" size="mini" @click="Changeapply()">会诊申请</el-button> |
| | | </div> |
| | | |
| | | <template> |
| | |
| | | </table> |
| | | |
| | | <div slot="footer" class="dialog-footers"> |
| | | <!-- <el-button type="primary" |
| | | size="mini" |
| | | @click="radioChange" |
| | | v-hasPermi="['system:notice:add']" |
| | | v-show="tjStatus == '1'" |
| | | >会诊申请</el-button> --> |
| | | <el-button type="primary" @click="determine" v-show="tjStatus == '0'">提 交</el-button> |
| | | </div> |
| | | </div> |
| | |
| | | |
| | | <script> |
| | | import Public from "@/components/public"; |
| | | import { getInfo } from "@/api/login"; |
| | | import { |
| | | getProList, |
| | | getSons, |
| | |
| | | getParentId, |
| | | getDeptAdvice, |
| | | } from "@/api/doctor/check"; |
| | | import { |
| | | addReplylog, hzHasDept |
| | | } from "@/api/hosp/replylog"; |
| | | import { listHzlog, addHzlog } from "@/api/hosp/hzlog"; |
| | | import { listUser } from "@/api/system/user"; |
| | | import { getChildList } from "@/api/system/dept"; |
| | | export default { |
| | | dicts: ["sys_user_sex", "sys_yes_no", "tj_result_type"], |
| | | name: "check", |
| | |
| | | selected: false, |
| | | // 遮罩层 |
| | | loading: false, |
| | | open: false, |
| | | foropen: false, |
| | | cateringList: [], |
| | | orderDetailId: "", |
| | | textarea: "", |
| | | title: "", |
| | | hzlogList: [], |
| | | // proDefault: "", |
| | | // dataList: [], |
| | | rows: [], |
| | |
| | | drawerList: [], |
| | | // 获取信息集合 |
| | | tableList: [], |
| | | deptList: [], |
| | | tableAll: {}, |
| | | row: {}, |
| | | allList: [], |
| | | form: { |
| | | createTime: new Date() |
| | | }, |
| | | // 医生 |
| | | doctorName: "", |
| | | // 父项 |
| | |
| | | userList: null, |
| | | // 父项目列表 |
| | | Parent: [], |
| | | hzReplyLogsList: [], |
| | | hasdeptList: [], |
| | | radio: "", |
| | | nums: "", |
| | | proParentList: [], |
| | |
| | | summaryAll: [], |
| | | tjOrderDetailList: [], |
| | | tjOrderDetail: [], |
| | | deptId: "", |
| | | userId: "", |
| | | nickName: "", |
| | | date: new Date(new Date().getTime() + 8 * 3600 * 1000) |
| | | .toJSON() |
| | | .substr(0, 19) |
| | |
| | | this.userList = response.rows; |
| | | } |
| | | ); |
| | | getInfo().then((response) => { |
| | | this.form.hzDoctorId = response.user.userId; |
| | | this.deptId = response.user.deptId; |
| | | this.userId = response.user.userId; |
| | | this.nickName = response.user.nickName; |
| | | }); |
| | | }, |
| | | handleClose() { |
| | | this.$tab.refreshPage(); |
| | |
| | | this.submitForm(); |
| | | }, |
| | | |
| | | Changeapplyfor(row) { |
| | | this.open = true; |
| | | this.form = row |
| | | getChildList().then(res => { |
| | | this.deptList = res.data; |
| | | }) |
| | | |
| | | this.Hzlog(this.form.tjNumber) |
| | | }, |
| | | |
| | | Hzlog(val) { |
| | | let data = { |
| | | tjNumber: val |
| | | } |
| | | listHzlog(data).then(response => { |
| | | this.hzlogList = response.rows; |
| | | this.hzlogList.forEach(item => { |
| | | item.hzDeptName = "" |
| | | if (item.hzType == "0") { |
| | | item.hzDeptName = "全院会诊" |
| | | } else { |
| | | item.hzDeptIdList.forEach(item1 => { |
| | | this.deptList.forEach(item2 => { |
| | | if (item1 == item2.deptId) { |
| | | item.hzDeptName += item2.deptName + "," |
| | | } |
| | | }) |
| | | }) |
| | | } |
| | | }) |
| | | }); |
| | | }, |
| | | |
| | | submitFormapply() { |
| | | let data = {} |
| | | this.userList.forEach(item1 => { |
| | | if (this.form.hzDoctorId == item1.userId) { |
| | | this.form.hzDoctorName = item1.nickName |
| | | } |
| | | }) |
| | | if (this.form.hzDeptId) { |
| | | // let hzDeptId = "" |
| | | // this.form.hzDeptId.forEach(item => { |
| | | // hzDeptId += item + ',' |
| | | // }) |
| | | data = { |
| | | tjNumber: this.form.tjNumber, |
| | | userId: this.form.cusId, |
| | | userName: this.form.cusName, |
| | | hzDeptIdList: this.form.hzDeptId, |
| | | hzDoctorId: this.form.hzDoctorId, |
| | | hzType: this.form.hzType, |
| | | orderId: this.form.orderId, |
| | | hzDoctorName: this.form.hzDoctorName |
| | | } |
| | | } else { |
| | | data = { |
| | | tjNumber: this.form.tjNumber, |
| | | userId: this.form.cusId, |
| | | userName: this.form.cusName, |
| | | hzDoctorId: this.form.hzDoctorId, |
| | | hzType: this.form.hzType, |
| | | orderId: this.form.orderId, |
| | | hzDoctorName: this.form.hzDoctorName |
| | | } |
| | | } |
| | | |
| | | addHzlog(data).then(res => { |
| | | if (res.code == 200) { |
| | | this.$modal.msgSuccess("申请成功"); |
| | | this.form = {} |
| | | this.Hzlog() |
| | | this.radioChange(1) |
| | | } |
| | | }) |
| | | this.open = false; |
| | | }, |
| | | cancel() { |
| | | this.open = false; |
| | | this.foropen = false |
| | | }, |
| | | |
| | | Changeapply() { |
| | | this.foropen = true |
| | | this.Hzlog(this.tableAll.tjNumber) |
| | | |
| | | }, |
| | | submitFormreply() { |
| | | let data = { |
| | | hzId: this.allList[0].id, |
| | | orderId: this.allList[0].orderId, |
| | | tjNumber: this.allList[0].tjNumber, |
| | | userId: this.allList[0].userId, |
| | | userName: this.allList[0].userName, |
| | | replyContent: this.textarea, |
| | | hzDoctorId: this.allList[0].hzDoctorId, |
| | | hzDoctorName: this.allList[0].hzDoctorName, |
| | | hzType: this.allList[0].hzType, |
| | | replyDoctorName: this.nickName, |
| | | replyDeptId: this.deptId, |
| | | replyDoctorId: this.userId |
| | | |
| | | } |
| | | addReplylog(data).then(res => { |
| | | this.$modal.msgSuccess("回复成功"); |
| | | this.getDept(this.allList[0].tjNumber) |
| | | }) |
| | | }, |
| | | |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | if (selection.length > 1) { |
| | | const newRows = selection.filter((it, index) => { |
| | | if (index == selection.length - 1) { |
| | | this.$refs.tab.toggleRowSelection(it, true); |
| | | return true; |
| | | } else { |
| | | this.$refs.tab.toggleRowSelection(it, false); |
| | | return false; |
| | | } |
| | | }); |
| | | // this.allList = [] |
| | | // if(newRows[0].hzReplyLogsList){ |
| | | // this.hzReplyLogsList = newRows[0].hzReplyLogsList |
| | | // } |
| | | // console.log(this.hzReplyLogsList) |
| | | // this.allList = newRows |
| | | }else{ |
| | | this.allList = [] |
| | | if(selection[0].hzReplyLogsList){ |
| | | this.hzReplyLogsList = selection[0].hzReplyLogsList |
| | | }else{ |
| | | this.hzReplyLogsList = [] |
| | | } |
| | | console.log(this.hzReplyLogsList) |
| | | this.allList = selection |
| | | } |
| | | }, |
| | | |
| | | // 点击详情 |
| | | handleClick(row) { |
| | | this.getDept(row.tjNumber) |
| | | this.loading = true; |
| | | this.drawer = true; |
| | | this.tableAll = row; |
| | |
| | | if (this.tableAll.cusSex === 1) { |
| | | this.tableAll.cusSex = "女"; |
| | | } |
| | | |
| | | this.tjNumber = row.tjNumber; |
| | | let num = 0; |
| | | getParentList(this.tjNumber).then((response) => { |
| | |
| | | num = num + 1; |
| | | }); |
| | | }); |
| | | |
| | | getDeptAdvice().then((response) => { |
| | | this.deptAdviceList = response.data; |
| | | }); |
| | |
| | | // }) |
| | | // }); |
| | | }, |
| | | |
| | | getDept(val) { |
| | | let data = { |
| | | tjNumber: val, |
| | | deptId: this.deptId |
| | | } |
| | | hzHasDept(data).then(res => { |
| | | if (res.data) { |
| | | this.hasdeptList = res.data |
| | | this.hasdeptList.forEach(item => { |
| | | item.hzDeptName = "" |
| | | if (item.hzType == "0") { |
| | | item.hzDeptName = "全院会诊" |
| | | } else { |
| | | item.hzDeptIdList.forEach(item1 => { |
| | | this.deptList.forEach(item2 => { |
| | | if (item1 == item2.deptId) { |
| | | item.hzDeptName += item2.deptName + "," |
| | | } |
| | | }) |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | |
| | | }) |
| | | }, |
| | | |
| | | // 按钮点击事件 |
| | | radioChange1(proParentId, item) { |
| | | this.$confirm( |
| | |
| | | id: this.MsgId, |
| | | }; |
| | | gettoPdf(tjNumber).then((res) => { |
| | | this.$modal.msgSuccess("已生成报告!请前往体检记录页面查看!"); |
| | | this.$modal.msgSuccess("已生成报告!请前往报告核收页面确认!"); |
| | | }); |
| | | getfiedState(data).then((res) => { |
| | | this.drawer = false; |
New file |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> |
| | | <el-form-item label="体检号" prop="tjNumber"> |
| | | <el-input v-model="queryParams.tjNumber" placeholder="请输入体检号" clearable @keyup.enter.native="handleQuery" /> |
| | | </el-form-item> |
| | | <el-form-item label="用户名" prop="userName"> |
| | | <el-input v-model="queryParams.userName" placeholder="请输入用户名" clearable @keyup.enter.native="handleQuery" /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" |
| | | v-hasPermi="['hosp:hzlog:add']">新增 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" |
| | | v-hasPermi="['hosp:hzlog:edit']">修改 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" |
| | | v-hasPermi="['hosp:hzlog:remove']">删除 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" |
| | | v-hasPermi="['hosp:hzlog:export']">导出 |
| | | </el-button> |
| | | </el-col> |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | </el-row> |
| | | |
| | | <el-table v-loading="loading" :data="hzlogList" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column label="会诊id" align="center" prop="id" /> |
| | | <el-table-column label="会诊订单id" align="center" prop="orderId" /> |
| | | <el-table-column label="用户id" align="center" prop="userId" /> |
| | | <el-table-column label="体检号" align="center" prop="tjNumber" /> |
| | | <el-table-column label="用户名" align="center" prop="userName" /> |
| | | <el-table-column label="会诊类型0全院会诊1科室会诊" align="center" prop="hzType" /> |
| | | <el-table-column label="会诊科室[]" align="center" prop="hzDeptId" /> |
| | | <el-table-column label="会诊申请人id" align="center" prop="hzDoctorId" /> |
| | | <el-table-column label="会诊申请人名" align="center" prop="hzDoctorName" /> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['hosp:hzlog:edit']">修改 |
| | | </el-button> |
| | | <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" |
| | | v-hasPermi="['hosp:hzlog:remove']">删除 |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" /> |
| | | |
| | | <!-- 添加或修改会诊申请记录 |
| | | 对话框 --> |
| | | <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
| | | <el-form-item label="会诊订单id" prop="orderId"> |
| | | <el-input v-model="form.orderId" placeholder="请输入会诊订单id" /> |
| | | </el-form-item> |
| | | <el-form-item label="用户id" prop="userId"> |
| | | <el-input v-model="form.userId" placeholder="请输入用户id" /> |
| | | </el-form-item> |
| | | <el-form-item label="体检号" prop="tjNumber"> |
| | | <el-input v-model="form.tjNumber" placeholder="请输入体检号" /> |
| | | </el-form-item> |
| | | <el-form-item label="用户名" prop="userName"> |
| | | <el-input v-model="form.userName" placeholder="请输入用户名" /> |
| | | </el-form-item> |
| | | <el-form-item label="会诊科室[]" prop="hzDeptId"> |
| | | <el-input v-model="form.hzDeptId" placeholder="请输入会诊科室[]" /> |
| | | </el-form-item> |
| | | <el-form-item label="会诊申请人id" prop="hzDoctorId"> |
| | | <el-input v-model="form.hzDoctorId" placeholder="请输入会诊申请人id" /> |
| | | </el-form-item> |
| | | <el-form-item label="会诊申请人名" prop="hzDoctorName"> |
| | | <el-input v-model="form.hzDoctorName" placeholder="请输入会诊申请人名" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm">确 定</el-button> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | listHzlog, |
| | | getHzlog, |
| | | delHzlog, |
| | | addHzlog, |
| | | updateHzlog |
| | | } from "@/api/hosp/hzlog"; |
| | | |
| | | export default { |
| | | name: "Hzlog", |
| | | data() { |
| | | return { |
| | | // 遮罩层 |
| | | loading: true, |
| | | // 选中数组 |
| | | ids: [], |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | // 总条数 |
| | | total: 0, |
| | | // 会诊申请记录 |
| | | // 表格数据 |
| | | hzlogList: [], |
| | | // 弹出层标题 |
| | | title: "", |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | tjNumber: null, |
| | | userName: null, |
| | | hzType: null, |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | | // 表单校验 |
| | | rules: { |
| | | } |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | }, |
| | | methods: { |
| | | /** 查询会诊申请记录 |
| | | 列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | listHzlog(this.queryParams).then(response => { |
| | | this.hzlogList = response.rows; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.open = false; |
| | | this.reset(); |
| | | }, |
| | | // 表单重置 |
| | | reset() { |
| | | this.form = { |
| | | id: null, |
| | | orderId: null, |
| | | userId: null, |
| | | tjNumber: null, |
| | | userName: null, |
| | | hzType: null, |
| | | hzDeptId: null, |
| | | createTime: null, |
| | | updateTime: null, |
| | | createBy: null, |
| | | updateBy: null, |
| | | deleted: null, |
| | | hzDoctorId: null, |
| | | hzDoctorName: null |
| | | }; |
| | | this.resetForm("form"); |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map(item => item.id) |
| | | this.single = selection.length !== 1 |
| | | this.multiple = !selection.length |
| | | }, |
| | | /** 新增按钮操作 */ |
| | | // handleAdd() { |
| | | // this.reset(); |
| | | // this.open = true; |
| | | // this.title = "添加会诊申请记录 |
| | | // "; |
| | | // }, |
| | | // /** 修改按钮操作 */ |
| | | // handleUpdate(row) { |
| | | // this.reset(); |
| | | // const id = row.id || this.ids |
| | | // getHzlog(id).then(response => { |
| | | // this.form = response.data; |
| | | // this.open = true; |
| | | // this.title = "修改会诊申请记录 |
| | | // "; |
| | | // }); |
| | | // }, |
| | | /** 提交按钮 */ |
| | | // submitForm() { |
| | | // this.$]] |
| | | // #refs["form"].validate(valid => { |
| | | // if (valid) { |
| | | // #foreach($column in $columns) |
| | | // #if($column.htmlType == "checkbox") |
| | | // this.form.$column.javaField = this.form.$ |
| | | // { |
| | | // column.javaField |
| | | // } |
| | | // . |
| | | // join(","); |
| | | // #end |
| | | // #end |
| | | // #if($table.sub) |
| | | // this.form.$ |
| | | // { |
| | | // subclassName |
| | | // } |
| | | // List = this.$ |
| | | // { |
| | | // subclassName |
| | | // } |
| | | // List; |
| | | // #end |
| | | // if (this.form.${ |
| | | // pkColumn.javaField |
| | | // } |
| | | // != |
| | | // null |
| | | // ) |
| | | // { |
| | | // update$ |
| | | // { |
| | | // BusinessName |
| | | // } |
| | | // (this.form).then(response => { |
| | | // this.#[[$modal]] |
| | | // #.msgSuccess("修改成功"); |
| | | // this.open = false; |
| | | // this.getList(); |
| | | // }); |
| | | // } |
| | | // else |
| | | // { |
| | | // add$ |
| | | // { |
| | | // BusinessName |
| | | // } |
| | | // (this.form).then(response => { |
| | | // this.#[[$modal]] |
| | | // #.msgSuccess("新增成功"); |
| | | // this.open = false; |
| | | // this.getList(); |
| | | // }); |
| | | // } |
| | | // } |
| | | // }); |
| | | // }, |
| | | // /** 删除按钮操作 */ |
| | | // handleDelete(row) { |
| | | // const ${ pkColumn.javaField }s = row.$ |
| | | // { |
| | | // pkColumn.javaField |
| | | // } |
| | | // || |
| | | // this.ids; |
| | | // this.#[[$modal]] |
| | | // #.confirm('是否确认删除${functionName}编号为"' + ${ pkColumn.javaField }s + '"的数据项?').then(function () { |
| | | // return del$ |
| | | // { |
| | | // BusinessName |
| | | // } |
| | | // (${ pkColumn.javaField }s); |
| | | // }).then(() => { |
| | | // this.getList(); |
| | | // this.#[[$modal]] |
| | | // #.msgSuccess("删除成功"); |
| | | // }).catch(() => { |
| | | // }); |
| | | // }, |
| | | // #if($table.sub) |
| | | // /** ${subTable.functionName}序号 */ |
| | | // row$ |
| | | // { |
| | | // subClassName |
| | | // } |
| | | // Index({ row, rowIndex }) |
| | | // { |
| | | // row.index = rowIndex + 1; |
| | | // } |
| | | // , |
| | | // /** ${subTable.functionName}添加按钮操作 */ |
| | | // handleAdd$ |
| | | // { |
| | | // subClassName |
| | | // } |
| | | // () |
| | | // { |
| | | // let obj = {}; |
| | | // #foreach($column in $subTable.columns) |
| | | // #if($column.pk || $column.javaField == ${ subTableFkclassName }) |
| | | // #elseif($column.list && "" != $javaField) |
| | | // obj.$column.javaField = ""; |
| | | // #end |
| | | // #end |
| | | // this.$ |
| | | // { |
| | | // subclassName |
| | | // } |
| | | // List.push(obj); |
| | | // } |
| | | // , |
| | | // /** ${subTable.functionName}删除按钮操作 */ |
| | | // handleDelete$ |
| | | // { |
| | | // subClassName |
| | | // } |
| | | // () |
| | | // { |
| | | // if (this.checked${ |
| | | // subClassName |
| | | // } |
| | | // . |
| | | // length == 0 |
| | | // ) |
| | | // { |
| | | // this.#[[$modal]] |
| | | // #.msgError("请先选择要删除的${subTable.functionName}数据"); |
| | | // } |
| | | // else |
| | | // { |
| | | // const ${ subclassName }List = this.$ |
| | | // { |
| | | // subclassName |
| | | // } |
| | | // List; |
| | | // const checked$ |
| | | // { |
| | | // subClassName |
| | | // } |
| | | // = this.checked$ |
| | | // { |
| | | // subClassName |
| | | // } |
| | | // ; |
| | | // this.$ |
| | | // { |
| | | // subclassName |
| | | // } |
| | | // List = ${ subclassName } List.filter(function (item) { |
| | | // return checked$ |
| | | // { |
| | | // subClassName |
| | | // } |
| | | // . |
| | | // indexOf(item.index) == -1 |
| | | // }); |
| | | // } |
| | | // } |
| | | // , |
| | | // /** 复选框选中数据 */ |
| | | // handle$ |
| | | // { |
| | | // subClassName |
| | | // } |
| | | // SelectionChange(selection) |
| | | // { |
| | | // this.checked$ |
| | | // { |
| | | // subClassName |
| | | // } |
| | | // = selection.map(item => item.index) |
| | | // } |
| | | // , |
| | | // #end |
| | | // /** 导出按钮操作 */ |
| | | // handleExport() |
| | | // { |
| | | // this.download('${moduleName}/${businessName}/export', { |
| | | // ...this.queryParams |
| | | // }, `${businessName}_#[[${new Date().getTime()}.xlsx`) |
| | | // } |
| | | } |
| | | } |
| | | ; |
| | | </script> |
New file |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> |
| | | <el-form-item label="体检号" prop="tjNumber"> |
| | | <el-input v-model="queryParams.tjNumber" placeholder="请输入体检号" clearable @keyup.enter.native="handleQuery" /> |
| | | </el-form-item> |
| | | <el-form-item label="用户名" prop="userName"> |
| | | <el-input v-model="queryParams.userName" placeholder="请输入用户名" clearable @keyup.enter.native="handleQuery" /> |
| | | </el-form-item> |
| | | <el-form-item label="${comment}" prop="hzDoctorName"> |
| | | <el-input v-model="queryParams.hzDoctorName" placeholder="请输入${comment}" clearable |
| | | @keyup.enter.native="handleQuery" /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" |
| | | v-hasPermi="['hosp:replylog:add']">新增 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" |
| | | v-hasPermi="['hosp:replylog:edit']">修改 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" |
| | | v-hasPermi="['hosp:replylog:remove']">删除 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" |
| | | v-hasPermi="['hosp:replylog:export']">导出 |
| | | </el-button> |
| | | </el-col> |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | </el-row> |
| | | |
| | | <el-table v-loading="loading" :data="replylogList" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column label="会诊id" align="center" prop="id" /> |
| | | <el-table-column label="会诊订单id" align="center" prop="orderId" /> |
| | | <el-table-column label="体检号" align="center" prop="tjNumber" /> |
| | | <el-table-column label="用户id" align="center" prop="userId" /> |
| | | <el-table-column label="用户名" align="center" prop="userName" /> |
| | | <el-table-column label="会诊类型0全院会诊1科室会诊" align="center" prop="hzType" /> |
| | | <el-table-column label="回复医生" align="center" prop="replyDoctorId" /> |
| | | <el-table-column label="回复医生名" align="center" prop="replyDoctorName" /> |
| | | <el-table-column label="回复部门" align="center" prop="replyDeptId" /> |
| | | <el-table-column label="回复部门名" align="center" prop="replyDeptName" /> |
| | | <el-table-column label="回复内容" align="center" prop="replyContent" /> |
| | | <el-table-column label="" align="center" prop="status" /> |
| | | <el-table-column label="" align="center" prop="remark" /> |
| | | <el-table-column label="会诊申请id" align="center" prop="hzId" /> |
| | | <el-table-column label="${comment}" align="center" prop="hzDoctorId" /> |
| | | <el-table-column label="${comment}" align="center" prop="hzDoctorName" /> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['hosp:replylog:edit']">修改 |
| | | </el-button> |
| | | <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" |
| | | v-hasPermi="['hosp:replylog:remove']">删除 |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" /> |
| | | |
| | | <!-- 添加或修改会诊回复记录对话框 --> |
| | | <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
| | | <el-form-item label="会诊订单id" prop="orderId"> |
| | | <el-input v-model="form.orderId" placeholder="请输入会诊订单id" /> |
| | | </el-form-item> |
| | | <el-form-item label="体检号" prop="tjNumber"> |
| | | <el-input v-model="form.tjNumber" placeholder="请输入体检号" /> |
| | | </el-form-item> |
| | | <el-form-item label="用户id" prop="userId"> |
| | | <el-input v-model="form.userId" placeholder="请输入用户id" /> |
| | | </el-form-item> |
| | | <el-form-item label="用户名" prop="userName"> |
| | | <el-input v-model="form.userName" placeholder="请输入用户名" /> |
| | | </el-form-item> |
| | | <el-form-item label="回复医生" prop="replyDoctorId"> |
| | | <el-input v-model="form.replyDoctorId" placeholder="请输入回复医生" /> |
| | | </el-form-item> |
| | | <el-form-item label="回复医生名" prop="replyDoctorName"> |
| | | <el-input v-model="form.replyDoctorName" placeholder="请输入回复医生名" /> |
| | | </el-form-item> |
| | | <el-form-item label="回复部门" prop="replyDeptId"> |
| | | <el-input v-model="form.replyDeptId" placeholder="请输入回复部门" /> |
| | | </el-form-item> |
| | | <el-form-item label="回复部门名" prop="replyDeptName"> |
| | | <el-input v-model="form.replyDeptName" placeholder="请输入回复部门名" /> |
| | | </el-form-item> |
| | | <el-form-item label="回复内容"> |
| | | <editor v-model="form.replyContent" :min-height="192" /> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="remark"> |
| | | <el-input v-model="form.remark" placeholder="请输入" /> |
| | | </el-form-item> |
| | | <el-form-item label="会诊申请id" prop="hzId"> |
| | | <el-input v-model="form.hzId" placeholder="请输入会诊申请id" /> |
| | | </el-form-item> |
| | | <el-form-item label="${comment}" prop="hzDoctorId"> |
| | | <el-input v-model="form.hzDoctorId" placeholder="请输入${comment}" /> |
| | | </el-form-item> |
| | | <el-form-item label="${comment}" prop="hzDoctorName"> |
| | | <el-input v-model="form.hzDoctorName" placeholder="请输入${comment}" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm">确 定</el-button> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | listReplylog, |
| | | getReplylog, |
| | | delReplylog, |
| | | addReplylog, |
| | | updateReplylog |
| | | } from "@/api/hosp/replylog"; |
| | | |
| | | export default { |
| | | name: "Replylog", |
| | | data() { |
| | | return { |
| | | // 遮罩层 |
| | | loading: true, |
| | | // 选中数组 |
| | | ids: [], |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | // 总条数 |
| | | total: 0, |
| | | // 会诊回复记录表格数据 |
| | | replylogList: [], |
| | | // 弹出层标题 |
| | | title: "", |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | tjNumber: null, |
| | | userName: null, |
| | | hzType: null, |
| | | hzDoctorName: null |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | | // 表单校验 |
| | | rules: { |
| | | } |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | }, |
| | | methods: { |
| | | /** 查询会诊回复记录列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | listReplylog(this.queryParams).then(response => { |
| | | this.replylogList = response.rows; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.open = false; |
| | | this.reset(); |
| | | }, |
| | | // 表单重置 |
| | | reset() { |
| | | this.form = { |
| | | id: null, |
| | | orderId: null, |
| | | tjNumber: null, |
| | | userId: null, |
| | | userName: null, |
| | | hzType: null, |
| | | replyDoctorId: null, |
| | | replyDoctorName: null, |
| | | replyDeptId: null, |
| | | replyDeptName: null, |
| | | replyContent: null, |
| | | status: "0", |
| | | remark: null, |
| | | createTime: null, |
| | | updateTime: null, |
| | | createBy: null, |
| | | updateBy: null, |
| | | deleted: null, |
| | | hzId: null, |
| | | hzDoctorId: null, |
| | | hzDoctorName: null |
| | | }; |
| | | this.resetForm("form"); |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map(item => item.id) |
| | | this.single = selection.length !== 1 |
| | | this.multiple = !selection.length |
| | | }, |
| | | /** 新增按钮操作 */ |
| | | handleAdd() { |
| | | this.reset(); |
| | | this.open = true; |
| | | this.title = "添加会诊回复记录"; |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | this.reset(); |
| | | const id = row.id || this.ids |
| | | getReplylog(id).then(response => { |
| | | this.form = response.data; |
| | | this.open = true; |
| | | this.title = "修改会诊回复记录"; |
| | | }); |
| | | }, |
| | | /** 提交按钮 */ |
| | | // submitForm() { |
| | | // this.$]] |
| | | // #refs["form"].validate(valid => { |
| | | // if (valid) { |
| | | // #foreach($column in $columns) |
| | | // #if($column.htmlType == "checkbox") |
| | | // this.form.$column.javaField = this.form.$ |
| | | // { |
| | | // column.javaField |
| | | // } |
| | | // . |
| | | // join(","); |
| | | // #end |
| | | // #end |
| | | // #if($table.sub) |
| | | // this.form.$ |
| | | // { |
| | | // subclassName |
| | | // } |
| | | // List = this.$ |
| | | // { |
| | | // subclassName |
| | | // } |
| | | // List; |
| | | // #end |
| | | // if (this.form.${ |
| | | // pkColumn.javaField |
| | | // } |
| | | // != |
| | | // null |
| | | // ) |
| | | // { |
| | | // update$ |
| | | // { |
| | | // BusinessName |
| | | // } |
| | | // (this.form).then(response => { |
| | | // this.#[[$modal]] |
| | | // #.msgSuccess("修改成功"); |
| | | // this.open = false; |
| | | // this.getList(); |
| | | // }); |
| | | // } |
| | | // else |
| | | // { |
| | | // add$ |
| | | // { |
| | | // BusinessName |
| | | // } |
| | | // (this.form).then(response => { |
| | | // this.#[[$modal]] |
| | | // #.msgSuccess("新增成功"); |
| | | // this.open = false; |
| | | // this.getList(); |
| | | // }); |
| | | // } |
| | | // } |
| | | // }); |
| | | // }, |
| | | // /** 删除按钮操作 */ |
| | | // handleDelete(row) { |
| | | // const ${pkColumn.javaField}s = row.$ |
| | | // { |
| | | // pkColumn.javaField |
| | | // } |
| | | // || |
| | | // this.ids; |
| | | // this.#[[$modal]] |
| | | // #.confirm('是否确认删除${functionName}编号为"' + ${pkColumn.javaField}s + '"的数据项?').then(function () { |
| | | // return del$ |
| | | // { |
| | | // BusinessName |
| | | // } |
| | | // (${pkColumn.javaField}s); |
| | | // }).then(() => { |
| | | // this.getList(); |
| | | // this.#[[$modal]] |
| | | // #.msgSuccess("删除成功"); |
| | | // }).catch(() => { |
| | | // }); |
| | | // }, |
| | | // #if($table.sub) |
| | | // /** ${subTable.functionName}序号 */ |
| | | // row$ |
| | | // { |
| | | // subClassName |
| | | // } |
| | | // Index({row, rowIndex}) |
| | | // { |
| | | // row.index = rowIndex + 1; |
| | | // } |
| | | // , |
| | | // /** ${subTable.functionName}添加按钮操作 */ |
| | | // handleAdd$ |
| | | // { |
| | | // subClassName |
| | | // } |
| | | // () |
| | | // { |
| | | // let obj = {}; |
| | | // #foreach($column in $subTable.columns) |
| | | // #if($column.pk || $column.javaField == ${subTableFkclassName}) |
| | | // #elseif($column.list && "" != $javaField) |
| | | // obj.$column.javaField = ""; |
| | | // #end |
| | | // #end |
| | | // this.$ |
| | | // { |
| | | // subclassName |
| | | // } |
| | | // List.push(obj); |
| | | // } |
| | | // , |
| | | // /** ${subTable.functionName}删除按钮操作 */ |
| | | // handleDelete$ |
| | | // { |
| | | // subClassName |
| | | // } |
| | | // () |
| | | // { |
| | | // if (this.checked${ |
| | | // subClassName |
| | | // } |
| | | // . |
| | | // length == 0 |
| | | // ) |
| | | // { |
| | | // this.#[[$modal]] |
| | | // #.msgError("请先选择要删除的${subTable.functionName}数据"); |
| | | // } |
| | | // else |
| | | // { |
| | | // const ${subclassName}List = this.$ |
| | | // { |
| | | // subclassName |
| | | // } |
| | | // List; |
| | | // const checked$ |
| | | // { |
| | | // subClassName |
| | | // } |
| | | // = this.checked$ |
| | | // { |
| | | // subClassName |
| | | // } |
| | | // ; |
| | | // this.$ |
| | | // { |
| | | // subclassName |
| | | // } |
| | | // List = ${subclassName}List.filter(function (item) { |
| | | // return checked$ |
| | | // { |
| | | // subClassName |
| | | // } |
| | | // . |
| | | // indexOf(item.index) == -1 |
| | | // }); |
| | | // } |
| | | // } |
| | | // , |
| | | // /** 复选框选中数据 */ |
| | | // handle$ |
| | | // { |
| | | // subClassName |
| | | // } |
| | | // SelectionChange(selection) |
| | | // { |
| | | // this.checked$ |
| | | // { |
| | | // subClassName |
| | | // } |
| | | // = selection.map(item => item.index) |
| | | // } |
| | | // , |
| | | // #end |
| | | // /** 导出按钮操作 */ |
| | | // handleExport() |
| | | // { |
| | | // this.download('${moduleName}/${businessName}/export', { |
| | | // ...this.queryParams |
| | | // }, `${businessName}_#[[${new Date().getTime()}.xlsx`) |
| | | // } |
| | | } |
| | | } |
| | | ; |
| | | </script> |
| | |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" |
| | | label-width="68px"> |
| | | <el-form-item label="月份" prop="deptName"> |
| | | <el-date-picker v-model="value1" type="date" placeholder="选择日期"> |
| | | <el-date-picker v-model="value1" type="month" placeholder="选择月" @change="monthChange"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item> |
| | |
| | | <div class="calendar-day"> |
| | | {{ data.day.split("-").slice(2).join("-") }} {{ data.isSelected ? '✔️' : '' }} |
| | | </div> |
| | | <div v-for="(item, index) in calendarData" :key="index" class="is-selected" |
| | | <div v-for="(item, index) in cateringList" :key="index" class="is-selected" |
| | | @click.stop="addPlan(item)"> |
| | | <span v-if="item.day == data.day && item.timeDetailsList"> |
| | | <span v-if="item.mDate == data.day"> |
| | | <el-tooltip placement="top"> |
| | | <div slot="content"> |
| | | <div v-for="items in item.timeDetailsList" :key="items.day"> |
| | | {{ items.channelName }} : |
| | | {{ items.wechatNumber }}个微信号, |
| | | 计划投放{{ items.planNumber }}, |
| | | 实际加人 |
| | | {{ items.realityNumber }} |
| | | <div> |
| | | {{ item.event }} |
| | | </div> |
| | | </div> |
| | | // 这里写两遍是因为一个是框里展示,一个是悬浮组件内展示的内容 |
| | | <div v-for="items in item.timeDetailsList" :key="items.day"> |
| | | {{ items.channelName }} : |
| | | {{ items.wechatNumber }}个微信号, |
| | | 计划投放{{ items.planNumber }}, |
| | | 实际加人 |
| | | {{ items.realityNumber }} |
| | | <div> |
| | | {{ item.mflag == "0" ? "○" : "√" }} |
| | | {{ item.title }} |
| | | |
| | | </div> |
| | | </el-tooltip> |
| | | </span> |
| | | </div> |
| | | |
| | | </div> |
| | | </template> |
| | | </el-calendar> |
| | | </div> |
| | | |
| | | <!-- 添加或修改规则+病种对话框 --> |
| | | <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body> |
| | | <div style="margin-bottom: 10px;">时间:{{ time }}</div> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="80px" :inline="true"> |
| | | <el-form-item label="标题" prop="title"> |
| | | <el-input v-model="form.title" placeholder="请输入标题" style="width:200px" /> |
| | | </el-form-item> |
| | | <el-form-item label="事件" prop="event"> |
| | | <el-input v-model="form.event" placeholder="请输入事件" style="width:200px" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="日期类型" prop="dateType"> |
| | | <el-select v-model="form.dateType" style="width: 94%"> |
| | | <el-select v-model="form.dateType" style="width: 100%"> |
| | | <el-option v-for="dict in dict.type.memo_date_type" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="时间点" prop="mTime" v-if="form.dateType == 1"> |
| | | <el-time-picker v-model="form.mTime" :picker-options="{ |
| | | selectableRange: '18:30:00 - 20:30:00' |
| | | }" placeholder="任意时间点"> |
| | | <el-time-picker v-model="form.mTime" format placeholder="任意时间点" style="width:88%"> |
| | | </el-time-picker> |
| | | </el-form-item> |
| | | <el-form-item label="重复提醒" prop="isRepeat"> |
| | |
| | | </el-form-item> |
| | | <el-form-item label="提醒间隔" prop="repeatTime" v-if="form.isRepeat == 'Y'"> |
| | | <el-input type="number" v-model="form.repeatTime" placeholder="请输入提醒间隔" style="width:200px" |
| | | oninput="value=value.replace(/[^0-9.]/g,'')" /> |
| | | oninput="value=value.replace(/[^0-9.]/g,'')" /> |
| | | </el-form-item> |
| | | <el-form-item label="备忘状态" prop="mFlag"> |
| | | <el-select v-model="form.mFlag" style="width: 94%"> |
| | | <el-form-item label="备忘状态" prop="mflag" v-if="form.id"> |
| | | <el-select v-model="form.mflag" style="width: 94%"> |
| | | <el-option v-for="dict in dict.type.memo_status" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | </el-select> |
| | |
| | | :value="dict.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input v-model="form.remark" placeholder="请输入备注" style="width:200px" /> |
| | | <el-form-item label="事件" prop="event"> |
| | | <el-input type="textarea" autosize v-model="form.event" placeholder="请输入事件" style="min-width:500px" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-button style="margin: 10px 10px" type="primary" plain size="mini" icon="el-icon-plus" |
| | | @click="hableadd">添加</el-button> |
| | | <el-table :data="cateringList" border> |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column label="序号" align="center" prop="newID" width="55px" /> |
| | | |
| | | <el-button style="margin: 10px 10px" type="primary" plain size="mini" @click="hableadd">确认</el-button> |
| | | <el-button style="margin: 10px 10px" type="primary" plain size="mini" |
| | | @click="hablecon">重置</el-button> |
| | | <el-table :data="cateringList" style="width: 100%" border> |
| | | <el-table-column label="标题" align="center" prop="title" /> |
| | | <el-table-column label="事件" align="center" prop="event" /> |
| | | <el-table-column label="日期类型" align="center" prop="dateType" /> |
| | | <el-table-column label="时间点" align="center" prop="mTime" /> |
| | | <el-table-column label="重复提醒" align="center" prop="isRepeat" width="150px" /> |
| | | <el-table-column label="提醒间隔" align="center" prop="repeatTime" width="150px" /> |
| | | <el-table-column label="备忘状态" align="center" prop="mFlag" width="150px" /> |
| | | <el-table-column label="紧急状态" align="center" prop="stateLevel" width="150px" /> |
| | | <el-table-column label="备注" align="center" prop="remark" width="150px" /> |
| | | <el-table-column label="事件" align="center" prop="event" width="260px" /> |
| | | <el-table-column label="日期类型" align="center" prop="dateType"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.memo_date_type" :value="scope.row.dateType" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="时间点" align="center" prop="mTime" width="160px" /> |
| | | <el-table-column label="重复提醒" align="center" prop="isRepeat"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isRepeat" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="提醒间隔/分钟" align="center" prop="repeatTime" /> |
| | | <el-table-column label="备忘状态" align="center" prop="mflag"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.memo_status" :value="scope.row.mflag" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="紧急状态" align="center" prop="stateLevel"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.memo_state_level" :value="scope.row.stateLevel" /> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column label="备注" align="center" prop="remark" width="150px" /> --> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" |
| | | width="80px"> |
| | | <template slot-scope="scope"> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <!-- <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm">确 定</el-button> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> |
| | | </div> --> |
| | | </el-dialog> |
| | | |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import { memo, listByUserAndDate, listByDate, eictmemo, delememo } from "@/api/mall/memo" |
| | | let moment = require("moment"); |
| | | import { getInfo } from "@/api/login"; |
| | | export default { |
| | | dicts: [ |
| | | "memo_state_level", |
| | |
| | | |
| | | }, |
| | | title: "", |
| | | value1: '', |
| | | value1: new Date(), |
| | | time: '', |
| | | open: false, |
| | | value: new Date(), |
| | | calendarData: [], |
| | | form: { |
| | | mTime: new Date(2016, 9, 10, 18, 40), |
| | | mTime: new Date(), |
| | | }, |
| | | userId: "", |
| | | userName: "", |
| | | value2: "", |
| | | cateringList: [], |
| | | // 表单校验 |
| | | rules: { |
| | | title: [ |
| | | { required: true, message: "标题不能为空", trigger: "change" }, |
| | | { required: true, message: "标题不能为空", trigger: "blur" }, |
| | | ], |
| | | }, |
| | | } |
| | | }, |
| | | monthChange(val) { |
| | | // 这里是监听时间变化 => @change="monthChange",然后传入日历组件 |
| | | this.value = val; |
| | | // 时间切换的时候,顺便调个接口查询当月数据 |
| | | this.editDetail(); |
| | | mounted() { |
| | | let prevBtn = document.querySelector( |
| | | ".el-calendar__button-group .el-button-group>button:nth-child(1)" |
| | | ); |
| | | prevBtn.addEventListener("click", e => { |
| | | this.timestampToTime(this.value) |
| | | this.timeScher() |
| | | }); |
| | | |
| | | //点击下一个月 |
| | | let nextBtn = document.querySelector( |
| | | ".el-calendar__button-group .el-button-group>button:nth-child(3)" |
| | | ); |
| | | nextBtn.addEventListener("click", () => { |
| | | this.timestampToTime(this.value) |
| | | this.timeScher() |
| | | }); |
| | | |
| | | //点击今天 |
| | | let todayBtn = document.querySelector( |
| | | ".el-calendar__button-group .el-button-group>button:nth-child(2)" |
| | | ); |
| | | todayBtn.addEventListener("click", () => { |
| | | this.timestampToTime(this.value) |
| | | this.timeScher() |
| | | }); |
| | | }, |
| | | |
| | | created() { |
| | | this.getList(); |
| | | }, |
| | | methods: { |
| | | editDetail() { |
| | | |
| | | getList() { |
| | | getInfo().then(res => { |
| | | this.userName = res.user.nickName |
| | | this.userId = res.user.userId; |
| | | this.timestampToTime(this.form.mTime) |
| | | this.monthdon() |
| | | }) |
| | | }, |
| | | |
| | | // 月份日期查 |
| | | monthdon() { |
| | | let data = { |
| | | userId: this.userId, |
| | | mDate: this.time |
| | | } |
| | | listByUserAndDate(data).then(res => { |
| | | this.cateringList = res.data |
| | | }) |
| | | }, |
| | | // 改变月份 |
| | | monthChange(val) { |
| | | // 这里是监听时间变化 => @change="monthChange",然后传入日历组件 |
| | | this.value = val; |
| | | }, |
| | | // 搜索 |
| | | handleQuery() { |
| | | |
| | | this.timestampToTime(this.value1) |
| | | this.timeScher() |
| | | }, |
| | | // 月查询 |
| | | timeScher() { |
| | | let data = { |
| | | userId: this.userId, |
| | | mDate: this.value2, |
| | | } |
| | | listByDate(data).then(res => { |
| | | this.cateringList = res.data |
| | | }) |
| | | }, |
| | | // 点击事件 |
| | | addPlan(val) { |
| | | this.open = true |
| | | this.title = "新增日计划" |
| | | this.timestampToTime(val) |
| | | if (val.mDate) { |
| | | this.time = val.mDate |
| | | } else { |
| | | this.timestampToTime(val) |
| | | } |
| | | this.monthdon() |
| | | }, |
| | | // 时间转化 |
| | | timestampToTime(timestamp) { |
| | | var date = new Date(timestamp); |
| | | var y = date.getFullYear(); |
| | |
| | | var second = date.getSeconds(); |
| | | second = second < 10 ? ('0' + second) : second; |
| | | this.time = y + '-' + m + '-' + d; |
| | | this.form.mTime = y + '-' + m + '-' + d + " " + h + ':' + minute + ':' + second; |
| | | this.value2 = y + '-' + m; |
| | | }, |
| | | // 添加 |
| | | hableadd() { |
| | | this.cateringList.push(this.form) |
| | | this.form = {} |
| | | this.$refs["form"].validate(valid => { |
| | | if (valid) { |
| | | if (this.form.id != null) { |
| | | this.timestampToTime(this.form.mTime) |
| | | this.form.mDate = this.time |
| | | this.form.userId = this.userId |
| | | this.form.userName = this.userName |
| | | eictmemo(this.form).then(res => { |
| | | if (res.code == 200) { |
| | | this.$modal.msgSuccess("修改成功"); |
| | | this.form = {} |
| | | this.monthdon() |
| | | } |
| | | }) |
| | | } else { |
| | | this.timestampToTime(this.form.mTime) |
| | | this.form.mDate = this.time |
| | | this.form.userId = this.userId |
| | | this.form.userName = this.userName |
| | | memo(this.form).then(res => { |
| | | if (res.code == 200) { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.form = {} |
| | | this.monthdon() |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | cancel() { |
| | | this.open = false |
| | | }, |
| | | hablecon() { |
| | | this.form = {} |
| | | }, |
| | | submitForm() { |
| | | |
| | | }, |
| | | handleDelete1(row) { |
| | | this.cateringList.splice(row, 1) |
| | | handleUpdate(row) { |
| | | this.form = row |
| | | this.title = "修改日计划" |
| | | }, |
| | | |
| | | |
| | | handleDelete1(row) { |
| | | let id = row.id |
| | | delememo(id).then(res => { |
| | | if (res.code == 200) { |
| | | this.$modal.msgSuccess("删除成功"); |
| | | this.monthdon() |
| | | } |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | |
| | | input[type='number'] { |
| | | -moz-appearance: textfield; |
| | | } |
| | | |
| | | .main-cd .is-selected .el-tooltip { |
| | | width: 100%; |
| | | overflow: hidden; |
| | | white-space: nowrap; |
| | | text-overflow: ellipsis; |
| | | -o-text-overflow: ellipsis; |
| | | } |
| | | |
| | | .el-calendar-table .el-calendar-day { |
| | | -webkit-box-sizing: border-box; |
| | | box-sizing: border-box; |
| | | padding: 8px; |
| | | height: 92px; |
| | | position: relative; |
| | | |
| | | text-align: justify; |
| | | |
| | | overflow: hidden; |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> |
| | | |
| | | <el-form-item label="医生姓名" prop="proName"> |
| | | <el-input v-model="queryParams.proName" placeholder="请输入医生姓名" clearable @keyup.enter.native="handleQuery" /> |
| | | </el-form-item> |
| | | <el-form-item label="登记时间"> |
| | | <el-date-picker clearable v-model="createTimeList" style="width: 240px" value-format="yyyy-MM-dd" |
| | | type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" |
| | | :picker-options="pickerOptions"></el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" |
| | | v-hasPermi="['hosp:rules:add']">新增 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" |
| | | v-hasPermi="['hosp:rules:edit']">修改 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" |
| | | v-hasPermi="['hosp:rules:remove']">删除 |
| | | </el-button> |
| | | </el-col> |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | </el-row> |
| | | |
| | | <el-table border v-loading="loading" :data="dataList" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column label="序号" align="center" prop="newID" width="55" /> |
| | | <el-table-column label="医生姓名" align="center" prop="name" /> |
| | | <el-table-column label="性别" align="center" prop="sex" :show-overflow-tooltip="true"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.tj_rule_sex" :value="scope.row.sex" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="排班日期" align="center" prop="time" /> |
| | | <el-table-column label="星期" align="center" prop="week" /> |
| | | <el-table-column label="上午/下午" align="center" prop="daty" /> |
| | | <el-table-column label="出诊科室" align="center" prop="dept" /> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['hosp:rules:edit']" title="修改"> |
| | | </el-button> |
| | | <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" |
| | | v-hasPermi="['hosp:rules:remove']" title="删除"> |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pag"> |
| | | <div class="pag1"> |
| | | <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" @pagination="getList" /> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 添加或修改规则+病种对话框 --> |
| | | <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="80px" :inline="true"> |
| | | <el-form-item label="医生姓名" prop="name"> |
| | | <el-input v-model="form.name" placeholder="请输入年龄-" style="width:200px" /> |
| | | <div class="app-container"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="7" :xs="24"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px"> |
| | | <el-form-item label="科室" prop="deptName"> |
| | | <el-input v-model="queryParams.deptName" placeholder="请输入科室" clearable style="width: 200px" /> |
| | | </el-form-item> |
| | | <el-form-item label="性别" prop="sex"> |
| | | <el-select v-model="form.sex" placeholder="请选择性别" style="width:200px"> |
| | | <el-option v-for="dict in dict.type.tj_rule_sex" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-form-item label="医师" prop="userName"> |
| | | <el-input v-model="queryParams.userName" placeholder="请输入医师" clearable style="width: 200px" /> |
| | | </el-form-item> |
| | | <el-form-item label="人员分类" prop="userName"> |
| | | <el-select v-model="queryParams.roleId" placeholder="请输入挂号类别" clearable style="width: 160px"> |
| | | <el-option v-for="dict in roleList" :key="dict.roleId" :label="dict.roleName" |
| | | :value="dict.roleId" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="排班日期" prop="time"> |
| | | <el-input v-model="form.time" placeholder="请输入排班日期" style="width:200px" /> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| | | </el-form-item> |
| | | <el-form-item label="星期" prop="week"> |
| | | <el-input v-model="form.week" placeholder="请输入星期" style="width:200px" /> |
| | | </el-form-item> |
| | | <el-form-item label="上午/下午" prop="daty"> |
| | | <el-input v-model="form.daty" placeholder="请输入上午/下午" style="width:200px" /> |
| | | </el-form-item> |
| | | <el-form-item label="出诊科室" prop="dept"> |
| | | <el-input v-model="form.dept" placeholder="请输入出诊科室" style="width:200px" /> |
| | | </el-form-item> |
| | | |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm">确 定</el-button> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | |
| | | } from "@/api/hosp/rules"; |
| | | |
| | | export default { |
| | | name: "Rules", |
| | | dicts: ["tj_rule_sex"], |
| | | data() { |
| | | return { |
| | | dataList:[{ |
| | | newID:1, |
| | | name:"小张", |
| | | sex:"1", |
| | | dept:"外科", |
| | | time:"2023-11-15", |
| | | daty:"全天", |
| | | week:"星期五" |
| | | }], |
| | | // 遮罩层 |
| | | loading: true, |
| | | // 选中数组 |
| | | ids: [], |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | // 总条数 |
| | | total: 0, |
| | | createTimeList: null, |
| | | // 弹出层标题 |
| | | title: "", |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | | // 表单校验 |
| | | rules: { |
| | | ageGt: [ |
| | | { required: true, message: "项目名不能为空", trigger: "change" }, |
| | | ], |
| | | }, |
| | | pickerOptions: { |
| | | shortcuts: [ |
| | | { |
| | | text: "近一周", |
| | | onClick(picker) { |
| | | const end = new Date(); |
| | | const start = new Date(); |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 7); |
| | | picker.$emit("pick", [start, end]); |
| | | }, |
| | | }, |
| | | { |
| | | text: "近一个月", |
| | | onClick(picker) { |
| | | const end = new Date(); |
| | | const start = new Date(); |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 30); |
| | | picker.$emit("pick", [start, end]); |
| | | }, |
| | | }, |
| | | { |
| | | text: "近三个月", |
| | | onClick(picker) { |
| | | const end = new Date(); |
| | | const start = new Date(); |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 90); |
| | | picker.$emit("pick", [start, end]); |
| | | }, |
| | | }, |
| | | ], |
| | | }, |
| | | }; |
| | | }, |
| | | watch: { |
| | | |
| | | |
| | | }, |
| | | created() { |
| | | this.getNowTime(); |
| | | this.getList(); |
| | | }, |
| | | methods: { |
| | | //处理默认选中当前日期 |
| | | getNowTime() { |
| | | var curDate = new Date().getTime(); |
| | | var dayNum = 3 * 24 * 3600 * 1000; |
| | | var threeDays = curDate - dayNum; |
| | | var sDay = this.getLocalTime(threeDays); |
| | | var end = this.getLocalTime(curDate); |
| | | this.finishTimeList = [sDay, end]; |
| | | }, |
| | | add0(m) { |
| | | return m < 10 ? "0" + m : m; |
| | | }, |
| | | getLocalTime(nS) { |
| | | var time = new Date(nS); |
| | | var y = time.getFullYear(); |
| | | var m = time.getMonth() + 1; |
| | | var d = time.getDate(); |
| | | return y + "-" + this.add0(m) + "-" + this.add0(d); |
| | | }, |
| | | <el-table border v-loading="loading" ref="tab" :data="timeConfigList" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="50" align="center" /> |
| | | <el-table-column label="医师" align="center" prop="userName" width="120"> |
| | | </el-table-column> |
| | | <el-table-column label="科室" align="center" prop="deptName" width="100" /> |
| | | <!-- <el-table-column |
| | | label="职称" |
| | | align="center" |
| | | prop="cftitle" |
| | | width="100" |
| | | /> --> |
| | | <el-table-column label="最大排班日期" align="center" prop="time" /> |
| | | <el-table-column width="50" label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="text" icon="el-icon-delete" @click="tingzhen(scope.row)" |
| | | v-hasPermi="['mall:timeConfig:remove']" title="删除"> |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | getList() { |
| | | this.loading = false |
| | | <div class="pag"> |
| | | <div class="pag1"> |
| | | <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" @pagination="getList" /> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="17"> |
| | | <el-form :model="form" :rules="rules" ref="queryForm" size="small" :inline="true" label-width="80px"> |
| | | <el-form-item label="排班类别" prop="numType"> |
| | | <el-select v-model="form.numType" placeholder="请输入挂号类别" clearable style="width: 160px"> |
| | | <el-option v-for="dict in dict.type.yuyue_num_type" :key="dict.value" :label="dict.label" |
| | | :value="dict.value" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="排班限号" prop="allNum"> |
| | | <el-input v-model="form.allNum" placeholder="请输入预约限号" clearable style="width: 160px" /> |
| | | </el-form-item> |
| | | <el-form-item label="排班日期" prop="createTimeList"> |
| | | <!-- <el-date-picker v-model="createTimeList" type="datetimerange" align="right" :picker-options="pickerOptions" |
| | | style="width: 300px" start-placeholder="开始日期" end-placeholder="结束日期" format="yyyy-MM-dd" |
| | | value-format="yyyy-MM-dd" @change="dateChangebirthday1"> |
| | | </el-date-picker> --> |
| | | <el-date-picker v-model="startTime" type="date" placeholder="选择日期" :picker-options="pickerOptionsStart" |
| | | style="width: 160px"> |
| | | </el-date-picker> |
| | | <el-date-picker v-model="endTime" type="date" placeholder="选择日期" :picker-options="pickerOptionsEnd" |
| | | style="width: 160px" @change="dateChangebirthday1"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="上午/下午"> |
| | | <el-radio-group v-model="morA"> |
| | | <el-radio :label="1">上午</el-radio> |
| | | <el-radio :label="2">下午</el-radio> |
| | | <el-radio :label="3">全天</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="Scheduling">生成排班</el-button> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" :disabled="disabled" |
| | | @click="SaveRoster">保存排班</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table border v-loading="loading" :data="SchedulingList" height="620"> |
| | | <el-table-column type="selection" width="50" align="center" /> |
| | | |
| | | <el-table-column label="序号" width="55" align="center" prop="newID" /> |
| | | <el-table-column label="医师" width="100" align="center" prop="userName" /> |
| | | <el-table-column label="日期" align="center" prop="time"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.time, "{y}-{m}-{d}") }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="星期" align="center" prop="week"> |
| | | </el-table-column> |
| | | <el-table-column label="上午/下午" align="center" prop="morA"> |
| | | </el-table-column> |
| | | <el-table-column label="排班类别" align="center" prop="numType"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.yuyue_num_type" :value="scope.row.numType" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="出诊科室" align="center" prop="deptName" /> |
| | | <el-table-column label="医师" align="center" prop="userName" /> |
| | | <el-table-column label="排班限号" align="center" prop="allNum"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.allNum" @change="changeInput" placeholder="请输入内容" |
| | | style="height: 23px; line-height: 23px"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column width="80" label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" |
| | | v-hasPermi="['mall:timeConfig:remove']" title="删除"> |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getUserList, |
| | | getScheduling, |
| | | timeConfig, |
| | | updateIsClose, |
| | | roleList |
| | | } from "@/api/mall/timeConfig"; |
| | | |
| | | export default { |
| | | name: "TimeConfig", |
| | | dicts: ["yuyue_num_type"], |
| | | data() { |
| | | return { |
| | | yc: false, |
| | | // pickerOptions: { |
| | | // disabledDate: (date) => { |
| | | // return date.getTime() < Date.now() - 24 * 60 * 60 * 1000; // 可选未来天、可选当前天、不可选历史天; |
| | | // }, |
| | | // }, |
| | | startTime: "", //开始日期 |
| | | pickerOptionsStart: { |
| | | disabledDate: (date) => { |
| | | let minDate = new Date(this.startTime).getTime(); //拿到输入的开始日期 |
| | | return ( |
| | | date.getTime() < Date.now() - 24 * 60 * 60 * 1000 || |
| | | date.getTime() < minDate |
| | | ); // 可选未来天、可选当前天、不可选历史天; |
| | | }, |
| | | // disabledDate: (time) => { |
| | | // let maxDate = new Date(this.endTime).getTime()//拿到输入的结束日期 |
| | | // return time.getTime() > maxDate //判断大于结束日期 返回true 禁用 |
| | | // } |
| | | }, |
| | | |
| | | |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.open = false; |
| | | this.reset(); |
| | | endTime: "", //结束日期 |
| | | pickerOptionsEnd: { |
| | | disabledDate: (time) => { |
| | | let minDate = new Date(this.startTime).getTime(); //拿到输入的开始日期 |
| | | return ( |
| | | time.getTime() < minDate || |
| | | time.getTime() < Date.now() - 24 * 60 * 60 * 1000 |
| | | ); //判断小于开始日期 返回true 禁用 |
| | | }, |
| | | }, |
| | | // 表单重置 |
| | | reset() { |
| | | this.form = { |
| | | |
| | | }; |
| | | this.resetForm("form"); |
| | | time: "", |
| | | disabled: true, |
| | | // 遮罩层 |
| | | loading: true, |
| | | // 选中数组 |
| | | ids: [], |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | // 总条数 |
| | | total: 0, |
| | | // 预约时间表格数据 |
| | | timeConfigList: [], |
| | | morA: 0, |
| | | morAList: [ |
| | | { |
| | | value: "上午", |
| | | dict: 1 |
| | | }, |
| | | { |
| | | value: "下午", |
| | | dict: 2 |
| | | }, |
| | | { |
| | | value: "全天", |
| | | dict: 3 |
| | | }, |
| | | ], |
| | | SchedulingList: [], |
| | | // 查询参数 |
| | | queryParams: { |
| | | userName: null, |
| | | deptName: null, |
| | | roleId: null, |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | // 表单参数 |
| | | form: {}, |
| | | dataList: [], |
| | | roleList: [], |
| | | // 表单校验 |
| | | rules: { |
| | | startTime: [ |
| | | { |
| | | required: true, |
| | | message: "开始日期不能为空", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | endTime: [ |
| | | { |
| | | required: true, |
| | | message: "结束日期不能为空", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | allNum: [ |
| | | { |
| | | required: true, |
| | | message: "总数不能为空", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | allNum: [ |
| | | { |
| | | required: true, |
| | | message: "预约限号不能为空", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | numType: [ |
| | | { |
| | | required: true, |
| | | message: "号类不能为空", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map((item) => item.aid); |
| | | this.single = selection.length !== 1; |
| | | this.multiple = !selection.length; |
| | | }, |
| | | /** 新增按钮操作 */ |
| | | handleAdd() { |
| | | this.open = true |
| | | }, |
| | | |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | this.open = true |
| | | this.form = row |
| | | }, |
| | | /** 提交按钮 */ |
| | | submitForm() { |
| | | |
| | | }, |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | | |
| | | }, |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | }, |
| | | methods: { |
| | | dateChangebirthday1(val) { |
| | | if (val == null) { |
| | | this.endTime = " "; |
| | | } else { |
| | | let times = new Date(this.endTime).getTime(); |
| | | var time = new Date(times); |
| | | var y = time.getFullYear(); |
| | | var m = time.getMonth() + 1; |
| | | var d = time.getDate(); |
| | | this.endTime = y + "-" + m + "-" + d; |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | | <style scoped> |
| | | .pag { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .pag1 { |
| | | width: 30%; |
| | | } |
| | | </style> |
| | | |
| | | /** 查询预约时间列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | getUserList().then((response) => { |
| | | this.timeConfigList = response.data.voList; |
| | | this.total = response.data.total; |
| | | this.loading = false; |
| | | }); |
| | | roleList().then(res => { |
| | | this.roleList =res.rows |
| | | }) |
| | | }, |
| | | |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | getUserList(this.queryParams).then((response) => { |
| | | this.timeConfigList = response.data.voList; |
| | | this.total = response.data.total; |
| | | }); |
| | | }, |
| | | |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.dataList = selection; |
| | | this.dataList.forEach((element) => { |
| | | if (element.time) { |
| | | let date = new Date(element.time).getTime(); |
| | | let time = date + 24 * 60 * 60 * 1000; |
| | | const dt = new Date(time); |
| | | const y = dt.getFullYear(); |
| | | const m = (dt.getMonth() + 1 + "").padStart(2, "0"); |
| | | const d = (dt.getDate() + "").padStart(2, "0"); |
| | | this.startTime = y + "-" + m + "-" + d; |
| | | return this.startTime; |
| | | } else if (element.time == null) { |
| | | this.startTime = ""; |
| | | // let date = new Date(this.startTime).getTime(); |
| | | let date = Date.now() - 24 * 60 * 60 * 1000; |
| | | let time = date + 24 * 60 * 60 * 1000; |
| | | const dt = new Date(time); |
| | | const y = dt.getFullYear(); |
| | | const m = (dt.getMonth() + 1 + "").padStart(2, "0"); |
| | | const d = (dt.getDate() + "").padStart(2, "0"); |
| | | this.startTime = y + "-" + m + "-" + d; |
| | | return this.startTime; |
| | | } |
| | | }); |
| | | this.ids = selection.map((item) => item.id); |
| | | }, |
| | | |
| | | Scheduling() { |
| | | if (this.dataList.length >= 1) { |
| | | if (this.form.allNum && this.form.numType) { |
| | | if (this.endTime) { |
| | | // let mallSchedulingTimeDto = { |
| | | // allNum: this.form.allNum, |
| | | // deptId: this.dataList[0].deptId, |
| | | // deptName: this.dataList[0].deptName, |
| | | // numType: this.form.numType, |
| | | // endTime: this.endTime, |
| | | // startTime: this.startTime, |
| | | // morA: this.morA, |
| | | // userId: this.dataList[0].userId, |
| | | // userName: this.dataList[0].userName, |
| | | // }; |
| | | this.dataList.forEach(item => { |
| | | item.allNum=this.form.allNum, |
| | | item.numType= this.form.numType, |
| | | item.endTime= this.endTime, |
| | | item.startTime= this.startTime, |
| | | item.morA= this.morA |
| | | }) |
| | | getScheduling(this.dataList).then((res) => { |
| | | this.disabled = false; |
| | | this.SchedulingList = res.data; |
| | | this.SchedulingList.forEach((item, index) => { |
| | | item.newID = |
| | | (this.queryParams.pageNum - 1) * this.queryParams.pageSize + |
| | | index + |
| | | 1; |
| | | }); |
| | | }); |
| | | } else { |
| | | this.$modal.msgError("请选择时间段"); |
| | | } |
| | | } else { |
| | | this.$modal.msgError("请填写带星"); |
| | | } |
| | | } else { |
| | | this.$modal.msgError("请选择医生"); |
| | | } |
| | | }, |
| | | |
| | | SaveRoster() { |
| | | let mallSchedulingTimes = this.SchedulingList; |
| | | timeConfig(mallSchedulingTimes).then((res) => { |
| | | if (res.code == 200) { |
| | | this.$modal.msgSuccess("保存成功"); |
| | | this.getList(); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | changeInput(val) { |
| | | console.log(val); |
| | | }, |
| | | |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | | this.SchedulingList.forEach((item, index) => { |
| | | if (item == row) { |
| | | this.SchedulingList.splice(index, 1); |
| | | } |
| | | }); |
| | | }, |
| | | tingzhen(row) { |
| | | let MallSchedulingTime = row; |
| | | console.log(MallSchedulingTime); |
| | | updateIsClose(MallSchedulingTime).then((response) => { |
| | | console.log(response); |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style scoped> |
| | | .el-input--medium .el-input__inner { |
| | | height: 24px; |
| | | line-height: 24px; |
| | | } |
| | | |
| | | .pag { |
| | | width: 140%; |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .pag1 { |
| | | width: 20%; |
| | | } |
| | | </style> |
| | |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['system:notice:remove']" |
| | | >删除</el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-share" |
| | | @click="handledetails(scope.row)" |
| | | v-hasPermi="['system:notice:remove']" |
| | | >详情</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <!--通知公告详情 --> |
| | | <el-dialog :title="formIn.noticeTitle" :visible.sync="openDetail" width="800px" append-to-body> |
| | | <div style="margin-top:-20px;margin-bottom:10px;"> |
| | | <el-tag size="mini" effect="dark" type="warning" v-if="form.noticeType==2">公告</el-tag> |
| | | <el-tag size="mini" effect="dark" v-else>通知</el-tag> |
| | | <span style="margin-left:20px;">{{formIn.createTime}}</span> |
| | | </div> |
| | | <div class="content"> |
| | | <div v-html="formIn.noticeContent" style="margin-left:0px;margin-right:76px" class="ql-editor"></div> |
| | | </div> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="cancel"> 关 闭 </el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | return { |
| | | // 遮罩层 |
| | | loading: true, |
| | | openDetail:false, |
| | | // 选中数组 |
| | | ids: [], |
| | | // 非单个禁用 |
| | |
| | | createBy: undefined, |
| | | status: undefined |
| | | }, |
| | | formIn:{}, |
| | | // 表单参数 |
| | | form: {}, |
| | | // 表单校验 |
| | |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.open = false; |
| | | this.openDetail = false, |
| | | this.reset(); |
| | | }, |
| | | // 表单重置 |
| | |
| | | this.title = "修改公告"; |
| | | }); |
| | | }, |
| | | |
| | | handledetails(row){ |
| | | this.formIn = row; |
| | | this.openDetail = true; |
| | | }, |
| | | /** 提交按钮 */ |
| | | submitForm: function() { |
| | | this.$refs["form"].validate(valid => { |
| | |
| | | // detail: https://cli.vuejs.org/config/#devserver-proxy |
| | | [process.env.VUE_APP_BASE_API]: { |
| | | //target: `https://ltpeis.xaltjdkj.cn:5501/prod-api/getInfo`, |
| | | // target: `http://192.168.0.100:5011`, |
| | | target: `http://192.168.0.100:5011`, |
| | | // // target: `http://192.168.0.99:8080/ltkj-admin`, |
| | | target: `https://ltpeis.xaltjdkj.cn:5011/ltkj-admin`, |
| | | // target: `https://ltpeis.xaltjdkj.cn:5011/ltkj-admin`, |
| | | changeOrigin: true, |
| | | pathRewrite: { |
| | | ['^' + process.env.VUE_APP_BASE_API]: '' |