From 21fe2968337eb8eab97adc88750b71c4057e98f8 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期三, 17 七月 2024 15:39:46 +0800 Subject: [PATCH] 11 --- src/views/project/funddetail/index.vue | 2109 ++++++++------------------------------------------------- 1 files changed, 316 insertions(+), 1,793 deletions(-) diff --git a/src/views/project/funddetail/index.vue b/src/views/project/funddetail/index.vue index 734cebc..5c18378 100644 --- a/src/views/project/funddetail/index.vue +++ b/src/views/project/funddetail/index.vue @@ -1,1549 +1,301 @@ -<!-- --> <template> <div class="app-container"> - <!-- 娣诲姞鎴栦慨鏀硅垂鐢ㄧ敵璇峰崟 --> - <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="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-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="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-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="addAllItems" type="primary" size="small"> - 瀵煎叆鏈嶅姟椤圭洰 - </el-button> - </el-col> - </el-row> - <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="200"> - <template slot-scope="scope"> - <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="itemid" align="center" label="鏈嶅姟椤圭洰鍚嶇О" width="260"> - <template slot-scope="scope"> - <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.itemlist" :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="" v-if="false"> - </el-table-column> - <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.rowfeeblocks" :key="dict.servicesscope" :label="dict.remark" - :value="dict.servicesscope"></el-option> - </el-select> - </template> - </el-table-column> - <el-table-column v-if="this.ismanager == true" prop="amount" align="center" label="绋庡墠閲戦" width="120"> - <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.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 - ref="getReportname" - default-first-option - @change="selectpersonmsg(scope.row)" - v-model="scope.row.beneficiaryname" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in expertlist" - :key="item.reportNo" - :label="item.reportName" - :value="item.reportName" - > - </el-option> - </el-select> --> - </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-select - v-model="scope.row.unitno" - placeholder="鍗曚綅" - clearable - filterable - allow-create - > - <el-option - v-for="(spec, index) in unitList" - :key="index" - :label="spec.organizationname" - :value="spec.organizationid" - ></el-option> - </el-select> --> - </template> - </el-table-column> - <el-table-column prop="quantity" align="center" label="鏁伴噺" width="120" v-if="form.applytype == '4'"> - <template slot-scope="scope"> - <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 == '4'"> - <template slot-scope="scope"> - <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 == '4'"> - <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'"> - <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'"> - <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'"> - <template slot-scope="scope"> - <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'"> - <template slot-scope="scope"> - <el-input v-model="scope.row.bankcardno" placeholder="閾惰鍗″彿" /> - </template> - </el-table-column> - <el-table-column fixed="right" align="center" label="鎿嶄綔" width="180" v-if="operationtype == '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, fundDetails) - " type="text" size="small"> - 鍒犻櫎 - </el-button> - </template> - </el-table-column> - </el-table> - </el-row> - <!-- - <el-row> - <el-col :span="7"> - <el-form-item label="棰勬敮閲戦" prop="prepaidamount"> - <el-input v-model="form.prepaidamount" placeholder="鐢宠閲戦" /> - </el-form-item> - </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涓績绛惧瓧" /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="璐㈠姟鍓櫌闀�" prop="finvicepresident"> - <el-input v-model="form.finvicepresident" placeholder="璐㈠姟鍓櫌闀�" /> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item label="涓氬姟鍓櫌闀�" prop="busvicepresident"> - <el-input v-model="form.busvicepresident" placeholder="涓氬姟鍓櫌闀�" /> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item label="鍔炲叕瀹や富浠�" prop="officedirector"> - <el-input v-model="form.officedirector" placeholder="璇疯緭鍏ュ姙鍏涓讳换" /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="璐㈠姟閮ㄨ礋璐d汉" prop="financedirector"> - <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-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='operationtype == "detail"' :on-error="handleUploadError" - :on-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf"> - <el-button :disabled='operationtype == "detail"' size="small" type="primary">涓婁紶</el-button> - </el-upload> - </el-form-item> - </el-col> - </el-row> - <el-row v-if="operationtype == '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> - <el-table-column label="瀹℃牳澶囨敞" align="center" prop="flowcontent" /> - </el-table> - </el-row> + <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> + <el-form-item label="涓撳濮撳悕" prop="beneficiaryname"> + <el-input v-model="queryParams.beneficiaryname" placeholder="璇疯緭鍏ヤ笓瀹跺鍚�" clearable size="small" + @keyup.enter.native="handleQuery" /> + </el-form-item> + <el-form-item label="宸ヤ綔鍗曚綅" prop="uintname"> + <el-input v-model="queryParams.uintname" placeholder="璇疯緭鍏ュ伐浣滃崟浣�" clearable size="small" + @keyup.enter.native="handleQuery" /> + </el-form-item> + <el-form-item label="璐圭敤绫诲埆" prop="applytype"> + <el-select v-model="queryParams.applytype" placeholder="璇烽�夋嫨璐圭敤绫诲埆" clearable size="small"> + <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" /> + </el-select> + </el-form-item> + <el-form-item label="椤圭洰鍚嶇О" prop="itemname"> + <el-input v-model="queryParams.itemname" placeholder="璇疯緭鍏ラ」鐩悕绉�" clearable size="small" + @keyup.enter.native="handleQuery" /> + </el-form-item> + <el-form-item label="椤圭洰绫诲埆" prop="itemtype"> + <el-select v-model="queryParams.itemtype" placeholder="璇烽�夋嫨椤圭洰绫诲埆" clearable size="small"> + <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" /> + </el-select> + </el-form-item> + <el-form-item label="璁板綍鐘舵��" prop="recordstatus"> + <el-select v-model="queryParams.recordstatus" placeholder="璇烽�夋嫨璁板綍鐘舵��" clearable size="small"> + <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" /> + </el-select> + </el-form-item> + <el-form-item label="缁忓姙浜�" prop="createBy"> + <el-input v-model="queryParams.createBy" placeholder="璇疯緭鍏ュ垱寤轰汉" clearable size="small" + @keyup.enter.native="handleQuery" /> + </el-form-item> + <el-form-item label="鐢宠鏃ユ湡" prop="createTime"> + <el-date-picker clearable size="small" v-model="queryParams.createTime" type="date" value-format="yyyy-MM-dd" + placeholder="閫夋嫨鍒涘缓鏃ユ湡"> + </el-date-picker> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> + </el-form-item> </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm" v-if="operationtype == 'edit'">淇� 瀛�</el-button> - <!-- <el-button type="success" @click="print">鎵� 鍗�</el-button> --> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - <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="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="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 :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" + v-hasPermi="['project:funddetail:add']">鏂板</el-button> + </el-col> + <el-col :span="1.5"> + <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" + v-hasPermi="['project:funddetail:edit']">淇敼</el-button> + </el-col> + <el-col :span="1.5"> + <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" + v-hasPermi="['project:funddetail:remove']">鍒犻櫎</el-button> + </el-col> + <el-col :span="1.5"> + <el-button type="warning" plain icon="el-icon-download" size="mini" :loading="exportLoading" @click="handleExport" + v-hasPermi="['project:funddetail:export']">瀵煎嚭</el-button> + </el-col> + <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> + </el-row> + + <el-table v-loading="loading" :data="funddetailList" @selection-change="handleSelectionChange"> + <el-table-column type="selection" width="55" align="center" /> + <el-table-column label="涓撳濮撳悕" width="120" align="center" prop="beneficiaryname" /> + <el-table-column label="璐圭敤绫诲埆" align="center" prop="applytype" /> + <el-table-column label="椤圭洰绫诲埆" align="center" prop="itemtype" /> + <el-table-column label="璐圭敤椤圭洰鍚嶇О" align="left" prop="itemname" /> + <el-table-column label="璐圭敤閲戦" align="center" prop="amount" /> + <el-table-column label="鎵g◣閲戦" align="center" prop="taxamount" /> + <el-table-column label="绋庡悗閲戦" align="center" prop="taxedamount" /> + <!-- + <el-table-column label="涓撳鍗曚綅" align="center" prop="uintname" /> + <el-table-column label="璇佷欢鍙风爜" align="center" prop="idcardno" /> + <el-table-column label="涓撳鐢佃瘽" align="center" prop="phone" /> + <el-table-column label="鐘舵��" align="center" prop="recordstatus" /> + <el-table-column label="缁忓姙浜�" align="center" prop="createby" /> + <el-table-column label="鐢宠鏃ユ湡" align="center" prop="createtime" /> --> + <el-table-column label="澶囨敞" align="left" prop="remark" /> + <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> + <template slot-scope="scope"> + <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" + v-hasPermi="['project:funddetail:edit']">淇敼</el-button> + <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" + v-hasPermi="['project:funddetail:remove']">鍒犻櫎</el-button> + </template> + </el-table-column> + </el-table> + + <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" + @pagination="getList" /> + + <!-- 娣诲姞鎴栦慨鏀硅垂鐢ㄧ敵璇锋槑缁嗗璇濇 --> + <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body> + <el-form ref="form" :model="form" :rules="rules" label-width="120px"> <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-col :span="5"><el-form-item label="璐圭敤鐢宠涓昏〃ID" prop="fundid"> + <el-input v-model="form.fundid" placeholder="璇疯緭鍏ヨ垂鐢ㄧ敵璇蜂富琛↖D" /> + </el-form-item></el-col> + <el-col :span="5"><el-form-item label="鏀剁泭浜哄鍚� 瀹跺睘鎴栦笓瀹�" prop="beneficiaryname"> + <el-input v-model="form.beneficiaryname" placeholder="璇疯緭鍏ユ敹鐩婁汉濮撳悕 瀹跺睘鎴栦笓瀹�" /> + </el-form-item></el-col> + <el-col :span="5"><el-form-item label="鏀剁泭浜虹紪鍙�" prop="beneficiaryno"> + <el-input v-model="form.beneficiaryno" placeholder="璇疯緭鍏ユ敹鐩婁汉缂栧彿" /> + </el-form-item></el-col> + <el-col :span="5"><el-form-item label="宸ヤ綔鍗曚綅" prop="uintname"> + <el-input v-model="form.uintname" placeholder="璇疯緭鍏ュ伐浣滃崟浣�" /> + </el-form-item></el-col> + </el-row> + <el-row> + <el-col :span="5"><el-form-item label="宸ヤ綔鍗曚綅缂栧彿" prop="uintno"> + <el-input v-model="form.uintno" placeholder="璇疯緭鍏ュ伐浣滃崟浣嶇紪鍙�" /> + </el-form-item></el-col> + <el-col :span="5"><el-form-item label="宸ヤ綔鍗曚綅鐢ㄦ埛缂栧彿" prop="uintuserno"> + <el-input v-model="form.uintuserno" placeholder="璇疯緭鍏ュ伐浣滃崟浣嶇敤鎴风紪鍙�" /> + </el-form-item></el-col> + <el-col :span="5"><el-form-item label="璇佷欢绫诲瀷 鏍规嵁瀛楀吀sys_IDType" prop="idcardtype"> + <el-select v-model="form.idcardtype" placeholder="璇烽�夋嫨璇佷欢绫诲瀷 鏍规嵁瀛楀吀sys_IDType"> + <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" /> + </el-select> + </el-form-item></el-col> + <el-col :span="5"><el-form-item label="璇佷欢鍙风爜" prop="idcardno"> + <el-input v-model="form.idcardno" placeholder="璇疯緭鍏ヨ瘉浠跺彿鐮�" /> + </el-form-item></el-col> + </el-row> + <el-row> + <el-col :span="5"><el-form-item label="鎬у埆 鏍规嵁瀛楀吀sys_user_sex" prop="sex"> + <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆 鏍规嵁瀛楀吀sys_user_sex"> + <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" /> + </el-select> + </el-form-item></el-col> + <el-col :span="5"><el-form-item label="涓庢崘璧犺�呭叧绯� 鏍规嵁瀛楀吀sys_FamilyRelation" prop="familyrelations"> + <el-input v-model="form.familyrelations" placeholder="璇疯緭鍏ヤ笌鎹愯禒鑰呭叧绯� 鏍规嵁瀛楀吀sys_FamilyRelation" /> + </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-col :span="5"><el-form-item label="寮�鎴烽摱琛�" prop="depositbank"> + <el-input v-model="form.depositbank" placeholder="璇疯緭鍏ュ紑鎴烽摱琛�" /> + </el-form-item></el-col> + </el-row> + <el-row> + <el-col :span="5"> <el-form-item label="鍗″彿" prop="bankcardno"> + <el-input v-model="form.bankcardno" placeholder="璇疯緭鍏ュ崱鍙�" /> + </el-form-item></el-col> + <el-col :span="5"><el-form-item label="鏀鍚嶇О" prop="branchbankname"> + <el-input v-model="form.branchbankname" placeholder="璇疯緭鍏ユ敮琛屽悕绉�" /> + </el-form-item></el-col> + <el-col :span="5"><el-form-item label="閾惰鍗$収鐗囪矾寰� 澶氫釜鐢�;鍒嗗紑" prop="annexbankcard"> + <el-input v-model="form.annexbankcard" placeholder="璇疯緭鍏ラ摱琛屽崱鐓х墖璺緞 澶氫釜鐢�;鍒嗗紑" /> + </el-form-item></el-col> + <el-col :span="5"><el-form-item label="鐧昏琛ㄧ収鐗囪矾寰� 澶氫釜鐢�;鍒嗗紑" prop="annexregistform"> + <el-input v-model="form.annexregistform" placeholder="璇疯緭鍏ョ櫥璁拌〃鐓х墖璺緞 澶氫釜鐢�;鍒嗗紑" /> + </el-form-item></el-col> + </el-row> + + + <el-row> + <el-col :span="5"><el-form-item label="璐圭敤绫诲埆 瑙佸瓧鍏竤ys_SubjectType" prop="applytype"> + <el-select v-model="form.applytype" placeholder="璇烽�夋嫨璐圭敤绫诲埆 瑙佸瓧鍏竤ys_SubjectType"> + <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" /> + </el-select> + </el-form-item></el-col> + <el-col :span="5"><el-form-item label="椤圭洰ID" prop="itemid"> + <el-input v-model="form.itemid" placeholder="璇疯緭鍏ラ」鐩甀D" /> + </el-form-item></el-col> + <el-col :span="5"> <el-form-item label="椤圭洰鍚嶇О" prop="itemname"> + <el-input v-model="form.itemname" placeholder="璇疯緭鍏ラ」鐩悕绉�" /> + </el-form-item></el-col> + <el-col :span="5"><el-form-item label="椤圭洰绫诲埆" prop="itemtype"> + <el-select v-model="form.itemtype" placeholder="璇烽�夋嫨椤圭洰绫诲埆"> + <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" /> </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-col :span="5"><el-form-item label="鐢宠閲戦" prop="amount"> + <el-input v-model="form.amount" placeholder="璇疯緭鍏ョ敵璇烽噾棰�" /> + </el-form-item></el-col> + <el-col :span="5"><el-form-item label="棰勬敮閲戦" prop="prepaidamount"> + <el-input v-model="form.prepaidamount" placeholder="璇疯緭鍏ラ鏀噾棰�" /> + </el-form-item></el-col> + <el-col :span="5"><el-form-item label="鍙戠エ寮犳暟" prop="invoicecount"> + <el-input v-model="form.invoicecount" placeholder="璇疯緭鍏ュ彂绁ㄥ紶鏁�" /> + </el-form-item></el-col> + <el-col :span="5"><el-form-item label="闄勪欢寮犳暟" prop="attachcount"> + <el-input v-model="form.attachcount" placeholder="璇疯緭鍏ラ檮浠跺紶鏁�" /> + </el-form-item></el-col> + </el-row> + <el-row> + <el-col :span="5"><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="璁板綍鐘舵��"> + <el-radio-group v-model="form.recordstatus"> + <el-radio label="1">璇烽�夋嫨瀛楀吀鐢熸垚</el-radio> + </el-radio-group> + </el-form-item></el-col> + <el-col :span="5"> <el-form-item label="涓婁紶鏍囧織" prop="uploadflag"> + <el-input v-model="form.uploadflag" placeholder="璇疯緭鍏ヤ笂浼犳爣蹇�" /> + </el-form-item></el-col> + <el-col :span="5"><el-form-item label="涓婁紶鏃堕棿" prop="uploadtime"> + <el-date-picker clearable size="small" v-model="form.uploadtime" type="date" value-format="yyyy-MM-dd" + placeholder="閫夋嫨涓婁紶鏃堕棿"> + </el-date-picker> + </el-form-item></el-col> </el-row> </el-form> - <span slot="footer" class="dialog-footer"> - <el-button @click="showDetailInfoDialog = false">鍙� 娑�</el-button> - <el-button type="primary" @click="ConfirmDetailDialog()">纭� 瀹�</el-button> - </span> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> + <el-button @click="cancel">鍙� 娑�</el-button> + </div> </el-dialog> </div> </template> <script> -//杩欓噷鍙互瀵煎叆鍏朵粬鏂囦欢锛堟瘮濡傦細缁勪欢锛屽伐鍏穓s锛岀涓夋柟鎻掍欢js锛宩son鏂囦欢锛屽浘鐗囨枃浠剁瓑绛夛級 -//渚嬪锛歩mport 銆婄粍浠跺悕绉般�� from '銆婄粍浠惰矾寰勩��'; -import { - listDonatebaseinfo, - getDonatebaseinfo -} from "@/api/project/donatebaseinfo"; - -import { - onelistFund, - listFund, - getFund, - delFund, - addFund, - updateFund, - exportFund, - getdownloadLW, - getdownloadSH, - getdownloadSS, - getdownloadYX, - getdownloadBX, - addorupdateFund, - getdetailsByItemId -} from "@/api/project/fund"; - -import { - onelistFunds, - listFunddetails, - listFunddetail, - getFunddetail, - delFunddetail, - addFunddetail, - getownFundDetail, - updateFunddetail, - exportFunddetail, - getItemNames, - getFundType, - getFundTypeAll, - listcountItem, - getDataBybeneficiaryNo, - getTaxByBeneFiciaryNo, - getTaxBeforeByBeneFiciaryNo, - getTaxationByBeneFiciaryNo, - getTaxBeforeByAfterMoney -} from "@/api/project/funddetail"; - -import { listFundflow } from "@/api/project/fundflow"; - -import { - listOrganization, - getOrganization, - listReportname, - listUser -} from "@/api/project/organization"; - -import { - listExternalperson, - getExternalperson, - getInfoBytheUserNo, - delExternalperson, - addExternalperson, - updateExternalperson, - exportExternalperson -} from "@/api/project/externalperson"; - -import { getUserProfile } from "@/api/system/user"; -import Li_area_select from "@/components/Address"; -import OrgSelecter from "@/views/project/components/orgselect"; -import { getToken } from "@/utils/auth"; +import { listFunddetail, getFunddetail, delFunddetail, addFunddetail, updateFunddetail, exportFunddetail } from "@/api/project/funddetail"; export default { - //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� - components: { - Li_area_select, - OrgSelecter, - }, - - name: "fundApply", - - dicts: [ - //"sys_consolationfundlevel", - //"sys_OrganizationType", - "sys_DonationStatus", - //"sys_depositbank", - //"sys_FamilyRelation", - //"sys_IDType", - //"sys_ConsolationType", - //"sys_fund_type", - //"sys_finsubject", - //"sys_financeitemtype", - //"sys_expensetype", - "sys_recordstatus", - "sys_professionaltitle" - ], - + name: "Funddetail", data() { - //杩欓噷瀛樻斁鏁版嵁 return { // 閬僵灞� - loading: false, + loading: true, // 瀵煎嚭閬僵灞� exportLoading: false, - - //鏌ヨ鍙傛暟 + // 閫変腑鏁扮粍 + ids: [], + // 闈炲崟涓鐢� + single: true, + // 闈炲涓鐢� + multiple: true, + // 鏄剧ず鎼滅储鏉′欢 + showSearch: true, + // 鎬绘潯鏁� + total: 0, + // 璐圭敤鐢宠鏄庣粏琛ㄦ牸鏁版嵁 + funddetailList: [], + // 寮瑰嚭灞傛爣棰� + title: "", + // 鏄惁鏄剧ず寮瑰嚭灞� + open: false, + // 鏌ヨ鍙傛暟 queryParams: { - organizationname: null, - organizationtype: null, pageNum: 1, pageSize: 10, - name: null, - idcardno: null, - residenceprovince: null, - residencecity: null, - residencetown: null, - recordstate: null, - treatmenthospitalname: null, - donorno: null, - reportername: null, - reporttime: null, - }, - - fundQueryParam: { - pageNum: 1, - pageSize: 100, - infoid: null, - applytype: "4", + beneficiaryname: null, + uintname: null, + applytype: null, + itemname: null, + itemtype: null, + amount: null, + recordstatus: null, createBy: null, + createTime: null, + uploadflag: null, + uploadtime: null }, - - expertQueryParam: { - pageNum: 1, - pageSize: 10000, - userno: null, - username: null, - usertype: null, - }, - - //璁$畻涓◣鍙傛暟 - taxParam: { - beneficiaryNo: '', - money: '0', - startTime: '', - }, - // 琛ㄥ崟鍙傛暟 form: {}, - - total: 0, - - //鐢宠鍗曠被鍨� - businesstype: "4", - //鎿嶄綔绫诲瀷 - operationtype: "edit", - //鎵�鏈変汉鍛樿〃 - personlist: [], - // - amount: 0.00, - //涓撳鍒楄〃 - expertlist: [], - //涓撳璐归�夋嫨锛�1鏄笓瀹跺簱锛�2鏄柊澧� - expertfrom: "1", // 琛ㄥ崟鏍¢獙 rules: { - username: [ - { required: true, message: "璇疯緭鍏ョ敵璇蜂汉", trigger: "blur" }, - ], - createTime: [ - { required: true, message: "璇疯緭鍏ョ敵璇锋棩鏈�", trigger: "blur" }, - ], - deptmentname: [ - { required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" }, - ], - // amountrequested: [ - // { required: true, message: "璇疯緭鍏ョ敵璇烽噾棰�", trigger: "blur" }, - // ], - }, - - //鎹愮尞妗堜緥鍒楄〃鏁版嵁 - donatebaseinfoList: [], - //褰撳墠閫変腑鎹愮尞妗堜緥 - curCase: {}, - - // 鎹愮尞浜洪亾鎱伴棶閲戣〃鏍兼暟鎹� - donateconsolationfundList: [], - //璐圭敤鏄庣粏鍒楄〃 - fundDetails: [], - formData: {}, - totalPreTaxAmount: 0.0, - totalAfterTaxAmount: 0.0, - totalAmount: 0.0, - - //璐圭敤鐢宠琛ㄥ崟title - title: "", - userlist: [], - itemlist: [], - reporters: [], - - //琛岃褰曠殑璐圭敤绫诲瀷鏁扮粍 - rowfeeItemTypes: [], - //璐圭敤绫诲瀷鏁扮粍 - feeItemTypes: [], - //璐圭敤璇存槑 - rowfeeblocks: [], - userprofile: {}, - - //鏄惁鏄笓瀹惰垂鐨凮PO瀹℃壒浜哄憳 - ismanager: false, - unitList: [], - fundflowList: [], - - showDetailInfoDialog: false, - showDetailInfoDialogType: "", - funddetailForm: { - index: null, - beneficiaryname: null, - beneficiaryno: null, - unitno: null, - unitname: 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", - //鏂囦欢涓婁紶token - headers: { - Authorization: "Bearer " + getToken(), - }, - + } }; }, - //鐩戝惉灞炴�� 绫讳技浜巇ata姒傚康 - computed: {}, - //鐩戞帶data涓殑鏁版嵁鍙樺寲 - watch: {}, - //鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵his瀹炰緥锛� created() { - //鑾峰彇鍗曟嵁绫诲瀷鍜屾搷浣滆姹� - this.getCurFundType(); - this.getUserProfile(); - this.getroute(); + this.getList(); }, - - //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛� - mounted() { - this.getUserList(); - this.getUnitList(); - this.selectReporters(); - this.getExternalpersonList(); - this.getBaseInfoList(); - }, - - beforeCreate() { - }, //鐢熷懡鍛ㄦ湡 - 鍒涘缓涔嬪墠 - beforeMount() { }, //鐢熷懡鍛ㄦ湡 - 鎸傝浇涔嬪墠 - beforeUpdate() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠 - updated() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗 - beforeDestroy() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓� - destroyed() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴� - activated() { }, //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂 - - //鏂规硶闆嗗悎 methods: { - /** 閫氳繃鍙傛暟鑾峰彇涓氬姟绫诲瀷 */ - getroute() { - //閫夋嫨涓氬姟绫诲瀷:1銆佹柊澧烇紱2銆佷慨鏀癸紱3銆佹煡鐪� - let ids = this.$route.query.id; - let tempbusinesstype = this.$route.query.businesstype; - let tempoperationtype = this.$route.query.operationtype; - // this.userprofile = this.$route.query.routerparam; - if (tempbusinesstype == 1) { - this.businesstype = tempbusinesstype; - this.title = '涓撳鍔冲姟璐圭敵璇峰崟'; - this.handleAdd(ids); - } else if (tempbusinesstype == 2) { - this.businesstype = tempbusinesstype; - this.title = '浼︾悊涓撳鍔冲姟璐圭敵璇峰崟'; - this.handleUpdate(ids); - } - else if (tempbusinesstype == 3) { - this.businesstype = tempbusinesstype; - this.title = '鍖诲鎴愭湰鎶ラ攢鍗�'; - this.handleDetail(ids); - } - else if (tempbusinesstype == 4) { - this.businesstype = tempbusinesstype; - this.title = '鏉傝薄璐圭敤鎶ラ攢鍗�'; - // this.handleCheck(ids); - } - - if (tempoperationtype == 1) { - this.operationtype = 'add'; - this.title += '鏂板缓' - this.handleAdd(ids); - } else if (tempoperationtype == 2) { - this.operationtype = 'update'; - this.title += '淇敼' - this.handleUpdate(ids); - } - else if (tempoperationtype == 3) { - this.operationtype = 'detail'; - this.title += '鏌ョ湅' - this.handleDetail(ids); - } else if (tempoperationtype == 4) { - this.title += '瀹℃牳' - this.handleCheck(ids); - } - console.log( - this.businesstype = tempbusinesstype, this.title); - }, - - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.daterangeReporttime = []; - this.resetForm("queryForm"); - this.handleQuery(); - }, - - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.queryParams.params = {}; - - /** businesstype锛�4锛氭潅椤硅垂鐢ㄦ姤閿�鐢宠 */ - if (this.businesstype != "4") { - if (this.curCase.id) { - this.istrue += 2; - this.form.donorno = this.curCase.donorno; - this.form.name = this.curCase.name; - this.form.infoid = this.curCase.id; - - // this.form.createTime = nowdate; - //this.open = true; - //this.initFundApplyForm(); - } else { - const h = this.$createElement; - this.$message({ - message: h("p", null, [h("span", null, "璇峰厛閫夋嫨宸︽柟鎹愮尞妗堜緥 ")]), - }); - return; - } - } - - this.form.username = this.userprofile.nickName; - this.form.userno = this.userprofile.userName; - this.form.phone = this.userprofile.phonenumber; - this.form.deptmentname = this.userprofile.dept.deptName; - this.form.deptmentno = this.userprofile.dept.deptId; - this.form.managername = this.userprofile.dept.leader; - -//鍒濆鍖栨槑缁� - this.fundDetails = []; - this.addRow(); - - }, - - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.isopen = 0; - this.reset(); - this.queryParams.params = {}; - this.form.donorno = this.curCase.donorno; - this.form.infoid = this.curCase.id; - this.title = "淇敼璐圭敤鐢宠"; - this.operationtype = "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].itemlist = []; - this.getitemlist(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(); - } - }); - }); - }, - - /** 鏌ョ湅鎸夐挳鎿嶄綔 */ - handleDetail(row) { - this.isopen = 0; - this.reset(); - this.queryParams.params = {}; - this.form.donorno = this.curCase.donorno; - this.form.infoid = this.curCase.id; - this.title = "鏌ョ湅璐圭敤鐢宠"; - this.operationtype = "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].itemlist = []; - this.getitemlist(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.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: "宸插彇娑堢敵璇�", - }); - }); - }, - - /** 鎻愪氦鎸夐挳 */ - submitForm() { - this.$refs["form"].validate((valid) => { - if (valid) { - this.formData = this.form; - // let totalPreTaxAmount = 0.0; - // let totalAfterTaxAmount = 0.0; - // let totalAmount = 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 tempitemlist = tempDetail.itemlist; - let itemIndex = tempitemlist.findIndex( - (item) => tempDetail.itemid == item.id - ); - if (itemIndex > -1) { - tempDetail.itemname = tempitemlist[itemIndex].itemName; - tempDetail.itemid = tempitemlist[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.fundDetails.map((item) => { - this.form.serviceFunddetails += item.amount; - }); - this.form.serviceFunddetails = this.fundDetails; - - if (this.form.id != null) { - //鎹愮尞鑰� - this.form.donorname = this.curCase.name; - - // 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) => { if (response.code != 200) { this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐�1锛�" + response.msg); } }); - // } else { - // addFunddetail(this.fundDetails[m]).then((response2) => { if (response.code != 200) { this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐�2锛�" + response.msg); } }); - // } - // } - // this.$modal.msgSuccess("涓撳鍔冲姟璐逛繚瀛樻垚鍔燂紒"); - // } else { - // this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐ワ細" + response.msg); - // } - // }); - - } else { - this.form.recordstatus = -1; - - // addorupdateFund(this.form).then((response) => { - // if (response.code === 200) { - // this.selectDonotor(this.curCase); - // } else { - // this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐ワ細" + response.msg); - // } - // }); - } - - addorupdateFund(this.form).then((response) => { - if (response.code === 200) { - this.selectDonotor(this.curCase); - this.$modal.msgSuccess("涓撳鍔冲姟璐逛繚瀛樻垚鍔燂紒"); - } else { - this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐ワ細" + response.msg); - } - }); - - //鍏抽棴绐楀彛 - this.loading = false; - // this.getfundList(); - this.selectDonotor(this.curCase); - - } - }); - }, - - // 鍙栨秷鎸夐挳 - cancel() { - this.reset(); - }, - - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - recordstate: -1, - userno: null, - username: null, - id: null, - infoid: null, - donorno: null, - delFlag: null, - createBy: null, - createTime: null, - updateBy: null, - updateTime: null, - familyrelations: null, - name: null, - remark: null, - doname: null, - unitname: null, - unitno: null, - sex: null, - idcardtype: null, - idcardno: null, - phone: null, - donorname: null, - depositbank: null, - bankprovince: null, - bankprovincename: null, - bankcity: null, - bankcityname: null, - banktown: null, - banktownname: null, - branchbankname: null, - bankcardno: null, - annexbankcard: null, - annexregistform: null, - consolationmoney: null, - applytype: "4", - servicetypename: null, - servicesscope: null, - servicesscopename: null, - }; - this.resetForm("form"); - //娓呯┖闄勪欢 - this.fileList = [] - }, - - 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; - }, - - //鑾峰彇褰撳墠鐢ㄦ埛淇℃伅 - getUserProfile() { - getUserProfile().then((response) => { - this.userprofile = response.data; - this.standardlevel = response.data.standardlevel; - if (this.userprofile.createBy == "admin" || this.userprofile.createBy == "001" || this.userprofile.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.taxamount = 0.0; - row.taxedamount = item.expense; - } else { - row.amount = item.expense; - row.taxamount = 0.0; - row.taxedamount = 0.0; - } - - this.form.serviceFunddetails = 0; - this.fundDetails.map((item) => { - this.form.serviceFunddetails += item.amount; - }); - } - }); - }, - - //鏍¢獙鏀惰垂椤圭洰鏄惁閲嶅 - verifyFeeItem(row) { - row.itemlist.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; - } - }); - }, - - 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() { + /** 鏌ヨ璐圭敤鐢宠鏄庣粏鍒楄〃 */ + getList() { this.loading = true; - listDonatebaseinfo(this.queryParams).then((response) => { - this.donatebaseinfoList = response.rows; + listFunddetail(this.queryParams).then(response => { + this.funddetailList = response.rows; this.total = response.total; this.loading = false; }); }, - - //鐐瑰嚮鎹愮尞妗堜緥鍒楄〃瑙﹀彂鏂规硶 - selectDonotor(row, column, event) { - this.curCase = row; - this.getfundList(); - }, - - getfundList() { - this.loading = true; + // 鍙栨秷鎸夐挳 + cancel() { + this.open = false; 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.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.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.feeItemTypes[i].itemType, - itemid: this.feeItemTypes[i].itemDetails[j].id, - itemcode: this.feeItemTypes[i].itemDetails[j].itemCode, - recordstatus: "-1", - beneficiaryname: "鐐瑰嚮閫夋嫨", - unitname: "鐐瑰嚮閫夋嫨", - itemlist: 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.fundDetails = listAdd; - this.loading = false; - // let Outerarr = this.fundDetails; - // Outerarr.map((res) => { - // let onelist = this.rowfeeItemTypes; - // onelist.map((item) => { - // //绗竴灞備笉鐩哥瓑鏃讹紱 - // if (res.applytype !== item.itemType) { - // this.addRow(); - // } - // }); - // }); - }, - - addAll(row, i, arr) { - row.itemlist.map((res) => { - if (res.id !== row.itemid) { - let a = arr.length; - this.addRow(); - arr[a].itemlist = row.itemlist; - arr[a].applytype = row.applytype; - arr[a].itemid = res.id; - - getdetailsByItemId(arr[a].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; - }); - } - }); - }, - - //鏂板涓�琛� - addRow(rowIndex) { - let rowData = { - orderno: null, + // 琛ㄥ崟閲嶇疆 + reset() { + this.form = { id: null, fundid: null, - beneficiaryname: "鐐瑰嚮閫夋嫨", + beneficiaryname: null, beneficiaryno: null, - unitname: "鐐瑰嚮閫夋嫨", - unitno: null, + uintname: null, + uintno: null, uintuserno: null, - title: null, idcardtype: null, idcardno: null, sex: null, @@ -1560,322 +312,93 @@ itemtype: null, amount: null, prepaidamount: null, - taxamount: null, invoicecount: null, - taxedamount: null, attachcount: null, remark: null, - recordstatus: "-1", + recordstatus: "0", delFlag: null, createBy: null, createTime: null, updateBy: null, updateTime: null, uploadflag: null, - uploadtime: null, - itemlist: [], - servicesscope: null, - rowfeeblocks: [], + uploadtime: null }; - if (rowIndex == undefined || rowIndex == null || rowIndex < 0) { - this.fundDetails.push(rowData); - } else { - this.fundDetails.splice(rowIndex + 1, 0, rowData); - } - for (let i = 0; i < this.fundDetails.length; i++) { - this.fundDetails[i].orderno = i + 1; - } + this.resetForm("form"); }, - - //鍔犺浇鏈嶅姟椤圭洰 - loadItemType(row) { - let list = this.feeItemTypes.filter((r) => r.itemType == row.applytype); - row.itemlist = list[0].itemDetails; - row.itemid = null; - this.$forceUpdate(); - //this.loading = true; - // getItemNames(row.applytype).then((res) => { - // this.loading = false; - // row.itemid = null; - // row.itemlist = res.data; - // this.$forceUpdate(); - // }); + /** 鎼滅储鎸夐挳鎿嶄綔 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.getList(); }, - - //鑾峰彇涓撳鍒楄〃 - getExternalpersonList() { - listExternalperson().then((res) => { - this.personlist = res.rows; + /** 閲嶇疆鎸夐挳鎿嶄綔 */ + resetQuery() { + this.resetForm("queryForm"); + this.handleQuery(); + }, + // 澶氶�夋閫変腑鏁版嵁 + handleSelectionChange(selection) { + this.ids = selection.map(item => item.id) + this.single = selection.length !== 1 + this.multiple = !selection.length + }, + /** 鏂板鎸夐挳鎿嶄綔 */ + handleAdd() { + this.reset(); + this.open = true; + this.title = "娣诲姞璐圭敤鐢宠鏄庣粏"; + }, + /** 淇敼鎸夐挳鎿嶄綔 */ + handleUpdate(row) { + this.reset(); + const id = row.id || this.ids + getFunddetail(id).then(response => { + this.form = response.data; + this.open = true; + this.title = "淇敼璐圭敤鐢宠鏄庣粏"; }); }, - - //涓撳浜哄憳鍒楄〃 - selectReporters() { - 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++) { - templist.push({ - reportName: res.data[j].reportName, - reportNo: res.data[j].reportNo, - }); - } - this.expertlist = this.expertlist.concat(templist); - }); - } - }, - - selectpersonmsg(row) { - // if(row.beneficiaryname) - this.personlist.map((res) => { - if (row.beneficiaryname == res.username) { - row.beneficiaryno = res.userno; - row.beneficiaryname = res.username; - row.bankcardno = res.bankcardno; - row.branchbankname = res.branchbankname; - row.depositbank = res.depositbank; - row.idcardno = res.idcardno; - row.phone = res.phonenumber; - row.title = res.title; - row.unitname = res.unitname; - row.unitno = res.unitno; - } else { - row.beneficiaryno = row.beneficiaryname; - } - }); - }, - - getUserList() { - listUser().then((res) => { - console.log("listUser", res); - this.userlist = res.data; - }); - }, - - //绛涙煡鍑哄搴旂殑璐圭敤椤圭洰 - searchItemType(val, scope) { - let result = []; - if (val != "") { - let tempitemlist = scope.row.itemlist; - for (let i = 0; i < tempitemlist.length; i++) { - let pym = tempitemlist[i].itempinyin; - if (pym != null && pym != undefined && pym != "") { - if (pym.indexOf(val) != -1) { - result.push(tempitemlist[i]); - } - } - } - scope.row.itemlist = result; - } else { - getItemNames(scope.row.applytype).then((res) => { - scope.row.itemlist = res.data; - //this.$set(this.fundDetails, rowindex, row); - }); - } - }, - - deleteRows(row, index, rows) { - this.$confirm("鏄惁纭鍒犻櫎?", "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "success", - }) - .then(() => { - if (row.id !== null) { - delFunddetail(row.id).then((res) => { - if (res.code === 200) { - this.$confirm("鍒犻櫎鎴愬姛", "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "success", - }).then(() => { - this.$set(rows, rows.splice(index, 1)); - getownFundDetail(this.form.id).then((res) => { - this.$set(this.fundDetails, res.data); - this.sumTotalFee(); - // this.fundDetails = res.data - }); - }); - } - // getownFundDetail(this.form.id).then(res=>{ - // this.$set(this.fundDetails,res.data) - // this.fundDetails = res.data - // }) + /** 鎻愪氦鎸夐挳 */ + submitForm() { + this.$refs["form"].validate(valid => { + if (valid) { + if (this.form.id != null) { + updateFunddetail(this.form).then(response => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.open = false; + this.getList(); }); } else { - rows.splice(index, 1); - this.sumTotalFee(); + addFunddetail(this.form).then(response => { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.open = false; + this.getList(); + }); } - }) - .catch(() => { - //鍑犵偣鍙栨秷鐨勬彁绀� - }); - }, - - //璁$畻涓◣ - calculateTax() { }, - - //璁$畻鎬婚噾棰� - sumTotalFee(row) { - let allSum = 0; - if (this.form.applytype != null) { - 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.fundDetails[i].amount))) { - totalFee += parseFloat(this.fundDetails[i].amount); - taxFee += parseFloat(this.fundDetails[i].amount); - } - 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.fundDetails[i].price)) && - !isNaN(parseFloat(this.fundDetails[i].quantity)) - ) { - totalFee += - parseFloat(this.fundDetails[i].price) * - parseFloat(this.fundDetails[i].quantity); - } - } - - //绋庡墠銆佺◣鍚庨渶瑕佺嫭绔嬪綍鍏� - // if (!isNaN(parseFloat(taxFee))) { - // this.fundDetails[i].taxedamount = taxFee.toFixed(2); - // } - - allSum += totalFee; - } - } - // this.form.amountrequested = allSum.toFixed(2); - // this.$forceUpdate(); - }, - - //鑾峰彇璐圭敤绫诲瀷 - getCurFundType() { - getFundTypeAll(this.businesstype).then((res) => { - let dataList = res.data; - this.feeItemTypes = dataList; - this.rowfeeItemTypes = []; - for (let m = 0; m < dataList.length; m++) { - this.rowfeeItemTypes.push({ - value: dataList[m].itemType, - label: dataList[m].itemTypeName, - subjecttype: dataList[m].subjecttype, - subjecttypename: dataList[m].subjecttypename, - }); } }); }, - - getitemlist(rowindex, row) { - let list = this.feeItemTypes.filter((r) => r.itemType == row.applytype); - row.itemlist = list[0].itemDetails; - this.$set(this.fundDetails, rowindex, row); - //this.loading = true; - // getItemNames(row.applytype).then((res) => { - // this.loading = false; - // row.itemlist = res.data; - // this.$set(this.fundDetails, rowindex, row); - // }); + /** 鍒犻櫎鎸夐挳鎿嶄綔 */ + handleDelete(row) { + const ids = row.id || this.ids; + this.$modal.confirm('鏄惁纭鍒犻櫎璐圭敤鐢宠鏄庣粏缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function () { + return delFunddetail(ids); + }).then(() => { + this.getList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }).catch(() => { }); }, - - mixExport(scope) { - this.dayin(scope.row.id); - //this.totaldayin(id); - }, - - //涓撳璐瑰姵鍔℃墦鍗� - dayin(id) { - getdownloadLW(id).then((res) => { - if (res.downloadUrl) { - var fileUrl = res; - //鑾峰彇褰撳墠缃戝潃 - var urlBase = process.env.VUE_APP_BASE_API; - var curWWWPath = window.document.location.href; - var pos = curWWWPath.indexOf(window.document.location.pathname); - // 鍒涘缓a鏍囩 - var aEle = document.createElement("a"); - aEle.href = - curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; - aEle.click(); - this.$alert("涓嬭浇鎴愬姛", "鎻愮ず", { - confirmButtonText: "纭畾", - type: "success", - }); - } - }); - }, - - //姹囨�绘墦鍗� - totaldayin(e) { - // const id =this.row.id - getdownloadBX(e).then((res) => { - if (res.downloadUrl) { - var fileUrl = res; - //鑾峰彇褰撳墠缃戝潃 - var urlBase = process.env.VUE_APP_BASE_API; - var curWWWPath = window.document.location.href; - var pos = curWWWPath.indexOf(window.document.location.pathname); - // 鍒涘缓a鏍囩 - var aEle = document.createElement("a"); - aEle.href = - curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; - aEle.click(); - this.$alert("涓嬭浇鎴愬姛", "鎻愮ず", { - confirmButtonText: "纭畾", - type: "success", - }); - } - }); - }, - - - - //鏂囦欢涓婁紶 - 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 { - console.log(response.msg);; - } - }, - - }, - + /** 瀵煎嚭鎸夐挳鎿嶄綔 */ + handleExport() { + const queryParams = this.queryParams; + this.$modal.confirm('鏄惁纭瀵煎嚭鎵�鏈夎垂鐢ㄧ敵璇锋槑缁嗘暟鎹」锛�').then(() => { + this.exportLoading = true; + return exportFunddetail(queryParams); + }).then(response => { + this.$download.name(response.msg); + this.exportLoading = false; + }).catch(() => { }); + } + } }; - </script> -<style scoped> -/* @import url(); 寮曞叆鍏叡css绫� */ -</style> -- Gitblit v1.9.3