From 8022f7036945b75f82f2dfc43055623f81ed98f6 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期五, 23 五月 2025 22:42:56 +0800
Subject: [PATCH] yxh

---
 src/views/project/travelexpensecheck/index.vue |  296 +++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 177 insertions(+), 119 deletions(-)

diff --git a/src/views/project/travelexpensecheck/index.vue b/src/views/project/travelexpensecheck/index.vue
index 3a74a43..01916a5 100644
--- a/src/views/project/travelexpensecheck/index.vue
+++ b/src/views/project/travelexpensecheck/index.vue
@@ -5,55 +5,39 @@
       ref="queryForm"
       :inline="true"
       v-show="showSearch"
-      label-width="68px"
+      label-width="80px"
     >
       <el-row>
-        <!--        <el-col :span="6">
-          <el-form-item label="鍑哄樊浜�" prop="travelers">
-            <el-input v-model="queryParams.travelers" placeholder="璇疯緭鍏ュ嚭宸汉" clearable size="small"
-              @keyup.enter.native="handleQuery" />
-          </el-form-item>
-        </el-col>-->
-        <el-col :span="8">
-          <el-form-item label="鐢宠鏃ユ湡" prop="createTime">
-            <el-date-picker
-              format="yyyy-MM-dd"
-              value-format="yyyy-MM-dd"
-              v-model="value1"
-              type="daterange"
-              @blur="onpick"
-              range-separator="鑷�"
-              start-placeholder="鎶ラ攢鐢宠寮�濮嬫棩鏈�"
-              end-placeholder="鎶ラ攢鐢宠缁撴潫鏃ユ湡"
+        <el-col :span="5">
+          <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="5">
+          <el-form-item label="棰勫鐘舵��" prop="checkstatus" style="float: left">
+            <el-select
+              v-model="queryParams.checkstatus"
+              placeholder="璇烽�夋嫨"
+              style="width: 100%"
             >
-            </el-date-picker>
+              <el-option
+                v-for="item in checkmaterials"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="5">
-          <el-form-item label="缁忓姙浜�" prop="username">
-            <el-input
-              v-model="queryParams.username"
-              placeholder="璇疯緭鍏ユ姤閿�浜�"
-              clearable
-              size="small"
-              @keyup.enter.native="handleQuery"
-            />
-          </el-form-item>
-        </el-col>
-        <el-col :span="5">
-          <el-form-item label="閲戦" prop="money" style="float: left">
-            <el-input
-              v-model="queryParams.money"
-              placeholder="璇疯緭鍏ョ敵璇蜂汉閲戦"
-              clearable
-              size="small"
-              @keyup.enter.native="handleQuery"
-            />
-          </el-form-item>
-        </el-col>
-        <el-col :span="5">
-          <el-form-item  label="瀹℃壒鐘舵��" prop="CHECKFLAG" style="float: left">
+          <el-form-item label="瀹℃壒鐘舵��" prop="CHECKFLAG" style="float: left">
             <el-select
               v-model="queryParams.CHECKFLAG"
               placeholder="璇烽�夋嫨"
@@ -69,28 +53,59 @@
             </el-select>
           </el-form-item>
         </el-col>
-      </el-row>
-      <el-row>
         <el-col :span="5">
-          <el-form-item
-          label-width="120px"
-            label="鐢宠鏉愭枡鐘舵��"
-            prop="checkstatus"
-            style="float: left"
-          >
+          <el-form-item align="left" label="涓氬姟缁�" prop="deptnos">
             <el-select
-              v-model="queryParams.checkstatus"
-              placeholder="璇烽�夋嫨"
-              style="width: 100%"
+              v-model="queryParams.deptnos"
+              placeholder="璇烽�夋嫨妗堜緥鐘舵��"
             >
               <el-option
-                v-for="item in checkmaterials"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
+                v-for="item in deptList"
+                :label="item.deptName"
+                :value="item.deptId"
               >
               </el-option>
             </el-select>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row>
+      <el-col :span="5">
+          <el-form-item label="缁忓姙浜�" prop="username">
+            <el-input
+              v-model="queryParams.username"
+              placeholder="璇疯緭鍏ユ姤閿�浜�"
+              clearable
+              size="small"
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+        </el-col>  
+        <el-col :span="5">
+          <el-form-item label="鎶ラ攢閲戦" prop="money" style="float: left">
+            <el-input
+              v-model="queryParams.money"
+              placeholder="璇疯緭鍏ョ敵璇蜂汉閲戦"
+              clearable
+              size="small"
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="鐢宠鏃ユ湡" prop="applyTime">
+            <el-date-picker
+              format="yyyy-MM-dd"
+              value-format="yyyy-MM-dd"
+              v-model="value1"
+              type="daterange"
+              @blur="onpick"
+              range-separator="鑷�"
+              start-placeholder="鎶ラ攢鐢宠寮�濮嬫棩鏈�"
+              end-placeholder="鎶ラ攢鐢宠缁撴潫鏃ユ湡"
+              @keyup.enter.native="handleQuery"
+            >
+            </el-date-picker>
           </el-form-item>
         </el-col>
         <el-col :span="6">
@@ -142,17 +157,23 @@
           <dict-tag :options="dict.type.sys_travelexpensebelong" :value="scope.row.costtype" />
         </template>
       </el-table-column>-->
+      <el-table-column label="鎶ラ攢鍗曞彿" width="120" align="center" prop="bh" />
       <el-table-column
         label="鐢宠鏃ユ湡"
         width="120"
         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
+        label="鎶ラ攢閲戦"
+        width="120"
+        align="center"
+        prop="amountrequested"
+      />
       <el-table-column
         label="缁忓姙浜�"
         width="120"
@@ -160,31 +181,17 @@
         prop="username"
       />
       <el-table-column
-        label="鎵�灞炵粍鍒�"
-        width="120"
+        label="鐢宠鏉愭枡鐘舵��"
+        width="140"
         align="center"
-        prop="deptmentname"
-      />
-      <el-table-column
-        label="缁勯暱"
-        width="120"
-        align="center"
-        prop="managername"
-      />
-      <el-table-column
-        label="鎶ラ攢閲戦"
-        width="120"
-        align="center"
-        prop="amountrequested"
+        prop="checkstatus"
       >
-      </el-table-column>
-
-      <el-table-column
-        label="鎹愮尞鑰�"
-        width="120"
-        align="center"
-        prop="donorname"
-      >
+        <template slot-scope="scope">
+          <dict-tag
+            :options="dict.type.sys_stage_type"
+            :value="scope.row.checkstatus"
+          />
+        </template>
       </el-table-column>
       <el-table-column
         label="瀹℃壒鐘舵��"
@@ -199,22 +206,26 @@
           />
         </template>
       </el-table-column>
+      <el-table-column label="鍑哄樊浜嬬敱" align="center" prop="reason" />
       <el-table-column
-        label="鐢宠鏉愭枡鐘舵��"
-        width="140"
+        label="鎵�灞炵粍鍒�"
+        width="120"
         align="center"
-        prop="checkstatus"
-      >
-        <template slot-scope="scope">
-          <dict-tag
-            :options="dict.type.sys_stage_type"
-            :value="scope.row.checkstatus"
-          />
-        </template>
-      </el-table-column>
-      <el-table-column label="鍑哄樊浜嬬敱" align="center" prop="reason">
-      </el-table-column>
-      <!-- 
+        prop="deptmentname"
+      />
+      <el-table-column
+        label="缁勯暱"
+        width="120"
+        align="center"
+        prop="managername"
+      />
+      <el-table-column
+        label="鎹愮尞鑰�"
+        width="120"
+        align="center"
+        prop="donorname"
+      />
+      <!--
       <el-table-column label="鍑哄樊浜�" width="180" align="center" prop="travelers">
       </el-table-column>
       <el-table-column label="鑱旂郴鐢佃瘽" width="120" align="center" prop="phone">
@@ -223,10 +234,10 @@
       </el-table-column>
       <el-table-column label="閾惰鍗″彿" width="180" align="center" prop="bankcardno">
       </el-table-column>
-       
-      <el-table-column label="缁勯暱瀹℃壒" align="center" prop="managername"/>      
-      <el-table-column label="涓氬姟鏍稿" align="center" prop="opochecher"/>          
-      <el-table-column label="涓氬姟瀹℃壒" align="center" prop="officedirector"/>      
+
+      <el-table-column label="缁勯暱瀹℃壒" align="center" prop="managername"/>
+      <el-table-column label="涓氬姟鏍稿" align="center" prop="opochecher"/>
+      <el-table-column label="涓氬姟瀹℃壒" align="center" prop="officedirector"/>
       <el-table-column label="璐㈠姟鏍稿" align="center" prop="financechecher"/>
       <el-table-column label="璐㈠姟瀹℃牳" width="120" align="center" prop="financedirector"/>
 -->
@@ -238,7 +249,6 @@
         width="270"
       >
         <template slot-scope="scope">
-
           <el-button
             size="mini"
             type="text"
@@ -296,10 +306,10 @@
       <el-form ref="form" :model="form" 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"
                 :disabled="true"
                 type="date"
                 value-format="yyyy-MM-dd HH:mm:ss"
@@ -362,7 +372,7 @@
             <el-form-item label="鑱旂郴鐢佃瘽" prop="phone">
               <el-input v-model="form.phone" placeholder="鑱旂郴鐢佃瘽" />
             </el-form-item>
-          </el-col>          
+          </el-col>
         </el-row>
       -->
         <el-row>
@@ -396,7 +406,7 @@
                 :disabled="true"
               />
             </el-form-item> </el-col
-          ><!-- 
+          ><!--
           <el-col :span="6">
             <el-form-item label="棰嗘閲戦" prop="amountrequested">
               <el-input v-model="form.amountrequested" placeholder="棰嗘閲戦" />
@@ -1203,6 +1213,7 @@
   listbypowerone,
   addShareData
 } from "@/api/project/reimbursement";
+import { listDept } from "@/api/system/dept";
 import {
   provinceAndCityData,
   regionData,
@@ -1327,8 +1338,11 @@
         APPLICANT: null,
         APPLICATIONBEGTIME: null,
         APPLICATIONENDTIME: null,
-        CHECKFLAG: 1
-      },
+        CHECKFLAG: 1,
+        money: null,
+        deptnos: null
+      },      
+      deptList: [],
       //鏌ヨ浠樻
       queryParamsPayee: {
         rbid: null
@@ -1359,12 +1373,14 @@
       },
 
       standardlevel: 0,
-      createTime: [],
+      applyTime: [],
       //寮圭獥璇︽儏--show锛沞dit
       dialogType: "show"
     };
   },
-  created() {},
+  created() {    
+    this.listDept();
+  },
   mounted() {
     if (grtItem("travelexpensecheck")) {
       this.queryParams = grtItem("travelexpensecheck");
@@ -1374,8 +1390,14 @@
   },
   methods: {
     selectapplication() {
-      this.queryParams.APPLICATIONBEGTIME = this.createTime[0];
-      this.queryParams.APPLICATIONENDTIME = this.createTime[1];
+      this.queryParams.APPLICATIONBEGTIME = this.applyTime[0];
+      this.queryParams.APPLICATIONENDTIME = this.applyTime[1];
+    },
+    listDept() {
+      listDept({}).then(response => {
+        this.deptList = response.data;
+        this.loading = false;
+      });
     },
     getList() {
       this.loading = true;
@@ -1412,10 +1434,19 @@
       }
 
       checkfund(checkfundobj).then(res => {
-        this.reset();
-        this.open = false;
-        this.getList();
-        this.$modal.msgSuccess("瀹℃牳瀹屾垚!");
+        if (res.code == 200) {
+          this.reset();
+          this.open = false;
+          this.getList();
+          this.$modal.msgSuccess("瀹℃牳瀹屾垚!");
+        } else {
+          this.open = false;
+          if (res.msg) {
+            this.$modal.msgError("鎿嶄綔澶辫");
+          } else {
+            this.$modal.msgError(res.msg);
+          }
+        }
       });
     },
 
@@ -1435,7 +1466,26 @@
         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);
+          });
       });
     },
 
@@ -1568,8 +1618,16 @@
     },
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
-      this.resetForm("queryForm");
-      this.handleQuery();
+      (this.queryParams = {
+        pageNum: 1,
+        pageSize: 10,
+        APPLICANT: null,
+        APPLICATIONBEGTIME: null,
+        APPLICATIONENDTIME: null,
+        CHECKFLAG: 1,
+        deptnos: null
+      }),
+        this.handleQuery();
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {

--
Gitblit v1.9.3