From 9f1ce0656ebc75a14d2c4031c48d1395d2e62aaa Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期一, 22 一月 2024 11:52:23 +0800 Subject: [PATCH] 11 --- src/views/project/fund/applyDetail/index.vue | 3272 +++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 2,371 insertions(+), 901 deletions(-) diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue index 98fa41d..9e193b1 100644 --- a/src/views/project/fund/applyDetail/index.vue +++ b/src/views/project/fund/applyDetail/index.vue @@ -6,28 +6,52 @@ <el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-row> <el-col :span="5"> - <el-form-item label="鐢宠鏃ユ湡" prop="createTime"> - <el-date-picker clearable style="width: 100%" v-model="form.createTime" type="date" - value-format="yyyy-MM-dd HH:mm:ss" placeholder="鐢宠鏃ユ湡"> + <el-form-item label="鎶ラ攢鍗曞彿" prop="bh"> + <el-input + v-model="form.bh" + :disabled="true" + placeholder="鎶ラ攢鍗曞彿" + clearable + /> + </el-form-item> + </el-col> + <el-col :span="5"> + <el-form-item label="鐢宠鏃ユ湡" prop="applyTime"> + <el-date-picker + clearable + :disabled="true" + style="width: 100%" + v-model="form.applyTime" + type="date" + value-format="yyyy-MM-dd HH:mm:ss" + placeholder="鏃� 鏈�" + > </el-date-picker> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="缁忓姙浜�" prop="username"> - <el-select v-model="form.username" placeholder="鐢宠浜�" clearable filterable allow-create style="width: 100%"> - <el-option v-for="dict in userlist" :key="dict.index" :label="dict.nickname" - :value="dict.nickname"></el-option> + <el-select + v-model="form.username" + placeholder="鐢宠浜�" + clearable + filterable + allow-create + style="width: 100%" + @change="getUserAccount" + > + <el-option + v-for="dict in userlist" + :key="dict.index" + :label="dict.nickname" + :value="dict.nickname" + ></el-option> </el-select> </el-form-item> </el-col> <el-col :span="5"> - <el-form-item label="鎵�灞炵粍鍒�" prop="deptmentname"> - <el-input v-model="form.deptmentname" placeholder="璇疯緭鍏ユ墍灞炵粍鍒�" clearable /> - </el-form-item> - </el-col> - <el-col :span="5"> - <el-form-item label="缁勯暱" prop="managername"> - <el-input v-model="form.managername" placeholder="璇疯緭鍏ョ粍闀�" clearable /> + <el-form-item label="鑱旂郴鐢佃瘽" prop="phone"> + <el-input v-model="form.phone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" /> </el-form-item> </el-col> </el-row> @@ -46,44 +70,47 @@ }}</el-radio> </el-form-item> </el-col> - <el-col :span="10"> - <el-form-item label="鐢宠璇存槑" prop="remark"> - <el-input v-model="form.remark" placeholder="鐢宠璇存槑" /> + <el-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="phone"> - <el-input v-model="form.phone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" /> + <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="5"> - <el-form-item label="鍚堣閲戦" prop="amountrequested"> - <el-input v-model="form.amountrequested" placeholder="鐢宠閲戦" :disabled="true" /> + <el-form-item label="鎹愮尞妗堜緥" prop="name"> + <el-input + :disabled="true" + v-model="form.donorname" + placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" + /> </el-form-item> </el-col> - --> - <el-col :span="5"> - <el-form-item label="鐢宠閲戦" prop="pretaxcost"> - <el-input v-model="form.pretaxcost" placeholder="绋庡墠閲戦鍚堣" :disabled="true" /> - </el-form-item> - </el-col> - <el-col :span="5"> - <el-form-item label="搴旂即绋�" prop="taxcost" v-if="businessType == '1' || businessType == '2'"> - <el-input v-model="form.taxcost" placeholder="搴旂即绋庨噾棰濆悎璁�" :disabled="true" /> - </el-form-item> - </el-col> - <!-- - <el-col :span="5"> - <el-form-item label="绋庡悗閲戦" prop="pretaxcost"> - <el-input v-model="form.taxedcost" placeholder="绋庡悗閲戦鍚堣" :disabled="true" /> - </el-form-item> - </el-col>--> - <el-col :span="5"> - <el-form-item label="鎹愮尞鑰�" prop="name"> - <el-input :disabled="true" v-model="form.name" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" /> + <el-col :span="10"> + <el-form-item label="鐢宠璇存槑" prop="remark"> + <el-input v-model="form.remark" placeholder="鐢宠璇存槑" /> </el-form-item> </el-col> <!-- @@ -97,16 +124,72 @@ </el-col>--> </el-row> <el-row style="margin-top: 5px; margin-bottom: 5px" /> - <el-row style="margin-bottom: 10px" v-if="businessType == '1'"> - <el-col :span="4"> - <el-button @click.native.prevent="importFeeItems" type="primary" size="small"> - 瀵煎叆鏈嶅姟椤圭洰 - </el-button> + <el-row v-if="jurisdiction"> + <!-- <el-alert title="褰撳墠涓烘煡鐪嬬姸鎬侊紝涓嶆敮鎸佷慨鏀瑰瓨鍌ㄣ��" type="warning"> + </el-alert> --> + <el-alert + title="褰撳墠涓烘煡鐪嬬姸鎬侊紝涓嶆敮鎸佷慨鏀瑰瓨鍌ㄣ��" + type="warning" + show-icon + > + </el-alert> + </el-row> + <el-row> + <el-col :span="3" v-if="businessType == '1'"> + <div style="margin-bottom: 15px;"> + <el-button + type="primary" + icon="el-icon-download" + size="small" + @click.native.prevent="importFeeItems" + > + 鎵归噺瀵煎叆鏈嶅姟椤圭洰 + </el-button> + </div> + </el-col> + <el-col :span="3" v-if="businessType == 2"> + <div style="margin-bottom: 15px;"> + <el-button + type="primary" + icon="el-icon-download" + size="small" + @click="Batchentry" + >鎵归噺褰曞叆涓撳</el-button + > + </div> + </el-col> + <el-col + :span="3" + v-if=" + userprofile.nickName == '闄堟厱鍗�' && + (businessType == '1' || businessType == '2') + " + > + <div style="margin-bottom: 15px;"> + <el-button + type="success" + icon="el-icon-edit-outline" + size="small" + @click="Manualcalculationfn" + >璁$畻涓◣</el-button + > + </div> </el-col> </el-row> <el-row> - <el-table :data="rbDetails" v-loading="loading" border highlight-current-row> - <el-table-column prop="orderno" align="center" label="搴忓彿" width="65"> + <el-table + :data="rbDetails" + v-loading="loading" + max-height="800" + border + highlight-current-row + > + <el-table-column + prop="orderno" + align="center" + label="搴忓彿" + width="88" + > <template slot-scope="scope"> <el-input v-model="scope.row.orderno" placeholder="搴忓彿" /> </template> @@ -115,97 +198,205 @@ <el-table-column prop="itemcode" align="center" label="椤圭洰缂栧彿" show-overflow-tooltip="" v-if="form.applytype == '1'"> </el-table-column>--> - <el-table-column prop="applytype" align="center" label="鏈嶅姟绫诲瀷" width="200"> + <el-table-column + prop="applytype" + align="center" + label="鏈嶅姟绫诲瀷" + width="200" + > <template slot-scope="scope"> - <el-select v-model="scope.row.applytype" placeholder="鏈嶅姟绫诲瀷" @change="loadFeeItems(scope.row)"> - <el-option v-for="dict in rowfeeItemTypes" :key="dict.index" :label="dict.label" - :value="dict.value"></el-option> - </el-select> - </template> - </el-table-column> - <el-table-column prop="itemid" align="center" label="鏈嶅姟椤圭洰" width="260"> - <template slot-scope="scope"> - <el-select v-model="scope.row.itemid" placeholder="鏈嶅姟椤圭洰" filterable @change="verifyFeeItem(scope.row)" - :filter-method="val => searchItemType(val, scope)"> - <el-option v-for="dict in scope.row.itemlist" :key="dict.index" :label="dict.itemName" - :value="dict.id"></el-option> - </el-select> - </template> - </el-table-column> - <el-table-column prop="servicesscope" align="center" label="鏈嶅姟璇存槑" v-if="form.applytype == '1'" width="180"> - <template slot-scope="scope"> - <el-select v-model="scope.row.servicesscope" placeholder="鏈嶅姟璇存槑" clearable allow-create filterable - @change="selectedRemark(scope.row)"> - <el-option v-for="dict in scope.row.rowfeeblocks" :key="dict.servicesscope" :label="dict.remark" - :value="dict.servicesscope"></el-option> - </el-select> - </template> - </el-table-column> - <el-table-column prop="price" align="center" label="鍗曚环" width="120" v-if="0"> - <template slot-scope="scope"> - <el-input v-model="scope.row.price" placeholder="鍗曚环" @blur="val => { - sumTotalFee(scope.row); - } - " /> - </template> - </el-table-column> - <el-table-column prop="quantity" align="center" label="鏁伴噺" width="120" v-if="0"> - <template slot-scope="scope"> - <el-input v-model="scope.row.quantity" placeholder="鏁伴噺" @blur="val => { - sumTotalFee(scope.row); - } - " /> - </template> - </el-table-column> - <el-table-column v-if="businessType == 3 || businessType == 4 || ismanager == true" prop="amount" - align="center" label="绋庡墠閲戦" 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="taxedamount" align="center" label="绋庡悗閲戦" width="120" v-if="(this.ismanager == true) & - (form.applytype == '1' || form.applytype == '2') - "> - <template slot-scope="scope"> - <el-input v-model="scope.row.taxedamount" placeholder="绋庡悗閲戦" /> - </template> - </el-table-column> - <el-table-column prop="beneficiaryname" align="center" label="濮撳悕" width="120" - v-if="form.applytype == '1' || form.applytype == '2'"> - <template slot-scope="scope"> - <el-button type="primary" plain @click="ShowDetailDialog(scope, 'expert')">{{ scope.row.beneficiaryname - }}</el-button> - <!-- <el-select - filterable - allow-create - ref="getReportname" - default-first-option - @change="selectExpert(scope.row)" - v-model="scope.row.beneficiaryname" - placeholder="璇烽�夋嫨" + <el-select + v-model="scope.row.applytype" + placeholder="璇烽�夋嫨鏈嶅姟绫诲瀷" + @change="verifyFeeItemType(scope.row)" > <el-option - v-for="item in expertlist" - :key="item.reportNo" - :label="item.reportName" - :value="item.reportName" - > - </el-option> - </el-select> --> + v-for="dict in rowfeeItemTypes" + :key="dict.index" + :label="dict.label" + :value="dict.value" + ></el-option> + </el-select> </template> </el-table-column> - <el-table-column prop="unitno" align="center" label="鍗曚綅鍚嶇О" width="250"> + <el-table-column + prop="itemid" + align="center" + label="鏈嶅姟椤圭洰" + width="260" + > <template slot-scope="scope"> - <el-button type="primary" plain @click="ShowDetailDialog(scope, 'unit')">{{ scope.row.unitname + <el-select + v-model="scope.row.itemid" + placeholder="璇烽�夋嫨鏈嶅姟椤圭洰" + filterable + @change="verifyFeeItem(scope.row)" + :filter-method="val => searchItemType(val, scope)" + > + <el-option + v-for="dict in scope.row.itemlist" + :key="dict.index" + :label="dict.itemName" + :value="dict.id" + ></el-option> + </el-select> + </template> + </el-table-column> + <el-table-column + prop="servicesscope" + align="center" + label="鏈嶅姟璇存槑" + v-if="businessType == '1'" + width="180" + > + <template slot-scope="scope"> + <el-select + v-model="scope.row.servicesscope" + placeholder="鏈嶅姟璇存槑" + clearable + allow-create + @change="verifyFeeRemark(scope.row)" + > + <el-option + v-for="dict in scope.row.rowfeeblocks" + :key="dict.servicesscope" + :label="dict.remark" + :value="dict.servicesscope" + ></el-option> + </el-select> + </template> + </el-table-column> + <el-table-column + prop="price" + align="center" + label="鍗曚环" + width="120" + v-if="businessType == 4" + > + <template slot-scope="scope"> + <el-input + v-model="scope.row.price" + placeholder="鍗曚环" + @blur=" + val => { + sumTotalFee(scope.row); + } + " + /> + </template> + </el-table-column> + <el-table-column + prop="quantity" + align="center" + label="鏁伴噺" + width="120" + v-if="businessType == 4" + > + <template slot-scope="scope"> + <el-input + v-model="scope.row.quantity" + placeholder="鏁伴噺" + @blur=" + val => { + sumTotalFee(scope.row); + } + " + /> + </template> + </el-table-column> + <el-table-column + prop="amount" + align="center" + :label="amountlabel" + width="120" + > + <template slot-scope="scope"> + <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.taxamount" + placeholder="鎵g◣閲戦" + /> + </template> + </el-table-column> + <el-table-column + prop="taxedamount" + align="center" + label="绋庡悗閲戦" + width="120" + v-if=" + ismanager == true && + (businessType == '1' || businessType == '2') + " + > + <template slot-scope="scope"> + <el-input + v-model="scope.row.taxedamount" + placeholder="绋庡悗閲戦" + /> + </template> + </el-table-column> + <el-table-column + prop="beneficiaryname" + column-key="sdad" + align="center" + :label="beneficiarylabel" + width="200" + > + <template slot-scope="scope"> + <el-button + type="primary" + plain + @click="showSelectionDialog(scope, 'account')" + >{{ + scope.row.beneficiaryname + ? scope.row.beneficiaryname + : "鐐瑰嚮閫夋嫨" + }}</el-button + > + </template> + </el-table-column> + <el-table-column + prop="unitno" + align="center" + label="涓撳鎵�鍦ㄥ崟浣�" + width="250" + v-if="businessType == '1' || businessType == '2'" + > + <template slot-scope="scope"> + <el-button + type="primary" + plain + @click="showSelectionDialog(scope, 'workunit')" + >{{ + scope.row.unitname ? scope.row.unitname : "鐐瑰嚮閫夋嫨" + }}</el-button + > + </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 + + <el-select v-model="scope.row.unitno" placeholder="鍗曚綅" clearable @@ -218,119 +409,287 @@ :label="spec.organizationname" :value="spec.organizationid" ></el-option> - </el-select> --> + </el-select> </template> </el-table-column> - <el-table-column prop="title" align="center" label="鑱岀О" width="120" - v-if="form.applytype == '1' || form.applytype == '2'"> + --> + <el-table-column + prop="title" + align="center" + label="鑱岀О" + width="120" + v-if="businessType == '1' || businessType == '2'" + > <template slot-scope="scope"> <el-input v-model="scope.row.title" placeholder="鑱岀О" /> </template> </el-table-column> - <el-table-column prop="idcardno" align="center" label="韬唤璇佸彿" width="200" - v-if="form.applytype == '1' || form.applytype == '2'"> + <el-table-column + prop="idcardno" + align="center" + label="韬唤璇佸彿" + width="200" + v-if="businessType == '1' || businessType == '2'" + > <template slot-scope="scope"> - <el-input v-model="scope.row.idcardno" placeholder="韬唤璇佸彿" /> + <el-form-item label-width="0"> + <el-input + :disabled="userprofile.nickName != '闄堟厱鍗�'" + v-model.number="scope.row.idcardno" + @input="tableParValueChange1(scope.row)" + placeholder="韬唤璇佸彿" + /> + </el-form-item> </template> </el-table-column> - <el-table-column prop="depositbank" align="center" label="寮�鎴烽摱琛�" width="200" v-if="form.applytype != '4'"> + <el-table-column + prop="depositbank" + align="center" + label="寮�鎴烽摱琛�" + width="200" + > <template slot-scope="scope"> - <el-input v-model="scope.row.depositbank" placeholder="寮�鎴烽摱琛�" /> + <el-input + :disabled="userprofile.nickName != '闄堟厱鍗�'" + v-model="scope.row.depositbank" + placeholder="寮�鎴烽摱琛�" + /> </template> </el-table-column> - <el-table-column prop="bankcardno" align="center" label="閾惰甯愬彿" width="210" v-if="form.applytype != '4'"> + <el-table-column + prop="bankcardno" + align="center" + label="閾惰甯愬彿" + width="210" + > <template slot-scope="scope"> - <el-input v-model="scope.row.bankcardno" placeholder="閾惰甯愬彿" /> + <el-input + :disabled="userprofile.nickName != '闄堟厱鍗�'" + v-model="scope.row.bankcardno" + placeholder="閾惰甯愬彿" + /> </template> </el-table-column> - <el-table-column prop="remark" align="center" label="澶囨敞" v-if="form.applytype == '4'"> + <el-table-column + prop="itemdescrisca" + align="center" + width="330" + label="椤圭洰璇存槑" + > <template slot-scope="scope"> - <el-input v-model="scope.row.remark" placeholder="澶囨敞" /> + <el-input + type="textarea" + :rows="2" + v-model="scope.row.itemdescribe" + placeholder="椤圭洰璇存槑" + /> </template> </el-table-column> - <el-table-column fixed="right" align="center" label="鎿嶄綔" width="180"> + <el-table-column + prop="remark" + align="center" + width="330" + label="澶囨敞" + v-show="ismanager == true" + > <template slot-scope="scope"> - <el-button type="text" size="mini" @click="addRow(scope.$index)" - v-if="operationType == 'add' || operationType == 'update'">鏂板</el-button> - <el-button @click.native.prevent=" - deleteRows(scope.row, scope.$index, rbDetails) - " type="text" size="small" v-if="operationType == 'add' || operationType == 'update'"> + <el-input + type="textarea" + :rows="2" + v-model="scope.row.remark" + placeholder="澶囨敞" + /> + </template> + </el-table-column> + <el-table-column + fixed="right" + align="center" + label="鎿嶄綔" + width="180" + > + <template slot-scope="scope"> + <el-button + type="text" + size="mini" + @click="addRow(scope.$index)" + v-if=" + operationType == 'add' || + operationType == 'update' || + operationType == 'check' + " + >鏂板</el-button + > + <el-button + @click.native.prevent=" + deleteRows(scope.row, scope.$index, rbDetails) + " + type="text" + size="small" + v-if=" + operationType == 'add' || + operationType == 'update' || + operationType == 'check' + " + > 鍒犻櫎 </el-button> - <el-button @click.native.prevent=" - Filepopup(scope.$index, rbDetails, scope.row) - " type="text" size="small">绁ㄦ嵁</el-button> + <el-button + @click.native.prevent=" + Filepopup(scope.$index, rbDetails, scope.row) + " + type="text" + size="small" + v-if=" + businessType == 2 || businessType == 3 || businessType == 4 + " + >绁ㄦ嵁</el-button + > </template> </el-table-column> </el-table> </el-row> - <!-- - <el-row> - <el-col :span="7"> - <el-form-item label="棰勬敮閲戦" prop="prepaidamount"> - <el-input v-model="form.prepaidamount" placeholder="鐢宠閲戦" /> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="7"> - <el-form-item label="OPO涓績绛惧瓧" prop="opochecker"> - <el-input v-model="form.opochecker" placeholder="opo涓績绛惧瓧" /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="璐㈠姟鍓櫌闀�" prop="finvicepresident"> - <el-input v-model="form.finvicepresident" placeholder="璐㈠姟鍓櫌闀�" /> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item label="涓氬姟鍓櫌闀�" prop="busvicepresident"> - <el-input v-model="form.busvicepresident" placeholder="涓氬姟鍓櫌闀�" /> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item label="鍔炲叕瀹や富浠�" prop="officedirector"> - <el-input v-model="form.officedirector" placeholder="璇疯緭鍏ュ姙鍏涓讳换" /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="璐㈠姟閮ㄨ礋璐d汉" prop="financedirector"> - <el-input v-model="form.financedirector" placeholder="璇疯緭鍏ヨ储鍔¢儴璐熻矗浜�" /> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item label="璐㈠姟瀹℃牳" prop="financechecher"> - <el-input v-model="form.financechecher" placeholder="璇疯緭鍏ヨ储鍔″鏍�" /> - </el-form-item> - </el-col> - </el-row> - --> + <el-row> <el-col :span="12"> - <el-form-item label="璐圭敤鐢宠闄勪欢" align="left" prop="annexbankcard" v-if="businessType == 0"> - <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileList" multiple - :limit="20" :headers="headers" :on-success="(response, file, fileList) => - uploadSccess(response, file, fileList) - " :on-preview="downFile" :disabled="operationType == 'detail'" :on-error="handleUploadError" - :on-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf"> - <el-button :disabled="operationType == 'detail'" size="small" type="primary">涓婁紶</el-button> + <el-form-item + label="璐圭敤鐢宠闄勪欢" + align="left" + prop="annexbankcard" + v-if="businessType == 0" + > + <el-upload + size="mini" + class="upload-demo" + :action="uploadFileUrl" + :file-list="fileListto" + :show-file-list="false" + multiple + drag + :headers="headers" + :on-success=" + (response, file, fileList) => + uploadSccess(response, file, fileList) + " + :on-preview="downFile" + :disabled="operationType == 'detail'" + :on-error="handleUploadError" + :on-remove="remove" + accept="image/*,.pdf" + > + <i class="el-icon-upload"></i> + <div class="el-upload__text"> + 灏嗙エ鎹嫋鍒版澶勶紝鎴� + <em + ><el-button + :disabled="operationType == 'detail'" + size="small" + type="primary" + >鐐瑰嚮涓婁紶</el-button + ></em + > + </div> </el-upload> + <el-table + :data="fileListto" + @row-click="downFile" + style="width: 100%" + height="400" + > + <el-table-column + prop="name" + :show-overflow-tooltip="true" + label="鍚嶇О" + > + <template slot-scope="scope"> + <i style="color:#409EFF" class=" el-icon-s-order" />{{ + scope.row.name + }} + </template> + </el-table-column> + + <el-table-column + prop="name" + width="180" + :show-overflow-tooltip="true" + label="鍔熻兘" + > + <template slot-scope="scope"> + <el-button + type="primary" + size="mini" + @click.native.prevent.stop="deletedowfile(scope.row)" + >鍒犻櫎</el-button + > + <el-button + type="primary" + size="mini" + @click.native.prevent.stop="moveupdowfile(scope.row)" + >涓婄Щ</el-button + > + </template> + </el-table-column> + </el-table> </el-form-item> </el-col> </el-row> - <el-row v-if="operationType == 'detail' || operationType == 'check'"> + <el-row + v-if=" + operationType == 'detail' || + operationType == 'check' || + operationType == 'update' + " + > <el-table :data="fundflowList" border> - <el-table-column label="瀹℃牳浜�" align="center" width="120" prop="checkusername" /> - <el-table-column label="瀹℃牳鏃ユ湡" align="center" width="160" prop="createTime" /> - <el-table-column label="瀹℃牳缁撴灉" align="center" width="200" prop="flowconclusion"><template - slot-scope="scope"><span v-if="scope.row.flowconclusion == 1">閫氳繃</span><span - v-if="scope.row.flowconclusion == 2">涓嶉�氳繃</span></template> + <el-table-column + label="瀹℃牳鏃ユ湡" + align="center" + width="160" + prop="createTime" + /> + <el-table-column + label="瀹℃牳浜�" + align="center" + width="120" + prop="checkusername" + /> + <el-table-column + label="瀹℃牳缁撴灉" + align="center" + width="200" + prop="flowconclusion" + > + <template slot-scope="scope"> + <span v-if="scope.row.flowconclusion == 1">閫氳繃</span> + <span v-if="scope.row.flowconclusion == 2">涓嶉�氳繃</span> + </template> </el-table-column> - <el-table-column label="瀹℃牳澶囨敞" align="center" prop="flowcontent" /> + <el-table-column + label="瀹℃牳澶囨敞" + align="center" + prop="flowcontent" + /> </el-table> </el-row> - <el-row style="margin-top: 25px; margin-bottom: 5px" v-if="operationType == 'check'"> - <el-col :span="7"> + + <el-row + style="margin-top: 25px; margin-bottom: 5px" + v-if="operationType == 'check' && userprofile.nickName == '闄堟厱鍗�'" + > + <el-col :span="20"> + <el-form-item label="棰勫鏉愭枡" prop="infoid"> + <el-radio-group v-model="form.checkstatus" align="left"> + <el-radio :label="1">寰呯敵璇锋潗鏂�</el-radio> + <el-radio :label="2">瀹℃牳閫氳繃绛夊緟閭瘎绾歌川鏉愭枡</el-radio> + <el-radio :label="3">宸叉敹鍒版姤閿�鏉愭枡</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + <el-row + style="margin-top: 5px; margin-bottom: 5px" + v-if="operationType == 'check'" + > + <el-col :span="20"> <el-form-item label="瀹℃牳缁撴灉" align="left"> <el-radio-group v-model="checkObj.flowlevelone" align="left"> <el-radio label="1">閫氳繃</el-radio> @@ -348,152 +707,602 @@ </el-row> </el-form> <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm" - v-if="operationType == 'add' || operationType == 'update'">鎻愪氦淇濆瓨</el-button> - <el-button type="primary" @click="checksubmit" v-if="operationType == 'check'">鎻愪氦瀹℃牳</el-button> + <el-button + type="primary" + @click="submitForm" + v-if=" + operationType == 'add' || + operationType == 'update' || + ismanager == true + " + >淇濆瓨</el-button + > + <el-button + type="success" + @click="handleup" + v-if="operationType == 'add' || operationType == 'update'" + >涓婃姤</el-button + > + <el-button + type="primary" + @click="checksubmit" + v-if="operationType == 'check'" + >鎻愪氦瀹℃牳</el-button + > <el-button @click="cancel">鍏� 闂�</el-button> </div> </div> - <el-dialog :visible.sync="showSelectionDialog" :close-on-click-modal="false" :title="'鍗曚綅/涓撳淇℃伅閫夋嫨'" width="500px" - style="text-align: center" v-loading="loading"> - <el-form ref="funddetailForm" :model="funddetailForm"> - <el-row> - <el-col :span="24" v-if="selectionType == 'expert'"> - <el-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-dialog + :visible.sync="showselectiondialog" + :close-on-click-modal="false" + :title="'璐︽埛淇℃伅/鍗曚綅淇℃伅閫夋嫨'" + width="650px" + style="text-align: center" + v-loading="loading" + > + <el-form + ref="accountselectform" + :rules="dialogrules" + :model="accountselectform" + label-width="120px" + > + <el-row v-if="selectionType == 'workunit'"> + <el-col :span="24"> + <el-form-item + label="鍗曚綅鍚嶇О" + prop="expertunitname" + label-width="120px" + > + <el-select + v-model="accountselectform.expertunitname" + placeholder="鍗曚綅鍚嶇О" + clearable + filterable + allow-create + style="width: 100%" + > + <el-option + v-for="(spec, index) in unitList" + :key="index" + :label="spec.organizationname" + :value="spec.organizationname" + ></el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + <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="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-col :span="24" v-if="accountfrom == '1'"> + <el-form-item label="璐︽埛鍚嶇О" prop="accountname"> + <el-select + filterable + allow-create + ref="accountname" + default-first-option + v-model="accountselectform.accountname" + placeholder="璇烽�夋嫨" + style="width: 100%" + > + <el-option + v-for="item in accountlist" + :key="item.id" + :label="item.username" + :value="item.username" + > </el-option> </el-select> </el-form-item> </el-col> - <el-col :span="24" v-if="selectionType == 'unit'"> - <el-form-item label="鍗曚綅鍚嶇О" prop="unitno" label-width="120px" v-if="businessType == 1 || businessType == 2"> - <el-select v-model="funddetailForm.unitno" placeholder="鍗曚綅鍚嶇О" clearable filterable allow-create - style="width: 100%"> - <el-option v-for="(spec, index) in unitList" :key="index" :label="spec.organizationname" - :value="spec.organizationid"></el-option> - </el-select> + </el-row> + <el-row v-if="selectionType == 'account' && accountfrom == '2'"> + <el-col :span="24"> + <el-form-item label="鏂板绫诲瀷" prop="usertype" class="left-align"> + <el-radio-group + v-model="accountselectform.usertype" + style="margin-bottom: 0" + @change="userTypeChange(accountselectform.usertype)" + > + <el-radio label="expert">涓撳璐﹀彿</el-radio> + <el-radio label="org">鍗曚綅璐﹀彿</el-radio> + <el-radio label="donor">鎹愮尞鑰呬翰灞炶处鍙�</el-radio> + </el-radio-group> </el-form-item> - <el-form-item label="鍙戠エ鍗曚綅鍚嶇О" prop="unitno" label-width="120px" v-if="businessType == 3 || businessType == 4"> - <el-select v-model="funddetailForm.unitno" placeholder="鍗曚綅鍚嶇О" clearable filterable allow-create - style="width: 100%"> - <el-option v-for="(item, index) in feeUnitList" :key="index" :label="item.reportName" - :value="item.reportNo"></el-option> + </el-col> + </el-row> + <el-row v-if="selectionType == 'account' && accountfrom == '2'"> + <el-col :span="24"> + <el-form-item label="璐﹀彿鍚嶇О" prop="username"> + <el-input + v-model="accountselectform.username" + placeholder="璇疯緭鍏ュ崟浣嶅悕绉帮紝鎴栦笓瀹跺鍚嶏紝鎴栧叾浠栬处鍙�" + /> + </el-form-item> + </el-col> + </el-row> + <el-row + v-if=" + selectionType == 'account' && + accountfrom == '2' && + accountselectform.usertype != 'org' + " + > + <el-col :span="12"> + <el-form-item label="韬唤璇佸彿" prop="idcardno"> + <el-input + v-model="accountselectform.idcardno" + placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" + /> + </el-form-item> + </el-col> + <el-col :span="12" v-if="accountselectform.usertype == 'expert'"> + <el-form-item label="鑱岀О" prop="title"> + <el-select + v-model="accountselectform.title" + placeholder="璇烽�夋嫨浜哄憳鑱岀О" + > + <el-option + v-for="dict in dict.type.sys_professionaltitle" + :key="dict.value" + :label="dict.label" + :value="dict.label" + ></el-option> </el-select> </el-form-item> </el-col> </el-row> - <el-row> - <el-col :span="12" v-if="expertfrom == '2'"> - <el-form-item label="涓撳濮撳悕" prop="expertname" label-width="80px"> - <el-input v-model="funddetailForm.expertname" placeholder="蹇呭~椤�" /> - </el-form-item> - </el-col> - <el-col :span="12" v-if="expertfrom == '2'"> - <el-form-item label="鑱� 绉�" prop="experttitle" label-width="80px"> - <el-select v-model="funddetailForm.experttitle" placeholder="蹇呭~椤�"> - <el-option v-for="dict in dict.type.sys_professionaltitle" :key="dict.value" :label="dict.label" - :value="dict.label"></el-option> + <el-row + v-if=" + selectionType == 'account' && + accountfrom == '2' && + accountselectform.usertype == 'expert' + " + > + <el-col> + <el-form-item label="鎵�鍦ㄥ崟浣�" prop="unitno"> + <el-select + v-model="accountselectform.unitno" + placeholder="鍗曚綅鍚嶇О" + clearable + filterable + allow-create + style="width: 100%" + > + <el-option + v-for="(spec, index) in unitList" + :key="index" + :label="spec.organizationname" + :value="spec.organizationid" + ></el-option> </el-select> </el-form-item> </el-col> - </el-row> - <el-row> - <el-col :span="24" v-if="expertfrom == '2'"> - <el-form-item label="韬唤璇佸彿" prop="expertidcardno" label-width="80px"> - <el-input v-model="funddetailForm.expertidcardno" placeholder="蹇呭~椤�" /> + <el-col> + <el-form-item label="鍗曚綅宸ュ彿" prop="personnelunitno"> + <el-input + v-model="accountselectform.personnelunitno" + placeholder="璇疯緭鍏ユ墍鍦ㄥ崟浣嶇殑宸ュ彿" + /> </el-form-item> </el-col> </el-row> - <!-- - <el-row> - <el-col :span="12" v-if="expertfrom == '2'"> - <el-form-item label="浜哄憳绫诲埆" prop="usertype" label-width="80px"> - <el-select v-model="funddetailForm.usertype" placeholder="蹇呭~椤�"> - <el-option v-for="dict in dict.type.sys_UserType" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> - --> - <el-row> - <el-col :span="24" v-if="expertfrom == '2'"> - <el-form-item label="鍗曚綅鍚嶇О" prop="expertunitno" label-width="80px"> - <el-select v-model="funddetailForm.expertunitno" placeholder="鍗曚綅鍚嶇О" clearable filterable allow-create - style="width: 100%"> - <el-option v-for="(spec, index) in unitList" :key="index" :label="spec.organizationname" - :value="spec.organizationid"></el-option> - </el-select> </el-form-item></el-col> - </el-row> - <el-row> - <el-col :span="24" v-if="expertfrom == '2'"> - <el-form-item label="寮�鎴烽摱琛�" prop="expertdepositbank" label-width="80px"> - <el-input v-model="funddetailForm.expertdepositbank" placeholder="蹇呭~椤�" /> + <el-row v-if="selectionType == 'account' && accountfrom == '2'"> + <el-col + ><el-form-item label="寮�鎴烽摱琛�" prop="depositbank"> + <el-input + v-model="accountselectform.depositbank" + placeholder="璇疯緭鍏ュ紑鎴烽摱琛屽悕绉�" + /> </el-form-item> </el-col> - <el-col :span="24" v-if="expertfrom == '2'"> - <el-form-item label="閾惰鍗″彿" prop="expertbankcardno" label-width="80px"> - <el-input v-model="funddetailForm.expertbankcardno" placeholder="蹇呭~椤�" /> + <el-col + ><el-form-item label="閾惰鍗″彿" prop="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> + <el-button type="primary" @click="confirmSelectionDialog()" + >纭� 瀹�</el-button + > + <el-button @click="showselectiondialog = false">鍙� 娑�</el-button> </span> </el-dialog> - <el-dialog :title="pdftitle" :visible.sync="pdfVisible" width="50%"> - <div class="pdfimg"> - <div class="box-pdf"> - <div> - <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileListto" multiple - :limit="20" :headers="headers" :on-success="(response, file, fileList) => - uploadSccess(response, file, fileList) - " :on-preview="downFile" :disabled="operationType == 'detail'" :on-error="handleUploadError" - :on-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf"> - <el-button :disabled="operationType == 'detail'" size="small" type="primary">涓婁紶</el-button> - </el-upload> - </div> - <!-- <div - class="pdftit" - @click="pdffn(item)" - v-for="item in fileList" - :key="item.name" + <el-dialog + v-dialogDrags + :modal="false" + :close-on-click-modal="false" + :title="pdftitle" + :visible.sync="pdfVisible" + width="60%" + > + <div> + <el-table :data="tableDatatop" style="width: 100%"> + <el-table-column + v-if="businessType == 4" + prop="price" + align="center" + label="鍗曚环" > - {{ item.name }} - </div> --> - </div> + </el-table-column> + <el-table-column + prop="quantity" + align="center" + label="鏁伴噺" + v-if="businessType == 4" + > + </el-table-column> + <el-table-column prop="amount" align="center" :label="amountlabel"> + </el-table-column> + <el-table-column + prop="taxedamount" + align="center" + label="绋庡悗閲戦" + v-if=" + (this.ismanager == true) & + (form.applytype == '1' || form.applytype == '2') + " + > + </el-table-column> + <!-- <el-table-column + prop="beneficiaryname" + align="center" + label="濮撳悕" + v-if="form.applytype == '1' || form.applytype == '2'" + > + </el-table-column> --> - <div v-if="this.previewpdf" class="pdfimgmin"> - <img :src="pdfimg" /> - </div> - <div v-else class="pdfimgmins">{{ hintitle }}</div> + <!-- <el-table-column + prop="beneficiaryname" + align="center" + label="鍗曚綅鍚嶇О" + width="250" + v-if="form.applytype != '4'" + > + </el-table-column> --> + <el-table-column prop="" align="center" label="鍗曚綅/涓汉" width="250"> + </el-table-column> + <el-table-column + prop="title" + align="center" + label="鑱岀О" + width="120" + v-if="form.applytype == '1' || form.applytype == '2'" + > + </el-table-column> + <el-table-column + prop="idcardno" + align="center" + label="韬唤璇佸彿" + width="200" + v-if="form.applytype == '1' || form.applytype == '2'" + > + </el-table-column> + <el-table-column prop="depositbank" align="center" label="寮�鎴烽摱琛�"> + </el-table-column> + <el-table-column + prop="bankcardno" + align="center" + label="閾惰甯愬彿" + width="210" + > + </el-table-column> + </el-table> </div> + + <el-tabs + style="margin-top: 20px;" + v-model="activeName" + type="border-card" + @tab-click="handleClick" + > + <el-tab-pane label="鏅�氶檮浠�" :name="1"> + <div class="pdfimg"> + <div class="box-pdf"> + <div> + <el-upload + size="mini" + class="upload-demo" + :action="uploadFileUrl" + :file-list="fileListto" + :show-file-list="false" + multiple + drag + :headers="headers" + :on-success=" + (response, file, fileList) => + uploadSccess(response, file, fileList) + " + :on-preview="downFile" + :disabled="operationType == 'detail'" + :on-error="handleUploadError" + :on-remove="remove" + accept="image/*,.pdf" + > + <i class="el-icon-upload"></i> + <div class="el-upload__text"> + 灏嗙エ鎹嫋鍒版澶勶紝鎴� + <em + ><el-button + :disabled="operationType == 'detail'" + size="small" + type="primary" + >鐐瑰嚮涓婁紶</el-button + ></em + > + </div> + </el-upload> + <el-table + :data="fileListto" + @row-click="downFile" + style="width: 100%" + height="400" + > + <el-table-column + prop="name" + :show-overflow-tooltip="true" + label="鍚嶇О" + > + <template slot-scope="scope"> + <i style="color:#409EFF" class=" el-icon-s-order" /> + <span>{{ scope.row.name }}</span> + </template> + </el-table-column> + + <el-table-column + prop="name" + width="190" + :show-overflow-tooltip="true" + label="鍔熻兘" + > + <template slot-scope="scope"> + <el-button + type="primary" + size="mini" + @click.native.prevent.stop="deletedowfile(scope.row)" + >鍒犻櫎</el-button + > + <el-button + type="primary" + size="mini" + @click.native.prevent.stop="moveupdowfile(scope.row)" + >涓婄Щ</el-button + > + <el-button + type="success" + size="mini" + icon="el-icon-search" + circle + @click.native.prevent.stop="Downloadfile(scope.row)" + ></el-button> + </template> + </el-table-column> + </el-table> + </div> + </div> + + <div + v-if="this.previewpdf && pdfimgsrcList.length" + class="pdfimgmin" + > + <!-- <img :src="pdfimg" /> --> + <el-image + style="width: 95%; height: 90%" + :src="pdfimg" + :preview-src-list="pdfimgsrcList" + > + <!-- <div slot="error" class="image-slot"> + <i class="el-icon-picture-outline"></i> + </div> --> + </el-image> + </div> + <div v-else class="pdfimgmins">{{ hintitle }}</div> + </div> + </el-tab-pane> + <el-tab-pane label="鍙戠エ鏂囦欢" :name="2"> + <div class="pdfimg"> + <div class="box-pdf"> + <div> + <el-upload + size="mini" + class="upload-demo" + :action="uploadFileUrl" + :file-list="invoicefileList" + :show-file-list="false" + multiple + drag + :headers="headers" + :on-success=" + (response, file, fileList) => + uploadSccess(response, file, fileList) + " + :on-preview="downFile" + :disabled="operationType == 'detail'" + :on-error="handleUploadError" + :on-remove="remove" + accept="image/*,.pdf" + > + <i class="el-icon-upload"></i> + <div class="el-upload__text"> + 灏嗗彂绁ㄦ枃浠舵嫋鍒版澶勶紝鎴� + <em + ><el-button + :disabled="operationType == 'detail'" + size="small" + type="primary" + >鐐瑰嚮涓婁紶</el-button + ></em + > + </div> + </el-upload> + <el-table + :data="invoicefileListto" + @row-click="downFile" + style="width: 100%" + height="400" + > + <el-table-column + prop="name" + :show-overflow-tooltip="true" + label="鍚嶇О" + > + <template slot-scope="scope"> + <i style="color:#409EFF" class=" el-icon-s-order" /> + <span>{{ scope.row.name }}</span> + </template> + </el-table-column> + + <el-table-column + prop="name" + width="190" + :show-overflow-tooltip="true" + label="鍔熻兘" + > + <template slot-scope="scope"> + <el-button + type="primary" + size="mini" + @click.native.prevent.stop="deletedowfile(scope.row)" + >鍒犻櫎</el-button + > + <el-button + type="primary" + size="mini" + @click.native.prevent.stop="moveupdowfile(scope.row)" + >涓婄Щ</el-button + > + <el-button + type="success" + size="mini" + icon="el-icon-search" + circle + @click.native.prevent.stop="Downloadfile(scope.row)" + ></el-button> + </template> + </el-table-column> + </el-table> + </div> + </div> + + <div + v-if="this.previewpdf && invoicepdfimgsrcList.length" + class="pdfimgmin" + > + <!-- <img :src="pdfimg" /> --> + <el-image + style="width: 95%; height: 90%" + :src="invoicepdfimg" + :preview-src-list="invoicepdfimgsrcList" + > + <!-- <div slot="error" class="image-slot"> + <i class="el-icon-picture-outline"></i> + </div> --> + </el-image> + </div> + <div v-else class="pdfimgmins">{{ hintitle }}</div> + </div> + </el-tab-pane> + </el-tabs> + </el-dialog> + <el-dialog title="鎻愮ず" :visible.sync="Savereminder" width="30%"> + <el-alert + :title=" + '鎮ㄥ凡娣诲姞' + + totalquantity + + '鏉℃暟鎹紝涓洪槻姝㈡暟鎹涪澶辨槸鍚︽彁浜や繚瀛樺啀缁х画娣诲姞銆�' + " + type="warning" + > + </el-alert> + <span slot="footer" class="dialog-footer"> + <el-button type="primary" @click="Savenow">纭� 瀹�</el-button> + <el-button @click="unsave">鍙� 娑�</el-button> + </span> + </el-dialog> + + <!-- 鎵归噺閫夊彇 --> + <el-dialog + title="鎵归噺鐢熸垚鏄庣粏淇℃伅" + :visible.sync="batchdialogVisible" + width="30%" + > + <div style="max-height: 300px; overflow-y: auto"> + <el-checkbox + :indeterminate="isIndeterminate" + v-model="checkAll" + @change="handleCheckAllChange" + >鍏ㄩ��</el-checkbox + > + <div style="margin: 15px 0;"></div> + <el-checkbox-group + v-model="checkedCities" + @change="handleCheckedCitiesChange" + > + <el-checkbox + border + v-for="city in cityOptions" + :label="city" + :key="city.reportNo" + >{{ city.reportName }}</el-checkbox + > + </el-checkbox-group> + </div> + + <span slot="footer" class="dialog-footer"> + <el-button type="primary" @click="BatchentryFn">纭� 瀹�</el-button> + <el-button @click="batchdialogVisible = false">鍙� 娑�</el-button> + </span> </el-dialog> </div> </template> <script> +// 'sdaad2123UD2',1 'wsadadwsad',4 'sdadaddad',3 'ssaaddxs',2 //杩欓噷鍙互瀵煎叆鍏朵粬鏂囦欢锛堟瘮濡傦細缁勪欢锛屽伐鍏穓s锛岀涓夋柟鎻掍欢js锛宩son鏂囦欢锛屽浘鐗囨枃浠剁瓑绛夛級 //渚嬪锛歩mport 銆婄粍浠跺悕绉般�� from '銆婄粍浠惰矾寰勩��'; import { listDonatebaseinfo, getDonatebaseinfo } from "@/api/project/donatebaseinfo"; - +import debounce from "lodash/debounce"; import { onelistFund, listFund, @@ -509,6 +1318,7 @@ checkfund, getdownloadBX, addorupdateFund, + ManualCalculation, getdetailsByItemId } from "@/api/project/fund"; @@ -549,8 +1359,11 @@ delExternalperson, addExternalperson, updateExternalperson, - exportExternalperson + exportExternalperson, + getOnlyCode } from "@/api/project/externalperson"; + +import { listItemexpense } from "@/api/project/itemexpense"; import { getUserProfile } from "@/api/system/user"; import Li_area_select from "@/components/Address"; @@ -563,7 +1376,6 @@ Li_area_select, OrgSelecter }, - name: "fundApply", dicts: [ @@ -583,6 +1395,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 { // 閬僵灞� @@ -590,9 +1410,10 @@ // 瀵煎嚭閬僵灞� exportLoading: false, usernamedata: "", + jurisdiction: false, + Routinglevel: 1, // 琛ㄥ崟鍙傛暟 form: {}, - //璐圭敤鐢宠琛ㄥ崟title title: "", //鐢宠鍗曠被鍨� @@ -612,21 +1433,38 @@ userprofile: {}, //绯荤粺鐢ㄦ埛鍒楄〃 userlist: [], - //鎵�鏈変汉鍛樿〃 - personlist: [], - //涓撳鍒楄〃 - expertlist: [], + //璐﹀彿鍒楄〃 + accountlist: [], //鍖荤枟鏈烘瀯鍒楄〃 unitList: [], - //璐圭敤鎶ラ攢鏈烘瀯鍒楄〃 - feeUnitList: [], + // 缃戠粶璇锋眰澶� + Networkheader: null, + batchdialogVisible: false, itemlist: [], + cityOptions: [], + checkAll: false, + checkedCities: [], + Personnelforname: null, + unitforname: null, + isIndeterminate: true, //鏄惁鏄笓瀹惰垂鐨凮PO瀹℃壒浜哄憳 ismanager: false, - //涓撳璐归�夋嫨锛�1鏄笓瀹跺簱锛�2鏄柊澧� - expertfrom: "1", + baselisttages: [ + { + id: 1, + name: "鏉愭枡寰呭鏍�" + }, + { + id: 2, + name: "瀹℃煡閫氳繃绛夊緟閭瘎绾歌川鏉愭枡" + }, + { + id: 3, + name: "宸叉敹鍒扮焊璐ㄦ潗鏂�" + } + ], //鎹愮尞妗堜緥鍒楄〃 donateList: [], @@ -638,7 +1476,7 @@ totalPreTaxAmount: 0.0, totalAfterTaxAmount: 0.0, totalAmount: 0.0, - + tableDatatop: [], //璐圭敤绫诲瀷鏁扮粍 feeItemTypes: [], @@ -647,19 +1485,27 @@ rowfeeItemTypes: [], //璐圭敤璇存槑 - rowfeeblocks: [], + feeBlocks: [], fundflowList: [], + // 闅忔満鏁� + randomnumber: "", - //涓撳/鍗曚綅閫夋嫨锛歟xpert/unit + //閫夋嫨绐楀彛鏄剧ず鐘舵�� + showselectiondialog: false, + //閫夋嫨鏃跺綋鍓嶈 + selectionScope: "", + //閫夋嫨绫诲瀷锛氫笓瀹讹紙鍗曚綅锛夎处鎴枫�佸伐浣滃崟浣嶏紙account/workunit锛� selectionType: "", - showSelectionDialog: false, + //璐︽埛閫夋嫨锛�1鏄处鎴峰簱锛�2鏄柊澧� + accountfrom: "1", + //鍙楃泭浜烘爣绛撅細涓撳璐�-涓撳锛堝崟浣嶏級鍚嶇О锛屽尰瀛︽垚鏈�-鍔炲叕-鍗曚綅锛堜釜浜猴級鍚嶇О + beneficiarylabel: "", + //绋庡墠閲戦鏍囬锛氫笓瀹惰垂-绋庡墠閲戦锛涘尰瀛︽垚鏈�佸姙鍏垂鐢�-閲戦 + amountlabel: "绋庡墠閲戦", // 琛ㄥ崟鏍¢獙 rules: { - createTime: [ - { required: true, message: "璇疯緭鍏ュ~鎶ユ棩鏈�", trigger: "blur" } - ], reason: [ { required: true, message: "璇疯緭鍏ュ嚭宸簨鐢�", trigger: "blur" } ], @@ -668,53 +1514,79 @@ ] }, - 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: { flowlevelone: null, flowconclusion: null, - fundid: null, + fundid: null }, // 鏌ヨ鍙傛暟 @@ -750,6 +1622,11 @@ username: null, usertype: null }, + // 鏌ヨ鏈�鏂板簭鍙峰弬鏁� + seqnoParams: { + businessType: "externalperson", + datequery: false + }, //璁$畻涓◣鍙傛暟 taxParam: { @@ -757,10 +1634,25 @@ money: "0", startTime: "" }, + //鏈嶅姟璐圭敤鍙傛暟 + expenseQueryParams: { + pageNum: 1, + pageSize: 10000, + itemid: null, + expense: null, + expensedescribe: null, + usestate: null + }, //闄勪欢鍒楄〃 fileList: [], fileListto: [], + invoicefileList: [], + invoicefileListto: [], + invoicepdfimg: "", + invoicepdfimgsrcList: [], + invoDatatop: [], + activeName: 1, //鏂囦欢绫诲瀷 //涓婁紶闄勪欢璺緞 uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", //鏂囦欢涓婁紶token @@ -770,18 +1662,43 @@ //绁ㄦ嵁鏂囦欢 pdftitle: "", pdfimg: "", + pdfimgsrcList: [], pdfVisible: false, previewpdf: false, - hintitle: "閫変腑宸︿晶宸蹭笂浼犳枃浠堕瑙堟煡鐪�", - atpresent: "" + hintitle: "璇蜂笂浼犳枃浠跺悗鏌ョ湅", + atpresent: "", + Savereminder: false, //鎻愰啋淇濆瓨寮规 + Reminderquantity: 0, //鎻愰啋鏁伴噺 + totalquantity: 0, //鎬绘暟閲� + Modifyornot: 0 //鏄惁淇敼 }; }, + //鐩戝惉灞炴�� 绫讳技浜巇ata姒傚康 computed: {}, //鐩戞帶data涓殑鏁版嵁鍙樺寲 watch: {}, //鏂规硶闆嗗悎 methods: { + bbaaccss(val) {}, + // 娴忚鍣ㄩ〉闈㈠叧闂垨鍒锋柊鎻愮ず + beforeunloadHandler(e) { + if ( + (JSON.stringify(this.form) == sessionStorage.getItem("apiform") && + JSON.stringify(this.rbDetails) == + sessionStorage.getItem("apifunddetail")) || + !sessionStorage.getItem("apifunddetail") + ) { + } else { + this._beforeUnload_time = new Date().getTime(); + e = e || window.event; + if (e) { + e.returnValue = "鍏抽棴鎻愮ず"; + } + return "鍏抽棴鎻愮ず"; + } + }, + // 琛ㄥ崟閲嶇疆 reset() { this.form = { @@ -831,6 +1748,21 @@ //娓呯┖闄勪欢 this.fileList = []; }, + // 鑾峰彇璇锋眰澶� + Getnetworkheader() { + let string = window.location.href; + if (string.includes("9091")) { + const index = string.indexOf("9091"); + this.Networkheader = string.slice(0, index + 4); // 鎴彇9091鍙婂叾鍓嶉儴瀛楃 + this.Networkheader = "http://slb.hospitalstar.com:9091"; + } else { + const index = string.indexOf("8032"); + this.Networkheader = string.slice(0, index + 4); // 鎴彇8032鍙婂叾鍓嶉儴瀛楃 + this.Networkheader = "http://slb.hospitalstar.com:9091"; + } + this.Networkheader = "http://slb.hospitalstar.com:9091"; + + }, /** 閫氳繃鍙傛暟鑾峰彇涓氬姟绫诲瀷 */ getroute() { //閫夋嫨涓氬姟绫诲瀷:1銆佹柊澧烇紱2銆佷慨鏀癸紱3銆佹煡鐪� @@ -843,40 +1775,43 @@ // if (!this.businessType && !this.operationType) { if (this.businessType == "1") { - this.curCase = this.$route.query.curCase; - this.businessName = "涓撳鍔冲姟璐圭敵璇峰崟" + this.businessName = "涓撳鍔冲姟璐圭敵璇峰崟"; + this.amountlabel = "绋庡墠閲戦"; + this.beneficiarylabel = "涓撳鎴栧崟浣嶅悕绉�"; this.getUnitList(); - } - else if (this.businessType == "2") { - this.curCase = this.$route.query.curCase; + } else if (this.businessType == "2") { this.businessName = "浼︾悊涓撳鍔冲姟璐圭敵璇峰崟"; + this.amountlabel = "绋庡墠閲戦"; + this.beneficiarylabel = "涓撳鎴栧崟浣嶅悕绉�"; this.getUnitList(); - } - else if (this.businessType == "3") { - if (this.operationType != "check") { - this.curCase = this.$route.query.curCase; - } + } else if (this.businessType == "3") { this.businessName = "鍖诲鎴愭湰鎶ラ攢鍗�"; - } - else if (this.businessType == "4") { + this.amountlabel = "閲戦"; + this.beneficiarylabel = "鍗曚綅鍚嶇О鎴栦釜浜�"; + this.getUnitList(); + } else if (this.businessType == "4") { this.businessName = "鍔炲叕璐圭敤鎶ラ攢鍗�"; + this.amountlabel = "閲戦"; + this.beneficiarylabel = "鍗曚綅鍚嶇О鎴栦釜浜�"; + this.getUnitList(); // this.getBaseInfoList(); } if (this.operationType == "add") { this.title = this.businessName + "鏂板缓"; + if (this.operationType != "4") { + this.curCase = this.$route.query.curCase; + } this.handleAdd(); - } - else if (this.operationType == "update") { + } else if (this.operationType == "update") { this.title = this.businessName + "淇敼"; this.handleUpdate(); - } - else if (this.operationType == "detail") { + } else if (this.operationType == "detail") { this.title = this.businessName + "鏌ョ湅"; + this.jurisdiction = true; this.handleDetail(); - } - else if (this.operationType == "check") { + } else if (this.operationType == "check") { this.title = this.businessName + "瀹℃牳"; this.handleCheck(); } @@ -899,7 +1834,6 @@ this.businessType == "2" || this.businessType == "3" ) { - console.log("", this.curCase); this.form.infoid = this.curCase.id; this.form.donorname = this.curCase.name; this.form.donorno = this.curCase.donorno; @@ -917,6 +1851,9 @@ getFund(this.curId).then(response => { this.form = response.data; + sessionStorage.removeItem("apiform"); + sessionStorage.setItem("apiform", JSON.stringify(this.form)); + // this.form.recordstate =-1; // this.form.recordstatus = response.data.recordstatus + ""; //闄勪欢澶勭悊 @@ -925,67 +1862,27 @@ //鏄庣粏澶勭悊 getownFundDetail(this.curId).then(res => { this.rbDetails = res.data; - console.log(res); - console.log(this.curId, res.data); if (this.rbDetails.length > 0) { for (let m = 0; m < this.rbDetails.length; m++) { this.rbDetails[m].itemlist = []; - this.getFeeItems(m, this.rbDetails[m]); + this.getRowFeeItems(m, this.rbDetails[m]); //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭� - this.rbDetails[m].rowfeeblocks = []; - this.rbDetails[m].rowfeeblocks.push({ - servicesscope: this.rbDetails[m].servicesscope, - expensedescribe: this.rbDetails[m].servicesscopename, - expense: this.rbDetails[m].expense, - remark: this.rbDetails[m].servicesscopename - }); - // getdetailsByItemId(this.rbDetails[m].itemid).then((res) => { - // let fundmsg = res.data; - // fundmsg.forEach((item) => { - // this.rbDetails[m].rowfeeblocks.push({ - // servicesscope: item.id, - // expensedescribe: item.expensedescribe, - // expense: item.expense, - // remark: item.expensedescribe, - // }); - // }); - // }); + this.rbDetails[m].rowfeeblocks = this.feeBlocks.filter( + r => r.itemid == this.rbDetails[m].itemid + ); } + + sessionStorage.removeItem("apifunddetail"); + sessionStorage.setItem( + "apifunddetail", + JSON.stringify(this.rbDetails) + ); } else { this.addRow(0); } }); - }); - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleCheck() { - this.isopen = 0; - this.reset(); - - getFund(this.curId).then(response => { - this.form = response.data; - //闄勪欢澶勭悊 - // this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] - - //涓氬姟鏄庣粏 - getownFundDetail(this.curId).then(res => { - this.rbDetails = res.data; - for (let m = 0; m < this.rbDetails.length; m++) { - this.rbDetails[m].itemlist = []; - this.getFeeItems(m, this.rbDetails[m]); - this.rbDetails[m].rowfeeblocks = []; - this.rbDetails[m].rowfeeblocks.push({ - expense: this.rbDetails[m].expense, - expensedescribe: this.rbDetails[m].servicesscopename, - remark: this.rbDetails[m].servicesscope, - servicesscope: this.rbDetails[m].servicesscope - }); - } - }); - - //涓氬姟娴佺▼ let listFundflowparams = { fundid: this.curId, fundtype: 2 @@ -994,7 +1891,6 @@ this.fundflowList = res.rows; }); }); - }, /** 鏌ョ湅鎸夐挳鎿嶄綔 */ @@ -1004,23 +1900,23 @@ getFund(this.curId).then(response => { this.form = response.data; + sessionStorage.removeItem("apiform"); + sessionStorage.setItem("apiform", JSON.stringify(this.form)); //闄勪欢澶勭悊 // this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] //涓氬姟鏄庣粏 getownFundDetail(this.curId).then(res => { - console.log(res); this.rbDetails = res.data; + for (let m = 0; m < this.rbDetails.length; m++) { this.rbDetails[m].itemlist = []; - this.getFeeItems(m, this.rbDetails[m]); - this.rbDetails[m].rowfeeblocks = []; - this.rbDetails[m].rowfeeblocks.push({ - expense: this.rbDetails[m].expense, - expensedescribe: this.rbDetails[m].servicesscopename, - remark: this.rbDetails[m].servicesscope, - servicesscope: this.rbDetails[m].servicesscope - }); + this.getRowFeeItems(m, this.rbDetails[m]); + + //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭� + this.rbDetails[m].rowfeeblocks = this.feeBlocks.filter( + r => r.itemid == this.rbDetails[m].itemid + ); } if (this.rbDetails.length == 0) { @@ -1028,7 +1924,7 @@ } }); - //涓氬姟娴佺▼ + //涓氬姟娴佺▼ let listFundflowparams = { fundid: this.curId, fundtype: 2 @@ -1039,16 +1935,57 @@ }); }, + /** 鏌ョ湅鎸夐挳鎿嶄綔 */ + handleCheck() { + this.isopen = 0; + this.reset(); + + getFund(this.curId).then(response => { + this.form = response.data; + sessionStorage.removeItem("apiform"); + sessionStorage.setItem("apiform", JSON.stringify(this.form)); + + //闄勪欢澶勭悊 + // this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] + + //涓氬姟鏄庣粏 + getownFundDetail(this.curId).then(res => { + this.rbDetails = res.data; + for (let m = 0; m < this.rbDetails.length; m++) { + this.rbDetails[m].itemlist = []; + this.getRowFeeItems(m, this.rbDetails[m]); + + //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭� + this.rbDetails[m].rowfeeblocks = this.feeBlocks.filter( + r => r.itemid == this.rbDetails[m].itemid + ); + } + + if (this.rbDetails.length == 0) { + this.addRow(0); + } + }); + + //涓氬姟娴佺▼ + let listFundflowparams = { + fundid: this.curId, + fundtype: 2 + }; + listFundflow(listFundflowparams).then(res => { + this.fundflowList = res.rows; + }); + }); + }, + + /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete() { this.$modal .confirm("鏄惁纭鍒犻櫎璇ヨ褰曪紵") - .then(function () { + .then(function() { return delFund(this.curId); }) .then(() => { getownFundDetail(this.curId).then(res => { - console.log(res); - let listdetails = res.data; for (let i = 0; i < listdetails.length; i++) { delFunddetail(listdetails[i].id); @@ -1057,11 +1994,21 @@ this.getfundList(); this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); }) - .catch(() => { }); + .catch(() => {}); }, /** 涓婃姤鎸夐挳鎿嶄綔 */ - handleUp() { + handleup() { + if ( + (JSON.stringify(this.form) == sessionStorage.getItem("apiform") && + JSON.stringify(this.rbDetails) == + sessionStorage.getItem("apifunddetail")) || + !sessionStorage.getItem("apifunddetail") + ) { + } else { + this.$message.error("璇蜂繚瀛樺悗鍐嶈繘琛屼笂鎶�"); + return; + } this.$confirm("鏄惁纭灏嗙櫥璁拌褰曚笂鎶ワ紵", "鎻愮ず", { confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", @@ -1071,6 +2018,23 @@ //鏌ユ壘鏄惁瀛樺湪鐧昏瀹屾垚璁板綍 //鍒ゆ柇鏄惁瀛樺湪涓婃姤璁板綍 this.form.recordstatus = 0; + var currenttime = new Date(); + this.form.applyTime = + currenttime.getFullYear() + + "-" + + (currenttime.getMonth() + 1) + + "-" + + currenttime.getDate() + + " " + + currenttime.getHours() + + ":" + + currenttime.getMinutes() + + ":" + + currenttime.getSeconds(); + + if (!this.form.id) { + this.form.id = this.$route.query.id; + } updateFund(this.form).then(response => { if (response.code == 200) { @@ -1078,6 +2042,7 @@ type: "success", message: "鐢宠鎴愬姛" }); + this.cancel(); } else { this.$message({ type: "error", @@ -1094,15 +2059,27 @@ }); }); }, - + generateRandomString(length) { + const characters = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; + let randomString = ""; + for (let i = 0; i < length; i++) { + randomString += characters.charAt( + Math.floor(Math.random() * characters.length) + ); + } + return randomString; + }, /** 鎻愪氦鎸夐挳 */ - submitForm() { + submitForm: debounce(function() { + if (!this.randomnumber) { + this.randomnumber = this.generateRandomString(9); + this.form.randomnumber = this.randomnumber; + } + this.$refs["form"].validate(valid => { if (valid) { this.formData = this.form; - // let totalPreTaxAmount = 0.0; - // let totalAfterTaxAmount = 0.0; - // let totalAmount = 0.0; //淇濆瓨鍓嶆牎楠屾暟鎹� for (let k = 0; k < this.rbDetails.length; k++) { @@ -1110,8 +2087,8 @@ if (tempDetail.itemid == null) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (k + 1).toString() + - "琛岀殑鏈嶅姟椤圭洰鏈�夋嫨锛岃鍏堥�夋嫨鏈嶅姟椤圭洰鍚庡啀鎻愪氦淇濆瓨锛�" + (k + 1).toString() + + "琛岀殑鏈嶅姟椤圭洰鏈�夋嫨锛岃鍏堥�夋嫨鏈嶅姟椤圭洰鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } @@ -1120,42 +2097,22 @@ if (tempDetail.servicesscope == null) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (k + 1).toString() + - "琛岀殑璐圭敤璇存槑鏈�夋嫨,璇烽�夋嫨璐圭敤璇存槑鍚庡啀鎻愪氦淇濆瓨锛�" + (k + 1).toString() + + "琛岀殑璐圭敤璇存槑鏈�夋嫨,璇烽�夋嫨璐圭敤璇存槑鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } - if (tempDetail.beneficiaryno == null || tempDetail.beneficiaryno == "鐐瑰嚮閫夋嫨") { + if (tempDetail.beneficiaryno == null) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (k + 1).toString() + - "琛岀殑鏈嶅姟浜哄憳濮撳悕涓洪�夋嫨,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�" + (k + 1).toString() + + "琛岀殑鏈嶅姟浜哄憳濮撳悕涓洪�夋嫨,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } } - - // //鍒ゆ柇鍗曚綅 unitSel - // try { - // let unitIndex = this.unitList.findIndex( - // (item) => tempDetail.unitno == item.organizationid - // ); - // if (unitIndex > -1) { - // tempDetail.unitname = this.unitList[unitIndex].organizationname; - // } else { - // tempDetail.unitname = tempDetail.unitno; - // } - // } catch { - // tempDetail.unitname = tempDetail.unitno; - // } } - - //闄勪欢澶勭悊 - let list = this.fileList; - // if (list.length > 0) { - // this.form.annexfiles = list.map(item => item.url).join(","); - // } //澶勭悊鏄庣粏 for (let i = 0; i < this.rbDetails.length; i++) { @@ -1186,45 +2143,50 @@ ].subjecttypename; } this.rbDetails[i] = tempDetail; - /* - //璁$畻涓◣ - //if (isNaN(parseFloat(tempDetail.taxedamount))) - //鑾峰彇鍙傛暟 - this.taxParam.beneficiaryNo = tempDetail.beneficiaryno; - this.taxParam.startTime = this.form.createTime.substring(0, 10); - // 璁$畻绋庡悗閲戦 - if (tempDetail.taxedamount == undefined || tempDetail.taxedamount == null || tempDetail.taxedamount == 0 || tempDetail.taxedamount == '') { - //鑾峰彇鍙傛暟 - this.taxParam.money = tempDetail.amount.toString(); - getTaxByBeneFiciaryNo(this.taxParam).then((res) => { - if (res.code == 200) { - tempDetail.taxamount = res.data; - tempDetail.taxedamount = tempDetail.amount - tempDetail.taxamount; - this.rbDetails[k] = tempDetail; - - this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount); - this.totalAmount += parseFloat(tempDetail.amount); - } - }); - } - - // 璁$畻绋庡墠閲戦 - if (tempDetail.amount == undefined || tempDetail.amount == null || tempDetail.amount == 0 || tempDetail.amount == '') { - //鑾峰彇鍙傛暟 - this.taxParam.money = tempDetail.taxedamount.toString(); - getTaxBeforeByAfterMoney(this.taxParam).then((res) => { - if (res.code == 200) { - tempDetail.taxamount = res.data.nowTax; - tempDetail.amount = parseFloat(res.data.nowTaxBeforeMoney); - this.rbDetails[k] = tempDetail; - - this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount); - this.totalAmount += parseFloat(tempDetail.amount); - } - }); - } - */ } + //璁$畻褰撳墠琛屾姤閿�鍐呭璐圭敤鍚堣锛岀◣鍓嶉噾棰濓紙amount锛夈�佹墸绋庨噾棰濓紙taxamount锛夈�佺◣鍚庨噾棰濓紙taxedamount锛� + if (this.businessType == "2") { + for (let j = 0; j < this.rbDetails.length; j++) { + let tempDetail = this.rbDetails[j]; + if ( + isNaN(parseFloat(tempDetail.amount)) || + parseFloat(tempDetail.amount) == 0 + ) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (j + 1).toString() + + "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + } + } else if (this.businessType == "3" || this.businessType == "4") { + for (let j = 0; j < this.rbDetails.length; j++) { + let tempDetail = this.rbDetails[j]; + if ( + isNaN(parseFloat(tempDetail.amount)) || + parseFloat(tempDetail.amount) == 0 + ) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (j + 1).toString() + + "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + if ( + isNaN(parseFloat(tempDetail.taxamount)) || + parseFloat(tempDetail.taxamount) == 0 + ) { + tempDetail.taxedamount = parseFloat(tempDetail.amount); + } else { + tempDetail.taxedamount = + parseFloat(tempDetail.amount) + + parseFloat(tempDetail.taxamount); + } + } + } + //璐圭敤鍚堣 // this.form.pretaxcost = parseFloat(this.totalPreTaxAmount).toFixed(2); // this.form.taxedcost = parseFloat(this.totalAfterTaxAmount).toFixed(2); @@ -1236,7 +2198,6 @@ this.rbDetails.map(item => { this.form.serviceFunddetails += item.amount; }); - console.log(this.rbDetails); this.form.serviceFunddetails = this.rbDetails; if (this.form.id != null) { @@ -1257,6 +2218,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) { @@ -1267,39 +2241,84 @@ // }); } - addorupdateFund(this.form).then(response => { - if (response.code === 200) { - this.$modal.msgSuccess("鐢宠鍗曚繚瀛樻垚鍔燂紒"); - } else { - this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + response.msg); - } - }); - + sessionStorage.setItem( + "apifunddetail", + JSON.stringify(this.rbDetails) + ); + sessionStorage.setItem("apiform", JSON.stringify(this.form)); + addorupdateFund(this.form) + .then(response => { + if (response.code === 200) { + if (this.form.id) { + this.$modal.msgSuccess("鐢宠鍗曚慨鏀规垚鍔燂紒"); + this.$router.go(-1); + } else { + this.$modal.msgSuccess("鐢宠鍗曚繚瀛樻垚鍔燂紒"); + this.$store.dispatch("tagsView/delView", this.$route); + this.$router.push({ + path: "/finance/applyDetail/", + query: { + id: response.data, + businessType: "2", + operationType: "update", + curCase: this.curCase + } + }); + } + this.form.id = response.data; + this.curId = response.data; + this.handleUpdate(); + } else { + this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + response.msg); + } + }) + .catch(res => { + this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + res); + }); //鍏抽棴绐楀彛 - // this.loading = false; + this.loading = false; // this.getfundList(); - this.$router.go(-1); } }); - }, + }, 500), - //瀹℃壒鎻愪氦 checksubmit() { - let checkFundObj = { - // fundid: this.checkObj.fundid, - fundid: this.curId, - flowconclusion: this.checkObj.flowlevelone, - flowcontent: this.checkObj.flowconclusion, - }; - checkfund(checkFundObj).then((res) => { - this.reset(); - this.$modal.msgSuccess("瀹℃牳瀹屾垚!"); - }); + //妫�鏌ユ槸鍚︽敹鍒扮焊璐ㄦ潗鏂� + if (this.checkObj.flowlevelone == 2) { + if (!this.checkObj.flowconclusion) { + this.$modal.msgError( + "璇疯緭鍏ュ鏍镐笉閫氳繃鐨勮鏄庝俊鎭紝鏂逛究缁忓姙浜轰慨鏀圭敵璇峰崟锛�" + ); + return; + } + } else if (this.checkObj.flowlevelone == 1) { + if (this.userprofile.nickName == "闄堟厱鍗�") { + //妫�鏌ユ槸鍚︽敹鍒扮焊璐ㄦ潗鏂� + if (this.form.checkstatus != 3) { + this.$modal.msgError("璇峰厛纭鎶ラ攢鐨勭焊璐ㄦ潗鏂欐槸鍚﹀凡缁忔敹鍒帮紒"); + return; + } + + //妫�鏌ヤ釜绋庤绠� + if (this.form.applytype == "1" && this.form.fundtaxtime == null) { + this.$modal.msgError( + "璇峰厛瀹屾垚涓撳璐圭敤鐨勪釜绋庤绠楀悗锛屽啀鎻愪氦瀹℃牳閫氳繃锛�" + ); + return; + } + } + } else { + this.$modal.msgError("璇峰厛閫夋嫨瀹℃壒缁撴灉鍐嶆彁浜わ紒"); + return; + } + + this.Savenow(); + console.log("淇濆瓨骞跺鎵�"); }, // 鍙栨秷鎸夐挳 cancel() { - // this.reset(); + this.$store.dispatch("tagsView/delView", this.$route); this.$router.go(-1); }, @@ -1309,22 +2328,28 @@ this.userprofile = res.data; this.standardlevel = res.data.standardlevel; if ( - this.userprofile.createBy == "admin" || - this.userprofile.createBy == "001" || - this.userprofile.createBy == "002" + this.userprofile.userName == "admin" || + this.userprofile.userName == "001" || + this.userprofile.userName == "047" ) { this.ismanager = true; } else { this.ismanager = false; } - this.form.username = this.userprofile.nickName; - this.form.userno = this.userprofile.userName; - this.form.phone = this.userprofile.phonenumber; - this.form.deptmentname = this.userprofile.dept.deptName; - this.form.deptmentno = this.userprofile.dept.deptId; - this.form.managername = this.userprofile.dept.leader; - // this.form.applytype = this.businessType; - // this.form.createTime = new Date(); + + if (this.operationType == "add") { + this.form.username = this.userprofile.nickName; + this.form.userno = this.userprofile.userName; + this.form.deptmentname = this.userprofile.dept.deptName; + this.form.deptmentno = this.userprofile.dept.deptId; + this.form.managername = this.userprofile.dept.leader; + this.form.phone = this.userprofile.phonenumber; + // this.form.applytype = this.businessType; + + if (this.businessType == "4") { + this.getUserAccount(); + } + } }); }, @@ -1335,55 +2360,38 @@ }); }, - //鑾峰彇鎵�鏈変笓瀹�/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯鍒楄〃 - getExternalList() { + //鑾峰彇涓撳銆佸崟浣嶆満鏋勭殑璐︽埛鍒楄〃 + getAccountList() { listExternalperson().then(res => { - this.personlist = res.rows; - for (let j = 0; j < this.personlist.length; j++) { - //鑾峰彇璐圭敤鎶ラ攢鏈烘瀯鍒楄〃 - if (this.personlist[j].usertype == "org") { - this.feeUnitList.push({ - id: this.personlist[j].id, - reportNo: this.personlist[j].userno, - reportName: this.personlist[j].username, - depositbank: this.personlist[j].depositbank, - branchbankname: this.personlist[j].branchbankname, - bankcardno: this.personlist[j].bankcardno - }); - } - //涓撳浜哄憳鍒楄〃 - else if (res.rows[j].usertype == "expert") { - this.expertlist.push({ - expertNo: this.personlist[j].id, - exportName: this.personlist[j].username + this.accountlist = res.rows; + //鑾峰彇鍚敤鐨勮处鎴峰垪琛� + for (let j = 0; j < res.length; j++) { + //鍗曚綅璐﹀彿鍒楄〃 + if (res.userstatus == "1") { + this.accountlist.push({ + id: res.id, + userno: res.userno, + username: res.username, + idcardno: res.idcardno, + title: res.title, + depositbank: res.depositbank, + bankcardno: res.bankcardno, + unitno: res.unitno, + unitname: res.unitname }); } } }); }, - //鑾峰彇涓撳浜哄憳鍒楄〃 - getExpertList() { - let types = ["expert"]; - let templist = []; - for (let i = 0; i < types.length; i++) { - templist = []; - listReportname(types[i]).then(res => { - for (let j = 0; j < res.data.length; j++) { - templist.push({ - reportName: res.data[j].reportName, - reportNo: res.data[j].reportNo - }); - } - this.expertlist = this.expertlist.concat(templist); - }); - } - }, - - //鑾峰彇璐圭敤鏈烘瀯鍒楄〃 - getFeeUnitList() { - listReportname("org").then(res => { - this.feeUnitList = res.data; + //鑾峰彇缁忓姙浜鸿处鍙蜂俊鎭� + getUserAccount() { + this.accountlist.map(res => { + if (res.username == this.form.username) { + this.form.bankname = res.depositbank; + this.form.bankcardno = res.bankcardno; + this.form.phone = res.telephone; + } }); }, @@ -1392,7 +2400,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 }); @@ -1410,11 +2417,15 @@ }); }, - //鑾峰彇璐圭敤绫诲瀷 + //鑾峰彇鏈嶅姟璐圭敤绫诲瀷銆佹湇鍔¢」鐩�佹湇鍔¤鏄� getFeeTypes() { + //鑾峰彇鏈嶅姟璐圭敤绫诲瀷銆佹湇鍔¢」鐩� getFundTypeAll(this.businessType).then(res => { let dataList = res.data; + //鑾峰彇鏈嶅姟璐圭敤鏈嶅姟椤圭洰 this.feeItemTypes = dataList; + + //鑾峰彇鏈嶅姟璐圭敤绫诲瀷 this.rowfeeItemTypes = []; for (let m = 0; m < dataList.length; m++) { this.rowfeeItemTypes.push({ @@ -1425,37 +2436,42 @@ }); } }); + + //鑾峰彇鏈嶅姟璐圭敤璇存槑鍒楄〃 + if (this.businessType == "1" || this.businessType == "2") { + this.loading = true; + listItemexpense(this.expenseQueryParams).then(response => { + response.rows.forEach(item => { + this.feeBlocks.push({ + servicesscope: JSON.stringify(item.id), + itemid: item.itemid, + expense: item.expense, + expensedescribe: item.expensedescribe, + remark: item.expensedescribe + }); + }); + this.loading = false; + }); + } }, - getFeeItems(rowindex, row) { + //鑾峰彇鏈嶅姟椤圭洰 + getRowFeeItems(rowindex, row) { let list = this.feeItemTypes.filter(r => r.itemType == row.applytype); row.itemlist = list[0].itemDetails; this.$set(this.rbDetails, rowindex, row); - //this.loading = true; - // getItemNames(row.applytype).then((res) => { - // this.loading = false; - // row.itemlist = res.data; - // this.$set(this.rbDetails, rowindex, row); - // }); }, //鍔犺浇鏈嶅姟椤圭洰 - loadFeeItems(row) { + verifyFeeItemType(row) { let list = this.feeItemTypes.filter(r => r.itemType == row.applytype); row.itemlist = list[0].itemDetails; row.itemid = null; this.$forceUpdate(); - //this.loading = true; - // getItemNames(row.applytype).then((res) => { - // this.loading = false; - // row.itemid = null; - // row.itemlist = res.data; - // this.$forceUpdate(); - // }); }, //鑾峰彇璐圭敤椤圭洰鐨勫娉ㄤ俊鎭� - selectedRemark(row) { + verifyFeeRemark(row) { row.rowfeeblocks.forEach((item, i) => { if (item.servicesscope === row.servicesscope) { row.servicesscopename = item.expensedescribe; @@ -1468,16 +2484,11 @@ row.taxamount = 0.0; row.taxedamount = 0.0; } - - this.form.serviceFunddetails = 0; - this.rbDetails.map(item => { - this.form.serviceFunddetails += item.amount; - }); } }); }, - //鏍¢獙鏀惰垂椤圭洰鏄惁閲嶅 + //鏍¢獙鏀惰垂椤圭洰 verifyFeeItem(row) { row.itemlist.map(res => { if (row.itemid === res.id) { @@ -1485,33 +2496,43 @@ row.itemcode = res.itemCode; } }); - var repeatNum = 0; - this.rbDetails.map(res => { - if (res.applytype === row.applytype && res.itemid == row.itemid) { - repeatNum++; + + //鍒ゆ柇鏀惰垂椤圭洰鏄惁閲嶅 + if (this.businessType == "1") { + var repeatNum = 0; + this.rbDetails.map(res => { + if (res.applytype === row.applytype && res.itemid == row.itemid) { + repeatNum++; + } + }); + if (repeatNum > 1) { + this.$modal.msgWarning("鎮ㄥ凡缁忔彁浜よ繃璇ユ湇鍔¢」鐩簡"); } - }); - if (repeatNum > 1) { - this.$modal.msgWarning("鎮ㄥ凡缁忔彁浜よ繃璇ユ湇鍔¢」鐩簡"); } //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭� - getdetailsByItemId(row.itemid).then(res => { - let fundmsg = res.data; - let rowfeeblocks = []; - fundmsg.forEach(item => { - rowfeeblocks.push({ - expense: item.expense, - expensedescribe: item.expensedescribe, - remark: item.expensedescribe, - servicesscope: item.id - }); - }); - - row.rowfeeblocks = rowfeeblocks; + if (this.businessType == "1") { row.servicesscope = null; row.servicesscopename = ""; - }); + row.amount = 0.0; + row.taxamount = 0.0; + row.taxedamount = 0.0; + + row.rowfeeblocks = this.feeBlocks.filter(r => r.itemid == row.itemid); + if (row.rowfeeblocks.length == 1) { + row.servicesscope = row.rowfeeblocks[0].servicesscope; + row.servicesscopename = row.rowfeeblocks[0].expensedescribe; + if (row.servicesscopename.includes("绋庡悗")) { + row.amount = 0.0; + row.taxamount = 0.0; + row.taxedamount = row.rowfeeblocks[0].expense; + } else { + row.amount = row.rowfeeblocks[0].expense; + row.taxamount = 0.0; + row.taxedamount = 0.0; + } + } + } }, //绛涙煡鍑哄搴旂殑璐圭敤椤圭洰 @@ -1535,33 +2556,26 @@ }); } }, + //鍚堣璐圭敤 selectamount(row) { - this.rowfeeblocks.forEach((item, i) => { + this.feeBlockList.forEach((item, i) => { if (item.expense === row.amount) { row.remark = item.expensedescribe; } }); }, - selectExpert(row) { - // if(row.beneficiaryname) - this.personlist.map(res => { - if (row.beneficiaryname == res.username) { - row.beneficiaryno = res.userno; - row.beneficiaryname = res.username; - row.bankcardno = res.bankcardno; - row.branchbankname = res.branchbankname; - row.depositbank = res.depositbank; - row.idcardno = res.idcardno; - row.phone = res.phonenumber; - row.title = res.title; - row.unitname = res.unitname; - row.unitno = res.unitno; - } else { - row.beneficiaryno = row.beneficiaryname; + //璁$畻涓◣锛歵ype(A:宸茬煡绋庡墠閲戦锛岃绠楃◣鍚庨噾棰濓紱B锛氬凡鐭ョ◣鍚庨噾棰濓紝璁$畻绋庡墠閲戦) + calculateTax(row, type) { + let targetValue = 0; + for (let i = 0; i < this.rbDetails.length; i++) { + if (!this.rbDetails[i].amount) { + this.rbDetails[i].amount = 0; } - }); + targetValue += parseFloat(this.rbDetails[i].amount); // 鍋囪姣忎釜瀵硅薄涓殑鐗瑰畾鍊煎瓨鍌ㄥ湪'specificValue'灞炴�т笅 + } + this.form.pretaxcost = targetValue; }, //瀵煎叆鎵�鏈夐」鐩� @@ -1588,31 +2602,38 @@ itemid: this.feeItemTypes[i].itemDetails[j].id, itemcode: this.feeItemTypes[i].itemDetails[j].itemCode, recordstatus: "-1", - beneficiaryname: "鐐瑰嚮閫夋嫨", - unitname: "鐐瑰嚮閫夋嫨", + beneficiaryname: null, + unitname: null, itemlist: this.feeItemTypes[i].itemDetails, rowfeeblocks: null, servicesscope: null, servicesscopename: "" }; - //鑾峰彇鏀惰垂椤圭洰鐨勮鏄庝俊鎭� - getdetailsByItemId(rowData.itemid).then(res => { - let fundmsg = res.data; - let rowfeeblocks = []; - fundmsg.forEach(item => { - rowfeeblocks.push({ - expense: item.expense, - expensedescribe: item.expensedescribe, - remark: item.expensedescribe, - servicesscope: item.id - }); - }); + //鑾峰彇鏈嶅姟璇存槑淇℃伅 + rowData.servicesscope = null; + rowData.servicesscopename = ""; + rowData.amount = 0.0; + rowData.taxamount = 0.0; + rowData.taxedamount = 0.0; - rowData.rowfeeblocks = rowfeeblocks; - rowData.servicesscope = null; - rowData.servicesscopename = ""; - }); + rowData.rowfeeblocks = this.feeBlocks.filter( + r => r.itemid == rowData.itemid + ); + if (rowData.rowfeeblocks.length == 1) { + rowData.servicesscope = rowData.rowfeeblocks[0].servicesscope; + rowData.servicesscopename = + rowData.rowfeeblocks[0].expensedescribe; + if (rowData.servicesscopename.includes("绋庡悗")) { + rowData.amount = 0.0; + rowData.taxamount = 0.0; + rowData.taxedamount = rowData.rowfeeblocks[0].expense; + } else { + rowData.amount = rowData.rowfeeblocks[0].expense; + rowData.taxamount = 0.0; + rowData.taxedamount = 0.0; + } + } listAdd.push(rowData); } @@ -1620,27 +2641,295 @@ } this.rbDetails = listAdd; this.loading = false; - // let Outerarr = this.rbDetails; - // Outerarr.map((res) => { - // let onelist = this.rowfeeItemTypes; - // onelist.map((item) => { - // //绗竴灞備笉鐩哥瓑鏃讹紱 - // if (res.applytype !== item.itemType) { - // this.addRow(); - // } - // }); - // }); }, + unsave() { + this.Savereminder = false; + this.Reminderquantity = 0; + }, + // 鎺ュ彈鎻愰啋绔嬪埢淇濆瓨 + Savenow() { + if (!this.randomnumber) { + this.randomnumber = this.generateRandomString(9); + this.form.randomnumber = this.randomnumber; + } + this.Savereminder = false; + this.Reminderquantity = 0; + this.totalquantity = 0; + this.$refs["form"].validate(valid => { + if (valid) { + this.formData = this.form; + + //淇濆瓨鍓嶆牎楠屾暟鎹� + for (let k = 0; k < this.rbDetails.length; k++) { + let tempDetail = this.rbDetails[k]; + if (tempDetail.itemid == null) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (k + 1).toString() + + "琛岀殑鏈嶅姟椤圭洰鏈�夋嫨锛岃鍏堥�夋嫨鏈嶅姟椤圭洰鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + + if (this.businessType == "1") { + if (tempDetail.servicesscope == null) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (k + 1).toString() + + "琛岀殑璐圭敤璇存槑鏈�夋嫨,璇烽�夋嫨璐圭敤璇存槑鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + + if (tempDetail.beneficiaryno == null) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (k + 1).toString() + + "琛岀殑鏈嶅姟浜哄憳濮撳悕涓洪�夋嫨,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + } + } + + //澶勭悊鏄庣粏 + for (let i = 0; i < this.rbDetails.length; i++) { + let tempDetail = this.rbDetails[i]; + //鑾峰彇鏈嶅姟椤圭洰鏄庣粏 + let tempitemlist = tempDetail.itemlist; + let itemIndex = tempitemlist.findIndex( + item => tempDetail.itemid == item.id + ); + if (itemIndex > -1) { + tempDetail.itemname = tempitemlist[itemIndex].itemName; + tempDetail.itemid = tempitemlist[itemIndex].id; + } + + //鑾峰彇applytypename銆佹湇鍔¤垂鐢ㄥぇ绫� + let applytypeIndex = this.rowfeeItemTypes.findIndex( + item => tempDetail.applytype == item.value + ); + if (applytypeIndex > -1) { + tempDetail.applytypename = this.rowfeeItemTypes[ + applytypeIndex + ].label; + tempDetail.subjecttype = this.rowfeeItemTypes[ + applytypeIndex + ].subjecttype; + tempDetail.subjecttypename = this.rowfeeItemTypes[ + applytypeIndex + ].subjecttypename; + } + this.rbDetails[i] = tempDetail; + } + //璁$畻褰撳墠琛屾姤閿�鍐呭璐圭敤鍚堣锛岀◣鍓嶉噾棰濓紙amount锛夈�佹墸绋庨噾棰濓紙taxamount锛夈�佺◣鍚庨噾棰濓紙taxedamount锛� + if (this.businessType == "2") { + for (let j = 0; j < this.rbDetails.length; j++) { + let tempDetail = this.rbDetails[j]; + if ( + isNaN(parseFloat(tempDetail.amount)) || + parseFloat(tempDetail.amount) == 0 + ) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (j + 1).toString() + + "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + } + } else if (this.businessType == "3" || this.businessType == "4") { + for (let j = 0; j < this.rbDetails.length; j++) { + let tempDetail = this.rbDetails[j]; + if ( + isNaN(parseFloat(tempDetail.amount)) || + parseFloat(tempDetail.amount) == 0 + ) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (j + 1).toString() + + "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + if ( + isNaN(parseFloat(tempDetail.taxamount)) || + parseFloat(tempDetail.taxamount) == 0 + ) { + tempDetail.taxedamount = parseFloat(tempDetail.amount); + } else { + tempDetail.taxedamount = + parseFloat(tempDetail.amount) + + parseFloat(tempDetail.taxamount); + } + } + } + + //淇濆瓨鏁版嵁 + this.loading = true; + this.form.serviceFunddetails = 0; + this.rbDetails.map(item => { + this.form.serviceFunddetails += item.amount; + }); + this.form.serviceFunddetails = this.rbDetails; + + if (this.form.id != null) { + } else { + this.form.recordstatus = -1; + } + + addorupdateFund(this.form).then(response => { + if (response.code === 200) { + this.$modal.msgSuccess("鐢宠鍗曚繚瀛樻垚鍔燂紒"); + // 闈炴彁閱掔姸鎬佷笅鎵ц瀹℃壒瑙e喅寮傛璋冪敤寤惰繜闂 + if (!this.Savereminder) { + let checkFundObj = { + // fundid: this.checkObj.fundid, + fundid: this.curId, + flowconclusion: this.checkObj.flowlevelone, + flowcontent: this.checkObj.flowconclusion + }; + checkfund(checkFundObj).then(res => { + //鍏抽棴绐楀彛 + this.$modal.msgSuccess("瀹℃牳瀹屾垚!"); + this.$store.dispatch("tagsView/delView", this.$route); + this.$router.go(-1); + }); + } + this.Getnetworkheader(); + this.getroute(); + this.getAccountList(); + this.getUserList(); + this.getUserProfile(); + } else { + this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + response.msg); + } + }); + + //鍏抽棴绐楀彛 + this.loading = false; + // this.getfundList(); + } + }); + }, + handleCheckAllChange(val) { + this.checkedCities = val ? this.cityOptions : []; + this.isIndeterminate = false; + }, + handleCheckedCitiesChange(value) { + let checkedCount = value.length; + this.checkAll = checkedCount === this.cityOptions.length; + this.isIndeterminate = + checkedCount > 0 && checkedCount < this.cityOptions.length; + }, + // 鎵嬪姩璁$畻 + Manualcalculationfn() { + ManualCalculation(this.rbDetails).then(res => { + if (res.code == 200) { + sessionStorage.removeItem("apiform"); + sessionStorage.removeItem("apifunddetail"); + sessionStorage.setItem( + "apifunddetail", + JSON.stringify(this.rbDetails) + ); + sessionStorage.setItem("apiform", JSON.stringify(this.form)); + // this.$router.go(0); + // this.$router.push({ + // path: "/finance/applyDetail/", + // query: { + // id: this.curId, + // businessType: this.businessType, + // operationType: this.operationType, + // curCase: this.curCase + // } + // }); + this.$modal.msgSuccess("璁$畻鎴愬姛"); + this.handleCheck(); + } else { + this.$message({ + type: "error", + message: "璁$畻閿欒" + }); + } + }); + }, + // 鎵归噺褰曞叆鐐瑰嚮 + Batchentry() { + // ethical + listReportname("ethical").then(res => { + this.cityOptions = res.data; + }); + this.batchdialogVisible = true; + }, + // 纭褰曞叆 + BatchentryFn() { + this.checkedCities.forEach(item => { + let rowData = { + orderno: null, + fundid: null, + beneficiaryname: item.reportName, + beneficiaryno: item.reportNo, + unitname: item.unitname, + unitno: null, + uintuserno: null, + title: item.title, + idcardtype: null, + idcardno: item.idcrad, + sex: null, + familyrelations: null, + phone: null, + depositbank: item.depositbank, + bankcardno: item.bankcardno, + branchbankname: item.branchbankname, + annexbankcard: null, + annexregistform: null, + applytype: "7", + applytypename: "浼︾悊瀹℃牳涓撳璐�", + itemid: "27", + itemcode: "27", + itemname: "鍣ㄥ畼鎹愮尞浼︾悊瀹℃牳涓撳璐�", + itemtype: null, + amount: 200, + prepaidamount: null, + taxamount: null, + invoicecount: null, + taxedamount: null, + attachcount: null, + remark: null, + recordstatus: "-1", + delFlag: null, + createBy: null, + createTime: null, + updateBy: null, + updateTime: null, + uploadflag: null, + itemdescribe: null, + uploadtime: null, + itemlist: [{ id: "27", itemName: "鍣ㄥ畼鎹愮尞浼︾悊瀹℃牳涓撳璐�" }], + servicesscope: null, + rowfeeblocks: [], + annexfiles: null + }; + + this.rbDetails.push(rowData); + }); + for (let i = 0; i < this.checkedCities.length + 1; i++) { + this.rbDetails[i].orderno = i + 1; + } + this.calculateTax(); + this.batchdialogVisible = false; + }, //鏂板涓�琛� addRow(rowIndex) { let rowData = { orderno: null, id: null, fundid: null, - beneficiaryname: "鐐瑰嚮閫夋嫨", + beneficiaryname: null, beneficiaryno: null, - unitname: "鐐瑰嚮閫夋嫨", + unitname: null, + itemdescribe: null, unitno: null, uintuserno: null, title: null, @@ -1657,6 +2946,7 @@ applytype: null, itemid: null, itemname: null, + itemcode: null, itemtype: null, amount: null, prepaidamount: null, @@ -1683,6 +2973,8 @@ } else { this.rbDetails.splice(rowIndex + 1, 0, rowData); } + this.Reminderquantity++; + this.totalquantity++; for (let i = 0; i < this.rbDetails.length; i++) { this.rbDetails[i].orderno = i + 1; } @@ -1695,6 +2987,9 @@ type: "success" }) .then(() => { + if (this.rbDetails.length == 1) { + this.addRow(0); + } if (row.id !== null) { delFunddetail(row.id).then(res => { if (res.code === 200) { @@ -1705,9 +3000,10 @@ }).then(() => { this.$set(rows, rows.splice(index, 1)); getownFundDetail(this.form.id).then(res => { - console.log(res); - this.$set(this.rbDetails, res.data); + for (let i = 0; i < this.rbDetails.length; i++) { + this.rbDetails[i].orderno = i + 1; + } this.sumTotalFee(); // this.rbDetails = res.data }); @@ -1728,13 +3024,7 @@ }); //鍏ㄩ儴鍒犻櫎鍚庢坊鍔犱竴鏉℃柊琛� - if (this.rbDetails.length == 1) { - this.addRow(0); - } }, - - //璁$畻涓◣ - calculateTax() { }, //璁$畻鎬婚噾棰� sumTotalFee(row) { @@ -1829,260 +3119,431 @@ }, //鏂囦欢涓婁紶 - handleUploadError() { }, - - /** 涓嬭浇鏂囦欢鎸夐挳鎿嶄綔 */ - downFile(item) { - const url = process.env.VUE_APP_BASE_API + item.url; - var a = document.createElement("a"); - var event = new MouseEvent("click"); - a.download = item.name; - a.href = url; - a.dispatchEvent(event); - }, - - // remove(file) { - // this.fileList.splice(this.fileList.indexOf(file), 1) - // }, + handleUploadError() {}, remove(file, fileList) { const rbDetails = [...this.rbDetails]; - this.fileListto.splice(this.fileListto.indexOf(file), 1); - rbDetails[this.atpresent].annexfilesList = this.fileListto; - }, - - handleExceed() { - this.$message.error(`涓婁紶鏂囦欢鏁伴噺涓嶈兘瓒呰繃 ${5} 涓�!`); - }, - - //鏂囦欢涓婁紶鎴愬姛鍥炶皟 - // uploadSccess(response, file, fileList) { - // //鑾峰彇闄勪欢淇℃伅浣嶇疆 - // if (response.code == 200) { - // this.form.filename = file.raw.name; - // this.$modal.msgSuccess(response.msg); - // this.fileList.push({ name: response.fileName, url: response.fileName }); - // } else { - // console.log(response.msg); - // } - // }, - uploadSccess(response, file, fileList) { - this.rbDetails; - - //鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆 - if (response.code == 200) { - this.form.filename = file.raw.name; - - this.$modal.msgSuccess(response.msg); - this.fileListto.push({ name: file.name, url: response.url }); - this.rbDetails[this.atpresent].annexfilesList = this.fileListto; + if (this.activeName == 1) { + this.fileListto.splice(this.fileListto.indexOf(file), 1); + rbDetails[this.atpresent].annexfilesList = this.fileListto; } else { - console.log(response.msg); + this.invoicefileListto.splice(this.invoicefileListto.indexOf(file), 1); + rbDetails[this.atpresent].invoicefilesList = this.invoicefileListto; } }, - // 鐐瑰嚮鏂囦欢 + uploadSccess(response, file, fileList) { + this.rbDetails; + //鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆 + if (this.activeName == 1) { + if (response.code == 200) { + // this.form.filename = file.raw.name; + this.previewpdf = true; + this.$modal.msgSuccess(response.msg); + this.fileListto.push({ + name: file.name, + url: response.fileName + }); + this.pdfimgsrcList.push( + this.Networkheader + "/prod-api" + response.fileName + ); + this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; + this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; + this.rbDetails[this.atpresent].annexfilesList = this.fileListto; + } else { + console.log(response.msg); + } + } else { + if (response.code == 200) { + this.previewpdf = true; + this.$modal.msgSuccess(response.msg); + this.invoicefileListto.push({ + name: file.name, + url: response.fileName + }); + this.invoicepdfimgsrcList.push( + this.Networkheader + "/prod-api" + response.fileName + ); + this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�"; + this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; + this.rbDetails[ + this.atpresent + ].invoicefilesList = this.invoicefileListto; + } else { + } + } + }, + + // 鐐瑰嚮绁ㄦ嵁 Filepopup(index, rows, row) { + this.tableDatatop = []; + this.pdfimgsrcList = []; + this.invoDatatop = []; + this.invoicepdfimgsrcList = []; + this.invoDatatop.push(row); + this.tableDatatop.push(row); this.atpresent = index; this.pdfVisible = true; if (this.rbDetails[index].annexfilesList) { + this.previewpdf = true; this.fileListto = this.rbDetails[index].annexfilesList; + this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url; + this.fileListto.forEach(item => { + this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url); + }); } else { this.fileListto = []; this.pdfimg = ""; this.pdftitle = ""; } + // -鍙戠エ鏂囦欢 + if (this.rbDetails[index].invoicefilesList) { + this.previewpdf = true; + this.invoicefileListto = this.rbDetails[index].invoicefilesList; + this.invoicepdfimg = + this.Networkheader + "/prod-api" + this.invoicefileListto[0].url; + this.invoicefileListto.forEach(item => { + this.invoicepdfimgsrcList.push( + this.Networkheader + "/prod-api" + item.url + ); + }); + } else { + this.invoicefileListto = []; + this.invoicepdfimg = ""; + this.pdftitle = ""; + } + + if (this.activeName == 1) { + this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; + } else { + this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�"; + } }, + // 鐐瑰嚮宸蹭笂浼犳枃浠� downFile(item) { - this.pdftitle = item.name; - let name = item.name.split("."); - if (name[1] == "pdf") { - this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); - this.previewpdf = false; - this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; - } else if (name[1] == "jpg" || "png") { - this.previewpdf = true; - if (item.url) { - this.pdfimg = item.url; + if (this.activeName == 1) { + this.pdftitle = + "鍏�" + this.pdfimgsrcList.length + "椤癸紝褰撳墠閫変腑" + item.name; + let name = item.name.split("."); + if (name[1] == "pdf") { + this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); + this.previewpdf = false; + this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; + } else if (name[1] == "jpg" || "png") { + this.previewpdf = true; + if (item.url) { + this.pdfimg = this.Networkheader + "/prod-api" + item.url; + } else { + this.pdfimg = this.Networkheader + "/prod-api" + item.response.url; + } } else { - this.pdfimg = item.response.url; + this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; + this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); + this.previewpdf = false; } } else { - this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; - this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); - this.previewpdf = false; + this.pdftitle = + "鍏�" + this.invoicepdfimgsrcList.length + "椤癸紝褰撳墠閫変腑" + item.name; + let name = item.name.split("."); + if (name[1] == "pdf") { + this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); + this.previewpdf = false; + this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; + } else if (name[1] == "jpg" || "png") { + this.previewpdf = true; + if (item.url) { + this.invoicepdfimg = this.Networkheader + "/prod-api" + item.url; + } else { + this.invoicepdfimg = + this.Networkheader + "/prod-api" + item.response.url; + } + } else { + this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; + this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); + this.previewpdf = false; + } } }, - - //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨 - ShowDetailDialog(spoce, showType) { - this.selectionType = showType; - this.expertfrom = "1"; - - 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; + getIndexInArray(arr, obj) { + return arr.indexOf(obj); + }, + // 鍙戠エ鍒囨崲 + handleClick(tab, event) { + if (this.activeName == 1) { + this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; + } else { + this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�"; + } + }, + // 鐐瑰嚮鍒犻櫎 + deletedowfile(row) { + if (this.activeName == 1) { + const indexlist = this.getIndexInArray( + this.pdfimgsrcList, + this.Networkheader + "/prod-api" + row.url + ); + this.pdfimgsrcList.splice(indexlist, 1); + const index = this.getIndexInArray(this.fileListto, row); + this.fileListto.splice(index, 1); + } else { + const indexlist = this.getIndexInArray( + this.invoicepdfimgsrcList, + this.Networkheader + "/prod-api" + row.url + ); + this.invoicepdfimgsrcList.splice(indexlist, 1); + const index = this.getIndexInArray(this.invoicefileListto, row); + this.invoicefileListto.splice(index, 1); + } + }, + // 鐐瑰嚮涓婄Щ + moveupdowfile(row) { + if (this.activeName == 1) { + const index = this.getIndexInArray(this.fileListto, row); + const item = this.fileListto.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� + this.fileListto.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + } else { + const index = this.getIndexInArray(this.invoicefileListto, row); + const item = this.invoicefileListto.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� + this.invoicefileListto.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + } + }, + Downloadfile(row) { + window.location.href = this.Networkheader + "/prod-api" + row.url; }, //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨 - ConfirmDetailDialog() { - let tempIndex = this.funddetailForm.index; - let 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") { - if (this.expertfrom == "1") { - //浠庝笓瀹跺垪琛ㄨ幏鍙栦俊鎭� - this.personlist.map(res => { - if (tempExpertName == res.username) { - singleDetail.beneficiaryno = res.userno; - singleDetail.beneficiaryname = res.username; - singleDetail.bankcardno = res.bankcardno; - singleDetail.branchbankname = res.branchbankname; - singleDetail.depositbank = res.depositbank; - singleDetail.idcardno = res.idcardno; - singleDetail.phone = res.telephone; - singleDetail.title = res.title; - singleDetail.unitname = res.unitname; - singleDetail.unitno = parseInt(res.unitno); - } - }); - } else { - //淇濆瓨鏂板涓撳 - this.expertform.id = null; - this.expertform.userno = this.personlist[this.personlist.length - 1].id + 1; - this.expertform.usertype = "expert"; - this.expertform.username = this.funddetailForm.expertname; - this.expertform.idcardno = this.funddetailForm.expertidcardno; - this.expertform.sex = null; - this.expertform.telephone = null; - this.expertform.address = null; - this.expertform.wbm = null; - this.expertform.pym = null; + if (this.selectionType == "account") { + //榛樿浠庤处鎴峰簱閫夋嫨锛�1,璐︽埛搴擄紱2锛屾柊寤鸿处鎴� + this.accountfrom = "1"; + this.accountselectform.accountname = scope.row.beneficiaryname; + this.accountselectform.accountno = scope.row.beneficiaryno; + this.accountselectform.expertunitname = ""; + this.accountselectform.expertunitno = ""; - this.expertform.unitno = this.funddetailForm.expertunitno; - try { - let unitIndex = this.unitList.findIndex( - item => this.expertform.unitno == item.organizationid - ); - if (unitIndex > -1) { - this.expertform.unitname = this.unitList[ - unitIndex - ].organizationname; - } else { - this.expertform.unitname = this.expertform.unitno; - } - } catch { - this.expertform.unitname = this.expertform.unitno; - } - this.expertform.title = this.funddetailForm.experttitle; - this.expertform.personnelunitno = null; + this.accountselectform.username = ""; + this.accountselectform.userno = ""; + this.accountselectform.idcardno = ""; + this.accountselectform.telephone = ""; + this.accountselectform.title = ""; + this.accountselectform.unitno = ""; + this.accountselectform.unitname = ""; + this.accountselectform.depositbank = ""; + this.accountselectform.bankcardno = ""; + this.accountselectform.personnelunitno = ""; + this.accountselectform.address = ""; + this.accountselectform.telephone = ""; + } else if (this.selectionType == "workunit") { + this.accountselectform.expertunitname = scope.row.unitname; + this.accountselectform.expertunitno = scope.row.unitno; + } + this.showselectiondialog = true; + }, - this.expertform.depositbank = this.funddetailForm.expertdepositbank; - this.expertform.bankcardno = this.funddetailForm.expertbankcardno; - this.expertform.branchbankname = null; - this.expertform.remark = null; - this.expertform.del_flag = "0"; + //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨 + confirmSelectionDialog() { + this.$refs["accountselectform"].validate(valid => { + let tempIndex = this.accountselectform.index; + if (this.selectionType == "account") { + if (this.accountfrom == "1") { + //璧嬪�间俊鎭� + if ( + this.rbDetails[tempIndex].beneficiaryname != + this.accountselectform.accountname + ) { + this.accountlist.map(res => { + if (res.username == this.accountselectform.accountname) { + this.rbDetails[tempIndex].beneficiaryno = res.userno; + this.rbDetails[tempIndex].beneficiaryname = res.username; + this.rbDetails[tempIndex].depositbank = res.depositbank; + this.rbDetails[tempIndex].branchbankname = res.branchbankname; + this.rbDetails[tempIndex].bankcardno = res.bankcardno; + this.rbDetails[tempIndex].phone = res.telephone; - addExternalperson(this.expertform).then(response => { - if (response.code == 200) { - this.$modal.msgSuccess("鏂板涓撳淇℃伅鎴愬姛锛�"); - - listExternalperson().then(res => { - this.personlist = res.rows; - //浠庝笓瀹跺垪琛ㄨ幏鍙栦俊鎭� - this.personlist.map(res => { - if (res.username == this.funddetailForm.expertname) { - singleDetail.beneficiaryno = res.userno; - singleDetail.beneficiaryname = res.username; - singleDetail.bankcardno = res.bankcardno; - singleDetail.branchbankname = res.branchbankname; - singleDetail.depositbank = res.depositbank; - singleDetail.idcardno = res.idcardno; - singleDetail.phone = res.telephone; - singleDetail.title = res.title; - singleDetail.unitname = res.unitname; - singleDetail.unitno = parseInt(res.unitno); + if (res.usertype == "org") { + this.rbDetails[tempIndex].idcardno = ""; + this.rbDetails[tempIndex].title = ""; + this.rbDetails[tempIndex].unitno = ""; + this.rbDetails[tempIndex].unitname = ""; + } else { + this.rbDetails[tempIndex].idcardno = res.idcardno; + this.rbDetails[tempIndex].title = res.title; + this.rbDetails[tempIndex].unitno = parseInt(res.unitno); + this.rbDetails[tempIndex].unitname = res.unitname; } - }); + } }); } - }); - } - } else if (this.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.businessType == 3 || this.businessType == 4) { - try { - let unitIndex = this.feeUnitList.findIndex( - item => singleDetail.unitno == item.reportNo - ); + } else if (this.accountfrom == "2") { + //淇濆瓨鏂板璐﹀彿 + //鑾峰彇鐢ㄦ埛缂栧彿 + getOnlyCode(this.seqnoParams).then(res => { + this.accountform.userno = res.data.currentvalue; + this.accountform.id = null; - if (unitIndex > -1) { - singleDetail.unitname = this.feeUnitList[unitIndex].reportName; - singleDetail.depositbank = this.feeUnitList[ - unitIndex - ].depositbank; - singleDetail.bankcardno = this.feeUnitList[unitIndex].bankcardno; - } else { - singleDetail.unitname = singleDetail.unitno; - } - } catch { - singleDetail.unitname = singleDetail.unitno; + this.accountform.usertype = this.accountselectform.usertype; + this.accountform.username = this.accountselectform.username; + this.accountform.idcardno = this.accountselectform.idcardno; + this.accountform.sex = null; + this.accountform.title = this.accountselectform.title; + this.accountform.telephone = this.accountselectform.telephone; + this.accountform.address = this.accountselectform.address; + this.accountform.wbm = null; + this.accountform.pym = null; + + this.accountform.depositbank = this.accountselectform.depositbank; + this.accountform.bankcardno = this.accountselectform.bankcardno; + this.accountform.branchbankname = null; + this.accountform.remark = null; + this.accountform.del_flag = "0"; + this.accountform.personnelunitno = null; + + if (this.accountselectform.usertype == "expert") { + this.accountform.unitno = this.accountselectform.unitno; + this.unitList.map(res => { + if (res.organizationid == this.accountform.unitno) { + this.accountform.unitname = res.organizationname; + } + }); + } + + addExternalperson(this.accountform).then(response => { + if (response.code == 200) { + if (this.accountselectform.usertype == "expert") { + this.$modal.msgSuccess( + "鏂拌处鎴蜂俊鎭凡娣诲姞鎴愬姛,闇�瑕佸湪璐﹀彿鐘舵�佸惎鐢ㄥ悗鎵嶈兘琚娇鐢紒" + ); + return; + } else { + this.$modal.msgSuccess("鏂拌处鎴蜂俊鎭凡娣诲姞鎴愬姛锛�"); + } + + this.accountselectform.accountno = this.accountselectform.userno; + this.accountselectform.accountname = this.accountselectform.username; + + //閲嶆柊鑾峰彇璐︽埛鍒楄〃 + listExternalperson().then(res => { + this.accountlist = res.rows; + + //璧嬪�间俊鎭� + this.accountlist.map(res => { + if (res.username == this.accountselectform.accountname) { + this.rbDetails[tempIndex].beneficiaryno = res.userno; + this.rbDetails[tempIndex].beneficiaryname = + res.username; + this.rbDetails[tempIndex].depositbank = res.depositbank; + this.rbDetails[tempIndex].branchbankname = + res.branchbankname; + this.rbDetails[tempIndex].bankcardno = res.bankcardno; + this.rbDetails[tempIndex].phone = res.telephone; + + if (res.usertype == "org") { + this.rbDetails[tempIndex].idcardno = ""; + this.rbDetails[tempIndex].title = ""; + this.rbDetails[tempIndex].unitno = ""; + this.rbDetails[tempIndex].unitname = ""; + } else { + this.rbDetails[tempIndex].idcardno = res.idcardno; + this.rbDetails[tempIndex].title = res.title; + this.rbDetails[tempIndex].unitno = parseInt( + res.unitno + ); + this.rbDetails[tempIndex].unitname = res.unitname; + } + } + }); + }); + } + }); + }); + } + } else if (this.selectionType == "workunit") { + if ( + this.rbDetails[tempIndex].unitname != + this.accountselectform.expertunitname + ) { + this.rbDetails[ + tempIndex + ].unitname = this.accountselectform.expertunitname; + this.unitList.map(res => { + if ( + res.organizationname == this.accountselectform.expertunitname + ) { + this.rbDetails[tempIndex].unitno = res.organizationid; + } + }); } } + + //鍏抽棴绐楀彛 + this.showselectiondialog = false; + }); + }, + + tableParValueChange(row, tto) { + const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}([0-9]|X)$/; + if (tto) { + if (regex.test(accountselectform.expertidcardno)) { + row.error = ""; + } else { + row.error = "韬唤璇佸彿鐮佹牸寮忛敊璇�"; + } + return; } - this.rbDetails[tempIndex] = singleDetail; - this.showSelectionDialog = false; + if (regex.test(row.idcardno)) { + row.error = ""; + } else { + row.error = "韬唤璇佸彿鐮佹牸寮忛敊璇�"; + } }, + + //璐︽埛绫诲瀷閫夋嫨鍙樺寲 + userTypeChange(type) { + if (type == "org") { + this.accountselectform.idcardno = ""; + this.accountselectform.unitno = ""; + this.accountselectform.unitname = ""; + this.accountselectform.personnelunitno = ""; + } + // this.$modal.msgWarning(type); + } }, //鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵his瀹炰緥锛� created() { //鑾峰彇璺敱鍙傛暟 + this.Getnetworkheader(); this.getroute(); + this.getAccountList(); this.getUserProfile(); - this.getUserList(); }, //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛� mounted() { - this.getExternalList(); - // this.getFeeUnitList(); + window.addEventListener("beforeunload", e => this.beforeunloadHandler(e)); + this.getUserList(); + let apiaccountselectform = this.accountselectform; + let apiform = this.form; }, - - beforeCreate() { }, //鐢熷懡鍛ㄦ湡 - 鍒涘缓涔嬪墠 - beforeMount() { }, //鐢熷懡鍛ㄦ湡 - 鎸傝浇涔嬪墠 - beforeUpdate() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠 - updated() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗 - beforeDestroy() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓� - destroyed() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴� - activated() { }, //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂 + beforeRouteLeave(to, from, next) { + // 鎵ц閿�姣佹搷浣� + this.$destroy(); + next(); + }, + beforeCreate() {}, //鐢熷懡鍛ㄦ湡 - 鍒涘缓涔嬪墠 + beforeMount() {}, //鐢熷懡鍛ㄦ湡 - 鎸傝浇涔嬪墠 + beforeUpdate() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠 + updated() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗 + beforeDestroy() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓� + destroyed() { + window.removeEventListener("beforeunload", e => this.beforeunloadFn(e)); + }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴� + activated() {} //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂 }; </script> @@ -2097,7 +3558,6 @@ .top-text { text-align: center; - font-size: 23px; font-weight: 600; margin: 20px 0; @@ -2121,7 +3581,7 @@ height: 600px; .box-pdf { - width: 200px; + width: 400px; padding-top: 20px; margin-right: 30px; border: 1px solid #dcdfe6; @@ -2160,4 +3620,14 @@ line-height: 36px; text-align: center; } + +::v-deep .el-alert__title { + font-size: 25px; + line-height: 25px; +} + +::v-deep .el-checkbox.is-bordered + .el-checkbox.is-bordered { + margin-left: 0 !important; + margin-bottom: 10px; +} </style> -- Gitblit v1.9.3