Преглед изворни кода

租户购买员工账号数

Long пре 2 дана
родитељ
комит
eec3d83957
2 измењених фајлова са 81 додато и 2 уклоњено
  1. 8 0
      src/api/his/company.js
  2. 73 2
      src/views/his/company/index.vue

+ 8 - 0
src/api/his/company.js

@@ -118,3 +118,11 @@ export function getGatewayCompanyList(companyId) {
     method: 'get'
   })
 }
+
+// 查询租户员工账户使用统计
+export function getAccountStats() {
+  return request({
+    url: '/his/company/accountStats',
+    method: 'get'
+  })
+}

+ 73 - 2
src/views/his/company/index.vue

@@ -1,5 +1,30 @@
 <template>
   <div class="app-container">
+    <!-- 员工账户统计 -->
+    <el-row :gutter="16" class="account-stats-row" v-if="accountStats">
+      <el-col :span="8">
+        <el-card shadow="never" class="stats-card">
+          <div class="stats-card-label">已购员工账户</div>
+          <div class="stats-card-number">{{ accountStats.purchasedCount }}</div>
+        </el-card>
+      </el-col>
+      <el-col :span="8">
+        <el-card shadow="never" class="stats-card">
+          <div class="stats-card-label">已使用账号数</div>
+          <div class="stats-card-number">{{ accountStats.usedCount }}</div>
+        </el-card>
+      </el-col>
+      <el-col :span="8">
+        <el-card shadow="never" class="stats-card">
+          <div class="stats-card-label">剩余可用账号</div>
+          <div class="stats-card-bottom">
+            <span class="stats-card-number" :class="{ 'text-danger': accountStats.remainingCount === 0 }">{{ accountStats.remainingCount }}</span>
+            <el-button type="primary" size="mini">购买</el-button>
+          </div>
+        </el-card>
+      </el-col>
+    </el-row>
+
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
       <el-form-item label="公司名" prop="companyName">
         <el-input
@@ -755,7 +780,8 @@ import {
   resetPwd,
   getDivConfig,
   setDiv, exitMiniProgram,
-  getGatewayCompanyList
+  getGatewayCompanyList,
+  getAccountStats
 } from '@/api/his/company'
 import { getFollowDoctorList } from '@/api/his/doctor'
 import { docList } from '@/api/his/doctor'
@@ -771,6 +797,8 @@ export default {
   data() {
     return {
       gatewayList:[],
+      // 员工账户使用统计
+      accountStats: null,
       signProjectName:"",
       redSubmit: false,
       //分账参数
@@ -952,7 +980,7 @@ export default {
     }
   },
   created() {
-    
+
     getGatewayCompanyList().then(res=>{
         this.gatewayList = res.data;
         console.log(this.gatewayList);
@@ -962,6 +990,7 @@ export default {
       this.signProjectName = res.signProjectName;
     })
     .catch(res=>{console.log("getSignProjectName Err")})
+    this.getAccountStats()
     this.getList()
     this.getDicts('sys_company_status').then(response => {
       this.statusOptions = response.data
@@ -1152,6 +1181,11 @@ export default {
         this.loading = false
       })
     },
+    getAccountStats() {
+      getAccountStats().then(response => {
+        this.accountStats = response.data
+      })
+    },
     // 取消按钮
     cancel() {
       this.open = false
@@ -1397,4 +1431,41 @@ export default {
   font-size: 12px;
   height: 50px;
 }
+
+.account-stats-row {
+  margin-bottom: 16px;
+}
+
+.stats-card {
+  text-align: center;
+}
+
+.stats-card >>> .el-card__body {
+  padding: 20px 16px;
+}
+
+.stats-card-label {
+  font-size: 13px;
+  color: #909399;
+  margin-bottom: 8px;
+}
+
+.stats-card-number {
+  font-size: 28px;
+  font-weight: 600;
+  color: #303133;
+  line-height: 1;
+}
+
+.stats-card-number.text-danger {
+  color: #F56C6C;
+}
+
+.stats-card-bottom {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  gap: 10px;
+}
+
 </style>