From 5ba9921fb11703c89de646c1176dbfa0f59bc4cd Mon Sep 17 00:00:00 2001 From: yxh <172933527@qq.com> Date: 星期二, 01 八月 2023 09:27:12 +0800 Subject: [PATCH] yxh --- src/views/project/fund/expertFeeFundApply/index.vue | 2390 +++++++++++++++++++++++++++++------------------------------ 1 files changed, 1,187 insertions(+), 1,203 deletions(-) diff --git a/src/views/project/fund/expertFeeFundApply/index.vue b/src/views/project/fund/expertFeeFundApply/index.vue index ec20d14..4593a19 100644 --- a/src/views/project/fund/expertFeeFundApply/index.vue +++ b/src/views/project/fund/expertFeeFundApply/index.vue @@ -1,58 +1,28 @@ <!-- --> <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 +33,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 +70,41 @@ </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="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="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"> <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 +112,7 @@ icon="el-icon-download" @click="mixExport(scope)" >涓嬭浇</el-button - > --> + > --> <!-- v-hasPermi="['project:expretfund:download']" --> </template> </el-table-column> @@ -249,229 +124,166 @@ </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-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="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-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="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-col :span="5"> + <el-form-item label="缁勯暱" prop="managername"> + <el-input v-model="form.managername" placeholder="璇疯緭鍏ョ粍闀�" clearable /> </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="phone"> + <el-input v-model="form.phone" 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="taxcost"> + <el-input v-model="form.taxcost" 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="name"> + <el-input :disabled="true" v-model="form.name" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" /> + </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 @@ -482,69 +294,19 @@ placeholder="璇烽�夋嫨" > <el-option - v-for="item in arrr3" + v-for="item in expertlist" :key="item.reportNo" :label="item.reportName" :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 +320,72 @@ :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-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,154 +393,155 @@ </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="showDetailInfoDialog" :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-col :span="24" v-if="showDetailInfoDialogType == 'name'"> + <el-form-item label="璇烽�夋嫨涓撳淇℃伅锛�" prop="expertfrom"> + <el-radio-group v-model="expertfrom" style="margin-bottom: 0"> + <el-radio label="1">涓撳搴�</el-radio> + <el-radio label="2">鏂板涓撳</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="24" v-if="showDetailInfoDialogType == 'name' && expertfrom == '1'"> + <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 expertlist" :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-col :span="24" v-if="showDetailInfoDialogType == '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-select> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="12" v-if="expertfrom == '2'"> + <el-form-item label="涓撳濮撳悕" prop="expertname" label-width="80px"> + <el-input v-model="funddetailForm.expertname" placeholder="蹇呭~椤�" /> + </el-form-item> + </el-col> + <el-col :span="12" v-if="expertfrom == '2'"> + <el-form-item label="鑱� 绉�" prop="experttitle" label-width="80px"> + <el-select v-model="funddetailForm.experttitle" placeholder="蹇呭~椤�"> + <el-option v-for="dict in dict.type.sys_professionaltitle" :key="dict.value" :label="dict.label" + :value="dict.label"></el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="24" v-if="expertfrom == '2'"> + <el-form-item label="韬唤璇佸彿" prop="expertidcardno" label-width="80px"> + <el-input v-model="funddetailForm.expertidcardno" placeholder="蹇呭~椤�" /> + </el-form-item> + </el-col> + </el-row> + <!-- + <el-row> + <el-col :span="12" v-if="expertfrom == '2'"> + <el-form-item label="浜哄憳绫诲埆" prop="usertype" label-width="80px"> + <el-select v-model="funddetailForm.usertype" placeholder="蹇呭~椤�"> + <el-option v-for="dict in dict.type.sys_UserType" :key="dict.value" :label="dict.label" + :value="dict.value"></el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + --> + <el-row> + <el-col :span="24" v-if="expertfrom == '2'"> + <el-form-item label="鍗曚綅鍚嶇О" prop="expertunitno" label-width="80px"> + <el-select v-model="funddetailForm.expertunitno" 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> + </el-row> + <el-row> + <el-col :span="24" v-if="expertfrom == '2'"> + <el-form-item label="寮�鎴烽摱琛�" prop="expertdepositbank" label-width="80px"> + <el-input v-model="funddetailForm.expertdepositbank" placeholder="蹇呭~椤�" /> + </el-form-item> + </el-col> + <el-col :span="24" v-if="expertfrom == '2'"> + <el-form-item label="閾惰鍗″彿" prop="expertbankcardno" label-width="80px"> + <el-input v-model="funddetailForm.expertbankcardno" placeholder="蹇呭~椤�" /> </el-form-item> </el-col> </el-row> </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 @click="showDetailInfoDialog = false">鍙� 娑�</el-button> + <el-button type="primary" @click="ConfirmDetailDialog()">纭� 瀹�</el-button> </span> </el-dialog> </div> @@ -889,6 +550,11 @@ <script> //杩欓噷鍙互瀵煎叆鍏朵粬鏂囦欢锛堟瘮濡傦細缁勪欢锛屽伐鍏穓s锛岀涓夋柟鎻掍欢js锛宩son鏂囦欢锛屽浘鐗囨枃浠剁瓑绛夛級 //渚嬪锛歩mport 銆婄粍浠跺悕绉般�� from '銆婄粍浠惰矾寰勩��'; +import { + listDonatebaseinfo, + getDonatebaseinfo +} from "@/api/project/donatebaseinfo"; + import { onelistFund, listFund, @@ -903,8 +569,9 @@ getdownloadYX, getdownloadBX, batchUploadFund, - getdetailsByItemId, + getdetailsByItemId } from "@/api/project/fund"; + import { onelistFunds, listFunddetails, @@ -919,14 +586,22 @@ getFundType, getFundTypeAll, listcountItem, + getDataBybeneficiaryNo, + getTaxByBeneFiciaryNo, + getTaxBeforeByBeneFiciaryNo, + getTaxationByBeneFiciaryNo, + getTaxBeforeByAfterMoney } from "@/api/project/funddetail"; + import { listFundflow } from "@/api/project/fundflow"; + import { listOrganization, getOrganization, listReportname, - listUser, + listUser } from "@/api/project/organization"; + import { listExternalperson, getExternalperson, @@ -934,45 +609,45 @@ delExternalperson, addExternalperson, updateExternalperson, - exportExternalperson, + 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: { Li_area_select, OrgSelecter, }, + name: "fundApply", + dicts: [ - "sys_consolationfundlevel", - "sys_OrganizationType", + //"sys_consolationfundlevel", + //"sys_OrganizationType", "sys_DonationStatus", - "sys_depositbank", - "sys_FamilyRelation", - "sys_IDType", - "sys_ConsolationType", - "sys_fund_type", - "sys_finsubject", - "sys_financeitemtype", - "sys_expensetype", + //"sys_depositbank", + //"sys_FamilyRelation", + //"sys_IDType", + //"sys_ConsolationType", + //"sys_fund_type", + //"sys_finsubject", + //"sys_financeitemtype", + //"sys_expensetype", "sys_recordstatus", + "sys_professionaltitle" ], + data() { //杩欓噷瀛樻斁鏁版嵁 return { - arrr2: [], - arrr3: [], - currentApplyType: "1", // 閬僵灞� - loading: true, + loading: false, // 瀵煎嚭閬僵灞� exportLoading: false, total: 0, @@ -1001,7 +676,31 @@ }, // 琛ㄥ崟鍙傛暟 form: {}, + //鎵�鏈変汉鍛樿〃 personlist: [], + expertQueryParam: { + pageNum: 1, + pageSize: 10000, + userno: null, + username: null, + usertype: null, + }, + + // + amount: 0.00, + + //鐢宠鍗曠被鍨� + currentApplyType: "1", + //涓撳鍒楄〃 + expertlist: [], + //涓撳璐归�夋嫨锛�1鏄笓瀹跺簱锛�2鏄柊澧� + expertfrom: "1", + //璁$畻涓◣鍙傛暟 + taxParam: { + beneficiaryNo: '', + money: '0', + startTime: '', + }, // 琛ㄥ崟鏍¢獙 rules: { username: [ @@ -1009,6 +708,9 @@ ], createTime: [ { required: true, message: "璇疯緭鍏ョ敵璇锋棩鏈�", trigger: "blur" }, + ], + deptmentname: [ + { required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" }, ], // amountrequested: [ // { required: true, message: "璇疯緭鍏ョ敵璇烽噾棰�", trigger: "blur" }, @@ -1028,100 +730,289 @@ // 鎹愮尞浜洪亾鎱伴棶閲戣〃鏍兼暟鎹� donateconsolationfundList: [], - - fundDetailArr: [], + //璐圭敤鏄庣粏鍒楄〃 + fundDetails: [], + formData: {}, + totalPreTaxAmount: 0.0, + totalAfterTaxAmount: 0.0, + totalAmount: 0.0, // 寮瑰嚭灞傛爣棰� title: "", userlist: [], itemArr: [], reporters: [], + + //琛岃褰曠殑璐圭敤绫诲瀷鏁扮粍 + rowfeeItemTypes: [], //璐圭敤绫诲瀷鏁扮粍 - fundtypeArr: [], - fundblock: [], + feeItemTypes: [], + //璐圭敤璇存槑 + rowfeeblocks: [], defaultperson: {}, //鏄惁鏄笓瀹惰垂鐨凮PO瀹℃壒浜哄憳 ismanager: false, - fundtypeArrAll: [], unitList: [], dialogType: "edit", fundflowList: [], - detailInfoDialogShow: false, - detailInfoDialogShowType: "", + showDetailInfoDialog: false, + showDetailInfoDialogType: "", funddetailForm: { + index: null, beneficiaryname: null, beneficiaryno: null, unitno: null, unitname: null, - index: null, + expertname: null, + expertidcardno: null, + expertunitno: null, + expertunitname: null, + experttitle: null, + expertdepositbank: null, + expertbankcardno: null, }, + expertform: { + id: null, + address: null, + bankcardno: null, + branchbankname: null, + createBy: null, + createTime: null, + del_flag: null, + depositbank: null, + idcardno: null, + personnelunitno: null, + pym: null, + remark: null, + searchValue: null, + sex: null, + telephone: null, + title: null, + unitname: null, + unitno: null, + updateBy: null, + updateTime: null, + username: null, + userno: null, + userstatus: 1, + usertype: null, + wbm: null, + }, + + //闄勪欢鍒楄〃 + fileList: [], + //涓婁紶闄勪欢璺緞 + uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", + + headers: { + Authorization: "Bearer " + getToken(), + }, + }; }, //鐩戝惉灞炴�� 绫讳技浜巇ata姒傚康 computed: {}, //鐩戞帶data涓殑鏁版嵁鍙樺寲 watch: {}, - // mounted(){ - // this.getUsermsg() - // }, + //鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵his瀹炰緥锛� + created() { + this.getList(); + this.getBaseInfoList(); + this.getCurFundType(); + this.getUserList(); + this.getUnitList(); + + }, + + //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛� + mounted() { + this.selectReporters(); + this.getUsermsg(); + this.getExternalpersonList(); + }, + + beforeCreate() { }, //鐢熷懡鍛ㄦ湡 - 鍒涘缓涔嬪墠 + beforeMount() { }, //鐢熷懡鍛ㄦ湡 - 鎸傝浇涔嬪墠 + beforeUpdate() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠 + updated() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗 + beforeDestroy() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓� + destroyed() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴� + activated() { }, //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂 + //鏂规硶闆嗗悎 methods: { - ShowDetailDialog(spoce, showType) { - this.funddetailForm.index = spoce.$index; - this.funddetailForm.beneficiaryname = spoce.row.beneficiaryname; - this.funddetailForm.beneficiaryno = spoce.row.beneficiaryno; - this.funddetailForm.unitno = spoce.row.unitno; - this.funddetailForm.unitname = spoce.row.unitname; - this.detailInfoDialogShow = true; - this.detailInfoDialogShowType = showType; + + /** 鎼滅储鎸夐挳鎿嶄綔 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.getList(); }, - ConfirmDetailDialog() { - let tempIndex = this.funddetailForm.index; - let tempName = this.funddetailForm.beneficiaryname; - let tempUnitname = this.funddetailForm.unitname; - let singleDetail = this.fundDetailArr[tempIndex]; - if (this.detailInfoDialogShowType == "name") { - this.personlist.map((res) => { - if (tempName == res.username) { - singleDetail.beneficiaryno = res.userno; - singleDetail.beneficiaryname = res.username; - singleDetail.bankcardno = res.bankcardno; - singleDetail.branchbankname = res.branchbankname; - singleDetail.depositbank = res.depositbank; - singleDetail.idcardno = res.idcardno; - singleDetail.phone = res.telephone; - singleDetail.title = res.title; - singleDetail.unitname = res.unitname; - singleDetail.unitno = parseInt(res.unitno); - } else { - singleDetail.beneficiaryname = tempName; - singleDetail.beneficiaryno = tempName; + + /** 閲嶇疆鎸夐挳鎿嶄綔 */ + resetQuery() { + this.daterangeReporttime = []; + this.resetForm("queryForm"); + this.handleQuery(); + }, + + /** 鏂板鎸夐挳鎿嶄綔 */ + handleAdd() { + if (this.curCase.id) { + this.istrue += 2; + this.reset(); + this.queryParams.params = {}; + this.form.donorno = this.curCase.donorno; + this.form.name = this.curCase.name; + this.form.infoid = this.curCase.id; + console.log("defaultperson", this.defaultperson); + this.form.username = this.defaultperson.nickName; + this.form.userno = this.defaultperson.userName; + this.form.phone = this.defaultperson.phonenumber; + 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.fundDetails = []; + this.addRow(); + this.dialogOpen = true; + this.dialogType = "edit"; + this.title = "璐圭敤鐢宠"; + } else { + const h = this.$createElement; + this.$message({ + message: h("p", null, [h("span", null, "璇峰厛閫夋嫨宸︽柟鎹愮尞妗堜緥 ")]), + }); + } + }, + + /** 淇敼鎸夐挳鎿嶄綔 */ + handleUpdate(row) { + this.isopen = 0; + this.reset(); + this.queryParams.params = {}; + this.form.donorno = this.curCase.donorno; + this.form.infoid = this.curCase.id; + this.dialogOpen = true; + this.title = "淇敼璐圭敤鐢宠"; + this.dialogType = "edit"; + + 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) => { + 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, + // }); + // }); + // }); + } + + if (this.fundDetails.length == 0) { + this.addRow(); } }); - } else if (this.detailInfoDialogShowType == "unit") { - singleDetail.unitno = this.funddetailForm.unitno; - try { - let unitIndex = this.unitList.findIndex( - (item) => singleDetail.unitno == item.organizationid - ); - if (unitIndex > -1) { - singleDetail.unitname = this.unitList[unitIndex].organizationname; - } else { - singleDetail.unitname = singleDetail.unitno; - } - } catch { - singleDetail.unitname = singleDetail.unitno; - } - } - debugger; - this.fundDetailArr[tempIndex] = singleDetail; - this.detailInfoDialogShow = false; + }); }, - handleup(row) { - console.log("rowrowrowrow", row); + /** 鏌ョ湅鎸夐挳鎿嶄綔 */ + handleDetail(row) { + this.isopen = 0; + this.reset(); + this.queryParams.params = {}; + this.form.donorno = this.curCase.donorno; + this.form.infoid = this.curCase.id; + this.dialogOpen = true; + this.title = "鏌ョ湅璐圭敤鐢宠"; + this.dialogType = "detail"; + const id = row.id || this.ids; + + getFund(id).then((response) => { + this.form = response.data; + this.form.name = this.curCase.name; + let listFundflowparams = { + 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.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, + }); + } + + if (this.fundDetails.length == 0) { + this.addRow(); + } + }); + }); + }, + + handleDelete(row) { + const ids = row.id || this.ids; + this.$modal + .confirm("鏄惁纭鍒犻櫎璇ヨ褰曪紵") + .then(function () { + return delFund(ids); + }) + .then(() => { + getownFundDetail(ids).then((res) => { + let listdetails = res.data; + for (let i = 0; i < listdetails.length; i++) { + delFunddetail(listdetails[i].id); + } + }); + // this.getList(); + this.getfundList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }) + .catch(() => { }); + }, + + /** 涓婃姤鎸夐挳鎿嶄綔 */ + handleUp(row) { this.$confirm("鏄惁纭灏嗙櫥璁拌褰曚笂鎶ワ紵", "鎻愮ず", { confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", @@ -1155,175 +1046,170 @@ }); }, - // recordstatus - // updateFund(row).then(res=>{ - // console.log('鐘舵�佹洿鏂�',res); - // }) - // }, + /** 鎻愪氦鎸夐挳 */ + submitForm() { + this.$refs["form"].validate((valid) => { + if (valid) { + this.formData = this.form; + // let totalPreTaxAmount = 0.0; + // let totalAfterTaxAmount = 0.0; + // let totalAmount = 0.0; - 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" - ) { - this.ismanager = true; - } else { - this.ismanager = false; - } - }); - }, - selectedRemark(row) { - row.fundblock.forEach((item, i) => { - if (item.servicesscope === row.servicesscope) { - row.servicesscopename = item.expensedescribe; - if (row.servicesscopename.includes("绋庡悗")) { - row.amount = 0.0; - row.taxedamount = item.expense; - } else { - row.amount = item.expense; - row.taxedamount = 0.0; + //淇濆瓨鍓嶆牎楠屾暟鎹� + for (let k = 0; k < this.fundDetails.length; k++) { + let tempDetail = this.fundDetails[k]; + if (tempDetail.itemid == null) { + this.$modal.msgWarning("鏈嶅姟椤圭洰琛ㄤ腑锛岀" + (k + 1).toString() + "琛岀殑鏈嶅姟椤圭洰鏈�夋嫨锛岃鍏堥�夋嫨鏈嶅姟椤圭洰鍚庡啀鎻愪氦淇濆瓨锛�"); + return; + } + + if (tempDetail.servicesscope == null) { + this.$modal.msgWarning("鏈嶅姟椤圭洰琛ㄤ腑锛岀" + (k + 1).toString() + "琛岀殑璐圭敤璇存槑鏈�夋嫨,璇烽�夋嫨璐圭敤璇存槑鍚庡啀鎻愪氦淇濆瓨锛�"); + return; + } + + if (tempDetail.beneficiaryno == null) { + this.$modal.msgWarning("鏈嶅姟椤圭洰琛ㄤ腑锛岀" + (k + 1).toString() + "琛岀殑鏈嶅姟浜哄憳濮撳悕涓洪�夋嫨,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�"); + return; + } + + // //鍒ゆ柇鍗曚綅 unitSel + // try { + // let unitIndex = this.unitList.findIndex( + // (item) => tempDetail.unitno == item.organizationid + // ); + // if (unitIndex > -1) { + // tempDetail.unitname = this.unitList[unitIndex].organizationname; + // } else { + // tempDetail.unitname = tempDetail.unitno; + // } + // } catch { + // tempDetail.unitname = tempDetail.unitno; + // } } + + //闄勪欢澶勭悊 + let list = this.fileList; + if (list.length > 0) { + this.form.annexfiles = list.map(item => item.url).join(","); + } + + //澶勭悊鏄庣粏 + for (let i = 0; i < this.fundDetails.length; i++) { + let tempDetail = this.fundDetails[i]; + //鑾峰彇鏈嶅姟椤圭洰鏄庣粏 + let tempItemArr = tempDetail.itemArr; + let itemIndex = tempItemArr.findIndex( + (item) => tempDetail.itemid == item.id + ); + if (itemIndex > -1) { + tempDetail.itemname = tempItemArr[itemIndex].itemName; + tempDetail.itemid = tempItemArr[itemIndex].id; + } + + //鑾峰彇applytypename銆佹湇鍔¤垂鐢ㄥぇ绫� + let applytypeIndex = this.rowfeeItemTypes.findIndex( + (item) => tempDetail.applytype == item.value + ); + if (applytypeIndex > -1) { + tempDetail.applytypename = this.rowfeeItemTypes[applytypeIndex].label; + tempDetail.subjecttype = this.rowfeeItemTypes[applytypeIndex].subjecttype; + tempDetail.subjecttypename = this.rowfeeItemTypes[applytypeIndex].subjecttypename; + } + this.fundDetails[i] = tempDetail; + /* + //璁$畻涓◣ + //if (isNaN(parseFloat(tempDetail.taxedamount))) + //鑾峰彇鍙傛暟 + this.taxParam.beneficiaryNo = tempDetail.beneficiaryno; + this.taxParam.startTime = this.form.createTime.substring(0, 10); + // 璁$畻绋庡悗閲戦 + if (tempDetail.taxedamount == undefined || tempDetail.taxedamount == null || tempDetail.taxedamount == 0 || tempDetail.taxedamount == '') { + //鑾峰彇鍙傛暟 + this.taxParam.money = tempDetail.amount.toString(); + getTaxByBeneFiciaryNo(this.taxParam).then((res) => { + if (res.code == 200) { + tempDetail.taxamount = res.data; + tempDetail.taxedamount = tempDetail.amount - tempDetail.taxamount; + this.fundDetails[k] = tempDetail; + + this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount); + this.totalAmount += parseFloat(tempDetail.amount); + } + }); + } + + // 璁$畻绋庡墠閲戦 + if (tempDetail.amount == undefined || tempDetail.amount == null || tempDetail.amount == 0 || tempDetail.amount == '') { + //鑾峰彇鍙傛暟 + this.taxParam.money = tempDetail.taxedamount.toString(); + getTaxBeforeByAfterMoney(this.taxParam).then((res) => { + if (res.code == 200) { + tempDetail.taxamount = res.data.nowTax; + tempDetail.amount = parseFloat(res.data.nowTaxBeforeMoney); + this.fundDetails[k] = tempDetail; + + this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount); + this.totalAmount += parseFloat(tempDetail.amount); + console.log("1", this.amount); + } + }); + } + */ + } + //璐圭敤鍚堣 + // this.form.pretaxcost = parseFloat(this.totalPreTaxAmount).toFixed(2); + // this.form.taxedcost = parseFloat(this.totalAfterTaxAmount).toFixed(2); + // this.form.amountrequested = this.totalAmount.toFixed(2); + + //淇濆瓨鏁版嵁 + this.loading = true; this.form.serviceFunddetails = 0; - this.fundDetailArr.map((item) => { + this.fundDetails.map((item) => { this.form.serviceFunddetails += item.amount; }); - } - }); - }, - select(row) { - row.itemArr.map((res) => { - if (row.itemid === res.id) { - row.remark = res.itemDescribe; - row.itemcode = res.itemCode; - } - }); - var repeatNum = 0; - this.fundDetailArr.map((res) => { - if (res.applytype === row.applytype && res.itemid == row.itemid) { - repeatNum++; - } - }); - if (repeatNum > 1) { - this.$modal.msgWarning("鎮ㄥ凡缁忔彁浜よ繃鏈嶅姟椤圭洰"); - } + this.form.serviceFunddetails = this.fundDetails; - getdetailsByItemId(row.itemid).then((res) => { - console.log("璐圭敤鏁版嵁", res.data); - let fundmsg = res.data; - let fundblock = []; - fundmsg.forEach((item) => { - fundblock.push({ - expense: item.expense, - expensedescribe: item.expensedescribe, - remark: item.expensedescribe, - servicesscope: item.id, - }); - }); - console.log("缁勮鍚庣殑鏁版嵁", fundblock); - row.fundblock = fundblock; - row.servicesscope = null; - row.servicesscopename = ""; - }); - }, - selectamount(row) { - console.log("row", row.amount); - this.fundblock.forEach((item, i) => { - if (item.expense === row.amount) { - row.remark = item.expensedescribe; - } - }); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.daterangeReporttime = []; - this.resetForm("queryForm"); - this.handleQuery(); - }, - /** 鏌ヨ鎹愮尞浜洪亾鎱伴棶閲戝垪琛� */ - getList() { - this.loading = true; - this.queryParams.params = {}; - if (null != this.daterangeReporttime && "" != this.daterangeReporttime) { - this.queryParams.params["beginReporttime"] = - this.daterangeReporttime[0]; - this.queryParams.params["endReporttime"] = this.daterangeReporttime[1]; - } - // this.queryParams.residencetown = this.$refs.areaSelect.getQu(); - listDonatebaseinfo(this.queryParams).then((response) => { - this.donatebaseinfoList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - getUnitList() { - listOrganization(3).then((response) => { - debugger; - for (let i = 0; i < response.rows.length; i++) { - this.unitList.push({ - //organizationid: response.rows[i].organizationid, - organizationid: response.rows[i].id, - organizationname: response.rows[i].organizationname, - }); - } - }); - }, - getBaseInfoList() { - this.loading = true; - listDonatebaseinfo(this.queryParams).then((response) => { - this.donatebaseinfoList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, + if (this.form.id != null) { + //鎹愮尞鑰� + this.form.donorname = this.curCase.name; - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - if (this.curCase.id) { - this.istrue += 2; - this.reset(); - this.queryParams.params = {}; - this.form.donorno = this.curCase.donorno; - this.form.name = this.curCase.name; - this.form.infoid = this.curCase.id; - this.form.username = this.defaultperson.nickName; - this.form.userno = this.defaultperson.userName; - // this.form.createTime = nowdate; - //this.open = true; - //this.initFundApplyForm(); - this.fundDetailArr = []; - this.addRow(); - this.dialogOpen = true; - this.dialogType = "edit"; - this.title = "璐圭敤鐢宠"; - } else { - const h = this.$createElement; - this.$message({ - message: h("p", null, [h("span", null, "璇峰厛閫夋嫨宸︽柟鎹愮尞妗堜緥 ")]), - }); - } - }, - //鐐瑰嚮鎹愮尞妗堜緥鍒楄〃瑙﹀彂鏂规硶 - selectDonotor(row, column, event) { - this.curCase = row; - this.getfundList(); - }, - getfundList() { - this.loading = true; - this.reset(); - this.fundQueryParam.infoid = this.curCase.id; - listFund(this.fundQueryParam).then((response) => { - this.loading = false; - this.donateconsolationfundList = response.rows; + updateFund(this.form).then((response) => { + if (response.code === 200) { + this.loading = false; + for (let m = 0; m < this.fundDetails.length; m++) { + if (this.fundDetails[m].id > 0) { + updateFunddetail(this.fundDetails[m]).then((response2) => { this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐�1锛�" + response.msg); }); + } else { + addFunddetail(this.fundDetails[m]).then((response2) => { this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐�2锛�" + response.msg); }); + } + } + this.$modal.msgSuccess("涓撳鍔冲姟璐逛繚瀛樻垚鍔燂紒"); + } else { + this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐ワ細" + response.msg); + } + + }); + + } else { + this.form.recordstatus = -1; + + batchUploadFund(this.form).then((response) => { + if (response.code === 200) { + this.selectDonotor(this.curCase); + } else { + this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐ワ細" + response.msg); + } + }); + } + //鍏抽棴绐楀彛 + this.loading = false; + this.dialogOpen = false; + // this.getfundList(); + this.getList(); + this.selectDonotor(this.curCase); + + } }); }, @@ -1376,43 +1262,333 @@ servicesscopename: null, }; this.resetForm("form"); + //娓呯┖闄勪欢 + this.fileList = [] }, - addAlls() { + ShowDetailDialog(spoce, showType) { + this.expertfrom = "1"; + this.funddetailForm.index = spoce.$index; + this.funddetailForm.beneficiaryname = spoce.row.beneficiaryname; + this.funddetailForm.beneficiaryno = spoce.row.beneficiaryno; + this.funddetailForm.unitno = spoce.row.unitno; + this.funddetailForm.unitname = spoce.row.unitname; + this.funddetailForm.expertname = ""; + this.funddetailForm.expertidcardno = ""; + this.funddetailForm.expertunitno = ""; + this.funddetailForm.expertunitname = ""; + this.funddetailForm.experttitle = ""; + this.funddetailForm.expertdepositbank = ""; + this.funddetailForm.expertbankcardno = ""; + + this.showDetailInfoDialog = true; + this.showDetailInfoDialogType = showType; + }, + + ConfirmDetailDialog() { + let tempIndex = this.funddetailForm.index; + let tempName = this.funddetailForm.beneficiaryname; + let tempUnitname = this.funddetailForm.unitname; + let singleDetail = this.fundDetails[tempIndex]; + + if (this.showDetailInfoDialogType == "name") { + + if (this.expertfrom == "1") { + //浠庝笓瀹跺垪琛ㄨ幏鍙栦俊鎭� + this.personlist.map((res) => { + if (tempName == res.username) { + console.log("閫夋嫨涓撳", res); + singleDetail.beneficiaryno = res.userno; + singleDetail.beneficiaryname = res.username; + singleDetail.bankcardno = res.bankcardno; + singleDetail.branchbankname = res.branchbankname; + singleDetail.depositbank = res.depositbank; + singleDetail.idcardno = res.idcardno; + singleDetail.phone = res.telephone; + singleDetail.title = res.title; + singleDetail.unitname = res.unitname; + singleDetail.unitno = parseInt(res.unitno); + } + }); + } else { + //淇濆瓨鏂板涓撳 + this.expertform.id = null; + this.expertform.userno = this.personlist[this.personlist.length - 1].id + 1; + this.expertform.usertype = "expert"; + this.expertform.username = this.funddetailForm.expertname; + this.expertform.idcardno = this.funddetailForm.expertidcardno; + this.expertform.sex = null; + this.expertform.telephone = null; + this.expertform.address = null; + this.expertform.wbm = null; + this.expertform.pym = null; + + this.expertform.unitno = this.funddetailForm.expertunitno; + try { + let unitIndex = this.unitList.findIndex( + (item) => this.expertform.unitno == item.organizationid + ); + if (unitIndex > -1) { + this.expertform.unitname = this.unitList[unitIndex].organizationname; + } else { + this.expertform.unitname = this.expertform.unitno; + } + } catch { + this.expertform.unitname = this.expertform.unitno; + } + this.expertform.title = this.funddetailForm.experttitle; + this.expertform.personnelunitno = null; + + this.expertform.depositbank = this.funddetailForm.expertdepositbank; + this.expertform.bankcardno = this.funddetailForm.expertbankcardno; + this.expertform.branchbankname = null; + this.expertform.remark = null; + this.expertform.del_flag = "0"; + + addExternalperson(this.expertform).then((response) => { + if (response.code == 200) { + this.$modal.msgSuccess("鏂板涓撳淇℃伅鎴愬姛锛�"); + + listExternalperson().then((res) => { + this.personlist = res.rows; + console.log("new personlist", this.personlist); + //浠庝笓瀹跺垪琛ㄨ幏鍙栦俊鎭� + this.personlist.map((res) => { + if (res.username == this.funddetailForm.expertname) { + console.log("鏂板涓撳", res); + singleDetail.beneficiaryno = res.userno; + singleDetail.beneficiaryname = res.username; + singleDetail.bankcardno = res.bankcardno; + singleDetail.branchbankname = res.branchbankname; + singleDetail.depositbank = res.depositbank; + singleDetail.idcardno = res.idcardno; + singleDetail.phone = res.telephone; + singleDetail.title = res.title; + singleDetail.unitname = res.unitname; + singleDetail.unitno = parseInt(res.unitno); + } + }); + }); + } + }); + } + + } else if (this.showDetailInfoDialogType == "unit") { + singleDetail.unitno = this.funddetailForm.unitno; + try { + let unitIndex = this.unitList.findIndex( + (item) => singleDetail.unitno == item.organizationid + ); + if (unitIndex > -1) { + singleDetail.unitname = this.unitList[unitIndex].organizationname; + } else { + singleDetail.unitname = singleDetail.unitno; + } + } catch { + singleDetail.unitname = singleDetail.unitno; + } + } + + this.fundDetails[tempIndex] = singleDetail; + this.showDetailInfoDialog = false; + }, + + //鑾峰彇褰撳墠鐢ㄦ埛淇℃伅 + getUsermsg() { + getUserProfile().then((response) => { + this.defaultperson = response.data; + console.log("this.defaultperson", this.defaultperson); + this.standardlevel = response.data.standardlevel; + if (this.defaultperson.createBy == "admin" || this.defaultperson.createBy == "001" || this.defaultperson.createBy == "002") { + this.ismanager = true; + } else { + this.ismanager = false; + } + }); + }, + + //鑾峰彇璐圭敤椤圭洰鐨勫娉ㄤ俊鎭� + selectedRemark(row) { + row.rowfeeblocks.forEach((item, i) => { + if (item.servicesscope === row.servicesscope) { + row.servicesscopename = item.expensedescribe; + if (row.servicesscopename.includes("绋庡悗")) { + row.amount = 0.0; + row.taxedamount = item.expense; + } else { + row.amount = item.expense; + row.taxedamount = 0.0; + } + + this.form.serviceFunddetails = 0; + this.fundDetails.map((item) => { + this.form.serviceFunddetails += item.amount; + }); + } + }); + }, + + //鏍¢獙鏀惰垂椤圭洰鏄惁閲嶅 + verifyFeeItem(row) { + row.itemArr.map((res) => { + if (row.itemid === res.id) { + row.remark = res.itemDescribe; + row.itemcode = res.itemCode; + } + }); + var repeatNum = 0; + this.fundDetails.map((res) => { + if (res.applytype === row.applytype && res.itemid == row.itemid) { + repeatNum++; + } + }); + if (repeatNum > 1) { + this.$modal.msgWarning("鎮ㄥ凡缁忔彁浜よ繃璇ユ湇鍔¢」鐩簡"); + } + + //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭� + getdetailsByItemId(row.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, + }); + }); + + row.rowfeeblocks = rowfeeblocks; + row.servicesscope = null; + row.servicesscopename = ""; + }); + + }, + + // + selectamount(row) { + this.rowfeeblocks.forEach((item, i) => { + if (item.expense === row.amount) { + row.remark = item.expensedescribe; + } + }); + }, + + /** 鏌ヨ鎹愮尞浜洪亾鎱伴棶閲戝垪琛� */ + getList() { + console.log("getList", "getList"); this.loading = true; - this.fundDetailArr = this.fundDetailArr.filter( + this.queryParams.params = {}; + if (null != this.daterangeReporttime && "" != this.daterangeReporttime) { + this.queryParams.params["beginReporttime"] = + this.daterangeReporttime[0]; + this.queryParams.params["endReporttime"] = this.daterangeReporttime[1]; + } + // this.queryParams.residencetown = this.$refs.areaSelect.getQu(); + listDonatebaseinfo(this.queryParams).then((response) => { + this.donatebaseinfoList = response.rows; + this.total = response.total; + this.loading = false; + }); + }, + + getUnitList() { + listOrganization(3).then((response) => { + for (let i = 0; i < response.rows.length; i++) { + this.unitList.push({ + //organizationid: response.rows[i].organizationid, + organizationid: response.rows[i].id, + organizationname: response.rows[i].organizationname, + }); + } + }); + }, + + getBaseInfoList() { + this.loading = true; + listDonatebaseinfo(this.queryParams).then((response) => { + this.donatebaseinfoList = response.rows; + this.total = response.total; + this.loading = false; + }); + }, + + //鐐瑰嚮鎹愮尞妗堜緥鍒楄〃瑙﹀彂鏂规硶 + selectDonotor(row, column, event) { + this.curCase = row; + this.getfundList(); + }, + + getfundList() { + this.loading = true; + this.reset(); + this.fundQueryParam.infoid = this.curCase.id; + listFund(this.fundQueryParam).then((response) => { + this.loading = false; + this.donateconsolationfundList = response.rows; + }); + }, + + //瀵煎叆鎵�鏈夐」鐩� + addAllItems() { + this.loading = true; + 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 +1597,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 +1608,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 +1667,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(); @@ -1519,146 +1694,32 @@ // }); }, - /** 鎻愪氦鎸夐挳 */ - submitForm() { - this.$refs["form"].validate((valid) => { - if (valid) { - let formData = this.form; - 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]; - if (tempDetail.itemid == null) { - this.$modal.msgWarning("璇烽�夋嫨鏈嶅姟椤圭洰"); - return; - } - // //鍒ゆ柇鍗曚綅 unitSel - // try { - // let unitIndex = this.unitList.findIndex( - // (item) => tempDetail.unitno == item.organizationid - // ); - // if (unitIndex > -1) { - // tempDetail.unitname = this.unitList[unitIndex].organizationname; - // } else { - // tempDetail.unitname = tempDetail.unitno; - // } - // } 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; - - this.form.pretaxcost = parseFloat(totalPreTaxAmount).toFixed(2); - this.form.taxedcost = parseFloat(totalAfterTaxAmount).toFixed(2); - this.form.amountrequested = totalAmount.toFixed(2); - if (this.form.id != null) { - this.form.recordstatus = -1; - updateFund(this.form).then((response) => { - this.getfundList(); - this.dialogOpen = false; - this.getList(); - this.selectDonotor(this.curCase); - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.loading = false; - for (let m = 0; m < this.fundDetailArr.length; m++) { - let tempData = this.fundDetailArr[m]; - let tempItemArr = tempData.itemArr; - tempData.fundid = formData.id; - //鑾峰彇鏈嶅姟椤圭洰鏄庣粏 - let itemIndex = tempItemArr.findIndex( - (item) => tempData.itemid == item.id - ); - if (itemIndex > -1) { - tempData.itemname = tempItemArr[itemIndex].itemName; - tempData.itemid = tempItemArr[itemIndex].id; - } - if (tempData.id > 0) { - updateFunddetail(tempData).then((response2) => {}); - } else { - addFunddetail(tempData).then((response2) => {}); - } - } - }); - } else { - //淇濆瓨璐圭敤鐢宠 - for (let m = 0; m < this.fundDetailArr.length; m++) { - let tempData = this.fundDetailArr[m]; - let tempUtemArr = tempData.itemArr; - //鑾峰彇鏈嶅姟椤圭洰鏄庣粏 - let itemIndex = tempUtemArr.findIndex( - (item) => tempData.itemid == item.id - ); - if (itemIndex > -1) { - tempData.itemname = tempUtemArr[itemIndex].itemName; - tempData.itemid = tempUtemArr[itemIndex].id; - } - //鑾峰彇applytypename - let applytypeIndex = this.fundtypeArr.findIndex( - (item) => tempData.applytype == item.value - ); - if (applytypeIndex > -1) { - tempData.applytypename = this.fundtypeArr[applytypeIndex].label; - } - this.fundDetailArr[m] = tempData; - } - this.form.serviceFunddetails = 0; - this.fundDetailArr.map((item) => { - this.form.serviceFunddetails += item.amount; - }); - this.form.serviceFunddetails = this.fundDetailArr; - this.form.recordstatus = -1; - batchUploadFund(this.form).then((response) => { - if (response.code === 200) { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.loading = false; - this.selectDonotor(this.curCase); - } else { - this.$modal.msgError("鏂板澶辫触锛�" + response.msg); - this.loading = false; - } - }); - this.dialogOpen = false; - } - } - }); - }, - getlistExternalperson() { + //鑾峰彇涓撳鍒楄〃 + getExternalpersonList() { 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++) { - this.arrr2 = []; - listReportname(arr[i]).then((res) => { + let types = ["expert"]; + let templist = []; + for (let i = 0; i < types.length; i++) { + templist = []; + listReportname(types[i]).then((res) => { for (let j = 0; j < res.data.length; j++) { - this.arrr2.push({ + templist.push({ reportName: res.data[j].reportName, reportNo: res.data[j].reportNo, }); } - this.arrr3 = this.arrr3.concat(this.arrr2); - console.log("adadadadasdsad", this.arrr3, this.userlist); + this.expertlist = this.expertlist.concat(templist); }); } }, + selectpersonmsg(row) { - console.log("row", row); // if(row.beneficiaryname) this.personlist.map((res) => { if (row.beneficiaryname == res.username) { @@ -1668,7 +1729,7 @@ row.branchbankname = res.branchbankname; row.depositbank = res.depositbank; row.idcardno = res.idcardno; - row.phone = res.telephone; + row.phone = res.phonenumber; row.title = res.title; row.unitname = res.unitname; row.unitno = res.unitno; @@ -1677,106 +1738,34 @@ } }); }, - getlistUser() { + + getUserList() { listUser().then((res) => { + console.log("listUser", res); this.userlist = res.data; }); }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.isopen = 0; - this.reset(); - this.queryParams.params = {}; - this.form.donorno = this.curCase.donorno; - this.form.infoid = this.curCase.id; - this.dialogOpen = true; - this.title = "淇敼璐圭敤鐢宠"; - this.dialogType = "edit"; - 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; - 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, - }); - } - // console.log("fundDetailArr:" + JSON.stringify(this.fundDetailArr)); - }); - }); - }, - - /** 鏌ョ湅鎸夐挳鎿嶄綔 */ - handleDetail(row) { - this.isopen = 0; - this.reset(); - this.queryParams.params = {}; - this.form.donorno = this.curCase.donorno; - this.form.infoid = this.curCase.id; - this.dialogOpen = true; - this.title = "鏌ョ湅璐圭敤鐢宠"; - this.dialogType = "detail"; - const id = row.id || this.ids; - - getFund(id).then((response) => { - this.form = response.data; - this.form.name = this.curCase.name; - let listFundflowparams = { - fundid: row.id, - fundtype: 2, - }; - 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, - }); - } - // console.log("fundDetailArr:" + JSON.stringify(this.fundDetailArr)); - }); - }); - }, - - handleDelete(row) { - const ids = row.id || this.ids; - this.$modal - .confirm("鏄惁纭鍒犻櫎璇ヨ褰曪紵") - .then(function () { - return delFund(ids); - }) - .then(() => { - getownFundDetail(ids).then((res) => { - let listdetails = res.data; - for (let i = 0; i < listdetails.length; i++) { - delFunddetail(listdetails[i].id); + //绛涙煡鍑哄搴旂殑璐圭敤椤圭洰 + 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 != "") { + if (pym.indexOf(val) != -1) { + result.push(tempItemArr[i]); } - }); - // this.getList(); - this.getfundList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); + } + } + scope.row.itemArr = result; + } else { + getItemNames(scope.row.applytype).then((res) => { + scope.row.itemArr = res.data; + //this.$set(this.fundDetails, rowindex, row); + }); + } }, deleteRows(row, index, rows) { @@ -1796,17 +1785,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 +1806,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,39 +1847,38 @@ } // 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, + subjecttype: dataList[m].subjecttype, + subjecttypename: dataList[m].subjecttypename, }); } }); }, 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,50 +1928,45 @@ }); }, - SearchItem(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]); - } - } - } - scope.row.itemArr = result; + + + //鏂囦欢涓婁紶 + handleUploadError() { }, + + /** 涓嬭浇鏂囦欢鎸夐挳鎿嶄綔 */ + 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); + }, + + 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 { - getItemNames(scope.row.applytype).then((res) => { - scope.row.itemArr = res.data; - //this.$set(this.fundDetailArr, rowindex, row); - }); + console.log(response.msg);; } }, + }, - //鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵his瀹炰緥锛� - created() { - this.getUnitList(); - this.getList(); - this.getBaseInfoList(); - this.getlistUser(); - this.getCurFundType(); - }, - //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛� - mounted() { - this.selectReporters(); - this.getUsermsg(); - this.getlistExternalperson(); - }, - beforeCreate() {}, //鐢熷懡鍛ㄦ湡 - 鍒涘缓涔嬪墠 - beforeMount() {}, //鐢熷懡鍛ㄦ湡 - 鎸傝浇涔嬪墠 - beforeUpdate() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠 - updated() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗 - beforeDestroy() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓� - destroyed() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴� - activated() {}, //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂 + }; + </script> <style scoped> /* @import url(); 寮曞叆鍏叡css绫� */ -- Gitblit v1.9.3