WXL
2025-04-01 935e93f556fa680f6bdfd2d7cf6905361bbaefdb
src/views/index.vue
@@ -7,49 +7,49 @@
          <!-- 就诊统计盒子 -->
          <div class="grid-content bg-purple headerBox bgc1">
            <div class="title">
              患者统计<span
              门诊服务<span
                style="
                  font-size: 25px;
                  font-weight: 600;
                  text-shadow: 2px 4px 7px rgb(85 132 255 / 50%);
                  color: black;
                "
                >12322 (人)</span
                ></span
              >
              <span>{{ endatd }} ~ {{ statd }}</span>
            </div>
            <el-row :gutter="20">
              <el-col :span="8">
              <el-col :span="10">
                <div class="home-user-task-stats">
                  <p>{{ 11231 }}</p>
                  <div class="text-color2">
                    <p>门诊总数(人)</p>
                    <p>门诊就诊量(人次)</p>
                  </div>
                </div>
              </el-col>
              <el-col :span="7">
              <el-col :span="10">
                <div class="home-user-task-stats">
                  <p>{{ 9207 }}</p>
                  <div class="text-color2">
                    <p>住院总数(人)</p>
                    <p>门诊服务量(人次)</p>
                  </div>
                </div>
              </el-col>
              <el-col :span="7">
              <!-- <el-col :span="7">
                <div class="home-user-task-stats">
                  <p>{{ 1209 }}</p>
                  <div class="text-color2">
                    <p>体检总数(人)</p>
                  </div>
                </div>
              </el-col>
              </el-col> -->
            </el-row>
          </div>
        </el-col>
        <el-col :span="9">
          <div class="grid-content bg-purple headerBox bgc2">
            <div class="title">
              门诊服务总数
              门诊服务
              <span
                style="
                  font-size: 25px;
@@ -57,24 +57,25 @@
                  font-weight: 600;
                  color: red;
                "
                >12322 (人)</span
                ></span
              >
              <span>{{ endatd }} ~ {{ statd }}</span>
            </div>
            <el-row :gutter="20">
              <el-col :span="12">
              <el-col :span="10">
                <div class="home-user-task-stats">
                  <p style="color: red">{{ 3453 }}</p>
                </div>
                <div class="text-color2">
                  <p>住院服务人数</p>
                  <p>出院就诊量(人次)</p>
                </div>
              </el-col>
              <el-col :span="12">
              <el-col :span="10">
                <div class="home-user-task-stats">
                  <p style="color: red">{{ 4213 }}</p>
                  <div class="text-color2">
                    <p>体检服务人数</p>
                    <p>出院服务量(人次)</p>
                  </div>
                </div>
              </el-col>
@@ -88,7 +89,7 @@
          <!-- echars数据可视化 -->
          <div class="grid-content bg-purple" style="min-height: 365px">
            <div class="title">
              就诊统计
              服务统计
              <span>{{ endatd }} ~ {{ statd }}</span>
              <el-radio-group
                v-model="radio1"
@@ -117,7 +118,7 @@
        <el-col :span="4" class="aside">
          <div class="grid-content bg-purple" style="margin-top: -180px">
            <div class="title">
              健康宣教
              科室服务量
              <span>{{ endatd }} ~ {{ statd }}</span>
            </div>
            <div style="max-height: 690px; width: 100%; overflow: auto">
@@ -134,6 +135,7 @@
                  width="88"
                  class-name="name"
                ></el-table-column>
                <el-table-column prop="count" class-name="count">
                  <template slot-scope="scope">
                    {{ scope.row.count }}次
@@ -146,7 +148,7 @@
      </el-row>
      <!-- 底部一个 -->
      <el-row :gutter="20" style="margin-bottom: 20px">
        <el-col :span="15">
        <el-col :span="24">
          <div class="grid-content bg-purple" style="min-height: 300px">
            <div class="title">
              宣教统计
@@ -158,7 +160,7 @@
            </div>
          </div>
        </el-col>
        <el-col :span="9">
        <!-- <el-col :span="9">
          <div class="grid-content bg-purple" style="min-height: 300px">
            <div class="title">
              各项服务统计
@@ -167,7 +169,7 @@
            <div class="empenty">
              <el-row>
                <el-col :span="3"
                  ><div class="grid-contents bg-purples" >出院:</div></el-col
                  ><div class="grid-contents bg-purples">出院:</div></el-col
                >
                <el-col :span="7">
                  <div style="display: flex">
@@ -187,13 +189,13 @@
                    <div class="subtitle">复诊通知</div>
                    <div class="grid-contents bg-purple-light">0次</div>
                  </div>
                </el-col> </el-row
              >
                </el-col>
              </el-row>
              <el-row>
                <el-col :span="3"
                  ><div class="grid-contents bg-purples" ></div></el-col
                >
                <el-col :span="7" >
                  ><div class="grid-contents bg-purples"></div
                ></el-col>
                <el-col :span="7">
                  <div style="display: flex">
                    <div class="subtitle">出院评估</div>
                    <div class="grid-contents bg-purple-light">0次</div>
@@ -212,16 +214,15 @@
                    <div class="grid-contents bg-purple-light">0次</div>
                  </div>
                </el-col>
                 </el-row
              >
              </el-row>
              <el-row>
                <el-col :span="3"
                  ><div class="grid-contents bg-purples" >门诊:</div></el-col
                  ><div class="grid-contents bg-purples">门诊:</div></el-col
                >
                <el-col :span="7">
                  <div style="display: flex">
                    <div class="subtitle">门诊随访</div>
                    <div class="subtitle">影像随访</div>
                    <div class="grid-contents bg-purple-light">0次</div>
                  </div>
                </el-col>
@@ -237,12 +238,12 @@
                    <div class="subtitle">复诊通知</div>
                    <div class="grid-contents bg-purple-light">0次</div>
                  </div>
                </el-col> </el-row
              >
                </el-col>
              </el-row>
              <el-row>
                <el-col :span="3"
                  ><div class="grid-contents bg-purples" ></div></el-col
                >
                  ><div class="grid-contents bg-purples"></div
                ></el-col>
                <el-col :span="7">
                  <div style="display: flex">
                    <div class="subtitle">满意度调查</div>
@@ -255,12 +256,10 @@
                    <div class="grid-contents bg-purple-light">0次</div>
                  </div>
                </el-col>
                </el-row
              >
              </el-row>
              <el-row>
                <el-col :span="3"
                  ><div class="grid-contents bg-purples" >在院:</div></el-col
                  ><div class="grid-contents bg-purples">在院:</div></el-col
                >
                <el-col :span="7">
                  <div style="display: flex">
@@ -280,23 +279,23 @@
                    <div class="subtitle">其他通知</div>
                    <div class="grid-contents bg-purple-light">0次</div>
                  </div>
                </el-col> </el-row
              >
                </el-col>
              </el-row>
            </div>
          </div>
        </el-col>
        </el-col> -->
      </el-row>
    </div>
  </div>
</template>
<script>
// import {
//   getUserWork,
//   getregionCollect,
//   getregionOrderCount,
// } from "@/api/home";
import {
  getoutpatientamount,
  getInhospital,
  getBarchart,
  getQtemplateobj,
} from "@/api/AiCentre/index";
import dayjs from "dayjs";
export default {
@@ -342,13 +341,11 @@
    },
  },
  created() {
    // this.getoutpatientamount();
    // this.getInhospital();
    // this.getBarchart();
    this.$nextTick(function () {
      this.getregionAmountCollect();
      this.getUserWorks();
      this.getregionCollect();
      this.getregionOrderCount();
      this.getNodeCount();
      this.getPrtnerCount();
      this.getnodeCollect();
      this.getSkuTop();
    });
@@ -373,31 +370,19 @@
        this.dyat = 360;
      }
      this.getregionAmountCollect();
      this.getUserWorks();
      this.getregionCollect();
      this.getregionOrderCount();
      this.getNodeCount();
      this.getPrtnerCount();
      // this.getoutpatientamount();
      // this.getInhospital();
      // this.getBarchart();
      this.getnodeCollect();
      this.getSkuTop();
    },
    // 获取点位总数
    async getNodeCount() {
      // const res = await getNodeCount();
      // this.NodeCount = res.data;
    },
    // 获取合作商总数
    async getPrtnerCount() {
      // const res = await getPrtnerCount();
      // this.PrtnerCount = res.data;
    },
    // 合作商点位汇总统计饼状图
    async getnodeCollect() {
      // const res = await getnodeCollect();
      // this.nodeCollect = res.data;
      this.nodeCollect = [
        { name: "门诊随访", value: 1232 },
        { name: "影像随访", value: 1232 },
        { name: "出院随访", value: 342 },
      ];
      this.myPieChart();
@@ -420,34 +405,26 @@
        { amount: 0, count: 89, skuId: "0", skuName: "急诊" },
        { amount: 0, count: 88, skuId: "0", skuName: "器械科" },
        { amount: 0, count: 87, skuId: "0", skuName: "骨科" },
        { amount: 0, count: 67, skuId: "0", skuName: "放射科" },
        { amount: 0, count: 67, skuId: "0", skuName: "放射科1" },
        { amount: 0, count: 67, skuId: "0", skuName: "放射科2" },
      ];
    },
    // 获取工单数量
    async getUserWorks() {
      // const res = await getUserWork(this.atd, this.td);
      // this.ticketStatistics = res.data[0];
    // 获取门诊基础数据
    getoutpatientamount() {
      getoutpatientamount().then((res) => {});
    },
    // 获取就诊数量
    async getregionOrderCount() {
      // const res = await getregionOrderCount({
      //   start: this.atd,
      //   end: this.td,
      // });
      // this.order = res.data;
    getBarchart() {
      getBarchart().then((res) => {});
    },
    // 获取总量数量
    async getregionCollect() {
      // const res = await getregionCollect({
      //   start: this.atd,
      //   end: this.td,
      // });
      // this.Count = (res.data / 1000000).toFixed(2);
    getInhospital() {
      getInhospital().then((res) => {});
    },
    // 获取线状图时间
    async getregionAmountCollect() {
      // const res = await getregionAmountCollect(1, this.endatd, this.statd);
      //getregionAmountCollect(1, this.endatd, this.statd);
      // this.xAxis = res.data.xAxis;
      // this.series = res.data.series;
      this.xAxis = ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月"];
@@ -481,10 +458,10 @@
          data: [
            "出院随访量",
            "门诊随访量",
            "在院随访量",
            "门诊复诊通知",
            "出院复诊通知",
            "在院评估量",
            // "在院随访量",
            // "门诊复诊通知",
            "出院服务人次",
            "门诊服务人次",
          ],
        },
        xAxis: [
@@ -541,18 +518,18 @@
            },
            data: [120, 150, 165, 90, 140, 200, 130, 85, 175, 95, 110, 160],
          },
          // {
          //   name: "影像随访量",
          //   type: "bar",
          //   tooltip: {
          //     valueFormatter: function (value) {
          //       return value + " 人";
          //     },
          //   },
          //   data: [102, 190, 135, 88, 175, 160, 83, 145, 200, 110, 97, 180],
          // },
          {
            name: "门诊随访量",
            type: "bar",
            tooltip: {
              valueFormatter: function (value) {
                return value + " 人";
              },
            },
            data: [102, 190, 135, 88, 175, 160, 83, 145, 200, 110, 97, 180],
          },
          {
            name: "在院随访量",
            type: "bar",
            tooltip: {
              valueFormatter: function (value) {
@@ -562,20 +539,20 @@
            data: [145, 92, 178, 134, 167, 85, 199, 112, 156, 88, 120, 145],
          },
          // {
          //   name: "出院复诊通知",
          //   type: "line",
          //   smooth: 0.3,
          //   yAxisIndex: 1,
          //   tooltip: {
          //     valueFormatter: function (value) {
          //       return value + " 次";
          //     },
          //   },
          //   data: [45, 123, 78, 156, 89, 34, 199, 112, 67, 145, 88, 175],
          // },
          {
            name: "出院复诊通知",
            type: "line",
            smooth: 0.3,
            yAxisIndex: 1,
            tooltip: {
              valueFormatter: function (value) {
                return value + " 次";
              },
            },
            data: [45, 123, 78, 156, 89, 34, 199, 112, 67, 145, 88, 175],
          },
          {
            name: "门诊复诊通知",
            name: "出院服务人次",
            type: "line",
            smooth: 0.3,
            yAxisIndex: 1,
@@ -587,7 +564,7 @@
            data: [102, 190, 135, 88, 175, 160, 83, 145, 200, 110, 97, 180],
          },
          {
            name: "在院评估量",
            name: "门诊服务人次",
            type: "line",
            smooth: 0.3,
            yAxisIndex: 1,
@@ -998,7 +975,7 @@
  line-height: 36px;
  width: 6vw;
}
.subtitle{
.subtitle {
  text-align: center;
  align-items: center;
}
@@ -1006,7 +983,9 @@
  min-height: 36px;
  border-radius: 20px;
  padding: 0 10px;
  text-align: center;
}
.grid-contents {
  min-height: 36px;
  border-radius: 20px;