From d195776f9d23f7c79a049ccececdf674853eadb7 Mon Sep 17 00:00:00 2001 From: fei <791364011@qq.com> Date: 星期五, 10 十月 2025 23:20:03 +0800 Subject: [PATCH] 修改了对应代码 --- src/views/archiveManager/index.vue | 191 ++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 178 insertions(+), 13 deletions(-) diff --git a/src/views/archiveManager/index.vue b/src/views/archiveManager/index.vue index 73e4d98..ee1f128 100644 --- a/src/views/archiveManager/index.vue +++ b/src/views/archiveManager/index.vue @@ -126,6 +126,21 @@ @keyup.enter.native="handleQuery" /> </el-form-item> + <!-- 娣诲姞椤圭洰鍚嶇О鎼滅储妗� --> + <el-form-item label="椤圭洰鍚嶇О" prop="everyProjectName"> + <el-select + v-model="queryParams.everyProjectName" + placeholder="璇烽�夋嫨椤圭洰鍚嶇О" + clearable + > + <el-option + v-for="item in projectOptions" + :key="item.value" + :label="item.label" + :value="item.value" + /> + </el-select> + </el-form-item> <el-form-item label="椤圭洰缂栧彿" prop="projectNumber"> <el-input v-model="queryParams.projectNumber" @@ -227,7 +242,7 @@ >鎵归噺鎻愪氦</el-button> </el-col> - <el-col :span="1.5"> + <el-col v-if="userId==1" :span="1.5"> <el-button type="warning" plain @@ -237,8 +252,17 @@ v-hasPermi="['system:materials:edit']" >瀵煎叆妯℃澘涓嬭浇</el-button> </el-col> - - <el-col :span="1.5"> + <el-col v-if="userId!=1" :span="1.5"> + <el-button + type="warning" + plain + icon="el-icon-download" + size="mini" + @click="handleExportTemplateOther" + v-hasPermi="['system:materials:edit']" + >瀵煎叆妯℃澘涓嬭浇</el-button> + </el-col> + <el-col :span="1.5"> <el-upload action="" @@ -391,7 +415,8 @@ v-model="form.recordZone" placeholder="閫夋嫨鍦板尯" @change="handleRecordTypeChange" - :disabled="userId!=1" > + disabled + > <el-option v-for="item in zoneTypeOptions" :key="item.value" @@ -568,7 +593,7 @@ <div v-if="vis"> <el-form-item label="妗堝嵎棰樺悕" prop="caseTitle"> - <el-input v-model="form.caseTitle" placeholder="璇疯緭鍏ユ鍗烽鍚�" /> + <el-input v-model="form.caseTitle" placeholder="鑷姩鐢熸垚" :readonly="true" /> </el-form-item> <el-form-item label="鍏紑灞炴��" prop="publicAttribute"> @@ -639,7 +664,8 @@ <el-input v-model="form.constructionAddress" placeholder="璇疯緭鍏ュ缓璁惧湴鍧�" /> </el-form-item> <el-form-item label="寤鸿椤圭洰鍚嶇О" prop="projectName"> - <el-input v-model="form.projectName" placeholder="璇疯緭鍏ュ缓璁鹃」鐩悕绉�" :disabled="userId!=1"/> + <el-input v-model="form.projectName" placeholder="璇疯緭鍏ュ缓璁鹃」鐩悕绉�" /> + <!-- <el-input v-model="form.projectName" placeholder="璇疯緭鍏ュ缓璁鹃」鐩悕绉�" :disabled="userId!=1"/> --> </el-form-item> <el-form-item label="椤圭洰缂栧彿" prop="projectNumber"> <el-input v-model="form.projectNumber" placeholder="璇疯緭鍏ラ」鐩紪鍙�" /> @@ -670,7 +696,7 @@ </template> <script> -import { batchSubmitRecords,updateStatusById,listRecords,getMaxId, getRecords, delRecords, addRecords, updateRecords } from "@/api/system/records" +import { enload, batchSubmitRecords,updateStatusById,listRecords,getMaxId, getRecords, delRecords, addRecords, updateRecords } from "@/api/system/records" import { listAllCategory } from "@/api/system/category" import { listAllProjectName } from "@/api/system/projectName" import { listPlaceName, listAllPlaceName } from "@/api/system/placeName" @@ -758,11 +784,20 @@ { required: true, message: "妗f鍙蜂笉鑳戒负绌�", trigger: "blur" } ], inquiryNumber: [ - { required: true, message: "鍙戦棶鍙蜂笉鑳戒负绌�", trigger: "blur" } + { required: true, message: "鍙戞枃鍙蜂笉鑳戒负绌�", trigger: "blur" } ], everyProjectName: [ { required: true, message: "椤圭洰鍚嶇О涓嶈兘涓虹┖", trigger: ['change', 'blur']} ], + caseTitle: [ + { required: true, message: "妗堝嵎棰樺悕涓嶈兘涓虹┖", trigger: "blur" } + ], + constructionUnit: [ + { required: true, message: "寤鸿鍗曚綅涓嶈兘涓虹┖", trigger: "blur" } + ], + projectName: [ + { required: true, message: "寤鸿椤圭洰鍚嶇О涓嶈兘涓虹┖", trigger: "blur" } + ] } } }, @@ -776,6 +811,26 @@ this.getZoneOptions() this.fetchProjectOptions() this.getList() + }, + watch: { + 'form.constructionUnit': { + handler() { + this.generateCaseTitle(); + }, + immediate: true + }, + 'form.constructionAddress': { + handler() { + this.generateCaseTitle(); + }, + immediate: true + }, + 'form.projectName': { + handler() { + this.generateCaseTitle(); + }, + immediate: true + } }, methods: { getId() @@ -791,12 +846,30 @@ // alert(this.maxId) }) }, + // 鐢熸垚妗堝嵎棰樺悕 + generateCaseTitle() { + let titleParts = []; + + if (this.form.constructionUnit) { + titleParts.push(this.form.constructionUnit); + } + + if (this.form.constructionAddress) { + titleParts.push(this.form.constructionAddress); + } + + if (this.form.projectName) { + titleParts.push(this.form.projectName); + } + + this.form.caseTitle = titleParts.join(''); + }, async getZoneOptions() { try { const response = await listAllPlaceName() - console.log(response.data) - this.zoneTypeOptions = response.data.map(item => ({ + console.log("1111111333333",response.data) + this.zoneTypeOptions = response.data.data.map(item => ({ value: item.nnumber, label: item.name })) @@ -807,8 +880,8 @@ async fetchProjectOptions() { try { const response = await listAllProjectName() - console.log(response) - this.projectOptions = response.data.map(item => ({ + console.log("1111111",response) + this.projectOptions = response.data.data.map(item => ({ value: item.name, label: item.name })) @@ -955,10 +1028,18 @@ if(this.recordTypeOptions.length > 0) { const recordParts = response.data.recordId.split('-') this.$set(this.form, 'recordType', recordParts[0]) - this.$set(this.form, 'recordZone', recordParts[1]) + if(this.recordTypeOptions.length==4) + { + this.$set(this.form, 'recordZone', recordParts[1]) this.$set(this.form, 'recordYear', recordParts[2]) this.$set(this.form, 'recordSeq', recordParts[3]) + } + else + { + this.$set(this.form, 'recordYear', recordParts[1]) + this.$set(this.form, 'recordSeq', recordParts[2]) + } } this.open = true this.title = "淇敼妗f璁板綍" @@ -1004,10 +1085,18 @@ if(this.recordTypeOptions.length > 0) { const recordParts = response.data.recordId.split('-') this.$set(this.form, 'recordType', recordParts[0]) + if(this.recordTypeOptions.length==4) + { this.$set(this.form, 'recordZone', recordParts[1]) this.$set(this.form, 'recordYear', recordParts[2]) this.$set(this.form, 'recordSeq', recordParts[3]) + } + else + { + this.$set(this.form, 'recordYear', recordParts[1]) + this.$set(this.form, 'recordSeq', recordParts[2]) + } } this.open_check = true this.title = "鏌ョ湅妗f璁板綍" @@ -1016,6 +1105,7 @@ /** 鎻愪氦鎸夐挳 */ submitForm() { + console.log(this.form) this.$refs["form"].validate(valid => { if (valid) { if (this.form.id != null) { @@ -1079,7 +1169,82 @@ this.download('system/records/export', { ...this.queryParams }, `records_${new Date().getTime()}.xlsx`) + }, + /** 瀵煎叆妯℃澘涓嬭浇鎿嶄綔*/ + handleExportTemplate() + { + this.download('/system/records/model', { + + }, `records_${new Date().getTime()}.xlsx`) + }, + handleExportTemplateOther() + { + this.download('/system/records/modelOther', { + + }, `records_${new Date().getTime()}.xlsx`) + }, + /** 瀵煎叆鎿嶄綔*/ + async handleImportData({file}){ + // 妫�鏌ユ枃浠剁被鍨嬫槸鍚︿负xlsx + // if (!params.file.name.endsWith('.xlsx')) { + // this.$message.error('璇蜂笂浼�.xlsx鏍煎紡鐨勬枃浠�'); + // return; + // } + const formData = new FormData(); + formData.append('excelImport', file); + // formData.append('recordId', this.recordId) + // alert(this.recordId) + console.log(file) + + // 鏄剧ず鍔犺浇涓姸鎬� + const loading = this.$loading({ + lock: true, + text: '涓婁紶涓�...', + spinner: 'el-icon-loading', + background: 'rgba(0, 0, 0, 0.7)' + }); + + enload(formData, { + headers: { + 'Content-Type': 'multipart/form-data' } + }).then(response => { + loading.close(); + this.$message.success('瀵煎叆鎴愬姛'); + this.getList(); + }).catch(error => { + loading.close(); + this.$message.error('瀵煎叆澶辫触: ' + (error.message || '鏈煡閿欒')); + }); + + } + + + } } </script> + +<style scoped> +/* 鍔犲琛ㄦ牸搴曢儴婊氬姩鏉� */ +::v-deep .el-table__body-wrapper::-webkit-scrollbar { + height: 20px; /* 妯悜婊氬姩鏉¢珮搴� */ +} + +/* 婊氬姩鏉¤建閬� */ +::v-deep .el-table__body-wrapper::-webkit-scrollbar-track { + background: #f1f1f1; + border-radius: 10px; +} + +/* 婊氬姩鏉℃粦鍧� */ +::v-deep .el-table__body-wrapper::-webkit-scrollbar-thumb { + background: #c1c1c1; + border-radius: 10px; +} + +/* 婊氬姩鏉℃粦鍧楁偓鍋滄晥鏋� */ +::v-deep .el-table__body-wrapper::-webkit-scrollbar-thumb:hover { + background: #2f91ec; +} +</style> -- Gitblit v1.9.1