From be47dc22ea72ba989f75419181284dca0021d018 Mon Sep 17 00:00:00 2001 From: heimawl <1785969728@qq.com> Date: 星期四, 10 八月 2023 11:13:16 +0800 Subject: [PATCH] 11 --- src/views/project/fund/medicalCostFundApply/index.vue | 1533 +++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 1,071 insertions(+), 462 deletions(-) diff --git a/src/views/project/fund/medicalCostFundApply/index.vue b/src/views/project/fund/medicalCostFundApply/index.vue index 2a235b4..c2c164a 100644 --- a/src/views/project/fund/medicalCostFundApply/index.vue +++ b/src/views/project/fund/medicalCostFundApply/index.vue @@ -1,30 +1,57 @@ <!-- --> <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-col :span="6"> <el-card shadow="never"> <!-- 鎹愮尞妗堜緥鍒楄〃 --> <el-row> @@ -33,32 +60,56 @@ </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" + border + 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" /> + <dict-tag + :options="dict.type.sys_DonationStatus" + :value="scope.row.recordstate" + /> </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-col :span="18"> <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:medicalfund:add']">鍖诲鎴愭湰鐢宠</el-button> + <el-button + type="primary" + plain + icon="el-icon-plus" + size="mini" + @click="handleAdd" + v-hasPermi="['project:medicalfund:add']" + >鍖诲鎴愭湰鐢宠</el-button + > </el-col> <el-col :span="9"> <el-form-item label="鎹愮尞缂栧彿"> - <el-input v-model="curCase.donorno" :disabled="true"></el-input> + <el-input + v-model="curCase.donorno" + :disabled="true" + ></el-input> </el-form-item> </el-col> <el-col :span="9"> @@ -69,44 +120,122 @@ <el-col> </el-col> </el-row> <el-row> - <el-table v-loading="loading" border :data="donateconsolationfundList"> - <el-table-column label="鐢宠鏃ユ湡" align="center" prop="createTime" width="150px"> + <el-table + v-loading="loading" + border + :data="donateconsolationfundList" + > + <el-table-column + label="鐢宠鏃ユ湡" + align="center" + prop="createTime" + width="150px" + > <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="150px" /> - <el-table-column label="瀹℃牳鐘舵��" width="150" align="center" prop="recordstatus"> + <el-table-column + label="鐢宠浜�" + align="center" + prop="username" + width="150px" + /> + <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="150px" /> - <el-table-column label="鎵�灞炵粍鍒�" align="center" prop="deptmentname" width="150px" /> - <el-table-column label="缁勯暱" align="center" prop="managername" width="220px" /> + <el-table-column + label="鐢宠閲戦" + align="center" + prop="amountrequested" + width="150px" + /> + <el-table-column + label="鎵�灞炵粍鍒�" + align="center" + prop="deptmentname" + width="150px" + /> + <el-table-column + label="缁勯暱" + align="center" + prop="managername" + width="220px" + /> <!-- <el-table-column label="鑱旂郴鐢佃瘽" align="center" prop="phone" width="150px" /> <el-table-column label="宸ヤ綔鍗曚綅" align="center" prop="unitname" width="150px" /> --> - <el-table-column label="鎿嶄綔" fixed="right" align="center" class-name="small-padding fixed-width" - width="280px"> + <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)" - v-hasPermi="['project:medicalfund:edit']">淇敼</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-delete" @click="handleDelete(scope.row)" - v-hasPermi="['project:medicalfund:delete']">鍒犻櫎</el-button> - <el-button size="mini" type="text" icon="el-icon-download" @click="mixExport(scope.row.id)" - v-hasPermi="['project:medicalfund:download']">涓嬭浇</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)" + v-hasPermi="['project:medicalfund:edit']" + >淇敼</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-delete" + @click="handleDelete(scope.row)" + v-hasPermi="['project:medicalfund:delete']" + >鍒犻櫎</el-button + > + <el-button + size="mini" + type="text" + icon="el-icon-download" + @click="mixExport(scope.row.id)" + v-hasPermi="['project:medicalfund:download']" + >涓嬭浇</el-button + > </template> </el-table-column> </el-table> @@ -116,40 +245,73 @@ </el-col> </el-row> <!-- 娣诲姞鎴栦慨鏀硅垂鐢ㄧ敵璇峰崟 --> - <el-dialog :visible.sync="dialogOpen" :close-on-click-modal="false" width="1400px" :title="title" - style="text-align: center" v-loading="loading"> + <el-dialog + :visible.sync="dialogOpen" + :close-on-click-modal="false" + width="1400px" + :title="title" + style="text-align: center" + v-loading="loading" + > <el-form 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 + 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="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 + 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="5"> <el-form-item label="鎵�灞炵粍鍒�" prop="deptmentname"> - <el-input v-model="form.deptmentname" placeholder="璇疯緭鍏ユ墍灞炵粍鍒�" clearable /> + <el-input + v-model="form.deptmentname" + placeholder="璇疯緭鍏ユ墍灞炵粍鍒�" + clearable + /> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="缁勯暱" prop="managername"> - <el-input v-model="form.managername" placeholder="璇疯緭鍏ョ粍闀�" clearable /> + <el-input + v-model="form.managername" + placeholder="璇疯緭鍏ョ粍闀�" + clearable + /> </el-form-item> </el-col> </el-row> <el-row style="text-align: left"> <el-col :span="5"> <el-form-item label="鐢宠绫诲瀷"> - <el-radio v-model="form.applytype" label="3">鍖诲鎴愭湰鐢宠</el-radio> + <el-radio v-model="form.applytype" label="3" + >鍖诲鎴愭湰鐢宠</el-radio + > </el-form-item> </el-col> <el-col :span="10"> @@ -159,16 +321,26 @@ </el-col> <el-col :span="5"> <el-form-item label="鎹愮尞鑰�" prop="name"> - <el-input :disabled="true" v-model="form.name" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" clearable /> + <el-input + :disabled="true" + v-model="form.name" + placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" + clearable + /> </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-input + v-model="form.amountrequested" + placeholder="鐢宠閲戦" + :disabled="true" + /> </el-form-item> - </el-col> <!--<el-col :span="5"> + </el-col> + <!--<el-col :span="5"> <el-form-item label="绋庡墠閲戦" prop="pretaxcost"> <el-input v-model="form.pretaxcost" placeholder="绋庡墠閲戦鍚堣" :disabled="true" /> </el-form-item> @@ -201,40 +373,88 @@ </el-row> <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="addAlls" + type="primary" + size="small" + > 瀵煎叆鏈嶅姟椤圭洰 </el-button> </el-col> </el-row> <el-row style="margin-top: 5px; margin-bottom: 5px"> - <el-table :data="fundDetailArr" border highlight-current-row> - <el-table-column prop="orderno" align="center" label="鎺掑簭" width="80"> + <el-table :data="fundDetails" border highlight-current-row> + <el-table-column + prop="orderno" + align="center" + label="鎺掑簭" + width="80" + > <template slot-scope="scope"> <el-input v-model="scope.row.orderno" placeholder="鎺掑簭" /> </template> </el-table-column> - <el-table-column prop="itemtype" align="center" label="璐圭敤绫诲瀷" width="220"> + <el-table-column + prop="itemtype" + align="center" + label="璐圭敤绫诲瀷" + width="220" + > <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.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="scope.row.applytype" + placeholder="璐圭敤绫诲瀷" + @change="LoadItemTypeArr(scope.row)" + > + <el-option + v-for="dict in fundtypeArr" + :key="dict.value" + :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="itemtype" + align="center" + label="鏈嶅姟椤圭洰" + width="260" + > <template slot-scope="scope"> - <el-select v-model="scope.row.itemid" placeholder="鏈嶅姟椤圭洰" clearable filterable allow-create - @change="select(scope.row)" :filter-method="(val) => SearchItem(val, scope)"> - <el-option v-for="dict in scope.row.itemArr" :key="dict.id" :label="dict.itemName" - :value="dict.id"></el-option> + <el-select + v-model="scope.row.itemid" + placeholder="鏈嶅姟椤圭洰" + clearable + filterable + allow-create + @change="select(scope.row)" + :filter-method="val => SearchItem(val, scope)" + > + <el-option + v-for="dict in scope.row.itemArr" + :key="dict.id" + :label="dict.itemName" + :value="dict.id" + ></el-option> </el-select> </template> </el-table-column> - <el-table-column prop="beneficiaryno" align="center" label="濮撳悕" width="120" v-if="form.applytype != 3"> + <el-table-column + prop="beneficiaryno" + align="center" + label="濮撳悕" + width="120" + v-if="form.applytype != 3" + > <template slot-scope="scope"> - <el-button type="primary" plain @click="ShowDetailDialog(scope, 'name')">{{ scope.row.beneficiaryname - }}</el-button> + <el-button + type="primary" + plain + @click="ShowDetailDialog(scope, 'name')" + >{{ scope.row.beneficiaryname }}</el-button + > </template> </el-table-column> <!-- <el-table-column @@ -261,12 +481,28 @@ </el-select> </template> </el-table-column> --> - <el-table-column prop="amount" align="center" label="绋庡墠閲戦" width="120" v-if="form.applytype != 3"> + <el-table-column + prop="amount" + align="center" + label="绋庡墠閲戦" + width="120" + v-if="form.applytype != 3" + > <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 fundblock" :key="dict.expensedescribe" :label="dict.expense" - :value="dict.expense"></el-option> + <el-select + v-model="scope.row.amount" + placeholder="绋庡墠閲戦" + clearable + filterable + allow-create + @change="selectamount(scope.row)" + > + <el-option + v-for="dict in fundblock" + :key="dict.expensedescribe" + :label="dict.expense" + :value="dict.expense" + ></el-option> </el-select> <!-- <el-input @@ -281,92 +517,227 @@ --> </template> </el-table-column> - <el-table-column prop="taxamount" align="center" label="鎵g◣" width="120" v-if="form.applytype != '3'"> + <el-table-column + prop="taxamount" + align="center" + label="鎵g◣" + width="120" + v-if="form.applytype != '3'" + > <template slot-scope="scope"> - <el-input v-model="scope.row.taxamount" placeholder="鎵g◣" @blur="(val) => { - sumTotalFee(scope.row); - } - " /> + <el-input + v-model="scope.row.taxamount" + placeholder="鎵g◣" + @blur=" + val => { + sumTotalFee(scope.row); + } + " + /> </template> </el-table-column> - <el-table-column prop="taxedamount" align="center" label="绋庡悗閲戦" width="120" v-if="form.applytype != '3'"> + <el-table-column + prop="taxedamount" + align="center" + label="绋庡悗閲戦" + width="120" + v-if="form.applytype != '3'" + > <template slot-scope="scope"> - <el-input v-model="scope.row.taxedamount" placeholder="绋庡悗閲戦" /> + <el-input + v-model="scope.row.taxedamount" + placeholder="绋庡悗閲戦" + /> </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="quantity" align="center" label="鏁伴噺" width="80" v-if="form.applytype == '3'"> + <el-table-column + prop="quantity" + align="center" + label="鏁伴噺" + width="80" + 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="amount" align="center" label="閲戦" width="120" v-if="form.applytype == '3'"> + <el-table-column + prop="amount" + align="center" + label="閲戦" + width="120" + v-if="form.applytype == '3'" + > <template slot-scope="scope"> - <el-input v-model="scope.row.amount" placeholder="浠锋牸" @blur="(val) => { - sumTotalFee(scope.row); - } - " /> + <el-input + v-model="scope.row.amount" + placeholder="浠锋牸" + @blur=" + val => { + sumTotalFee(scope.row); + } + " + /> </template> </el-table-column> - <el-table-column prop="unitno" align="center" label="璐圭敤鍗曚綅鍚嶇О" width="220"> + <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 + > </template> </el-table-column> - <el-table-column prop="depositbank" align="center" label="寮�鎴烽摱琛�" width="200"> + <el-table-column + prop="depositbank" + align="center" + label="寮�鎴烽摱琛�" + width="200" + > <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"> + <el-table-column + prop="bankcardno" + align="center" + label="閾惰鍗″彿" + width="210" + > <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 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="120" v-if="dialogType == 'edit'"> + <el-table-column + fixed="right" + align="center" + label="鎿嶄綔" + width="120" + v-if="dialogType == 'edit'" + > <template slot-scope="scope"> - <el-button type="text" size="mini" @click="addRow(scope.$index)">鏂板</el-button> - <el-button @click.native.prevent=" - 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> + <el-button + @click.native.prevent=" + Filepopup(scope.$index, fundDetails, scope.row) + " + type="text" + size="small" + > + 绁ㄦ嵁 </el-button> </template> </el-table-column> @@ -423,55 +794,143 @@ </el-row> --> <el-row> <el-col :span="24"> - <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="handleremove" accept="image/*,.pdf"> - <el-button :disabled='dialogType == "detail"' size="small" type="primary">涓婁紶</el-button> + <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="handleremove" + 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="'璐圭敤鍗曚綅閫夋嫨'" - style="text-align: center" v-loading="loading" width="500px"> + <el-dialog + :visible.sync="detailInfoDialogShow" + :close-on-click-modal="false" + :title="'璐圭敤鍗曚綅閫夋嫨'" + style="text-align: center" + v-loading="loading" + width="500px" + > <el-form ref="funddetailForm" :model="funddetailForm" label-width="120px"> <el-row> <el-col :span="24" v-if="detailInfoDialogShowType == 'name'"> - <el-form-item align="left" 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 + align="left" + 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 align="left" label="鍗曚綅鍚嶇О" prop="unitno" label-width="80px"> - <el-select v-model="funddetailForm.unitno" placeholder="璇烽�夋嫨鍗曚綅" clearable filterable allow-create - style="width: 100%"> - <el-option v-for="(item, index) in bankaccountlist" :key="index" :label="item.reportName" - :value="item.reportNo"></el-option> + <el-form-item + align="left" + label="鍗曚綅鍚嶇О" + prop="unitno" + label-width="80px" + > + <el-select + v-model="funddetailForm.unitno" + placeholder="璇烽�夋嫨鍗曚綅" + clearable + filterable + allow-create + style="width: 100%" + > + <el-option + v-for="(item, index) in bankaccountlist" + :key="index" + :label="item.reportName" + :value="item.reportNo" + ></el-option> </el-select> </el-form-item> </el-col> @@ -479,8 +938,58 @@ </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> + + <el-dialog :title="pdftitle" :visible.sync="pdfVisible" width="50%"> + <div class="pdfimg"> + <div class="box-pdf"> + <div> + <el-upload + size="mini" + class="upload-demo" + :action="uploadFileUrl" + :file-list="fileListto" + 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> + </div> + <!-- <div + class="pdftit" + @click="pdffn(item)" + v-for="item in fileList" + :key="item.name" + > + {{ item.name }} + </div> --> + </div> + + <div v-if="this.previewpdf" class="pdfimgmin"> + <img :src="pdfimg" /> + </div> + <div v-else class="pdfimgmins">{{ hintitle }}</div> + </div> </el-dialog> </div> </template> @@ -501,8 +1010,8 @@ getdownloadSS, getdownloadYX, getdownloadBX, - batchUploadFund, - getdetailsByItemId, + addorupdateFund, + getdetailsByItemId } from "@/api/project/fund"; import { onelistFunds, @@ -517,13 +1026,13 @@ getItemNames, getFundType, getFundTypeAll, - listcountItem, + listcountItem } from "@/api/project/funddetail"; import { listOrganization, getOrganization, listReportname, - listUser, + listUser } from "@/api/project/organization"; import { listExternalperson, @@ -532,11 +1041,11 @@ delExternalperson, addExternalperson, updateExternalperson, - exportExternalperson, + exportExternalperson } from "@/api/project/externalperson"; import { listDonatebaseinfo, - getDonatebaseinfo, + getDonatebaseinfo } from "@/api/project/donatebaseinfo"; import Li_area_select from "@/components/Address"; import OrgSelecter from "@/views/project/components/orgselect"; @@ -548,7 +1057,7 @@ //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� components: { Li_area_select, - OrgSelecter, + OrgSelecter }, name: "fundApply", dicts: [ @@ -562,7 +1071,7 @@ "sys_fund_type", "sys_finsubject", "sys_financeitemtype", - "sys_expensetype", + "sys_expensetype" ], data() { //杩欓噷瀛樻斁鏁版嵁 @@ -587,7 +1096,7 @@ treatmenthospitalname: null, donorno: null, reportername: null, - reporttime: null, + reporttime: null }, fundQueryParam: { @@ -595,24 +1104,21 @@ pageSize: 100, infoid: null, applytype: "3", - createBy: null, + createBy: null }, // 琛ㄥ崟鍙傛暟 form: {}, // 琛ㄥ崟鏍¢獙 rules: { username: [ - { required: true, message: "璇疯緭鍏ョ敵璇蜂汉", trigger: "blur" }, + { required: true, message: "璇疯緭鍏ョ敵璇蜂汉", trigger: "blur" } ], createTime: [ - { required: true, message: "璇疯緭鍏ョ敵璇锋棩鏈�", trigger: "blur" }, + { required: true, message: "璇疯緭鍏ョ敵璇锋棩鏈�", trigger: "blur" } ], deptmentname: [ - { required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" }, - ], - amountrequested: [ - { required: true, message: "璇疯緭鍏ョ敵璇烽噾棰�", trigger: "blur" }, - ], + { required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" } + ] }, //鎹愮尞妗堜緥鍒楄〃鏁版嵁 @@ -629,7 +1135,8 @@ // 鎹愮尞浜洪亾鎱伴棶閲戣〃鏍兼暟鎹� donateconsolationfundList: [], - fundDetailArr: [], + //鏄庣粏璁板綍 + fundDetails: [], // 寮瑰嚭灞傛爣棰� title: "", @@ -654,25 +1161,285 @@ beneficiaryno: null, unitno: null, unitname: null, - index: null, + index: null }, //闄勪欢鍒楄〃 fileList: [], + fileListto: [], //涓婁紶闄勪欢璺緞 uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", headers: { - Authorization: "Bearer " + getToken(), + Authorization: "Bearer " + getToken() }, - + //绁ㄦ嵁鏂囦欢 + pdftitle: "", + pdfimg: "", + pdfVisible: false, + previewpdf: false, + hintitle: "閫変腑宸︿晶宸蹭笂浼犳枃浠堕瑙堟煡鐪�", + atpresent: "" }; }, //鐩戝惉灞炴�� 绫讳技浜巇ata姒傚康 computed: {}, //鐩戞帶data涓殑鏁版嵁鍙樺寲 watch: {}, + //鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵his瀹炰緥锛� + created() { + this.getList(); + this.getBaseInfoList(); + this.getCurFundType(); + this.getlistUser(); + // this.getUnitList(); + }, + + //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛� + mounted() { + this.getBankAccount(); + this.getUsermsg(); + }, + + beforeCreate() {}, //鐢熷懡鍛ㄦ湡 - 鍒涘缓涔嬪墠 + beforeMount() {}, //鐢熷懡鍛ㄦ湡 - 鎸傝浇涔嬪墠 + beforeUpdate() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠 + updated() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗 + beforeDestroy() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓� + destroyed() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴� + activated() {}, //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂 + //鏂规硶闆嗗悎 methods: { + /** 鎼滅储鎸夐挳鎿嶄綔 */ + 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; + }); + }, + + /** 鏂板鎸夐挳鎿嶄綔 */ + handleAdd() { + this.$router.push({ + path: "/finance/fundcontext/", + query: { + id: 0, + businessType: "3", + operationType: "add", + curCase: this.curCase + } + }); + return; + + 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.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.title = "娣诲姞璐圭敤鐢宠"; + this.dialogType = "edit"; + } else { + const h = this.$createElement; + this.$message({ + message: h("p", null, [h("span", null, "璇峰厛閫夋嫨宸︽柟鎹愮尞妗堜緥 ")]) + }); + } + }, + /** 淇敼鎸夐挳鎿嶄綔 */ + handleUpdate(row) { + this.$router.push({ + path: "/finance/fundcontext/", + query: { + id: row.id, + businessType: "3", + pos: 2, + operationType: "update", + curCase: this.curCase + } + }); + return; + + this.isopen = 0; + this.reset(); + this.queryParams.params = {}; + this.form.donorno = this.curCase.donorno; + this.form.infoid = this.curCase.id; + this.dialogType = "edit"; + this.dialogOpen = true; + this.title = "淇敼璐圭敤鐢宠"; + + const id = row.id || this.ids; + getFund(id).then(response => { + this.form = response.data; + this.form.name = this.curCase.name; + //闄勪欢澶勭悊 + this.fileList = this.form.annexbankcard + ? this.form.annexbankcard + .split(",") + .map(item => ({ url: item, name: item })) + : []; + + getownFundDetail(id).then(async res => { + this.fundDetails = res.data; + for (let m = 0; m < this.fundDetails.length; m++) { + this.fundDetails[m].itemArr = []; + this.getItemArr(m, this.fundDetails[m]); + } + }); + }); + }, + + /** 鏌ョ湅鎸夐挳鎿嶄綔 */ + handleDetail(row) { + this.$router.push({ + path: "/finance/fundcontext/", + query: { + id: row.id, + businessType: "3", + operationType: "detail", + curCase: this.curCase + } + }); + return; + + 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].fundblock = []; + this.fundDetails[m].fundblock.push({ + expense: this.fundDetails[m].expense, + expensedescribe: this.fundDetails[m].servicesscopename, + remark: this.fundDetails[m].servicesscope, + servicesscope: this.fundDetails[m].servicesscope + }); + } + }); + }); + }, + + /** 鍒犻櫎鎸夐挳鎿嶄綔 */ + 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: "鍙栨秷", + type: "warning" + }) + .then(() => { + //鏌ユ壘鏄惁瀛樺湪鐧昏瀹屾垚璁板綍 + //鍒ゆ柇鏄惁瀛樺湪涓婃姤璁板綍 + row.recordstatus = 0; + + updateFund(row).then(response => { + if (response.code == 200) { + this.$message({ + type: "success", + message: "鐢宠鎴愬姛" + }); + } else { + this.$message({ + type: "error", + message: "鐢宠澶辫触" + }); + } + this.loading = false; + }); + }) + .catch(() => { + this.$message({ + type: "info", + message: "宸插彇娑堢敵璇�" + }); + }); + }, + ShowDetailDialog(spoce, showType) { this.funddetailForm.index = spoce.$index; this.funddetailForm.beneficiaryno = spoce.row.beneficiaryno; @@ -687,9 +1454,9 @@ 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) => { + this.personlist.map(res => { if (tempName == res.username) { singleDetail.beneficiaryno = res.userno; singleDetail.beneficiaryname = res.username; @@ -708,17 +1475,19 @@ }); } else if (this.detailInfoDialogShowType == "unit") { singleDetail.unitno = this.funddetailForm.unitno; - console.log("this.funddetailForm", this.funddetailForm); try { let unitIndex = this.bankaccountlist.findIndex( - (item) => singleDetail.unitno == item.reportNo + item => singleDetail.unitno == item.reportNo ); - console.log("this.bankaccountlist[unitIndex]", this.bankaccountlist[unitIndex]); if (unitIndex > -1) { singleDetail.unitname = this.bankaccountlist[unitIndex].reportName; - singleDetail.depositbank = this.bankaccountlist[unitIndex].depositbank; - singleDetail.bankcardno = this.bankaccountlist[unitIndex].bankcardno; + singleDetail.depositbank = this.bankaccountlist[ + unitIndex + ].depositbank; + singleDetail.bankcardno = this.bankaccountlist[ + unitIndex + ].bankcardno; } else { singleDetail.unitname = singleDetail.unitno; } @@ -726,65 +1495,33 @@ singleDetail.unitname = singleDetail.unitno; } } - console.log("singleDetail",singleDetail); - this.fundDetailArr[tempIndex] = singleDetail; + + this.fundDetails[tempIndex] = singleDetail; this.detailInfoDialogShow = false; }, + selectremark(row) { this.fundblock.forEach((item, i) => { if (item.expensedescribe === row.servicesscopename) { row.servivesscope = item.servivesscope; row.amount = item.expense; this.form.serviceFunddetails = 0; - this.fundDetailArr.map((item) => { + this.fundDetails.map(item => { this.form.serviceFunddetails += item.amount; }); - // row.remark } }); }, - handleup(row) { - this.$confirm("鏄惁纭灏嗙櫥璁拌褰曚笂鎶ワ紵", "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning", - }) - .then(() => { - //鏌ユ壘鏄惁瀛樺湪鐧昏瀹屾垚璁板綍 - //鍒ゆ柇鏄惁瀛樺湪涓婃姤璁板綍 - row.recordstatus = 0; - updateFund(row).then((response) => { - if (response.code == 200) { - this.$message({ - type: "success", - message: "鐢宠鎴愬姛", - }); - } else { - this.$message({ - type: "error", - message: "鐢宠澶辫触", - }); - } - this.loading = false; - }); - }) - .catch(() => { - this.$message({ - type: "info", - message: "宸插彇娑堢敵璇�", - }); - }); - }, select(row) { - row.itemArr.map((res) => { + row.itemArr.map(res => { if (row.itemid === res.id) { row.remark = res.itemDescribe; row.itemcode = res.itemCode; } }); var repeatNum = 0; - this.fundDetailArr.map((res) => { + this.fundDetails.map(res => { if (res.applytype === row.applytype && res.itemid == row.itemid) { repeatNum++; } @@ -793,15 +1530,15 @@ this.$modal.msgWarning("鎮ㄥ凡缁忔彁浜よ繃鏈嶅姟椤圭洰"); } - getdetailsByItemId(row.itemid).then((res) => { + getdetailsByItemId(row.itemid).then(res => { let fundmsg = res.data; let fundblock = []; - fundmsg.forEach((item) => { + fundmsg.forEach(item => { fundblock.push({ expense: item.expense, expensedescribe: item.expensedescribe, remark: item.expensedescribe, - servicesscope: item.id, + servicesscope: item.id }); }); row.fundblock = fundblock; @@ -817,79 +1554,21 @@ }); }, getUsermsg() { - getUserProfile().then((response) => { + getUserProfile().then(response => { this.defaultperson = response.data; this.standardlevel = response.data.standardlevel; - }); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - 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; }); }, getBaseInfoList() { this.loading = true; - listDonatebaseinfo(this.queryParams).then((response) => { + listDonatebaseinfo(this.queryParams).then(response => { this.donatebaseinfoList = response.rows; this.total = response.total; this.loading = false; }); }, - /** 鏂板鎸夐挳鎿嶄綔 */ - 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.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.addRow(); - this.dialogOpen = true; - this.title = "娣诲姞璐圭敤鐢宠"; - this.dialogType = "edit"; - } else { - const h = this.$createElement; - this.$message({ - message: h("p", null, [h("span", null, "璇峰厛閫夋嫨宸︽柟鎹愮尞妗堜緥 ")]), - }); - } - }, //鐐瑰嚮鎹愮尞妗堜緥鍒楄〃瑙﹀彂鏂规硶 selectDonotor(row, column, event) { this.curCase = row; @@ -899,7 +1578,7 @@ this.loading = true; this.reset(); this.fundQueryParam.infoid = this.curCase.id; - listFund(this.fundQueryParam).then((response) => { + listFund(this.fundQueryParam).then(response => { this.loading = false; this.donateconsolationfundList = response.rows; }); @@ -952,12 +1631,12 @@ servicetypename: null, servicesscopename: null, dialogType: "edit", - fundflowList: [], + fundflowList: [] }; this.resetForm("form"); //娓呯┖闄勪欢 - this.fileList = [] + this.fileList = []; }, //鏂板涓�琛� @@ -1002,21 +1681,21 @@ uploadflag: null, uploadtime: null, itemArr: [], - servivesscope: null, + servivesscope: null }; 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); + let list = this.fundtypeArrAll.filter(r => r.itemType == row.applytype); row.itemArr = list[0].itemDetails; row.itemid = null; this.$forceUpdate(); @@ -1031,11 +1710,11 @@ /** 鎻愪氦鎸夐挳 */ submitForm() { - this.$refs["form"].validate((valid) => { + this.$refs["form"].validate(valid => { if (valid) { let formData = this.form; - 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("璇烽�夋嫨鏈嶅姟椤圭洰"); return; @@ -1073,42 +1752,44 @@ this.form.pretaxcost = parseFloat(this.form.amountrequested).toFixed( 2 ); + if (this.form.id != null) { - updateFund(this.form).then((response) => { + 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]; + for (let m = 0; m < this.fundDetails.length; m++) { + let tempData = this.fundDetails[m]; let tempItemArr = tempData.itemArr; tempData.fundid = formData.id; //鑾峰彇鏈嶅姟椤圭洰鏄庣粏 let itemIndex = tempItemArr.findIndex( - (item) => tempData.itemid == item.id + 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) => { }); + 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 + item => tempData.itemid == item.id ); if (itemIndex > -1) { tempData.itemname = tempUtemArr[itemIndex].itemName; @@ -1116,16 +1797,16 @@ } //鑾峰彇applytypename let applytypeIndex = this.fundtypeArr.findIndex( - (item) => tempData.applytype == item.value + item => tempData.applytype == item.value ); if (applytypeIndex > -1) { tempData.applytypename = this.fundtypeArr[applytypeIndex].label; } - this.fundDetailArr[m] = tempData; + this.fundDetails[m] = tempData; } - this.form.serviceFunddetails = this.fundDetailArr; - batchUploadFund(this.form).then((response) => { + this.form.serviceFunddetails = this.fundDetails; + addorupdateFund(this.form).then(response => { if (response.code === 200) { this.$modal.msgSuccess("鏂板鎴愬姛"); this.loading = false; @@ -1134,138 +1815,51 @@ this.loading = false; } }); + + //鍏抽棴绐楀彛 + this.loading = false; this.dialogOpen = false; + // this.getfundList(); + this.getList(); + this.selectDonotor(this.curCase); } } }); }, getBankAccount() { - //涓撳浜哄憳鍒楄〃 - listReportname("org").then((res) => { + //鑾峰彇閾惰璐﹀彿鍒楄〃锛岀被鍨嬫槸鏈烘瀯 + listReportname("org").then(res => { this.bankaccountlist = res.data; - console.log("this.bankaccountlist", this.bankaccountlist); }); }, getlistUser() { - listUser().then((res) => { + listUser().then(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.dialogType = "edit"; - this.dialogOpen = true; - this.title = "淇敼璐圭敤鐢宠"; - - - const id = row.id || this.ids; - getFund(id).then((response) => { - this.form = response.data; - this.form.name = this.curCase.name; - //闄勪欢澶勭悊 - this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] - - getownFundDetail(id).then(async (res) => { - this.fundDetailArr = res.data; - for (let m = 0; m < this.fundDetailArr.length; m++) { - this.fundDetailArr[m].itemArr = []; - this.getItemArr(m, this.fundDetailArr[m]); - } - }); - }); - }, - - /** 鏌ョ湅鎸夐挳鎿嶄綔 */ - 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.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, - }); - } - }); - }); - }, - - 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(() => { }); }, deleteRows(row, index, rows) { this.$confirm("鏄惁纭鍒犻櫎?", "鎻愮ず", { confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", - type: "success", + type: "success" }) .then(() => { if (row.id !== null) { - delFunddetail(row.id).then((res) => { + delFunddetail(row.id).then(res => { if (res.code === 200) { this.$confirm("鍒犻櫎鎴愬姛", "鎻愮ず", { confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", - type: "success", + type: "success" }).then(() => { this.$set(rows, rows.splice(index, 1)); - getownFundDetail(this.form.id).then((res) => { - this.$set(this.fundDetailArr, res.data); + getownFundDetail(this.form.id).then(res => { + this.$set(this.fundDetails, res.data); this.sumTotalFee(row); - // this.fundDetailArr = res.data + // this.fundDetails = res.data }); }); } @@ -1284,31 +1878,31 @@ 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; } @@ -1320,42 +1914,42 @@ //鑾峰彇璐圭敤绫诲瀷 getCurFundType() { - getFundTypeAll(this.currentApplyType).then((res) => { + getFundTypeAll(this.currentApplyType).then(res => { let dataList = res.data; this.fundtypeArrAll = dataList; this.fundtypeArr = []; for (let m = 0; m < dataList.length; m++) { this.fundtypeArr.push({ value: dataList[m].itemType, - label: dataList[m].itemTypeName, + label: dataList[m].itemTypeName }); } }); }, getItemArr(rowindex, row) { - let list = this.fundtypeArrAll.filter((r) => r.itemType == row.applytype); + let list = this.fundtypeArrAll.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); // }); }, addAlls() { this.loading = true; - this.fundDetailArr = this.fundDetailArr.filter( - (r) => r.applytype != "" && r.applytype != null + this.fundDetails = this.fundDetails.filter( + r => r.applytype != "" && r.applytype != null ); let listAdd = []; - //let listAdd = this.fundDetailArr; + //let listAdd = this.fundDetails; 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( - (r) => + let list = this.fundDetails.filter( + r => r.applytype == this.fundtypeArrAll[i].itemType && r.itemid == this.fundtypeArrAll[i].itemDetails[j].id ); @@ -1369,15 +1963,15 @@ recordstatus: "-1", itemArr: this.fundtypeArrAll[i].itemDetails, beneficiaryname: "鐐瑰嚮閫夋嫨", - unitname: "鐐瑰嚮閫夋嫨", + unitname: "鐐瑰嚮閫夋嫨" }; 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; // onelist.map((item) => { @@ -1390,14 +1984,13 @@ }, getUnitList() { - listOrganization(3).then((res) => { - console.log("listOrganization", res); + listOrganization(3).then(res => { for (let i = 0; i < res.rows.length; i++) { this.unitList.push({ organizationid: res.rows[i].organizationid, organizationname: res.rows[i].organizationname, bankname: res.rows[i].bankname, - bankaccount: res.rows[i].bankaccount, + bankaccount: res.rows[i].bankaccount }); } }); @@ -1405,7 +1998,7 @@ // 鎹愮尞鑰呭尰瀛︾粺璁℃墦鍗� dayin2(id) { - getdownloadYX(id).then((res) => { + getdownloadYX(id).then(res => { if (res.downloadUrl) { var fileUrl = res; //鑾峰彇褰撳墠缃戝潃 @@ -1419,7 +2012,7 @@ aEle.click(); this.$alert("涓嬭浇鎴愬姛", "鎻愮ず", { confirmButtonText: "纭畾", - type: "success", + type: "success" }); } }); @@ -1428,7 +2021,7 @@ //姹囨�绘墦鍗� totaldayin(e) { // const id =this.row.id - getdownloadBX(e).then((res) => { + getdownloadBX(e).then(res => { if (res.downloadUrl) { var fileUrl = res; //鑾峰彇褰撳墠缃戝潃 @@ -1442,7 +2035,7 @@ aEle.click(); this.$alert("涓嬭浇鎴愬姛", "鎻愮ず", { confirmButtonText: "纭畾", - type: "success", + type: "success" }); } }); @@ -1467,67 +2060,83 @@ } scope.row.itemArr = result; } else { - getItemNames(scope.row.applytype).then((res) => { + getItemNames(scope.row.applytype).then(res => { scope.row.itemArr = res.data; - //this.$set(this.fundDetailArr, rowindex, row); + //this.$set(this.fundDetails, rowindex, row); }); } }, //鏂囦欢涓婁紶 - handleUploadError() { }, + handleUploadError() {}, + handleremove(file) { - this.fileList.splice(this.fileList.indexOf(file), 1) + this.fileList.splice(this.fileList.indexOf(file), 1); }, + handleExceed() { this.$message.error(`涓婁紶鏂囦欢鏁伴噺涓嶈兘瓒呰繃 ${5} 涓�!`); }, + //鏂囦欢涓婁紶鎴愬姛鍥炶皟 uploadSccess(response, file, fileList) { - console.log("response", response); - console.log("file", file); - console.log("fileList", 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); + console.log(response.msg); } }, // 涓嬭浇鏂囦欢 downFile(item) { - const url = process.env.VUE_APP_BASE_API + item.url - var a = document.createElement('a'); - var event = new MouseEvent('click'); + 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.getList(); - this.getBaseInfoList(); + remove(file) { + this.fileList.splice(this.fileList.indexOf(file), 1); + }, - this.getCurFundType(); - this.getlistUser(); - // this.getUnitList(); - }, - //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛� - mounted() { - this.getBankAccount(); - this.getUsermsg(); - }, - beforeCreate() { }, //鐢熷懡鍛ㄦ湡 - 鍒涘缓涔嬪墠 - beforeMount() { }, //鐢熷懡鍛ㄦ湡 - 鎸傝浇涔嬪墠 - beforeUpdate() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠 - updated() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗 - beforeDestroy() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓� - destroyed() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴� - activated() { }, //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂 + // 鐐瑰嚮鏂囦欢 + Filepopup(index, rows, row) { + this.atpresent = index; + this.pdfVisible = true; + if (this.fundDetails[index].annexfilesList) { + this.fileListto = this.rbDetails[index].annexfilesList; + } else { + this.fileListto = []; + this.pdfimg = ""; + this.pdftitle = ""; + } + }, + // 鐐瑰嚮宸蹭笂浼犳枃浠� + downFile(item) { + this.pdftitle = item.name; + let name = item.name.split("."); + if (name[1] == "pdf") { + this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); + this.previewpdf = false; + this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; + } else if (name[1] == "jpg" || "png") { + this.previewpdf = true; + if (item.url) { + this.pdfimg = item.url; + } else { + this.pdfimg = item.response.url; + } + } else { + this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; + this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); + this.previewpdf = false; + } + } + } }; </script> <style scoped> -- Gitblit v1.9.3