From 7706412d104e452b917ec132dcd9377680a83449 Mon Sep 17 00:00:00 2001
From: feige <791364011@qq.com>
Date: 星期五, 08 八月 2025 13:38:36 +0800
Subject: [PATCH] 添加了代码
---
src/views/archiveManager/archiveMaterial/index.vue | 11 +
src/views/archiveManager/arMAutoUser.vue | 28 +++-
src/api/system/archiverecordstouser.js | 16 ++
src/views/archiveManager/seleUser.vue | 31 +++--
src/views/archiveManager/index.vue | 266 +++++++++++++++++++++++++++++++++++++++-----
5 files changed, 300 insertions(+), 52 deletions(-)
diff --git a/src/api/system/archiverecordstouser.js b/src/api/system/archiverecordstouser.js
index 87f0296..f3d26fc 100644
--- a/src/api/system/archiverecordstouser.js
+++ b/src/api/system/archiverecordstouser.js
@@ -50,3 +50,19 @@
params: data
})
}
+// 鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆�
+export function delArchiverecordstouserByReIdAndUid(data) {
+ return request({
+ url: '/system/archiverecordstouser/deleteByRidUid',
+ method: 'delete',
+ params: data
+ })
+}
+//鍒ゆ柇鏄惁宸茬粡鎺堟潈
+export function getArchiverecordstouserByReIdAndUid(data) {
+ return request({
+ url: '/system/archiverecordstouser/getByRidUid',
+ method: 'get',
+ params: data
+ })
+}
diff --git a/src/views/archiveManager/arMAutoUser.vue b/src/views/archiveManager/arMAutoUser.vue
index c978b7f..207a63d 100644
--- a/src/views/archiveManager/arMAutoUser.vue
+++ b/src/views/archiveManager/arMAutoUser.vue
@@ -105,14 +105,15 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
- <select-user ref="select" :roleId="queryParams.roleId" :recordId="queryParams.recordId" @ok="handleQuery" />
+ <select-user ref="select" :roleId="queryParams.roleId" :recordId="queryParams.archiveRecordsId" @ok="handleQuery" />
</div>
</template>
<script>
import {UserRoleIdList, allocatedUserList, authUserCancel, authUserCancelAll } from "@/api/system/role"
import selectUser from "./seleUser"
-import {listArchiverecordstouser,addArchiverecordstouser} from "@/api/system/archiverecordstouser"
+ import { listMaterials, getMaterials, delMaterials, addMaterials, updateMaterials,getArchiverecordstouserByReIdAndUid } from "@/api/system/materials"
+import {listArchiverecordstouser,addArchiverecordstouser,delArchiverecordstouserByReIdAndUid} from "@/api/system/archiverecordstouser"
export default {
name: "AuthUser1",
dicts: ['sys_normal_disable'],
@@ -137,16 +138,17 @@
pageNum: 1,
pageSize: 10,
roleId: undefined,
- archiveRecordsId: undefined
- // userName: undefined,
- // phonenumber: undefined
+ archiveRecordsId: undefined,
+
+ // SysUser.userName: undefined,
+ // phonenumber: undefined
}
}
},
created() {
const roleId = this.$route.params && this.$route.params.roleId
const recordId = this.$route.params && this.$route.params.archiveRecordsId
- alert(recordId)
+
if (roleId&&recordId) {
this.queryParams.roleId = roleId
this.queryParams.archiveRecordsId = recordId
@@ -189,13 +191,19 @@
},
/** 鎵撳紑鎺堟潈鐢ㄦ埛琛ㄥ脊绐� */
openSelectUser() {
- this.$refs.select.show()
+ // alert(this.queryParams.roleId)
+ // alert(this.queryParams.archiveRecordsId )
+ this.$refs.select.show(this.queryParams.archiveRecordsId)
},
/** 鍙栨秷鎺堟潈鎸夐挳鎿嶄綔 */
cancelAuthUser(row) {
- const roleId = this.queryParams.roleId
- this.$modal.confirm('纭瑕佸彇娑堣鐢ㄦ埛"' + row.userName + '"瑙掕壊鍚楋紵').then(function() {
- return authUserCancel({ userId: row.userId, roleId: roleId })
+ const recordId = this.queryParams.archiveRecordsId
+ var userId = row.userId
+ // alert(userId)
+ // alert(this.queryParams.archiveRecordsId)
+ // alert(row.sysUser.userName)
+ this.$modal.confirm('纭瑕佸彇娑堣鐢ㄦ埛"' + row.sysUser.userName + '"鎺堟潈鍚楋紵').then(function() {
+ return delArchiverecordstouserByReIdAndUid({ recordId: recordId, userId: userId })
}).then(() => {
this.getList()
this.$modal.msgSuccess("鍙栨秷鎺堟潈鎴愬姛")
diff --git a/src/views/archiveManager/archiveMaterial/index.vue b/src/views/archiveManager/archiveMaterial/index.vue
index 35ccbc2..66b92f9 100644
--- a/src/views/archiveManager/archiveMaterial/index.vue
+++ b/src/views/archiveManager/archiveMaterial/index.vue
@@ -195,6 +195,17 @@
@click="handleExport"
v-hasPermi="['system:materials:export']"
>瀵煎嚭</el-button>
+ <el-col :span="1.5">
+ <el-button
+ type="success"
+ plain
+ icon="el-icon-edit"
+ size="mini"
+ :disabled="single"
+ @click="handleUpdate"
+ v-hasPermi="['system:materials:edit']"
+ >鍏ㄩ儴闄勪欢瀵煎叆</el-button>
+ </el-col>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
diff --git a/src/views/archiveManager/index.vue b/src/views/archiveManager/index.vue
index cbd0c09..940abd3 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
@@ -235,17 +244,29 @@
<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="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="scope.row.ownData||userId===1"
size="mini"
type="text"
@@ -260,7 +281,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 +300,127 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
+ <!-- 鏌ョ湅鏁版嵁鎸夐挳 -->
+ <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-input
+ v-model="form.recordYear"
+ placeholder="杈撳叆骞翠唤"
+ disabled
+
+
+ @input="generateRecordId"
+ />
+ </el-col>
+ <el-col :span="6">
+ <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="600px" append-to-body>
+ <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鍙�" >
<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"
@@ -305,6 +434,7 @@
v-model="form.recordYear"
placeholder="杈撳叆骞翠唤"
@input="generateRecordId"
+:disabled="userId!=1"
/>
</el-col>
<el-col :span="6">
@@ -317,18 +447,33 @@
</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-input v-model="form.projectName" placeholder="璇疯緭鍏ュ缓璁鹃」鐩悕绉�" :disabled="userId!=1"/>
</el-form-item>
<div v-if="vis">
<el-form-item label="妗堝嵎棰樺悕" prop="caseTitle">
<el-input v-model="form.caseTitle" placeholder="璇疯緭鍏ユ鍗烽鍚�" />
</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 +486,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="璇疯緭鍏ユ鍗烽〉鏁�" />
@@ -395,6 +562,11 @@
name: "Records",
data() {
return {
+ open_check: false,
+ securityLevelOptions: [
+ { value: '绉樺瘑', label: '绉樺瘑' },
+ { value: '鏅��', label: '鏅��' }
+ ],
maxId: 0,
// 妗f绫诲瀷閫夐」
recordTypeOptions: [],
@@ -411,7 +583,8 @@
{ value: "鍏嶄簣鍏紑", label: "鍏嶄簣鍏紑" }
],
amio: false,
- vis: false,
+ userId: null,
+ vis: true,
// 閬僵灞�
loading: true,
// 閫変腑鏁扮粍
@@ -474,7 +647,9 @@
},
created() {
this.getList()
+ this.userId = this.$store.state.user.id;
+// 鑾峰彇鐢ㄦ埛瑙掕壊
this.getId()
this.getRecordTypes()
@@ -483,27 +658,28 @@
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.$set(_this.form, 'recordSeq', _this.maxId) //
+
// alert(this.maxId)
})
},
/** 鑾峰彇妗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,7 +689,7 @@
/** 鐢熸垚妗f鍙� */
generateRecordId() {
-
+
if (this.form.recordType && this.form.recordYear) {
// getNextRecordId({
// type: this.form.recordType,
@@ -599,7 +775,7 @@
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)
@@ -609,16 +785,44 @@
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])
+ this.$set(this.form, 'recordYear', recordParts[1])
+ this.$set(this.form, 'recordSeq', recordParts[2])
+ }
this.open = true
this.title = "淇敼妗f璁板綍"
})
},
+ /** 淇敼鎸夐挳鎿嶄綔 */
+ 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])
+ this.$set(this.form, 'recordYear', recordParts[1])
+ this.$set(this.form, 'recordSeq', recordParts[2])
+ }
+ this.open_check = true
+ this.title = "鏌ョ湅妗f璁板綍"
+})
+},
+
/** 鎻愪氦鎸夐挳 */
submitForm() {
this.$refs["form"].validate(valid => {
@@ -634,6 +838,8 @@
this.$modal.msgSuccess("鏂板鎴愬姛")
this.open = false
this.getList()
+ this.getId()
+
})
}
}
diff --git a/src/views/archiveManager/seleUser.vue b/src/views/archiveManager/seleUser.vue
index 6249c65..ba874e2 100644
--- a/src/views/archiveManager/seleUser.vue
+++ b/src/views/archiveManager/seleUser.vue
@@ -57,7 +57,7 @@
</template>
<script>
- import {listArchiverecordstouser,addArchiverecordstouser,authRecordToUser} from "@/api/system/archiverecordstouser"
+ import {listArchiverecordstouser,addArchiverecordstouser,authRecordToUser,getArchiverecordstouserByReIdAndUid} from "@/api/system/archiverecordstouser"
import { UserRoleIdList,unallocatedUserList, authUserSelectAll } from "@/api/system/role"
export default {
@@ -67,7 +67,7 @@
roleId: {
type: [Number, String]
},
- recordId: {
+ archiveRecordsId: {
type: [Number, String]
}
},
@@ -86,7 +86,7 @@
pageNum: 1,
pageSize: 10,
roleId: undefined,
- recordId: undefined,
+ archiveRecordsId: undefined,
userName: undefined,
phonenumber: undefined
}
@@ -94,9 +94,13 @@
},
methods: {
// 鏄剧ず寮规
- show() {
+ show(archiveRecordsId) {
+ if (archiveRecordsId) {
+ this.archiveRecordsId = archiveRecordsId
+ }
this.queryParams.roleId = this.roleId
- this.queryParams.recordId = this.recordId
+ this.queryParams.archiveRecordsId = this.archiveRecordsId
+
this.getList()
this.visible = true
},
@@ -128,19 +132,22 @@
},
/** 閫夋嫨鎺堟潈鐢ㄦ埛鎿嶄綔 */
handleSelectUser() {
- const recordId = this.queryParams.recordId
+ const archiveRecordsId = this.queryParams.archiveRecordsId
const userIds = this.userIds.join(",")
- alert(recordId)
- alert(userIds)
+
if (userIds == "") {
this.$modal.msgError("璇烽�夋嫨瑕佸垎閰嶇殑鐢ㄦ埛")
return
}
- authRecordToUser({ recordId: recordId, userIds: userIds }).then(res => {
- this.$modal.msgSuccess(res.msg)
- this.visible = false
- this.$emit("ok")
+ authRecordToUser({ recordId: archiveRecordsId, userIds: userIds }).then(res => {
+ if(res.code === 200) {
+ this.$modal.msgSuccess(res.msg)
+ this.visible = false
+ this.$emit("ok")
+ } else {
+ this.$modal.msgError(res.msg || "鎺堟潈澶辫触锛屽凡缁忔巿鏉冭繃浜�")
+ }
})
}
}
--
Gitblit v1.9.1