完善H5,报到机,报表等
parent
0eba7d6cb9
commit
cd9d537441
@ -1 +1,3 @@
|
||||
/Laravel/public/admin
|
||||
/h5/unpackage
|
||||
/h5/unpackage
|
||||
|
||||
@ -0,0 +1,124 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="head">
|
||||
<el-row>
|
||||
<el-form-item>
|
||||
<el-date-picker style="margin-left: 8px; width: 300px" v-model="SearchInfo.dateRange"
|
||||
type="daterange" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间"
|
||||
value-format="YYYY-MM-DD" />
|
||||
</el-form-item>
|
||||
<el-button @click="GetInfo()" style="margin-left: 10px;">搜索</el-button>
|
||||
|
||||
</el-row>
|
||||
</div>
|
||||
<div v-if="AllUsedCount>0" id="Bing" class="Bing"></div>
|
||||
<el-table :data="tableData" style="width: 100%;" row-key="id" v-loading="loading">
|
||||
<el-table-column prop="department_name" label="科室" />
|
||||
<el-table-column prop="count" label="号源总数" />
|
||||
<el-table-column prop="used_count" label="使用量" />
|
||||
<el-table-column prop="used_rate" label="使用量占比" />
|
||||
</el-table>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import {
|
||||
ref,
|
||||
onMounted,nextTick
|
||||
} from 'vue'
|
||||
import * as echarts from 'echarts';
|
||||
import {
|
||||
adminPlanTongJi,GetServiceDateTime
|
||||
} from '@/api/api.js'
|
||||
import {
|
||||
ElMessage,
|
||||
ElMessageBox
|
||||
} from 'element-plus'
|
||||
|
||||
let loading = ref(false)
|
||||
let tableData = ref([])
|
||||
let SearchInfo=ref({})
|
||||
let PlanAllCount=ref(0)
|
||||
let AllUsedCount=ref(0)
|
||||
//获取服务器时间
|
||||
const GetServiceDate = () => {
|
||||
GetServiceDateTime().then(res => {
|
||||
if (res.status) {
|
||||
let datetime = res.data.datetime.substr(0, 10)
|
||||
SearchInfo.value.dateRange = [datetime, datetime]
|
||||
GetInfo()
|
||||
}
|
||||
})
|
||||
}
|
||||
const GetInfo = () => {
|
||||
loading.value=true
|
||||
adminPlanTongJi({
|
||||
SearchInfo: SearchInfo.value
|
||||
}).then(res => {
|
||||
loading.value = false
|
||||
if (res.status) {
|
||||
tableData.value=res.data.list
|
||||
PlanAllCount.value=res.data.allCount
|
||||
AllUsedCount.value=res.data.allUsedCount
|
||||
if(AllUsedCount.value>0){
|
||||
nextTick(()=>{
|
||||
DrawBing()
|
||||
})
|
||||
|
||||
}
|
||||
}else{
|
||||
ElMessage.error(res.msg)
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
|
||||
}
|
||||
const DrawBing=()=>{
|
||||
var ChartBingCount = echarts.init(document.getElementById('Bing'));
|
||||
// 绘制图表
|
||||
ChartBingCount.setOption({
|
||||
title: {
|
||||
text: SearchInfo.value.dateRange[0]+'~'+SearchInfo.value.dateRange[1]+'全院号源使用量占比',
|
||||
subtext: '号源总量 '+ PlanAllCount.value,
|
||||
left: 'center'
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'item'
|
||||
},
|
||||
legend: {
|
||||
orient: 'vertical',
|
||||
left: 'left'
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: 'Access From',
|
||||
type: 'pie',
|
||||
radius: '50%',
|
||||
data: [
|
||||
{ value: PlanAllCount.value-AllUsedCount.value, name: '未占用' },
|
||||
{ value: AllUsedCount.value, name: '已预约' },
|
||||
|
||||
],
|
||||
emphasis: {
|
||||
itemStyle: {
|
||||
shadowBlur: 10,
|
||||
shadowOffsetX: 0,
|
||||
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
}
|
||||
onMounted(() => {
|
||||
GetServiceDate()
|
||||
})
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.Bing{
|
||||
height: 400px;
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
@ -1,3 +1,3 @@
|
||||
ENV = 'development'
|
||||
VITE_APP_API = '/api/'
|
||||
VITE_APP_FILE = 'http://YiJiYuYue-Common'
|
||||
VITE_APP_FILE = 'http://yiji-qhdzhongyiyuan'
|
||||
@ -1,4 +1,4 @@
|
||||
ENV = 'production'
|
||||
VITE_APP_API = 'https://yiji.yuluo.online/Laravel/public/api/'
|
||||
VITE_APP_FILE = 'https://yiji.yuluo.online/Laravel/public/'
|
||||
VITE_APP_API = 'http://192.168.80.76/api/'
|
||||
VITE_APP_FILE = 'http://192.168.80.76/'
|
||||
|
||||
|
||||
@ -1,38 +1,51 @@
|
||||
<template>
|
||||
<div>
|
||||
登录
|
||||
<div style="display: flex;flex-direction: column;height: 100vh; justify-content: center;align-items: center;">
|
||||
<div style="font-size: 16px;margin-left: -80px;margin-top: -68px;">登 录</div>
|
||||
<div>
|
||||
<el-input v-model="regnum" style="width: 240px" placeholder="" />
|
||||
<el-button type="primary" style="margin-left: 20px;" @click="login()">登 录</el-button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import {
|
||||
Login
|
||||
} from "@/api/api.js";
|
||||
import {
|
||||
ElMessage
|
||||
} from 'element-plus'
|
||||
import {
|
||||
ref,nextTick,onMounted
|
||||
} from 'vue'
|
||||
const login=()=>{
|
||||
Login().then(res=>{
|
||||
console.log(res)
|
||||
if(res.status){
|
||||
sessionStorage.setItem('token', res.data.token);
|
||||
sessionStorage.setItem('refreshToken', res.data.refresh_token);
|
||||
var token = sessionStorage.getItem('token');
|
||||
if (token == res.data.token) {
|
||||
window.location.href="./#/index"
|
||||
}
|
||||
import {
|
||||
Login
|
||||
} from "@/api/api.js";
|
||||
import {
|
||||
ElMessage
|
||||
} from 'element-plus'
|
||||
import {
|
||||
ref,
|
||||
nextTick,
|
||||
onMounted
|
||||
} from 'vue'
|
||||
let regnum = ref('');
|
||||
const login = () => {
|
||||
if (regnum.value == '') {
|
||||
alert('请输入患者id');
|
||||
return false
|
||||
}
|
||||
|
||||
}else{
|
||||
ElMessage.error(res.data.msg)
|
||||
}
|
||||
})
|
||||
}
|
||||
onMounted(() => {
|
||||
login()
|
||||
})
|
||||
Login({regnum:regnum.value}).then(res => {
|
||||
console.log(res)
|
||||
if (res.status) {
|
||||
sessionStorage.setItem('token', res.data.token);
|
||||
sessionStorage.setItem('refreshToken', res.data.refresh_token);
|
||||
var token = sessionStorage.getItem('token');
|
||||
if (token == res.data.token) {
|
||||
window.location.href = "./#/index"
|
||||
}
|
||||
|
||||
} else {
|
||||
ElMessage.error(res.data.msg)
|
||||
}
|
||||
})
|
||||
}
|
||||
onMounted(() => {
|
||||
// login()
|
||||
})
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@ -1 +0,0 @@
|
||||
.CheckItemMain[data-v-765acc77]{height:calc(100vh - 3.75rem);background:radial-gradient(circle at top center,#dcdcdc 30%,#e3e3e3,transparent 2%);padding-top:.9375rem}.userInfo[data-v-765acc77]{background-color:#33cdc9;margin-left:.625rem;margin-right:.625rem;border-radius:.9375rem;padding:1.25rem 1.25rem 0;border:.03125rem solid #fff}.userInfo .row[data-v-765acc77]{margin-top:.625rem;font-size:1rem;color:#fff}.userInfo .value[data-v-765acc77]{margin-left:.625rem}.userInfo .label[data-v-765acc77]{text-align:right;width:30%}.row[data-v-765acc77]{display:flex}.title[data-v-765acc77]{font-weight:700;color:#fff}.date[data-v-765acc77]{text-align:center;font-size:.9375rem;background-color:#fff;padding:.625rem 1.875rem;border-radius:.9375rem;box-shadow:0 .3125rem .3125rem #add2d1;color:#333;position:relative;top:1.5625rem;white-space:nowrap}.list[data-v-765acc77]{padding:.625rem}.info[data-v-765acc77]{margin-top:1.875rem;padding:.625rem;background-color:#fff;border-radius:.625rem;margin-bottom:-.625rem}.item_title[data-v-765acc77]{color:#999;border-bottom:.03125rem solid #ccc;padding:.625rem}.item_info[data-v-765acc77]{padding:.9375rem 1.5625rem;color:#333}.item_info uni-view[data-v-765acc77]{margin-top:.625rem}.item_value[data-v-765acc77]{font-weight:700}.button[data-v-765acc77]{width:100%;height:1.875rem;line-height:1.875rem;border-radius:.625rem;background-color:#33cdc9;text-align:center;color:#fff;margin-top:.625rem;margin-left:10px;margin-right:10px}.red[data-v-765acc77]{background-color:coral}.blue[data-v-765acc77]{background-color:#39a6cd}.button_row[data-v-765acc77]{display:flex;justify-content:space-between}.nodata[data-v-765acc77]{text-align:center;margin-top:3.125rem;color:#ccc}
|
||||
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
import{h as t,N as e,Q as a,R as s,x as n}from"./index-efa985d2.js";const{isLoading:o,sendRequest:i}=function(){const o=t(!1);return{isLoading:o,sendRequest:function(t){o.value=!0,e({title:"加载中"});let i=function(t){return t.header={Authorization:"Bearer "+sessionStorage.getItem("access_token"),"Content-Type":"application/json"},t}(t);return new Promise(((t,e)=>{a({...i,success:e=>{let a=200===(i=e).statusCode?(0==i.data.status&&n({title:i.data.msg,icon:"none"}),i.data):(n({title:"请求失败,请稍后重试",icon:"none"}),Promise.reject(i.data));var i;o.value=!1,s(),t(a)},fail:t=>{o.value=!1,s(),e(t)}})}))}}}();let u="https://yiji.yuluo.online/Laravel/public/api/";const r=t=>i({url:u+"H5/Login",method:"POST",data:t}),l=t=>i({url:u+"v1/H5/EntrustGetList",method:"POST",data:t}),d=t=>i({url:u+"v1/H5/GetEnablePlan",method:"POST",data:t}),c=t=>i({url:u+"v1/H5/H5_YuYue",method:"POST",data:t}),m=t=>i({url:u+"v1/H5/H5_CancelYuYue",method:"POST",data:t});export{l as E,d as G,m as H,r as L,c as a};
|
||||
@ -1 +0,0 @@
|
||||
import{h as e,o as a,d as t,w as s,e as l,f as n,u,a as i,t as o,c as d,j as _,k as c,F as r,g as f,l as m,p,s as g}from"./index-efa985d2.js";import{_ as k}from"./uni-datetime-picker.aa655e0f.js";import{_ as v,o as h,r as y}from"./uni-app.es.b82cb7d4.js";import{E as b,H as w}from"./index.61e14a97.js";const C=v({__name:"CheckItemMainList",setup(v){let C=e({dateRange:["2021-05-01","2049-01-01"]}),M=e([]);const x=()=>{b({searchInfo:C.value}).then((e=>{console.log(e),e.status&&(M.value=e.data.list)}))},D=e=>{C.value.dateRange=e,x()},I=(e,a)=>{let t={do_type:e,appointment_type:2,regnum:a.reg_num,entrustid:[a.entrust_id],episodeid:a.episodeid};p({url:"/pages/PlanList?data="+encodeURIComponent(JSON.stringify(t))})};return h((()=>{var e=function(){var e=new Date;function a(e){return e.getFullYear()+"-"+("0"+(e.getMonth()+1)).slice(-2)+"-"+("0"+e.getDate()).slice(-2)}var t,s=a(e),l=a((t=e,new Date(t.getFullYear(),t.getMonth()-1,t.getDate()))),n=a(function(e){return new Date(e.getFullYear(),e.getMonth()+1,e.getDate())}(e));return{currentDate:s,previousMonth:l,nextMonth:n}}();C.value.dateRange=[e.previousMonth,e.nextMonth],x()})),(e,p)=>{const v=l,h=y(f("uni-datetime-picker"),k);return a(),t(v,{class:"CheckItemMain"},{default:s((()=>[n(v,{class:"head"}),u(M).length>0?(a(),t(v,{key:0,class:"userInfo"},{default:s((()=>[n(v,{class:"title"},{default:s((()=>[i("患者信息")])),_:1}),n(v,{class:"row"},{default:s((()=>[n(v,{class:"label"},{default:s((()=>[i("姓名:")])),_:1}),n(v,{class:"value"},{default:s((()=>[i(o(u(M)[0].user_name),1)])),_:1})])),_:1}),n(v,{class:"row"},{default:s((()=>[n(v,{class:"label"},{default:s((()=>[i("性别:")])),_:1}),n(v,{class:"value"},{default:s((()=>[1==u(M)[0].user_sex?(a(),d("span",{key:0},"男")):_("",!0),2==u(M)[0].user_sex?(a(),d("span",{key:1},"女")):_("",!0)])),_:1})])),_:1}),n(v,{class:"row"},{default:s((()=>[n(v,{class:"label"},{default:s((()=>[i("手机号:")])),_:1}),n(v,{class:"value"},{default:s((()=>[i(o(u(M)[0].user_phone),1)])),_:1})])),_:1}),n(v,{class:"row"},{default:s((()=>[n(v,{class:"label"},{default:s((()=>[i("注册号:")])),_:1}),n(v,{class:"value"},{default:s((()=>[i(o(u(M)[0].reg_num),1)])),_:1})])),_:1}),n(v,{class:"date"},{default:s((()=>[n(v,{class:"datetime"},{default:s((()=>[n(h,{modelValue:u(C).dateRange,"onUpdate:modelValue":p[0]||(p[0]=e=>u(C).dateRange=e),type:"daterange",onChange:D},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})):_("",!0),u(M).length>0?(a(),t(v,{key:1,class:"list"},{default:s((()=>[(a(!0),d(r,null,c(u(M),((e,l)=>(a(),t(v,{class:"info"},{default:s((()=>[n(v,{class:"item_title"},{default:s((()=>[i("检查项目:"+o(e.entrust),1)])),_:2},1024),n(v,{class:"item_info"},{default:s((()=>[n(v,null,{default:s((()=>[i("医嘱时间:"),m("span",{class:"item_value"},o(e.entrust_date),1)])),_:2},1024),n(v,null,{default:s((()=>[i("申请科室:"),m("span",{class:"item_value"},o(e.reservation_department),1)])),_:2},1024),n(v,null,{default:s((()=>[i("状态: "),0==e.list_status?(a(),d("span",{key:0,class:"item_value"},"待申请")):_("",!0),1==e.list_status?(a(),d("span",{key:1,class:"item_value"},"已预约")):_("",!0),2==e.list_status?(a(),d("span",{key:2,class:"item_value"},"已登记")):_("",!0),3==e.list_status?(a(),d("span",{key:3,class:"item_value"},"已完成")):_("",!0)])),_:2},1024),1==e.list_status?(a(),t(v,{key:0},{default:s((()=>[i("预约时段:"),m("span",{class:"item_value"},o(e.reservation_date)+" "+o(e.period_begin_time.substring(0,5))+"~"+o(e.period_end_time.substring(0,5)),1)])),_:2},1024)):_("",!0),0==e.list_status?(a(),t(v,{key:1,class:"button_row"},{default:s((()=>[n(v,{class:"button",onClick:a=>I(1,e)},{default:s((()=>[i("预 约")])),_:2},1032,["onClick"])])),_:2},1024)):_("",!0),1==e.list_status?(a(),t(v,{key:2,class:"button_row"},{default:s((()=>[n(v,{class:"button red",onClick:a=>(e=>{g({cancelText:"取消",confirmText:"确定",title:"提示",content:"确定取消预约吗?",success:function(a){a.confirm&&w({MainListId:e.id}).then((e=>{console.log(e),e.status&&x()}))}})})(e)},{default:s((()=>[i("取 消")])),_:2},1032,["onClick"]),n(v,{class:"button blue",onClick:a=>I(2,e)},{default:s((()=>[i("改 约")])),_:2},1032,["onClick"])])),_:2},1024)):_("",!0)])),_:2},1024)])),_:2},1024)))),256))])),_:1})):(a(),t(v,{key:2,class:"nodata"},{default:s((()=>[i(" 暂无记录 ")])),_:1}))])),_:1})}}},[["__scopeId","data-v-765acc77"]]);export{C as default};
|
||||
@ -1 +0,0 @@
|
||||
import{q as e,o as s,d as t,v as o,e as a}from"./index-efa985d2.js";import{L as n}from"./index.61e14a97.js";const r={__name:"Login",setup:r=>(e((()=>{n().then((e=>{console.log(e),e.status&&(sessionStorage.setItem("access_token",e.data.token),sessionStorage.setItem("refresh_token",e.data.refresh_token),o({url:"/pages/CheckItemMainList"}))}))})),(e,o)=>{const n=a;return s(),t(n)})};export{r as default};
|
||||
@ -1 +0,0 @@
|
||||
import{h as a,o as e,d as s,w as t,e as l,f as u,u as n,a as d,t as i,j as c,c as o,k as _,F as r,g as f,l as m,s as p,x as v,y as g}from"./index-efa985d2.js";import{_ as b}from"./uni-datetime-picker.aa655e0f.js";import{_ as h,o as k,r as w}from"./uni-app.es.b82cb7d4.js";import{G as x,a as j}from"./index.61e14a97.js";const y=h({__name:"PlanList",setup(h){let y=a({date:""}),C=a([]),I=a(null);const L=()=>{x({...y.value}).then((a=>{a.status&&(C.value=a.data.plan_list,I.value=a.data.mainInfo,y.value.mainlistid=[I.value.id])}))},M=a=>{y.value.date=a,L()};return k((a=>{y.value=JSON.parse(decodeURIComponent(a.data));var e,s=new Date;y.value.date=(e=s).getFullYear()+"-"+("0"+(e.getMonth()+1)).slice(-2)+"-"+("0"+e.getDate()).slice(-2),L()})),(a,h)=>{const k=l,x=w(f("uni-datetime-picker"),b);return e(),s(k,{class:"PlanListMain"},{default:t((()=>[u(k,{class:"head"}),n(I)?(e(),s(k,{key:0,class:"userInfo"},{default:t((()=>[u(k,{class:"title"},{default:t((()=>[d("选择预约日期及时段")])),_:1}),u(k,{class:"row"},{default:t((()=>[u(k,{class:"label"},{default:t((()=>[d("登记号:")])),_:1}),u(k,{class:"value"},{default:t((()=>[d(i(n(I).reg_num),1)])),_:1})])),_:1}),u(k,{class:"row"},{default:t((()=>[u(k,{class:"label"},{default:t((()=>[d("医嘱:")])),_:1}),u(k,{class:"value"},{default:t((()=>[d(i(n(I).entrust),1)])),_:1})])),_:1}),u(k,{class:"date"},{default:t((()=>[u(k,{class:"datetime"},{default:t((()=>[u(x,{modelValue:n(y).date,"onUpdate:modelValue":h[0]||(h[0]=a=>n(y).date=a),"clear-icon":!1,type:"date",onChange:M},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})):c("",!0),u(k,{class:"list"},{default:t((()=>[(e(!0),o(r,null,_(n(C),((a,l)=>(e(),s(k,{class:"info"},{default:t((()=>[u(k,null,{default:t((()=>[u(k,{class:"row"},{default:t((()=>[u(k,{class:"label"},{default:t((()=>[d("执行科室:")])),_:1}),u(k,{class:"value"},{default:t((()=>[d(i(n(I).implement_department),1)])),_:1})])),_:1}),u(k,{class:"row"},{default:t((()=>[u(k,{class:"label"},{default:t((()=>[d("资源:")])),_:1}),u(k,{class:"value"},{default:t((()=>[d(i(a.department_resources_name),1)])),_:2},1024)])),_:2},1024),u(k,{class:"row"},{default:t((()=>[u(k,{class:"label"},{default:t((()=>[d("时间段:")])),_:1}),a.begin_time?(e(),s(k,{key:0,class:"value"},{default:t((()=>[d(i(a.begin_time.substring(0,5))+"~"+i(a.end_time.substring(0,5)),1)])),_:2},1024)):c("",!0)])),_:2},1024)])),_:2},1024),u(k,{class:"right"},{default:t((()=>[u(k,{class:"right_top"},{default:t((()=>[u(k,{class:"button",onClick:e=>(a=>{p({cancelText:"取消",confirmText:"确定",title:"提示",content:"确定预约 "+y.value.date+" "+a.begin_time.substring(0,5)+"~"+a.end_time.substring(0,5)+" 时段吗?",success:function(e){e.confirm&&(y.value.planid=a.id,j({...y.value}).then((a=>{a.status&&(v({title:"预约成功"}),setTimeout((function(){g({url:"/pages/CheckItemMainList"})}),1e3))})))}})})(a)},{default:t((()=>[d("确认")])),_:2},1032,["onClick"])])),_:2},1024),u(k,{class:"right_bottom"},{default:t((()=>[d("已约/总数:"),m("span",{style:{color:"darkturquoise"}},i(a.used_count),1),d("/"+i(a.count),1)])),_:2},1024)])),_:2},1024)])),_:2},1024)))),256))])),_:1})])),_:1})}}},[["__scopeId","data-v-e1ec9a04"]]);export{y as default};
|
||||
@ -1 +0,0 @@
|
||||
import{K as s,L as o,O as t,M as n}from"./index-efa985d2.js";const r=(s,o)=>{const t=s.__vccOpts||s;for(const[n,r]of o)t[n]=r;return t};function a(s,o){return"string"==typeof s?o:s}const c=(t=>(r,a=o())=>{!n&&s(t,r,a)})(t);export{r as _,c as o,a as r};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue