移交申请详情

This commit is contained in:
cwchen 2025-09-19 10:52:03 +08:00
parent 086b2da5c3
commit b943040b03
5 changed files with 137 additions and 18 deletions

View File

@ -162,6 +162,7 @@ export const dynamicRoutes = [
}
]
},
/* 档案管理详情数据 */
{
path: '/archivesManagement/fileManager/file-data',
component: Layout,
@ -175,6 +176,21 @@ export const dynamicRoutes = [
meta: { title: '档案管理数据', activeMenu: '/archivesManagement/fileManager', noCache: true }
}
]
},
/* 档案移交申请详情 */
{
path: '/filesTransfer/apply/detail-data',
component: Layout,
hidden: true,
permissions: ['transfer:apply:query'],
children: [
{
path: 'index',
component: () => import('@/views/filesTransfer/apply/detail-data'),
name: 'DetailData',
meta: { title: '档案移交申请详情', activeMenu: '/filesTransfer/apply', noCache: true }
}
]
}
]

View File

@ -25,7 +25,7 @@
</div>
<span slot="footer" class="dialog-footer">
<el-button class="clear-btn" @click="handleClose">取消</el-button>
<el-button type="primary" class="search-btn" @click="submitForm('ruleForm')">确认</el-button>
<el-button type="primary" class="search-btn" @click="handleSave">确认</el-button>
</span>
</el-dialog>
@ -166,11 +166,11 @@ export default {
this.dialogVisible = true;
});
},
handleReuslt(res) {
this.$modal.msgSuccess(res.msg);
this.$emit('handleQuery');
//
handleSave(){
this.$emit('getTreeData', this.selectedNodeId);
this.handleClose();
},
}
}
};
</script>

View File

@ -0,0 +1,16 @@
<template>
<div>
</div>
</template>
<script>
import { decryptWithSM4 } from '@/utils/sm'
export default {
name: 'DetailData',
data() {
return {
id: decryptWithSM4(this.$route.query.id),
}
}
}
</script>

View File

@ -8,6 +8,10 @@
@click="handleAdd">
新增
</el-button>
<el-button plain size="mini" type="success" icon="el-icon-warning-outline" v-hasPermi="['transfer:apply:query']"
@click="handleDetail()">
详情
</el-button>
</template>
<template slot="auditStatus" slot-scope="{ data }">
<el-tag size="mini" :type="getStatusType(data.fileStatus)">
@ -24,6 +28,10 @@
@click="handleDelete(data)">
删除
</el-button>
<el-button plain size="mini" type="success" icon="el-icon-warning-outline" v-hasPermi="['transfer:apply:query']"
@click="handleDetail(data)">
详情
</el-button>
</template>
</TableModel>
<!-- 新增/编辑 -->
@ -40,6 +48,7 @@ import {
getTransferApplyListApi,
} from '@/api/filesTransfer/apply.js'
import ApplyForm from './prop/applyForm'
import { encryptWithSM4 } from '@/utils/sm'
export default {
@ -93,6 +102,15 @@ export default {
this.row = row;
this.isflag = true;
},
//
handleDetail(row) {
this.$router.push({
name: 'DetailData',
query: {
id: encryptWithSM4('1'),
}
})
},
/* 搜索操作 */
handleQuery() {
this.$refs.applyTableRef.getTableList()

View File

@ -10,8 +10,46 @@
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="选择移交档案">
<el-button plain type="primary" size="mini" icon="el-icon-plus" @click="handleAddFile">选择</el-button>
<el-form-item label="选择移交档案" prop="checkTreeData">
<div>
<el-button plain type="primary" size="mini" icon="el-icon-plus" @click="handleAddFile">选择</el-button>
<!-- 选中文件表格 -->
<div v-if="checkTreeData && checkTreeData.length > 0" style="margin-top: 10px;">
<el-table :data="checkTreeData" border size="mini" style="width: 100%">
<el-table-column prop="index" label="序号" width="60" align="center">
<template slot-scope="scope">
{{ scope.$index + 1 }}
</template>
</el-table-column>
<el-table-column prop="category" label="所属分类" min-width="200">
<template slot-scope="scope">
{{ scope.row.category || '' }}
</template>
</el-table-column>
<el-table-column prop="archiveVolume" label="所属案卷" min-width="100">
<template slot-scope="scope">
{{ scope.row.archiveVolume || '' }}
</template>
</el-table-column>
<el-table-column prop="fileName" label="文件名称" min-width="100">
<template slot-scope="scope">
{{ scope.row.fileName || '' }}
</template>
</el-table-column>
<el-table-column label="操作" width="80" align="center">
<template slot-scope="scope">
<el-button
type="text"
icon="el-icon-delete"
size="mini"
style="color: #f56c6c;"
@click="removeFile(scope.$index)">
</el-button>
</template>
</el-table-column>
</el-table>
</div>
</div>
</el-form-item>
<el-form-item label="接收组织" prop="deptId">
<treeselect
@ -33,7 +71,7 @@
@click="submitForm('ruleForm')">确认</el-button>
</span>
<FileTree v-if="isflag" :isAdd="isAdd" :rowData="fileTreeRow" :title="fileTreeTitle"
@closeDialog="closeDialog" :dataForm="fileTreeRow" :width="800" />
@closeDialog="closeDialog" @getTreeData="getTreeData" :dataForm="fileTreeRow" :width="600" />
</el-dialog>
</template>
<script>
@ -60,15 +98,27 @@ export default {
form: {
proId: undefined,
deptId: undefined,
remark: '',
},
treeDataList: [],
proList: [],
checkTreeData: [],
loading: null,
rules: {
proId: [
{ required: true, message: '请选择项目', trigger: 'change' }
],
checkTreeData: [
{
validator: (rule, value, callback) => {
if (!this.checkTreeData || this.checkTreeData.length === 0) {
callback(new Error('请选择移交档案'));
} else {
callback();
}
},
trigger: 'change'
}
],
deptId: [
{ required: true, message: '请选择接收组织', trigger: 'change' }
],
@ -85,8 +135,6 @@ export default {
/** 初始化表单数据 */
async initFormData() {
await getDeptSelectApi().then(res => {
console.log(res);
this.treeDataList = this.convertToVueTree(res.data);
});
await getProSelectApi().then(res => {
@ -95,7 +143,7 @@ export default {
if (this.isAdd === 'edit' && this.rowData) {
//
this.form = {
id: this.rowData.id,
id: this.rowData.id || null,
proId: this.rowData.proId || undefined,
deptId: this.rowData.deptId || undefined,
};
@ -143,9 +191,8 @@ export default {
reset() {
this.form = {
id: null,
pid: null,
dataTypeName: '',
remark: '',
proId: undefined,
deptId: undefined
};
this.resetForm("ruleForm");
},
@ -167,6 +214,7 @@ export default {
target: this.$el.querySelector('.el-dialog') || document.body
})
let params = _.cloneDeep(this.form);
params.checkTreeData = this.checkTreeData;
if (this.isAdd === 'add') {
saveTransferApplyApi(params).then(res => {
this.loading.close();
@ -180,7 +228,6 @@ export default {
// this.$modal.msgError('');
});
} else {
editTransferApplyApi(params).then(res => {
this.loading.close();
if (res.code === 200) {
@ -209,7 +256,6 @@ export default {
}
if (item.children && Array.isArray(item.children) && item.children.length > 0) {
// 33 children disable-branch-nodes 3
if (level < 3) {
const children = this.convertToVueTree(item.children, level + 1)
if (children.length > 0) node.children = children
@ -219,12 +265,35 @@ export default {
return node
})
},
//
getTreeData(nodeId){
//
const newFile = {
id: nodeId,
category: '分类' + (this.checkTreeData.length + 1),
archiveVolume: '案卷' + (this.checkTreeData.length + 1),
fileName: '文件' + (this.checkTreeData.length + 1) + '.pdf'
};
this.checkTreeData.push(newFile);
//
this.$nextTick(() => {
this.$refs.ruleForm.validateField('checkTreeData');
});
},
//
removeFile(index) {
this.checkTreeData.splice(index, 1);
//
this.$nextTick(() => {
this.$refs.ruleForm.validateField('checkTreeData');
});
}
}
};
</script>
<style lang="scss">
.w700 .el-dialog {
width: 700px;
width: 1100px;
}
.w500 .el-dialog {