From fc98e676332302c4b835f8fa4ed42d72e177801f Mon Sep 17 00:00:00 2001
From: fei <791364011@qq.com>
Date: 星期二, 14 十月 2025 16:57:02 +0800
Subject: [PATCH] 增加了对应的代码
---
src/views/archiveManager/index.vue | 221 +++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 198 insertions(+), 23 deletions(-)
diff --git a/src/views/archiveManager/index.vue b/src/views/archiveManager/index.vue
index a3f7aa2..3db1b54 100644
--- a/src/views/archiveManager/index.vue
+++ b/src/views/archiveManager/index.vue
@@ -230,6 +230,58 @@
v-hasPermi="['system:records:export']"
>瀵煎嚭</el-button>
</el-col>
+
+ <el-col v-if="userId!=1" :span="1.5">
+ <el-button
+ type="warning"
+ plain
+ icon="el-icon-download"
+ size="mini"
+ @click="handleBatchSubmit"
+ v-hasPermi="['system:records:export']"
+ >鎵归噺鎻愪氦</el-button>
+ </el-col>
+
+ <el-col v-if="userId==1" :span="1.5">
+ <el-button
+ type="warning"
+ plain
+ icon="el-icon-download"
+ size="mini"
+ @click="handleExportTemplate"
+ v-hasPermi="['system:materials:edit']"
+ >瀵煎叆妯℃澘涓嬭浇</el-button>
+ </el-col>
+ <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=""
+
+ class="upload-demo"
+ :show-file-list="false"
+ :http-request="handleImportData"
+ accept=".xlsx,.xls"
+
+ >
+ <el-button size="mini" type="primary"
+ plain
+ icon="el-icon-top">瀵煎叆</el-button>
+
+ </el-upload>
+ </el-col>
+
+
+
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@@ -262,7 +314,7 @@
<el-table-column label="澶囨敞" align="center" prop="remarks" />
<el-table-column label="鍘嗗彶鐩稿叧鍙戞枃鍙�" align="center" prop="historicalReferenceNumber" />
- <el-table-column label="鐘舵��" align="center" prop="recordStatus">
+ <el-table-column label="鐘舵��" align="center" width="105" prop="recordStatus">
<template slot-scope="scope">
<el-button :type="scope.row.recordStatus === '鏈綍鍏�' ? 'danger' : 'success'" size="mini">
{{ scope.row.recordStatus }}
@@ -290,7 +342,7 @@
@click="handleCheck(scope.row)"
>鏌ョ湅</el-button>
<el-button
- v-if="userId!==1"
+ v-if="userId!==1&&scope.row.ownData&&scope.row.recordStatus!=='褰曞叆瀹屾垚'"
size="mini"
type="text"
@@ -355,7 +407,25 @@
/>
</el-select>
</el-col>
- <el-col :span="6">
+
+
+ <el-col :span="6">
+ <el-select
+
+ v-model="form.recordZone"
+ placeholder="閫夋嫨鍦板尯"
+ @change="handleRecordTypeChange"
+ disabled
+ >
+ <el-option
+ v-for="item in zoneTypeOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </el-col>
+ <el-col :span="4">
<el-input
v-model="form.recordYear"
placeholder="杈撳叆骞翠唤"
@@ -365,7 +435,7 @@
@input="generateRecordId"
/>
</el-col>
- <el-col :span="6">
+ <el-col :span="4">
<el-input
v-model="form.recordSeq"
placeholder="鑷姩鐢熸垚"
@@ -482,16 +552,19 @@
<el-col :span="4">
<el-input
v-model="form.recordYear"
+ @input="generateRecordId"
+
placeholder="杈撳叆骞翠唤"
- @input="generateRecordId"
:disabled="userId!=1"
/>
</el-col>
<el-col :span="4">
<el-input
v-model="form.recordSeq"
- placeholder="鑷姩鐢熸垚"
- disabled
+ :disabled="userId!=1"
+ @input="generateRecordId"
+
+ placeholder="杈撳叆妗f搴忓彿"
/>
</el-col>
</el-row>
@@ -623,10 +696,10 @@
</template>
<script>
-import { 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 { listName } from "@/api/system/projectName"
-import { listPlaceName } from "@/api/system/placeName"
+import { listAllProjectName } from "@/api/system/projectName"
+import { listPlaceName, listAllPlaceName } from "@/api/system/placeName"
export default {
name: "Records",
data() {
@@ -733,7 +806,7 @@
this.userId = this.$store.state.user.id;
// 鑾峰彇鐢ㄦ埛瑙掕壊
- this.getId()
+ // this.getId()
this.getRecordTypes()
this.getZoneOptions()
this.fetchProjectOptions()
@@ -794,9 +867,8 @@
async getZoneOptions()
{
try {
- const response = await listPlaceName()
- console.log(response)
- // alert(134)
+ const response = await listAllPlaceName()
+ console.log("1111111333333",response.data)
this.zoneTypeOptions = response.data.data.map(item => ({
value: item.nnumber,
label: item.name
@@ -807,8 +879,8 @@
},
async fetchProjectOptions() {
try {
- const response = await listName()
- console.log(response)
+ const response = await listAllProjectName()
+ console.log("1111111",response)
this.projectOptions = response.data.data.map(item => ({
value: item.name,
label: item.name
@@ -838,7 +910,7 @@
/** 鐢熸垚妗f鍙� */
generateRecordId() {
- if (this.form.recordType && this.form.recordZone && this.form.recordYear) {
+ if (this.form.recordType && this.form.recordZone && this.form.recordYear && this.form.recordSeq) {
// getNextRecordId({
// type: this.form.recordType,
@@ -914,7 +986,7 @@
/** 鏂板鎸夐挳鎿嶄綔 */
handleAdd() {
this.reset()
- this.form.recordSeq = this.maxId
+ // this.form.recordSeq = this.maxId
this.open = true
this.vis = false;
this.title = "娣诲姞妗f璁板綍"
@@ -934,9 +1006,10 @@
//
handleSubmit(row)
{
- alert(row.id)
+ // alert(row.id)
var id = row.id
- updateStatusById(id).then(response=>{
+ var status = '褰曞叆瀹屾垚'
+ updateStatusById(status, id).then(response=>{
this.$modal.msgSuccess("鎻愪氦鎴愬姛")
this.getList()
})
@@ -956,13 +1029,49 @@
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(recordParts.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璁板綍"
+ })
+ },
+ /** 鎵归噺鎻愪氦 */
+ handleBatchSubmit() {
+ // alert(this.ids)
+ if (this.ids.length === 0) {
+ this.$modal.msgWarning('璇烽�夋嫨瑕佹彁浜ょ殑妗f璁板綍')
+ return
+ }
+ const myValidIds = this.recordsList
+ .filter(item => item.ownData === true)
+ .map(item => item.id);
+ // 妫�鏌ラ�変腑鐨処D鏄惁鍏ㄩ儴灞炰簬鑷繁
+ const invalidIds = this.ids.filter(id => !myValidIds.includes(id));
+
+ if (invalidIds.length > 0) {
+ this.$message.error(`鍖呭惈鏃犳潈鎿嶄綔鐨処D: ${invalidIds.join(',')}`);
+ return false;
+ }
+ //濡傛灉id鍏ㄩ儴鏈夋晥鎵嶇户缁彁浜�
+ batchSubmitRecords( this.ids ).then(response => {
+ if (response.code === 0) {
+ this.$modal.msgSuccess('鎵归噺鎻愪氦鎴愬姛')
+ this.getList()
+ this.ids = []
+ } else {
+ this.$modal.msgError(response.msg || '鎵归噺鎻愪氦澶辫触')
+ }
})
},
/** 淇敼鎸夐挳鎿嶄綔 */
@@ -977,10 +1086,18 @@
if(this.recordTypeOptions.length > 0) {
const recordParts = response.data.recordId.split('-')
this.$set(this.form, 'recordType', recordParts[0])
+ if(recordParts.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璁板綍"
@@ -989,6 +1106,7 @@
/** 鎻愪氦鎸夐挳 */
submitForm() {
+ console.log(this.form)
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
@@ -999,11 +1117,16 @@
})
} else {
console.log(this.form)
+
addRecords(this.form).then(response => {
+ console.log(response)
+ if(response.code==0)
+ this.$modal.msgError(response.msg)
+ else{
this.$modal.msgSuccess("鏂板鎴愬姛")
this.open = false
this.getId()
- this.getList()
+ this.getList()}
})
@@ -1028,7 +1151,8 @@
/** 鍒嗛厤鐢ㄦ埛鎿嶄綔 */
handleAuthUser: function(row) {
const roleId = 2
- var archiveRecordsId = row.recordId
+ // row.i
+ var archiveRecordsId = row.id
// alert(roleId)
this.$router.push("/archiveManager/infoManagerAu/user/" + roleId+"/"+archiveRecordsId)
},
@@ -1047,7 +1171,58 @@
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>
--
Gitblit v1.9.1