From 29b4ba2b27bd486b6beccb6f03678d8eb8d7b862 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期一, 16 十月 2023 11:43:31 +0800 Subject: [PATCH] 11 --- src/views/project/fund/applyDetail/index.vue | 1338 ++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 976 insertions(+), 362 deletions(-) diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue index 3f8f8a1..f9d9842 100644 --- a/src/views/project/fund/applyDetail/index.vue +++ b/src/views/project/fund/applyDetail/index.vue @@ -72,55 +72,10 @@ }}</el-radio> </el-form-item> </el-col> - <el-col :span="5"> - <el-form-item label="閾惰鍚嶇О" prop="bankname"> - <el-input v-model="form.bankname" placeholder="璇疯緭鍏ラ摱琛屽悕绉�" /> - </el-form-item> </el-col - ><el-col :span="5"> - <el-form-item label="閾惰璐﹀彿" prop="bankcardno"> - <el-input - v-model="form.bankcardno" - placeholder="璇疯緭鍏ラ摱琛岃处鍙�" - /> - </el-form-item> - </el-col> + <el-col :span="5"> <el-form-item label="鑱旂郴鐢佃瘽" prop="phone"> <el-input v-model="form.phone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" /> - </el-form-item> - </el-col> - </el-row> - <el-row style="text-align: left"> - <!-- - <el-col :span="5"> - <el-form-item label="鍚堣閲戦" prop="amountrequested"> - <el-input v-model="form.amountrequested" placeholder="鐢宠閲戦" :disabled="true" /> - </el-form-item> - </el-col> - --> - <el-col :span="5"> - <el-form-item label="鐢宠閲戦" prop="pretaxcost"> - <el-input - v-model="form.pretaxcost" - placeholder="绋庡墠閲戦鍚堣" - :disabled="true" - /> - </el-form-item> - </el-col> - <!-- - <el-col :span="5"> - <el-form-item label="搴旂即绋�" prop="taxcost" v-if="businessType == '1' || businessType == '2'"> - <el-input v-model="form.taxcost" placeholder="搴旂即绋庨噾棰濆悎璁�" :disabled="true" /> - </el-form-item> - </el-col> - <el-col :span="5"> - <el-form-item label="绋庡悗閲戦" prop="pretaxcost"> - <el-input v-model="form.taxedcost" placeholder="绋庡悗閲戦鍚堣" :disabled="true" /> - </el-form-item> - </el-col>--> - <el-col :span="10"> - <el-form-item label="鐢宠璇存槑" prop="remark"> - <el-input v-model="form.remark" placeholder="鐢宠璇存槑" /> </el-form-item> </el-col> <el-col :span="5"> @@ -132,6 +87,23 @@ /> </el-form-item> </el-col> + <el-col :span="5"> + <el-form-item label="鐢宠閲戦" prop="pretaxcost"> + <el-input + v-model="form.pretaxcost" + placeholder="绋庡墠閲戦鍚堣" + :disabled="true" + /> + </el-form-item> + </el-col> + </el-row> + <el-row style="text-align: left"> + <el-col :span="8"> + <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="recordstatus"> @@ -143,8 +115,18 @@ </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-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'"> <el-button @click.native.prevent="importFeeItems" type="primary" @@ -153,11 +135,38 @@ 瀵煎叆鏈嶅姟椤圭洰 </el-button> </el-col> + <el-col :span="3" + ><div style="margin-bottom: 15px;" v-if="businessType == 2"> + <el-button + type="success" + icon="el-icon-download" + @click="Batchentry" + >鎵归噺褰曞叆</el-button + > + </div> + </el-col> + + <el-col :span="3"> + <div + style="margin-bottom: 15px;" + v-if=" + userprofile.nickName == '闄堟厱鍗�' && operationType == 'check' + " + > + <el-button + type="success" + icon="el-icon-edit-outline" + @click="Manualcalculationfn" + >璁$畻鏄庣粏</el-button + > + </div> + </el-col> </el-row> <el-row> <el-table :data="rbDetails" v-loading="loading" + max-height="800" border highlight-current-row > @@ -165,7 +174,7 @@ prop="orderno" align="center" label="搴忓彿" - width="65" + width="88" > <template slot-scope="scope"> <el-input v-model="scope.row.orderno" placeholder="搴忓彿" /> @@ -184,7 +193,7 @@ <template slot-scope="scope"> <el-select v-model="scope.row.applytype" - placeholder="鏈嶅姟绫诲瀷" + placeholder="璇烽�夋嫨鏈嶅姟绫诲瀷" @change="verifyFeeItemType(scope.row)" > <el-option @@ -205,7 +214,7 @@ <template slot-scope="scope"> <el-select v-model="scope.row.itemid" - placeholder="鏈嶅姟椤圭洰" + placeholder="璇烽�夋嫨鏈嶅姟椤圭洰" filterable @change="verifyFeeItem(scope.row)" :filter-method="val => searchItemType(val, scope)" @@ -301,7 +310,15 @@ :value="dict.expense"></el-option> </el-select> --> - <el-input v-model="scope.row.amount" placeholder="閲戦" /> + <el-input + v-model="scope.row.amount" + placeholder="閲戦" + @blur=" + val => { + calculateTax(scope.row, 'A'); + } + " + /> </template> </el-table-column> <el-table-column @@ -318,6 +335,11 @@ <el-input v-model="scope.row.taxedamount" placeholder="绋庡悗閲戦" + @blur=" + val => { + calculateTax(scope.row, 'B'); + } + " /> </template> </el-table-column> @@ -333,7 +355,11 @@ type="primary" plain @click="ShowDetailDialog(scope, 'expert')" - >{{ scope.row.beneficiaryname }}</el-button + >{{ + scope.row.beneficiaryname + ? scope.row.beneficiaryname + : "鐐瑰嚮閫夋嫨" + }}</el-button > <!-- <el-select filterable @@ -359,13 +385,50 @@ align="center" label="鍗曚綅鍚嶇О" width="250" + v-if="form.applytype != '4' && form.applytype != '3'" > <template slot-scope="scope"> <el-button type="primary" plain @click="ShowDetailDialog(scope, 'unit')" - >{{ scope.row.unitname }}</el-button + >{{ + scope.row.unitname ? scope.row.unitname : "鐐瑰嚮閫夋嫨" + }}</el-button + > + <!-- <el-select + v-model="scope.row.unitno" + placeholder="鍗曚綅" + clearable + filterable + allow-create + > + <el-option + v-for="(spec, index) in unitList" + :key="index" + :label="spec.organizationname" + :value="spec.organizationid" + ></el-option> + </el-select> --> + </template> + </el-table-column> + <el-table-column + prop="beneficiaryname" + align="center" + label="鍗曚綅/涓汉" + width="250" + v-if="form.applytype == '4' || form.applytype == '3'" + > + <template slot-scope="scope"> + <el-button + type="primary" + plain + @click="ShowDetailDialog(scope, 'expert')" + >{{ + scope.row.beneficiaryname + ? scope.row.beneficiaryname + : "鐐瑰嚮閫夋嫨" + }}</el-button > <!-- <el-select v-model="scope.row.unitno" @@ -410,8 +473,8 @@ align="center" label="寮�鎴烽摱琛�" width="200" - v-if="form.applytype != '4'" > + <!-- v-if="form.applytype != '4'" --> <template slot-scope="scope"> <el-input v-model="scope.row.depositbank" @@ -424,7 +487,6 @@ align="center" label="閾惰甯愬彿" width="210" - v-if="form.applytype != '4'" > <template slot-scope="scope"> <el-input @@ -433,9 +495,34 @@ /> </template> </el-table-column> - <el-table-column prop="remark" align="center" label="澶囨敞"> + <el-table-column + prop="itemdescribe" + 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="澶囨敞" + > + <template slot-scope="scope"> + <el-input + type="textarea" + :rows="2" + v-model="scope.row.remark" + placeholder="澶囨敞" + /> </template> </el-table-column> <el-table-column @@ -536,9 +623,10 @@ size="mini" class="upload-demo" :action="uploadFileUrl" - :file-list="fileList" + :file-list="fileListto" + :show-file-list="false" multiple - :limit="20" + drag :headers="headers" :on-success=" (response, file, fileList) => @@ -547,21 +635,72 @@ :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 - > + <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="瀹℃牳鏃ユ湡" @@ -593,8 +732,27 @@ /> </el-table> </el-row> + <el-row style="margin-top: 25px; margin-bottom: 5px" + v-if="operationType == 'check'" + > + <el-col :span="7"> + <el-form-item label="鐢宠鏉愭枡鐘舵��" prop="infoid"> + <el-radio-group + v-model="form.checkstatus" + align="left" + :disabled="userprofile.nickName != '闄堟厱鍗�'" + > + <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="7"> @@ -606,6 +764,7 @@ </el-form-item> </el-col> </el-row> + <el-row v-if="operationType == 'check'"> <el-col :span="17"> <el-form-item label="瀹℃牳澶囨敞" align="left"> @@ -620,10 +779,16 @@ @click="submitForm" v-if=" operationType == 'add' || - operationType == 'update' || - ismanager == true + operationType == 'update' || + ismanager == true " >鎻愪氦淇濆瓨</el-button + > + <el-button + type="success" + @click="handleup" + v-if="operationType == 'add' || operationType == 'update'" + >涓婃姤</el-button > <el-button type="primary" @@ -638,14 +803,17 @@ <el-dialog :visible.sync="showSelectionDialog" :close-on-click-modal="false" - :title="'鍗曚綅/涓撳淇℃伅閫夋嫨'" + :title="'鍗曚綅/涓汉淇℃伅閫夋嫨'" width="500px" style="text-align: center" v-loading="loading" > <el-form ref="funddetailForm" :model="funddetailForm"> - <el-row> - <el-col :span="24" v-if="selectionType == 'expert'"> + <el-row v-if="businessType != 4 && businessType != 3"> + <el-col + :span="24" + v-if="selectionType == 'expert' && businessType != 4" + > <el-form-item label="璇烽�夋嫨涓撳淇℃伅锛�" prop="expertfrom"> <el-radio-group v-model="expertfrom" style="margin-bottom: 0"> <el-radio label="1">涓撳搴�</el-radio> @@ -708,7 +876,7 @@ label="鍙戠エ鍗曚綅鍚嶇О" prop="unitno" label-width="120px" - v-if="businessType == 3 || businessType == 4" + v-if="businessType == 3" > <el-select v-model="funddetailForm.unitno" @@ -728,7 +896,69 @@ </el-form-item> </el-col> </el-row> - <el-row> + + <el-row v-if="businessType == 4 || businessType == 3"> + <el-col :span="24"> + <el-form-item label="璇烽�夋嫨涓撳淇℃伅锛�" prop="experthear"> + <el-radio-group + @change="ShowDetailDialog(spocewl)" + v-model="experthear" + style="margin-bottom: 0" + > + <el-radio label="unit">浜哄憳閫夐」</el-radio> + <el-radio label="expert">鍗曚綅閫夐」</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="24" v-if="experthear == 'unit'"> + <el-form-item + label="浜哄憳濮撳悕" + prop="beneficiaryname" + label-width="80px" + > + <el-select + filterable + allow-create + ref="beneficiaryname" + default-first-option + @change="bbaaccss" + v-model="funddetailForm.beneficiaryname" + placeholder="璇烽�夋嫨" + style="width: 100%" + > + <el-option + v-for="item in expertlist" + :key="item.expertNo" + :label="item.exportName" + :value="item.exportName" + > + </el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="24" v-if="experthear == 'expert'"> + <el-form-item label="鍗曚綅鍚嶇О" prop="unitno" label-width="120px"> + <el-select + v-model="funddetailForm.beneficiaryname" + placeholder="鍗曚綅鍚嶇О" + @change="bbaaccss" + clearable + filterable + allow-create + style="width: 100%" + > + <el-option + v-for="(spec, index) in feeUnitList" + :key="index" + :label="spec.reportName" + :value="spec.reportName" + ></el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + + <el-row v-if="businessType != 4 && businessType != 3"> <el-col :span="12" v-if="expertfrom == '2'"> <el-form-item label="涓撳濮撳悕" prop="expertname" label-width="80px"> <el-input @@ -757,7 +987,7 @@ </el-form-item> </el-col> </el-row> - <el-row> + <el-row v-if="businessType != 4 && businessType != 3"> <el-col :span="24" v-if="expertfrom == '2'"> <el-form-item label="韬唤璇佸彿" @@ -783,7 +1013,7 @@ </el-col> </el-row> --> - <el-row> + <el-row v-if="businessType != 4 && businessType != 3"> <el-col :span="24" v-if="expertfrom == '2'"> <el-form-item label="鍗曚綅鍚嶇О" @@ -807,7 +1037,7 @@ </el-select> </el-form-item ></el-col> </el-row> - <el-row> + <el-row v-if="businessType != 4 && businessType != 3"> <el-col :span="24" v-if="expertfrom == '2'"> <el-form-item label="寮�鎴烽摱琛�" @@ -841,7 +1071,92 @@ > </span> </el-dialog> - <el-dialog :title="pdftitle" :visible.sync="pdfVisible" width="50%"> + <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'" + > + </el-table-column> --> + + <!-- <el-table-column + prop="beneficiaryname" + align="center" + label="鍗曚綅鍚嶇О" + width="250" + v-if="form.applytype != '4'" + > + </el-table-column> --> + <el-table-column + prop="beneficiaryname" + 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> <div class="pdfimg"> <div class="box-pdf"> <div> @@ -850,8 +1165,9 @@ class="upload-demo" :action="uploadFileUrl" :file-list="fileListto" + :show-file-list="false" multiple - :limit="20" + drag :headers="headers" :on-success=" (response, file, fileList) => @@ -860,17 +1176,65 @@ :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 - > + <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> + <!-- <div class="el-upload__tip" slot="tip"> + 鍙兘涓婁紶jpg/png鏂囦欢锛屼笖涓嶈秴杩�500kb + </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> </div> <!-- <div class="pdftit" @@ -882,7 +1246,7 @@ </div> --> </div> - <div v-if="this.previewpdf" class="pdfimgmin"> + <div v-if="this.previewpdf && pdfimgsrcList.length" class="pdfimgmin"> <!-- <img :src="pdfimg" /> --> <el-image style="width: 95%; height: 90%" @@ -909,17 +1273,52 @@ <el-button type="primary" @click="Savenow">纭� 瀹�</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 @click="batchdialogVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="BatchentryFn">纭� 瀹�</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, @@ -935,6 +1334,7 @@ checkfund, getdownloadBX, addorupdateFund, + ManualCalculation, getdetailsByItemId } from "@/api/project/fund"; @@ -978,6 +1378,8 @@ exportExternalperson } from "@/api/project/externalperson"; +import { listItemexpense } from "@/api/project/itemexpense"; + import { getUserProfile } from "@/api/system/user"; import Li_area_select from "@/components/Address"; import OrgSelecter from "@/views/project/components/orgselect"; @@ -989,7 +1391,6 @@ Li_area_select, OrgSelecter }, - name: "fundApply", dicts: [ @@ -1016,9 +1417,12 @@ // 瀵煎嚭閬僵灞� exportLoading: false, usernamedata: "", + jurisdiction: false, + Routinglevel: 1, // 琛ㄥ崟鍙傛暟 form: {}, - + experthear: "", + spocewl: "", //璐圭敤鐢宠琛ㄥ崟title title: "", //鐢宠鍗曠被鍨� @@ -1048,13 +1452,33 @@ 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: "宸叉敹鍒扮焊璐ㄦ潗鏂�" + } + ], //鎹愮尞妗堜緥鍒楄〃 donateList: [], @@ -1066,6 +1490,7 @@ totalPreTaxAmount: 0.0, totalAfterTaxAmount: 0.0, totalAmount: 0.0, + tableDatatop: [], //璐圭敤绫诲瀷鏁扮粍 feeItemTypes: [], @@ -1074,9 +1499,11 @@ rowfeeItemTypes: [], //璐圭敤璇存槑 - rowfeeblocks: [], + feeBlocks: [], fundflowList: [], + // 闅忔満鏁� + randomnumber: "", //涓撳/鍗曚綅閫夋嫨锛歟xpert/unit selectionType: "", @@ -1186,6 +1613,15 @@ money: "0", startTime: "" }, + //鏈嶅姟璐圭敤鍙傛暟 + expenseQueryParams: { + pageNum: 1, + pageSize: 10000, + itemid: null, + expense: null, + expensedescribe: null, + usestate: null + }, //闄勪欢鍒楄〃 fileList: [], @@ -1202,7 +1638,7 @@ pdfimgsrcList: [], pdfVisible: false, previewpdf: false, - hintitle: "閫変腑宸︿晶宸蹭笂浼犳枃浠堕瑙堟煡鐪�", + hintitle: "璇蜂笂浼犳枃浠跺悗鏌ョ湅", atpresent: "", Savereminder: false, //鎻愰啋淇濆瓨寮规 Reminderquantity: 0, //鎻愰啋鏁伴噺 @@ -1210,42 +1646,14 @@ Modifyornot: 0 //鏄惁淇敼 }; }, - // vue璺敱鎺у埗椤甸潰鍏抽棴鎻愮ず - beforeRouteLeave(to, from, next) { - if ( - JSON.stringify(this.form) == sessionStorage.getItem("apiform") && - JSON.stringify(this.rbDetails) == sessionStorage.getItem("apifunddetail") - ) { - console.log("cg1"); - sessionStorage.removeItem("apiform"); - sessionStorage.removeItem("apifunddetail"); - //灏辨槸涓婇潰鐨勭姸鎬� 濡傛灉鏄痶rue , 鍒欎笉璇㈤棶鏄惁淇濆瓨, 褰撶劧杩欎釜鏂规硶姣旇緝绗�, 澶у鍙互浣跨敤鏇翠紭闆呯殑鏂瑰紡 - next(); - } else { - console.log("cg2"); - this.$confirm("绂诲紑椤甸潰 , 鏇存柊鏁版嵁灏嗕笉鍋氫繚瀛�, 璇风‘璁ゅ凡缁忎繚瀛�", "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }) - .then(() => { - sessionStorage.removeItem("apiform"); - sessionStorage.removeItem("apifunddetail"); - this.$router.go(-1); - next(); - }) - .catch(() => { - // alert("router") - }); - } - }, //鐩戝惉灞炴�� 绫讳技浜巇ata姒傚康 computed: {}, //鐩戞帶data涓殑鏁版嵁鍙樺寲 watch: {}, //鏂规硶闆嗗悎 methods: { + bbaaccss(val) {}, // 娴忚鍣ㄩ〉闈㈠叧闂垨鍒锋柊鎻愮ず beforeunloadHandler(e) { if ( @@ -1254,7 +1662,6 @@ sessionStorage.getItem("apifunddetail")) || !sessionStorage.getItem("apifunddetail") ) { - console.log(cg); } else { this._beforeUnload_time = new Date().getTime(); e = e || window.event; @@ -1320,7 +1727,6 @@ if (string.includes("9091")) { const index = string.indexOf("9091"); this.Networkheader = string.slice(0, index + 4); // 鎴彇9091鍙婂叾鍓嶉儴瀛楃 - // console.log(this.Networkheader); } else { const index = string.indexOf("8032"); this.Networkheader = string.slice(0, index + 4); // 鎴彇8032鍙婂叾鍓嶉儴瀛楃 @@ -1348,9 +1754,11 @@ } else if (this.businessType == "3") { this.businessName = "鍖诲鎴愭湰鎶ラ攢鍗�"; this.amountLabel = "閲戦"; + this.getUnitList(); } else if (this.businessType == "4") { this.businessName = "鍔炲叕璐圭敤鎶ラ攢鍗�"; this.amountLabel = "閲戦"; + this.getUnitList(); // this.getBaseInfoList(); } @@ -1359,7 +1767,6 @@ this.title = this.businessName + "鏂板缓"; if (this.operationType != "4") { this.curCase = this.$route.query.curCase; - console.log("this.curCase", this.curCase); } this.handleAdd(); } else if (this.operationType == "update") { @@ -1367,6 +1774,7 @@ 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 + "瀹℃牳"; @@ -1407,6 +1815,8 @@ this.reset(); getFund(this.curId).then(response => { + console.log(response.data, "鍒濆"); + this.form = response.data; sessionStorage.removeItem("apiform"); @@ -1424,29 +1834,14 @@ if (this.rbDetails.length > 0) { for (let m = 0; m < this.rbDetails.length; m++) { this.rbDetails[m].itemlist = []; - this.getFeeItems(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 + ); } - console.log("yeil"); + sessionStorage.removeItem("apifunddetail"); sessionStorage.setItem( "apifunddetail", @@ -1455,6 +1850,13 @@ } else { this.addRow(0); } + }); + let listFundflowparams = { + fundid: this.curId, + fundtype: 2 + }; + listFundflow(listFundflowparams).then(res => { + this.fundflowList = res.rows; }); }); }, @@ -1465,29 +1867,30 @@ this.reset(); getFund(this.curId).then(response => { + console.log(response.data, "鍒濆"); + this.form = response.data; sessionStorage.removeItem("apiform"); - sessionStorage.setItem("apiform", JSON.stringify(this.form)); - - console.log("response.data", response.data); //闄勪欢澶勭悊 // this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] //涓氬姟鏄庣粏 getownFundDetail(this.curId).then(res => { this.rbDetails = res.data; + console.log("this.feeBlocks", this.feeBlocks); for (let m = 0; m < this.rbDetails.length; m++) { this.rbDetails[m].itemlist = []; - this.getFeeItems(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 - }); + //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭� + this.rbDetails[m].rowfeeblocks = this.feeBlocks.filter( + r => r.itemid == this.rbDetails[m].itemid + ); + console.log( + "this.rbDetails[m].rowfeeblocks", + this.rbDetails[m].rowfeeblocks + ); } if (this.rbDetails.length == 0) { @@ -1506,12 +1909,13 @@ }); }, - /** 淇敼鎸夐挳鎿嶄綔 */ + /** 鏌ョ湅鎸夐挳鎿嶄綔 */ handleCheck() { this.isopen = 0; this.reset(); getFund(this.curId).then(response => { + console.log(response.data, "鍒濆"); this.form = response.data; sessionStorage.removeItem("apiform"); @@ -1525,15 +1929,12 @@ this.rbDetails = res.data; for (let m = 0; m < this.rbDetails.length; m++) { this.rbDetails[m].itemlist = []; - this.getFeeItems(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 - }); + //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭� + this.rbDetails[m].rowfeeblocks = this.feeBlocks.filter( + r => r.itemid == this.rbDetails[m].itemid + ); } if (this.rbDetails.length == 0) { @@ -1561,8 +1962,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); @@ -1575,7 +1974,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: "鍙栨秷", @@ -1585,6 +1994,9 @@ //鏌ユ壘鏄惁瀛樺湪鐧昏瀹屾垚璁板綍 //鍒ゆ柇鏄惁瀛樺湪涓婃姤璁板綍 this.form.recordstatus = 0; + if (!this.form.id) { + this.form.id = this.$route.query.id; + } updateFund(this.form).then(response => { if (response.code == 200) { @@ -1592,6 +2004,7 @@ type: "success", message: "鐢宠鎴愬姛" }); + this.cancel(); } else { this.$message({ type: "error", @@ -1608,9 +2021,24 @@ }); }); }, - + 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; @@ -1640,10 +2068,7 @@ return; } - if ( - tempDetail.beneficiaryno == null || - tempDetail.beneficiaryno == "鐐瑰嚮閫夋嫨" - ) { + if (tempDetail.beneficiaryno == null) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + (k + 1).toString() + @@ -1703,44 +2128,6 @@ ].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") { @@ -1776,10 +2163,11 @@ isNaN(parseFloat(tempDetail.taxamount)) || parseFloat(tempDetail.taxamount) == 0 ) { - tempDetail.taxedamount = tempDetail.amount; + tempDetail.taxedamount = parseFloat(tempDetail.amount); } else { tempDetail.taxedamount = - tempDetail.amount + tempDetail.taxamount; + parseFloat(tempDetail.amount) + + parseFloat(tempDetail.taxamount); } } } @@ -1795,7 +2183,6 @@ this.rbDetails.map(item => { this.form.serviceFunddetails += item.amount; }); - console.log(this.rbDetails); this.form.serviceFunddetails = this.rbDetails; if (this.form.id != null) { @@ -1826,30 +2213,51 @@ // }); } - addorupdateFund(this.form).then(response => { - if (response.code === 200) { - 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 => { + console.log(this.form); + console.log(response, "淇濆瓨杩斿弬"); + if (response.code === 200) { + if (this.userprofile.nickName != "闄堟厱鍗�") { + 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.Routinglevel++; + } else { + this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + response.msg); + } + }); //鍏抽棴绐楀彛 this.loading = false; // this.getfundList(); - this.$store.dispatch("tagsView/delView", this.$route); - this.$router.go(-1); } }); - }, + }, 500), //瀹℃壒鎻愪氦 checksubmit() { + console.log(this.checkObj.flowlevelone); + if ( + this.form.checkstatus != 3 && + this.userprofile.nickName == "闄堟厱鍗�" && + this.checkObj.flowlevelone == 1 + ) { + this.$modal.msgError("璇烽�夌‘璁ゆ潗鏂欑姸鎬佸凡鏀跺埌锛�"); + return; + } let checkFundObj = { // fundid: this.checkObj.fundid, fundid: this.curId, @@ -1860,6 +2268,9 @@ //鍏抽棴绐楀彛 this.reset(); this.$modal.msgSuccess("瀹℃牳瀹屾垚!"); + if (this.userprofile.nickName == "闄堟厱鍗�") { + this.submitForm(); + } this.$store.dispatch("tagsView/delView", this.$route); this.$router.go(-1); }); @@ -1868,14 +2279,16 @@ // 鍙栨秷鎸夐挳 cancel() { // this.reset(); + console.log(-this.Routinglevel); this.$store.dispatch("tagsView/delView", this.$route); - this.$router.go(-1); + this.$router.go(-this.Routinglevel); }, //鑾峰彇褰撳墠鐢ㄦ埛淇℃伅 getUserProfile() { getUserProfile().then(res => { this.userprofile = res.data; + console.log(this.userprofile); this.standardlevel = res.data.standardlevel; if ( this.userprofile.userName == "admin" || @@ -1886,7 +2299,7 @@ } else { this.ismanager = false; } - console.log(this.userprofile, this.ismanager); + if (this.operationType == "add") { this.form.username = this.userprofile.nickName; this.form.userno = this.userprofile.userName; @@ -1971,6 +2384,7 @@ getFeeUnitList() { listReportname("org").then(res => { this.feeUnitList = res.data; + console.log(this.feeUnitList); }); }, @@ -1997,11 +2411,15 @@ }); }, - //鑾峰彇璐圭敤绫诲瀷 + //鑾峰彇鏈嶅姟璐圭敤绫诲瀷銆佹湇鍔¢」鐩�佹湇鍔¤鏄� 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({ @@ -2012,18 +2430,31 @@ }); } }); + + //鑾峰彇鏈嶅姟璐圭敤璇存槑鍒楄〃 + 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; + }); + } }, - getFeeItems(rowindex, row) { + //鑾峰彇鏈嶅姟椤圭洰 + getRowFeeItems(rowindex, row) { let list = this.feeItemTypes.filter(r => r.itemType == row.applytype); + console.log(list[0]); 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); - // }); }, //鍔犺浇鏈嶅姟椤圭洰 @@ -2032,13 +2463,6 @@ 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(); - // }); }, //鑾峰彇璐圭敤椤圭洰鐨勫娉ㄤ俊鎭� @@ -2050,16 +2474,22 @@ row.amount = 0.0; row.taxamount = 0.0; row.taxedamount = item.expense; + + //璁$畻绋庡墠閲戦 + // this.calculateTax(row, "B"); } else { row.amount = item.expense; row.taxamount = 0.0; row.taxedamount = 0.0; + + //璁$畻绋庡悗閲戦 + // this.calculateTax(row, "A"); } - this.form.serviceFunddetails = 0; - this.rbDetails.map(item => { - this.form.serviceFunddetails += item.amount; - }); + // this.form.serviceFunddetails = 0; + // this.rbDetails.map(item => { + // this.form.serviceFunddetails += item.amount; + // }); } }); }, @@ -2087,22 +2517,28 @@ } //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭� - 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; + } + } + } }, //绛涙煡鍑哄搴旂殑璐圭敤椤圭洰 @@ -2126,9 +2562,10 @@ }); } }, + //鍚堣璐圭敤 selectamount(row) { - this.rowfeeblocks.forEach((item, i) => { + this.feeBlockList.forEach((item, i) => { if (item.expense === row.amount) { row.remark = item.expensedescribe; } @@ -2155,6 +2592,43 @@ }); }, + //璁$畻涓◣锛歵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'灞炴�т笅 + } + console.log(targetValue, "鍚堣"); + this.form.pretaxcost = targetValue; + + //if (isNaN(parseFloat(tempDetail.taxedamount))) + //鑾峰彇鍙傛暟 + // this.taxParam.beneficiaryNo = row.beneficiaryno; + // this.taxParam.startTime = this.form.createTime.substring(0, 10); + // if (type == "A") { + // // 璁$畻涓◣銆佺◣鍚庨噾棰� + // this.taxParam.money = row.amount.toString(); + // getTaxByBeneFiciaryNo(this.taxParam).then(res => { + // if (res.code == 200) { + // row.taxamount = res.data; + // row.taxedamount = row.amount - row.taxamount; + // } + // }); + // } else { + // // 璁$畻绋庡墠銆佷釜绋庨噾棰� + // this.taxParam.money = row.taxedamount.toString(); + // getTaxBeforeByAfterMoney(this.taxParam).then(res => { + // if (res.code == 200) { + // row.taxamount = res.data.nowTax; + // row.amount = parseFloat(res.data.nowTaxBeforeMoney); + // } + // }); + // } + }, + //瀵煎叆鎵�鏈夐」鐩� importFeeItems() { this.loading = true; @@ -2179,31 +2653,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); } @@ -2211,16 +2692,6 @@ } 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(); - // } - // }); - // }); }, unsave() { @@ -2229,6 +2700,10 @@ }, // 鎺ュ彈鎻愰啋绔嬪埢淇濆瓨 Savenow() { + if (!this.randomnumber) { + this.randomnumber = this.generateRandomString(9); + this.form.randomnumber = this.randomnumber; + } this.Savereminder = false; this.Reminderquantity = 0; this.totalquantity = 0; @@ -2261,10 +2736,7 @@ return; } - if ( - tempDetail.beneficiaryno == null || - tempDetail.beneficiaryno == "鐐瑰嚮閫夋嫨" - ) { + if (tempDetail.beneficiaryno == null) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + (k + 1).toString() + @@ -2325,7 +2797,7 @@ } this.rbDetails[i] = tempDetail; /* - //璁$畻涓◣ + //璁$畻涓◣ //if (isNaN(parseFloat(tempDetail.taxedamount))) //鑾峰彇鍙傛暟 this.taxParam.beneficiaryNo = tempDetail.beneficiaryno; @@ -2339,13 +2811,13 @@ 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 == '') { //鑾峰彇鍙傛暟 @@ -2355,7 +2827,7 @@ 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); } @@ -2397,10 +2869,11 @@ isNaN(parseFloat(tempDetail.taxamount)) || parseFloat(tempDetail.taxamount) == 0 ) { - tempDetail.taxedamount = tempDetail.amount; + tempDetail.taxedamount = parseFloat(tempDetail.amount); } else { tempDetail.taxedamount = - tempDetail.amount + tempDetail.taxamount; + parseFloat(tempDetail.amount) + + parseFloat(tempDetail.taxamount); } } } @@ -2416,7 +2889,6 @@ this.rbDetails.map(item => { this.form.serviceFunddetails += item.amount; }); - console.log(this.rbDetails); this.form.serviceFunddetails = this.rbDetails; if (this.form.id != null) { @@ -2466,16 +2938,113 @@ } }); }, + 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 => { + console.log(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); + } 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, @@ -2492,6 +3061,7 @@ applytype: null, itemid: null, itemname: null, + itemcode: null, itemtype: null, amount: null, prepaidamount: null, @@ -2513,10 +3083,10 @@ rowfeeblocks: [], annexfiles: null }; - if (this.Reminderquantity >= 5) { - this.Savereminder = true; - return; - } + // if (this.Reminderquantity >= 5) { + // this.Savereminder = true; + // return; + // } if (rowIndex == undefined || rowIndex == null || rowIndex < 0) { this.rbDetails.push(rowData); } else { @@ -2536,6 +3106,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) { @@ -2546,9 +3119,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 }); @@ -2569,13 +3143,7 @@ }); //鍏ㄩ儴鍒犻櫎鍚庢坊鍔犱竴鏉℃柊琛� - if (this.rbDetails.length == 1) { - this.addRow(0); - } }, - - //璁$畻涓◣ - calculateTax() {}, //璁$畻鎬婚噾棰� sumTotalFee(row) { @@ -2671,28 +3239,10 @@ //鏂囦欢涓婁紶 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} 涓�!`); }, //鏂囦欢涓婁紶鎴愬姛鍥炶皟 @@ -2703,7 +3253,6 @@ // this.$modal.msgSuccess(response.msg); // this.fileList.push({ name: response.fileName, url: response.fileName }); // } else { - // console.log(response.msg); // } // }, uploadSccess(response, file, fileList) { @@ -2712,36 +3261,50 @@ //鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆 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.fileListto.push({ name: file.name, url: response.url }); + this.fileListto.push({ name: file.name, url: response.fileName }); + // this.fileListto.push({ name: file.name, url: response.url }); + 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); } }, // 鐐瑰嚮绁ㄦ嵁 Filepopup(index, rows, row) { + this.tableDatatop = []; + this.pdfimgsrcList = []; + 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.pdfimg = this.fileListto[0].url; - this.pdfimgsrcList = []; - this.pdfimgsrcList.push(this.pdfimg); - console.log(this.pdfimg); + this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url; + // this.pdfimg = this.fileListto[0].url; + this.fileListto.forEach(item => { + this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url); + }); + this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; } else { this.fileListto = []; this.pdfimg = ""; this.pdftitle = ""; } }, + // 鐐瑰嚮宸蹭笂浼犳枃浠� downFile(item) { - this.pdftitle = item.name; + this.pdftitle = + "鍏�" + this.pdfimgsrcList.length + "椤癸紝褰撳墠閫変腑" + item.name; let name = item.name.split("."); if (name[1] == "pdf") { this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); @@ -2751,11 +3314,12 @@ this.previewpdf = true; if (item.url) { this.pdfimg = this.Networkheader + "/prod-api" + item.url; - this.pdfimgsrcList = []; - this.pdfimgsrcList.push(this.pdfimg); - console.log(this.pdfimg); + + // if (!this.pdfimgsrcList.includes(this.pdfimg)) { + // this.pdfimgsrcList.push(this.pdfimg); + // } } else { - this.pdfimg = this.Networkheader + "/prod-api" + item.response.url; + this.pdfimg = this.Networkheader + "/prod-api" + item.url; } } else { this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; @@ -2763,12 +3327,38 @@ this.previewpdf = false; } }, - + getIndexInArray(arr, obj) { + return arr.indexOf(obj); + }, + // 鐐瑰嚮鍒犻櫎 + deletedowfile(row) { + 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); + }, + // 鐐瑰嚮涓婄Щ + moveupdowfile(row) { + const index = this.getIndexInArray(this.fileListto, row); + const item = this.fileListto.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� + this.fileListto.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + }, //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨 ShowDetailDialog(spoce, showType) { + this.spocewl = spoce; this.selectionType = showType; - this.expertfrom = "1"; + if (this.businessType == 4 || this.businessType == 3 || !showType) { + this.selectionType = this.experthear; + } + // if (!showType) { + // this.selectionType = this.experthear; + // } + this.expertfrom = "1"; + console.log(spoce); this.funddetailForm.index = spoce.$index; this.funddetailForm.beneficiaryno = spoce.row.beneficiaryno; this.funddetailForm.beneficiaryname = spoce.row.beneficiaryname; @@ -2787,13 +3377,24 @@ //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨 ConfirmDetailDialog() { + // if (this.businessType == 4) { + // if (this.experthear == "expert") { + // this.funddetailForm.beneficiaryname = this.unitforname; + // } else { + // this.funddetailForm.beneficiaryname = this.Personnelforname; + // } + // } let tempIndex = this.funddetailForm.index; let tempExpertName = this.funddetailForm.beneficiaryname; let tempUnitname = this.funddetailForm.unitname; let singleDetail = this.rbDetails[tempIndex]; - if (this.selectionType == "expert") { - if (this.expertfrom == "1") { + if ( + this.selectionType == "expert" || + this.businessType == 4 || + this.businessType == 3 + ) { + if (this.expertfrom == "1" || this.experthear == "unit") { //浠庝笓瀹跺垪琛ㄨ幏鍙栦俊鎭� this.personlist.map(res => { if (tempExpertName == res.username) { @@ -2892,7 +3493,6 @@ let unitIndex = this.feeUnitList.findIndex( item => singleDetail.unitno == item.reportNo ); - if (unitIndex > -1) { singleDetail.unitname = this.feeUnitList[unitIndex].reportName; singleDetail.depositbank = this.feeUnitList[ @@ -2908,6 +3508,12 @@ } } + // if (this.experthear == "unit") { + // singleDetail.unitname = ""; + // } + if (this.businessType == 4 || this.businessType == 3) { + singleDetail.beneficiaryname = this.funddetailForm.beneficiaryname; + } this.rbDetails[tempIndex] = singleDetail; this.showSelectionDialog = false; } @@ -2919,6 +3525,7 @@ this.Getnetworkheader(); this.getroute(); this.getExternalList(); + this.getFeeUnitList(); }, //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛� @@ -2928,20 +3535,18 @@ this.getUserProfile(); let apifunddetailForm = this.funddetailForm; let apiform = this.form; - console.log(apiform); - console.log(apifunddetailForm); // this.getFeeUnitList(); }, beforeCreate() {}, //鐢熷懡鍛ㄦ湡 - 鍒涘缓涔嬪墠 beforeMount() {}, //鐢熷懡鍛ㄦ湡 - 鎸傝浇涔嬪墠 - beforeUpdate() { - console.log("beforeUpdate"); - }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠 + beforeUpdate() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠 updated() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗 beforeDestroy() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓� - destroyed() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴� + destroyed() { + window.removeEventListener("beforeunload", e => this.beforeunloadFn(e)); + }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴� activated() {} //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂 }; </script> @@ -2957,7 +3562,6 @@ .top-text { text-align: center; - font-size: 23px; font-weight: 600; margin: 20px 0; @@ -2981,7 +3585,7 @@ height: 600px; .box-pdf { - width: 200px; + width: 400px; padding-top: 20px; margin-right: 30px; border: 1px solid #dcdfe6; @@ -3020,4 +3624,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