From 7c428310f2ee232db42b37543059b671ab723eda Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期五, 03 十一月 2023 18:30:22 +0800 Subject: [PATCH] 11 --- src/views/project/fund/applyDetail/index.vue | 1830 ++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 1,022 insertions(+), 808 deletions(-) diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue index c9a45de..f339d54 100644 --- a/src/views/project/fund/applyDetail/index.vue +++ b/src/views/project/fund/applyDetail/index.vue @@ -72,18 +72,7 @@ }}</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="璇疯緭鍏ヨ仈绯荤數璇�" /> @@ -98,7 +87,7 @@ /> </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" @@ -109,26 +98,7 @@ </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="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-col :span="8"> <el-form-item label="鐢宠璇存槑" prop="remark"> <el-input v-model="form.remark" placeholder="鐢宠璇存槑" /> </el-form-item> @@ -145,18 +115,9 @@ </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="importFeeItems" - type="primary" - size="small" - > - 瀵煎叆鏈嶅姟椤圭洰 - </el-button> - </el-col> - </el-row> <el-row v-if="jurisdiction"> + <!-- <el-alert title="褰撳墠涓烘煡鐪嬬姸鎬侊紝涓嶆敮鎸佷慨鏀瑰瓨鍌ㄣ��" type="warning"> + </el-alert> --> <el-alert title="褰撳墠涓烘煡鐪嬬姸鎬侊紝涓嶆敮鎸佷慨鏀瑰瓨鍌ㄣ��" type="warning" @@ -165,14 +126,41 @@ </el-alert> </el-row> <el-row> - <div style="margin-bottom: 15px;"> + <el-col :span="3" v-if="businessType == '1'"> <el-button - type="success" - icon="el-icon-download" - @click="Batchentry" - >鎵归噺褰曞叆</el-button + @click.native.prevent="importFeeItems" + type="primary" + size="small" > - </div> + 瀵煎叆鏈嶅姟椤圭洰 + </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 == '闄堟厱鍗�' + " + > + <el-button + type="success" + icon="el-icon-edit-outline" + @click="Manualcalculationfn" + >璁$畻涓◣</el-button + > + </div> + </el-col> </el-row> <el-row> <el-table @@ -205,7 +193,7 @@ <template slot-scope="scope"> <el-select v-model="scope.row.applytype" - placeholder="鏈嶅姟绫诲瀷" + placeholder="璇烽�夋嫨鏈嶅姟绫诲瀷" @change="verifyFeeItemType(scope.row)" > <el-option @@ -226,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)" @@ -367,25 +355,12 @@ type="primary" plain @click="ShowDetailDialog(scope, 'expert')" - >{{ scope.row.beneficiaryname }}</el-button + >{{ + scope.row.beneficiaryname + ? scope.row.beneficiaryname + : "鐐瑰嚮閫夋嫨" + }}</el-button > - <!-- <el-select - filterable - allow-create - ref="getReportname" - default-first-option - @change="selectExpert(scope.row)" - v-model="scope.row.beneficiaryname" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in expertlist" - :key="item.reportNo" - :label="item.reportName" - :value="item.reportName" - > - </el-option> - </el-select> --> </template> </el-table-column> <el-table-column @@ -393,23 +368,39 @@ align="center" label="鍗曚綅鍚嶇О" width="250" - v-if="form.applytype != '4'" + 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="unitno" + prop="beneficiaryname" align="center" label="鍗曚綅/涓汉" width="250" - v-if="form.applytype == '4'" + v-if="form.applytype == '4' || form.applytype == '3'" > <template slot-scope="scope"> <el-button @@ -417,9 +408,9 @@ plain @click="ShowDetailDialog(scope, 'expert')" >{{ - experthear == "expert" - ? scope.row.unitname - : scope.row.beneficiaryname + scope.row.beneficiaryname + ? scope.row.beneficiaryname + : "鐐瑰嚮閫夋嫨" }}</el-button > <!-- <el-select @@ -457,7 +448,13 @@ v-if="form.applytype == '1' || form.applytype == '2'" > <template slot-scope="scope"> - <el-input v-model="scope.row.idcardno" placeholder="韬唤璇佸彿" /> + <el-form-item :error="scope.row.error" label-width="0"> + <el-input + v-model.number="scope.row.idcardno" + @input="tableParValueChange(scope.row)" + placeholder="韬唤璇佸彿" + /> + </el-form-item> </template> </el-table-column> <el-table-column @@ -488,10 +485,31 @@ </template> </el-table-column> <el-table-column + prop="itemdescribe" + align="center" + width="330" + label="椤圭洰璇存槑" + > + <template slot-scope="scope"> + <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-if=" + businessType == 2 || + businessType == 3 || + businessType == 4 || + ismanager == true + " > <template slot-scope="scope"> <el-input @@ -547,47 +565,7 @@ </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 @@ -709,8 +687,23 @@ /> </el-table> </el-row> + <el-row style="margin-top: 25px; margin-bottom: 5px" + v-if="operationType == 'check' && userprofile.nickName == '闄堟厱鍗�'" + > + <el-col :span="7"> + <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="7"> @@ -722,6 +715,7 @@ </el-form-item> </el-col> </el-row> + <el-row v-if="operationType == 'check'"> <el-col :span="17"> <el-form-item label="瀹℃牳澶囨敞" align="left"> @@ -742,6 +736,12 @@ >鎻愪氦淇濆瓨</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'" @@ -759,8 +759,8 @@ style="text-align: center" v-loading="loading" > - <el-form ref="funddetailForm" :model="funddetailForm"> - <el-row v-if="businessType != 4"> + <el-form ref="funddetailForm" :rules="funddrules" :model="funddetailForm"> + <el-row v-if="businessType != 4 && businessType != 3"> <el-col :span="24" v-if="selectionType == 'expert' && businessType != 4" @@ -848,7 +848,7 @@ </el-col> </el-row> - <el-row v-if="businessType == 4"> + <el-row v-if="businessType == 4 || businessType == 3"> <el-col :span="24"> <el-form-item label="璇烽�夋嫨涓撳淇℃伅锛�" prop="experthear"> <el-radio-group @@ -890,7 +890,7 @@ <el-col :span="24" v-if="experthear == 'expert'"> <el-form-item label="鍗曚綅鍚嶇О" prop="unitno" label-width="120px"> <el-select - v-model="funddetailForm.unitname" + v-model="funddetailForm.beneficiaryname" placeholder="鍗曚綅鍚嶇О" @change="bbaaccss" clearable @@ -899,17 +899,17 @@ style="width: 100%" > <el-option - v-for="(spec, index) in unitList" + v-for="(spec, index) in feeUnitList" :key="index" - :label="spec.organizationname" - :value="spec.organizationname" + :label="spec.reportName" + :value="spec.reportName" ></el-option> </el-select> </el-form-item> </el-col> </el-row> - <el-row v-if="businessType != 4"> + <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 @@ -938,7 +938,7 @@ </el-form-item> </el-col> </el-row> - <el-row v-if="businessType != 4"> + <el-row v-if="businessType != 4 && businessType != 3"> <el-col :span="24" v-if="expertfrom == '2'"> <el-form-item label="韬唤璇佸彿" @@ -952,19 +952,8 @@ </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 v-if="businessType != 4"> + + <el-row v-if="businessType != 4 && businessType != 3"> <el-col :span="24" v-if="expertfrom == '2'"> <el-form-item label="鍗曚綅鍚嶇О" @@ -988,7 +977,7 @@ </el-select> </el-form-item ></el-col> </el-row> - <el-row v-if="businessType != 4"> + <el-row v-if="businessType != 4 && businessType != 3"> <el-col :span="24" v-if="expertfrom == '2'"> <el-form-item label="寮�鎴烽摱琛�" @@ -1030,106 +1019,286 @@ :visible.sync="pdfVisible" width="60%" > - <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> - <!-- <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" - @click="pdffn(item)" - v-for="item in fileList" - :key="item.name" + <div> + <el-table :data="tableDatatop" style="width: 100%"> + <el-table-column + v-if="businessType == 4" + prop="price" + align="center" + label="鍗曚环" > - {{ item.name }} - </div> --> - </div> - - <div v-if="this.previewpdf" class="pdfimgmin"> - <!-- <img :src="pdfimg" /> --> - <el-image - style="width: 95%; height: 90%" - :src="pdfimg" - :preview-src-list="pdfimgsrcList" + </el-table-column> + <el-table-column + prop="quantity" + align="center" + label="鏁伴噺" + v-if="businessType == 4" > - </el-image> - </div> - <div v-else class="pdfimgmins">{{ hintitle }}</div> + </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> + + <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" />{{ + 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> + + <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" />{{ + 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> + + <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 @@ -1176,7 +1345,7 @@ </div> <span slot="footer" class="dialog-footer"> - <el-button @click="dialogVisible = false">鍙� 娑�</el-button> + <el-button @click="batchdialogVisible = false">鍙� 娑�</el-button> <el-button type="primary" @click="BatchentryFn">纭� 瀹�</el-button> </span> </el-dialog> @@ -1207,6 +1376,7 @@ checkfund, getdownloadBX, addorupdateFund, + ManualCalculation, getdetailsByItemId } from "@/api/project/fund"; @@ -1250,6 +1420,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"; @@ -1280,6 +1452,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 { // 閬僵灞� @@ -1288,7 +1468,7 @@ exportLoading: false, usernamedata: "", jurisdiction: false, - + Routinglevel: 1, // 琛ㄥ崟鍙傛暟 form: {}, experthear: "", @@ -1327,13 +1507,28 @@ 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: [], @@ -1345,6 +1540,7 @@ totalPreTaxAmount: 0.0, totalAfterTaxAmount: 0.0, totalAmount: 0.0, + tableDatatop: [], //璐圭敤绫诲瀷鏁扮粍 feeItemTypes: [], @@ -1353,7 +1549,7 @@ rowfeeItemTypes: [], //璐圭敤璇存槑 - rowfeeblocks: [], + feeBlocks: [], fundflowList: [], // 闅忔満鏁� @@ -1375,6 +1571,18 @@ ], deptmentname: [ { required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" } + ] + }, + funddrules: { + expertidcardno: [{ validator: validatePass, trigger: "blur" }], + expertdepositbank: [ + { required: true, message: "璇疯緭鍏ュ紑鎴烽摱琛�", trigger: "change" } + ], + expertbankcardno: [ + { required: true, message: "璇疯緭鍏ラ摱琛屽崱鍙�", trigger: "change" } + ], + expertunitno: [ + { required: true, message: "璇烽�夋嫨鍗曚綅鍚嶇О", trigger: "change" } ] }, @@ -1467,10 +1675,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 @@ -1483,7 +1706,7 @@ pdfimgsrcList: [], pdfVisible: false, previewpdf: false, - hintitle: "閫変腑宸︿晶宸蹭笂浼犳枃浠堕瑙堟煡鐪�", + hintitle: "璇蜂笂浼犳枃浠跺悗鏌ョ湅", atpresent: "", Savereminder: false, //鎻愰啋淇濆瓨寮规 Reminderquantity: 0, //鎻愰啋鏁伴噺 @@ -1498,10 +1721,7 @@ watch: {}, //鏂规硶闆嗗悎 methods: { - bbaaccss(val) { - console.log(val); - console.log(this.funddetailForm); - }, + bbaaccss(val) {}, // 娴忚鍣ㄩ〉闈㈠叧闂垨鍒锋柊鎻愮ず beforeunloadHandler(e) { if ( @@ -1510,7 +1730,6 @@ sessionStorage.getItem("apifunddetail")) || !sessionStorage.getItem("apifunddetail") ) { - console.log(cg); } else { this._beforeUnload_time = new Date().getTime(); e = e || window.event; @@ -1576,7 +1795,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鍙婂叾鍓嶉儴瀛楃 @@ -1604,6 +1822,7 @@ } else if (this.businessType == "3") { this.businessName = "鍖诲鎴愭湰鎶ラ攢鍗�"; this.amountLabel = "閲戦"; + this.getUnitList(); } else if (this.businessType == "4") { this.businessName = "鍔炲叕璐圭敤鎶ラ攢鍗�"; this.amountLabel = "閲戦"; @@ -1616,7 +1835,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") { @@ -1665,6 +1883,8 @@ this.reset(); getFund(this.curId).then(response => { + console.log(response.data, "鍒濆"); + this.form = response.data; sessionStorage.removeItem("apiform"); @@ -1682,29 +1902,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", @@ -1721,7 +1926,6 @@ listFundflow(listFundflowparams).then(res => { this.fundflowList = res.rows; }); - console.log(this.fundflowList); }); }, @@ -1731,29 +1935,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) { @@ -1778,6 +1983,7 @@ this.reset(); getFund(this.curId).then(response => { + console.log(response.data, "鍒濆"); this.form = response.data; sessionStorage.removeItem("apiform"); @@ -1791,15 +1997,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) { @@ -1827,8 +2030,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); @@ -1841,7 +2042,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: "鍙栨秷", @@ -1851,6 +2062,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) { @@ -1858,6 +2072,7 @@ type: "success", message: "鐢宠鎴愬姛" }); + this.cancel(); } else { this.$message({ type: "error", @@ -1891,13 +2106,10 @@ this.randomnumber = this.generateRandomString(9); this.form.randomnumber = this.randomnumber; } - console.log(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++) { @@ -1907,6 +2119,19 @@ "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + (k + 1).toString() + "琛岀殑鏈嶅姟椤圭洰鏈�夋嫨锛岃鍏堥�夋嫨鏈嶅姟椤圭洰鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + if ( + tempDetail.idcardno == null && + this.businessType != "3" && + this.businessType != "4" + ) { + console.log(1122); + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (k + 1).toString() + + "琛岀殑韬唤璇佹湭瀹屽杽锛岃鍏堝~鍐欒韩浠借瘉鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } @@ -1921,10 +2146,7 @@ return; } - if ( - tempDetail.beneficiaryno == null || - tempDetail.beneficiaryno == "鐐瑰嚮閫夋嫨" - ) { + if (tempDetail.beneficiaryno == null) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + (k + 1).toString() + @@ -1933,27 +2155,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; - // if (list.length > 0) { - // this.form.annexfiles = list.map(item => item.url).join(","); - // } //澶勭悊鏄庣粏 for (let i = 0; i < this.rbDetails.length; i++) { @@ -1984,44 +2186,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") { @@ -2077,7 +2241,6 @@ this.rbDetails.map(item => { this.form.serviceFunddetails += item.amount; }); - console.log(this.rbDetails); this.form.serviceFunddetails = this.rbDetails; if (this.form.id != null) { @@ -2108,48 +2271,59 @@ // }); } - 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.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 + } + }); + } + } else { + this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + response.msg); + } + }); //鍏抽棴绐楀彛 this.loading = false; // this.getfundList(); - this.$store.dispatch("tagsView/delView", this.$route); - 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("瀹℃牳瀹屾垚!"); - this.$store.dispatch("tagsView/delView", this.$route); - this.$router.go(-1); - }); + console.log(this.checkObj.flowlevelone); + if ( + this.form.checkstatus != 3 && + this.userprofile.nickName == "闄堟厱鍗�" && + this.checkObj.flowlevelone == 1 + ) { + this.$modal.msgError("璇烽�夌‘璁ゆ潗鏂欑姸鎬佸凡鏀跺埌锛�"); + return; + } + this.Savenow(); + console.log("淇濆瓨骞跺鎵�"); }, // 鍙栨秷鎸夐挳 cancel() { - // this.reset(); this.$store.dispatch("tagsView/delView", this.$route); this.$router.go(-1); }, @@ -2158,6 +2332,7 @@ getUserProfile() { getUserProfile().then(res => { this.userprofile = res.data; + console.log(this.userprofile); this.standardlevel = res.data.standardlevel; if ( this.userprofile.userName == "admin" || @@ -2168,7 +2343,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; @@ -2251,16 +2426,14 @@ //鑾峰彇璐圭敤鏈烘瀯鍒楄〃 getFeeUnitList() { - console.log("鍗曚綅"); listReportname("org").then(res => { this.feeUnitList = res.data; + console.log(this.feeUnitList); }); - console.log(this.feeUnitList); }, //鑾峰彇鍖荤枟鏈烘瀯鍒楄〃 getUnitList() { - console.log("鍖荤枟鏈烘瀯"); listOrganization(3).then(response => { for (let i = 0; i < response.rows.length; i++) { this.unitList.push({ @@ -2268,7 +2441,6 @@ organizationid: response.rows[i].id, organizationname: response.rows[i].organizationname }); - console.log(this.unitList); } }); }, @@ -2283,11 +2455,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({ @@ -2298,18 +2474,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); - // }); }, //鍔犺浇鏈嶅姟椤圭洰 @@ -2318,13 +2507,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(); - // }); }, //鑾峰彇璐圭敤椤圭洰鐨勫娉ㄤ俊鎭� @@ -2338,20 +2520,20 @@ row.taxedamount = item.expense; //璁$畻绋庡墠閲戦 - this.calculateTax(row, "B"); + // this.calculateTax(row, "B"); } else { row.amount = item.expense; row.taxamount = 0.0; row.taxedamount = 0.0; //璁$畻绋庡悗閲戦 - this.calculateTax(row, "A"); + // 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; + // }); } }); }, @@ -2379,22 +2561,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; + } + } + } }, //绛涙煡鍑哄搴旂殑璐圭敤椤圭洰 @@ -2418,61 +2606,27 @@ }); } }, + //鍚堣璐圭敤 selectamount(row) { - this.rowfeeblocks.forEach((item, i) => { + this.feeBlockList.forEach((item, i) => { if (item.expense === row.amount) { row.remark = item.expensedescribe; } }); }, - selectExpert(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; - } - }); - }, - //璁$畻涓◣锛歵ype(A:宸茬煡绋庡墠閲戦锛岃绠楃◣鍚庨噾棰濓紱B锛氬凡鐭ョ◣鍚庨噾棰濓紝璁$畻绋庡墠閲戦) calculateTax(row, type) { - //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); - } - }); + 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; }, //瀵煎叆鎵�鏈夐」鐩� @@ -2499,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); } @@ -2531,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() { @@ -2559,9 +2710,6 @@ 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++) { @@ -2585,10 +2733,7 @@ return; } - if ( - tempDetail.beneficiaryno == null || - tempDetail.beneficiaryno == "鐐瑰嚮閫夋嫨" - ) { + if (tempDetail.beneficiaryno == null) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + (k + 1).toString() + @@ -2597,27 +2742,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; - // if (list.length > 0) { - // this.form.annexfiles = list.map(item => item.url).join(","); - // } //澶勭悊鏄庣粏 for (let i = 0; i < this.rbDetails.length; i++) { @@ -2648,44 +2773,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") { @@ -2730,51 +2817,37 @@ } } - //璐圭敤鍚堣 - // this.form.pretaxcost = parseFloat(this.totalPreTaxAmount).toFixed(2); - // this.form.taxedcost = parseFloat(this.totalAfterTaxAmount).toFixed(2); - // this.form.amountrequested = this.totalAmount.toFixed(2); - //淇濆瓨鏁版嵁 this.loading = true; this.form.serviceFunddetails = 0; this.rbDetails.map(item => { this.form.serviceFunddetails += item.amount; }); - console.log(this.rbDetails); this.form.serviceFunddetails = this.rbDetails; if (this.form.id != null) { - // updateFund(this.form).then((response) => { - // if (response.code === 200) { - // this.loading = false; - // for (let m = 0; m < this.rbDetails.length; m++) { - // if (this.rbDetails[m].id > 0) { - // updateFunddetail(this.rbDetails[m]).then((response2) => { if (response.code != 200) { this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐�1锛�" + response.msg); } }); - // } else { - // addFunddetail(this.rbDetails[m]).then((response2) => { if (response.code != 200) { this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐�2锛�" + response.msg); } }); - // } - // } - // this.$modal.msgSuccess("涓撳鍔冲姟璐逛繚瀛樻垚鍔燂紒"); - // } else { - // this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐ワ細" + response.msg); - // } - // }); } else { this.form.recordstatus = -1; - - // addorupdateFund(this.form).then((response) => { - // if (response.code === 200) { - // this.selectDonotor(this.curCase); - // } else { - // this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐ワ細" + response.msg); - // } - // }); } addorupdateFund(this.form).then(response => { if (response.code === 200) { this.$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.getExternalList(); @@ -2792,24 +2865,51 @@ }); }, handleCheckAllChange(val) { - console.log(val); this.checkedCities = val ? this.cityOptions : []; this.isIndeterminate = false; }, handleCheckedCitiesChange(value) { - console.log(value); - console.log(this.checkedCities); let checkedCount = value.length; - console.log(checkedCount); 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); + // 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 => { - console.log(res); this.cityOptions = res.data; }); this.batchdialogVisible = true; @@ -2817,13 +2917,11 @@ // 纭褰曞叆 BatchentryFn() { this.checkedCities.forEach(item => { - console.log(item); let rowData = { orderno: null, - id: item.id, fundid: null, beneficiaryname: item.reportName, - beneficiaryno: null, + beneficiaryno: item.reportNo, unitname: item.unitname, unitno: null, uintuserno: null, @@ -2838,11 +2936,13 @@ branchbankname: item.branchbankname, annexbankcard: null, annexregistform: null, - applytype: "浼︾悊瀹℃牳涓撳璐�", - itemid: "鍣ㄥ畼鎹愮尞浼︾悊瀹℃牳涓撳璐�", - itemname: null, + applytype: "7", + applytypename: "浼︾悊瀹℃牳涓撳璐�", + itemid: "27", + itemcode: "27", + itemname: "鍣ㄥ畼鎹愮尞浼︾悊瀹℃牳涓撳璐�", itemtype: null, - amount: null, + amount: 200, prepaidamount: null, taxamount: null, invoicecount: null, @@ -2856,19 +2956,20 @@ updateBy: null, updateTime: null, uploadflag: null, + itemdescribe: null, uploadtime: null, - itemlist: [], + itemlist: [{ id: "27", itemName: "鍣ㄥ畼鎹愮尞浼︾悊瀹℃牳涓撳璐�" }], servicesscope: null, rowfeeblocks: [], annexfiles: null }; - console.log(rowData); 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; }, //鏂板涓�琛� @@ -2877,9 +2978,10 @@ orderno: null, id: null, fundid: null, - beneficiaryname: "鐐瑰嚮閫夋嫨", + beneficiaryname: null, beneficiaryno: null, - unitname: "鐐瑰嚮閫夋嫨", + unitname: null, + itemdescribe: null, unitno: null, uintuserno: null, title: null, @@ -2896,6 +2998,7 @@ applytype: null, itemid: null, itemname: null, + itemcode: null, itemtype: null, amount: null, prepaidamount: null, @@ -2940,9 +3043,7 @@ type: "success" }) .then(() => { - console.log(this.rbDetails.length); if (this.rbDetails.length == 1) { - console.log("鏂板"); this.addRow(0); } if (row.id !== null) { @@ -2955,9 +3056,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 }); @@ -3076,132 +3178,217 @@ handleUploadError() {}, remove(file, fileList) { const rbDetails = [...this.rbDetails]; - this.fileListto.splice(this.fileListto.indexOf(file), 1); - 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 { + this.invoicefileListto.splice(this.invoicefileListto.indexOf(file), 1); + rbDetails[this.atpresent].invoicefilesList = this.invoicefileListto; + } }, - //鏂囦欢涓婁紶鎴愬姛鍥炶皟 - // 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.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.pdfimgsrcList.push( - this.Networkheader + "/prod-api" + response.fileName - ); - this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; - - this.rbDetails[this.atpresent].annexfilesList = this.fileListto; + console.log(response); + console.log(file); + 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 + ); + console.log(this.pdfimgsrcList); + 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 { - console.log(response.msg); + if (response.code == 200) { + // this.form.filename = file.raw.name; + 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 + ); + console.log(this.invoicepdfimgsrcList); + this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�"; + this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; + this.rbDetails[ + this.atpresent + ].invoicefilesList = this.invoicefileListto; + console.log(this.rbDetails[this.atpresent]); + } else { + console.log(response.msg); + } } }, // 鐐瑰嚮绁ㄦ嵁 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; + console.log(this.rbDetails[index]); if (this.rbDetails[index].annexfilesList) { this.previewpdf = true; this.fileListto = this.rbDetails[index].annexfilesList; + console.log(this.fileListto); this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url; - // this.pdfimg = this.fileListto[0].url; - this.pdfimgsrcList = []; this.fileListto.forEach(item => { this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url); }); - console.log(this.pdfimgsrcList); - console.log(this.pdfimg); } else { this.fileListto = []; this.pdfimg = ""; this.pdftitle = ""; } + // -鍙戠エ鏂囦欢 + if (this.rbDetails[index].invoicefilesList) { + this.previewpdf = true; + this.invoicefileListto = this.rbDetails[index].invoicefilesList; + console.log(this.invoicefileListto); + this.invoicepdfimg = + this.Networkheader + "/prod-api" + this.invoicefileListto[0].url; + this.invoicefileListto.forEach(item => { + this.invoicepdfimgsrcList.push( + this.Networkheader + "/prod-api" + item.url + ); + }); + console.log(this.invoicepdfimgsrcList); + console.log(this.invoicepdfimg); + } else { + this.invoicefileListto = []; + this.invoicepdfimg = ""; + this.pdftitle = ""; + } + + if (this.activeName == 1) { + this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; + } else { + this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�"; + } }, // 鐐瑰嚮宸蹭笂浼犳枃浠� downFile(item) { - console.log(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 = this.Networkheader + "/prod-api" + item.url; - - // if (!this.pdfimgsrcList.includes(this.pdfimg)) { - // this.pdfimgsrcList.push(this.pdfimg); - // console.log("鍔犲叆"); - // } - console.log(this.pdfimg); - console.log(this.pdfimgsrcList, "imglist"); + if (this.activeName == 1) { + console.log(item, "鐐瑰嚮鏂囦欢鎷縤tem"); + 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 = this.Networkheader + "/prod-api" + item.url; + this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; + this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); + this.previewpdf = false; } } else { - this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; - this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); - this.previewpdf = false; + console.log(item, "鐐瑰嚮鏂囦欢鎷縤tem"); + 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; + console.log(this.invoicepdfimg, "pdfimg"); + console.log(this.invoicepdfimgsrcList, "imglist"); + } else { + this.invoicepdfimg = + this.Networkheader + "/prod-api" + item.response.url; + } + } else { + this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; + this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); + this.previewpdf = false; + } } }, 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) { - console.log(this.fileListto); - console.log(row); - const indexlist = this.getIndexInArray( - this.pdfimgsrcList, - this.Networkheader + "/prod-api" + row.url - ); - console.log(indexlist); - this.pdfimgsrcList.splice(indexlist, 1); - const index = this.getIndexInArray(this.fileListto, row); - this.fileListto.splice(index, 1); - console.log(index); - console.log(this.pdfimgsrcList); + 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) { - const index = this.getIndexInArray(this.fileListto, row); - const item = this.fileListto.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� - this.fileListto.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + 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鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + } }, //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨 ShowDetailDialog(spoce, showType) { this.spocewl = spoce; - console.log(spoce); this.selectionType = showType; - if (this.businessType == 4 || !showType) { + if (this.businessType == 4 || this.businessType == 3 || !showType) { this.selectionType = this.experthear; - console.log(this.selectionType); } - // 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; @@ -3220,139 +3407,161 @@ //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨 ConfirmDetailDialog() { - console.log(this.funddetailForm.tempExpertName); - console.log(this.funddetailForm); - let tempIndex = this.funddetailForm.index; - let tempExpertName = this.funddetailForm.beneficiaryname; - let tempUnitname = this.funddetailForm.unitname; - let singleDetail = this.rbDetails[tempIndex]; - console.log(tempExpertName); + this.$refs["funddetailForm"].validate(valid => { + let tempIndex = this.funddetailForm.index; + let tempExpertName = this.funddetailForm.beneficiaryname; + let tempUnitname = this.funddetailForm.unitname; + let singleDetail = this.rbDetails[tempIndex]; - if (this.selectionType == "expert" || this.businessType == 4) { - if (this.expertfrom == "1" || this.experthear == "unit") { - //浠庝笓瀹跺垪琛ㄨ幏鍙栦俊鎭� - this.personlist.map(res => { - if (tempExpertName == 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 == "expert" || + this.businessType == 4 || + this.businessType == 3 + ) { + if (this.expertfrom == "1" || this.experthear == "unit") { + //浠庝笓瀹跺垪琛ㄨ幏鍙栦俊鎭� + this.personlist.map(res => { + if (tempExpertName == 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; - 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.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; } - } catch { - this.expertform.unitname = this.expertform.unitno; - } - this.expertform.title = this.funddetailForm.experttitle; - this.expertform.personnelunitno = null; + this.expertform.title = this.funddetailForm.experttitle; + this.expertform.personnelunitno = null; - this.expertform.depositbank = this.funddetailForm.expertdepositbank; - this.expertform.bankcardno = this.funddetailForm.expertbankcardno; - this.expertform.branchbankname = null; - this.expertform.remark = null; - this.expertform.del_flag = "0"; + this.expertform.depositbank = this.funddetailForm.expertdepositbank; + this.expertform.bankcardno = this.funddetailForm.expertbankcardno; + this.expertform.branchbankname = null; + this.expertform.remark = null; + this.expertform.del_flag = "0"; - addExternalperson(this.expertform).then(response => { - if (response.code == 200) { - this.$modal.msgSuccess("鏂板涓撳淇℃伅鎴愬姛锛�"); + 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); - } + 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); + } + }); }); - }); - } - }); - } - } else if (this.selectionType == "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 { + } + }); + } + } else if (this.selectionType == "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; } - } catch { - singleDetail.unitname = singleDetail.unitno; - } - } else if (this.businessType == 3 || this.businessType == 4) { - try { - let unitIndex = this.feeUnitList.findIndex( - item => singleDetail.unitno == item.reportNo - ); - - if (unitIndex > -1) { - singleDetail.unitname = this.feeUnitList[unitIndex].reportName; - singleDetail.depositbank = this.feeUnitList[ - unitIndex - ].depositbank; - singleDetail.bankcardno = this.feeUnitList[unitIndex].bankcardno; - } else { + } else if (this.businessType == 3 || this.businessType == 4) { + try { + let unitIndex = this.feeUnitList.findIndex( + item => singleDetail.unitno == item.reportNo + ); + 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; } - } catch { - singleDetail.unitname = singleDetail.unitno; } } - } - // if (this.experthear == "unit") { - // singleDetail.unitname = ""; - // } - if (this.businessType == 4) { - singleDetail.unitname = this.funddetailForm.unitname; + // 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; + }); + }, + 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(funddetailForm.expertidcardno)) { + row.error = ""; + } else { + row.error = "韬唤璇佸彿鐮佹牸寮忛敊璇�"; + } + return; } - console.log(this.funddetailForm); - this.rbDetails[tempIndex] = singleDetail; - this.showSelectionDialog = false; + console.log(11); + if (regex.test(row.idcardno)) { + row.error = ""; + } else { + row.error = "韬唤璇佸彿鐮佹牸寮忛敊璇�"; + } } }, @@ -3372,18 +3581,22 @@ this.getUserProfile(); let apifunddetailForm = this.funddetailForm; let apiform = this.form; - console.log(apiform); - console.log(apifunddetailForm); // this.getFeeUnitList(); }, - + beforeRouteLeave(to, from, next) { + // 鎵ц閿�姣佹搷浣� + this.$destroy(); + next(); + }, beforeCreate() {}, //鐢熷懡鍛ㄦ湡 - 鍒涘缓涔嬪墠 beforeMount() {}, //鐢熷懡鍛ㄦ湡 - 鎸傝浇涔嬪墠 beforeUpdate() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠 updated() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗 beforeDestroy() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓� - destroyed() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴� + destroyed() { + window.removeEventListener("beforeunload", e => this.beforeunloadFn(e)); + }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴� activated() {} //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂 }; </script> @@ -3399,7 +3612,6 @@ .top-text { text-align: center; - font-size: 23px; font-weight: 600; margin: 20px 0; @@ -3462,10 +3674,12 @@ 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; -- Gitblit v1.9.3