From 037a98ac21771bfc0d23392266f65a7837676bc3 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期一, 04 九月 2023 16:27:02 +0800 Subject: [PATCH] 11 --- src/views/project/fund/applyDetail/index.vue | 938 ++++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 710 insertions(+), 228 deletions(-) diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue index bdfcf0a..1986acc 100644 --- a/src/views/project/fund/applyDetail/index.vue +++ b/src/views/project/fund/applyDetail/index.vue @@ -7,28 +7,53 @@ <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-date-picker + clearable + style="width: 100%" + v-model="form.createTime" + 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%" - @change="getUserAccount"> - <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-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-input + v-model="form.managername" + placeholder="璇疯緭鍏ョ粍闀�" + clearable + /> </el-form-item> </el-col> </el-row> @@ -50,9 +75,13 @@ <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 :span="5"> @@ -71,7 +100,11 @@ --> <el-col :span="5"> <el-form-item label="鐢宠閲戦" prop="pretaxcost"> - <el-input v-model="form.pretaxcost" placeholder="绋庡墠閲戦鍚堣" :disabled="true" /> + <el-input + v-model="form.pretaxcost" + placeholder="绋庡墠閲戦鍚堣" + :disabled="true" + /> </el-form-item> </el-col> <!-- @@ -92,7 +125,11 @@ </el-col> <el-col :span="5"> <el-form-item label="鎹愮尞鑰�" prop="name"> - <el-input :disabled="true" v-model="form.donorname" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" /> + <el-input + :disabled="true" + v-model="form.donorname" + placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" + /> </el-form-item> </el-col> <!-- @@ -108,14 +145,29 @@ <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 + @click.native.prevent="importFeeItems" + type="primary" + size="small" + > 瀵煎叆鏈嶅姟椤圭洰 </el-button> </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> @@ -124,53 +176,124 @@ <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="verifyFeeItemType(scope.row)"> - <el-option v-for="dict in rowfeeItemTypes" :key="dict.index" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="scope.row.applytypename" + placeholder="鏈嶅姟绫诲瀷" + @change="verifyFeeItemType(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"> + <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 + v-model="scope.row.itemname" + 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"> + <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 - @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 + 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"> + <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); - } - " /> + <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"> + <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); - } - " /> + <el-input + v-model="scope.row.quantity" + placeholder="鏁伴噺" + @blur=" + val => { + sumTotalFee(scope.row); + } + " + /> </template> </el-table-column> - <el-table-column v-if="businessType == 2 || - businessType == 3 || - businessType == 4 || - ismanager == true - " prop="amount" align="center" :label="amountLabel" 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 @@ -179,22 +302,53 @@ :value="dict.expense"></el-option> </el-select> --> - <el-input v-model="scope.row.amount" placeholder="閲戦" @blur="val => { calculateTax(scope.row, 'A'); }" /> + <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') - "> + <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="绋庡悗閲戦" - @blur="val => { calculateTax(scope.row, 'B'); }" /> + <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" - v-if="form.applytype == '1' || form.applytype == '2'"> + <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-button + type="primary" + plain + @click="ShowDetailDialog(scope, 'expert')" + >{{ scope.row.beneficiaryname }}</el-button + > <!-- <el-select filterable allow-create @@ -214,10 +368,19 @@ </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" + > <template slot-scope="scope"> - <el-button type="primary" plain @click="ShowDetailDialog(scope, 'unit')">{{ scope.row.unitname - }}</el-button> + <el-button + type="primary" + plain + @click="ShowDetailDialog(scope, 'unit')" + >{{ scope.row.unitname }}</el-button + > <!-- <el-select v-model="scope.row.unitno" placeholder="鍗曚綅" @@ -234,26 +397,54 @@ </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="form.applytype == '1' || form.applytype == '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="form.applytype == '1' || form.applytype == '2'" + > <template slot-scope="scope"> <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="寮�鎴烽摱琛�" /> + <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" + v-if="form.applytype != '4'" + > <template slot-scope="scope"> - <el-input v-model="scope.row.bankcardno" placeholder="閾惰甯愬彿" /> + <el-input + v-model="scope.row.bankcardno" + placeholder="閾惰甯愬彿" + /> </template> </el-table-column> <el-table-column prop="remark" align="center" label="澶囨敞"> @@ -261,23 +452,47 @@ <el-input v-model="scope.row.remark" placeholder="澶囨敞" /> </template> </el-table-column> - <el-table-column fixed="right" align="center" label="鎿嶄綔" width="180"> + <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 + 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" v-if="businessType == 3 || businessType == 4">绁ㄦ嵁</el-button> + <el-button + @click.native.prevent=" + Filepopup(scope.$index, rbDetails, scope.row) + " + type="text" + size="small" + v-if="businessType == 3 || businessType == 4" + >绁ㄦ嵁</el-button + > </template> </el-table-column> </el-table> @@ -325,31 +540,77 @@ --> <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="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-upload> </el-form-item> </el-col> </el-row> <el-row v-if="operationType == 'detail' || operationType == 'check'"> <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" /> - <el-table-column label="瀹℃牳缁撴灉" align="center" width="200" prop="flowconclusion"> + <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-row + style="margin-top: 25px; margin-bottom: 5px" + v-if="operationType == 'check'" + > <el-col :span="7"> <el-form-item label="瀹℃牳缁撴灉" align="left"> <el-radio-group v-model="checkObj.flowlevelone" align="left"> @@ -368,17 +629,34 @@ </el-row> </el-form> <div slot="footer" class="dialog-footer"> - <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 + 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" - style="text-align: center" v-loading="loading"> + <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'"> @@ -389,29 +667,77 @@ </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="selectionType == 'expert' && expertfrom == '1'" + > + <el-form-item + label="涓撳濮撳悕" + prop="beneficiaryname" + label-width="80px" + > + <el-select + filterable + allow-create + ref="beneficiaryname" + default-first-option + v-model="funddetailForm.beneficiaryname" + placeholder="璇烽�夋嫨" + style="width: 100%" + > + <el-option + v-for="item in expertlist" + :key="item.expertNo" + :label="item.exportName" + :value="item.exportName" + > </el-option> </el-select> </el-form-item> </el-col> <el-col :span="24" v-if="selectionType == 'unit'"> - <el-form-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-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-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-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-select> </el-form-item> </el-col> @@ -419,22 +745,43 @@ <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-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-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-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-form-item + label="韬唤璇佸彿" + prop="expertidcardno" + label-width="80px" + > + <el-input + v-model="funddetailForm.expertidcardno" + placeholder="蹇呭~椤�" + /> </el-form-item> </el-col> </el-row> @@ -452,42 +799,149 @@ --> <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-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-form-item + label="寮�鎴烽摱琛�" + prop="expertdepositbank" + label-width="80px" + > + <el-input + v-model="funddetailForm.expertdepositbank" + 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-form-item + label="閾惰鍗″彿" + prop="expertbankcardno" + label-width="80px" + > + <el-input + v-model="funddetailForm.expertbankcardno" + 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="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) => - 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 + size="mini" + class="upload-demo" + :action="uploadFileUrl" + :file-list="fileListto" + :show-file-list="false" + multiple + drag + :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" + > + <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%" + > + <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="deletedowfile(scope.row)" + >鍒犻櫎</el-button + > + <el-button + type="primary" + size="mini" + @click.native.prevent="moveupdowfile(scope.row)" + >涓婄Щ</el-button + > + </template> + </el-table-column> + </el-table> </div> <!-- <div class="pdftit" @@ -501,17 +955,25 @@ <div v-if="this.previewpdf" class="pdfimgmin"> <!-- <img :src="pdfimg" /> --> - <el-image style="width: 95%; height: 90%" :src="pdfimg" :preview-src-list="pdfimgsrcList"> + <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 + :title=" + '鎮ㄥ凡娣诲姞' + + totalquantity + + '鏉℃暟鎹紝涓洪槻姝㈡暟鎹涪澶辨槸鍚︽彁浜や繚瀛樺啀缁х画娣诲姞銆�' + " + type="warning" + > </el-alert> <span slot="footer" class="dialog-footer"> <el-button @click="unsave">鍙� 娑�</el-button> @@ -528,7 +990,7 @@ listDonatebaseinfo, getDonatebaseinfo } from "@/api/project/donatebaseinfo"; - +import debounce from "lodash/debounce"; import { onelistFund, listFund, @@ -686,6 +1148,8 @@ rowfeeblocks: [], fundflowList: [], + // 闅忔満鏁� + randomnumber: "", //涓撳/鍗曚綅閫夋嫨锛歟xpert/unit selectionType: "", @@ -819,36 +1283,7 @@ Modifyornot: 0 //鏄惁淇敼 }; }, - // vue璺敱鎺у埗椤甸潰鍏抽棴鎻愮ず - beforeRouteLeave(to, from, next) { - if ( - JSON.stringify(this.form) == sessionStorage.getItem("apiform") && - JSON.stringify(this.rbDetails) == sessionStorage.getItem("apifunddetail") - ) { - console.log("cg1"); - sessionStorage.removeItem("apiform"); - sessionStorage.removeItem("apifunddetail"); - //灏辨槸涓婇潰鐨勭姸鎬� 濡傛灉鏄痶rue , 鍒欎笉璇㈤棶鏄惁淇濆瓨, 褰撶劧杩欎釜鏂规硶姣旇緝绗�, 澶у鍙互浣跨敤鏇翠紭闆呯殑鏂瑰紡 - next(); - } else { - console.log("cg2"); - this.$confirm("绂诲紑椤甸潰 , 鏇存柊鏁版嵁灏嗕笉鍋氫繚瀛�, 璇风‘璁ゅ凡缁忎繚瀛�", "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }) - .then(() => { - sessionStorage.removeItem("apiform"); - sessionStorage.removeItem("apifunddetail"); - this.$router.go(-1); - next(); - }) - .catch(() => { - // alert("router") - }); - } - }, //鐩戝惉灞炴�� 绫讳技浜巇ata姒傚康 computed: {}, //鐩戞帶data涓殑鏁版嵁鍙樺寲 @@ -1165,7 +1600,7 @@ handleDelete() { this.$modal .confirm("鏄惁纭鍒犻櫎璇ヨ褰曪紵") - .then(function () { + .then(function() { return delFund(this.curId); }) .then(() => { @@ -1180,7 +1615,7 @@ this.getfundList(); this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); }) - .catch(() => { }); + .catch(() => {}); }, /** 涓婃姤鎸夐挳鎿嶄綔 */ @@ -1217,9 +1652,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; @@ -1233,8 +1683,8 @@ if (tempDetail.itemid == null) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (k + 1).toString() + - "琛岀殑鏈嶅姟椤圭洰鏈�夋嫨锛岃鍏堥�夋嫨鏈嶅姟椤圭洰鍚庡啀鎻愪氦淇濆瓨锛�" + (k + 1).toString() + + "琛岀殑鏈嶅姟椤圭洰鏈�夋嫨锛岃鍏堥�夋嫨鏈嶅姟椤圭洰鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } @@ -1243,8 +1693,8 @@ if (tempDetail.servicesscope == null) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (k + 1).toString() + - "琛岀殑璐圭敤璇存槑鏈�夋嫨,璇烽�夋嫨璐圭敤璇存槑鍚庡啀鎻愪氦淇濆瓨锛�" + (k + 1).toString() + + "琛岀殑璐圭敤璇存槑鏈�夋嫨,璇烽�夋嫨璐圭敤璇存槑鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } @@ -1255,8 +1705,8 @@ ) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (k + 1).toString() + - "琛岀殑鏈嶅姟浜哄憳濮撳悕涓洪�夋嫨,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�" + (k + 1).toString() + + "琛岀殑鏈嶅姟浜哄憳濮撳悕涓洪�夋嫨,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } @@ -1361,8 +1811,8 @@ ) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (j + 1).toString() + - "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" + (j + 1).toString() + + "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } @@ -1376,8 +1826,8 @@ ) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (j + 1).toString() + - "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" + (j + 1).toString() + + "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } @@ -1455,7 +1905,7 @@ this.$router.go(-1); } }); - }, + }, 500), //瀹℃壒鎻愪氦 checksubmit() { @@ -1662,7 +2112,6 @@ //璁$畻绋庡墠閲戦 this.calculateTax(row, "B"); - } else { row.amount = item.expense; row.taxamount = 0.0; @@ -1771,7 +2220,6 @@ }); }, - //璁$畻涓◣锛歵ype(A:宸茬煡绋庡墠閲戦锛岃绠楃◣鍚庨噾棰濓紱B锛氬凡鐭ョ◣鍚庨噾棰濓紝璁$畻绋庡墠閲戦) calculateTax(row, type) { //if (isNaN(parseFloat(tempDetail.taxedamount))) @@ -1779,20 +2227,19 @@ this.taxParam.beneficiaryNo = row.beneficiaryno; this.taxParam.startTime = this.form.createTime.substring(0, 10); - if (type == 'A') { + if (type == "A") { // 璁$畻涓◣銆佺◣鍚庨噾棰� this.taxParam.money = row.amount.toString(); - getTaxByBeneFiciaryNo(this.taxParam).then((res) => { + getTaxByBeneFiciaryNo(this.taxParam).then(res => { if (res.code == 200) { row.taxamount = res.data; row.taxedamount = row.amount - row.taxamount; - this.rbDetails[k] = row; } }); } else { // 璁$畻绋庡墠銆佷釜绋庨噾棰� this.taxParam.money = row.taxedamount.toString(); - getTaxBeforeByAfterMoney(this.taxParam).then((res) => { + getTaxBeforeByAfterMoney(this.taxParam).then(res => { if (res.code == 200) { row.taxamount = res.data.nowTax; row.amount = parseFloat(res.data.nowTaxBeforeMoney); @@ -1875,6 +2322,10 @@ }, // 鎺ュ彈鎻愰啋绔嬪埢淇濆瓨 Savenow() { + if (!this.randomnumber) { + this.randomnumber = this.generateRandomString(9); + this.form.randomnumber = this.randomnumber; + } this.Savereminder = false; this.Reminderquantity = 0; this.totalquantity = 0; @@ -1891,8 +2342,8 @@ if (tempDetail.itemid == null) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (k + 1).toString() + - "琛岀殑鏈嶅姟椤圭洰鏈�夋嫨锛岃鍏堥�夋嫨鏈嶅姟椤圭洰鍚庡啀鎻愪氦淇濆瓨锛�" + (k + 1).toString() + + "琛岀殑鏈嶅姟椤圭洰鏈�夋嫨锛岃鍏堥�夋嫨鏈嶅姟椤圭洰鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } @@ -1901,8 +2352,8 @@ if (tempDetail.servicesscope == null) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (k + 1).toString() + - "琛岀殑璐圭敤璇存槑鏈�夋嫨,璇烽�夋嫨璐圭敤璇存槑鍚庡啀鎻愪氦淇濆瓨锛�" + (k + 1).toString() + + "琛岀殑璐圭敤璇存槑鏈�夋嫨,璇烽�夋嫨璐圭敤璇存槑鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } @@ -1913,8 +2364,8 @@ ) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (k + 1).toString() + - "琛岀殑鏈嶅姟浜哄憳濮撳悕涓洪�夋嫨,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�" + (k + 1).toString() + + "琛岀殑鏈嶅姟浜哄憳濮撳悕涓洪�夋嫨,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } @@ -2019,8 +2470,8 @@ ) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (j + 1).toString() + - "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" + (j + 1).toString() + + "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } @@ -2034,8 +2485,8 @@ ) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (j + 1).toString() + - "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" + (j + 1).toString() + + "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } @@ -2159,10 +2610,10 @@ rowfeeblocks: [], annexfiles: null }; - if (this.Reminderquantity >= 5) { - this.Savereminder = true; - return; - } + // if (this.Reminderquantity >= 5) { + // this.Savereminder = true; + // return; + // } if (rowIndex == undefined || rowIndex == null || rowIndex < 0) { this.rbDetails.push(rowData); } else { @@ -2313,17 +2764,17 @@ }, //鏂囦欢涓婁紶 - handleUploadError() { }, + 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) @@ -2357,8 +2808,13 @@ this.form.filename = file.raw.name; this.$modal.msgSuccess(response.msg); - // this.fileListto.push({ name: file.name, url: response.fileName }); - 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.pdfimgsrcList.push(response.url); + this.rbDetails[this.atpresent].annexfilesList = this.fileListto; } else { console.log(response.msg); @@ -2371,10 +2827,13 @@ this.pdfVisible = true; if (this.rbDetails[index].annexfilesList) { this.fileListto = this.rbDetails[index].annexfilesList; - // this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url; - this.pdfimg = this.fileListto[0].url; + this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url; + // this.pdfimg = this.fileListto[0].url; this.pdfimgsrcList = []; - this.pdfimgsrcList.push(this.pdfimg); + this.fileListto.forEach(item => { + this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url); + }); + console.log(this.pdfimgsrcList); console.log(this.pdfimg); } else { this.fileListto = []; @@ -2382,8 +2841,10 @@ this.pdftitle = ""; } }, + // 鐐瑰嚮宸蹭笂浼犳枃浠� downFile(item) { + console.log(item); this.pdftitle = item.name; let name = item.name.split("."); if (name[1] == "pdf") { @@ -2394,11 +2855,16 @@ this.previewpdf = true; if (item.url) { this.pdfimg = this.Networkheader + "/prod-api" + item.url; - this.pdfimgsrcList = []; - this.pdfimgsrcList.push(this.pdfimg); + // this.pdfimg = item.url; + // this.pdfimgsrcList = []; + // this.pdfimgsrcList.push(this.pdfimg); + if (!this.pdfimgsrcList.includes(this.pdfimg)) { + this.pdfimgsrcList.push(this.pdfimg); + console.log("鍔犲叆"); + } console.log(this.pdfimg); } else { - this.pdfimg = this.Networkheader + "/prod-api" + item.response.url; + this.pdfimg = this.Networkheader + "/prod-api" + item.url; } } else { this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; @@ -2406,7 +2872,23 @@ this.previewpdf = false; } }, - + getIndexInArray(arr, obj) { + return arr.indexOf(obj); + }, + // 鐐瑰嚮鍒犻櫎 + deletedowfile(row) { + console.log(this.fileListto); + console.log(row); + const index = this.getIndexInArray(this.fileListto, row); + this.fileList = this.fileListto.splice(index, 1); + console.log(index); + }, + // 鐐瑰嚮涓婄Щ + 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.selectionType = showType; @@ -2622,7 +3104,7 @@ height: 600px; .box-pdf { - width: 200px; + width: 400px; padding-top: 20px; margin-right: 30px; border: 1px solid #dcdfe6; -- Gitblit v1.9.3