11
WXL
2024-03-12 a05bad345de643abb06ea743c4bb92c329b21d8d
11
已添加5个文件
已修改2个文件
681 ■■■■■ 文件已修改
src/api/project/statistics.js 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/donationdetails/index.vue 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fund/performancedetails/index.vue 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/statistics/applyStatistics/index.vue 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/statistics/caseStatistics/index.vue 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/statistics/chargeStatistics/index.vue 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/statistics/performanceStaristics/index.vue 423 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/project/statistics.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
import request from '@/utils/request'
// æŸ¥è¯¢æ¡ˆä¾‹ç»Ÿè®¡
export function listanlstatistics(query) {
  return request({
    url: '/project/spstatcase/spStatCaselist',
    method: 'get',
    params: query
  })
}
// æŸ¥è¯¢ç»©æ•ˆç»Ÿè®¡
export function listjixstatistics(query) {
    return request({
      url: '/project/funddetail/getListBySpStatBonus',
      method: 'get',
      params: query
    })
  }
  // æŸ¥è¯¢æŠ¥é”€ç»Ÿè®¡
export function listbxiaostatistics(query) {
    return request({
      url: '/project/spstatexpense/spStatExpenselist',
      method: 'get',
      params: query
    })
  }
  // æŸ¥è¯¢æ”¶è´¹ç»Ÿè®¡
export function listsfeistatistics(query) {
    return request({
      url: '/project/donorchargeorgan/getListBySpStatChange',
      method: 'get',
      params: query
    })
  }
src/views/project/donationdetails/index.vue
@@ -8,18 +8,18 @@
            <el-step title="潜在捐献" icon="el-icon-user">
              <template
                slot="description"
                v-if="Processdata.donatebaseinfo.createtime"
                v-if="donatebaseinfo.createtime"
              >
                <p>
                  æäº¤ï¼š<span
                    >{{ Processdata.donatebaseinfo.createperson }}
                    {{ parseTime(Processdata.donatebaseinfo.createtime) }}</span
                    >{{ donatebaseinfo.createperson }}
                    {{ parseTime(donatebaseinfo.createtime) }}</span
                  >
                </p>
                <p>
                  æ›´æ–°ï¼š<span
                    >{{ Processdata.donatebaseinfo.updateperson }}
                    {{ parseTime(Processdata.donatebaseinfo.updatetime) }}</span
                    >{{ donatebaseinfo.updateperson }}
                    {{ parseTime(donatebaseinfo.updatetime) }}</span
                  >
                </p>
              </template>
@@ -31,21 +31,21 @@
            >
              <template
                slot="description"
                v-if="Processdata.medicalevaluation.createtime"
                v-if="medicalevaluation.createtime"
              >
                <p>
                  æäº¤ï¼š<span>
                    {{ Processdata.medicalevaluation.createperson }}
                    {{ medicalevaluation.createperson }}
                    {{
                      parseTime(Processdata.medicalevaluation.createtime)
                      parseTime(medicalevaluation.createtime)
                    }}</span
                  >
                </p>
                <p>
                  æ›´æ–°ï¼š<span>
                    {{ Processdata.medicalevaluation.updateperson }}
                    {{ medicalevaluation.updateperson }}
                    {{
                      parseTime(Processdata.medicalevaluation.updatetime)
                      parseTime(medicalevaluation.updatetime)
                    }}</span
                  >
                </p>
@@ -58,21 +58,21 @@
            >
              <template
                slot="description"
                v-if="Processdata.relativesconfirmation.createtime"
                v-if="relativesconfirmation.createtime"
              >
                <p>
                  æäº¤ï¼š<span>
                    {{ Processdata.relativesconfirmation.createperson }}
                    {{ relativesconfirmation.createperson }}
                    {{
                      parseTime(Processdata.relativesconfirmation.createtime)
                      parseTime(relativesconfirmation.createtime)
                    }}</span
                  >
                </p>
                <p>
                  æ›´æ–°ï¼š<span>
                    {{ Processdata.relativesconfirmation.updateperson }}
                    {{ relativesconfirmation.updateperson }}
                    {{
                      parseTime(Processdata.relativesconfirmation.updatetime)
                      parseTime(relativesconfirmation.updatetime)
                    }}</span
                  >
                </p>
@@ -85,21 +85,21 @@
            >
              <template
                slot="description"
                v-if="Processdata.donateflowcharts.createtime"
                v-if="donateflowcharts.createtime"
              >
                <p>
                  æäº¤ï¼š<span>
                    {{ Processdata.donateflowcharts.createperson }}
                    {{ donateflowcharts.createperson }}
                    {{
                      parseTime(Processdata.donateflowcharts.createtime)
                      parseTime(donateflowcharts.createtime)
                    }}</span
                  >
                </p>
                <p>
                  æ›´æ–°ï¼š<span>
                    {{ Processdata.donateflowcharts.updateperson }}
                    {{ donateflowcharts.updateperson }}
                    {{
                      parseTime(Processdata.donateflowcharts.updatetime)
                      parseTime(donateflowcharts.updatetime)
                    }}</span
                  >
                </p>
@@ -112,21 +112,21 @@
            >
              <template
                slot="description"
                v-if="Processdata.donateorgansService.createtime"
                v-if="donateorgansService.createtime"
              >
                <p>
                  æäº¤ï¼š<span>
                    {{ Processdata.donateorgansService.createperson }}
                    {{ donateorgansService.createperson }}
                    {{
                      parseTime(Processdata.donateorgansService.createtime)
                      parseTime(donateorgansService.createtime)
                    }}</span
                  >
                </p>
                <p>
                  æ›´æ–°ï¼š<span>
                    {{ Processdata.donateorgansService.updateperson }}
                    {{ donateorgansService.updateperson }}
                    {{
                      parseTime(Processdata.donateorgansService.updatetime)
                      parseTime(donateorgansService.updatetime)
                    }}</span
                  >
                </p>
@@ -139,21 +139,21 @@
            >
              <template
                slot="description"
                v-if="Processdata.donationwitness.createtime"
                v-if="donationwitness.createtime"
              >
                <p>
                  æäº¤ï¼š<span>
                    {{ Processdata.donationwitness.createperson }}
                    {{ donationwitness.createperson }}
                    {{
                      parseTime(Processdata.donationwitness.createtime)
                      parseTime(donationwitness.createtime)
                    }}</span
                  >
                </p>
                <p>
                  æ›´æ–°ï¼š<span>
                    {{ Processdata.donationwitness.updateperson }}
                    {{ donationwitness.updateperson }}
                    {{
                      parseTime(Processdata.donationwitness.updatetime)
                      parseTime(donationwitness.updatetime)
                    }}</span
                  >
                </p>
@@ -166,21 +166,21 @@
            >
              <template
                slot="description"
                v-if="Processdata.donatecompletioninfo.createtime"
                v-if="donatecompletioninfo.createtime"
              >
                <p>
                  æäº¤ï¼š<span>
                    {{ Processdata.donatecompletioninfo.createperson }}
                    {{ donatecompletioninfo.createperson }}
                    {{
                      parseTime(Processdata.donatecompletioninfo.createtime)
                      parseTime(donatecompletioninfo.createtime)
                    }}</span
                  >
                </p>
                <p>
                  æ›´æ–°ï¼š<span>
                    {{ Processdata.donatecompletioninfo.updateperson }}
                    {{ donatecompletioninfo.updateperson }}
                    {{
                      parseTime(Processdata.donatecompletioninfo.updatetime)
                      parseTime(donatecompletioninfo.updatetime)
                    }}</span
                  >
                </p>
@@ -2611,7 +2611,13 @@
      showTerminationBtn: 0, //终止状态 0-未终止 1-已终止
      // æµç¨‹æ•°æ®ï¼šdonatebaseinfo[createtime,updatetime]、medicalevaluation、relativesconfirmation、donateflowcharts、donateorgansService、donationwitness、donatecompletioninfo
      Processdata: {},
      donatebaseinfo:{},
      medicalevaluation:{},
      relativesconfirmation:{},
      donateflowcharts:{},
      donateorgansService:{},
      donationwitness:{},
      donatecompletioninfo:{},
      //省市区默认值设置,可为空
      searchAddress: {
        sheng: "",
@@ -2799,7 +2805,18 @@
    Getbasicinformation() {
      // å·¦ä¾§æµç¨‹æ•°æ®
      getDonatebaseinfoflow(this.infoid).then(res => {
        this.Processdata = res.data;
        if (res.code==200) {
          this.Processdata = res.data;
          this.donatebaseinfo=this.Processdata.donatecompletioninfo;
          this.medicalevaluation=this.Processdata.donatecompletioninfo;
          this.relativesconfirmation=this.Processdata.donatecompletioninfo;
          this.donateflowcharts=this.Processdata.donatecompletioninfo;
          this.donateorgansService=this.Processdata.donatecompletioninfo;
          this.donationwitness=this.Processdata.donatecompletioninfo;
          this.donatecompletioninfo=this.Processdata.donatecompletioninfo;
        }else{
          this.$message.error('侧边栏信息获取失败');
        }
      });
      // è¡¨å•数据
src/views/project/fund/performancedetails/index.vue
@@ -196,6 +196,11 @@
                    :value="dict.id"
                  ></el-option>
                </el-select>
                <!-- <el-cascader
                  v-model="scope.row.applytype"
                  :options="aaoptions"
                  :show-all-levels="false"
                ></el-cascader> -->
              </template>
            </el-table-column>
            <el-table-column
@@ -985,7 +990,52 @@
      //行记录的费用类型数组
      rowfeeItemTypes: [{ label: "管理成本", value: "9" }],
      aaoptions: [
        {
          value: "niandu",
          label: "年度"
        },
        {
          value: "jidu",
          label: "季度",
          children: [
            {
              value: "2024-03-31",
              label: "第一季度"
            },
            {
              value: "2024-6-30",
              label: "第二季度"
            },
            {
              value: "2024-9-30",
              label: "第三季度"
            },
            {
              value: "2024-12-31",
              label: "第四季度"
            }
          ]
        },
        {
          value: "yuedu",
          label: "月度",
          children: [
            { label: "一月", value: new Date(2024, 0 + 1, 0).getDate() },
            { label: "二月", value: new Date(2024, 1 + 1, 0).getDate() },
            { label: "三月", value: new Date(2024, 2 + 1, 0).getDate() },
            { label: "四月", value: new Date(2024, 3 + 1, 0).getDate() },
            { label: "五月", value: new Date(2024, 4 + 1, 0).getDate() },
            { label: "六月", value: new Date(2024, 5 + 1, 0).getDate() },
            { label: "七月", value: new Date(2024, 6 + 1, 0).getDate() },
            { label: "八月", value: new Date(2024, 7 + 1, 0).getDate() },
            { label: "九月", value: new Date(2024, 8 + 1, 0).getDate() },
            { label: "十月", value: new Date(2024, 9 + 1, 0).getDate() },
            { label: "十一月", value: new Date(2024, 10 + 1, 0).getDate() },
            { label: "十二月", value: new Date(2024, 11 + 1, 0).getDate() }
          ]
        }
      ],
      //费用说明
      feeBlocks: [],
src/views/project/statistics/applyStatistics/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
<template>
  <div>
报销
  </div>
</template>
<script>
export default {
  data () {
    return {
    }
  },
  created () {
  },
  methods: {
  }
}
</script>
<style lang='scss' scoped>
</style>
src/views/project/statistics/caseStatistics/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
<template>
  <div>
案例
  </div>
</template>
<script>
export default {
  data () {
    return {
    }
  },
  created () {
  },
  methods: {
  }
}
</script>
<style lang='scss' scoped>
</style>
src/views/project/statistics/chargeStatistics/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
<template>
  <div>
收费
  </div>
</template>
<script>
export default {
  data () {
    return {
    }
  },
  created () {
  },
  methods: {
  }
}
</script>
<style lang='scss' scoped>
</style>
src/views/project/statistics/performanceStaristics/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,423 @@
<!--  -->
<template>
  <div class="app-container">
    ç»©æ•ˆ
    <el-form
      :model="queryParams"
      ref="queryForm"
      :inline="true"
      label-width="70px"
    >
      <el-row :gutter="8">
        <el-col :span="6">
          <el-form-item label="业务人员" prop="name">
            <el-input
              v-model="queryParams.name"
              placeholder="请输入姓名"
              clearable
              size="small"
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-form-item align="left" label="业务组" prop="treatmenthospitalno">
            <org-selecter
              ref="orgSelecter"
              :org-type="'3'"
              v-model="queryParams.treatmenthospitalno"
            />
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-form-item label="案例状态">
            <el-select
              v-model="queryParams.reporterno"
              placeholder="请选择案例状态"
            >
              <el-option
                v-for="item in reportlist"
                :key="item.index"
                :label="item.reportername"
                :value="item.reporterno"
              >
              </el-option>
            </el-select>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row :gutter="8">
        <el-col :span="12">
          <el-form-item label="统计日期">
            <el-date-picker
              style="width: 100%"
              v-model="selecttime"
              type="monthrange"
              range-separator="至"
              start-placeholder="开始月份"
              end-placeholder="结束月份"
              value-format="yyyy-MM-dd"
              @change="getTimeList"
            >
            </el-date-picker>
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-form-item>
            <el-button
              type="primary"
              icon="el-icon-search"
              size="mini"
              @click="handleQuery"
              >搜索</el-button
            >
            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
              >重置</el-button
            >
          </el-form-item>
        </el-col>
      </el-row>
    </el-form>
    <!--<el-table v-loading="loading" border :data="donatebaseinfoList">     -->
    <el-table v-loading="loading" border :data="jxidata">
      <el-table-column label="序号" align="center" prop="id" width="100">
      </el-table-column>
      <el-table-column label="统计月份" align="center" prop="name" />
      <el-table-column label="业务组" align="center" prop="name">
      </el-table-column>
      <el-table-column label="专职人员" align="center" prop="age" />
      <el-table-column
        label="案例数量"
        align="center"
        prop="treatmenthospitalname"
      />
      <el-table-column
        label="操作"
        align="center"
        class-name="small-padding fixed-width"
        fixed="right"
      >
        <template slot-scope="scope">
          <!--           v-if="scope.row.recordstate==2"
 -->
          <el-button
            size="mini"
            type="text"
            icon="el-icon-edit"
            @click="handleAdd(scope.row)"
            >医学评估</el-button
          >
        </template>
      </el-table-column>
    </el-table>
    <pagination
      v-show="total > 0"
      :total="total"
      :page.sync="queryParams.pageNum"
      :limit.sync="queryParams.pageSize"
      @pagination="getList"
    />
    <!-- æ·»åŠ æˆ–ä¿®æ”¹å®¶å±žç¡®è®¤å¯¹è¯æ¡† -->
  </div>
</template>
<script>
//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
//例如:import ã€Šç»„件名称》 from '《组件路径》';
import {
  listDonatebaseinfo,
  getDonatebaseinfo,
  addDonatebaseinfo,
  updateDonatebaseinfo
} from "@/api/project/donatebaseinfo";
import {
  listsfeistatistics,
  listbxiaostatistics,
  listjixstatistics,
  listanlstatistics
} from "@/api/project/statistics";
import { listUser } from "@/api/project/organization";
import Li_area_select from "@/components/Address";
import OrgSelecter from "@/views/project/components/orgselect";
import AnnexUpload from "@/views/project/components/annexupload";
export default {
  //import引入的组件需要注入到对象中才能使用
  components: {
    Li_area_select,
    OrgSelecter,
    AnnexUpload
  },
  name: "Medicalevaluation",
  dicts: [],
  data() {
    //这里存放数据
    return {
      starttime: "",
      endtime: "",
      countyname: "",
      cuuntry: "",
      selecttime: "",
      reportervalue: "",
      reportlist: [],
      //省市区
      //默认值设置,可为空
      searchAddress: {
        sheng: "",
        shi: "",
        qu: "",
        organizationname: null
      },
      provinceData: [
        { label: "全部", value: "" },
        { label: "杭州市", value: "1" },
        { label: "宁波市", value: "2" },
        { label: "温州市", value: "3" },
        { label: "嘉兴市", value: "4" },
        { label: "湖州市", value: "5" },
        { label: "绍兴市", value: "6" },
        { label: "金华市", value: "7" },
        { label: "衢州市", value: "8" },
        { label: "舟山市", value: "9" },
        { label: "台州市", value: "A" },
        { label: "丽水市", value: "B" }
      ],
      residenceAddresss: {
        sheng: "浙江省",
        shi: "",
        qu: ""
      },
      registerAddresss: {
        sheng: "浙江省",
        shi: "",
        qu: ""
      },
      defultAddresss: {
        sheng: "浙江省",
        shi: "",
        qu: ""
      },
      // é®ç½©å±‚
      loading: false,
      // å¯¼å‡ºé®ç½©å±‚
      exportLoading: false,
      // é€‰ä¸­æ•°ç»„
      ids: [],
      // éžå•个禁用
      single: true,
      // éžå¤šä¸ªç¦ç”¨
      multiple: true,
      // æ˜¾ç¤ºæœç´¢æ¡ä»¶
      showSearch: true,
      // æ€»æ¡æ•°
      total: 0,
      // æçŒ®åŸºç¡€è¡¨æ ¼æ•°æ®
      donatebaseinfoList: [],
      // æçŒ®åŸºç¡€è¡¨æ ¼æ•°æ®
      jxidata: [],
      // å¼¹å‡ºå±‚标题
      title: "",
      // æ˜¯å¦æ˜¾ç¤ºå¼¹å‡ºå±‚
      open: false,
      // èŽ·å–ç»„ç»‡åç§°æ—¶é—´èŒƒå›´
      daterangeReporttime: [],
      // æŸ¥è¯¢å‚æ•°
      queryParams: {
        pabonustype: null,
        pageNum: 1,
        pageSize: 10
      },
      // è¡¨å•参数
      form: {},
      // è¡¨å•校验
      rules: {},
      //当前选中捐献案例
      curCase: {},
      //流程名称
      flowname: "捐献医学评估",
      //流程名称-伦理审查
      annexno: "",
      confirmationform: {},
      //是否显示确认登记表
      isShowConfirmationDialog: false,
      //确认登记表title
      confirmationTitle: ""
    };
  },
  //监听属性 ç±»ä¼¼äºŽdata概念
  computed: {},
  activated() {},
  mounted() {},
  //监控data中的数据变化
  watch: {},
  //方法集合
  methods: {
    getTimeList(e) {
      if (this.selecttime != 0) {
        this.endtime = this.selecttime[1];
        this.starttime = this.selecttime[0];
        // if (this.endtime == this.starttime) {
        let num = Number(this.endtime.slice(5, 7));
        if (num < 9) {
          let mon = Number(this.endtime.slice(6, 7));
          this.endtime =
            this.endtime.slice(0, 5) +
            "0" +
            (mon + 1) +
            "-" +
            "01" +
            " " +
            "00" +
            ":" +
            "00" +
            ":" +
            "00";
        }
        // this.endtime=this.endtime.slice(0,5)å¹´
        else if (num >= 10) {
          this.endtime =
            this.endtime.slice(0, 5) +
            (num + 1) +
            "-" +
            "01" +
            " " +
            "00" +
            ":" +
            "00" +
            ":" +
            "00";
        } else {
          this.endtime =
            this.endtime.slice(0, 5) +
            "10" +
            "-" +
            "01" +
            " " +
            "00" +
            ":" +
            "00" +
            ":" +
            "00";
        }
        this.starttime = this.starttime + " " + "00" + ":" + "00" + ":" + "00";
        // }
      } else {
        // this.starttime = "1998-01-01 00:00:00";
        // this.endtime = "2998-01-01 00:00:00";
      }
    },
    LoadReportList() {
      listDonatebaseinfo().then(res => {
        let list = res.rows;
        let reportlist = [];
        list.forEach(item => {
          reportlist.push({
            reporterno: item.reporterno,
            reportername: item.reportername
          });
        });
        if (reportlist != 0) {
          reportlist = this.resetArr(reportlist);
          this.reportlist = reportlist;
        }
      });
    },
    resetArr(Arr) {
      var hash = {};
      Arr = Arr.reduce(function(arr, current) {
        hash[current.reporterno]
          ? ""
          : (hash[current.reporterno] = true && arr.push(current));
        return arr;
      }, []);
      return Arr;
    },
    /** æŸ¥è¯¢æçŒ®åŸºç¡€åˆ—表 */
    getList() {
      listjixstatistics(this.queryParams).then(res => {
        this.jxidata = res.rows;
      });
    },
    // è¡¨å•重置
    reset() {
      this.form = {};
    },
    /** æœç´¢æŒ‰é’®æ“ä½œ */
    handleQuery() {
      this.queryParams.pageNum = 1;
      this.getList();
    },
    /** é‡ç½®æŒ‰é’®æ“ä½œ */
    resetQuery() {
      this.daterangeReporttime = [];
      this.reportervalue = "";
      this.form.treatmenthospitalno = "";
      this.queryParams = {
        doname: null,
        pageNum: 1,
        pageSize: 10,
        name: null,
        idcardno: null,
        residenceprovince: null,
        residencecity: null,
        residencetown: null,
        // "2"
        recordstate: null,
        treatmenthospitalname: null,
        donorno: null,
        acquisitiontissueno: null,
        reportername: null,
        reporttime: null,
        city: null
      };
      this.selecttime = [];
      this.getTimeList();
      this.searchAddress = {
        sheng: "",
        shi: "",
        qu: "",
        organizationname: null
      };
      this.resetForm("queryForm");
      this.handleQuery();
    }
  },
  //生命周期 - åˆ›å»ºå®Œæˆï¼ˆå¯ä»¥è®¿é—®å½“前this实例)
  created() {
    //获取列表
    this.getList();
  }
  // //生命周期 - æŒ‚载完成(可以访问DOM元素)
  //    mounted() {},
  // beforeCreate() {}, //生命周期 - åˆ›å»ºä¹‹å‰
  // beforeMount() {}, //生命周期 - æŒ‚载之前
  // beforeUpdate() {}, //生命周期 - æ›´æ–°ä¹‹å‰
  // updated() {}, //生命周期 - æ›´æ–°ä¹‹åŽ
  // beforeDestroy() {}, //生命周期 - é”€æ¯ä¹‹å‰
  // destroyed() {}, //生命周期 - é”€æ¯å®Œæˆ
  // activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
};
</script>