lsw hai 2 meses
pai
achega
6884d6e855

+ 125 - 2
admin-ui/src/views/index.vue

@@ -4,7 +4,7 @@
       <span style="font-size: 19px">欢迎使用岑溪人民医院随访系统</span>
       <iframe allowtransparency="true" frameborder="0" width="180" height="36" scrolling="no" style="padding-top: 10px" src="//tianqi.2345.com/plugin/widget/index.htm?s=3&z=2&t=0&v=0&d=2&bd=0&k=&f=#545555&ltf=#545555&htf=ffffff&q=1&e=1&a=1&c=72036&w=180&h=36&align=center"></iframe>
     </div>
-    <div class="chart-wrapper" v-if="user.roleName == '医生'||user.roleName == '科室主任'">
+    <div class="chart-wrapper" v-if="user.roleName == '医生' || user.roleName == '科室主任'">
       <!--个人形象-->
       <div class="pop" style="width: 65%">
         <div class="out">
@@ -23,7 +23,130 @@
                   <el-button icon="el-icon-edit" type="primary" class="edit">
                     <router-link to="/user/profile">编辑我的形象</router-link>
                   </el-button>
-                  <div class="ntc">只有医生才会在小程序上面展示个人形象</div>
+                  <div class="ntc">在小程序上面展示个人形象</div>
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+        <!--数据统计-->
+        <div class="out">
+          <div class="int">
+            <div class="bos">
+              <div class="lab">
+                <div class="bsg"></div>
+                <div class="tit">数据统计</div>
+              </div>
+              <div class="yr">
+                <div class="rout" style="padding-left: 0px">
+                  <div class="rint" style="background-color: rgb(242 232 255)">
+                    <div class="icon" style="color: #8642df">&#xe6b6;</div>
+                    <div class="rcon">
+                      <div class="rtt">患者数据</div>
+                      <div class="rdesc">{{ data.count.visit || 0 }}</div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+              <div class="yr">
+                <div class="rout">
+                  <div class="rint" style="background-color: rgb(255 245 229)">
+                    <div class="icon" style="color: #fab22e">&#xe716;</div>
+                    <div class="rcon">
+                      <div class="rtt">复诊提醒</div>
+                      <div class="rdesc">{{ data.count.up || 0 }}</div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+              <div class="yr">
+                <div class="rout">
+                  <div class="rint" style="background-color: rgb(237 246 254)">
+                    <div class="icon" style="color: #489afd">&#xe62f;</div>
+                    <div class="rcon">
+                      <div class="rtt">随访记录</div>
+                      <div class="rdesc">{{ data.count.record || 0 }}</div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+              <div class="yr">
+                <div class="rout" style="padding-right: 0px">
+                  <div class="rint" style="background-color: rgb(255 242 245)">
+                    <div class="icon" style="color: #fa5376">&#xe69a;</div>
+                    <div class="rcon">
+                      <div class="rtt">知识库</div>
+                      <div class="rdesc">{{ data.count.knowledge || 0 }}</div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+        <!--快捷菜单-->
+        <div class="out">
+          <div class="int">
+            <div class="bos">
+              <div class="lab">
+                <div class="bsg"></div>
+                <div class="tit">快捷菜单</div>
+              </div>
+              <div class="yr" style="width: 20%" v-for="(item, index) in menu" :key="item.id" v-hasPermi="[item.hasPermi]">
+                <router-link :to="item.url">
+                  <div class="rout">
+                    <div class="rint" style="text-align: center; cursor: pointer">
+                      <span class="icon" :style="{ float: 'none', color: item.color }" v-html="item.icon">&#xe60d;</span>
+                      <div class="ctt">{{ item.name }}</div>
+                    </div>
+                  </div>
+                </router-link>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+      <!--手机预览-->
+      <div class="pop" style="width: 35%">
+        <div class="out">
+          <div class="int">
+            <div class="bos">
+              <div class="div-mc">
+                <div class="guise-mobile">
+                  <div class="guise-mobile-show" ref="scrollbar">
+                    <div class="js">
+                      <div class="head"><img :src="user.avatar" /></div>
+                      <div class="name">{{ user.nickName }}</div>
+                      <div class="introduce" v-html="user.introduce" v-if="user.introduce"></div>
+                      <el-empty v-else description="暂无个人介绍" :image-size="80" v-else></el-empty>
+                    </div>
+                  </div>
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+    <div class="chart-wrapper" v-else>
+      <!--个人形象-->
+      <div class="pop" style="width: 65%">
+        <div class="out">
+          <div class="int">
+            <div class="bos">
+              <div class="lab">
+                <div class="bsg"></div>
+                <div class="tit">个人信息</div>
+              </div>
+              <div class="cards">
+                <img :src="user.avatar" class="avatar" style="width: 100px; height: 140px" />
+                <div class="con">
+                  <div class="title">姓名:{{ user.nickName }}</div>
+                  <div class="desc">角色:{{ user.roleName ? user.roleName : '无角色' }}</div>
+                  <div class="desc">科室:{{ user.deptNameStr ? user.deptNameStr : '无科室' }}</div>
+                  <el-button icon="el-icon-edit" type="primary" class="edit">
+                    <router-link to="/user/profile">编辑我的信息</router-link>
+                  </el-button>
                 </div>
               </div>
             </div>

+ 4 - 3
admin-ui/src/views/work/check/index.vue

@@ -4,7 +4,7 @@
     <el-row :gutter="20" style="height: 100%">
       <!-- 列容器 -->
       <!-- 左边的列表,显示各个科室 -->
-      <el-col :span="4" style="box-shadow: 0 3px 10px 0 rgb(0 0 0 / 6%); border-right: 1px solid #f1f2f4; overflow-y: auto; height: 100%">
+      <el-col :span="4" v-if="user.roleName != '医生'" style="box-shadow: 0 3px 10px 0 rgb(0 0 0 / 6%); border-right: 1px solid #f1f2f4; overflow-y: auto; height: 100%">
         <el-input placeholder="输入部门关键字" :clearable="true" v-model="filterText"></el-input>
         <div>
           <div style="height: calc(-203px + 100vh); overflow-y: auto; margin-top: 3px">
@@ -13,7 +13,7 @@
         </div>
       </el-col>
       <!-- 患者诊断记录列表 -->
-      <el-col :span="20" style="height: 100%">
+      <el-col :span="user.roleName != '医生' ? 20 : 24">
         <el-form :model="queryParams" ref="queryForm" :inline="true" style="margin-top: 0">
           <el-form-item prop="physician">
             <el-input v-model="queryParams.physician" placeholder="请输入主治医生" clearable @keyup.enter.native="handleQuery" class="se" />
@@ -29,7 +29,7 @@
             <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
           </el-form-item>
         </el-form>
-        <el-table :data="patientList" border @selection-change="selects" height="calc(100vh - 230px)">
+        <el-table :data="patientList" border @selection-change="selects" height="calc(100vh - 240px)">
           <el-table-column type="selection" width="55" align="center" />
           <el-table-column label="科室" align="center" prop="department" />
           <el-table-column label="患者姓名" align="center" prop="name" />
@@ -59,6 +59,7 @@ export default {
   name: 'checkUser',
   data() {
     return {
+      user: this.$store.state.user,
       dischargeTime: [],
       filterText: '',
       total: 0,

+ 3 - 0
admin-ui/src/views/work/follow/record/index.vue

@@ -7,6 +7,9 @@
       <el-form-item label="患者姓名" prop="patientName">
         <el-input v-model="queryParams.patientName" placeholder="请输入患者姓名" @keyup.enter.native="handleQuery" clearable class="inp" />
       </el-form-item>
+      <el-form-item label="创建日期">
+        <el-date-picker v-model="dateRange" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :clearable="false"></el-date-picker>
+      </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>

+ 7 - 6
admin-ui/src/views/work/visit/index.vue

@@ -1,19 +1,19 @@
 <template>
   <div class="app-container">
-    <el-row :gutter="20" style="margin-top: 0">
-      <el-col :span="4">
+    <el-row style="margin-top: 0">
+      <el-col :span="4" v-if="user.roleName != '医生'">
         <el-input placeholder="输入部门关键字" :clearable="true" v-model="filterText"></el-input>
         <div style="height: calc(-203px + 100vh); overflow-y: auto; margin-top: 3px">
           <el-tree :highlight-current="true" class="filter-tree" :data="deptOptions" node-key="id" :default-expanded-keys="[100]" :filter-node-method="filterNode" @node-click="handleNodeClick" ref="tree"></el-tree>
         </div>
       </el-col>
-      <el-col :span="20" style="height: 100%">
+      <el-col :span="user.roleName != '医生' ? 20 : 24" style="height: 100%">
         <el-form :model="queryParams" ref="queryForm" :inline="true" style="margin-top: 0">
           <el-form-item prop="physician">
-            <el-input v-model="queryParams.physician" placeholder="请输入主治医生" clearable @keyup.enter.native="handleQuery"/>
+            <el-input v-model="queryParams.physician" placeholder="请输入主治医生" clearable @keyup.enter.native="handleQuery" />
           </el-form-item>
           <el-form-item prop="name">
-            <el-input v-model="queryParams.name" placeholder="请输入患者姓名" clearable @keyup.enter.native="handleQuery"/>
+            <el-input v-model="queryParams.name" placeholder="请输入患者姓名" clearable @keyup.enter.native="handleQuery" />
           </el-form-item>
           <el-form-item>
             <el-date-picker v-model="dischargeTime" type="daterange" start-placeholder="开始时间" end-placeholder="结束时间" value-format="yyyy-MM-dd" />
@@ -23,7 +23,7 @@
             <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
           </el-form-item>
         </el-form>
-        <el-table :data="patientList" border @selection-change="selects" height="calc(100vh - 250px)">
+        <el-table :data="patientList" border @selection-change="selects" height="calc(100vh - 240px)">
           <el-table-column type="selection" width="55" align="center" />
           <el-table-column label="科室" align="center" prop="department" />
           <el-table-column label="患者姓名" align="center" prop="name" />
@@ -59,6 +59,7 @@ export default {
   name: 'User',
   data() {
     return {
+      user: this.$store.state.user,
       dischargeTime: [],
       filterText: '',
       total: 0,