From 8324c778ee797ea5a844614c47d93bdacf3ffeab Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期日, 07 一月 2024 13:17:33 +0800 Subject: [PATCH] 11 --- src/views/project/fund/applyDetail/index.vue | 2648 +++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 1,702 insertions(+), 946 deletions(-) diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue index f640a34..9310d30 100644 --- a/src/views/project/fund/applyDetail/index.vue +++ b/src/views/project/fund/applyDetail/index.vue @@ -6,28 +6,29 @@ <el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-row> <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-form-item label="鎶ラ攢鍗曞彿" prop="bh"> + <el-input v-model="form.bh" :disabled="true" placeholder="鎶ラ攢鍗曞彿" clearable /> + </el-form-item> + </el-col> + <el-col :span="5"> + <el-form-item label="鐢宠鏃ユ湡" prop="applyTime"> + <el-date-picker clearable :disabled="true" style="width: 100%" v-model="form.applyTime" 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-select v-model="form.username" placeholder="鐢宠浜�" clearable filterable allow-create style="width: 100%" + @change="getUserAccount"> <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 label="鑱旂郴鐢佃瘽" prop="phone"> + <el-input v-model="form.phone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" /> </el-form-item> </el-col> </el-row> @@ -46,44 +47,31 @@ }}</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-col :span="5" v-if="ismanager == true"> <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" v-if="businessType == '1' || businessType == '2'"> - <el-input v-model="form.taxcost" placeholder="搴旂即绋庨噾棰濆悎璁�" :disabled="true" /> + <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="pretaxcost"> - <el-input v-model="form.taxedcost" placeholder="绋庡悗閲戦鍚堣" :disabled="true" /> + <el-form-item label="缁勯暱" prop="managername"> + <el-input v-model="form.managername" placeholder="璇疯緭鍏ョ粍闀�" clearable /> </el-form-item> - </el-col>--> + </el-col> + </el-row> + <el-row style="text-align: left"> <el-col :span="5"> - <el-form-item label="鎹愮尞鑰�" prop="name"> - <el-input :disabled="true" v-model="form.name" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" /> + <el-form-item label="鎹愮尞妗堜緥" prop="name"> + <el-input :disabled="true" v-model="form.donorname" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" /> + </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> <!-- @@ -97,50 +85,70 @@ </el-col>--> </el-row> <el-row style="margin-top: 5px; margin-bottom: 5px" /> - <el-row style="margin-bottom: 10px" v-if="businessType == '1'"> - <el-col :span="4"> - <el-button @click.native.prevent="addAllItems" type="primary" size="small"> - 瀵煎叆鏈嶅姟椤圭洰 - </el-button> + <el-row v-if="jurisdiction"> + <!-- <el-alert title="褰撳墠涓烘煡鐪嬬姸鎬侊紝涓嶆敮鎸佷慨鏀瑰瓨鍌ㄣ��" type="warning"> + </el-alert> --> + <el-alert title="褰撳墠涓烘煡鐪嬬姸鎬侊紝涓嶆敮鎸佷慨鏀瑰瓨鍌ㄣ��" type="warning" show-icon> + </el-alert> + </el-row> + <el-row> + <el-col :span="3" v-if="businessType == '1'"> + <div style="margin-bottom: 15px;"> + <el-button type="primary" icon="el-icon-download" size="small" @click.native.prevent="importFeeItems"> + 鎵归噺瀵煎叆鏈嶅姟椤圭洰 + </el-button> + </div> + </el-col> + <el-col :span="3" v-if="businessType == 2"> + <div style="margin-bottom: 15px;"> + <el-button type="primary" icon="el-icon-download" size="small" @click="Batchentry">鎵归噺褰曞叆涓撳</el-button> + </div> + </el-col> + <el-col :span="3" v-if="userprofile.nickName == '闄堟厱鍗�' && (businessType == '1' || businessType == '2')"> + <div style="margin-bottom: 15px;"> + <el-button type="success" icon="el-icon-edit-outline" size="small" + @click="Manualcalculationfn">璁$畻涓◣</el-button> + </div> </el-col> </el-row> <el-row> - <el-table :data="rbDetails" v-loading="loading" border highlight-current-row> - <el-table-column prop="orderno" align="center" label="搴忓彿" width="65"> + <el-table :data="rbDetails" v-loading="loading" max-height="800" border highlight-current-row> + <el-table-column prop="orderno" align="center" label="搴忓彿" width="88"> <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"> + <!-- + <el-table-column prop="itemcode" align="center" label="椤圭洰缂栧彿" show-overflow-tooltip="" + v-if="form.applytype == '1'"> + </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-select v-model="scope.row.applytype" placeholder="璇烽�夋嫨鏈嶅姟绫诲瀷" @change="verifyFeeItemType(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"> + <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)" + <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="form.applytype == '1'"> - </el-table-column> - <el-table-column prop="servicesscope" align="center" label="璐圭敤璇存槑" v-if="form.applytype == '1'" width="180"> + <el-table-column prop="servicesscope" align="center" label="鏈嶅姟璇存槑" v-if="businessType == '1'" width="180"> <template slot-scope="scope"> - <el-select v-model="scope.row.servicesscope" placeholder="璐圭敤璇存槑" clearable allow-create filterable - @change="selectedRemark(scope.row)"> + <el-select v-model="scope.row.servicesscope" placeholder="鏈嶅姟璇存槑" clearable allow-create + @change="verifyFeeRemark(scope.row)"> <el-option v-for="dict in scope.row.rowfeeblocks" :key="dict.servicesscope" :label="dict.remark" :value="dict.servicesscope"></el-option> </el-select> </template> </el-table-column> - <el-table-column prop="price" align="center" label="鍗曚环" width="120" v-if="0"> + <el-table-column prop="price" align="center" label="鍗曚环" width="120" v-if="businessType == 4"> <template slot-scope="scope"> <el-input v-model="scope.row.price" placeholder="鍗曚环" @blur="val => { sumTotalFee(scope.row); @@ -148,7 +156,7 @@ " /> </template> </el-table-column> - <el-table-column prop="quantity" align="center" label="鏁伴噺" width="120" v-if="0"> + <el-table-column prop="quantity" align="center" label="鏁伴噺" width="120" v-if="businessType == 4"> <template slot-scope="scope"> <el-input v-model="scope.row.quantity" placeholder="鏁伴噺" @blur="val => { sumTotalFee(scope.row); @@ -156,55 +164,49 @@ " /> </template> </el-table-column> - <el-table-column v-if="businessType == 3 || businessType == 4 || ismanager == true" prop="amount" - align="center" label="绋庡墠閲戦" width="120"> + <el-table-column prop="amount" align="center" :label="amountlabel" 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> - --> - <el-input v-model="scope.row.amount" placeholder="绋庡墠閲戦" /> + <el-input v-model="scope.row.amount" placeholder="閲戦" /> </template> </el-table-column> - <el-table-column prop="taxedamount" align="center" label="绋庡悗閲戦" width="120" v-if="(this.ismanager == true) & - (form.applytype == '1' || form.applytype == '2') - "> + <el-table-column prop="taxamount" align="center" label="鎵g◣閲戦" width="120" + v-if="(ismanager == true) && (businessType == '1' || businessType == '2')"> + <template slot-scope="scope"> + <el-input v-model="scope.row.taxamount" placeholder="鎵g◣閲戦" /> + </template> + </el-table-column> + <el-table-column prop="taxedamount" align="center" label="绋庡悗閲戦" width="120" + v-if="(ismanager == true) && (businessType == '1' || businessType == '2')"> <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 == '1' || form.applytype == '2'"> + <el-table-column prop="beneficiaryname" column-key="sdad" align="center" :label="beneficiarylabel" + width="200"> <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> --> + <el-button type="primary" plain @click="showSelectionDialog(scope, 'account')">{{ + scope.row.beneficiaryname ? scope.row.beneficiaryname : "鐐瑰嚮閫夋嫨" }}</el-button> </template> </el-table-column> - <el-table-column prop="unitno" align="center" label="鍗曚綅鍚嶇О" v-if="form.applytype != '4'"> + <el-table-column prop="unitno" align="center" label="涓撳鎵�鍦ㄥ崟浣�" width="250" + v-if="businessType == '1' || businessType == '2'"> <template slot-scope="scope"> - <el-button type="primary" plain @click="ShowDetailDialog(scope, 'unit')">{{ scope.row.unitname + <el-button type="primary" plain @click="showSelectionDialog(scope, 'workunit')">{{ + scope.row.unitname ? scope.row.unitname : "鐐瑰嚮閫夋嫨" }}</el-button> - <!-- <el-select + </template> + </el-table-column> + <!-- + <el-table-column prop="unitname" align="center" label="鍗曚綅锛堜釜浜猴級鍚嶇О" width="300" + v-if="form.applytype == '4' || form.applytype == '3'"> + <template slot-scope="scope"> + <el-button type="primary" plain @click="showSelectionDialog(scope, 'account')">{{ + scope.row.unitname + ? scope.row.unitname + : "鐐瑰嚮閫夋嫨" + }}</el-button> + + <el-select v-model="scope.row.unitno" placeholder="鍗曚綅" clearable @@ -217,119 +219,136 @@ :label="spec.organizationname" :value="spec.organizationid" ></el-option> - </el-select> --> + </el-select> </template> </el-table-column> + --> <el-table-column prop="title" align="center" label="鑱岀О" width="120" - v-if="form.applytype == '1' || form.applytype == '2'"> + v-if="businessType == '1' || businessType == '2'"> <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 == '1' || form.applytype == '2'"> + v-if="businessType == '1' || businessType == '2'"> <template slot-scope="scope"> - <el-input v-model="scope.row.idcardno" placeholder="韬唤璇佸彿" /> + <el-form-item label-width="0"> + <el-input :disabled="userprofile.nickName != '闄堟厱鍗�' + " v-model.number="scope.row.idcardno" @input="tableParValueChange1(scope.row)" + placeholder="韬唤璇佸彿" /> + </el-form-item> </template> </el-table-column> - <el-table-column prop="depositbank" align="center" label="寮�鎴烽摱琛�" width="200" v-if="form.applytype != '4'"> + <el-table-column prop="depositbank" align="center" label="寮�鎴烽摱琛�" width="200"> <template slot-scope="scope"> - <el-input v-model="scope.row.depositbank" placeholder="寮�鎴烽摱琛�" /> + <el-input :disabled="userprofile.nickName != '闄堟厱鍗�'" v-model="scope.row.depositbank" placeholder="寮�鎴烽摱琛�" /> </template> </el-table-column> - <el-table-column prop="bankcardno" align="center" label="閾惰甯愬彿" width="210" v-if="form.applytype != '4'"> + <el-table-column prop="bankcardno" align="center" label="閾惰甯愬彿" width="210"> <template slot-scope="scope"> - <el-input v-model="scope.row.bankcardno" placeholder="閾惰甯愬彿" /> + <el-input :disabled="userprofile.nickName != '闄堟厱鍗�' + " v-model="scope.row.bankcardno" placeholder="閾惰甯愬彿" /> </template> </el-table-column> - <el-table-column prop="remark" align="center" label="澶囨敞" v-if="form.applytype == '4'"> + <el-table-column prop="itemdescrisca" align="center" width="330" label="椤圭洰璇存槑"> <template slot-scope="scope"> - <el-input v-model="scope.row.remark" placeholder="澶囨敞" /> + <el-input type="textarea" :rows="2" v-model="scope.row.itemdescribe" placeholder="椤圭洰璇存槑" /> + </template> + </el-table-column> + <el-table-column prop="remark" align="center" width="330" label="澶囨敞" v-show="ismanager == true"> + <template slot-scope="scope"> + <el-input type="textarea" :rows="2" v-model="scope.row.remark" placeholder="澶囨敞" /> </template> </el-table-column> <el-table-column fixed="right" align="center" label="鎿嶄綔" width="180"> <template slot-scope="scope"> - <el-button type="text" size="mini" @click="addRow(scope.$index)" - v-if="operationType == 'add' || operationType == 'update'">鏂板</el-button> + <el-button type="text" size="mini" @click="addRow(scope.$index)" v-if="operationType == 'add' || + operationType == 'update' || + operationType == 'check' + ">鏂板</el-button> <el-button @click.native.prevent=" deleteRows(scope.row, scope.$index, rbDetails) - " type="text" size="small" v-if="operationType == 'add' || operationType == 'update'"> + " type="text" size="small" v-if="operationType == 'add' || + operationType == 'update' || + operationType == 'check' + "> 鍒犻櫎 </el-button> <el-button @click.native.prevent=" Filepopup(scope.$index, rbDetails, scope.row) - " type="text" size="small">绁ㄦ嵁</el-button> + " type="text" size="small" v-if="businessType == 2 || businessType == 3 || businessType == 4 + ">绁ㄦ嵁</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" v-if="businessType == 0"> - <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileList" multiple - :limit="20" :headers="headers" :on-success="(response, file, fileList) => + <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileListto" + :show-file-list="false" multiple drag :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> + :on-remove="remove" accept="image/*,.pdf"> + <i class="el-icon-upload"></i> + <div class="el-upload__text"> + 灏嗙エ鎹嫋鍒版澶勶紝鎴� + <em><el-button :disabled="operationType == 'detail'" size="small" type="primary">鐐瑰嚮涓婁紶</el-button></em> + </div> </el-upload> + <el-table :data="fileListto" @row-click="downFile" style="width: 100%" height="400"> + <el-table-column prop="name" :show-overflow-tooltip="true" label="鍚嶇О"> + <template slot-scope="scope"> + <i style="color:#409EFF" class=" el-icon-s-order" />{{ + scope.row.name + }} + </template> + </el-table-column> + + <el-table-column prop="name" width="180" :show-overflow-tooltip="true" label="鍔熻兘"> + <template slot-scope="scope"> + <el-button type="primary" size="mini" + @click.native.prevent.stop="deletedowfile(scope.row)">鍒犻櫎</el-button> + <el-button type="primary" size="mini" + @click.native.prevent.stop="moveupdowfile(scope.row)">涓婄Щ</el-button> + </template> + </el-table-column> + </el-table> </el-form-item> </el-col> </el-row> - <el-row v-if="operationType == 'detail' || operationType == 'check'"> + <el-row v-if="operationType == 'detail' || + operationType == 'check' || + operationType == 'update' + "> <el-table :data="fundflowList" border> - <el-table-column label="瀹℃牳浜�" align="center" width="120" prop="checkusername" /> <el-table-column label="瀹℃牳鏃ユ湡" align="center" width="160" prop="createTime" /> - <el-table-column label="瀹℃牳缁撴灉" align="center" width="200" prop="flowconclusion"><template - slot-scope="scope"><span v-if="scope.row.flowconclusion == 1">閫氳繃</span><span - v-if="scope.row.flowconclusion == 2">涓嶉�氳繃</span></template> + <el-table-column label="瀹℃牳浜�" align="center" width="120" prop="checkusername" /> + <el-table-column label="瀹℃牳缁撴灉" align="center" width="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-row style="margin-top: 25px; margin-bottom: 5px" v-if="operationType == 'check'"> - <el-col :span="7"> + + <el-row style="margin-top: 25px; margin-bottom: 5px" + v-if="operationType == 'check' && userprofile.nickName == '闄堟厱鍗�'"> + <el-col :span="20"> + <el-form-item label="棰勫鏉愭枡" prop="infoid"> + <el-radio-group v-model="form.checkstatus" align="left"> + <el-radio :label="1">寰呯敵璇锋潗鏂�</el-radio> + <el-radio :label="2">瀹℃牳閫氳繃绛夊緟閭瘎绾歌川鏉愭枡</el-radio> + <el-radio :label="3">宸叉敹鍒版姤閿�鏉愭枡</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + <el-row style="margin-top: 5px; margin-bottom: 5px" v-if="operationType == 'check'"> + <el-col :span="20"> <el-form-item label="瀹℃牳缁撴灉" align="left"> <el-radio-group v-model="checkObj.flowlevelone" align="left"> <el-radio label="1">閫氳繃</el-radio> @@ -347,152 +366,314 @@ </el-row> </el-form> <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm" v-if="operationType == 'add' || operationType == 'update'">淇� - 瀛�</el-button> - <el-button type="primary" @click="checksubmit" v-if="operationType == 'check'">淇� 瀛�</el-button> - <el-button @click="cancel" v-if="operationType == 'detail'">閫� 鍑�</el-button> + <el-button type="primary" @click="submitForm" v-if="operationType == 'add' || + operationType == 'update' || + ismanager == true + ">淇濆瓨</el-button> + <el-button type="success" @click="handleup" + v-if="operationType == 'add' || operationType == 'update'">涓婃姤</el-button> + <el-button type="primary" @click="checksubmit" v-if="operationType == 'check'">鎻愪氦瀹℃牳</el-button> + <el-button @click="cancel">鍏� 闂�</el-button> </div> </div> - <el-dialog :visible.sync="showDetailInfoDialog" :close-on-click-modal="false" :title="'鍗曚綅/涓撳淇℃伅閫夋嫨'" width="500px" + <el-dialog :visible.sync="showselectiondialog" :close-on-click-modal="false" :title="'璐︽埛淇℃伅/鍗曚綅淇℃伅閫夋嫨'" width="650px" style="text-align: center" v-loading="loading"> - <el-form ref="funddetailForm" :model="funddetailForm"> - <el-row> - <el-col :span="24" v-if="showDetailInfoType == '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="showDetailInfoType == '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="showDetailInfoType == 'unit'"> - <el-form-item label="鍗曚綅鍚嶇О" prop="unitno" label-width="120px" v-if="businessType == 1 || businessType == 2"> - <el-select v-model="funddetailForm.unitno" placeholder="鍗曚綅鍚嶇О" clearable filterable allow-create + <el-form ref="accountselectform" :rules="dialogrules" :model="accountselectform" label-width="120px"> + <el-row v-if="selectionType == 'workunit'"> + <el-col :span="24"> + <el-form-item label="鍗曚綅鍚嶇О" prop="expertunitname" label-width="120px"> + <el-select v-model="accountselectform.expertunitname" 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-form-item label="鍙戠エ鍗曚綅鍚嶇О" prop="unitno" label-width="120px" v-if="businessType == 3 || businessType == 4"> - <el-select v-model="funddetailForm.unitno" placeholder="鍗曚綅鍚嶇О" clearable filterable allow-create - style="width: 100%"> - <el-option v-for="(item, index) in feeUnitList" :key="index" :label="item.reportName" - :value="item.reportNo"></el-option> + :value="spec.organizationname"></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-row v-if="selectionType == 'account'"> + <el-col> + <el-form-item label="璐︽埛鏉ユ簮" prop="accountfrom" class="left-align"> + <el-radio-group v-model="accountfrom" 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="12" v-if="expertfrom == '2'"> - <el-form-item label="鑱� 绉�" prop="experttitle" label-width="80px"> - <el-select v-model="funddetailForm.experttitle" placeholder="蹇呭~椤�"> + <el-col :span="24" v-if="accountfrom == '1'"> + <el-form-item label="璐︽埛鍚嶇О" prop="accountname"> + <el-select filterable allow-create ref="accountname" default-first-option + v-model="accountselectform.accountname" placeholder="璇烽�夋嫨" style="width: 100%"> + <el-option v-for="item in accountlist" :key="item.id" :label="item.username" :value="item.username"> + </el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + <el-row v-if="selectionType == 'account' && accountfrom == '2'"> + <el-col :span="24"> + <el-form-item label="鏂板绫诲瀷" prop="usertype" class="left-align"> + <el-radio-group v-model="accountselectform.usertype" style="margin-bottom: 0" + @change="userTypeChange(accountselectform.usertype)"> + <el-radio label="expert">涓撳璐﹀彿</el-radio> + <el-radio label="org">鍗曚綅璐﹀彿</el-radio> + <el-radio label="donor">鎹愮尞鑰呬翰灞炶处鍙�</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + <el-row v-if="selectionType == 'account' && accountfrom == '2'"> + <el-col :span="24"> + <el-form-item label="璐﹀彿鍚嶇О" prop="username"> + <el-input v-model="accountselectform.username" placeholder="璇疯緭鍏ュ崟浣嶅悕绉帮紝鎴栦笓瀹跺鍚嶏紝鎴栧叾浠栬处鍙�" /> + </el-form-item> + </el-col> + </el-row> + <el-row v-if="selectionType == 'account' && accountfrom == '2' && accountselectform.usertype != 'org'"> + <el-col :span="12"> + <el-form-item label="韬唤璇佸彿" prop="idcardno"> + <el-input v-model="accountselectform.idcardno" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" /> + </el-form-item> + </el-col> + <el-col :span="12" v-if="accountselectform.usertype == 'expert'"> + <el-form-item label="鑱岀О" prop="title"> + <el-select v-model="accountselectform.title" 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 + <el-row v-if="selectionType == 'account' && accountfrom == '2' && accountselectform.usertype == 'expert'"> + <el-col> + <el-form-item label="鎵�鍦ㄥ崟浣�" prop="unitno"> + <el-select v-model="accountselectform.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="24" v-if="expertfrom == '2'"> - <el-form-item label="寮�鎴烽摱琛�" prop="expertdepositbank" label-width="80px"> - <el-input v-model="funddetailForm.expertdepositbank" placeholder="蹇呭~椤�" /> + </el-select> </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-col> + <el-form-item label="鍗曚綅宸ュ彿" prop="personnelunitno"> + <el-input v-model="accountselectform.personnelunitno" placeholder="璇疯緭鍏ユ墍鍦ㄥ崟浣嶇殑宸ュ彿" /> + </el-form-item> + </el-col> + </el-row> + <el-row v-if="selectionType == 'account' && accountfrom == '2'"> + <el-col><el-form-item label="寮�鎴烽摱琛�" prop="depositbank"> + <el-input v-model="accountselectform.depositbank" placeholder="璇疯緭鍏ュ紑鎴烽摱琛屽悕绉�" /> + </el-form-item> + </el-col> + <el-col><el-form-item label="閾惰鍗″彿" prop="bankcardno"> + <el-input v-model="accountselectform.bankcardno" placeholder="璇疯緭鍏ラ摱琛屽崱鍙�" /> + </el-form-item> + </el-col> + </el-row> + <el-row v-if="selectionType == 'account' && accountfrom == '2'"> + <el-col> + <el-form-item label="鑱旂郴鍦板潃" prop="address"> + <el-input v-model="accountselectform.address" placeholder="璇疯緭鍏ヨ仈绯诲湴鍧�" /> + </el-form-item> + </el-col> + </el-row> + <el-row v-if="selectionType == 'account' && accountfrom == '2'"> + <el-col> + <el-form-item label="鑱旂郴鐢佃瘽" prop="telephone"> + <el-input v-model="accountselectform.telephone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" /> </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> + <el-button type="primary" @click="confirmSelectionDialog()">纭� 瀹�</el-button> + <el-button @click="showselectiondialog = false">鍙� 娑�</el-button> </span> </el-dialog> - <el-dialog :title="pdftitle" :visible.sync="pdfVisible" width="50%"> - <div class="pdfimg"> - <div class="box-pdf"> - <div> - <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileListto" multiple - :limit="20" :headers="headers" :on-success="(response, file, fileList) => - uploadSccess(response, file, fileList) - " :on-preview="downFile" :disabled="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> - </div> - <!-- <div - class="pdftit" - @click="pdffn(item)" - v-for="item in fileList" - :key="item.name" + <el-dialog v-dialogDrags :modal="false" :close-on-click-modal="false" :title="pdftitle" :visible.sync="pdfVisible" + width="60%"> + <div> + <el-table :data="tableDatatop" style="width: 100%"> + <el-table-column v-if="businessType == 4" prop="price" align="center" label="鍗曚环"> + </el-table-column> + <el-table-column prop="quantity" align="center" label="鏁伴噺" v-if="businessType == 4"> + </el-table-column> + <el-table-column prop="amount" align="center" :label="amountlabel"> + </el-table-column> + <el-table-column prop="taxedamount" align="center" label="绋庡悗閲戦" v-if="(this.ismanager == true) & + (form.applytype == '1' || form.applytype == '2') + "> + </el-table-column> + <!-- <el-table-column + prop="beneficiaryname" + align="center" + label="濮撳悕" + v-if="form.applytype == '1' || form.applytype == '2'" > - {{ item.name }} - </div> --> - </div> + </el-table-column> --> - <div v-if="this.previewpdf" class="pdfimgmin"> - <img :src="pdfimg" /> - </div> - <div v-else class="pdfimgmins">{{ hintitle }}</div> + <!-- <el-table-column + prop="beneficiaryname" + align="center" + label="鍗曚綅鍚嶇О" + width="250" + v-if="form.applytype != '4'" + > + </el-table-column> --> + <el-table-column prop="" align="center" label="鍗曚綅/涓汉" width="250"> + </el-table-column> + <el-table-column prop="title" align="center" label="鑱岀О" width="120" + v-if="form.applytype == '1' || form.applytype == '2'"> + </el-table-column> + <el-table-column prop="idcardno" align="center" label="韬唤璇佸彿" width="200" + v-if="form.applytype == '1' || form.applytype == '2'"> + </el-table-column> + <el-table-column prop="depositbank" align="center" label="寮�鎴烽摱琛�"> + </el-table-column> + <el-table-column prop="bankcardno" align="center" label="閾惰甯愬彿" width="210"> + </el-table-column> + </el-table> </div> + + <el-tabs style="margin-top: 20px;" v-model="activeName" type="border-card" @tab-click="handleClick"> + <el-tab-pane label="鏅�氶檮浠�" :name="1"> + <div class="pdfimg"> + <div class="box-pdf"> + <div> + <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileListto" + :show-file-list="false" multiple drag :headers="headers" :on-success="(response, file, fileList) => + uploadSccess(response, file, fileList) + " :on-preview="downFile" :disabled="operationType == 'detail'" :on-error="handleUploadError" + :on-remove="remove" accept="image/*,.pdf"> + <i class="el-icon-upload"></i> + <div class="el-upload__text"> + 灏嗙エ鎹嫋鍒版澶勶紝鎴� + <em><el-button :disabled="operationType == 'detail'" size="small" type="primary">鐐瑰嚮涓婁紶</el-button></em> + </div> + </el-upload> + <el-table :data="fileListto" @row-click="downFile" style="width: 100%" height="400"> + <el-table-column prop="name" :show-overflow-tooltip="true" label="鍚嶇О"> + <template slot-scope="scope"> + <i style="color:#409EFF" class=" el-icon-s-order" /> + <span>{{ scope.row.name }}</span> + </template> + </el-table-column> + + <el-table-column prop="name" width="190" :show-overflow-tooltip="true" label="鍔熻兘"> + <template slot-scope="scope"> + <el-button type="primary" size="mini" + @click.native.prevent.stop="deletedowfile(scope.row)">鍒犻櫎</el-button> + <el-button type="primary" size="mini" + @click.native.prevent.stop="moveupdowfile(scope.row)">涓婄Щ</el-button> + <el-button type="success" size="mini" icon="el-icon-search" circle + @click.native.prevent.stop="Downloadfile(scope.row)"></el-button> + </template> + </el-table-column> + </el-table> + </div> + </div> + + <div v-if="this.previewpdf && pdfimgsrcList.length" class="pdfimgmin"> + <!-- <img :src="pdfimg" /> --> + <el-image style="width: 95%; height: 90%" :src="pdfimg" :preview-src-list="pdfimgsrcList"> + <!-- <div slot="error" class="image-slot"> + <i class="el-icon-picture-outline"></i> + </div> --> + </el-image> + </div> + <div v-else class="pdfimgmins">{{ hintitle }}</div> + </div> + </el-tab-pane> + <el-tab-pane label="鍙戠エ鏂囦欢" :name="2"> + <div class="pdfimg"> + <div class="box-pdf"> + <div> + <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="invoicefileList" + :show-file-list="false" multiple drag :headers="headers" :on-success="(response, file, fileList) => + uploadSccess(response, file, fileList) + " :on-preview="downFile" :disabled="operationType == 'detail'" :on-error="handleUploadError" + :on-remove="remove" accept="image/*,.pdf"> + <i class="el-icon-upload"></i> + <div class="el-upload__text"> + 灏嗗彂绁ㄦ枃浠舵嫋鍒版澶勶紝鎴� + <em><el-button :disabled="operationType == 'detail'" size="small" type="primary">鐐瑰嚮涓婁紶</el-button></em> + </div> + </el-upload> + <el-table :data="invoicefileListto" @row-click="downFile" style="width: 100%" height="400"> + <el-table-column prop="name" :show-overflow-tooltip="true" label="鍚嶇О"> + <template slot-scope="scope"> + <i style="color:#409EFF" class=" el-icon-s-order" /> + <span>{{ scope.row.name }}</span> + </template> + </el-table-column> + + <el-table-column prop="name" width="190" :show-overflow-tooltip="true" label="鍔熻兘"> + <template slot-scope="scope"> + <el-button type="primary" size="mini" + @click.native.prevent.stop="deletedowfile(scope.row)">鍒犻櫎</el-button> + <el-button type="primary" size="mini" + @click.native.prevent.stop="moveupdowfile(scope.row)">涓婄Щ</el-button> + <el-button type="success" size="mini" icon="el-icon-search" circle + @click.native.prevent.stop="Downloadfile(scope.row)"></el-button> + </template> + </el-table-column> + </el-table> + </div> + </div> + + <div v-if="this.previewpdf && invoicepdfimgsrcList.length" class="pdfimgmin"> + <!-- <img :src="pdfimg" /> --> + <el-image style="width: 95%; height: 90%" :src="invoicepdfimg" :preview-src-list="invoicepdfimgsrcList"> + <!-- <div slot="error" class="image-slot"> + <i class="el-icon-picture-outline"></i> + </div> --> + </el-image> + </div> + <div v-else class="pdfimgmins">{{ hintitle }}</div> + </div> + </el-tab-pane> + </el-tabs> + </el-dialog> + <el-dialog title="鎻愮ず" :visible.sync="Savereminder" width="30%"> + <el-alert :title="'鎮ㄥ凡娣诲姞' + + totalquantity + + '鏉℃暟鎹紝涓洪槻姝㈡暟鎹涪澶辨槸鍚︽彁浜や繚瀛樺啀缁х画娣诲姞銆�' + " type="warning"> + </el-alert> + <span slot="footer" class="dialog-footer"> + <el-button type="primary" @click="Savenow">纭� 瀹�</el-button> + <el-button @click="unsave">鍙� 娑�</el-button> + </span> + </el-dialog> + + <!-- 鎵归噺閫夊彇 --> + <el-dialog title="鎵归噺鐢熸垚鏄庣粏淇℃伅" :visible.sync="batchdialogVisible" width="30%"> + <div style="max-height: 300px; overflow-y: auto"> + <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">鍏ㄩ��</el-checkbox> + <div style="margin: 15px 0;"></div> + <el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange"> + <el-checkbox border v-for="city in cityOptions" :label="city" :key="city.reportNo">{{ city.reportName + }}</el-checkbox> + </el-checkbox-group> + </div> + + <span slot="footer" class="dialog-footer"> + <el-button type="primary" @click="BatchentryFn">纭� 瀹�</el-button> + <el-button @click="batchdialogVisible = false">鍙� 娑�</el-button> + </span> </el-dialog> </div> </template> <script> +// 'sdaad2123UD2',1 'wsadadwsad',4 'sdadaddad',3 'ssaaddxs',2 //杩欓噷鍙互瀵煎叆鍏朵粬鏂囦欢锛堟瘮濡傦細缁勪欢锛屽伐鍏穓s锛岀涓夋柟鎻掍欢js锛宩son鏂囦欢锛屽浘鐗囨枃浠剁瓑绛夛級 //渚嬪锛歩mport 銆婄粍浠跺悕绉般�� from '銆婄粍浠惰矾寰勩��'; import { listDonatebaseinfo, getDonatebaseinfo } from "@/api/project/donatebaseinfo"; - +import debounce from "lodash/debounce"; import { onelistFund, listFund, @@ -508,6 +689,7 @@ checkfund, getdownloadBX, addorupdateFund, + ManualCalculation, getdetailsByItemId } from "@/api/project/fund"; @@ -548,8 +730,11 @@ delExternalperson, addExternalperson, updateExternalperson, - exportExternalperson + exportExternalperson, + getOnlyCode, } from "@/api/project/externalperson"; + +import { listItemexpense } from "@/api/project/itemexpense"; import { getUserProfile } from "@/api/system/user"; import Li_area_select from "@/components/Address"; @@ -562,7 +747,6 @@ Li_area_select, OrgSelecter }, - name: "fundApply", dicts: [ @@ -582,6 +766,14 @@ ], data() { + var validatePass = (rule, value, callback) => { + const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}([0-9]|X)$/; + if (regex.test(value)) { + callback(); + } else { + callback(new Error("韬唤璇佸彿鐮佹牸寮忛敊璇�")); + } + }; //杩欓噷瀛樻斁鏁版嵁 return { // 閬僵灞� @@ -589,9 +781,10 @@ // 瀵煎嚭閬僵灞� exportLoading: false, usernamedata: "", + jurisdiction: false, + Routinglevel: 1, // 琛ㄥ崟鍙傛暟 form: {}, - //璐圭敤鐢宠琛ㄥ崟title title: "", //鐢宠鍗曠被鍨� @@ -611,27 +804,42 @@ userprofile: {}, //绯荤粺鐢ㄦ埛鍒楄〃 userlist: [], - //鎵�鏈変汉鍛樿〃 - personlist: [], - //涓撳鍒楄〃 - expertlist: [], + //璐﹀彿鍒楄〃 + accountlist: [], //鍖荤枟鏈烘瀯鍒楄〃 unitList: [], - //璐圭敤鎶ラ攢鏈烘瀯鍒楄〃 - feeUnitList: [], + // 缃戠粶璇锋眰澶� + Networkheader: null, + batchdialogVisible: false, itemlist: [], + cityOptions: [], + checkAll: false, + checkedCities: [], + Personnelforname: null, + unitforname: null, + isIndeterminate: true, //鏄惁鏄笓瀹惰垂鐨凮PO瀹℃壒浜哄憳 ismanager: false, - //涓撳璐归�夋嫨锛�1鏄笓瀹跺簱锛�2鏄柊澧� - expertfrom: "1", + baselisttages: [ + { + id: 1, + name: "鏉愭枡寰呭鏍�" + }, + { + id: 2, + name: "瀹℃煡閫氳繃绛夊緟閭瘎绾歌川鏉愭枡" + }, + { + id: 3, + name: "宸叉敹鍒扮焊璐ㄦ潗鏂�" + } + ], - //鎹愮尞妗堜緥鍒楄〃鏁版嵁 - donatebaseinfoList: [], + //鎹愮尞妗堜緥鍒楄〃 + donateList: [], - // 鎹愮尞浜洪亾鎱伴棶閲戣〃鏍兼暟鎹� - donateconsolationfundList: [], //璐圭敤鏄庣粏鍒楄〃 rbDetails: [], formData: {}, @@ -639,79 +847,103 @@ totalPreTaxAmount: 0.0, totalAfterTaxAmount: 0.0, totalAmount: 0.0, + tableDatatop: [], + + //璐圭敤绫诲瀷鏁扮粍 + feeItemTypes: [], //琛岃褰曠殑璐圭敤绫诲瀷鏁扮粍 rowfeeItemTypes: [], - //璐圭敤绫诲瀷鏁扮粍 - feeItemTypes: [], + //璐圭敤璇存槑 - rowfeeblocks: [], + feeBlocks: [], fundflowList: [], + // 闅忔満鏁� + randomnumber: "", - showDetailInfoDialog: false, - showDetailInfoType: "", + //閫夋嫨绐楀彛鏄剧ず鐘舵�� + showselectiondialog: false, + //閫夋嫨鏃跺綋鍓嶈 + selectionScope: "", + //閫夋嫨绫诲瀷锛氫笓瀹讹紙鍗曚綅锛夎处鎴枫�佸伐浣滃崟浣嶏紙account/workunit锛� + selectionType: "", + //璐︽埛閫夋嫨锛�1鏄处鎴峰簱锛�2鏄柊澧� + accountfrom: "1", + //鍙楃泭浜烘爣绛撅細涓撳璐�-涓撳锛堝崟浣嶏級鍚嶇О锛屽尰瀛︽垚鏈�-鍔炲叕-鍗曚綅锛堜釜浜猴級鍚嶇О + beneficiarylabel: "", + //绋庡墠閲戦鏍囬锛氫笓瀹惰垂-绋庡墠閲戦锛涘尰瀛︽垚鏈�佸姙鍏垂鐢�-閲戦 + amountlabel: "绋庡墠閲戦", // 琛ㄥ崟鏍¢獙 rules: { - createTime: [ - { required: true, message: "璇疯緭鍏ュ~鎶ユ棩鏈�", trigger: "blur" } - ], - reason: [ - { required: true, message: "璇疯緭鍏ュ嚭宸簨鐢�", trigger: "blur" } - ], - deptmentname: [ - { required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" } - ] + reason: [{ required: true, message: "璇疯緭鍏ュ嚭宸簨鐢�", trigger: "blur" }], + deptmentname: [{ required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" }] }, - funddetailForm: { + dialogrules: { + usertype: [{ required: true, message: "璇疯緭鍏ヨ处鎴风被鍨�", trigger: "blur" }], + username: [{ required: true, message: "璇疯緭鍏ヨ处鎴峰悕绉�", trigger: "blur" }], + idcardno: [{ required: true, message: "璇疯緭鍏ヨ韩浠借处鍙�", trigger: "blur" }], + //idcardno: [{ validator: validatePass, trigger: "blur" }], + depositbank: [{ required: true, message: "璇疯緭鍏ュ紑鎴烽摱琛�", trigger: "change" }], + bankcardno: [{ required: true, message: "璇疯緭鍏ラ摱琛屽崱鍙�", trigger: "change" }], + }, + + accountselectform: { index: null, - beneficiaryname: null, - beneficiaryno: null, - unitno: null, - unitname: null, - expertname: null, - expertidcardno: null, - expertunitno: null, + usertype: "expert", + accountname: null, + accountno: 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, + expertunitno: null, depositbank: null, + bankcardno: 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, + personnelunitno: null, + address: null, + telephone: null, + username: null, + userno: null + }, + + accountform: { + searchValue: null, + id: null, + userstatus: 0, + usertype: null, + + pym: null, + wbm: null, username: null, userno: null, - userstatus: 1, - usertype: null, - wbm: null + sex: null, + idcardno: null, + title: null, + address: null, + telephone: null, + depositbank: null, + branchbankname: null, + bankcardno: null, + unitname: null, + unitno: null, + personnelunitno: null, + + del_flag: null, + createBy: null, + createTime: null, + updateBy: null, + updateTime: null, + remark: null }, //瀹℃壒鍙傛暟 checkObj: { flowlevelone: null, flowconclusion: null, - fundid: null, + fundid: null }, // 鏌ヨ鍙傛暟 @@ -747,6 +979,11 @@ username: null, usertype: null }, + // 鏌ヨ鏈�鏂板簭鍙峰弬鏁� + seqnoParams: { + businessType: "externalperson", + datequery: false, + }, //璁$畻涓◣鍙傛暟 taxParam: { @@ -754,10 +991,25 @@ money: "0", startTime: "" }, + //鏈嶅姟璐圭敤鍙傛暟 + expenseQueryParams: { + pageNum: 1, + pageSize: 10000, + itemid: null, + expense: null, + expensedescribe: null, + usestate: null + }, //闄勪欢鍒楄〃 fileList: [], fileListto: [], + invoicefileList: [], + invoicefileListto: [], + invoicepdfimg: "", + invoicepdfimgsrcList: [], + invoDatatop: [], + activeName: 1, //鏂囦欢绫诲瀷 //涓婁紶闄勪欢璺緞 uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", //鏂囦欢涓婁紶token @@ -767,42 +1019,43 @@ //绁ㄦ嵁鏂囦欢 pdftitle: "", pdfimg: "", + pdfimgsrcList: [], pdfVisible: false, previewpdf: false, - hintitle: "閫変腑宸︿晶宸蹭笂浼犳枃浠堕瑙堟煡鐪�", - atpresent: "" + hintitle: "璇蜂笂浼犳枃浠跺悗鏌ョ湅", + atpresent: "", + Savereminder: false, //鎻愰啋淇濆瓨寮规 + Reminderquantity: 0, //鎻愰啋鏁伴噺 + totalquantity: 0, //鎬绘暟閲� + Modifyornot: 0 //鏄惁淇敼 }; }, + //鐩戝惉灞炴�� 绫讳技浜巇ata姒傚康 computed: {}, //鐩戞帶data涓殑鏁版嵁鍙樺寲 watch: {}, - //鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵his瀹炰緥锛� - - created() { - //鑾峰彇璺敱鍙傛暟 - this.getroute(); - this.getUserProfile(); - this.getFeeUnitList(); - }, - - //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛� - mounted() { - this.getUserList(); - this.getBaseInfoList(); - this.getExternalList(); - }, - - beforeCreate() { }, //鐢熷懡鍛ㄦ湡 - 鍒涘缓涔嬪墠 - beforeMount() { }, //鐢熷懡鍛ㄦ湡 - 鎸傝浇涔嬪墠 - beforeUpdate() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠 - updated() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗 - beforeDestroy() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓� - destroyed() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴� - activated() { }, //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂 - //鏂规硶闆嗗悎 methods: { + bbaaccss(val) { }, + // 娴忚鍣ㄩ〉闈㈠叧闂垨鍒锋柊鎻愮ず + beforeunloadHandler(e) { + if ( + (JSON.stringify(this.form) == sessionStorage.getItem("apiform") && + JSON.stringify(this.rbDetails) == + sessionStorage.getItem("apifunddetail")) || + !sessionStorage.getItem("apifunddetail") + ) { + } else { + this._beforeUnload_time = new Date().getTime(); + e = e || window.event; + if (e) { + e.returnValue = "鍏抽棴鎻愮ず"; + } + return "鍏抽棴鎻愮ず"; + } + }, + // 琛ㄥ崟閲嶇疆 reset() { this.form = { @@ -852,39 +1105,64 @@ //娓呯┖闄勪欢 this.fileList = []; }, + // 鑾峰彇璇锋眰澶� + Getnetworkheader() { + let string = window.location.href; + if (string.includes("9091")) { + const index = string.indexOf("9091"); + this.Networkheader = string.slice(0, index + 4); // 鎴彇9091鍙婂叾鍓嶉儴瀛楃 + } else { + const index = string.indexOf("8032"); + this.Networkheader = string.slice(0, index + 4); // 鎴彇8032鍙婂叾鍓嶉儴瀛楃 + } + }, /** 閫氳繃鍙傛暟鑾峰彇涓氬姟绫诲瀷 */ getroute() { //閫夋嫨涓氬姟绫诲瀷:1銆佹柊澧烇紱2銆佷慨鏀癸紱3銆佹煡鐪� this.curId = this.$route.query.id; this.businessType = this.$route.query.businessType; this.operationType = this.$route.query.operationType; - console.log(this.businessType, this.operationType); //鑾峰彇璐圭敤椤圭洰绫诲瀷 - this.getFundType(); + this.getFeeTypes(); // if (!this.businessType && !this.operationType) { if (this.businessType == "1") { - this.curCase = this.$route.query.curCase; this.businessName = "涓撳鍔冲姟璐圭敵璇峰崟"; + this.amountlabel = "绋庡墠閲戦"; + this.beneficiarylabel = "涓撳鎴栧崟浣嶅悕绉�"; + this.getUnitList(); } else if (this.businessType == "2") { - this.curCase = this.$route.query.curCase; this.businessName = "浼︾悊涓撳鍔冲姟璐圭敵璇峰崟"; + this.amountlabel = "绋庡墠閲戦"; + this.beneficiarylabel = "涓撳鎴栧崟浣嶅悕绉�"; + this.getUnitList(); } else if (this.businessType == "3") { - if (this.operationType != "check") { this.curCase = this.$route.query.curCase; } this.businessName = "鍖诲鎴愭湰鎶ラ攢鍗�"; + this.amountlabel = "閲戦"; + this.beneficiarylabel = "鍗曚綅鍚嶇О鎴栦釜浜�"; + this.getUnitList(); } else if (this.businessType == "4") { - this.businessName = "鏉傞」璐圭敤鎶ラ攢鍗�"; + this.businessName = "鍔炲叕璐圭敤鎶ラ攢鍗�"; + this.amountlabel = "閲戦"; + this.beneficiarylabel = "鍗曚綅鍚嶇О鎴栦釜浜�"; + this.getUnitList(); + + // this.getBaseInfoList(); } if (this.operationType == "add") { this.title = this.businessName + "鏂板缓"; + if (this.operationType != "4") { + this.curCase = this.$route.query.curCase; + } this.handleAdd(); } else if (this.operationType == "update") { this.title = this.businessName + "淇敼"; this.handleUpdate(); } else if (this.operationType == "detail") { this.title = this.businessName + "鏌ョ湅"; + this.jurisdiction = true; this.handleDetail(); } else if (this.operationType == "check") { this.title = this.businessName + "瀹℃牳"; @@ -902,14 +1180,13 @@ this.istrue += 2; this.reset(); - /** businessType锛�1锛氫笓瀹惰垂锛�2锛氫鸡鐞嗕笓瀹惰垂锛�3锛氬尰瀛︽垚鏈紱4锛氭潅椤硅垂鐢�*/ + /** businessType锛�1锛氫笓瀹惰垂锛�2锛氫鸡鐞嗕笓瀹惰垂锛�3锛氬尰瀛︽垚鏈紱4锛氬姙鍏垂鐢�*/ this.form.applytype = this.businessType; if ( this.businessType == "1" || this.businessType == "2" || this.businessType == "3" ) { - console.log("", this.curCase); this.form.infoid = this.curCase.id; this.form.donorname = this.curCase.name; this.form.donorno = this.curCase.donorno; @@ -927,6 +1204,9 @@ getFund(this.curId).then(response => { this.form = response.data; + sessionStorage.removeItem("apiform"); + sessionStorage.setItem("apiform", JSON.stringify(this.form)); + // this.form.recordstate =-1; // this.form.recordstatus = response.data.recordstatus + ""; //闄勪欢澶勭悊 @@ -935,68 +1215,27 @@ //鏄庣粏澶勭悊 getownFundDetail(this.curId).then(res => { this.rbDetails = res.data; - console.log(res); - console.log(this.curId, res.data); if (this.rbDetails.length > 0) { for (let m = 0; m < this.rbDetails.length; m++) { this.rbDetails[m].itemlist = []; - this.getitemlist(m, this.rbDetails[m]); + this.getRowFeeItems(m, this.rbDetails[m]); //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭� - this.rbDetails[m].rowfeeblocks = []; - this.rbDetails[m].rowfeeblocks.push({ - servicesscope: this.rbDetails[m].servicesscope, - expensedescribe: this.rbDetails[m].servicesscopename, - expense: this.rbDetails[m].expense, - remark: this.rbDetails[m].servicesscopename - }); - // getdetailsByItemId(this.rbDetails[m].itemid).then((res) => { - // let fundmsg = res.data; - // fundmsg.forEach((item) => { - // this.rbDetails[m].rowfeeblocks.push({ - // servicesscope: item.id, - // expensedescribe: item.expensedescribe, - // expense: item.expense, - // remark: item.expensedescribe, - // }); - // }); - // }); + this.rbDetails[m].rowfeeblocks = this.feeBlocks.filter( + r => r.itemid == this.rbDetails[m].itemid + ); } + + sessionStorage.removeItem("apifunddetail"); + sessionStorage.setItem( + "apifunddetail", + JSON.stringify(this.rbDetails) + ); } else { this.addRow(0); } }); - }); - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleCheck() { - this.isopen = 0; - this.reset(); - - getFund(this.curId).then(response => { - this.form = response.data; - //闄勪欢澶勭悊 - // this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] - - //涓氬姟鏄庣粏 - getownFundDetail(this.curId).then(res => { - console.log(res); - this.rbDetails = res.data; - for (let m = 0; m < this.rbDetails.length; m++) { - this.rbDetails[m].itemlist = []; - this.getitemlist(m, this.rbDetails[m]); - this.rbDetails[m].rowfeeblocks = []; - this.rbDetails[m].rowfeeblocks.push({ - expense: this.rbDetails[m].expense, - expensedescribe: this.rbDetails[m].servicesscopename, - remark: this.rbDetails[m].servicesscope, - servicesscope: this.rbDetails[m].servicesscope - }); - } - }); - - //涓氬姟娴佺▼ let listFundflowparams = { fundid: this.curId, fundtype: 2 @@ -1005,7 +1244,6 @@ this.fundflowList = res.rows; }); }); - }, /** 鏌ョ湅鎸夐挳鎿嶄綔 */ @@ -1015,23 +1253,23 @@ getFund(this.curId).then(response => { this.form = response.data; + sessionStorage.removeItem("apiform"); + sessionStorage.setItem("apiform", JSON.stringify(this.form)); //闄勪欢澶勭悊 // this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] //涓氬姟鏄庣粏 getownFundDetail(this.curId).then(res => { - console.log(res); this.rbDetails = res.data; + for (let m = 0; m < this.rbDetails.length; m++) { this.rbDetails[m].itemlist = []; - this.getitemlist(m, this.rbDetails[m]); - this.rbDetails[m].rowfeeblocks = []; - this.rbDetails[m].rowfeeblocks.push({ - expense: this.rbDetails[m].expense, - expensedescribe: this.rbDetails[m].servicesscopename, - remark: this.rbDetails[m].servicesscope, - servicesscope: this.rbDetails[m].servicesscope - }); + this.getRowFeeItems(m, this.rbDetails[m]); + + //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭� + this.rbDetails[m].rowfeeblocks = this.feeBlocks.filter( + r => r.itemid == this.rbDetails[m].itemid + ); } if (this.rbDetails.length == 0) { @@ -1039,7 +1277,7 @@ } }); - //涓氬姟娴佺▼ + //涓氬姟娴佺▼ let listFundflowparams = { fundid: this.curId, fundtype: 2 @@ -1050,6 +1288,49 @@ }); }, + /** 鏌ョ湅鎸夐挳鎿嶄綔 */ + handleCheck() { + this.isopen = 0; + this.reset(); + + getFund(this.curId).then(response => { + this.form = response.data; + sessionStorage.removeItem("apiform"); + sessionStorage.setItem("apiform", JSON.stringify(this.form)); + + //闄勪欢澶勭悊 + // this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] + + //涓氬姟鏄庣粏 + getownFundDetail(this.curId).then(res => { + this.rbDetails = res.data; + for (let m = 0; m < this.rbDetails.length; m++) { + this.rbDetails[m].itemlist = []; + this.getRowFeeItems(m, this.rbDetails[m]); + + //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭� + this.rbDetails[m].rowfeeblocks = this.feeBlocks.filter( + r => r.itemid == this.rbDetails[m].itemid + ); + } + + if (this.rbDetails.length == 0) { + this.addRow(0); + } + }); + + //涓氬姟娴佺▼ + let listFundflowparams = { + fundid: this.curId, + fundtype: 2 + }; + listFundflow(listFundflowparams).then(res => { + this.fundflowList = res.rows; + }); + }); + }, + + /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete() { this.$modal .confirm("鏄惁纭鍒犻櫎璇ヨ褰曪紵") @@ -1058,8 +1339,6 @@ }) .then(() => { getownFundDetail(this.curId).then(res => { - console.log(res); - let listdetails = res.data; for (let i = 0; i < listdetails.length; i++) { delFunddetail(listdetails[i].id); @@ -1072,7 +1351,17 @@ }, /** 涓婃姤鎸夐挳鎿嶄綔 */ - handleUp() { + handleup() { + if ( + (JSON.stringify(this.form) == sessionStorage.getItem("apiform") && + JSON.stringify(this.rbDetails) == + sessionStorage.getItem("apifunddetail")) || + !sessionStorage.getItem("apifunddetail") + ) { + } else { + this.$message.error("璇蜂繚瀛樺悗鍐嶈繘琛屼笂鎶�"); + return; + } this.$confirm("鏄惁纭灏嗙櫥璁拌褰曚笂鎶ワ紵", "鎻愮ず", { confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", @@ -1082,6 +1371,23 @@ //鏌ユ壘鏄惁瀛樺湪鐧昏瀹屾垚璁板綍 //鍒ゆ柇鏄惁瀛樺湪涓婃姤璁板綍 this.form.recordstatus = 0; + var currenttime = new Date(); + this.form.applyTime = + currenttime.getFullYear() + + "-" + + (currenttime.getMonth() + 1) + + "-" + + currenttime.getDate() + + " " + + currenttime.getHours() + + ":" + + currenttime.getMinutes() + + ":" + + currenttime.getSeconds(); + + if (!this.form.id) { + this.form.id = this.$route.query.id; + } updateFund(this.form).then(response => { if (response.code == 200) { @@ -1089,6 +1395,7 @@ type: "success", message: "鐢宠鎴愬姛" }); + this.cancel(); } else { this.$message({ type: "error", @@ -1105,15 +1412,27 @@ }); }); }, - + generateRandomString(length) { + const characters = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; + let randomString = ""; + for (let i = 0; i < length; i++) { + randomString += characters.charAt( + Math.floor(Math.random() * characters.length) + ); + } + return randomString; + }, /** 鎻愪氦鎸夐挳 */ - submitForm() { + submitForm: debounce(function () { + if (!this.randomnumber) { + this.randomnumber = this.generateRandomString(9); + this.form.randomnumber = this.randomnumber; + } + 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.rbDetails.length; k++) { @@ -1127,7 +1446,7 @@ return; } - if (this.businessType == "1" || this.businessType == "2") { + if (this.businessType == "1") { if (tempDetail.servicesscope == null) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + @@ -1146,27 +1465,7 @@ 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; - console.log(list); - // if (list.length > 0) { - // this.form.annexfiles = list.map(item => item.url).join(","); - // } //澶勭悊鏄庣粏 for (let i = 0; i < this.rbDetails.length; i++) { @@ -1197,45 +1496,50 @@ ].subjecttypename; } this.rbDetails[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.rbDetails[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.rbDetails[k] = tempDetail; - - this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount); - this.totalAmount += parseFloat(tempDetail.amount); - } - }); - } - */ } + //璁$畻褰撳墠琛屾姤閿�鍐呭璐圭敤鍚堣锛岀◣鍓嶉噾棰濓紙amount锛夈�佹墸绋庨噾棰濓紙taxamount锛夈�佺◣鍚庨噾棰濓紙taxedamount锛� + if (this.businessType == "2") { + for (let j = 0; j < this.rbDetails.length; j++) { + let tempDetail = this.rbDetails[j]; + if ( + isNaN(parseFloat(tempDetail.amount)) || + parseFloat(tempDetail.amount) == 0 + ) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (j + 1).toString() + + "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + } + } else if (this.businessType == "3" || this.businessType == "4") { + for (let j = 0; j < this.rbDetails.length; j++) { + let tempDetail = this.rbDetails[j]; + if ( + isNaN(parseFloat(tempDetail.amount)) || + parseFloat(tempDetail.amount) == 0 + ) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (j + 1).toString() + + "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + if ( + isNaN(parseFloat(tempDetail.taxamount)) || + parseFloat(tempDetail.taxamount) == 0 + ) { + tempDetail.taxedamount = parseFloat(tempDetail.amount); + } else { + tempDetail.taxedamount = + parseFloat(tempDetail.amount) + + parseFloat(tempDetail.taxamount); + } + } + } + //璐圭敤鍚堣 // this.form.pretaxcost = parseFloat(this.totalPreTaxAmount).toFixed(2); // this.form.taxedcost = parseFloat(this.totalAfterTaxAmount).toFixed(2); @@ -1247,7 +1551,6 @@ this.rbDetails.map(item => { this.form.serviceFunddetails += item.amount; }); - console.log(this.rbDetails); this.form.serviceFunddetails = this.rbDetails; if (this.form.id != null) { @@ -1268,6 +1571,8 @@ // }); } else { this.form.recordstatus = -1; + var currenttime = new Date(); + this.form.applyTime = currenttime.getFullYear() + "-" + (currenttime.getMonth() + 1) + "-" + currenttime.getDate() + " " + currenttime.getHours() + ":" + currenttime.getMinutes() + ":" + currenttime.getSeconds(); // addorupdateFund(this.form).then((response) => { // if (response.code === 200) { @@ -1278,41 +1583,82 @@ // }); } - addorupdateFund(this.form).then(response => { - if (response.code === 200) { - this.selectDonotor(this.curCase); - this.$modal.msgSuccess("鐢宠鍗曚繚瀛樻垚鍔燂紒"); - } else { - this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + response.msg); - } - }); - + sessionStorage.setItem( + "apifunddetail", + JSON.stringify(this.rbDetails) + ); + sessionStorage.setItem("apiform", JSON.stringify(this.form)); + addorupdateFund(this.form) + .then(response => { + if (response.code === 200) { + if (this.form.id) { + this.$modal.msgSuccess("鐢宠鍗曚慨鏀规垚鍔燂紒"); + this.$router.go(-1); + } else { + this.$modal.msgSuccess("鐢宠鍗曚繚瀛樻垚鍔燂紒"); + this.$store.dispatch("tagsView/delView", this.$route); + this.$router.push({ + path: "/finance/applyDetail/", + query: { + id: response.data, + businessType: "2", + operationType: "update", + curCase: this.curCase + } + }); + } + this.form.id = response.data; + this.curId = response.data; + this.handleUpdate(); + } else { + this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + response.msg); + } + }) + .catch(res => { + this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + res); + }); //鍏抽棴绐楀彛 - // this.loading = false; + this.loading = false; // this.getfundList(); - // this.selectDonotor(this.curCase); - this.$router.go(-1); } }); - }, + }, 500), - //瀹℃壒鎻愪氦 checksubmit() { - let checkFundObj = { - // fundid: this.checkObj.fundid, - fundid: this.curId, - flowconclusion: this.checkObj.flowlevelone, - flowcontent: this.checkObj.flowconclusion, - }; - checkfund(checkFundObj).then((res) => { - this.reset(); - this.$modal.msgSuccess("瀹℃牳瀹屾垚!"); - }); + //妫�鏌ユ槸鍚︽敹鍒扮焊璐ㄦ潗鏂� + if (this.checkObj.flowlevelone == 2) { + if (!this.checkObj.flowconclusion) { + this.$modal.msgError("璇疯緭鍏ュ鏍镐笉閫氳繃鐨勮鏄庝俊鎭紝鏂逛究缁忓姙浜轰慨鏀圭敵璇峰崟锛�"); + return; + } + } + else if (this.checkObj.flowlevelone == 1) { + if (this.userprofile.nickName == "闄堟厱鍗�") { + //妫�鏌ユ槸鍚︽敹鍒扮焊璐ㄦ潗鏂� + if (this.form.checkstatus != 3 && this.checkObj.flowlevelone == 1) { + this.$modal.msgError("璇峰厛纭鎶ラ攢鐨勭焊璐ㄦ潗鏂欐槸鍚﹀凡缁忔敹鍒帮紒"); + return; + } + + //妫�鏌ヤ釜绋庤绠� + if (this.form.applytype == "1" && this.form.fundtaxtime == null) { + this.$modal.msgError("鎻愪氦涓撳璐圭敤鐢宠鍗曞鏍革紝闇�瑕佸厛瀹屾垚涓◣璁$畻锛�"); + return; + } + } + } + else { + this.$modal.msgError("璇峰厛閫夋嫨瀹℃壒缁撴灉鍐嶆彁浜わ紒"); + return; + } + + this.Savenow(); + console.log("淇濆瓨骞跺鎵�"); }, // 鍙栨秷鎸夐挳 cancel() { - // this.reset(); + this.$store.dispatch("tagsView/delView", this.$route); this.$router.go(-1); }, @@ -1322,22 +1668,28 @@ this.userprofile = res.data; this.standardlevel = res.data.standardlevel; if ( - this.userprofile.createBy == "admin" || - this.userprofile.createBy == "001" || - this.userprofile.createBy == "002" + this.userprofile.userName == "admin" || + this.userprofile.userName == "001" || + this.userprofile.userName == "047" ) { this.ismanager = true; } else { this.ismanager = false; } - // this.form.applytype = this.businessType; - // this.form.createTime = new Date(); - 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; + + if (this.operationType == "add") { + this.form.username = this.userprofile.nickName; + this.form.userno = this.userprofile.userName; + this.form.deptmentname = this.userprofile.dept.deptName; + this.form.deptmentno = this.userprofile.dept.deptId; + this.form.managername = this.userprofile.dept.leader; + this.form.phone = this.userprofile.phonenumber; + // this.form.applytype = this.businessType; + + if (this.businessType == "4") { + this.getUserAccount(); + } + } }); }, @@ -1346,62 +1698,40 @@ listUser().then(res => { this.userlist = res.data; }); - }, //鑾峰彇绯荤粺鐢ㄦ埛鍒楄〃 - getUserList() { - listUser().then(res => { - this.userlist = res.data; - }); }, - //鑾峰彇鎵�鏈変笓瀹�/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯鍒楄〃 - getExternalList() { + //鑾峰彇涓撳銆佸崟浣嶆満鏋勭殑璐︽埛鍒楄〃 + getAccountList() { listExternalperson().then(res => { - this.personlist = res.rows; - for (let j = 0; j < this.personlist.length; j++) { - //鑾峰彇璐圭敤鎶ラ攢鏈烘瀯鍒楄〃 - if (this.personlist[j].usertype == "org") { - this.feeUnitList.push({ - id: this.personlist[j].id, - reportNo: this.personlist[j].userno, - reportName: this.personlist[j].username, - depositbank: this.personlist[j].depositbank, - branchbankname: this.personlist[j].branchbankname, - bankcardno: this.personlist[j].bankcardno - }); - } - //涓撳浜哄憳鍒楄〃 - else if (res.rows[j].usertype == "expert") { - this.expertlist.push({ - expertNo: this.personlist[j].id, - exportName: this.personlist[j].username + this.accountlist = res.rows; + //鑾峰彇鍚敤鐨勮处鎴峰垪琛� + for (let j = 0; j < res.length; j++) { + //鍗曚綅璐﹀彿鍒楄〃 + if (res.userstatus == "1") { + this.accountlist.push({ + id: res.id, + userno: res.userno, + username: res.username, + idcardno: res.idcardno, + title: res.title, + depositbank: res.depositbank, + bankcardno: res.bankcardno, + unitno: res.unitno, + unitname: res.unitname }); } } }); }, - //鑾峰彇涓撳浜哄憳鍒楄〃 - getExpertList() { - 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); - }); - } - }, - - //鑾峰彇璐圭敤鏈烘瀯鍒楄〃 - getFeeUnitList() { - listReportname("org").then(res => { - this.feeUnitList = res.data; + //鑾峰彇缁忓姙浜鸿处鍙蜂俊鎭� + getUserAccount() { + this.accountlist.map(res => { + if (res.username == this.form.username) { + this.form.bankname = res.depositbank; + this.form.bankcardno = res.bankcardno; + this.form.phone = res.telephone; + } }); }, @@ -1410,7 +1740,6 @@ 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 }); @@ -1418,11 +1747,25 @@ }); }, - //鑾峰彇璐圭敤绫诲瀷 - getFundType() { + //鑾峰彇鎹愮尞妗堜緥鍒楄〃 + getBaseInfoList() { + this.loading = true; + listDonatebaseinfo(this.queryParams).then(response => { + this.donateList = response.rows; + this.total = response.total; + this.loading = false; + }); + }, + + //鑾峰彇鏈嶅姟璐圭敤绫诲瀷銆佹湇鍔¢」鐩�佹湇鍔¤鏄� + getFeeTypes() { + //鑾峰彇鏈嶅姟璐圭敤绫诲瀷銆佹湇鍔¢」鐩� 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({ @@ -1433,42 +1776,42 @@ }); } }); + + //鑾峰彇鏈嶅姟璐圭敤璇存槑鍒楄〃 + if (this.businessType == "1" || this.businessType == "2") { + this.loading = true; + listItemexpense(this.expenseQueryParams).then(response => { + response.rows.forEach(item => { + this.feeBlocks.push({ + servicesscope: JSON.stringify(item.id), + itemid: item.itemid, + expense: item.expense, + expensedescribe: item.expensedescribe, + remark: item.expensedescribe + }); + }); + this.loading = false; + }); + } }, - getitemlist(rowindex, row) { + //鑾峰彇鏈嶅姟椤圭洰 + getRowFeeItems(rowindex, row) { let list = this.feeItemTypes.filter(r => r.itemType == row.applytype); row.itemlist = list[0].itemDetails; this.$set(this.rbDetails, rowindex, row); - //this.loading = true; - // getItemNames(row.applytype).then((res) => { - // this.loading = false; - // row.itemlist = res.data; - // this.$set(this.rbDetails, rowindex, row); - // }); }, - //鑾峰彇鎹愮尞妗堜緥鍒楄〃 - getBaseInfoList() { - this.loading = true; - listDonatebaseinfo(this.queryParams).then(response => { - this.donatebaseinfoList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - //鑾峰彇鐢宠鍗曚俊鎭� - getfundList() { - this.loading = true; - this.reset(); - this.fundQueryParam.infoid = this.curCase.id; - listFund(this.fundQueryParam).then(response => { - this.loading = false; - this.donateconsolationfundList = response.rows; - }); + //鍔犺浇鏈嶅姟椤圭洰 + verifyFeeItemType(row) { + let list = this.feeItemTypes.filter(r => r.itemType == row.applytype); + row.itemlist = list[0].itemDetails; + row.itemid = null; + this.$forceUpdate(); }, //鑾峰彇璐圭敤椤圭洰鐨勫娉ㄤ俊鎭� - selectedRemark(row) { + verifyFeeRemark(row) { row.rowfeeblocks.forEach((item, i) => { if (item.servicesscope === row.servicesscope) { row.servicesscopename = item.expensedescribe; @@ -1481,16 +1824,11 @@ row.taxamount = 0.0; row.taxedamount = 0.0; } - - this.form.serviceFunddetails = 0; - this.rbDetails.map(item => { - this.form.serviceFunddetails += item.amount; - }); } }); }, - //鏍¢獙鏀惰垂椤圭洰鏄惁閲嶅 + //鏍¢獙鏀惰垂椤圭洰 verifyFeeItem(row) { row.itemlist.map(res => { if (row.itemid === res.id) { @@ -1498,52 +1836,90 @@ row.itemcode = res.itemCode; } }); - var repeatNum = 0; - this.rbDetails.map(res => { - if (res.applytype === row.applytype && res.itemid == row.itemid) { - repeatNum++; + + //鍒ゆ柇鏀惰垂椤圭洰鏄惁閲嶅 + if (this.businessType == "1") { + var repeatNum = 0; + this.rbDetails.map(res => { + if (res.applytype === row.applytype && res.itemid == row.itemid) { + repeatNum++; + } + }); + if (repeatNum > 1) { + this.$modal.msgWarning("鎮ㄥ凡缁忔彁浜よ繃璇ユ湇鍔¢」鐩簡"); } - }); - 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; + if (this.businessType == "1") { row.servicesscope = null; row.servicesscopename = ""; - }); + row.amount = 0.0; + row.taxamount = 0.0; + row.taxedamount = 0.0; + + row.rowfeeblocks = this.feeBlocks.filter(r => r.itemid == row.itemid); + if (row.rowfeeblocks.length == 1) { + row.servicesscope = row.rowfeeblocks[0].servicesscope; + row.servicesscopename = row.rowfeeblocks[0].expensedescribe; + if (row.servicesscopename.includes("绋庡悗")) { + row.amount = 0.0; + row.taxamount = 0.0; + row.taxedamount = row.rowfeeblocks[0].expense; + } else { + row.amount = row.rowfeeblocks[0].expense; + row.taxamount = 0.0; + row.taxedamount = 0.0; + } + } + } + }, + + //绛涙煡鍑哄搴旂殑璐圭敤椤圭洰 + 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.rbDetails, rowindex, row); + }); + } }, //鍚堣璐圭敤 selectamount(row) { - this.rowfeeblocks.forEach((item, i) => { + this.feeBlockList.forEach((item, i) => { if (item.expense === row.amount) { row.remark = item.expensedescribe; } }); }, - //鐐瑰嚮鎹愮尞妗堜緥鍒楄〃瑙﹀彂鏂规硶 - selectDonotor(row, column, event) { - this.curCase = row; - this.getfundList(); + //璁$畻涓◣锛歵ype(A:宸茬煡绋庡墠閲戦锛岃绠楃◣鍚庨噾棰濓紱B锛氬凡鐭ョ◣鍚庨噾棰濓紝璁$畻绋庡墠閲戦) + calculateTax(row, type) { + let targetValue = 0; + for (let i = 0; i < this.rbDetails.length; i++) { + if (!this.rbDetails[i].amount) { + this.rbDetails[i].amount = 0; + } + targetValue += parseFloat(this.rbDetails[i].amount); // 鍋囪姣忎釜瀵硅薄涓殑鐗瑰畾鍊煎瓨鍌ㄥ湪'specificValue'灞炴�т笅 + } + this.form.pretaxcost = targetValue; }, //瀵煎叆鎵�鏈夐」鐩� - addAllItems() { + importFeeItems() { this.loading = true; this.rbDetails = this.rbDetails.filter( r => r.applytype != "" && r.applytype != null @@ -1566,31 +1942,38 @@ itemid: this.feeItemTypes[i].itemDetails[j].id, itemcode: this.feeItemTypes[i].itemDetails[j].itemCode, recordstatus: "-1", - beneficiaryname: "鐐瑰嚮閫夋嫨", - unitname: "鐐瑰嚮閫夋嫨", + beneficiaryname: null, + unitname: null, 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.servicesscope = null; + rowData.servicesscopename = ""; + rowData.amount = 0.0; + rowData.taxamount = 0.0; + rowData.taxedamount = 0.0; - rowData.rowfeeblocks = rowfeeblocks; - rowData.servicesscope = null; - rowData.servicesscopename = ""; - }); + rowData.rowfeeblocks = this.feeBlocks.filter( + r => r.itemid == rowData.itemid + ); + if (rowData.rowfeeblocks.length == 1) { + rowData.servicesscope = rowData.rowfeeblocks[0].servicesscope; + rowData.servicesscopename = + rowData.rowfeeblocks[0].expensedescribe; + if (rowData.servicesscopename.includes("绋庡悗")) { + rowData.amount = 0.0; + rowData.taxamount = 0.0; + rowData.taxedamount = rowData.rowfeeblocks[0].expense; + } else { + rowData.amount = rowData.rowfeeblocks[0].expense; + rowData.taxamount = 0.0; + rowData.taxedamount = 0.0; + } + } listAdd.push(rowData); } @@ -1598,53 +1981,295 @@ } this.rbDetails = listAdd; this.loading = false; - // let Outerarr = this.rbDetails; - // 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; + unsave() { + this.Savereminder = false; + this.Reminderquantity = 0; + }, + // 鎺ュ彈鎻愰啋绔嬪埢淇濆瓨 + Savenow() { + if (!this.randomnumber) { + this.randomnumber = this.generateRandomString(9); + this.form.randomnumber = this.randomnumber; + } + this.Savereminder = false; + this.Reminderquantity = 0; + this.totalquantity = 0; + this.$refs["form"].validate(valid => { + if (valid) { + this.formData = this.form; - 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; + //淇濆瓨鍓嶆牎楠屾暟鎹� + for (let k = 0; k < this.rbDetails.length; k++) { + let tempDetail = this.rbDetails[k]; + if (tempDetail.itemid == null) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (k + 1).toString() + + "琛岀殑鏈嶅姟椤圭洰鏈�夋嫨锛岃鍏堥�夋嫨鏈嶅姟椤圭洰鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + + if (this.businessType == "1") { + if (tempDetail.servicesscope == null) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (k + 1).toString() + + "琛岀殑璐圭敤璇存槑鏈�夋嫨,璇烽�夋嫨璐圭敤璇存槑鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + + if (tempDetail.beneficiaryno == null) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (k + 1).toString() + + "琛岀殑鏈嶅姟浜哄憳濮撳悕涓洪�夋嫨,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + } + } + + //澶勭悊鏄庣粏 + for (let i = 0; i < this.rbDetails.length; i++) { + let tempDetail = this.rbDetails[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.rbDetails[i] = tempDetail; + } + //璁$畻褰撳墠琛屾姤閿�鍐呭璐圭敤鍚堣锛岀◣鍓嶉噾棰濓紙amount锛夈�佹墸绋庨噾棰濓紙taxamount锛夈�佺◣鍚庨噾棰濓紙taxedamount锛� + if (this.businessType == "2") { + for (let j = 0; j < this.rbDetails.length; j++) { + let tempDetail = this.rbDetails[j]; + if ( + isNaN(parseFloat(tempDetail.amount)) || + parseFloat(tempDetail.amount) == 0 + ) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (j + 1).toString() + + "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + } + } else if (this.businessType == "3" || this.businessType == "4") { + for (let j = 0; j < this.rbDetails.length; j++) { + let tempDetail = this.rbDetails[j]; + if ( + isNaN(parseFloat(tempDetail.amount)) || + parseFloat(tempDetail.amount) == 0 + ) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (j + 1).toString() + + "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + if ( + isNaN(parseFloat(tempDetail.taxamount)) || + parseFloat(tempDetail.taxamount) == 0 + ) { + tempDetail.taxedamount = parseFloat(tempDetail.amount); + } else { + tempDetail.taxedamount = + parseFloat(tempDetail.amount) + + parseFloat(tempDetail.taxamount); + } + } + } + + //淇濆瓨鏁版嵁 + this.loading = true; + this.form.serviceFunddetails = 0; + this.rbDetails.map(item => { + this.form.serviceFunddetails += item.amount; + }); + this.form.serviceFunddetails = this.rbDetails; + + if (this.form.id != null) { + } else { + this.form.recordstatus = -1; + } + + addorupdateFund(this.form).then(response => { + if (response.code === 200) { + this.$modal.msgSuccess("鐢宠鍗曚繚瀛樻垚鍔燂紒"); + // 闈炴彁閱掔姸鎬佷笅鎵ц瀹℃壒瑙e喅寮傛璋冪敤寤惰繜闂 + if (!this.Savereminder) { + let checkFundObj = { + // fundid: this.checkObj.fundid, + fundid: this.curId, + flowconclusion: this.checkObj.flowlevelone, + flowcontent: this.checkObj.flowconclusion + }; + checkfund(checkFundObj).then(res => { + //鍏抽棴绐楀彛 + this.$modal.msgSuccess("瀹℃牳瀹屾垚!"); + this.$store.dispatch("tagsView/delView", this.$route); + this.$router.go(-1); + }); + } + this.Getnetworkheader(); + this.getroute(); + this.getAccountList(); + this.getUserList(); + this.getUserProfile(); + } else { + this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + response.msg); + } + }); + + //鍏抽棴绐楀彛 + this.loading = false; + // this.getfundList(); + } + }); + }, + handleCheckAllChange(val) { + this.checkedCities = val ? this.cityOptions : []; + this.isIndeterminate = false; + }, + handleCheckedCitiesChange(value) { + let checkedCount = value.length; + this.checkAll = checkedCount === this.cityOptions.length; + this.isIndeterminate = + checkedCount > 0 && checkedCount < this.cityOptions.length; + }, + // 鎵嬪姩璁$畻 + Manualcalculationfn() { + ManualCalculation(this.rbDetails).then(res => { + if (res.code == 200) { + sessionStorage.removeItem("apiform"); + sessionStorage.removeItem("apifunddetail"); + sessionStorage.setItem( + "apifunddetail", + JSON.stringify(this.rbDetails) + ); + sessionStorage.setItem("apiform", JSON.stringify(this.form)); + // this.$router.go(0); + // this.$router.push({ + // path: "/finance/applyDetail/", + // query: { + // id: this.curId, + // businessType: this.businessType, + // operationType: this.operationType, + // curCase: this.curCase + // } + // }); + this.$modal.msgSuccess("璁$畻鎴愬姛"); + this.handleCheck(); + } else { + this.$message({ + type: "error", + message: "璁$畻閿欒" }); } }); }, + // 鎵归噺褰曞叆鐐瑰嚮 + Batchentry() { + // ethical + listReportname("ethical").then(res => { + this.cityOptions = res.data; + }); + this.batchdialogVisible = true; + }, + // 纭褰曞叆 + BatchentryFn() { + this.checkedCities.forEach(item => { + let rowData = { + orderno: null, + fundid: null, + beneficiaryname: item.reportName, + beneficiaryno: item.reportNo, + unitname: item.unitname, + unitno: null, + uintuserno: null, + title: item.title, + idcardtype: null, + idcardno: item.idcrad, + sex: null, + familyrelations: null, + phone: null, + depositbank: item.depositbank, + bankcardno: item.bankcardno, + branchbankname: item.branchbankname, + annexbankcard: null, + annexregistform: null, + applytype: "7", + applytypename: "浼︾悊瀹℃牳涓撳璐�", + itemid: "27", + itemcode: "27", + itemname: "鍣ㄥ畼鎹愮尞浼︾悊瀹℃牳涓撳璐�", + itemtype: null, + amount: 200, + prepaidamount: null, + taxamount: null, + invoicecount: null, + taxedamount: null, + attachcount: null, + remark: null, + recordstatus: "-1", + delFlag: null, + createBy: null, + createTime: null, + updateBy: null, + updateTime: null, + uploadflag: null, + itemdescribe: null, + uploadtime: null, + itemlist: [{ id: "27", itemName: "鍣ㄥ畼鎹愮尞浼︾悊瀹℃牳涓撳璐�" }], + servicesscope: null, + rowfeeblocks: [], + annexfiles: null + }; + this.rbDetails.push(rowData); + }); + for (let i = 0; i < this.checkedCities.length + 1; i++) { + this.rbDetails[i].orderno = i + 1; + } + this.calculateTax(); + this.batchdialogVisible = false; + }, //鏂板涓�琛� addRow(rowIndex) { let rowData = { orderno: null, id: null, fundid: null, - beneficiaryname: "鐐瑰嚮閫夋嫨", + beneficiaryname: null, beneficiaryno: null, - unitname: "鐐瑰嚮閫夋嫨", + unitname: null, + itemdescribe: null, unitno: null, uintuserno: null, title: null, @@ -1661,6 +2286,7 @@ applytype: null, itemid: null, itemname: null, + itemcode: null, itemtype: null, amount: null, prepaidamount: null, @@ -1687,65 +2313,10 @@ } else { this.rbDetails.splice(rowIndex + 1, 0, rowData); } + this.Reminderquantity++; + this.totalquantity++; for (let i = 0; i < this.rbDetails.length; i++) { this.rbDetails[i].orderno = i + 1; - } - }, - - //鍔犺浇鏈嶅姟椤圭洰 - 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(); - // }); - }, - - 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; - } - }); - }, - - //绛涙煡鍑哄搴旂殑璐圭敤椤圭洰 - 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.rbDetails, rowindex, row); - }); } }, @@ -1756,6 +2327,9 @@ type: "success" }) .then(() => { + if (this.rbDetails.length == 1) { + this.addRow(0); + } if (row.id !== null) { delFunddetail(row.id).then(res => { if (res.code === 200) { @@ -1766,9 +2340,10 @@ }).then(() => { this.$set(rows, rows.splice(index, 1)); getownFundDetail(this.form.id).then(res => { - console.log(res); - this.$set(this.rbDetails, res.data); + for (let i = 0; i < this.rbDetails.length; i++) { + this.rbDetails[i].orderno = i + 1; + } this.sumTotalFee(); // this.rbDetails = res.data }); @@ -1789,13 +2364,7 @@ }); //鍏ㄩ儴鍒犻櫎鍚庢坊鍔犱竴鏉℃柊琛� - if (this.rbDetails.length == 1) { - this.addRow(0); - } }, - - //璁$畻涓◣ - calculateTax() { }, //璁$畻鎬婚噾棰� sumTotalFee(row) { @@ -1840,12 +2409,12 @@ }, mixExport(scope) { - this.dayin(scope.row.id); - //this.totaldayin(id); + this.print(scope.row.id); + //this.totalprint(id); }, //涓撳璐瑰姵鍔℃墦鍗� - dayin(id) { + print(id) { getdownloadLW(id).then(res => { if (res.downloadUrl) { var fileUrl = res; @@ -1867,7 +2436,7 @@ }, //姹囨�绘墦鍗� - totaldayin(e) { + totalprint(e) { // const id =this.row.id getdownloadBX(e).then(res => { if (res.downloadUrl) { @@ -1891,237 +2460,415 @@ //鏂囦欢涓婁紶 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) - // }, remove(file, fileList) { const rbDetails = [...this.rbDetails]; - this.fileListto.splice(this.fileListto.indexOf(file), 1); - rbDetails[this.atpresent].annexfilesList = this.fileListto; - }, - - 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); - // } - // }, - uploadSccess(response, file, fileList) { - this.rbDetails; - - //鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆 - if (response.code == 200) { - this.form.filename = file.raw.name; - - this.$modal.msgSuccess(response.msg); - this.fileListto.push({ name: file.name, url: response.url }); - this.rbDetails[this.atpresent].annexfilesList = this.fileListto; + if (this.activeName == 1) { + this.fileListto.splice(this.fileListto.indexOf(file), 1); + rbDetails[this.atpresent].annexfilesList = this.fileListto; } else { - console.log(response.msg); + this.invoicefileListto.splice(this.invoicefileListto.indexOf(file), 1); + rbDetails[this.atpresent].invoicefilesList = this.invoicefileListto; } }, - // 鐐瑰嚮鏂囦欢 + uploadSccess(response, file, fileList) { + this.rbDetails; + //鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆 + if (this.activeName == 1) { + if (response.code == 200) { + // this.form.filename = file.raw.name; + this.previewpdf = true; + this.$modal.msgSuccess(response.msg); + this.fileListto.push({ + name: file.name, + url: response.fileName + }); + this.pdfimgsrcList.push( + this.Networkheader + "/prod-api" + response.fileName + ); + this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; + this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; + this.rbDetails[this.atpresent].annexfilesList = this.fileListto; + } else { + console.log(response.msg); + } + } else { + if (response.code == 200) { + this.previewpdf = true; + this.$modal.msgSuccess(response.msg); + this.invoicefileListto.push({ + name: file.name, + url: response.fileName + }); + this.invoicepdfimgsrcList.push( + this.Networkheader + "/prod-api" + response.fileName + ); + this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�"; + this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; + this.rbDetails[ + this.atpresent + ].invoicefilesList = this.invoicefileListto; + } else { + } + } + }, + + // 鐐瑰嚮绁ㄦ嵁 Filepopup(index, rows, row) { + this.tableDatatop = []; + this.pdfimgsrcList = []; + this.invoDatatop = []; + this.invoicepdfimgsrcList = []; + this.invoDatatop.push(row); + this.tableDatatop.push(row); this.atpresent = index; this.pdfVisible = true; if (this.rbDetails[index].annexfilesList) { + this.previewpdf = true; this.fileListto = this.rbDetails[index].annexfilesList; + this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url; + this.fileListto.forEach(item => { + this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url); + }); } else { this.fileListto = []; this.pdfimg = ""; this.pdftitle = ""; } + // -鍙戠エ鏂囦欢 + if (this.rbDetails[index].invoicefilesList) { + this.previewpdf = true; + this.invoicefileListto = this.rbDetails[index].invoicefilesList; + this.invoicepdfimg = + this.Networkheader + "/prod-api" + this.invoicefileListto[0].url; + this.invoicefileListto.forEach(item => { + this.invoicepdfimgsrcList.push( + this.Networkheader + "/prod-api" + item.url + ); + }); + } else { + this.invoicefileListto = []; + this.invoicepdfimg = ""; + this.pdftitle = ""; + } + + if (this.activeName == 1) { + this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; + } else { + this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�"; + } }, + // 鐐瑰嚮宸蹭笂浼犳枃浠� downFile(item) { - this.pdftitle = item.name; - let name = item.name.split("."); - if (name[1] == "pdf") { - this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); - this.previewpdf = false; - this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; - } else if (name[1] == "jpg" || "png") { - this.previewpdf = true; - if (item.url) { - this.pdfimg = item.url; + if (this.activeName == 1) { + this.pdftitle = + "鍏�" + this.pdfimgsrcList.length + "椤癸紝褰撳墠閫変腑" + item.name; + let name = item.name.split("."); + if (name[1] == "pdf") { + this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); + this.previewpdf = false; + this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; + } else if (name[1] == "jpg" || "png") { + this.previewpdf = true; + if (item.url) { + this.pdfimg = this.Networkheader + "/prod-api" + item.url; + } else { + this.pdfimg = this.Networkheader + "/prod-api" + item.response.url; + } } else { - this.pdfimg = item.response.url; + this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; + this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); + this.previewpdf = false; } } else { - this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; - this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); - this.previewpdf = false; + this.pdftitle = + "鍏�" + this.invoicepdfimgsrcList.length + "椤癸紝褰撳墠閫変腑" + item.name; + let name = item.name.split("."); + if (name[1] == "pdf") { + this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); + this.previewpdf = false; + this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; + } else if (name[1] == "jpg" || "png") { + this.previewpdf = true; + if (item.url) { + this.invoicepdfimg = this.Networkheader + "/prod-api" + item.url; + } else { + this.invoicepdfimg = + this.Networkheader + "/prod-api" + item.response.url; + } + } else { + this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; + this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); + this.previewpdf = false; + } } }, - - //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨 - 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.showDetailInfoType = showType; + getIndexInArray(arr, obj) { + return arr.indexOf(obj); + }, + // 鍙戠エ鍒囨崲 + handleClick(tab, event) { + if (this.activeName == 1) { + this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; + } else { + this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�"; + } + }, + // 鐐瑰嚮鍒犻櫎 + deletedowfile(row) { + if (this.activeName == 1) { + const indexlist = this.getIndexInArray( + this.pdfimgsrcList, + this.Networkheader + "/prod-api" + row.url + ); + this.pdfimgsrcList.splice(indexlist, 1); + const index = this.getIndexInArray(this.fileListto, row); + this.fileListto.splice(index, 1); + } else { + const indexlist = this.getIndexInArray( + this.invoicepdfimgsrcList, + this.Networkheader + "/prod-api" + row.url + ); + this.invoicepdfimgsrcList.splice(indexlist, 1); + const index = this.getIndexInArray(this.invoicefileListto, row); + this.invoicefileListto.splice(index, 1); + } + }, + // 鐐瑰嚮涓婄Щ + moveupdowfile(row) { + if (this.activeName == 1) { + const index = this.getIndexInArray(this.fileListto, row); + const item = this.fileListto.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� + this.fileListto.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + } else { + const index = this.getIndexInArray(this.invoicefileListto, row); + const item = this.invoicefileListto.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� + this.invoicefileListto.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + } + }, + Downloadfile(row) { + window.location.href = this.Networkheader + "/prod-api" + row.url; }, //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨 - ConfirmDetailDialog() { - let tempIndex = this.funddetailForm.index; - let tempName = this.funddetailForm.beneficiaryname; - let tempUnitname = this.funddetailForm.unitname; - let singleDetail = this.rbDetails[tempIndex]; + showSelectionDialog(scope, selectiontype) { + this.selectionScope = scope; + this.selectionType = selectiontype; + this.accountselectform.index = scope.$index; - if (this.showDetailInfoType == "name") { - if (this.expertfrom == "1") { - //浠庝笓瀹跺垪琛ㄨ幏鍙栦俊鎭� - this.personlist.map(res => { - if (tempName == res.username) { - singleDetail.beneficiaryno = res.userno; - singleDetail.beneficiaryname = res.username; - singleDetail.bankcardno = res.bankcardno; - singleDetail.branchbankname = res.branchbankname; - singleDetail.depositbank = res.depositbank; - singleDetail.idcardno = res.idcardno; - singleDetail.phone = res.telephone; - singleDetail.title = res.title; - singleDetail.unitname = res.unitname; - singleDetail.unitno = parseInt(res.unitno); - } - }); - } else { - //淇濆瓨鏂板涓撳 - 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; + if (this.selectionType == "account") { + //榛樿浠庤处鎴峰簱閫夋嫨锛�1,璐︽埛搴擄紱2锛屾柊寤鸿处鎴� + this.accountfrom = "1"; + this.accountselectform.accountname = scope.row.beneficiaryname; + this.accountselectform.accountno = scope.row.beneficiaryno; + this.accountselectform.expertunitname = ""; + this.accountselectform.expertunitno = ""; - 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.accountselectform.username = ''; + this.accountselectform.userno = ''; + this.accountselectform.idcardno = ""; + this.accountselectform.telephone = ""; + this.accountselectform.title = ""; + this.accountselectform.unitno = ""; + this.accountselectform.unitname = ""; + this.accountselectform.depositbank = ""; + this.accountselectform.bankcardno = ""; + this.accountselectform.personnelunitno = ""; + this.accountselectform.address = ""; + this.accountselectform.telephone = ""; + } else if (this.selectionType == "workunit") { + this.accountselectform.expertunitname = scope.row.unitname; + this.accountselectform.expertunitno = scope.row.unitno; + } + this.showselectiondialog = true; + }, - 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"; + //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨 + confirmSelectionDialog() { + this.$refs["accountselectform"].validate(valid => { + let tempIndex = this.accountselectform.index; + if (this.selectionType == "account") { + if (this.accountfrom == "1") { + //璧嬪�间俊鎭� + if (this.rbDetails[tempIndex].beneficiaryname != this.accountselectform.accountname) { + this.accountlist.map(res => { + if (res.username == this.accountselectform.accountname) { + this.rbDetails[tempIndex].beneficiaryno = res.userno; + this.rbDetails[tempIndex].beneficiaryname = res.username; + this.rbDetails[tempIndex].depositbank = res.depositbank; + this.rbDetails[tempIndex].branchbankname = res.branchbankname; + this.rbDetails[tempIndex].bankcardno = res.bankcardno; + this.rbDetails[tempIndex].phone = res.telephone; - addExternalperson(this.expertform).then(response => { - if (response.code == 200) { - this.$modal.msgSuccess("鏂板涓撳淇℃伅鎴愬姛锛�"); - - listExternalperson().then(res => { - this.personlist = res.rows; - //浠庝笓瀹跺垪琛ㄨ幏鍙栦俊鎭� - this.personlist.map(res => { - if (res.username == this.funddetailForm.expertname) { - 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); + if (res.usertype == "org") { + this.rbDetails[tempIndex].idcardno = ""; + this.rbDetails[tempIndex].title = ""; + this.rbDetails[tempIndex].unitno = ""; + this.rbDetails[tempIndex].unitname = ""; + } else { + this.rbDetails[tempIndex].idcardno = res.idcardno; + this.rbDetails[tempIndex].title = res.title; + this.rbDetails[tempIndex].unitno = parseInt(res.unitno); + this.rbDetails[tempIndex].unitname = res.unitname; } - }); + } }); } - }); - } - } else if (this.showDetailInfoType == "unit") { - singleDetail.unitno = this.funddetailForm.unitno; - if (this.businessType == 1 || this.businessType == 2) { - 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; - } - } else if (this.businessType == 3 || this.businessType == 4) { - try { - let unitIndex = this.feeUnitList.findIndex( - item => singleDetail.unitno == item.reportNo - ); + } else if (this.accountfrom == "2") { + //淇濆瓨鏂板璐﹀彿 + //鑾峰彇鐢ㄦ埛缂栧彿 + getOnlyCode(this.seqnoParams).then((res) => { + this.accountform.userno = res.data.currentvalue; + this.accountform.id = null; - if (unitIndex > -1) { - singleDetail.unitname = this.feeUnitList[unitIndex].reportName; - singleDetail.depositbank = this.feeUnitList[ - unitIndex - ].depositbank; - singleDetail.bankcardno = this.feeUnitList[unitIndex].bankcardno; - } else { - singleDetail.unitname = singleDetail.unitno; - } - } catch { - singleDetail.unitname = singleDetail.unitno; + this.accountform.usertype = this.accountselectform.usertype; + this.accountform.username = this.accountselectform.username; + this.accountform.idcardno = this.accountselectform.idcardno; + this.accountform.sex = null; + this.accountform.title = this.accountselectform.title; + this.accountform.telephone = this.accountselectform.telephone; + this.accountform.address = this.accountselectform.address; + this.accountform.wbm = null; + this.accountform.pym = null; + + this.accountform.depositbank = this.accountselectform.depositbank; + this.accountform.bankcardno = this.accountselectform.bankcardno; + this.accountform.branchbankname = null; + this.accountform.remark = null; + this.accountform.del_flag = "0"; + this.accountform.personnelunitno = null; + + if (this.accountselectform.usertype == "expert") { + this.accountform.unitno = this.accountselectform.unitno; + this.unitList.map(res => { + if (res.organizationid == this.accountform.unitno) { + this.accountform.unitname = res.organizationname; + } + }); + } + + addExternalperson(this.accountform).then(response => { + if (response.code == 200) { + if (this.accountselectform.usertype == "expert") { + this.$modal.msgSuccess("鏂拌处鎴蜂俊鎭凡娣诲姞鎴愬姛,闇�瑕佸湪璐﹀彿鐘舵�佸惎鐢ㄥ悗鎵嶈兘琚娇鐢紒"); + return; + } else { + this.$modal.msgSuccess("鏂拌处鎴蜂俊鎭凡娣诲姞鎴愬姛锛�"); + } + + this.accountselectform.accountno = this.accountselectform.userno; + this.accountselectform.accountname = this.accountselectform.username; + + //閲嶆柊鑾峰彇璐︽埛鍒楄〃 + listExternalperson().then(res => { + this.accountlist = res.rows; + + //璧嬪�间俊鎭� + this.accountlist.map(res => { + if (res.username == this.accountselectform.accountname) { + this.rbDetails[tempIndex].beneficiaryno = res.userno; + this.rbDetails[tempIndex].beneficiaryname = res.username; + this.rbDetails[tempIndex].depositbank = res.depositbank; + this.rbDetails[tempIndex].branchbankname = res.branchbankname; + this.rbDetails[tempIndex].bankcardno = res.bankcardno; + this.rbDetails[tempIndex].phone = res.telephone; + + if (res.usertype == "org") { + this.rbDetails[tempIndex].idcardno = ""; + this.rbDetails[tempIndex].title = ""; + this.rbDetails[tempIndex].unitno = ""; + this.rbDetails[tempIndex].unitname = ""; + } else { + this.rbDetails[tempIndex].idcardno = res.idcardno; + this.rbDetails[tempIndex].title = res.title; + this.rbDetails[tempIndex].unitno = parseInt(res.unitno); + this.rbDetails[tempIndex].unitname = res.unitname; + } + } + }); + }); + + } + }); + }); + } + } else if (this.selectionType == "workunit") { + if (this.rbDetails[tempIndex].unitname != this.accountselectform.expertunitname) { + this.rbDetails[tempIndex].unitname = this.accountselectform.expertunitname; + this.unitList.map(res => { + if (res.organizationname == this.accountselectform.expertunitname) { + this.rbDetails[tempIndex].unitno = res.organizationid; + } + }); } } + + //鍏抽棴绐楀彛 + this.showselectiondialog = false; + }); + }, + + tableParValueChange(row, tto) { + const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}([0-9]|X)$/; + if (tto) { + if (regex.test(accountselectform.expertidcardno)) { + row.error = ""; + } else { + row.error = "韬唤璇佸彿鐮佹牸寮忛敊璇�"; + } + return; } - this.rbDetails[tempIndex] = singleDetail; - this.showDetailInfoDialog = false; + if (regex.test(row.idcardno)) { + row.error = ""; + } else { + row.error = "韬唤璇佸彿鐮佹牸寮忛敊璇�"; + } + }, + + //璐︽埛绫诲瀷閫夋嫨鍙樺寲 + userTypeChange(type) { + if (type == "org") { + this.accountselectform.idcardno = ""; + this.accountselectform.unitno = ""; + this.accountselectform.unitname = ""; + this.accountselectform.personnelunitno = ""; + }; + // this.$modal.msgWarning(type); } - } + }, + + //鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵his瀹炰緥锛� + created() { + //鑾峰彇璺敱鍙傛暟 + this.Getnetworkheader(); + this.getroute(); + this.getAccountList(); + this.getUserProfile(); + }, + + //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛� + mounted() { + window.addEventListener("beforeunload", e => this.beforeunloadHandler(e)); + this.getUserList(); + let apiaccountselectform = this.accountselectform; + let apiform = this.form; + }, + beforeRouteLeave(to, from, next) { + // 鎵ц閿�姣佹搷浣� + this.$destroy(); + next(); + }, + beforeCreate() { }, //鐢熷懡鍛ㄦ湡 - 鍒涘缓涔嬪墠 + beforeMount() { }, //鐢熷懡鍛ㄦ湡 - 鎸傝浇涔嬪墠 + beforeUpdate() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠 + updated() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗 + beforeDestroy() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓� + destroyed() { + window.removeEventListener("beforeunload", e => this.beforeunloadFn(e)); + }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴� + activated() { } //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂 }; </script> @@ -2136,7 +2883,6 @@ .top-text { text-align: center; - font-size: 23px; font-weight: 600; margin: 20px 0; @@ -2160,7 +2906,7 @@ height: 600px; .box-pdf { - width: 200px; + width: 400px; padding-top: 20px; margin-right: 30px; border: 1px solid #dcdfe6; @@ -2199,4 +2945,14 @@ line-height: 36px; text-align: center; } + +::v-deep .el-alert__title { + font-size: 25px; + line-height: 25px; +} + +::v-deep .el-checkbox.is-bordered+.el-checkbox.is-bordered { + margin-left: 0 !important; + margin-bottom: 10px; +} </style> -- Gitblit v1.9.3