first commit

This commit is contained in:
2026-09-09 09:14:28 +08:00
commit 5343198112
5199 changed files with 1052895 additions and 0 deletions
@@ -0,0 +1,364 @@
<!--活动类型管理 何鹏飞 2019-6-12 -->
<!--#
layout("/layouts/platform.html"){
#-->
<style>
.el-popper[x-placement^=bottom] {
display: none;
}
.el-select .el-input .el-select__caret.is-reverse {
display: none;
}
.el-select .el-input .el-select__caret {
display: none;
}
.el-divider--horizontal {
margin: 0;
}
</style>
<div id="app" v-cloak>
<el-row class="header navbar bg-white shadow">
<div class="btn-group tool-button mt5">
<el-input placeholder="根据名称进行查询" clearable v-model="pageForm.searchKeyword">
</el-input>
</div>
<div class="btn-group tool-button mt5">
<el-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>
</div>
<div class="pull-right offscreen-right mt5">
<el-button size="medium" @click="openAdd"><i class="ti-plus"></i>新建类型</el-button>
</div>
</el-row>
<!--表格-->
<el-row class="el-table-container">
<el-table
:data="tableData"
size="small"
>
<el-table-column label="序号" header-align="center" align="center" type="index">
<template scope="scope"><span>{{scope.$index+(pageForm.pageNumber - 1) * pageForm.pageSize + 1}}</span>
</template>
</el-table-column>
<el-table-column label="活动类型名称" prop="name" header-align="center" align="center">
<template slot-scope="scope">
<el-tooltip effect="light" class="item" effect="dark" placement="right-start">
<div slot="content">
<div v-if="scope.row.hdxm!=''&&scope.row.hdxm!=null" style="line-height: 24px;"
v-for="item in scope.row.hdxm">{{item.name}}
<el-divider></el-divider>
</div>
<div v-if="scope.row.hdxm==''||scope.row.hdxm==null">暂无活动项目</div>
</div>
<el-link @click="openInfo(scope)" :underline="false" type="primary"><i
class="el-icon-view el-icon--left"></i>{{scope.row.name}}
</el-link>
</el-tooltip>
</template>
</el-table-column>
<el-table-column label="操作" width="300" header-align="center" align="center">
<template slot-scope="scope">
<el-button @click="openInfo(scope)" size="mini">查看</el-button>
<el-button type="primary" @click="openEdit(scope)" size="mini">编辑</el-button>
<el-button type="danger" @click="deleteDo(scope)" size="mini">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-row>
<!--分页-->
<el-row class="el-pagination-container">
<el-pagination
@size-change="pageSizeChange"
@current-change="pageNumberChange"
:current-page="pageForm.pageNumber"
:page-sizes="[10, 20, 30, 50]"
:page-size="pageForm.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="pageForm.totalCount">
</el-pagination>
</el-row>
<!--新增-->
<el-dialog title="新增" width="40%" custom-class="ViewDialogClass" :visible.sync="addDialogVisible">
<el-form label-width="80px" size="small" :model="formData" :rules="formRules" ref="addForm">
<el-form-item label="活动类型">
<el-input maxlength="30" placeholder="类型名称"
auto-complete="off" tabindex="3" type="text" v-model="formData.name"></el-input>
</el-form-item>
<el-form-item label="活动项目">
<el-select
v-model="formData.hdxm"
multiple
filterable
style="width: 100%"
allow-create
default-first-option
placeholder="可以输入多个项目名称,按回车确认">
</el-select>
</el-form-item>
<el-form-item label="排序编号">
<el-input maxlength="30" placeholder="排序编号"
auto-complete="off" tabindex="3" type="text" v-model="formData.pxbh"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="addDialogVisible = false">取 消</el-button>
<el-button type="primary" @click="doAdd">确 定</el-button>
</span>
</el-dialog>
<!--编辑-->
<el-dialog title="编辑" width="40%" custom-class="ViewDialogClass" :visible.sync="editDialogVisible">
<el-form label-width="80px" size="small" :model="editFormData" :rules="editFormRules" ref="editForm">
<el-form-item label="活动类型">
<el-input maxlength="30" placeholder="类型名称"
auto-complete="off" tabindex="3" type="text" v-model="editFormData.name"></el-input>
</el-form-item>
<el-form-item label="活动项目">
<el-select
v-model="editFormData.hdxm"
multiple
filterable
style="width: 100%"
allow-create
default-first-option
placeholder="可以输入多个项目名称,按回车确认">
</el-select>
</el-form-item>
<el-form-item label="排序编号">
<el-input maxlength="30" placeholder="排序编号"
auto-complete="off" tabindex="3" type="text" v-model="editFormData.pxbh"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="editDialogVisible = false">取 消</el-button>
<el-button type="primary" @click="doEdit">确 定</el-button>
</span>
</el-dialog>
<!--查看-->
<el-dialog title="查看" width="36%" custom-class="ViewDialogClass" :visible.sync="infoDialogVisible" top="3%">
<table style="width: 100%">
<tr style="width: 100%">
<td class="tpa">活动类型名称</td>
<td class="tpb" style="width: 30%;">{{viewData.name}}</td>
</tr>
<tr style="width: 100%">
<td class="tpa">活动项目</td>
<td class="tpb" style="width: 30%;">{{viewData.hdxm}}</td>
</tr>
</table>
</el-dialog>
</div>
<script>
new Vue({
el: "#app",
data: function () {
return {
pageForm: {//分页
pageNumber: 1,
pageSize: 10,
totalCount: 0,
searchKeyword: "",
},
tableData: [],//表格
/*新增*/
addDialogVisible: false,
formData: {
hdxm: [],
},
formRules: {
name: [
{required: true, message: '请输入活动类型名称', trigger: ['blur', 'change']}
],
hdxm: [
{required: true, message: '请输入活动项目', trigger: ['blur', 'change']}
],
pxbh: [
{required: true, message: '请输入活动项目', trigger: ['blur', 'change']}
],
},
/*编辑*/
editDialogVisible: false,
editFormData: {
hdxm: [],
id: "",
name: "",
pxbh: "",
},
editFormRules: {},
/*查看*/
infoDialogVisible: false,
viewData: [],
}
},
methods: {
pageNumberChange: function (val) {//页码更新操作
this.pageForm.pageNumber = val;
this.pageData();
},
pageSizeChange: function (val) {//分页大小更新操作
this.pageForm.pageSize = val;
this.pageData();
},
pageData: function () {//表格展示数据
var self = this;
sublime.showLoadingbar();//显示loading
$.post(base + "/platform/hd/hdtype/data", self.pageForm, function (data) {
sublime.closeLoadingbar();//关闭loading
if (data.code == 0) {
self.tableData = data.data.type.list;
self.pageForm.totalCount = data.data.type.totalCount;
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
},
doSearch: function () {
this.pageForm.pageNumber = 1;
this.pageData();
},
/*新增*/
openAdd: function () {
var self = this;
self.formData={};
self.addDialogVisible = true;
},
doAdd: function () {
var self = this;
self.$refs["addForm"].validate(function (valid) {
if (valid) {
$.post(base + "/platform/hd/hdtype/addDo", self.formData, function (data) {
if (data.code == 0) {
self.$message({
message: data.msg,
type: 'success'
});
self.pageData();
self.addDialogVisible = false;
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
}
});
},
/*编辑*/
openEdit: function (scope) {
var self = this;
self.editFormData.hdxm = [];
self.editFormData.id = scope.row.id;
$.post(base + "/platform/hd/hdtype/findById", {id: scope.row.id}, function (data) {
if (data.code == 0) {
self.editFormData.name = data.data.hd.name;
self.editFormData.pxbh = data.data.hd.pxbh;
for (var i = 0; i < data.data.hdxm.length; i++) {
self.editFormData.hdxm.push(data.data.hdxm[i].name);
}
self.editDialogVisible = true;
}
}, "json");
},
doEdit: function () {
var self = this;
self.$refs["editForm"].validate(function (valid) {
if (valid) {
$.post(base + "/platform/hd/hdtype/editDo", self.editFormData, function (data) {
if (data.code == 0) {
self.$message({
message: data.msg,
type: 'success'
});
self.pageData();
self.editDialogVisible = false;
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
}
});
},
/*查看*/
openInfo: function (scope) {
var self = this;
$.post(base + "/platform/hd/hdtype/lookInfo", {id: scope.row.id}, function (data) {
if (data.code == 0) {
self.viewData = data.data.hd[0];
self.infoDialogVisible = true;
}
}, "json");
},
/*删除*/
deleteDo: function (scope) {
var self = this;
if (scope.row.hdxm != null && scope.row.hdxm != "") {
self.$alert("【" + scope.row.name + "】下包含活动项目,不能删除。", "温馨提示", {type: "info"});
} else {
self.$confirm("此操作将永久删除该类型, 是否继续?", "温馨提示", {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
callback: function (a, b) {
if ("confirm" == a) {
$.post(base + "/platform/hd/hdtype/deleteDo", {id: scope.row.id}, function (data) {
if (data.code == 0) {
self.$message({
message: data.msg,
type: 'success'
});
self.pageData();
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
}
}
});
}
}
},
created: function () {
this.pageData();
}
})
</script>
<!--#
}
#-->