This commit is contained in:
张冬俊 2025-12-22 10:33:24 +08:00
parent 5d87b43e52
commit 10fa8f628e
16 changed files with 867 additions and 584 deletions

View File

@ -11,7 +11,7 @@ module.exports = {
assetsPublicPath: '/',
proxyTable: {
'/api': {
target: 'http://localhost:8443/',
target: 'http://192.168.100.115:8443/',
changeOrigin: true,
pathRewrite: {
'^/api': ''
@ -27,7 +27,7 @@ module.exports = {
},
// Various Dev Server settings
host: '127.0.0.1', // can be overwritten by process.env.HOST
host: '0.0.0.0', // can be overwritten by process.env.HOST
port: 8090, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
autoOpenBrowser: false,
errorOverlay: true,
@ -37,7 +37,7 @@ module.exports = {
// Use Eslint Loader?
// If true, your code will be linted during bundling and
// linting errors and warnings will be shown in the console.
useEslint: true,
useEslint: false,
// If true, eslint errors and warnings will also be shown in the error overlay
// in the browser.
showEslintErrorsInOverlay: false,

View File

@ -0,0 +1,63 @@
import request from '@/utils/request'
/**
*
查询指标主管税务机关和科分局代码
* @param {*} data
*/
export function getZjzbSwjgVoList(data) {
return request({
url: 'crmZjzbdmVo/getZjzbSwjgVoList',
method: 'get',
data: data,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}
// 征收项目
export function getZjzbZsxmVoList(data) {
return request({
url: 'crmZjzbdmVo/getZjzbZsxmVoList',
method: 'get',
data: data,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}
// 应征凭证种类
export function getZjzbDzbzdszlVoList(data) {
return request({
url: 'crmZjzbdmVo/getZjzbDzbzdszlVoList',
method: 'get',
data: data,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}
// 全部自检指标
export function crmZjzbdmVoList(data) {
return request({
url: 'crmZjzbdmVo/list',
method: 'get',
data: data,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}
// 指标大类
export function getZjzbdlVoList(data) {
return request({
url: 'crmZjzbdmVo/getZjzbdlVoList',
method: 'get',
data: data,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}

View File

@ -0,0 +1,115 @@
import request from '@/utils/request'
/**
* 申报自检结果统计
* @param {*} data
*/
export function accountQuery(data) {
return request({
url: 'crmSbzjjg/accountQuery',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}
/**
* 申报自检结果统计明细
* @param {*} data
*/
export function accountQueryDetail(data) {
return request({
url: 'crmSbzjjg/accountQueryDetail',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}
/**
* 重点企业排名统计
* @param {*} data
*/
export function rankByEnterpriseRisk(data) {
return request({
url: 'crmSbzjjg/rankByEnterpriseRisk',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}
/**
* 重点企业排名统计明细
* @param {*} data
*/
export function rankByEnterpriseRiskDetail(data) {
return request({
url: 'crmSbzjjg/rankByEnterpriseRiskDetail',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}
/**
* 指标预警排名统计
* @param {*} data
*/
export function rankByPointerType(data) {
return request({
url: 'crmSbzjjg/rankByPointerType',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}
/**
* 指标预警排名统计明细
* @param {*} data
*/
export function rankByPointerTypeDetail(data) {
return request({
url: 'crmSbzjjg/rankByPointerTypeDetail',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}
// 导出
export function exportExcelForSbzjjg(data) {
return request({
url: 'crmSbzjjg/exportExcelForSbzjjg',
method: 'post',
responseType: 'blob',
data: data,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}
// 导入
export function uploadExcelForSbzjjg(data) {
return request({
url: 'crmSbzjjg/importExcelForSbzjjg',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}

View File

@ -274,6 +274,7 @@ export default {
* 获取请求
*/
requestDepList() {
console.log('获取请求',this.config.dataType)
if (this.config.dataType === 'manage') {
// id
this.$store.dispatch('debounceGetDeptList')

View File

@ -389,6 +389,7 @@ export default {
* 获取请求
*/
requestDepList() {
console.log('获取请求',this.config.dataType)
if (this.config.dataType === 'manage') {
this.$store.dispatch('debounceGetDeptList')
} else if (this.config.dataType === 'hrm') {

View File

@ -1,45 +1,44 @@
import {
hrmEmployeeQueryLoginEmployeeAPI,
hrmEmployeeAllListAPI
} from '@/api/hrm/employee'
import {
hrmDeptQueryTreeListAPI
} from '@/api/hrm/dept'
import { debounce } from 'throttle-debounce'
import { getZjzbSwjgVoList,getZjzbZsxmVoList,getZjzbDzbzdszlVoList,crmZjzbdmVoList,getZjzbdlVoList } from '@/api/compliance/conmm'
const hrm = {
state: {
hrmUserInfo: null, // 人资用户信息
hrmShowType: 1, // 1 管理 2 员工
hrmUserList: [], // 人力资源员工和部门
hrmDeptList: []
zjzbSwjg: [] || JSON.parse(localStorage.getItem('SET_SWFG')),
zsxmlist: [],
yzpzzlist: [],
jczblist: [],
zbdllist:[]
},
mutations: {
SET_HRMUSERINFO: (state, hrmUserInfo) => {
state.hrmUserInfo = hrmUserInfo
SET_ZSXMLIST: (state, data) => {
state.zsxmlist = data
},
SET_HRMSHOWTYPE: (state, hrmShowType) => {
state.hrmShowType = hrmShowType
SET_SWFG: (state, data) => {
state.zjzbSwjg = data
},
SET_HRMUSERLIST: (state, data) => {
state.hrmUserList = data
SET_YZPZZL: (state, data) => {
state.yzpzzlist = data
},
SET_HRMDEPTLIST: (state, data) => {
state.hrmDeptList = data
}
SET_JCZB: (state, data) => {
state.jczblist = data
},
SET_ZBDL: (state, data) => {
state.zbdllist = data
},
},
actions: {
// 获取人资用户信息
GetHrmUserInfo({
// 获取主管税局信息
GetSwgUserInfo({
commit
}) {
return new Promise((resolve, reject) => {
hrmEmployeeQueryLoginEmployeeAPI().then(res => {
getZjzbSwjgVoList().then(res => {
const resData = res.data || {}
commit('SET_HRMUSERINFO', resData)
localStorage.setItem('SET_SWFG', JSON.stringify(resData))
commit('SET_SWFG', resData)
resolve(res)
}).catch(error => {
reject(error)
@ -47,43 +46,61 @@ const hrm = {
})
},
debounceGetHrmUserList: debounce(3000, ({ dispatch }) => {
dispatch('GetHrmUserList')
}),
// 管理后台员工列表
GetHrmUserList({
// 征收项目列表
GetZsxmList({
commit
}) {
return new Promise((resolve, reject) => {
hrmEmployeeAllListAPI({
pageType: 0
}).then(res => {
commit('SET_HRMUSERLIST', res.data || [])
resolve()
getZjzbZsxmVoList().then(res => {
commit('SET_ZSXMLIST', res.data || [])
resolve(res)
}).catch(error => {
reject(error)
})
})
},
debounceGetHrmDeptList: debounce(3000, ({ dispatch }) => {
dispatch('GetHrmDeptList')
}),
// 管理后台部门列表
GetHrmDeptList({
// 应征凭证种类
GetYzpzzlList({
commit
}) {
return new Promise((resolve, reject) => {
hrmDeptQueryTreeListAPI({}).then(res => {
commit('SET_HRMDEPTLIST', res.data || [])
resolve()
getZjzbDzbzdszlVoList({}).then(res => {
commit('SET_YZPZZL', res.data || [])
resolve(res)
}).catch(error => {
reject(error)
})
})
}
},
// 全部指标
GetJczbList({
commit
}) {
return new Promise((resolve, reject) => {
crmZjzbdmVoList({}).then(res => {
commit('SET_JCZB', res.data || [])
resolve(res)
}).catch(error => {
reject(error)
})
})
},
// 全部指标大类
GetZbdlList({
commit
}) {
return new Promise((resolve, reject) => {
getZjzbdlVoList({}).then(res => {
commit('SET_ZBDL', res.data || [])
resolve(res)
}).catch(error => {
reject(error)
})
})
},
}
}

View File

@ -38,7 +38,7 @@ const user = {
oa: {}, // 办公
project: {}, // 项目管理
hrm: {}, // 人力资源
compliance: {} // 合规管理
compliance: 'compliance'// 合规管理
},
mutations: {
@ -111,7 +111,6 @@ const user = {
return new Promise((resolve, reject) => {
adminIndexAuthListAPI().then((response) => {
let data = response.data
data.compliance='compliance'
Lockr.set('authList', data)
data.wkFirstModel = data.firstModel
commit('SET_ALLAUTH', data)

View File

@ -83,6 +83,7 @@ service.interceptors.request.use(
// response 拦截器
service.interceptors.response.use(
response => {
console.log('测试',response.headers['content-disposition'])
/**
* code为非20000是抛错 可结合自己业务进行修改
*/

View File

@ -6,17 +6,18 @@
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="主管税务机关" >
<el-select v-model="searchForm.zgswjg" style="width: 100%;">
<el-option v-for="item in zgswjgList" :key="item.value" :label="item.label" :value="item.value"></el-option>
<el-select v-model="searchForm.zgswjg" filterable style="width: 100%;">
<el-option v-for="item in zgswjgList" :key="item.zjzbSwjgVo.swjgDm" :label="item.zjzbSwjgVo.swjgmc" :value="item.zjzbSwjgVo.swjgDm"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="税款所属期起">
<el-date-picker
v-model="searchForm.zjrqqDate"
v-model="searchForm.zjrqq"
type="date"
style="width: 100%;"
value-format="yyyy-MM-dd"
placeholder="税款所属期起">
</el-date-picker>
</el-form-item>
@ -24,32 +25,19 @@
<el-col :span="8">
<el-form-item label="税款所属期止">
<el-date-picker
v-model="searchForm.zjrqzDate"
v-model="searchForm.zjrqz"
type="date"
style="width: 100%;"
value-format="yyyy-MM-dd"
placeholder="税款所属期止">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" v-if="isExpanded">
<el-col :span="8">
<el-form-item label="网格员">
<el-input v-model="searchForm.wly"></el-input>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="排名类别" >
<el-select v-model="searchForm.tsyjfxzb" style="width: 100%;">
<el-option v-for="item in tsyjfxzbList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="expanded">
<el-button size="small">重置</el-button>
<el-button type="primary" size="small">统计</el-button>
<el-button size="small" @click="reset">重置</el-button>
<el-button type="primary" size="small" @click="changeSearch">查询</el-button>
<span class="text" @click="toggleExpand"> {{ isExpanded ? '收起' : '展开' }}<i :class="isExpanded ? 'el-icon-arrow-up':'el-icon-arrow-down' "></i></span>
</div>
</div>
@ -68,19 +56,27 @@
<el-table-column type="index" label="序号" width="50" align="center"></el-table-column>
<el-table-column prop="dwmc" label="单位名称" ></el-table-column>
<el-table-column prop="zgswjg" label="主管税务机关"></el-table-column>
<el-table-column prop="fxzbgs" label="风险指标个数" width="200" align="center">
<el-table-column prop="fxzbNum" label="风险指标个数" width="200" align="center">
<template slot-scope="scope">
<span class="blue-text" @click="handleClick(scope.row)">{{ scope.row.fxzbgs }}</span>
<span class="blue-text" @click="handleClick(scope.row)">{{ scope.row.fxzbNum }}</span>
</template>
</el-table-column>
</el-table>
<div class="page">
<el-pagination background layout="prev, pager, next" :total="1000"></el-pagination>
</div>
<div class="page">
<el-pagination
background
layout="prev, pager, next"
:page-size="page.limit"
@current-change="getData"
:total="page.totalRow"
:current-page.sync="page.page"
style="font-weight: normal;"></el-pagination>
</div>
</div>
</div>
</template>
<script>
import { rankByEnterpriseRisk } from '@/api/compliance/statistics'
export default {
data() {
return {
@ -88,42 +84,67 @@ export default {
isExpanded: false,
searchForm:{
zgswjg:'',
zjrqqDate:'',
zjrqzDate:'',
wly:'',
tsyjfxzb:''
zjrqq:'',
zjrqz:''
},
zgswjgList: [
{value: '国家税务总局宜南昌税务局', label: '国家税务总局宜南昌税务局'},
{value: '国家税务总局九江市税务局', label: '国家税务总局九江市税务局'},
{value: '国家税务总局宜春市税务局', label: '国家税务总局宜春市税务局'},
],
zgswjgList: [],
tsyjfxzbList:[
{value:'风险指标名称1', label:'风险指标名称1' },
{value:'风险指标名称2', label:'风险指标名称2' },
{value:'风险指标名称3', label:'风险指标名称3' },
],
tableData: [
{
dwmc:'某建筑公司1',
zgswjg:'国家税务总局宜南昌税务局',
fxzbgs:20
},
{
dwmc:'某建筑公司建筑公司建筑公司建筑公司建筑公司2',
zgswjg:'国家税务总局九江市税务局',
fxzbgs:15
}
]
tableData: [],
page: {
page: 1,
limit: 20,
totalRow:0
},
}
},
methods: {
created() {
this.initData()
},
methods: {
reset() {
this.searchForm = {}
this.searchForm.zgswjg = this.zgswjgList[0].zjzbSwjgVo.swjgDm
this.getData()
},
changeSearch() {
this.getData()
},
initData() {
this.$store.dispatch('GetSwgUserInfo').then(res => {
this.zgswjgList = res.data
this.searchForm.zgswjg = res.data[0].zjzbSwjgVo.swjgDm
this.getData()
})
},
getData() {
this.loading = true
let params = {
...this.searchForm,
...this.page
}
rankByEnterpriseRisk(params).then(res => {
this.tableData = res.data.list
this.page.totalRow=res.data.totalRow
this.loading = false
})
},
toggleExpand() {
this.isExpanded = !this.isExpanded;
},
handleClick(row){
this.$router.push({path:`/compliance/rankingDetails`, query:{}})
handleClick(row) {
let params = {
zgswjgMc: row.zgswjg,
zgswjg: this.searchForm.zgswjg,
zjrqq: this.searchForm.zjrqq,
zjrqz: this.searchForm.zjrqz,
dwmc:row.dwmc
}
this.$router.push({ path: `/compliance/rankingDetails`, query: params })
}
},
computed: {

View File

@ -6,15 +6,13 @@
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="主管税务机关" >
<el-select v-model="searchForm.zgswjg" style="width: 100%;">
<el-option v-for="item in zgswjgList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
<el-input v-model="searchForm.zgswjgMc" disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="税款所属期起">
<el-date-picker
v-model="searchForm.zjrqqDate"
v-model="searchForm.zjrqq"
type="date"
style="width: 100%;"
placeholder="税款所属期起">
@ -24,7 +22,7 @@
<el-col :span="8">
<el-form-item label="税款所属期止">
<el-date-picker
v-model="searchForm.zjrqzDate"
v-model="searchForm.zjrqz"
type="date"
style="width: 100%;"
placeholder="税款所属期止">
@ -35,21 +33,21 @@
<el-row :gutter="20" v-if="isExpanded">
<el-col :span="8">
<el-form-item label="网络员">
<el-input v-model="searchForm.wly"></el-input>
<el-input v-model="searchForm.wgy"></el-input>
</el-form-item>
</el-col>
<el-col :span="16">
<!-- <el-col :span="16">
<el-form-item label="同时预警风险指标" >
<el-select v-model="searchForm.tsyjfxzb" style="width: 100%;">
<el-option v-for="item in tsyjfxzbList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-col> -->
</el-row>
</el-form>
<div class="expanded">
<el-button size="small">重置</el-button>
<el-button type="primary" size="small">统计</el-button>
<el-button size="small" @click="reset">重置</el-button>
<el-button type="primary" size="small" @click="changeSearch">查询</el-button>
<span class="text" @click="toggleExpand"> {{ isExpanded ? '收起' : '展开' }}<i :class="isExpanded ? 'el-icon-arrow-up':'el-icon-arrow-down' "></i></span>
</div>
</div>
@ -64,24 +62,40 @@
row-key="id"
v-loading="loading"
:height="tableHeight"
:span-method="arraySpanMethod"
>
<el-table-column prop="dwmc" label="单位名称" ></el-table-column>
<el-table-column prop="zgswjg" label="主管税务机关"></el-table-column>
<el-table-column prop="fxzbmc" label="征收项目" ></el-table-column>
<el-table-column prop="fxzbmc" label="风险指标名称" ></el-table-column>
<el-table-column prop="dwmc" label="单位名称" width="230"></el-table-column>
<el-table-column prop="zjswjg" label="主管税务机关" width="230"></el-table-column>
<!-- <el-table-column prop="fxzbmc" label="征收项目" ></el-table-column> -->
<el-table-column prop="fxzbmc" label="风险指标名称" >
<template slot-scope="scope">
<el-tag style="margin: 0 10px 10px 0;" v-for="(item,index) in scope.row.fxzbList" :key="index">{{ item }}</el-tag>
</template>
</el-table-column>
</el-table>
<div class="page">
<el-pagination background layout="prev, pager, next" :total="1000"></el-pagination>
</div>
<div class="page">
<el-pagination
background
layout="prev, pager, next"
:page-size="page.limit"
@current-change="getData"
:total="page.totalRow"
:current-page.sync="page.page"
style="font-weight: normal;"></el-pagination>
</div>
</div>
</div>
</template>
<script>
import { rankByEnterpriseRiskDetail } from '@/api/compliance/statistics'
export default {
data() {
return {
page: {
page: 1,
limit: 20,
totalRow:0
},
loading: false,
isExpanded: false,
searchForm:{
@ -91,42 +105,41 @@ export default {
wly:'',
tsyjfxzb:''
},
zgswjgList: [
{value: '国家税务总局宜南昌税务局', label: '国家税务总局宜南昌税务局'},
{value: '国家税务总局九江市税务局', label: '国家税务总局九江市税务局'},
{value: '国家税务总局宜春市税务局', label: '国家税务总局宜春市税务局'},
],
tsyjfxzbList:[
{value:'风险指标名称1', label:'风险指标名称1' },
{value:'风险指标名称2', label:'风险指标名称2' },
{value:'风险指标名称3', label:'风险指标名称3' },
],
tableData: [
{
dwmc:'某建筑公司1',
zgswjg:'国家税务总局宜南昌税务局',
fxzbmc:'指标名称1'
},
{
dwmc:'某建筑公司1',
zgswjg:'国家税务总局宜南昌税务局',
fxzbmc:'指标名称2'
},
{
dwmc:'某建筑公司1',
zgswjg:'国家税务总局宜南昌税务局',
fxzbmc:'指标名称3'
},
{
dwmc:'某建筑公司1',
zgswjg:'国家税务总局宜南昌税务局',
fxzbmc:'指标名称4'
},
]
tableData: [ ]
}
},
methods: {
created() {
this.searchForm=this.$route.query
this.getData()
},
methods: {
reset() {
this.searchForm = this.$route.query
this.getData()
},
changeSearch() {
this.getData()
},
getData(e) {
this.loading=true
let params = {
...this.page,
...this.$route.query,
wgy:this.searchForm.wgy
}
if(params.zjrqq){
params.zjrqqDate = params.zjrqq
}
if(params.zjrqz){
params.zjrqzDate = params.zjrqz
}
rankByEnterpriseRiskDetail(params).then(res => {
this.tableData = res.data.list
this.page.totalRow=res.data.totalRow
this.loading=false
})
},
toggleExpand() {
this.isExpanded = !this.isExpanded;
},

View File

@ -3,109 +3,58 @@
<!-- 查询 -->
<div class="searchBox">
<el-form ref="searchForm" :model="searchForm" :rules="rules" label-width="120px" size="small">
<el-row :gutter="20" >
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="主管税务机关" required="true">
<el-select v-model="searchForm.zgswjg" style="width: 100%;">
<el-option v-for="item in zgswjgList" :key="item.value" :label="item.label" :value="item.value"></el-option>
<el-form-item label="主管税务机关" >
<el-select v-model="searchForm.zgswjg" disabled style="width: 100%;" @change="changeBureau">
<el-option v-for="item in zgswjgList" :key="item.zjzbSwjgVo.swjgDm" :label="item.zjzbSwjgVo.swjgmc" :value="item.zjzbSwjgVo.swjgDm"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="主管税务所(科分局)">
<el-select v-model="searchForm.zgsws" style="width: 100%;">
<el-option v-for="item in zgswsList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="申报自检结果标签">
<el-select v-model="searchForm.ajjgxs" placeholder="请选择" multiple style="width: 100%;">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
<span style=" margin-right:5px;">
<el-tooltip class="item" effect="dark" :content="item.tooltip" placement="top" :width="200">
<i class="el-icon-info"></i>
</el-tooltip>
</span>
{{ item.label }}
</el-option>
</el-select>
<!-- <el-select v-model="searchForm.ajjgxs" style="width: 100%;">
<el-option v-for="item in ajjgxsList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select> -->
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" v-if="isExpanded">
<el-col :span="8">
<el-form-item label="统一社会信用代码">
<el-select v-model="searchForm.zsxm" style="width: 100%;">
<el-option v-for="item in zsxmList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="纳税人名称">
<el-select v-model="searchForm.yzpzzl" style="width: 100%;" multiple collapse-tags>
<el-option v-for="item in yzpzzlList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
<el-input v-model="searchForm.swjg" disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="征收项目">
<el-select v-model="searchForm.zjzb" style="width: 100%;" multiple collapse-tags>
<el-option v-for="item in zjzbList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" v-if="isExpanded">
<el-col :span="8">
<el-form-item label="应征凭证种类">
<el-select v-model="searchForm.ssgly" style="width: 100%;">
<el-option v-for="item in ssglyList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="自检指标">
<el-select v-model="searchForm.ssgly" style="width: 100%;">
<el-option v-for="item in ssglyList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="自检问题处理状态">
<el-select v-model="searchForm.ssgly" style="width: 100%;">
<el-option v-for="item in ssglyList" :key="item.value" :label="item.label" :value="item.value"></el-option>
<el-select v-model="searchForm.zsxm" filterable style="width: 100%;">
<el-option label="全部" value=""></el-option>
<el-option v-for="item in zsxmList" :key="item.zsxmDm" :label="item.zsxmMc" :value="item.zsxmDm"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" v-if="isExpanded">
<el-col :span="8">
<el-form-item label="税款所属期">
<el-date-picker
v-model="searchForm.skssqDate"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width: 100%;"
>
</el-date-picker>
<el-row :gutter="20" v-if="isExpanded">
<el-col :span="8">
<el-form-item label="应征凭证种类">
<el-select v-model="searchForm.yzpzlx" filterable style="width: 100%;">
<el-option label="全部" value=""></el-option>
<el-option v-for="item in yzpzzlList" :key="item.dzbzdszlDm" :label="item.dzbzdszlmc" :value="item.dzbzdszlDm"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="自检指标">
<el-select v-model="searchForm.zjzbmc" filterable style="width: 100%;">
<el-option label="全部" value=""></el-option>
<el-option v-for="item in jczbList" :key="item.zbDm" :label="item.zbmc" :value="item.zbDm"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="税收管理员">
<el-input v-model="searchForm.ssgly"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" v-if="isExpanded">
<el-col :span="8">
<el-form-item label="申报日期">
<el-date-picker
v-model="searchForm.sbsjDate"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
@ -123,47 +72,24 @@
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width: 100%;"
value-format="yyyy-MM-dd"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</el-row>
</el-form>
<div class="expanded">
<el-button size="small">重置</el-button>
<el-button type="primary" size="small">查询</el-button>
<el-button size="small" @click="reset">重置</el-button>
<el-button type="primary" size="small" @click="changeSearch">查询</el-button>
<span class="text" @click="toggleExpand"> {{ isExpanded ? '收起' : '展开' }}<i :class="isExpanded ? 'el-icon-arrow-up':'el-icon-arrow-down'"></i></span>
</div>
</div>
<!-- 表格 -->
<div class="tableBox">
<div class="tableBtn">
<el-button type="primary" size="small">导出</el-button>
<el-popover
placement="bottom"
width="260"
v-model="settings"
trigger="click">
<el-button slot="reference" size="small">结果列设置<i class="el-icon-caret-bottom"></i></el-button>
<div class="popoverBox">
<div class="popover-main">
<el-checkbox-group v-model="visibleColumns">
<el-checkbox
style="display: block; line-height: 30px;"
v-for="column in columns"
:key="column.prop"
:label="column.prop"
>
{{ column.label }}
</el-checkbox>
</el-checkbox-group>
</div>
<div class="popover-btn">
<el-button size="small" @click="resetBtn">重置</el-button>
<el-button type="primary" size="small" @click="saveColumnSettings">确定</el-button>
</div>
</div>
</el-popover>
<el-button type="primary" size="small" @click="changeexport">导出</el-button>
</div>
<el-table
:data="tableData"
@ -179,7 +105,6 @@
v-for="column in columns"
:key="column.prop"
:align="column.align"
v-if="visibleColumns.includes(column.prop)"
:prop="column.prop"
:label="column.label"
:sortable="column.sortable"
@ -193,43 +118,61 @@
</el-table-column>
</el-table>
<div class="page">
<el-pagination background layout="prev, pager, next" :total="1000"></el-pagination>
<el-pagination
background
layout="prev, pager, next"
:page-size="page.limit"
@current-change="getData"
:total="page.totalRow"
:current-page.sync="page.page"
style="font-weight: normal;"></el-pagination>
</div>
</div>
<!-- 弹窗 -->
<el-dialog title="自检结果明细查看" width="85%" height="500" :visible.sync="dialogTableVisible">
<div style="margin-bottom: 10px;">
<el-button size="small">导出</el-button>
</div>
<el-table :data="selfData" border style="width: 100%" size="small" :header-cell-style="{background:'#f6f8fa', color:'#333333', textAlign:'center'}">
<el-table-column type="index" label="序号" width="50" align="center"></el-table-column>
<el-table-column property="tyxydm" label="统一社会信用代码" width="200"></el-table-column>
<el-table-column property="nsrsbh" label="统一社会信用代码" width="200"></el-table-column>
<el-table-column property="nsrmc" label="纳税人名称"></el-table-column>
<el-table-column property="djzclx" label="登记注册类型"></el-table-column>
<el-table-column property="kzztdjlx" label="课征主体登记类型"></el-table-column>
<el-table-column property="hy" label="行业"></el-table-column>
<el-table-column property="djzclxmc" label="登记注册类型"></el-table-column>
<el-table-column property="kzztdjlxmc" label="课征主体登记类型"></el-table-column>
<el-table-column property="hymc" label="行业"></el-table-column>
<el-table-column property="zsxmmc" label="征收项目名称"></el-table-column>
<el-table-column property="yzpzzlmc" label="应征凭证种类名称"></el-table-column>
<el-table-column property="yzpzzl" label="应征凭证种类名称"></el-table-column>
<el-table-column property="zjzbmc" label="自检指标名称"></el-table-column>
<el-table-column property="skssqq" label="税款所属期起"></el-table-column>
<el-table-column property="sksqqz" label="税款所属期止"></el-table-column>
<el-table-column property="ccsbrw" label="首次申报日期"></el-table-column>
<el-table-column property="scsbrq" label="首次申报日期"></el-table-column>
<el-table-column property="zxsbrq" label="最新申报日期"></el-table-column>
</el-table>
<div style="justify-content: flex-end; margin-top: 10px; display: flex;">
<el-pagination background layout="prev, pager, next" :total="1000" style="font-weight: normal;"></el-pagination>
<el-pagination
background
layout="prev, pager, next"
:page-size="page.limit"
@current-change="getData"
:total="page.totalRow"
:current-page.sync="page.page"
style="font-weight: normal;"></el-pagination>
</div>
</el-dialog>
<!-- @size-change="handleSizeChange"
:current-page.sync="currentPage1" -->
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import { accountQueryDetail,exportExcelForSbzjjg } from '@/api/compliance/statistics'
export default {
data() {
return {
return {
isExpanded: false,
loading:false,
isExpandAll:false,
@ -240,7 +183,6 @@ export default {
searchForm:{
zgswjg:'',
zgsws:'',
ajjgxs:'',
yzpzzl:'',
zjzb:'',
ssgly:'',
@ -251,19 +193,8 @@ export default {
rules:{
zgswjg:'',
},
zgswjgList: [
{value: '国家税务总局宜南昌税务局', label: '国家税务总局宜南昌税务局'},
{value: '国家税务总局九江市税务局', label: '国家税务总局九江市税务局'},
{value: '国家税务总局宜春市税务局', label: '国家税务总局宜春市税务局'},
],
ajjgxsList: [
{value: '按主管税务机关', label: '按主管税务机关'}
],
yzpzzlList:[
{value: '种类1', label: '种类1'},
{value: '种类2', label: '种类2'},
{value: '种类3', label: '种类3'},
],
zgswjgList: [ ],
yzpzzlList:[],
zjzbList:[
{value: '指标1', label: '指标1'},
{value: '指标2', label: '指标2'},
@ -276,59 +207,36 @@ export default {
{ value: 'option3', label: '同一自检月份多指标自检异常 ', tooltip: '同一自检月份多指标自检出现问题即在同一自检月份5个及以上自检指标自检出问题。' },
],
columns: [
{ prop: 'id', label: '序号', width: '50', align:'center'},
{ prop: 'zjrq', label: '自检日期', width: '170' , align:'center'},
{ prop: 'tyshyydm', label: '统一社会信用代码(纳税人识别号)', width: '350', sortable:true },
{ prop: 'nsmc', label: '纳税人名称', width: '120' },
{ prop: 'djzclx', label:'登记注册类型', width: '170' , align:'center'},
{ prop: 'kzztlx', label:'课征主体类型', width: '120', align:'center' },
{ prop: 'hy', label:'行业' , width: '100', align:'center'},
{ prop:'glzbsl', label:'关联指标数量', width: '150', align:'center', },
{ prop: 'ggswjg', label:'主管税务机关', width: '150' },
{ prop: 'zgsws', label:'主管税务所(科、分局)', width: '200' },
{ prop: 'zjrq', label: '自检日期', width: '120' , align:'center'},
{ prop: 'nsrsbh', label: '统一社会信用代码(纳税人识别号)', width: '160', sortable:true },
{ prop: 'nsrmc', label: '纳税人名称', width: '160' },
{ prop: 'djzclxmc', label:'登记注册类型', width: '170' , align:'center'},
{ prop: 'kzztdjlxmc', label:'课征主体类型', width: '120', align:'center' },
{ prop: 'hymc', label:'行业' , width: '100', align:'center'},
// { prop:'glzbsl', label:'', width: '150', align:'center', },
{ prop: 'zgswjgmc', label:'主管税务机关', width: '150' },
{ prop: 'zgswjgkfjmc', label:'主管税务所(科、分局)', width: '200' },
{ prop: 'ssgly', label:'税收管理员' , width: '150', align:'center' },
{ prop: 'zsmx', label:'征收项目', width: '150' , align:'center'},
{ prop: 'yzpzzl', label:'应征凭证种类', width: '120' },
{ prop: 'zsxmmc', label:'征收项目', width: '150' , align:'center'},
{ prop: 'yzpzzl', label:'应征凭证种类', width: '220' },
{ prop: 'zjzbmc', label:'自检指标名称' , width: '150' },
{ prop: 'skssq', label:'税款所属期起', width: '150', align:'center', sortable:true },
{ prop: 'skssz', label:'税款所属期止', width: '120', align:'center' },
{ prop: 'cssbrq', label:'首次申报日期' , width: '150' , align:'center', sortable:true},
{ prop: 'skssqq', label:'税款所属期起', width: '150', align:'center', sortable:true },
{ prop: 'skssqz', label:'税款所属期止', width: '120', align:'center' },
{ prop: 'scsbrq', label:'首次申报日期' , width: '150' , align:'center', sortable:true},
{ prop: 'zxsbrq', label:'最新申报日期', width: '150' , align:'center'},
{ prop: 'jjjgtsxx', label:'自检结果提示信息', width: '120', align:'center'},
{ prop: 'zjcsbybtse', label:'自检出问题时申报应补退税额', width: '250' , align:'center' },
{ prop: 'wtyjybtse', label:'问题已解决后的申报应补退税额', width: '250' , align:'center'},
{ prop: 'zjjgts', label:'自检结果提示信息', width: '300', align:'center'},
{ prop: 'ybse1', label:'自检出问题时申报应补退税额', width: '250' , align:'center' },
{ prop: 'ybse2', label:'问题已解决后的申报应补退税额', width: '250' , align:'center'},
{ prop: 'bzskje', label:'补正税款金额', width: '120' , align:'center'},
{ prop: 'zjwtclzt', label:'自检问题处理状态', width: '200' , align:'center' },
{ prop: 'zjztmc', label:'自检问题处理状态', width: '200' , align:'center' },
],
tableData: [
{
id:'1',
zjrq:'2025-10-27',
tyshyydm:'913609027165371025',
nsmc:'宜春市新坊钽铌.',
djzclx:'其他有限责任公司',
kzztlx:'单位纳税人税务.',
hy:'稀土金属矿',
glzbsl:5,
ggswjg:'国家税务总局宜春市袁',
zgsws:'国家税务总局宜春市袁.',
ssgly:'陈佳鑫',
zsmx:'企业所得税',
yzpzzl:'',
zjzbmc:'',
skssq:'2025-07-01',
skssz:'2025-09-30',
zxsbrq:'2025-10-25',
cssbrq:'2025-10-25',
jjjgtsxx:'',
zjcsbybtse:'',
wtyjybtse:'',
bzskje:'',
zjwtclzt:'检查通过'
}
],
visibleColumns: ['id','zjrq', 'tyshyydm','nsmc','djzclx','kzztlx','hy','glzbsl','ggswjg','zgsws','ssgly','zsmx','yzpzzl','zjzbmc','skssq','skssz','zxsbrq','cssbrq','jjjgtsxx','zjcsbybtse','wtyjybtse','bzskje','zjwtclzt'],
],
tableData: [],
page: {
page: 1,
limit: 20,
totalRow:0
},
selfData:[
{
tyxydm:'913609027165371025',
@ -344,31 +252,99 @@ export default {
ccsbrw:'2025-10-11',
zxsbrq:'2025-10-11'
}
]
],
subbureau: [],
jczbList: [],
zsxmList:[]
}
},
methods: {
changeexport() {
this.loading=true
exportExcelForSbzjjg(this.searchForm).then(res => {
console.log(res)
const elink = document.createElement('a');
elink.download = '文件名称.xlsx';
elink.style.display = 'none';
console.log('11111111111111',res)
const blob = new Blob([res.data], { type: 'application/x-msdownload' });
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
document.body.removeChild(elink);
this.loading=false
})
},
reset() {
this.searchForm = {
sbsjDate:'',
zjrqDate:''
}
let sjSwjgDm = this.$route.query.sjSwjgDm ? this.$route.query.sjSwjgDm : this.$route.query.swjgDm
this.searchForm.zgswjg = sjSwjgDm
this.searchForm.swjg=this.$route.query.sjSwjgDm ? this.$route.query.swjg : ''
this.getData()
},
changeSearch() {
this.getData()
},
changeBureau(e) {
this.zgswjgList.forEach(item => {
if (item.zjzbSwjgVo.swjgDm == e) {
this.subbureau = item.zjzbSwjgVos
}
})
},
initData() {
this.loading=true
this.$store.dispatch('GetSwgUserInfo').then(res => {
this.zgswjgList = res.data
let sjSwjgDm = this.$route.query.sjSwjgDm ? this.$route.query.sjSwjgDm : this.$route.query.swjgDm
this.searchForm.zgswjg = sjSwjgDm
this.searchForm.swjg=this.$route.query.sjSwjgDm ? this.$route.query.swjg : ''
res.data.map(item => {
if (item.zjzbSwjgVo.swjgDm == sjSwjgDm) {
this.subbureau = item.zjzbSwjgVos
}
})
this.$store.dispatch('GetZsxmList').then(res => {
this.zsxmList=res.data
})
this.$store.dispatch('GetYzpzzlList').then(res => {
this.yzpzzlList=res.data
})
this.$store.dispatch('GetJczbList').then(res => {
this.jczbList=res.data
})
this.getData()
})
},
getData(e) {
this.loading=true
let params = {
sbrqq: this.searchForm.sbsjDate.length>1 ? this.searchForm.sbsjDate[0] : '',
sbrqz: this.searchForm.sbsjDate.length > 1 ? this.searchForm.sbsjDate[1] : '',
zjrqq: this.searchForm.zjrqDate.length>1 ? this.searchForm.zjrqDate[0] : '',
zjrqz: this.searchForm.zjrqDate.length>1 ? this.searchForm.zjrqDate[1] : '',
...this.page,
...this.searchForm
}
accountQueryDetail(params).then(res => {
this.tableData = res.data.list
this.page.totalRow=res.data.totalRow
this.loading=false
})
},
toggleExpand() {
this.isExpanded = !this.isExpanded;
},
// saveColumnSettings() {
// localStorage.setItem('tableColumns', JSON.stringify(this.visibleColumns));
// this.tableKey += 1;
// },
resetBtn(){
this.visibleColumns=[]
},
saveColumnSettings(){
this.settings =false
}
},
// created() {
// const savedColumns = localStorage.getItem('tableColumns');
// if (savedColumns) {
// this.visibleColumns = JSON.parse(savedColumns);
// }
// },
created() {
this.initData()
},
computed: {
...mapGetters(['zjzbSwjg']),
tableHeight() {
return this.isExpanded ? window.innerHeight - 500 : window.innerHeight - 350
},
@ -379,6 +355,7 @@ export default {
}
}
}
</script>
<style lang="css" scoped>

View File

@ -6,62 +6,57 @@
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="主管税务机关" >
<el-select v-model="searchForm.zgswjg" style="width: 100%;">
<el-option v-for="item in zgswjgList" :key="item.value" :label="item.label" :value="item.value"></el-option>
<el-select v-model="searchForm.zgswjg" filterable style="width: 100%;" @change="changeBureau">
<el-option v-for="item in zgswjgList" :key="item.zjzbSwjgVo.swjgDm" :label="item.zjzbSwjgVo.swjgmc" :value="item.zjzbSwjgVo.swjgDm"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="主管税务所(科分局)">
<el-select v-model="searchForm.zgsws" style="width: 100%;">
<el-option v-for="item in zgswsList" :key="item.value" :label="item.label" :value="item.value"></el-option>
<el-option v-for="item in subbureau" :key="item.swjgDm" :label="item.swjgmc" :value="item.swjgDm"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="统计结果显示">
<el-select v-model="searchForm.ajjgxs" style="width: 100%;">
<el-option v-for="item in ajjgxsList" :key="item.value" :label="item.label" :value="item.value"></el-option>
<el-form-item label="征收项目">
<el-select v-model="searchForm.zsxm" filterable style="width: 100%;">
<el-option label="全部" value=""></el-option>
<el-option v-for="item in zsxmList" :key="item.zsxmDm" :label="item.zsxmMc" :value="item.zsxmDm"></el-option>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" v-if="isExpanded">
<el-col :span="8">
<el-form-item label="征收项目">
<el-select v-model="searchForm.zsxm" style="width: 100%;">
<el-option v-for="item in zsxmList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="应征凭证种类">
<el-select v-model="searchForm.yzpzzl" style="width: 100%;" multiple collapse-tags>
<el-option v-for="item in yzpzzlList" :key="item.value" :label="item.label" :value="item.value"></el-option>
<el-select v-model="searchForm.yzpzlx" filterable style="width: 100%;">
<el-option label="全部" value=""></el-option>
<el-option v-for="item in yzpzzlList" :key="item.dzbzdszlDm" :label="item.dzbzdszlmc" :value="item.dzbzdszlDm"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="自检指标">
<el-select v-model="searchForm.zjzb" style="width: 100%;" multiple collapse-tags>
<el-option v-for="item in zjzbList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" v-if="isExpanded">
<el-col :span="8">
<el-form-item label="税收管理员">
<el-select v-model="searchForm.ssgly" style="width: 100%;">
<el-option v-for="item in ssglyList" :key="item.value" :label="item.label" :value="item.value"></el-option>
<el-select v-model="searchForm.zjzbmc" filterable style="width: 100%;">
<el-option label="全部" value=""></el-option>
<el-option v-for="item in jczbList" :key="item.zbDm" :label="item.zbmc" :value="item.zbDm"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="税收管理员">
<el-input v-model="searchForm.ssgly"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" v-if="isExpanded">
<el-col :span="9">
<el-form-item label="申报日期">
<el-date-picker
v-model="searchForm.sbsjDate"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
@ -70,7 +65,7 @@
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="9">
<el-form-item label="自检日期">
<el-date-picker
v-model="searchForm.zjrqDate"
@ -79,6 +74,7 @@
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width: 100%;"
value-format="yyyy-MM-dd"
>
</el-date-picker>
</el-form-item>
@ -86,22 +82,15 @@
</el-row>
</el-form>
<div class="expanded">
<el-button size="small">重置</el-button>
<el-button type="primary" size="small">查询</el-button>
<el-button size="small" @click="reset">重置</el-button>
<el-button type="primary" size="small" @click="changeSearch">查询</el-button>
<span class="text" @click="toggleExpand"> {{ isExpanded ? '收起' : '展开' }}<i :class="isExpanded ? 'el-icon-arrow-up':'el-icon-arrow-down' "></i></span>
</div>
</div>
<!-- 表格 -->
<div class="tableBox">
<div class="tableBtn">
<!-- <el-button type="primary" size="small">导出</el-button> -->
<el-dropdown>
<el-button size="small">导入<i class="el-icon-arrow-down el-icon--right"></i></el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item>导入EXL</el-dropdown-item>
<el-dropdown-item>导入Doc</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-button type="primary" size="small" @click="changeImport">导入</el-button>
</div>
<el-table
:data="tableData"
@ -111,20 +100,20 @@
:header-cell-style="{background:'#f6f8fa', color:'#333333', textAlign:'center'}"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
:default-expand-all="isExpandAll"
row-key="id"
row-key="swjgDm"
v-loading="loading"
:height="tableHeight"
>
<el-table-column type="index" label="序号" width="50" align="center"></el-table-column>
<el-table-column prop="zgswjg" label="主管税务机关" width="300"></el-table-column>
<el-table-column prop="swjg" label="主管税务机关" width="300"></el-table-column>
<el-table-column prop="sbzjhc" label="申报自检户次" align="center">
<template slot-scope="scope">
<el-link type="primary" target="_blank" @click="handleClick(scope.row)" :underline="false">{{ scope.row.sbzjhc }}</el-link>
</template>
</el-table-column>
<el-table-column prop="welch" label="无需处理户次" align="center">
<el-table-column prop="wxclhc" label="无需处理户次" align="center">
<template slot-scope="scope">
<span class="blue-text" @click="handleClick(scope.row)">{{ scope.row.welch }}</span>
<span class="blue-text" @click="handleClick(scope.row)">{{ scope.row.wxclhc }}</span>
</template>
</el-table-column>
<el-table-column prop="jctghc" label="检查通过户次" align="center">
@ -137,125 +126,171 @@
<span class="blue-text" @click="handleClick(scope.row)">{{ scope.row.wgzhc }}</span>
</template>
</el-table-column>
<el-table-column prop="ygzwwjhc" label="已更正(问题未解决)户次" align="center">
<el-table-column prop="ybse1" label="已更正(问题未解决)户次" align="center">
<template slot-scope="scope">
<span class="blue-text" @click="handleClick(scope.row)">{{ scope.row.ygzwwjhc }}</span>
<span class="blue-text" @click="handleClick(scope.row)">{{ scope.row.ybse1 }}</span>
</template>
</el-table-column>
<el-table-column prop="ygzwjjhc" label="已更正(问题已解决)户次" align="center">
<el-table-column prop="ybse2" label="已更正(问题已解决)户次" align="center">
<template slot-scope="scope">
<span class="blue-text" @click="handleClick(scope.row)">{{ scope.row.ygzwjjhc }}</span>
<span class="blue-text" @click="handleClick(scope.row)">{{ scope.row.ybse2 }}</span>
</template>
</el-table-column>
<el-table-column prop="bzskje" label="补正税款金额" align="center">
<!-- <el-table-column prop="children" label="补正税款金额" align="center">
<template slot="header">
补正税款金额
<el-tooltip class="item" effect="dark" content="问题已解决后的申报应补退税额-自检出问题时申报应补退税额" placement="top"><i class="el-icon-question"></i></el-tooltip>
</template>
<template slot-scope="scope">
<span class="blue-text" @click="handleClick(scope.row)">{{ scope.row.bzskje }}</span>
<span class="blue-text" @click="handleClick(scope.row)">{{ scope.row.children }}</span>
</template>
</el-table-column>
</el-table-column> -->
</el-table>
<div class="page">
<el-pagination background layout="prev, pager, next" :total="1000"></el-pagination>
<el-pagination
background
layout="prev, pager, next"
:page-size="page.limit"
@current-change="getData"
:total="page.totalRow"
:current-page.sync="page.page"
style="font-weight: normal;"></el-pagination>
</div>
</div>
<el-dialog title="导入" @close="close" :visible.sync="dialogVisible">
<el-upload
v-loading="loadingalert"
ref="uploadref"
class="upload-demo"
action=""
drag
:file-list="filelist"
:auto-upload="false"
:on-change="fileChangeHandler"
:limit="1"
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>
<div class="el-upload__tip" slot="tip">只能上传jpg/png文件且不超过500kb</div>
</el-upload>
</el-dialog>
</div>
</template>
<script>
import { accountQuery,uploadExcelForSbzjjg } from '@/api/compliance/statistics'
import { getZjzbSwjgVoList } from '@/api/compliance/conmm'
export default {
data() {
return {
return {
loadingalert:false,
dialogVisible:false,
filelist:[],
page: {
page: 1,
limit: 20,
totalRow:0
},
isExpanded: false,
loading:false,
isExpandAll:false,
searchForm:{
zgswjg:'',
zgsws:'',
ajjgxs:'',
yzpzzl:'',
zjzb:'',
ssgly:'',
searchForm: {
sbsjDate:'',
zjrqDate:''
},
zgswjgList: [
{value: '国家税务总局宜南昌税务局', label: '国家税务总局宜南昌税务局'},
{value: '国家税务总局九江市税务局', label: '国家税务总局九江市税务局'},
{value: '国家税务总局宜春市税务局', label: '国家税务总局宜春市税务局'},
],
ajjgxsList: [
{value: '按主管税务机关', label: '按主管税务机关'}
],
yzpzzlList:[
{value: '种类1', label: '种类1'},
{value: '种类2', label: '种类2'},
{value: '种类3', label: '种类3'},
],
zjzbList:[
{value: '指标1', label: '指标1'},
{value: '指标2', label: '指标2'},
{value: '指标3', label: '指标3'},
],
subbureau:[],
zgswjgList: [],
yzpzzlList:[],
jczbList:[],
zgswsList:[{}],
tableData: [
{
id:'1',
zgswjg: "国家税务总局宜春市税务局",
sbzjhc:25838,
welch:0,
jctghc:24493,
wgzhc:1035,
ygzwwjhc:160,
ygzwjjhc:150,
bzskje:-8625.37,
children:[
{
id:'1',
zgswjg: "国家税务总局宜春市袁州区",
sbzjhc:1000,
welch:0,
jctghc:1156,
wgzhc:150,
ygzwwjhc:20,
ygzwjjhc:10,
bzskje:-100,
},
{
id:'2',
zgswjg: "国家税务总局宜春市袁州区税政股",
sbzjhc:1000,
welch:0,
jctghc:1156,
wgzhc:150,
ygzwwjhc:20,
ygzwjjhc:10,
bzskje:-100,
},
{
id:'3',
zgswjg: "国家税务总局宜春市第一分局",
sbzjhc:1000,
welch:0,
jctghc:1156,
wgzhc:150,
ygzwwjhc:20,
ygzwjjhc:10,
bzskje:-100,
},
],
}
]
tableData: []
}
},
created() {
this.initData()
},
methods: {
close() {
this.fileList = []
this.$refs.uploadref.clearFiles()
this.dialogVisible=false
},
fileChangeHandler(file) {
this.loadingalert=true
let data = new FormData();
data.append("file", file.raw);
uploadExcelForSbzjjg(data).then(res => {
this.loadingalert = false
this.$message({
type: 'success',
message: res.data.message
})
this.dialogVisible=false
})
},
submitUpload() {
},
changeImport() {
this.dialogVisible=true
},
reset() {
this.searchForm = {
sbsjDate:'',
zjrqDate:''
}
this.searchForm.zgswjg = this.zgswjgList[0].zjzbSwjgVo.swjgDm
this.subbureau = this.zgswjgList[0].zjzbSwjgVos
this.getData()
},
changeSearch() {
this.getData()
},
changeBureau(e) {
this.zgswjgList.forEach(item => {
if (item.zjzbSwjgVo.swjgDm == e) {
this.subbureau = item.zjzbSwjgVos
}
})
},
initData() {
this.loading = true
this.$store.dispatch('GetSwgUserInfo').then(res => {
this.zgswjgList = res.data
this.searchForm.zgswjg = res.data[0].zjzbSwjgVo.swjgDm
this.subbureau = res.data[0].zjzbSwjgVos
this.getData()
})
this.$store.dispatch('GetZsxmList').then(res => {
this.zsxmList=res.data
})
this.$store.dispatch('GetYzpzzlList').then(res => {
this.yzpzzlList=res.data
})
this.$store.dispatch('GetJczbList').then(res => {
this.jczbList=res.data
})
},
getData() {
this.loading = true
let params = {
sbrqq: this.searchForm.sbsjDate[0]?this.searchForm.sbsjDate[0]:null,
sbrqz: this.searchForm.sbsjDate[1]?this.searchForm.sbsjDate[1]:null,
zjrqq: this.searchForm.zjrqDate[0]?this.searchForm.zjrqDate[0]:null,
zjrqz: this.searchForm.zjrqDate[1]?this.searchForm.zjrqDate[1]:null,
...this.searchForm
}
accountQuery(params).then(res => {
let list = []
list.push(res.data)
this.tableData = list
this.loading = false
})
},
toggleExpand() {
this.isExpanded = !this.isExpanded;
},
handleClick(row){
this.$router.push({path:`/compliance/alertstatistics`, query:{}})
this.$router.push({path:`/compliance/alertstatistics`, query:row})
}
},
computed: {
@ -267,4 +302,8 @@ export default {
}
</script>
<style lang="css" scoped>
.upload-demo{
text-align: center;
width: 100%;
}
</style>

View File

@ -5,17 +5,18 @@
<el-form ref="searchForm" :model="searchForm" label-width="150px" size="small">
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="指标" >
<el-select v-model="searchForm.zgswjg" style="width: 100%;">
<el-option v-for="item in zgswjgList" :key="item.value" :label="item.label" :value="item.value"></el-option>
<el-form-item label="指标类" >
<el-select v-model="searchForm.zbdl" style="width: 100%;">
<el-option v-for="item in zgswjgList" :key="item.zbdlDm" :label="item.zbdlmc" :value="item.zbdlDm"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="自检日期起">
<el-date-picker
v-model="searchForm.zjrqqDate"
v-model="searchForm.zjrqq"
type="date"
value-format="yyyy-MM-dd"
style="width: 100%;"
placeholder="自检日期起">
</el-date-picker>
@ -24,7 +25,8 @@
<el-col :span="8">
<el-form-item label="自检日期止">
<el-date-picker
v-model="searchForm.zjrqzDate"
v-model="searchForm.zjrqz"
value-format="yyyy-MM-dd"
type="date"
style="width: 100%;"
placeholder="自检日期起">
@ -32,25 +34,18 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" v-if="isExpanded">
<!-- <el-row :gutter="20" v-if="isExpanded">
<el-col :span="8">
<el-form-item label="网格员">
<el-input v-model="searchForm.wly"></el-input>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="排名统计" >
<el-select v-model="searchForm.tsyjfxzb" style="width: 100%;">
<el-option v-for="item in tsyjfxzbList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-row> -->
</el-form>
<div class="expanded">
<el-button size="small">重置</el-button>
<el-button type="primary" size="small">统计</el-button>
<span class="text" @click="toggleExpand"> {{ isExpanded ? '收起' : '展开' }}<i :class="isExpanded ? 'el-icon-arrow-up':'el-icon-arrow-down' "></i></span>
<el-button size="small" @click="reset">重置</el-button>
<el-button type="primary" size="small" @click="changeSearch">查询</el-button>
<!-- <span class="text" @click="toggleExpand"> {{ isExpanded ? '收起' : '展开' }}<i :class="isExpanded ? 'el-icon-arrow-up':'el-icon-arrow-down' "></i></span> -->
</div>
</div>
<!-- 表格 -->
@ -66,21 +61,30 @@
:height="tableHeight"
>
<el-table-column type="index" label="序号" width="50" align="center"></el-table-column>
<el-table-column prop="zblb" label="指标类别" ></el-table-column>
<el-table-column prop="zbmc" label="指标名称"></el-table-column>
<el-table-column prop="qysl" label="企业数量" width="200" align="center">
<el-table-column prop="zbdl" label="指标大类" ></el-table-column>
<el-table-column prop="zbxl" label="指标小类" ></el-table-column>
<el-table-column prop="zjzb" label="指标名称"></el-table-column>
<el-table-column prop="qyNum" label="企业数量" width="200" align="center">
<template slot-scope="scope">
<span class="blue-text" @click="handleClick(scope.row)">{{ scope.row.qysl }}</span>
<span class="blue-text" @click="handleClick(scope.row)">{{ scope.row.qyNum }}</span>
</template>
</el-table-column>
</el-table>
<div class="page">
<el-pagination background layout="prev, pager, next" :total="1000"></el-pagination>
</div>
<div class="page">
<el-pagination
background
layout="prev, pager, next"
:page-size="page.limit"
@current-change="getData"
:total="page.totalRow"
:current-page.sync="page.page"
style="font-weight: normal;"></el-pagination>
</div>
</div>
</div>
</template>
<script>
import { rankByPointerType } from '@/api/compliance/statistics'
export default {
data() {
return {
@ -88,47 +92,68 @@ export default {
isExpanded: false,
searchForm:{
zgswjg:'',
zjrqqDate:'',
zjrqzDate:'',
wly:'',
tsyjfxzb:''
},
zgswjgList: [
{value: '轻度风险', label: '轻度风险'},
{value: '中度风险', label: '中度风险'},
{value: '严重风险', label: '严重风险'},
],
zgswjgList: [],
tsyjfxzbList:[
{value:'风险指标名称1', label:'风险指标名称1' },
{value:'风险指标名称2', label:'风险指标名称2' },
{value:'风险指标名称3', label:'风险指标名称3' },
],
tableData: [
{
zblb:'轻度风险',
zbmc:'工费经费超高行业基准值',
qysl:10
},
{
zblb:'中度风险',
zbmc:'工费经费超高行业基准值',
qysl:20
},
{
zblb:'严重风险',
zbmc:'工费经费超高行业基准值',
qysl:30
}
]
tableData: [],
page: {
page: 1,
limit: 20,
totalRow:0
},
}
},
methods: {
created() {
this.initData()
},
methods: {
reset() {
this.searchForm = {}
this.getData()
},
initData() {
this.loading = true
this.$store.dispatch('GetZbdlList').then(res => {
this.zgswjgList = res.data
this.getData()
})
},
changeSearch() {
this.getData()
},
getData() {
this.loading = true
let params = {
...this.page,
...this.searchForm
}
rankByPointerType(params).then(res => {
this.tableData = res.data.list
this.page.totalRow=res.data.totalRow
this.loading = false
})
},
toggleExpand() {
this.isExpanded = !this.isExpanded;
},
handleClick(row){
this.$router.push({path:`/compliance/indicatorDetails`, query:{}})
handleClick(row) {
let params = {
zbdl: row.zbdl,
zjrqq:this.searchForm.zjrqq,
zjrqz: this.searchForm.zjrqz,
zbdm: row.zbdm
}
this.$router.push({path:`/compliance/indicatorDetails`, query:params})
}
},
computed: {

View File

@ -6,16 +6,15 @@
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="指标类别" >
<el-select v-model="searchForm.zgswjg" style="width: 100%;">
<el-option v-for="item in zgswjgList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-input v-model="searchForm.zbdl" disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="自检日期起">
<el-date-picker
v-model="searchForm.zjrqqDate"
v-model="searchForm.zjrqq"
type="date"
value-format="yyyy-MM-dd"
style="width: 100%;"
placeholder="自检日期起">
</el-date-picker>
@ -24,8 +23,9 @@
<el-col :span="8">
<el-form-item label="自检日期止">
<el-date-picker
v-model="searchForm.zjrqzDate"
v-model="searchForm.zjrqz"
type="date"
value-format="yyyy-MM-dd"
style="width: 100%;"
placeholder="自检日期起">
</el-date-picker>
@ -35,21 +35,14 @@
<el-row :gutter="20" v-if="isExpanded">
<el-col :span="8">
<el-form-item label="网络员">
<el-input v-model="searchForm.wly"></el-input>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="排名类别" >
<el-select v-model="searchForm.tsyjfxzb" style="width: 100%;">
<el-option v-for="item in tsyjfxzbList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
<el-input v-model="searchForm.wgy"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="expanded">
<el-button size="small">重置</el-button>
<el-button type="primary" size="small">统计</el-button>
<el-button size="small" @click="reset">重置</el-button>
<el-button type="primary" size="small" @click="changeSearch">查询</el-button>
<span class="text" @click="toggleExpand"> {{ isExpanded ? '收起' : '展开' }}<i :class="isExpanded ? 'el-icon-arrow-up':'el-icon-arrow-down' "></i></span>
</div>
</div>
@ -61,7 +54,6 @@
style="width: 100%"
size="small"
:header-cell-style="{background:'#f6f8fa', color:'#333333', textAlign:'center'}"
:default-expand-all="isExpandAll"
row-key="id"
v-loading="loading"
:height="tableHeight"
@ -69,25 +61,32 @@
<el-table-column type="index" label="序号" width="50" align="center"></el-table-column>
<el-table-column prop="qymc" label="企业名称" ></el-table-column>
<el-table-column prop="qysh" label="企业税号"></el-table-column>
<el-table-column prop="qyfr" label="企业法人" width="200" align="center"></el-table-column>
<el-table-column prop="wlyxm" label="网络员姓名" width="200" align="center"></el-table-column>
<el-table-column prop="frlldh" label="法人联系电话" width="200" align="center"></el-table-column>
<el-table-column prop="frxm" label="企业法人" width="200" align="center"></el-table-column>
<el-table-column prop="wgy" label="网络员姓名" width="200" align="center"></el-table-column>
<el-table-column prop="frlxdh" label="法人联系电话" width="200" align="center"></el-table-column>
</el-table>
<div class="page">
<el-pagination background layout="prev, pager, next" :total="1000"></el-pagination>
</div>
<div class="page">
<el-pagination
background
layout="prev, pager, next"
:page-size="page.limit"
@current-change="getData"
:total="page.totalRow"
:current-page.sync="page.page"
style="font-weight: normal;"></el-pagination>
</div>
</div>
</div>
</template>
<script>
import { rankByPointerTypeDetail } from '@/api/compliance/statistics'
export default {
data() {
return {
isExpanded: false,
searchForm:{
zgswjg:'',
zjrqqDate:'',
zjrqzDate:'',
wly:'',
tsyjfxzb:''
},
@ -101,33 +100,44 @@ export default {
{value:'风险指标名称2', label:'风险指标名称2' },
{value:'风险指标名称3', label:'风险指标名称3' },
],
tableData: [
{
qymc:'宜春市新坊钽铌1',
qysh:'913609027165371025',
qyfr:'张三',
wlyxm:'李四',
frlldh:'15235566544'
},
{
qymc:'宜春市新坊钽铌2',
qysh:'913609027122566212',
qyfr:'张三',
wlyxm:'李四',
frlldh:'15235566544'
},
{
qymc:'宜春市新坊钽铌3',
qysh:'913609027165255663',
qyfr:'张三',
wlyxm:'李四',
frlldh:'15235566544'
}
]
tableData: [],
page: {
page: 1,
limit: 20,
totalRow:0
},
}
},
methods: {
created() {
this.searchForm=this.$route.query
this.getData()
},
methods: {
reset() {
this.searchForm.zjrqq = ""
this.searchForm.zjrqz = ""
this.searchForm.wgy = ""
this.getData()
},
changeSearch() {
this.getData()
},
getData(e) {
this.loading=true
let params = {
...this.page,
...this.searchForm,
zjzb:this.$route.query.zbdm,
}
rankByPointerTypeDetail(params).then(res => {
this.tableData = res.data.list
this.page.totalRow=res.data.totalRow
this.loading=false
})
},
toggleExpand() {
this.isExpanded = !this.isExpanded;
}

View File

@ -203,7 +203,7 @@ export default {
}
if (true) {
tempsItems.hrm = {
tempsItems.compliance = {
title: '合规风险',
type: 12,
module: 'compliance',
@ -239,7 +239,6 @@ export default {
* 获取置顶应用
*/
getHeaderModelSortList() {
console.log('1111111111111111',this.allItemsObj)
if (this.headerModule.length) {
const allList = []
for (let index = 0; index < this.headerModule.length; index++) {

View File

@ -273,7 +273,9 @@ export default {
icon: 'wk wk-employees'
}
}
if (this.compliance) {
console.log('111111111111111',this.compliance)
if (this.compliance.compliance) {
console.log('22222222222222222222222',this.compliance.compliance)
tempsItems.compliance = {
title: '合规风险',
type: 12,
@ -365,12 +367,13 @@ export default {
* 根据关键词获取菜单数据
*/
getTopHeaderModule() {
console.log('1111111111',this.allItemsObj)
if (this.headerModule.length > 0) {
const allList = []
for (let index = 0; index < this.headerModule.length; index++) {
const key = this.headerModule[index]
const menu = this.allItemsObj[key]
console.log('menu', menu)
if (menu && allList.length < 8) {
allList.push(menu)
}
@ -399,7 +402,6 @@ export default {
hiddenItems.push(element)
}
}
console.log(showItems)
this.showItems = showItems
this.hiddenItems = hiddenItems