1.优化市场主体除名管理模块功能

This commit is contained in:
cc_caijp 2026-01-06 20:05:27 +08:00
parent b5f8ca3f04
commit 1102c9f543
7 changed files with 214 additions and 137 deletions

View File

@ -53,6 +53,15 @@ export function expelledObjectSave(data) {
})
}
// 分页查询除名决定管理
export function expelledAuditList(data) {
return request({
url: '/expelled/audit/list',
method: 'post',
data
})
}
// 新增、更新、删除除名决定管理
export function expelledAuditSave(data) {
return request({

View File

@ -5,26 +5,28 @@
<el-row :gutter="10">
<el-col :span="8">
<el-form-item label="业务号">
<!-- <el-date-picker
v-model="searchForm.paramMap.entity"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
size="mini"
/> -->
<el-input placeholder="请输入业务号" />
<el-input v-model="searchForm.paramMap.bizNo" placeholder="请输入业务号" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="市场主体名称">
<el-input v-model="searchForm.paramMap.entName" clearable type="text" class="search-input" placeholder="请输入市场主体名称" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="统一社会信用代码">
<el-input v-model="searchForm.paramMap.uscc" clearable type="text" class="search-input" placeholder="请输入统一社会信用代码" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="">
<el-button type="primary" @click="loadPage()">查询</el-button>
<el-button type="default" @click="resetForm('form')">重置</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<el-row>
<el-table
v-loading="loading"
@ -34,20 +36,22 @@
:row-class-name="tableRowClassName"
:header-cell-style="{background:'#8cc3fb',color:'#fff'}"
>
<el-table-column prop="index" label="序号" min-width="50" align="center" />
<el-table-column prop="bizNo" label="业务号" min-width="120" align="left" />
<el-table-column prop="truth" :show-overflow-tooltip="true" label="除名决定事实" min-width="100" align="left" />
<el-table-column prop="reason" :show-overflow-tooltip="true" label="除名决定的理由" min-width="180" align="left" />
<el-table-column prop="law" :show-overflow-tooltip="true" label="除名决定的依据" min-width="180" align="left" />
<el-table-column prop="result" :show-overflow-tooltip="true" label="除名决定的后果" min-width="80" align="left" />
<el-table-column prop="objectionOpinion" :show-overflow-tooltip="true" label="异议意见" min-width="80" align="left" />
<el-table-column prop="isRemove" :show-overflow-tooltip="true" label="除名状态" :formatter="formatterIsRemove" min-width="80" align="left" />
<el-table-column prop="removeOpinion" :show-overflow-tooltip="true" label="除名意见" min-width="80" align="left" />
<el-table-column :show-overflow-tooltip="true" label="操作" align="left">
<template #default="scope">
<el-button type="text" size="mini" @click="openDialog(scope.row)">查看详情</el-button>
</template>
</el-table-column>
<el-table-column prop="index" label="序号" min-width="10%" align="center" />
<el-table-column prop="bizNo" label="业务号" min-width="15%" align="left" />
<el-table-column prop="truth" :show-overflow-tooltip="true" label="除名决定的事实" min-width="20%" align="left" />
<el-table-column prop="reason" :show-overflow-tooltip="true" label="除名决定的理由" min-width="20%" align="left" />
<el-table-column prop="law" :show-overflow-tooltip="true" label="除名决定的依据" min-width="20%" align="left" />
<el-table-column prop="result" :show-overflow-tooltip="true" label="除名决定的后果" min-width="20%" align="left" />
<el-table-column prop="entName" label="市场主体名称" min-width="20%" align="left" />
<el-table-column prop="uscc" label="统一社会信用代码" min-width="20%" align="left" />
<el-table-column prop="lerepName" label="法定代表人(负责人、经营者)" min-width="10%" align="left" />
<el-table-column prop="isObjection" label="是否有异议" :formatter="formatterIsObjection" min-width="10%" align="left" />
<el-table-column prop="isRemove" label="除名状态" :formatter="formatterIsRemove" min-width="10%" align="left" />
<!-- <el-table-column align="center" label="操作" min-width="10%">-->
<!-- <template #default="scope">-->
<!-- <el-button type="text" size="mini" @click="openDialog(scope.row)">查看详情</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
</el-row>
<el-row style="text-align:right;margin-top: 16px;">
@ -66,30 +70,27 @@
</span>
</el-pagination>
</el-row>
<DismissalObjectionAppeal ref="DismissalObjectionAppeal" @refreshList="loadPage" />
<!-- <DismissalObjectionAppeal ref="DismissalObjectionAppeal" @refreshList="loadPage" />-->
</div>
</template>
<script>
import DismissalObjectionAppeal from '@/views/expelled/announcement/components/除名公告详情.vue'
// import DismissalObjectionAppeal from '@/views/expelled/announcement/components/.vue'
import { expelledAnnouncementList } from '@/api/除名公告.js'
export default {
components: {
DismissalObjectionAppeal
},
// components: {
// DismissalObjectionAppeal
// },
data() {
return {
loading: false,
user: JSON.parse(sessionStorage.getItem('user')),
searchForm: {
paramMap: {
uniscid: undefined
bizNo: '',
entName: '',
uscc: ''
}
},
orgMarketList: [],
reasonList: [],
sliceOptions: [],
tableData: [],
pageParam: {
current: 1,
@ -98,7 +99,6 @@ export default {
}
}
},
computed: {},
mounted() {
this.loadPage()
},
@ -142,10 +142,16 @@ export default {
})
},
resetForm(formName) {
this.$refs[formName].resetFields()
this.searchForm.paramMap.bizNo = ''
this.searchForm.paramMap.entName = ''
this.searchForm.paramMap.uscc = ''
this.loadPage()
},
openDialog(row) {
this.$refs.DismissalObjectionAppeal.openDialog(row)
// openDialog(row) {
// this.$refs.DismissalObjectionAppeal.openDialog(row)
// },
formatterIsObjection(row) {
return row.isObjection === '0' ? '无异议' : (row.isObjection === '1' ? '有异议' : '')
},
formatterIsRemove(row) {
return row.isRemove === '0' ? '不同意除名' : (row.isRemove === '1' ? '同意除名' : '')

View File

@ -51,7 +51,6 @@ export default {
if (valid) {
const submitForm = {
...this.ruleForm,
bizType: '2',
id: this.id,
isRemove: this.title === '同意除名' ? '1' : '0'
}

View File

@ -8,6 +8,16 @@
<el-input v-model="searchForm.paramMap.bizNo" placeholder="请输入业务号" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="市场主体名称">
<el-input v-model="searchForm.paramMap.entName" clearable type="text" class="search-input" placeholder="请输入市场主体名称" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="统一社会信用代码">
<el-input v-model="searchForm.paramMap.uscc" clearable type="text" class="search-input" placeholder="请输入统一社会信用代码" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="">
<el-button type="primary" @click="loadPage()">查询</el-button>
@ -17,7 +27,6 @@
</el-row>
</el-form>
</div>
<el-row>
<el-table
v-loading="loading"
@ -27,16 +36,20 @@
:row-class-name="tableRowClassName"
:header-cell-style="{background:'#8cc3fb',color:'#fff'}"
>
<el-table-column prop="index" label="序号" min-width="50" align="center" />
<el-table-column prop="bizNo" label="业务号" min-width="120" align="left" />
<el-table-column prop="objectionOpinion" :show-overflow-tooltip="true" label="异议意见" min-width="100" align="left" />
<!-- <el-table-column prop="reason" :show-overflow-tooltip="true" label="除名决定的理由" min-width="180" align="left" />-->
<!-- <el-table-column prop="law" :show-overflow-tooltip="true" label="除名决定的依据" min-width="180" align="left" />-->
<!-- <el-table-column prop="result" :show-overflow-tooltip="true" label="除名决定的后果" min-width="80" align="left" />-->
<el-table-column width="200px" label="操作" align="left">
<el-table-column prop="index" label="序号" min-width="10%" align="center" />
<el-table-column prop="bizNo" label="业务号" min-width="15%" align="left" />
<el-table-column prop="truth" :show-overflow-tooltip="true" label="除名决定的事实" min-width="20%" align="left" />
<el-table-column prop="reason" :show-overflow-tooltip="true" label="除名决定的理由" min-width="20%" align="left" />
<el-table-column prop="law" :show-overflow-tooltip="true" label="除名决定的依据" min-width="20%" align="left" />
<el-table-column prop="result" :show-overflow-tooltip="true" label="除名决定的后果" min-width="20%" align="left" />
<el-table-column prop="entName" label="市场主体名称" min-width="20%" align="left" />
<el-table-column prop="uscc" label="统一社会信用代码" min-width="20%" align="left" />
<el-table-column prop="lerepName" label="法定代表人(负责人、经营者)" min-width="10%" align="left" />
<el-table-column align="center" label="操作" min-width="10%">
<template #default="scope">
<el-button type="text" size="mini" @click="openDialog(scope.row, '同意除名')">同意除名</el-button>
<el-button type="text" size="mini" @click="openDialog(scope.row, '不同意除名')">不同意除名</el-button>
<el-button type="text" size="mini" @click="applyAudit(scope.row)">决定除名</el-button>
<!-- <el-button type="text" size="mini" @click="openDialog(scope.row, '同意除名')">同意除名</el-button>-->
<!-- <el-button type="text" size="mini" @click="openDialog(scope.row, '不同意除名')">不同意除名</el-button>-->
</template>
</el-table-column>
</el-table>
@ -57,30 +70,27 @@
</span>
</el-pagination>
</el-row>
<DismissalObjectionAppeal ref="DismissalObjectionAppeal" @refreshList="loadPage" />
<!-- <DismissalObjectionAppeal ref="DismissalObjectionAppeal" @refreshList="loadPage" />-->
</div>
</template>
<script>
import DismissalObjectionAppeal from '@/views/expelled/audit/components/不除名除名填写.vue'
import { expelledObjectionList } from '@/api/除名公告.js'
// import DismissalObjectionAppeal from '@/views/expelled/audit/components/.vue'
import { expelledAuditList, expelledAuditSave } from '@/api/除名公告.js'
export default {
components: {
DismissalObjectionAppeal
},
// components: {
// DismissalObjectionAppeal
// },
data() {
return {
loading: false,
user: JSON.parse(sessionStorage.getItem('user')),
searchForm: {
paramMap: {
bizNo: undefined
bizNo: '',
entName: '',
uscc: ''
}
},
orgMarketList: [],
reasonList: [],
sliceOptions: [],
tableData: [],
pageParam: {
current: 1,
@ -89,7 +99,6 @@ export default {
}
}
},
computed: {},
mounted() {
this.loadPage()
},
@ -112,11 +121,10 @@ export default {
//
loadPage() {
this.loading = true
expelledObjectionList({
expelledAuditList({
current: this.pageParam.current,
size: this.pageParam.size,
entity: {
bizType: '2',
...this.searchForm.paramMap
}
}).then(res => {
@ -133,13 +141,42 @@ export default {
this.loading = false
})
},
resetForm(formName) {
resetForm() {
this.searchForm.paramMap.bizNo = ''
this.searchForm.paramMap.entName = ''
this.searchForm.paramMap.uscc = ''
this.loadPage()
},
openDialog(row, title) {
this.$refs.DismissalObjectionAppeal.openDialog({ ...row, title })
applyAudit(row) {
this.$confirm('是否确认决定将' + row.entName + '市场主体除名?', '提示', {
type: 'info',
customClass: 'type-1'
})
.then(() => {
this.loading = true
return expelledAuditSave({
...row
}).then(() => {
this.loading = false
this.$message.success('决定成功')
this.loadPage()
}).catch(error => {
this.loading = false
this.$message.error('决定失败: ' + (error.message || '未知错误'))
throw error
})
})
.catch(error => {
this.loading = false
//
if (error !== 'cancel') {
throw error
}
})
}
// openDialog(row, title) {
// this.$refs.DismissalObjectionAppeal.openDialog({ ...row, title })
// }
}
}
</script>

View File

@ -158,8 +158,7 @@ export default {
...formData,
entIds: this.expelledDatas.map((item) => {
return item.id
}),
bizType: '1'
})
})
.then(() => {
this.$message.success('保存成功')
@ -265,14 +264,14 @@ export default {
labelWidth: '0px'
}
},
{
type: 'divider',
label: '除名告知通知书管理',
showInTable: false,
showInForm: ({ meta }) => {
return meta.isForm === true
}
},
// {
// type: 'divider',
// label: '',
// showInTable: false,
// showInForm: ({ meta }) => {
// return meta.isForm === true
// }
// },
// {
// type: 'input',
// label: '',
@ -350,7 +349,6 @@ export default {
size: pageParam.size,
current: pageParam.current,
entity: {
bizType: '1',
...parseSearchFormData
}
}).then((data) => {
@ -368,7 +366,7 @@ export default {
},
confirmRemove(datas) {
this.expelledDatas = datas
console.log(this.expelledDatas)
this.removeEntBases = ''
for (let i = 0; i < datas.length; i++) {
if (i >= 10) {
break

View File

@ -58,7 +58,6 @@ export default {
entIds: this.entList.map((item) => {
return item.entId
}),
bizType: '2',
noticeBizId: this.noticeBizId
}
expelledObjectSave(submitForm).then(res => {

View File

@ -4,10 +4,20 @@
<el-form ref="form" :model="searchForm.paramMap" label-width="80px">
<el-row :gutter="10">
<el-col :span="8">
<el-form-item label="业务号" prop="bizNo">
<el-form-item label="业务号">
<el-input v-model="searchForm.paramMap.bizNo" clearable type="text" class="search-input" placeholder="请输入业务号" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="市场主体名称">
<el-input v-model="searchForm.paramMap.entName" clearable type="text" class="search-input" placeholder="请输入市场主体名称" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="统一社会信用代码">
<el-input v-model="searchForm.paramMap.uscc" clearable type="text" class="search-input" placeholder="请输入统一社会信用代码" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="">
<el-button type="primary" @click="loadPage()">查询</el-button>
@ -17,9 +27,6 @@
</el-row>
</el-form>
</div>
<!-- <el-row style="margin-bottom: 16px">
<el-button size="size" type="primary" @click="$refs.EntList.openDiaolog()">除名异议申请</el-button>
</el-row> -->
<el-row>
<el-table
v-loading="loading"
@ -29,64 +36,63 @@
:row-class-name="tableRowClassName"
:header-cell-style="{background:'#8cc3fb',color:'#fff'}"
>
<el-table-column prop="index" label="序号" min-width="50" align="center" />
<el-table-column prop="bizNo" label="业务号" min-width="120" align="left" />
<el-table-column prop="truth" :show-overflow-tooltip="true" label="除名决定的事实" min-width="100" align="left" />
<el-table-column prop="reason" :show-overflow-tooltip="true" label="除名决定的理由" min-width="180" align="left" />
<el-table-column prop="law" :show-overflow-tooltip="true" label="除名决定的依据" min-width="180" align="left" />
<el-table-column prop="result" :show-overflow-tooltip="true" label="除名决定的后果" min-width="80" align="left" />
<el-table-column align="center" label="操作">
<el-table-column prop="index" label="序号" min-width="10%" align="center" />
<el-table-column prop="bizNo" label="业务号" min-width="15%" align="left" />
<el-table-column prop="truth" :show-overflow-tooltip="true" label="除名决定的事实" min-width="20%" align="left" />
<el-table-column prop="reason" :show-overflow-tooltip="true" label="除名决定的理由" min-width="20%" align="left" />
<el-table-column prop="law" :show-overflow-tooltip="true" label="除名决定的依据" min-width="20%" align="left" />
<el-table-column prop="result" :show-overflow-tooltip="true" label="除名决定的后果" min-width="20%" align="left" />
<el-table-column prop="entName" label="市场主体名称" min-width="20%" align="left" />
<el-table-column prop="uscc" label="统一社会信用代码" min-width="20%" align="left" />
<el-table-column prop="lerepName" label="法定代表人(负责人、经营者)" min-width="10%" align="left" />
<el-table-column align="center" label="操作" min-width="10%">
<template slot-scope="scope">
<el-button size="size" type="text" @click="$refs.EntList.openDiaolog(scope.row.id)">除名异议申请</el-button>
<!-- <el-button size="size" type="text" @click="$refs.EntList.openDiaolog(scope.row.id)">除名异议申请</el-button>-->
<el-button size="size" type="text" @click="applyObjection(scope.row)">除名异议申请</el-button>
</template>
</el-table-column>
</el-table>
</el-row>
<el-row>
<el-col :offset="13">
<el-pagination
:disabled="loading"
:page-size="pageParam.size"
:total="pageParam.total"
:page-sizes="[10, 20, 30]"
layout="slot,total, sizes, prev, pager, next, jumper"
:current-page="pageParam.current"
@size-change="pageSizeChange"
@current-change="pageIndexChange"
>
<span>
{{ pageParam.current }} / {{ (pageParam.total !== 0 ? parseInt((pageParam.total + pageParam.size - 1) / pageParam.size) : 1) }}
</span>
</el-pagination>
</el-col>
<el-row style="text-align:right;margin-top: 16px">
<el-pagination
:disabled="loading"
:page-size="pageParam.size"
:total="pageParam.total"
:page-sizes="[10, 20, 30]"
layout="slot,total, sizes, prev, pager, next, jumper"
:current-page="pageParam.current"
@size-change="pageSizeChange"
@current-change="pageIndexChange"
>
<span>
{{ pageParam.current }} / {{ (pageParam.total !== 0 ? parseInt((pageParam.total + pageParam.size - 1) / pageParam.size) : 1) }}
</span>
</el-pagination>
</el-row>
<EntList ref="EntList" @comfirmSelectEnt="openFillDialog" />
<DismissalObjectionAppeal ref="DismissalObjectionAppeal" @refreshList="loadPage" />
<!-- <EntList ref="EntList" @comfirmSelectEnt="openFillDialog" />-->
<!-- <DismissalObjectionAppeal ref="DismissalObjectionAppeal" @refreshList="loadPage" />-->
</div>
</template>
<script>
import EntList from '@/views/expelled/objection/components/选择企业.vue'
import DismissalObjectionAppeal from '@/views/expelled/objection/components/除名异议申诉.vue'
import { expelledNoticeList } from '@/api/除名公告.js'
// import EntList from '@/views/expelled/objection/components/.vue'
// import DismissalObjectionAppeal from '@/views/expelled/objection/components/.vue'
import { expelledObjectionList, expelledObjectSave } from '@/api/除名公告.js'
export default {
components: {
EntList,
DismissalObjectionAppeal
},
// components: {
// EntList,
// DismissalObjectionAppeal
// },
data() {
return {
loading: false,
user: JSON.parse(sessionStorage.getItem('user')),
searchForm: {
paramMap: {
bizNo: undefined
bizNo: '',
entName: '',
uscc: ''
}
},
orgMarketList: [],
reasonList: [],
sliceOptions: [],
tableData: [],
pageParam: {
current: 1,
@ -95,7 +101,6 @@ export default {
}
}
},
computed: {},
mounted() {
this.loadPage()
},
@ -113,16 +118,15 @@ export default {
//
pageSizeChange(pageSize) {
this.pageParam.size = pageSize
this.loadvPage()
this.loadPage()
},
//
loadPage() {
this.loading = true
expelledNoticeList({
expelledObjectionList({
current: this.pageParam.current,
size: this.pageParam.size,
entity: {
bizType: '1',
...this.searchForm.paramMap
}
}).then(res => {
@ -140,18 +144,43 @@ export default {
this.loading = false
})
},
resetForm(formName) {
resetForm() {
this.searchForm.paramMap.bizNo = ''
this.searchForm.paramMap.entName = ''
this.searchForm.paramMap.uscc = ''
this.loadPage()
},
openFillDialog(row) {
console.log(row)
this.$refs.DismissalObjectionAppeal.openDialog(row)
},
handleSelectionChange(val) {
this.multipleSelection = val
console.log(val)
applyObjection(row) {
this.$confirm('是否确认' + row.entName + '市场主体拟除名异议申请?', '提示', {
type: 'info',
customClass: 'type-1'
})
.then(() => {
this.loading = true
return expelledObjectSave({
...row
}).then(() => {
this.loading = false
this.$message.success('申请成功')
this.loadPage()
}).catch(error => {
this.loading = false
this.$message.error('申请失败: ' + (error.message || '未知错误'))
throw error
})
})
.catch(error => {
this.loading = false
//
if (error !== 'cancel') {
throw error
}
})
}
// openFillDialog(row) {
// console.log(row)
// this.$refs.DismissalObjectionAppeal.openDialog(row)
// }
}
}
</script>