From 8324c778ee797ea5a844614c47d93bdacf3ffeab Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期日, 07 一月 2024 13:17:33 +0800 Subject: [PATCH] 11 --- src/views/project/fund/performancedetails/index.vue | 1027 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 895 insertions(+), 132 deletions(-) diff --git a/src/views/project/fund/performancedetails/index.vue b/src/views/project/fund/performancedetails/index.vue index 8c15da9..a675411 100644 --- a/src/views/project/fund/performancedetails/index.vue +++ b/src/views/project/fund/performancedetails/index.vue @@ -6,29 +6,55 @@ <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="applyTime"> + <el-date-picker + clearable + style="width: 100%" + v-model="form.applyTime" + type="date" + value-format="yyyy-MM-dd HH:mm:ss" + placeholder="鐢宠鏃ユ湡" + disabled="true" + > </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> @@ -40,13 +66,26 @@ </el-col> <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> <el-col :span="5"> <el-form-item label="鐢宠鏉愭枡鐘舵��" prop="infoid"> - <el-select v-model="form.checkstatus" filterable placeholder="璇烽�夋嫨鐢宠鏉愭枡鐘舵��"> - <el-option v-for="item in baselisttages" :key="item.id" :label="item.name" :value="item.id"> + <el-select + v-model="form.checkstatus" + filterable + placeholder="璇烽�夋嫨鐢宠鏉愭枡鐘舵��" + > + <el-option + v-for="item in baselisttages" + :key="item.id" + :label="item.name" + :value="item.id" + > </el-option> </el-select> </el-form-item> @@ -61,129 +100,296 @@ </el-row> <el-row style="margin-top: 5px; margin-bottom: 5px" /> <el-row v-if="jurisdiction"> - <el-alert title="褰撳墠涓烘煡鐪嬬姸鎬侊紝涓嶆敮鎸佷慨鏀瑰瓨鍌ㄣ��" type="warning" show-icon> + <el-alert + title="褰撳墠涓烘煡鐪嬬姸鎬侊紝涓嶆敮鎸佷慨鏀瑰瓨鍌ㄣ��" + type="warning" + show-icon + > </el-alert> </el-row> <el-row> <el-col :span="3"> <div style="margin-bottom: 15px;"> - <el-button type="success" icon="el-icon-download" @click="Batchentry">鎵归噺褰曞叆</el-button> + <el-button + type="primary" + icon="el-icon-download" + size="small" + @click="Batchentry" + >鎵归噺褰曞叆浜哄憳</el-button + > </div> </el-col> - </el-row> - <el-row v-if="userprofile.nickName == '闄堟厱鍗�' && operationType == 'check'"> - <el-col :span="3"> + <el-col + :span="3" + v-if="userprofile.nickName == '闄堟厱鍗�' && operationType == 'check'" + > <div style="margin-bottom: 15px;"> - <el-button type="success" icon="el-icon-edit-outline" @click="Manualcalculationfn">璁$畻涓◣</el-button> + <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" max-height="800" border highlight-current-row> - <el-table-column prop="orderno" align="center" label="搴忓彿" width="88"> + <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> </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.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="scope.row.applytype" + placeholder="璇烽�夋嫨鏈嶅姟绫诲瀷" + @change="verifyFeeItemType(scope.row)" + > + <el-option + v-for="dict in rowfeeItemTypes" + :key="dict.value" + :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.id" :label="dict.itemName" - :value="dict.id"></el-option> + <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.id" + :label="dict.itemName" + :value="dict.id" + ></el-option> </el-select> </template> </el-table-column> - <el-table-column prop="amount" align="center" label="绋庡墠閲戦" width="120"> + <el-table-column + prop="amount" + align="center" + label="绋庡墠閲戦" + width="120" + > <template slot-scope="scope"> - <el-input v-model="scope.row.amount" placeholder="绋庡墠閲戦" @blur="val => { - calculateTax(scope.row, 'A'); - } - " /> + <el-input + v-model="scope.row.amount" + placeholder="绋庡墠閲戦" + @blur=" + val => { + calculateTax(scope.row, 'A'); + } + " + /> </template> </el-table-column> - <el-table-column prop="taxedamount" align="center" label="绋庡悗閲戦" width="120"> + <el-table-column + prop="taxedamount" + align="center" + label="绋庡悗閲戦" + width="120" + > <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="250"> + <el-table-column + prop="beneficiaryname" + align="center" + label="缁╂晥浜哄憳鎴栧崟浣�" + width="250" + > <template slot-scope="scope"> - <el-button type="primary" plain @click="ShowDetailDialog(scope, 'expert')">{{ - scope.row.beneficiaryname - ? scope.row.beneficiaryname - : "鐐瑰嚮閫夋嫨" - }}</el-button> + <el-button + type="primary" + plain + @click="ShowDetailDialog(scope, 'expert')" + >{{ + scope.row.beneficiaryname + ? scope.row.beneficiaryname + : "鐐瑰嚮閫夋嫨" + }}</el-button + > </template> </el-table-column> - <el-table-column prop="idcardno" align="center" label="韬唤璇佸彿" width="200"> + <el-table-column + prop="idcardno" + align="center" + label="韬唤璇佸彿" + width="200" + > <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"> + <el-table-column + prop="depositbank" + align="center" + label="寮�鎴烽摱琛�" + width="200" + > <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"> + <el-table-column + prop="bankcardno" + align="center" + label="閾惰甯愬彿" + width="210" + > <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" width="330" label="澶囨敞"> + <el-table-column + prop="remark" + align="center" + width="330" + label="澶囨敞" + > <template slot-scope="scope"> - <el-input type="textarea" :rows="2" 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"> + <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" + >绁ㄦ嵁</el-button + > </template> </el-table-column> </el-table> </el-row> - <el-row v-if="operationType == 'detail' || - operationType == 'check' || - operationType == 'update' - "> + <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" /> - <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"> @@ -202,51 +408,348 @@ </el-row> </el-form> <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm" v-if="operationType == 'add' || - operationType == 'update' || - ismanager == true || - beforehandType == '1' - ">鎻愪氦淇濆瓨</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' && beforehandType != '1'">鎻愪氦瀹℃牳</el-button> + <el-button + type="primary" + @click="submitForm" + v-if=" + operationType == 'add' || + operationType == 'update' || + ismanager == true || + beforehandType == '1' + " + >鎻愪氦淇濆瓨</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' && beforehandType != '1'" + >鎻愪氦瀹℃牳</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-form-item label="璇疯緭鍏ラ�夋嫨锛�" prop="unitno" label-width="120px"> - <el-select v-model="funddetailForm.userName" filterable remote reserve-keyword allow-create default-first-option - placeholder="璇疯緭鍏ュ鍚嶆垨鍗曚綅鍚嶇О" :remote-method="remoteMethod" :loading="loadingperformance" style="width: 100%"> - <el-option v-for="item in optionsperformance" :key="item.value" :label="item.label" :value="item.value"> - </el-option> - </el-select> - </el-form-item> + <el-select + v-model="funddetailForm.userName" + filterable + remote + reserve-keyword + allow-create + default-first-option + placeholder="璇疯緭鍏ュ鍚嶆垨鍗曚綅鍚嶇О" + :remote-method="remoteMethod" + :loading="loadingperformance" + style="width: 100%" + > + <el-option + v-for="item in optionsperformance" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> </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="鎻愮ず" :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> <el-button type="primary" @click="Savenow">纭� 瀹�</el-button> </span> </el-dialog> + <!-- 闄勪欢 --> + <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 + prop="beneficiaryname" + align="center" + label="鍗曚綅/涓汉" + width="250" + > + </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="batchdialogVisible" width="40%"> + <el-dialog + title="鎵归噺鐢熸垚鏄庣粏淇℃伅" + :visible.sync="batchdialogVisible" + width="40%" + > <div style="margin-bottom: 15px; margin-left: 10px;"> <el-radio-group v-model="Performanceclass"> <el-radio-button :label="68">鏈堝害缁╂晥</el-radio-button> @@ -255,11 +758,24 @@ </el-radio-group> </div> <div style="max-height: 330px; overflow-y: auto"> - <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">鍏ㄩ��</el-checkbox> + <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.userNo">{{ city.userName - }}</el-checkbox> + <el-checkbox-group + v-model="checkedCities" + @change="handleCheckedCitiesChange" + > + <el-checkbox + border + v-for="city in cityOptions" + :label="city" + :key="city.userNo" + >{{ city.userName }}</el-checkbox + > </el-checkbox-group> </div> @@ -448,9 +964,6 @@ // 琛ㄥ崟鏍¢獙 rules: { - createTime: [ - { required: true, message: "璇疯緭鍏ュ~鎶ユ棩鏈�", trigger: "blur" } - ], reason: [ { required: true, message: "璇疯緭鍏ュ嚭宸簨鐢�", trigger: "blur" } ], @@ -560,6 +1073,21 @@ usestate: null }, + //闄勪欢鍒楄〃 + fileList: [], + fileListto: [], + invoicefileList: [], + invoicefileListto: [], + invoicepdfimg: "", + invoicepdfimgsrcList: [], + invoDatatop: [], + activeName: 1, //鏂囦欢绫诲瀷 + //涓婁紶闄勪欢璺緞 + uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", + //鏂囦欢涓婁紶token + headers: { + Authorization: "Bearer " + getToken() + }, //绁ㄦ嵁鏂囦欢 pdftitle: "", pdfimg: "", @@ -581,13 +1109,13 @@ watch: {}, //鏂规硶闆嗗悎 methods: { - bbaaccss(val) { }, + bbaaccss(val) {}, // 娴忚鍣ㄩ〉闈㈠叧闂垨鍒锋柊鎻愮ず beforeunloadHandler(e) { if ( (JSON.stringify(this.form) == sessionStorage.getItem("apiform") && JSON.stringify(this.rbDetails) == - sessionStorage.getItem("apifunddetail")) || + sessionStorage.getItem("apifunddetail")) || !sessionStorage.getItem("apifunddetail") ) { } else { @@ -772,7 +1300,10 @@ } sessionStorage.removeItem("apifunddetail"); - sessionStorage.setItem("apifunddetail", JSON.stringify(this.rbDetails)); + sessionStorage.setItem( + "apifunddetail", + JSON.stringify(this.rbDetails) + ); } else { this.addRow(0); } @@ -888,7 +1419,7 @@ handleDelete() { this.$modal .confirm("鏄惁纭鍒犻櫎璇ヨ褰曪紵") - .then(function () { + .then(function() { return delFund(this.curId); }) .then(() => { @@ -901,7 +1432,7 @@ this.getfundList(); this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); }) - .catch(() => { }); + .catch(() => {}); }, /** 涓婃姤鎸夐挳鎿嶄綔 */ @@ -909,7 +1440,7 @@ if ( (JSON.stringify(this.form) == sessionStorage.getItem("apiform") && JSON.stringify(this.rbDetails) == - sessionStorage.getItem("apifunddetail")) || + sessionStorage.getItem("apifunddetail")) || !sessionStorage.getItem("apifunddetail") ) { } else { @@ -926,7 +1457,18 @@ //鍒ゆ柇鏄惁瀛樺湪涓婃姤璁板綍 this.form.recordstatus = 0; var currenttime = new Date(); - this.form.createTime = currenttime.getFullYear() + "-" + (currenttime.getMonth()+1) + "-" + currenttime.getDate() + " " + currenttime.getHours() + ":" + currenttime.getMinutes() + ":" + currenttime.getSeconds(); + 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; @@ -967,7 +1509,7 @@ return randomString; }, /** 鎻愪氦鎸夐挳 */ - submitForm: debounce(function () { + submitForm: debounce(function() { if (!this.randomnumber) { this.randomnumber = this.generateRandomString(9); this.form.randomnumber = this.randomnumber; @@ -983,16 +1525,16 @@ if (tempDetail.itemid == null) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (k + 1).toString() + - "琛岀殑鏈嶅姟椤圭洰鏈�夋嫨锛岃鍏堥�夋嫨鏈嶅姟椤圭洰鍚庡啀鎻愪氦淇濆瓨锛�" + (k + 1).toString() + + "琛岀殑鏈嶅姟椤圭洰鏈�夋嫨锛岃鍏堥�夋嫨鏈嶅姟椤圭洰鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } if (tempDetail.idcardno == null) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (k + 1).toString() + - "琛岀殑韬唤璇佹湭瀹屽杽锛岃鍏堝~鍐欒韩浠借瘉鍚庡啀鎻愪氦淇濆瓨锛�" + (k + 1).toString() + + "琛岀殑韬唤璇佹湭瀹屽杽锛岃鍏堝~鍐欒韩浠借瘉鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } @@ -1001,8 +1543,8 @@ if (tempDetail.servicesscope == null) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (k + 1).toString() + - "琛岀殑璐圭敤璇存槑鏈�夋嫨,璇烽�夋嫨璐圭敤璇存槑鍚庡啀鎻愪氦淇濆瓨锛�" + (k + 1).toString() + + "琛岀殑璐圭敤璇存槑鏈�夋嫨,璇烽�夋嫨璐圭敤璇存槑鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } @@ -1010,8 +1552,8 @@ if (tempDetail.beneficiaryno == null) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (k + 1).toString() + - "琛岀殑鏈嶅姟浜哄憳濮撳悕涓洪�夋嫨,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�" + (k + 1).toString() + + "琛岀殑鏈嶅姟浜哄憳濮撳悕涓洪�夋嫨,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } @@ -1057,8 +1599,8 @@ ) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (j + 1).toString() + - "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" + (j + 1).toString() + + "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } @@ -1072,8 +1614,8 @@ ) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (j + 1).toString() + - "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" + (j + 1).toString() + + "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } @@ -1100,6 +1642,19 @@ if (this.form.id != null) { } 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(); } sessionStorage.setItem( @@ -1444,8 +1999,8 @@ if (tempDetail.itemid == null) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (k + 1).toString() + - "琛岀殑鏈嶅姟椤圭洰鏈�夋嫨锛岃鍏堥�夋嫨鏈嶅姟椤圭洰鍚庡啀鎻愪氦淇濆瓨锛�" + (k + 1).toString() + + "琛岀殑鏈嶅姟椤圭洰鏈�夋嫨锛岃鍏堥�夋嫨鏈嶅姟椤圭洰鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } @@ -1454,8 +2009,8 @@ if (tempDetail.servicesscope == null) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (k + 1).toString() + - "琛岀殑璐圭敤璇存槑鏈�夋嫨,璇烽�夋嫨璐圭敤璇存槑鍚庡啀鎻愪氦淇濆瓨锛�" + (k + 1).toString() + + "琛岀殑璐圭敤璇存槑鏈�夋嫨,璇烽�夋嫨璐圭敤璇存槑鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } @@ -1463,8 +2018,8 @@ if (tempDetail.beneficiaryno == null) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (k + 1).toString() + - "琛岀殑鏈嶅姟浜哄憳濮撳悕涓洪�夋嫨,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�" + (k + 1).toString() + + "琛岀殑鏈嶅姟浜哄憳濮撳悕涓洪�夋嫨,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } @@ -1509,8 +2064,8 @@ ) { this.$modal.msgWarning( "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + - (j + 1).toString() + - "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" + (j + 1).toString() + + "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" ); return; } @@ -1836,6 +2391,214 @@ } else { this.optionsperformance = []; } + }, + handleUploadError() {}, + remove(file, fileList) { + const rbDetails = [...this.rbDetails]; + if (this.activeName == 1) { + this.fileListto.splice(this.fileListto.indexOf(file), 1); + rbDetails[this.atpresent].annexfilesList = this.fileListto; + } else { + this.invoicefileListto.splice(this.invoicefileListto.indexOf(file), 1); + rbDetails[this.atpresent].invoicefilesList = this.invoicefileListto; + } + }, + + uploadSccess(response, file, fileList) { + this.rbDetails; + //鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆 + console.log(response); + console.log(file); + 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 + ); + console.log(this.pdfimgsrcList); + this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; + this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; + this.rbDetails[this.atpresent].annexfilesList = this.fileListto; + } else { + console.log(response.msg); + } + } else { + if (response.code == 200) { + // this.form.filename = file.raw.name; + this.previewpdf = true; + this.$modal.msgSuccess(response.msg); + this.invoicefileListto.push({ + name: file.name, + url: response.fileName + }); + this.invoicepdfimgsrcList.push( + this.Networkheader + "/prod-api" + response.fileName + ); + console.log(this.invoicepdfimgsrcList); + this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�"; + this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; + this.rbDetails[ + this.atpresent + ].invoicefilesList = this.invoicefileListto; + console.log(this.rbDetails[this.atpresent]); + } else { + console.log(response.msg); + } + } + }, + + // 鐐瑰嚮绁ㄦ嵁 + Filepopup(index, rows, row) { + this.tableDatatop = []; + this.pdfimgsrcList = []; + this.invoDatatop = []; + this.invoicepdfimgsrcList = []; + this.invoDatatop.push(row); + this.tableDatatop.push(row); + this.atpresent = index; + this.pdfVisible = true; + console.log(this.rbDetails[index]); + if (this.rbDetails[index].annexfilesList) { + this.previewpdf = true; + this.fileListto = this.rbDetails[index].annexfilesList; + console.log(this.fileListto); + this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url; + this.fileListto.forEach(item => { + this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url); + }); + } else { + this.fileListto = []; + this.pdfimg = ""; + this.pdftitle = ""; + } + // -鍙戠エ鏂囦欢 + if (this.rbDetails[index].invoicefilesList) { + this.previewpdf = true; + this.invoicefileListto = this.rbDetails[index].invoicefilesList; + console.log(this.invoicefileListto); + this.invoicepdfimg = + this.Networkheader + "/prod-api" + this.invoicefileListto[0].url; + this.invoicefileListto.forEach(item => { + this.invoicepdfimgsrcList.push( + this.Networkheader + "/prod-api" + item.url + ); + }); + console.log(this.invoicepdfimgsrcList); + console.log(this.invoicepdfimg); + } else { + this.invoicefileListto = []; + this.invoicepdfimg = ""; + this.pdftitle = ""; + } + + if (this.activeName == 1) { + this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; + } else { + this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�"; + } + }, + + // 鐐瑰嚮宸蹭笂浼犳枃浠� + downFile(item) { + if (this.activeName == 1) { + console.log(item, "鐐瑰嚮鏂囦欢鎷縤tem"); + 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.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; + this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); + this.previewpdf = false; + } + } else { + console.log(item, "鐐瑰嚮鏂囦欢鎷縤tem"); + 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; + console.log(this.invoicepdfimg, "pdfimg"); + console.log(this.invoicepdfimgsrcList, "imglist"); + } else { + this.invoicepdfimg = + this.Networkheader + "/prod-api" + item.response.url; + } + } else { + this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; + this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); + this.previewpdf = false; + } + } + }, + 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) { + console.log(row); + window.location.href = this.Networkheader + "/prod-api" + row.url; } }, @@ -1858,7 +2621,7 @@ destroyed() { window.removeEventListener("beforeunload", e => this.beforeunloadFn(e)); }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴� - activated() { } //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂 + activated() {} //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂 }; </script> @@ -1941,7 +2704,7 @@ line-height: 25px; } -::v-deep .el-checkbox.is-bordered+.el-checkbox.is-bordered { +::v-deep .el-checkbox.is-bordered + .el-checkbox.is-bordered { margin-left: 0 !important; margin-bottom: 10px; } -- Gitblit v1.9.3