From 8022f7036945b75f82f2dfc43055623f81ed98f6 Mon Sep 17 00:00:00 2001 From: yxh <172933527@qq.com> Date: 星期五, 23 五月 2025 22:42:56 +0800 Subject: [PATCH] yxh --- src/views/project/fund/applyDetail/index.vue | 1150 ++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 680 insertions(+), 470 deletions(-) diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue index b5bcedd..b930047 100644 --- a/src/views/project/fund/applyDetail/index.vue +++ b/src/views/project/fund/applyDetail/index.vue @@ -6,12 +6,22 @@ <el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-row> <el-col :span="5"> - <el-form-item label="鐢宠鏃ユ湡" prop="createTime"> + <el-form-item label="鎶ラ攢鍗曞彿" prop="bh"> + <el-input + v-model="form.bh" + :disabled="true" + placeholder="鎶ラ攢鍗曞彿" + clearable + /> + </el-form-item> + </el-col> + <el-col :span="5"> + <el-form-item label="鐢宠鏃ユ湡" prop="applyTime"> <el-date-picker clearable :disabled="true" style="width: 100%" - v-model="form.createTime" + v-model="form.applyTime" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="鏃� 鏈�" @@ -40,6 +50,36 @@ </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> + <!-- + <el-col :span="7"> + <el-form-item label="宸ヤ綔鍗曚綅" prop="unitno"> + <org-selecter ref="orgSelecter" :org-type="'3'" v-model="form.unitno" /> + </el-form-item> + </el-col> + --> + <el-col :span="5"> + <el-form-item label="鐢宠鍗曠被鍨�"> + <el-radio v-model="form.applytype" :label="businessType">{{ + businessName + }}</el-radio> + </el-form-item> + </el-col> + <el-col :span="5" v-if="ismanager == true"> + <el-form-item label="鐢宠閲戦" prop="pretaxcost"> + <el-input + v-model="form.pretaxcost" + placeholder="绋庡墠閲戦鍚堣" + :disabled="true" + /> + </el-form-item> + </el-col> + <el-col :span="5"> <el-form-item label="鎵�灞炵粍鍒�" prop="deptmentname"> <el-input v-model="form.deptmentname" @@ -58,29 +98,9 @@ </el-form-item> </el-col> </el-row> - <el-row> - <!-- - <el-col :span="7"> - <el-form-item label="宸ヤ綔鍗曚綅" prop="unitno"> - <org-selecter ref="orgSelecter" :org-type="'3'" v-model="form.unitno" /> - </el-form-item> - </el-col> - --> + <el-row style="text-align: left"> <el-col :span="5"> - <el-form-item label="鐢宠鍗曠被鍨�"> - <el-radio v-model="form.applytype" :label="businessType">{{ - businessName - }}</el-radio> - </el-form-item> - </el-col> - - <el-col :span="5"> - <el-form-item label="鑱旂郴鐢佃瘽" prop="phone"> - <el-input v-model="form.phone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" /> - </el-form-item> - </el-col> - <el-col :span="5"> - <el-form-item label="鎹愮尞鑰�" prop="name"> + <el-form-item label="鎹愮尞妗堜緥" prop="name"> <el-input :disabled="true" v-model="form.donorname" @@ -88,24 +108,12 @@ /> </el-form-item> </el-col> - <el-col :span="5" v-if="ismanager == true"> - <el-form-item label="鐢宠閲戦" prop="pretaxcost"> - <el-input - v-model="form.pretaxcost" - placeholder="绋庡墠閲戦鍚堣" - :disabled="true" - /> - </el-form-item> - </el-col> - </el-row> - <el-row style="text-align: left"> - <el-col :span="8"> + <el-col :span="10"> <el-form-item label="鐢宠璇存槑" prop="remark"> <el-input v-model="form.remark" placeholder="鐢宠璇存槑" /> </el-form-item> </el-col> - - <!-- + <!-- <el-col :span="5"> <el-form-item label="鐢宠鐘舵��" prop="recordstatus"> <el-select v-model="form.recordstatus" placeholder="璇烽�夋嫨瀹℃牳鐘舵��" clearable size="small" :disabled="true"> @@ -128,41 +136,45 @@ </el-row> <el-row> <el-col :span="3" v-if="businessType == '1'"> - <el-button - @click.native.prevent="importFeeItems" - type="primary" - size="small" - > - 瀵煎叆鏈嶅姟椤圭洰 - </el-button> - </el-col> - <el-col :span="3"> - <div style="margin-bottom: 15px;" v-if="businessType == 2"> + <div style="margin-bottom: 15px;"> <el-button - type="success" + type="primary" icon="el-icon-download" + size="small" + @click.native.prevent="importFeeItems" + > + 鎵归噺瀵煎叆鏈嶅姟椤圭洰 + </el-button> + </div> + </el-col> + <el-col :span="3" v-if="businessType == 2"> + <div style="margin-bottom: 15px;"> + <el-button + type="primary" + icon="el-icon-download" + size="small" @click="Batchentry" - >鎵归噺褰曞叆</el-button + >鎵归噺褰曞叆涓撳</el-button > </div> </el-col> - - <el-col :span="3"> - <div - style="margin-bottom: 15px;" - v-if=" - userprofile.nickName == '闄堟厱鍗�' && - (businessType == '1' || businessType == '2') - " - > + <!-- <el-col + :span="3" + v-if=" + userprofile.nickName == '闄堟厱鍗�' && + (businessType == '1' || businessType == '2') + " + > + <div style="margin-bottom: 15px;"> <el-button type="success" icon="el-icon-edit-outline" + size="small" @click="Manualcalculationfn" >璁$畻涓◣</el-button > </div> - </el-col> + </el-col> --> </el-row> <el-row> <el-table @@ -182,10 +194,6 @@ <el-input v-model="scope.row.orderno" placeholder="搴忓彿" /> </template> </el-table-column> - <!-- - <el-table-column prop="itemcode" align="center" label="椤圭洰缂栧彿" show-overflow-tooltip="" - v-if="form.applytype == '1'"> - </el-table-column>--> <el-table-column prop="applytype" align="center" @@ -234,7 +242,7 @@ prop="servicesscope" align="center" label="鏈嶅姟璇存槑" - v-if="form.applytype == '1'" + v-if="businessType == '1'" width="180" > <template slot-scope="scope"> @@ -293,27 +301,13 @@ </template> </el-table-column> <el-table-column - v-show=" - businessType == 2 || - businessType == 3 || - businessType == 4 || - ismanager == true - " prop="amount" align="center" - :label="amountLabel" + :label="amountlabel" width="120" > <template slot-scope="scope"> - <el-input - v-model="scope.row.amount" - placeholder="閲戦" - @blur=" - val => { - calculateTax(scope.row, 'A'); - } - " - /> + <el-input v-model="scope.row.amount" placeholder="閲戦" /> </template> </el-table-column> <el-table-column @@ -321,9 +315,9 @@ align="center" label="鎵g◣閲戦" width="120" - v-show=" - (this.ismanager == true) & - (form.applytype == '1' || form.applytype == '2') + v-if=" + ismanager == true && + (businessType == '1' || businessType == '2') " > <template slot-scope="scope"> @@ -338,20 +332,15 @@ align="center" label="绋庡悗閲戦" width="120" - v-show=" - (this.ismanager == true) & - (form.applytype == '1' || form.applytype == '2') + v-if=" + ismanager == true && + (businessType == '1' || businessType == '2') " > <template slot-scope="scope"> <el-input v-model="scope.row.taxedamount" placeholder="绋庡悗閲戦" - @blur=" - val => { - calculateTax(scope.row, 'B'); - } - " /> </template> </el-table-column> @@ -380,7 +369,7 @@ align="center" label="涓撳鎵�鍦ㄥ崟浣�" width="250" - v-if="form.applytype == '1' && form.applytype == '2'" + v-if="businessType == '1' || businessType == '2'" > <template slot-scope="scope"> <el-button @@ -393,39 +382,13 @@ > </template> </el-table-column> - <!-- - <el-table-column prop="unitname" align="center" label="鍗曚綅锛堜釜浜猴級鍚嶇О" width="300" - v-if="form.applytype == '4' || form.applytype == '3'"> - <template slot-scope="scope"> - <el-button type="primary" plain @click="showSelectionDialog(scope, 'account')">{{ - scope.row.unitname - ? scope.row.unitname - : "鐐瑰嚮閫夋嫨" - }}</el-button> - <el-select - v-model="scope.row.unitno" - placeholder="鍗曚綅" - clearable - 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="title" align="center" label="鑱岀О" width="120" - v-if="form.applytype == '1' || form.applytype == '2'" + v-if="businessType == '1' || businessType == '2'" > <template slot-scope="scope"> <el-input v-model="scope.row.title" placeholder="鑱岀О" /> @@ -436,14 +399,12 @@ align="center" label="韬唤璇佸彿" width="200" - v-if="form.applytype == '1' || form.applytype == '2'" + v-if="businessType == '1' || businessType == '2'" > <template slot-scope="scope"> - <el-form-item :error="scope.row.error" label-width="0"> + <el-form-item label-width="0"> <el-input - :disabled=" - userprofile.nickName != '闄堟厱鍗�' && businessType == 1 - " + :disabled="userprofile.nickName != '闄堟厱鍗�'" v-model.number="scope.row.idcardno" @input="tableParValueChange1(scope.row)" placeholder="韬唤璇佸彿" @@ -459,9 +420,7 @@ > <template slot-scope="scope"> <el-input - :disabled=" - userprofile.nickName != '闄堟厱鍗�' && businessType == 1 - " + :disabled="userprofile.nickName != '闄堟厱鍗�'" v-model="scope.row.depositbank" placeholder="寮�鎴烽摱琛�" /> @@ -475,9 +434,7 @@ > <template slot-scope="scope"> <el-input - :disabled=" - userprofile.nickName != '闄堟厱鍗�' && businessType == 1 - " + :disabled="userprofile.nickName != '闄堟厱鍗�'" v-model="scope.row.bankcardno" placeholder="閾惰甯愬彿" /> @@ -503,12 +460,7 @@ align="center" width="330" label="澶囨敞" - v-if=" - businessType == 2 || - businessType == 3 || - businessType == 4 || - ismanager == true - " + v-show="ismanager == true" > <template slot-scope="scope"> <el-input @@ -558,7 +510,10 @@ type="text" size="small" v-if=" - businessType == 3 || businessType == 2 || businessType == 4 + businessType == 2 || + businessType == 3 || + businessType == 4 || + businessType == 1 " >绁ㄦ嵁</el-button > @@ -633,7 +588,7 @@ > <template slot-scope="scope"> <el-button - type="primary" + type="danger" size="mini" @click.native.prevent.stop="deletedowfile(scope.row)" >鍒犻櫎</el-button @@ -693,12 +648,21 @@ style="margin-top: 25px; margin-bottom: 5px" v-if="operationType == 'check' && userprofile.nickName == '闄堟厱鍗�'" > - <el-col :span="20"> - <el-form-item label="鐢宠鏉愭枡鐘舵��" prop="infoid"> + <el-col :span="12"> + <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-col :span="12" v-if="businessType == 1"> + <el-form-item label="绠楃◣鐘舵��" prop="infoid"> + <el-radio-group v-model="form.istax" align="left"> + <el-radio :label="-1">瀹℃牳涓�</el-radio> + <el-radio :label="0">鍏佽绠楃◣</el-radio> + <el-radio :label="1">宸茬畻绋�</el-radio> </el-radio-group> </el-form-item> </el-col> @@ -769,11 +733,11 @@ <el-col :span="24"> <el-form-item label="鍗曚綅鍚嶇О" - prop="expertunitno" + prop="expertunitname" label-width="120px" > <el-select - v-model="accountselectform.expertunitno" + v-model="accountselectform.expertunitname" placeholder="鍗曚綅鍚嶇О" clearable filterable @@ -784,7 +748,7 @@ v-for="(spec, index) in unitList" :key="index" :label="spec.organizationname" - :value="spec.organizationid" + :value="spec.organizationname" ></el-option> </el-select> </el-form-item> @@ -800,7 +764,7 @@ <el-radio-group v-model="accountfrom" style="margin-bottom: 0"> <el-radio label="1">浠庤处鎴峰簱</el-radio> <el-radio label="2" - >鏂板璐︽埛锛堟柊澧炲悗闇�瑕佸鏍哥‘璁ゆ墠鑳藉惎鐢級</el-radio + >鏂板璐︽埛锛堟柊澧炰笓瀹惰处鎴峰悗闇�瑕佸鏍稿惎鐢ㄦ墠鑳戒娇鐢級</el-radio > </el-radio-group> </el-form-item> @@ -819,39 +783,45 @@ <el-option v-for="item in accountlist" :key="item.id" - :label="item.username" - :value="item.username" + :label="item.userid" + :value="item.id" > </el-option> </el-select> </el-form-item> </el-col> </el-row> - <el-row v-if="accountfrom == '2'"> - <el-col :span="16" - ><el-form-item label="鏂板绫诲瀷" prop="usertype"> + <el-row v-if="selectionType == 'account' && accountfrom == '2'"> + <el-col :span="24"> + <el-form-item label="鏂板绫诲瀷" prop="usertype" class="left-align"> <el-radio-group v-model="accountselectform.usertype" style="margin-bottom: 0" + @change="userTypeChange(accountselectform.usertype)" > - <el-radio label="expert">鏂板涓撳璐﹀彿</el-radio> - <el-radio label="org">鏂板鍗曚綅璐﹀彿</el-radio> + <el-radio label="expert">涓撳璐︽埛</el-radio> + <el-radio label="org">鍗曚綅璐︽埛</el-radio> + <el-radio label="donor">鎹愮尞鑰呬翰灞炶处鎴�</el-radio> </el-radio-group> </el-form-item> </el-col> </el-row> - <el-row v-if="accountfrom == '2'"> + <el-row v-if="selectionType == 'account' && accountfrom == '2'"> <el-col :span="24"> - <el-form-item label="璐﹀彿鍚嶇О" prop="username"> + <el-form-item label="璐︽埛鍚嶇О" prop="username"> <el-input v-model="accountselectform.username" - placeholder="璇疯緭鍏ュ崟浣嶅悕绉版垨涓撳濮撳悕" + placeholder="璇疯緭鍏ュ崟浣嶅悕绉帮紝鎴栦笓瀹跺鍚嶏紝鎴栧叾浠栬处鍙�" /> </el-form-item> </el-col> </el-row> <el-row - v-if="accountfrom == '2' && accountselectform.usertype != 'org'" + v-if=" + selectionType == 'account' && + accountfrom == '2' && + accountselectform.usertype != 'org' + " > <el-col :span="12"> <el-form-item label="韬唤璇佸彿" prop="idcardno"> @@ -861,7 +831,7 @@ /> </el-form-item> </el-col> - <el-col :span="12"> + <el-col :span="12" v-if="accountselectform.usertype == 'expert'"> <el-form-item label="鑱岀О" prop="title"> <el-select v-model="accountselectform.title" @@ -878,7 +848,11 @@ </el-col> </el-row> <el-row - v-if="accountfrom == '2' && accountselectform.usertype != 'org'" + v-if=" + selectionType == 'account' && + accountfrom == '2' && + accountselectform.usertype == 'expert' + " > <el-col> <el-form-item label="鎵�鍦ㄥ崟浣�" prop="unitno"> @@ -908,7 +882,7 @@ </el-form-item> </el-col> </el-row> - <el-row v-if="accountfrom == '2'"> + <el-row v-if="selectionType == 'account' && accountfrom == '2'"> <el-col ><el-form-item label="寮�鎴烽摱琛�" prop="depositbank"> <el-input @@ -926,7 +900,7 @@ </el-form-item> </el-col> </el-row> - <el-row v-if="accountfrom == '2'"> + <el-row v-if="selectionType == 'account' && accountfrom == '2'"> <el-col> <el-form-item label="鑱旂郴鍦板潃" prop="address"> <el-input @@ -936,7 +910,7 @@ </el-form-item> </el-col> </el-row> - <el-row v-if="accountfrom == '2'"> + <el-row v-if="selectionType == 'account' && accountfrom == '2'"> <el-col> <el-form-item label="鑱旂郴鐢佃瘽" prop="telephone"> <el-input @@ -962,7 +936,7 @@ :visible.sync="pdfVisible" width="60%" > - <div> + <div style="margin-bottom: 10px;"> <el-table :data="tableDatatop" style="width: 100%"> <el-table-column v-if="businessType == 4" @@ -978,7 +952,7 @@ v-if="businessType == 4" > </el-table-column> - <el-table-column prop="amount" align="center" :label="amountLabel"> + <el-table-column prop="amount" align="center" :label="amountlabel"> </el-table-column> <el-table-column prop="taxedamount" @@ -1035,14 +1009,20 @@ </el-table-column> </el-table> </div> - + <el-alert + title="鏂颁笂浼犳枃浠堕渶鍦ㄦ彁浜や繚瀛樺悗鎵嶅彲杩涜妗堜緥鍏宠仈锛屽惁鍒欒涓烘斁寮�" + type="error" + show-icon + close-text="鐭ラ亾浜�" + > + </el-alert> <el-tabs style="margin-top: 20px;" v-model="activeName" type="border-card" @tab-click="handleClick" > - <el-tab-pane label="鏅�氶檮浠�" :name="1"> + <el-tab-pane label="鏅�氶檮浠�" name="common"> <div class="pdfimg"> <div class="box-pdf"> <div> @@ -1103,7 +1083,7 @@ > <template slot-scope="scope"> <el-button - type="primary" + type="danger" size="mini" @click.native.prevent.stop="deletedowfile(scope.row)" >鍒犻櫎</el-button @@ -1134,6 +1114,8 @@ <!-- <img :src="pdfimg" /> --> <el-image style="width: 95%; height: 90%" + @error="handleImageError" + @load="handleImageLoad" :src="pdfimg" :preview-src-list="pdfimgsrcList" > @@ -1145,7 +1127,7 @@ <div v-else class="pdfimgmins">{{ hintitle }}</div> </div> </el-tab-pane> - <el-tab-pane label="鍙戠エ鏂囦欢" :name="2"> + <el-tab-pane label="鍙戠エ鏂囦欢" name="invoice"> <div class="pdfimg"> <div class="box-pdf"> <div> @@ -1237,6 +1219,8 @@ <!-- <img :src="pdfimg" /> --> <el-image style="width: 95%; height: 90%" + @error="handleImageError" + @load="handleImageLoad" :src="invoicepdfimg" :preview-src-list="invoicepdfimgsrcList" > @@ -1367,7 +1351,8 @@ delExternalperson, addExternalperson, updateExternalperson, - exportExternalperson + exportExternalperson, + getOnlyCode } from "@/api/project/externalperson"; import { listItemexpense } from "@/api/project/itemexpense"; @@ -1428,7 +1413,7 @@ businessName: "", //鎿嶄綔绫诲瀷 operationType: "", - + Loadornot: false, //褰撳墠鍗曟嵁id curId: 0, //褰撳墠閫変腑鎹愮尞妗堜緥 @@ -1504,18 +1489,15 @@ selectionScope: "", //閫夋嫨绫诲瀷锛氫笓瀹讹紙鍗曚綅锛夎处鎴枫�佸伐浣滃崟浣嶏紙account/workunit锛� selectionType: "", - //鍙楃泭浜烘爣绛撅細涓撳璐�-涓撳锛堝崟浣嶏級鍚嶇О锛屽尰瀛︽垚鏈�-鍔炲叕-鍗曚綅锛堜釜浜猴級鍚嶇О - beneficiarylabel: "", //璐︽埛閫夋嫨锛�1鏄处鎴峰簱锛�2鏄柊澧� accountfrom: "1", + //鍙楃泭浜烘爣绛撅細涓撳璐�-涓撳锛堝崟浣嶏級鍚嶇О锛屽尰瀛︽垚鏈�-鍔炲叕-鍗曚綅锛堜釜浜猴級鍚嶇О + beneficiarylabel: "", //绋庡墠閲戦鏍囬锛氫笓瀹惰垂-绋庡墠閲戦锛涘尰瀛︽垚鏈�佸姙鍏垂鐢�-閲戦 - amountLabel: "绋庡墠閲戦", + amountlabel: "绋庡墠閲戦", // 琛ㄥ崟鏍¢獙 rules: { - // createTime: [ - // { required: true, message: "璇疯緭鍏ュ~鎶ユ棩鏈�", trigger: "blur" } - // ], reason: [ { required: true, message: "璇疯緭鍏ュ嚭宸簨鐢�", trigger: "blur" } ], @@ -1523,16 +1505,23 @@ { required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" } ] }, + dialogrules: { - // expertidcardno: [{ validator: validatePass, trigger: "blur" }], + usertype: [ + { required: true, message: "璇疯緭鍏ヨ处鎴风被鍨�", trigger: "blur" } + ], + username: [ + { required: true, message: "璇疯緭鍏ヨ处鎴峰悕绉�", trigger: "blur" } + ], + idcardno: [ + { required: true, message: "璇疯緭鍏ヨ韩浠借处鍙�", trigger: "blur" } + ], + //idcardno: [{ validator: validatePass, trigger: "blur" }], depositbank: [ { required: true, message: "璇疯緭鍏ュ紑鎴烽摱琛�", trigger: "change" } ], bankcardno: [ { required: true, message: "璇疯緭鍏ラ摱琛屽崱鍙�", trigger: "change" } - ], - unitno: [ - { required: true, message: "璇烽�夋嫨鍗曚綅鍚嶇О", trigger: "change" } ] }, @@ -1551,13 +1540,15 @@ unitno: null, personnelunitno: null, address: null, - telephone: null + telephone: null, + username: null, + userno: null }, accountform: { searchValue: null, id: null, - userstatus: 1, + userstatus: 0, usertype: null, pym: null, @@ -1623,6 +1614,11 @@ username: null, usertype: null }, + // 鏌ヨ鏈�鏂板簭鍙峰弬鏁� + seqnoParams: { + businessType: "externalperson", + datequery: false + }, //璁$畻涓◣鍙傛暟 taxParam: { @@ -1648,9 +1644,10 @@ invoicepdfimg: "", invoicepdfimgsrcList: [], invoDatatop: [], - activeName: 1, //鏂囦欢绫诲瀷 + activeName: "common", //鏂囦欢绫诲瀷 //涓婁紶闄勪欢璺緞 uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", + ICDtoken: getToken(), //鏂囦欢涓婁紶token headers: { Authorization: "Bearer " + getToken() @@ -1768,22 +1765,22 @@ // if (!this.businessType && !this.operationType) { if (this.businessType == "1") { this.businessName = "涓撳鍔冲姟璐圭敵璇峰崟"; - this.amountLabel = "绋庡墠閲戦"; + this.amountlabel = "绋庡墠閲戦"; this.beneficiarylabel = "涓撳鎴栧崟浣嶅悕绉�"; this.getUnitList(); } else if (this.businessType == "2") { this.businessName = "浼︾悊涓撳鍔冲姟璐圭敵璇峰崟"; - this.amountLabel = "绋庡墠閲戦"; + this.amountlabel = "绋庡墠閲戦"; this.beneficiarylabel = "涓撳鎴栧崟浣嶅悕绉�"; this.getUnitList(); } else if (this.businessType == "3") { this.businessName = "鍖诲鎴愭湰鎶ラ攢鍗�"; - this.amountLabel = "閲戦"; + this.amountlabel = "閲戦"; this.beneficiarylabel = "鍗曚綅鍚嶇О鎴栦釜浜�"; this.getUnitList(); } else if (this.businessType == "4") { this.businessName = "鍔炲叕璐圭敤鎶ラ攢鍗�"; - this.amountLabel = "閲戦"; + this.amountlabel = "閲戦"; this.beneficiarylabel = "鍗曚綅鍚嶇О鎴栦釜浜�"; this.getUnitList(); @@ -1842,11 +1839,8 @@ 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)); // this.form.recordstate =-1; @@ -1894,8 +1888,6 @@ 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)); @@ -1905,7 +1897,7 @@ //涓氬姟鏄庣粏 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.getRowFeeItems(m, this.rbDetails[m]); @@ -1913,10 +1905,6 @@ //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭� this.rbDetails[m].rowfeeblocks = this.feeBlocks.filter( r => r.itemid == this.rbDetails[m].itemid - ); - console.log( - "this.rbDetails[m].rowfeeblocks", - this.rbDetails[m].rowfeeblocks ); } @@ -1942,10 +1930,8 @@ 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)); //闄勪欢澶勭悊 @@ -2022,7 +2008,7 @@ //鍒ゆ柇鏄惁瀛樺湪涓婃姤璁板綍 this.form.recordstatus = 0; var currenttime = new Date(); - this.form.createTime = + this.form.applyTime = currenttime.getFullYear() + "-" + (currenttime.getMonth() + 1) + @@ -2095,22 +2081,6 @@ ); return; } - - /* - if ( - tempDetail.idcardno == null && - this.businessType != "3" && - this.businessType != "4" - ) { - console.log(1122); - this.$modal.msgWarning( - "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (k + 1).toString() + - "琛岀殑韬唤璇佹湭瀹屽杽锛岃鍏堝~鍐欒韩浠借瘉鍚庡啀鎻愪氦淇濆瓨锛�" - ); - return; - } - */ if (this.businessType == "1") { if (tempDetail.servicesscope == null) { @@ -2237,6 +2207,19 @@ // }); } else { this.form.recordstatus = -1; + var currenttime = new Date(); + this.form.applyTime = + currenttime.getFullYear() + + "-" + + (currenttime.getMonth() + 1) + + "-" + + currenttime.getDate() + + " " + + currenttime.getHours() + + ":" + + currenttime.getMinutes() + + ":" + + currenttime.getSeconds(); // addorupdateFund(this.form).then((response) => { // if (response.code === 200) { @@ -2254,9 +2237,7 @@ sessionStorage.setItem("apiform", JSON.stringify(this.form)); addorupdateFund(this.form) .then(response => { - console.log(this.form); - console.log(response, "淇濆瓨杩斿弬"); - if (response.code === 200) { + if (response.code == 200) { if (this.form.id) { this.$modal.msgSuccess("鐢宠鍗曚慨鏀规垚鍔燂紒"); this.$router.go(-1); @@ -2267,7 +2248,7 @@ path: "/finance/applyDetail/", query: { id: response.data, - businessType: "2", + businessType: this.businessType, operationType: "update", curCase: this.curCase } @@ -2290,40 +2271,34 @@ }); }, 500), - //瀹℃壒鎻愪氦 - // checksubmit() { - // 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("淇濆瓨骞跺鎵�"); - // }, checksubmit() { - console.log(this.checkObj.flowlevelone); - if (this.userprofile.nickName == "闄堟厱鍗�") { - //妫�鏌ユ槸鍚︽敹鍒扮焊璐ㄦ潗鏂� - if (this.form.checkstatus != 3 && this.checkObj.flowlevelone == 1) { - this.$modal.msgError("璇风‘璁ゆ姤閿�鐨勭焊璐ㄦ潗鏂欏凡缁忔敹鍒帮紒"); + //妫�鏌ユ槸鍚︽敹鍒扮焊璐ㄦ潗鏂� + if (this.checkObj.flowlevelone == 2) { + if (!this.checkObj.flowconclusion) { + this.$modal.msgError( + "璇疯緭鍏ュ鏍镐笉閫氳繃鐨勮鏄庝俊鎭紝鏂逛究缁忓姙浜轰慨鏀圭敵璇峰崟锛�" + ); return; } + } else if (this.checkObj.flowlevelone == 1) { + if (this.userprofile.nickName == "闄堟厱鍗�") { + //妫�鏌ユ槸鍚︽敹鍒扮焊璐ㄦ潗鏂� + if (this.form.checkstatus != 3) { + this.$modal.msgError("璇峰厛纭鎶ラ攢鐨勭焊璐ㄦ潗鏂欐槸鍚﹀凡缁忔敹鍒帮紒"); + return; + } - //妫�鏌ヤ釜绋庤绠� - // if ( (this.form.applytype == "1" || this.form.applytype == "2") && this.form.fundtaxtime == null ) { - // this.$modal.msgError( - // "鎻愪氦涓撳璐圭敤鐢宠鍗曘�佷鸡鐞嗕笓瀹剁敵璇疯垂鐢ㄧ敵璇峰崟瀹℃牳锛岄渶瑕佸厛瀹屾垚涓◣璁$畻锛�" - // ); - // return; - // } - if (this.form.applytype == "1" && this.form.fundtaxtime == null) { - this.$modal.msgError("鎻愪氦涓撳璐圭敤鐢宠鍗曞鏍革紝闇�瑕佸厛瀹屾垚涓◣璁$畻锛�"); - return; + //妫�鏌ヤ釜绋庤绠� + if (this.form.applytype == "1" && this.form.fundtaxtime == null) { + this.$modal.msgError( + "璇峰厛瀹屾垚涓撳璐圭敤鐨勪釜绋庤绠楀悗锛屽啀鎻愪氦瀹℃牳閫氳繃锛�" + ); + return; + } } + } else { + this.$modal.msgError("璇峰厛閫夋嫨瀹℃壒缁撴灉鍐嶆彁浜わ紒"); + return; } this.Savenow(); @@ -2340,7 +2315,6 @@ getUserProfile() { getUserProfile().then(res => { this.userprofile = res.data; - console.log(this.userprofile); this.standardlevel = res.data.standardlevel; if ( this.userprofile.userName == "admin" || @@ -2360,7 +2334,6 @@ this.form.managername = this.userprofile.dept.leader; this.form.phone = this.userprofile.phonenumber; // this.form.applytype = this.businessType; - // this.form.createTime = new Date(); if (this.businessType == "4") { this.getUserAccount(); @@ -2379,29 +2352,42 @@ //鑾峰彇涓撳銆佸崟浣嶆満鏋勭殑璐︽埛鍒楄〃 getAccountList() { listExternalperson().then(res => { - this.accountlist = res.rows; - /** - for (let j = 0; j < this.accountlist.length; j++) { + // this.accountlist = res.rows; + //鑾峰彇鍚敤鐨勮处鎴峰垪琛� + for (let j = 0; j < res.rows.length; j++) { //鍗曚綅璐﹀彿鍒楄〃 - if (this.accountlist[j].usertype == "org") { - this.feeAccountList.push({ - id: this.accountlist[j].id, - reportNo: this.accountlist[j].userno, - reportName: this.accountlist[j].username, - depositbank: this.accountlist[j].depositbank, - branchbankname: this.accountlist[j].branchbankname, - bankcardno: this.accountlist[j].bankcardno - }); - } - //涓撳璐﹀彿鍒楄〃 - else if (res.rows[j].usertype == "expert") { - this.expertAccountList.push({ - expertNo: this.accountlist[j].id, - exportName: this.accountlist[j].username+"("+this.accountlist[j].id+")" - }); + if (res.rows[j].userstatus == "1") { + if (res.rows[j].usertype == "org") { + this.accountlist.push({ + id: res.rows[j].id, + userno: res.rows[j].userno, + username: res.rows[j].username, + idcardno: res.rows[j].idcardno, + title: res.rows[j].title, + depositbank: res.rows[j].depositbank, + bankcardno: res.rows[j].bankcardno, + unitno: res.rows[j].unitno, + unitname: res.rows[j].unitname, + userid: + res.rows[j].username + "锛�" + res.rows[j].bankcardno + "锛�" + }); + } else { + this.accountlist.push({ + id: res.rows[j].id, + userno: res.rows[j].userno, + username: res.rows[j].username, + idcardno: res.rows[j].idcardno, + title: res.rows[j].title, + depositbank: res.rows[j].depositbank, + bankcardno: res.rows[j].bankcardno, + unitno: res.rows[j].unitno, + unitname: res.rows[j].unitname, + userid: + res.rows[j].username + "锛�" + res.rows[j].idcardno + "锛�" + }); + } } } - */ }); }, @@ -2409,7 +2395,7 @@ getUserAccount() { this.accountlist.map(res => { if (res.username == this.form.username) { - this.form.bankname = res.depositbank; //res.branchbankname銆乺es.depositbank; + this.form.bankname = res.depositbank; this.form.bankcardno = res.bankcardno; this.form.phone = res.telephone; } @@ -2421,7 +2407,6 @@ listOrganization(3).then(response => { for (let i = 0; i < response.rows.length; i++) { this.unitList.push({ - //organizationid: response.rows[i].organizationid, organizationid: response.rows[i].id, organizationname: response.rows[i].organizationname }); @@ -2480,7 +2465,6 @@ //鑾峰彇鏈嶅姟椤圭洰 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); }, @@ -2502,22 +2486,11 @@ 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; - // }); } }); }, @@ -2609,7 +2582,6 @@ } targetValue += parseFloat(this.rbDetails[i].amount); // 鍋囪姣忎釜瀵硅薄涓殑鐗瑰畾鍊煎瓨鍌ㄥ湪'specificValue'灞炴�т笅 } - console.log(targetValue, "鍚堣"); this.form.pretaxcost = targetValue; }, @@ -2721,7 +2693,15 @@ this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + (k + 1).toString() + - "琛岀殑鏈嶅姟浜哄憳濮撳悕涓洪�夋嫨,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�" + "琛岀殑浜哄憳濮撳悕涓虹┖,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + if (tempDetail.unitname == null) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (k + 1).toString() + + "琛岀殑涓撳鍗曚綅涓虹┖,璇烽�夋嫨鍗曚綅鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } @@ -2825,11 +2805,23 @@ flowconclusion: this.checkObj.flowlevelone, flowcontent: this.checkObj.flowconclusion }; + this.$modal.loading("姝e湪鎻愪氦瀹℃牳锛岃绋嶅�欙紒"); checkfund(checkFundObj).then(res => { - //鍏抽棴绐楀彛 - this.$modal.msgSuccess("瀹℃牳瀹屾垚!"); - this.$store.dispatch("tagsView/delView", this.$route); - this.$router.go(-1); + if (res.code == 200) { + //鍏抽棴绐楀彛 + this.$modal.closeLoading(); + this.$modal.msgSuccess("瀹℃牳瀹屾垚!"); + this.$store.dispatch("tagsView/delView", this.$route); + this.$router.go(-1); + } else { + this.$modal.closeLoading(); + + if (res.msg) { + this.$modal.msgError("鎿嶄綔澶辫"); + } else { + this.$modal.msgError(res.msg); + } + } }); } this.Getnetworkheader(); @@ -2861,7 +2853,6 @@ // 鎵嬪姩璁$畻 Manualcalculationfn() { ManualCalculation(this.rbDetails).then(res => { - console.log(res); if (res.code == 200) { sessionStorage.removeItem("apiform"); sessionStorage.removeItem("apifunddetail"); @@ -3004,10 +2995,6 @@ rowfeeblocks: [], annexfiles: null }; - // if (this.Reminderquantity >= 5) { - // this.Savereminder = true; - // return; - // } if (rowIndex == undefined || rowIndex == null || rowIndex < 0) { this.rbDetails.push(rowData); } else { @@ -3062,10 +3049,8 @@ .catch(() => { //鍑犵偣鍙栨秷鐨勬彁绀� }); - //鍏ㄩ儴鍒犻櫎鍚庢坊鍔犱竴鏉℃柊琛� }, - //璁$畻鎬婚噾棰� sumTotalFee(row) { let allSum = 0; @@ -3139,30 +3124,49 @@ totalprint(e) { // const id =this.row.id getdownloadBX(e).then(res => { - if (res.downloadUrl) { - var fileUrl = res; - //鑾峰彇褰撳墠缃戝潃 - var urlBase = process.env.VUE_APP_BASE_API; - var curWWWPath = window.document.location.href; - var pos = curWWWPath.indexOf(window.document.location.pathname); - // 鍒涘缓a鏍囩 - var aEle = document.createElement("a"); - aEle.href = - curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; - aEle.click(); - this.$alert("涓嬭浇鎴愬姛", "鎻愮ず", { - confirmButtonText: "纭畾", - type: "success" + var fileUrl = res; + //鑾峰彇褰撳墠缃戝潃 + var urlBase = process.env.VUE_APP_BASE_API; + var curWWWPath = window.document.location.href; + var pos = curWWWPath.indexOf(window.document.location.pathname); + // 鍒涘缓a鏍囩 + var aEle = document.createElement("a"); + aEle.href = + curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; + console.log(aEle.href); + // 娣诲姞Authorization澶撮儴 + fetch(aEle.href, { + headers: this.headers + }) + .then(response => { + // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇 + return response.blob(); + }) + .then(blob => { + const url = window.URL.createObjectURL(new Blob([blob])); + console.log(url); + const link = document.createElement("a"); + link.href = url; + const name = fileUrl["downloadName"]; + link.setAttribute("download", name); // 鏇挎崲file.pdf涓哄疄闄呯殑鏂囦欢鍚� + document.body.appendChild(link); + link.click(); + link.parentNode.removeChild(link); }); - } }); }, - //鏂囦欢涓婁紶 + handleImageError(e) { + // 鍔犺浇澶辫触 + }, + handleImageLoad(e) { + // 鍥剧墖鍔犺浇鎴愬姛鏃舵墽琛岀殑鎿嶄綔 + console.log("Image loaded successfully"); + }, handleUploadError() {}, remove(file, fileList) { const rbDetails = [...this.rbDetails]; - if (this.activeName == 1) { + if (this.activeName == "common") { this.fileListto.splice(this.fileListto.indexOf(file), 1); rbDetails[this.atpresent].annexfilesList = this.fileListto; } else { @@ -3173,108 +3177,199 @@ uploadSccess(response, file, fileList) { this.rbDetails; + const config = { + headers: { Authorization: "Bearer " + this.ICDtoken } + }; + const pdfimg = this.Networkheader + "/prod-api" + response.fileName; //鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆 - console.log(response); - console.log(file); - if (this.activeName == 1) { + if (this.activeName == "common") { if (response.code == 200) { - // this.form.filename = file.raw.name; this.previewpdf = true; + + fetch(pdfimg, config) + .then(response => response.blob()) + .then(blob => { + // 灏嗚幏鍙栫殑鏁版嵁娴佽浆鎹负URL + this.pdfimg = URL.createObjectURL(blob); + this.pdfimgsrcList.push(URL.createObjectURL(blob)); + this.fileListto.push({ + name: file.name, + url: URL.createObjectURL(blob) + }); + }) + .catch(error => { + console.error("Error loading image", error); + return; + }); + this.$modal.msgSuccess(response.msg); - this.fileListto.push({ + + console.log(this.fileListto, "鏂板鍚�"); + if (!this.rbDetails[this.atpresent].annexfilesList) { + this.rbDetails[this.atpresent].annexfilesList = []; + } + this.rbDetails[this.atpresent].annexfilesList.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 { if (response.code == 200) { - // this.form.filename = file.raw.name; this.previewpdf = true; + fetch(pdfimg, config) + .then(response => response.blob()) + .then(blob => { + // 灏嗚幏鍙栫殑鏁版嵁娴佽浆鎹负URL + this.invoicepdfimg = URL.createObjectURL(blob); + this.invoicepdfimgsrcList.push(URL.createObjectURL(blob)); + this.invoicefileListto.push({ + name: file.name, + url: URL.createObjectURL(blob) + }); + }) + .catch(error => { + console.error("Error loading image", error); + return; + }); + this.$modal.msgSuccess(response.msg); - this.invoicefileListto.push({ + + console.log(this.invoicefileListto, "鏂板鍚�"); + if (!this.rbDetails[this.atpresent].invoicefilesList) { + this.rbDetails[this.atpresent].invoicefilesList = []; + } + this.rbDetails[this.atpresent].invoicefilesList.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) { + const config = { + headers: { Authorization: "Bearer " + this.ICDtoken } + }; + this.tableDatatop = []; + this.fileListto = []; + this.invoicefileListto = []; + this.pdfimg = ""; + this.invoicepdfimg = []; 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.fileListto.forEach(item => { - this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url); + // this.rbDetails[index].annexfilesList.forEach((value, indexson) => { + // const pdfimg = this.Networkheader + "/prod-api" + value.url; + // fetch(pdfimg, config) + // .then(response => response.blob()) + // .then(blob => { + // // 灏嗚幏鍙栫殑鏁版嵁娴佽浆鎹负URL + // this.fileListto.push({ + // name: value.name, + // url: URL.createObjectURL(blob) + // }); + // if (this.fileListto.length == 1) { + // this.pdfimg = URL.createObjectURL(blob); + // } + // this.pdfimgsrcList.push(URL.createObjectURL(blob)); + // }) + // .catch(error => { + // console.error("Error loading image", error); + // return; + // }); + // }); + + const fetchPromises = this.rbDetails[index].annexfilesList.map( + (value, indexson) => { + const pdfimg = this.Networkheader + "/prod-api" + value.url; + return fetch(pdfimg, config) + .then(response => response.blob()) + .then(blob => { + return { + name: value.name, + url: URL.createObjectURL(blob) + }; + }) + .catch(error => { + console.error("Error loading image", error); + return null; + }); + } + ); + + Promise.all(fetchPromises).then(fileListto => { + this.fileListto = fileListto.filter(item => item !== null); + this.pdfimg = this.fileListto[0].url; + console.log(this.pdfimg, "pdfimg"); + this.pdfimgsrcList = this.fileListto.map(item => item.url); }); + + this.previewpdf = true; } 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 + const fetchPromises = this.rbDetails[index].invoicefilesList.map( + (value, indexson) => { + const pdfimg = this.Networkheader + "/prod-api" + value.url; + return fetch(pdfimg, config) + .then(response => response.blob()) + .then(blob => { + return { + name: value.name, + url: URL.createObjectURL(blob) + }; + }) + .catch(error => { + console.error("Error loading image", error); + return null; + }); + } + ); + + Promise.all(fetchPromises).then(invoicefileListto => { + this.invoicefileListto = invoicefileListto.filter( + item => item !== null + ); + this.invoicepdfimg = this.invoicefileListto[0].url; + console.log(this.invoicepdfimg, "invoicepdfimg"); + this.invoicepdfimgsrcList = this.invoicefileListto.map( + item => item.url ); }); - console.log(this.invoicepdfimgsrcList); - console.log(this.invoicepdfimg); + + this.previewpdf = true; } else { this.invoicefileListto = []; this.invoicepdfimg = ""; this.pdftitle = ""; } - if (this.activeName == 1) { + if (this.activeName == "common") { this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; } else { this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�"; } + console.log(this.fileListto, "this.fileListto"); + console.log(this.rbDetails[index].annexfilesList, "annexfilesList"); }, // 鐐瑰嚮宸蹭笂浼犳枃浠� downFile(item) { - if (this.activeName == 1) { - console.log(item, "鐐瑰嚮鏂囦欢鎷縤tem"); + if (this.activeName == "common") { this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤癸紝褰撳墠閫変腑" + item.name; let name = item.name.split("."); @@ -3283,11 +3378,12 @@ this.previewpdf = false; this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; } else if (name[1] == "jpg" || "png") { + console.log(item, "灞曠ず"); this.previewpdf = true; if (item.url) { - this.pdfimg = this.Networkheader + "/prod-api" + item.url; + this.pdfimg = item.url; } else { - this.pdfimg = this.Networkheader + "/prod-api" + item.response.url; + this.pdfimg = ""; } } else { this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; @@ -3295,7 +3391,6 @@ this.previewpdf = false; } } else { - console.log(item, "鐐瑰嚮鏂囦欢鎷縤tem"); this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤癸紝褰撳墠閫変腑" + item.name; let name = item.name.split("."); @@ -3306,12 +3401,9 @@ } 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"); + this.invoicepdfimg = item.url; } else { - this.invoicepdfimg = - this.Networkheader + "/prod-api" + item.response.url; + this.invoicepdfimg = ""; } } else { this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; @@ -3325,7 +3417,7 @@ }, // 鍙戠エ鍒囨崲 handleClick(tab, event) { - if (this.activeName == 1) { + if (this.activeName == "common") { this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; } else { this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�"; @@ -3333,40 +3425,88 @@ }, // 鐐瑰嚮鍒犻櫎 deletedowfile(row) { - if (this.activeName == 1) { - const indexlist = this.getIndexInArray( - this.pdfimgsrcList, - this.Networkheader + "/prod-api" + row.url - ); + console.log(row); + let indexvalue = ""; + if (this.activeName == "common") { + const indexlist = this.getIndexInArray(this.pdfimgsrcList, row.url); this.pdfimgsrcList.splice(indexlist, 1); const index = this.getIndexInArray(this.fileListto, row); this.fileListto.splice(index, 1); + console.log(this.rbDetails[this.atpresent].annexfilesList); + indexvalue = this.rbDetails[this.atpresent].annexfilesList.findIndex( + item => item.name == row.name + ); + console.log(indexvalue, "鍒犻櫎绱㈠紩"); + this.rbDetails[this.atpresent].annexfilesList.splice(indexvalue, 1); } else { const indexlist = this.getIndexInArray( this.invoicepdfimgsrcList, - this.Networkheader + "/prod-api" + row.url + row.url ); this.invoicepdfimgsrcList.splice(indexlist, 1); const index = this.getIndexInArray(this.invoicefileListto, row); this.invoicefileListto.splice(index, 1); + console.log(this.rbDetails[this.atpresent].invoicefilesList); + indexvalue = this.rbDetails[this.atpresent].invoicefilesList.findIndex( + item => item.name == row.name + ); + console.log(indexvalue, "鍒犻櫎绱㈠紩"); + this.rbDetails[this.atpresent].invoicefilesList.splice(indexvalue, 1); } }, // 鐐瑰嚮涓婄Щ moveupdowfile(row) { - if (this.activeName == 1) { - const index = this.getIndexInArray(this.fileListto, row); + if (this.activeName == "common") { + const index = this.fileListto.findIndex(item => item.name == row.name); const item = this.fileListto.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� this.fileListto.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + + const indexann = this.rbDetails[ + this.atpresent + ].annexfilesList.findIndex(item => item.name == row.name); + const itemann = this.rbDetails[this.atpresent].annexfilesList.splice( + indexann, + 1 + )[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� + this.rbDetails[this.atpresent].annexfilesList.splice( + indexann - 1, + 0, + itemann + ); // 灏唅temann鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + console.log(indexann, "indexann"); + console.log(index, "index"); } else { - const index = this.getIndexInArray(this.invoicefileListto, row); + const index = this.invoicefileListto.findIndex( + item => item.name == row.name + ); + const item = this.invoicefileListto.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� this.invoicefileListto.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + + const indexinvo = this.rbDetails[ + this.atpresent + ].invoicefilesList.findIndex(item => item.name == row.name); + const iteminvo = this.rbDetails[this.atpresent].invoicefilesList.splice( + indexinvo, + 1 + )[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� + this.rbDetails[this.atpresent].invoicefilesList.splice( + indexinvo - 1, + 0, + iteminvo + ); // 灏唅teminvo鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� } + console.log( + this.rbDetails[this.atpresent].annexfilesList, + "annexfilesList" + ); + console.log(this.fileListto, "fileListto"); + // console.log(this.rbDetails[this.atpresent].invoicefilesList,'invoicefilesList'); }, Downloadfile(row) { - console.log(row); - window.location.href = this.Networkheader + "/prod-api" + row.url; + window.location.href = row.url; }, + //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨 showSelectionDialog(scope, selectiontype) { this.selectionScope = scope; @@ -3376,15 +3516,21 @@ if (this.selectionType == "account") { //榛樿浠庤处鎴峰簱閫夋嫨锛�1,璐︽埛搴擄紱2锛屾柊寤鸿处鎴� this.accountfrom = "1"; - + if (scope.row.idcardno) { + this.accountselectform.accountname = + scope.row.beneficiaryname + "锛�" + scope.row.idcardno + "锛�"; + } else { + this.accountselectform.accountname = + scope.row.beneficiaryname + "锛�" + scope.row.bankcardno + "锛�"; + } this.accountselectform.accountno = scope.row.beneficiaryno; - this.accountselectform.accountname = scope.row.beneficiaryname; this.accountselectform.expertunitname = ""; this.accountselectform.expertunitno = ""; - this.accountselectform.unitno = ""; - this.accountselectform.unitname = ""; - this.accountselectform.telephone = ""; + + this.accountselectform.username = ""; + this.accountselectform.userno = ""; this.accountselectform.idcardno = ""; + this.accountselectform.telephone = ""; this.accountselectform.title = ""; this.accountselectform.unitno = ""; this.accountselectform.unitname = ""; @@ -3397,7 +3543,6 @@ this.accountselectform.expertunitname = scope.row.unitname; this.accountselectform.expertunitno = scope.row.unitno; } - this.showselectiondialog = true; }, @@ -3408,84 +3553,132 @@ if (this.selectionType == "account") { if (this.accountfrom == "1") { //璧嬪�间俊鎭� - this.accountlist.map(res => { - if (res.username == this.accountselectform.accountname) { - console.log(res); - this.rbDetails[tempIndex].beneficiaryno = res.userno; - this.rbDetails[tempIndex].beneficiaryname = res.username; - this.rbDetails[tempIndex].depositbank = res.depositbank; - this.rbDetails[tempIndex].branchbankname = res.branchbankname; - this.rbDetails[tempIndex].bankcardno = res.bankcardno; - this.rbDetails[tempIndex].phone = res.telephone; + if ( + this.rbDetails[tempIndex].userno != this.accountselectform.userno + ) { + this.accountlist.map(res => { + if (res.id == this.accountselectform.accountname) { + console.log(res, "res"); + const hasIdOne = this.rbDetails.some( + obj => obj.beneficiaryname == res.username + ); + if (hasIdOne) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛屼汉鍛樺悕绉帮細" + + res.username + + "閲嶅锛岃娉ㄦ剰鏍稿淇℃伅锛�" + ); + } + this.rbDetails[tempIndex].beneficiaryno = res.userno; + this.rbDetails[tempIndex].beneficiaryname = res.username; + this.rbDetails[tempIndex].depositbank = res.depositbank; + this.rbDetails[tempIndex].branchbankname = res.branchbankname; + this.rbDetails[tempIndex].bankcardno = res.bankcardno; + this.rbDetails[tempIndex].phone = res.telephone; - if (res.usertype == "org") { - this.rbDetails[tempIndex].idcardno = ""; - this.rbDetails[tempIndex].title = ""; - this.rbDetails[tempIndex].unitno = ""; - this.rbDetails[tempIndex].unitname = ""; - } else { - this.rbDetails[tempIndex].idcardno = res.idcardno; - this.rbDetails[tempIndex].title = res.title; - this.rbDetails[tempIndex].unitno = parseInt(res.unitno); - this.rbDetails[tempIndex].unitname = res.unitname; - } - } - }); - } else if (this.accountfrom == "2") { - //淇濆瓨鏂板璐﹀彿 - this.accountform.id = null; - this.accountform.userno = - this.accountlist[this.accountlist.length - 1].id + 1; - this.accountform.usertype = this.accountselectform.usertype; - this.accountform.username = this.accountselectform.username; - this.accountform.idcardno = this.accountselectform.idcardno; - this.accountform.sex = null; - this.accountform.title = this.accountselectform.title; - this.accountform.telephone = this.accountselectform.telephone; - this.accountform.address = this.accountselectform.address; - this.accountform.wbm = null; - this.accountform.pym = null; - - this.accountform.depositbank = this.accountselectform.depositbank; - this.accountform.bankcardno = this.accountselectform.bankcardno; - this.accountform.branchbankname = null; - this.accountform.remark = null; - this.accountform.del_flag = "0"; - this.accountform.personnelunitno = null; - - if (this.accountselectform.usertype != "org") { - this.accountform.unitno = this.accountselectform.unitno; - this.unitList.map(res => { - if (res.organizationid == this.accountform.unitno) { - this.accountform.unitname = res.organizationname; + if (res.usertype == "org") { + this.rbDetails[tempIndex].idcardno = ""; + this.rbDetails[tempIndex].title = ""; + this.rbDetails[tempIndex].unitno = ""; + this.rbDetails[tempIndex].unitname = ""; + } else { + this.rbDetails[tempIndex].idcardno = res.idcardno; + this.rbDetails[tempIndex].title = res.title; + this.rbDetails[tempIndex].unitno = parseInt(res.unitno); + this.rbDetails[tempIndex].unitname = res.unitname; + } } }); - // try { - // let unitIndex = this.unitList.findIndex( - // item => this.accountform.unitno == item.organizationid - // ); - // if (unitIndex > -1) { - // this.accountform.unitname = this.unitList[unitIndex].organizationname; - // } else { - // this.accountform.unitname = this.accountform.unitno; - // } - // } catch { - // this.accountform.unitname = this.accountform.unitno; - // } } - addExternalperson(this.accountform).then(response => { - if (response.code == 200) { - //this.$modal.msgSuccess("鏂扮殑涓撳鎴栧崟浣嶈处鎴蜂俊鎭凡娣诲姞鎴愬姛锛�"); - this.accountselectform.accountno = this.accountselectform.userno; - this.accountselectform.accountname = this.accountselectform.username; + } else if (this.accountfrom == "2") { + //淇濆瓨鏂板璐﹀彿 + //鑾峰彇鐢ㄦ埛缂栧彿 + getOnlyCode(this.seqnoParams).then(res => { + this.accountform.userno = res.data.currentvalue; - //閲嶆柊鑾峰彇璐︽埛鍒楄〃 - listExternalperson().then(res => { - this.accountlist = res.rows; + this.accountform.id = null; + this.accountform.usertype = this.accountselectform.usertype; + this.accountform.username = this.accountselectform.username; + this.accountform.idcardno = this.accountselectform.idcardno; + this.accountform.sex = null; + this.accountform.title = this.accountselectform.title; + this.accountform.telephone = this.accountselectform.telephone; + this.accountform.address = this.accountselectform.address; + this.accountform.wbm = null; + this.accountform.pym = null; + + this.accountform.depositbank = this.accountselectform.depositbank; + this.accountform.bankcardno = this.accountselectform.bankcardno; + this.accountform.branchbankname = null; + this.accountform.remark = null; + this.accountform.del_flag = "0"; + this.accountform.personnelunitno = null; + + if (this.accountselectform.usertype == "expert") { + this.accountform.unitno = this.accountselectform.unitno; + this.unitList.map(res => { + if (res.organizationid == this.accountform.unitno) { + this.accountform.unitname = res.organizationname; + } + }); + } else { + this.accountform.userstatus = 1; + } + + addExternalperson(this.accountform).then(response => { + if (response.code == 200) { + // //閲嶆柊鑾峰彇璐︽埛鍒楄〃 + // listExternalperson().then(res => { + // this.accountlist = res.rows; + // }); + + console.log("addExternalperson", response.data.id); + if (this.accountselectform.usertype == "org") { + this.accountlist.push({ + id: response.data.id, + userno: this.accountform.userno, + username: this.accountform.username, + idcardno: this.accountform.idcardno, + title: this.accountform.title, + depositbank: this.accountform.depositbank, + bankcardno: this.accountform.bankcardno, + unitno: this.accountform.unitno, + unitname: this.accountform.unitname, + userid: + this.accountform.username + + "锛�" + + this.accountform.bankcardno + + "锛�" + }); + this.$modal.msgSuccess("鎮ㄥ凡娣诲姞鎴愬姛鏂拌处鎴蜂俊鎭紒"); + } else { + this.accountlist.push({ + id: response.data.id, + userno: this.accountform.userno, + username: this.accountform.username, + idcardno: this.accountform.idcardno, + title: this.accountform.title, + depositbank: this.accountform.depositbank, + bankcardno: this.accountform.bankcardno, + unitno: this.accountform.unitno, + unitname: this.accountform.unitname, + userid: + this.accountform.username + + "锛�" + + this.accountform.idcardno + + "锛�" + }); + this.$modal.msgSuccess( + "鎮ㄥ凡娣诲姞鎴愬姛鏂拌处鎴蜂俊鎭�,闇�瑕佸湪璐﹀彿鐘舵�佸惎鐢ㄥ悗鎵嶈兘琚娇鐢紒" + ); + return; + } + this.accountselectform.accountno = this.accountform.userno; + this.accountselectform.accountname = this.accountselectform.username; //璧嬪�间俊鎭� this.accountlist.map(res => { - if (res.username == this.accountselectform.accountname) { + if (res.userno == this.accountselectform.accountno) { this.rbDetails[tempIndex].beneficiaryno = res.userno; this.rbDetails[tempIndex].beneficiaryname = res.username; this.rbDetails[tempIndex].depositbank = res.depositbank; @@ -3507,27 +3700,33 @@ } } }); - }); - } + } + }); }); } } else if (this.selectionType == "workunit") { - console.log(tempIndex); - - this.rbDetails[ - tempIndex - ].unitno = this.accountselectform.expertunitno; - this.unitList.map(res => { - if (res.organizationid == this.accountform.unitno) { - this.rbDetails[tempIndex].unitno.unitname = res.organizationname; - } - }); + if ( + this.rbDetails[tempIndex].unitname != + this.accountselectform.expertunitname + ) { + this.rbDetails[ + tempIndex + ].unitname = this.accountselectform.expertunitname; + this.unitList.map(res => { + if ( + res.organizationname == this.accountselectform.expertunitname + ) { + this.rbDetails[tempIndex].unitno = res.organizationid; + } + }); + } } //鍏抽棴绐楀彛 this.showselectiondialog = false; }); }, + tableParValueChange(row, tto) { const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}([0-9]|X)$/; if (tto) { @@ -3538,12 +3737,23 @@ } return; } - console.log(11); + if (regex.test(row.idcardno)) { row.error = ""; } else { row.error = "韬唤璇佸彿鐮佹牸寮忛敊璇�"; } + }, + + //璐︽埛绫诲瀷閫夋嫨鍙樺寲 + userTypeChange(type) { + if (type == "org") { + this.accountselectform.idcardno = ""; + this.accountselectform.unitno = ""; + this.accountselectform.unitname = ""; + this.accountselectform.personnelunitno = ""; + } + // this.$modal.msgWarning(type); } }, -- Gitblit v1.9.3