You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
185 lines
5.6 KiB
185 lines
5.6 KiB
<template>
|
|
<div class="g-main">
|
|
<div class="m-search">
|
|
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'120px'">
|
|
<el-form-item label="标签名称" prop="tagName">
|
|
<el-input v-model="formData.tagName" size="small" class="u-item-width-normal" clearable placeholder="请输入">
|
|
</el-input>
|
|
</el-form-item>
|
|
<el-row type="flex">
|
|
<el-col :span="24" align="right">
|
|
<el-button style="margin-left: 30px" size="small" type="primary " @click="handleSearchFrom">查询</el-button>
|
|
<el-button
|
|
style="margin-left: 10px"
|
|
size="small"
|
|
class="diy-button--white"
|
|
@click="resetSearch"
|
|
>重置</el-button
|
|
>
|
|
</el-col>
|
|
</el-row>
|
|
</el-form>
|
|
</div>
|
|
<div class="m-table">
|
|
<div class="div_btn">
|
|
<el-button style="height: 32px" size="small" @click="handleAdd({}, 'add')" type="primary" icon="el-icon-plus">
|
|
新增</el-button>
|
|
</div>
|
|
<el-table ref="config_table" border :data="tableData" v-loading="tableLoading" style="width: 100%"
|
|
:height="tableHeight">
|
|
<el-table-column label="标签名称" prop="tagName" fixed="left" align="center" key="tagName" />
|
|
<el-table-column fixed="right" label="操作" align="center" width="200">
|
|
<template slot-scope="scope">
|
|
<el-button style="margin-right: 10px" @click="handleAdd(scope.row, 'edit')" size="small"
|
|
type="text">编辑</el-button>
|
|
<!-- 按钮权限-->
|
|
<template>
|
|
<el-popconfirm title="删除之后无法回复,确认删除?" @onConfirm="handleDel(scope.row)">
|
|
<el-button size="small" type="text" slot="reference">删除</el-button>
|
|
</el-popconfirm>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
<div class="div-flex">
|
|
<div class="m-page">
|
|
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="pageNo"
|
|
:page-sizes="[20, 50, 100, 200]" :page-size="pageSize" layout="sizes, prev, pager, next, total"
|
|
:total="total">
|
|
</el-pagination>
|
|
</div>
|
|
</div>
|
|
</div>5
|
|
<el-dialog :visible.sync="formShow" :close-on-click-modal="false" :close-on-press-escape="false" :title="formTitle"
|
|
destroy-on-close width="954px" top="5vh" class="dialog-h" @closed="diaClose">
|
|
<!-- <add-form v-if="formShow" ref="Config_form" :row-obj="rowObj" @dialogCancle="addFormCancle"
|
|
@dialogOk="addFormOk"></add-form> -->
|
|
</el-dialog>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import { requestPost } from "@/js/dai/request";
|
|
import { mapGetters } from "vuex";
|
|
import addForm from "./addForm.vue";
|
|
export default {
|
|
name: "labelConfig",
|
|
data() {
|
|
return {
|
|
formData: {
|
|
tagName: "",
|
|
},
|
|
tableData: [],
|
|
pageNo: 1,
|
|
pageSize:window.localStorage.getItem('pageSize') || 20,
|
|
tableLoading: true,
|
|
total: 0,
|
|
searchH: 115,
|
|
formShow: false,
|
|
formTitle: "",
|
|
rowObj: {},
|
|
};
|
|
},
|
|
created() { },
|
|
components: { addForm },
|
|
methods: {
|
|
async getlabelConfigList() {
|
|
const url = "/governance/resiSearchTag/listResiSearchTags";
|
|
let params = {
|
|
pageNo: this.pageNo,
|
|
pageSize: this.pageSize,
|
|
tagName: this.formData.tagName,
|
|
};
|
|
let { data, msg, code } = await requestPost(url, params);
|
|
this.tableLoading = false;
|
|
if (code == 0) {
|
|
this.tableData = data.list;
|
|
this.total = data.total;
|
|
} else {
|
|
this.$message.error(msg);
|
|
}
|
|
},
|
|
addFormCancle() {
|
|
this.formShow = false;
|
|
},
|
|
addFormOk() {
|
|
this.formShow = false;
|
|
this.getlabelConfigList();
|
|
},
|
|
handleAdd(row, type) {
|
|
if (type == "add") {
|
|
this.formTitle = "新增标签";
|
|
this.formShow = true;
|
|
this.$nextTick(() => {
|
|
this.$refs.Config_form.initForm(type, row);
|
|
});
|
|
} else {
|
|
this.formTitle = "修改标签";
|
|
this.formShow = true;
|
|
console.log(row);
|
|
this.rowObj = row;
|
|
this.$nextTick(() => {
|
|
this.$refs.Config_form.initForm(type, row);
|
|
});
|
|
}
|
|
},
|
|
handleSizeChange(val) {
|
|
console.log(`每页 ${val} 条`);
|
|
this.pageSize = val;
|
|
this.getlabelConfigList();
|
|
},
|
|
async handleDel(row) {
|
|
const url = `/governance/resiSearchTag/deleteResiSearchTag/${row.tagId}`;
|
|
let { code, msg } = await requestPost(url);
|
|
if (code == 0) {
|
|
this.$message.success("删除成功");
|
|
} else {
|
|
this.$message.error(msg);
|
|
}
|
|
this.getlabelConfigList();
|
|
},
|
|
handleSearchFrom() {
|
|
this.getlabelConfigList();
|
|
},
|
|
resetSearch(){
|
|
this.formData.tagName = ""
|
|
this.getlabelConfigList();
|
|
},
|
|
handleCurrentChange(val) {
|
|
this.pageNo = val;
|
|
this.getlabelConfigList();
|
|
},
|
|
diaClose() {
|
|
this.formShow = false;
|
|
},
|
|
},
|
|
async mounted() {
|
|
this.getlabelConfigList();
|
|
},
|
|
computed: {
|
|
...mapGetters(["clientHeight", "iframeHeight"]),
|
|
tableHeight() {
|
|
const h = this.clientHeight - this.searchH - 275 + this.iframeHeight;
|
|
const _h = this.clientHeight - 275 - this.searchH;
|
|
return this.$store.state.inIframe ? h : _h;
|
|
},
|
|
},
|
|
watch: {},
|
|
};
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
@import "@/assets/scss/modules/management/list-main.scss";
|
|
|
|
.div_btn {
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.div-flex {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.dialog-h {
|
|
padding: 0 50px;
|
|
}
|
|
</style>
|
|
|