11
WXL
2024-08-07 edfece183c40c61bb9187f0146ca30485acdc6aa
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"
@@ -61,15 +61,15 @@
      <div style="width: 76%;">
        <el-row
          :gutter="10"
          style="font-size: 16px; font-weight: bold;  margin-top: 10px"
          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,
                  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,20 @@
          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-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: this.starttime,
                  endtime: this.endtime,
                  starttime: starttime,
                  endtime: endtime,
                  tempRecordState: '',
                  reporterno: reportervalue,
                  shen: searchAddress.shen,
@@ -212,7 +196,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 +206,8 @@
              :to="{
                name: 'Donatefinish',
                params: {
                  starttime: this.starttime,
                  endtime: this.endtime,
                  starttime: starttime,
                  endtime: endtime,
                  tempRecordState: '',
                  reporterno: reportervalue,
                  shen: searchAddress.shen,
@@ -235,7 +219,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,9 +230,9 @@
              :to="{
                name: 'Donatebaseinfo',
                params: {
                  starttime: this.starttime,
                  endtime: this.endtime,
                  tempRecordState: 99,
                  starttime: starttime,
                  endtime: endtime,
                  terminationcase: 1,
                  reporterno: reportervalue,
                  shen: searchAddress.shen,
                  shi: searchAddress.shi,
@@ -259,7 +243,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>
@@ -274,8 +258,27 @@
            >
              <el-row style="margin-bottom: 20px">
                <span style="font-size: 18px; color: #566f94; font-weight: bold"
                  >本年度指标数据分析</span
                  >指标数据分析</span
                >
                <span style="margin-left: 30px;">
                  <router-link
                    :to="{
                      name: 'DonationProcess',
                      params: {
                        starttime: starttime,
                        endtime: endtime,
                        terminationcase: 1,
                        reporterno: reportervalue,
                        shen: searchAddress.shen,
                        shi: searchAddress.shi,
                        qu: searchAddress.qu,
                        city: city
                      }
                    }"
                  >
                    <el-button type="primary" round>捐献进程</el-button>
                  </router-link>
                </span>
              </el-row>
              <el-row :gutter="3">
                <el-col :span="8" style="text-align: center">
@@ -284,9 +287,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 +296,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 +305,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 +316,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 +340,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 +352,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 +363,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">
@@ -382,8 +373,8 @@
                  >
                    <span style="font-size: 14px"
                      >器官保存液病原菌培养阳性率</span
                    >
                    {{ (this.qualirtData.germPositiveRate * 100).toFixed(2) }}%
                    ><br />
                    {{ (qualirtData.germPositiveRate * 100).toFixed(2) }}%
                  </el-card>
                </el-col>
              </el-row>
@@ -395,21 +386,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 +413,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>
@@ -451,7 +440,7 @@
          </el-col>
          <el-col :span="12">
            <el-card shadow="always" style="height: 640px" ref="organChartCard">
              <OrganNumChart :cdata="organData" />
              <OrganNumChart :cdata="organData" :CommonOrgan="CommonOrgan" />
            </el-card>
            <!-- <el-col :span="7">
        <el-card shadow="always" style="height: 640px" ref="orgNumberCard">
@@ -461,10 +450,10 @@
                >各地区医院案例数据</span
              >
            </el-col>
          </el-row>
          <el-row>
          </el-row>
          <dv-scroll-board
            :config="config"
@@ -656,12 +645,13 @@
    return {
      city: "",
      reportno: "",
      selecttime: [],
      selecttime: [new Date(new Date().getFullYear(), 0), new Date()],
      year: "选择年份",
      isloading: false,
      maxHeight: 0,
      CommonOrgan: null,
      provinceData: [
        { label: "全部", value: "" },
        { label: "全部地市", value: "" },
        { label: "杭州市", value: "1" },
        { label: "宁波市", value: "2" },
        { label: "温州市", value: "3" },
@@ -698,84 +688,128 @@
          key: "heart",
          name: "心脏",
          value: 0,
          value1: 0,
          code: "C38"
        },
        {
          key: "fullLiver",
          name: "全肝",
          name: "肝脏",
          value: 0,
          value1: 0,
          code: "C22"
        },
        {
          key: "leftLiver",
          name: "左肝",
          key: "Lefthalfliver",
          name: "左半肝",
          value: 0,
          value1: 0,
          code: "C22L"
        },
        {
          key: "rightLiver",
          name: "右肝",
          key: "Leftouterlobe",
          name: "左外叶",
          value: 0,
          value1: 0,
          code: "C22L0"
        },
        {
          key: "Righthalfliver",
          name: "右半肝",
          value: 0,
          value1: 0,
          code: "C22R"
        },
        {
          key: "RML",
          name: "右三叶",
          value: 0,
          value1: 0,
          code: "C22R0"
        },
        {
          key: "leftRenal",
          name: "左肾",
          value: 0,
          value1: 0,
          code: "C64L"
        },
        {
          key: "rightRenal",
          name: "右肾",
          value: 0,
          value1: 0,
          code: "C64R"
        },
        {
          key: "fullLung",
          name: "全肺",
          value: 0,
          value1: 0,
          code: "C34"
        },
        {
          key: "leftLung",
          name: "左肺",
          value: 0,
          value1: 0,
          code: "C34L"
        },
        {
          key: "rightLung",
          name: "右肺",
          value: 0,
          value1: 0,
          code: "C34R"
        },
        {
          key: "",
          name: "小肠",
          value: 0,
          value1: 0,
          code: "C17"
        },
        {
          key: "",
          name: "胰腺",
          value: 0,
          value1: 0,
          code: "C25"
        },
        {
          key: "leftEye",
          name: "左眼膜",
          value: 0,
          value1: 0,
          code: "C69L"
        },
        {
          key: "rightEye",
          name: "右眼膜",
          value: 0,
          value1: 0,
          code: "C69R"
        },
        {
          key: "",
          name: "其它",
          value: 0,
          value1: 0,
          code: "C01"
        }
        // {
@@ -1038,6 +1072,7 @@
      if (this.reportervalue != "") {
        param.reporterno = this.reportervalue;
      }
      console.log(param, "param");
      getDonateorganSum(param).then(response => {
        /*
        let list = this.organData.map((item) => item);
@@ -1046,13 +1081,15 @@
        }
        this.organData = list;
      */
        let list = response.data;
        let list = response.data.organInfoVOList;
        this.CommonOrgan = response.data;
        for (let i = 0; i < this.organData.length; i++) {
          let ii = list.findIndex(
            item => item.organNo == this.organData[i].code
          );
          if (ii > -1) {
            this.organData[i].value = list[ii].count;
            this.organData[i].value1 = list[ii].abandonCount;
          }
        }
      });
@@ -1145,8 +1182,6 @@
      //     : "";
      let info = {
        pageNum: 1,
        pageSize: 10,
        starttime: this.starttime,
        endtime: this.endtime
@@ -1193,7 +1228,7 @@
      });
      //终止
      info.recordstate = "99";
      info.terminationCase = 1;
      listDonatebaseinfo(info).then(res => {
        this.donateNumData.numberOfTerminated = res.total;
      });
@@ -1201,7 +1236,7 @@
      listDonatebaseinfo({}).then(res => {
        let list = res.rows;
        let reportlist = [];
        reportlist.push({ reporterno: "", reportername: "全部" });
        reportlist.push({ reporterno: "", reportername: "全部人员" });
        list.forEach(element => {
          reportlist.push({
            reporterno: element.reporterno,