From 57451296729e00be76124e4a6be7c14bdf67c0e6 Mon Sep 17 00:00:00 2001 From: yxh <172933527@qq.com> Date: 星期三, 02 八月 2023 10:41:17 +0800 Subject: [PATCH] yxh增加了杂费申请 --- src/views/project/funddetail/index.vue | 2086 ++++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 1,770 insertions(+), 316 deletions(-) diff --git a/src/views/project/funddetail/index.vue b/src/views/project/funddetail/index.vue index 5c18378..6807d23 100644 --- a/src/views/project/funddetail/index.vue +++ b/src/views/project/funddetail/index.vue @@ -1,301 +1,1526 @@ +<!-- --> <template> <div class="app-container"> - <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> + <!-- 娣诲姞鎴栦慨鏀硅垂鐢ㄧ敵璇峰崟 --> + <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="4">鏉傞」璐圭敤鐢宠</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 :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-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.itemArr" :key="dict.index" :label="dict.itemName" + :value="dict.id"></el-option> + </el-select> + </template> + </el-table-column> + <el-table-column prop="itemcode" align="center" label="椤圭洰缂栧彿" show-overflow-tooltip="" 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 == '3'"> + <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 == '3'"> + <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 == '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'"> + <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 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 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="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, fundDetails) + " type="text" size="small"> + 鍒犻櫎 + </el-button> + </template> + </el-table-column> + </el-table> + </el-row> <!-- - <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> + <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='dialogType == "detail"' :on-error="handleUploadError" + :on-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf"> + <el-button :disabled='dialogType == "detail"' size="small" type="primary">涓婁紶</el-button> + </el-upload> + </el-form-item> + </el-col> + </el-row> + <el-row v-if="dialogType == 'detail'"> + <el-table :data="fundflowList" border> + <el-table-column label="瀹℃牳浜�" align="center" width="120" prop="checkusername" /> + <el-table-column label="瀹℃牳鏃ユ湡" align="center" width="160" prop="createTime" /> + <el-table-column label="瀹℃牳缁撴灉" align="center" width="200" prop="flowconclusion"><template + slot-scope="scope"><span v-if="scope.row.flowconclusion == 1">閫氳繃</span><span + v-if="scope.row.flowconclusion == 2">涓嶉�氳繃</span></template> + </el-table-column> + <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="success" @click="print">鎵� 鍗�</el-button> --> + <el-button @click="cancel">鍙� 娑�</el-button> + </div> - <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-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="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="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-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> + <el-col :span="24" v-if="expertfrom == '2'"> + <el-form-item label="鍗曚綅鍚嶇О" prop="expertunitno" label-width="80px"> + <el-select v-model="funddetailForm.expertunitno" placeholder="鍗曚綅鍚嶇О" clearable filterable allow-create + style="width: 100%"> + <el-option v-for="(spec, index) in unitList" :key="index" :label="spec.organizationname" + :value="spec.organizationid"></el-option> + </el-select> </el-form-item></el-col> - <el-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-row> + <el-col :span="24" v-if="expertfrom == '2'"> + <el-form-item label="寮�鎴烽摱琛�" prop="expertdepositbank" label-width="80px"> + <el-input v-model="funddetailForm.expertdepositbank" placeholder="蹇呭~椤�" /> + </el-form-item> + </el-col> + <el-col :span="24" v-if="expertfrom == '2'"> + <el-form-item label="閾惰鍗″彿" prop="expertbankcardno" label-width="80px"> + <el-input v-model="funddetailForm.expertbankcardno" placeholder="蹇呭~椤�" /> + </el-form-item> + </el-col> </el-row> </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="showDetailInfoDialog = false">鍙� 娑�</el-button> + <el-button type="primary" @click="ConfirmDetailDialog()">纭� 瀹�</el-button> + </span> </el-dialog> </div> </template> <script> -import { listFunddetail, getFunddetail, delFunddetail, addFunddetail, updateFunddetail, exportFunddetail } from "@/api/project/funddetail"; +//杩欓噷鍙互瀵煎叆鍏朵粬鏂囦欢锛堟瘮濡傦細缁勪欢锛屽伐鍏穓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"; export default { - name: "Funddetail", + //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" + ], + data() { + //杩欓噷瀛樻斁鏁版嵁 return { // 閬僵灞� - loading: true, + loading: false, // 瀵煎嚭閬僵灞� exportLoading: false, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� total: 0, - // 璐圭敤鐢宠鏄庣粏琛ㄦ牸鏁版嵁 - funddetailList: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏌ヨ鍙傛暟 queryParams: { + organizationname: null, + organizationtype: null, pageNum: 1, pageSize: 10, - beneficiaryname: null, - uintname: null, - applytype: null, - itemname: null, - itemtype: null, - amount: null, - recordstatus: null, + 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", createBy: null, - createTime: null, - uploadflag: null, - uploadtime: null }, // 琛ㄥ崟鍙傛暟 form: {}, + //鎵�鏈変汉鍛樿〃 + personlist: [], + expertQueryParam: { + pageNum: 1, + pageSize: 10000, + userno: null, + username: null, + usertype: null, + }, + + // + amount: 0.00, + + //鐢宠鍗曠被鍨� + currentApplyType: "4", + //涓撳鍒楄〃 + expertlist: [], + //涓撳璐归�夋嫨锛�1鏄笓瀹跺簱锛�2鏄柊澧� + expertfrom: "1", + //璁$畻涓◣鍙傛暟 + taxParam: { + beneficiaryNo: '', + money: '0', + startTime: '', + }, // 琛ㄥ崟鏍¢獙 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" }, + // ], + }, + + //鎹愮尞妗堜緥鍒楄〃鏁版嵁 + // donationCaseTableData:[], + donatebaseinfoList: [], + //褰撳墠閫変腑鎹愮尞妗堜緥 + curCase: {}, + //鏄惁鏄剧ず璐圭敤鐢宠寮圭獥 + dialogOpen: false, + // title: "", + //璐圭敤鐢宠琛ㄥ崟title + applyFormTitle: "", + + // 鎹愮尞浜洪亾鎱伴棶閲戣〃鏍兼暟鎹� + donateconsolationfundList: [], + //璐圭敤鏄庣粏鍒楄〃 + fundDetails: [], + formData: {}, + totalPreTaxAmount: 0.0, + totalAfterTaxAmount: 0.0, + totalAmount: 0.0, + + // 寮瑰嚭灞傛爣棰� + title: "", + userlist: [], + itemArr: [], + reporters: [], + + //琛岃褰曠殑璐圭敤绫诲瀷鏁扮粍 + rowfeeItemTypes: [], + //璐圭敤绫诲瀷鏁扮粍 + feeItemTypes: [], + //璐圭敤璇存槑 + rowfeeblocks: [], + defaultperson: {}, + + //鏄惁鏄笓瀹惰垂鐨凮PO瀹℃壒浜哄憳 + ismanager: false, + unitList: [], + dialogType: "edit", + 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", + + headers: { + Authorization: "Bearer " + getToken(), + }, + }; }, + //鐩戝惉灞炴�� 绫讳技浜巇ata姒傚康 + computed: {}, + //鐩戞帶data涓殑鏁版嵁鍙樺寲 + watch: {}, + //鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵his瀹炰緥锛� created() { this.getList(); + this.getBaseInfoList(); + this.getCurFundType(); + this.getUserList(); + this.getUnitList(); + }, + + //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛� + mounted() { + this.selectReporters(); + this.getUsermsg(); + this.getExternalpersonList(); + }, + + beforeCreate() { }, //鐢熷懡鍛ㄦ湡 - 鍒涘缓涔嬪墠 + beforeMount() { }, //鐢熷懡鍛ㄦ湡 - 鎸傝浇涔嬪墠 + beforeUpdate() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠 + updated() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗 + beforeDestroy() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓� + destroyed() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴� + activated() { }, //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂 + + //鏂规硶闆嗗悎 methods: { - /** 鏌ヨ璐圭敤鐢宠鏄庣粏鍒楄〃 */ + + /** 鎼滅储鎸夐挳鎿嶄綔 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.getList(); + }, + + /** 閲嶇疆鎸夐挳鎿嶄綔 */ + resetQuery() { + this.daterangeReporttime = []; + this.resetForm("queryForm"); + this.handleQuery(); + }, + + /** 鏂板鎸夐挳鎿嶄綔 */ + handleAdd() { + if (this.curCase.id) { + this.istrue += 2; + this.reset(); + this.queryParams.params = {}; + this.form.donorno = this.curCase.donorno; + this.form.name = this.curCase.name; + this.form.infoid = this.curCase.id; + console.log("defaultperson", this.defaultperson); + this.form.username = this.defaultperson.nickName; + this.form.userno = this.defaultperson.userName; + this.form.phone = this.defaultperson.phonenumber; + this.form.deptmentname = this.defaultperson.dept.deptName; + this.form.deptmentno = this.defaultperson.dept.deptId; + this.form.managername = this.defaultperson.dept.leader; + + // this.form.createTime = nowdate; + //this.open = true; + //this.initFundApplyForm(); + this.fundDetails = []; + this.addRow(); + this.dialogOpen = true; + this.dialogType = "edit"; + this.title = "璐圭敤鐢宠"; + } else { + const h = this.$createElement; + this.$message({ + message: h("p", null, [h("span", null, "璇峰厛閫夋嫨宸︽柟鎹愮尞妗堜緥 ")]), + }); + } + }, + + /** 淇敼鎸夐挳鎿嶄綔 */ + handleUpdate(row) { + this.isopen = 0; + this.reset(); + this.queryParams.params = {}; + this.form.donorno = this.curCase.donorno; + this.form.infoid = this.curCase.id; + this.dialogOpen = true; + this.title = "淇敼璐圭敤鐢宠"; + this.dialogType = "edit"; + + const id = row.id || this.ids; + getFund(id).then((response) => { + this.form = response.data; + // this.form.recordstate =-1; + // this.form.recordstatus = response.data.recordstatus + ""; + this.form.name = this.curCase.name; + //闄勪欢澶勭悊 + this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] + getownFundDetail(id).then((res) => { + this.fundDetails = res.data; + for (let m = 0; m < this.fundDetails.length; m++) { + this.fundDetails[m].itemArr = []; + this.getItemArr(m, this.fundDetails[m]); + + //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭� + this.fundDetails[m].rowfeeblocks = []; + + this.fundDetails[m].rowfeeblocks.push({ + servicesscope: this.fundDetails[m].servicesscope, + expensedescribe: this.fundDetails[m].servicesscopename, + expense: this.fundDetails[m].expense, + remark: this.fundDetails[m].servicesscopename, + }); + // getdetailsByItemId(this.fundDetails[m].itemid).then((res) => { + // let fundmsg = res.data; + // fundmsg.forEach((item) => { + // this.fundDetails[m].rowfeeblocks.push({ + // servicesscope: item.id, + // expensedescribe: item.expensedescribe, + // expense: item.expense, + // remark: item.expensedescribe, + // }); + // }); + // }); + } + + if (this.fundDetails.length == 0) { + this.addRow(); + } + }); + }); + }, + + /** 鏌ョ湅鎸夐挳鎿嶄綔 */ + handleDetail(row) { + this.isopen = 0; + this.reset(); + this.queryParams.params = {}; + this.form.donorno = this.curCase.donorno; + this.form.infoid = this.curCase.id; + this.dialogOpen = true; + this.title = "鏌ョ湅璐圭敤鐢宠"; + this.dialogType = "detail"; + const id = row.id || this.ids; + + getFund(id).then((response) => { + this.form = response.data; + this.form.name = this.curCase.name; + let listFundflowparams = { + fundid: row.id, + fundtype: 2, + }; + //闄勪欢澶勭悊 + this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] + + listFundflow(listFundflowparams).then((res) => { + this.fundflowList = res.rows; + }); + getownFundDetail(id).then((res) => { + this.fundDetails = res.data; + for (let m = 0; m < this.fundDetails.length; m++) { + this.fundDetails[m].itemArr = []; + this.getItemArr(m, this.fundDetails[m]); + this.fundDetails[m].rowfeeblocks = []; + this.fundDetails[m].rowfeeblocks.push({ + expense: this.fundDetails[m].expense, + expensedescribe: this.fundDetails[m].servicesscopename, + remark: this.fundDetails[m].servicesscope, + servicesscope: this.fundDetails[m].servicesscope, + }); + } + + if (this.fundDetails.length == 0) { + this.addRow(); + } + }); + }); + }, + + handleDelete(row) { + const ids = row.id || this.ids; + this.$modal + .confirm("鏄惁纭鍒犻櫎璇ヨ褰曪紵") + .then(function () { + return delFund(ids); + }) + .then(() => { + getownFundDetail(ids).then((res) => { + let listdetails = res.data; + for (let i = 0; i < listdetails.length; i++) { + delFunddetail(listdetails[i].id); + } + }); + // this.getList(); + this.getfundList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }) + .catch(() => { }); + }, + + /** 涓婃姤鎸夐挳鎿嶄綔 */ + handleUp(row) { + this.$confirm("鏄惁纭灏嗙櫥璁拌褰曚笂鎶ワ紵", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + 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 tempItemArr = tempDetail.itemArr; + let itemIndex = tempItemArr.findIndex( + (item) => tempDetail.itemid == item.id + ); + if (itemIndex > -1) { + tempDetail.itemname = tempItemArr[itemIndex].itemName; + tempDetail.itemid = tempItemArr[itemIndex].id; + } + + //鑾峰彇applytypename銆佹湇鍔¤垂鐢ㄥぇ绫� + let applytypeIndex = this.rowfeeItemTypes.findIndex( + (item) => tempDetail.applytype == item.value + ); + if (applytypeIndex > -1) { + tempDetail.applytypename = this.rowfeeItemTypes[applytypeIndex].label; + tempDetail.subjecttype = this.rowfeeItemTypes[applytypeIndex].subjecttype; + tempDetail.subjecttypename = this.rowfeeItemTypes[applytypeIndex].subjecttypename; + } + this.fundDetails[i] = tempDetail; + /* + //璁$畻涓◣ + //if (isNaN(parseFloat(tempDetail.taxedamount))) + //鑾峰彇鍙傛暟 + this.taxParam.beneficiaryNo = tempDetail.beneficiaryno; + this.taxParam.startTime = this.form.createTime.substring(0, 10); + // 璁$畻绋庡悗閲戦 + if (tempDetail.taxedamount == undefined || tempDetail.taxedamount == null || tempDetail.taxedamount == 0 || tempDetail.taxedamount == '') { + //鑾峰彇鍙傛暟 + this.taxParam.money = tempDetail.amount.toString(); + getTaxByBeneFiciaryNo(this.taxParam).then((res) => { + if (res.code == 200) { + tempDetail.taxamount = res.data; + tempDetail.taxedamount = tempDetail.amount - tempDetail.taxamount; + this.fundDetails[k] = tempDetail; + + this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount); + this.totalAmount += parseFloat(tempDetail.amount); + } + }); + } + + // 璁$畻绋庡墠閲戦 + if (tempDetail.amount == undefined || tempDetail.amount == null || tempDetail.amount == 0 || tempDetail.amount == '') { + //鑾峰彇鍙傛暟 + this.taxParam.money = tempDetail.taxedamount.toString(); + getTaxBeforeByAfterMoney(this.taxParam).then((res) => { + if (res.code == 200) { + tempDetail.taxamount = res.data.nowTax; + tempDetail.amount = parseFloat(res.data.nowTaxBeforeMoney); + this.fundDetails[k] = tempDetail; + + this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount); + this.totalAmount += parseFloat(tempDetail.amount); + console.log("1", this.amount); + } + }); + } + */ + } + //璐圭敤鍚堣 + // this.form.pretaxcost = parseFloat(this.totalPreTaxAmount).toFixed(2); + // this.form.taxedcost = parseFloat(this.totalAfterTaxAmount).toFixed(2); + // this.form.amountrequested = this.totalAmount.toFixed(2); + + //淇濆瓨鏁版嵁 + this.loading = true; + this.form.serviceFunddetails = 0; + this.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.dialogOpen = false; + // this.getfundList(); + this.getList(); + this.selectDonotor(this.curCase); + + } + }); + }, + + // 鍙栨秷鎸夐挳 + cancel() { + this.dialogOpen = false; + 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; + }, + + //鑾峰彇褰撳墠鐢ㄦ埛淇℃伅 + getUsermsg() { + getUserProfile().then((response) => { + this.defaultperson = response.data; + console.log("this.defaultperson", this.defaultperson); + this.standardlevel = response.data.standardlevel; + if (this.defaultperson.createBy == "admin" || this.defaultperson.createBy == "001" || this.defaultperson.createBy == "002") { + this.ismanager = true; + } else { + this.ismanager = false; + } + }); + }, + + //鑾峰彇璐圭敤椤圭洰鐨勫娉ㄤ俊鎭� + selectedRemark(row) { + row.rowfeeblocks.forEach((item, i) => { + if (item.servicesscope === row.servicesscope) { + row.servicesscopename = item.expensedescribe; + if (row.servicesscopename.includes("绋庡悗")) { + row.amount = 0.0; + row.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.itemArr.map((res) => { + if (row.itemid === res.id) { + row.remark = res.itemDescribe; + row.itemcode = res.itemCode; + } + }); + var repeatNum = 0; + this.fundDetails.map((res) => { + if (res.applytype === row.applytype && res.itemid == row.itemid) { + repeatNum++; + } + }); + if (repeatNum > 1) { + this.$modal.msgWarning("鎮ㄥ凡缁忔彁浜よ繃璇ユ湇鍔¢」鐩簡"); + } + + //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭� + getdetailsByItemId(row.itemid).then((res) => { + let fundmsg = res.data; + let rowfeeblocks = []; + fundmsg.forEach((item) => { + rowfeeblocks.push({ + expense: item.expense, + expensedescribe: item.expensedescribe, + remark: item.expensedescribe, + servicesscope: item.id, + }); + }); + + row.rowfeeblocks = rowfeeblocks; + row.servicesscope = null; + row.servicesscopename = ""; + }); + + }, + + // + selectamount(row) { + this.rowfeeblocks.forEach((item, i) => { + if (item.expense === row.amount) { + row.remark = item.expensedescribe; + } + }); + }, + + /** 鏌ヨ鎹愮尞浜洪亾鎱伴棶閲戝垪琛� */ getList() { + console.log("getList", "getList"); this.loading = true; - listFunddetail(this.queryParams).then(response => { - this.funddetailList = response.rows; + 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; }); }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); + + 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, + }); + } + }); }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { + + getBaseInfoList() { + this.loading = true; + listDonatebaseinfo(this.queryParams).then((response) => { + this.donatebaseinfoList = response.rows; + this.total = response.total; + this.loading = false; + }); + }, + + //鐐瑰嚮鎹愮尞妗堜緥鍒楄〃瑙﹀彂鏂规硶 + selectDonotor(row, column, event) { + this.curCase = row; + this.getfundList(); + }, + + getfundList() { + this.loading = true; + this.reset(); + this.fundQueryParam.infoid = this.curCase.id; + listFund(this.fundQueryParam).then((response) => { + this.loading = false; + this.donateconsolationfundList = response.rows; + }); + }, + + //瀵煎叆鎵�鏈夐」鐩� + addAllItems() { + this.loading = true; + this.fundDetails = this.fundDetails.filter( + (r) => r.applytype != "" && r.applytype != null + ); + let listAdd = []; + //let listAdd = this.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: "鐐瑰嚮閫夋嫨", + itemArr: this.feeItemTypes[i].itemDetails, + rowfeeblocks: null, + servicesscope: null, + servicesscopename: "" + }; + + //鑾峰彇鏀惰垂椤圭洰鐨勮鏄庝俊鎭� + getdetailsByItemId(rowData.itemid).then((res) => { + let fundmsg = res.data; + let rowfeeblocks = []; + fundmsg.forEach((item) => { + rowfeeblocks.push({ + expense: item.expense, + expensedescribe: item.expensedescribe, + remark: item.expensedescribe, + servicesscope: item.id, + }); + }); + + rowData.rowfeeblocks = rowfeeblocks; + rowData.servicesscope = null; + rowData.servicesscopename = ""; + }); + + listAdd.push(rowData); + } + } + } + this.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.itemArr.map((res) => { + if (res.id !== row.itemid) { + let a = arr.length; + this.addRow(); + arr[a].itemArr = row.itemArr; + 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, id: null, fundid: null, - beneficiaryname: null, + beneficiaryname: "鐐瑰嚮閫夋嫨", beneficiaryno: null, - uintname: null, - uintno: null, + unitname: "鐐瑰嚮閫夋嫨", + unitno: null, uintuserno: null, + title: null, idcardtype: null, idcardno: null, sex: null, @@ -312,93 +1537,322 @@ itemtype: null, amount: null, prepaidamount: null, + taxamount: null, invoicecount: null, + taxedamount: null, attachcount: null, remark: null, - recordstatus: "0", + recordstatus: "-1", delFlag: null, createBy: null, createTime: null, updateBy: null, updateTime: null, uploadflag: null, - uploadtime: null + uploadtime: null, + itemArr: [], + servicesscope: null, + rowfeeblocks: [], }; - this.resetForm("form"); + 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; + } }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); + + //鍔犺浇鏈嶅姟椤圭洰 + loadItemType(row) { + let list = this.feeItemTypes.filter((r) => r.itemType == row.applytype); + row.itemArr = list[0].itemDetails; + row.itemid = null; + this.$forceUpdate(); + //this.loading = true; + // getItemNames(row.applytype).then((res) => { + // this.loading = false; + // row.itemid = null; + // row.itemArr = res.data; + // this.$forceUpdate(); + // }); }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - 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 = "淇敼璐圭敤鐢宠鏄庣粏"; + + //鑾峰彇涓撳鍒楄〃 + getExternalpersonList() { + listExternalperson().then((res) => { + this.personlist = res.rows; }); }, - /** 鎻愪氦鎸夐挳 */ - 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 { - addFunddetail(this.form).then(response => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); + + //涓撳浜哄憳鍒楄〃 + 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; } }); }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const ids = row.id || this.ids; - this.$modal.confirm('鏄惁纭鍒犻櫎璐圭敤鐢宠鏄庣粏缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function () { - return delFunddetail(ids); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(() => { }); + + getUserList() { + listUser().then((res) => { + console.log("listUser", res); + this.userlist = res.data; + }); }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - 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(() => { }); - } - } + + //绛涙煡鍑哄搴旂殑璐圭敤椤圭洰 + searchItemType(val, scope) { + let result = []; + if (val != "") { + let tempItemArr = scope.row.itemArr; + for (let i = 0; i < tempItemArr.length; i++) { + let pym = tempItemArr[i].itempinyin; + if (pym != null && pym != undefined && pym != "") { + if (pym.indexOf(val) != -1) { + result.push(tempItemArr[i]); + } + } + } + scope.row.itemArr = result; + } else { + getItemNames(scope.row.applytype).then((res) => { + scope.row.itemArr = res.data; + //this.$set(this.fundDetails, rowindex, row); + }); + } + }, + + deleteRows(row, index, rows) { + 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 + // }) + }); + } else { + rows.splice(index, 1); + this.sumTotalFee(); + } + }) + .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.currentApplyType).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, + }); + } + }); + }, + + getItemArr(rowindex, row) { + let list = this.feeItemTypes.filter((r) => r.itemType == row.applytype); + row.itemArr = list[0].itemDetails; + this.$set(this.fundDetails, rowindex, row); + //this.loading = true; + // getItemNames(row.applytype).then((res) => { + // this.loading = false; + // row.itemArr = res.data; + // this.$set(this.fundDetails, rowindex, row); + // }); + }, + + 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);; + } + }, + + }, + }; + </script> +<style scoped> +/* @import url(); 寮曞叆鍏叡css绫� */ +</style> -- Gitblit v1.9.3