From 3fe52d6b9fdd2eb2176474a8db5857372b8b5045 Mon Sep 17 00:00:00 2001 From: yxh <172933527@qq.com> Date: 星期四, 14 九月 2023 10:55:39 +0800 Subject: [PATCH] 11 --- src/views/project/fund/applyDetail/index.vue | 1133 +++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 903 insertions(+), 230 deletions(-) diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue index 12b70ee..7ae279c 100644 --- a/src/views/project/fund/applyDetail/index.vue +++ b/src/views/project/fund/applyDetail/index.vue @@ -47,18 +47,31 @@ }}</el-radio> </el-form-item> </el-col> - <el-col :span="5"> + <!-- <el-col :span="5"> <el-form-item label="閾惰鍚嶇О" prop="bankname"> <el-input v-model="form.bankname" placeholder="璇疯緭鍏ラ摱琛屽悕绉�" /> - </el-form-item> - </el-col><el-col :span="5"> + </el-form-item> </el-col + ><el-col :span="5"> <el-form-item label="閾惰璐﹀彿" prop="bankcardno"> - <el-input v-model="form.bankcardno" placeholder="璇疯緭鍏ラ摱琛岃处鍙�" /> + <el-input + v-model="form.bankcardno" + placeholder="璇疯緭鍏ラ摱琛岃处鍙�" + /> </el-form-item> - </el-col> + </el-col> --> <el-col :span="5"> <el-form-item label="鑱旂郴鐢佃瘽" prop="phone"> <el-input v-model="form.phone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" /> + </el-form-item> + </el-col> + <el-col :span="5"> + <el-form-item label="鎹愮尞鑰�" prop="name"> + <el-input :disabled="true" v-model="form.donorname" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" /> + </el-form-item> + </el-col> + <el-col :span="5"> + <el-form-item label="鐢宠閲戦" prop="pretaxcost"> + <el-input v-model="form.pretaxcost" placeholder="绋庡墠閲戦鍚堣" :disabled="true" /> </el-form-item> </el-col> </el-row> @@ -70,17 +83,13 @@ </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" /> @@ -91,11 +100,7 @@ <el-input v-model="form.remark" placeholder="鐢宠璇存槑" /> </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-form-item> - </el-col> + <!-- <el-col :span="5"> <el-form-item label="鐢宠鐘舵��" prop="recordstatus"> @@ -114,9 +119,15 @@ </el-button> </el-col> </el-row> + <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-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> @@ -144,14 +155,14 @@ </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 + <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="0"> + <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); @@ -159,7 +170,7 @@ " /> </template> </el-table-column> - <el-table-column prop="quantity" align="center" label="鏁伴噺" width="120" v-if="0"> + <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); @@ -167,8 +178,11 @@ " /> </template> </el-table-column> - <el-table-column v-if="businessType == 3 || businessType == 4 || ismanager == true" prop="amount" - align="center" label="绋庡墠閲戦" width="120"> + <el-table-column v-if="businessType == 2 || + businessType == 3 || + businessType == 4 || + ismanager == true + " prop="amount" align="center" :label="amountLabel" width="120"> <template slot-scope="scope"> <!-- <el-select v-model="scope.row.amount" placeholder="绋庡墠閲戦" clearable filterable allow-create @@ -177,14 +191,20 @@ :value="dict.expense"></el-option> </el-select> --> - <el-input v-model="scope.row.amount" placeholder="绋庡墠閲戦" /> + <el-input v-model="scope.row.amount" placeholder="閲戦" @blur="val => { + calculateTax(scope.row, 'A'); + } + " /> </template> </el-table-column> <el-table-column 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="绋庡悗閲戦" /> + <el-input v-model="scope.row.taxedamount" placeholder="绋庡悗閲戦" @blur="val => { + calculateTax(scope.row, 'B'); + } + " /> </template> </el-table-column> <el-table-column prop="beneficiaryname" align="center" label="濮撳悕" width="120" @@ -211,9 +231,32 @@ </el-select> --> </template> </el-table-column> - <el-table-column prop="unitno" align="center" label="鍗曚綅鍚嶇О" width="250"> + <el-table-column prop="unitno" align="center" label="鍗曚綅鍚嶇О" width="250" v-if="form.applytype != '4'"> <template slot-scope="scope"> <el-button type="primary" plain @click="ShowDetailDialog(scope, 'unit')">{{ scope.row.unitname + }}</el-button> + <!-- <el-select + v-model="scope.row.unitno" + placeholder="鍗曚綅" + clearable + filterable + allow-create + > + <el-option + v-for="(spec, index) in unitList" + :key="index" + :label="spec.organizationname" + :value="spec.organizationid" + ></el-option> + </el-select> --> + </template> + </el-table-column> + <el-table-column prop="unitno" align="center" label="鍗曚綅/涓汉" width="250" v-if="form.applytype == '4'"> + <template slot-scope="scope"> + <el-button type="primary" plain @click="ShowDetailDialog(scope, 'expert')">{{ + experthear == "expert" + ? scope.row.unitname + : scope.row.beneficiaryname }}</el-button> <!-- <el-select v-model="scope.row.unitno" @@ -243,28 +286,34 @@ <el-input v-model="scope.row.idcardno" placeholder="韬唤璇佸彿" /> </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"> + <!-- v-if="form.applytype != '4'" --> <template slot-scope="scope"> <el-input 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="閾惰甯愬彿" /> </template> </el-table-column> - <el-table-column prop="remark" align="center" label="澶囨敞"> + <el-table-column prop="remark" 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.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'">鏂板</el-button> + <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'"> + " type="text" size="small" v-if="operationType == 'add' || + operationType == 'update' || + operationType == 'check' + "> 鍒犻櫎 </el-button> <el-button @click.native.prevent=" @@ -318,17 +367,42 @@ <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) => + <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-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf"> - <el-button :disabled="operationType == 'detail'" size="small" type="primary">涓婁紶绁ㄦ嵁</el-button> + :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="160" prop="createTime" /> <el-table-column label="瀹℃牳浜�" align="center" width="120" prop="checkusername" /> @@ -360,18 +434,20 @@ </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="submitForm" v-if="operationType == 'add' || + operationType == 'update' || + ismanager == true + ">鎻愪氦淇濆瓨</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" + <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-row v-if="businessType != 4"> + <el-col :span="24" v-if="selectionType == 'expert' && businessType != 4"> <el-form-item label="璇烽�夋嫨涓撳淇℃伅锛�" prop="expertfrom"> <el-radio-group v-model="expertfrom" style="margin-bottom: 0"> <el-radio label="1">涓撳搴�</el-radio> @@ -397,7 +473,7 @@ :value="spec.organizationid"></el-option> </el-select> </el-form-item> - <el-form-item label="鍙戠エ鍗曚綅鍚嶇О" prop="unitno" label-width="120px" v-if="businessType == 3 || businessType == 4"> + <el-form-item label="鍙戠エ鍗曚綅鍚嶇О" prop="unitno" label-width="120px" v-if="businessType == 3"> <el-select v-model="funddetailForm.unitno" placeholder="鍗曚綅鍚嶇О" clearable filterable allow-create style="width: 100%"> <el-option v-for="(item, index) in feeUnitList" :key="index" :label="item.reportName" @@ -406,7 +482,38 @@ </el-form-item> </el-col> </el-row> - <el-row> + + <el-row v-if="businessType == 4"> + <el-col :span="24"> + <el-form-item label="璇烽�夋嫨涓撳淇℃伅锛�" prop="experthear"> + <el-radio-group @change="ShowDetailDialog(spocewl)" v-model="experthear" style="margin-bottom: 0"> + <el-radio label="unit">浜哄憳閫夐」</el-radio> + <el-radio label="expert">鍗曚綅閫夐」</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="24" v-if="experthear == 'unit'"> + <el-form-item label="浜哄憳濮撳悕" prop="beneficiaryname" label-width="80px"> + <el-select filterable allow-create ref="beneficiaryname" default-first-option @change="bbaaccss" + v-model="funddetailForm.beneficiaryname" placeholder="璇烽�夋嫨" style="width: 100%"> + <el-option v-for="item in expertlist" :key="item.expertNo" :label="item.exportName" + :value="item.exportName"> + </el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="24" v-if="experthear == 'expert'"> + <el-form-item label="鍗曚綅鍚嶇О" prop="unitno" label-width="120px"> + <el-select v-model="funddetailForm.unitname" placeholder="鍗曚綅鍚嶇О" @change="bbaaccss" 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="businessType != 4"> <el-col :span="12" v-if="expertfrom == '2'"> <el-form-item label="涓撳濮撳悕" prop="expertname" label-width="80px"> <el-input v-model="funddetailForm.expertname" placeholder="蹇呭~椤�" /> @@ -421,7 +528,7 @@ </el-form-item> </el-col> </el-row> - <el-row> + <el-row v-if="businessType != 4"> <el-col :span="24" v-if="expertfrom == '2'"> <el-form-item label="韬唤璇佸彿" prop="expertidcardno" label-width="80px"> <el-input v-model="funddetailForm.expertidcardno" placeholder="蹇呭~椤�" /> @@ -440,7 +547,7 @@ </el-col> </el-row> --> - <el-row> + <el-row v-if="businessType != 4"> <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 @@ -449,7 +556,7 @@ :value="spec.organizationid"></el-option> </el-select> </el-form-item></el-col> </el-row> - <el-row> + <el-row v-if="businessType != 4"> <el-col :span="24" v-if="expertfrom == '2'"> <el-form-item label="寮�鎴烽摱琛�" prop="expertdepositbank" label-width="80px"> <el-input v-model="funddetailForm.expertdepositbank" placeholder="蹇呭~椤�" /> @@ -467,17 +574,43 @@ <el-button type="primary" @click="ConfirmDetailDialog()">纭� 瀹�</el-button> </span> </el-dialog> - <el-dialog :title="pdftitle" :visible.sync="pdfVisible" width="50%"> + <el-dialog v-dialogDrags :modal="false" :close-on-click-modal="false" :title="pdftitle" :visible.sync="pdfVisible" + width="60%"> <div 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) => + <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-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf"> - <el-button :disabled="operationType == 'detail'" size="small" type="primary">涓婁紶绁ㄦ嵁</el-button> + :on-remove="remove" accept="image/*,.pdf"> + <i class="el-icon-upload"></i> + <div class="el-upload__text"> + 灏嗙エ鎹嫋鍒版澶勶紝鎴� + <em><el-button :disabled="operationType == 'detail'" size="small" type="primary">鐐瑰嚮涓婁紶</el-button></em> + </div> + <!-- <div class="el-upload__tip" slot="tip"> + 鍙兘涓婁紶jpg/png鏂囦欢锛屼笖涓嶈秴杩�500kb + </div> --> </el-upload> + <el-table :data="fileListto" @row-click="downFile" style="width: 100%" height="400"> + <el-table-column prop="name" :show-overflow-tooltip="true" label="鍚嶇О"> + <template slot-scope="scope"> + <i style="color:#409EFF" class=" el-icon-s-order" />{{ + scope.row.name + }} + </template> + </el-table-column> + + <el-table-column prop="name" width="180" :show-overflow-tooltip="true" label="鍔熻兘"> + <template slot-scope="scope"> + <el-button type="primary" size="mini" + @click.native.prevent.stop="deletedowfile(scope.row)">鍒犻櫎</el-button> + <el-button type="primary" size="mini" + @click.native.prevent.stop="moveupdowfile(scope.row)">涓婄Щ</el-button> + </template> + </el-table-column> + </el-table> </div> <!-- <div class="pdftit" @@ -490,10 +623,23 @@ </div> <div v-if="this.previewpdf" class="pdfimgmin"> - <img :src="pdfimg" /> + <!-- <img :src="pdfimg" /> --> + <el-image style="width: 95%; height: 90%" :src="pdfimg" :preview-src-list="pdfimgsrcList"> + </el-image> </div> <div v-else class="pdfimgmins">{{ hintitle }}</div> </div> + </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 @click="unsave">鍙� 娑�</el-button> + <el-button type="primary" @click="Savenow">纭� 瀹�</el-button> + </span> </el-dialog> </div> </template> @@ -505,7 +651,7 @@ listDonatebaseinfo, getDonatebaseinfo } from "@/api/project/donatebaseinfo"; - +import debounce from "lodash/debounce"; import { onelistFund, listFund, @@ -564,6 +710,8 @@ exportExternalperson } from "@/api/project/externalperson"; +import { listItemexpense } from "@/api/project/itemexpense"; + import { getUserProfile } from "@/api/system/user"; import Li_area_select from "@/components/Address"; import OrgSelecter from "@/views/project/components/orgselect"; @@ -575,7 +723,6 @@ Li_area_select, OrgSelecter }, - name: "fundApply", dicts: [ @@ -602,9 +749,12 @@ // 瀵煎嚭閬僵灞� exportLoading: false, usernamedata: "", + jurisdiction: false, + // 琛ㄥ崟鍙傛暟 form: {}, - + experthear: "", + spocewl: "", //璐圭敤鐢宠琛ㄥ崟title title: "", //鐢宠鍗曠被鍨� @@ -632,6 +782,8 @@ unitList: [], //璐圭敤鎶ラ攢鏈烘瀯鍒楄〃 feeUnitList: [], + // 缃戠粶璇锋眰澶� + Networkheader: null, itemlist: [], @@ -651,7 +803,6 @@ totalAfterTaxAmount: 0.0, totalAmount: 0.0, - //璐圭敤绫诲瀷鏁扮粍 feeItemTypes: [], @@ -659,13 +810,21 @@ rowfeeItemTypes: [], //璐圭敤璇存槑 - rowfeeblocks: [], +<<<<<<< Updated upstream + feeBlocks: [], +======= + feeBlockList: [], +>>>>>>> Stashed changes fundflowList: [], + // 闅忔満鏁� + randomnumber: "", //涓撳/鍗曚綅閫夋嫨锛歟xpert/unit selectionType: "", showSelectionDialog: false, + //绋庡墠閲戦鏍囬锛氫笓瀹惰垂-绋庡墠閲戦锛涘尰瀛︽垚鏈�佸姙鍏垂鐢�-閲戦 + amountLabel: "绋庡墠閲戦", // 琛ㄥ崟鏍¢獙 rules: { @@ -726,7 +885,7 @@ checkObj: { flowlevelone: null, flowconclusion: null, - fundid: null, + fundid: null }, // 鏌ヨ鍙傛暟 @@ -770,6 +929,16 @@ startTime: "" }, + //鏈嶅姟璐圭敤鍙傛暟 + expenseQueryParams: { + pageNum: 1, + pageSize: 10000, + itemid: null, + expense: null, + expensedescribe: null, + usestate: null, + }, + //闄勪欢鍒楄〃 fileList: [], fileListto: [], @@ -782,18 +951,47 @@ //绁ㄦ嵁鏂囦欢 pdftitle: "", pdfimg: "", + pdfimgsrcList: [], pdfVisible: false, previewpdf: false, hintitle: "閫変腑宸︿晶宸蹭笂浼犳枃浠堕瑙堟煡鐪�", - atpresent: "" + atpresent: "", + Savereminder: false, //鎻愰啋淇濆瓨寮规 + Reminderquantity: 0, //鎻愰啋鏁伴噺 + totalquantity: 0, //鎬绘暟閲� + Modifyornot: 0 //鏄惁淇敼 }; }, + //鐩戝惉灞炴�� 绫讳技浜巇ata姒傚康 computed: {}, //鐩戞帶data涓殑鏁版嵁鍙樺寲 watch: {}, //鏂规硶闆嗗悎 methods: { + bbaaccss(val) { + console.log(val); + console.log(this.funddetailForm); + }, + // 娴忚鍣ㄩ〉闈㈠叧闂垨鍒锋柊鎻愮ず + beforeunloadHandler(e) { + if ( + (JSON.stringify(this.form) == sessionStorage.getItem("apiform") && + JSON.stringify(this.rbDetails) == + sessionStorage.getItem("apifunddetail")) || + !sessionStorage.getItem("apifunddetail") + ) { + console.log(cg); + } else { + this._beforeUnload_time = new Date().getTime(); + e = e || window.event; + if (e) { + e.returnValue = "鍏抽棴鎻愮ず"; + } + return "鍏抽棴鎻愮ず"; + } + }, + // 琛ㄥ崟閲嶇疆 reset() { this.form = { @@ -843,6 +1041,18 @@ //娓呯┖闄勪欢 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鍙婂叾鍓嶉儴瀛楃 + // console.log(this.Networkheader); + } else { + const index = string.indexOf("8032"); + this.Networkheader = string.slice(0, index + 4); // 鎴彇8032鍙婂叾鍓嶉儴瀛楃 + } + }, /** 閫氳繃鍙傛暟鑾峰彇涓氬姟绫诲瀷 */ getroute() { //閫夋嫨涓氬姟绫诲瀷:1銆佹柊澧烇紱2銆佷慨鏀癸紱3銆佹煡鐪� @@ -855,40 +1065,39 @@ // if (!this.businessType && !this.operationType) { if (this.businessType == "1") { - this.curCase = this.$route.query.curCase; - this.businessName = "涓撳鍔冲姟璐圭敵璇峰崟" + this.businessName = "涓撳鍔冲姟璐圭敵璇峰崟"; + this.amountLabel = "绋庡墠閲戦"; this.getUnitList(); - } - else if (this.businessType == "2") { - this.curCase = this.$route.query.curCase; + } else if (this.businessType == "2") { this.businessName = "浼︾悊涓撳鍔冲姟璐圭敵璇峰崟"; + this.amountLabel = "绋庡墠閲戦"; 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 = "閲戦"; + } else if (this.businessType == "4") { this.businessName = "鍔炲叕璐圭敤鎶ラ攢鍗�"; + this.amountLabel = "閲戦"; + this.getUnitList(); // this.getBaseInfoList(); } if (this.operationType == "add") { this.title = this.businessName + "鏂板缓"; + if (this.operationType != "4") { + this.curCase = this.$route.query.curCase; + console.log("this.curCase", this.curCase); + } this.handleAdd(); - } - else if (this.operationType == "update") { + } 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(); } @@ -928,6 +1137,10 @@ 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 + ""; //闄勪欢澶勭悊 @@ -936,35 +1149,33 @@ //鏄庣粏澶勭悊 getownFundDetail(this.curId).then(res => { this.rbDetails = 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); } }); + let listFundflowparams = { + fundid: this.curId, + fundtype: 2 + }; + listFundflow(listFundflowparams).then(res => { + this.fundflowList = res.rows; + }); + console.log(this.fundflowList); }); }, @@ -975,6 +1186,11 @@ getFund(this.curId).then(response => { this.form = response.data; + sessionStorage.removeItem("apiform"); + + sessionStorage.setItem("apiform", JSON.stringify(this.form)); + + console.log("response.data", response.data); //闄勪欢澶勭悊 // this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] @@ -983,15 +1199,10 @@ this.rbDetails = res.data; for (let m = 0; m < this.rbDetails.length; m++) { this.rbDetails[m].itemlist = []; - this.getFeeItems(m, this.rbDetails[m]); + this.getRowFeeItems(m, this.rbDetails[m]); - this.rbDetails[m].rowfeeblocks = []; - this.rbDetails[m].rowfeeblocks.push({ - servicesscope: this.rbDetails[m].servicesscope, - expensedescribe: this.rbDetails[m].servicesscopename, - expense: this.rbDetails[m].expense, - remark: this.rbDetails[m].servicesscopename - }); + //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭� + this.rbDetails[m].rowfeeblocks = this.feeBlocks.filter(r => r.itemid == this.rbDetails[m].itemid); } if (this.rbDetails.length == 0) { @@ -999,7 +1210,7 @@ } }); - //涓氬姟娴佺▼ + //涓氬姟娴佺▼ let listFundflowparams = { fundid: this.curId, fundtype: 2 @@ -1010,13 +1221,17 @@ }); }, - /** 淇敼鎸夐挳鎿嶄綔 */ + /** 鏌ョ湅鎸夐挳鎿嶄綔 */ 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 })) : [] @@ -1025,18 +1240,18 @@ 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) { + this.addRow(0); } }); - //涓氬姟娴佺▼ + //涓氬姟娴佺▼ let listFundflowparams = { fundid: this.curId, fundtype: 2 @@ -1045,7 +1260,6 @@ this.fundflowList = res.rows; }); }); - }, /** 鍒犻櫎鎸夐挳鎿嶄綔 */ @@ -1104,9 +1318,24 @@ }); }); }, - + generateRandomString(length) { + const characters = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; + let randomString = ""; + for (let i = 0; i < length; i++) { + randomString += characters.charAt( + Math.floor(Math.random() * characters.length) + ); + } + return randomString; + }, /** 鎻愪氦鎸夐挳 */ - submitForm() { + submitForm: debounce(function () { + if (!this.randomnumber) { + this.randomnumber = this.generateRandomString(9); + this.form.randomnumber = this.randomnumber; + } + console.log(this.randomnumber); this.$refs["form"].validate(valid => { if (valid) { this.formData = this.form; @@ -1136,7 +1365,10 @@ return; } - if (tempDetail.beneficiaryno == null || tempDetail.beneficiaryno == "鐐瑰嚮閫夋嫨") { + if ( + tempDetail.beneficiaryno == null || + tempDetail.beneficiaryno == "鐐瑰嚮閫夋嫨" + ) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + (k + 1).toString() + @@ -1218,7 +1450,7 @@ }); } - // 璁$畻绋庡墠閲戦 + // 璁$畻绋庡墠銆佺◣璐广�佺◣鍚庨噾棰� if (tempDetail.amount == undefined || tempDetail.amount == null || tempDetail.amount == 0 || tempDetail.amount == '') { //鑾峰彇鍙傛暟 this.taxParam.money = tempDetail.taxedamount.toString(); @@ -1235,6 +1467,49 @@ } */ } + //璁$畻褰撳墠琛屾姤閿�鍐呭璐圭敤鍚堣锛岀◣鍓嶉噾棰濓紙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); @@ -1284,14 +1559,20 @@ this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + response.msg); } }); + sessionStorage.setItem( + "apifunddetail", + JSON.stringify(this.rbDetails) + ); + sessionStorage.setItem("apiform", JSON.stringify(this.form)); //鍏抽棴绐楀彛 - // this.loading = false; + this.loading = false; // this.getfundList(); + this.$store.dispatch("tagsView/delView", this.$route); this.$router.go(-1); } }); - }, + }, 500), //瀹℃壒鎻愪氦 checksubmit() { @@ -1299,17 +1580,21 @@ // fundid: this.checkObj.fundid, fundid: this.curId, flowconclusion: this.checkObj.flowlevelone, - flowcontent: this.checkObj.flowconclusion, + flowcontent: this.checkObj.flowconclusion }; - checkfund(checkFundObj).then((res) => { + checkfund(checkFundObj).then(res => { + //鍏抽棴绐楀彛 this.reset(); this.$modal.msgSuccess("瀹℃牳瀹屾垚!"); + this.$store.dispatch("tagsView/delView", this.$route); + this.$router.go(-1); }); }, // 鍙栨秷鎸夐挳 cancel() { // this.reset(); + this.$store.dispatch("tagsView/delView", this.$route); this.$router.go(-1); }, @@ -1319,23 +1604,29 @@ 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.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; - // this.form.createTime = new Date(); - this.getUserAccount(); + console.log(this.userprofile, this.ismanager); + 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; + // this.form.createTime = new Date(); + + if (this.businessType == "4") { + this.getUserAccount(); + } + } }); }, @@ -1377,7 +1668,7 @@ getUserAccount() { this.personlist.map(res => { if (res.username == this.form.username) { - this.form.bankname = res.depositbank;//res.branchbankname銆乺es.depositbank; + this.form.bankname = res.depositbank; //res.branchbankname銆乺es.depositbank; this.form.bankcardno = res.bankcardno; this.form.phone = res.telephone; } @@ -1404,13 +1695,16 @@ //鑾峰彇璐圭敤鏈烘瀯鍒楄〃 getFeeUnitList() { + console.log("鍗曚綅"); listReportname("org").then(res => { this.feeUnitList = res.data; }); + console.log(this.feeUnitList); }, //鑾峰彇鍖荤枟鏈烘瀯鍒楄〃 getUnitList() { + console.log("鍖荤枟鏈烘瀯"); listOrganization(3).then(response => { for (let i = 0; i < response.rows.length; i++) { this.unitList.push({ @@ -1432,11 +1726,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({ @@ -1447,18 +1745,30 @@ }); } }); + + //鑾峰彇鏈嶅姟璐圭敤璇存槑鍒楄〃 + 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); - // }); }, //鍔犺浇鏈嶅姟椤圭洰 @@ -1467,13 +1777,6 @@ row.itemlist = list[0].itemDetails; row.itemid = null; this.$forceUpdate(); - //this.loading = true; - // getItemNames(row.applytype).then((res) => { - // this.loading = false; - // row.itemid = null; - // row.itemlist = res.data; - // this.$forceUpdate(); - // }); }, //鑾峰彇璐圭敤椤圭洰鐨勫娉ㄤ俊鎭� @@ -1485,21 +1788,27 @@ row.amount = 0.0; row.taxamount = 0.0; row.taxedamount = item.expense; + + //璁$畻绋庡墠閲戦 + // this.calculateTax(row, "B"); } else { row.amount = item.expense; row.taxamount = 0.0; row.taxedamount = 0.0; + + //璁$畻绋庡悗閲戦 + // this.calculateTax(row, "A"); } - this.form.serviceFunddetails = 0; - this.rbDetails.map(item => { - this.form.serviceFunddetails += item.amount; - }); + // this.form.serviceFunddetails = 0; + // this.rbDetails.map(item => { + // this.form.serviceFunddetails += item.amount; + // }); } }); }, - //鏍¢獙鏀惰垂椤圭洰鏄惁閲嶅 + //鏍¢獙鏀惰垂椤圭洰 verifyFeeItem(row) { row.itemlist.map(res => { if (row.itemid === res.id) { @@ -1507,33 +1816,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; + } + } + } }, //绛涙煡鍑哄搴旂殑璐圭敤椤圭洰 @@ -1557,9 +1876,10 @@ }); } }, + //鍚堣璐圭敤 selectamount(row) { - this.rowfeeblocks.forEach((item, i) => { + this.feeBlockList.forEach((item, i) => { if (item.expense === row.amount) { row.remark = item.expensedescribe; } @@ -1584,6 +1904,34 @@ row.beneficiaryno = row.beneficiaryname; } }); + }, + + //璁$畻涓◣锛歵ype(A:宸茬煡绋庡墠閲戦锛岃绠楃◣鍚庨噾棰濓紱B锛氬凡鐭ョ◣鍚庨噾棰濓紝璁$畻绋庡墠閲戦) + calculateTax(row, type) { + //if (isNaN(parseFloat(tempDetail.taxedamount))) + //鑾峰彇鍙傛暟 + this.taxParam.beneficiaryNo = row.beneficiaryno; + this.taxParam.startTime = this.form.createTime.substring(0, 10); + + if (type == "A") { + // 璁$畻涓◣銆佺◣鍚庨噾棰� + this.taxParam.money = row.amount.toString(); + getTaxByBeneFiciaryNo(this.taxParam).then(res => { + if (res.code == 200) { + row.taxamount = res.data; + row.taxedamount = row.amount - row.taxamount; + } + }); + } else { + // 璁$畻绋庡墠銆佷釜绋庨噾棰� + this.taxParam.money = row.taxedamount.toString(); + getTaxBeforeByAfterMoney(this.taxParam).then(res => { + if (res.code == 200) { + row.taxamount = res.data.nowTax; + row.amount = parseFloat(res.data.nowTaxBeforeMoney); + } + }); + } }, //瀵煎叆鎵�鏈夐」鐩� @@ -1618,23 +1966,27 @@ 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); } @@ -1642,16 +1994,255 @@ } 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; + // let totalPreTaxAmount = 0.0; + // let totalAfterTaxAmount = 0.0; + // let totalAmount = 0.0; + + //淇濆瓨鍓嶆牎楠屾暟鎹� + 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 || + tempDetail.beneficiaryno == "鐐瑰嚮閫夋嫨" + ) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (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++) { + 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; + /* + //璁$畻涓◣ + //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); + // this.form.amountrequested = this.totalAmount.toFixed(2); + + //淇濆瓨鏁版嵁 + this.loading = true; + this.form.serviceFunddetails = 0; + this.rbDetails.map(item => { + this.form.serviceFunddetails += item.amount; + }); + console.log(this.rbDetails); + this.form.serviceFunddetails = this.rbDetails; + + if (this.form.id != null) { + // updateFund(this.form).then((response) => { + // if (response.code === 200) { + // this.loading = false; + // for (let m = 0; m < this.rbDetails.length; m++) { + // if (this.rbDetails[m].id > 0) { + // updateFunddetail(this.rbDetails[m]).then((response2) => { if (response.code != 200) { this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐�1锛�" + response.msg); } }); + // } else { + // addFunddetail(this.rbDetails[m]).then((response2) => { if (response.code != 200) { this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐�2锛�" + response.msg); } }); + // } + // } + // this.$modal.msgSuccess("涓撳鍔冲姟璐逛繚瀛樻垚鍔燂紒"); + // } else { + // this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐ワ細" + response.msg); + // } + // }); + } else { + this.form.recordstatus = -1; + + // addorupdateFund(this.form).then((response) => { + // if (response.code === 200) { + // this.selectDonotor(this.curCase); + // } else { + // this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐ワ細" + response.msg); + // } + // }); + } + + addorupdateFund(this.form).then(response => { + if (response.code === 200) { + this.$modal.msgSuccess("鐢宠鍗曚繚瀛樻垚鍔燂紒"); + this.Getnetworkheader(); + this.getroute(); + this.getExternalList(); + this.getUserList(); + this.getUserProfile(); + } else { + this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + response.msg); + } + }); + + //鍏抽棴绐楀彛 + this.loading = false; + // this.getfundList(); + } + }); }, //鏂板涓�琛� @@ -1700,11 +2291,17 @@ rowfeeblocks: [], annexfiles: null }; + // if (this.Reminderquantity >= 5) { + // this.Savereminder = true; + // return; + // } if (rowIndex == undefined || rowIndex == null || rowIndex < 0) { this.rbDetails.push(rowData); } 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; } @@ -1754,9 +2351,6 @@ this.addRow(0); } }, - - //璁$畻涓◣ - calculateTax() { }, //璁$畻鎬婚噾棰� sumTotalFee(row) { @@ -1854,14 +2448,14 @@ 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); - }, + // 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) @@ -1893,29 +2487,46 @@ //鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆 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.url }); + this.fileListto.push({ name: file.name, url: response.fileName }); + // this.fileListto.push({ name: file.name, url: response.url }); + this.pdfimgsrcList.push( + this.Networkheader + "/prod-api" + response.fileName + ); + this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; + this.rbDetails[this.atpresent].annexfilesList = this.fileListto; } else { console.log(response.msg); } }, - // 鐐瑰嚮鏂囦欢 + // 鐐瑰嚮绁ㄦ嵁 Filepopup(index, rows, row) { this.atpresent = index; this.pdfVisible = true; if (this.rbDetails[index].annexfilesList) { + this.previewpdf = true; this.fileListto = this.rbDetails[index].annexfilesList; + this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url; + // this.pdfimg = this.fileListto[0].url; + this.pdfimgsrcList = []; + this.fileListto.forEach(item => { + this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url); + }); + console.log(this.pdfimgsrcList); + console.log(this.pdfimg); } else { this.fileListto = []; this.pdfimg = ""; this.pdftitle = ""; } }, + // 鐐瑰嚮宸蹭笂浼犳枃浠� downFile(item) { + console.log(item); this.pdftitle = item.name; let name = item.name.split("."); if (name[1] == "pdf") { @@ -1925,9 +2536,16 @@ } else if (name[1] == "jpg" || "png") { this.previewpdf = true; if (item.url) { - this.pdfimg = item.url; + this.pdfimg = this.Networkheader + "/prod-api" + item.url; + + // if (!this.pdfimgsrcList.includes(this.pdfimg)) { + // this.pdfimgsrcList.push(this.pdfimg); + // console.log("鍔犲叆"); + // } + console.log(this.pdfimg); + console.log(this.pdfimgsrcList, "imglist"); } else { - this.pdfimg = item.response.url; + this.pdfimg = this.Networkheader + "/prod-api" + item.url; } } else { this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; @@ -1935,10 +2553,43 @@ this.previewpdf = false; } }, - + getIndexInArray(arr, obj) { + return arr.indexOf(obj); + }, + // 鐐瑰嚮鍒犻櫎 + deletedowfile(row) { + console.log(this.fileListto); + console.log(row); + const indexlist = this.getIndexInArray( + this.pdfimgsrcList, + this.Networkheader + "/prod-api" + row.url + ); + console.log(indexlist); + this.pdfimgsrcList.splice(indexlist, 1); + const index = this.getIndexInArray(this.fileListto, row); + this.fileListto.splice(index, 1); + console.log(index); + console.log(this.pdfimgsrcList); + }, + // 鐐瑰嚮涓婄Щ + moveupdowfile(row) { + const index = this.getIndexInArray(this.fileListto, row); + const item = this.fileListto.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� + this.fileListto.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + }, //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨 ShowDetailDialog(spoce, showType) { + this.spocewl = spoce; + console.log(spoce); this.selectionType = showType; + if (this.businessType == 4 || !showType) { + this.selectionType = this.experthear; + console.log(this.selectionType); + } + // if (!showType) { + // this.selectionType = this.experthear; + + // } this.expertfrom = "1"; this.funddetailForm.index = spoce.$index; @@ -1959,13 +2610,16 @@ //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨 ConfirmDetailDialog() { + console.log(this.funddetailForm.tempExpertName); + console.log(this.funddetailForm); let tempIndex = this.funddetailForm.index; let tempExpertName = this.funddetailForm.beneficiaryname; let tempUnitname = this.funddetailForm.unitname; let singleDetail = this.rbDetails[tempIndex]; + console.log(tempExpertName); - if (this.selectionType == "expert") { - if (this.expertfrom == "1") { + if (this.selectionType == "expert" || this.businessType == 4) { + if (this.expertfrom == "1" || this.experthear == "unit") { //浠庝笓瀹跺垪琛ㄨ幏鍙栦俊鎭� this.personlist.map(res => { if (tempExpertName == res.username) { @@ -1984,7 +2638,8 @@ } else { //淇濆瓨鏂板涓撳 this.expertform.id = null; - this.expertform.userno = this.personlist[this.personlist.length - 1].id + 1; + 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; @@ -2079,22 +2734,35 @@ } } + // if (this.experthear == "unit") { + // singleDetail.unitname = ""; + // } + singleDetail.unitname = this.funddetailForm.unitname; + console.log(this.funddetailForm); this.rbDetails[tempIndex] = singleDetail; this.showSelectionDialog = false; - }, + } }, //鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵his瀹炰緥锛� created() { //鑾峰彇璺敱鍙傛暟 + this.Getnetworkheader(); this.getroute(); this.getExternalList(); + this.getFeeUnitList(); }, //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛� mounted() { + window.addEventListener("beforeunload", e => this.beforeunloadHandler(e)); this.getUserList(); this.getUserProfile(); + let apifunddetailForm = this.funddetailForm; + let apiform = this.form; + console.log(apiform); + console.log(apifunddetailForm); + // this.getFeeUnitList(); }, @@ -2104,7 +2772,7 @@ updated() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗 beforeDestroy() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓� destroyed() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴� - activated() { }, //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂 + activated() { } //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂 }; </script> @@ -2143,7 +2811,7 @@ height: 600px; .box-pdf { - width: 200px; + width: 400px; padding-top: 20px; margin-right: 30px; border: 1px solid #dcdfe6; @@ -2182,4 +2850,9 @@ line-height: 36px; text-align: center; } + +::v-deep .el-alert__title { + font-size: 20px; + line-height: 20px; +} </style> -- Gitblit v1.9.3