feat(global): 移除无用功能及路由

This commit is contained in:
woody 2025-05-21 17:28:48 +08:00
parent 21c8cb7d4a
commit da928a121d
14 changed files with 1 additions and 5648 deletions

View File

@ -2057,33 +2057,6 @@ export const constantRoutes = [
name: 'Activity',
meta: { title: '营销管理', icon: 'yx', icon1: 'yxSel' },
children: [
{
path: 'superStudioAdmin',
name: 'superStudioAdmin',
component: ParentView,
children: [
// {
// path: 'superStudioGift',
// name: 'superStudioGift',
// component: () => import('@/views/marketing/superStudioGift/index'),
// meta: { title: '超级工作室赠送' },
// },
{
path: 'superStudioMessage',
name: 'superStudioMessage',
component: () => import('@/views/marketing/superStudioGift/message'),
meta: { title: '基本信息' },
hidden: true
},
{
path: 'superStudioRule',
name: 'superStudioRule',
component: () => import('@/views/marketing/superStudioGift/rule'),
meta: { title: '规则设置' },
hidden: true
}
]
},
{
path: 'giftGoods',
name: 'GiftGoods',
@ -2186,73 +2159,6 @@ export const constantRoutes = [
}
]
},
// {
// path: 'seaBean',
// name: 'SeaBean',
// component: ParentView,
// children: [
// {
// path: 'seaBeanList',
// name: 'SeaBeanList',
// component: () => import('@/views/marketing/seaBean/index'),
// meta: { title: '海豆赠送' }
// },
// {
// path: 'addConsumptionInfo',
// name: 'AddConsumptionInfo',
// component: () => import('@/views/marketing/seaBean/addConsumptionInfo'),
// meta: { title: '基本信息' },
// hidden: true
// },
// {
// path: 'seaBeanZxqc',
// name: 'seaBeanZxqc',
// component: () => import('@/views/marketing/seaBean/zxqc'),
// meta: { title: '在线签呈' },
// hidden: true
// }
// ]
// },
// {
// path: 'plantCommonweal',
// name: 'PlantCommonweal',
// component: ParentView,
// children: [
// {
// path: 'plantCommonwealList',
// name: 'PlantCommonwealList',
// component: () => import('@/views/marketing/plantCommonweal/index'),
// meta: { title: '种植公益配置' }
// },
// {
// path: 'addPlantCommonwealList',
// name: 'AddPlantCommonwealList',
// component: () => import('@/views/marketing/plantCommonweal/addCommonWeal.vue'),
// meta: { title: '基本信息' },
// hidden: true
// },
// {
// path: 'plantZxqc',
// name: 'plantZxqc',
// component: () => import('@/views/marketing/plantCommonweal/plantZxqc'),
// meta: { title: '在线签呈' },
// hidden: true
// }
// ]
// },
// {
// path: 'plantDetail',
// name: 'PlantDetail',
// component: ParentView,
// children: [
// {
// path: 'plantDetailList',
// name: 'PlantDetailList',
// component: () => import('@/views/marketing/plantDetail/index'),
// meta: { title: '种植公益明细' }
// }
// ]
// },
{
path: 'winningRecord',
name: 'WinningRecord',
@ -2327,19 +2233,6 @@ export const constantRoutes = [
}
]
},
// {
// path: 'redbao',
// name: 'Redbao',
// component: ParentView,
// children: [
// {
// path: 'redbaoList',
// name: 'RedbaoList',
// component: () => import('@/views/marketing/redbao/index'),
// meta: { title: '红包配置' }
// }
// ]
// },
{
path: 'lottery',
name: 'Lottery',
@ -2381,54 +2274,7 @@ export const constantRoutes = [
}
]
},
// {
// path: 'newcomerGift',
// name: 'NewcomerGift',
// component: ParentView,
// redirect: 'newcomerGiftList/index',
// children: [
// {
// path: 'newcomerGiftList',
// name: 'NewcomerGiftList',
// component: () => import('@/views/marketing/newcomerGift/index'),
// meta: { title: '新人礼包' }
// },
// {
// path: 'newgiftInfo',
// name: 'NewgiftInfo',
// component: () => import('@/views/marketing/newcomerGift/newgiftInfo'),
// meta: { title: '基本信息' },
// hidden: true
// },
// {
// path: 'newgiftRules',
// name: 'NewgiftRules',
// component: () => import('@/views/marketing/newcomerGift/newgiftRules'),
// meta: { title: '规则设置' },
// hidden: true
// },
// {
// path: 'newgiftZxqc',
// name: 'NewgiftZxqc',
// component: () => import('@/views/marketing/newcomerGift/newgiftZxqc'),
// meta: { title: '在线签呈' },
// hidden: true
// }
// ]
// },
{
path: 'festivalGifts',
name: 'FestivalGifts',
component: ParentView,
children: [
{
path: 'festivalGiftsList',
name: 'FestivalGiftsList',
component: () => import('@/views/marketing/festivalGifts/index'),
meta: { title: '节日赠送' }
}
]
},
{
path: 'directGifts',
name: 'DirectGifts',

View File

@ -1,19 +0,0 @@
<!--
* @Descripttion:
* @version:
* @Author: kBank
* @Date: 2023-04-24 09:04:03
-->
<template>
<div>节日赠送</div>
</template>
<script>
export default {
}
</script>
<style>
</style>

View File

@ -1,352 +0,0 @@
<template>
<div class="page">
<topBar
v-if="topList.length > 0"
:topList="topList"
:moren="moren"
></topBar>
<div class="thetopbox">
<el-form ref="queryParams" :model="queryParams" label-width="100px">
<el-row>
<el-col :span="4">
<el-form-item :label="'活动名称'" prop="actName" class="el-inputs">
<el-input clearable v-model="queryParams.actName"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item
:label="'活动状态'"
prop="activityStatus"
class="el-inputs"
>
<el-select clearable v-model="queryParams.activityStatus">
<el-option
v-for="item in stateList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="'开始日期'" prop="enableState">
<el-date-picker
@change="changeTime"
type="datetimerange"
range-separator="——"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
value-format="yyyy-MM-dd HH:mm:ss"
:unlink-panels="true"
v-model="actTime1"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="'结束日期'" prop="enableState">
<el-date-picker
@change="changeTime2"
type="datetimerange"
range-separator="——"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
value-format="yyyy-MM-dd HH:mm:ss"
:unlink-panels="true"
v-model="actTime2"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item :label="'创建日期'" prop="enableState">
<el-date-picker
@change="changeTime3"
type="datetimerange"
range-separator="——"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
value-format="yyyy-MM-dd HH:mm:ss"
:unlink-panels="true"
v-model="actTime3"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4" style="margin-left: 30px">
<div class="searchbox">
<el-button class="my_search" @click="reSearch"> {{ '搜索' }}</el-button>
<el-button class="my_reset" @click="reChongzhi"> {{ '重置' }}</el-button>
</div>
</el-col>
</el-row>
</el-form>
</div>
<div class="main">
<div class="maintop">
<div class="mainbtn">
<el-button size="mini" class="thebtn1"
v-hasButtons="['newAdd']" @click="adddate()"
>{{'添加'}}</el-button
>
<el-button size="mini"
v-hasButtons="['newExport']"
@click="handleExport"
class="exportBtn"> {{ '导出' }}</el-button>
</div>
</div>
<div class="maintable">
<el-table
:data="tableData"
v-loading="loading"
style="width: 100%"
height="680px"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column align="center" prop="actName" :label="'活动名称'">
</el-table-column>
<el-table-column align="center" prop="actStartDate" :label="'开始日期'">
</el-table-column>
<el-table-column align="center" prop="actEndDate" :label="'结束日期'">
</el-table-column>
<el-table-column
align="center"
prop="status"
:label="'活动状态'"
>
</el-table-column>
<el-table-column align="center" prop="creationTime" :label="'创建日期'">
</el-table-column>
<el-table-column
align="center"
prop="time"
:label="'操作'"
fixed="right"
>
<template slot-scope="scope">
<el-button
class="button-s"
style="color: #e70dec"
@click.native.prevent="toFixed(scope.row.pkId, 4)"
type="text"
v-hasButtons="['newSee']"
size="small"
>
{{ '查看' }}
</el-button>
<el-button
class="button-s"
style="color: #48b2fd"
@click.native.prevent="toFixed(scope.row.pkId, 2)"
type="text"
v-hasButtons="['newUpdata']"
size="small"
>
{{'修改'}}
</el-button>
<el-button
class="button-s"
@click.native.prevent="toFixed(scope.row.pkId, 3)"
type="text"
size="small"
v-hasButtons="['newDel']"
style="color: #c73030"
>
{{ '删除' }}
</el-button>
</template>
</el-table-column>
</el-table>
</div>
</div>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="reSearch"
/>
</div>
</template>
<script>
import topBar from "@/components/topBar";
import * as api from "@/api/newgift";
export default {
name: "NewcomerGiftList",
components: {
topBar,
},
data() {
return {
moren: "newcomerGiftList",
topList: [
{
name: '新人礼包',
path: "newcomerGiftList",
},
],
total: 0,
tableData: [],
loading:false,
queryParams: {
pageNum: 1,
pageSize: 50,
actType: 16,
},
multipleSelection: [],
stateList: [],
actTime1:"",
actTime2:"",
actTime3:""
};
},
created() {
this.reSearch();
this.getOther();
},
methods: {
reChongzhi() {
this.queryParams = {
pageNum: 1,
pageSize: 50,
actType: 16,
};
this.reSearch()
},
getOther() {
api.getActiveStatus().then((res) => {
this.stateList = res.data;
});
},
reSearch() {
this.loading = true
api.getNewPeopleList(this.queryParams).then((res) => {
this.tableData = res.rows;
this.total = res.total;
this.loading = false
});
},
adddate() {
this.$router.push({
path: "newgiftInfo",
query:{
controlType:1
}
});
},
//
toFixed(id, index) {
this.$router.push({
path: "newgiftInfo",
query: {
pkId: id,
controlType: index,
},
});
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
/** 导出按钮操作 */
handleExport() {
this.$confirm( '是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then((_) => {
this.download(
'activity/manage/people-service/export',
Object.assign({},{actType:12}, this.queryParams, this.select),
`${'新人礼包'}${new Date().getTime()}.xlsx`
)
})
},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
} else if (rowIndex % 2 == 0) {
return "success-row";
}
return "";
},
changeTime(val) {
this.queryParams.startActStartDate = val?val[0]:''
this.queryParams.endActStartDate = val?val[1]:''
},
changeTime2(val) {
this.queryParams.startActEndDate = val?val[0]:''
this.queryParams.endActEndDate = val?val[1]:''
},
changeTime3(val) {
this.queryParams.startCreationTime = val?val[0]:''
this.queryParams.endCreationTime = val?val[1]:''
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-range-editor.el-input__inner {
width: 100%;
}
::v-deep .el-table .warning-row {
background: #f9f9f9;
}
::v-deep .el-table .success-row {
background: #ffffff;
}
::v-deep .el-table thead {
color: #000000;
}
.page {
padding: 10px 20px;
background: #f9f9f9;
font-size: 14px;
.thetopbox {
padding: 20px 20px 20px;
background: #ffffff;
border-radius: 8px;
.searchbox {
display: flex;
align-items: center;
.searchtitle {
margin-right: 10px;
}
.searchbtn {
background: #c8161d;
color: #ffffff;
}
}
}
.main {
background: #f9f9f9;
.maintop {
display: flex;
// padding: 10px 0;
justify-content: space-between;
align-items: center;
.mainbtn {
.thebtn1 {
background: #4391fd;
color: #ffffff;
}
.thebtn2 {
background: #ffad41;
color: #ffffff;
}
}
}
}
}
</style>

View File

@ -1,576 +0,0 @@
<template>
<div class="page">
<!-- <topBar v-if="topList.length > 0"
:topList="topList"
:moren="moren"></topBar> -->
<div class="topbox">
<div
v-for="(item, index) in topList"
:key="index"
class="levelList_i"
:class="tabActive == item.id ? 'act' : ''"
@click.prevent="handleLink(item.id)"
>
{{ item.name }}
</div>
</div>
<div class="main">
<div v-show="tabActive == 0">
<div class="tit">{{ '基本信息' }}</div>
<div class="xian" />
<el-form
ref="ruleForm"
:model="ruleForm"
:rules="rules"
label-width="auto"
class="demo-ruleForm"
>
<el-row>
<el-col :span="8">
<el-form-item :label="'活动名称'" required prop="actName">
<el-input
v-model="ruleForm.actName"
clearable
:disabled="lookOver"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<el-form-item :label="'活动说明'" required prop="actExplain">
<!-- <el-input
clearable
type="textarea"
v-model="ruleForm.actExplain"
:disabled="lookOver"
></el-input> -->
<editor
ref="sptwEditor"
v-model="ruleForm.actExplain"
:read-only="lookOver"
:min-height="196"
:upload-url="uploadImgUrl"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item :label="'活动封面'" prop="actCover">
<imageUpload v-model="ruleForm.actCover" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="'目标用户群体'" required>
<div class="flexed">
<el-checkbox
v-model="ruleForm.checked1"
class="flexed_l"
@change="getCheckTit($event, 1)"
>{{ '注册等级' }}</el-checkbox>
<el-checkbox-group
v-model="ruleForm.levelList"
@change="getCheck"
>
<el-checkbox
v-for="item in gradeList"
:key="item.pkId"
:label="item.pkId"
>{{ item.gradeName }}</el-checkbox>
</el-checkbox-group>
</div>
<div class="flexed">
<el-checkbox
v-model="ruleForm.checked2"
class="flexed_l"
@change="getCheckTit($event, 2)"
>{{ '荣誉奖衔' }}</el-checkbox>
<el-checkbox-group
v-model="ruleForm.realList"
@change="getCheck"
>
<el-checkbox
v-for="item in awardsList"
:key="item.pkId"
:label="item.pkId"
>{{ item.awardsName }}</el-checkbox>
</el-checkbox-group>
</div>
<div class="flexed">
<el-checkbox
v-model="ruleForm.checked3"
class="flexed_l"
@change="getCheckTit($event, 3)"
>{{ '权限中心' }}</el-checkbox>
<el-checkbox-group
v-model="ruleForm.centerList"
@change="getCheck"
>
<el-checkbox
v-for="item in registList"
:key="item.value"
:label="item.value"
>{{ item.label }}</el-checkbox>
</el-checkbox-group>
</div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item required :label="'活动时间'" prop="ruleFormTime">
<el-date-picker
v-model="ruleForm.ruleFormTime"
:disabled="lookOver"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
@change="changeTime"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item required :label="'展示时间'" prop="ruleFormTime1">
<el-date-picker
v-model="ruleForm.ruleFormTime1"
:disabled="lookOver"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
@change="changeTime1"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<newgiftRules v-show="tabActive == 1" ref="newgiftRules" :look-over="lookOver" />
</div>
<div class="footer">
<el-button size="small" class="cancelBtn"> {{ '取消' }}</el-button>
<el-button
size="small"
class="sureBtn"
@click="submit('ruleForm')"
> {{ '确认' }}</el-button>
</div>
<!-- </div> -->
</div>
</template>
<script>
import Editor from '@/components/Editor'
import * as api from '@/api/giftGoods.js'
import * as gif from '@/api/newgift.js'
import topBar from '@/components/topBar'
import ImageUpload from '@/components/ImageUpload'
import newgiftRules from '@/views/marketing/newcomerGift/newgiftRules'
export default {
name: 'NewgiftInfo',
components: {
topBar,
ImageUpload,
newgiftRules,
Editor
},
data() {
return {
uploadImgUrl: process.env.VUE_APP_BASE_API + '/system/upload',
// moren: "newgiftInfo",
topList: [
{
name: '基本信息',
id: 0
},
{
name: '规则设置',
id: 1
}
],
ruleForm: {
checked1: false,
checked2: false,
checked3: false,
levelList: [],
realList: [],
centerList: [],
goalMemberConfigList: []
},
rules: {
actName: [
{ required: true, message: '请输入活动名称', trigger: 'blur' }
],
actExplain: [
{ required: true, message: '请输入活动说明', trigger: 'blur' }
],
actCover: [
{ required: true, message: '请上传活动封面', trigger: 'change' }
],
goalMemberConfigList: [
{ required: true, message: '请选择目标用户群体', trigger: 'change' }
],
ruleFormTime: [
{ required: true, message: '请选择活动时间', trigger: 'change' }
],
ruleFormTime1: [
{ required: true, message: '请选择展示时间', trigger: 'change' }
]
},
lookOver: false,
gradeList: [],
awardsList: [],
registList: [],
pkId: '',
waresConfigParam: [],
tabActive: 0,
controlType: ''
}
},
mounted() {
this.getData()
// 1=,2=,3=4
if (
this.$route.query.controlType == 4 ||
this.$route.query.controlType == 3
) {
this.lookOver = true
} else {
this.lookOver = false
}
this.controlType = this.$route.query.controlType
this.pkId = this.$route.query.pkId || ''
if (this.pkId) {
this.getDetails()
}
if (this.$route.query.data) {
this.waresConfigParam = JSON.parse(this.$route.query.data)
// console.log(
// "%c [ this.waresConfigParam ]-260",
// "font-size:13px; background:#d492d6; color:#ffd6ff;",
// this.waresConfigParam
// );
this.getDetails1()
}
},
methods: {
getDetails1() {
this.$set(
this.ruleForm,
'actName',
this.waresConfigParam.activityParam.actName
)
this.$set(
this.ruleForm,
'actExplain',
this.waresConfigParam.activityParam.actExplain
)
this.$set(
this.ruleForm,
'actCover',
this.waresConfigParam.activityParam.actCover
)
this.$set(this.ruleForm, 'ruleFormTime', [
this.waresConfigParam.activityParam.actStartDate,
this.waresConfigParam.activityParam.actEndDate
])
this.$set(this.ruleForm, 'ruleFormTime1', [
this.waresConfigParam.activityParam.disStartDate,
this.waresConfigParam.activityParam.disEndDate
])
const arr1 = []
const arr2 = []
const arr3 = []
this.waresConfigParam.activityParam.goalMemberConfigList.forEach(
(item) => {
if (item.memberType == 1) {
arr1.push(item.pkLevel)
} else if (item.memberType == 2) {
arr2.push(item.pkLevel)
} else if (item.memberType == 3) {
arr3.push(item.pkLevel)
}
}
)
this.$set(this.ruleForm, 'levelList', arr1)
this.$set(this.ruleForm, 'realList', arr2)
this.$set(this.ruleForm, 'centerList', arr3)
this.$refs.newgiftRules.getPage(
this.waresConfigParam.anpList || ''
)
const that = this
setTimeout(() => {
that.getCheck()
}, 500)
},
// tab
handleLink(id) {
this.tabActive = id
if (this.pkId) {
this.$refs.newgiftRules.getPage(this.waresConfigParam)
}
},
getDetails() {
gif
.getNewPeopleDetails({
pkId: this.pkId
})
.then((res) => {
this.waresConfigParam = res.data.anpList
this.$set(this.ruleForm, 'actName', res.data.actName)
this.$set(this.ruleForm, 'actExplain', res.data.actExplain)
this.$set(this.ruleForm, 'actCover', res.data.actCover)
this.ruleForm.pkId = res.data.pkId
this.ruleForm.actStartDate = res.data.actStartDate
this.ruleForm.actEndDate = res.data.actEndDate
this.ruleForm.disStartDate = res.data.disStartDate
this.ruleForm.disEndDate = res.data.disEndDate
this.$set(this.ruleForm, 'ruleFormTime', [
res.data.actStartDate,
res.data.actEndDate
])
this.$set(this.ruleForm, 'ruleFormTime1', [
res.data.disStartDate,
res.data.disEndDate
])
const arr1 = []
const arr2 = []
const arr3 = []
res.data.goalMemberConfigList.forEach((item) => {
if (item.memberType == 1) {
arr1.push(item.pkLevel)
} else if (item.memberType == 2) {
arr2.push(item.pkLevel)
} else if (item.memberType == 3) {
arr3.push(item.pkLevel)
}
})
this.$set(this.ruleForm, 'levelList', arr1)
this.$set(this.ruleForm, 'realList', arr2)
this.$set(this.ruleForm, 'centerList', arr3)
const that = this
setTimeout(() => {
that.getCheck()
}, 50)
})
},
//
getCheck() {
const arr1 = []
const arr2 = []
const arr3 = []
//
this.ruleForm.levelList.forEach((item) => {
arr1.push({
memberType: 1,
pkLevel: item
})
})
//
this.ruleForm.realList.forEach((item) => {
arr2.push({
memberType: 2,
pkLevel: item
})
})
//
this.ruleForm.centerList.forEach((item) => {
arr3.push({
memberType: 3,
pkLevel: item
})
})
this.ruleForm.goalMemberConfigList = [...arr1, ...arr2, ...arr3]
//
if (this.ruleForm.levelList.length == this.gradeList.length) {
this.ruleForm.checked1 = true
} else {
this.ruleForm.checked1 = false
}
if (this.ruleForm.realList.length == this.awardsList.length) {
this.ruleForm.checked2 = true
} else {
this.ruleForm.checked2 = false
}
if (this.ruleForm.centerList.length == this.registList.length) {
this.ruleForm.checked3 = true
} else {
this.ruleForm.checked3 = false
}
},
//
getCheckTit(val, index) {
//
if (index == 1 && val) {
this.ruleForm.levelList = this.gradeList.map((item) => {
return item.pkId
})
} else if (index == 1 && !val) {
this.ruleForm.levelList = []
}
//
if (index == 2 && val) {
this.ruleForm.realList = this.awardsList.map((item) => {
return item.pkId
})
} else if (index == 2 && !val) {
this.ruleForm.realList = []
}
//
if (index == 3 && val) {
this.ruleForm.centerList = this.registList.map((item) => {
return item.value
})
} else if (index == 3 && !val) {
this.ruleForm.centerList = []
}
this.getCheck()
},
changeTime(val) {
this.ruleForm.actStartDate = val[0]
this.ruleForm.actEndDate = val[1]
},
changeTime1(val) {
this.ruleForm.disStartDate = val[0]
this.ruleForm.disEndDate = val[1]
},
getData() {
api.awardsList().then((res) => {
this.awardsList = res.rows
})
api.gradeList().then((res) => {
this.gradeList = res.rows
})
api.registerPowerState().then((res) => {
this.registList = res.data
})
},
submit() {
this.$refs['ruleForm'].validate((valid) => {
if (valid && this.controlType != 4) {
const obj = Object.assign(
{},
{
controlType: this.controlType,
activityParam: this.ruleForm,
anpList: this.$refs.newgiftRules.recommendUpgradeList
}
)
this.$router.push({
path: 'newgiftZxqc',
query: {
data: JSON.stringify(obj),
approvalBusiness: 713
}
})
}
})
}
}
}
</script>
<style lang="scss" scoped>
.page {
padding: 20px;
background: #f9f9f9;
font-size: 14px;
.main_a {
height: calc(100vh - 144px);
display: flex;
flex-direction: column;
}
.main {
background: #ffffff;
border-radius: 8px;
// height: calc(100vh - 124px);
box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
}
::v-deep .el-select {
width: 100%;
}
}
.footer {
height: 68px;
background: #ffffff;
box-shadow: 0px -3px 20px 0px rgba(204, 204, 204, 0.5);
// margin: 0 20px;
display: flex;
justify-content: center;
align-items: center;
.thebtn1 {
background: #3181e5;
color: #ffffff;
padding: 9px 45px;
}
.thebtn2 {
background: #cccccc;
color: #ffffff;
padding: 9px 45px;
}
}
.tit {
font-size: 14px;
font-weight: bold;
color: #333333;
padding: 0 20px;
border-left: 5px solid #c8161d;
margin: 20px 0 10px 0;
}
.xian {
height: 1px;
background: rgba(0, 0, 0, 0.1);
}
.demo-ruleForm {
padding: 20px 0;
}
::v-deep .el-date-editor--datetimerange {
width: auto !important;
}
.flexed {
display: flex;
}
.flexed_l {
margin-right: 20px;
}
.topbox {
align-items: center;
padding: 0px 0 3px 0;
display: flex;
// background: skyblue;
.levelList_i {
margin-left: 20px;
position: relative;
cursor: pointer;
padding: 4px 15px;
// width: 88px;
// height: 34px;
border-radius: 17px;
border: 1px solid #cccccc;
font-size: 12px;
font-family: MicrosoftYaHei;
text-align: center;
// line-height: 34px;
}
.act {
color: #ffffff;
background: #c8161d;
}
}
::v-deep .el-form-item {
margin-bottom: 20px!important;
}
</style>

View File

@ -1,892 +0,0 @@
<template>
<div class="page">
<div>
<div class="tit">{{ '规则设置' }}</div>
<div class="xian"></div>
<div class="table">
<!-- 批量操作 -->
<table>
<tr>
<th colspan="1" class="tableLeft">
<el-button
type="primary"
:disabled="lookOver"
@click="addNewGoods"
size="mini"
>{{ '添加' }}
</el-button>
</th>
<th colspan="2" style="padding-bottom: 0; border: 0">
<div class="tableFlex">
<div class="tableFlex_i">
<el-select
v-model="plcz.pkGrade"
size="medium"
:placeholder="'注册等级'"
:disabled="lookOver"
>
<el-option
v-for="item in gradeList"
:key="item.pkId"
:label="item.gradeName"
:value="item.pkId"
>
</el-option>
</el-select>
</div>
</div>
</th>
<th colspan="6" style="padding-bottom: 0; border: 0">
<div class="tableFlex">
<div class="tableFlex_i">
<el-input
:placeholder="'方案'"
size="medium"
v-model="plcz.plan"
:disabled="lookOver"
></el-input>
</div>
<div class="tableFlex_i">
<el-input
:placeholder="'价格'"
size="medium"
v-model="plcz.price"
:disabled="lookOver"
></el-input>
</div>
<div class="tableFlex_i">
<el-input
:placeholder="'有限期'"
size="medium"
v-model="plcz.term"
:disabled="lookOver"
></el-input>
</div>
</div>
</th>
<th colspan="4"></th>
<th colspan="7" style="padding-bottom: 0; border-left: 0">
<div class="tableFlex">
<div class="tableFlex_i"></div>
<div class="tableFlex_i"></div>
<div class="tableFlex_i">
<el-input
:placeholder="'产品价格'"
size="medium"
v-model="plcz.price2"
:disabled="lookOver"
></el-input>
</div>
<div class="tableFlex_i">
<el-input
:placeholder="'赠送数量'"
size="medium"
v-model="plcz.quantity"
:disabled="lookOver"
></el-input>
</div>
<div class="tableAdd"></div>
</div>
</th>
<th colspan="2" style="padding-bottom: 0">
<div class="tableFlex">
<div class="tableFlex_i">
<el-button
type="primary"
:disabled="lookOver"
@click="toPlcz"
size="mini"
>{{ '批量操作' }}</el-button
>
</div>
<div class="tableFlex_i">
<el-button size="mini" :disabled="lookOver" @click="reset">
{{ '重置' }}</el-button
>
</div>
</div>
</th>
</tr>
</table>
<table class="table_b">
<tr style="border-top: 0">
<td colspan="1" style="border: 0"></td>
<td colspan="2">{{ '注册等级' }}</td>
<td colspan="6" style="padding-bottom: 0">
<div class="tableFlex">
<!-- <div class="tableFlex_i">结算等级</div> -->
<div class="tableFlex_i">{{ '方案' }}</div>
<div class="tableFlex_i">{{ '价格' }}</div>
<div class="tableFlex_i">{{ '有限期' }}</div>
</div>
</td>
<td colspan="2">{{ '必选商品' }}</td>
<td colspan="2">{{ '屏蔽商品' }}</td>
<td colspan="7" style="padding-bottom: 0">
<div class="tableFlex">
<div class="tableFlex_i">{{ '赠送产品' }}</div>
<div class="tableFlex_i">{{ '产品规格' }}</div>
<div class="tableFlex_i">{{ '产品价格' }}</div>
<div class="tableFlex_i">{{ '赠送数量' }}</div>
<div class="tableAdd"></div>
</div>
</td>
<td colspan="2" style="border: 0"></td>
</tr>
<tr v-for="(item, index) in recommendUpgradeList" :key="index">
<td style="border: 0"></td>
<td colspan="2" style="padding-bottom: 0">
<div class="tableFlex">
<div class="tableFlex_i">
<el-select
v-model="item.pkGrade"
size="medium"
:placeholder="'注册等级'"
:disabled="lookOver"
>
<el-option
v-for="item in gradeList"
:key="item.pkId"
:label="item.gradeName"
:value="item.pkId"
>
</el-option>
</el-select>
</div>
</div>
</td>
<td colspan="6" style="padding-bottom: 0">
<div class="tableFlex">
<div class="tableFlex_i">
<el-input
:placeholder="'方案'"
size="medium"
v-model="item.plan"
:disabled="lookOver"
></el-input>
</div>
<div class="tableFlex_i">
<el-input
:placeholder="'价格'"
size="medium"
v-model="item.price"
:disabled="lookOver"
></el-input>
</div>
<div class="tableFlex_i">
<el-input
:placeholder="'有限期'"
size="medium"
v-model="item.term"
:disabled="lookOver"
></el-input>
</div>
</div>
</td>
<td colspan="2" style="padding-bottom: 0">
<div class="tableFlex">
<div class="tableFlex_i">
<el-select
v-model="item.mustWares"
size="medium"
filterable
:placeholder="'请选择'"
:disabled="lookOver"
>
<el-option
v-for="citem in allGoods"
:key="citem.pkId"
:label="citem.waresName"
:value="citem.pkId"
>
<span style="float: left">{{ citem.waresName }}</span>
<span
style="float: right; color: #8492a6; font-size: 13px"
>{{ citem.waresCode }}</span
>
</el-option>
</el-select>
</div>
</div>
</td>
<td colspan="2" style="padding-bottom: 0">
<div class="tableFlex">
<div class="tableFlex_i">
<el-select
v-model="item.shieldWares"
size="medium"
filterable
:placeholder="'请选择'"
:disabled="lookOver"
>
<el-option
v-for="citem in allGoods"
:key="citem.pkId"
:label="citem.waresName"
:value="citem.pkId"
>
<span style="float: left">{{ citem.waresName }}</span>
<span
style="float: right; color: #8492a6; font-size: 13px"
>{{ citem.waresCode }}</span
>
</el-option>
</el-select>
</div>
</div>
</td>
<td colspan="7" style="padding-bottom: 0">
<div
class="tableFlex"
v-for="(ctem, cndex) in item.agcList"
:key="cndex"
>
<div class="tableFlex_i">
<el-input
:placeholder="'请选择赠送产品'"
v-model="ctem.productName"
:disabled="lookOver"
@focus="getProduct(index, cndex)"
></el-input>
</div>
<div class="tableFlex_i">
<el-input
disabled
size="medium"
v-model="ctem.specsName"
></el-input>
</div>
<div class="tableFlex_i">
<el-input
size="medium"
:disabled="lookOver"
v-model="ctem.price"
></el-input>
</div>
<div class="tableFlex_i">
<el-input
size="medium"
:disabled="lookOver"
v-model="ctem.quantity"
></el-input>
</div>
<div class="tableAdd">
<img
src="@/assets/images/iconpop.png"
@click="reduceProduct(index, cndex)"
alt=""
/>
<img
v-if="cndex == item.agcList.length - 1"
src="@/assets/images/iconadd.png"
@click="addProduct(index, cndex)"
alt=""
/>
</div>
</div>
<div class="tableAddPro" v-show="item.agcList.length == 0">
{{ '添加产品' }}
<img
src="@/assets/images/iconadd.png"
@click="addProduct(index, cndex)"
alt=""
/>
</div>
</td>
<td colspan="2" style="border: 0"></td>
</tr>
<tr v-if="recommendUpgradeList.length > 0">
<td colspan="1"></td>
<td colspan="19">
<div class="tableAdd" style="margin: 0 auto">
<img
style="cursor: pointer"
src="@/assets/images/iconpop.png"
@click="reduceNewGoods()"
alt=""
/>
</div>
</td>
</tr>
</table>
</div>
<!-- <div class="footer">
<el-button size="small"
class="thebtn2"> {{ '取消' }}</el-button>
<el-button size="small"
@click="submit"
class="thebtn1"> {{ '确认' }}</el-button>
</div> -->
<el-dialog
:title="'添加'"
:visible.sync="dialogVisible"
:close-on-click-modal="false"
width="40%"
center
:before-close="handleClose"
>
<div class="cpHeight">
<el-row>
<el-col :span="22">
<el-input
v-model="select.queryInfo"
clearable
:placeholder="'请输入'"
@keyup.enter.native="getDataList"
prefix-icon="el-icon-search"
></el-input>
</el-col>
<el-col :span="2">
<el-button type="primary" size="small" @click="getDataList">
{{ '搜索' }}</el-button
>
</el-col>
</el-row>
<div style="height: 10px"></div>
<el-table
:data="dialogList"
ref="multipleTable"
style="width: 100%"
@select-all="onSelectAll"
@select="selected"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
>
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column
align="center"
prop="productName"
:label="'产品名称'"
>
</el-table-column>
<el-table-column
align="center"
prop="productCode"
:label="'产品编号'"
>
</el-table-column>
<el-table-column
align="center"
prop="productName"
:label="'规格'"
>
<template slot-scope="scope">
<div
class="blueCor"
v-show="
scope.row.selSkuNameList == '' ||
scope.row.selSkuNameList == undefined
"
@click="selSku(scope.row.pkId, scope.$index)"
>
{{ '选择规格' }}
</div>
<div
class="blueCor"
v-show="
scope.row.selSkuNameList != '' &&
scope.row.selSkuNameList != undefined
"
@click="selSku(scope.row.pkId, scope.$index)"
>
{{ scope.row.selSkuNameList }}
</div>
</template>
</el-table-column>
<el-table-column
align="center"
prop="productName"
:label="'商品数量'"
>
<template slot-scope="scope">
<el-input-number
size="mini"
v-model="scope.row.quantity"
:min="1"
></el-input-number>
</template>
</el-table-column>
</el-table>
</div>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getDataList"
/>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose">{{ '取消' }}</el-button>
<el-button type="primary" @click="sureProduct">{{
'确认'
}}</el-button>
</span>
</el-dialog>
<el-dialog
:title="'规格'"
:visible.sync="ggVisible"
:close-on-click-modal="false"
width="40%"
center
:before-close="handleCloseGg"
>
<div>
<el-form>
<el-form-item
:label="item.typeName"
v-for="(item, index) in skuList"
:key="index"
>
<el-radio-group v-model="item.pkProductSku">
<el-radio
v-for="(ctem, cndex) in item.specsList"
@change="getCheckBox(item.pkId, item.specsName)"
:key="ctem.pkId"
:label="ctem.pkId"
>{{ ctem.specsName }}</el-radio
>
</el-radio-group>
</el-form-item>
</el-form>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="handleCloseGg">{{ '取消' }}</el-button>
<el-button type="primary" @click="sureSku">{{
'确认'
}}</el-button>
</span>
</el-dialog>
</div>
</div>
</template>
<script>
import * as api from "@/api/giftGoods.js";
import ImageUpload from "@/components/ImageUpload";
export default {
name: "NewgiftRules",
components: {
ImageUpload,
},
props: {
lookOver: {
type: Boolean,
default: false,
},
},
data() {
return {
dialogVisible: false,
ggVisible: false,
queryParams: {
pageNum: 1,
pageSize: 50,
},
total: 0,
allData: [], //
areaList: [], //
isArea: "",
plcz: {},
select: {}, //
dialogList: [], //
selectData: [], //
skuList: [], //
gradeList: [], //
selSkuList: "",
selSkuNameList: "",
selIndex: "",
showCndex: "",
showIndex: "",
pageData: {},
recommendUpgradeList: [],
allGoods: [],
};
},
mounted() {
this.getData();
},
methods: {
getPage(allData) {
this.recommendUpgradeList = allData;
console.log("🌈allData", allData);
},
getData() {
api.gradeList().then((res) => {
this.gradeList = res.rows;
});
api.waresList().then((res) => {
this.allGoods = res.data;
});
},
sureSku() {
this.$set(this.dialogList[this.selIndex], "selSkuList", this.selSkuList);
this.$set(
this.dialogList[this.selIndex],
"selSkuNameList",
this.selSkuNameList
);
this.ggVisible = false;
},
sureProduct() {
if (this.selectData.length == 0) {
this.$message({
message: '请选择产品',
type: "warning",
});
return false;
} else {
this.recommendUpgradeList[this.showIndex].agcList[
this.showCndex
].pkProduct = this.selectData.pkId;
this.recommendUpgradeList[this.showIndex].agcList[
this.showCndex
].productName = this.selectData.productName;
this.recommendUpgradeList[this.showIndex].agcList[
this.showCndex
].specsName = this.selectData.selSkuNameList;
this.recommendUpgradeList[this.showIndex].agcList[
this.showCndex
].specsNameId = this.selectData.selSkuList;
this.recommendUpgradeList[this.showIndex].agcList[
this.showCndex
].quantity = this.selectData.quantity;
this.handleClose();
this.$forceUpdate();
}
},
toPlcz() {
this.recommendUpgradeList.forEach((stem) => {
stem.agcList.forEach((ctem) => {
ctem.quantity = this.plcz.quantity;
ctem.price = this.plcz.price2;
stem.pkGrade = this.plcz.pkGrade;
stem.plan = this.plcz.plan;
stem.price = this.plcz.price;
stem.term = this.plcz.term;
});
});
},
reset() {
this.plcz = {};
},
getCheckBox() {
let arr1 = [],
arr2 = [];
this.skuList.forEach((item) => {
item.specsList.forEach((ctem) => {
if (ctem.pkId == item.pkProductSku) {
arr1.push(ctem.pkId);
arr2.push(ctem.specsName);
}
});
});
this.selSkuList = arr1.join(",");
this.selSkuNameList = arr2.join(",");
},
setArea(val) {
this.isArea = val;
},
handleClose() {
this.selectData = [];
this.dialogVisible = false;
},
handleCloseGg() {
this.ggVisible = false;
},
getProduct(index, cndex) {
this.showIndex = index;
this.showCndex = cndex;
this.getDataList();
this.dialogVisible = true;
},
addProduct(index, sndex) {
if (!this.lookOver) {
this.recommendUpgradeList[index].agcList.push({
pkProduct: "",
productName: "",
specsName: "",
specsNameId: "",
quantity: "",
price: "",
});
}
},
reduceProduct(index, cndex) {
if (!this.lookOver) {
this.recommendUpgradeList[index].agcList.splice(cndex, 1);
}
},
reduceNewGoods() {
this.recommendUpgradeList.splice(this.recommendUpgradeList.length - 1, 1);
},
addNewGoods() {
this.recommendUpgradeList.push({
pkGrade: "",
plan: "",
price: "",
term: "",
agcList: [
{
pkProduct: "",
productName: "",
specsName: "",
specsNameId: "",
quantity: "",
price: "",
},
],
mustWares: "",
shieldWares: "",
});
},
selSku(pkId, index) {
this.selIndex = index;
api
.getProductSpecs({
pkProduct: pkId,
})
.then((res) => {
let arr1 = [],
arr2 = [];
res.data.forEach((item) => {
item.pkProductSku = item.specsList[0].pkId;
arr1.push(item.specsList[0].pkId);
arr2.push(item.specsList[0].specsName);
});
this.selSkuList = arr1.join(",");
this.selSkuNameList = arr2.join(",");
this.skuList = res.data;
this.ggVisible = true;
});
},
getDataList() {
api
.getProductAll(
Object.assign({isPutOn:0}, this.queryParams, this.select, { isExistSpecs: 1 })
)
.then((res) => {
res.rows.forEach((item) => {
item.quantity = 1;
});
this.dialogList = res.rows;
this.total = res.total;
});
},
// submit() {
// let obj = Object.assign({}, this.pageData, {
// waresConfigParam: this.allData,
// })
// console.log(
// '%c [ obj ]-445',
// 'font-size:13px; background:#6f1b1a; color:#b35f5e;',
// obj
// )
// api.activitySave(obj).then((res) => {
// if (res.code == 200) {
// // this.$router.push({
// // path: '/announcement/fbZxqc',
// // query: {
// // data: JSON.stringify(res.data),
// // },
// // })
// }
// })
// },
onSelectAll() {
this.$refs.multipleTable.clearSelection();
},
selected(selection, row) {
//
this.$refs.multipleTable.clearSelection();
//
//
if (selection.length == 0) return;
this.$refs.multipleTable.toggleRowSelection(row, true);
this.selectData = row;
},
//
selectionChange(val) {
//
this.selectData = val;
},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
} else if (rowIndex % 2 == 0) {
return "success-row";
}
return "";
},
},
};
</script>
<style lang="scss" scoped>
.page {
padding: 10px 20px;
background: #f9f9f9;
font-size: 14px;
}
.main {
background: #ffffff;
border-radius: 8px;
height: calc(100vh - 164px);
padding-bottom: 20px;
box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
}
::v-deep .el-select {
width: 100%;
}
// }
.footer {
height: 68px;
background: #ffffff;
box-shadow: 0px -3px 20px 0px rgba(204, 204, 204, 0.5);
// margin: 0 20px;
display: flex;
justify-content: center;
align-items: center;
.thebtn1 {
background: #3181e5;
color: #ffffff;
padding: 9px 45px;
}
.thebtn2 {
background: #cccccc;
color: #ffffff;
padding: 9px 45px;
}
}
.tit {
font-size: 14px;
font-weight: bold;
color: #333333;
padding: 0 20px;
border-left: 5px solid #c8161d;
margin: 20px 0 10px 0;
}
.xian {
height: 1px;
background: rgba(0, 0, 0, 0.1);
}
.demo-ruleForm {
padding: 20px 0;
}
::v-deep .el-date-editor--datetimerange {
width: auto !important;
}
.flexed {
display: flex;
}
.flexed_l {
margin-right: 20px;
}
.table {
padding: 0 20px;
margin-top: 20px;
}
table {
width: 100%;
background: #fff;
border-collapse: collapse;
border: 1px solid #cccccc;
border-spacing: 0;
table-layout: fixed;
border-collapse: collapse;
//
// (2*/
}
.table_b {
border-top: 0;
}
th {
padding: 10px 10px;
text-align: center;
border: 1px solid #cccccc;
overflow: hidden;
border-top: 0;
}
td {
padding: 10px 10px;
text-align: center;
border: 1px solid #cccccc;
border-top: 0;
overflow: hidden;
}
.tableFlex {
display: flex;
align-items: center;
margin-bottom: 10px;
.tableFlex_i {
flex: 1;
::v-deep .el-input__inner {
width: 90%;
}
::v-deep .el-input__suffix {
right: 15px;
}
}
}
.tableAdd {
width: 50px;
img {
width: 19px;
height: 19px;
}
}
.tableAddPro {
display: flex;
align-items: center;
justify-content: center;
img {
width: 19px;
height: 19px;
margin-left: 10px;
}
}
.tableLeft {
text-align: left;
}
.tabList {
display: flex;
align-items: center;
padding: 20px 0px 0 20px;
.tabList_i {
padding: 10px;
font-size: 14px;
font-weight: 400;
color: #999999;
cursor: pointer;
}
.tabAct {
background: #108ee9;
color: #fff;
}
}
.clearBtm {
border-bottom: 0;
}
.cpHeight {
height: 50vh;
overflow-y: auto;
}
.blueCor {
color: #589ff8;
cursor: pointer;
}
::v-deep .el-input__icon {
line-height: 33px;
}
::v-deep .el-button {
margin-top: 0;
}
</style>

View File

@ -1,502 +0,0 @@
<template>
<div class="page">
<topBar
v-if="topList.length > 0"
:topList="topList"
:moren="moren"
></topBar>
<div class="main">
<div class="thetable">
<div class="fontTitle"> {{'在线签呈'}}</div>
<div class="titleflex">
<div>{{'编号'}} :</div>
<div>
<el-radio-group v-model="allData.signType">
<el-radio
:label="ctem.value"
v-for="ctem in checkList"
:key="ctem.value"
>{{ ctem.label }}</el-radio
>
</el-radio-group>
</div>
</div>
<table id="tfhover" class="tftable" border="1">
<tr>
<td colspan="1" width="190px" align="center"> {{'发起部门'}} :</td>
<td colspan="1" v-if="allData.signData" width="435px">
{{ allData.signData.deptName }}
</td>
<td colspan="1" width="140px" align="center"> {{'发起人'}} :</td>
<td colspan="1" v-if="allData.signData">
{{ allData.signData.userName }}
</td>
</tr>
<tr>
<td colspan="1" align="center"> {{'主旨'}} :</td>
<td colspan="1" v-if="allData.signData">
{{ allData.signData.approvalBusinessVal }}
</td>
<td colspan="1" align="center"> {{'日期'}} :</td>
<td colspan="1" v-if="allData.signData">
{{ allData.signData.creationTime }}
</td>
</tr>
<!-- // -->
<tr>
<td colspan="1" align="center"> {{'审批流程'}}</td>
<td colspan="3">
<div class="disflex">
<span
v-for="(ctem, cndex) in allData.signData.detailList"
:key="cndex"
style="margin: 0 5px 5px 0"
>
<el-select
v-model="ctem.pkApprover"
filterable
size="mini"
@change="getApprover"
:placeholder="'请选择'"
>
<el-option
v-for="item in approbalList"
:key="item.userId"
:label="item.nickName + '(' + item.deptName + ')'"
:value="item.userId"
>
</el-option>
</el-select>
</span>
<span style="margin: 0 5px 5px 0">
<i
class="el-icon-remove-outline"
@click.stop="delData"
v-show="allData.signData.detailList.length > 0"
style="font-size: 18px; margin-right: 5px"
></i>
<i
class="el-icon-circle-plus-outline"
style="font-size: 18px"
@click.stop="addData"
></i>
</span>
</div>
</td>
</tr>
<tr>
<td colspan="1" align="center">{{'抄送人'}}</td>
<td colspan="3">
<div class="disflex">
<span
v-for="(ctem, cndex) in allData.signData.sendList"
:key="cndex"
style="margin: 0 5px 5px 0"
>
<el-select
v-model="ctem.pkSend"
filterable
size="mini"
@change="getApprover"
:placeholder="'请选择'"
>
<el-option
v-for="item in userAllList"
:key="item.userId"
:label="item.nickName + '(' + item.deptName + ')'"
:value="item.userId"
>
</el-option>
</el-select>
</span>
<span style="margin: 0 5px 5px 0">
<i
class="el-icon-remove-outline"
@click.stop="delData1"
v-show="allData.signData.sendList.length > 0"
style="font-size: 18px; margin-right: 5px"
></i>
<i
class="el-icon-circle-plus-outline"
style="font-size: 18px"
@click.stop="addData1"
></i>
</span>
</div>
</td>
</tr>
<tr>
<td style="height: 190px" align="center">{{'情况说明'}}</td>
<td colspan="3" style="padding: 0">
<div>
<el-input
type="textarea"
:rows="6"
:placeholder="'请输入'"
v-model="allData.remark"
>
</el-input>
</div>
</td>
</tr>
<tr>
<td style="height: 193px" align="center"> {{'业务诉求'}}</td>
<td colspan="3" style="padding: 0;vertical-align: top;">
<div >
<el-table
:data="allData.updateParentParamList"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
>
<el-table-column
v-for="ctem in allData.tableTit"
:key="ctem.value"
align="center"
:prop="ctem.value"
:label="ctem.label"
>
<template slot-scope="scope">
<div v-show="ctem.value == 'actExplain'">
<div
style="
color: #48b2fd;
text-decoration: underline;
cursor: pointer;
"
@click="details"
>
{{'查看详情'}}
</div>
</div>
<div v-show="ctem.value != 'actExplain'">
<div>
{{ scope.row[ctem.value] }}
</div>
</div>
</template>
</el-table-column>
</el-table>
</div>
</td>
</tr>
<tr>
<td style="height: 190px" align="center">{{'附件'}}</td>
<td colspan="3" style="padding: 0">
<div style="height: 100%; padding: 10px 20px">
<el-upload
class="upload-demo"
:action="uploadImgUrl"
:on-success="handleUploadSuccess"
:on-remove="removeFile"
multiple
:headers="headers"
:file-list="fileList"
>
<el-button size="small" type="primary">{{'点击上传'}}</el-button>
</el-upload>
</div>
</td>
</tr>
</table>
</div>
</div>
<div class="footer">
<div style="margin: 0 auto">
<el-button class="thebtn" @click="cancelCz"> {{ '取消' }}</el-button>
<el-button type="primary" class="thebtn" @click="saveDate"
> {{ '确认' }}</el-button
>
</div>
</div>
</div>
</template>
<script>
import topBar from "@/components/topBar";
import * as man from "@/api/manage";
import * as gif from "@/api/newgift.js";
import onlineSign from "../../dashboard/onlineSign.json";
import { getToken } from "@/utils/auth";
import { dealerSpace, makerSpace } from "@/api/manage";
export default {
name: "Zxqc",
components: {
topBar,
},
data() {
return {
uploadImgUrl: process.env.VUE_APP_BASE_API + "/system/upload", //
headers: {
Authorization: getToken(),
},
onlineSign,
moren: "specialZxqc",
topList: [
{
name: "在线签呈",
path: "specialZxqc",
},
],
checkList: [],
allData: {
remark: "",
signType: 1,
fileList: [],
signData: {
detailList: [],
sendList: [],
},
approvalBusiness: "",
},
signDataList: [],
fileList: [],
approbalList: [],
//
userAllList: [],
allObj: {},
};
},
mounted() {
//
this.allObj = JSON.parse(this.$route.query.data);
this.allData.updateParentParamList = [this.allObj.activityParam];
console.log(
"%c [ obj ]-241",
"font-size:13px; background:#085065; color:#4c94a9;",
this.allObj
);
//
this.allData.approvalBusiness = this.$route.query.approvalBusiness;
this.getSignData([this.allData.approvalBusiness]);
},
methods: {
details(code) {
// console.log("🌈this.allData", this.allData);
this.$router.push({
path: "newgiftInfo",
query: {
data: JSON.stringify(this.allObj),
controlType: 4,
},
});
},
getSignData(arr) {
man.signData(arr).then((res) => {
this.allData.signData = res.data[0];
//
this.$set(this.allData, "signType", 1);
this.$set(this.allData, "remark", "");
this.$set(this.allData, "fileList", []);
// table
this.onlineSign.forEach((ctem) => {
if (this.allData.approvalBusiness == ctem.id) {
this.allData.tableTit = ctem.textList;
}
});
this.$forceUpdate();
this.getApprove();
this.getSignType();
});
},
getApprove() {
//
man.approvalUser().then((res) => {
this.approbalList = res.data;
});
man.userAll().then((res) => {
this.userAllList = res.data;
});
},
getSignType() {
man.signType().then((res) => {
this.checkList = res.data;
});
},
saveDate() {
//
this.allData.userIdList = this.allData.signData.detailList.map((item) => {
return item.pkApprover;
});
this.allData.userIdList = this.allData.userIdList.filter((item) => item);
//
this.allData.sendIdList = this.allData.signData.sendList.map((item) => {
return item.pkSend;
});
this.allData.sendIdList = this.allData.sendIdList.filter((item) => item);
this.allData.fileList = this.fileList.map((item) => {
return item.url;
});
let obj = Object.assign(
{},
{
anpList: this.allObj.anpList,
controlType: this.allObj.controlType,
activityParam: this.allObj.activityParam,
// repurchaseCouponsShowList: this.allObj.repurchaseCouponsShowList,
// recommendUpgradeList: this.allObj.recommendUpgradeList,
// acRecommendSharVO: this.allObj.acRecommendSharVO[0],
signType: this.allData.signType, //
remark: this.allData.remark, //
fileList: this.allData.fileList, //[]
userIdList: this.allData.userIdList, //[]
sendIdList: this.allData.sendIdList, //[]
}
);
let url = "";
if (this.allObj.controlType == 1) {
//
url = gif.saveNewPeoplePetition;
} else if (this.allObj.controlType == 2) {
//
url = gif.updateNewPeoplePetition;
} else if (this.allObj.controlType == 3) {
//
url = gif.deleteNewPeoplePetition;
}
url(obj).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.$router.push({
path: "newcomerGiftList",
});
}
});
},
cancelCz() {
this.$router.go(-1);
},
//
getApprover() {
this.$nextTick(() => {
this.$forceUpdate();
});
},
//
addData() {
let arr = JSON.parse(JSON.stringify(this.allData.signData.detailList));
arr.push({
pkApprover: "",
});
this.$set(this.allData.signData, "detailList", arr);
this.$forceUpdate();
},
//
addData1() {
let arr = JSON.parse(JSON.stringify(this.allData.signData.sendList));
arr.push({
pkSend: "",
});
this.$set(this.allData.signData, "sendList", arr);
this.$forceUpdate();
},
//
delData1() {
this.allData.signData.sendList.pop();
this.$forceUpdate();
},
//
delData() {
this.allData.signData.detailList.pop();
this.$forceUpdate();
},
handleUploadSuccess(res) {
if (res.code == 200) {
this.fileList.push(res.data);
} else {
this.$message({
type: "error",
message: "上传失败",
});
}
},
removeFile(file, fileList) {
this.fileList.forEach((item, index) => {
if (file.uid == item.uid) {
this.fileList.splice(index, 1);
}
});
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-table thead {
color: #000000;
}
.page {
padding: 20px;
background: #f9f9f9;
font-size: 14px;
.main {
// margin-top: 20px;
background: #ffffff;
border-radius: 8px;
box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
display: flex;
margin: 0 auto;
width: 100%;
padding: 20px;
flex-direction: column;
}
.thetable {
margin: 0 auto;
margin-bottom: 20px;
.fontTitle {
font-weight: bold;
font-size: 24px;
text-align: center;
}
.titleflex {
display: flex;
margin-top: 10px;
margin-bottom: 10px;
justify-content: space-between;
}
}
.tftable {
font-size: 14px;
border-collapse: collapse;
border-radius: 10px;
width: 1060px;
border: 1px solid #cccccc;
.spbox {
display: flex;
align-items: center;
justify-content: flex-end;
}
th {
font-size: 14px;
// padding: 20px;
}
tr td {
font-size: 14px;
padding: 10px 20px;
height: 60px;
}
}
.footer {
display: flex;
justify-content: center;
align-items: center;
padding: 15px 0;
.thebtn {
width: 120px;
height: 38px;
}
}
}
//
.disflex {
display: flex;
align-items: center;
flex-wrap: wrap;
}
</style>

View File

@ -1,19 +0,0 @@
<!--
* @Descripttion:
* @version:
* @Author: kBank
* @Date: 2023-04-24 09:04:03
-->
<template>
<div>红包</div>
</template>
<script>
export default {
}
</script>
<style>
</style>

View File

@ -1,635 +0,0 @@
<!--
* @Descripttion:
* @version:
* @Author: kBank
* @Date: 2023-02-23 15:59:57
-->
<template>
<div class="page">
<!-- <topBar v-if="topList.length > 0"
:topList="topList"
:moren="moren"></topBar> -->
<div class="topbox">
<div
v-for="(item, index) in topList"
:key="index"
class="levelList_i"
:class="tabActive == item.id ? 'act' : ''"
@click.prevent="handleLink(item.id)"
>
{{ item.name }}
</div>
</div>
<!-- <div class="main_a"> -->
<div class="main">
<div v-show="tabActive==0">
<div class="tit">{{ '基本信息' }}</div>
<div class="xian" />
<el-form
ref="ruleForm"
:model="ruleForm"
:rules="rules"
label-width="auto"
class="demo-ruleForm"
>
<el-row>
<el-col :span="8">
<el-form-item
:label="'活动名称'"
prop="actName"
>
<el-input
v-model="ruleForm.actName"
clearable
:disabled="lookOver"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<el-form-item
:label="'活动说明'"
prop="actExplain"
>
<!-- <el-input clearable
type="textarea"
v-model="ruleForm.actExplain"
:disabled="lookOver"></el-input> -->
<editor
ref="sptwEditor"
v-model="ruleForm.actExplain"
:read-only="lookOver"
:min-height="196"
:upload-url="uploadImgUrl"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item
:label="'活动封面'"
prop="actCover"
>
<imageUpload v-model="ruleForm.actCover" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="'目标用户群体'">
<div class="flexed">
<el-checkbox
v-model="ruleForm.checked1"
class="flexed_l"
@change="getCheckTit($event,1)"
>{{ '注册等级' }}</el-checkbox>
<el-checkbox-group
v-model="ruleForm.levelList"
@change="getCheck"
>
<el-checkbox
v-for="item in gradeList"
:key="item.pkId"
:label="item.pkId"
>{{ item.gradeName }}</el-checkbox>
</el-checkbox-group>
</div>
<div class="flexed">
<el-checkbox
v-model="ruleForm.checked2"
class="flexed_l"
@change="getCheckTit($event,2)"
>{{ '荣誉奖衔' }}</el-checkbox>
<el-checkbox-group
v-model="ruleForm.realList"
@change="getCheck"
>
<el-checkbox
v-for="item in awardsList"
:key="item.pkId"
:label="item.pkId"
>{{ item.awardsName }}</el-checkbox>
</el-checkbox-group>
</div>
<div class="flexed">
<el-checkbox
v-model="ruleForm.checked3"
class="flexed_l"
@change="getCheckTit($event,3)"
>{{ '权限中心' }}</el-checkbox>
<el-checkbox-group
v-model="ruleForm.centerList"
@change="getCheck"
>
<el-checkbox
v-for="item in registList"
:key="item.value"
:label="item.value"
>{{ item.label }}</el-checkbox>
</el-checkbox-group>
</div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item
required
:label="'活动时间'"
prop="ruleFormTime"
>
<el-date-picker
v-model="ruleForm.ruleFormTime"
:disabled="lookOver"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
@change="changeTime"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item
required
:label="'展示时间'"
prop="ruleFormTime1"
>
<el-date-picker
v-model="ruleForm.ruleFormTime1"
:disabled="lookOver"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
@change="changeTime1"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<shieldConsumption
v-show="tabActive==1"
ref="shieldConsumption"
/>
</div>
<div
v-show="controlType!=4"
class="footer"
>
<el-button
size="small"
class="cancelBtn"
> {{ '取消' }}</el-button>
<el-button
size="small"
class="sureBtn"
@click="submit('ruleForm')"
> {{ '确认' }}</el-button>
</div>
<!-- </div> -->
</div>
</template>
<script>
import Editor from '@/components/Editor'
import * as api from '@/api/giftGoods.js'
import topBar from '@/components/topBar'
import ImageUpload from '@/components/ImageUpload'
import shieldConsumption from '@/views/marketing/seaBean/shieldConsumption'
export default {
name: 'GiftGoodsList',
components: {
topBar,
ImageUpload,
shieldConsumption,
Editor
},
data() {
return {
tabActive: 0,
topList: [
{
name: '基本信息',
id: 0
},
{
name: '海豆赠送',
id: 1
}
],
uploadImgUrl: process.env.VUE_APP_BASE_API + '/system/upload',
ruleForm: {
checked1: false,
checked2: false,
checked3: false,
levelList: [],
realList: [],
centerList: [],
goalMemberConfigList: []
},
rules: {
actName: [
{ required: true, message: '请输入活动名称', trigger: 'blur' }
],
actExplain: [
{ required: true, message: '请输入活动说明', trigger: 'blur' }
],
actCover: [
{ required: true, message: '请上传活动封面', trigger: 'change' }
],
goalMemberConfigList: [
{ required: true, message: '请选择目标用户群体', trigger: 'change' }
],
ruleFormTime: [
{ required: true, message: '请选择活动时间', trigger: 'change' }
],
ruleFormTime1: [
{ required: true, message: '请选择展示时间', trigger: 'change' }
]
},
lookOver: false,
gradeList: [],
awardsList: [],
registList: [],
pkId: '',
waresConfigParam: [],
consumeShieldConfigList: [],
controlType: ''
}
},
mounted() {
if (
this.$route.query.controlType == 4 ||
this.$route.query.controlType == 3
) {
this.lookOver = true
} else {
this.lookOver = false
}
this.pkId = this.$route.query.pkId || ''
this.controlType = this.$route.query.controlType
if (this.pkId) {
this.getDetails()
}
this.getData()
if (this.$route.query.data) {
this.addData = JSON.parse(this.$route.query.data)
console.log(
'%c [ this.addData ]-235',
'font-size:13px; background:#a50346; color:#e9478a;',
this.addData
)
this.getDetails1()
}
// {
// memberType: 1,
// pkLevel: 1,
// },
},
methods: {
getDetails() {
api
.detailsPetition({
pkId: this.pkId
})
.then((res) => {
this.addData = res.data
this.$set(this.ruleForm, 'actName', res.data.actName)
this.$set(
this.ruleForm,
'actExplain',
res.data.actExplain
)
this.$set(this.ruleForm, 'actCover', res.data.actCover)
this.ruleForm.pkId = res.data.pkId
this.ruleForm.actStartDate = res.data.actStartDate
this.ruleForm.actEndDate = res.data.actEndDate
this.ruleForm.disStartDate = res.data.disStartDate
this.ruleForm.disEndDate = res.data.disEndDate
this.$set(this.ruleForm, 'ruleFormTime', [
res.data.actStartDate,
res.data.actEndDate
])
this.$set(this.ruleForm, 'ruleFormTime1', [
res.data.disStartDate,
res.data.disEndDate
])
const arr1 = []
const arr2 = []
const arr3 = []
res.data.goalMemberConfigList.forEach((item) => {
if (item.memberType == 1) {
arr1.push(item.pkLevel)
} else if (item.memberType == 2) {
arr2.push(item.pkLevel)
} else if (item.memberType == 3) {
arr3.push(item.pkLevel)
}
})
this.$set(this.ruleForm, 'levelList', arr1)
this.$set(this.ruleForm, 'realList', arr2)
this.$set(this.ruleForm, 'centerList', arr3)
this.$refs.shieldConsumption.getPage(this.addData.beanList || '')
const that = this
setTimeout(() => {
that.getCheck()
}, 50)
})
},
getDetails1() {
this.$set(this.ruleForm, 'actName', this.addData.activityParam.actName)
this.$set(
this.ruleForm,
'actExplain',
this.addData.activityParam.actExplain
)
this.$set(this.ruleForm, 'actCover', this.addData.activityParam.actCover)
this.$set(this.ruleForm, 'ruleFormTime', [
this.addData.activityParam.actStartDate,
this.addData.activityParam.actEndDate
])
this.$set(this.ruleForm, 'ruleFormTime1', [
this.addData.activityParam.disStartDate,
this.addData.activityParam.disEndDate
])
const arr1 = []
const arr2 = []
const arr3 = []
this.addData.activityParam.goalMemberConfigList.forEach((item) => {
if (item.memberType == 1) {
arr1.push(item.pkLevel)
} else if (item.memberType == 2) {
arr2.push(item.pkLevel)
} else if (item.memberType == 3) {
arr3.push(item.pkLevel)
}
})
this.$set(this.ruleForm, 'levelList', arr1)
this.$set(this.ruleForm, 'realList', arr2)
this.$set(this.ruleForm, 'centerList', arr3)
this.$refs.shieldConsumption.getPage(this.addData.beanList || '')
const that = this
setTimeout(() => {
that.getCheck()
}, 500)
},
// tab
handleLink(id) {
this.tabActive = id
// if (this.pkId) {
// this.$refs.setConsumptionInfo.getPage(this.waresConfigParam)
// this.$refs.shieldConsumption.getPage(this.consumeShieldConfigList)
// }
},
//
getCheck() {
const arr1 = []
const arr2 = []
const arr3 = []
//
this.ruleForm.levelList.forEach((item) => {
arr1.push({
memberType: 1,
pkLevel: item
})
})
//
this.ruleForm.realList.forEach((item) => {
arr2.push({
memberType: 2,
pkLevel: item
})
})
//
this.ruleForm.centerList.forEach((item) => {
arr3.push({
memberType: 3,
pkLevel: item
})
})
this.ruleForm.goalMemberConfigList = [...arr1, ...arr2, ...arr3]
//
if (this.ruleForm.levelList.length == this.gradeList.length) {
this.ruleForm.checked1 = true
} else {
this.ruleForm.checked1 = false
}
if (this.ruleForm.realList.length == this.awardsList.length) {
this.ruleForm.checked2 = true
} else {
this.ruleForm.checked2 = false
}
if (this.ruleForm.centerList.length == this.registList.length) {
this.ruleForm.checked3 = true
} else {
this.ruleForm.checked3 = false
}
},
//
getCheckTit(val, index) {
//
if (index == 1 && val) {
this.ruleForm.levelList = this.gradeList.map((item) => {
return item.pkId
})
} else if (index == 1 && !val) {
this.ruleForm.levelList = []
}
//
if (index == 2 && val) {
this.ruleForm.realList = this.awardsList.map((item) => {
return item.pkId
})
} else if (index == 2 && !val) {
this.ruleForm.realList = []
}
//
if (index == 3 && val) {
this.ruleForm.centerList = this.registList.map((item) => {
return item.value
})
} else if (index == 3 && !val) {
this.ruleForm.centerList = []
}
this.getCheck()
},
changeTime(val) {
this.ruleForm.actStartDate = val[0]
this.ruleForm.actEndDate = val[1]
},
changeTime1(val) {
this.ruleForm.disStartDate = val[0]
this.ruleForm.disEndDate = val[1]
},
getData() {
api.awardsList().then((res) => {
this.awardsList = res.rows
})
api.gradeList().then((res) => {
this.gradeList = res.rows
})
api.registerPowerState().then((res) => {
this.registList = res.data
})
},
submit() {
this.$refs['ruleForm'].validate((valid) => {
if (valid) {
const obj = Object.assign(
{},
{
controlType: this.controlType,
activityParam: this.ruleForm,
beanList: this.$refs.shieldConsumption.consumeShieldConfigList
}
)
let approvalBusiness
if (this.controlType == 2) {
approvalBusiness = 727
} else if (this.controlType == 3) {
approvalBusiness = 728
} else {
approvalBusiness = 726
}
this.$router.push({
path: 'seaBeanZxqc',
query: {
data: JSON.stringify(obj),
approvalBusiness: approvalBusiness
}
})
// let obj = Object.assign({}, this.ruleForm, {
// beanList:
// this.$refs.shieldConsumption.consumeShieldConfigList,
// })
// let url = ''
// if (this.pkId) {
// url = api.upPetition
// } else {
// url = api.savePetition
// }
// url(obj).then((res) => {
// if (res.code == 200) {
// this.$message({
// message: res.msg,
// type: 'success',
// })
// this.$router.replace({
// path: 'seaBeanList',
// })
// }
// })
}
})
}
}
}
</script>
<style lang="scss" scoped>
.page {
padding: 20px;
background: #f9f9f9;
font-size: 14px;
.main_a {
height: calc(100vh - 144px);
display: flex;
flex-direction: column;
}
.main {
background: #ffffff;
border-radius: 8px;
// height: calc(100vh - 124px);
box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
}
::v-deep .el-select {
width: 100%;
}
}
.footer {
height: 68px;
background: #ffffff;
box-shadow: 0px -3px 20px 0px rgba(204, 204, 204, 0.5);
// margin: 0 20px;
display: flex;
justify-content: center;
align-items: center;
.thebtn1 {
background: #3181e5;
color: #ffffff;
padding: 9px 45px;
}
.thebtn2 {
background: #cccccc;
color: #ffffff;
padding: 9px 45px;
}
}
.tit {
font-size: 14px;
font-weight: bold;
color: #333333;
padding: 0 20px;
border-left: 5px solid #c8161d;
margin: 20px 0 10px 0;
}
.xian {
height: 1px;
background: rgba(0, 0, 0, 0.1);
}
.demo-ruleForm {
padding: 20px 0;
}
::v-deep .el-date-editor--datetimerange {
width: auto !important;
}
.flexed {
display: flex;
}
.flexed_l {
margin-right: 20px;
}
.topbox {
align-items: center;
padding: 0px 0 3px 0;
display: flex;
// background: skyblue;
.levelList_i {
margin-left: 20px;
position: relative;
cursor: pointer;
padding: 4px 15px;
// width: 88px;
// height: 34px;
border-radius: 17px;
border: 1px solid #cccccc;
font-size: 12px;
font-family: MicrosoftYaHei;
text-align: center;
// line-height: 34px;
}
.act {
color: #ffffff;
background: #c8161d;
}
}
::v-deep .el-form-item {
margin-bottom: 20px !important;
}
</style>

View File

@ -1,395 +0,0 @@
<!--
* @Descripttion:
* @version:
* @Author: kBank
* @Date: 2022-10-24 15:45:01
-->
<template>
<div class="page">
<topBar v-if="topList.length > 0"
:topList="topList"
:moren="moren"></topBar>
<div class="main">
<div class="form_all">
<el-form ref="select"
:model="select"
label-width="auto">
<el-row :gutter="40">
<!-- 一层 -->
<el-col :span="4">
<el-form-item :label="'活动名称'">
<el-input clearable
v-model="select.actName"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'活动状态'">
<el-select clearable
:placeholder="'请选择'"
v-model="select.activityStatus">
<el-option v-for="item in actStatus"
:key="item.value"
:label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="'开始日期'">
<el-date-picker v-model="creationTime"
@change="changeTime"
value-format="yyyy-MM-dd hh:mm:ss"
type="datetimerange"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="'结束日期'">
<el-date-picker v-model="creationTime1"
@change="changeTime1"
value-format="yyyy-MM-dd hh:mm:ss"
type="datetimerange"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="'创建日期'">
<el-date-picker v-model="creationTime2"
@change="changeTime2"
value-format="yyyy-MM-dd hh:mm:ss"
type="datetimerange"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button type="primary"
size="small"
@click="getDataList"> {{ '搜索' }}</el-button>
<el-button size="small"
class="resetBtn"
@click="reset"> {{ '重置' }}</el-button>
</el-col>
</el-row>
</el-form>
</div>
<div class="main_a">
<div class="mainbtn">
<el-button size="small"
@click="openDig"
v-hasButtons="['consumAdd']"
class="addBtn">{{'添加'}}</el-button>
<el-button size="small"
@click="handleExport"
class="exportBtn"> {{ '导出' }}</el-button>
</div>
<div class="maintable">
<el-table :data="tableData"
v-loading="loading"
style="width: 100%"
height="70vh"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
@selection-change="handleSelectionChange">
<el-table-column type="selection"
width="55"> </el-table-column>
<el-table-column align="center"
prop="actName"
:label="'活动名称'">
</el-table-column>
<el-table-column align="center"
prop="actStartDate"
:label="'开始日期'">
</el-table-column>
<el-table-column align="center"
prop="actEndDate"
:label="'结束日期'">
</el-table-column>
<el-table-column align="center"
prop="status"
:label="'活动状态'">
</el-table-column>
<el-table-column align="center"
prop="creationTime"
:label="'创建日期'">
</el-table-column>
<el-table-column align="center"
prop="time"
:label="'操作'"
fixed="right">
<template slot-scope="scope">
<el-button @click="toFixed(scope.row.pkId,4)"
type="text"
v-hasButtons="['consumSee']"
style="color: #48B2FD;"
size="small">
{{ '查看' }}
</el-button>
<el-button @click="toFixed(scope.row.pkId, 2)"
type="text"
v-hasButtons="['ConsumUpdata']"
style="color: #F3A900;"
size="small">
{{ '修改' }}
</el-button>
<el-button @click="toFixed(scope.row.pkId,3)"
type="text"
v-hasButtons="['ConsumDel']"
size="small"
style="color: #C8161D">
{{ '删除' }}
</el-button>
</template>
</el-table-column>
</el-table>
</div>
</div>
</div>
<pagination v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getDataList" />
</div>
</template>
<script>
import topBar from '@/components/topBar'
import * as api from '@/api/giftGoods.js'
export default {
name: 'Bzpz',
components: {
topBar,
},
filters: {
isAgree(val) {
if (!val) {
return '允许';
} else {
return '禁止';
}
},
},
data() {
return {
creationTime: [],
creationTime1: [],
creationTime2: [],
select: {},
//
queryParams: {
pageNum: 1,
pageSize: 50,
},
addOrEdit: '',
total: 0,
dialogVisible: false,
tableData: [],
loading:false,
moren: 'seaBean',
topList: [
{
name: '海豆赠送',
path: 'seaBean',
},
],
form: {
name: '',
},
rules: {
name: [{ required: true, message: '请输入规格类型', trigger: 'blur' }],
},
actStatus: [],
}
},
mounted() {
//
this.getData()
//
this.getDataList()
},
methods: {
//
reset() {
this.select = {}
this.creationTime = []
this.creationTime1 = []
this.creationTime2 = []
this.getDataList()
},
getData() {
api.activityStatus().then((res) => {
this.actStatus = res.data
})
},
changeTime(val) {
this.select.startActStartDate = val[0]
this.select.startActEndDate = val[1]
},
changeTime1(val) {
this.select.endActStartDate = val[0]
this.select.endActEndDate = val[1]
},
changeTime2(val) {
this.select.startCreationTime = val[0]
this.select.endCreationTime = val[1]
},
//
toFixed(id, index) {
// this.addOrEdit = false
// this.dialogVisible = true
this.$router.push({
path: 'addConsumptionInfo',
query: {
pkId: id,
controlType: index,
// functionType:this.select.functionType
},
})
},
//
handleDelete(id) {
this.$confirm('确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
api.consumeRemove(id).then((res) => {
this.getDataList()
})
})
},
onSubmit(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
let url = ''
if (this.addOrEdit == true) {
url = classifySave
} else {
url = classifyUpdate
}
url(this.form).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: 'success',
})
this.dialogVisible = false
//
this.$refs[formName].resetFields()
//
this.getDataList()
}
})
} else {
return false
}
})
},
handleClose() {
this.dialogVisible = false
this.$refs['form'].clearValidate()
this.$refs['form'].resetFields()
},
openDig() {
this.$router.push({
path: 'addConsumptionInfo',
query:{
controlType:1
}
})
},
getDataList() {
this.loading = true
api
.consumptionlist(Object.assign({}, this.queryParams, this.select,{actType:20}))
.then((res) => {
this.tableData = res.rows
this.total = res.total
this.loading = false
})
},
handleSelectionChange(val) {},
/** 导出按钮操作 */
handleExport() {
this.$confirm( '是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then((_) => {
this.download(
'/activity/manage/activity/export',
Object.assign({},{actType:12}, this.queryParams, this.select),
`${'消费赠送'}${new Date().getTime()}.xlsx`
)
})
},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return 'warning-row'
} else if (rowIndex % 2 == 0) {
return 'success-row'
}
return ''
},
},
}
</script>
<style scoped lang="scss">
::v-deep .el-table .warning-row {
background: #f9f9f9;
}
::v-deep .el-table .success-row {
background: #ffffff;
}
::v-deep .el-table thead {
color: #000000;
}
::v-deep .el-select {
width: 100%;
}
.page {
padding: 20px;
background: #f9f9f9;
font-size: 14px;
.main {
// background: #ffffff;
border-radius: 8px;
display: flex;
flex-direction: column;
.main_a {
background: #fff;
border-radius: 8px;
justify-content: space-between;
align-items: center;
box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
}
.mainbtn {
padding: 0;
}
.maintable {
flex: 1;
}
}
}
::v-deep .el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: 100%;
}
.form_all {
padding: 0 20px;
//margin-bottom: 10px;
background: #fff;
}
</style>

View File

@ -1,371 +0,0 @@
<!--
* @Descripttion:
* @version:
* @Author: 王三华
* @Date: 2023-05-04 20:20:52
-->
<template>
<div class="">
<div class="tit">{{ '海豆赠送' }}</div>
<div class="xian"></div>
<div class="table">
<!-- 批量操作 -->
<table>
<tr>
<th colspan="1"
class="tableLeft">
<el-button type="primary"
@click="addNewGoods"
size="mini">{{'添加'}}
</el-button>
</th>
<th colspan="8"
style="padding-bottom:0">
<div class="tableFlex">
<div class="tableFlex_i">
<el-select clearable
:placeholder="'请选择'"
v-model="plcz.pkGrade">
<el-option v-for="item in gradeRangArr"
:key="item.pkId"
:label="item.gradeName"
:value="item.pkId"></el-option>
</el-select>
</div>
<div class="tableFlex_i">
</div>
<div class="tableFlex_i">
<el-select clearable
:placeholder="'请选择'"
v-model="plcz.ratioType">
<el-option v-for="item in cellTypeList"
:key="item.value"
:label="item.label"
:value="item.value"></el-option>
</el-select>
</div>
<div class="tableFlex_i"> <el-input v-model='plcz.ratioValue'></el-input></div>
<div class="tableAdd"></div>
</div>
</th>
<th colspan="2"
style="padding-bottom:0">
<div class="tableFlex">
<div class="tableFlex_i"><el-button type="primary"
@click="toPlcz"
size="mini">{{'批量操作'}}</el-button></div>
<div class="tableFlex_i"><el-button size="mini"
@click="reset"> {{ '重置' }}</el-button></div>
</div>
</th>
</tr>
</table>
<table class="table_b">
<tr style="border-top:0">
<td style="border:0"></td>
<!-- <td colspan="2">商品名称</td>
<td colspan="2">商品数量</td> -->
<td colspan="8"
style="padding-bottom:0">
<div class="tableFlex">
<div class="tableFlex_i">{{'等级'}}</div>
<div class="tableFlex_i">{{'业绩'}}(PV)</div>
<div class="tableFlex_i">{{'赠送类型'}}</div>
<div class="tableFlex_i">{{ '值' }}</div>
<div class="tableAdd"></div>
</div>
</td>
<td colspan="2"
style="border:0"></td>
</tr>
<tr v-for="item,index in consumeShieldConfigList"
:key="index">
<td style="border:0"></td>
<td colspan="8"
style="padding-bottom:0">
<div class="tableFlex">
<div class="tableFlex_i">
<el-select clearable
@change="setValue($event,index)"
:placeholder="'请选择'"
v-model="item.pkGrade">
<el-option v-for="item in gradeRangArr"
:key="item.pkId"
:label="item.gradeName"
:value="item.pkId"></el-option>
</el-select>
</div>
<div class="tableFlex_i">
<el-input disabled
v-model="item.startValue"></el-input>
</div>
<div class="tableFlex_i">
<el-select clearable
:placeholder="'请选择'"
v-model="item.ratioType">
<el-option v-for="item in cellTypeList"
:key="item.value"
:label="item.label"
:value="item.value"></el-option>
</el-select>
</div>
<div class="tableFlex_i">
<el-input oninput="value = value.replace(/[^\d.]/g,'')" v-model="item.ratioValue"></el-input>
</div>
<div class="tableAdd">
<img src="@/assets/images/iconpop.png"
@click="reduceProduct(index)"
alt="">
<!-- <img src="@/assets/images/iconadd.png"
@click="addProduct(cndex)"
alt=""> -->
</div>
</div>
</td>
<td colspan="2"
style="border:0"></td>
</tr>
</table>
</div>
</div>
</template>
<script>
import * as api from '@/api/giftGoods.js'
import topBar from '@/components/topBar'
import ImageUpload from '@/components/ImageUpload'
export default {
components: {
topBar,
ImageUpload,
},
data() {
return {
moren: 'setGiftGoodsInfo',
plcz: {},
consumeShieldConfigList: [],
gradeRangArr: [],
cellTypeList: [],
}
},
mounted() {
this.getData()
},
methods: {
getPage(allData) {
if (allData != '') {
this.consumeShieldConfigList = allData
}
},
setValue(e, index) {
this.gradeRangArr.forEach((item) => {
if (item.pkId == e) {
this.$set(
this.consumeShieldConfigList[index],
'startValue',
item.startValue
)
}
})
},
getData() {
api.gradeRanglist().then((res) => {
this.gradeRangArr = res.data
})
api.getcellTypeList().then((res) => {
this.cellTypeList = res.data
})
},
reduceProduct(index) {
this.consumeShieldConfigList.splice(index, 1)
},
toPlcz() {
this.consumeShieldConfigList.forEach((stem) => {
stem.pkGrade = this.plcz.pkGrade
stem.ratioType = this.plcz.ratioType
stem.ratioValue = this.plcz.ratioValue
})
this.gradeRangArr.forEach((item) => {
this.consumeShieldConfigList.forEach((stem) => {
if (item.pkId == this.plcz.pkGrade) {
stem.startValue = item.gradeValue
}
})
})
},
reset() {
this.plcz = {}
},
addNewGoods() {
this.consumeShieldConfigList.push({
pkGrade: '',
ratioType: '',
startValue: '',
ratioValue: '',
})
},
},
}
</script>
<style lang="scss" scoped>
.main_a {
}
.main {
background: #ffffff;
border-radius: 8px;
height: calc(100vh - 164px);
padding-bottom: 20px;
box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
}
::v-deep .el-select {
width: 100%;
}
// }
.footer {
height: 68px;
background: #ffffff;
box-shadow: 0px -3px 20px 0px rgba(204, 204, 204, 0.5);
// margin: 0 20px;
display: flex;
justify-content: center;
align-items: center;
.thebtn1 {
background: #3181e5;
color: #ffffff;
padding: 9px 45px;
}
.thebtn2 {
background: #cccccc;
color: #ffffff;
padding: 9px 45px;
}
}
.tit {
font-size: 14px;
font-weight: bold;
color: #333333;
padding: 0 20px;
border-left: 5px solid #c8161d;
margin: 20px 0 10px 0;
}
.xian {
height: 1px;
background: rgba(0, 0, 0, 0.1);
}
.demo-ruleForm {
padding: 20px 0;
}
::v-deep .el-date-editor--datetimerange {
width: auto !important;
}
.flexed {
display: flex;
}
.flexed_l {
margin-right: 20px;
}
.table {
padding: 0 20px;
margin-top: 1px;
}
table {
width: 100%;
background: #fff;
border-collapse: collapse;
border: 1px solid #cccccc;
border-spacing: 0;
table-layout: fixed;
border-collapse: collapse;
//
// (2*/
}
.table_b {
border-top: 0;
}
th {
padding: 10px 10px;
text-align: center;
border: 1px solid #cccccc;
overflow: hidden;
border-top: 0;
}
td {
padding: 10px 10px;
text-align: center;
border: 1px solid #cccccc;
border-top: 0;
overflow: hidden;
}
.tableFlex {
display: flex;
align-items: center;
margin-bottom: 10px;
.tableFlex_i {
flex: 1;
::v-deep .el-input__inner {
width: 90%;
}
::v-deep .el-input__suffix {
right: 15px;
}
}
}
.tableAdd {
width: 50px;
img {
width: 19px;
height: 19px;
}
}
.tableAddPro {
display: flex;
align-items: center;
justify-content: center;
img {
width: 19px;
height: 19px;
margin-left: 10px;
}
}
.tableLeft {
text-align: left;
}
.tabList {
display: flex;
align-items: center;
padding: 20px 0px 0 20px;
.tabList_i {
padding: 10px;
font-size: 14px;
font-weight: 400;
color: #999999;
cursor: pointer;
}
.tabAct {
background: #108ee9;
color: #fff;
}
}
.clearBtm {
border-bottom: 0;
}
.cpHeight {
height: 50vh;
overflow-y: auto;
}
.blueCor {
color: #589ff8;
cursor: pointer;
}
::v-deep .el-input__icon {
line-height: 33px;
}
::v-deep .el-button {
margin-top: 0;
}
</style>

View File

@ -1,494 +0,0 @@
<template>
<div class="page">
<topBar
v-if="topList.length > 0"
:topList="topList"
:moren="moren"
></topBar>
<div class="main">
<div class="thetable">
<div class="fontTitle"> {{'在线签呈'}}</div>
<div class="titleflex">
<div>{{'编号'}} :</div>
<div>
<el-radio-group v-model="allData.signType">
<el-radio
:label="ctem.value"
v-for="ctem in checkList"
:key="ctem.value"
>{{ ctem.label }}</el-radio
>
</el-radio-group>
</div>
</div>
<table id="tfhover" class="tftable" border="1">
<tr>
<td colspan="1" width="190px" align="center"> {{'发起部门'}} :</td>
<td colspan="1" v-if="allData.signData" width="435px">
{{ allData.signData.deptName }}
</td>
<td colspan="1" width="140px" align="center"> {{'发起人'}} :</td>
<td colspan="1" v-if="allData.signData">
{{ allData.signData.userName }}
</td>
</tr>
<tr>
<td colspan="1" align="center"> {{'主旨'}} :</td>
<td colspan="1" v-if="allData.signData">
{{ allData.signData.approvalBusinessVal }}
</td>
<td colspan="1" align="center"> {{'日期'}} :</td>
<td colspan="1" v-if="allData.signData">
{{ allData.signData.creationTime }}
</td>
</tr>
<!-- // -->
<tr>
<td colspan="1" align="center"> {{'审批流程'}}</td>
<td colspan="3">
<div class="disflex">
<span
v-for="(ctem, cndex) in allData.signData.detailList"
:key="cndex"
style="margin: 0 5px 5px 0"
>
<el-select
v-model="ctem.pkApprover"
filterable
size="mini"
@change="getApprover"
:placeholder="'请选择'"
>
<el-option
v-for="item in approbalList"
:key="item.userId"
:label="item.nickName + '(' + item.deptName + ')'"
:value="item.userId"
>
</el-option>
</el-select>
</span>
<span style="margin: 0 5px 5px 0">
<i
class="el-icon-remove-outline"
@click.stop="delData"
v-show="allData.signData.detailList.length > 0"
style="font-size: 18px; margin-right: 5px"
></i>
<i
class="el-icon-circle-plus-outline"
style="font-size: 18px"
@click.stop="addData"
></i>
</span>
</div>
</td>
</tr>
<tr>
<td colspan="1" align="center">{{'抄送人'}}</td>
<td colspan="3">
<div class="disflex">
<span
v-for="(ctem, cndex) in allData.signData.sendList"
:key="cndex"
style="margin: 0 5px 5px 0"
>
<el-select
v-model="ctem.pkSend"
filterable
size="mini"
@change="getApprover"
:placeholder="'请选择'"
>
<el-option
v-for="item in userAllList"
:key="item.userId"
:label="item.nickName + '(' + item.deptName + ')'"
:value="item.userId"
>
</el-option>
</el-select>
</span>
<span style="margin: 0 5px 5px 0">
<i
class="el-icon-remove-outline"
@click.stop="delData1"
v-show="allData.signData.sendList.length > 0"
style="font-size: 18px; margin-right: 5px"
></i>
<i
class="el-icon-circle-plus-outline"
style="font-size: 18px"
@click.stop="addData1"
></i>
</span>
</div>
</td>
</tr>
<tr>
<td style="height: 190px" align="center">{{'情况说明'}}</td>
<td colspan="3" style="padding: 0">
<div >
<el-input
type="textarea"
:rows="6"
:placeholder="'请输入'"
v-model="allData.remark"
>
</el-input>
</div>
</td>
</tr>
<tr>
<td style="height: 193px" align="center"> {{'业务诉求'}}</td>
<td colspan="3" style="padding: 0;vertical-align: top;">
<div>
<el-table
:data="allData.updateParentParamList"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
>
<el-table-column
v-for="ctem in allData.tableTit"
:key="ctem.value"
align="center"
:prop="ctem.value"
:label="ctem.label"
>
<template slot-scope="scope">
<div v-show="ctem.value == 'actExplain'">
<div
style="
color: #48b2fd;
text-decoration: underline;
cursor: pointer;
"
@click="details"
>
{{'查看详情'}}
</div>
</div>
<div v-show="ctem.value != 'actExplain'">
<div>
{{ scope.row[ctem.value] }}
</div>
</div>
</template>
</el-table-column>
</el-table>
</div>
</td>
</tr>
<tr>
<td style="height: 190px" align="center">{{'附件'}}</td>
<td colspan="3" style="padding: 0">
<div style="height: 100%; padding: 10px 20px">
<el-upload
class="upload-demo"
:action="uploadImgUrl"
:on-success="handleUploadSuccess"
:on-remove="removeFile"
multiple
:headers="headers"
:file-list="fileList"
>
<el-button size="small" type="primary">{{'点击上传'}}</el-button>
</el-upload>
</div>
</td>
</tr>
</table>
</div>
</div>
<div class="footer">
<div style="margin: 0 auto">
<el-button class="thebtn" @click="cancelCz"> {{ '取消' }}</el-button>
<el-button type="primary" class="thebtn" @click="saveDate"
> {{ '确认' }}</el-button
>
</div>
</div>
</div>
</template>
<script>
import topBar from "@/components/topBar";
import * as man from "@/api/manage";
import * as gif from "@/api/giftGoods.js";
import onlineSign from "../../dashboard/onlineSign.json";
import { getToken } from "@/utils/auth";
import { dealerSpace, makerSpace } from "@/api/manage";
export default {
name: "Zxqc",
components: {
topBar,
},
data() {
return {
uploadImgUrl: process.env.VUE_APP_BASE_API + "/system/upload", //
headers: {
Authorization: getToken(),
},
onlineSign,
moren: "specialZxqc",
topList: [
{
name: "在线签呈",
path: "specialZxqc",
},
],
checkList: [],
allData: {
remark: "",
signType: 1,
fileList: [],
signData: {
detailList: [],
sendList: [],
},
approvalBusiness: "",
},
signDataList: [],
fileList: [],
approbalList: [],
//
userAllList: [],
allObj: {},
};
},
mounted() {
//
this.allObj = JSON.parse(this.$route.query.data);
this.allData.updateParentParamList = [this.allObj.activityParam];
//
this.allData.approvalBusiness = this.$route.query.approvalBusiness;
this.getSignData([this.allData.approvalBusiness]);
},
methods: {
details(code) {
// console.log("🌈this.allData", this.allData);
this.$router.push({
path: "addConsumptionInfo",
query: {
data: JSON.stringify(this.allObj),
controlType: 4,
},
});
},
getSignData(arr) {
man.signData(arr).then((res) => {
this.allData.signData = res.data[0];
//
this.$set(this.allData, "signType", 1);
this.$set(this.allData, "remark", "");
this.$set(this.allData, "fileList", []);
// table
this.onlineSign.forEach((ctem) => {
if (this.allData.approvalBusiness == ctem.id) {
this.allData.tableTit = ctem.textList;
}
});
this.$forceUpdate();
this.getApprove();
this.getSignType();
});
},
getApprove() {
//
man.approvalUser().then((res) => {
this.approbalList = res.data;
});
man.userAll().then((res) => {
this.userAllList = res.data;
});
},
getSignType() {
man.signType().then((res) => {
this.checkList = res.data;
});
},
saveDate() {
//
this.allData.userIdList = this.allData.signData.detailList.map((item) => {
return item.pkApprover;
});
this.allData.userIdList = this.allData.userIdList.filter((item) => item);
//
this.allData.sendIdList = this.allData.signData.sendList.map((item) => {
return item.pkSend;
});
this.allData.sendIdList = this.allData.sendIdList.filter((item) => item);
this.allData.fileList = this.fileList.map((item) => {
return item.url;
});
let obj = Object.assign(
{},
{
beanList: this.allObj.beanList,
controlType: this.allObj.controlType,
activityParam: this.allObj.activityParam,
signType: this.allData.signType, //
remark: this.allData.remark, //
fileList: this.allData.fileList, //[]
userIdList: this.allData.userIdList, //[]
sendIdList: this.allData.sendIdList, //[]
}
);
let url = "";
if (this.allObj.controlType == 1) {
//
url = gif.savePetition;
} else if (this.allObj.controlType == 2) {
//
url = gif.upPetition;
} else if (this.allObj.controlType == 3) {
//
url = gif.delPetition;
}
url(obj).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.cancelCz()
}
});
},
cancelCz() {
this.$router.replace({
path: 'seaBeanList',
})
},
//
getApprover() {
this.$nextTick(() => {
this.$forceUpdate();
});
},
//
addData() {
let arr = JSON.parse(JSON.stringify(this.allData.signData.detailList));
arr.push({
pkApprover: "",
});
this.$set(this.allData.signData, "detailList", arr);
this.$forceUpdate();
},
//
addData1() {
let arr = JSON.parse(JSON.stringify(this.allData.signData.sendList));
arr.push({
pkSend: "",
});
this.$set(this.allData.signData, "sendList", arr);
this.$forceUpdate();
},
//
delData1() {
this.allData.signData.sendList.pop();
this.$forceUpdate();
},
//
delData() {
this.allData.signData.detailList.pop();
this.$forceUpdate();
},
handleUploadSuccess(res) {
if (res.code == 200) {
this.fileList.push(res.data);
} else {
this.$message({
type: "error",
message: "上传失败",
});
}
},
removeFile(file, fileList) {
this.fileList.forEach((item, index) => {
if (file.uid == item.uid) {
this.fileList.splice(index, 1);
}
});
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-table thead {
color: #000000;
}
.page {
padding: 20px;
background: #f9f9f9;
font-size: 14px;
.main {
// margin-top: 20px;
background: #ffffff;
border-radius: 8px;
box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
display: flex;
margin: 0 auto;
width: 100%;
padding: 20px;
flex-direction: column;
}
.thetable {
margin: 0 auto;
margin-bottom: 20px;
.fontTitle {
font-weight: bold;
font-size: 24px;
text-align: center;
}
.titleflex {
display: flex;
margin-top: 10px;
margin-bottom: 10px;
justify-content: space-between;
}
}
.tftable {
font-size: 14px;
border-collapse: collapse;
border-radius: 10px;
width: 1060px;
border: 1px solid #cccccc;
.spbox {
display: flex;
align-items: center;
justify-content: flex-end;
}
th {
font-size: 14px;
// padding: 20px;
}
tr td {
font-size: 14px;
padding: 10px 20px;
height: 60px;
}
}
.footer {
display: flex;
justify-content: center;
align-items: center;
padding: 15px 0;
.thebtn {
width: 120px;
height: 38px;
}
}
}
//
.disflex {
display: flex;
align-items: center;
flex-wrap: wrap;
}
</style>

View File

@ -1,412 +0,0 @@
<!-- 系统配置 - 权限配置 -->
<template>
<div class="page">
<topBar
v-if="topList.length > 0"
:top-list="topList"
:moren="moren"
/>
<div class="thetopbox">
<el-form ref="form" :model="queryParams" label-width="100px">
<el-row>
<el-col :span="4">
<el-form-item :label="'活动名称'" prop="name">
<el-input v-model="queryParams.name" clearable />
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'活动状态'" prop="teamCode">
<el-select v-model="queryParams.awardsId" clearable :placeholder="'请选择'">
<el-option
v-for="item,index in awardsList"
:key="index"
:label="item.awardsName"
:value="item.awardsValue"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="'开始日期'" prop="teamCode">
<el-date-picker
class="time"
v-model="queryParams.creationTime"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
@change="changeTime"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="'结束日期'" prop="teamCode">
<el-date-picker
class="time"
v-model="queryParams.creationTime"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
@change="changeTime"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="'创建日期'" prop="teamCode">
<el-date-picker
class="time"
v-model="queryParams.creationTime"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
@change="changeTime"
/>
</el-form-item>
</el-col>
<el-col :span="4" style="margin:0 0 30px 30px">
<div class="searchbox">
<el-button class="searchbtn" @click="research()"> {{ '搜索' }}</el-button>
<el-button @click="reChongzhi"> {{ '重置' }}</el-button>
</div>
</el-col>
</el-row>
</el-form>
</div>
<div class="main">
<div class="maintop">
<div class="mainbtn">
<el-button size="small" class="thebtn1" @click="addrecep">{{'添加'}}</el-button>
</div>
</div>
<div class="maintable">
<el-table
:data="tableData"
v-loading="loading"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" />
<el-table-column align="center" prop="thegrade" :label="'活动名称'" />
<el-table-column align="center" prop="creationTime" :label="'开始日期'" />
<el-table-column align="center" prop="creationTime" :label="'结束日期'" />
<el-table-column align="center" prop="thegrade" :label="'活动状态'" />
<el-table-column align="center" prop="creationTime" :label="'创建日期'" />
<el-table-column align="center" prop="" :label="'操作'" fixed="right" width="300">
<template slot-scope="scope">
<el-button
class="buttons"
type="text"
size="small"
style="color: #E70DEC"
@click="addrecep(scope.row)"
>
{{ '查看' }}
</el-button>
<el-button class="buttons" style="color: #48B2FD" type="text" size="small" @click="addrecep(scope.row)"> {{ '修改' }} </el-button>
<el-button class="buttons" type="text" size="small" style="color: #c73030" @click="delMenus(scope.row.pkId)">
{{ '删除' }}
</el-button>
</template>
</el-table-column>
</el-table>
</div>
</div>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="research"
/>
</div>
</template>
<script>
import topBar from '@/components/topBar'
import { getbdmenuList, getPubenumsList, delMenu } from '@/api/system'
import { getgradeRanglist, getAwardsListChiose } from '@/api/level'
import * as api from '@/api/notice'
export default {
name: 'ReceptionRole',
components: {
topBar
},
data() {
return {
moren: 'superStudioGift',
topList: [
{
name: '超级工作室赠送',
path: 'superStudioGift'
}
],
defaultParams: {
label: 'label',
value: 'value',
children: 'enumList'
},
multipleSelection: [],
queryParams: {
pageNum: 1,
pageSize: 50,
gradeId: '', //
awardsId: '', //
menuId: '', //
creationTime: [] //
},
gradeRangList: [],
awardsList: [],
menuOptions: [],
tableData: [],
loading:false,
total: 0
}
},
created() {
this.research()
this.getgradeRanglist()
this.getAwardsListChiose()
this.getPubenumsList()
},
methods: {
//
delMenus(id) {
this.$confirm('确认删除该菜单吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
delMenu(id).then((res) => {
this.$message({
message: res.msg,
type: 'success'
})
this.research()
})
})
},
changeTime(value) {
console.log('🌈', value)
},
addrecep(item) {
this.$router.push({
name: 'superStudioMessage',
query: { index: 1 }
})
},
handleChangeMunu(value) {
console.log('🌈', value[value.length - 1])
this.queryParams.menuId = value[value.length - 1]
},
//
getPubenumsList() {
getPubenumsList().then((res) => {
this.menuOptions = res.data
})
},
//
getgradeRanglist() {
getgradeRanglist().then((res) => {
this.gradeRangList = res.data
})
},
//
getAwardsListChiose() {
getAwardsListChiose().then((res) => {
this.awardsList = res.rows
})
},
research() {
this.loading = true
// //
// if ("" != this.queryParams.creationTime) {
// this.queryParams.creationTimeStart = this.queryParams.creationTime[0];
// this.queryParams.creationTimeEnd = this.queryParams.creationTime[1];
// }
getbdmenuList(this.queryParams).then((res) => {
res.rows.forEach((element) => {
element.alist = []
element.blist = []
element.clist = []
element.themenus = ''
element.theaward = ''
element.thegrade = ''
element.menuList.forEach((item) => {
element.alist.push(item.menuVal)
element.themenus = element.alist.join('/')
})
element.awardList.forEach((item) => {
element.blist.push(item.awardVal)
element.theaward = element.blist.join('/')
})
console.error()
if (element.gradeList) {
element.gradeList.forEach((item) => {
element.clist.push(item.gradeVal)
element.thegrade = element.clist.join('/')
})
}
})
this.tableData = res.rows
this.total = res.total
this.loading = false
})
},
reChongzhi() {
this.queryParams = {
pageNum: 1,
pageSize: 50,
creationTime: [] //
}
this.research()
},
handleSelectionChange(val) {
this.multipleSelection = val
},
// objectSpanMethod({ row, column, rowIndex, columnIndex }) {
// if (columnIndex === 0) {
// if (rowIndex % 2 === 0) {
// return {
// rowspan: 2,
// colspan: 1
// }
// } else {
// return {
// rowspan: 0,
// colspan: 0
// }
// }
// }
// },
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return 'warning-row'
} else if (rowIndex % 2 == 0) {
return 'success-row'
}
return ''
}
}
}
</script>
<style lang="scss" scoped>
::v-deep .buttons{
padding: 0 3px !important;
}
::v-deep .time {
width: 100%;
//width: 450px;
}
.button-style{
width: 209px;
height: 48px;
background: #CCCCCC;
border-radius: 5px 5px 5px 5px;
opacity: 1;
line-height: 48px;
padding: 0!important;
color: #fff;
font-size: 18px;
}
::v-deep .el-dialog__header{
border-bottom: 1px solid rgba(0,0,0,0.1);
}
.button-s{
padding: 0 2px!important;
}
::v-deep .el-button{
padding: 10px 20px;
}
::v-deep .el-date-editor .el-range__close-icon{
margin-top: -10px;
}
::v-deep .el-date-editor .el-range-separator{
margin-top: -10px;
}
::v-deep .el-date-editor .el-range__icon{
margin-top: -10px;
}
::v-deep .el-input__inner{
//height:28px;
//line-height: 28px;
}
::v-deep .el-form-item{
margin-bottom: 15px;
}
::v-deep .el-form-item__label{
color: #333;
font-weight: inherit;
}
::v-deep .el-row {
margin-top: 20px;
}
::v-deep .el-row {
margin-top: 20px;
}
::v-deep .el-table .warning-row {
background: #f9f9f9;
}
::v-deep .el-table .success-row {
background: #ffffff;
}
::v-deep .el-table thead {
color: #000000;
}
.openClose {
margin-top: 10px;
margin-right: 10px;
color: #666666;
text-align: center;
}
.page {
padding: 20px;
background: #f9f9f9;
font-size: 14px;
.thetopbox {
background: #ffffff;
border-radius: 8px;
.searchbox {
display: flex;
align-items: center;
.searchtitle {
margin-right: 10px;
}
.searchbtn {
background: #08143f;
color: #ffffff;
}
}
}
.main {
margin-top: 20px;
background: #ffffff;
border-radius: 8px;
box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
.maintop {
display: flex;
padding: 10px 20px;
justify-content: space-between;
align-items: center;
.mainbtn {
.thebtn1 {
color: #ffffff;
background: rgba(67, 145, 253, 1);
}
}
}
}
}
</style>

View File

@ -1,338 +0,0 @@
<template>
<div class="page">
<topBar
v-if="topList.length > 0"
:top-list="topList"
:moren="moren"
/>
<div class="main">
<div class="main_title">
<div class="bluekuai" />
<div class="title_word">{{ '基本信息' }}</div>
</div>
<div class="main_content">
<el-form ref="form" :rules="rules" :model="form" label-width="120px">
<el-row>
<el-col :span="12">
<el-form-item :label="'活动名称'" prop="name">
<el-input v-model="form.name" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="'活动说明'" prop="name">
<editor
ref="sptwEditor"
v-model="form.content"
:min-height="196"
:upload-url="uploadImgUrl"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-form-item :label="'活动封面'" prop="name">
<el-upload
:headers="headers"
:class="{ uploadIconOne: showImg, uploadIcon: noneUploadImg }"
:action="uploadImgUrl"
:on-success="handlePictureSuccess"
:on-change="uploadImgChange"
list-type="picture-card"
:limit="1"
:on-remove="handleRemove"
>
<i class="el-icon-plus" />
<div class="sizes">{{ '大小为5M' }}</div>
</el-upload>
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="'目标用户群体'" prop="name" style="margin-bottom: 0" />
</el-row>
<el-row>
<el-form-item label="" prop="name" style="margin-bottom: 0">
<div style="display: flex">
<el-checkbox
v-model="checkAll"
:label="'注册等级'"
@change="handleCheckAllChangeSales"
>{{ '注册等级' }}</el-checkbox>
<el-checkbox-group v-model="bushForm" style="margin-left: 30px" @change="handleCheckedColumnChangeSales">
<el-checkbox
v-for="(item,index) in awardsList"
:key="index"
:label="item.pkId"
>{{ item.awardsName }}</el-checkbox>
</el-checkbox-group>
</div>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="" prop="name" style="margin-bottom: 0">
<div style="display: flex">
<el-checkbox
v-model="checkAll1"
:label="'荣誉奖衔'"
@change="handleCheckAllChangeSales1"
>{{ '荣誉奖衔' }}</el-checkbox>
<el-checkbox-group v-model="bushForm1" style="margin-left: 30px" @change="handleCheckedColumnChangeSales1">
<el-checkbox
v-for="item in gradeRangList"
:key="item.pkId"
:label="item.pkId"
>{{ item.gradeName }}</el-checkbox>
</el-checkbox-group>
</div>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="" prop="name">
<div>
<el-checkbox
:label="'权限中心'"
>{{ '权限中心' }}</el-checkbox>
<el-checkbox
v-for="item in awardsList"
:key="item.pkId"
v-model="item.changed"
:label="item.pkId"
>{{ item.awardsName }}</el-checkbox>
</div>
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="'活动时间'" prop="name">
<el-date-picker
v-model="form.creatTime"
type="datetimerange"
range-separator="——"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
value-format="yyyy-MM-dd HH:mm:ss"
:unlink-panels="true"
/>
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="'展示时间'" prop="name">
<el-date-picker
v-model="form.creatTime"
type="datetimerange"
range-separator="——"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
value-format="yyyy-MM-dd HH:mm:ss"
:unlink-panels="true"
/>
</el-form-item>
</el-row>
</el-form>
</div>
</div>
<div class="footer">
<div style="margin: 0 auto">
<el-button
class="thebtn"
style="background: #ccc;color: #fff"
@click="cancel"
> {{ '取消' }}</el-button>
<el-button
type="primary"
class="thebtn"
style="margin-left: 30px;color: #48B2FD;color: #fff"
> {{ '确认' }}</el-button>
</div>
</div>
</div>
</template>
<script>
import Editor from '@/components/Editor'
import topBar from '@/components/topBar'
import { getzccsList, saveYfpz } from '@/api/system'
import { getAwardsListChiose, getgradeRanglist } from '@/api/level'
import { getToken } from '@/utils/auth'
export default {
name: 'Xtcs',
components: {
topBar,
Editor
},
data() {
return {
checkedKeyLists: [], // keylist
openDiag: false,
showImg: true, //
noneUploadImg: false, //
uploadImgUrl: process.env.VUE_APP_BASE_API + '/system/upload',
headers: {
Authorization: getToken()
},
moren: 'superStudioMessage',
topList: [
{
name: '基本信息',
path: 'superStudioMessage'
},
{
name: '规则设置',
path: 'superStudioRule'
}
],
rules: {
bankCode: [
{ required: true, message: '请选择活动名称', trigger: 'blur' }
]
},
form: {},
awardsList: [],
gradeRangList: [],
checkAll: false,
isALL: false, //
bushForm: [], //
checkAll1: false,
isALL1: false, //
bushForm1: [] //
}
},
created() {
this.getData()
},
methods: {
//
handleCheckAllChangeSales1(val) {
const checkedsItem = val ? this.gradeRangList : []
if (checkedsItem.length > 0) {
checkedsItem.forEach((item) => {
this.bushForm1.push(item.pkId)
})
console.error(this.bushForm1)
} else {
this.bushForm1 = []
}
this.isALL = false
},
handleCheckedColumnChangeSales1(value) {
const checkedCount = value.length
this.checkAll1 = checkedCount === this.gradeRangList.length
this.isALL =
checkedCount > 0 && checkedCount < this.gradeRangList.length
},
//
handleCheckAllChangeSales(val) {
const checkedsItem = val ? this.awardsList : []
if (checkedsItem.length > 0) {
checkedsItem.forEach((item) => {
this.bushForm.push(item.pkId)
})
console.error(this.bushForm)
} else {
this.bushForm = []
}
this.isALL = false
},
handleCheckedColumnChangeSales(value) {
const checkedCount = value.length
this.checkAll = checkedCount === this.awardsList.length
this.isALL =
checkedCount > 0 && checkedCount < this.awardsList.length
},
uploadImgChange(file, fileList) {
this.noneUploadImg = fileList.length > 0
this.$refs.form.clearValidate('cover')
},
//
handlePictureSuccess(res, file) {
this.form.cover = res.data.url
},
//
handleRemove(file, fileList) {
this.form.cover = ''
this.noneUploadImg = fileList.length > 0
},
cancel() {
this.$router.push({
name: 'superStudioGift'
})
},
getData() {
//
getAwardsListChiose().then((res) => {
this.awardsList = res.rows
})
//
getgradeRanglist().then((res) => {
this.gradeRangList = res.data
})
}
}
}
</script>
<style lang="scss" scoped>
::v-deep .el-icon-plus{
color: #4391FD;
}
.sizes{
position: absolute;
top: 0;
color: #999;
font-size: 10px;
margin:30px 0 0 20px;
}
::v-deep .el-upload{
width: 88px;
height: 88px;
line-height: 88px;
position: relative;
}
::v-deep .el-select{
width: 100%;
}
::v-deep .el-textarea__inner{
height: 84px;
}
.page {
padding: 20px;
background: #f9f9f9;
font-size: 14px;
.main {
background: #ffffff;
border-radius: 8px;
box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
.main_title {
display: flex;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
.bluekuai {
width: 5px;
height: 19px;
background: #4391fd;
margin-right: 20px;
}
.title_word {
font-size: 14px;
font-family: MicrosoftYaHei-Bold, MicrosoftYaHei;
font-weight: bold;
color: #333333;
}
}
.main_content {
padding: 20px 25px;
}
}
.footer {
display: flex;
justify-content: center;
align-items: center;
padding: 15px 0;
.thebtn {
width: 120px;
height: 38px;
}
}
}
</style>

View File

@ -1,488 +0,0 @@
<template>
<div class="page">
<topBar
v-if="topList.length > 0"
:top-list="topList"
:moren="moren"
/>
<div class="main">
<div class="main_title">
<div class="bluekuai" />
<div class="title_word">{{'规则设置'}}</div>
</div>
<div class="main_content">
<div class="main_top">
<div class="add">{{'添加'}}</div>
<div class="buttonStyle lefts">{{'订单金额'}}({{isLocals()}})</div>
<div class="buttonStyle lefts" style="margin-left: 33px!important;">{{'订单业绩'}}({{isLocals()}})</div>
<el-input
v-model="form"
clearable
:place-holder="'请输入'"
class="input-with-select buttonStyle border-none input-styles1"
/>
<div class="buttonStyle lefts" style="margin-left: 40px!important;">{{'产品规格'}}</div>
<!-- <div class="buttonStyle border-none lefts ">-->
<el-input
v-model="form"
clearable
:place-holder="'请输入'"
class="input-with-select buttonStyle border-none input-styles"
/>
<!-- </div>-->
<el-button class="searchbtn" style="margin-left:70px">{{'批量操作'}}</el-button>
<el-button class="searchbtn" style="border: 1px solid #CCCCCC;color: #666;background-color: #fff"> {{ '重置' }}</el-button>
</div>
<div class="main_list">
<div class="main_left" />
<div class="main_center">
<div style="display: flex;height: 45px" class="bottoms">
<div class="main_divs">{{ '报单金额基数' }}({{isLocals()}})</div>
<div class="main_divs">{{ '报单业绩基数' }}({{isLocals()}})</div>
<div class="main_divs ">{{'赠送产品'}}</div>
<div class="main_divs">{{'产品规格'}}</div>
<div class="main_divs" style="padding-right: 30px;width: 240px">{{'赠送产品'}}</div>
</div>
<div>
<div v-for="(item,index) in 3" style="display: flex;">
<div class="main_divs height_s">
<div class="buttonStyle styles heights" style="border: none">
<el-input
v-model="form"
clearable
class="input-with-select"
/>
</div>
</div>
<div class="main_divs height_s">
<div class="buttonStyle styles heights" style="border: none">
<el-input
v-model="form"
clearable
class="input-with-select"
/>
</div>
</div>
<div class="bottoms">
<div v-for="(item,index) in 2" style="display: flex">
<div class="main_divs height_s rights">
<div class="buttonStyle styles heights" style="border: none">
<el-input
v-model="form"
clearable
class="input-with-select"
/>
</div>
</div>
<div class="main_divs height_s rights">
<div class="buttonStyle styles heights" style="border: none">
<el-input
v-model="form"
clearable
class="input-with-select"
/>
</div>
</div>
<div class="main_divs height_s div_style" style="padding-right: 30px;width: 240px;border-bottom: none">
<div class="buttonStyle styles heights" style="border: none">
<el-input
v-model="form"
clearable
class="input-with-select"
/>
</div>
<div v-if="index==1" class="add-icon">
<img class="pic-404__parent" src="@/assets/images/add.png">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="main_right" />
</div>
</div>
</div>
<div class="footer">
<div style="margin: 0 auto">
<el-button
class="thebtn"
style="background: #ccc;color: #fff"
@click="cancel"
> {{ '取消' }}</el-button>
<el-button
type="primary"
class="thebtn"
style="margin-left: 30px;color: #48B2FD;color: #fff"
> {{ '确认' }}</el-button>
</div>
</div>
<el-dialog
class="dialog_content"
:title="'选择产品'"
:visible.sync="updateShow"
width="24%"
center
:before-close="handleClose1"
>
<div class="search-input-content">
<el-input
v-model="form"
style=""
placeholder="可查询SPA物料号/产品名称"
size="small"
class="search-input"
@keyup.enter.native="handleQuery"
/>
<i class="el-icon-search search-icon" @click="handleQuery" />
</div>
<div class="goods-content">
<div v-for="item in 3" class="goods-lists">
<div class="goods-name">产品:<span style="margin-left: 10px">苹果14</span></div>
<div class="goods-name rules">
<div class="texts">规格</div>
<div class="flexStyle">
<template v-for="item in 3">
<div class="rule-name">
iPhone 250 Pro绿色256G
</div>
<div class="count">
<div class="add-icons">
<img src="@/assets/images/add-icon.png">
</div>
<div class="sums">
<input class="input_s" placeholder="">
</div>
<div class="add-icons">
<img src="@/assets/images/del-icon.png">
</div>
</div>
</template>
</div>
</div>
</div>
</div>
<div class="flex-s">
<el-button class="thebtn2"> {{ '取消' }}</el-button>
<el-button
class="thebtn2"
style="background-color: #48B2FD"
@click="submit"
> {{ '确认' }}</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import topBar from '@/components/topBar'
import { getzccsList, saveYfpz } from '@/api/system'
import {isLocals} from "../../../utils/numberToCurrency";
export default {
name: 'Xtcs',
components: {
topBar
},
data() {
return {
updateShow: false,
moren: 'superStudioRule',
topList: [
{
name: '基本信息',
path: 'superStudioMessage'
},
{
name: '规则设置',
path: 'superStudioRule'
}
],
form: {},
timeList: [],
list: [],
ruleList: { 'name': 1 },
ruleList1: {}
}
},
created() {
},
methods: {
isLocals,
handleQuery() {
},
cancel() {
this.$router.push({
name: 'superStudioGift'
})
},
handleClose1() {
this.updateShow = false
}
}
}
</script>
<style lang="scss" scoped>
::v-deep .input-styles1 .el-input__inner{
margin-left: 12px;
width: 166px;
height: 37px;
}
.input-styles{
}
::v-deep .input-styles .el-input__inner{
margin-left: 16px;
width: 166px;
height: 37px;
}
.lefts{
//width: 200px!important;
margin-left:45px !important;
}
.input_s{
width: 40px;
height: 20px;
background: #FFFFFF;
border-radius: 3px 3px 3px 3px;
border: 1px solid rgb(0,0,0,0.1);
margin: 0 3px;
text-align: center;
}
.flexStyle{
display: flex;
flex-wrap: wrap;
}
.add-icons img{
width: 20px;
height: 20px;
}
.count{
display: flex;
line-height: 20px;
margin: 5px 0 0 20px;
}
.texts{
width:80px;
margin-top: 10px
}
::v-deep .el-dialog{
height: 600px;
overflow-y: auto;
}
.dialog_content{
}
.rule-name{
background-color: #EDEDED;
margin-bottom: 10px;
width:240px;
padding: 10px;
margin-left: 10px;
}
.rules{
display: flex;
margin-top:10px;
}
.goods-lists{
padding-top: 30px;
}
.goods-name{
color: #333;
font-size: 14px;
font-weight: 500;
}
.goods-content{
padding-bottom: 100px;
}
::v-deep .el-dialog__body{
padding: 30px 20px 10px 20px;
}
.thebtn2{
background-color: #ccc;
color: #fff;
padding: 10px 20px;
}
.flex-s{
display: flex;
justify-content: center;
align-items: center;
width: 100%;
margin: 20px 0 0 0;
}
::v-deep .el-icon-search{
position: absolute;
left: 10px;
top: 10px;
}
.search-input .el-input__inner{
//padding-left: 30px;
//width: 200px;
}
::v-deep .search-input-content .el-input__inner{
padding-left: 30px;
//width: 450px;
}
.search-input-content{
display: flex;
position: relative;
}
::v-deep .el-dialog__title{
font-size: 24px;
color: #333;
font-weight: bold;
}
::v-deep .el-dialog__header{
border-bottom: 1px solid rgba(0,0,0,0.1);
}
.bottoms{
border-bottom: 1px solid rgba(0,0,0,0.5);
}
.rights{
border-right: none!important;
border-bottom: none!important;
}
.add-icon img{
width: 20px;
height: 20px;
position: absolute;
top: 0;
right: 0;
margin: 20px 20px 0 0;
}
.div_style{
position: relative;
}
.height_s{
height: auto!important;
border-right: 1px solid rgba(0,0,0,0.5);
}
.heights{
//width: 150px !important;
margin: 10px 0
}
.border-none{
border: none!important;
}
.border-none{
border-right: none!important;
//width: 180px !important;
}
.buttonStyle{
width: 170px;
height: 37px;
border-radius:4px;
opacity: 1;
line-height: 37px;
text-align: center;
color: #999999;
font-size: 14px;
border: 1px solid #CCCCCC;
margin-left: 20px;
}
.main_list{
display: flex;
//padding: 30px 0;
//justify-content: space-between;
//height: 200px;
.main_center{
//display: flex;
//flex-wrap: wrap;
.main_divs{
width: 200px;
height: 45px;
text-align: center;
line-height: 45px;
color: #333;
font-size: 14px;
border-bottom: 1px solid rgba(0,0,0,0.5);
border-right: 1px solid rgba(0,0,0,0.5);
font-weight: 600;
}
}
.main_left{
width:280px;
//padding: 10px 0;
border-right: 1px solid rgba(0,0,0,0.5);
//height: 100%;
}
.main_right{
width: 550px;
//padding: 10px 0;
//border-left: 1px solid rgba(0,0,0,0.5);
//height: 100%;
}
}
.searchbtn{
height: 37px;
background-color: #4391FD;
color: #fff;
margin-left: 20px;
}
.main_content {
padding: 10px 0 0 0 ;
border: 1px solid rgba(0,0,0,0.5);
width: 1350px;
margin: 20px;
.main_top{
//height: 58px;
display: flex;
border-bottom: 1px solid rgba(0,0,0,0.5);
padding: 0px 10px 10px 10px;
.add{
width: 68px;
height: 37px;
background: #4391FD;
border-radius: 4px;
color: #fff;
font-size: 14px;
text-align: center;
line-height: 37px;
}
}
}
.page {
padding: 20px;
background: #f9f9f9;
font-size: 14px;
.main {
background: #ffffff;
border-radius: 8px;
box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
.main_title {
display: flex;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
.bluekuai {
width: 5px;
height: 19px;
background: #4391fd;
margin-right: 20px;
}
.title_word {
font-size: 14px;
font-family: MicrosoftYaHei-Bold, MicrosoftYaHei;
font-weight: bold;
color: #333333;
}
}
}
.footer {
display: flex;
justify-content: center;
align-items: center;
padding: 15px 0;
.thebtn {
width: 120px;
height: 38px;
}
}
}
</style>