From 0b5a704e49545b4059b9eebe247adea8ec14911f Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 05 六月 2025 11:45:24 +0800
Subject: [PATCH] Merge branch 'master' of http://116.62.18.175:6699/r/~yxh/opo-web

---
 src/views/project/donatebaseinfo/index.vue |  710 ++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 436 insertions(+), 274 deletions(-)

diff --git a/src/views/project/donatebaseinfo/index.vue b/src/views/project/donatebaseinfo/index.vue
index b66ffe3..c16b502 100644
--- a/src/views/project/donatebaseinfo/index.vue
+++ b/src/views/project/donatebaseinfo/index.vue
@@ -8,7 +8,7 @@
       label-width="70px"
     >
       <el-row :gutter="8">
-        <el-col :span="6">
+        <el-col :span="5">
           <el-form-item label="濮撳悕" prop="name">
             <el-input
               v-model="queryParams.name"
@@ -19,7 +19,7 @@
             />
           </el-form-item>
         </el-col>
-        <el-col :span="6">
+        <el-col :span="5">
           <el-form-item
             align="left"
             label="鍖荤枟鏈烘瀯"
@@ -33,7 +33,7 @@
             />
           </el-form-item>
         </el-col>
-        <el-col :span="6">
+        <el-col :span="5">
           <el-form-item label="鎹愮尞鍦板競">
             <el-select v-model="queryParams.city" placeholder="璇烽�夋嫨鍦板競">
               <el-option
@@ -46,16 +46,33 @@
             </el-select>
           </el-form-item>
         </el-col>
-        <el-col :span="6">
-          <el-form-item label="鎹愮尞杩涘害" prop="recordstate">
+        <el-col :span="9">
+          <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-row>
+      <el-row :gutter="8">
+        <el-col :span="5">
+          <el-form-item label="鎹愮尞杩涘害" prop="workflow">
             <el-select
-              v-model="queryParams.recordstate"
+              v-model="queryParams.workflow"
               placeholder="璇烽�夋嫨褰撳墠杩涘害"
               clearable
               size="small"
             >
               <el-option
-                v-for="dict in dict.type.sys_DonationStatus"
+                v-for="dict in dict.type.sys_donornode"
                 :key="dict.value"
                 :label="dict.label"
                 :value="dict.value"
@@ -63,9 +80,7 @@
             </el-select>
           </el-form-item>
         </el-col>
-      </el-row>
-      <el-row :gutter="8">
-        <el-col :span="6">
+        <el-col :span="5">
           <el-form-item label="鎶ュ憡浜�">
             <el-select
               v-model="queryParams.reporterno"
@@ -81,26 +96,23 @@
             </el-select>
           </el-form-item>
         </el-col>
-
-        <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-col :span="5">
+          <el-form-item label="鏄惁缁堟">
+            <el-select
+              v-model="queryParams.terminationCase"
+              placeholder="璇烽�夋嫨鐘舵��"
             >
-            </el-date-picker>
+              <el-option
+                v-for="item in terminationCaselist"
+                :key="item.value"
+                :label="item.name"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
           </el-form-item>
         </el-col>
-      </el-row>
-
-      <el-row>
-        <el-col :span="14">
+        <el-col :span="9">
           <el-form-item label="绫嶈疮">
             <div>
               <li_area_select
@@ -110,7 +122,8 @@
             </div>
           </el-form-item>
         </el-col>
-
+      </el-row>
+      <el-row>
         <el-col :span="4">
           <el-form-item>
             <el-button
@@ -175,23 +188,27 @@
       :data="donatebaseinfoList"
       @selection-change="handleSelectionChange"
       border
-      :default-sort="{ prop: 'reporttime', order: 'descending' }"
+      :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="鎶ュ憡鏃堕棿"
+        label="妗堜緥鏃堕棿"
         align="center"
-        prop="reporttime"
+        prop="donatetime"
         width="100"
       >
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.reporttime, "{y}-{m}-{d}") }}</span>
+          <span>{{ parseTime(scope.row.donatetime, "{y}-{m}-{d}") }}</span>
         </template>
       </el-table-column>
-
+      <el-table-column
+        label="鎹愮尞缂栧彿"
+        align="center"
+        prop="donorno"
+        width="200"
+      />
       <el-table-column label="濮撳悕" align="center" prop="name" width="100" />
-
       <el-table-column label="鎬у埆" align="center" prop="sex" width="100">
         <template slot-scope="scope">
           <dict-tag
@@ -202,38 +219,79 @@
       </el-table-column>
       <el-table-column label="骞撮緞" align="center" prop="age" width="100" />
       <el-table-column
-        label="鐜版墍鍦ㄥ湴甯�"
-        align="center"
-        prop="registercityname"
-        width="150"
-      />
-
-      <el-table-column
         label="鍖荤枟鏈烘瀯"
         align="center"
         prop="treatmenthospitalname"
       />
+      <el-table-column label="琛�鍨�" align="center" prop="bloodtype" width="100">
+        <template slot-scope="scope">
+          <dict-tag
+            :options="dict.type.sys_BloodType"
+            :value="scope.row.bloodtype"
+          />
+        </template>
+      </el-table-column>
+
+      <el-table-column
+        label="鎹愮尞绫诲埆"
+        align="center"
+        prop="donationcategory"
+        width="150"
+      >
+        <template slot-scope="scope">
+          <dict-tag
+            :options="dict.type.sys_DonationCategory"
+            :value="scope.row.donationcategory"
+          />
+        </template>
+      </el-table-column>
       <el-table-column
         label="鎶ュ憡浜�"
         align="center"
         prop="reportername"
         width="100"
       />
-
-      <el-table-column label="鎹愮尞杩涘害" align="center" prop="recordstate" width="120">
+      <!--
+         <el-table-column
+        label="鐜版墍鍦ㄥ湴甯�"
+        align="center"
+        prop="registercityname"
+        width="150"
+      />
+      <el-table-column
+        label="鎹愮尞杩涘害"
+        align="center"
+        prop="recordstate"
+        width="120"
+      >
         <template slot-scope="scope">
-          <dict-tag
+         <dict-tag
             :options="dict.type.sys_DonationStatus"
             :value="scope.row.recordstate"
           />
         </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"
-        width="200"
         fixed="right"
       >
         <template slot-scope="scope">
@@ -243,9 +301,8 @@
             icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
             v-hasPermi="['project:donatebaseinfo:edit']"
-            >淇敼</el-button
+            >璇︽儏</el-button
           >
-
           <el-button
             v-if="scope.row.recordstate == 0"
             size="mini"
@@ -255,14 +312,10 @@
             v-hasPermi="['project:donatebaseinfo:remove']"
             >鍒犻櫎</el-button
           >
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handletermination(scope.row)"
-            v-hasPermi="['project:donatebaseinfo:edit']"
-            >缁堟</el-button
-          >
+          <!--
+            <el-button v-if="scope.row.recordstate == 0 || scope.row.recordstate == 3" size="mini" type="text"
+            icon="el-icon-thumb" @click="handleapproval(scope.row)">鎻愪氦</el-button>
+           -->
           <el-button
             size="mini"
             type="text"
@@ -270,15 +323,10 @@
             @click="handledownload(scope.row)"
             >涓嬭浇</el-button
           >
-          <el-button
-            v-if="scope.row.recordstate == 0 || scope.row.recordstate == 3"
-            size="mini"
-            type="text"
-            icon="el-icon-thumb"
-            @click="handleapproval(scope.row)"
-            >涓婃姤瀹℃牳</el-button
-          >
-          <!-- 鎾ら攢鐢宠 -->
+          <!--
+            <el-button size="mini" type="text" icon="el-icon-edit" @click="handletermination(scope.row)"
+            v-hasPermi="['project:donatebaseinfo:edit']">{{ scope.row.recordstate == 99 ? "鎭㈠": "缁堟"  }}</el-button>
+          -->
         </template>
       </el-table-column>
     </el-table>
@@ -306,10 +354,10 @@
       >
         <div
           style="
-            border-bottom: 1px solid #ddd;
-            border-top: 1px solid #ddd;
-            padding-right: 60px;
-          "
+                border-bottom: 1px solid #ddd;
+                border-top: 1px solid #ddd;
+                padding-right: 60px;
+              "
         >
           <el-row style="margin-top: 40px">
             <el-col :span="8">
@@ -342,19 +390,7 @@
           <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="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-input v-model="form.name" placeholder="蹇呭~椤�" />
               </el-form-item>
             </el-col>
             <el-col :span="6">
@@ -374,8 +410,12 @@
                 <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">
@@ -402,10 +442,39 @@
                   placeholder="璇疯緭鍏ヨ瘉浠跺彿鐮�"
                   @blur="updateMessage"
                 />
-              </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-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">
@@ -420,28 +489,7 @@
                 </el-select>
               </el-form-item>
             </el-col>
-          </el-row>
-
-          <el-row>
             <el-col :span="6">
-              <el-form-item label="骞撮緞" prop="age">
-                <el-input v-model="form.age" placeholder="璇疯緭鍏ュ勾榫�" />
-              </el-form-item>
-            </el-col>
-            <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="education">
                 <el-select v-model="form.education" placeholder="璇烽�夋嫨瀛﹀巻">
                   <el-option
@@ -454,7 +502,6 @@
               </el-form-item>
             </el-col>
           </el-row>
-
           <el-row>
             <el-col :span="12">
               <el-form-item label="浣忓潃" prop="residenceaddress">
@@ -498,10 +545,10 @@
 
         <div
           style="
-            border-bottom: 1px solid #ddd;
-            margin-top: 20px;
-            padding-right: 60px;
-          "
+                border-bottom: 1px solid #ddd;
+                margin-top: 20px;
+                padding-right: 60px;
+              "
         >
           <el-row>
             <el-col :span="8">
@@ -618,10 +665,10 @@
 
         <div
           style="
-            border-bottom: 1px solid #ddd;
-            padding-right: 60px;
-            margin-top: 20px;
-          "
+                border-bottom: 1px solid #ddd;
+                padding-right: 60px;
+                margin-top: 20px;
+              "
         >
           <el-row>
             <div display="flex">
@@ -824,23 +871,18 @@
             </el-col>
           </el-row>
         </div>
-        <div style="padding-right: 60px; margin-top: 20px">
+        <!-- <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"
-              />
+              <annex-upload ref="annex" :infoid="form.id" :donorno="form.donorno" :flowname="flowname"
+                :annexno="annexno" />
             </el-form-item>
           </el-row>
-        </div>
+        </div> -->
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button v-show="showSaveBtn" type="primary" @click="submitForm"
-          >淇� 瀛�</el-button
+          >淇濆瓨骞跺墠寰�妗堜緥宸ヤ綔鍙�</el-button
         >
         <el-button
           v-show="showTerminationBtn"
@@ -854,8 +896,6 @@
     </el-dialog>
   </div>
 </template>
-<style scoped>
-</style>
 <script>
 import { getUserProfile } from "@/api/system/user";
 import {
@@ -866,25 +906,26 @@
   updateDonatebaseinfo,
   exportDonatebaseinfo,
   downloadbaseinfo,
-  getdonatorno,
-  // exportProvincemessage,
+  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,
+  listUser
 } from "@/api/project/organization";
-import ReportName from "@/views/project/components/organizationUser";
 export default {
   components: {
     Li_area_select,
     OrgSelecter,
     AnnexUpload,
-    ReportName,
+    ReportName
   },
   name: "Donatebaseinfo",
   dicts: [
@@ -913,6 +954,7 @@
     "sys_DiseaseType",
     "sys_SelfWill",
     "sys_FamilyRelation",
+    "sys_donornode"
   ],
   data() {
     return {
@@ -929,18 +971,22 @@
         sheng: "",
         shi: "",
         qu: "",
-        organizationname: null,
+        organizationname: null
       },
       residenceAddresss: {
         sheng: "娴欐睙鐪�",
         shi: "",
-        qu: "",
+        qu: ""
       },
       registerAddresss: {
         sheng: "娴欐睙鐪�",
         shi: "",
-        qu: "",
+        qu: ""
       },
+      terminationCaselist: [
+        { name: "缁堟鐘舵��", value: 1 },
+        { name: "姝e父鐘舵��", value: 0 }
+      ],
       // 閬僵灞�
       loading: true,
       // 瀵煎嚭閬僵灞�
@@ -981,7 +1027,7 @@
         starttime: null,
         endtime: null,
         city: null,
-        reportno: null,
+        reportno: null
         // organizationname: null,
         // organizationtype: null,
         // idcardno: null,
@@ -989,7 +1035,86 @@
         // reporttime: null,
       },
       // 琛ㄥ崟鍙傛暟
-      form: {},
+      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: [],
@@ -997,74 +1122,77 @@
       // 琛ㄥ崟鏍¢獙
       rules: {
         name: [
-          { required: true, message: "璇疯緭鍏ユ崘鐚�呭鍚�", trigger: "blur" },
+          { required: true, message: "璇疯緭鍏ユ崘鐚�呭鍚�", trigger: "blur" }
+        ],
+        birthday: [
+          { required: true, message: "璇烽�夋嫨鍑虹敓鏃ユ湡", trigger: "blur" }
         ],
         idcardtype: [
-          { required: true, message: "璇烽�夋嫨璇佷欢绫诲瀷", trigger: "blur" },
+          { required: true, message: "璇烽�夋嫨璇佷欢绫诲瀷", trigger: "blur" }
         ],
         residenceaddress: [
-          { required: true, message: "璇疯緭鍏ヤ綇鍧�", trigger: "blur" },
+          { required: true, message: "璇疯緭鍏ヤ綇鍧�", trigger: "blur" }
         ],
         contacttime: [
           {
             required: true,
             message: "璇疯緭鍏ョ孩鍗佸瓧浼氳仈绯绘椂闂�",
-            trigger: "blur",
-          },
+            trigger: "blur"
+          }
         ],
         idcardno: [
-          { required: true, message: "璇锋纭緭鍏ヨ瘉浠跺彿鐮�", trigger: "blur" },
+          { required: true, message: "璇锋纭緭鍏ヨ瘉浠跺彿鐮�", trigger: "blur" }
         ],
         sex: [{ required: true, message: "鎬у埆涓嶈兘涓虹┖", trigger: "blur" }],
         age: [{ required: true, message: "璇疯緭鍏ュ勾榫�", trigger: "blur" }],
         treatmenthospitalno: [
-          { required: true, message: "璇烽�夋嫨鍖荤枟鏈烘瀯", trigger: "blur" },
+          { required: true, message: "璇烽�夋嫨鍖荤枟鏈烘瀯", trigger: "blur" }
         ],
         // treatmenthospitalno: [{ required: true, message: "璇烽�夋嫨鍖荤枟鏈烘瀯", trigger: "change" }],
         bloodtype: [
-          { required: true, message: "璇烽�夋嫨ABO琛�鍨�", trigger: "blur" },
+          { required: true, message: "璇烽�夋嫨ABO琛�鍨�", trigger: "blur" }
         ],
         rhyin: [{ required: true, message: "璇烽�夋嫨RHD琛�鍨�", trigger: "blur" }],
         diseasetype: [
-          { required: true, message: "璇烽�夋嫨RHD琛�鍨�", trigger: "blur" },
+          { required: true, message: "璇烽�夋嫨RHD琛�鍨�", trigger: "blur" }
         ],
 
         inpatientno: [
-          { required: true, message: "杈撳叆浣忛櫌鍙�", trigger: "blur" },
+          { required: true, message: "杈撳叆浣忛櫌鍙�", trigger: "blur" }
         ],
 
         diagnosisname: [
-          { required: true, message: "鐤剧梾璇婃柇涓嶈兘涓虹┖", trigger: "blur" },
+          { required: true, message: "鐤剧梾璇婃柇涓嶈兘涓虹┖", trigger: "blur" }
         ],
         infoname: [
-          { required: true, message: "璇疯緭鍏ヤ俊鎭憳濮撳悕", trigger: "blur" },
+          { required: true, message: "璇疯緭鍏ヤ俊鎭憳濮撳悕", trigger: "blur" }
         ],
         infophone: [
-          { required: true, message: "璇疯緭鍏ヤ俊鎭憳鑱旂郴鐢佃瘽", trigger: "blur" },
+          { required: true, message: "璇疯緭鍏ヤ俊鎭憳鑱旂郴鐢佃瘽", trigger: "blur" }
         ],
         redorganno: [
-          { required: true, message: "璇烽�夋嫨绾㈠崄瀛椾細鏈烘瀯", trigger: "blur" },
+          { required: true, message: "璇烽�夋嫨绾㈠崄瀛椾細鏈烘瀯", trigger: "blur" }
         ],
         contactperson: [
           {
             required: true,
             message: "绾㈠崄瀛椾細鑱旂郴浜轰笉鑳戒负绌�",
-            trigger: "blur",
-          },
+            trigger: "blur"
+          }
         ],
         // contactnumber: [{required: true,message: "璇疯緭鍏ョ孩鍗佸瓧浼氳仈绯荤數璇�",trigger: "change"}],
         acquisitiontissueno: [
-          { required: true, message: "鍣ㄥ畼鑾峰彇缁勭粐涓嶈兘涓虹┖", trigger: "blur" },
+          { required: true, message: "鍣ㄥ畼鑾峰彇缁勭粐涓嶈兘涓虹┖", trigger: "blur" }
         ],
         reporterno: [
-          { required: true, message: "璇烽�夋嫨鎶ュ憡浜�", trigger: "blur" },
+          { required: true, message: "璇烽�夋嫨鎶ュ憡浜�", trigger: "blur" }
         ],
         reporttime: [
-          { required: true, message: "璇疯緭鍏ユ姤鍛婃椂闂�", trigger: "blur" },
+          { required: true, message: "璇疯緭鍏ユ姤鍛婃椂闂�", trigger: "blur" }
         ],
         reporterphone: [
-          { required: true, message: "璇疯緭鍏ユ姤鍛婁汉鑱旂郴鐢佃瘽", trigger: "blur" },
-        ],
+          { required: true, message: "璇疯緭鍏ユ姤鍛婁汉鑱旂郴鐢佃瘽", trigger: "blur" }
+        ]
       },
       //鏄惁鏄剧ず淇濆瓨鎸夐挳
       showSaveBtn: true,
@@ -1076,6 +1204,9 @@
       endtime: "",
       reportlist: [],
       reportervalue: "",
+      headers: {
+        Authorization: "Bearer " + getToken()
+      },
       provinceData: [
         { label: "鍏ㄩ儴", value: "" },
         { label: "鏉窞甯�", value: "1" },
@@ -1088,11 +1219,16 @@
         { label: "琛㈠窞甯�", value: "8" },
         { label: "鑸熷北甯�", value: "9" },
         { label: "鍙板窞甯�", value: "A" },
-        { label: "涓芥按甯�", value: "B" },
-      ],
+        { label: "涓芥按甯�", value: "B" }
+      ]
     };
   },
-  created() {},
+  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
@@ -1107,14 +1243,14 @@
     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)
-          .add(-1, "month")
-          .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
@@ -1147,20 +1283,20 @@
 
   methods: {
     getCurrentUser() {
-      getUserProfile().then((response) => {
+      getUserProfile().then(response => {
         this.currentuser = response.data;
       });
     },
 
     LoadReportList() {
-      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
           });
         });
 
@@ -1173,7 +1309,7 @@
 
     resetArr(Arr) {
       var hash = {};
-      Arr = Arr.reduce(function (arr, current) {
+      Arr = Arr.reduce(function(arr, current) {
         hash[current.reporterno]
           ? ""
           : (hash[current.reporterno] = true && arr.push(current));
@@ -1246,14 +1382,14 @@
 
     selectReporters() {
       //涓撹亴浜哄憳
-      listReportname("zzry").then((res) => {
+      listReportname("zzry").then(res => {
         this.reporters = res.data;
       });
     },
 
     getuserlist() {
       //鐢ㄦ埛鍒楄〃
-      listUser().then((res) => {
+      listUser().then(res => {
         this.users = res.data;
       });
     },
@@ -1262,11 +1398,11 @@
       this.$confirm("鏄惁纭灏嗘渚嬩笂鎶ュ鏍革紵", "鎻愮ず", {
         confirmButtonText: "纭畾",
         cancelButtonText: "鍙栨秷",
-        type: "warning",
+        type: "warning"
       })
         .then(() => {
           row.recordstate = 1;
-          updateDonatebaseinfo(row).then((response) => {
+          updateDonatebaseinfo(row).then(response => {
             this.$modal.msgSuccess("涓婃姤瀹℃牳鎴愬姛");
             this.getList();
           });
@@ -1274,7 +1410,7 @@
         .catch(() => {
           this.$message({
             type: "info",
-            message: "宸插彇娑堜笂鎶�",
+            message: "宸插彇娑堜笂鎶�"
           });
         });
     },
@@ -1282,15 +1418,14 @@
       this.approvalState = false;
       //  this.reset();
       // const id = row.id || this.ids;
-      updateDonatebaseinfo(row).then((response) => {
+      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]$/;
+        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);
@@ -1345,23 +1480,20 @@
       }
       this.setState({
         birthday,
-        sex,
+        sex
       });
     },
 
     /** 鏌ヨ鎹愮尞鍩虹鍒楄〃 */
-    getList(e) {
+    getList() {
       this.loading = true;
       this.queryParams.params = {};
-      // if (null != this.daterangeReporttime && "" != this.daterangeReporttime) {
-      //   this.queryParams.params["beginReporttime"] =
-      //     this.daterangeReporttime[0];
-      //   this.queryParams.params["endReporttime"] = this.daterangeReporttime[1];
-      // }
+      sessionStorage.removeItem("donatebaseinfo");
+      sessionStorage.setItem(
+        "donatebaseinfo",
+        JSON.stringify(this.queryParams)
+      );
       // 璺宠浆鏃剁殑榛樿杩涘害
-      if (e != null && e != undefined && !isNaN(e)) {
-        this.queryParams.recordstate = e;
-      }
 
       if (this.reportervalue != "") {
         this.queryParams.reportno = this.reportervalue;
@@ -1380,7 +1512,9 @@
       this.queryParams.residenceprovince = this.$refs.areaSelect.getSheng();
       this.queryParams.residencecity = this.$refs.areaSelect.getShi();
       this.queryParams.residencetown = this.$refs.areaSelect.getQu();
-      listDonatebaseinfo(this.queryParams).then((response) => {
+      console.log(this.queryParams);
+
+      listDonatebaseinfo(this.queryParams).then(response => {
         this.donatebaseinfoList = response.rows;
         //console.log("listDonatebaseinfo", response.rows);
         this.total = response.total;
@@ -1472,7 +1606,7 @@
         majorrelatives: null,
         familyrelations: null,
         acquisitiontissueno: "ZJOPO",
-        acquisitiontissuename: "娴欐睙鐪佷汉浣撳櫒瀹樿幏鍙栫粍缁�",
+        acquisitiontissuename: "娴欐睙鐪佷汉浣撳櫒瀹樿幏鍙栫粍缁�"
       };
 
       this.resetForm("form");
@@ -1505,7 +1639,7 @@
         reportername: null,
         reporttime: null,
         city: null,
-        treatmenthospitalno: null,
+        treatmenthospitalno: null
       };
       this.selecttime = [];
       this.getTimeList();
@@ -1513,7 +1647,7 @@
         sheng: "",
         shi: "",
         qu: "",
-        organizationname: null,
+        organizationname: null
       };
       //this.$refs.areaSelect.clean();
 
@@ -1522,12 +1656,18 @@
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
-      this.ids = selection.map((item) => item.id);
+      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;
@@ -1537,55 +1677,60 @@
       this.showSaveBtn = true;
       //this.$refs.annex.getAnnexList();
       this.open = true;
-      this.$nextTick(function () {
-        this.$refs.annex.getAnnexList();
-      });
+      // this.$nextTick(function() {
+      //   this.$refs.annex.getAnnexList();
+      // });
 
       this.title = "浜轰綋鍣ㄥ畼娼滃湪鎹愮尞鑰呯櫥璁拌〃";
     },
     /** 淇敼鎸夐挳鎿嶄綔 */
 
     handleUpdate(row) {
-      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);
-        debugger;
-        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;
+      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) => {
+      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(",");
@@ -1602,16 +1747,18 @@
         this.open = true;
         this.title = "浜轰綋鍣ㄥ畼娼滃湪鎹愮尞鑰呯櫥璁拌〃";
         this.form.recordstate = 99;
-        this.$nextTick(function () {
-          this.$refs.annex.getAnnexList();
-        });
+        // this.$nextTick(function() {
+        //   this.$refs.annex.getAnnexList();
+        // });
       });
     },
     /** 鎻愪氦鎸夐挳 */
     submitForm() {
-      this.$refs["form"].validate((valid) => {
-        console.log("鎻愪氦鐨勬暟鎹滑锛�", this.form);
+      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"
           );
@@ -1641,49 +1788,46 @@
           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;
+            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;
+            this.form.redorganname = this.$refs.addCrossOrgSelect.getOptionByValue(
+              this.form.redorganno
+            ).organizationname;
           } catch {
             this.form.redorganname = this.form.redorganno;
           }
 
-          //灏濊瘯鐢熸垚鎹愮尞缂栧彿锛堝凡缁忕敱addDonatebaseinfo鎺ュ彛涓敓鎴愬彇浠o級
-          // getdonatorno(this.form).then((response) => {
-          //   // alert(JSON.stringify(response));
-          //   this.reset();
-          // });
-
-          if (this.form.id != null) {
-            updateDonatebaseinfo(this.form).then((response) => {
-              this.$modal.msgSuccess("淇敼鎴愬姛");
+          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;
-              this.getList();
-            });
-          } else {
-            this.form.recordstate = 0;
-            addDonatebaseinfo(this.form).then((response) => {
-              if (response.code == 200) {
-                this.$modal.msgSuccess("鏂板鎴愬姛");
-                this.open = false;
-                this.getList();
-              } else {
-                this.$modal.msgError("鏂板澶辫触锛�" + response.msg);
-              }
-            });
-          }
+            } else {
+              console.log("1");
+              this.form = date;
+              console.log(this.form, "form");
+              this.$modal.msgError("鏂板澶辫触锛�" + res.msg);
+            }
+          });
         }
       });
     },
@@ -1692,7 +1836,7 @@
       const ids = row.id || this.ids;
       this.$modal
         .confirm('鏄惁纭鍒犻櫎鎹愮尞鍩虹缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�')
-        .then(function () {
+        .then(function() {
           return delDonatebaseinfo(ids);
         })
         .then(() => {
@@ -1711,7 +1855,7 @@
           this.exportLoading = true;
           return exportDonatebaseinfo(queryParams);
         })
-        .then((response) => {
+        .then(response => {
           this.$download.name(response.msg);
           this.exportLoading = false;
         })
@@ -1741,21 +1885,39 @@
     handledownload(row) {
       const id = row.id || this.ids;
 
-      downloadbaseinfo(id).then((response) => {
-        var fileUrl = response;
+      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"];
-        aEle.click();
+        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>
 
@@ -1765,4 +1927,4 @@
   margin: auto !important;
   padding-bottom: 0px !important;
 }
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.9.3