11
WXL
2024-03-08 2d87371edd24a1b2b25bf8c33bccceb988038758
src/views/project/indexstatistics/index.vue
@@ -57,10 +57,11 @@
        </el-col>
      </el-row>
    </el-card>
    <div style="display: flex;">
      <div style="width: 76%;">
    <el-row
      :gutter="10"
      style="font-size: 18px; font-weight: bold; margin-top: 10px"
          style="font-size: 16px; font-weight: bold;  margin-top: 10px"
    >
      <el-col :span="6">
        <router-link
@@ -74,8 +75,8 @@
              shen: searchAddress.shen,
              shi: searchAddress.shi,
              qu: searchAddress.qu,
              city: city,
            },
                  city: city
                }
          }"
        >
          <!-- params: {
@@ -101,8 +102,8 @@
              shen: searchAddress.shen,
              shi: searchAddress.shi,
              qu: searchAddress.qu,
              city: city,
            },
                  city: city
                }
          }"
        >
          <el-card
@@ -128,12 +129,13 @@
              shen: searchAddress.shen,
              shi: searchAddress.shi,
              qu: searchAddress.qu,
              city: city,
            },
                  city: city
                }
          }"
        >
          <el-card shadow="always" style="color: #566f94">
            <svg-icon icon-class="checkbox" />&nbsp;&nbsp; 完成亲属确认累计:{{
                <svg-icon icon-class="checkbox" />&nbsp;&nbsp;
                完成亲属确认累计:{{
              this.donateNumData.numberOfRelativeConfirmation
            }}&nbsp; 例
          </el-card>
@@ -151,12 +153,13 @@
              shen: searchAddress.shen,
              shi: searchAddress.shi,
              qu: searchAddress.qu,
              city: city,
            },
                  city: city
                }
          }"
        >
          <el-card shadow="always" style="color: #566f94">
            <svg-icon icon-class="education" />&nbsp;&nbsp; 完成伦理审查累计:{{
                <svg-icon icon-class="education" />&nbsp;&nbsp;
                完成伦理审查累计:{{
              this.donateNumData.numberOfEthicalReview
            }}&nbsp; 例
          </el-card>
@@ -179,8 +182,8 @@
              shen: searchAddress.shen,
              shi: searchAddress.shi,
              qu: searchAddress.qu,
              city: city,
            },
                  city: city
                }
          }"
        >
          <el-card shadow="always" style="color: #566f94">
@@ -203,8 +206,8 @@
              shen: searchAddress.shen,
              shi: searchAddress.shi,
              qu: searchAddress.qu,
              city: city,
            },
                  city: city
                }
          }"
        >
          <el-card shadow="always" style="color: #566f94">
@@ -226,8 +229,8 @@
              shen: searchAddress.shen,
              shi: searchAddress.shi,
              qu: searchAddress.qu,
              city: city,
            },
                  city: city
                }
          }"
        >
          <el-card shadow="always" style="color: #566f94">
@@ -250,8 +253,8 @@
              shen: searchAddress.shen,
              shi: searchAddress.shi,
              qu: searchAddress.qu,
              city: city,
            },
                  city: city
                }
          }"
        >
          <el-card shadow="always" style="color: #566f94">
@@ -262,32 +265,8 @@
        </router-link>
      </el-col>
    </el-row>
    <el-row style="margin-top: 10px" :gutter="5">
      <el-col :span="7">
        <el-card shadow="always" style="height: 640px" ref="orgNumberCard">
          <el-row style="margin-bottom: 20px">
            <el-col :span="14">
              <span style="font-size: 18px; color: #566f94; font-weight: bold"
                >各地区医院案例数据</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-row style="margin-top: 10px; " :gutter="5">
          <el-col :span="12">
        <el-card
          shadow="always"
          style="padding: 0; font-weight: bold; height: 640px"
@@ -305,7 +284,9 @@
                style="padding: 0; margin: 0; width: 100%; color: #566f94"
              >
                器官捐献转化率<br />
                {{ (this.qualirtData.donateTransferRate * 100).toFixed(2) }}%
                    {{
                      (this.qualirtData.donateTransferRate * 100).toFixed(2)
                    }}%
              </el-card>
            </el-col>
            <el-col :span="8" style="text-align: center">
@@ -314,7 +295,9 @@
                style="padding: 0; margin: 0; width: 100%; color: #566f94"
              >
                平均器官产出率<br />
                {{ (this.qualirtData.organProductionRate * 100).toFixed(2) }}%
                    {{
                      (this.qualirtData.organProductionRate * 100).toFixed(2)
                    }}%
              </el-card>
            </el-col>
            <el-col :span="8" style="text-align: center">
@@ -342,7 +325,9 @@
                  </el-col>
                  <el-col :span="8" style="text-align: center">
                    DBCD:
                    {{ (this.qualirtData.dbcddonateRate * 100).toFixed(2) }}%
                        {{
                          (this.qualirtData.dbcddonateRate * 100).toFixed(2)
                        }}%
                  </el-col>
                </el-row>
              </el-card>
@@ -358,7 +343,9 @@
                  <span style="font-size: 14px"> 获取前活检率</span>
                </el-row>
                {{
                  (this.qualirtData.organBeforeGetCheckRate * 100).toFixed(2)
                      (this.qualirtData.organBeforeGetCheckRate * 100).toFixed(
                        2
                      )
                }}%
              </el-card>
            </el-col>
@@ -371,11 +358,12 @@
                  <span style="font-size: 14px">获取后活检率</span>
                </el-row>
                {{
                  (this.qualirtData.organAfterGetCheckRate * 100).toFixed(2)
                      (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">
@@ -392,7 +380,9 @@
                shadow="always"
                style="padding: 0; margin: 0; width: 100%; color: #566f94"
              >
                <span style="font-size: 14px">器官保存液病原菌培养阳性率</span>
                    <span style="font-size: 14px"
                      >器官保存液病原菌培养阳性率</span
                    >
                {{ (this.qualirtData.germPositiveRate * 100).toFixed(2) }}%
              </el-card>
            </el-col>
@@ -405,7 +395,9 @@
                  <el-row>
                    <el-col :span="6" style="text-align: center">
                      总发生率<br />
                      {{ (this.qualirtData.totalPNFRate * 100).toFixed(2) }}%
                          {{
                            (this.qualirtData.totalPNFRate * 100).toFixed(2)
                          }}%
                    </el-col>
                    <el-col :span="6" style="text-align: center">
                      DBD<br />
@@ -457,7 +449,46 @@
          </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">
              <span style="font-size: 18px; color: #566f94; font-weight: bold"
                >各地区医院案例数据</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>
        </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 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
            >
          </div>
          <div v-for="o in 4" :key="o" class="text item">
            {{ "列表内容 " + o }}
          </div>
        </el-card>
      </div>
    </div>
  </div>
</template>
@@ -469,7 +500,7 @@
  delMedicalevaluation,
  addMedicalevaluation,
  updateMedicalevaluation,
  exportMedicalevaluation,
  exportMedicalevaluation
} from "@/api/project/medicalevaluation";
import {
  listRelativesconfirmation,
@@ -481,7 +512,7 @@
  // exportRelativesconfirmation,
  updatedonatorno,
  updateDonateNumber,
  downloadconfirmationinfo,
  downloadconfirmationinfo
} from "@/api/project/relativesconfirmation";
import {
  listEthicalreviewopinions,
@@ -489,7 +520,7 @@
  delEthicalreviewopinions,
  addEthicalreviewopinions,
  updateEthicalreviewopinions,
  listnewEthicalreviewopinions,
  listnewEthicalreviewopinions
} from "@/api/project/ethicalreviewopinions";
import {
  getByInfoId,
@@ -499,7 +530,7 @@
  addDonationwitness,
  updateDonationwitness,
  listnewDonationwitness,
  downloadwitnessinfo,
  downloadwitnessinfo
} from "@/api/project/donationwitness";
import {
  getDonatecompletioninfo,
@@ -507,7 +538,7 @@
  addDonatecompletioninfo,
  updateDonatecompletioninfo,
  listDonatecompletioninfo,
  downloadcompletioninfo,
  downloadcompletioninfo
} from "@/api/project/donatecompletioninfo";
import { listOrganallocation } from "@/api/project/organallocation";
@@ -524,7 +555,7 @@
  getOrgansOfHospital,
  getNumberOfOrgan,
  getOrgansOfHospitalByMonth,
  getDonateorganSum,
  getDonateorganSum
} from "@/api/project/donateorgan";
import Li_area_select from "@/components/Address";
@@ -533,7 +564,7 @@
  oddRowBGC: "#f9f9f9",
  evenRowBGC: "white",
  columnWidth: [150, 300, 30, 10, 30],
  rowNum: 14,
  rowNum: 14
};
export default {
@@ -541,7 +572,7 @@
  components: {
    RankChart,
    OrganNumChart,
    Li_area_select,
    Li_area_select
  },
  props: {},
  data() {
@@ -564,7 +595,7 @@
        { label: "衢州市", value: "8" },
        { label: "舟山市", value: "9" },
        { label: "台州市", value: "A" },
        { label: "丽水市", value: "B" },
        { label: "丽水市", value: "B" }
      ],
      value: "",
      //时间选项
@@ -579,86 +610,86 @@
          key: "heart",
          name: "心脏",
          value: 0,
          code: "C38",
          code: "C38"
        },
        {
          key: "fullLiver",
          name: "全肝",
          value: 0,
          code: "C22",
          code: "C22"
        },
        {
          key: "leftLiver",
          name: "左肝",
          value: 0,
          code: "C22L",
          code: "C22L"
        },
        {
          key: "rightLiver",
          name: "右肝",
          value: 0,
          code: "C22R",
          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: "遗体",
@@ -693,7 +724,7 @@
        //器官利用率
        organUsedRate: 0,
        totalDGFRate: 0,
        totalPNFRate: 0,
        totalPNFRate: 0
      },
      //捐献累计数量
      donateNumData: {
@@ -712,18 +743,18 @@
        //获取见证数量
        numberOfWitness: 0,
        //终止数量
        numberOfTerminated: 0,
        numberOfTerminated: 0
      },
      config: {
        ...DEF_TABLE_CONFIG,
        ...DEF_TABLE_CONFIG
      },
      reportlist: [],
      reportervalue: "",
      searchAddress: {
        sheng: "浙江省",
        shi: "",
        qu: "",
      },
        qu: ""
      }
    };
  },
  // listnewEthicalreviewopinions
@@ -842,7 +873,7 @@
      let param = {
        starttime: this.starttime,
        endtime: this.endtime,
        city: this.city,
        city: this.city
        // repoterno:'015'
      };
@@ -850,7 +881,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++) {
@@ -861,12 +892,11 @@
        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){
            this.organData[i].value = list[ii].count;
          }
        }
      });
    },
@@ -884,10 +914,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 {
@@ -903,7 +933,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(),
@@ -961,7 +991,7 @@
        pageNum: 1,
        pageSize: 10,
        starttime: this.starttime,
        endtime: this.endtime,
        endtime: this.endtime
        // residenceprovince: this.$refs.areaSelect.getSheng(),
        // residencecity: this.$refs.areaSelect.getShi(),
@@ -975,50 +1005,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) => {
      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) => {
        list.forEach(element => {
          reportlist.push({
            reporterno: element.reporterno,
            reportername: element.reportername,
            reportername: element.reportername
          });
        });
@@ -1039,7 +1069,7 @@
      // this.endtime = new Date(this.endtime).getTime()
      let param = {
        starttime: this.starttime,
        endtime: this.endtime,
        endtime: this.endtime
        // city:'1',
        // repoterno:'015'
      };
@@ -1051,14 +1081,14 @@
      }
      // getOrgansOfHospital
      // getOrgansOfHospitalByMonth
      getOrgansOfHospitalByMonth(param).then((response) => {
      getOrgansOfHospitalByMonth(param).then(response => {
        if (response.code == 200) {
          let newConfig = {
            ...DEF_TABLE_CONFIG,
            ...DEF_TABLE_CONFIG
          };
          let arr = response.data;
          let dataList = [];
          dataList = response.data.map((item) => {
          dataList = response.data.map(item => {
            let li = [];
            li.push(
              item.month == null
@@ -1102,10 +1132,10 @@
      // const obj = { path: "/organ/donatebaseinfo", name: "Donatebaseinfo" };
      // console.log(this.$tab)
      // this.$tab.closePage(obj);
    },
    }
  },
  computed: {},
  watch: {},
  watch: {}
};
</script>
@@ -1184,4 +1214,3 @@
  // background-color: #282c34;
}
</style>