11
WXL
2024-03-14 1c08c6dcbe0f81bd8cff8a363e0d6f5c996474be
src/views/project/indexstatistics/index.vue
@@ -68,8 +68,8 @@
              :to="{
                name: 'Donatebaseinfo',
                params: {
                  starttime: this.starttime,
                  endtime: this.endtime,
                  starttime: starttime,
                  endtime: endtime,
                  tempRecordState: '',
                  reporterno: reportervalue,
                  shen: searchAddress.shen,
@@ -85,7 +85,7 @@
              <!-- @click="tobaseinfo0" -->
              <el-card shadow="always" style="color: #566f94">
                <svg-icon icon-class="user" />&nbsp;&nbsp; 潜在捐献累计:{{
                  this.donateNumData.numberOfDonate
                  donateNumData.numberOfDonate
                }}&nbsp; 例
              </el-card>
            </router-link>
@@ -95,8 +95,8 @@
              :to="{
                name: 'Medicalevaluation',
                params: {
                  starttime: this.starttime,
                  endtime: this.endtime,
                  starttime: starttime,
                  endtime: endtime,
                  tempRecordState: '',
                  reporterno: reportervalue,
                  shen: searchAddress.shen,
@@ -112,7 +112,7 @@
                @click="Tomedicalevalua"
              >
                <svg-icon icon-class="tool" />&nbsp;&nbsp; 完成医学评估累计:{{
                  this.donateNumData.numberOfMedicalEvaluation
                  donateNumData.numberOfMedicalEvaluation
                }}&nbsp; 例
              </el-card>
            </router-link>
@@ -122,8 +122,8 @@
              :to="{
                name: 'Relativesconfirmation',
                params: {
                  starttime: this.starttime,
                  endtime: this.endtime,
                  starttime: starttime,
                  endtime: endtime,
                  tempRecordState: '',
                  reporterno: reportervalue,
                  shen: searchAddress.shen,
@@ -136,7 +136,7 @@
              <el-card shadow="always" style="color: #566f94">
                <svg-icon icon-class="checkbox" />&nbsp;&nbsp;
                完成亲属确认累计:{{
                  this.donateNumData.numberOfRelativeConfirmation
                  donateNumData.numberOfRelativeConfirmation
                }}&nbsp; 例
              </el-card>
            </router-link>
@@ -146,8 +146,8 @@
              :to="{
                name: 'EthicalReview',
                params: {
                  starttime: this.starttime,
                  endtime: this.endtime,
                  starttime: starttime,
                  endtime: endtime,
                  tempRecordState: '',
                  reporterno: reportervalue,
                  shen: searchAddress.shen,
@@ -160,7 +160,7 @@
              <el-card shadow="always" style="color: #566f94">
                <svg-icon icon-class="education" />&nbsp;&nbsp;
                完成伦理审查累计:{{
                  this.donateNumData.numberOfEthicalReview
                  donateNumData.numberOfEthicalReview
                }}&nbsp; 例
              </el-card>
            </router-link>
@@ -171,36 +171,21 @@
          style="margin-top: 10px; font-size: 18px;  font-weight: bold"
        >
          <el-col :span="6">
            <router-link
              :to="{
                name: 'Organallocation',
                params: {
                  starttime: this.starttime,
                  endtime: this.endtime,
                  tempRecordState: '',
                  reporterno: reportervalue,
                  shen: searchAddress.shen,
                  shi: searchAddress.shi,
                  qu: searchAddress.qu,
                  city: city
                }
              }"
            >
              <el-card shadow="always" style="color: #566f94">
                <svg-icon icon-class="druid" />&nbsp;&nbsp; 完成器官分配累计:{{
                  this.donateNumData.numberOfDonatePeople
                  donateNumData.numberOfDonatePeople
                }}&nbsp; 个
                <!-- this.donateNumData.numberOfOrgans -->
                <!-- donateNumData.numberOfOrgans -->
              </el-card>
            </router-link>
          </el-col>
          <el-col :span="6">
            <router-link
              :to="{
                name: 'Donationwitness',
                params: {
                  starttime: this.starttime,
                  endtime: this.endtime,
                  starttime: starttime,
                  endtime: endtime,
                  tempRecordState: '',
                  reporterno: reportervalue,
                  shen: searchAddress.shen,
@@ -212,7 +197,7 @@
            >
              <el-card shadow="always" style="color: #566f94">
                <svg-icon icon-class="job" />&nbsp;&nbsp; 完成获取见证累计:{{
                  this.donateNumData.numberOfWitness
                  donateNumData.numberOfWitness
                }}&nbsp; 例
              </el-card>
            </router-link>
@@ -222,8 +207,8 @@
              :to="{
                name: 'Donatefinish',
                params: {
                  starttime: this.starttime,
                  endtime: this.endtime,
                  starttime: starttime,
                  endtime: endtime,
                  tempRecordState: '',
                  reporterno: reportervalue,
                  shen: searchAddress.shen,
@@ -235,7 +220,7 @@
            >
              <el-card shadow="always" style="color: #566f94">
                <svg-icon icon-class="lock" />&nbsp;&nbsp; 捐献完成累计:{{
                  this.donateNumData.numberOfCompletion
                  donateNumData.numberOfCompletion
                }}&nbsp; 例
              </el-card>
            </router-link>
@@ -246,8 +231,8 @@
              :to="{
                name: 'Donatebaseinfo',
                params: {
                  starttime: this.starttime,
                  endtime: this.endtime,
                  starttime: starttime,
                  endtime: endtime,
                  tempRecordState: 99,
                  reporterno: reportervalue,
                  shen: searchAddress.shen,
@@ -259,7 +244,7 @@
            >
              <el-card shadow="always" style="color: #566f94">
                <svg-icon icon-class="lock" />&nbsp;&nbsp; 捐献终止累计:{{
                  this.donateNumData.numberOfTerminated
                  donateNumData.numberOfTerminated
                }}&nbsp; 例
              </el-card>
            </router-link>
@@ -284,9 +269,7 @@
                    style="padding: 0; margin: 0; width: 100%; color: #566f94"
                  >
                    器官捐献转化率<br />
                    {{
                      (this.qualirtData.donateTransferRate * 100).toFixed(2)
                    }}%
                    {{ (qualirtData.donateTransferRate * 100).toFixed(2) }}%
                  </el-card>
                </el-col>
                <el-col :span="8" style="text-align: center">
@@ -295,9 +278,7 @@
                    style="padding: 0; margin: 0; width: 100%; color: #566f94"
                  >
                    平均器官产出率<br />
                    {{
                      (this.qualirtData.organProductionRate * 100).toFixed(2)
                    }}%
                    {{ (qualirtData.organProductionRate * 100).toFixed(2) }}%
                  </el-card>
                </el-col>
                <el-col :span="8" style="text-align: center">
@@ -306,7 +287,7 @@
                    style="padding: 0; margin: 0; width: 100%; color: #566f94"
                  >
                    获取器官利用率<br />
                    {{ (this.qualirtData.organUsedRate * 100).toFixed(2) }}%
                    {{ (qualirtData.organUsedRate * 100).toFixed(2) }}%
                  </el-card>
                </el-col>
              </el-row>
@@ -317,17 +298,15 @@
                    <el-row :gutter="10" style="margin-top: 10px">
                      <el-col :span="8" style="text-align: center"
                        >DBD:
                        {{ (this.qualirtData.dbddonateRate * 100).toFixed(2) }}%
                        {{ (qualirtData.dbddonateRate * 100).toFixed(2) }}%
                      </el-col>
                      <el-col :span="8" style="text-align: center">
                        DCD:
                        {{ (this.qualirtData.dcddonateRate * 100).toFixed(2) }}%
                        {{ (qualirtData.dcddonateRate * 100).toFixed(2) }}%
                      </el-col>
                      <el-col :span="8" style="text-align: center">
                        DBCD:
                        {{
                          (this.qualirtData.dbcddonateRate * 100).toFixed(2)
                        }}%
                        {{ (qualirtData.dbcddonateRate * 100).toFixed(2) }}%
                      </el-col>
                    </el-row>
                  </el-card>
@@ -343,9 +322,7 @@
                      <span style="font-size: 14px"> 获取前活检率</span>
                    </el-row>
                    {{
                      (this.qualirtData.organBeforeGetCheckRate * 100).toFixed(
                        2
                      )
                      (qualirtData.organBeforeGetCheckRate * 100).toFixed(2)
                    }}%
                  </el-card>
                </el-col>
@@ -357,11 +334,7 @@
                    <el-row>
                      <span style="font-size: 14px">获取后活检率</span>
                    </el-row>
                    {{
                      (this.qualirtData.organAfterGetCheckRate * 100).toFixed(
                        2
                      )
                    }}%
                    {{ (qualirtData.organAfterGetCheckRate * 100).toFixed(2) }}%
                  </el-card>
                </el-col>
              </el-row>
@@ -372,7 +345,7 @@
                    style="padding: 0; margin: 0; width: 100%; color: #566f94"
                  >
                    <span style="font-size: 14px">边缘供器官比率</span><br />
                    {{ (this.qualirtData.marginOrganRate * 100).toFixed(2) }}%
                    {{ (qualirtData.marginOrganRate * 100).toFixed(2) }}%
                  </el-card>
                </el-col>
                <el-col :span="12" style="text-align: center">
@@ -383,7 +356,7 @@
                    <span style="font-size: 14px"
                      >器官保存液病原菌培养阳性率</span
                    >
                    {{ (this.qualirtData.germPositiveRate * 100).toFixed(2) }}%
                    {{ (qualirtData.germPositiveRate * 100).toFixed(2) }}%
                  </el-card>
                </el-col>
              </el-row>
@@ -395,21 +368,19 @@
                      <el-row>
                        <el-col :span="6" style="text-align: center">
                          总发生率<br />
                          {{
                            (this.qualirtData.totalPNFRate * 100).toFixed(2)
                          }}%
                          {{ (qualirtData.totalPNFRate * 100).toFixed(2) }}%
                        </el-col>
                        <el-col :span="6" style="text-align: center">
                          DBD<br />
                          {{ (this.qualirtData.dbdpnfrate * 100).toFixed(2) }}%
                          {{ (qualirtData.dbdpnfrate * 100).toFixed(2) }}%
                        </el-col>
                        <el-col :span="6" style="text-align: center">
                          DCD<br />
                          {{ (this.qualirtData.dcdpnfrate * 100).toFixed(2) }}%
                          {{ (qualirtData.dcdpnfrate * 100).toFixed(2) }}%
                        </el-col>
                        <el-col :span="6" style="text-align: center">
                          DBCD<br />
                          {{ (this.qualirtData.dbcdpnfrate * 100).toFixed(2) }}%
                          {{ (qualirtData.dbcdpnfrate * 100).toFixed(2) }}%
                        </el-col>
                      </el-row>
                    </el-row>
@@ -424,22 +395,22 @@
                      <el-row>
                        <el-col :span="6" style="text-align: center">
                          总发生率<br />{{
                            (this.qualirtData.totalDGFRate * 100).toFixed(2)
                            (qualirtData.totalDGFRate * 100).toFixed(2)
                          }}%
                        </el-col>
                        <el-col :span="6" style="text-align: center">
                          DBD<br />{{
                            (this.qualirtData.dbddgfrate * 100).toFixed(2)
                            (qualirtData.dbddgfrate * 100).toFixed(2)
                          }}%
                        </el-col>
                        <el-col :span="6" style="text-align: center">
                          DCD<br />{{
                            (this.qualirtData.dcddgfrate * 100).toFixed(2)
                            (qualirtData.dcddgfrate * 100).toFixed(2)
                          }}%
                        </el-col>
                        <el-col :span="6" style="text-align: center">
                          DBCD<br />{{
                            (this.qualirtData.dbcddgfrate * 100).toFixed(2)
                            (qualirtData.dbcddgfrate * 100).toFixed(2)
                          }}%
                        </el-col>
                      </el-row>
@@ -475,17 +446,86 @@
          </el-col>
        </el-row>
      </div>
      <div style="width: 24%; margin-top: 10px; padding-left: 10px;">
        <el-card class="box-card" style="padding: 0; font-weight: bold; height: 780px">
      <div style="width: 24%; margin-top: 10px; padding-left: 10px; ">
        <el-card
          class="box-card"
          style="padding: 0; font-weight: bold; height: 780px; "
        >
          <div slot="header" class="clearfix">
            <span style="font-size: 18px; color: #566f94; font-weight: bold">消息列表</span>
            <el-button style="float: right; padding: 3px 0" type="text"
              >全部已读</el-button
            <span style="font-size: 18px; color: #566f94; font-weight: bold"
              >消息列表</span
            >
            <el-button
              v-if="ReadState == 1"
              style="float: right; padding: 6px "
              type="danger"
              plain
              @click="FnReadState"
              >查看未读消息</el-button
            >
            <el-button
              v-else
              style="float: right; padding: 6px "
              type="info"
              plain
              @click="FnReadState"
              >查看已读消息</el-button
            >
          </div>
          <div v-for="o in 4" :key="o" class="text item">
            {{ "列表内容 " + o }}
          <div style="height: 606px;overflow: auto;">
            <el-table :data="tableData" v-loading="loading" style="width: 100%">
              <el-table-column label="通知日期">
                <template slot-scope="scope">
                  <i class="el-icon-time"></i>
                  <span style="margin-left: 10px">{{
                    scope.row.createTime
                  }}</span>
                </template>
              </el-table-column>
              <el-table-column label="概要">
                <template slot-scope="scope">
                  <el-popover trigger="hover" placement="top">
                    <div class="dialog-class" style="margin: 20px;">
                      <div>{{ scope.row.messagecontent }}</div>
                      <div style=" height: 100px;margin-top: 40px;">
                        <span>{{ "处理人:" + scope.row.sendusername }}</span>
                        <div>{{ "处理时间:" + scope.row.updateTime }}</div>
                      </div>
                      <div style="text-align: right; ; margin: 0">
                        <el-button
                          type="primary"
                          size="mini"
                          @click="clickMessageDetailed(scope.row)"
                          >确定</el-button
                        >
                      </div>
                    </div>
                    <div slot="reference" class="name-wrapper">
                      <el-tag size="medium">{{
                        scope.row.messagetitle
                      }}</el-tag>
                    </div>
                  </el-popover>
                </template>
              </el-table-column>
              <el-table-column label="状态" align="center" prop="paystatus">
                <template slot-scope="scope">
                  <dict-tag
                    :options="dict.type.sys_messagestatus"
                    :value="scope.row.isread"
                  />
                </template>
              </el-table-column>
            </el-table>
          </div>
          <pagination
            v-show="total > 0"
            :total="total"
            :page.sync="searchData.pageNum"
            :limit.sync="searchData.pageSize"
            @pagination="GetMessageList"
          />
        </el-card>
      </div>
    </div>
@@ -557,6 +597,13 @@
  getOrgansOfHospitalByMonth,
  getDonateorganSum
} from "@/api/project/donateorgan";
import { getUserProfile } from "@/api/system/user";
import {
  listSystemmessageList,
  listSystemmessageCount,
  updateSystemmessage
} from "@/api/project/message";
import Li_area_select from "@/components/Address";
const DEF_TABLE_CONFIG = {
@@ -569,6 +616,7 @@
export default {
  name: "home",
  dicts: ["sys_messagestatus"],
  components: {
    RankChart,
    OrganNumChart,
@@ -597,7 +645,18 @@
        { label: "台州市", value: "A" },
        { label: "丽水市", value: "B" }
      ],
      ReadState: 1,
      searchData: {
        del_flag: 0,
        receiveuserno: "",
        isread: null,
        pageNum: 1,
        pageSize: 10
      },
      total: 0,
      loading: false,
      value: "",
      userID: "",
      //时间选项
      timeoption: "",
      //起始时间
@@ -696,6 +755,28 @@
        //   value: 0,
        // },
      ],
      tableData: [
        {
          date: "2016-05-02",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1518 弄"
        },
        {
          date: "2016-05-04",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1517 弄"
        },
        {
          date: "2016-05-01",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1519 弄"
        },
        {
          date: "2016-05-03",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1516 弄"
        }
      ],
      //统计指标数据
      qualirtData: {
        dbcddgfrate: 0,
@@ -760,6 +841,7 @@
  // listnewEthicalreviewopinions
  created() {
    // this.listnewMedicalevaluation()
    this.GetUser();
  },
  mounted() {
    this.$nextTick(() => {
@@ -773,7 +855,53 @@
  },
  methods: {
    getprovincedata() {},
    GetUser() {
      this.loading = true;
      getUserProfile()
        .then(res => {
          this.searchData.receiveuserno = res.data.userName;
          this.GetMessageList();
        })
        .catch(error => {
          this.$message.error(error);
        });
    },
    GetMessageList() {
      listSystemmessageList(this.searchData).then(res => {
        if (res.code == 200) {
          this.tableData = res.rows;
          this.loading = false;
          this.total = res.total;
        }
      });
    },
    // 确定已读
    clickMessageDetailed(item) {
      let data = item;
      if (data.isread == 0) {
        item.isread = 1;
        updateSystemmessage(item)
          .then(res => {
            this.$message.success("已读");
            this.GetMessageList();
          })
          .catch(error => {});
      } else {
        this.$message.info("此消息已读");
      }
    },
    // 切换读取状态
    FnReadState() {
      if (this.ReadState == 1) {
        this.searchData.isread = 0;
        this.ReadState = 0;
        this.GetMessageList();
      } else {
        this.searchData.isread = 1;
        this.ReadState = 1;
        this.GetMessageList();
      }
    },
    get_unix_time(dateStr) {
      var newstr = dateStr.replace(/-/g, "/");
      var date = new Date(newstr);
@@ -988,8 +1116,6 @@
      //     : "";
      let info = {
        pageNum: 1,
        pageSize: 10,
        starttime: this.starttime,
        endtime: this.endtime