From d839943b0d194c14c1599f81a17105e7223a5075 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期五, 26 七月 2024 18:29:09 +0800
Subject: [PATCH] 11

---
 src/api/project/donatebaseinfo.js                                    |    7 
 src/views/project/DonationProcess/index.vue                          | 1820 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/views/project/indexstatistics/components/organnumchart/index.vue |   17 
 src/views/project/indexstatistics/index.vue                          |   27 
 4 files changed, 1,867 insertions(+), 4 deletions(-)

diff --git a/src/api/project/donatebaseinfo.js b/src/api/project/donatebaseinfo.js
index 5bc8517..ec3f7dd 100644
--- a/src/api/project/donatebaseinfo.js
+++ b/src/api/project/donatebaseinfo.js
@@ -8,6 +8,13 @@
     params: query
   })
 }
+export function listDonationProcess(query) {
+  return request({
+    url: '/VDonationworkflow/donationworkflow/list',
+    method: 'get',
+    params: query
+  })
+}
 
 // 鏌ヨ鎹愮尞鍩虹璇︾粏
 export function getDonatebaseinfo(id) {
diff --git a/src/views/project/DonationProcess/index.vue b/src/views/project/DonationProcess/index.vue
new file mode 100644
index 0000000..82bd756
--- /dev/null
+++ b/src/views/project/DonationProcess/index.vue
@@ -0,0 +1,1820 @@
+<template>
+  <div class="app-container">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      :inline="true"
+      v-show="showSearch"
+      label-width="70px"
+    >
+      <el-form-item label="濮撳悕" prop="name">
+        <el-input
+          v-model="queryParams.name"
+          placeholder="璇疯緭鍏ュ鍚�"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item>
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+          >鎼滅储</el-button
+        >
+      </el-form-item>
+    </el-form>
+
+    <!-- <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['project:donatebaseinfo:edit']"
+          >淇敼</el-button
+        >
+      </el-col> -->
+
+    <el-table
+      v-loading="loading"
+      :data="donatebaseinfoList"
+      @selection-change="handleSelectionChange"
+      border
+      :default-sort="{ prop: 'donatetime', order: 'descending' }"
+    >
+      <!-- <el-table-column label="鎶ュ憡鏃堕棿" align="center" prop="id" /> -->
+      <!-- <el-table-column type="selection" width="55" align="center" /> -->
+      <el-table-column
+        label="妗堜緥鏃堕棿"
+        align="center"
+        prop="donatetime"
+        width="100"
+      >
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.donatetime, "{y}-{m}-{d}") }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="濮撳悕" align="center" prop="name" width="100" />
+
+      <el-table-column
+        label="璇佷欢鍙风爜"
+        align="center"
+        prop="idcardno"
+        width="200"
+      />
+
+      <el-table-column label="閮ㄩ棬鍚嶇О" align="center" prop="deptname" />
+
+      <el-table-column
+        label="鎶ュ憡浜�"
+        align="center"
+        prop="reportername"
+        width="100"
+      />
+      <el-table-column
+        label="鎶ュ憡鏃堕棿"
+        align="center"
+        prop="reporttime"
+        width="100"
+      >
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.reporttime, "{y}-{m}-{d}") }}</span>
+        </template>
+      </el-table-column>
+
+      <el-table-column
+        label="鍖诲璇勪及缁撹"
+        align="center"
+        prop="coreteamassessconclusion"
+        width="100"
+      >
+        <template slot-scope="scope">
+          <dict-tag
+            :options="dict.type.sys_BaseAssessConclusion"
+            :value="scope.row.coreteamassessconclusion"
+          />
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="鍖诲璇勪及鏃堕棿"
+        align="center"
+        prop="coreteamassesstime"
+        width="100"
+      >
+        <template slot-scope="scope">
+          <span>{{
+            parseTime(scope.row.coreteamassesstime, "{y}-{m}-{d}")
+          }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="浜插睘纭鏃堕棿"
+        align="center"
+        prop="signdate"
+        width="100"
+      >
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.signdate, "{y}-{m}-{d}") }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="浼︾悊瀹℃煡缁撹"
+        align="center"
+        prop="expertconclusion"
+        width="100"
+      >
+        <template slot-scope="scope">
+          <dict-tag
+            :options="dict.type.sys_EthicalReview"
+            :value="scope.row.expertconclusion"
+          />
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="浼︾悊瀹℃煡鏃堕棿"
+        align="center"
+        prop="conclusiontime"
+        width="100"
+      >
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.conclusiontime, "{y}-{m}-{d}") }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="鍣ㄥ畼鍒嗛厤鏁伴噺"
+        align="center"
+        prop="organcount"
+        width="100"
+      />
+      <el-table-column
+        label="鑾峰彇瑙佽瘉鏃堕棿"
+        align="center"
+        prop="operationbegtime"
+        width="100"
+      >
+        <template slot-scope="scope">
+          <span>{{
+            parseTime(scope.row.operationbegtime, "{y}-{m}-{d}")
+          }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="瀹屾垚鐧昏鏃堕棿"
+        align="center"
+        prop="completetime"
+        width="100"
+      >
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.completetime, "{y}-{m}-{d}") }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="鎹愮尞杩涘害"
+        align="center"
+        prop="workflow"
+        width="120"
+      >
+        <template slot-scope="scope">
+          <div v-if="!scope.row.terminationCase">
+            <dict-tag
+              :options="dict.type.sys_donornode"
+              :value="scope.row.workflow"
+            />
+          </div>
+          <div v-else>浠诲姟缁堟</div>
+        </template>
+      </el-table-column>
+      <!-- <el-table-column
+        label="鎿嶄綔"
+        align="center"
+        class-name="small-padding fixed-width"
+        fixed="right"
+      >
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['project:donatebaseinfo:edit']"
+            >璇︽儏</el-button
+          >
+          <el-button
+            v-if="scope.row.recordstate == 0"
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['project:donatebaseinfo:remove']"
+            >鍒犻櫎</el-button
+          >
+
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-refrigerator"
+            @click="handledownload(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"
+    />
+    <!-- 娣诲姞鎴栦慨鏀规崘鐚熀纭�瀵硅瘽妗� -->
+    <el-dialog
+      :title="title"
+      align="center"
+      :visible.sync="open"
+      :close-on-click-modal="false"
+      width="1100px"
+    >
+      <el-form
+        ref="form"
+        :model="form"
+        :rules="rules"
+        label-width="130px"
+        label-position="right"
+      >
+        <div
+          style="
+                border-bottom: 1px solid #ddd;
+                border-top: 1px solid #ddd;
+                padding-right: 60px;
+              "
+        >
+          <el-row style="margin-top: 40px">
+            <el-col :span="8">
+              <el-form-item label="鎹愮尞缂栧彿" prop="donorno">
+                <el-input v-model="form.donorno" disabled />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item
+                align="left"
+                label="鍖荤枟鏈烘瀯"
+                prop="treatmenthospitalno"
+              >
+                <org-selecter
+                  ref="addOrgSelect"
+                  :org-type="'3'"
+                  v-model="form.treatmenthospitalno"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="绉戝" prop="treatmentdeptno">
+                <el-input
+                  v-model="form.treatmentdeptname"
+                  placeholder="璇疯緭鍏ョ瀹�"
+                />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="6">
+              <el-form-item align="left" label="濮撳悕" prop="name">
+                <el-input v-model="form.name" placeholder="蹇呭~椤�" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="姘戞棌" prop="nation">
+                <el-select v-model="form.nation" placeholder="璇烽�夋嫨姘戞棌">
+                  <el-option
+                    v-for="dict in dict.type.sys_nation"
+                    :key="dict.value"
+                    :label="dict.label"
+                    :value="dict.value"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="绫嶈疮" prop="nativeplace">
+                <el-input v-model="form.nativeplace" placeholder="璇疯緭鍏ュ浗绫�" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="鍥界睄" prop="nationality">
+                <el-input v-model="form.nationality" placeholder="璇疯緭鍏ュ浗绫�" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="6">
+              <el-form-item label="璇佷欢绫诲瀷" prop="idcardtype">
+                <el-select
+                  v-model="form.idcardtype"
+                  placeholder="璇烽�夋嫨璇佷欢绫诲瀷"
+                >
+                  <el-option
+                    v-for="dict in dict.type.sys_IDType"
+                    :key="dict.value"
+                    :label="dict.label"
+                    :value="parseInt(dict.value)"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="璇佷欢鍙风爜" prop="idcardno">
+                <el-input
+                  style="width: 174px"
+                  ref="updateBSvalue"
+                  class="sfzcode"
+                  v-model="form.idcardno"
+                  placeholder="璇疯緭鍏ヨ瘉浠跺彿鐮�"
+                  @blur="updateMessage"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="鎬у埆" prop="sex">
+                <el-select v-model="form.sex" placeholder="璇疯緭鍏ユ�у埆">
+                  <el-option
+                    v-for="dict in dict.type.sys_user_sex"
+                    :key="dict.label"
+                    :label="dict.label"
+                    :value="parseInt(dict.value)"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="骞撮緞" prop="age">
+                <el-input v-model="form.age" placeholder="璇疯緭鍏ュ勾榫�" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="6">
+              <el-form-item label="鍑虹敓鏃ユ湡" prop="birthday">
+                <el-date-picker
+                  clearable
+                  size="small"
+                  v-model="form.birthday"
+                  type="date"
+                  style="width: 174px"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                  placeholder="閫夋嫨鍑虹敓鏃ユ湡"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="鑱屼笟" prop="occupation">
+                <el-select v-model="form.occupation" placeholder="璇烽�夋嫨鑱屼笟">
+                  <el-option
+                    v-for="dict in dict.type.sys_occupation"
+                    :key="dict.value"
+                    :label="dict.label"
+                    :value="dict.value"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="瀛﹀巻" prop="education">
+                <el-select v-model="form.education" placeholder="璇烽�夋嫨瀛﹀巻">
+                  <el-option
+                    v-for="dict in dict.type.sys_education"
+                    :key="dict.value"
+                    :label="dict.label"
+                    :value="dict.value"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="浣忓潃" prop="residenceaddress">
+                <div>
+                  <li_area_select
+                    ref="residenceSelect"
+                    v-model="residenceAddresss"
+                  ></li_area_select>
+                  <!-- <div>{{defultAddress}}</div> -->
+                </div>
+              </el-form-item>
+            </el-col>
+            <el-col :span="11" :push="1">
+              <el-input
+                v-model="form.residenceaddress"
+                placeholder="璇疯緭鍏ュ唴瀹�"
+              />
+            </el-col>
+          </el-row>
+
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="鐜版墍鍦ㄥ湴" prop="registeraddress">
+                <div>
+                  <li_area_select
+                    ref="registerSelect"
+                    v-model="registerAddresss"
+                  ></li_area_select>
+                  <!-- <div>{{defultAddress}}</div> -->
+                </div>
+              </el-form-item>
+            </el-col>
+            <el-col :span="11" :push="1">
+              <el-input
+                v-model="form.registeraddress"
+                placeholder="璇疯緭鍏ュ唴瀹�"
+              />
+            </el-col>
+          </el-row>
+        </div>
+
+        <div
+          style="
+                border-bottom: 1px solid #ddd;
+                margin-top: 20px;
+                padding-right: 60px;
+              "
+        >
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="浣忛櫌鍙�" prop="inpatientno">
+                <el-input v-model="form.inpatientno" placeholder="浣忛櫌鍙�" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="16">
+              <el-form-item label="鐤剧梾璇婃柇" prop="diagnosisname">
+                <el-input
+                  v-model="form.diagnosisname"
+                  placeholder="璇疯緭鍏ョ柧鐥呰瘖鏂悕绉�"
+                />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item align="left" label="琛�鍨�" prop="bloodtype">
+                <el-radio-group v-model="form.bloodtype">
+                  <el-radio
+                    v-for="dict in dict.type.sys_BloodType"
+                    :key="dict.value"
+                    :label="dict.value"
+                    >{{ dict.label }}</el-radio
+                  >
+                </el-radio-group>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12" :pull="1">
+              <el-form-item label="Rh(D)" align="left" prop="rhyin">
+                <el-radio-group v-model="form.rhyin">
+                  <el-radio
+                    v-for="dict in dict.type.sys_bloodtype_rhd"
+                    :key="dict.value"
+                    :label="dict.value"
+                    >{{ dict.label }}</el-radio
+                  >
+                </el-radio-group>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-form-item label="鐤剧梾绫诲瀷" align="left">
+              <el-checkbox-group v-model="form.diseasetype">
+                <el-checkbox
+                  v-for="dict in dict.type.sys_DiseaseType"
+                  :key="dict.value"
+                  :label="dict.value"
+                >
+                  {{ dict.label }}
+                </el-checkbox>
+              </el-checkbox-group>
+            </el-form-item>
+            <el-form-item label="鍏朵粬" prop="diseasetypeOther">
+              <el-input
+                v-model="form.diseasetypeOther"
+                placeholder="璇疯緭鍏ュ叾浠�"
+              />
+            </el-form-item>
+          </el-row>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item align="left" label="浼犳煋鐥�">
+                <el-checkbox-group v-model="form.infectious">
+                  <el-checkbox
+                    v-for="dict in dict.type.sys_Infectious"
+                    :key="dict.value"
+                    :label="dict.value"
+                  >
+                    {{ dict.label }}
+                  </el-checkbox>
+                </el-checkbox-group>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item align="left" label="鍏朵粬" prop="infectiousOther">
+                <el-input
+                  v-model="form.infectiousOther"
+                  placeholder="璇疯緭鍏ュ叾浠�"
+                />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="9">
+              <el-form-item align="left" label="鐥呬汉鐘跺喌">
+                <el-checkbox-group v-model="form.patientstate">
+                  <el-checkbox
+                    v-for="dict in dict.type.sys_patientstate"
+                    :key="dict.value"
+                    :label="dict.value"
+                  >
+                    {{ dict.label }}
+                  </el-checkbox>
+                </el-checkbox-group>
+              </el-form-item>
+            </el-col>
+            <el-col :span="15" align="left">
+              <el-form-item label="鍏朵粬鎯呭喌">
+                <el-checkbox-group v-model="form.othercases">
+                  <el-checkbox
+                    v-for="dict in dict.type.sys_OtherCases"
+                    :key="dict.value"
+                    :label="dict.value"
+                  >
+                    {{ dict.label }}
+                  </el-checkbox>
+                </el-checkbox-group>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </div>
+
+        <div
+          style="
+                border-bottom: 1px solid #ddd;
+                padding-right: 60px;
+                margin-top: 20px;
+              "
+        >
+          <el-row>
+            <div display="flex">
+              <el-row>
+                <el-col :span="12">
+                  <el-form-item
+                    label="浜插睘鐘跺喌"
+                    prop="kinship"
+                    class="relation"
+                    align="left"
+                  >
+                    <el-checkbox-group v-model="form.kinship">
+                      <el-checkbox
+                        v-for="dict in dict.type.sys_Kinship"
+                        :key="dict.value"
+                        :label="dict.value"
+                      >
+                        {{ dict.label }}
+                      </el-checkbox>
+                    </el-checkbox-group>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="12">
+                  <el-form-item label="鍏朵粬" prop="kinshipOther">
+                    <el-input
+                      v-model="form.kinshipOther"
+                      placeholder="璇疯緭鍏ュ叾浠�"
+                    />
+                  </el-form-item>
+                </el-col>
+              </el-row>
+            </div>
+          </el-row>
+          <el-row>
+            <el-col :span="24">
+              <el-form-item align="left" label="鏈汉鎰忔効 ">
+                <el-checkbox-group v-model="form.selfwill">
+                  <el-checkbox
+                    v-for="dict in dict.type.sys_SelfWill"
+                    :key="dict.value"
+                    :label="dict.value"
+                  >
+                    {{ dict.label }}
+                  </el-checkbox>
+                </el-checkbox-group>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="涓昏浜插睘" prop="majorrelatives">
+                <el-input
+                  v-model="form.majorrelatives"
+                  placeholder="璇疯緭鍏ヤ富瑕佷翰灞�"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="涓庢崘璧犺�呭叧绯�" prop="familyrelations">
+                <el-select
+                  v-model="form.familyrelations"
+                  placeholder="璇烽�夋嫨涓庢崘璧犺�呭叧绯�"
+                >
+                  <el-option
+                    v-for="dict in dict.type.sys_FamilyRelation"
+                    :key="dict.value"
+                    :label="dict.label"
+                    :value="dict.value"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item align="left" label="淇℃伅鏉ユ簮">
+                <el-checkbox-group v-model="form.infosources">
+                  <el-checkbox
+                    v-for="dict in dict.type.sys_InfoSources"
+                    :key="dict.value"
+                    :label="dict.value"
+                  >
+                    {{ dict.label }}
+                  </el-checkbox>
+                </el-checkbox-group>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="鍏朵粬" prop="infosourcesOther">
+                <el-input
+                  v-model="form.infosourcesOther"
+                  placeholder="璇疯緭鍏ヤ俊鎭潵婧愬叾浠�"
+                />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="淇℃伅鍛�" prop="infoname">
+                <el-input v-model="form.infoname" placeholder="璇疯緭鍏ヤ俊鎭憳" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="鑱旂郴鐢佃瘽" prop="infophone">
+                <el-input
+                  v-model="form.infophone"
+                  placeholder="璇疯緭鍏ヤ俊鎭憳鑱旂郴鐢佃瘽"
+                />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="8">
+              <el-form-item align="left" label="绾㈠崄瀛椾細" prop="redorganno">
+                <org-selecter
+                  ref="addCrossOrgSelect"
+                  :org-type="'2'"
+                  v-model="form.redorganno"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="鑱旂郴浜�" prop="contactperson">
+                <el-input
+                  v-model="form.contactperson"
+                  placeholder="璇疯緭鍏ヨ仈绯讳汉"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="鑱旂郴鏃堕棿" prop="contacttime">
+                <el-date-picker
+                  clearable
+                  size="small"
+                  style="width: 190px"
+                  v-model="form.contacttime"
+                  type="datetime"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                  placeholder="閫夋嫨鎶ュ憡鏃堕棿"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="24">
+              <el-form-item
+                align="left"
+                label="鑾峰彇缁勭粐"
+                prop="acquisitiontissuename"
+              >
+                <org-selecter
+                  style="width: 260px"
+                  ref="orgSelecter"
+                  :org-type="'1'"
+                  v-model="form.acquisitiontissueno"
+                />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="鎶ュ憡浜�" prop="reporterno">
+                <el-select
+                  ref="getReportname"
+                  v-model="form.reporterno"
+                  placeholder="璇烽�夋嫨"
+                >
+                  <el-option
+                    v-for="item in reporters"
+                    :key="item.reportNo"
+                    :label="item.reportName"
+                    :value="item.reportNo"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="鑱旂郴鐢佃瘽" prop="reporterphone">
+                <el-input
+                  v-model="form.reporterphone"
+                  placeholder="璇疯緭鍏ヨ仈绯荤數璇�"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="鎶ュ憡鏃堕棿" align="left" prop="reporttime">
+                <el-date-picker
+                  clearable
+                  size="small"
+                  style="width: 190px"
+                  v-model="form.reporttime"
+                  type="datetime"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                  placeholder="閫夋嫨鎶ュ憡鏃堕棿"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </div>
+        <!-- <div style="padding-right: 60px; margin-top: 20px">
+          <el-row>
+            <el-form-item label="闄勪欢" align="left" prop="annexfile">
+              <annex-upload ref="annex" :infoid="form.id" :donorno="form.donorno" :flowname="flowname"
+                :annexno="annexno" />
+            </el-form-item>
+          </el-row>
+        </div> -->
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button v-show="showSaveBtn" type="primary" @click="submitForm"
+          >淇濆瓨骞跺墠寰�妗堜緥宸ヤ綔鍙�</el-button
+        >
+        <el-button
+          v-show="showTerminationBtn"
+          type="primary"
+          @click="submitForm"
+          >缁堟妗堜緥</el-button
+        >
+        <el-button @click="cancel">鍙� 娑�</el-button>
+        <!-- <el-button @click="handleapproval">鎻愪氦瀹℃牳</el-button> -->
+      </div>
+    </el-dialog>
+  </div>
+</template>
+<script>
+import { getUserProfile } from "@/api/system/user";
+import {
+  listDonationProcess,
+  getDonatebaseinfo,
+  delDonatebaseinfo,
+  addDonatebaseinfo,
+  updateDonatebaseinfo,
+  exportDonatebaseinfo,
+  downloadbaseinfo,
+  getDonationNumber,
+  getdonatorno
+} from "@/api/project/donatebaseinfo";
+import Li_area_select from "@/components/Address";
+import OrgSelecter from "@/views/project/components/orgselect";
+import AnnexUpload from "@/views/project/components/annexupload";
+import ReportName from "@/views/project/components/organizationUser";
+import { getToken } from "@/utils/auth";
+import {
+  listOrganization,
+  getOrganization,
+  listReportname,
+  listUser
+} from "@/api/project/organization";
+export default {
+  components: {
+    Li_area_select,
+    OrgSelecter,
+    AnnexUpload,
+    ReportName
+  },
+  name: "Donatebaseinfo",
+  dicts: [
+    "sys_Reporter",
+    "sys_redcrossagency",
+    "sys_nation",
+    "sys_occupation",
+    "sys_education",
+    "sys_OrganizationType",
+    "sys_HospitalNature",
+    "sys_RegionalLevel",
+    "country",
+    "sys_user_sex",
+    "sys_IDType",
+    "sys_AgeUnit",
+    "sys_BloodType",
+    "sys_0_1",
+    "sys_patientstate",
+    "sys_DonationCategory",
+    "sys_Kinship",
+    "sys_Infectious",
+    "sys_bloodtype_rhd",
+    "sys_InfoSources",
+    "sys_OtherCases",
+    "sys_DonationStatus",
+    "sys_DiseaseType",
+    "sys_SelfWill",
+    "sys_FamilyRelation",
+    "sys_donornode",
+    "sys_EthicalReview",
+    "sys_BaseAssessConclusion"
+  ],
+  data() {
+    return {
+      tempRecordState: null,
+      approvalState: false,
+      countyname: "",
+      cuuntry: "",
+      organizationname: "",
+      selecttime: "",
+
+      //鐪佸競鍖�
+      //榛樿鍊艰缃紝鍙负绌�
+      searchAddress: {
+        sheng: "",
+        shi: "",
+        qu: "",
+        organizationname: null
+      },
+      residenceAddresss: {
+        sheng: "娴欐睙鐪�",
+        shi: "",
+        qu: ""
+      },
+      registerAddresss: {
+        sheng: "娴欐睙鐪�",
+        shi: "",
+        qu: ""
+      },
+      terminationCaselist: [
+        { name: "缁堟鐘舵��", value: 1 },
+        { name: "姝e父鐘舵��", value: 0 }
+      ],
+      // 閬僵灞�
+      loading: true,
+      // 瀵煎嚭閬僵灞�
+      exportLoading: false,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 鎹愮尞鍩虹琛ㄦ牸鏁版嵁
+      donatebaseinfoList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鑾峰彇缁勭粐鍚嶇О鏃堕棿鑼冨洿
+      daterangeReporttime: [],
+      //鐢ㄦ埛淇℃伅
+      currentuser: {},
+
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        donorno: null,
+        recordstate: null,
+        // treatmenthospitalno: null,
+        treatmenthospitalname: null,
+        name: null,
+        residenceprovince: null,
+        residencecity: null,
+        residencetown: null,
+        starttime: null,
+        endtime: null,
+        city: null,
+        reportno: null
+        // organizationname: null,
+        // organizationtype: null,
+        // idcardno: null,
+        // reporterno: null,
+        // reporttime: null,
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {
+        id: null,
+        name: null,
+        sex: null,
+        idcardtype: null,
+        idcardno: null,
+        age: null,
+        ageunit: null,
+        birthday: null,
+        phone: null,
+        residenceaddress: null,
+        nationality: "涓浗",
+        nativeplace: null,
+        residenceprovince: null,
+        nation: null,
+        residenceprovincename: null,
+        occupation: null,
+        residencecity: null,
+        education: null,
+        residencecityname: null,
+        residencetown: null,
+        residencetownname: null,
+        residencecommunity: null,
+        residencecommunityname: null,
+        residencecountycode: null,
+        residencecountyname: null,
+        registeraddress: null,
+        registerprovince: null,
+        registerprovincename: null,
+        registercity: null,
+        registercityname: null,
+        registertown: null,
+        registertownname: null,
+        registercommunity: null,
+        registercommunityname: null,
+        registercountycode: null,
+        registercountyname: null,
+        recordstate: null,
+        treatmenthospitalno: null,
+        treatmenthospitalname: null,
+        treatmentdeptname: null,
+        diagnosisno: null,
+        diagnosisname: null,
+        bloodtype: "0",
+        inpatientno: null,
+        rhyin: "0",
+        donorno: null,
+        donationcategory: null,
+        illnessoverview: null,
+        diseasetype: [],
+        infectious: [],
+        selfwill: [],
+        diseasetypeOther: null,
+        othercases: [],
+        kinshipwill: 0,
+        infosources: [],
+        kinship: [],
+        redorganno: null,
+        redorganname: null,
+        contactperson: null,
+        infectiousOther: null,
+        contactnumber: null,
+        contacttime: null,
+        reporterno: null,
+        reportername: null,
+        patientstate: [],
+        reporterphone: null,
+        infosourcesOther: null,
+        reporttime: null,
+        delFlag: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+        kinshipOther: null,
+        majorrelatives: null,
+        familyrelations: null,
+        acquisitiontissueno: "ZJOPO",
+        acquisitiontissuename: "娴欐睙鐪佷汉浣撳櫒瀹樿幏鍙栫粍缁�"
+      },
+      //ads
+      reporters: [],
+      users: [],
+
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        name: [
+          { required: true, message: "璇疯緭鍏ユ崘鐚�呭鍚�", trigger: "blur" }
+        ],
+        birthday: [
+          { required: true, message: "璇烽�夋嫨鍑虹敓鏃ユ湡", trigger: "blur" }
+        ],
+        idcardtype: [
+          { required: true, message: "璇烽�夋嫨璇佷欢绫诲瀷", trigger: "blur" }
+        ],
+        residenceaddress: [
+          { required: true, message: "璇疯緭鍏ヤ綇鍧�", trigger: "blur" }
+        ],
+        contacttime: [
+          {
+            required: true,
+            message: "璇疯緭鍏ョ孩鍗佸瓧浼氳仈绯绘椂闂�",
+            trigger: "blur"
+          }
+        ],
+        idcardno: [
+          { required: true, message: "璇锋纭緭鍏ヨ瘉浠跺彿鐮�", trigger: "blur" }
+        ],
+        sex: [{ required: true, message: "鎬у埆涓嶈兘涓虹┖", trigger: "blur" }],
+        age: [{ required: true, message: "璇疯緭鍏ュ勾榫�", trigger: "blur" }],
+        treatmenthospitalno: [
+          { required: true, message: "璇烽�夋嫨鍖荤枟鏈烘瀯", trigger: "blur" }
+        ],
+        // treatmenthospitalno: [{ required: true, message: "璇烽�夋嫨鍖荤枟鏈烘瀯", trigger: "change" }],
+        bloodtype: [
+          { required: true, message: "璇烽�夋嫨ABO琛�鍨�", trigger: "blur" }
+        ],
+        rhyin: [{ required: true, message: "璇烽�夋嫨RHD琛�鍨�", trigger: "blur" }],
+        diseasetype: [
+          { required: true, message: "璇烽�夋嫨RHD琛�鍨�", trigger: "blur" }
+        ],
+
+        inpatientno: [
+          { required: true, message: "杈撳叆浣忛櫌鍙�", trigger: "blur" }
+        ],
+
+        diagnosisname: [
+          { required: true, message: "鐤剧梾璇婃柇涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        infoname: [
+          { required: true, message: "璇疯緭鍏ヤ俊鎭憳濮撳悕", trigger: "blur" }
+        ],
+        infophone: [
+          { required: true, message: "璇疯緭鍏ヤ俊鎭憳鑱旂郴鐢佃瘽", trigger: "blur" }
+        ],
+        redorganno: [
+          { required: true, message: "璇烽�夋嫨绾㈠崄瀛椾細鏈烘瀯", trigger: "blur" }
+        ],
+        contactperson: [
+          {
+            required: true,
+            message: "绾㈠崄瀛椾細鑱旂郴浜轰笉鑳戒负绌�",
+            trigger: "blur"
+          }
+        ],
+        // contactnumber: [{required: true,message: "璇疯緭鍏ョ孩鍗佸瓧浼氳仈绯荤數璇�",trigger: "change"}],
+        acquisitiontissueno: [
+          { required: true, message: "鍣ㄥ畼鑾峰彇缁勭粐涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        reporterno: [
+          { required: true, message: "璇烽�夋嫨鎶ュ憡浜�", trigger: "blur" }
+        ],
+        reporttime: [
+          { required: true, message: "璇疯緭鍏ユ姤鍛婃椂闂�", trigger: "blur" }
+        ],
+        reporterphone: [
+          { required: true, message: "璇疯緭鍏ユ姤鍛婁汉鑱旂郴鐢佃瘽", trigger: "blur" }
+        ]
+      },
+      //鏄惁鏄剧ず淇濆瓨鎸夐挳
+      showSaveBtn: true,
+      showTerminationBtn: false,
+      //娴佺▼鍚嶇О
+      flowname: "娼滃湪鎹愮尞鐧昏",
+      annexno: "PotentialDonationRegistration",
+      starttime: "",
+      endtime: "",
+      reportlist: [],
+      reportervalue: "",
+      headers: {
+        Authorization: "Bearer " + getToken()
+      },
+      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" }
+      ]
+    };
+  },
+  created() {
+    if (sessionStorage.getItem("donatebaseinfo")) {
+      this.queryParams = JSON.parse(sessionStorage.getItem("donatebaseinfo"));
+      console.log(this.queryParams, "queryParams");
+    }
+  },
+
+  mounted(e) {
+    // let idd = this.$route.query.userid
+    // console.log('chuanzhi',idd);
+
+    this.getCurrentUser();
+    this.getuserlist();
+    this.selectReporters();
+
+    this.LoadReportList();
+
+    if (this.$route.params.starttime != null && this.$route.params.endtime) {
+      this.selecttime = [
+        this.$moment(this.$route.params.starttime).format("YYYY-MM-DD"),
+        this.$moment(this.$route.params.endtime).format("YYYY-MM-DD")
+      ];
+    }
+    if (this.$route.params.reporterno != "") {
+      this.reporterno = this.$route.params.reporterno;
+    }
+    this.queryParams.terminationcase = this.$route.params.terminationcase;
+
+    if (
+      this.$route.params.tempRecordState != "" &&
+      this.$route.params.tempRecordState != undefined
+    ) {
+      this.queryParams.recordstate = "" + this.$route.params.tempRecordState;
+    }
+    if (this.$route.params.reporterno != "") {
+      this.reportervalue = this.$route.params.reporterno;
+    }
+    if (!this.$route.params.shen != "") {
+      this.searchAddress.sheng = this.$route.params.shen;
+      if (!this.$route.params.shi != "") {
+        this.searchAddress.shi = this.$route.params.shi;
+      }
+      if (!this.$route.params.qu) {
+        this.searchAddress.qu = this.$route.params.qu;
+      }
+    }
+
+    if (this.$route.params.city != "") {
+      this.queryParams.city = this.$route.params.city;
+    } else {
+      this.queryParams.city = "";
+    }
+
+    this.getTimeList();
+
+    this.getList();
+  },
+
+  methods: {
+    getCurrentUser() {
+      getUserProfile().then(response => {
+        this.currentuser = response.data;
+      });
+    },
+
+    LoadReportList() {
+      listDonationProcess().then(res => {
+        let list = res.rows;
+        let reportlist = [];
+        reportlist.push({ reporterno: "", reportername: "鍏ㄩ儴" });
+        list.forEach(element => {
+          reportlist.push({
+            reporterno: element.reporterno,
+            reportername: element.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;
+    },
+
+    getTimeList(e) {
+      console.log(this.selecttime);
+      if (this.selecttime != null) {
+        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";
+        }
+      } else {
+        this.starttime = "1998-01-01 00:00:00";
+        this.endtime = "2998-01-01 00:00:00";
+      }
+    },
+
+    selectReporters() {
+      //涓撹亴浜哄憳
+      listReportname("zzry").then(res => {
+        this.reporters = res.data;
+      });
+    },
+
+    getuserlist() {
+      //鐢ㄦ埛鍒楄〃
+      listUser().then(res => {
+        this.users = res.data;
+      });
+    },
+
+    handleapproval(row) {
+      this.$confirm("鏄惁纭灏嗘渚嬩笂鎶ュ鏍革紵", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning"
+      })
+        .then(() => {
+          row.recordstate = 1;
+          updateDonatebaseinfo(row).then(response => {
+            this.$modal.msgSuccess("涓婃姤瀹℃牳鎴愬姛");
+            this.getList();
+          });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "宸插彇娑堜笂鎶�"
+          });
+        });
+    },
+    resetapproval(row) {
+      this.approvalState = false;
+      //  this.reset();
+      // const id = row.id || this.ids;
+      updateDonatebaseinfo(row).then(response => {
+        row.recordstate = 0;
+      });
+    },
+
+    updateMessage() {
+      try {
+        const reg = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
+        if (reg.test(this.form.idcardno)) {
+          // 韬唤璇佸彿鐮佹槸鍚﹀悎娉�
+          var org_birthday = this.form.idcardno.substring(6, 14);
+          var org_gender = this.form.idcardno.substring(16, 17);
+          var sex = org_gender % 2 == 1 ? 1 : 2;
+          var birthday =
+            org_birthday.substring(0, 4) +
+            "-" +
+            org_birthday.substring(4, 6) +
+            "-" +
+            org_birthday.substring(6, 8);
+          var birthdays = new Date(birthday.replace(/-/g, "/"));
+          let d = new Date();
+          let age =
+            d.getFullYear() -
+            birthdays.getFullYear() -
+            (d.getMonth() < birthdays.getMonth() ||
+            (d.getMonth() == birthdays.getMonth() &&
+              d.getDate() < birthdays.getDate())
+              ? 1
+              : 0);
+          // 璧嬪�肩粰琛ㄦ牸
+          this.form.sex = sex;
+          this.form.birthday = birthday;
+          this.form.age = age;
+        } else {
+        }
+      } catch {}
+    },
+    // sheng: '娴欐睙鐪�',
+    //   shi: '',
+    //   qu: '',
+
+    // 韬唤璇侀獙璇�
+    //鏍规嵁韬唤璇佸彿鑷姩鐢熸垚鎬у埆銆佸嚭鐢熸棩鏈熷拰骞撮緞
+    inputChange() {
+      const idCard = this.props.form.getFieldValue("idCard");
+      let birthday = "";
+      let sex = "0";
+      if (idCard.length === 15) {
+        birthday = `19${idCard.substring(6, 8)}-${idCard.substring(
+          9,
+          10
+        )}-${idCard.substring(11, 12)}`;
+        sex = idCard[14] % 2 === 0 ? "0" : "1";
+      } else {
+        birthday = `${idCard.substring(6, 10)}-${idCard.substring(
+          11,
+          12
+        )}-${idCard.substring(13, 14)}`;
+        sex = idCard[16] % 2 === 0 ? "0" : "1";
+      }
+      this.setState({
+        birthday,
+        sex
+      });
+    },
+
+    /** 鏌ヨ鎹愮尞鍩虹鍒楄〃 */
+    getList() {
+      this.loading = true;
+
+      // 璺宠浆鏃剁殑榛樿杩涘害
+
+      if (this.reportervalue != "") {
+        this.queryParams.reportno = this.reportervalue;
+      }
+
+      if (this.starttime != "") {
+        this.queryParams.starttime = this.starttime;
+      } else {
+        this.queryParams.starttime = "";
+      }
+      if (this.endtime != "") {
+        this.queryParams.endtime = this.endtime;
+      } else {
+        this.queryParams.endtime = "";
+      }
+      console.log(this.queryParams);
+
+      listDonationProcess(this.queryParams).then(response => {
+        this.donatebaseinfoList = response.rows;
+        //console.log("listDonationProcess", response.rows);
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: null,
+        name: null,
+        sex: null,
+        idcardtype: null,
+        idcardno: null,
+        age: null,
+        ageunit: null,
+        birthday: null,
+        phone: null,
+        residenceaddress: null,
+        nationality: "涓浗",
+        nativeplace: null,
+        residenceprovince: null,
+        nation: null,
+        residenceprovincename: null,
+        occupation: null,
+        residencecity: null,
+        education: null,
+        residencecityname: null,
+        residencetown: null,
+        residencetownname: null,
+        residencecommunity: null,
+        residencecommunityname: null,
+        residencecountycode: null,
+        residencecountyname: null,
+        registeraddress: null,
+        registerprovince: null,
+        registerprovincename: null,
+        registercity: null,
+        registercityname: null,
+        registertown: null,
+        registertownname: null,
+        registercommunity: null,
+        registercommunityname: null,
+        registercountycode: null,
+        registercountyname: null,
+        recordstate: null,
+        treatmenthospitalno: null,
+        treatmenthospitalname: null,
+        treatmentdeptname: null,
+        diagnosisno: null,
+        diagnosisname: null,
+        bloodtype: "0",
+        inpatientno: null,
+        rhyin: 0,
+        donorno: null,
+        donationcategory: null,
+        illnessoverview: null,
+        diseasetype: [],
+        infectious: [],
+        selfwill: [],
+        diseasetypeOther: null,
+        othercases: [],
+        kinshipwill: 0,
+        infosources: [],
+        kinship: [],
+        redorganno: null,
+        redorganname: null,
+        contactperson: null,
+        infectiousOther: null,
+        contactnumber: null,
+        contacttime: null,
+        reporterno: null,
+        reportername: null,
+        patientstate: [],
+        reporterphone: null,
+        infosourcesOther: null,
+        reporttime: null,
+        delFlag: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+        kinshipOther: null,
+        majorrelatives: null,
+        familyrelations: null,
+        acquisitiontissueno: "ZJOPO",
+        acquisitiontissuename: "娴欐睙鐪佷汉浣撳櫒瀹樿幏鍙栫粍缁�"
+      };
+
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.daterangeReporttime = [];
+
+      this.reportervalue = "";
+
+      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,
+        treatmenthospitalno: null
+      };
+      this.selecttime = [];
+      this.getTimeList();
+      this.searchAddress = {
+        sheng: "",
+        shi: "",
+        qu: "",
+        organizationname: null
+      };
+      //this.$refs.areaSelect.clean();
+
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id);
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      // this.$router.push({
+      //   path: "/organ/donationdetails/",
+      //   query: {
+      //     organType: "add",
+      //   }
+      // });
+      this.reset();
+      //璁剧疆鎶ュ憡浜哄拰閮ㄩ棬/缁�
+      this.form.reporterno = this.currentuser.userName;
+      this.form.reportername = this.currentuser.nickName;
+      this.form.deptid = this.currentuser.deptid;
+
+      this.showSaveBtn = true;
+      //this.$refs.annex.getAnnexList();
+      this.open = true;
+      // this.$nextTick(function() {
+      //   this.$refs.annex.getAnnexList();
+      // });
+
+      this.title = "浜轰綋鍣ㄥ畼娼滃湪鎹愮尞鑰呯櫥璁拌〃";
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+
+    handleUpdate(row) {
+      this.$router.push({
+        path: "/organ/donationdetails/",
+        query: {
+          id: row.id,
+          organType: "edit"
+        }
+      });
+      // this.showSaveBtn = true;
+      // const id = row.id || this.ids;
+      // //this.$refs.annex.getAnnexList();
+
+      // getDonatebaseinfo(id).then((response) => {
+      //   this.reset();
+
+      //   this.$nextTick(function () {
+      //     this.$refs.annex.getAnnexList();
+      //   });
+      //   this.form = response.data;
+      //   response.data.sex = parseInt(response.data.sex);
+      //   this.form.id = response.data.id;
+      //   this.form.diseasetype = this.form.diseasetype.split(",");
+      //   this.form.infectious = this.form.infectious.split(",");
+      //   this.form.selfwill = this.form.selfwill.split(",");
+      //   this.form.othercases = this.form.othercases.split(",");
+      //   this.form.infosources = this.form.infosources.split(",");
+      //   this.form.kinship = this.form.kinship.split(",");
+      //   this.form.patientstate = this.form.patientstate.split(",");
+      //   this.open = true;
+      //   this.title = "浜轰綋鍣ㄥ畼娼滃湪鎹愮尞鑰呯櫥璁拌〃";
+      //   this.registerAddresss.sheng = response.data.registerprovincename;
+      //   this.residenceAddresss.sheng = response.data.residenceprovincename;
+      //   this.registerAddresss.shi = response.data.registercityname;
+      //   this.residenceAddresss.shi = response.data.residencecityname;
+      //   this.residenceAddresss.qu = response.data.residencetownname;
+      //   this.registerAddresss.qu = response.data.registertownname;
+      // });
+    },
+    // 缁堟妗堜緥
+    handletermination(row) {
+      this.reset();
+      this.showSaveBtn = false;
+      this.showTerminationBtn = true;
+      const id = row.id || this.ids;
+      getDonatebaseinfo(id).then(response => {
+        this.form = response.data;
+        this.form.diseasetype = this.form.diseasetype.split(",");
+        this.form.infectious = this.form.infectious.split(",");
+        this.form.selfwill = this.form.selfwill.split(",");
+        this.form.othercases = this.form.othercases.split(",");
+        this.form.infosources = this.form.infosources.split(",");
+        this.form.kinship = this.form.kinship.split(",");
+        this.form.patientstate = this.form.patientstate.split(",");
+        this.registerAddresss.sheng = response.data.registerprovincename;
+        this.residenceAddresss.sheng = response.data.residenceprovincename;
+        this.registerAddresss.shi = response.data.registercityname;
+        this.residenceAddresss.shi = response.data.residencecityname;
+        this.residenceAddresss.qu = response.data.residencetownname;
+        this.registerAddresss.qu = response.data.registertownname;
+        this.open = true;
+        this.title = "浜轰綋鍣ㄥ畼娼滃湪鎹愮尞鑰呯櫥璁拌〃";
+        this.form.recordstate = 99;
+        // this.$nextTick(function() {
+        //   this.$refs.annex.getAnnexList();
+        // });
+      });
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      console.log(this.form);
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          const date = { ...this.form };
+          console.log(date, "date");
+          this.form.birthday = this.$moment(this.form.birthday).format(
+            "YYYY-MM-DD HH:mm:ss"
+          );
+          this.form.diseasetype = this.form.diseasetype.join(",");
+          this.form.infectious = this.form.infectious.join(",");
+          this.form.selfwill = this.form.selfwill.join(",");
+          this.form.othercases = this.form.othercases.join(",");
+          this.form.infosources = this.form.infosources.join(",");
+          this.form.kinship = this.form.kinship.join(",");
+          this.form.patientstate = this.form.patientstate.join(",");
+          this.form.registerprovince = this.$refs.registerSelect.getSheng();
+          this.form.registerprovincename = this.registerAddresss.sheng;
+
+          this.form.residenceprovince = this.$refs.residenceSelect.getSheng();
+          this.form.residenceprovincename = this.residenceAddresss.sheng;
+
+          this.form.registercity = this.$refs.registerSelect.getShi();
+          this.form.registercityname = this.registerAddresss.shi;
+
+          this.form.residencecity = this.$refs.residenceSelect.getShi();
+          this.form.residencecityname = this.residenceAddresss.shi;
+
+          this.form.residencetown = this.$refs.residenceSelect.getQu();
+          this.form.residencetownname = this.residenceAddresss.qu;
+
+          this.form.registertown = this.$refs.registerSelect.getQu();
+          this.form.registertownname = this.registerAddresss.qu;
+
+          this.form.reportername = this.$refs.getReportname.$data.selectedLabel;
+          this.form.donatetime = this.form.reporttime;
+
+          try {
+            this.form.treatmenthospitalname = this.$refs.addOrgSelect.getOptionByValue(
+              this.form.treatmenthospitalno
+            ).organizationname;
+          } catch {
+            this.form.treatmenthospitalname = this.form.treatmenthospitalno;
+          }
+
+          try {
+            this.form.redorganname = this.$refs.addCrossOrgSelect.getOptionByValue(
+              this.form.redorganno
+            ).organizationname;
+          } catch {
+            this.form.redorganname = this.form.redorganno;
+          }
+
+          this.form.workflow = 0;
+          this.form.recordstate = 0;
+          addDonatebaseinfo(this.form).then(res => {
+            console.log("22");
+            console.log(res.code);
+            if (res.code == 200) {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.$router.push({
+                path: "/organ/donationdetails/",
+                query: {
+                  id: res.data.id,
+                  organType: "edit"
+                }
+              });
+              this.open = false;
+            } else {
+              console.log("1");
+              this.form = date;
+              console.log(this.form, "form");
+              this.$modal.msgError("鏂板澶辫触锛�" + res.msg);
+            }
+          });
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal
+        .confirm('鏄惁纭鍒犻櫎鎹愮尞鍩虹缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�')
+        .then(function() {
+          return delDonatebaseinfo(ids);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+        })
+        .catch(() => {});
+    },
+
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$modal
+        .confirm("鏄惁纭瀵煎嚭鎵�鏈夋崘鐚熀纭�鏁版嵁椤癸紵")
+        .then(() => {
+          this.exportLoading = true;
+          return exportDonatebaseinfo(queryParams);
+        })
+        .then(response => {
+          this.$download.name(response.msg);
+          this.exportLoading = false;
+        })
+        .catch(() => {});
+    },
+
+    // 瀵硅薄杞垚鎸囧畾瀛楃涓插垎闅�
+    listToString(list, separator) {
+      let strs = "";
+      separator = separator || ",";
+      for (let i in list) {
+        strs += list[i] + separator;
+      }
+      return strs != "" ? strs.substr(0, strs.length - 1) : "";
+    },
+    //瀛楃涓叉牴鎹寚瀹氬瓧绗︿覆鍒嗛殧
+    stringToList(str, separator) {
+      separator = separator || ",";
+      let tempList = [];
+      if (str != null && str != undefined && str != "") {
+        tempList = str.split(separator);
+      }
+      return tempList;
+    },
+
+    //涓嬭浇娼滃湪鐧昏琛�
+    handledownload(row) {
+      const id = row.id || this.ids;
+
+      downloadbaseinfo(id).then(res => {
+        var fileUrl = res;
+        //鑾峰彇褰撳墠缃戝潃
+        var urlBase = process.env.VUE_APP_BASE_API;
+        var curWWWPath = window.document.location.href;
+        var pos = curWWWPath.indexOf(window.document.location.pathname);
+        // 鍒涘缓a鏍囩
+        var aEle = document.createElement("a");
+        aEle.href =
+          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
+        console.log(aEle.href);
+        // 娣诲姞Authorization澶撮儴
+        fetch(aEle.href, {
+          headers: this.headers
+        })
+          .then(response => {
+            // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇
+            return response.blob();
+          })
+          .then(blob => {
+            const url = window.URL.createObjectURL(new Blob([blob]));
+            console.log(url);
+            const link = document.createElement("a");
+            link.href = url;
+            const name = fileUrl["downloadName"];
+            link.setAttribute("download", name); // 鏇挎崲file.pdf涓哄疄闄呯殑鏂囦欢鍚�
+            document.body.appendChild(link);
+            link.click();
+            link.parentNode.removeChild(link);
+          });
+      });
+    }
+  }
+};
+</script>
+
+<style scoped>
+::v-deep .el-dialog__header {
+  padding-top: 40px !important;
+  margin: auto !important;
+  padding-bottom: 0px !important;
+}
+</style>
diff --git a/src/views/project/indexstatistics/components/organnumchart/index.vue b/src/views/project/indexstatistics/components/organnumchart/index.vue
index 627840e..982ee31 100644
--- a/src/views/project/indexstatistics/components/organnumchart/index.vue
+++ b/src/views/project/indexstatistics/components/organnumchart/index.vue
@@ -34,6 +34,9 @@
     cdata: {
       type: Array,
       default: () => []
+    },
+    CommonOrgan: {
+      type: Object
     }
   },
   data() {
@@ -55,7 +58,19 @@
       }
       this.options = {
         title: {
-          text: "鑾峰彇鍣ㄥ畼鍜岀粍缁囩殑鏁伴噺"
+          text:
+            "鑾峰彇鍣ㄥ畼鍜岀粍缁囩殑鏁伴噺" +
+            "(鑾峰彇閲忥細" +
+            this.CommonOrgan.countSum +
+            "锛涘純鐢ㄩ噺锛�" +
+            this.CommonOrgan.abandonCountSum +
+            ")",
+          left: "center",
+          top: "5%",
+          textStyle: {
+            color: "#566f94",
+            fontSize: 16
+          }
         },
         tooltip: {
           trigger: "axis",
diff --git a/src/views/project/indexstatistics/index.vue b/src/views/project/indexstatistics/index.vue
index 3402446..194474d 100644
--- a/src/views/project/indexstatistics/index.vue
+++ b/src/views/project/indexstatistics/index.vue
@@ -258,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">
@@ -421,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">
@@ -630,6 +649,7 @@
       year: "閫夋嫨骞翠唤",
       isloading: false,
       maxHeight: 0,
+      CommonOrgan: null,
       provinceData: [
         { label: "鍏ㄩ儴鍦板競", value: "" },
         { label: "鏉窞甯�", value: "1" },
@@ -1029,7 +1049,8 @@
         }
         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

--
Gitblit v1.9.3