翻写公众号管理-标签管理20230324

pull/50/head
xiaobai 2023-03-24 11:37:44 +08:00
parent c640b33728
commit 8b56388de0
3 changed files with 3 additions and 293 deletions

View File

@ -25,9 +25,10 @@ export const deleteTag = (id) => {
// 获得公众号标签
export const getTag = (id) => {
return request.get({
const res = request.get({
url: '/mp/tag/get?id=' + id
})
return res
}
// 获得公众号标签分页

View File

@ -7,9 +7,6 @@
label-width="80px"
v-loading="formLoading"
>
<el-form-item label="编号" prop="accountId">
<el-input v-model="formData.accountId" />
</el-form-item>
<el-form-item label="标签名称" prop="name">
<el-input v-model="formData.name" placeholder="请输入标签名称" />
</el-form-item>
@ -52,9 +49,7 @@ const openModal = async (type: string, id?: number) => {
if (id) {
formLoading.value = true
try {
console.log(id)
const res = await MpTagApi.getTag(id)
formData.value = res.data
formData.value = await MpTagApi.getTag(id) //id
} finally {
formLoading.value = false
}

View File

@ -1,286 +0,0 @@
<template>
<div class="app-container">
<doc-alert title="公众号标签" url="https://doc.iocoder.cn/mp/tag/" />
<!-- 搜索工作栏 -->
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<el-form-item label="公众号" prop="accountId">
<el-select v-model="queryParams.accountId" placeholder="请选择公众号">
<el-option
v-for="item in accounts"
:key="parseInt(item.id)"
:label="item.name"
:value="parseInt(item.id)"
/>
</el-select>
</el-form-item>
<el-form-item label="标签名称" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入标签名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['mp:tag:create']"
>新增
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="info"
plain
icon="el-icon-refresh"
size="mini"
@click="handleSync"
v-hasPermi="['mp:tag:sync']"
>同步
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="编号" align="center" prop="id" />
<el-table-column label="标签名称" align="center" prop="name" />
<el-table-column label="粉丝数" align="center" prop="count" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template v-slot="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template v-slot="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['mp:tag:update']"
>修改
</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['mp:tag:delete']"
>删除
</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNo"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="标签名称" prop="name">
<el-input v-model="form.name" placeholder="请输入标签名称" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { createTag, updateTag, deleteTag, getTag, getTagPage, syncTag } from '@/api/mp/tag'
import { getSimpleAccounts } from '@/api/mp/account'
export default {
name: 'MpTag',
components: {},
data() {
return {
//
loading: true,
//
showSearch: true,
//
total: 0,
//
list: [],
//
title: '',
//
open: false,
//
queryParams: {
accountId: null,
name: null
},
//
form: {
accountId: undefined,
name: undefined
},
//
rules: {
name: [{ required: true, message: '请输入标签名称', trigger: 'blur' }]
},
//
accounts: []
}
},
created() {
getSimpleAccounts().then((response) => {
this.accounts = response.data
//
if (this.accounts.length > 0) {
this.queryParams.accountId = this.accounts[0].id
}
//
this.getList()
})
},
methods: {
/** 查询列表 */
getList() {
//
if (!this.queryParams.accountId) {
this.$message.error('未选中公众号,无法查询标签')
return false
}
this.loading = false
//
let params = { ...this.queryParams }
//
getTagPage(params).then((response) => {
this.list = response.data.list
this.total = response.data.total
this.loading = false
})
},
/** 取消按钮 */
cancel() {
this.open = false
this.reset()
},
/** 表单重置 */
reset() {
this.form = {
accountId: undefined,
name: undefined
}
this.resetForm('form')
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm('queryForm')
//
if (this.accounts.length > 0) {
this.queryParams.accountId = this.accounts[0].id
}
this.handleQuery()
},
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.open = true
this.title = '添加公众号标签'
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const id = row.id
getTag(id).then((response) => {
this.form = response.data
this.open = true
this.title = '修改公众号标签'
})
},
/** 提交按钮 */
submitForm() {
this.$refs['form'].validate((valid) => {
if (!valid) {
return
}
this.form.accountId = this.queryParams.accountId
//
if (this.form.id != null) {
updateTag(this.form).then((response) => {
this.$modal.msgSuccess('修改成功')
this.open = false
this.getList()
})
return
}
//
createTag(this.form).then((response) => {
this.$modal.msgSuccess('新增成功')
this.open = false
this.getList()
})
})
},
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id
this.$modal
.confirm('是否确认删除公众号标签编号为"' + id + '"的数据项?')
.then(function () {
return deleteTag(id)
})
.then(() => {
this.getList()
this.$modal.msgSuccess('删除成功')
})
.catch(() => {})
},
/** 同步标签 */
handleSync() {
const accountId = this.queryParams.accountId
this.$modal
.confirm('是否确认同步标签?')
.then(function () {
return syncTag(accountId)
})
.then(() => {
this.$modal.msgSuccess('同步标签成功')
})
.catch(() => {})
}
}
}
</script>