From 563230f7ebcfe6b2d07d147f8b0f29e681bb68fb Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期二, 05 三月 2024 11:05:07 +0800 Subject: [PATCH] 11 --- src/views/project/fund/applyDetail/index.vue | 1773 ++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 984 insertions(+), 789 deletions(-) diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue index c4f8e17..a5186fc 100644 --- a/src/views/project/fund/applyDetail/index.vue +++ b/src/views/project/fund/applyDetail/index.vue @@ -6,14 +6,25 @@ <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="鐢宠鏃ユ湡" + placeholder="鏃� 鏈�" > </el-date-picker> </el-form-item> @@ -39,21 +50,8 @@ </el-form-item> </el-col> <el-col :span="5"> - <el-form-item label="鎵�灞炵粍鍒�" prop="deptmentname"> - <el-input - v-model="form.deptmentname" - placeholder="璇疯緭鍏ユ墍灞炵粍鍒�" - clearable - /> - </el-form-item> - </el-col> - <el-col :span="5"> - <el-form-item label="缁勯暱" prop="managername"> - <el-input - v-model="form.managername" - placeholder="璇疯緭鍏ョ粍闀�" - clearable - /> + <el-form-item label="鑱旂郴鐢佃瘽" prop="phone"> + <el-input v-model="form.phone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" /> </el-form-item> </el-col> </el-row> @@ -72,21 +70,6 @@ }}</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-input - :disabled="true" - v-model="form.donorname" - placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" - /> - </el-form-item> - </el-col> <el-col :span="5" v-if="ismanager == true"> <el-form-item label="鐢宠閲戦" prop="pretaxcost"> <el-input @@ -96,14 +79,40 @@ /> </el-form-item> </el-col> + <el-col :span="5"> + <el-form-item label="鎵�灞炵粍鍒�" prop="deptmentname"> + <el-input + v-model="form.deptmentname" + placeholder="璇疯緭鍏ユ墍灞炵粍鍒�" + clearable + /> + </el-form-item> + </el-col> + <el-col :span="5"> + <el-form-item label="缁勯暱" prop="managername"> + <el-input + v-model="form.managername" + placeholder="璇疯緭鍏ョ粍闀�" + clearable + /> + </el-form-item> + </el-col> </el-row> <el-row style="text-align: left"> - <el-col :span="8"> + <el-col :span="5"> + <el-form-item label="鎹愮尞妗堜緥" prop="name"> + <el-input + :disabled="true" + v-model="form.donorname" + placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" + /> + </el-form-item> + </el-col> + <el-col :span="10"> <el-form-item label="鐢宠璇存槑" prop="remark"> <el-input v-model="form.remark" placeholder="鐢宠璇存槑" /> </el-form-item> </el-col> - <!-- <el-col :span="5"> <el-form-item label="鐢宠鐘舵��" prop="recordstatus"> @@ -127,35 +136,40 @@ </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 == '闄堟厱鍗�' && operationType == 'check' - " - > + <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 > @@ -180,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" @@ -232,7 +242,7 @@ prop="servicesscope" align="center" label="鏈嶅姟璇存槑" - v-if="form.applytype == '1'" + v-if="businessType == '1'" width="180" > <template slot-scope="scope"> @@ -291,33 +301,29 @@ </template> </el-table-column> <el-table-column - v-if=" - businessType == 2 || - businessType == 3 || - businessType == 4 || - ismanager == true - " prop="amount" align="center" - :label="amountLabel" + :label="amountlabel" width="120" > <template slot-scope="scope"> - <!-- - <el-select v-model="scope.row.amount" placeholder="绋庡墠閲戦" clearable filterable allow-create - @change="selectamount(scope.row)"> - <el-option v-for="dict in scope.row.rowfeeblocks" :key="dict.expensedescribe" :label="dict.expense" - :value="dict.expense"></el-option> - </el-select> - --> + <el-input v-model="scope.row.amount" placeholder="閲戦" /> + </template> + </el-table-column> + <el-table-column + prop="taxamount" + align="center" + label="鎵g◣閲戦" + width="120" + v-if=" + ismanager == true && + (businessType == '1' || businessType == '2') + " + > + <template slot-scope="scope"> <el-input - v-model="scope.row.amount" - placeholder="閲戦" - @blur=" - val => { - calculateTax(scope.row, 'A'); - } - " + v-model="scope.row.taxamount" + placeholder="鎵g◣閲戦" /> </template> </el-table-column> @@ -327,34 +333,29 @@ label="绋庡悗閲戦" width="120" v-if=" - (this.ismanager == true) & - (form.applytype == '1' || form.applytype == '2') + 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> <el-table-column prop="beneficiaryname" + column-key="sdad" align="center" - label="濮撳悕" - width="120" - v-if="form.applytype == '1' || form.applytype == '2'" + :label="beneficiarylabel" + width="200" > <template slot-scope="scope"> <el-button type="primary" plain - @click="ShowDetailDialog(scope, 'expert')" + @click="showSelectionDialog(scope, 'account')" >{{ scope.row.beneficiaryname ? scope.row.beneficiaryname @@ -366,75 +367,28 @@ <el-table-column prop="unitno" align="center" - label="鍗曚綅鍚嶇О" + label="涓撳鎵�鍦ㄥ崟浣�" width="250" - v-if="form.applytype != '4' && form.applytype != '3'" + v-if="businessType == '1' || businessType == '2'" > <template slot-scope="scope"> <el-button type="primary" plain - @click="ShowDetailDialog(scope, 'unit')" + @click="showSelectionDialog(scope, 'workunit')" >{{ scope.row.unitname ? scope.row.unitname : "鐐瑰嚮閫夋嫨" }}</el-button > - <!-- <el-select - v-model="scope.row.unitno" - placeholder="鍗曚綅" - clearable - filterable - allow-create - > - <el-option - v-for="(spec, index) in unitList" - :key="index" - :label="spec.organizationname" - :value="spec.organizationid" - ></el-option> - </el-select> --> </template> </el-table-column> - <el-table-column - prop="beneficiaryname" - align="center" - label="鍗曚綅/涓汉" - width="250" - v-if="form.applytype == '4' || form.applytype == '3'" - > - <template slot-scope="scope"> - <el-button - type="primary" - plain - @click="ShowDetailDialog(scope, 'expert')" - >{{ - scope.row.beneficiaryname - ? scope.row.beneficiaryname - : "鐐瑰嚮閫夋嫨" - }}</el-button - > - <!-- <el-select - v-model="scope.row.unitno" - 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="鑱岀О" /> @@ -445,10 +399,17 @@ align="center" label="韬唤璇佸彿" width="200" - v-if="form.applytype == '1' || form.applytype == '2'" + v-if="businessType == '1' || businessType == '2'" > <template slot-scope="scope"> - <el-input v-model="scope.row.idcardno" placeholder="韬唤璇佸彿" /> + <el-form-item label-width="0"> + <el-input + :disabled="userprofile.nickName != '闄堟厱鍗�'" + v-model.number="scope.row.idcardno" + @input="tableParValueChange1(scope.row)" + placeholder="韬唤璇佸彿" + /> + </el-form-item> </template> </el-table-column> <el-table-column @@ -457,9 +418,9 @@ label="寮�鎴烽摱琛�" width="200" > - <!-- v-if="form.applytype != '4'" --> <template slot-scope="scope"> <el-input + :disabled="userprofile.nickName != '闄堟厱鍗�'" v-model="scope.row.depositbank" placeholder="寮�鎴烽摱琛�" /> @@ -473,13 +434,14 @@ > <template slot-scope="scope"> <el-input + :disabled="userprofile.nickName != '闄堟厱鍗�'" v-model="scope.row.bankcardno" placeholder="閾惰甯愬彿" /> </template> </el-table-column> <el-table-column - prop="itemdescribe" + prop="itemdescrisca" align="center" width="330" label="椤圭洰璇存槑" @@ -498,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 @@ -552,7 +509,9 @@ " type="text" size="small" - v-if="businessType == 3 || businessType == 4" + v-if=" + businessType == 2 || businessType == 3 || businessType == 4 + " >绁ㄦ嵁</el-button > </template> @@ -626,7 +585,7 @@ > <template slot-scope="scope"> <el-button - type="primary" + type="danger" size="mini" @click.native.prevent.stop="deletedowfile(scope.row)" >鍒犻櫎</el-button @@ -686,11 +645,11 @@ style="margin-top: 25px; margin-bottom: 5px" v-if="operationType == 'check' && userprofile.nickName == '闄堟厱鍗�'" > - <el-col :span="7"> - <el-form-item label="鐢宠鏉愭枡鐘舵��" prop="infoid"> + <el-col :span="20"> + <el-form-item label="棰勫鏉愭枡" prop="infoid"> <el-radio-group v-model="form.checkstatus" align="left"> <el-radio :label="1">寰呯敵璇锋潗鏂�</el-radio> - <el-radio :label="2">鐢宠鏉愭枡閫氳繃绛夊緟鏉愭枡</el-radio> + <el-radio :label="2">瀹℃牳閫氳繃绛夊緟閭瘎绾歌川鏉愭枡</el-radio> <el-radio :label="3">宸叉敹鍒版姤閿�鏉愭枡</el-radio> </el-radio-group> </el-form-item> @@ -700,7 +659,7 @@ style="margin-top: 5px; margin-bottom: 5px" v-if="operationType == 'check'" > - <el-col :span="7"> + <el-col :span="20"> <el-form-item label="瀹℃牳缁撴灉" align="left"> <el-radio-group v-model="checkObj.flowlevelone" align="left"> <el-radio label="1">閫氳繃</el-radio> @@ -709,7 +668,6 @@ </el-form-item> </el-col> </el-row> - <el-row v-if="operationType == 'check'"> <el-col :span="17"> <el-form-item label="瀹℃牳澶囨敞" align="left"> @@ -727,7 +685,7 @@ operationType == 'update' || ismanager == true " - >鎻愪氦淇濆瓨</el-button + >淇濆瓨</el-button > <el-button type="success" @@ -746,63 +704,28 @@ </div> <el-dialog - :visible.sync="showSelectionDialog" + :visible.sync="showselectiondialog" :close-on-click-modal="false" - :title="'鍗曚綅/涓汉淇℃伅閫夋嫨'" - width="500px" + :title="'璐︽埛淇℃伅/鍗曚綅淇℃伅閫夋嫨'" + width="650px" style="text-align: center" v-loading="loading" > - <el-form ref="funddetailForm" :model="funddetailForm"> - <el-row v-if="businessType != 4 && businessType != 3"> - <el-col - :span="24" - v-if="selectionType == 'expert' && businessType != 4" - > - <el-form-item label="璇烽�夋嫨涓撳淇℃伅锛�" prop="expertfrom"> - <el-radio-group v-model="expertfrom" style="margin-bottom: 0"> - <el-radio label="1">涓撳搴�</el-radio> - <el-radio label="2">鏂板涓撳</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col - :span="24" - v-if="selectionType == 'expert' && expertfrom == '1'" - > - <el-form-item - label="涓撳濮撳悕" - prop="beneficiaryname" - label-width="80px" - > - <el-select - filterable - allow-create - ref="beneficiaryname" - default-first-option - v-model="funddetailForm.beneficiaryname" - placeholder="璇烽�夋嫨" - style="width: 100%" - > - <el-option - v-for="item in expertlist" - :key="item.expertNo" - :label="item.exportName" - :value="item.exportName" - > - </el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="24" v-if="selectionType == 'unit'"> + <el-form + ref="accountselectform" + :rules="dialogrules" + :model="accountselectform" + label-width="120px" + > + <el-row v-if="selectionType == 'workunit'"> + <el-col :span="24"> <el-form-item label="鍗曚綅鍚嶇О" - prop="unitno" + prop="expertunitname" label-width="120px" - v-if="businessType == 1 || businessType == 2" > <el-select - v-model="funddetailForm.unitno" + v-model="accountselectform.expertunitname" placeholder="鍗曚綅鍚嶇О" clearable filterable @@ -813,114 +736,94 @@ v-for="(spec, index) in unitList" :key="index" :label="spec.organizationname" - :value="spec.organizationid" - ></el-option> - </el-select> - </el-form-item> - <el-form-item - label="鍙戠エ鍗曚綅鍚嶇О" - prop="unitno" - label-width="120px" - v-if="businessType == 3" - > - <el-select - v-model="funddetailForm.unitno" - placeholder="鍗曚綅鍚嶇О" - clearable - filterable - allow-create - style="width: 100%" - > - <el-option - v-for="(item, index) in feeUnitList" - :key="index" - :label="item.reportName" - :value="item.reportNo" + :value="spec.organizationname" ></el-option> </el-select> </el-form-item> </el-col> </el-row> - - <el-row v-if="businessType == 4 || businessType == 3"> - <el-col :span="24"> - <el-form-item label="璇烽�夋嫨涓撳淇℃伅锛�" prop="experthear"> - <el-radio-group - @change="ShowDetailDialog(spocewl)" - v-model="experthear" - style="margin-bottom: 0" - > - <el-radio label="unit">浜哄憳閫夐」</el-radio> - <el-radio label="expert">鍗曚綅閫夐」</el-radio> + <el-row v-if="selectionType == 'account'"> + <el-col> + <el-form-item + label="璐︽埛鏉ユ簮" + prop="accountfrom" + class="left-align" + > + <el-radio-group v-model="accountfrom" style="margin-bottom: 0"> + <el-radio label="1">浠庤处鎴峰簱</el-radio> + <el-radio label="2" + >鏂板璐︽埛锛堟柊澧炰笓瀹惰处鎴峰悗闇�瑕佸鏍稿惎鐢ㄦ墠鑳戒娇鐢級</el-radio + > </el-radio-group> </el-form-item> </el-col> - <el-col :span="24" v-if="experthear == 'unit'"> - <el-form-item - label="浜哄憳濮撳悕" - prop="beneficiaryname" - label-width="80px" - > + <el-col :span="24" v-if="accountfrom == '1'"> + <el-form-item label="璐︽埛鍚嶇О" prop="accountname"> <el-select filterable allow-create - ref="beneficiaryname" + ref="accountname" default-first-option - @change="bbaaccss" - v-model="funddetailForm.beneficiaryname" + v-model="accountselectform.accountname" placeholder="璇烽�夋嫨" style="width: 100%" > <el-option - v-for="item in expertlist" - :key="item.expertNo" - :label="item.exportName" - :value="item.exportName" + v-for="item in accountlist" + :key="item.id" + :label="item.userid" + :value="item.id" > </el-option> </el-select> </el-form-item> </el-col> - <el-col :span="24" v-if="experthear == 'expert'"> - <el-form-item label="鍗曚綅鍚嶇О" prop="unitno" label-width="120px"> - <el-select - v-model="funddetailForm.beneficiaryname" - placeholder="鍗曚綅鍚嶇О" - @change="bbaaccss" - clearable - filterable - allow-create - style="width: 100%" + </el-row> + <el-row v-if="selectionType == 'account' && accountfrom == '2'"> + <el-col :span="24"> + <el-form-item label="鏂板绫诲瀷" prop="usertype" class="left-align"> + <el-radio-group + v-model="accountselectform.usertype" + style="margin-bottom: 0" + @change="userTypeChange(accountselectform.usertype)" > - <el-option - v-for="(spec, index) in feeUnitList" - :key="index" - :label="spec.reportName" - :value="spec.reportName" - ></el-option> - </el-select> + <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="businessType != 4 && businessType != 3"> - <el-col :span="12" v-if="expertfrom == '2'"> - <el-form-item label="涓撳濮撳悕" prop="expertname" label-width="80px"> + <el-row v-if="selectionType == 'account' && accountfrom == '2'"> + <el-col :span="24"> + <el-form-item label="璐︽埛鍚嶇О" prop="username"> <el-input - v-model="funddetailForm.expertname" - placeholder="蹇呭~椤�" + v-model="accountselectform.username" + placeholder="璇疯緭鍏ュ崟浣嶅悕绉帮紝鎴栦笓瀹跺鍚嶏紝鎴栧叾浠栬处鍙�" /> </el-form-item> </el-col> - <el-col :span="12" v-if="expertfrom == '2'"> - <el-form-item - label="鑱� 绉�" - prop="experttitle" - label-width="80px" - > + </el-row> + <el-row + v-if=" + selectionType == 'account' && + accountfrom == '2' && + accountselectform.usertype != 'org' + " + > + <el-col :span="12"> + <el-form-item label="韬唤璇佸彿" prop="idcardno"> + <el-input + v-model="accountselectform.idcardno" + placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" + /> + </el-form-item> + </el-col> + <el-col :span="12" v-if="accountselectform.usertype == 'expert'"> + <el-form-item label="鑱岀О" prop="title"> <el-select - v-model="funddetailForm.experttitle" - placeholder="蹇呭~椤�" + v-model="accountselectform.title" + placeholder="璇烽�夋嫨浜哄憳鑱岀О" > <el-option v-for="dict in dict.type.sys_professionaltitle" @@ -932,30 +835,17 @@ </el-form-item> </el-col> </el-row> - <el-row v-if="businessType != 4 && businessType != 3"> - <el-col :span="24" v-if="expertfrom == '2'"> - <el-form-item - label="韬唤璇佸彿" - prop="expertidcardno" - label-width="80px" - > - <el-input - v-model="funddetailForm.expertidcardno" - placeholder="蹇呭~椤�" - /> - </el-form-item> - </el-col> - </el-row> - - <el-row v-if="businessType != 4 && businessType != 3"> - <el-col :span="24" v-if="expertfrom == '2'"> - <el-form-item - label="鍗曚綅鍚嶇О" - prop="expertunitno" - label-width="80px" - > + <el-row + v-if=" + selectionType == 'account' && + accountfrom == '2' && + accountselectform.usertype == 'expert' + " + > + <el-col> + <el-form-item label="鎵�鍦ㄥ崟浣�" prop="unitno"> <el-select - v-model="funddetailForm.expertunitno" + v-model="accountselectform.unitno" placeholder="鍗曚綅鍚嶇О" clearable filterable @@ -968,41 +858,62 @@ :label="spec.organizationname" :value="spec.organizationid" ></el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - <el-row v-if="businessType != 4 && businessType != 3"> - <el-col :span="24" v-if="expertfrom == '2'"> - <el-form-item - label="寮�鎴烽摱琛�" - prop="expertdepositbank" - label-width="80px" - > + </el-select> + </el-form-item> + </el-col> + <el-col> + <el-form-item label="鍗曚綅宸ュ彿" prop="personnelunitno"> <el-input - v-model="funddetailForm.expertdepositbank" - placeholder="蹇呭~椤�" + v-model="accountselectform.personnelunitno" + placeholder="璇疯緭鍏ユ墍鍦ㄥ崟浣嶇殑宸ュ彿" /> </el-form-item> </el-col> - <el-col :span="24" v-if="expertfrom == '2'"> - <el-form-item - label="閾惰鍗″彿" - prop="expertbankcardno" - label-width="80px" - > + </el-row> + <el-row v-if="selectionType == 'account' && accountfrom == '2'"> + <el-col + ><el-form-item label="寮�鎴烽摱琛�" prop="depositbank"> <el-input - v-model="funddetailForm.expertbankcardno" - placeholder="蹇呭~椤�" + v-model="accountselectform.depositbank" + placeholder="璇疯緭鍏ュ紑鎴烽摱琛屽悕绉�" + /> + </el-form-item> + </el-col> + <el-col + ><el-form-item label="閾惰鍗″彿" prop="bankcardno"> + <el-input + v-model="accountselectform.bankcardno" + placeholder="璇疯緭鍏ラ摱琛屽崱鍙�" + /> + </el-form-item> + </el-col> + </el-row> + <el-row v-if="selectionType == 'account' && accountfrom == '2'"> + <el-col> + <el-form-item label="鑱旂郴鍦板潃" prop="address"> + <el-input + v-model="accountselectform.address" + placeholder="璇疯緭鍏ヨ仈绯诲湴鍧�" + /> + </el-form-item> + </el-col> + </el-row> + <el-row v-if="selectionType == 'account' && accountfrom == '2'"> + <el-col> + <el-form-item label="鑱旂郴鐢佃瘽" prop="telephone"> + <el-input + v-model="accountselectform.telephone" + placeholder="璇疯緭鍏ヨ仈绯荤數璇�" /> </el-form-item> </el-col> </el-row> </el-form> <span slot="footer" class="dialog-footer"> - <el-button @click="showSelectionDialog = false">鍙� 娑�</el-button> - <el-button type="primary" @click="ConfirmDetailDialog()" + <el-button type="primary" @click="confirmSelectionDialog()" >纭� 瀹�</el-button > + <el-button @click="showselectiondialog = false">鍙� 娑�</el-button> </span> </el-dialog> <el-dialog @@ -1013,7 +924,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" @@ -1029,7 +940,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" @@ -1057,12 +968,7 @@ v-if="form.applytype != '4'" > </el-table-column> --> - <el-table-column - prop="beneficiaryname" - align="center" - label="鍗曚綅/涓汉" - width="250" - > + <el-table-column prop="" align="center" label="鍗曚綅/涓汉" width="250"> </el-table-column> <el-table-column prop="title" @@ -1091,14 +997,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> @@ -1146,21 +1058,20 @@ label="鍚嶇О" > <template slot-scope="scope"> - <i style="color:#409EFF" class=" el-icon-s-order" />{{ - scope.row.name - }} + <i style="color:#409EFF" class=" el-icon-s-order" /> + <span>{{ scope.row.name }}</span> </template> </el-table-column> <el-table-column prop="name" - width="180" + width="190" :show-overflow-tooltip="true" label="鍔熻兘" > <template slot-scope="scope"> <el-button - type="primary" + type="danger" size="mini" @click.native.prevent.stop="deletedowfile(scope.row)" >鍒犻櫎</el-button @@ -1171,6 +1082,13 @@ @click.native.prevent.stop="moveupdowfile(scope.row)" >涓婄Щ</el-button > + <el-button + type="success" + size="mini" + icon="el-icon-search" + circle + @click.native.prevent.stop="Downloadfile(scope.row)" + ></el-button> </template> </el-table-column> </el-table> @@ -1184,6 +1102,8 @@ <!-- <img :src="pdfimg" /> --> <el-image style="width: 95%; height: 90%" + @error="handleImageError" + @load="handleImageLoad" :src="pdfimg" :preview-src-list="pdfimgsrcList" > @@ -1195,7 +1115,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> @@ -1243,15 +1163,14 @@ label="鍚嶇О" > <template slot-scope="scope"> - <i style="color:#409EFF" class=" el-icon-s-order" />{{ - scope.row.name - }} + <i style="color:#409EFF" class=" el-icon-s-order" /> + <span>{{ scope.row.name }}</span> </template> </el-table-column> <el-table-column prop="name" - width="180" + width="190" :show-overflow-tooltip="true" label="鍔熻兘" > @@ -1268,6 +1187,13 @@ @click.native.prevent.stop="moveupdowfile(scope.row)" >涓婄Щ</el-button > + <el-button + type="success" + size="mini" + icon="el-icon-search" + circle + @click.native.prevent.stop="Downloadfile(scope.row)" + ></el-button> </template> </el-table-column> </el-table> @@ -1281,6 +1207,8 @@ <!-- <img :src="pdfimg" /> --> <el-image style="width: 95%; height: 90%" + @error="handleImageError" + @load="handleImageLoad" :src="invoicepdfimg" :preview-src-list="invoicepdfimgsrcList" > @@ -1290,8 +1218,8 @@ </el-image> </div> <div v-else class="pdfimgmins">{{ hintitle }}</div> - </div></el-tab-pane - > + </div> + </el-tab-pane> </el-tabs> </el-dialog> <el-dialog title="鎻愮ず" :visible.sync="Savereminder" width="30%"> @@ -1305,8 +1233,8 @@ > </el-alert> <span slot="footer" class="dialog-footer"> - <el-button @click="unsave">鍙� 娑�</el-button> <el-button type="primary" @click="Savenow">纭� 瀹�</el-button> + <el-button @click="unsave">鍙� 娑�</el-button> </span> </el-dialog> @@ -1339,8 +1267,8 @@ </div> <span slot="footer" class="dialog-footer"> - <el-button @click="batchdialogVisible = false">鍙� 娑�</el-button> <el-button type="primary" @click="BatchentryFn">纭� 瀹�</el-button> + <el-button @click="batchdialogVisible = false">鍙� 娑�</el-button> </span> </el-dialog> </div> @@ -1411,7 +1339,8 @@ delExternalperson, addExternalperson, updateExternalperson, - exportExternalperson + exportExternalperson, + getOnlyCode } from "@/api/project/externalperson"; import { listItemexpense } from "@/api/project/itemexpense"; @@ -1446,6 +1375,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 { // 閬僵灞� @@ -1457,8 +1394,6 @@ Routinglevel: 1, // 琛ㄥ崟鍙傛暟 form: {}, - experthear: "", - spocewl: "", //璐圭敤鐢宠琛ㄥ崟title title: "", //鐢宠鍗曠被鍨� @@ -1466,7 +1401,7 @@ businessName: "", //鎿嶄綔绫诲瀷 operationType: "", - + Loadornot: false, //褰撳墠鍗曟嵁id curId: 0, //褰撳墠閫変腑鎹愮尞妗堜緥 @@ -1478,14 +1413,11 @@ userprofile: {}, //绯荤粺鐢ㄦ埛鍒楄〃 userlist: [], - //鎵�鏈変汉鍛樿〃 - personlist: [], - //涓撳鍒楄〃 - expertlist: [], + //璐﹀彿鍒楄〃 + accountlist: [], //鍖荤枟鏈烘瀯鍒楄〃 unitList: [], - //璐圭敤鎶ラ攢鏈烘瀯鍒楄〃 - feeUnitList: [], + // 缃戠粶璇锋眰澶� Networkheader: null, batchdialogVisible: false, @@ -1499,8 +1431,6 @@ //鏄惁鏄笓瀹惰垂鐨凮PO瀹℃壒浜哄憳 ismanager: false, - //涓撳璐归�夋嫨锛�1鏄笓瀹跺簱锛�2鏄柊澧� - expertfrom: "1", baselisttages: [ { id: 1, @@ -1541,17 +1471,21 @@ // 闅忔満鏁� randomnumber: "", - //涓撳/鍗曚綅閫夋嫨锛歟xpert/unit + //閫夋嫨绐楀彛鏄剧ず鐘舵�� + showselectiondialog: false, + //閫夋嫨鏃跺綋鍓嶈 + selectionScope: "", + //閫夋嫨绫诲瀷锛氫笓瀹讹紙鍗曚綅锛夎处鎴枫�佸伐浣滃崟浣嶏紙account/workunit锛� selectionType: "", - showSelectionDialog: false, + //璐︽埛閫夋嫨锛�1鏄处鎴峰簱锛�2鏄柊澧� + accountfrom: "1", + //鍙楃泭浜烘爣绛撅細涓撳璐�-涓撳锛堝崟浣嶏級鍚嶇О锛屽尰瀛︽垚鏈�-鍔炲叕-鍗曚綅锛堜釜浜猴級鍚嶇О + beneficiarylabel: "", //绋庡墠閲戦鏍囬锛氫笓瀹惰垂-绋庡墠閲戦锛涘尰瀛︽垚鏈�佸姙鍏垂鐢�-閲戦 - amountLabel: "绋庡墠閲戦", + amountlabel: "绋庡墠閲戦", // 琛ㄥ崟鏍¢獙 rules: { - createTime: [ - { required: true, message: "璇疯緭鍏ュ~鎶ユ棩鏈�", trigger: "blur" } - ], reason: [ { required: true, message: "璇疯緭鍏ュ嚭宸簨鐢�", trigger: "blur" } ], @@ -1560,47 +1494,73 @@ ] }, - funddetailForm: { - index: null, - beneficiaryname: null, - beneficiaryno: null, - unitno: null, - unitname: null, - expertname: null, - expertidcardno: null, - expertunitno: null, - expertunitname: null, - experttitle: null, - expertdepositbank: null, - expertbankcardno: null + dialogrules: { + usertype: [ + { required: true, message: "璇疯緭鍏ヨ处鎴风被鍨�", trigger: "blur" } + ], + username: [ + { required: true, message: "璇疯緭鍏ヨ处鎴峰悕绉�", trigger: "blur" } + ], + idcardno: [ + { required: true, message: "璇疯緭鍏ヨ韩浠借处鍙�", trigger: "blur" } + ], + //idcardno: [{ validator: validatePass, trigger: "blur" }], + depositbank: [ + { required: true, message: "璇疯緭鍏ュ紑鎴烽摱琛�", trigger: "change" } + ], + bankcardno: [ + { required: true, message: "璇疯緭鍏ラ摱琛屽崱鍙�", trigger: "change" } + ] }, - expertform: { - id: null, - address: null, - bankcardno: null, - branchbankname: null, - createBy: null, - createTime: null, - del_flag: null, + accountselectform: { + index: null, + usertype: "expert", + accountname: null, + accountno: null, + expertunitname: null, + expertunitno: null, depositbank: null, + bankcardno: null, idcardno: null, - personnelunitno: null, - pym: null, - remark: null, - searchValue: null, - sex: null, - telephone: null, title: null, unitname: null, unitno: null, - updateBy: null, - updateTime: null, + personnelunitno: null, + address: null, + telephone: null, + username: null, + userno: null + }, + + accountform: { + searchValue: null, + id: null, + userstatus: 0, + usertype: null, + + pym: null, + wbm: null, username: null, userno: null, - userstatus: 1, - usertype: null, - wbm: null + sex: null, + idcardno: null, + title: null, + address: null, + telephone: null, + depositbank: null, + branchbankname: null, + bankcardno: null, + unitname: null, + unitno: null, + personnelunitno: null, + + del_flag: null, + createBy: null, + createTime: null, + updateBy: null, + updateTime: null, + remark: null }, //瀹℃壒鍙傛暟 checkObj: { @@ -1642,6 +1602,11 @@ username: null, usertype: null }, + // 鏌ヨ鏈�鏂板簭鍙峰弬鏁� + seqnoParams: { + businessType: "externalperson", + datequery: false + }, //璁$畻涓◣鍙傛暟 taxParam: { @@ -1667,9 +1632,10 @@ invoicepdfimg: "", invoicepdfimgsrcList: [], invoDatatop: [], - activeName: 1, //鏂囦欢绫诲瀷 + activeName: "common", //鏂囦欢绫诲瀷 //涓婁紶闄勪欢璺緞 uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", + ICDtoken: getToken(), //鏂囦欢涓婁紶token headers: { Authorization: "Bearer " + getToken() @@ -1787,19 +1753,23 @@ // 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(); // this.getBaseInfoList(); @@ -1857,11 +1827,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; @@ -1909,8 +1876,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)); @@ -1920,7 +1885,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]); @@ -1928,10 +1893,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 ); } @@ -1957,10 +1918,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)); //闄勪欢澶勭悊 @@ -2036,6 +1995,20 @@ //鏌ユ壘鏄惁瀛樺湪鐧昏瀹屾垚璁板綍 //鍒ゆ柇鏄惁瀛樺湪涓婃姤璁板綍 this.form.recordstatus = 0; + var currenttime = new Date(); + this.form.applyTime = + currenttime.getFullYear() + + "-" + + (currenttime.getMonth() + 1) + + "-" + + currenttime.getDate() + + " " + + currenttime.getHours() + + ":" + + currenttime.getMinutes() + + ":" + + currenttime.getSeconds(); + if (!this.form.id) { this.form.id = this.$route.query.id; } @@ -2093,19 +2066,6 @@ "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + (k + 1).toString() + "琛岀殑鏈嶅姟椤圭洰鏈�夋嫨锛岃鍏堥�夋嫨鏈嶅姟椤圭洰鍚庡啀鎻愪氦淇濆瓨锛�" - ); - return; - } - if ( - tempDetail.idcardno == null && - this.businessType != "3" && - this.businessType != "4" - ) { - console.log(1122); - this.$modal.msgWarning( - "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (k + 1).toString() + - "琛岀殑韬唤璇佹湭瀹屽杽锛岃鍏堝~鍐欒韩浠借瘉鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } @@ -2235,6 +2195,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) { @@ -2250,30 +2223,35 @@ 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); + addorupdateFund(this.form) + .then(response => { + if (response.code === 200) { + if (this.form.id) { + this.$modal.msgSuccess("鐢宠鍗曚慨鏀规垚鍔燂紒"); + this.$router.go(-1); + } else { + this.$modal.msgSuccess("鐢宠鍗曚繚瀛樻垚鍔燂紒"); + this.$store.dispatch("tagsView/delView", this.$route); + this.$router.push({ + path: "/finance/applyDetail/", + query: { + id: response.data, + businessType: this.businessType, + operationType: "update", + curCase: this.curCase + } + }); + } + this.form.id = response.data; + this.curId = response.data; + this.handleUpdate(); } else { - this.$modal.msgSuccess("鐢宠鍗曚繚瀛樻垚鍔燂紒"); - this.$store.dispatch("tagsView/delView", this.$route); - this.$router.push({ - path: "/finance/applyDetail/", - query: { - id: response.data, - businessType: "2", - operationType: "update", - curCase: this.curCase - } - }); + this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + response.msg); } - } else { - this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + response.msg); - } - }); + }) + .catch(res => { + this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + res); + }); //鍏抽棴绐楀彛 this.loading = false; // this.getfundList(); @@ -2281,20 +2259,38 @@ }); }, 500), - //瀹℃壒鎻愪氦 checksubmit() { - console.log(this.checkObj.flowlevelone); - if ( - this.form.checkstatus != 3 && - this.userprofile.nickName == "闄堟厱鍗�" && - 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.fundtaxtime == null) { + this.$modal.msgError( + "璇峰厛瀹屾垚涓撳璐圭敤鐨勪釜绋庤绠楀悗锛屽啀鎻愪氦瀹℃牳閫氳繃锛�" + ); + return; + } + } + } else { + this.$modal.msgError("璇峰厛閫夋嫨瀹℃壒缁撴灉鍐嶆彁浜わ紒"); return; } - this.Savenow(); - console.log("淇濆瓨骞跺鎵�"); + this.Savenow(); + console.log("淇濆瓨骞跺鎵�"); }, // 鍙栨秷鎸夐挳 @@ -2307,7 +2303,6 @@ getUserProfile() { getUserProfile().then(res => { this.userprofile = res.data; - console.log(this.userprofile); this.standardlevel = res.data.standardlevel; if ( this.userprofile.userName == "admin" || @@ -2327,7 +2322,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(); @@ -2343,28 +2337,43 @@ }); }, - //鑾峰彇鎵�鏈変笓瀹�/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯鍒楄〃 - getExternalList() { + //鑾峰彇涓撳銆佸崟浣嶆満鏋勭殑璐︽埛鍒楄〃 + getAccountList() { listExternalperson().then(res => { - this.personlist = res.rows; - for (let j = 0; j < this.personlist.length; j++) { - //鑾峰彇璐圭敤鎶ラ攢鏈烘瀯鍒楄〃 - if (this.personlist[j].usertype == "org") { - this.feeUnitList.push({ - id: this.personlist[j].id, - reportNo: this.personlist[j].userno, - reportName: this.personlist[j].username, - depositbank: this.personlist[j].depositbank, - branchbankname: this.personlist[j].branchbankname, - bankcardno: this.personlist[j].bankcardno - }); - } - //涓撳浜哄憳鍒楄〃 - else if (res.rows[j].usertype == "expert") { - this.expertlist.push({ - expertNo: this.personlist[j].id, - exportName: this.personlist[j].username - }); + // this.accountlist = res.rows; + //鑾峰彇鍚敤鐨勮处鎴峰垪琛� + for (let j = 0; j < res.rows.length; j++) { + //鍗曚綅璐﹀彿鍒楄〃 + 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 + "锛�" + }); + } } } }); @@ -2372,38 +2381,12 @@ //鑾峰彇缁忓姙浜鸿处鍙蜂俊鎭� getUserAccount() { - this.personlist.map(res => { + 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; } - }); - }, - - //鑾峰彇涓撳浜哄憳鍒楄〃 - getExpertList() { - let types = ["expert"]; - let templist = []; - for (let i = 0; i < types.length; i++) { - templist = []; - listReportname(types[i]).then(res => { - for (let j = 0; j < res.data.length; j++) { - templist.push({ - reportName: res.data[j].reportName, - reportNo: res.data[j].reportNo - }); - } - this.expertlist = this.expertlist.concat(templist); - }); - } - }, - - //鑾峰彇璐圭敤鏈烘瀯鍒楄〃 - getFeeUnitList() { - listReportname("org").then(res => { - this.feeUnitList = res.data; - console.log(this.feeUnitList); }); }, @@ -2412,7 +2395,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 }); @@ -2471,7 +2453,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); }, @@ -2493,22 +2474,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; - // }); } }); }, @@ -2600,7 +2570,6 @@ } targetValue += parseFloat(this.rbDetails[i].amount); // 鍋囪姣忎釜瀵硅薄涓殑鐗瑰畾鍊煎瓨鍌ㄥ湪'specificValue'灞炴�т笅 } - console.log(targetValue, "鍚堣"); this.form.pretaxcost = targetValue; }, @@ -2816,8 +2785,10 @@ flowconclusion: this.checkObj.flowlevelone, flowcontent: this.checkObj.flowconclusion }; + this.$modal.loading("姝e湪鎻愪氦瀹℃牳锛岃绋嶅�欙紒"); checkfund(checkFundObj).then(res => { //鍏抽棴绐楀彛 + this.$modal.closeLoading(); this.$modal.msgSuccess("瀹℃牳瀹屾垚!"); this.$store.dispatch("tagsView/delView", this.$route); this.$router.go(-1); @@ -2825,7 +2796,7 @@ } this.Getnetworkheader(); this.getroute(); - this.getExternalList(); + this.getAccountList(); this.getUserList(); this.getUserProfile(); } else { @@ -2852,7 +2823,6 @@ // 鎵嬪姩璁$畻 Manualcalculationfn() { ManualCalculation(this.rbDetails).then(res => { - console.log(res); if (res.code == 200) { sessionStorage.removeItem("apiform"); sessionStorage.removeItem("apifunddetail"); @@ -2862,20 +2832,22 @@ ); 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 - } - }); - } else { - // this.$message({ - // type: "error", - // message: "鐢宠澶辫触" + // 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: "璁$畻閿欒" + }); } }); }, @@ -2993,10 +2965,6 @@ rowfeeblocks: [], annexfiles: null }; - // if (this.Reminderquantity >= 5) { - // this.Savereminder = true; - // return; - // } if (rowIndex == undefined || rowIndex == null || rowIndex < 0) { this.rbDetails.push(rowData); } else { @@ -3128,30 +3096,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 { @@ -3162,106 +3149,199 @@ uploadSccess(response, file, fileList) { this.rbDetails; + const config = { + headers: { Authorization: "Bearer " + this.ICDtoken } + }; + const pdfimg = this.Networkheader + "/prod-api" + response.fileName; //鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆 - 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("."); @@ -3270,11 +3350,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 = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; @@ -3282,7 +3363,6 @@ this.previewpdf = false; } } else { - console.log(item, "鐐瑰嚮鏂囦欢鎷縤tem"); this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤癸紝褰撳墠閫変腑" + item.name; let name = item.name.split("."); @@ -3293,12 +3373,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 = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; @@ -3312,7 +3389,7 @@ }, // 鍙戠エ鍒囨崲 handleClick(tab, event) { - if (this.activeName == 1) { + if (this.activeName == "common") { this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; } else { this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�"; @@ -3320,203 +3397,324 @@ }, // 鐐瑰嚮鍒犻櫎 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'); }, - //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨 - ShowDetailDialog(spoce, showType) { - this.spocewl = spoce; - this.selectionType = showType; - if (this.businessType == 4 || this.businessType == 3 || !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; - this.funddetailForm.unitno = spoce.row.unitno; - this.funddetailForm.unitname = spoce.row.unitname; - this.funddetailForm.expertname = ""; - this.funddetailForm.expertidcardno = ""; - this.funddetailForm.expertunitno = ""; - this.funddetailForm.expertunitname = ""; - this.funddetailForm.experttitle = ""; - this.funddetailForm.expertdepositbank = ""; - this.funddetailForm.expertbankcardno = ""; - - this.showSelectionDialog = true; + Downloadfile(row) { + window.location.href = row.url; }, //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨 - ConfirmDetailDialog() { - // if (this.businessType == 4) { - // if (this.experthear == "expert") { - // this.funddetailForm.beneficiaryname = this.unitforname; - // } else { - // this.funddetailForm.beneficiaryname = this.Personnelforname; - // } - // } - let tempIndex = this.funddetailForm.index; - let tempExpertName = this.funddetailForm.beneficiaryname; - let tempUnitname = this.funddetailForm.unitname; - let singleDetail = this.rbDetails[tempIndex]; + showSelectionDialog(scope, selectiontype) { + this.selectionScope = scope; + this.selectionType = selectiontype; + this.accountselectform.index = scope.$index; - 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); - } - }); + if (this.selectionType == "account") { + //榛樿浠庤处鎴峰簱閫夋嫨锛�1,璐︽埛搴擄紱2锛屾柊寤鸿处鎴� + this.accountfrom = "1"; + if (scope.row.idcardno) { + this.accountselectform.accountname = + scope.row.beneficiaryname + "锛�" + scope.row.idcardno + "锛�"; } 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.accountselectform.accountname = + scope.row.beneficiaryname + "锛�" + scope.row.bankcardno + "锛�"; + } + this.accountselectform.accountno = scope.row.beneficiaryno; + this.accountselectform.expertunitname = ""; + this.accountselectform.expertunitno = ""; - this.expertform.unitno = this.funddetailForm.expertunitno; - try { - let unitIndex = this.unitList.findIndex( - item => this.expertform.unitno == item.organizationid - ); - if (unitIndex > -1) { - this.expertform.unitname = this.unitList[ - unitIndex - ].organizationname; - } else { - this.expertform.unitname = this.expertform.unitno; - } - } catch { - this.expertform.unitname = this.expertform.unitno; - } - this.expertform.title = this.funddetailForm.experttitle; - this.expertform.personnelunitno = null; + this.accountselectform.username = ""; + this.accountselectform.userno = ""; + this.accountselectform.idcardno = ""; + this.accountselectform.telephone = ""; + this.accountselectform.title = ""; + this.accountselectform.unitno = ""; + this.accountselectform.unitname = ""; + this.accountselectform.depositbank = ""; + this.accountselectform.bankcardno = ""; + this.accountselectform.personnelunitno = ""; + this.accountselectform.address = ""; + this.accountselectform.telephone = ""; + } else if (this.selectionType == "workunit") { + this.accountselectform.expertunitname = scope.row.unitname; + this.accountselectform.expertunitno = scope.row.unitno; + } + this.showselectiondialog = true; + }, - this.expertform.depositbank = this.funddetailForm.expertdepositbank; - this.expertform.bankcardno = this.funddetailForm.expertbankcardno; - this.expertform.branchbankname = null; - this.expertform.remark = null; - this.expertform.del_flag = "0"; + //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨 + confirmSelectionDialog() { + this.$refs["accountselectform"].validate(valid => { + let tempIndex = this.accountselectform.index; + if (this.selectionType == "account") { + if (this.accountfrom == "1") { + //璧嬪�间俊鎭� + if ( + this.rbDetails[tempIndex].userno != this.accountselectform.userno + ) { + this.accountlist.map(res => { + if (res.id == this.accountselectform.accountname) { + this.rbDetails[tempIndex].beneficiaryno = res.userno; + this.rbDetails[tempIndex].beneficiaryname = res.username; + this.rbDetails[tempIndex].depositbank = res.depositbank; + this.rbDetails[tempIndex].branchbankname = res.branchbankname; + this.rbDetails[tempIndex].bankcardno = res.bankcardno; + this.rbDetails[tempIndex].phone = res.telephone; - addExternalperson(this.expertform).then(response => { - if (response.code == 200) { - this.$modal.msgSuccess("鏂板涓撳淇℃伅鎴愬姛锛�"); - - listExternalperson().then(res => { - this.personlist = res.rows; - //浠庝笓瀹跺垪琛ㄨ幏鍙栦俊鎭� - this.personlist.map(res => { - if (res.username == this.funddetailForm.expertname) { - singleDetail.beneficiaryno = res.userno; - singleDetail.beneficiaryname = res.username; - singleDetail.bankcardno = res.bankcardno; - singleDetail.branchbankname = res.branchbankname; - singleDetail.depositbank = res.depositbank; - singleDetail.idcardno = res.idcardno; - singleDetail.phone = res.telephone; - singleDetail.title = res.title; - singleDetail.unitname = res.unitname; - singleDetail.unitno = parseInt(res.unitno); + if (res.usertype == "org") { + this.rbDetails[tempIndex].idcardno = ""; + this.rbDetails[tempIndex].title = ""; + this.rbDetails[tempIndex].unitno = ""; + this.rbDetails[tempIndex].unitname = ""; + } else { + this.rbDetails[tempIndex].idcardno = res.idcardno; + this.rbDetails[tempIndex].title = res.title; + this.rbDetails[tempIndex].unitno = parseInt(res.unitno); + this.rbDetails[tempIndex].unitname = res.unitname; } - }); + } }); } - }); - } - } else if (this.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; + } else if (this.accountfrom == "2") { + //淇濆瓨鏂板璐﹀彿 + //鑾峰彇鐢ㄦ埛缂栧彿 + getOnlyCode(this.seqnoParams).then(res => { + this.accountform.userno = res.data.currentvalue; + + 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.userno == this.accountselectform.accountno) { + 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.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; + } else if (this.selectionType == "workunit") { + if ( + this.rbDetails[tempIndex].unitname != + this.accountselectform.expertunitname + ) { + this.rbDetails[ + tempIndex + ].unitname = this.accountselectform.expertunitname; + this.unitList.map(res => { + if ( + res.organizationname == this.accountselectform.expertunitname + ) { + this.rbDetails[tempIndex].unitno = res.organizationid; + } + }); } } + + //鍏抽棴绐楀彛 + this.showselectiondialog = false; + }); + }, + + tableParValueChange(row, tto) { + const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}([0-9]|X)$/; + if (tto) { + if (regex.test(accountselectform.expertidcardno)) { + row.error = ""; + } else { + row.error = "韬唤璇佸彿鐮佹牸寮忛敊璇�"; + } + return; } - // if (this.experthear == "unit") { - // singleDetail.unitname = ""; - // } - if (this.businessType == 4 || this.businessType == 3) { - singleDetail.beneficiaryname = this.funddetailForm.beneficiaryname; + if (regex.test(row.idcardno)) { + row.error = ""; + } else { + row.error = "韬唤璇佸彿鐮佹牸寮忛敊璇�"; } - this.rbDetails[tempIndex] = singleDetail; - this.showSelectionDialog = false; + }, + + //璐︽埛绫诲瀷閫夋嫨鍙樺寲 + userTypeChange(type) { + if (type == "org") { + this.accountselectform.idcardno = ""; + this.accountselectform.unitno = ""; + this.accountselectform.unitname = ""; + this.accountselectform.personnelunitno = ""; + } + // this.$modal.msgWarning(type); } }, @@ -3525,19 +3723,16 @@ //鑾峰彇璺敱鍙傛暟 this.Getnetworkheader(); this.getroute(); - this.getExternalList(); - this.getFeeUnitList(); + this.getAccountList(); + this.getUserProfile(); }, //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛� mounted() { window.addEventListener("beforeunload", e => this.beforeunloadHandler(e)); this.getUserList(); - this.getUserProfile(); - let apifunddetailForm = this.funddetailForm; + let apiaccountselectform = this.accountselectform; let apiform = this.form; - - // this.getFeeUnitList(); }, beforeRouteLeave(to, from, next) { // 鎵ц閿�姣佹搷浣� -- Gitblit v1.9.3