|
|
@ -1,9 +1,8 @@
|
|
|
|
<!-- 资产管理 -- 公众号 -->
|
|
|
|
|
|
|
|
<template>
|
|
|
|
<template>
|
|
|
|
<div class="L-main" id="L-size-main">
|
|
|
|
<div class="L-main" id="L-size-main">
|
|
|
|
<div class="content-search" id="L-header">
|
|
|
|
<div class="content-search" id="L-header">
|
|
|
|
<div class="search-title">查询条件</div>
|
|
|
|
<div class="search-title">查询条件</div>
|
|
|
|
<el-form :inline="true" ref="queryForm" :model="formInline" size="small" class="demo-form-inline">
|
|
|
|
<el-form :inline="true" ref="queryFormRef" :model="formInline" size="small" class="demo-form-inline">
|
|
|
|
<el-row>
|
|
|
|
<el-row>
|
|
|
|
<el-col :span="7">
|
|
|
|
<el-col :span="7">
|
|
|
|
<el-form-item label="公众号名称:" prop="gzhmc">
|
|
|
|
<el-form-item label="公众号名称:" prop="gzhmc">
|
|
|
@ -14,46 +13,21 @@
|
|
|
|
<el-form-item label="公众号状态:" prop="xtzt">
|
|
|
|
<el-form-item label="公众号状态:" prop="xtzt">
|
|
|
|
<el-select v-model="formInline.xtzt" placeholder="请选择公众号状态">
|
|
|
|
<el-select v-model="formInline.xtzt" placeholder="请选择公众号状态">
|
|
|
|
<el-option
|
|
|
|
<el-option
|
|
|
|
v-for="dict in dict.type.gzh_state"
|
|
|
|
v-for="dict in gzh_state"
|
|
|
|
:key="dict.value"
|
|
|
|
:key="dict.value"
|
|
|
|
:label="dict.label"
|
|
|
|
:label="dict.label"
|
|
|
|
:value="dict.value">
|
|
|
|
:value="dict.value"
|
|
|
|
</el-option>
|
|
|
|
/>
|
|
|
|
</el-select>
|
|
|
|
</el-select>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="3" style="text-align: right;">
|
|
|
|
<el-col :span="3" style="text-align: right;">
|
|
|
|
<el-form-item class="unit-form">
|
|
|
|
<el-form-item class="unit-form">
|
|
|
|
<el-button size="mini" @click="resetQuery('queryFrom')">重置</el-button>
|
|
|
|
<el-button size="mini" @click="resetQuery">重置</el-button>
|
|
|
|
<el-button size="mini" type="primary" @click="handleQuery('queryFrom')">查询</el-button>
|
|
|
|
<el-button size="mini" type="primary" @click="handleQuery">查询</el-button>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
</el-col>
|
|
|
|
</el-row>
|
|
|
|
</el-row>
|
|
|
|
<!-- <el-row>
|
|
|
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
|
|
|
<el-form-item label="单位名称:" prop="dwmc">
|
|
|
|
|
|
|
|
<el-input v-model="formInline.dwmc" placeholder="请输入单位名称"></el-input>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
|
|
|
<el-form-item label="系统状态:" prop="xtzt">
|
|
|
|
|
|
|
|
<el-select v-model="formInline.xtzt" placeholder="请选择系统状态">
|
|
|
|
|
|
|
|
<el-option
|
|
|
|
|
|
|
|
v-for="dict in dict.type.zc_xtzt"
|
|
|
|
|
|
|
|
:key="dict.value"
|
|
|
|
|
|
|
|
:label="dict.label"
|
|
|
|
|
|
|
|
:value="dict.value">
|
|
|
|
|
|
|
|
</el-option>
|
|
|
|
|
|
|
|
</el-select>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
|
|
<el-col :span="8" style="text-align: right;padding-right: 50px;">
|
|
|
|
|
|
|
|
<el-form-item>
|
|
|
|
|
|
|
|
<el-button size="mini" @click="resetQuery('queryFrom')">重置</el-button>
|
|
|
|
|
|
|
|
<el-button size="mini" type="primary" @click="handleQuery('queryFrom')">查询</el-button>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
|
|
</el-row> -->
|
|
|
|
|
|
|
|
</el-form>
|
|
|
|
</el-form>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<main>
|
|
|
|
<main>
|
|
|
@ -76,38 +50,24 @@
|
|
|
|
<el-table-column type="index" width="50" label="序号" align="center"/>
|
|
|
|
<el-table-column type="index" width="50" label="序号" align="center"/>
|
|
|
|
<el-table-column label="公众号名称" key="gzhmc" prop="gzhmc" align="center" />
|
|
|
|
<el-table-column label="公众号名称" key="gzhmc" prop="gzhmc" align="center" />
|
|
|
|
<el-table-column label="所属单位" key="ssdw" prop="ssdw" align="center" />
|
|
|
|
<el-table-column label="所属单位" key="ssdw" prop="ssdw" align="center" />
|
|
|
|
<!-- <el-table-column label="单位名称" key="dwmc" prop="dwmc" align="center">
|
|
|
|
|
|
|
|
</el-table-column> -->
|
|
|
|
|
|
|
|
<el-table-column label="新增时间" key="createTime" prop="createTime" align="center" />
|
|
|
|
<el-table-column label="新增时间" key="createTime" prop="createTime" align="center" />
|
|
|
|
<el-table-column label="平台类型" key="ptlx" prop="ptlx" align="center">
|
|
|
|
<el-table-column label="平台类型" key="ptlx" prop="ptlx" align="center">
|
|
|
|
<template slot-scope="scope">
|
|
|
|
<template #default="scope">
|
|
|
|
<dict-tag :options="dict.type.sys_ptlx_type" :value="scope.row.ptlx"/>
|
|
|
|
<dict-tag :options="sys_ptlx_type" :value="scope.row.ptlx"/>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column label="公众号状态" key="status" prop="status" class-name="table-status" align="center">
|
|
|
|
<el-table-column label="公众号状态" key="status" prop="status" class-name="table-status" align="center">
|
|
|
|
<template slot-scope="scope">
|
|
|
|
<template #default="scope">
|
|
|
|
<span v-if="scope.row.gzhzt == 1" style="color: #16B771;">
|
|
|
|
<span v-if="scope.row.gzhzt == 1" style="color: #16B771;">正常</span>
|
|
|
|
正常
|
|
|
|
<span v-else-if="scope.row.gzhzt == 2" style="color: #F58A0C;">注销</span>
|
|
|
|
</span>
|
|
|
|
<span v-else-if="scope.row.gzhzt == 3" style="color: #1485EF;">迁移</span>
|
|
|
|
<span v-if="scope.row.gzhzt == 2" style="color: #F58A0C;">
|
|
|
|
<span v-else-if="scope.row.gzhzt == 4" style="color: #29A07A;">受限</span>
|
|
|
|
注销
|
|
|
|
<span v-else-if="scope.row.gzhzt == 5" style="color: #F50C0C;">违规</span>
|
|
|
|
</span>
|
|
|
|
<span v-else-if="scope.row.gzhzt == 6" style="color: #F58A0C;">未知</span>
|
|
|
|
<span v-if="scope.row.gzhzt == 3" style="color: #1485EF;">
|
|
|
|
|
|
|
|
迁移
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<span v-if="scope.row.gzhzt == 4" style="color: #29A07A;">
|
|
|
|
|
|
|
|
受限
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<span v-if="scope.row.gzhzt == 5" style="color: #F50C0C;">
|
|
|
|
|
|
|
|
违规
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<span v-if="scope.row.gzhzt == 6" style="color: #F58A0C;">
|
|
|
|
|
|
|
|
未知
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column label="操作" prop="userId" class-name="table-operation" align="center">
|
|
|
|
<el-table-column label="操作" prop="userId" class-name="table-operation" align="center">
|
|
|
|
<template slot-scope="scope">
|
|
|
|
<template #default="scope">
|
|
|
|
<div style="display: flex;align-items: center;justify-content: center;">
|
|
|
|
<div style="display: flex;align-items: center;justify-content: center;">
|
|
|
|
<div style="display: flex;align-items: center;cursor: pointer;" @click="goInfo(scope.row,1)">
|
|
|
|
<div style="display: flex;align-items: center;cursor: pointer;" @click="goInfo(scope.row,1)">
|
|
|
|
<img src="@/assets/images/icon-ck@2x.png" alt="" style="width: 20px;margin-right: 5px;">
|
|
|
|
<img src="@/assets/images/icon-ck@2x.png" alt="" style="width: 20px;margin-right: 5px;">
|
|
|
@ -128,114 +88,121 @@
|
|
|
|
:page="formInline.current"
|
|
|
|
:page="formInline.current"
|
|
|
|
:limit="formInline.size"
|
|
|
|
:limit="formInline.size"
|
|
|
|
@pagination="getPagination"
|
|
|
|
@pagination="getPagination"
|
|
|
|
:current-page.sync="formInline.current"
|
|
|
|
v-model:current-page="formInline.current"
|
|
|
|
></my-pagination>
|
|
|
|
></my-pagination>
|
|
|
|
</main>
|
|
|
|
</main>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<script>
|
|
|
|
|
|
|
|
|
|
|
|
<script setup>
|
|
|
|
|
|
|
|
import { ref, onMounted, onUnmounted } from 'vue'
|
|
|
|
|
|
|
|
import { useRoute, useRouter } from 'vue-router'
|
|
|
|
import myPagination from "@/views/components/Pagination/index.vue"
|
|
|
|
import myPagination from "@/views/components/Pagination/index.vue"
|
|
|
|
// import myDialog from "@/views/components/myDialog/index.vue"
|
|
|
|
import { assetOfficialAccountList } from "@/api/auditPagesApi/index"
|
|
|
|
import { assetOfficialAccountList, deleteAssetOfficialAccount } from "@/api/auditPagesApi/index";
|
|
|
|
|
|
|
|
export default {
|
|
|
|
// 字典数据 (需要从外部传入或使用provide/inject)
|
|
|
|
dicts: ['zc_xtzt','zc_xtlx', 'gzh_state','sys_ptlx_type'],
|
|
|
|
const gzh_state = ref([])
|
|
|
|
components:{myPagination},
|
|
|
|
const sys_ptlx_type = ref([])
|
|
|
|
data() {
|
|
|
|
|
|
|
|
return {
|
|
|
|
const router = useRouter()
|
|
|
|
formInline:{
|
|
|
|
const route = useRoute()
|
|
|
|
gzhmc:"",
|
|
|
|
const queryFormRef = ref(null)
|
|
|
|
xtzt:"",
|
|
|
|
|
|
|
|
// startTime:"",
|
|
|
|
const formInline = ref({
|
|
|
|
// endTime:"",
|
|
|
|
gzhmc: "",
|
|
|
|
current:1,
|
|
|
|
xtzt: "",
|
|
|
|
size:10,
|
|
|
|
current: 1,
|
|
|
|
},
|
|
|
|
size: 10
|
|
|
|
// time:[],
|
|
|
|
})
|
|
|
|
total:0,
|
|
|
|
|
|
|
|
tableData:[],
|
|
|
|
const loading = ref(false)
|
|
|
|
loading:false,
|
|
|
|
const tableData = ref([])
|
|
|
|
tabHeader: undefined,
|
|
|
|
const total = ref(0)
|
|
|
|
|
|
|
|
const tabHeader = ref(undefined)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取列表
|
|
|
|
|
|
|
|
const getList = async () => {
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
loading.value = true
|
|
|
|
|
|
|
|
const res = await assetOfficialAccountList(formInline.value)
|
|
|
|
|
|
|
|
tableData.value = res.data.records
|
|
|
|
|
|
|
|
total.value = res.data.total
|
|
|
|
|
|
|
|
} catch (error) {
|
|
|
|
|
|
|
|
console.error('获取列表失败:', error)
|
|
|
|
|
|
|
|
} finally {
|
|
|
|
|
|
|
|
loading.value = false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
}
|
|
|
|
mounted(){
|
|
|
|
|
|
|
|
if( Object.keys(this.$route.params).length != 0) {
|
|
|
|
// 重置查询
|
|
|
|
this.formInline = this.$route.params;
|
|
|
|
const resetQuery = () => {
|
|
|
|
}else{
|
|
|
|
queryFormRef.value?.resetFields()
|
|
|
|
this.formInline.current = 1
|
|
|
|
formInline.value.current = 1
|
|
|
|
this.formInline.size = 20
|
|
|
|
getList()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 查询
|
|
|
|
|
|
|
|
const handleQuery = () => {
|
|
|
|
|
|
|
|
formInline.value.current = 1
|
|
|
|
|
|
|
|
getList()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 分页
|
|
|
|
|
|
|
|
const getPagination = (pages) => {
|
|
|
|
|
|
|
|
formInline.value.current = pages.page
|
|
|
|
|
|
|
|
formInline.value.size = pages.limit
|
|
|
|
|
|
|
|
getList()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 导出
|
|
|
|
|
|
|
|
const handleExport = () => {
|
|
|
|
|
|
|
|
// 实现导出逻辑
|
|
|
|
|
|
|
|
console.log('导出功能:', formInline.value)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 查看/编辑详情
|
|
|
|
|
|
|
|
const goInfo = (row, id) => {
|
|
|
|
|
|
|
|
router.push({
|
|
|
|
|
|
|
|
name: 'myAssetsAuth',
|
|
|
|
|
|
|
|
query: {
|
|
|
|
|
|
|
|
pageType: id === 1 ? "look" : "change",
|
|
|
|
|
|
|
|
type: 2,
|
|
|
|
|
|
|
|
id: row.id,
|
|
|
|
|
|
|
|
queryData: formInline.value,
|
|
|
|
|
|
|
|
name: "MyOfficialAccount"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
this.getList();
|
|
|
|
|
|
|
|
this.cancalDebounce();
|
|
|
|
|
|
|
|
window.addEventListener('resize', this.cancalDebounce);
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
destroyed() {
|
|
|
|
|
|
|
|
window.removeEventListener('resize', this.cancalDebounce);
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
methods:{
|
|
|
|
|
|
|
|
// 获取列表
|
|
|
|
|
|
|
|
getList(){
|
|
|
|
|
|
|
|
this.loading = true;
|
|
|
|
|
|
|
|
assetOfficialAccountList(this.formInline).then(res=>{
|
|
|
|
|
|
|
|
this.loading = false;
|
|
|
|
|
|
|
|
this.total = res.data.total;
|
|
|
|
|
|
|
|
this.tableData = res.data.records;
|
|
|
|
|
|
|
|
})
|
|
|
|
})
|
|
|
|
},
|
|
|
|
}
|
|
|
|
// 重置
|
|
|
|
|
|
|
|
resetQuery(){
|
|
|
|
// 表格行样式
|
|
|
|
this.resetForm("queryForm");
|
|
|
|
const tableRowClassName = ({ rowIndex }) => {
|
|
|
|
// this.time = [];
|
|
|
|
return rowIndex % 2 !== 0 ? 'evenNumber-row' : ''
|
|
|
|
this.handleQuery();
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
// 查询
|
|
|
|
// 计算表格高度
|
|
|
|
handleQuery(){
|
|
|
|
const cancalDebounce = () => {
|
|
|
|
this.formInline.current = 1;
|
|
|
|
const element = document.getElementById('L-size-main')
|
|
|
|
// if(this.time) {
|
|
|
|
const header = document.getElementById('L-header')
|
|
|
|
// this.formInline.startTime = this.time[0]
|
|
|
|
const pagination = document.getElementById('L-pagination')
|
|
|
|
// this.formInline.endTime = this.time[1]
|
|
|
|
|
|
|
|
// }
|
|
|
|
if (element && header && pagination) {
|
|
|
|
|
|
|
|
const elementHeight = element.offsetHeight
|
|
|
|
this.getList();
|
|
|
|
const headerHeight = header.offsetHeight
|
|
|
|
},
|
|
|
|
const paginationtHeight = pagination.offsetHeight
|
|
|
|
// 页码获取
|
|
|
|
tabHeader.value = elementHeight - headerHeight - paginationtHeight - 110
|
|
|
|
getPagination(pages){
|
|
|
|
|
|
|
|
this.formInline.current = pages.page;
|
|
|
|
|
|
|
|
this.formInline.size = pages.limit;
|
|
|
|
|
|
|
|
this.getList();
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
// 导出
|
|
|
|
|
|
|
|
handleExport(){
|
|
|
|
|
|
|
|
this.download('/tc/assetOfficialAccount/export', {
|
|
|
|
|
|
|
|
...this.formInline
|
|
|
|
|
|
|
|
}, `公众号资产${new Date().getTime()}.xlsx`)
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
// 查看详情
|
|
|
|
|
|
|
|
goInfo(row,id){
|
|
|
|
|
|
|
|
this.$router.push({name: 'myAssetsAuth',query: {
|
|
|
|
|
|
|
|
pageType: id == 1 ? "look" : "change",
|
|
|
|
|
|
|
|
type:2,
|
|
|
|
|
|
|
|
id:row.id,
|
|
|
|
|
|
|
|
queryData:this.formInline,
|
|
|
|
|
|
|
|
name:"MyOfficialAccount"
|
|
|
|
|
|
|
|
}})
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
// 修改table背景色
|
|
|
|
|
|
|
|
tableRowClassName({row, rowIndex}){
|
|
|
|
|
|
|
|
if (rowIndex % 2 !== 0) {
|
|
|
|
|
|
|
|
return 'evenNumber-row';
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return '';
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
// 屏幕尺寸变化
|
|
|
|
|
|
|
|
cancalDebounce(){
|
|
|
|
|
|
|
|
const element = document.getElementById('L-size-main'); // 通过元素的 ID 获取元素
|
|
|
|
|
|
|
|
const header = document.getElementById('L-header'); // 通过元素的 ID 获取元素
|
|
|
|
|
|
|
|
const pagination = document.getElementById('L-pagination'); // 通过元素的 ID 获取元素
|
|
|
|
|
|
|
|
const elementHeight = element.offsetHeight;
|
|
|
|
|
|
|
|
const headerHeight = header.offsetHeight;
|
|
|
|
|
|
|
|
const paginationtHeight = pagination.offsetHeight;
|
|
|
|
|
|
|
|
this.tabHeader = elementHeight - headerHeight - paginationtHeight - 110;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
onMounted(() => {
|
|
|
|
|
|
|
|
if (Object.keys(route.params).length !== 0) {
|
|
|
|
|
|
|
|
formInline.value = route.params
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
getList()
|
|
|
|
|
|
|
|
cancalDebounce()
|
|
|
|
|
|
|
|
window.addEventListener('resize', cancalDebounce)
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
onUnmounted(() => {
|
|
|
|
|
|
|
|
window.removeEventListener('resize', cancalDebounce)
|
|
|
|
|
|
|
|
})
|
|
|
|
</script>
|
|
|
|
</script>
|