Commit 0b12e6f4 authored by 罗超's avatar 罗超

1

parent 06769073
<template>
<div v-loading="loading" class="addbillboard">
<div class="head-title">
<span @click="CommonJump('billboardList')" class="blue point">榜单管理</span>
<span @click="CommonJump('billboardList')" class="blue point"
>榜单管理</span
>
/ 编辑榜单
</div>
<div class="content">
<el-form :model="addMsg" :rules="rules" ref="addMsg" label-width="150px" style="width: 70%">
<el-form
:model="addMsg"
:rules="rules"
ref="addMsg"
label-width="150px"
style="width: 70%"
>
<el-form-item label="榜单类型" class="is-required" prop="ListType">
<el-select class="w400" v-model="addMsg.ListType" size="small" placeholder="请选择">
<el-option v-for="item in ListType" :key="item.Id" :label="item.Name" :value="item.Id">
<el-select
class="w400"
v-model="addMsg.ListType"
size="small"
placeholder="请选择"
>
<el-option
v-for="item in ListType"
:key="item.Id"
:label="item.Name"
:value="item.Id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="面向群体" class="is-required" prop="ObjectTypeIds">
<el-select class="w400" multiple v-model="addMsg.ObjectTypeIds" size="small" placeholder="请选择">
<el-option v-for="item in ListObjectType" :key="item.Id" :label="item.Name" :value="item.Id">
<el-select
class="w400"
multiple
v-model="addMsg.ObjectTypeIds"
size="small"
placeholder="请选择"
>
<el-option
v-for="item in ListObjectType"
:key="item.Id"
:label="item.Name"
:value="item.Id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="主办方" prop="Sponsor" class="is-required" size="small">
<el-input v-model="addMsg.Sponsor" class="w600" placeholder="请输入品牌全名" maxlength="20" />
<el-form-item
label="主办方"
prop="Sponsor"
class="is-required"
size="small"
>
<el-input
v-model="addMsg.Sponsor"
class="w600"
placeholder="请输入品牌全名"
maxlength="20"
/>
</el-form-item>
<el-form-item label="榜单名称" prop="ListName" class="is-required" size="small">
<el-input v-model="addMsg.ListName" class="w600" placeholder="请输入品牌全名" maxlength="20" />
<el-form-item
label="榜单名称"
prop="ListName"
class="is-required"
size="small"
>
<el-input
v-model="addMsg.ListName"
class="w600"
placeholder="请输入品牌全名"
maxlength="20"
/>
</el-form-item>
<el-form-item label="封面图" class="is-required" prop="CoverImage" size="small">
<el-form-item
label="封面图"
class="is-required"
prop="CoverImage"
size="small"
>
<el-button @click="openChangeDig(1)" size="small">选择文件</el-button>
<div class="app-gallery-item" style="position: relative; width: 100px; margin-top: 10px">
<img v-if="!addMsg.CoverImage || addMsg.CoverImage == ''" src="../../assets/img/default.png"
style="width: 80px; height: 80px" alt="" />
<el-image v-else style="width: 80px; height: 80px" :src="addMsg.CoverImage"
:preview-src-list="logoList">
<div
class="app-gallery-item"
style="position: relative; width: 100px; margin-top: 10px"
>
<img
v-if="!addMsg.CoverImage || addMsg.CoverImage == ''"
src="../../assets/img/default.png"
style="width: 80px; height: 80px"
alt=""
/>
<el-image
v-else
style="width: 80px; height: 80px"
:src="addMsg.CoverImage"
:preview-src-list="logoList"
>
</el-image>
</div>
</el-form-item>
<el-form-item label="报名时间" class="is-required">
<el-date-picker v-model="value" value-format="yyyy-MM-dd" type="daterange" range-separator="至"
start-placeholder="开始日期" end-placeholder="结束日期">
<el-date-picker
v-model="value"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item label="公示日期" class="is-required" prop="FinishDate">
<el-date-picker class="w300" value-format="yyyy-MM-dd HH:mm:ss" v-model="addMsg.FinishDate" type="datetime"
size="small" placeholder="公示日期">
<el-date-picker
class="w300"
value-format="yyyy-MM-dd HH:mm"
v-model="addMsg.FinishDate"
type="datetime"
size="small"
placeholder="公示日期"
>
</el-date-picker>
</el-form-item>
<el-form-item label="入围名额" prop="PrizeNum" size="small">
<el-input v-model="addMsg.PrizeNum" class="w600" :min='0' placeholder="请输入数量" type='number' />
<el-input
v-model="addMsg.PrizeNum"
class="w600"
:min="0"
placeholder="请输入数量"
type="number"
/>
</el-form-item>
<el-form-item label="是否启用排名" class="is-required">
<el-radio v-model="addMsg.EnableRank" :label="1"></el-radio>
<el-radio v-model="addMsg.EnableRank" :label="0"></el-radio>
</el-form-item>
<el-form-item label="详细内容" class="ue-style">
<UE style="width: 700px" :defaultMsg="Advertising" :config="config" :IsMultiple="true" ref="ue">
<UE
style="width: 700px"
:defaultMsg="Advertising"
:config="config"
:IsMultiple="true"
ref="ue"
>
</UE>
</el-form-item>
</el-form>
</div>
<div style="margin-top: 20px">
<el-button size="small" type="primary" @click="Save('addMsg')">保存</el-button>
<el-button size="small" type="primary" @click="Save('addMsg')"
>保存</el-button
>
</div>
<!-- 选择文件 -->
<el-dialog title="选择文件" :visible.sync="changeState" width="1240px">
<ChooseImg @SelectId="SelectId"></ChooseImg>
</el-dialog>
</div>
</template>
<script>
import ChooseImg from "@/components/global/ChooseImg.vue";
import UE from "@/components/global/UE.vue";
export default {
import ChooseImg from "@/components/global/ChooseImg.vue";
import UE from "@/components/global/UE.vue";
export default {
components: {
ChooseImg,
UE,
......@@ -90,18 +172,17 @@
return {
addMsg: {
Id: 0,
ListType: '',//类型
ObjectTypeIds: '',//面向群体 多选
Sponsor: '',//主办方
ListName: "",//榜单名称
CoverImage: '',//封面图
FinishDate: '',//公示日期
StartDate: '',//开始时间
EndDate: '',//结束时间
EnableRank: 1,//是否启用排名
PrizeNum: 0,//入围名额
Content: '',//详情内容
ListType: "", //类型
ObjectTypeIds: "", //面向群体 多选
Sponsor: "", //主办方
ListName: "", //榜单名称
CoverImage: "", //封面图
FinishDate: null, //公示日期
StartDate: "", //开始时间
EndDate: "", //结束时间
EnableRank: 1, //是否启用排名
PrizeNum: 0, //入围名额
Content: "", //详情内容
},
value: [],
......@@ -166,20 +247,20 @@
message: "请选择公示日期",
trigger: "blur",
},
]
],
},
loading: false,
changeState: false,
imgType: 0,
logoList: [],
ShopWish: 1,
ListType: [],//榜单类型 枚举
ListObjectType: [],//面向群体 枚举
ListType: [], //榜单类型 枚举
ListObjectType: [], //面向群体 枚举
};
},
created() {
this.getListType()//榜单类型 枚举
this.getListObject()//面向群体 枚举
this.getListType(); //榜单类型 枚举
this.getListObject(); //面向群体 枚举
},
mounted() {
if (this.$route.query.Id) {
......@@ -188,18 +269,18 @@
},
methods: {
getListType() {
this.apipost("/api/Trade/GetListTypeEnumList", {}, res => {
this.apipost("/api/Trade/GetListTypeEnumList", {}, (res) => {
if (res.data.resultCode == 1) {
this.ListType = res.data.data
this.ListType = res.data.data;
}
})
});
},
getListObject() {
this.apipost("/api/Trade/GetListObjectTypeEnumList", {}, res => {
this.apipost("/api/Trade/GetListObjectTypeEnumList", {}, (res) => {
if (res.data.resultCode == 1) {
this.ListObjectType = res.data.data
this.ListObjectType = res.data.data;
}
})
});
},
//选择图片
......@@ -216,21 +297,20 @@
this.imgType = num;
},
//保存品牌
Save(formName) {
let advertising = this.$refs.ue.getUEContent();
this.addMsg.Content = advertising;
this.$refs[formName].validate((valid) => {
if (valid) {
let addMsg = JSON.parse(JSON.stringify(this.addMsg))
addMsg.ObjectTypeIds = addMsg.ObjectTypeIds.join(',')
let addMsg = JSON.parse(JSON.stringify(this.addMsg));
addMsg.ObjectTypeIds = addMsg.ObjectTypeIds.join(",");
if (this.value != '' && this.value != null) {
if (this.value != "" && this.value != null) {
addMsg.StartDate = this.value[0];
addMsg.EndDate = this.value[1];
} else {
this.Error('请选择日期范围');
this.Error("请选择日期范围");
}
this.apipost("/api/Trade/SetFistShopPrizeListInfo", addMsg, (res) => {
if (res.data.resultCode == 1) {
......@@ -260,85 +340,86 @@
if (this.addMsg.Content && this.addMsg.Content != "") {
this.Advertising = this.addMsg.Content;
}
let ids = this.addMsg.ObjectTypeIds.split(',')
if(ids.length>0){//下拉多选的额数据处理
this.addMsg.ObjectTypeIds=[];
ids.forEach(x=>{
let num = Number(x)
this.addMsg.ObjectTypeIds.push(num)
})
let ids = this.addMsg.ObjectTypeIds.split(",");
if (ids.length > 0) {
//下拉多选的额数据处理
this.addMsg.ObjectTypeIds = [];
ids.forEach((x) => {
let num = Number(x);
this.addMsg.ObjectTypeIds.push(num);
});
}
if(this.addMsg.StartDate && this.addMsg.EndDate ){
this.value = [this.addMsg.StartDate,this.addMsg.EndDate ]
if (this.addMsg.StartDate && this.addMsg.EndDate) {
this.value = [this.addMsg.StartDate, this.addMsg.EndDate];
}
console.log(355, this.addMsg, this.addMsg.FinishDate);
}
}
);
},
},
};
};
</script>
<style>
.app-add-cat .el-checkbox-group {
.app-add-cat .el-checkbox-group {
font-size: 14px !important;
}
}
.app-add-cat .el-checkbox {
.app-add-cat .el-checkbox {
margin-right: 0;
}
}
.app-add-cat .el-dialog__body {
.app-add-cat .el-dialog__body {
padding: 10px 20px !important;
}
}
.app-add-cat .tag-box .tag-item {
.app-add-cat .tag-box .tag-item {
margin-right: 5px;
}
}
.app-add-cat .tag-box {
.app-add-cat .tag-box {
margin: 20px 0;
}
}
.app-add-cat .app-goods-cat-list .active {
.app-add-cat .app-goods-cat-list .active {
background: #fafafa;
}
}
.app-add-cat .app-goods-cat-list .cat-item {
.app-add-cat .app-goods-cat-list .cat-item {
cursor: pointer;
padding: 5px 10px;
}
}
.app-add-cat .app-goods-cat-list {
.app-add-cat .app-goods-cat-list {
border: 1px solid #e8eaee;
border-radius: 5px;
margin-top: -5px;
padding: 10px 0;
overflow: scroll;
height: 400px;
}
}
.addbillboard .blue {
.addbillboard .blue {
color: #409eff;
}
}
.addbillboard .content {
.addbillboard .content {
background: #fff;
margin-top: 10px;
padding: 20px;
box-sizing: border-box;
}
}
.addbillboard .gez_list {
.addbillboard .gez_list {
/*width: 650px;*/
margin-bottom: 12px;
padding: 20px;
border: 1px solid #ebeef5;
background-color: #fff;
color: #303133;
}
}
.addbillboard .quyu {
.addbillboard .quyu {
background-color: #f4f4f5;
color: #909399;
padding: 10px;
......@@ -348,59 +429,59 @@
border-radius: 4px;
white-space: nowrap;
margin: 5px;
}
}
.addbillboard .el-tag+.el-tag {
.addbillboard .el-tag + .el-tag {
margin-left: 10px;
}
}
.addbillboard .button-new-tag {
.addbillboard .button-new-tag {
margin-left: 10px;
height: 32px;
line-height: 30px;
padding-top: 0;
padding-bottom: 0;
}
}
.addbillboard .input-new-tag {
.addbillboard .input-new-tag {
width: 90px;
margin-left: 10px;
vertical-align: bottom;
}
}
.addbillboard .ue-style .el-form-item__content {
.addbillboard .ue-style .el-form-item__content {
line-height: 0;
}
}
.addbillboard .app-gallery-item {
.addbillboard .app-gallery-item {
border: none;
}
}
.addbillboard .nav_Main {
.addbillboard .nav_Main {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}
}
.addbillboard .nav_IconContent {
.addbillboard .nav_IconContent {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}
}
/* .addbillboard .nav_IconContent div>div {
/* .addbillboard .nav_IconContent div>div {
display: inline-block;
} */
.addbillboard .colapp-image {
.addbillboard .colapp-image {
background-size: cover;
background-position: center center;
width: 100px;
height: 100px;
border-radius: 0%;
}
}
.addbillboard .add-image-btn {
.addbillboard .add-image-btn {
width: 100px;
height: 100px;
line-height: 100px;
......@@ -408,28 +489,28 @@
border: 1px solid #e2e2e2;
cursor: pointer;
text-align: center;
}
}
.addbillboard .delBtn {
.addbillboard .delBtn {
position: absolute;
right: -8px;
top: -8px;
padding: 4px 4px !important;
}
}
.addbillboard .w600 {
.addbillboard .w600 {
width: 600px;
}
}
.addbillboard .brandShuxing {
.addbillboard .brandShuxing {
display: flex;
justify-content: space-between;
width: 850px;
}
}
.addbillboard .brandShuxing_item {
.addbillboard .brandShuxing_item {
display: flex;
justify-content: space-between;
width: 50%;
}
}
</style>
\ No newline at end of file
......@@ -16,7 +16,7 @@
type="primary"
:disabled="multipleSelection.length === 0"
@click="downloadMultipleExcel"
>下载多榜单报名
>批量下载榜单报名
</el-button>
</div>
</div>
......@@ -172,13 +172,15 @@
</el-table-column>
<el-table-column prop="ListStateName" label="状态"> </el-table-column>
<el-table-column label="操作" width="270">
<el-table-column label="操作" width="200">
<template slot-scope="scope">
<div style="height: 32px; display: flex; align-items: center">
<el-tooltip
class="item"
effect="dark"
content="报名列表"
placement="top"
style="margin-right: 10px"
>
<img
src="../../assets/img/userman/baoming.png"
......@@ -187,12 +189,20 @@
@click="getItem(scope.row)"
/>
</el-tooltip>
<el-dropdown size="medium">
<el-button type="primary" size="mini">
更多菜单<i class="el-icon-arrow-down el-icon--right"></i
></el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item>
<el-tooltip
class="item"
effect="dark"
content="放榜"
placement="top"
v-if="scope.row.ListState === 2"
v-if="
scope.row.ListState === 2 || scope.row.ListState === 3
"
>
<img
src="../../assets/img/setup/fangbang.png"
......@@ -201,6 +211,9 @@
@click="fangbang(scope.row)"
/>
</el-tooltip>
</el-dropdown-item>
<el-dropdown-item v-if="scope.row.ListState == 5">
<el-tooltip
class="item"
effect="dark"
......@@ -212,12 +225,13 @@
alt=""
class="imgstyle"
@click="EditgoUrl(scope.row)"
/>
</el-tooltip>
/> </el-tooltip
></el-dropdown-item>
<el-dropdown-item v-if="scope.row.ListState === 5">
<el-tooltip
class="item"
effect="dark"
content="取消"
content="删除"
placement="top"
>
<img
......@@ -225,8 +239,9 @@
alt=""
class="imgstyle"
@click="delete_b(scope.row)"
/>
</el-tooltip>
/> </el-tooltip
></el-dropdown-item>
<el-dropdown-item>
<el-tooltip
class="item"
effect="dark"
......@@ -234,22 +249,27 @@
placement="top"
>
<img
src="../../assets/img/userman/imgsc.png"
src="../../assets/img/userman/status_1_active.png"
alt=""
class="imgstyle"
@click="downloadSingerExcel(scope.row)"
/>
</el-tooltip>
/> </el-tooltip
></el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
<el-pagination
style="text-align: right"
background
:current-page.sync="msg.pageIndex"
@current-change="handleCurrentChange"
@size-change="handleSizeChange"
:page-sizes="[15, 30, 45, 60, 75, 90]"
:page-size="msg.pageSize"
:current-page.sync="msg.pageIndex"
layout="total,prev, pager, next"
layout="sizes,total,prev, pager, next"
:total="total"
>
</el-pagination>
......@@ -342,7 +362,11 @@ export default {
this.msg.pageIndex = val;
this.getList();
},
handleSizeChange(val) {
this.msg.pageSize = val;
this.getList();
console.log(`每页 ${val} 条`);
},
delete_b(row) {
let that = this;
that.Confirm("是否删除?", function () {
......@@ -386,7 +410,7 @@ export default {
name: "listRegistration",
query: {
Id: row.Id,
blank: "y",
status: row.ListState,
},
});
},
......@@ -424,7 +448,7 @@ export default {
this.GetLocalFile(
"/api/Trade/GetFirstShopMoreListEnrollToExcel",
{ ListIds: ids },
"榜单报名列表.xls"
"批量下载榜单报名列表.xls"
);
},
},
......@@ -469,4 +493,7 @@ export default {
padding: 20px;
box-sizing: border-box;
}
.el-icon-arrow-down {
font-size: 12px;
}
</style>
\ No newline at end of file
......@@ -84,15 +84,15 @@
<el-tooltip class="item" effect="dark" content="详情" placement="top">
<img src="../../assets/img/userman/icon-show.png" alt="" class="imgstyle" />
</el-tooltip>
<el-tooltip class="item" effect="dark" content="淘汰" placement="top">
<el-tooltip class="item" effect="dark" content="淘汰" placement="top" v-if="listStatus!=3">
<img src="../../assets/img/userman/nopass.png" alt="" class="imgstyle"
@click="eliminate(scope.row)" />
</el-tooltip>
<el-tooltip class="item" effect="dark" content="候选" placement="top">
<el-tooltip class="item" effect="dark" content="候选" placement="top" v-if="listStatus!=3">
<img src="../../assets/img/userman/pass.png" alt="" class="imgstyle"
@click="candidate(scope.row)" />
</el-tooltip>
<el-tooltip class="item" effect="dark" content="重置" placement="top">
<el-tooltip class="item" effect="dark" content="重置" placement="top" v-if="listStatus!=3">
<img src="../../assets/img/userman/reset.png" alt="" class="imgstyle"
@click="delete_b(scope.row)" />
</el-tooltip>
......@@ -124,7 +124,7 @@
</div>
</template>
<script>
export default {
export default {
data() {
return {
loading: false,
......@@ -135,7 +135,7 @@
ListId: 0, //
UserId: 0, // 用户
ObjectType: 0,
CandidateState: 0,//1报名中 2候选 3淘汰
CandidateState: 0, //1报名中 2候选 3淘汰
},
total: 0,
tableData: [], //数据列表
......@@ -144,74 +144,81 @@
usermsg: {
pageIndex: 1,
pageSize: 20,
Name: '',
Name: "",
Source: 0,
MemberGrade: 0,
Id: 0,
Moblie: ''
Moblie: "",
},
ListObjectType:[]
ListObjectType: [],
listStatus: -1,
};
},
created() {
if (this.$route.query.Id) {
this.msg.ListId = this.$route.query.Id
this.msg.ListId = this.$route.query.Id;
this.getList();
}
this.getuserList()
this.getListObject()//面向群体 枚举
if (this.$route.query.status) {
this.listStatus = this.$route.query.status;
}
this.getuserList();
this.getListObject(); //面向群体 枚举
// this.getList();
},
methods: {
getListObject() {
this.apipost("/api/Trade/GetListObjectTypeEnumList", {}, res => {
this.apipost("/api/Trade/GetListObjectTypeEnumList", {}, (res) => {
if (res.data.resultCode == 1) {
this.ListObjectType = res.data.data
this.ListObjectType = res.data.data;
}
})
});
},
ChangeListName(val) {
this.usermsg.Name = val;
this.getuserList();
},
getuserList() {
this.apipost("/api/user/GetMemberUserDropDownList", this.usermsg, res => {
this.apipost(
"/api/user/GetMemberUserDropDownList",
this.usermsg,
(res) => {
if (res.data.resultCode == 1) {
let pageData = res.data.data.pageData;
this.userList = pageData;
}
})
}
);
},
getList() {
this.loading = true;
this.apipost("/api/Trade/GetFirstShopEnrollPageList", this.msg, res => {
this.apipost("/api/Trade/GetFirstShopEnrollPageList", this.msg, (res) => {
this.loading = false;
if (res.data.resultCode == 1) {
this.total = res.data.data.count;
let pageData = res.data.data.pageData;
this.tableData = pageData;
}
})
});
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
eliminate(row) {//淘汰对象
eliminate(row) {
//淘汰对象
let that = this;
that.Confirm("你确定要将改对象淘汰吗?", function () {
console.log('你确定要将改对象淘汰吗')
console.log("你确定要将改对象淘汰吗");
});
},
candidate(row) {//候选对象
candidate(row) {
//候选对象
let that = this;
that.Confirm("你确定将该对象纳入为候选吗?", function () {
console.log('你确定将该对象纳入为候选吗')
console.log("你确定将该对象纳入为候选吗");
});
},
delete_b(row) {
......@@ -233,41 +240,34 @@
);
});
},
EditgoUrl() {
EditgoUrl() {},
},
},
mounted() { }
};
mounted() {},
};
</script>
<style>
.listRegistration .content .searchInput {
border: 1px solid #DCDFE6;
.listRegistration .content .searchInput {
border: 1px solid #dcdfe6;
border-radius: 4px;
}
}
.listRegistration .app-image {
.listRegistration .app-image {
background-position: center center;
width: 50px;
height: 50px;
border-radius: 0%;
float: left;
margin-right: 8px;
}
}
.listRegistration .content .searchInput .el-input__inner {
.listRegistration .content .searchInput .el-input__inner {
border: none;
outline: none;
height: 30px;
line-height: 30px;
}
}
.listRegistration .content .searchInput {
.listRegistration .content .searchInput {
line-height: normal;
display: inline-table;
width: 100%;
......@@ -275,12 +275,12 @@
border-spacing: 0;
width: 250px;
margin-right: 20px;
}
}
.listRegistration .content {
.listRegistration .content {
background: #fff;
margin-top: 10px;
padding: 20px;
box-sizing: border-box;
}
}
</style>
\ No newline at end of file
......@@ -37,7 +37,7 @@
<el-option
v-for="item in enterpriseList"
:key="item.Id"
:label="item.CompanyName"
:label="item.CompanyNameObj"
:value="item.Id"
:disabled="item.disabled"
>
......@@ -169,6 +169,12 @@ export default {
// this.msgListindex = index;
// },
synchro(index) {
this.$confirm("后面所有奖章都将同步为当前奖章, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
//奖章同步
let Small = "";
let Grand = "";
......@@ -183,6 +189,18 @@ export default {
// x.MedalImageBig = Grand;
}
});
this.$message({
type: "success",
message: "同步成功!",
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消同步",
});
});
return;
},
selectdis(val, index) {
this.enterpriseList.forEach((e) => {
......@@ -259,7 +277,9 @@ export default {
if (res.data.resultCode == 1) {
this.enterpriseList = [];
this.enterpriseList = res.data.data;
this.enterpriseList.forEach((e, i) => {
e.CompanyNameObj = e.CompanyName + "-" + e.ObjectName;
e.disabled = false;
});
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment