From 21fe2968337eb8eab97adc88750b71c4057e98f8 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期三, 17 七月 2024 15:39:46 +0800
Subject: [PATCH] 11

---
 src/views/project/travelexpenseapply/index.vue |  123 ++++++++++++++++++++++++++++++++---------
 1 files changed, 96 insertions(+), 27 deletions(-)

diff --git a/src/views/project/travelexpenseapply/index.vue b/src/views/project/travelexpenseapply/index.vue
index 0e6ef90..2e01206 100644
--- a/src/views/project/travelexpenseapply/index.vue
+++ b/src/views/project/travelexpenseapply/index.vue
@@ -28,7 +28,7 @@
           </el-form-item>
         </el-col>
         <el-col :span="8">
-          <el-form-item label="鎶ラ攢鏃ユ湡" prop="createTime">
+          <el-form-item label="鎶ラ攢鏃ユ湡" prop="applyTime">
             <el-date-picker
               format="yyyy-MM-dd"
               value-format="yyyy-MM-dd"
@@ -66,6 +66,19 @@
                 :value="dict.value"
               />
             </el-select>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="6">
+          <el-form-item label="鎹愮尞鑰�" prop="name">
+            <el-input
+              v-model="queryParams.donorname"
+              placeholder="璇疯緭鍏ユ崘鐚�呭鍚�"
+              clearable
+              size="small"
+              @keyup.enter.native="handleQuery"
+            />
           </el-form-item>
         </el-col>
         <el-col :span="4">
@@ -125,10 +138,10 @@
         label="鐢宠鏃堕棿"
         width="150"
         align="center"
-        prop="createTime"
+        prop="applyTime"
       >
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
+          <span>{{ parseTime(scope.row.applyTime, "{y}-{m}-{d}") }}</span>
         </template>
       </el-table-column>
       <el-table-column
@@ -141,6 +154,19 @@
           <dict-tag
             :options="dict.type.sys_recordstatus"
             :value="scope.row.recordstatus"
+          />
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="鐢宠鏉愭枡鐘舵��"
+        width="140"
+        align="center"
+        prop="checkstatus"
+      >
+        <template slot-scope="scope">
+          <dict-tag
+            :options="dict.type.sys_stage_type"
+            :value="scope.row.checkstatus"
           />
         </template>
       </el-table-column>
@@ -191,6 +217,7 @@
         label="鎿嶄綔"
         align="center"
         fixed="right"
+        width="300"
         class-name="small-padding fixed-width"
       >
         <template slot-scope="scope">
@@ -213,7 +240,7 @@
           <el-button
             size="mini"
             type="text"
-            icon="el-icon-edit"
+            icon="el-icon-view"
             @click="handleDetail(scope.row)"
             >鏌ョ湅</el-button
           >
@@ -231,11 +258,26 @@
             v-if="scope.row.recordstatus == -1 || scope.row.recordstatus == 1"
             size="mini"
             type="text"
-            icon="el-icon-delete"
             @click="handleDelete(scope.row)"
-            >鍒犻櫎</el-button
+            ><span class="button-delete"
+              ><i class="el-icon-delete"></i>鍒犻櫎</span
+            ></el-button
           >
           <!-- v-hasPermi="['project:funddetail:remove']" -->
+        </template>
+      </el-table-column>
+      <el-table-column fixed="right" align="center" width="120" label="鍔熻兘">
+        <template slot-scope="scope">
+          <el-button size="mini" v-if="scope.row.uploadStates == 1"
+            >绾夸笅宸叉姤閿�</el-button
+          >
+          <el-button
+            size="mini"
+            type="success"
+            v-else-if="scope.row.uploadStates == 0"
+            @click="Dooffline('1', scope.row)"
+            >绾夸笅鎶ラ攢</el-button
+          >
         </template>
       </el-table-column>
     </el-table>
@@ -261,10 +303,10 @@
       <el-form ref="form" :model="form" :rules="rules" label-width="120px">
         <el-row
           ><el-col :span="5">
-            <el-form-item label="鐢宠鏃ユ湡" prop="createTime">
+            <el-form-item label="鐢宠鏃ユ湡" prop="applyTime">
               <el-date-picker
                 style="width: 100%"
-                v-model="form.createTime"
+                v-model="form.applyTime"
                 type="date"
                 value-format="yyyy-MM-dd HH:mm:ss"
                 placeholder="鐢宠鏃ユ湡"
@@ -1232,6 +1274,7 @@
 import { getUser, getUserProfile } from "@/api/system/user";
 import { treeselect } from "@/api/system/dept";
 import { getSubsidy } from "@/api/project/travelcity";
+import { addorupdateFund } from "@/api/project/fund";
 import { listReportname, listUser } from "@/api/project/organization";
 import { getToken } from "@/utils/auth";
 export default {
@@ -1248,7 +1291,8 @@
     "sys_recordstatus",
     "sys_travelexpensebelong",
     "sys_traffictype",
-    "sys_area_name"
+    "sys_area_name",
+    "sys_stage_type"
   ],
   data() {
     return {
@@ -1421,6 +1465,17 @@
 
     handleExceed() {
       this.$message.error(`涓婁紶鏂囦欢鏁伴噺涓嶈兘瓒呰繃 ${5} 涓�!`);
+    },
+    Dooffline(a, value) {
+      value.uploadStates = 1;
+      value.notes = "绾夸笅宸叉姤閿�";
+      addorupdateFund(value).then(res => {
+        if (res.code == 200) {
+          this.$modal.msgSuccess("璁板綍鎴愬姛");
+        } else {
+          this.$modal.msgError(res.msg);
+        }
+      });
     },
 
     //鏂囦欢涓婁紶鎴愬姛鍥炶皟
@@ -1713,21 +1768,27 @@
         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);
+          });
       });
-
-      // downloadconfirmationinfo(id).then((response) => {
-      //   var fileUrl = response;
-      //   //鑾峰彇褰撳墠缃戝潃
-      //   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();
-      // });
     },
 
     /** 鏌ヨ鎶ラ攢鐢宠鍒楄〃 */
@@ -2129,6 +2190,7 @@
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
       const ids = row.id || this.ids;
+      console.log(ids);
       this.$modal
         .confirm("鏄惁纭鍒犻櫎璇ユ潯璁板綍锛�")
         .then(function() {
@@ -2545,19 +2607,26 @@
     //鏄庢樉鎻愮ず瀹℃壒閫�鍥炶褰�
     rowClassName({ row, column, rowIndex, columnIndex }) {
       //姝ゅ垽鏂负鏈�鍚庝笁琛�
-      if (row.backflowlevel == 199) {
-        return "addClassva";
+      if (row.recordstatus == -1 && row.backflowlevel != null) {
+        return "error-row";
       }
+      return "";
     }
   }
 };
 </script>
 <!-- <style scoped> -->
 <!-- 涓嶅彲鍔爏coped,浼氱嫭绔嬫牱寮廵lement璁块棶涓嶅埌 -->
-<style>
+<style lang="scss" scoped>
 .addClassva {
   /* background: #10aec2; */
-  background: #93b5cf !important;
+  background: #e8f4ff !important;
   /* color:whitesmoke; */
 }
+.button-delete {
+  color: rgb(236, 69, 69);
+}
+::v-deep.el-table .error-row {
+  background: #fcebeb;
+}
 </style>

--
Gitblit v1.9.3