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 | 691 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 631 insertions(+), 60 deletions(-)
diff --git a/src/views/archiveManager/index.vue b/src/views/archiveManager/index.vue
index cbd0c09..3db1b54 100644
--- a/src/views/archiveManager/index.vue
+++ b/src/views/archiveManager/index.vue
@@ -70,12 +70,21 @@
</el-select>
</el-form-item>
<el-form-item label="瀵嗙骇" prop="securityClassification">
- <el-input
+
+
+ <el-select
v-model="queryParams.securityClassification"
- placeholder="璇疯緭鍏ュ瘑绾�"
+ placeholder="璇烽�夋嫨瀵嗙骇"
clearable
- @keyup.enter.native="handleQuery"
- />
+ >
+ <el-option
+ v-for="item in securityLevelOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+
</el-form-item>
<el-form-item label="妗堝嵎椤垫暟" prop="pageCount">
<el-input
@@ -116,6 +125,21 @@
clearable
@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
@@ -206,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>
@@ -214,7 +290,9 @@
<!-- <el-table-column label="${comment}" align="center" prop="id" /> -->
<el-table-column label="妗f鍙�" align="center" prop="recordId" />
<el-table-column label="鍙戞枃鍙�" align="center" prop="inquiryNumber" />
- <el-table-column label="妗堝嵎棰樺悕" align="center" prop="caseTitle" />
+ <el-table-column label="椤圭洰鍚嶇О" align="center" prop="everyProjectName" />
+
+ <el-table-column label="妗堝嵎棰樺悕" align="center" prop="caseTitle" show-overflow-tooltip />
<el-table-column label="鍏紑灞炴��" align="center" prop="publicAttribute" />
<el-table-column label="缂栧埗鍗曚綅" align="center" prop="preparationUnit" />
<el-table-column label="缂栧埗鏃ユ湡" align="center" prop="preparationDate" width="180">
@@ -235,17 +313,45 @@
<el-table-column label="缂╁井鍙�" align="center" prop="microfilmNumber" />
<el-table-column label="澶囨敞" align="center" prop="remarks" />
<el-table-column label="鍘嗗彶鐩稿叧鍙戞枃鍙�" align="center" prop="historicalReferenceNumber" />
- <el-table-column label="鎿嶄綔" align="center" width="160" class-name="small-padding fixed-width">
+
+ <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 }}
+ </el-button>
+ </template>
+</el-table-column>
+
+
+ <el-table-column label="鎿嶄綔" align="center" width="190" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
+ v-if="scope.row.ownData"
+
size="mini"
type="text"
icon="el-icon-edit"
@click="handleInfo(scope.row)"
v-hasPermi="['system:records:edit']"
>妗堝嵎璇︾粏淇℃伅</el-button>
+
<el-button
- v-if="scope.row.ownData||scope.row.userId==1"
+ size="mini"
+ type="text"
+ icon="el-icon-edit"
+ @click="handleCheck(scope.row)"
+ >鏌ョ湅</el-button>
+ <el-button
+ v-if="userId!==1&&scope.row.ownData&&scope.row.recordStatus!=='褰曞叆瀹屾垚'"
+
+ size="mini"
+ type="text"
+ icon="el-icon-edit"
+ @click="handleSubmit(scope.row)"
+ v-hasPermi="['system:records:edit']"
+ >鎻愪氦妗堝嵎</el-button>
+ <el-button
+ v-if="scope.row.ownData||userId===1"
size="mini"
type="text"
@@ -260,7 +366,7 @@
@click="handleDelete(scope.row)"
v-hasPermi="['system:records:remove']"
>鍒犻櫎</el-button>
- <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)">
+ <el-dropdown size="mini" v-hasPermi="['system:records:remove']" @command="(command) => handleCommand(command, scope.row)">
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">鏇村</el-button>
<el-dropdown-menu slot="dropdown">
@@ -279,19 +385,145 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
-
- <!-- 娣诲姞鎴栦慨鏀规。妗堣褰曞璇濇 -->
- <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
+ <!-- 鏌ョ湅鏁版嵁鎸夐挳 -->
+ <el-dialog :title="title" :visible.sync="open_check" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="妗f鍙�" >
+
+
+<el-row :gutter="8">
+ <el-col :span="6">
+ <el-select
+ v-model="form.recordType"
+ placeholder="閫夋嫨妗f绫诲瀷"
+ disabled
+ @change="handleRecordTypeChange"
+ >
+ <el-option
+ v-for="item in recordTypeOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </el-col>
+
+
+ <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="杈撳叆骞翠唤"
+ disabled
+
+
+ @input="generateRecordId"
+ />
+ </el-col>
+ <el-col :span="4">
+ <el-input
+ v-model="form.recordSeq"
+ placeholder="鑷姩鐢熸垚"
+ disabled
+ />
+ </el-col>
+</el-row>
+ </el-form-item>
+ <el-form-item label="鍙戞枃鍙�" prop="inquiryNumber">
+ <el-input v-model="form.inquiryNumber" placeholder="璇疯緭鍏ュ彂鏂囧彿" disabled/>
+ </el-form-item>
+ <el-form-item label="寤鸿椤圭洰鍚嶇О" prop="projectName">
+ <el-input v-model="form.projectName" placeholder="璇疯緭鍏ュ缓璁鹃」鐩悕绉�" disabled/>
+ </el-form-item>
+ <div v-if="vis">
+ <el-form-item label="妗堝嵎棰樺悕" prop="caseTitle">
+ <el-input v-model="form.caseTitle" placeholder="璇疯緭鍏ユ鍗烽鍚�" disabled/>
+ </el-form-item>
+ <el-form-item label="鍏紑灞炴��" prop="publicAttribute">
+ <el-input v-model="form.publicAttribute" placeholder="璇疯緭鍏ュ叕寮�灞炴��" disabled />
+ </el-form-item>
+ <el-form-item label="缂栧埗鍗曚綅" prop="preparationUnit">
+ <el-input v-model="form.preparationUnit" placeholder="璇疯緭鍏ョ紪鍒跺崟浣�" disabled/>
+ </el-form-item>
+ <el-form-item label="缂栧埗鏃ユ湡" prop="preparationDate">
+ <el-date-picker clearable
+ v-model="form.preparationDate"
+ type="date"
+ disabled
+
+ value-format="yyyy-MM-dd"
+ placeholder="璇烽�夋嫨缂栧埗鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="淇濈鏈熼檺" prop="retentionPeriod">
+ <el-input v-model="form.retentionPeriod" placeholder="璇疯緭鍏ヤ繚绠℃湡闄�" disabled/>
+ </el-form-item>
+ <el-form-item label="瀵嗙骇" prop="securityClassification">
+ <el-input v-model="form.securityClassification" placeholder="璇疯緭鍏ュ瘑绾�" disabled/>
+ </el-form-item>
+ <el-form-item label="妗堝嵎椤垫暟" prop="pageCount">
+ <el-input v-model="form.pageCount" placeholder="璇疯緭鍏ユ鍗烽〉鏁�" disabled/>
+ </el-form-item>
+ <el-form-item label="绔嬫鍙�" prop="filingNumber">
+ <el-input v-model="form.filingNumber" placeholder="璇疯緭鍏ョ珛妗堝彿" disabled/>
+ </el-form-item>
+ <el-form-item label="寤鸿鍗曚綅" prop="constructionUnit">
+ <el-input v-model="form.constructionUnit" placeholder="璇疯緭鍏ュ缓璁惧崟浣�" disabled />
+ </el-form-item>
+ <el-form-item label="寤鸿鍦板潃" prop="constructionAddress">
+ <el-input v-model="form.constructionAddress" placeholder="璇疯緭鍏ュ缓璁惧湴鍧�" disabled/>
+ </el-form-item>
+
+ <el-form-item label="椤圭洰缂栧彿" prop="projectNumber">
+ <el-input v-model="form.projectNumber" placeholder="璇疯緭鍏ラ」鐩紪鍙�" disabled/>
+ </el-form-item>
+ <el-form-item label="鎵弿鍔犲伐鍏徃" prop="scanningCompany">
+ <el-input v-model="form.scanningCompany" placeholder="璇疯緭鍏ユ壂鎻忓姞宸ュ叕鍙�" disabled/>
+ </el-form-item>
+ <el-form-item label="妗f绠�(瀹�)鍙�" prop="archiveRoomNumber">
+ <el-input v-model="form.archiveRoomNumber" placeholder="璇疯緭鍏ユ。妗堢(瀹�)鍙�" disabled/>
+ </el-form-item>
+ <el-form-item label="缂╁井鍙�" prop="microfilmNumber">
+ <el-input v-model="form.microfilmNumber" placeholder="璇疯緭鍏ョ缉寰彿" disabled/>
+ </el-form-item>
+ <el-form-item label="澶囨敞" prop="remarks">
+ <el-input v-model="form.remarks" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" disabled/>
+ </el-form-item>
+ <el-form-item label="鍘嗗彶鐩稿叧鍙戞枃鍙�" prop="historicalReferenceNumber">
+ <el-input v-model="form.historicalReferenceNumber" placeholder="璇疯緭鍏ュ巻鍙茬浉鍏冲彂鏂囧彿" disabled/>
+ </el-form-item>
+ </div>
+ </el-form>
+
+ </el-dialog>
+ <!-- 娣诲姞鎴栦慨鏀规。妗堣褰曞璇濇 -->
+ <el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
+ <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+ <el-form-item label="妗f鍙�" prop="recordId">
<el-row :gutter="8">
<el-col :span="6">
<el-select
+
v-model="form.recordType"
placeholder="閫夋嫨妗f绫诲瀷"
@change="handleRecordTypeChange"
- >
+ :disabled="userId!=1" >
<el-option
v-for="item in recordTypeOptions"
:key="item.value"
@@ -300,35 +532,86 @@
/>
</el-select>
</el-col>
- <el-col :span="6">
+
+
+ <el-col :span="6">
+ <el-select
+
+ v-model="form.recordZone"
+ placeholder="閫夋嫨鍦板尯"
+ @change="handleRecordTypeChange"
+ :disabled="userId!=1" >
+ <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"
+ @input="generateRecordId"
+
placeholder="杈撳叆骞翠唤"
- @input="generateRecordId"
+:disabled="userId!=1"
/>
</el-col>
- <el-col :span="6">
+ <el-col :span="4">
<el-input
v-model="form.recordSeq"
- placeholder="鑷姩鐢熸垚"
- disabled
+ :disabled="userId!=1"
+ @input="generateRecordId"
+
+ placeholder="杈撳叆妗f搴忓彿"
/>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="鍙戞枃鍙�" prop="inquiryNumber">
- <el-input v-model="form.inquiryNumber" placeholder="璇疯緭鍏ュ彂闂彿" />
+ <el-input v-model="form.inquiryNumber" placeholder="璇疯緭鍏ュ彂鏂囧彿" :disabled="userId!=1"
+ />
</el-form-item>
- <el-form-item label="寤鸿椤圭洰鍚嶇О" prop="projectName">
- <el-input v-model="form.projectName" placeholder="璇疯緭鍏ュ缓璁鹃」鐩悕绉�" />
+ <el-form-item label="椤圭洰鍚嶇О" prop="everyProjectName">
+ <el-select
+ v-model="form.everyProjectName"
+ placeholder="璇烽�夋嫨椤圭洰鍚嶇О"
+
+ :disabled="userId!=1"
+ >
+ <el-option
+ v-for="item in projectOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
</el-form-item>
+
+
+
<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">
- <el-input v-model="form.publicAttribute" placeholder="璇疯緭鍏ュ叕寮�灞炴��" />
+
+
+ <el-select
+ v-model="form.publicAttribute"
+ placeholder="璇烽�夋嫨鍏紑灞炴��"
+ clearable
+ >
+ <el-option
+ v-for="item in publicAttributeOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
</el-form-item>
+
<el-form-item label="缂栧埗鍗曚綅" prop="preparationUnit">
<el-input v-model="form.preparationUnit" placeholder="璇疯緭鍏ョ紪鍒跺崟浣�" />
</el-form-item>
@@ -341,10 +624,32 @@
</el-date-picker>
</el-form-item>
<el-form-item label="淇濈鏈熼檺" prop="retentionPeriod">
- <el-input v-model="form.retentionPeriod" placeholder="璇疯緭鍏ヤ繚绠℃湡闄�" />
+ <el-select
+ v-model="form.retentionPeriod"
+ placeholder="璇烽�夋嫨淇濈鏈熼檺"
+ clearable
+ >
+ <el-option
+ v-for="item in retentionPeriodOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
</el-form-item>
<el-form-item label="瀵嗙骇" prop="securityClassification">
- <el-input v-model="form.securityClassification" placeholder="璇疯緭鍏ュ瘑绾�" />
+ <el-select
+ v-model="form.securityClassification"
+ placeholder="璇烽�夋嫨瀵嗙骇"
+ clearable
+ >
+ <el-option
+ v-for="item in securityLevelOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
</el-form-item>
<el-form-item label="妗堝嵎椤垫暟" prop="pageCount">
<el-input v-model="form.pageCount" placeholder="璇疯緭鍏ユ鍗烽〉鏁�" />
@@ -358,7 +663,10 @@
<el-form-item label="寤鸿鍦板潃" prop="constructionAddress">
<el-input v-model="form.constructionAddress" placeholder="璇疯緭鍏ュ缓璁惧湴鍧�" />
</el-form-item>
-
+ <el-form-item label="寤鸿椤圭洰鍚嶇О" prop="projectName">
+ <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="璇疯緭鍏ラ」鐩紪鍙�" />
</el-form-item>
@@ -388,18 +696,28 @@
</template>
<script>
-import { 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"
export default {
name: "Records",
data() {
return {
+ open_check: false,
+ securityLevelOptions: [
+ { value: '绉樺瘑', label: '绉樺瘑' },
+ { value: '鏅��', label: '鏅��' }
+ ],
maxId: 0,
- // 妗f绫诲瀷閫夐」
- recordTypeOptions: [],
- // 淇濈鏈熼檺閫夐」
- retentionPeriodOptions: [
+ // 椤圭洰鍚嶇О閫夐」
+ projectOptions: [],
+ // 妗f绫诲瀷閫夐」
+ recordTypeOptions: [],
+ //鍦板尯绫诲瀷
+ zoneTypeOptions: [],
+ // 淇濈鏈熼檺閫夐」
+ retentionPeriodOptions: [
{ value: "10骞�", label: "10骞�" },
{ value: "30骞�", label: "30骞�" },
{ value: "姘镐箙", label: "姘镐箙" }
@@ -411,7 +729,8 @@
{ value: "鍏嶄簣鍏紑", label: "鍏嶄簣鍏紑" }
],
amio: false,
- vis: false,
+ userId: null,
+ vis: true,
// 閬僵灞�
loading: true,
// 閫変腑鏁扮粍
@@ -436,6 +755,7 @@
pageSize: 10,
recordId: null,
inquiryNumber: null,
+ everyProjectName: null,
caseTitle: null,
publicAttribute: null,
preparationUnit: null,
@@ -464,46 +784,122 @@
{ 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" }
- ],
+ { required: true, message: "寤鸿椤圭洰鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
+ ]
}
}
},
created() {
- this.getList()
- this.getId()
+ this.userId = this.$store.state.user.id;
+
+// 鑾峰彇鐢ㄦ埛瑙掕壊
+ // this.getId()
this.getRecordTypes()
-
-
+ 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()
{
- var _this = this;
+ var _this = this;
getMaxId().then(response=>{
// alert(213)
console.log(response)
- _this.maxId = String(response.data).padStart(5, '0')
-
- _this.$set(_this.form, 'recordSeq', _this.maxId) //
-
+ _this.maxId = String(response.data).padStart(4, '0')
+
+ _this.$set(_this.form, 'recordSeq', _this.maxId) //
+
// 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("1111111333333",response.data)
+ this.zoneTypeOptions = response.data.data.map(item => ({
+ value: item.nnumber,
+ label: item.name
+ }))
+ } catch (error) {
+ console.error('鑾峰彇椤圭洰鍚嶇О鍒楄〃澶辫触:', error)
+ }
+ },
+ async fetchProjectOptions() {
+ try {
+ const response = await listAllProjectName()
+ console.log("1111111",response)
+ this.projectOptions = response.data.data.map(item => ({
+ value: item.name,
+ label: item.name
+ }))
+ } catch (error) {
+ console.error('鑾峰彇椤圭洰鍚嶇О鍒楄〃澶辫触:', error)
+ }
+ },
/** 鑾峰彇妗f绫诲瀷鍒楄〃 */
getRecordTypes() {
- listAllCategory().then(response => {
- console.log(response)
- console.log("----=============--------------")
- this.recordTypeOptions = response.data.map(item => ({
- value: item.numb,
- label: item.nname
- }))
- })
+ return new Promise((resolve) => {
+ listAllCategory().then(response => {
+ this.recordTypeOptions = response.data.map(item => ({
+ value: item.numb,
+ label: item.nname
+ }))
+ resolve()
+ })
+ })
},
/** 妗f绫诲瀷鍙樻洿澶勭悊 */
@@ -513,14 +909,15 @@
/** 鐢熸垚妗f鍙� */
generateRecordId() {
-
- if (this.form.recordType && this.form.recordYear) {
+
+ if (this.form.recordType && this.form.recordZone && this.form.recordYear && this.form.recordSeq) {
+
// getNextRecordId({
// type: this.form.recordType,
// year: this.form.recordYear
// }).then(response => {
// this.form.recordSeq = response.data.seq
- this.form.recordId = `${this.form.recordType}-${this.form.recordYear}-${this.form.recordSeq}`
+ this.form.recordId = `${this.form.recordType}-${this.form.recordZone}-${this.form.recordYear}-${this.form.recordSeq}`
// })
}
},
@@ -548,6 +945,7 @@
id: null,
recordId: null,
inquiryNumber: null,
+ everyProjectName: null,
caseTitle: null,
publicAttribute: null,
preparationUnit: null,
@@ -588,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璁板綍"
@@ -599,28 +997,116 @@
var mid = row.id
const roleId = 2
- alert(mid)
+ // alert(mid)
var recordId = mid
// this.$router.push("/archiveManager/infoManagerAu/user/" + roleId+"/"+recordId)
this.$router.push("/archiveManager/infoManagerAu/archiveMaterialManager/" + recordId)
},
+ //
+ handleSubmit(row)
+ {
+ // alert(row.id)
+ var id = row.id
+ var status = '褰曞叆瀹屾垚'
+ updateStatusById(status, id).then(response=>{
+ this.$modal.msgSuccess("鎻愪氦鎴愬姛")
+ this.getList()
+ })
+ },
/** 淇敼鎸夐挳鎿嶄綔 */
handleUpdate(row) {
this.reset()
- this.vis = true;
+ if(this.userId===1)
+ this.vis = false;
const id = row.id || this.ids
getRecords(id).then(response => {
console.log(response)
console.log("----=============--------------")
this.form = response.data
+ // 纭繚recordTypeOptions宸插姞杞�
+ 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 = 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 || '鎵归噺鎻愪氦澶辫触')
+ }
+ })
+ },
+ /** 淇敼鎸夐挳鎿嶄綔 */
+ handleCheck(row) {
+
+this.vis = true;
+const id = row.id || this.ids
+getRecords(id).then(response => {
+ console.log(response)
+ console.log("----=============--------------")
+ this.form = response.data
+ 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璁板綍"
+})
+},
+
/** 鎻愪氦鎸夐挳 */
submitForm() {
+ console.log(this.form)
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
@@ -630,10 +1116,19 @@
this.getList()
})
} 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.getList()
+ this.getId()
+ this.getList()}
+
+
})
}
}
@@ -656,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)
},
@@ -675,7 +1171,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