公章管理

This commit is contained in:
fz
2023-11-17 17:53:03 +08:00
parent efde41565e
commit 293c5e76d0
6 changed files with 247 additions and 43 deletions
+24
View File
@@ -41,3 +41,27 @@ export function sealList(data) {
params: data params: data
}) })
} }
// 启用或者禁用公章
export function updateSealLockStatus(data) {
return request({
url: '/deptIdentify/updateSealLockStatus',
method: 'post',
data: data
})
}
// 删除未认证的数据
export function deleteSeal(data) {
return request({
url: '/deptIdentify/delete',
method: 'delete',
params: data
})
}
// 修改机构信息
export function sealUpdate(data) {
return request({
url: '/deptIdentify/update',
method: 'put',
data: data
})
}
@@ -1,6 +1,7 @@
<template> <template>
<div> <div>
<el-dialog title="新增机构" :visible="operateVisable" @close="cancel" width="600px" center :distroy-on-close="true"> <el-dialog :title="title" :visible="operateVisable" v-if="operateVisable" @close="cancel" width="600px" center
:distroy-on-close="true">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="130px" class="demo-ruleForm"> <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="130px" class="demo-ruleForm">
<el-form-item label="机构名称" prop="identifyName"> <el-form-item label="机构名称" prop="identifyName">
<el-input v-model="ruleForm.identifyName"></el-input> <el-input v-model="ruleForm.identifyName"></el-input>
@@ -21,17 +22,17 @@
</template> </template>
<script> <script>
import { import {
insert insert,
} from "@/api/officialSeal/officialSeal.js"; } from "@/api/officialSeal/officialSeal.js";
export default { export default {
props: ["operateVisable",], props: ["operateVisable"],
data() { data() {
return { return {
title: "新增机构",
ruleForm: {}, ruleForm: {},
rules: { rules: {
identifyName: [ identifyName: [
{ required: true, message: '请输入机构名称', trigger: 'blur' }, { required: true, message: '请输入机构名称', trigger: 'blur' },
// { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
], ],
operName: [ operName: [
{ required: true, message: '请输入经办人姓名', trigger: 'blur' }, { required: true, message: '请输入经办人姓名', trigger: 'blur' },
@@ -55,13 +56,21 @@ export default {
}, },
methods: { methods: {
// 新增部门 // 新增部门
insertFn(data){ insertFn(data) {
insert(data).then(res=>{ insert(data).then(res => {
this.$modal.msgSuccess("新增成功!"); this.$modal.msgSuccess("新增成功!");
this.$emit("cancelFilingreview"); this.$emit("cancelFilingreview");
this.$emit('getList'); this.$emit('getList');
}) })
}, },
// // 编辑
// sealUpdateFn(data) {
// sealUpdate(data).then(res => {
// this.$modal.msgSuccess("修改成功!");
// this.$emit("cancelFilingreview");
// this.$emit('getList');
// })
// },
// 提交form表单 // 提交form表单
submitForm() { submitForm() {
this.$refs['ruleForm'].validate((valid) => { this.$refs['ruleForm'].validate((valid) => {
@@ -69,6 +78,7 @@ export default {
this.insertFn(this.ruleForm) this.insertFn(this.ruleForm)
} }
}); });
}, },
cancel() { cancel() {
this.$emit("cancelFilingreview"); this.$emit("cancelFilingreview");
@@ -0,0 +1,96 @@
<template>
<div>
<el-dialog :title="title" :visible="editVisable" v-if="editVisable" @close="cancel" width="600px" center
:distroy-on-close="true">
<el-form :model="editForm" :rules="rules" ref="editForm" label-width="130px" class="demo-editForm">
<el-form-item label="机构名称" prop="identifyName">
<el-input v-model="editForm.identifyName"></el-input>
</el-form-item>
<el-form-item label="经办人姓名" prop="operName">
<el-input v-model="editForm.operName"></el-input>
</el-form-item>
<el-form-item label="经办人手机号" prop="operPhone">
<el-input v-model="editForm.operPhone"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
<el-button type="primary" @click="submitForm" class="endbutton"><span>确认</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
sealUpdate
} from "@/api/officialSeal/officialSeal.js";
export default {
props: ["editVisable","editData"],
data() {
return {
title: "修改机构",
editForm: {},
rules: {
identifyName: [
{ required: true, message: '请输入机构名称', trigger: 'blur' },
],
operName: [
{ required: true, message: '请输入经办人姓名', trigger: 'blur' },
],
operPhone: [
{ required: true, message: '请输入手机号', trigger: 'blur' },
{ pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/, message: '请输入正确的手机号码', trigger: 'blur', },
],
}
};
},
watch: {
editVisable(val) {
if (val) {
this.editForm = this.editData;
}
}
},
created() {
},
methods: {
// 编辑
sealUpdateFn(data) {
sealUpdate(data).then(res => {
this.$modal.msgSuccess("修改成功!");
this.$emit("cancelEdit");
this.$emit('getList');
})
},
// 提交form表单
submitForm() {
this.$refs['editForm'].validate((valid) => {
if (valid) {
this.sealUpdateFn({
identifyName:this.editForm.identifyName,
operName:this.editForm.operName,
operPhone:this.editForm.operPhone,
id:this.editForm.id,
})
}
});
},
cancel() {
this.$emit("cancelEdit");
},
},
};
</script>
<style lang="scss" scoped>
.steps {
display: flex;
flex-wrap: wrap;
}
.radiobox {
margin-top: 30px;
}
</style>
@@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<el-dialog title="公章列表" :visible="sealVisable" @close="cancel" width="800px" center :distroy-on-close="true"> <el-dialog title="公章列表" :visible="sealVisable" @close="cancel" width="800px" center :distroy-on-close="true">
<el-table :data="dataList" style="width: 100%"> <el-table v-loading="loading" :data="dataList" style="width: 100%">
<el-table-column label="序号" type="index" align="center"> <el-table-column label="序号" type="index" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ <span>{{
@@ -13,39 +13,44 @@
:show-overflow-tooltip="true"></el-table-column> :show-overflow-tooltip="true"></el-table-column>
<el-table-column label="印章图片" align="center" prop="annexPath"> <el-table-column label="印章图片" align="center" prop="annexPath">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- <el-image style="width: 40px; height: 40px;" <el-image style="width: 40px; height: 40px;" :src="imgUrl + scope.row.annexPath"
:src="imgUrl + scope.row.annexPath"
:preview-src-list="srcList"> :preview-src-list="srcList">
</el-image> --> </el-image>
<span>{{ imgUrl + scope.row.annexPath }}</span> <!-- <span>{{ imgUrl + scope.row.annexPath }}</span> -->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="是否启用" align="center" prop="sealStatus"> <el-table-column label="是否启用" align="center" prop="sealStatus">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag type="success" v-if="scope.row.isUse == 1">已启用</el-tag> <el-tag type="success" v-if="scope.row.isUse == 1">已启用</el-tag>
<el-tag type="info" v-if="scope.row.isUse == 0">未启用</el-tag> <el-tag type="info"
v-if="(scope.row.isUse == 0 || scope.row.isUse == null) && scope.row.sealStatus !== 0">未启用</el-tag>
<el-tag type="danger" v-if="scope.row.sealStatus == 0">审核中</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" @click="DeptIndefiUrl(scope.row)" type="text" icon="el-icon-thumb" <el-button size="mini" @click="isUseChange(scope.row.id, 1)" type="text" icon="el-icon-thumb"
v-if="scope.row.isUse == 0">启用</el-button> v-if="(scope.row.isUse == 0 || scope.row.isUse == null) && scope.row.sealStatus !== 0">启用</el-button>
<el-button size="mini" @click="DeptIndefiUrl(scope.row)" type="text" icon="el-icon-thumb" <el-button size="mini" @click="isUseChange(scope.row.id, 0)" type="text" icon="el-icon-thumb"
v-if="scope.row.isUse == 1">禁用</el-button> v-if="scope.row.isUse == 1">禁用</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="sealListFn(queryParams)" />
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { import {
sealList sealList,
updateSealLockStatus
} from "@/api/officialSeal/officialSeal.js"; } from "@/api/officialSeal/officialSeal.js";
export default { export default {
props: ["sealVisable","sealData"], props: ["sealVisable", "sealData"],
data() { data() {
return { return {
loading: false,
srcList: ["https://img2.baidu.com/it/u=1814561676,2470063876&fm=253&fmt=auto&app=138&f=JPEG?w=750&h=500"], srcList: ["https://img2.baidu.com/it/u=1814561676,2470063876&fm=253&fmt=auto&app=138&f=JPEG?w=750&h=500"],
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
@@ -54,14 +59,15 @@ export default {
dataList: [ dataList: [
], ],
imgUrl:"" total: 0,
imgUrl: ""
}; };
}, },
watch: { watch: {
sealVisable(val) { sealVisable(val) {
if (val) { if (val) {
this.sealListFn({id:this.sealData.id}) this.queryParams.id = this.sealData.id;
// console.log(this.sealData,"LLLLLLLLLLLLLLLLL"); this.sealListFn(this.queryParams)
} }
} }
}, },
@@ -73,11 +79,33 @@ export default {
this.imgUrl = window.location.origin; this.imgUrl = window.location.origin;
}, },
// 查询列表数据 // 查询列表数据
sealListFn(data){ sealListFn(data) {
sealList(data).then(res=>{ this.loading = true;
sealList(data).then(res => {
this.dataList = res.rows; this.dataList = res.rows;
this.total = res.total;
this.loading = false;
}) })
}, },
// 更新公章状态
updateSealLockStatusFn(data) {
updateSealLockStatus(data).then(res => {
this.$message.success('更新状态成功');
this.sealListFn(this.queryParams);
})
},
// 启用或者禁用公章
isUseChange(id, type) {
let params = {
id: id,
isUse: type
}
this.$modal
.confirm("是否更改状态")
.then((res) => {
this.updateSealLockStatusFn(params);
})
},
cancel() { cancel() {
this.$emit("cancelSeal"); this.$emit("cancelSeal");
}, },
@@ -1,9 +1,15 @@
<template> <template>
<div> <div>
<el-dialog title="上传公章" :visible="uploadVisable" v-if="uploadVisable" @close="cancel" width="600px" center> <el-dialog title="上传公章" :visible="uploadVisable" v-if="uploadVisable" @close="cancel" width="600px" center>
<el-upload class="avatar-uploader" :before-upload="beforeUpload" :on-success="handleSuccess" ref="upload" :action="UploadUrl()" <el-form :model="ruleForm" label-position="left" :rules="rules" ref="ruleForm" label-width="90px"
:headers="headers" :data="filedata" :on-remove="handleRemove" :on-change="handleChange" class="demo-ruleForm">
:show-file-list="false" :file-list="fileList" :auto-upload="false"> <el-form-item label="印章名称" prop="sealName">
<el-input v-model="ruleForm.sealName"></el-input>
</el-form-item>
</el-form>
<el-upload class="avatar-uploader" :before-upload="beforeUpload" :on-success="handleSuccess" ref="upload"
:action="UploadUrl()" :headers="headers" :data="filedata" :on-remove="handleRemove"
:on-change="handleChange" :show-file-list="false" :file-list="fileList" :auto-upload="false">
<img v-if="imageUrl" :src="imageUrl" class="avatar"> <img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload> </el-upload>
@@ -29,7 +35,13 @@ export default {
id: this.uploadData.id id: this.uploadData.id
}, },
flagBtn: false, flagBtn: false,
imageUrl: "" imageUrl: "",
ruleForm: {},
rules: {
sealName: [
{ required: true, message: '请输入印章名称', trigger: 'blur' },
],
}
}; };
}, },
watch: { watch: {
@@ -43,10 +55,6 @@ export default {
}, },
methods: { methods: {
// 提交
submitForm() {
},
cancel() { cancel() {
this.$emit("cancelUpload"); this.$emit("cancelUpload");
}, },
@@ -57,8 +65,13 @@ export default {
return window.location.origin + "/API/deptIdentify/sealUpload"; return window.location.origin + "/API/deptIdentify/sealUpload";
}, },
submitUpload() { submitUpload() {
this.filedata.id = this.uploadData.id this.$refs['ruleForm'].validate((valid) => {
this.$refs.upload.submit(); if (valid) {
this.filedata.id = this.uploadData.id;
this.filedata.sealName = this.ruleForm.sealName;
this.$refs.upload.submit();
}
});
}, },
handleRemove(file, fileList) { handleRemove(file, fileList) {
console.log(file, fileList); console.log(file, fileList);
@@ -70,7 +83,7 @@ export default {
} }
return isImg return isImg
}, },
handleSuccess(){ handleSuccess() {
this.$message.success('上传成功') this.$message.success('上传成功')
} }
}, },
@@ -84,6 +97,7 @@ export default {
border: 1px dashed #d9d9d9; border: 1px dashed #d9d9d9;
border-radius: 6px; border-radius: 6px;
cursor: pointer; cursor: pointer;
margin-left: 90px;
} }
::v-deep .avatar-uploader .el-upload:hover { ::v-deep .avatar-uploader .el-upload:hover {
+38 -6
View File
@@ -28,8 +28,11 @@
v-if="scope.row.isUse == '未启用' && scope.row.identifyStatus == '已认证'">启用</el-button> v-if="scope.row.isUse == '未启用' && scope.row.identifyStatus == '已认证'">启用</el-button>
<el-button size="mini" @click="uploadSeal(scope.row)" type="text" <el-button size="mini" @click="uploadSeal(scope.row)" type="text"
v-if="scope.row.identifyStatus == '已认证'" icon="el-icon-upload2">上传公章</el-button> v-if="scope.row.identifyStatus == '已认证'" icon="el-icon-upload2">上传公章</el-button>
<el-button size="mini" @click="sealManage(scope.row)" type="text" <el-button size="mini" @click="sealManage(scope.row)" type="text"
v-if="scope.row.identifyStatus == '已认证'" icon="el-icon-upload2">公章管理</el-button> v-if="scope.row.identifyStatus == '已认证'" icon="el-icon-upload2">公章管理</el-button>
<el-button size="mini" @click="sealDelete(scope.row)" type="text" icon="el-icon-delete">删除</el-button>
<el-button size="mini" @click="eidtSeal(scope.row)" type="text"
v-if="scope.row.identifyStatus == '未认证'" icon="el-icon-edit">修改</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -41,6 +44,7 @@
</uploadSeal> </uploadSeal>
<sealManage :sealVisable="sealVisable" @cancelSeal="cancelSeal" :sealData="sealData"> <sealManage :sealVisable="sealVisable" @cancelSeal="cancelSeal" :sealData="sealData">
</sealManage> </sealManage>
<eidtInstitution :editVisable="editVisable" @cancelEdit="cancelEdit" @getList="getList" :editData="editData"></eidtInstitution>
</div> </div>
</template> </template>
@@ -49,17 +53,20 @@ import {
deptIdentifyList, deptIdentifyList,
enableDept, enableDept,
selectDeptIndefiUrl, selectDeptIndefiUrl,
deleteSeal
} from "@/api/officialSeal/officialSeal.js"; } from "@/api/officialSeal/officialSeal.js";
import addInstitution from "./components/addInstitution"; import addInstitution from "./components/addInstitution";
import uploadSeal from "./components/uploadSeal"; import uploadSeal from "./components/uploadSeal";
import sealManage from "./components/sealManage"; import sealManage from "./components/sealManage";
import eidtInstitution from "./components/eidtInstitution";
export default { export default {
name: "paymentList", name: "paymentList",
components: { components: {
addInstitution, addInstitution,
uploadSeal, uploadSeal,
sealManage sealManage,
eidtInstitution
}, },
data() { data() {
return { return {
@@ -78,21 +85,38 @@ export default {
dataList: [1], dataList: [1],
operateVisable: false,//新增弹窗 operateVisable: false,//新增弹窗
uploadVisable: false,//上传弹窗 uploadVisable: false,//上传弹窗
sealVisable:false,//公章列表弹窗 sealVisable: false,//公章列表弹窗
uploadData: {}, uploadData: {},
sealData:{} sealData: {},
editVisable:false,
editData:{}
}; };
}, },
created() { created() {
this.getList(this.queryParams) this.getList(this.queryParams)
}, },
methods: { methods: {
// 删除
sealDelete(row){
this.$modal
.confirm("是否更改状态")
.then((res) => {
this.deleteSealFn({id:row.id})
})
},
// 删除接口
deleteSealFn(data){
deleteSeal(data).then(res=>{
this.$modal.msgSuccess("删除成功!");
this.getList(this.queryParams);
})
},
// 公章管理 // 公章管理
sealManage(row){ sealManage(row) {
this.sealVisable = true; this.sealVisable = true;
this.sealData = row; this.sealData = row;
}, },
cancelSeal(){ cancelSeal() {
this.sealVisable = false; this.sealVisable = false;
}, },
// 上传公章 // 上传公章
@@ -110,6 +134,14 @@ export default {
addInstitution() { addInstitution() {
this.operateVisable = true; this.operateVisable = true;
}, },
// 编辑
eidtSeal(row){
this.editVisable = true;
this.editData = row;
},
cancelEdit(){
this.editVisable = false;
},
// 启用认证按钮 // 启用认证按钮
changeStatus(row) { changeStatus(row) {
this.$modal.confirm('是否进行启用?') this.$modal.confirm('是否进行启用?')