From e824586698c810e45ecf334b29a275e558bc0d5f Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 08 五月 2023 15:32:05 +0800
Subject: [PATCH] 前端代码提交
---
src/views/project/travelexpenseslist/index.vue | 1500 ++++++++++++++++++++++++++++-------------------------------
1 files changed, 717 insertions(+), 783 deletions(-)
diff --git a/src/views/project/travelexpenseslist/index.vue b/src/views/project/travelexpenseslist/index.vue
index 235d96c..30584a2 100644
--- a/src/views/project/travelexpenseslist/index.vue
+++ b/src/views/project/travelexpenseslist/index.vue
@@ -1,60 +1,29 @@
<template>
<div class="app-container">
- <el-form
- :model="queryParams"
- ref="queryForm"
- :inline="true"
- v-show="showSearch"
- label-width="68px"
- >
+ <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<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-input v-model="queryParams.travelers" placeholder="璇疯緭鍏ュ嚭宸汉" clearable size="small"
+ @keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="鎶ラ攢浜�" prop="username">
- <el-input
- v-model="queryParams.username"
- placeholder="璇疯緭鍏ユ姤閿�浜�"
- clearable
- size="small"
- @keyup.enter.native="handleQuery"
- />
+ <el-input v-model="queryParams.username" placeholder="璇疯緭鍏ユ姤閿�浜�" clearable size="small"
+ @keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
- <el-col :span="6">
+ <el-col :span="6">
<el-form-item label="瀹℃牳鐘舵��" prop="recordstatus">
- <el-input
- v-model="queryParams.recordstatus"
- placeholder="璇烽�夋嫨瀹℃牳鐘舵��"
- clearable
- size="small"
- v-if="0"
- @keyup.enter.native="handleQuery"
- />
- <el-select
- v-model="queryParams.recordstatus"
- placeholder="璇烽�夋嫨瀹℃牳鐘舵��"
- clearable
- size="small"
- >
- <el-option
- v-for="dict in dict.type.sys_recordstatus"
- :key="dict.value"
- :label="dict.label"
- :value="dict.value"
- />
+ <el-input v-model="queryParams.recordstatus" placeholder="璇烽�夋嫨瀹℃牳鐘舵��" clearable size="small" v-if="0"
+ @keyup.enter.native="handleQuery" />
+ <el-select v-model="queryParams.recordstatus" placeholder="璇烽�夋嫨瀹℃牳鐘舵��" clearable size="small">
+ <el-option v-for="dict in dict.type.sys_recordstatus" :key="dict.value" :label="dict.label"
+ :value="dict.value" />
</el-select>
</el-form-item>
</el-col>
@@ -63,374 +32,231 @@
<el-row>
<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="鎶ラ攢缁撴潫鏃ユ湡"
- @keyup.enter.native="handleQuery"
- >
+ <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">
<el-form-item>
- <el-button
- type="primary"
- icon="el-icon-search"
- size="mini"
- @click="handleQuery"
- >鎼滅储</el-button
- >
- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
- >閲嶇疆</el-button
- >
- </el-form-item>
+ <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+ <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+ </el-form-item>
</el-col>
</el-row>
-
-
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
- <el-button
- type="primary"
- plain
- icon="el-icon-plus"
- size="mini"
- @click="handleAdd"
- >鏂板</el-button
- >
+ <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">鏂板</el-button>
<!-- v-hasPermi="['project:funddetail:add']" -->
</el-col>
<el-col :span="1.5">
- <el-button
- type="warning"
- plain
- icon="el-icon-download"
- size="mini"
- :loading="exportLoading"
- @click="handleExport"
- >瀵煎嚭</el-button
- >
+ <el-button type="warning" plain icon="el-icon-download" size="mini" :loading="exportLoading"
+ @click="handleExport">瀵煎嚭</el-button>
</el-col>
<!-- v-hasPermi="['project:funddetail:export']" -->
- <right-toolbar
- :showSearch.sync="showSearch"
- @queryTable="getList"
- ></right-toolbar>
+ <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
- <el-table
- border
- v-loading="loading"
- :data="reimbursementList"
- @selection-change="handleSelectionChange"
- >
+ <el-table border v-loading="loading" :data="reimbursementList" @selection-change="handleSelectionChange">
<!-- <el-table-column type="selection" width="55" align="center" /> -->
- <el-table-column
- label="璁板綍鐘舵��"
- align="center"
- prop="recordstatus"
- width="180"
- >
+ <el-table-column label="璁板綍鐘舵��" align="center" prop="recordstatus" width="180">
<template slot-scope="scope">
- <dict-tag
- :options="dict.type.sys_recordstatus"
- :value="scope.row.recordstatus"
- />
+ <dict-tag :options="dict.type.sys_recordstatus" :value="scope.row.recordstatus" />
</template>
</el-table-column>
- <el-table-column
- label="鎶ラ攢浜虹被鍒�"
- width="120"
- align="center"
- prop="costtype"
- >
+ <el-table-column label="鎶ラ攢浜虹被鍒�" width="120" align="center" prop="costtype">
<template slot-scope="scope">
- <dict-tag
- :options="dict.type.sys_travelexpensebelong"
- :value="scope.row.costtype"
- />
+ <dict-tag :options="dict.type.sys_travelexpensebelong" :value="scope.row.costtype" />
</template>
</el-table-column>
- <el-table-column
- label="鐢宠鏃堕棿"
- width="120"
- align="center"
- prop="createTime"
- >
+ <el-table-column label="鐢宠鏃堕棿" width="120" align="center" prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
- <el-table-column
- label="鎶ラ攢浜�"
- width="120"
- align="center"
- prop="username"
- >
+ <el-table-column label="鎶ラ攢浜�" width="120" align="center" prop="username">
</el-table-column>
- <el-table-column
- label="鍑哄樊浜�"
- width="180"
- align="center"
- prop="travelers"
- >
+ <el-table-column label="鍑哄樊浜�" width="180" align="center" prop="travelers">
</el-table-column>
- <el-table-column
- label="鎶ラ攢閲戦"
- width="120"
- align="center"
- prop="amountrequested"
- >
+ <el-table-column label="鎶ラ攢閲戦" width="120" align="center" prop="amountrequested">
</el-table-column>
- <el-table-column
- label="鍑哄樊浜嬬敱"
- align="center"
- width="280"
- prop="reason"
- >
+ <el-table-column label="鍑哄樊浜嬬敱" align="center" width="280" prop="reason">
</el-table-column>
<el-table-column label="鑱旂郴鐢佃瘽" width="120" align="center" prop="phone">
</el-table-column>
- <el-table-column
- label="寮�鎴烽摱琛�"
- width="180"
- align="center"
- prop="depositbank"
- >
+ <el-table-column label="寮�鎴烽摱琛�" width="180" align="center" prop="depositbank">
</el-table-column>
- <el-table-column
- label="閾惰鍗″彿"
- width="180"
- align="center"
- prop="bankcardno"
- >
+ <el-table-column label="閾惰鍗″彿" width="180" align="center" prop="bankcardno">
</el-table-column>
- <!-- <el-table-column label="鎶ラ攢鍚堣" align="center" prop="financechecher">
- </el-table-column> -->
- <!-- <el-table-column
- label="璐㈠姟瀹℃牳"
- width="120"
- align="center"
- prop="financechecher"
- >
- </el-table-column> -->
- <el-table-column
- label="鎹愮尞鑰�"
- width="120"
- align="center"
- prop="donorname"
- >
+ <!-- <el-table-column label="鎶ラ攢鍚堣" align="center" prop="financechecher"/>-->
+ <!-- <el-table-column label="璐㈠姟瀹℃牳" width="120" align="center" prop="financechecher" /> -->
+ <el-table-column label="鎹愮尞鑰�" width="120" align="center" prop="donorname">
</el-table-column>
- <el-table-column
- label="鎿嶄綔"
- align="center"
- fixed="right"
- class-name="small-padding fixed-width"
- width="270"
- >
+ <el-table-column label="鎿嶄綔" align="center" fixed="right" class-name="small-padding fixed-width" width="270">
<template slot-scope="scope">
- <el-button
- v-if="scope.row.recordstatus == -1 || scope.row.recordstatus == 1"
- size="mini"
- type="text"
- icon="el-icon-upload2"
- @click="handleup(scope.row)"
- >涓婃姤</el-button
- >
- <el-button
- v-if="scope.row.recordstatus == -1 || scope.row.recordstatus == 1"
- size="mini"
- type="text"
- icon="el-icon-edit"
- @click="handleUpdate(scope.row)"
- >淇敼</el-button
- >
- <el-button
- size="mini"
- type="text"
- icon="el-icon-edit"
- @click="handleDetail(scope.row)"
- >鏌ョ湅</el-button
- >
+ <el-button v-if="scope.row.recordstatus == -1 || scope.row.recordstatus == 1" size="mini" type="text"
+ icon="el-icon-upload2" @click="handleup(scope.row)">涓婃姤</el-button>
+ <el-button v-if="scope.row.recordstatus == -1 || scope.row.recordstatus == 1" size="mini" type="text"
+ icon="el-icon-edit" @click="handleUpdate(scope.row)">淇敼</el-button>
+ <el-button size="mini" type="text" icon="el-icon-edit" @click="handleDetail(scope.row)">鏌ョ湅</el-button>
<!-- v-hasPermi="['project:funddetail:edit']" -->
- <el-button
- size="mini"
- type="text"
- icon="el-icon-download"
- @click="gettable(scope.row)"
- >
+ <el-button size="mini" type="text" icon="el-icon-download" @click="gettable(scope.row)">
涓嬭浇
</el-button>
<!-- v-hasPermi="['project:funddetail:edit']" -->
- <el-button
- v-if="scope.row.recordstatus == -1 || scope.row.recordstatus == 1"
- size="mini"
- type="text"
- icon="el-icon-delete"
- @click="handleDelete(scope.row)"
- >鍒犻櫎</el-button
- >
+ <el-button v-if="scope.row.recordstatus == -1 || scope.row.recordstatus == 1" size="mini" type="text"
+ icon="el-icon-delete" @click="handleDelete(scope.row)">鍒犻櫎</el-button>
<!-- v-hasPermi="['project:funddetail:remove']" -->
</template>
</el-table-column>
</el-table>
<!-- v-hasPermi="['project:donateconsolationfund:edit']" -->
- <pagination
- v-show="total > 0"
- :total="total"
- :page.sync="queryParams.pageNum"
- :limit.sync="queryParams.pageSize"
- @pagination="getList"
- />
+ <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+ @pagination="getList" />
<!-- 娣诲姞鎴栦慨鏀硅垂鐢ㄧ敵璇锋槑缁嗗璇濇 -->
- <el-dialog
- :title="title"
- :visible.sync="open"
- :close-on-click-modal="false"
- width="1600px"
- append-to-body
- @close="reset"
-
- >
+ <el-dialog :title="title" :visible.sync="open" :close-on-click-modal="false" width="1400px" append-to-body
+ @close="reset">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
- <el-row>
- <el-col :span="7">
- <!-- <el-form-item label="澶囨敞" prop="reason">
- <el-input v-model="form.reason" placeholder="涓撹亴浜哄憳 鍗忚皟鍛�" />
- </el-form-item> --><el-form-item label="鎶ラ攢浜�" prop="username">
- <el-select
- v-model="form.username"
- clearable
- filterable
- allow-create
- ref="getReportname"
- default-first-option
- placeholder="璇烽�夋嫨"
- >
- <el-option
- v-for="item in reporters"
- :key="item.reportNo"
- :label="item.reportName"
- :value="item.reportName"
- >
+ <el-row><el-col :span="5">
+ <el-form-item label="鐢宠鏃ユ湡" prop="createTime">
+ <el-date-picker style="width: 100%" v-model="form.createTime" type="date" value-format="yyyy-MM-dd HH:mm:ss"
+ placeholder="鐢宠鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ <el-col :span="5">
+ <el-form-item label="缁忓姙浜�" prop="username">
+ <el-select v-model="form.username" clearable filterable allow-create ref="getReportname"
+ default-first-option placeholder="璇烽�夋嫨">
+ <el-option v-for="item in personList" :key="item.reportNo" :label="item.reportName"
+ :value="item.reportName">
</el-option>
</el-select>
</el-form-item>
- </el-col>
-
- <el-col :span="8">
- <el-form-item label="鎹愮尞缂栧彿" prop="donorno">
- <el-input
- disabled
- v-model="form.donorno"
- placeholder="鎹愮尞缂栧彿"
- />
+ </el-col><el-col :span="5">
+ <el-form-item label="鍖哄煙缁勯暱" prop="managername">
+ <el-input v-model="form.managername" placeholder="鍖哄煙缁勯暱" />
</el-form-item>
</el-col>
- <el-col :span="7">
+
+ <el-col :span="5">
<el-form-item label="鎹愮尞鑰�" prop="infoid">
- <el-select
- v-model="form.infoid"
- @change="selectbaseinfo"
- filterable
- placeholder="璇烽�夋嫨鎹愮尞鑰�"
- >
- <el-option
- v-for="item in baselist"
- :key="item.index"
- :label="item.name"
- :value="item.infoid"
- >
+ <el-select v-model="form.infoid" @change="selectbaseinfo" filterable placeholder="璇烽�夋嫨鎹愮尞鑰�">
+ <el-option v-for="item in baselist" :key="item.index" :label="item.name" :value="item.infoid">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
+ <el-row style="margin-top: 10px">
+ <el-col :span="5">
+ <el-form-item label="鎶ラ攢閲戦" prop="amountrequested">
+ <el-input :disabled="true" v-model="form.amountrequested" placeholder="鎶ラ攢鍚堣閲戦" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="10">
+ <el-form-item label="澶у啓閲戦" prop="bigstrmoney">
+ <el-input :disabled="true" v-model="form.bigstrmoney" placeholder="鎶ラ攢澶у啓閲戦" />
+ </el-form-item>
+ </el-col><el-col :span="5">
+ <el-form-item label="瀹℃牳鐘舵��" prop="flowlevel">
+ <el-select v-model="form.recordstatus" placeholder="璇烽�夋嫨瀹℃牳鐘舵��" clearable :disabled="true" size="small">
+ <el-option v-for="dict in dict.type.sys_recordstatus" :key="dict.value" :label="dict.label"
+ :value="dict.value" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <!--
<el-row>
- <el-col :span="7">
- <el-form-item label="鍑哄樊浜哄垎绫�" prop="costtype">
- <el-select
- v-model="form.costtype"
- value-key="value"
- placeholder="璇烽�夋嫨鍑哄樊浜哄垎绫�"
- @change="getTravelers"
- >
- <el-option
- v-for="dict in dict.type.sys_travelexpensebelong"
- :key="dict.value"
- :label="dict.label"
- :value="dict.value"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="鍑哄樊浜�" prop="travelers">
- <el-select
- v-model="form.travelers"
- clearable
- filterable
- allow-create
- ref="getReportname"
- default-first-option
- placeholder="璇烽�夋嫨"
- @change="selectedTraveler"
- >
- <el-option
- v-for="item in travelers"
- :key="item.reportNo"
- :label="item.reportName"
- :value="item.reportName"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="7">
- <el-form-item label="鍖哄煙缁勯暱" prop="managername">
- <el-input v-model="form.managername" placeholder="鍖哄煙缁勯暱" />
- </el-form-item> </el-col></el-row
- ><el-row>
<el-col :span="15">
<el-form-item label="鍑哄樊浜嬬敱" prop="reason">
<el-input v-model="form.reason" placeholder="鍑哄樊浜嬬敱" />
</el-form-item>
</el-col>
- <el-col :span="7">
- <el-form-item label="鐢宠鏃ユ湡" prop="createTime">
- <el-date-picker
- style="width: 100%"
- v-model="form.createTime"
- type="date"
- value-format="yyyy-MM-dd HH:mm:ss"
- placeholder="鐢宠鏃ユ湡"
- >
- </el-date-picker>
+ <el-col :span="5">
+ <el-form-item label="鎶ラ攢鍒嗙被" prop="costtype">
+ <el-select v-model="form.costtype" value-key="value" placeholder="璇烽�夋嫨鍑哄樊浜哄垎绫�" @change="getTravelers">
+ <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label"
+ :value="dict.value"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="5">
+ <el-form-item label="鎶ラ攢浜�" prop="travelers">
+ <el-select v-model="form.travelers" clearable filterable allow-create ref="getReportname"
+ default-first-option placeholder="璇烽�夋嫨" @change="selectedTraveler">
+ <el-option v-for="item in travelers" :key="item.reportNo" :label="item.reportName"
+ :value="item.reportName">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="5">
+ <el-form-item label="鏀舵閾惰" prop="depositbank">
+ <el-input v-model="form.depositbank" placeholder="寮�鎴烽摱琛�" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="5">
+ <el-form-item label="閾惰璐﹀彿" prop="bankcardno">
+ <el-input v-model="form.bankcardno" placeholder="寮�鎴烽摱琛�" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="5">
+ <el-form-item label="鑱旂郴鐢佃瘽" prop="phone">
+ <el-input v-model="form.phone" placeholder="鑱旂郴鐢佃瘽" />
</el-form-item>
</el-col>
</el-row>
<el-row>
- <el-col :span="22">
- <el-form-item label="澶囨敞" prop="remark">
- <el-input v-model="form.remark" placeholder="澶囨敞" />
+ <el-col :span="20"><el-divider></el-divider></el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="5">
+ <el-form-item label="瀹跺睘璐圭敤" prop="donoramount">
+ <el-input :disabled="true" v-model="form.donoramount" placeholder="瀹跺睘璐圭敤" @blur="
+ (val) => {
+ sumTotalFee();
+ }
+ " onchange="if(/[^0-9.]/.test(this.value)){alert('璇锋纭緭鍏ユ暣鏁版暟瀛楁垨灏忔暟锛�');this.value='';}" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="15">
+ <el-form-item label="璐圭敤璇存槑" prop="donorremark">
+ <el-input :disabled="true" v-model="form.donorremark" placeholder="瀹跺睘璐圭敤璇存槑" />
</el-form-item>
</el-col>
</el-row>
<el-row>
- <el-col :span="8"> </el-col>
+ <el-col :span="5">
+ <el-form-item label="瀹跺睘浜烘暟" prop="donorrelatives">
+ <el-input v-model="form.donorrelatives" placeholder="瀹跺睘浜烘暟" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="5">
+ <el-form-item label="鏀舵浜�" prop="donorpayee">
+ <el-input v-model="form.donorpayee" placeholder="浜插睘鏀舵浜�" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="5">
+ <el-form-item label="鏀舵閾惰" prop="donorbank">
+ <el-input v-model="form.donorbank" placeholder="瀹跺睘閾惰" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="5">
+ <el-form-item label="閾惰鍗″彿" prop="donorbankcard">
+ <el-input v-model="form.donorbankcard" placeholder="閾惰鍗″彿" />
+ </el-form-item>
+ </el-col>
</el-row>
- <!-- <el-row type="flex" :gutter="10" align="right" class="mb8">
+ -->
+ <!--
+ <el-row type="flex" :gutter="10" align="right" class="mb8">
<el-col :span="6">
<el-button
type="primary"
@@ -441,456 +267,331 @@
>鏂板涓�琛�</el-button
>
</el-col>
- </el-row> -->
+ </el-row>
+ -->
<el-row>
- <el-table :data="applicationDetailArr" border highlight-current-row >
- <el-table-column
- prop="orderno"
- slot=""
- label="搴忓彿"
- align="center"
- fixed
- width="80"
- >
+ <el-table :data="applicationDetailArr" border highlight-current-row>
+ <el-table-column prop="orderno" slot="" label="搴忓彿" align="center" fixed width="65">
<template slot-scope="scope">
<el-input v-model="scope.row.orderno" placeholder="搴忓彿" />
</template>
</el-table-column>
- <el-table-column
- prop="starttime"
- slot=""
- label="鍑哄彂鏃ユ湡"
- fixed
- align="center"
- width="150"
- >
+ <!--涓婚敭銆佸涓嶅睍绀�-->
+ <el-table-column prop="id" slot="" label="涓婚敭" align="center" fixed width="95" v-if="false">
<template slot-scope="scope">
- <el-date-picker
- clearable
- size="small"
- style="width: 100%"
- v-model="scope.row.starttime"
- type="date"
- value-format="yyyy-MM-dd HH:mm:ss"
- placeholder="鍑哄彂鏃ユ湡"
- @change="getStandard(scope.row)"
- >
- </el-date-picker>
+ <el-input v-model="scope.row.id" placeholder="id" />
+ </template>
+ </el-table-column>
+ <el-table-column prop="rbid" slot="" label="澶栭敭" align="center" fixed width="95" v-if="false">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.rbid" placeholder="rbid" />
</template>
</el-table-column>
- <el-table-column
- prop="departure"
- slot=""
- label="鍑哄彂鍦扮偣"
- align="center"
- width="200"
- fixed
- >
+ <el-table-column prop="persontype" slot="" label="浜哄憳绫诲埆" align="center" fixed width="120">
<template slot-scope="scope">
- <el-input
- v-model="scope.row.departure"
- placeholder="鍑哄彂鍦扮偣"
- />
+ <el-select v-model="scope.row.persontype" value-key="value" placeholder="浜哄憳绫诲埆"
+ @change="getTravelers(scope.row)">
+ <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label"
+ :value="dict.value"></el-option>
+
+ </el-select>
</template>
</el-table-column>
- <el-table-column
- prop="endtime"
- slot=""
- label="鍒拌揪鏃ユ湡"
- align="center"
- width="150"
- fixed
- >
+ <el-table-column prop="personname2" slot="" label="璐圭敤浜哄憳" align="center" fixed width="120">
+ <!-- <template slot-scope="scope">
+ <el-input v-model="scope.row.personname" placeholder="鍑哄樊浜�" />
+ </template> -->
<template slot-scope="scope">
- <el-date-picker
- clearable
- size="small"
- style="width: 100%"
- v-model="scope.row.endtime"
- type="date"
- value-format="yyyy-MM-dd HH:mm:ss"
- placeholder="鍒拌揪鏃ユ湡"
- >
+ <el-select v-model="scope.row.personname" clearable filterable allow-create default-first-option
+ placeholder="璇烽�夋嫨" @focus="filterPersonList(scope.row)">
+ <el-option v-for="item in scope.row.personname2" :key="item.reportNo" :label="item.reportName"
+ :value="item.reportName">
+ </el-option>
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column prop="starttime" slot="" label="寮�濮嬫棩鏈�" fixed align="center" width="150">
+ <template slot-scope="scope">
+ <el-date-picker :picker-options="{
+ disabledDate: time => {
+ if (scope.row.endtime) { return time.getTime() > new Date(scope.row.endtime.replace(/-/g, '/')) }
+ }
+ }" clearable size="small" style="width: 100%" v-model="scope.row.starttime" type="date"
+ value-format="yyyy-MM-dd HH:mm:ss" placeholder="寮�濮嬫棩鏈�" @blur="getallowance(scope.row)">
</el-date-picker>
</template>
</el-table-column>
- <el-table-column
- label="鍒拌揪鍦扮偣"
- prop="destination"
- align="center"
- width="200"
- >
+ <el-table-column prop="endtime" slot="" label="缁撴潫鏃ユ湡" align="center" fixed width="150">
<template slot-scope="scope">
- <el-input
- v-model="scope.row.destination"
- placeholder="鍒拌揪鍦扮偣"
- />
- </template>
- </el-table-column>
- <el-table-column prop="days" label="澶╂暟" width="70" align="center">
- <template slot-scope="scope">
- <el-input
- v-model="scope.row.days"
- @blur="getStandard(scope.row)"
- placeholder="澶╂暟"
- />
- </template>
- </el-table-column>
- <el-table-column
- prop="traffictype"
- label="浜ら�氬伐鍏�"
- align="center"
- width="120"
- >
- <template slot-scope="scope">
- <el-input
- v-model="scope.row.traffictype"
- placeholder="浜ら�氬伐鍏�"
- />
- </template>
- </el-table-column>
- <el-table-column
- prop="trafficexpense"
- label="浜ら�氳垂"
- align="center"
- width="80"
- >
- <template slot-scope="scope">
- <el-input
- v-model="scope.row.trafficexpense"
- placeholder="浜ら�氳垂"
- @blur="
- (val) => {
- sumTotalFee();
+ <el-date-picker :picker-options="{
+ disabledDate: time => {
+ if (scope.row.starttime) { return time.getTime() < new Date(scope.row.starttime.replace(/-/g, '/')) }
}
- "
- />
+ }" clearable size="small" style="width: 100%" v-model="scope.row.endtime" type="date"
+ value-format="yyyy-MM-dd HH:mm:ss" placeholder="缁撴潫鏃ユ湡" @blur="getallowance(scope.row)">
+ </el-date-picker>
</template>
</el-table-column>
- <el-table-column
- prop="cityfee"
- label="甯傚唴浜ら�氳垂"
- align="center"
- width="100"
- >
+ <el-table-column prop="departure" slot="" label="鍑哄彂鍦�" align="center" fixed width="100">
<template slot-scope="scope">
- <el-input
- v-model="scope.row.cityfee"
- placeholder="甯傚唴浜ら�氳垂"
- @blur="
- (val) => {
- sumTotalFee();
- }
- "
- >{{ Number(scope.row.cityfee).toFixed(2) }}
+ <el-input v-model="scope.row.departure" placeholder="鍑哄彂鍦�" />
+ </template>
+ </el-table-column>
+ <el-table-column label="鍒拌揪鍦�" prop="destination2" align="center" fixed width="100">
+ <template slot-scope="scope">
+ <!-- <el-input v-model="scope.row.destination" placeholder="鍒拌揪鍦�" @blur="getallowance(scope.row)" /> -->
+
+ <el-select filterable allow-create v-model="scope.row.destination" value-key="value" placeholder="鍒拌揪鍦�"
+ @change="getallowance2(scope.row, scope.row.destination)">
+ <el-option v-for="dict in dict.type.sys_area_name" :key="dict.value" :label="dict.label"
+ :value="dict.value"></el-option>
+
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column prop="days" label="澶╂暟" width="65" align="center">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.days" @blur="getStandard(scope.row)" placeholder="澶╂暟" />
+ </template>
+ </el-table-column>
+ <el-table-column prop="traffictype" label="鍑哄彂浜ら�氬伐鍏�" align="center" width="100">
+ <template slot-scope="scope">
+ <el-select v-model="scope.row.traffictype" placeholder="鍑哄彂浜ら�氬伐鍏�">
+ <el-option v-for="dict in dict.type.sys_traffictype" :key="dict.value" :label="dict.label"
+ :value="dict.label"></el-option>
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column prop="traffictype2" label="杩斿洖浜ら�氬伐鍏�" align="center" width="100">
+ <template slot-scope="scope">
+ <el-select v-model="scope.row.traffictype2" placeholder="杩斿洖浜ら�氬伐鍏�">
+ <el-option v-for="dict in dict.type.sys_traffictype" :key="dict.value" :label="dict.label"
+ :value="dict.label"></el-option>
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column prop="trafficexpense" label="浜ら�氳垂" align="center" width="80">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.trafficexpense" placeholder="浜ら�氳垂" @blur="(val) => {
+ sumTotalFee();
+ }
+ " />
+ </template>
+ </el-table-column>
+ <!--
+ <el-table-column prop="cityfee" label="甯傚唴浜ら�氳垂" align="center" width="100">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.cityfee" placeholder="甯傚唴浜ら�氳垂" @blur="
+ (val) => {
+ sumTotalFee();
+ }
+ ">{{ Number(scope.row.cityfee).toFixed(2) }}
</el-input>
</template>
</el-table-column>
- <el-table-column
- prop="hotelexpense"
- label="浣忓璐�"
- align="center"
- width="80"
- >
+ -->
+ <el-table-column prop="hotelexpense" label="浣忓璐�" align="center" width="80">
<template slot-scope="scope">
- <el-input
- v-model="scope.row.hotelexpense"
- placeholder="浣忓璐�"
- @blur="
- (val) => {
- sumTotalFee();
- }
- "
- />
+ <el-input v-model="scope.row.hotelexpense" placeholder="浣忓璐�" @blur="(val) => {
+ sumTotalFee();
+ }
+ " />
</template>
</el-table-column>
- <el-table-column
- prop="otherexpense"
- label="鏉傝垂"
- align="center"
- width="80"
- >
+
+ <el-table-column prop="foodexpenses" label="椁愯垂鎶ラ攢" align="center" width="80">
<template slot-scope="scope">
- <el-input
- v-model="scope.row.otherexpense"
- placeholder="鏉傝垂"
- @blur="
- (val) => {
- sumTotalFee();
- }
- "
- />
+ <el-input v-model="scope.row.foodexpenses" placeholder="浼欓璐规姤閿�" @blur="(val) => {
+ sumTotalFee();
+ }
+ " />
</template>
</el-table-column>
- <el-table-column
- prop="foodexpenses"
- label="浼欓璐规姤閿�"
- align="center"
- width="100"
- >
+ <el-table-column prop="foodallowance" label="浼欓琛ュ姪" align="center" width="80">
<template slot-scope="scope">
- <el-input
- v-model="scope.row.foodexpenses"
- placeholder="浼欓璐规姤閿�"
- @blur="
- (val) => {
- sumTotalFee();
- }
- "
- />
+ <el-input v-model="scope.row.foodallowance" placeholder="浼欓璐硅ˉ鍔�" @blur="(val) => {
+ sumTotalFee();
+ }
+ " />
</template>
</el-table-column>
- <el-table-column
- prop="foodallowance"
- label="浼欓璐硅ˉ鍔�"
- align="center"
- width="100"
- >
+ <el-table-column prop="otherexpense" label="鍏潅璐硅ˉ鍔�" align="center" width="80">
<template slot-scope="scope">
- <el-input
- v-model="scope.row.foodallowance"
- placeholder="浼欓璐硅ˉ鍔�"
- @blur="
- (val) => {
- sumTotalFee();
- }
- "
- />
+ <el-input v-model="scope.row.otherexpense" placeholder="鏉傝垂" @blur="(val) => {
+ sumTotalFee();
+ }
+ " />
</template>
</el-table-column>
- <el-table-column
- prop="otherfeeamount"
- label="鍏朵粬璐圭敤"
- align="center"
- width="90"
- >
+
+ <el-table-column prop="otherfeeamount" label="鍏朵粬璐圭敤" align="center" width="90">
<template slot-scope="scope">
- <el-input
- v-model="scope.row.otherfeeamount"
- placeholder="鍏朵粬璐圭敤"
- @blur="
- (val) => {
- sumTotalFee();
- }
- "
- />
+ <el-input v-model="scope.row.otherfeeamount" placeholder="鍏朵粬璐圭敤" @blur="(val) => {
+ sumTotalFee();
+ }
+ " />
</template>
</el-table-column>
- <el-table-column
- prop="departure"
- slot=""
- label="鍏朵粬璐圭敤璇存槑"
- align="center"
- width="120"
- >
+ <el-table-column prop="departure" slot="" label="鍏朵粬璐圭敤璇存槑" align="center" width="120">
<template slot-scope="scope">
- <el-input
- v-model="scope.row.otherfeedesc"
- placeholder="鍏朵粬璐圭敤璇存槑"
- />
+ <el-input v-model="scope.row.otherfeedesc" placeholder="鍏朵粬璐圭敤璇存槑" />
</template>
</el-table-column>
- <el-table-column
- prop="total"
- label="鍚堣"
- align="center"
- width="110"
- >
+
+ <el-table-column prop="total" label="鍚堣" align="center" width="110">
<template slot-scope="scope">
<el-input v-model="scope.row.total" placeholder="鍚堣" />
</template>
</el-table-column>
- <el-table-column
- fixed="right"
- label="鎿嶄綔"
- align="center"
- width="120"
- v-if="dialogType == 'edit'"
- >
+ <el-table-column fixed="right" label="鎿嶄綔" align="center" width="120" v-if="dialogType == 'edit'">
<template slot-scope="scope">
- <el-button type="text" size="mini" @click="addRow(scope.$index)"
- >鏂板</el-button
- >
- <el-button
- @click.native.prevent="
- deleteRow(scope.$index, applicationDetailArr, scope.row)
- "
- type="text"
- size="small"
- >
+ <el-button type="text" size="mini" @click="addRow(scope.$index)">鏂板</el-button>
+ <el-button @click.native.prevent="deleteRow(scope.$index, applicationDetailArr, scope.row)
+ " type="text" size="small">
鍒犻櫎
</el-button>
</template>
</el-table-column>
</el-table>
</el-row>
- <el-row style="margin-top: 10px">
- <el-col :span="7">
- <el-form-item label="鎶ラ攢鍚堣" prop="amountrequested">
- <el-input v-model="form.amountrequested" placeholder="鎶ラ攢鍚堣" />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="澶у啓" prop="bigstrmoney">
- <el-input v-model="form.bigstrmoney" placeholder="棰嗘閲戦" />
- </el-form-item>
- </el-col>
- <el-col :span="7">
- <el-form-item label="棰嗘閲戦" prop="amountrequested">
- <el-input v-model="form.amountrequested" placeholder="棰嗘閲戦" />
- </el-form-item>
- </el-col>
+
+ <el-row style="margin-top: 30px">
+ <el-table :data="applicationDetailArr2" border highlight-current-row>
+ <el-table-column prop="col_orderno" slot="" label="搴忓彿" align="center" fixed width="65">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.col_orderno" placeholder="搴忓彿" />
+ </template>
+ </el-table-column>
+
+ <!--涓婚敭銆佸涓嶅睍绀�-->
+ <el-table-column prop="id" slot="" label="涓婚敭" align="center" fixed width="95" v-if="false">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.id" placeholder="id" />
+ </template>
+ </el-table-column>
+ <el-table-column prop="rbid" slot="" label="澶栭敭" align="center" fixed width="95" v-if="false">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.rbid" placeholder="rbid" />
+ </template>
+ </el-table-column>
+
+ <el-table-column prop="col_personType" slot="" label="浜哄憳绫诲埆" align="center" fixed width="120">
+ <template slot-scope="scope">
+ <el-select v-model="scope.row.col_personType" value-key="value" placeholder="浜哄憳绫诲埆"
+ @change="getColTravelers(scope.row, scope.row.col_personType)">
+ <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label"
+ :value="dict.value"></el-option>
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column prop="col_personname2" slot="" label="鏀舵浜�" align="center" fixed width="130">
+ <template slot-scope="scope">
+ <el-select v-model="scope.row.col_personname" clearable filterable allow-create ref="getReportname"
+ default-first-option placeholder="璇烽�夋嫨" @change="selectedColTraveler(scope.row)">
+ <el-option v-for="item in scope.row.col_personname2" :key="item.reportNo" :label="item.reportName"
+ :value="item.reportName">
+ </el-option>
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column prop="col_bank" slot="" label="鏀舵閾惰" align="center" fixed width="260">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.col_bank" placeholder="鏀舵閾惰" />
+ </template>
+ </el-table-column>
+ <el-table-column prop="col_accounts" slot="" label="鏀舵甯愬彿" align="center" fixed width="230">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.col_accounts" placeholder="鏀舵甯愬彿" />
+ </template>
+ </el-table-column>
+ <el-table-column prop="col_date" slot="" label="浠樻鏃ユ湡" align="center" fixed width="150">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.col_date" placeholder="浠樻鏃ユ湡" />
+ </template>
+ </el-table-column>
+ <el-table-column prop="col_illustrate" slot="" label="璇存槑" align="center" fixed width="310">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.col_illustrate" placeholder="璇存槑" />
+ </template>
+ </el-table-column>
+ <el-table-column label="鎿嶄綔" align="center" width="100" v-if="dialogType == 'edit'">
+ <template slot-scope="scope">
+ <el-button type="text" size="mini" @click="col_addRow(scope.$index)">鏂板</el-button>
+ <el-button @click.native.prevent="deleteRow2(scope.$index, applicationDetailArr2, scope.row)
+ " type="text" size="small">
+ 鍒犻櫎
+ </el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+
</el-row>
+
+ <!--
<el-row>
<el-col :span="7">
- <el-form-item label="寮�鎴烽摱琛�" prop="depositbank">
- <el-input v-model="form.depositbank" placeholder="寮�鎴烽摱琛�" />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="閾惰璐﹀彿" prop="bankcardno">
- <el-input v-model="form.bankcardno" placeholder="寮�鎴烽摱琛�" />
+ <el-form-item label="涓績璐熻矗浜�" prop="opochecker">
+ <el-input v-model="form.opochecker" placeholder="涓績璐熻矗浜�" />
</el-form-item>
</el-col>
<el-col :span="7">
- <el-form-item label="鑱旂郴鐢佃瘽" prop="phone">
- <el-input v-model="form.phone" placeholder="鑱旂郴鐢佃瘽" />
+ <el-form-item label="璐㈠姟鍓櫌闀�" prop="finvicepresident">
+ <el-input v-model="form.finvicepresident" placeholder="璐㈠姟鍓櫌闀�" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="7">
+ <el-form-item label="涓氬姟鍓櫌闀�" prop="busvicepresident">
+ <el-input v-model="form.busvicepresident" placeholder="涓氬姟鍓櫌闀�" />
</el-form-item>
</el-col>
</el-row>
- <el-col :span="7">
- <el-form-item label="涓績璐熻矗浜�" prop="opochecker">
- <el-input v-model="form.opochecker" placeholder="涓績璐熻矗浜�" />
- </el-form-item>
- </el-col>
-
- <el-col :span="8">
- <el-form-item label="璐㈠姟鍓櫌闀�" prop="finvicepresident">
- <el-input
- v-model="form.finvicepresident"
- placeholder="璐㈠姟鍓櫌闀�"
- />
- </el-form-item>
- </el-col>
- <el-col :span="7">
- <el-form-item label="涓氬姟鍓櫌闀�" prop="busvicepresident">
- <el-input
- v-model="form.busvicepresident"
- placeholder="涓氬姟鍓櫌闀�"
- />
- </el-form-item>
- </el-col>
<el-row>
<el-col :span="7">
<el-form-item label="鍔炲叕瀹や富浠�" prop="officedirector">
- <el-input
- v-model="form.officedirector"
- placeholder="鍔炲叕瀹や富浠�"
- />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="璐㈠姟閮ㄤ富浠�" prop="financedirector">
- <el-input
- v-model="form.financedirector"
- placeholder="璐㈠姟閮ㄤ富浠�"
- />
+ <el-input v-model="form.officedirector" placeholder="鍔炲叕瀹や富浠�" />
</el-form-item>
</el-col>
<el-col :span="7">
- <el-form-item label="瀹℃牳鐘舵��" prop="flowlevel">
- <el-select
- v-model="form.recordstatus"
- placeholder="璇烽�夋嫨瀹℃牳鐘舵��"
- clearable
- :disabled="true"
- size="small"
- >
- <el-option
- v-for="dict in dict.type.sys_recordstatus"
- :key="dict.value"
- :label="dict.label"
- :value="dict.value"
- />
- </el-select>
+ <el-form-item label="璐㈠姟閮ㄤ富浠�" prop="financedirector">
+ <el-input v-model="form.financedirector" placeholder="璐㈠姟閮ㄤ富浠�" />
</el-form-item>
</el-col>
</el-row>
+ -->
<el-row>
- <el-col :span="24">
- <!-- <el-form-item label="鏂囦欢鍦板潃" prop="fileurl">
+ <el-col :span="14">
+ <!--
+ <el-form-item label="鏂囦欢鍦板潃" prop="fileurl">
<el-input v-model="form.fileurl" placeholder="璇疯緭鍏ユ枃浠跺湴鍧�" />
- </el-form-item> -->
+ </el-form-item>
+ -->
<el-form-item label="鏂囦欢涓婁紶" align="left" prop="annexfiles">
<!-- <file-upload ref="fileUpload" :fileType=fileType :limit="1" :on-success="handleUploadSuccess"></file-upload> -->
- <el-upload
- size="mini"
- class="upload-demo"
- :action="uploadFileUrl"
- :file-list="fileList"
- multiple
- :limit="5"
- :headers="headers"
- :on-success="
- (response, file, fileList) =>
+ <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileList" multiple :limit="5"
+ :headers="headers" :on-success="(response, file, fileList) =>
uploadSccess(response, file, fileList)
- "
- :on-preview="downFile"
- :disabled='dialogType == "detail"'
- :on-error="handleUploadError"
- :on-exceed="handleExceed"
- :on-remove="remove"
- accept="image/*,.pdf"
-
- >
- <el-button :disabled='dialogType == "detail"' size="small" type="primary">涓婁紶</el-button>
+ " :on-preview="downFile" :disabled='dialogType == "detail"' :on-error="handleUploadError"
+ :on-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf">
+ <el-button :disabled='dialogType == "detail"' size="small" type="primary">涓婁紶</el-button>
</el-upload>
</el-form-item>
</el-col>
</el-row>
-
<el-row v-if="dialogType == 'detail'">
<el-table :data="fundflowList" border>
- <el-table-column
- label="瀹℃牳浜�"
- align="center"
- width="120"
- prop="checkusername"
- />
- <el-table-column
- label="瀹℃牳鏃ユ湡"
- align="center"
- width="160"
- prop="createTime"
- />
- <el-table-column
- label="瀹℃牳缁撴灉"
- align="center"
- width="200"
- prop="flowconclusion"
- ><template slot-scope="scope"
- ><span v-if="scope.row.flowconclusion == 1">閫氳繃</span
- ><span v-if="scope.row.flowconclusion == 2"
- >涓嶉�氳繃</span
- ></template
- >
+ <el-table-column label="瀹℃牳浜�" align="center" width="120" prop="checkusername" />
+ <el-table-column label="瀹℃牳鏃ユ湡" align="center" width="160" prop="createTime" />
+ <el-table-column label="瀹℃牳缁撴灉" align="center" width="200" prop="flowconclusion"><template
+ slot-scope="scope"><span v-if="scope.row.flowconclusion == 1">閫氳繃</span><span
+ v-if="scope.row.flowconclusion == 2">涓嶉�氳繃</span></template>
</el-table-column>
- <el-table-column
- label="瀹℃牳澶囨敞"
- align="center"
- prop="flowcontent"
- />
+ <el-table-column label="瀹℃牳澶囨敞" align="center" prop="flowcontent" />
</el-table>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
- <el-button
- type="primary"
- @click="submitForm"
- v-if="dialogType == 'edit'"
- >淇� 瀛�</el-button
- >
+ <el-button type="primary" @click="submitForm" v-if="dialogType == 'edit'">淇� 瀛�</el-button>
<el-button @click="cancel">鍙� 娑�</el-button>
</div>
</el-dialog>
@@ -899,6 +600,7 @@
<script>
import { listDonatebaseinfo } from "@/api/project/donatebaseinfo";
+import { addOrUpdateRBpayee, listReimbursementpayee } from "@/api/project/reimbursementpayee";
import {
listReimbursement,
getReimbursement,
@@ -907,32 +609,24 @@
updateReimbursement,
exportReimbursement,
getdownload,
- //鑾峰彇鍦板競瀵瑰簲鍩哄噯閲戦
- getstandardRMB,
fundSubmit,
} from "@/api/project/reimbursement";
-import { regionDataPlus, CodeToText } from "element-china-area-data";
import {
addReimbursementdetail,
updateReimbursementdetail,
listReimbursementdetailid,
getReimbursementdetaillist,
delReimbursementdetail,
- delReimbursementdetailrbid,
+ updateReimbursementdetaillist,
getTravelStandard,
} from "@/api/project/reimbursementdetail";
-
+import { listFundflow } from "@/api/project/fundflow";
import { getInfoBytheUserNo } from "@/api/project/externalperson";
-
+import { regionDataPlus, CodeToText } from "element-china-area-data";
import Li_area_select from "@/components/Address";
import { getUserProfile } from "@/api/system/user";
-import {
- listOrganization,
- getOrganization,
- listReportname,
- listUser,
-} from "@/api/project/organization";
-import { listFundflow } from "@/api/project/fundflow";
+import { getSubsidy } from "@/api/project/travelcity";
+import { listReportname, listUser } from "@/api/project/organization";
import { getToken } from "@/utils/auth";
export default {
components: {
@@ -946,11 +640,14 @@
"sys_financeitemtype",
"sys_recordstatus",
"sys_travelexpensebelong",
+ "sys_traffictype",
+ "sys_area_name",
],
data() {
return {
- reporters: [],
+ personList: [],
travelers: [],
+ coltravelers: [],
costtypeobj: {
value: 0,
label: "",
@@ -994,11 +691,15 @@
remark: null,
departure: null,
endtime: null,
- destination: null,
+ destination2: null,
uploadFlag: null,
uploadTime: null,
- orderByColumn: "createTime",
+ orderByColumn: "id",
isAsc: "desc",
+ },
+ queryParams2: {
+ persontype: null,
+ arriveAddr: null,
},
// 琛ㄥ崟鍙傛暟
form: {},
@@ -1009,7 +710,13 @@
{ required: true, message: "璇烽�夋嫨鎶ラ攢褰掔被", trigger: "blur" },
],
username: [
- { required: true, message: "璇疯緭鍏ユ姤閿�浜�", trigger: "blur" },
+ { required: true, message: "璇烽�夋嫨濉姤浜�", trigger: "blur" },
+ ],
+ travelers: [
+ { required: true, message: "璇烽�夋嫨鎶ラ攢浜�", trigger: "blur" },
+ ],
+ reason: [
+ { required: true, message: "璇疯緭鍏ュ嚭宸簨鐢�", trigger: "blur" },
],
},
//璐圭敤鐢宠鍗昮orm
@@ -1020,6 +727,7 @@
bigstrmoney: null,
},
applicationDetailArr: [],
+ applicationDetailArr2: [],
arrr2: [],
baselist: [],
balist: [],
@@ -1028,18 +736,25 @@
fundflowList: [],
showApproveRecordDialog: false,
dialogType: "edit",
- uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
- //鏂囦欢鍒楄〃
+
+ //涓婁紶鍙戠エ鏂囦欢璺緞
+ uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
+ //鏂囦欢鍒楄〃
fileList: [],
- headers: {
+ //浜哄憳绫诲埆
+ persontype: null,
+ //鍒拌揪鍦�
+ arriveAddr: null,
+
+ headers: {
Authorization: "Bearer " + getToken(),
},
};
},
created() {
this.getList();
- this.getlistUser();
- this.selectReporters();
+ this.getUserList();
+ this.getPersonList();
},
mounted() {
listDonatebaseinfo().then((res) => {
@@ -1056,22 +771,23 @@
// console.log("缁勫悎鐨勬柊鏁扮粍", baseinfolist);
if (baseinfolist != 0) {
this.baselist = baseinfolist;
- // console.log("11111111", this.baselist);
}
});
this.getUsermsg();
},
methods: {
- handleUploadError() {},
- remove(file) {
-
- this.fileList.splice(this.fileList.indexOf(file),1)
-
+ alertMessage(row) {
+ debugger
},
- handleExceed() {
+
+ handleUploadError() { },
+ remove(file) {
+ this.fileList.splice(this.fileList.indexOf(file), 1)
+ },
+ handleExceed() {
this.$message.error(`涓婁紶鏂囦欢鏁伴噺涓嶈兘瓒呰繃 ${5} 涓�!`);
},
- //鏂囦欢涓婁紶鎴愬姛鍥炶皟
+ //鏂囦欢涓婁紶鎴愬姛鍥炶皟
uploadSccess(response, file, fileList) {
//鑾峰彇闄勪欢淇℃伅浣嶇疆
if (response.code == 200) {
@@ -1082,41 +798,67 @@
} else {
this.$modal.msgError(response.msg);
}
- //console.log("涓婁紶鏂囦欢鍚庯細" + JSON.stringify(this.fileList));
},
- selectReporters() {
- //涓撳浜哄憳鍒楄〃
- let arr = ["xty1", "zzry", "fzr"];
- let arrreportlist = [];
- for (let i = 0; i < arr.length; i++) {
- this.arrr2 = [];
- listReportname(arr[i]).then((res) => {
- this.arrr2 = res.data;
- this.reporters = this.reporters.concat(this.arrr2);
- // console.log("adadadadasdsad", this.reporters);
+
+ //鑾峰彇浜哄憳鍒楄〃
+ getPersonList() {
+ //鑾峰彇鍚勭被鍒殑浜哄憳锛氬崗璋冨憳銆佷笓鑱屼汉鍛樸�佽礋璐d汉銆佷笓瀹�
+ let persontypeArr = ["xty1", "zzry", "fzr", "expert"];
+ for (let i = 0; i < persontypeArr.length; i++) {
+ this.tempArrr = [];
+ listReportname(persontypeArr[i]).then((res) => {
+ this.tempArrr = res.data;
+ this.personList = this.personList.concat(this.tempArrr);
});
}
},
+ //鑾峰彇涓�涓被鍒殑浜哄憳鍒楄〃
+ filterPersonList(row) {
+ let travelertype = row.persontype;
+ },
//鑾峰彇鍑哄樊浜哄垪琛�
- getTravelers() {
+ getTravelers(row, val) {
//涓撹亴浜哄憳-1,鍗忚皟鍛�-2,涓撳-3,瀹跺睘-4,鍏朵粬浜哄憳-5
let travelertype = "";
- if (this.form.costtype == 1) {
+ if (row.persontype == "1") {
travelertype = "zzry";
- } else if (this.form.costtype == 2) {
+ } else if (row.persontype == "2") {
travelertype = "xty1";
- } else if (this.form.costtype == 3) {
+ } else if (row.persontype == "3") {
travelertype = "expert";
- } else if (this.form.costtype == 4) {
+ } else if (row.persontype == "4") {
travelertype = "jiashu";
- } else if (this.form.costtype == 5) {
+ } else if (row.persontype == "5") {
travelertype = "fzr";
}
-
listReportname(travelertype).then((res) => {
this.travelers = res.data;
+ row.personname2 = res.data;
});
+ this.form.persontype = val;
+ },
+ //鑾峰彇鏀舵浜哄垪琛�
+ getColTravelers(row, val2) {
+ debugger;
+ //涓撹亴浜哄憳-1,鍗忚皟鍛�-2,涓撳-3,瀹跺睘-4,鍏朵粬浜哄憳-5
+ let travelertype = "";
+ if (val2 == 1) {
+ travelertype = "zzry";
+ } else if (val2 == 2) {
+ travelertype = "xty1";
+ } else if (val2 == 3) {
+ travelertype = "expert";
+ } else if (val2e == 4) {
+ travelertype = "jiashu";
+ } else if (val2 == 5) {
+ travelertype = "fzr";
+ }
+ listReportname(travelertype).then((res) => {
+ this.travelers = res.data;
+ row.col_personname2 = res.data;
+ });
+ this.col_personType = val2;
},
selectcosttype() {
@@ -1130,7 +872,8 @@
this.standardlevel = response.data.standardlevel;
});
},
- getlistUser() {
+
+ getUserList() {
listUser().then((res) => {
this.userlist = res.data;
});
@@ -1146,7 +889,102 @@
}
});
},
+ //鑾峰彇鏀舵浜洪摱琛屽崱鍜屽笎鍙�
+ selectedColTraveler(row) {
+ let travelertype = "";
+ if (row.col_personType == 1) {
+ travelertype = "zzry";
+ } else if (row.col_personType == 2) {
+ travelertype = "xty1";
+ } else if (row.col_personType == 3) {
+ travelertype = "expert";
+ } else if (row.col_personType == 4) {
+ travelertype = "jiashu";
+ } else if (row.col_personType == 5) {
+ travelertype = "fzr";
+ }
+ listReportname(travelertype).then((res) => {
+ let dataArr = res.data;
+ for (let m = 0; m < dataArr.length; m++) {
+ if (dataArr[m].reportName == row.col_personname) {
+ row.col_bank = dataArr[m].depositbank;
+ row.col_accounts = dataArr[m].bankcardno;
+ };
+ }
+ });
+ // this.coltravelers.map((res) => {
+ // console.log("-----------------------------");
+ // if (res.reportName == this.form.travelers) {
+ // getInfoBytheUserNo(res.reportNo).then((res) => {
+ // this.form.depositbank = res.data.depositbank;
+ // this.form.bankcardno = res.data.bankcardno;
+ // this.form.phone = res.data.telephone;
+ // });
+ // }
+ // });
+ },
+ //璁$畻琛ュ姪
+ getallowance(row) {
+ if (
+ row.starttime != "" &&
+ row.starttime != null &&
+ row.endtime != "" &&
+ row.endtime != null
+ ) {
+ //璁$畻澶╂暟
+ row.days = 1 + Math.floor(Math.abs(Date.parse(row.starttime) - Date.parse(row.endtime)) / (1099 * 3699 * 24))
+ /*let aDate, oDate1, oDate2, Date_end,Date_start;
+ Date_end = row.endtime.split(" "); //灏嗘椂闂翠互绌烘牸鍒掑垎涓轰袱涓暟缁� 绗竴涓暟缁勬槸 2019-05-20 绗簩涓暟缁勬槸 00锛�00锛�00
+ aDate = Date_end[0].split("-"); //鑾峰彇绗竴涓暟缁勭殑鍊�
+ oDate1 = new Date(aDate[0], aDate[1], aDate[2]); //灏嗗墠鍗婁釜鏁扮粍浠�-鎷嗗垎锛屾瘡涓�涓槸涓�涓暟鍊�
+
+ Date_start = row.starttime.split(" ");
+ aDate = Date_start[0].split("-");
+ oDate2 = new Date(aDate[0], aDate[1], aDate[2]);
+ row.days = 1+parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24); //鎶婄浉宸殑姣鏁拌浆鎹负澶╂暟
+ */
+ } else {
+ row.days = ''
+ };
+
+ //鍏潅璐硅ˉ鍔╋細鏉窞妗愬簮锛屽缓寰凤紝娣冲畨60锛屾澀宸炲叾浠栧湴鍖�0锛岄潪鏉窞鍦板尯80
+ if (row.destination2 != "") {
+ var str = row.destination2;
+ //楠岃瘉鍩庡競
+ ////if (str.indexOf("妗愬簮锛屽缓寰凤紝娣冲畨") !== -1) { };
+ if (str.includes("鏉窞")) { row.otherexpense = parseInt(row.days) * 0 }
+ else if (str.includes("妗愬簮") || str.includes("寤哄痉") || str.includes("娣冲畨")) { row.otherexpense = parseInt(row.days) * 60 }
+ else { row.otherexpense = parseInt(row.days) * 80 };
+ }
+
+ //浼欓璐硅ˉ鍔╋細鍩庡競锛堣タ钘忥紝鏂扮枂锛岄潚娴�.120锛夛紙鍏朵粬100锛�
+ row.foodallowance = parseInt(row.days) * 100
+
+ //璁$畻鍚堣
+ this.sumTotalFee();
+ },
+ getallowance2(row, val2) {
+ debugger;
+ // this.getallowance(row);
+ this.arriveAddr = val2;
+ this.queryParams2.arriveAddr;
+ this.queryParams2.personType = row;
+ console.log(row.persontype);
+ console.log(this.arriveAddr);
+ if (row.persontype != undefined && row.persontype == "2" || row.persontype == "5") {
+ console.log(this.arriveAddr);
+ this.loading = true;
+ debugger;
+ getSubsidy(val2).then((response) => {
+ debugger
+ this.loading = false;
+ row.otherexpense = response.data.others;
+ row.foodallowance = response.data.food;
+ });
+
+ }
+ },
getStandard(row) {
if (
row.searchAddress.sheng != "" &&
@@ -1188,7 +1026,7 @@
row.searchAddress.shi != "" &&
row.searchAddress.qu != ""
) {
- row.destination =
+ row.destination2 =
row.searchAddress.sheng +
row.searchAddress.shi +
row.searchAddress.qu;
@@ -1232,20 +1070,21 @@
}
return area;
},
+
selectbaseinfo() {
- console.log("infoid", this.form.infoid);
let list = this.balist;
list.forEach((item) => {
if (item.id == this.form.infoid) {
- // console.log('鐩稿悓鐨�',item.id,item)
this.form.donorno = item.donorno;
this.form.donorname = item.name;
}
});
},
+
onpick(e) {
// console.log(e,this.value1)
},
+
gettable(e) {
const id = e.id;
getdownload(e.id).then((res) => {
@@ -1274,6 +1113,7 @@
// aEle.click();
// });
},
+
/** 鏌ヨ鎶ラ攢鐢宠鍒楄〃 */
getList() {
this.loading = true;
@@ -1287,11 +1127,11 @@
// 鍙栨秷鎸夐挳
cancel() {
this.open = false;
-
+
},
// 琛ㄥ崟閲嶇疆
reset() {
-
+
this.fileList = []
this.form = {
ceshi: {},
@@ -1338,6 +1178,7 @@
costtypename: null,
};
this.applicationDetailArr = [];
+ this.applicationDetailArr2 = [];
this.resetForm("form");
},
//
@@ -1346,15 +1187,12 @@
},
// 涓嬭浇鏂囦欢
downFile(item) {
-
const url = process.env.VUE_APP_BASE_API + item.url
- var a = document.createElement('a');
- var event = new MouseEvent('click');
- a.download = item.name;
- a.href = url;
- a.dispatchEvent(event);
-
-
+ var a = document.createElement('a');
+ var event = new MouseEvent('click');
+ a.download = item.name;
+ a.href = url;
+ a.dispatchEvent(event);
},
/** 鎼滅储鎸夐挳鎿嶄綔 */
handleQuery() {
@@ -1389,25 +1227,35 @@
this.form.username = this.defaultperson.nickName;
this.form.userno = this.defaultperson.userName;
this.addRow();
+ this.col_addRow();
this.open = true;
this.title = "娣诲姞鎶ラ攢鐢宠";
},
/** 淇敼鎸夐挳鎿嶄綔 */
handleUpdate(row) {
- this.dialogType = "edit";
+ this.dialogType = "edit";
this.reset();
const id = row.id || this.ids;
getReimbursement(id).then((response) => {
this.form = response.data;
- this.fileList = this.form.annexfiles ? this.form.annexfiles.split(",").map(item => ({url: item, name: item } )) : []
+ this.fileList = this.form.annexfiles ? this.form.annexfiles.split(",").map(item => ({ url: item, name: item })) : []
this.form.recordstatus = response.data.recordstatus + "";
this.open = true;
this.title = "淇敼鎶ラ攢鐢宠";
let ids = response.data.id;
getReimbursementdetaillist(ids).then((res) => {
+ if (res.data.length == 0) {
+ return;
+ }
this.applicationDetailArr = res.data;
for (let i = 0; i < this.applicationDetailArr.length; i++) {
+ debugger;
+ // this.applicationDetailArr[i].personname2 = res.data[i].personname;
+ }
+
+ for (let i = 0; i < this.applicationDetailArr.length; i++) {
+ debugger;
this.applicationDetailArr[i].index = i;
this.applicationDetailArr[i].searchAddress = {
sheng: this.applicationDetailArr[i].travelprovincename,
@@ -1417,7 +1265,19 @@
}
this.sumTotalFee();
});
+ let obj = { rbid: ids };
+ listReimbursementpayee(obj).then((res) => {
+ if (res.rows.length == 0) {
+ return;
+ }
+ this.applicationDetailArr2 = res.rows;
+ // this.sumTotalFee();
+ });
});
+ //榛樿瀛樺湪涓�琛�
+ this.addRow();
+ this.col_addRow();
+ this.selectedTraveler();
},
/** 鏌ョ湅鎸夐挳鎿嶄綔 */
handleDetail(row) {
@@ -1426,8 +1286,8 @@
const id = row.id || this.ids;
getReimbursement(id).then((response) => {
this.form = response.data;
- this.fileList = this.form.annexfiles ? this.form.annexfiles.split(",").map(item => ({url: item, name: item } )) : []
-
+ this.fileList = this.form.annexfiles ? this.form.annexfiles.split(",").map(item => ({ url: item, name: item })) : []
+
this.form.recordstatus = response.data.recordstatus + "";
this.open = true;
this.title = "鏌ョ湅鎶ラ攢鐢宠";
@@ -1455,7 +1315,9 @@
},
/** 鎻愪氦鎸夐挳 */
submitForm() {
+ debugger;
this.$refs["form"].validate((valid) => {
+ debugger;
if (valid) {
let indexErrTime = this.applicationDetailArr.findIndex((item) => {
if (item.endtime && item.starttime) {
@@ -1515,7 +1377,7 @@
let costtypeindex = belongArr.findIndex(
(item) => this.form.costtype == item.value
);
- let list = this.fileList;
+ let list = this.fileList;
if (list.length > 0) {
this.form.annexfiles = list.map(item => item.url).join(",");
}
@@ -1523,23 +1385,35 @@
this.form.costtypename = belongArr[costtypeindex].label;
}
if (this.form.id != null) {
+ //rbid涓昏〃Id,鏂逛究鍚庨潰鍏宠仈涓昏〃
+ let rbid = this.form.id;
+ for (let i = 0; i < this.applicationDetailArr.length; i++) {
+ this.applicationDetailArr[i].rbid = rbid;
+ }
updateReimbursement(this.form).then((response) => {
- // console.log('鏇存柊涓昏〃鐨勪俊鎭�',response);
- for (let i = 0; i < this.applicationDetailArr.length; i++) {
- if (this.applicationDetailArr[i].rbid != null) {
- updateReimbursementdetail(this.applicationDetailArr[i]);
- } else {
- this.applicationDetailArr[i].rbid = this.form.id;
- addReimbursementdetail(this.applicationDetailArr[i]);
+ updateReimbursementdetaillist(this.applicationDetailArr).then((response) => {
+ //鏇存柊鏀粯琛ㄤ俊鎭�
+ for (let i = 0; i < this.applicationDetailArr2.length; i++) {
+ this.applicationDetailArr2[i].rbid = rbid;
}
- }
- this.$modal.msgSuccess("淇敼鎴愬姛");
- this.open = false;
- this.getList();
+ addOrUpdateRBpayee(this.applicationDetailArr2);
+ for (let i = 0; i < this.applicationDetailArr.length; i++) {
+ if (this.applicationDetailArr[i].rbid != null) {
+ updateReimbursementdetail(this.applicationDetailArr[i]);
+ } else {
+ this.applicationDetailArr[i].rbid = this.form.id;
+ addReimbursementdetail(this.applicationDetailArr[i]);
+ }
+ }
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ this.open = false;
+ this.getList();
+ });
});
} else {
this.form.recordstatus = -1;
const applicationDetailArr = [...this.applicationDetailArr]
+ const applicationDetailArr2 = [...this.applicationDetailArr2]
addReimbursement(this.form).then((response) => {
this.$modal.msgSuccess("鏂板鎴愬姛");
this.open = false;
@@ -1553,14 +1427,13 @@
let id = res.data;
for (let i = 0; i < applicationDetailArr.length; i++) {
applicationDetailArr[i].rbid = id;
-
addReimbursementdetail(applicationDetailArr[i]);
}
- console.log("idaaaaaa:", res,id,this.applicationDetailArr);
+ for (let i = 0; i < applicationDetailArr2.length; i++) {
+ applicationDetailArr2[i].rbid = id;
+ }
+ addOrUpdateRBpayee(applicationDetailArr2);
});
- //details鏂板
-
- // applicationDetailArr
});
}
}
@@ -1580,7 +1453,7 @@
this.getList();
this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
})
- .catch(() => {});
+ .catch(() => { });
},
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
handleExport() {
@@ -1595,7 +1468,7 @@
this.$download.name(response.msg);
this.exportLoading = false;
})
- .catch(() => {});
+ .catch(() => { });
},
//鏂板涓�琛�
@@ -1612,7 +1485,7 @@
starttime: null,
departure: null,
endtime: null,
- destination: null,
+ destination2: null,
days: null,
trafficexpense: 0,
traffictype: null,
@@ -1635,6 +1508,9 @@
uploadTime: null,
total: 0,
orderno: null,
+ personname2: null,
+ personname: null,
+ destination: null,
};
if (rowIndex == undefined || rowIndex == null || rowIndex < 0) {
this.applicationDetailArr.push(rowData);
@@ -1643,6 +1519,28 @@
}
for (let i = 0; i < this.applicationDetailArr.length; i++) {
this.applicationDetailArr[i].orderno = i + 1;
+ }
+ },
+
+ col_addRow(rowIndex) {
+ let rowData = {
+ id: null,
+ col_personType: null,
+ col_personname: null,
+ col_bank: null,
+ col_accounts: null,
+ col_date: null,
+ col_illustrate: null,
+ col_orderno: null,
+ col_personname2: null,
+ };
+ if (rowIndex == undefined || rowIndex == null || rowIndex < 0) {
+ this.applicationDetailArr2.push(rowData);
+ } else {
+ this.applicationDetailArr2.splice(rowIndex + 1, 0, rowData);
+ }
+ for (let i = 0; i < this.applicationDetailArr2.length; i++) {
+ this.applicationDetailArr2[i].col_orderno = i + 1;
}
},
@@ -1673,16 +1571,45 @@
});
},
+ deleteRow2(index, rows, row) {
+ this.$confirm("鏄惁纭鍒犻櫎?", "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "success",
+ })
+ .then(() => {
+ console.log(row);
+ if (row.id !== null) {
+ delReimbursementdetail(row.id).then((res) => {
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ rows.splice(index, 1);
+ this.recountOrderNo2();
+ // this.sumTotalFee();
+ });
+ } else {
+ rows.splice(index, 1);
+ //this.sumTotalFee();
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ this.recountOrderNo2();
+ }
+ })
+ .catch(() => {
+ //鍑犵偣鍙栨秷鐨勬彁绀�
+ });
+ },
recountOrderNo() {
for (let i = 0; i < this.applicationDetailArr.length; i++) {
this.applicationDetailArr[i].orderno = i + 1;
}
},
+ recountOrderNo2() {
+ for (let i = 0; i < this.applicationDetailArr2.length; i++) {
+ this.applicationDetailArr2[i].orderno = i + 1;
+ }
+ },
//涓婃姤
handleup(row) {
- console.log("rowrowrowrow", row);
-
this.$confirm("鏄惁纭灏嗙櫥璁拌褰曚笂鎶ワ紵", "鎻愮ず", {
confirmButtonText: "纭畾",
cancelButtonText: "鍙栨秷",
@@ -1721,6 +1648,12 @@
sumTotalFee() {
// debugger;
let allSum = 0;
+ //鎹愮尞鑰呭灞炶垂鐢�
+ if (!isNaN(parseFloat(this.form.donoramount))) {
+ allSum += parseFloat(this.form.donoramount);
+ }
+
+ //鎶ラ攢鏄庣粏璐圭敤
try {
for (let i = 0; i < this.applicationDetailArr.length; i++) {
let totalFee = 0;
@@ -1752,9 +1685,10 @@
allSum += parseFloat(this.applicationDetailArr[i].total);
}
}
+
this.form.amountrequested = allSum.toFixed(2);
this.form.bigstrmoney = this.convertCurrency(this.form.amountrequested);
- } catch {}
+ } catch { }
},
getDetailArr(rbid) {
--
Gitblit v1.9.3