From 2d87371edd24a1b2b25bf8c33bccceb988038758 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期五, 08 三月 2024 14:12:03 +0800
Subject: [PATCH] 11

---
 src/views/project/donatebaseinfo/index.vue |  200 ++++++++++++++++++++++++++++++++++---------------
 1 files changed, 137 insertions(+), 63 deletions(-)

diff --git a/src/views/project/donatebaseinfo/index.vue b/src/views/project/donatebaseinfo/index.vue
index 45a3233..360fcb0 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,10 +46,27 @@
             </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"
@@ -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,7 @@
             </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-date-picker>
-          </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 +106,6 @@
             </div>
           </el-form-item>
         </el-col>
-
         <el-col :span="4">
           <el-form-item>
             <el-button
@@ -175,23 +170,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,24 +201,45 @@
       </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="registercityname"
+        width="150"
+      />
       <el-table-column
         label="鎹愮尞杩涘害"
         align="center"
@@ -227,18 +247,33 @@
         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">
@@ -250,15 +285,30 @@
             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-edit" @click="handletermination(scope.row)"
-            v-hasPermi="['project:donatebaseinfo:edit']">缁堟</el-button>
-          <el-button size="mini" type="text" icon="el-icon-refrigerator" @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
+            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 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-refrigerator"
+            @click="handledownload(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>
@@ -846,6 +896,7 @@
 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,
@@ -885,7 +936,8 @@
     "sys_DonationStatus",
     "sys_DiseaseType",
     "sys_SelfWill",
-    "sys_FamilyRelation"
+    "sys_FamilyRelation",
+    "sys_donornode"
   ],
   data() {
     return {
@@ -1052,6 +1104,9 @@
       endtime: "",
       reportlist: [],
       reportervalue: "",
+      headers: {
+        Authorization: "Bearer " + getToken()
+      },
       provinceData: [
         { label: "鍏ㄩ儴", value: "" },
         { label: "鏉窞甯�", value: "1" },
@@ -1597,7 +1652,6 @@
     /** 鎻愪氦鎸夐挳 */
     submitForm() {
       this.$refs["form"].validate(valid => {
-        console.log("鎻愪氦鐨勬暟鎹滑锛�", this.form);
         if (valid) {
           this.form.birthday = this.$moment(this.form.birthday).format(
             "YYYY-MM-DD HH:mm:ss"
@@ -1628,6 +1682,7 @@
           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(
@@ -1658,6 +1713,7 @@
               this.getList();
             });
           } else {
+            this.form.workflow = 0;
             this.form.recordstate = 0;
             addDonatebaseinfo(this.form).then(response => {
               if (response.code == 200) {
@@ -1733,18 +1789,36 @@
     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);
+          });
       });
     }
   }

--
Gitblit v1.9.3