11
WXL
2024-07-17 21fe2968337eb8eab97adc88750b71c4057e98f8
src/views/project/indexstatistics/index.vue
@@ -2,12 +2,12 @@
  <div class="app-container" style="background-color: #f2f2f2; color: #fff">
    <el-card shadow="always" style="color: #566f94">
      <el-row :gutter="8">
        <el-col :span="6">
        <el-col :span="8">
          <el-date-picker
            v-model="selecttime"
            type="monthrange"
            range-separator="至"
            start-placeholder="开始月份"
            start-placeholder="开始月份(默认本年度)"
            end-placeholder="结束月份"
            value-format="yyyy-MM-dd"
            @change="getTimeList"
@@ -57,213 +57,373 @@
        </el-col>
      </el-row>
    </el-card>
    <el-row
      :gutter="10"
      style="font-size: 18px; font-weight: bold; margin-top: 10px"
    >
      <el-col :span="6">
        <router-link
          :to="{
            name: 'Donatebaseinfo',
            params: {
              starttime: this.starttime,
              endtime: this.endtime,
              tempRecordState: '',
              reporterno: reportervalue,
              shen: searchAddress.shen,
              shi: searchAddress.shi,
              qu: searchAddress.qu,
              city: city,
            },
          }"
    <div style="display: flex;">
      <div style="width: 76%;">
        <el-row
          :gutter="10"
          style="font-size: 18px; font-weight: bold;  margin-top: 10px"
        >
          <!-- params: {
          <el-col :span="6">
            <router-link
              :to="{
                name: 'Donatebaseinfo',
                params: {
                  starttime: starttime,
                  endtime: endtime,
                  tempRecordState: '',
                  reporterno: reportervalue,
                  shen: searchAddress.shen,
                  shi: searchAddress.shi,
                  qu: searchAddress.qu,
                  city: city
                }
              }"
            >
              <!-- params: {
              tempRecordState: 0,
            }, -->
          <!-- @click="tobaseinfo0" -->
          <el-card shadow="always" style="color: #566f94">
            <svg-icon icon-class="user" />&nbsp;&nbsp; 潜在捐献累计:{{
              this.donateNumData.numberOfDonate
            }}&nbsp; 例
          </el-card>
        </router-link>
      </el-col>
      <el-col :span="6">
        <router-link
          :to="{
            name: 'Medicalevaluation',
            params: {
              starttime: this.starttime,
              endtime: this.endtime,
              tempRecordState: '',
              reporterno: reportervalue,
              shen: searchAddress.shen,
              shi: searchAddress.shi,
              qu: searchAddress.qu,
              city: city,
            },
          }"
              <!-- @click="tobaseinfo0" -->
              <el-card shadow="always" style="color: #566f94">
                <svg-icon icon-class="user" />&nbsp;&nbsp; 潜在捐献累计:{{
                  donateNumData.numberOfDonate
                }}&nbsp; 例
              </el-card>
            </router-link>
          </el-col>
          <el-col :span="6">
            <router-link
              :to="{
                name: 'Medicalevaluation',
                params: {
                  starttime: starttime,
                  endtime: endtime,
                  tempRecordState: '',
                  reporterno: reportervalue,
                  shen: searchAddress.shen,
                  shi: searchAddress.shi,
                  qu: searchAddress.qu,
                  city: city
                }
              }"
            >
              <el-card
                shadow="always"
                style="color: #566f94"
                @click="Tomedicalevalua"
              >
                <svg-icon icon-class="tool" />&nbsp;&nbsp; 完成医学评估累计:{{
                  donateNumData.numberOfMedicalEvaluation
                }}&nbsp; 例
              </el-card>
            </router-link>
          </el-col>
          <el-col :span="6">
            <router-link
              :to="{
                name: 'Relativesconfirmation',
                params: {
                  starttime: starttime,
                  endtime: 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="checkbox" />&nbsp;&nbsp;
                完成亲属确认累计:{{
                  donateNumData.numberOfRelativeConfirmation
                }}&nbsp; 例
              </el-card>
            </router-link>
          </el-col>
          <el-col :span="6">
            <router-link
              :to="{
                name: 'EthicalReview',
                params: {
                  starttime: starttime,
                  endtime: 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="education" />&nbsp;&nbsp;
                完成伦理审查累计:{{
                  donateNumData.numberOfEthicalReview
                }}&nbsp; 例
              </el-card>
            </router-link>
          </el-col>
        </el-row>
        <el-row
          :gutter="10"
          style="margin-top: 10px; font-size: 18px;  font-weight: bold"
        >
          <el-card
            shadow="always"
            style="color: #566f94"
            @click="Tomedicalevalua"
          >
            <svg-icon icon-class="tool" />&nbsp;&nbsp; 完成医学评估累计:{{
              this.donateNumData.numberOfMedicalEvaluation
            }}&nbsp; 例
          </el-card>
        </router-link>
      </el-col>
      <el-col :span="6">
        <router-link
          :to="{
            name: 'Relativesconfirmation',
            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="checkbox" />&nbsp;&nbsp; 完成亲属确认累计:{{
              this.donateNumData.numberOfRelativeConfirmation
            }}&nbsp; 例
          </el-card>
        </router-link>
      </el-col>
      <el-col :span="6">
        <router-link
          :to="{
            name: 'EthicalReview',
            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="education" />&nbsp;&nbsp; 完成伦理审查累计:{{
              this.donateNumData.numberOfEthicalReview
            }}&nbsp; 例
          </el-card>
        </router-link>
      </el-col>
    </el-row>
    <el-row
      :gutter="10"
      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
            }}&nbsp; 个
            <!-- this.donateNumData.numberOfOrgans -->
          </el-card>
        </router-link>
      </el-col>
      <el-col :span="6">
        <router-link
          :to="{
            name: 'Donationwitness',
            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="job" />&nbsp;&nbsp; 完成获取见证累计:{{
              this.donateNumData.numberOfWitness
            }}&nbsp; 例
          </el-card>
        </router-link>
      </el-col>
      <el-col :span="6">
        <router-link
          :to="{
            name: 'Donatefinish',
            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="lock" />&nbsp;&nbsp; 捐献完成累计:{{
              this.donateNumData.numberOfCompletion
            }}&nbsp; 例
          </el-card>
        </router-link>
      </el-col>
      <el-col :span="6">
        <router-link
          @click.native="closeBaseInfoTab"
          :to="{
            name: 'Donatebaseinfo',
            params: {
              starttime: this.starttime,
              endtime: this.endtime,
              tempRecordState: 99,
              reporterno: reportervalue,
              shen: searchAddress.shen,
              shi: searchAddress.shi,
              qu: searchAddress.qu,
              city: city,
            },
          }"
        >
          <el-card shadow="always" style="color: #566f94">
            <svg-icon icon-class="lock" />&nbsp;&nbsp; 捐献终止累计:{{
              this.donateNumData.numberOfTerminated
            }}&nbsp; 例
          </el-card>
        </router-link>
      </el-col>
    </el-row>
    <el-row style="margin-top: 10px" :gutter="5">
      <el-col :span="7">
          <el-col :span="6">
            <el-card shadow="always" style="color: #566f94">
              <svg-icon icon-class="druid" />&nbsp;&nbsp; 完成器官分配累计:{{
                donateNumData.numberOfDonatePeople
              }}&nbsp; 个
              <!-- donateNumData.numberOfOrgans -->
            </el-card>
          </el-col>
          <el-col :span="6">
            <router-link
              :to="{
                name: 'Donationwitness',
                params: {
                  starttime: starttime,
                  endtime: 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="job" />&nbsp;&nbsp; 完成获取见证累计:{{
                  donateNumData.numberOfWitness
                }}&nbsp; 例
              </el-card>
            </router-link>
          </el-col>
          <el-col :span="6">
            <router-link
              :to="{
                name: 'Donatefinish',
                params: {
                  starttime: starttime,
                  endtime: 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="lock" />&nbsp;&nbsp; 捐献完成累计:{{
                  donateNumData.numberOfCompletion
                }}&nbsp; 例
              </el-card>
            </router-link>
          </el-col>
          <el-col :span="6">
            <router-link
              @click.native="closeBaseInfoTab"
              :to="{
                name: 'Donatebaseinfo',
                params: {
                  starttime: starttime,
                  endtime: endtime,
                  tempRecordState: 99,
                  reporterno: reportervalue,
                  shen: searchAddress.shen,
                  shi: searchAddress.shi,
                  qu: searchAddress.qu,
                  city: city
                }
              }"
            >
              <el-card shadow="always" style="color: #566f94">
                <svg-icon icon-class="lock" />&nbsp;&nbsp; 捐献终止累计:{{
                  donateNumData.numberOfTerminated
                }}&nbsp; 例
              </el-card>
            </router-link>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px; " :gutter="5">
          <el-col :span="12">
            <el-card
              shadow="always"
              style="padding: 0; font-weight: bold; height: 640px"
              ref="statisticsCard"
            >
              <el-row style="margin-bottom: 20px">
                <span style="font-size: 18px; color: #566f94; font-weight: bold"
                  >本年度指标数据分析</span
                >
              </el-row>
              <el-row :gutter="3">
                <el-col :span="8" style="text-align: center">
                  <el-card
                    shadow="always"
                    style="padding: 0; margin: 0; width: 100%; color: #566f94"
                  >
                    器官捐献转化率<br />
                    {{ (qualirtData.donateTransferRate * 100).toFixed(2) }}%
                  </el-card>
                </el-col>
                <el-col :span="8" style="text-align: center">
                  <el-card
                    shadow="always"
                    style="padding: 0; margin: 0; width: 100%; color: #566f94"
                  >
                    平均器官产出率<br />
                    {{ (qualirtData.organProductionRate * 100).toFixed(2) }}%
                  </el-card>
                </el-col>
                <el-col :span="8" style="text-align: center">
                  <el-card
                    shadow="always"
                    style="padding: 0; margin: 0; width: 100%; color: #566f94"
                  >
                    获取器官利用率<br />
                    {{ (qualirtData.organUsedRate * 100).toFixed(2) }}%
                  </el-card>
                </el-col>
              </el-row>
              <el-row :gutter="3" style="margin-top: 5px">
                <el-col :span="24" style="text-align: center">
                  <el-card shadow="always" style="padding: 0; color: #566f94">
                    <el-row> 器官捐献分类占比 </el-row>
                    <el-row :gutter="10" style="margin-top: 10px">
                      <el-col :span="8" style="text-align: center"
                        >DBD:
                        {{ (qualirtData.dbddonateRate * 100).toFixed(2) }}%
                      </el-col>
                      <el-col :span="8" style="text-align: center">
                        DCD:
                        {{ (qualirtData.dcddonateRate * 100).toFixed(2) }}%
                      </el-col>
                      <el-col :span="8" style="text-align: center">
                        DBCD:
                        {{ (qualirtData.dbcddonateRate * 100).toFixed(2) }}%
                      </el-col>
                    </el-row>
                  </el-card>
                </el-col>
              </el-row>
              <el-row :gutter="3" style="margin-top: 5px">
                <el-col :span="12" style="text-align: center; color: #566f94">
                  <el-card
                    shadow="always"
                    style="padding: 0; margin: 0; width: 100%; color: #566f94"
                  >
                    <el-row>
                      <span style="font-size: 14px"> 获取前活检率</span>
                    </el-row>
                    {{
                      (qualirtData.organBeforeGetCheckRate * 100).toFixed(2)
                    }}%
                  </el-card>
                </el-col>
                <el-col :span="12" style="text-align: center">
                  <el-card
                    shadow="always"
                    style="padding: 0; margin: 0; width: 100%; color: #566f94"
                  >
                    <el-row>
                      <span style="font-size: 14px">获取后活检率</span>
                    </el-row>
                    {{ (qualirtData.organAfterGetCheckRate * 100).toFixed(2) }}%
                  </el-card>
                </el-col>
              </el-row>
              <el-row :gutter="3" style="margin-top: 5px">
                <el-col :span="12" style="text-align: center">
                  <el-card
                    shadow="always"
                    style="padding: 0; margin: 0; width: 100%; color: #566f94"
                  >
                    <span style="font-size: 14px">边缘供器官比率</span><br />
                    {{ (qualirtData.marginOrganRate * 100).toFixed(2) }}%
                  </el-card>
                </el-col>
                <el-col :span="12" style="text-align: center">
                  <el-card
                    shadow="always"
                    style="padding: 0; margin: 0; width: 100%; color: #566f94"
                  >
                    <span style="font-size: 14px"
                      >器官保存液病原菌培养阳性率</span
                    ><br />
                    {{ (qualirtData.germPositiveRate * 100).toFixed(2) }}%
                  </el-card>
                </el-col>
              </el-row>
              <el-row :gutter="3" style="margin-top: 5px">
                <el-col :span="24" style="text-align: center">
                  <el-card shadow="always" style="padding: 0; color: #566f94">
                    <el-row> 移植器官原发性无功能发生率 </el-row>
                    <el-row :gutter="10" style="margin-top: 10px">
                      <el-row>
                        <el-col :span="6" style="text-align: center">
                          总发生率<br />
                          {{ (qualirtData.totalPNFRate * 100).toFixed(2) }}%
                        </el-col>
                        <el-col :span="6" style="text-align: center">
                          DBD<br />
                          {{ (qualirtData.dbdpnfrate * 100).toFixed(2) }}%
                        </el-col>
                        <el-col :span="6" style="text-align: center">
                          DCD<br />
                          {{ (qualirtData.dcdpnfrate * 100).toFixed(2) }}%
                        </el-col>
                        <el-col :span="6" style="text-align: center">
                          DBCD<br />
                          {{ (qualirtData.dbcdpnfrate * 100).toFixed(2) }}%
                        </el-col>
                      </el-row>
                    </el-row>
                  </el-card>
                </el-col>
              </el-row>
              <el-row :gutter="3" style="margin-top: 5px">
                <el-col :span="24" style="text-align: center">
                  <el-card shadow="always" style="padding: 0; color: #566f94">
                    <el-row> 移植器官术后功能延迟性恢复发生率 </el-row>
                    <el-row :gutter="10" style="margin-top: 10px">
                      <el-row>
                        <el-col :span="6" style="text-align: center">
                          总发生率<br />{{
                            (qualirtData.totalDGFRate * 100).toFixed(2)
                          }}%
                        </el-col>
                        <el-col :span="6" style="text-align: center">
                          DBD<br />{{
                            (qualirtData.dbddgfrate * 100).toFixed(2)
                          }}%
                        </el-col>
                        <el-col :span="6" style="text-align: center">
                          DCD<br />{{
                            (qualirtData.dcddgfrate * 100).toFixed(2)
                          }}%
                        </el-col>
                        <el-col :span="6" style="text-align: center">
                          DBCD<br />{{
                            (qualirtData.dbcddgfrate * 100).toFixed(2)
                          }}%
                        </el-col>
                      </el-row>
                    </el-row>
                  </el-card>
                </el-col>
              </el-row>
            </el-card>
          </el-col>
          <el-col :span="12">
            <el-card shadow="always" style="height: 640px" ref="organChartCard">
              <OrganNumChart :cdata="organData" />
            </el-card>
            <!-- <el-col :span="7">
        <el-card shadow="always" style="height: 640px" ref="orgNumberCard">
          <el-row style="margin-bottom: 20px">
            <el-col :span="14">
@@ -271,193 +431,103 @@
                >各地区医院案例数据</span
              >
            </el-col>
          </el-row>
          <el-row>
          </el-row>
          <dv-scroll-board
            :config="config"
            style="width: 100%; height: 540px"
          />
        </el-card>
      </el-col>
      <el-col :span="9">
        <el-card shadow="always" style="height: 640px" ref="organChartCard">
          <OrganNumChart :cdata="organData" />
        </el-card>
      </el-col>
      <el-col :span="8">
      </el-col> -->
          </el-col>
        </el-row>
      </div>
      <div style="width: 24%; margin-top: 10px; padding-left: 10px; ">
        <el-card
          shadow="always"
          style="padding: 0; font-weight: bold; height: 640px"
          ref="statisticsCard"
          class="box-card"
          style="padding: 0; font-weight: bold; height: 780px; "
        >
          <el-row style="margin-bottom: 20px">
          <div slot="header" class="clearfix">
            <span style="font-size: 18px; color: #566f94; font-weight: bold"
              >本年度指标数据分析</span
              >消息列表</span
            >
          </el-row>
          <el-row :gutter="3">
            <el-col :span="8" style="text-align: center">
              <el-card
                shadow="always"
                style="padding: 0; margin: 0; width: 100%; color: #566f94"
              >
                器官捐献转化率<br />
                {{ (this.qualirtData.donateTransferRate * 100).toFixed(2) }}%
              </el-card>
            </el-col>
            <el-col :span="8" style="text-align: center">
              <el-card
                shadow="always"
                style="padding: 0; margin: 0; width: 100%; color: #566f94"
              >
                平均器官产出率<br />
                {{ (this.qualirtData.organProductionRate * 100).toFixed(2) }}%
              </el-card>
            </el-col>
            <el-col :span="8" style="text-align: center">
              <el-card
                shadow="always"
                style="padding: 0; margin: 0; width: 100%; color: #566f94"
              >
                获取器官利用率<br />
                {{ (this.qualirtData.organUsedRate * 100).toFixed(2) }}%
              </el-card>
            </el-col>
          </el-row>
          <el-row :gutter="3" style="margin-top: 5px">
            <el-col :span="24" style="text-align: center">
              <el-card shadow="always" style="padding: 0; color: #566f94">
                <el-row> 器官捐献分类占比 </el-row>
                <el-row :gutter="10" style="margin-top: 10px">
                  <el-col :span="8" style="text-align: center"
                    >DBD:
                    {{ (this.qualirtData.dbddonateRate * 100).toFixed(2) }}%
                  </el-col>
                  <el-col :span="8" style="text-align: center">
                    DCD:
                    {{ (this.qualirtData.dcddonateRate * 100).toFixed(2) }}%
                  </el-col>
                  <el-col :span="8" style="text-align: center">
                    DBCD:
                    {{ (this.qualirtData.dbcddonateRate * 100).toFixed(2) }}%
                  </el-col>
                </el-row>
              </el-card>
            </el-col>
          </el-row>
          <el-row :gutter="3" style="margin-top: 5px">
            <el-col :span="12" style="text-align: center; color: #566f94">
              <el-card
                shadow="always"
                style="padding: 0; margin: 0; width: 100%; color: #566f94"
              >
                <el-row>
                  <span style="font-size: 14px"> 获取前活检率</span>
                </el-row>
                {{
                  (this.qualirtData.organBeforeGetCheckRate * 100).toFixed(2)
                }}%
              </el-card>
            </el-col>
            <el-col :span="12" style="text-align: center">
              <el-card
                shadow="always"
                style="padding: 0; margin: 0; width: 100%; color: #566f94"
              >
                <el-row>
                  <span style="font-size: 14px">获取后活检率</span>
                </el-row>
                {{
                  (this.qualirtData.organAfterGetCheckRate * 100).toFixed(2)
                }}%
              </el-card>
            </el-col>
          </el-row>
          <el-row :gutter="3" style="margin-top: 5px">
             <el-col :span="12" style="text-align: center">
              <el-card
                shadow="always"
                style="padding: 0; margin: 0; width: 100%; color: #566f94"
              >
                <span style="font-size: 14px">边缘供器官比率</span><br />
                {{ (this.qualirtData.marginOrganRate * 100).toFixed(2) }}%
              </el-card>
            </el-col>
            <el-col :span="12" style="text-align: center">
              <el-card
                shadow="always"
                style="padding: 0; margin: 0; width: 100%; color: #566f94"
              >
                <span style="font-size: 14px">器官保存液病原菌培养阳性率</span>
                {{ (this.qualirtData.germPositiveRate * 100).toFixed(2) }}%
              </el-card>
            </el-col>
          </el-row>
          <el-row :gutter="3" style="margin-top: 5px">
            <el-col :span="24" style="text-align: center">
              <el-card shadow="always" style="padding: 0; color: #566f94">
                <el-row> 移植器官原发性无功能发生率 </el-row>
                <el-row :gutter="10" style="margin-top: 10px">
                  <el-row>
                    <el-col :span="6" style="text-align: center">
                      总发生率<br />
                      {{ (this.qualirtData.totalPNFRate * 100).toFixed(2) }}%
                    </el-col>
                    <el-col :span="6" style="text-align: center">
                      DBD<br />
                      {{ (this.qualirtData.dbdpnfrate * 100).toFixed(2) }}%
                    </el-col>
                    <el-col :span="6" style="text-align: center">
                      DCD<br />
                      {{ (this.qualirtData.dcdpnfrate * 100).toFixed(2) }}%
                    </el-col>
                    <el-col :span="6" style="text-align: center">
                      DBCD<br />
                      {{ (this.qualirtData.dbcdpnfrate * 100).toFixed(2) }}%
                    </el-col>
                  </el-row>
                </el-row>
              </el-card>
            </el-col>
          </el-row>
          <el-row :gutter="3" style="margin-top: 5px">
            <el-col :span="24" style="text-align: center">
              <el-card shadow="always" style="padding: 0; color: #566f94">
                <el-row> 移植器官术后功能延迟性恢复发生率 </el-row>
                <el-row :gutter="10" style="margin-top: 10px">
                  <el-row>
                    <el-col :span="6" style="text-align: center">
                      总发生率<br />{{
                        (this.qualirtData.totalDGFRate * 100).toFixed(2)
                      }}%
                    </el-col>
                    <el-col :span="6" style="text-align: center">
                      DBD<br />{{
                        (this.qualirtData.dbddgfrate * 100).toFixed(2)
                      }}%
                    </el-col>
                    <el-col :span="6" style="text-align: center">
                      DCD<br />{{
                        (this.qualirtData.dcddgfrate * 100).toFixed(2)
                      }}%
                    </el-col>
                    <el-col :span="6" style="text-align: center">
                      DBCD<br />{{
                        (this.qualirtData.dbcddgfrate * 100).toFixed(2)
                      }}%
                    </el-col>
                  </el-row>
                </el-row>
              </el-card>
            </el-col>
          </el-row>
            <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 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>
      </el-col>
    </el-row>
      </div>
    </div>
  </div>
</template>
@@ -469,7 +539,7 @@
  delMedicalevaluation,
  addMedicalevaluation,
  updateMedicalevaluation,
  exportMedicalevaluation,
  exportMedicalevaluation
} from "@/api/project/medicalevaluation";
import {
  listRelativesconfirmation,
@@ -481,7 +551,7 @@
  // exportRelativesconfirmation,
  updatedonatorno,
  updateDonateNumber,
  downloadconfirmationinfo,
  downloadconfirmationinfo
} from "@/api/project/relativesconfirmation";
import {
  listEthicalreviewopinions,
@@ -489,7 +559,7 @@
  delEthicalreviewopinions,
  addEthicalreviewopinions,
  updateEthicalreviewopinions,
  listnewEthicalreviewopinions,
  listnewEthicalreviewopinions
} from "@/api/project/ethicalreviewopinions";
import {
  getByInfoId,
@@ -499,7 +569,7 @@
  addDonationwitness,
  updateDonationwitness,
  listnewDonationwitness,
  downloadwitnessinfo,
  downloadwitnessinfo
} from "@/api/project/donationwitness";
import {
  getDonatecompletioninfo,
@@ -507,7 +577,7 @@
  addDonatecompletioninfo,
  updateDonatecompletioninfo,
  listDonatecompletioninfo,
  downloadcompletioninfo,
  downloadcompletioninfo
} from "@/api/project/donatecompletioninfo";
import { listOrganallocation } from "@/api/project/organallocation";
@@ -524,8 +594,15 @@
  getOrgansOfHospital,
  getNumberOfOrgan,
  getOrgansOfHospitalByMonth,
  getDonateorganSum,
  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 = {
@@ -533,27 +610,28 @@
  oddRowBGC: "#f9f9f9",
  evenRowBGC: "white",
  columnWidth: [150, 300, 30, 10, 30],
  rowNum: 14,
  rowNum: 14
};
export default {
  name: "home",
  dicts: ["sys_messagestatus"],
  components: {
    RankChart,
    OrganNumChart,
    Li_area_select,
    Li_area_select
  },
  props: {},
  data() {
    return {
      city: "",
      reportno: "",
      selecttime: [],
      selecttime: [ new Date(new Date().getFullYear(), 0),new Date()],
      year: "选择年份",
      isloading: false,
      maxHeight: 0,
      provinceData: [
        { label: "全部", value: "" },
        { label: "全部地市", value: "" },
        { label: "杭州市", value: "1" },
        { label: "宁波市", value: "2" },
        { label: "温州市", value: "3" },
@@ -564,9 +642,20 @@
        { label: "衢州市", value: "8" },
        { label: "舟山市", value: "9" },
        { label: "台州市", value: "A" },
        { label: "丽水市", value: "B" },
        { label: "丽水市", value: "B" }
      ],
      ReadState: 1,
      searchData: {
        del_flag: 0,
        receiveuserno: "",
        isread: null,
        pageNum: 1,
        pageSize: 10
      },
      total: 0,
      loading: false,
      value: "",
      userID: "",
      //时间选项
      timeoption: "",
      //起始时间
@@ -579,91 +668,102 @@
          key: "heart",
          name: "心脏",
          value: 0,
          code: "C38",
          code: "C38"
        },
        {
          key: "fullLiver",
          name: "全肝",
          name: "肝脏",
          value: 0,
          code: "C22",
          code: "C22"
        },
        {
          key: "leftLiver",
          name: "左肝",
          value: 0,
          code: "C22L",
        },
        {
          key: "rightLiver",
          name: "右肝",
          value: 0,
          code: "C22R",
        },
        {
          key: "leftRenal",
          name: "左肾",
          value: 0,
          code: "C64L",
          code: "C64L"
        },
        {
          key: "rightRenal",
          name: "右肾",
          value: 0,
          code: "C64R",
          code: "C64R"
        },
        {
          key: "fullLung",
          name: "全肺",
          value: 0,
          code: "C34",
          code: "C34"
        },
        {
          key: "leftLung",
          name: "左肺",
          value: 0,
          code: "C34L",
          code: "C34L"
        },
        {
          key: "rightLung",
          name: "右肺",
          value: 0,
          code: "C34R",
          code: "C34R"
        },
        {
          key: "",
          name: "小肠",
          value: 0,
          code: "C17",
          code: "C17"
        },
        {
          key: "",
          name: "胰腺",
          value: 0,
          code: "C25",
          code: "C25"
        },
        {
          key: "leftEye",
          name: "左眼膜",
          value: 0,
          code: "C69L",
          code: "C69L"
        },
        {
          key: "rightEye",
          name: "右眼膜",
          value: 0,
          code: "C69R",
          code: "C69R"
        },
        {
          key: "",
          name: "其它",
          value: 0,
          code: "C01",
        },
          code: "C01"
        }
        // {
        //   key: "body",
        //   name: "遗体",
        //   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: {
@@ -693,7 +793,7 @@
        //器官利用率
        organUsedRate: 0,
        totalDGFRate: 0,
        totalPNFRate: 0,
        totalPNFRate: 0
      },
      //捐献累计数量
      donateNumData: {
@@ -712,23 +812,24 @@
        //获取见证数量
        numberOfWitness: 0,
        //终止数量
        numberOfTerminated: 0,
        numberOfTerminated: 0
      },
      config: {
        ...DEF_TABLE_CONFIG,
        ...DEF_TABLE_CONFIG
      },
      reportlist: [],
      reportervalue: "",
      searchAddress: {
        sheng: "浙江省",
        shi: "",
        qu: "",
      },
        qu: ""
      }
    };
  },
  // listnewEthicalreviewopinions
  created() {
    // this.listnewMedicalevaluation()
    this.GetUser();
  },
  mounted() {
    this.$nextTick(() => {
@@ -742,7 +843,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);
@@ -752,7 +899,7 @@
    resetArr(Arr) {
      var hash = {};
      Arr = Arr.reduce(function (arr, current) {
      Arr = Arr.reduce(function(arr, current) {
        hash[current.reporterno]
          ? ""
          : (hash[current.reporterno] = true && arr.push(current));
@@ -842,7 +989,7 @@
      let param = {
        starttime: this.starttime,
        endtime: this.endtime,
        city: this.city,
        city: this.city
        // repoterno:'015'
      };
@@ -850,7 +997,7 @@
      if (this.reportervalue != "") {
        param.reporterno = this.reportervalue;
      }
      getDonateorganSum(param).then((response) => {
      getDonateorganSum(param).then(response => {
        /*
        let list = this.organData.map((item) => item);
        for (let i = 0; i < list.length; i++) {
@@ -858,16 +1005,14 @@
        }
        this.organData = list;
      */
        debugger;
        let list = response.data;
        for (let i = 0; i < this.organData.length; i++) {
          let ii = list.findIndex(
            (item) => item.organNo == this.organData[i].code
            item => item.organNo == this.organData[i].code
          );
          if(ii > -1){
          if (ii > -1) {
            this.organData[i].value = list[ii].count;
          }
        }
      });
    },
@@ -885,10 +1030,10 @@
      let param = {
        starttime: this.starttime,
        endtime: this.endtime,
        city: this.city,
        city: this.city
        // repoterno:'015'
      };
      getOrgansQuality(param).then((response) => {
      getOrgansQuality(param).then(response => {
        if (response.code == 200) {
          this.qualirtData = response.data;
        } else {
@@ -904,7 +1049,7 @@
        starttime: this.starttime,
        endtime: this.endtime,
        reportno: this.reportervalue,
        city: this.city,
        city: this.city
        // residenceprovince: this.$refs.areaSelect.getSheng(),
        // residencecity: this.$refs.areaSelect.getShi(),
        // residencetown: this.$refs.areaSelect.getQu(),
@@ -959,10 +1104,8 @@
      //     : "";
      let info = {
        pageNum: 1,
        pageSize: 10,
        starttime: this.starttime,
        endtime: this.endtime,
        endtime: this.endtime
        // residenceprovince: this.$refs.areaSelect.getSheng(),
        // residencecity: this.$refs.areaSelect.getShi(),
@@ -976,50 +1119,50 @@
      }
      //潜在捐献
      listDonatebaseinfo(info).then((res) => {
      listDonatebaseinfo(info).then(res => {
        this.donateNumData.numberOfDonate = res.total;
      });
      //医学评估
      listnewMedicalevaluation(info).then((res) => {
      listnewMedicalevaluation(info).then(res => {
        this.donateNumData.numberOfMedicalEvaluation = res.total;
      }),
        //亲属确认
        listnewRelativesconfirmation(info).then((res) => {
        listnewRelativesconfirmation(info).then(res => {
          this.donateNumData.numberOfRelativeConfirmation = res.total;
        });
      //伦理审查
      listnewEthicalreviewopinions(info).then((res) => {
      listnewEthicalreviewopinions(info).then(res => {
        this.donateNumData.numberOfEthicalReview = res.total;
      }),
        //器官捐献
        listOrganallocation(info).then((res) => {
        listOrganallocation(info).then(res => {
          this.donateNumData.numberOfDonatePeople = res.total;
        });
      //获取见证
      listnewDonationwitness(info).then((res) => {
      listnewDonationwitness(info).then(res => {
        this.donateNumData.numberOfWitness = res.total;
      });
      listnewDonatecompletioninfo(info).then((res) => {
      listnewDonatecompletioninfo(info).then(res => {
        this.donateNumData.numberOfCompletion = res.total;
      });
      //终止
      info.recordstate = "99";
      listDonatebaseinfo(info).then((res) => {
      info.terminationCase = 1;
      listDonatebaseinfo(info).then(res => {
        this.donateNumData.numberOfTerminated = res.total;
      });
      listDonatebaseinfo({}).then((res) => {
      listDonatebaseinfo({}).then(res => {
        let list = res.rows;
        let reportlist = [];
        reportlist.push({ reporterno: "", reportername: "全部" });
        list.forEach((element) => {
        reportlist.push({ reporterno: "", reportername: "全部人员" });
        list.forEach(element => {
          reportlist.push({
            reporterno: element.reporterno,
            reportername: element.reportername,
            reportername: element.reportername
          });
        });
@@ -1040,7 +1183,7 @@
      // this.endtime = new Date(this.endtime).getTime()
      let param = {
        starttime: this.starttime,
        endtime: this.endtime,
        endtime: this.endtime
        // city:'1',
        // repoterno:'015'
      };
@@ -1052,17 +1195,14 @@
      }
      // getOrgansOfHospital
      // getOrgansOfHospitalByMonth
      getOrgansOfHospitalByMonth(param).then((response) => {
        // debugger
      getOrgansOfHospitalByMonth(param).then(response => {
        if (response.code == 200) {
          let newConfig = {
            ...DEF_TABLE_CONFIG,
            ...DEF_TABLE_CONFIG
          };
          let arr = response.data;
          let dataList = [];
          debugger
          dataList = response.data.map((item) => {
          dataList = response.data.map(item => {
            let li = [];
            li.push(
              item.month == null
@@ -1095,7 +1235,6 @@
            return li;
          });
          newConfig.data = dataList;
          debugger
          this.config = newConfig;
        }
      });
@@ -1105,13 +1244,12 @@
    closeBaseInfoTab() {
      // 关闭指定页签
      // const obj = { path: "/organ/donatebaseinfo", name: "Donatebaseinfo" };
      // debugger
      // console.log(this.$tab)
      // this.$tab.closePage(obj);
    },
    }
  },
  computed: {},
  watch: {},
  watch: {}
};
</script>
@@ -1190,4 +1328,3 @@
  // background-color: #282c34;
}
</style>