From 935c201bdcf4adde998d46893dd0fa3eddf400bb Mon Sep 17 00:00:00 2001 From: yxh <172933527@qq.com> Date: 星期四, 20 七月 2023 17:55:22 +0800 Subject: [PATCH] 1 --- src/views/project/fund/expertFeeFundApply/index.vue | 1344 +++++++++++++++++++++++---------------------------------- 1 files changed, 544 insertions(+), 800 deletions(-) diff --git a/src/views/project/fund/expertFeeFundApply/index.vue b/src/views/project/fund/expertFeeFundApply/index.vue index ec20d14..d4b0c3f 100644 --- a/src/views/project/fund/expertFeeFundApply/index.vue +++ b/src/views/project/fund/expertFeeFundApply/index.vue @@ -1,58 +1,29 @@ <!-- --> <template> <div class="app-container"> - <el-form - :model="queryParams" - ref="queryForm" - :inline="true" - label-width="70px" - > + <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="70px"> <el-row align="left"> <el-col :span="6"> <el-form-item label="濮撳悕" prop="name"> - <el-input - v-model="queryParams.name" - placeholder="璇疯緭鍏ュ鍚�" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> + <el-input v-model="queryParams.name" placeholder="璇疯緭鍏ュ鍚�" clearable size="small" + @keyup.enter.native="handleQuery" /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="鎹愮尞杩涘害" prop="recordstate"> - <el-select - v-model="queryParams.recordstate" - placeholder="璇烽�夋嫨璁板綍鐘舵��" - clearable - size="small" - > - <el-option - v-for="dict in dict.type.sys_DonationStatus" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-select v-model="queryParams.recordstate" placeholder="璇烽�夋嫨璁板綍鐘舵��" clearable size="small"> + <el-option v-for="dict in dict.type.sys_DonationStatus" :key="dict.value" :label="dict.label" + :value="dict.value" /> </el-select> </el-form-item> </el-col> - <el-col :span="6"> - <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-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-col> </el-row> </el-form> - <el-row> <el-col :span="8"> <el-card shadow="never"> @@ -63,61 +34,36 @@ </el-row> </el-col> </el-row> - - <el-table - v-loading="loading" - border - highlight-current-row - :data="donatebaseinfoList" - @row-click="selectDonotor" - > + <el-table v-loading="loading" highlight-current-row :data="donatebaseinfoList" @row-click="selectDonotor"> <!-- <el-table-column label="鎹愮尞缂栧彿" align="center" prop="donorno" /> --> <el-table-column label="鎹愮尞杩涘害" align="center" prop="recordstate"> <template slot-scope="scope"> - <dict-tag - :options="dict.type.sys_DonationStatus" - :value="scope.row.recordstate" - :key="dict.value" - /> + <dict-tag :options="dict.type.sys_DonationStatus" :value="scope.row.recordstate" :key="dict.value" /> <!-- :label="dict.label" --> </template> </el-table-column> <el-table-column label="濮撳悕" align="center" prop="name" /> </el-table> - <pagination - v-show="total > 0" - :total="total" - small - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getBaseInfoList" - /> + <pagination v-show="total > 0" :total="total" small :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" @pagination="getBaseInfoList" /> </el-card> </el-col> - <el-col :span="16"> <el-card shadow="naver"> <el-form ref="infoform" label-width="100px"> <el-row :gutter="4" align="right" class="mb8"> <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['project:expretfund:add']" - >涓撳璐圭敤鐢宠</el-button - > + <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" + v-hasPermi="['project:expretfund:add']">涓撳璐圭敤鐢宠</el-button> </el-col> <el-col :span="9"> <el-form-item label="鎹愮尞缂栧彿"> - <el-input v-model="curCase.donorno" disabled></el-input> + <el-input v-model="curCase.donorno" :disabled="true"></el-input> </el-form-item> </el-col> <el-col :span="9"> <el-form-item label="濮撳悕"> - <el-input v-model="curCase.name" disabled></el-input> + <el-input v-model="curCase.name" :disabled="true"></el-input> </el-form-item> </el-col> <el-col> @@ -125,111 +71,44 @@ </el-col> </el-row> <el-row> - <el-table - v-loading="loading" - border - :data="donateconsolationfundList" - > - <el-table-column - label="鐢宠鏃ユ湡" - align="center" - prop="createTime" - width="180px" - > + <el-table v-loading="loading" border :data="donateconsolationfundList"> + <el-table-column label="鐢宠鏃ユ湡" align="center" prop="createTime" width="180px"> <template slot-scope="scope"> <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span> </template> </el-table-column> - <el-table-column - label="鐢宠浜�" - align="center" - prop="username" - width="120px" - /> - <el-table-column - label="瀹℃牳鐘舵��" - width="150" - align="center" - prop="recordstatus" - > + <el-table-column label="鐢宠浜�" align="center" prop="username" width="120px" /> + <el-table-column label="瀹℃牳鐘舵��" width="150" align="center" prop="recordstatus"> <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="鎵�灞炵粍鍒�" align="center" prop="deptmentname" width="220px" /> + <el-table-column label="缁勯暱" align="center" prop="managername" width="150px" /> <!-- <el-table-column label="鐢宠閲戦" align="center" prop="amountrequested" width="120px" - /> --> - <el-table-column - label="鑱旂郴鐢佃瘽" - align="center" - prop="phone" - width="150px" - /> - - <el-table-column - label="宸ヤ綔鍗曚綅" - align="center" - prop="unitname" - width="220px" - /> - - <el-table-column - label="鎿嶄綔" - fixed="right" - align="center" - class-name="small-padding fixed-width" - width="280px" - > + /> + <el-table-column label="鑱旂郴鐢佃瘽" align="center" prop="phone" width="150px" /> + <el-table-column label="宸ヤ綔鍗曚綅" align="center" prop="unitname" width="220px" /> --> + <el-table-column label="鎿嶄綔" fixed="right" align="center" class-name="small-padding fixed-width" + width="280px"> <template slot-scope="scope"> - <el-button - v-if=" - scope.row.recordstatus == -1 || - scope.row.recordstatus == 1 - " - size="mini" - type="text" - icon="el-icon-edit" - @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-edit" @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:expretfund: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:expretfund:delete']" --> <!-- <el-button size="mini" @@ -237,7 +116,7 @@ icon="el-icon-download" @click="mixExport(scope)" >涓嬭浇</el-button - > --> + > --> <!-- v-hasPermi="['project:expretfund:download']" --> </template> </el-table-column> @@ -249,229 +128,152 @@ </el-row> <!-- 娣诲姞鎴栦慨鏀硅垂鐢ㄧ敵璇峰崟 --> - <el-dialog - :visible.sync="dialogOpen" - :close-on-click-modal="false" - width="1600px" - :title="title" - style="text-align: center" - v-loading="loading" - > - <el-form - style="height: 550px; overflow-y: auto; overflow-x: hidden" - ref="form" - :model="form" - label-width="120px" - :rules="rules" - > - <el-row> - <el-col :span="7"> - <el-form-item label="鎹愮尞缂栧彿" prop="donorno"> - <el-input - disabled - v-model="form.donorno" - placeholder="璇疯緭鍏ユ崘鐚紪鍙�" - clearable - /> + <el-dialog :visible.sync="dialogOpen" :close-on-click-modal="false" width="1400px" :title="title" + style="text-align: center" v-loading="loading"> + <el-form style="height: 550px; overflow-y: auto; overflow-x: hidden" ref="form" :model="form" label-width="120px" + :rules="rules"> + <el-row style="text-align: left"> + <el-col :span="5"> + <el-form-item label="鐢宠鏃ユ湡" prop="createTime"> + <el-date-picker clearable 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="8"> - <el-form-item label="鎹愮尞鑰�" prop="name"> - <el-input - disabled - v-model="form.name" - placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" - clearable - /> + <el-col :span="5"> + <el-form-item label="鎵�灞炵粍鍒�" prop="deptmentname"> + <el-input v-model="form.deptmentname" placeholder="璇疯緭鍏ユ墍灞炵粍鍒�" clearable /> </el-form-item> </el-col> - <el-col :span="7"> - <el-form-item label="瀹℃牳鐘舵��" prop="recordstatus"> - <!-- <el-input - v-model="form.recordstatus" - placeholder="瀹℃牳鎰忚" - /> --> - <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-col :span="5"> + <el-form-item label="缁勯暱" prop="managername"> + <el-input v-model="form.managername" placeholder="璇疯緭鍏ョ粍闀�" clearable /> + </el-form-item> + </el-col><el-col :span="5"> + <el-form-item label="缁忓姙浜�" prop="username"> + <el-select v-model="form.username" placeholder="鐢宠浜�" clearable filterable allow-create style="width: 100%"> + <el-option v-for="dict in userlist" :key="dict.index" :label="dict.nickname" + :value="dict.nickname"></el-option> </el-select> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="7"> - <el-form-item label="鐢宠浜�" prop="username"> - <el-select - v-model="form.username" - placeholder="鐢宠浜�" - clearable - filterable - allow-create - style="width: 100%" - > - <el-option - v-for="dict in userlist" - :key="dict.index" - :label="dict.nickname" - :value="dict.nickname" - ></el-option> - </el-select> - </el-form-item> - </el-col> - - <el-col :span="8"> - <el-form-item label="鑱旂郴鐢佃瘽" prop="phone"> - <el-input - v-model="form.phone" - placeholder="璇疯緭鍏ョ敵璇疯�呯殑鑱旂郴鏂瑰紡" - clearable - /> - </el-form-item> - </el-col> - - <el-col :span="7"> - <el-form-item label="宸ヤ綔鍗曚綅" prop="unitno"> - <org-selecter - ref="orgSelecter" - :org-type="'3'" - v-model="form.unitno" - /> </el-form-item> </el-col> </el-row> <el-row style="text-align: left"> - <el-form-item label="璐圭敤鐢宠"> - <el-radio v-model="form.applytype" label="1">涓撳璐圭敤鐢宠</el-radio> - </el-form-item> + <!-- + <el-col :span="7"> + <el-form-item label="鑱旂郴鐢佃瘽" prop="phone"> + <el-input v-model="form.phone" placeholder="璇疯緭鍏ョ敵璇疯�呯殑鑱旂郴鏂瑰紡" clearable /> + </el-form-item> + </el-col> + <el-col :span="7"> + <el-form-item label="宸ヤ綔鍗曚綅" prop="unitno"> + <org-selecter ref="orgSelecter" :org-type="'3'" v-model="form.unitno" /> + </el-form-item> + </el-col> + --> + <el-col :span="5"> + <el-form-item label="璐圭敤绫诲瀷"> + <el-radio v-model="form.applytype" label="1">涓撳璐圭敤鐢宠</el-radio> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="鐢宠璇存槑" prop="remark"> + <el-input v-model="form.remark" placeholder="鐢宠璇存槑" /> + </el-form-item> + </el-col> + <el-col :span="5"> + <el-form-item label="鎹愮尞鑰�" prop="name"> + <el-input :disabled="true" v-model="form.name" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" /> + </el-form-item> + </el-col> + </el-row> + <el-row style="text-align: left"> + <el-col :span="5"> + <el-form-item label="鍚堣閲戦" prop="amountrequested"> + <el-input v-model="form.amountrequested" placeholder="鐢宠閲戦" :disabled="true" /> + </el-form-item> + </el-col> + <el-col :span="5"> + <el-form-item label="绋庡墠閲戦" prop="pretaxcost"> + <el-input v-model="form.pretaxcost" placeholder="绋庡墠閲戦鍚堣" :disabled="true" /> + </el-form-item> + </el-col> + <el-col :span="5"> + <el-form-item label="绋庡悗閲戦" prop="pretaxcost"> + <el-input v-model="form.taxedcost" placeholder="绋庡悗閲戦鍚堣" :disabled="true" /> + </el-form-item> + </el-col> + <el-col :span="5"> + <el-form-item label="鐢宠鐘舵��" prop="recordstatus"> + <!-- <el-input v-model="form.recordstatus" placeholder="瀹℃牳鎰忚"/> --> + <el-select v-model="form.recordstatus" placeholder="璇烽�夋嫨瀹℃牳鐘舵��" clearable size="small" :disabled="true"> + <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 style="margin-top: 5px; margin-bottom: 5px"> <el-row style="margin-bottom: 10px"> <el-col :span="4"> - <el-button - @click.native.prevent="addAlls" - type="primary" - size="small" - > - 鏈嶅姟椤圭洰瀵煎叆 + <el-button @click.native.prevent="addAllItems" type="primary" size="small"> + 瀵煎叆鏈嶅姟椤圭洰 </el-button> </el-col> </el-row> - <el-table - :data="fundDetailArr" - v-loading="loading" - border - highlight-current-row - > - <el-table-column - prop="orderno" - align="center" - label="搴忓彿" - width="80" - > + <el-table :data="fundDetails" v-loading="loading" border highlight-current-row> + <el-table-column prop="orderno" align="center" label="搴忓彿" width="65"> <template slot-scope="scope"> <el-input v-model="scope.row.orderno" placeholder="搴忓彿" /> </template> </el-table-column> - <el-table-column - prop="applytype" - align="center" - label="璐圭敤绫诲瀷" - width="220" - > + <el-table-column prop="applytype" align="center" label="鏈嶅姟璐圭敤绫诲瀷" width="200"> <template slot-scope="scope"> - <el-select - v-model="scope.row.applytype" - placeholder="璐圭敤绫诲瀷" - @change="LoadItemTypeArr(scope.row)" - > - <el-option - v-for="dict in fundtypeArr" - :key="dict.index" - :label="dict.label" - :value="dict.value" - ></el-option> + <el-select v-model="scope.row.applytype" placeholder="鏈嶅姟璐圭敤绫诲瀷" @change="loadItemType(scope.row)"> + <el-option v-for="dict in rowfeeItemTypes" :key="dict.index" :label="dict.label" + :value="dict.value"></el-option> </el-select> </template> </el-table-column> - <el-table-column - prop="itemtype" - align="center" - label="鏈嶅姟椤圭洰" - width="260" - > + <el-table-column prop="itemid" align="center" label="鏈嶅姟椤圭洰鍚嶇О" width="260"> <template slot-scope="scope"> - <el-select - v-model="scope.row.itemid" - placeholder="鏈嶅姟椤圭洰" - filterable - @change="select(scope.row)" - :filter-method="(val) => SearchItem(val, scope)" - > - <el-option - v-for="dict in scope.row.itemArr" - :key="dict.index" - :label="dict.itemName" - :value="dict.id" - ></el-option> + <el-select v-model="scope.row.itemid" placeholder="鏈嶅姟椤圭洰鍚嶇О" filterable @change="verifyFeeItem(scope.row)" + :filter-method="(val) => searchItemType(val, scope)"> + <el-option v-for="dict in scope.row.itemArr" :key="dict.index" :label="dict.itemName" + :value="dict.id"></el-option> </el-select> </template> </el-table-column> - <el-table-column - prop="itemcode" - align="center" - label="璐圭敤缂栧彿" - show-overflow-tooltip="" - > + <el-table-column prop="itemcode" align="center" label="椤圭洰缂栧彿" show-overflow-tooltip="" v-if="false"> </el-table-column> - <el-table-column - prop="servicesscopename" - align="center" - label="璐圭敤璇存槑" - width="180" - > + <el-table-column prop="servicesscope" align="center" label="璐圭敤璇存槑" width="180"> <template slot-scope="scope"> - <el-select - v-model="scope.row.servicesscope" - placeholder="璐圭敤璇存槑" - clearable - allow-create - filterable - @change="selectedRemark(scope.row)" - > - <el-option - v-for="dict in scope.row.fundblock" - :key="dict.servicesscope" - :label="dict.expensedescribe" - :value="dict.servicesscope" - ></el-option> + <el-select v-model="scope.row.servicesscope" placeholder="璐圭敤璇存槑" clearable allow-create filterable + @change="selectedRemark(scope.row)"> + <el-option v-for="dict in scope.row.rowfeeblocks" :key="dict.servicesscope" :label="dict.remark" + :value="dict.servicesscope"></el-option> </el-select> </template> </el-table-column> - <el-table-column - prop="beneficiaryname" - align="center" - label="濮撳悕" - width="120" - v-if="form.applytype != 3" - > + <el-table-column v-if="this.ismanager == true" prop="amount" align="center" label="绋庡墠閲戦" width="120"> <template slot-scope="scope"> - <el-button - type="primary" - plain - @click="ShowDetailDialog(scope, 'name')" - >{{ scope.row.beneficiaryname }}</el-button - > + <el-select v-model="scope.row.amount" placeholder="绋庡墠閲戦" clearable filterable allow-create + @change="selectamount(scope.row)"> + <el-option v-for="dict in scope.row.rowfeeblocks" :key="dict.expensedescribe" :label="dict.expense" + :value="dict.expense"></el-option> + </el-select> + </template> + </el-table-column> + <el-table-column prop="taxedamount" align="center" label="绋庡悗閲戦" width="120" v-if="this.ismanager == true"> + <!-- v-if="form.applytype != '3'"涓婂悓 --> + <template slot-scope="scope"> + <el-input v-model="scope.row.taxedamount" placeholder="绋庡悗閲戦" /> + </template> + </el-table-column> + <el-table-column prop="beneficiaryname" align="center" label="濮撳悕" width="100" v-if="form.applytype != 3"> + <template slot-scope="scope"> + <el-button type="primary" plain @click="ShowDetailDialog(scope, 'name')">{{ scope.row.beneficiaryname + }}</el-button> <!-- <el-select filterable allow-create @@ -488,63 +290,13 @@ :value="item.reportName" > </el-option> - </el-select> --> + </el-select> --> </template> </el-table-column> - <el-table-column - v-if="this.ismanager == true" - prop="amount" - align="center" - label="绋庡墠閲戦" - width="120" - > + <el-table-column prop="unitno" align="center" label="鍗曚綅鍚嶇О" width="220"> <template slot-scope="scope"> - <el-select - v-model="scope.row.amount" - placeholder="绋庡墠閲戦" - clearable - filterable - allow-create - @change="selectamount(scope.row)" - > - <el-option - v-for="dict in scope.row.fundblock" - :key="dict.expensedescribe" - :label="dict.expense" - :value="dict.expense" - ></el-option> - </el-select> - </template> - </el-table-column> - - <el-table-column - prop="taxedamount" - align="center" - label="绋庡悗閲戦" - width="120" - v-if="this.ismanager == true" - > - <!-- v-if="form.applytype != '3'"涓婂悓 --> - <template slot-scope="scope"> - <el-input - v-model="scope.row.taxedamount" - placeholder="绋庡悗閲戦" - /> - </template> - </el-table-column> - <el-table-column - prop="unitno" - align="center" - label="鍗曚綅" - width="220" - > - <template slot-scope="scope"> - <el-button - type="primary" - plain - @click="ShowDetailDialog(scope, 'unit')" - >{{ scope.row.unitname }}</el-button - > + <el-button type="primary" plain @click="ShowDetailDialog(scope, 'unit')">{{ scope.row.unitname + }}</el-button> <!-- <el-select v-model="scope.row.unitno" placeholder="鍗曚綅" @@ -558,174 +310,71 @@ :label="spec.organizationname" :value="spec.organizationid" ></el-option> - </el-select> --> + </el-select> --> </template> </el-table-column> - - <el-table-column - prop="quantity" - align="center" - label="鏁伴噺" - width="120" - v-if="form.applytype == '3'" - > + <el-table-column prop="quantity" align="center" label="鏁伴噺" width="120" v-if="form.applytype == '3'"> <template slot-scope="scope"> - <el-input - v-model="scope.row.quantity" - placeholder="鏁伴噺" - @blur=" - (val) => { - sumTotalFee(scope.row); - } - " - /> + <el-input v-model="scope.row.quantity" placeholder="鏁伴噺" @blur="(val) => { + sumTotalFee(scope.row); + } + " /> </template> </el-table-column> - - <el-table-column - prop="price" - align="center" - label="浠锋牸" - width="120" - v-if="form.applytype == '3'" - > + <el-table-column prop="price" align="center" label="浠锋牸" width="120" v-if="form.applytype == '3'"> <template slot-scope="scope"> - <el-input - v-model="scope.row.price" - placeholder="浠锋牸" - @blur=" - (val) => { - sumTotalFee(scope.row); - } - " - /> + <el-input v-model="scope.row.price" placeholder="浠锋牸" @blur="(val) => { + sumTotalFee(scope.row); + } + " /> </template> </el-table-column> - - <el-table-column - prop="remark" - align="center" - label="澶囨敞" - width="210" - v-if="form.applytype == '3'" - > + <el-table-column prop="remark" align="center" label="澶囨敞" width="210" v-if="form.applytype == '3'"> <template slot-scope="scope"> <el-input v-model="scope.row.remark" placeholder="澶囨敞" /> </template> </el-table-column> - - <el-table-column - prop="title" - align="center" - label="鑱岀О" - width="120" - v-if="form.applytype != '3'" - > + <el-table-column prop="title" align="center" label="鑱岀О" width="120" v-if="form.applytype != '3'"> <template slot-scope="scope"> <el-input v-model="scope.row.title" placeholder="鑱岀О" /> </template> </el-table-column> - <el-table-column - prop="idcardno" - align="center" - label="韬唤璇佸彿" - width="200" - v-if="form.applytype != '3'" - > + <el-table-column prop="idcardno" align="center" label="韬唤璇佸彿" width="200" v-if="form.applytype != '3'"> <template slot-scope="scope"> <el-input v-model="scope.row.idcardno" placeholder="韬唤璇佸彿" /> </template> </el-table-column> - <el-table-column - prop="depositbank" - align="center" - label="寮�鎴烽摱琛�" - width="200" - v-if="form.applytype != '3'" - > + <el-table-column prop="depositbank" align="center" label="寮�鎴烽摱琛�" width="200" v-if="form.applytype != '3'"> <template slot-scope="scope"> - <el-input - v-model="scope.row.depositbank" - placeholder="寮�鎴烽摱琛�" - /> + <el-input v-model="scope.row.depositbank" placeholder="寮�鎴烽摱琛�" /> </template> </el-table-column> - <el-table-column - prop="bankcardno" - align="center" - label="閾惰鍗″彿" - width="210" - v-if="form.applytype != '3'" - > + <el-table-column prop="bankcardno" align="center" label="閾惰鍗″彿" width="210" v-if="form.applytype != '3'"> <template slot-scope="scope"> - <el-input - v-model="scope.row.bankcardno" - placeholder="閾惰鍗″彿" - /> + <el-input v-model="scope.row.bankcardno" placeholder="閾惰鍗″彿" /> </template> </el-table-column> - <el-table-column - fixed="right" - align="center" - label="鎿嶄綔" - width="180" - v-if="dialogType == 'edit'" - > + <el-table-column fixed="right" align="center" label="鎿嶄綔" width="180" 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=" - deleteRows(scope.row, scope.$index, fundDetailArr) - " - type="text" - size="small" - > + <el-button type="text" size="mini" @click="addRow(scope.$index)">鏂板</el-button> + <el-button @click.native.prevent=" + deleteRows(scope.row, scope.$index, fundDetails) + " type="text" size="small"> 鍒犻櫎 </el-button> </template> </el-table-column> </el-table> - </el-row> - <!-- <el-row> - <el-col :span="4"> - - </el-col> - </el-row> --> - <el-row> - <el-col :span="22"> - <el-form-item label="澶囨敞" prop="remark"> - <el-input v-model="form.remark" placeholder="澶囨敞" /> - </el-form-item> - </el-col> - </el-row> - <el-row> + </el-row> <!-- + <el-row> <el-col :span="7"> - <el-form-item label="鐢宠鏃ユ湡" prop="createTime"> - <el-date-picker - clearable - style="width: 100%" - v-model="form.createTime" - type="date" - value-format="yyyy-MM-dd HH:mm:ss" - placeholder="鐢宠鏃ユ湡" - > - </el-date-picker> + <el-form-item label="棰勬敮閲戦" prop="prepaidamount"> + <el-input v-model="form.prepaidamount" placeholder="鐢宠閲戦" /> </el-form-item> - </el-col> - <!-- <el-col :span="8"> - <el-form-item label="鐢宠閲戦"> - <el-input disabled placeholder="鐢宠閲戦" /> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item label="棰勬敮閲戦"> - <el-input disabled placeholder="棰勬敮閲戦" /> - </el-form-item> - </el-col> --> + </el-col> + </el-row> + <el-row> <el-col :span="7"> <el-form-item label="OPO涓績绛惧瓧" prop="opochecker"> <el-input v-model="form.opochecker" placeholder="opo涓績绛惧瓧" /> @@ -733,144 +382,83 @@ </el-col> <el-col :span="8"> <el-form-item label="璐㈠姟鍓櫌闀�" prop="finvicepresident"> - <el-input - v-model="form.finvicepresident" - placeholder="璐㈠姟鍓櫌闀�" - /> + <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-input v-model="form.busvicepresident" placeholder="涓氬姟鍓櫌闀�" /> </el-form-item> </el-col> <el-col :span="7"> <el-form-item label="鍔炲叕瀹や富浠�" prop="officedirector"> - <el-input - v-model="form.officedirector" - placeholder="璇疯緭鍏ュ姙鍏涓讳换" - /> + <el-input v-model="form.officedirector" placeholder="璇疯緭鍏ュ姙鍏涓讳换" /> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="璐㈠姟閮ㄨ礋璐d汉" prop="financedirector"> - <el-input - v-model="form.financedirector" - placeholder="璇疯緭鍏ヨ储鍔¢儴璐熻矗浜�" - /> + <el-input v-model="form.financedirector" placeholder="璇疯緭鍏ヨ储鍔¢儴璐熻矗浜�" /> </el-form-item> </el-col> <el-col :span="7"> <el-form-item label="璐㈠姟瀹℃牳" prop="financechecher"> - <el-input - v-model="form.financechecher" - placeholder="璇疯緭鍏ヨ储鍔″鏍�" - /> + <el-input v-model="form.financechecher" placeholder="璇疯緭鍏ヨ储鍔″鏍�" /> </el-form-item> </el-col> </el-row> - + --> + <el-row> + <el-col :span="12"> + <el-form-item label="璐圭敤鐢宠闄勪欢" align="left" prop="annexbankcard"> + <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileList" multiple + :limit="20" :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> + </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 type="success" @click="print">鎵� 鍗�</el-button> --> <el-button @click="cancel">鍙� 娑�</el-button> </div> </el-dialog> - <el-dialog - :visible.sync="detailInfoDialogShow" - :close-on-click-modal="false" - :title="'淇℃伅淇敼'" - width="500px" - style="text-align: center" - v-loading="loading" - > + <el-dialog :visible.sync="detailInfoDialogShow" :close-on-click-modal="false" :title="'淇℃伅淇敼'" width="500px" + style="text-align: center" v-loading="loading"> <el-form ref="funddetailForm" :model="funddetailForm"> <el-row> <el-col :span="24" v-if="detailInfoDialogShowType == 'name'"> - <el-form-item - label="濮撳悕" - prop="beneficiaryname" - label-width="80px" - > - <el-select - filterable - allow-create - ref="beneficiaryname" - default-first-option - v-model="funddetailForm.beneficiaryname" - placeholder="璇烽�夋嫨" - style="width: 100%" - > - <el-option - v-for="item in arrr3" - :key="item.reportNo" - :label="item.reportName" - :value="item.reportName" - > + <el-form-item label="涓撳濮撳悕" prop="beneficiaryname" label-width="80px"> + <el-select filterable allow-create ref="beneficiaryname" default-first-option + v-model="funddetailForm.beneficiaryname" placeholder="璇烽�夋嫨" style="width: 100%"> + <el-option v-for="item in arrr3" :key="item.reportNo" :label="item.reportName" :value="item.reportName"> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="24" v-if="detailInfoDialogShowType == 'unit'"> - <el-form-item label="鍗曚綅" prop="unitno" label-width="80px"> - <el-select - v-model="funddetailForm.unitno" - placeholder="鍗曚綅" - clearable - filterable - allow-create - style="width: 100%" - > - <el-option - v-for="(spec, index) in unitList" - :key="index" - :label="spec.organizationname" - :value="spec.organizationid" - ></el-option> + <el-form-item label="鍗曚綅鍚嶇О" prop="unitno" label-width="80px"> + <el-select v-model="funddetailForm.unitno" placeholder="鍗曚綅鍚嶇О" clearable filterable allow-create + style="width: 100%"> + <el-option v-for="(spec, index) in unitList" :key="index" :label="spec.organizationname" + :value="spec.organizationid"></el-option> </el-select> </el-form-item> </el-col> @@ -878,9 +466,7 @@ </el-form> <span slot="footer" class="dialog-footer"> <el-button @click="detailInfoDialogShow = false">鍙� 娑�</el-button> - <el-button type="primary" @click="ConfirmDetailDialog()" - >纭� 瀹�</el-button - > + <el-button type="primary" @click="ConfirmDetailDialog()">纭� 瀹�</el-button> </span> </el-dialog> </div> @@ -889,6 +475,10 @@ <script> //杩欓噷鍙互瀵煎叆鍏朵粬鏂囦欢锛堟瘮濡傦細缁勪欢锛屽伐鍏穓s锛岀涓夋柟鎻掍欢js锛宩son鏂囦欢锛屽浘鐗囨枃浠剁瓑绛夛級 //渚嬪锛歩mport 銆婄粍浠跺悕绉般�� from '銆婄粍浠惰矾寰勩��'; +import { + listDonatebaseinfo, + getDonatebaseinfo, +} from "@/api/project/donatebaseinfo"; import { onelistFund, listFund, @@ -919,6 +509,11 @@ getFundType, getFundTypeAll, listcountItem, + getDataBybeneficiaryNo, + getTaxByBeneFiciaryNo, + getTaxBeforeByBeneFiciaryNo, + getTaxationByBeneFiciaryNo, + getTaxBeforeByAfterMoney } from "@/api/project/funddetail"; import { listFundflow } from "@/api/project/fundflow"; import { @@ -937,13 +532,11 @@ exportExternalperson, } from "@/api/project/externalperson"; import { getUserProfile } from "@/api/system/user"; -import { - listDonatebaseinfo, - getDonatebaseinfo, -} from "@/api/project/donatebaseinfo"; import Li_area_select from "@/components/Address"; import OrgSelecter from "@/views/project/components/orgselect"; import elementIcons from "../../../components/icons/element-icons"; +import { getToken } from "@/utils/auth"; + export default { //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� components: { @@ -999,6 +592,14 @@ applytype: "1", createBy: null, }, + + //璁$畻涓◣鍙傛暟 + taxParam: { + beneficiaryNo: '', + money: '0', + startTime: '', + }, + // 琛ㄥ崟鍙傛暟 form: {}, personlist: [], @@ -1009,6 +610,9 @@ ], createTime: [ { required: true, message: "璇疯緭鍏ョ敵璇锋棩鏈�", trigger: "blur" }, + ], + deptmentname: [ + { required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" }, ], // amountrequested: [ // { required: true, message: "璇疯緭鍏ョ敵璇烽噾棰�", trigger: "blur" }, @@ -1028,22 +632,26 @@ // 鎹愮尞浜洪亾鎱伴棶閲戣〃鏍兼暟鎹� donateconsolationfundList: [], - - fundDetailArr: [], + //璐圭敤鏄庣粏鍒楄〃 + fundDetails: [], // 寮瑰嚭灞傛爣棰� title: "", userlist: [], itemArr: [], reporters: [], + + //琛岃褰曠殑璐圭敤绫诲瀷鏁扮粍 + rowfeeItemTypes: [], //璐圭敤绫诲瀷鏁扮粍 - fundtypeArr: [], - fundblock: [], + feeItemTypes: [], + //璐圭敤璇存槑 + rowfeeblocks: [], defaultperson: {}, //鏄惁鏄笓瀹惰垂鐨凮PO瀹℃壒浜哄憳 ismanager: false, - fundtypeArrAll: [], + unitList: [], dialogType: "edit", fundflowList: [], @@ -1057,6 +665,16 @@ unitname: null, index: null, }, + + //闄勪欢鍒楄〃 + fileList: [], + //涓婁紶闄勪欢璺緞 + uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", + + headers: { + Authorization: "Bearer " + getToken(), + }, + }; }, //鐩戝惉灞炴�� 绫讳技浜巇ata姒傚康 @@ -1077,11 +695,12 @@ this.detailInfoDialogShow = true; this.detailInfoDialogShowType = showType; }, + ConfirmDetailDialog() { let tempIndex = this.funddetailForm.index; let tempName = this.funddetailForm.beneficiaryname; let tempUnitname = this.funddetailForm.unitname; - let singleDetail = this.fundDetailArr[tempIndex]; + let singleDetail = this.fundDetails[tempIndex]; if (this.detailInfoDialogShowType == "name") { this.personlist.map((res) => { if (tempName == res.username) { @@ -1095,11 +714,9 @@ singleDetail.title = res.title; singleDetail.unitname = res.unitname; singleDetail.unitno = parseInt(res.unitno); - } else { - singleDetail.beneficiaryname = tempName; - singleDetail.beneficiaryno = tempName; } }); + } else if (this.detailInfoDialogShowType == "unit") { singleDetail.unitno = this.funddetailForm.unitno; try { @@ -1115,13 +732,12 @@ singleDetail.unitname = singleDetail.unitno; } } - debugger; - this.fundDetailArr[tempIndex] = singleDetail; + + this.fundDetails[tempIndex] = singleDetail; this.detailInfoDialogShow = false; }, - handleup(row) { - console.log("rowrowrowrow", row); + handleup(row) { this.$confirm("鏄惁纭灏嗙櫥璁拌褰曚笂鎶ワ紵", "鎻愮ず", { confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", @@ -1155,30 +771,22 @@ }); }, - // recordstatus - // updateFund(row).then(res=>{ - // console.log('鐘舵�佹洿鏂�',res); - // }) - // }, - + //鑾峰彇褰撳墠鐢ㄦ埛淇℃伅 getUsermsg() { getUserProfile().then((response) => { - console.log("鐧诲綍鐢ㄦ埛淇℃伅", response.data); this.defaultperson = response.data; this.standardlevel = response.data.standardlevel; - if ( - this.defaultperson.createBy == "admin" || - this.defaultperson.createBy == "001" || - this.defaultperson.createBy == "002" - ) { + if (this.defaultperson.createBy == "admin" || this.defaultperson.createBy == "001" || this.defaultperson.createBy == "002") { this.ismanager = true; } else { this.ismanager = false; } }); }, + + //鑾峰彇璐圭敤椤圭洰鐨勫娉ㄤ俊鎭� selectedRemark(row) { - row.fundblock.forEach((item, i) => { + row.rowfeeblocks.forEach((item, i) => { if (item.servicesscope === row.servicesscope) { row.servicesscopename = item.expensedescribe; if (row.servicesscopename.includes("绋庡悗")) { @@ -1188,14 +796,17 @@ row.amount = item.expense; row.taxedamount = 0.0; } + this.form.serviceFunddetails = 0; - this.fundDetailArr.map((item) => { + this.fundDetails.map((item) => { this.form.serviceFunddetails += item.amount; }); } }); }, - select(row) { + + //鏍¢獙鏀惰垂椤圭洰鏄惁閲嶅 + verifyFeeItem(row) { row.itemArr.map((res) => { if (row.itemid === res.id) { row.remark = res.itemDescribe; @@ -1203,41 +814,44 @@ } }); var repeatNum = 0; - this.fundDetailArr.map((res) => { + this.fundDetails.map((res) => { if (res.applytype === row.applytype && res.itemid == row.itemid) { repeatNum++; } }); if (repeatNum > 1) { - this.$modal.msgWarning("鎮ㄥ凡缁忔彁浜よ繃鏈嶅姟椤圭洰"); + this.$modal.msgWarning("鎮ㄥ凡缁忔彁浜よ繃璇ユ湇鍔¢」鐩簡"); } + //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭� getdetailsByItemId(row.itemid).then((res) => { - console.log("璐圭敤鏁版嵁", res.data); let fundmsg = res.data; - let fundblock = []; + let rowfeeblocks = []; fundmsg.forEach((item) => { - fundblock.push({ + rowfeeblocks.push({ expense: item.expense, expensedescribe: item.expensedescribe, remark: item.expensedescribe, servicesscope: item.id, }); }); - console.log("缁勮鍚庣殑鏁版嵁", fundblock); - row.fundblock = fundblock; + + row.rowfeeblocks = rowfeeblocks; row.servicesscope = null; row.servicesscopename = ""; }); + }, + + // selectamount(row) { - console.log("row", row.amount); - this.fundblock.forEach((item, i) => { + this.rowfeeblocks.forEach((item, i) => { if (item.expense === row.amount) { row.remark = item.expensedescribe; } }); }, + /** 鎼滅储鎸夐挳鎿嶄綔 */ handleQuery() { this.queryParams.pageNum = 1; @@ -1267,7 +881,6 @@ }, getUnitList() { listOrganization(3).then((response) => { - debugger; for (let i = 0; i < response.rows.length; i++) { this.unitList.push({ //organizationid: response.rows[i].organizationid, @@ -1297,10 +910,14 @@ this.form.infoid = this.curCase.id; this.form.username = this.defaultperson.nickName; this.form.userno = this.defaultperson.userName; + + this.form.deptmentname = this.defaultperson.dept.deptName; + this.form.deptmentno = this.defaultperson.dept.deptId; + this.form.managername = this.defaultperson.dept.leader; // this.form.createTime = nowdate; //this.open = true; //this.initFundApplyForm(); - this.fundDetailArr = []; + this.fundDetails = []; this.addRow(); this.dialogOpen = true; this.dialogType = "edit"; @@ -1376,43 +993,69 @@ servicesscopename: null, }; this.resetForm("form"); + //娓呯┖闄勪欢 + this.fileList = [] }, - addAlls() { + //瀵煎叆鎵�鏈夐」鐩� + addAllItems() { this.loading = true; - this.fundDetailArr = this.fundDetailArr.filter( + this.fundDetails = this.fundDetails.filter( (r) => r.applytype != "" && r.applytype != null ); let listAdd = []; - //let listAdd = this.fundDetailArr; - for (let i = 0; i < this.fundtypeArrAll.length; i++) { - for (let j = 0; j < this.fundtypeArrAll[i].itemDetails.length; j++) { - let list = this.fundDetailArr.filter( + //let listAdd = this.fundDetails; + for (let i = 0; i < this.feeItemTypes.length; i++) { + for (let j = 0; j < this.feeItemTypes[i].itemDetails.length; j++) { + let list = this.fundDetails.filter( (r) => - r.applytype == this.fundtypeArrAll[i].itemType && - r.itemid == this.fundtypeArrAll[i].itemDetails[j].id + r.applytype == this.feeItemTypes[i].itemType && + r.itemid == this.feeItemTypes[i].itemDetails[j].id ); + if (list.length == 0) { let rowData = { id: null, orderno: listAdd.length + 1, - applytype: this.fundtypeArrAll[i].itemType, - itemid: this.fundtypeArrAll[i].itemDetails[j].id, - itemcode: this.fundtypeArrAll[i].itemDetails[j].itemCode, + applytype: this.feeItemTypes[i].itemType, + itemid: this.feeItemTypes[i].itemDetails[j].id, + itemcode: this.feeItemTypes[i].itemDetails[j].itemCode, recordstatus: "-1", beneficiaryname: "鐐瑰嚮閫夋嫨", unitname: "鐐瑰嚮閫夋嫨", - itemArr: this.fundtypeArrAll[i].itemDetails, + itemArr: this.feeItemTypes[i].itemDetails, + rowfeeblocks: null, + servicesscope: null, + servicesscopename: "" }; + + //鑾峰彇鏀惰垂椤圭洰鐨勮鏄庝俊鎭� + getdetailsByItemId(rowData.itemid).then((res) => { + let fundmsg = res.data; + let rowfeeblocks = []; + fundmsg.forEach((item) => { + rowfeeblocks.push({ + expense: item.expense, + expensedescribe: item.expensedescribe, + remark: item.expensedescribe, + servicesscope: item.id, + }); + }); + + rowData.rowfeeblocks = rowfeeblocks; + rowData.servicesscope = null; + rowData.servicesscopename = ""; + }); + listAdd.push(rowData); } } } - this.fundDetailArr = listAdd; + this.fundDetails = listAdd; this.loading = false; - // let Outerarr = this.fundDetailArr; + // let Outerarr = this.fundDetails; // Outerarr.map((res) => { - // let onelist = this.fundtypeArr; + // let onelist = this.rowfeeItemTypes; // onelist.map((item) => { // //绗竴灞備笉鐩哥瓑鏃讹紱 // if (res.applytype !== item.itemType) { @@ -1421,8 +1064,8 @@ // }); // }); }, + addAll(row, i, arr) { - console.log("cecececececececece", row, row.itemArr); row.itemArr.map((res) => { if (res.id !== row.itemid) { let a = arr.length; @@ -1432,23 +1075,22 @@ arr[a].itemid = res.id; getdetailsByItemId(arr[a].itemid).then((res) => { - console.log("璐圭敤鏁版嵁", res.data); let fundmsg = res.data; - let fundblock = []; + let rowfeeblocks = []; fundmsg.forEach((item) => { - fundblock.push({ + rowfeeblocks.push({ expense: item.expense, expensedescribe: item.expensedescribe, remark: item.expensedescribe, servicesscope: item.id, }); }); - console.log("缁勮鍚庣殑鏁版嵁", fundblock); - row.fundblock = fundblock; + row.rowfeeblocks = rowfeeblocks; }); } }); }, + //鏂板涓�琛� addRow(rowIndex) { let rowData = { @@ -1492,21 +1134,21 @@ uploadtime: null, itemArr: [], servicesscope: null, - fundblock: [], + rowfeeblocks: [], }; if (rowIndex == undefined || rowIndex == null || rowIndex < 0) { - this.fundDetailArr.push(rowData); + this.fundDetails.push(rowData); } else { - this.fundDetailArr.splice(rowIndex + 1, 0, rowData); + this.fundDetails.splice(rowIndex + 1, 0, rowData); } - for (let i = 0; i < this.fundDetailArr.length; i++) { - this.fundDetailArr[i].orderno = i + 1; + for (let i = 0; i < this.fundDetails.length; i++) { + this.fundDetails[i].orderno = i + 1; } }, //鍔犺浇鏈嶅姟椤圭洰 - LoadItemTypeArr(row) { - let list = this.fundtypeArrAll.filter((r) => r.itemType == row.applytype); + loadItemType(row) { + let list = this.feeItemTypes.filter((r) => r.itemType == row.applytype); row.itemArr = list[0].itemDetails; row.itemid = null; this.$forceUpdate(); @@ -1527,12 +1169,20 @@ let totalPreTaxAmount = 0.0; let totalAfterTaxAmount = 0.0; let totalAmount = 0.0; - for (let k = 0; k < this.fundDetailArr.length; k++) { - let tempDetail = this.fundDetailArr[k]; + + //淇濆瓨鍓嶆牎楠屾暟鎹� + for (let k = 0; k < this.fundDetails.length; k++) { + let tempDetail = this.fundDetails[k]; if (tempDetail.itemid == null) { - this.$modal.msgWarning("璇烽�夋嫨鏈嶅姟椤圭洰"); + this.$modal.msgWarning("鏈嶅姟椤圭洰鏄繀閫夐」锛岃閫夋嫨鏈嶅姟椤圭洰鍚庡啀鎻愪氦淇濆瓨锛�"); return; } + + if (tempDetail.beneficiaryno == null) { + this.$modal.msgWarning("鏈嶅姟椤圭洰琛ㄤ腑锛岀" + (k + 1).toString() + "琛岀殑鏈嶅姟浜哄憳濮撳悕涓洪�夋嫨,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�"); + return; + } + // //鍒ゆ柇鍗曚綅 unitSel // try { // let unitIndex = this.unitList.findIndex( @@ -1546,19 +1196,51 @@ // } catch { // tempDetail.unitname = tempDetail.unitno; // } - if (!isNaN(parseFloat(tempDetail.amount))) { - totalPreTaxAmount += parseFloat(tempDetail.amount); - totalAmount += parseFloat(tempDetail.amount); - } - if (!isNaN(parseFloat(tempDetail.taxedamount))) { - totalAfterTaxAmount += parseFloat(tempDetail.taxedamount); - totalAmount += parseFloat(tempDetail.taxedamount); - } - this.fundDetailArr[k] = tempDetail; - } - this.loading = true; - this.form.donorname = this.curCase.name; + //璁$畻涓◣ + //if (isNaN(parseFloat(tempDetail.taxedamount))) + if (tempDetail.taxedamount == undefined || tempDetail.taxedamount == null || tempDetail.taxedamount == 0 || tempDetail.taxedamount == '') { + //鑾峰彇鍙傛暟 + this.taxParam.beneficiaryNo = tempDetail.beneficiaryno; + this.taxParam.money = tempDetail.amount.toString(); + this.taxParam.startTime = this.form.createTime.substring(0, 10); + getTaxByBeneFiciaryNo(this.taxParam).then((res) => { + if (res.code == 200) { + tempDetail.taxamount = res.data; + tempDetail.taxedamount = tempDetail.amount - tempDetail.taxamount; + } + }); + } + + //if (isNaN(parseFloat(tempDetail.amount))) + if (tempDetail.amount == undefined || tempDetail.amount == null || tempDetail.amount == 0 || tempDetail.amount == '') { + //鑾峰彇鍙傛暟 + this.taxParam.beneficiaryNo = tempDetail.beneficiaryno; + this.taxParam.money = tempDetail.taxedamount.toString(); + this.taxParam.startTime = this.form.createTime.substring(0, 10); + + getTaxBeforeByAfterMoney(this.taxParam).then((res) => { + console.log("",res); + if (res.code == 200) { + tempDetail.taxamount = res.data.nowTax; + tempDetail.amount = res.data.nowTaxBeforeMoney; + } + }); + } + + totalAfterTaxAmount += parseFloat(tempDetail.taxedamount); + totalAmount += parseFloat(tempDetail.amount); + this.fundDetails[k] = tempDetail; + } + + this.loading = true; + //闄勪欢澶勭悊 + let list = this.fileList; + if (list.length > 0) { + this.form.annexbankcard = list.map(item => item.url).join(","); + } + + this.form.donorname = this.curCase.name; this.form.pretaxcost = parseFloat(totalPreTaxAmount).toFixed(2); this.form.taxedcost = parseFloat(totalAfterTaxAmount).toFixed(2); this.form.amountrequested = totalAmount.toFixed(2); @@ -1571,8 +1253,8 @@ this.selectDonotor(this.curCase); this.$modal.msgSuccess("淇敼鎴愬姛"); this.loading = false; - for (let m = 0; m < this.fundDetailArr.length; m++) { - let tempData = this.fundDetailArr[m]; + for (let m = 0; m < this.fundDetails.length; m++) { + let tempData = this.fundDetails[m]; let tempItemArr = tempData.itemArr; tempData.fundid = formData.id; //鑾峰彇鏈嶅姟椤圭洰鏄庣粏 @@ -1583,18 +1265,28 @@ tempData.itemname = tempItemArr[itemIndex].itemName; tempData.itemid = tempItemArr[itemIndex].id; } + + //鑾峰彇applytypename + let applytypeIndex = this.rowfeeItemTypes.findIndex( + (item) => tempData.applytype == item.value + ); + if (applytypeIndex > -1) { + tempData.applytypename = this.rowfeeItemTypes[applytypeIndex].label; + } + if (tempData.id > 0) { - updateFunddetail(tempData).then((response2) => {}); + updateFunddetail(tempData).then((response2) => { }); } else { - addFunddetail(tempData).then((response2) => {}); + addFunddetail(tempData).then((response2) => { }); } } }); } else { //淇濆瓨璐圭敤鐢宠 - for (let m = 0; m < this.fundDetailArr.length; m++) { - let tempData = this.fundDetailArr[m]; + for (let m = 0; m < this.fundDetails.length; m++) { + let tempData = this.fundDetails[m]; let tempUtemArr = tempData.itemArr; + //鑾峰彇鏈嶅姟椤圭洰鏄庣粏 let itemIndex = tempUtemArr.findIndex( (item) => tempData.itemid == item.id @@ -1603,21 +1295,24 @@ tempData.itemname = tempUtemArr[itemIndex].itemName; tempData.itemid = tempUtemArr[itemIndex].id; } + //鑾峰彇applytypename - let applytypeIndex = this.fundtypeArr.findIndex( + let applytypeIndex = this.rowfeeItemTypes.findIndex( (item) => tempData.applytype == item.value ); if (applytypeIndex > -1) { - tempData.applytypename = this.fundtypeArr[applytypeIndex].label; + tempData.applytypename = this.rowfeeItemTypes[applytypeIndex].label; } - this.fundDetailArr[m] = tempData; + this.fundDetails[m] = tempData; } + this.form.serviceFunddetails = 0; - this.fundDetailArr.map((item) => { + this.fundDetails.map((item) => { this.form.serviceFunddetails += item.amount; }); - this.form.serviceFunddetails = this.fundDetailArr; + this.form.serviceFunddetails = this.fundDetails; this.form.recordstatus = -1; + batchUploadFund(this.form).then((response) => { if (response.code === 200) { this.$modal.msgSuccess("鏂板鎴愬姛"); @@ -1633,14 +1328,16 @@ } }); }, + + //鑾峰彇涓撳鍒楄〃 getlistExternalperson() { listExternalperson().then((res) => { - console.log("浜哄憳琛細", res.rows); this.personlist = res.rows; }); }, + + //涓撳浜哄憳鍒楄〃 selectReporters() { - //涓撳浜哄憳鍒楄〃 let arr = ["expert"]; let arrreportlist = []; for (let i = 0; i < arr.length; i++) { @@ -1653,12 +1350,11 @@ }); } this.arrr3 = this.arrr3.concat(this.arrr2); - console.log("adadadadasdsad", this.arrr3, this.userlist); }); } }, + selectpersonmsg(row) { - console.log("row", row); // if(row.beneficiaryname) this.personlist.map((res) => { if (row.beneficiaryname == res.username) { @@ -1677,11 +1373,13 @@ } }); }, + getlistUser() { listUser().then((res) => { this.userlist = res.data; }); }, + /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate(row) { this.isopen = 0; @@ -1692,28 +1390,42 @@ this.dialogOpen = true; this.title = "淇敼璐圭敤鐢宠"; this.dialogType = "edit"; - const id = row.id || this.ids; + const id = row.id || this.ids; getFund(id).then((response) => { this.form = response.data; // this.form.recordstate =-1; // this.form.recordstatus = response.data.recordstatus + ""; this.form.name = this.curCase.name; + //闄勪欢澶勭悊 + this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] getownFundDetail(id).then((res) => { - console.log("鏌ヨ鏄庣粏璁板綍锛�", res); - this.fundDetailArr = res.data; - for (let m = 0; m < this.fundDetailArr.length; m++) { - this.fundDetailArr[m].itemArr = []; - this.getItemArr(m, this.fundDetailArr[m]); - this.fundDetailArr[m].fundblock = []; - this.fundDetailArr[m].fundblock.push({ - expense: this.fundDetailArr[m].expense, - expensedescribe: this.fundDetailArr[m].servicesscopename, - remark: this.fundDetailArr[m].servicesscope, - servicesscope: this.fundDetailArr[m].servicesscope, + this.fundDetails = res.data; + for (let m = 0; m < this.fundDetails.length; m++) { + this.fundDetails[m].itemArr = []; + this.getItemArr(m, this.fundDetails[m]); + + //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭� + this.fundDetails[m].rowfeeblocks = []; + + this.fundDetails[m].rowfeeblocks.push({ + servicesscope: this.fundDetails[m].servicesscope, + expensedescribe: this.fundDetails[m].servicesscopename, + expense: this.fundDetails[m].expense, + remark: this.fundDetails[m].servicesscopename, }); + // getdetailsByItemId(this.fundDetails[m].itemid).then((res) => { + // let fundmsg = res.data; + // fundmsg.forEach((item) => { + // this.fundDetails[m].rowfeeblocks.push({ + // servicesscope: item.id, + // expensedescribe: item.expensedescribe, + // expense: item.expense, + // remark: item.expensedescribe, + // }); + // }); + // }); } - // console.log("fundDetailArr:" + JSON.stringify(this.fundDetailArr)); }); }); }, @@ -1737,23 +1449,25 @@ fundid: row.id, fundtype: 2, }; + //闄勪欢澶勭悊 + this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] + listFundflow(listFundflowparams).then((res) => { this.fundflowList = res.rows; }); getownFundDetail(id).then((res) => { - this.fundDetailArr = res.data; - for (let m = 0; m < this.fundDetailArr.length; m++) { - this.fundDetailArr[m].itemArr = []; - this.getItemArr(m, this.fundDetailArr[m]); - this.fundDetailArr[m].fundblock = []; - this.fundDetailArr[m].fundblock.push({ - expense: this.fundDetailArr[m].expense, - expensedescribe: this.fundDetailArr[m].servicesscopename, - remark: this.fundDetailArr[m].servicesscope, - servicesscope: this.fundDetailArr[m].servicesscope, + this.fundDetails = res.data; + for (let m = 0; m < this.fundDetails.length; m++) { + this.fundDetails[m].itemArr = []; + this.getItemArr(m, this.fundDetails[m]); + this.fundDetails[m].rowfeeblocks = []; + this.fundDetails[m].rowfeeblocks.push({ + expense: this.fundDetails[m].expense, + expensedescribe: this.fundDetails[m].servicesscopename, + remark: this.fundDetails[m].servicesscope, + servicesscope: this.fundDetails[m].servicesscope, }); } - // console.log("fundDetailArr:" + JSON.stringify(this.fundDetailArr)); }); }); }, @@ -1776,7 +1490,7 @@ this.getfundList(); this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); }) - .catch(() => {}); + .catch(() => { }); }, deleteRows(row, index, rows) { @@ -1796,17 +1510,15 @@ }).then(() => { this.$set(rows, rows.splice(index, 1)); getownFundDetail(this.form.id).then((res) => { - this.$set(this.fundDetailArr, res.data); + this.$set(this.fundDetails, res.data); this.sumTotalFee(); - // this.fundDetailArr = res.data - // console.log('鍒犻櫎鍚�',this.fundDetailArr) + // this.fundDetails = res.data }); }); } // getownFundDetail(this.form.id).then(res=>{ - // this.$set(this.fundDetailArr,res.data) - // this.fundDetailArr = res.data - // console.log('鍒犻櫎鍚�',this.fundDetailArr) + // this.$set(this.fundDetails,res.data) + // this.fundDetails = res.data // }) }); } else { @@ -1819,37 +1531,40 @@ }); }, + //璁$畻涓◣ + calculateTax() { }, + //璁$畻鎬婚噾棰� sumTotalFee(row) { let allSum = 0; if (this.form.applytype != null) { - for (let i = 0; i < this.fundDetailArr.length; i++) { + for (let i = 0; i < this.fundDetails.length; i++) { let totalFee = 0; let taxFee = 0; if (this.form.applytype == 1 || this.form.applytype == 2) { //璁$畻褰撳墠鎶ラ攢鍐呭璐圭敤鍚堣 - if (!isNaN(parseFloat(this.fundDetailArr[i].amount))) { - totalFee += parseFloat(this.fundDetailArr[i].amount); - taxFee += parseFloat(this.fundDetailArr[i].amount); + if (!isNaN(parseFloat(this.fundDetails[i].amount))) { + totalFee += parseFloat(this.fundDetails[i].amount); + taxFee += parseFloat(this.fundDetails[i].amount); } - if (!isNaN(parseFloat(this.fundDetailArr[i].taxamount))) { - totalFee -= parseFloat(this.fundDetailArr[i].taxamount); - taxFee -= parseFloat(this.fundDetailArr[i].taxamount); + if (!isNaN(parseFloat(this.fundDetails[i].taxamount))) { + totalFee -= parseFloat(this.fundDetails[i].taxamount); + taxFee -= parseFloat(this.fundDetails[i].taxamount); } } else if (this.form.applytype == 3) { if ( - !isNaN(parseFloat(this.fundDetailArr[i].price)) && - !isNaN(parseFloat(this.fundDetailArr[i].quantity)) + !isNaN(parseFloat(this.fundDetails[i].price)) && + !isNaN(parseFloat(this.fundDetails[i].quantity)) ) { totalFee += - parseFloat(this.fundDetailArr[i].price) * - parseFloat(this.fundDetailArr[i].quantity); + parseFloat(this.fundDetails[i].price) * + parseFloat(this.fundDetails[i].quantity); } } //绋庡墠銆佺◣鍚庨渶瑕佺嫭绔嬪綍鍏� // if (!isNaN(parseFloat(taxFee))) { - // this.fundDetailArr[i].taxedamount = taxFee.toFixed(2); + // this.fundDetails[i].taxedamount = taxFee.toFixed(2); // } allSum += totalFee; @@ -1857,18 +1572,16 @@ } // this.form.amountrequested = allSum.toFixed(2); // this.$forceUpdate(); - // console.log(this.form); }, //鑾峰彇璐圭敤绫诲瀷 getCurFundType() { getFundTypeAll(this.currentApplyType).then((res) => { - console.log("璐圭敤绫诲瀷", res.data); let dataList = res.data; - this.fundtypeArrAll = dataList; - this.fundtypeArr = []; + this.feeItemTypes = dataList; + this.rowfeeItemTypes = []; for (let m = 0; m < dataList.length; m++) { - this.fundtypeArr.push({ + this.rowfeeItemTypes.push({ value: dataList[m].itemType, label: dataList[m].itemTypeName, }); @@ -1877,19 +1590,18 @@ }, getItemArr(rowindex, row) { - let list = this.fundtypeArrAll.filter((r) => r.itemType == row.applytype); + let list = this.feeItemTypes.filter((r) => r.itemType == row.applytype); row.itemArr = list[0].itemDetails; - this.$set(this.fundDetailArr, rowindex, row); + this.$set(this.fundDetails, rowindex, row); //this.loading = true; // getItemNames(row.applytype).then((res) => { // this.loading = false; // row.itemArr = res.data; - // this.$set(this.fundDetailArr, rowindex, row); + // this.$set(this.fundDetails, rowindex, row); // }); }, mixExport(scope) { - console.log(scope); this.dayin(scope.row.id); //this.totaldayin(id); }, @@ -1939,14 +1651,14 @@ }); }, - SearchItem(val, scope) { + //绛涙煡鍑哄搴旂殑璐圭敤椤圭洰 + searchItemType(val, scope) { let result = []; if (val != "") { let tempItemArr = scope.row.itemArr; for (let i = 0; i < tempItemArr.length; i++) { let pym = tempItemArr[i].itempinyin; if (pym != null && pym != undefined && pym != "") { - console.log(pym); if (pym.indexOf(val) != -1) { result.push(tempItemArr[i]); } @@ -1956,11 +1668,43 @@ } else { getItemNames(scope.row.applytype).then((res) => { scope.row.itemArr = res.data; - //this.$set(this.fundDetailArr, rowindex, row); + //this.$set(this.fundDetails, rowindex, row); }); } }, + + //鏂囦欢涓婁紶 + handleUploadError() { }, + remove(file) { + this.fileList.splice(this.fileList.indexOf(file), 1) + }, + handleExceed() { + this.$message.error(`涓婁紶鏂囦欢鏁伴噺涓嶈兘瓒呰繃 ${5} 涓�!`); + }, + //鏂囦欢涓婁紶鎴愬姛鍥炶皟 + uploadSccess(response, file, fileList) { + //鑾峰彇闄勪欢淇℃伅浣嶇疆 + if (response.code == 200) { + this.form.filename = file.raw.name; + this.$modal.msgSuccess(response.msg); + this.fileList.push({ name: response.fileName, url: response.fileName }); + } else { + this.$modal.msgError(response.msg); + } + }, + + // 涓嬭浇鏂囦欢 + 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); + }, + }, + //鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵his瀹炰緥锛� created() { this.getUnitList(); @@ -1975,13 +1719,13 @@ this.getUsermsg(); this.getlistExternalperson(); }, - beforeCreate() {}, //鐢熷懡鍛ㄦ湡 - 鍒涘缓涔嬪墠 - beforeMount() {}, //鐢熷懡鍛ㄦ湡 - 鎸傝浇涔嬪墠 - beforeUpdate() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠 - updated() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗 - beforeDestroy() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓� - destroyed() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴� - activated() {}, //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂 + beforeCreate() { }, //鐢熷懡鍛ㄦ湡 - 鍒涘缓涔嬪墠 + beforeMount() { }, //鐢熷懡鍛ㄦ湡 - 鎸傝浇涔嬪墠 + beforeUpdate() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠 + updated() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗 + beforeDestroy() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓� + destroyed() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴� + activated() { }, //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂 }; </script> <style scoped> -- Gitblit v1.9.3