feat(global): 删除无用功能

This commit is contained in:
woody 2025-05-21 17:12:30 +08:00
parent 10883e2035
commit 21c8cb7d4a
27 changed files with 21 additions and 19337 deletions

View File

@ -523,151 +523,7 @@ export const constantRoutes = [
meta: { title: '撤单列表' },
component: () => import('@/views/information/removeOrderList/index')
},
// {
// path: 'memberTarget',
// name: 'MemberTarget',
// meta: { title: '会员目标' },
// component: ParentView,
// redirect: 'memberTarget/index',
// children: [
// {
// path: 'memberTarget',
// name: 'MemberTarget',
// component: () => import('@/views/information/memberTarget/index'),
// meta: { title: '会员目标' }
// },
// {
// path: 'memberMonth',
// name: 'memberMonth',
// component: () => import('@/views/information/memberTarget/month'),
// meta: { title: '会员目标' },
// hidden: true
// },
// {
// path: 'memberYear',
// name: 'memberYear',
// component: () => import('@/views/information/memberTarget/year'),
// meta: { title: '会员目标' },
// hidden: true
// }
// ]
// },
// {
// path: 'markerSpace',
// name: 'markerSpace',
// meta: { title: '创客发起人' },
// component: ParentView,
// redirect: 'markerSpace/index',
// children: [
// {
// path: 'markerSpaceList',
// name: 'markerSpaceList',
// component: () => import('@/views/information/markerSpace/index'),
// meta: { title: '创客发起人' }
// },
// {
// path: 'detail',
// name: 'detail',
// component: () => import('@/views/information/markerSpace/detail'),
// meta: { title: '创客空间详情' },
// hidden: true
// },
// {
// path: 'ckkjZxqc',
// name: 'CkkjZxqc',
// component: () => import('@/views/information/markerSpace/ckkjZxqc'),
// meta: { title: '创客空间详情' },
// hidden: true
// },
// {
// path: 'ckkjOnline',
// name: 'CkkjOnline',
// component: () => import('@/views/information/markerSpace/ckkjOnline'),
// meta: { title: '创客空间详情' },
// hidden: true
// }
// ]
// },
// {
// path: 'superStudio',
// name: 'superStudio',
// meta: { title: '超级工作室' },
// component: ParentView,
// redirect: 'superStudio/index',
// children: [
// {
// path: 'superStudioList',
// name: 'superStudioList',
// component: () => import('@/views/information/superStudio/index'),
// meta: { title: '超级工作室' }
// },
// {
// path: 'detail',
// name: 'detail',
// component: () => import('@/views/information/superStudio/detail'),
// meta: { title: '超级工作室详情' },
// hidden: true
// },
// {
// path: 'cjgzsQc',
// name: 'CjgzsQc',
// component: () => import('@/views/information/superStudio/cjgzsQc'),
// meta: { title: '超级工作室详情' },
// hidden: true
// }
// ]
// },
{
path: 'dealer',
name: 'dealer',
meta: { title: '经销商' },
component: ParentView,
redirect: 'dealer/index',
children: [
{
path: 'dealerList',
name: 'dealerList',
component: () => import('@/views/information/dealer/index'),
meta: { title: '经销商认证' }
},
{
path: 'detail',
name: 'detail',
component: () => import('@/views/information/dealer/detail'),
meta: { title: '经销商详情' },
hidden: true
},
{
path: 'jxsQc',
name: 'JxsQc',
component: () => import('@/views/information/dealer/jxsQc'),
meta: { title: '经销商详情' },
hidden: true
}
]
},
// {
// path: 'energySilo',
// name: 'EnergySilo',
// meta: { title: '生态科技舱' },
// component: ParentView,
// redirect: 'energySilo/index',
// children: [
// {
// path: 'energySilo',
// name: 'EnergySilo',
// component: () => import('@/views/information/energySilo/index'),
// meta: { title: '生态科技舱' }
// }
// // {
// // path: 'detail',
// // name: 'detail',
// // component: () => import('@/views/information/dealer/detail'),
// // meta: { title: '经销商详情' },
// // hidden: true
// // }
// ]
// },
{
path: 'operationRecord',
name: 'operationRecord',
@ -2444,19 +2300,6 @@ export const constantRoutes = [
}
]
},
// {
// path: 'targetPerformance',
// name: 'TargetPerformance',
// component: ParentView,
// children: [
// {
// path: 'targetPerformanceList',
// name: 'TargetPerformanceList',
// component: () => import('@/views/marketing/targetPerformance/index'),
// meta: { title: '目标业绩' }
// }
// ]
// },
{
path: 'rechargeCard',
name: 'RechargeCard',
@ -4103,97 +3946,6 @@ export const constantRoutes = [
}
]
},
// {
// path: '/shopManage',
// name: 'shopManage',
// alwaysShow: true,
// meta: { title: '店务管理', icon: 'info', icon1: 'infoSel' },
// component: Layout,
// children: [
// {
// path: 'shopConfig',
// name: 'shopConfig',
// meta: { title: '店务配置' },
// component: ParentView,
// alwaysShow: true,
// children: [
// {
// path: 'shopSysConfig',
// name: 'shopSysConfig',
// component: () => import('@/views/shopManage/shopConfig/shopSysConfig/index'),
// meta: { title: '参数配置' }
// },
// {
// path: 'shopNotice',
// name: 'shopNotice',
// component: () => import('@/views/shopManage/shopConfig/shopNotice/index'),
// meta: { title: '公告管理' }
// },
// {
// path: 'vipCardSet',
// name: 'vipCardSet',
// component: () => import('@/views/shopManage/shopConfig/vipCardSet/index'),
// meta: { title: '会员卡配置' }
// },
// {
// path: 'bannerSet',
// name: 'bannerSet',
// component: () => import('@/views/shopManage/shopConfig/bannerSet/index'),
// meta: { title: 'banner维护' }
// }
// ]
// },
// {
// path: 'shopInfoManaged',
// name: 'shopInfoManaged',
// meta: { title: '店务信息管理' },
// component: ParentView,
// alwaysShow: true,
// children: [
// {
// path: 'shopInfoVip',
// name: 'shopInfoVip',
// component: () => import('@/views/shopManage/shopInfoManaged/shopInfoVip/index'),
// meta: { title: '店务会员' }
// },
// {
// path: 'shopToManage',
// name: 'shopToManage',
// component: () => import('@/views/shopManage/shopInfoManaged/shopToManage/index'),
// meta: { title: '店铺管理' }
// },
// {
// path: 'shopMemberInfo',
// name: 'shopMemberInfo',
// component: () => import('@/views/shopManage/shopInfoManaged/shopMemberInfo/index'),
// meta: { title: '门店发起人数据' }
// },
// {
// path: 'shopUpdata',
// name: 'shopUpdata',
// component: () => import('@/views/shopManage/shopInfoManaged/shopUpdata/index'),
// meta: { title: '门店升级改造' }
// },
// {
// path: 'experienceCardData',
// name: 'ExperienceCardData',
// component: () => import('@/views/shopManage/shopInfoManaged/experienceCardData/index'),
// meta: { title: '体验卡数据' }
// }
// ]
// }
// ]
// },
// {
// path: 'external-link',
// component: Layout,
// children: [
// {
// path: 'https://panjiachen.github.io/vue-element-admin-site/#/',
// meta: { title: 'External Link', icon: 'link' }
// }
// ]
// },
// 404 page must be placed at the end !!!
{ path: '*', redirect: '/404', hidden: true },

File diff suppressed because it is too large Load Diff

View File

@ -1,991 +0,0 @@
<!--
* @Descripttion:
* @version:
* @Author: kBank
* @Date: 2022-10-24 15:45:01
-->
<template>
<div class="page">
<el-dialog
title="驳回意见"
:visible.sync="isShow"
width="40%"
center
:close-on-click-modal="false"
:before-close="handleClose1"
>
<div>
<editor
ref="sptwEditor"
v-model="relContent"
:min-height="283"
:upload-url="uploadImgUrl"
/>
</div>
<div class="button-s">
<div class="submit" @click="handleClose1"> {{ '取消' }}</div>
<div class="submit colors" @click="confirmSubmit"> {{ '确认' }}</div>
</div>
</el-dialog>
<topBar v-if="topList.length > 0" :top-list="topList" :moren="moren" />
<div class="thetopbox">
<el-form ref="select" :model="select" label-width="100px">
<el-row>
<!-- 一层 -->
<el-col :span="4">
<el-form-item :label="'会员编号'">
<el-input v-model="select.memberCode" clearable />
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'会员姓名'">
<el-input v-model="select.memberName" clearable />
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'真实奖衔'">
<el-select v-model="select.pkAward" clearable placeholder="">
<el-option
v-for="item in awardsList"
:key="item.pkId"
:label="item.awardsName"
:value="item.pkId"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'隶属体系'">
<el-select v-model="select.pkVertex" clearable placeholder="">
<el-option
v-for="item in verList"
:key="item.value"
:label="item.vertexName"
:value="item.pkId"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'隶属团队'">
<el-select v-model="select.pkTeamCode" clearable placeholder="">
<el-option
v-for="item in memberList"
:key="item.value"
:label="item.teamName"
:value="item.pkId"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'审核状态'">
<el-select
v-model="select.approveStatus"
clearable
placeholder=""
>
<el-option
v-for="item in typeList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="证件状态">
<el-select
v-model="select.certificateStatus"
clearable
>
<el-option
v-for="item in cerList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-collapse-transition>
<div>
<el-col :span="8">
<el-form-item
:label="'申请日期'"
prop="creationTime"
class="el-check_s"
>
<el-date-picker
v-model="select.applyTime"
value-format="yyyy-MM-dd"
type="daterange"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
@change="changeTime"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
:label="'审核日期'"
prop="creationTime"
class="el-check_s"
>
<el-date-picker
v-model="select.approveTime"
value-format="yyyy-MM-dd"
type="daterange"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
@change="changeTime1"
/>
</el-form-item>
</el-col>
<el-col :span="4" style="margin-left: 50px">
<el-button
type="primary"
style="background-color: #c8161d"
@click="getDataList"
> {{ '搜索' }}</el-button>
<el-button @click="reset"> {{ '重置' }}</el-button>
</el-col>
</div>
</el-collapse-transition>
</el-row>
<el-row />
<!-- <div class="openClose" @click="changeActive">-->
<!-- <i :class="isActive ? 'el-icon-arrow-up' : 'el-icon-arrow-down'" />-->
<!-- <div>{{ isActive ? '点击收起' : '点击展开' }}</div>-->
<!-- </div>-->
</el-form>
</div>
<div class="maintop">
<div class="mainbtn">
<el-button
v-hasButtons="['dealerSh']"
size="small"
style="background: #48b2fd"
class="thebtn1"
@click="check"
>{{ '审核' }}</el-button>
<el-button
v-hasButtons="['dealerExport']"
size="small"
style="background: #ffad41; color: #fff"
class="thebtn3"
@click="exports()"
> {{ '导出' }}</el-button>
</div>
</div>
<div class="main">
<!-- <div class="maintop">-->
<!-- <div class="mainbtn">-->
<!-- <el-button size="small"-->
<!-- @click="openDig"-->
<!-- class="thebtn2"> {{ '导出' }}</el-button>-->
<!-- </div>-->
<!-- <div>-->
<!-- <el-dropdown :hide-on-click="false">-->
<!-- <span class="el-dropdown-link kuang">-->
<!-- {{'筛选字段'}}<i class="el-icon-arrow-down el-icon&#45;&#45;right"></i>-->
<!-- </span>-->
<!-- <el-dropdown-menu slot="dropdown">-->
<!-- <el-dropdown-item v-for="item in menuList"-->
<!-- :key="item.id">-->
<!-- <el-checkbox v-model="item.checked"-->
<!-- @change="getMenu($event,item.id)">{{ item.text }}</el-checkbox></el-dropdown-item>-->
<!-- </el-dropdown-menu>-->
<!-- </el-dropdown>-->
<!-- </div>-->
<!-- </div>-->
<div class="maintable">
<div class="itemTrading">
<el-table
ref="multipleTable"
v-loading="loading"
:data="tableData.censusSummaryList"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
:summary-method="getSummaries"
show-summary
height="720px"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="50" />
<el-table-column
align="center"
prop="memberCode"
width="110"
:label="'会员编号'"
/>
<el-table-column
align="center"
prop="memberName"
width="120"
:label="'会员姓名'"
/>
<el-table-column
align="center"
prop="awardTransactionVal"
width="120"
:label="'真实奖衔'"
/>
<el-table-column
align="center"
prop="vertexName"
width="120"
:label="'隶属体系'"
/>
<el-table-column
align="center"
prop="teamName"
width="120"
:label="'隶属团队'"
/>
<el-table-column
align="center"
prop="licenseName"
width="150"
:label="'营业执照名称'"
/>
<el-table-column
align="center"
prop="creditCode"
width="150"
:label="'统一社会信用代码'"
/>
<el-table-column
align="center"
prop="legalName"
width="120"
:label="'法人姓名'"
/>
<el-table-column
align="center"
width="180"
prop="licenseAddress"
:label="'营业执照注册地址'"
/>
<el-table-column
align="center"
prop="approveStatusVal"
:label="'审核状态'"
/>
<el-table-column align="center" prop="applyTime" :label="'申请日期'" />
<el-table-column
align="center"
prop="approveTime"
:label="'审核日期'"
/>
<el-table-column
align="center"
prop="certificateStatusVal"
label="证件状态"
/>
<el-table-column align="center" prop="time" :label="'操作'" width="200">
<template slot-scope="scope">
<el-button
v-if="scope.row.approveStatus == 2 || scope.row.approveStatus == 4"
v-hasButtons="['dealerFq']"
class="button_s"
type="text"
size="small"
style="color: #48b2fd"
@click="hrefs(scope.row)"
>
发起签呈
</el-button>
<el-button
v-if="scope.row.approveStatus == 2 || scope.row.approveStatus == 4"
v-hasButtons="['dealerBh']"
class="button_s"
type="text"
size="small"
style="color: #C8161D"
@click="reject(scope.row.storeCode)"
>
{{ '驳回' }}
</el-button>
<el-button
v-hasButtons="['dealerDetail']"
class="button_s"
type="text"
size="small"
style="color: #009b58"
@click="details(scope.row.storeCode)"
>
资质认证
</el-button>
<el-button
v-if="scope.row.approveStatus == 5"
v-hasButtons="['dealerUp']"
class="button_s"
type="text"
size="small"
style="color: #C8161D"
@click="details(scope.row.storeCode,1)"
>
上传
</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="heji">
<div
v-for="item in menuList"
v-if="item.checked && item.id != 0 && item.id > 13"
:key="item.id"
class="dis"
>
<div>{{ item.text }}</div>
<div>{{ tableData[item.prop] }}</div>
</div>
</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/settle.js'
import * as api_s from '@/api/product.js'
import * as apis from '@/api/site.js'
import { classifyUpdate, classifySave } from '@/api/product'
import * as log from '@/api/logistics'
import { getcountryAllList } from '@/api/exchangerate'
import { bonusSource } from '@/api/bonus'
import * as del from '@/api/delivery'
import { getAwardsListChiose } from '@/api/level'
import { dealerList, dealerReject, markerSpace } from '@/api/settle.js'
import { Message } from 'element-ui'
import Editor from '@/components/Editor/index.vue'
import { isLocals } from '@/utils/numberToCurrency'
export default {
name: 'Bzpz',
components: {
Editor,
topBar
},
filters: {
isAgree(val) {
if (!val) {
return '允许'
} else {
return '禁止'
}
}
},
data() {
return {
awardsList: [],
kdzcList: [
{
value: '1',
label: '空单注册'
}
], //
regionParams: {
label: 'name',
value: 'id',
children: 'children',
expandTrigger: 'hover'
},
isActive: false,
typeList: [
{
value: 2,
label: '待审核'
},
// {
// value: 3,
// label: ''
// },
{
value: 4,
label: '已驳回'
},
{
value: 5,
label: '已审核'
}
],
digList: [
{
value: 0,
label: '允许'
},
{
value: 1,
label: '禁止'
}
],
menuList: [
{
id: 0,
text: '全选',
checked: false
},
{
id: 1,
text: '拓展无封' + '(¥)',
checked: false,
prop: 'firstBuyAmountDollar'
},
{
id: 2,
text: '拓展无封' + '(¥)',
checked: false,
prop: 'firstBuyAmountDollar'
},
{
id: 3,
text: '拓展正常减半' + '(¥)',
checked: false,
prop: 'firstBuyAmountDollar'
},
{
id: 4,
text: '拓展实际减半' + '(¥)',
checked: false,
prop: 'firstBuyAmountDollar'
},
{
id: 5,
text: '拓展无封' + '(¥)',
checked: false,
prop: 'firstBuyAmountDollar'
},
{
id: 6,
text: '拓展封顶' + `(${isLocals()})`,
checked: false,
prop: 'firstBuyAmountDollar'
},
{
id: 7,
text: '拓展正常减半' + '($)',
checked: false,
prop: 'firstBuyAmountDollar'
},
{
id: 8,
text: '拓展实际减半' + '($)',
checked: false,
prop: 'firstBuyAmountDollar'
},
{
id: 9,
text: '直推轮数',
checked: false,
prop: 'firstBuyAmountDollar'
},
{
id: 10,
text: '直推次数',
checked: false,
prop: 'firstBuyAmountDollar'
},
{
id: 11,
text: '当前碰次',
checked: false,
prop: 'firstBuyAmountDollar'
},
{
id: 12,
text: '拓展碰次',
checked: false,
prop: 'firstBuyAmountDollar'
},
{
id: 13,
text: '当前代数',
checked: false,
prop: 'firstBuyAmountDollar'
},
{
id: 14,
text: '辅导代数',
checked: false,
prop: 'firstBuyAmountDollar'
}
],
creationTime: [],
creationTime1: [],
creationTime2: [],
creationTime3: [],
select: {
approveStatus: 2
},
//
queryParams: {
pageNum: 1,
pageSize: 50
},
addOrEdit: '',
total: 0,
dialogVisible: false,
loading: false,
tableData: {
censusSummaryList: []
},
moren: 'dealerList',
topList: [
{
name: '经销商认证',
path: 'dealerList'
}
],
form: {
name: ''
},
areaData: [],
rules: {
name: [{ required: true, message: '请输入规格类型', trigger: 'blur' }]
},
shoppingAddress: [],
acList: [],
verList: [],
cerList: [],
memberList: [],
yieldList: [],
yieldStatus: [],
countryList: [],
orderTypeList: [],
pkMemberTeam: [],
pkVertex: [],
typeId: '',
paywayList: [],
presaleStatusList: [],
orderStatusList: [],
transportTypeList: [],
gyList: [],
deliveryWayList: [],
markerList: [
{ name: '会员', id: 0 },
{ name: '体验中心', id: 1 }
],
isShow: false,
relContent: '',
storeCode: '',
uploadImgUrl: process.env.VUE_APP_BASE_API + '/system/upload'
}
},
mounted() {
//
this.getData()
//
this.getDataList()
},
methods: {
//
confirmSubmit() {
if (this.relContent.length == 0) {
this.$message({
message: '请输入驳回信息',
type: 'warning'
})
return false
}
api.dealerReject({ 'storeCode': this.storeCode, 'rejectStr': this.relContent }).then((res) => {
if (res.code == '200') {
this.$message({
message: res.msg,
type: 'success'
})
this.isShow = false
this.relContent = ''
this.storeCode = ''
this.getDataList()
} else {
this.$message({
message: res.msg,
type: 'error'
})
}
})
},
handleClose1() {
this.isShow = false
this.relContent = ''
this.storeCode = ''
},
reject(code) {
this.storeCode = code
this.isShow = true
},
check() {
const len = this.$refs.multipleTable.selection.length
if (len === 0) {
Message({ message: '请选择一条数据', type: 'warning' })
} else if (len > 1) {
Message({ message: '只能选择一条', type: 'warning' })
} else {
// this.$router.push('/manageDetails?id=' + this.$refs.multipleTable.selection[0].memberCode + '&index=1')
this.$router.push('/dashboard')
return true
}
},
hrefs(row) {
this.$router.push({
path: 'JxsQc',
query: {
data: JSON.stringify([row]),
approvalBusiness: 143
}
})
},
// details(code) {
// this.$router.push('/information/dealer/detail?code=' + code)
// },
details(code, index) {
index = index || 0
this.$router.push('/information/dealer/detail?code=' + code + '&index=' + index)
},
exports() {
this.download(
'/member/manage/maker-space/export',
Object.assign({}, this.select),
`${'创客空间'}-${new Date().getTime()}.xlsx`
)
},
exports() {
this.download(
'/member/manage/dealer/export',
Object.assign({}, this.select),
`${'经销商认证'}-${new Date().getTime()}.xlsx`
)
},
handleChange(res) {
this.form.recProvince = res[0]
this.form.recCity = res[1]
this.form.recCounty = res[2]
},
//
changeActive() {
this.isActive = !this.isActive
},
reset() {
this.select = {}
this.pkVertex = []
this.pkMemberTeam = []
this.typeId = ''
},
getMenu(e, id) {
if (e && id == 0) {
this.menuList.forEach((item) => {
this.$set(item, 'checked', true)
})
} else if (!e && id == 0) {
this.menuList.forEach((item) => {
this.$set(item, 'checked', false)
})
}
},
getData() {
getAwardsListChiose().then((res) => {
this.awardsList = res.rows
})
//
api.vertexList().then((res) => {
this.verList = res.data
})
//
api.certificate_status().then((res) => {
this.cerList = res.data
})
//
api.memberTeam().then((res) => {
this.memberList = res.rows
})
},
changeTime(val) {
// this.select.startCreationTime = val[0]
// this.select.endCreationTime = val[1]
},
changeTime1(val) {
// this.select.startPayTime = val[0]
// this.select.endPayTime = val[1]
},
//
toFixed(id) {
this.addOrEdit = false
this.dialogVisible = true
this.$router.push({
path: 'noticeList/details',
query: {
pkId: id
}
})
},
getSummaries(param) {
const { columns, data } = param
const sums = []
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = ''
return
}
if (index === 1) {
sums[index] = ''
return
}
const values = data.map((item) => Number(item[column.property]))
if (!values.every((value) => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr)
if (!isNaN(value)) {
return
} else {
return
}
}, 0)
// sums[index] += ' '
} else {
sums[index] = ''
}
})
return sums
},
//
handleDelete(id) {
this.$confirm('确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
api.classifyDel(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: 'noticeList/details'
})
},
getDataList() {
this.loading = true
api.dealerList(Object.assign({}, this.queryParams, this.select)).then((res) => {
// res.data.forEach((element) => {
// element.approvalStatus = element.approvalStatus === 1 ? '' : element.approvalStatus == 2 ? '' : ''
// })
this.loading = false
this.tableData.censusSummaryList = res.rows
this.total = res.total
})
},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return 'warning-row'
} else if (rowIndex % 2 == 0) {
return 'success-row'
}
return ''
}
}
}
</script>
<style scoped lang="scss">
.button_s{
padding: 3px 5px;
}
.button-s{
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
margin-top: 20px;
.submit{
width: 209px;
height: 48px;
background: #CCCCCC;
border-radius: 5px 5px 5px 5px;
line-height: 48px;
text-align: center;
color: #fff;
font-size: 18px;
}
.colors{
margin-left: 40px;
background-color: #48B2FD;
}
}
::v-deep .el-dialog__headerbtn .el-dialog__close{
color: #333;
}
::v-deep .el-dialog__header{
padding: 20px 0;
}
::v-deep .el-check_s .el-input__inner {
width: 100%;
}
::v-deep .el-form-item {
margin-bottom: 10px;
}
::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%;
}
.uploadIcon ::v-deep .el-upload--picture-card {
display: none !important; /* 上传按钮隐藏 */
}
.page {
padding: 10px 20px;
background: #f9f9f9;
font-size: 14px;
.thetopbox {
padding: 10px;
background: #ffffff;
border-radius: 8px;
.searchbox {
display: flex;
align-items: center;
.searchtitle {
margin-right: 10px;
}
.searchbtn {
width: 68px;
background: #c8161d;
color: #ffffff;
}
}
}
.maintop {
display: flex;
//padding: 10px 0;
justify-content: space-between;
align-items: center;
.mainbtn {
.thebtn1 {
background: #3181e5;
color: #ffffff;
}
.thebtn2 {
background: #ffad41;
color: #ffffff;
}
}
.maintitle {
font-size: 10px;
font-family: MicrosoftYaHei;
color: #999999;
}
}
.main {
background: #ffffff;
border-radius: 8px;
box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
overflow: hidden;
}
.tem {
display: flex;
align-items: center;
justify-content: center;
img {
width: 28px;
height: 20px;
margin-right: 3px;
}
}
.isRed {
color: #ed1d25;
}
.isGreen {
color: #1ab62b;
}
.bgImg {
width: 48px;
height: 48px;
}
}
.openClose {
margin-right: 10px;
color: #666666;
text-align: center;
}
.kuang {
padding: 5px 20px;
background: rgba(255, 255, 255, 0);
border-radius: 4px;
border: 1px solid #cccccc;
}
.heji {
margin-top: 10px;
.dis {
display: flex;
justify-content: right;
padding: 5px 10px;
font-size: 14px;
color: #333333;
:nth-child(1) {
font-size: 14px;
font-weight: bold;
color: #333333;
margin-right: 20px;
}
}
}
</style>
<style>
</style>

View File

@ -1,513 +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"
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"
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> -->
<noImgEditor v-model="allData.remark"
:min-height="190"/>
</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-if="ctem.value == 'action1'">
<div
style="
color: #48b2fd;
text-decoration: underline;
cursor: pointer;
"
@click="details"
>
查看详情
</div>
</div>
<div v-else-if="ctem.value == 'legalCardFront'">
<el-image
style="width: 100px; height: 100px"
:src="scope.row.legalCardFront"
:preview-src-list="[scope.row.legalCardFront]"
>
</el-image>
</div>
<div v-else-if="ctem.value == 'legalCardBack'">
<el-image
style="width: 100px; height: 100px"
:src="scope.row.legalCardBack"
:preview-src-list="[scope.row.legalCardBack]"
>
</el-image>
</div>
<div v-else-if="ctem.value == 'license'">
<el-image
style="width: 100px; height: 100px"
:src="scope.row.license"
:preview-src-list="[scope.row.license]"
>
</el-image>
</div>
<div v-else-if="ctem.value == 'storeAgreementList'">
<el-image
v-for="(stem, sndex) in scope.row.storeAgreementList"
:key="sndex"
style="width: 100px; height: 100px"
:src="stem"
:preview-src-list="scope.row.storeAgreementList"
>
</el-image>
</div>
<div v-else>
<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 onlineSign from '../../dashboard/onlineSign.json'
import { getToken } from '@/utils/auth'
import {dealerSpace, superStudioSpace} 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: [],
typeNext: 0,
}
},
mounted() {
//
this.allData.updateParentParamList = JSON.parse(this.$route.query.data)
//
this.allData.approvalBusiness = this.$route.query.approvalBusiness
this.typeNext = this.$route.query.typeNext;
this.getSignData([this.allData.approvalBusiness])
console.error(this.allData)
},
methods: {
details(code) {
if( this.typeNext){
this.$router.push({
path: "/information/dealer/detail",
query: {
data: JSON.stringify(this.allData.updateParentParamList),
},
});
}else{
this.$router.push('/information/dealer/detail?code=' + this.allData.updateParentParamList[0].storeCode)
}
},
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,reqUrl
if (this.typeNext == 1) {
obj = {
storeCode: this.allData.updateParentParamList[0].storeCode, //
signType: this.allData.signType, //
remark: this.allData.remark, //
fileList: this.allData.fileList, //[]
userIdList: this.allData.userIdList, //[]
sendIdList: this.allData.sendIdList, //[]
legalCardFront: this.allData.updateParentParamList[0].legalCardFront, //
legalCardBack: this.allData.updateParentParamList[0].legalCardBack, //
license: this.allData.updateParentParamList[0].license, //
storeAgreementList: this.allData.updateParentParamList[0].storeAgreementList, //
};
reqUrl = man.dealerSpaceUpload
} else {
obj = {
storeCode: this.allData.updateParentParamList[0].storeCode, //
signType: this.allData.signType, //
remark: this.allData.remark, //
fileList: this.allData.fileList, //[]
userIdList: this.allData.userIdList, //[]
sendIdList: this.allData.sendIdList, //[]
};
reqUrl = man.dealerSpace
}
reqUrl(obj).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: 'success',
})
this.cancelCz()
}
})
},
cancelCz() {
// this.$router.go(-1)
this.$router.push('/information/dealer/dealerList')
},
//
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()
},
//
delData() {
this.allData.signData.detailList.pop()
this.$forceUpdate()
},
//
delData1() {
this.allData.signData.sendList.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,836 +0,0 @@
<template>
<div class="page">
<topBar
v-if="topList.length > 0"
:topList="topList"
:moren="moren"
></topBar>
<div class="thetopbox">
<el-form ref="form" :model="queryParams" label-width="100px">
<el-row>
<el-col :span="4">
<el-form-item :label="'会员编号'" prop="teamCode">
<el-input
clearable
v-model="queryParams.memberCode"
:placeholder="'请输入'"
></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'会员姓名'" prop="teamCode">
<el-input
clearable
v-model="queryParams.memberName"
:placeholder="'请输入'"
></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'联系方式'" prop="phone">
<el-input
clearable
v-model="queryParams.phone"
:placeholder="'请输入'"
></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'真实奖衔'" prop="pkAwards">
<el-select clearable v-model="queryParams.pkAwards">
<el-option
v-for="item in awardsList"
:key="item.pkId"
:label="item.awardsName"
:value="item.pkId"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'隶属体系'" prop="pkVertex">
<el-select
clearable
:placeholder="'请选择'"
v-model="queryParams.pkVertex"
>
<el-option
v-for="item in vertexList"
:key="item.pkId"
:label="item.vertexName"
:value="item.pkId"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'隶属团队'" prop="pkTeamCode">
<el-select
clearable
:placeholder="'请选择'"
v-model="queryParams.pkTeamCode"
>
<el-option
v-for="item in memberTeamList"
:key="item.pkId"
:label="item.teamName"
:value="item.pkId"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<el-form-item :label="'达标状态'" prop="isReach">
<el-select
clearable
:placeholder="'请选择'"
v-model="queryParams.isReach"
>
<el-option
v-for="item in isReachList"
: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="teamCode">
<el-date-picker
v-model="queryParams.times1"
@change="changeKs"
type="daterange"
range-separator="——"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
value-format="yyyy-MM-dd"
:unlink-panels="true"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="'结束日期'" prop="teamCode">
<el-date-picker
v-model="queryParams.times2"
@change="changeJs"
type="daterange"
range-separator="——"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
value-format="yyyy-MM-dd"
:unlink-panels="true"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<div class="searchbox" style="margin-left: 30px">
<el-button class="searchbtn" @click="research()"> {{ '搜索' }}</el-button>
<el-button @click="reChongzhi"> {{ '重置' }}</el-button>
</div>
</el-col>
</el-row>
</el-form>
</div>
<div class="maintop">
<div class="mainbtn">
<el-button size="small" @click="addSilo" class="thebtn2" v-hasButtons="['EnergyAdd']"
>{{'添加'}}</el-button
>
<el-button
v-hasButtons="['EnergyUpdate']"
size="small"
:disabled="single"
@click="singleUpdate"
class="thebtn3"
>{{'修改'}}</el-button
>
<el-button size="small" @click="exports()" v-hasButtons="['EnergyExport']" class="thebtn1"> {{ '导出' }}</el-button>
</div>
</div>
<div class="main">
<div class="maintable">
<el-table
:data="tableData"
v-loading="loading"
style="width: 100%"
height="695px"
: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"
min-width="120px"
prop="memberCode"
:label="'会员编号'"
>
</el-table-column>
<el-table-column align="center" prop="memberName" :label="'会员姓名'">
</el-table-column>
<el-table-column
align="center"
min-width="120px"
prop="phone"
:label="'联系方式'"
>
</el-table-column>
<el-table-column align="center" prop="awardsName" :label="'真实奖衔'">
</el-table-column>
<el-table-column align="center" prop="vertexName" :label="'隶属体系'">
</el-table-column>
<el-table-column
align="center"
prop="teamMemberName"
:label="'隶属团队'"
>
</el-table-column>
<el-table-column
align="center"
prop="leasesNumber"
:label="'能量仓数量'"
min-width="150px"
>
</el-table-column>
<el-table-column align="center" prop="makerNum" :label="'创客数量'">
<template slot-scope="scope">
<span style="color: #48b2fd">{{ scope.row.makerNum }}</span>
</template>
</el-table-column>
<el-table-column align="center" prop="giftNum" :label="'礼包数量'">
<template slot-scope="scope">
<span
@click="clickGift(scope.row)"
style="color: #48b2fd; cursor: pointer"
>{{ scope.row.giftNum }}</span
>
</template>
</el-table-column>
<el-table-column
align="center"
:formatter="checkSurplusDate2"
prop="useDate"
:label="'考核用时'"
min-width="150px"
>
</el-table-column>
<el-table-column
align="center"
:formatter="checkSurplusDate"
prop="surplusDate"
:label="'考核余时'"
min-width="150px"
>
</el-table-column>
<el-table-column
align="center"
prop="addTime"
:label="'增加时间(天)'"
min-width="130px"
>
</el-table-column>
<!-- <el-table-column align="center" prop="isReachVal" label="是否达标">
</el-table-column> -->
<el-table-column align="center" prop="isReachVal" :label="'达标状态'">
</el-table-column>
<el-table-column
min-width="160px"
align="center"
prop="enableDate"
:label="'开始日期'"
>
</el-table-column>
<el-table-column
min-width="160px"
align="center"
prop="endDate"
:label="'结束日期'"
>
</el-table-column>
<el-table-column width="80px" align="center" prop="" :label="'操作'">
<template slot-scope="scope">
<div>
<el-button
@click.native.prevent="update(scope.row)"
type="text"
size="small"
v-hasButtons="['EnergyUpdate']"
style="color: #48b2fd"
>
{{ '修改' }}
</el-button>
<el-button
@click.native.prevent="deleteRow(scope.row)"
type="text"
size="small"
v-hasButtons="['EnergyDelete']"
style="color: #c73030; padding: 0; margin: 5px"
>
{{ '删除' }}
</el-button>
</div>
</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"
/>
<el-dialog
:title="dialogTittle"
:visible.sync="addShow"
width="40%"
:close-on-click-modal="false"
center
:before-close="handleClose"
class="updateClass"
>
<el-form ref="form" :rules="rules" :model="form" label-width="100px">
<el-row v-if="ifadd == 2">
<el-col>
<el-form-item label-width="20px">
<el-radio-group v-model="form.addType">
<el-radio
:label="item.value"
v-for="(item, index) in czWayList"
:key="index"
>{{ item.label }}</el-radio
>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item required :label="'会员编号'" prop="memberCode">
<el-input
clearable
@blur="checkName"
:disabled="ifadd == 1 ? false : true"
v-model="form.memberCode"
:placeholder="'请输入'"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="'会员姓名'" prop="memberName">
<el-input
disabled
clearable
v-model="form.memberName"
:placeholder="'请输入'"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" v-if="ifadd == 1">
<el-form-item required :label="'对赌天数'" prop="surplusDate">
<el-input
clearable
v-model="form.surplusDate"
:placeholder="'请输入'"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" v-if="ifadd == 2">
<el-form-item required :label="'增加天数'" prop="addTime">
<el-input
clearable
v-model="form.addTime"
:placeholder="'请输入'"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="'能量仓数量'" prop="leasesNumber">
<el-input
clearable
disabled
v-model="form.leasesNumber"
:placeholder="'请输入'"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" v-if="ifadd == 1">
<el-form-item required :label="'开始日期'" prop="enableDate">
<el-date-picker
v-model="form.enableDate"
disabled
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
:placeholder="'请选择'"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose">{{'取消'}}</el-button>
<el-button type="primary" @click="onSubmit('form')">{{'确认'}}</el-button>
</span>
</el-dialog>
<el-dialog
:title="'创客礼包'"
:visible.sync="giftShow"
width="60%"
:close-on-click-modal="false"
center
class="updateClass"
:before-close="handleClose2"
>
<div class="thetopbox">
<el-form ref="form" :model="queryParams" label-width="100px">
<el-row>
<el-col :span="6">
<el-form-item :label="'会员编号'" prop="teamCode">
<el-input
clearable
v-model="queryParams2.memberCode"
:placeholder="'请输入'"
></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="'会员姓名'" prop="teamCode">
<el-input
clearable
v-model="queryParams2.memberName"
:placeholder="'请输入'"
></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="'联系方式'" prop="phone">
<el-input
clearable
v-model="queryParams2.phone"
:placeholder="'请输入'"
></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="'真实奖衔'" prop="pkAwards">
<el-select clearable v-model="queryParams2.pkAwards">
<el-option
v-for="item in awardsList"
:key="item.pkId"
:label="item.awardsName"
:value="item.pkId"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="'审核日期'" prop="teamCode">
<el-date-picker
v-model="queryParams2.times"
type="datetimerange"
range-separator="——"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
value-format="yyyy-MM-dd HH:mm:ss"
:unlink-panels="true"
@change="changeSh"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<div class="searchbox" style="margin-left: 30px">
<el-button class="searchbtn" @click="research2()"
> {{ '搜索' }}</el-button
>
<el-button @click="reChongzhi2"> {{ '重置' }}</el-button>
</div>
</el-col>
</el-row>
</el-form>
</div>
<el-table
height="500px"
:data="giftTable"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
>
<el-table-column align="center" prop="memberCode" :label="'会员编号'">
</el-table-column>
<el-table-column align="center" prop="memberName" :label="'会员姓名'">
</el-table-column>
<el-table-column align="center" prop="phone" :label="'联系方式'">
</el-table-column>
<el-table-column align="center" prop="awardsName" :label="'真实奖衔'">
</el-table-column>
<el-table-column align="center" prop="buyNum" :label="'创客数量'">
</el-table-column>
<el-table-column align="center" prop="giftBuyNum" :label="'礼包数量'">
</el-table-column>
<el-table-column align="center" prop="buyDate" :label="'支付日期'">
</el-table-column>
</el-table>
</el-dialog>
</div>
</template>
<script>
import topBar from "@/components/topBar";
import * as ene from "@/api/member";
import { getAwardsListChiose } from "@/api/level";
import { getvertexValue, getmemberTeamList } from "@/api/financialCase";
import { gettheMemberInfo } from "@/api/affiliatedteam";
export default {
name: "EnergySilo",
components: {
topBar,
},
data() {
return {
moren: "energySilo",
topList: [
{
name: '生态科技舱',
path: "energySilo",
},
],
multipleSelection: [],
queryParams: {
pageNum: 1,
pageSize: 50,
},
queryParams2: {},
tableData: [],
loading:false,
total: 0,
awardsList: [],
memberTeamList: [],
vertexList: [],
isReachList: [],
addShow: false,
form: {
memberName: "",
surplusDate: "",
leasesNumber: "1",
enableDate: "",
addTime: "",
addType: "",
},
rules: {},
dialogTittle: "",
giftTable: [],
giftShow: false,
single: true,
ifadd: "",
czWayList: [
{
value: 1,
label: '增加',
},
{ value: 3, label: '最终' },
],
rowPkId: "",
thestartime:"",
theendtime:""
};
},
created() {
this.research();
this.getOther();
},
methods: {
exports() {
this.download(
'/member/manage/silo/export-silo',
Object.assign({}, this.queryParams),
`${'生态科技仓'}-${new Date().getTime()}.xlsx`
)
},
changeKs(val) {
this.queryParams.startDate = val[0];
this.queryParams.startEndDate = val[1];
},
changeJs(val) {
this.queryParams.endStartDate = val[0];
this.queryParams.endDate = val[1];
},
changeSh(val) {
this.queryParams2.startDate = val[0];
this.queryParams2.startEndDate = val[1];
},
//
singleUpdate() {
this.update(this.multipleSelection[0]);
this.ifadd = 2;
},
//
clickGift(row, index) {
this.rowPkId = row.pkId;
ene.getSiloDetail({ pkId: row.pkId }).then((res) => {
this.giftTable = res.rows;
this.giftShow = true;
});
},
checkSurplusDate(row) {
let time = row.surplusDate;
let format = this.formatTime(time); //
return format;
},
checkSurplusDate2(row) {
let time = row.useDate;
let format = this.formatTime(time); //
return format;
},
//
formatTime(time) {
let days = parseInt(time / (3600 * 24)); //
let hours = parseInt((time % (3600 * 24)) / 3600); //
let minutes = parseInt((time % 3600) / 60); //
let seconds = time % 60; //
return days + "天" + hours + "小时" + minutes + "分" + seconds + "秒";
},
handleClose() {
this.addShow = false;
this.$refs["form"].clearValidate();
this.$refs["form"].resetFields();
},
handleClose2() {
this.giftShow = false;
},
addSilo() {
this.dialogTittle = '添加';
this.form = {
memberName: "",
surplusDate: "",
leasesNumber: "1",
enableDate: "",
addTime: "",
addType: "",
};
const date = new Date(new Date().getTime()); //
const year = date.getFullYear(); //
const month = (date.getMonth() + 1 + "").padStart(2, "0"); //
const days = (date.getDate() + "").padStart(2, "0"); //
const hours = (date.getHours() + "").padStart(2, "0"); //
const min = (date.getMinutes() + "").padStart(2, "0"); //
const s = (date.getSeconds() + "").padStart(2, "0"); //
var athedate = ` ${year}-${month}-${days} ${hours}:${min}:${s} `; //
this.$set(this.form, "enableDate", athedate.toString());
this.addShow = true;
this.$refs["form"].resetFields();
this.ifadd = 1;
},
//
checkName() {
gettheMemberInfo(this.form.memberCode).then((res) => {
this.form.memberName = res.data.memberName;
});
},
getOther() {
getAwardsListChiose().then((res) => {
this.awardsList = res.rows;
});
getmemberTeamList().then((res) => {
this.memberTeamList = res.rows;
});
getvertexValue().then((res) => {
this.vertexList = res.data;
});
ene.getReachState().then((res) => {
this.isReachList = res.data;
});
},
onSubmit(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
ene.saveSilo(this.form).then((res) => {
if (res.code == 200) {
this.addShow = false;
this.$message({
message: res.msg,
type: "success",
});
this.research();
}
});
}
});
},
research() {
this.loading = true
ene.getSiloList(this.queryParams).then((res) => {
this.tableData = res.rows;
this.total = res.total;
this.loading = false
});
},
research2() {
ene
.getSiloDetail(
Object.assign({}, this.queryParams2, { pkId: this.rowPkId })
)
.then((res) => {
this.giftTable = res.rows;
});
},
reChongzhi() {
this.queryParams = {
pageNum: 1,
pageSize: 50,
};
this.research();
},
reChongzhi2() {
this.queryParams2 = {};
this.research2();
},
update(row) {
this.dialogTittle = '修改';
this.addShow = true;
this.form = row;
this.ifadd = 2;
},
deleteRow(row) {
this.$confirm('确定删除?').then((_) => {
ene.deleteSilo({ pkId: row.pkId }).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.research();
}
});
});
},
handleSelectionChange(val) {
this.multipleSelection = val;
this.single = val.length !== 1;
},
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 .el-date-editor--daterange.el-input__inner {
width: 100%;
}
::v-deep .el-input__inner{
width: 100%;
}
.el-date-editor--datetimerange.el-input,
.el-date-editor--datetimerange.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;
}
::v-deep .el-form-item {
margin-bottom: 10px;
}
.tem {
display: flex;
align-items: center;
justify-content: center;
img {
width: 28px;
height: 20px;
margin-right: 3px;
}
}
.openClose {
margin-top: 10px;
margin-right: 10px;
color: #666666;
text-align: center;
}
.page {
padding: 10px 20px;
background: #f9f9f9;
font-size: 14px;
.thetopbox {
background: #ffffff;
border-radius: 8px;
padding: 10px 0;
.searchbox {
display: flex;
align-items: center;
.searchtitle {
margin-right: 10px;
}
.searchbtn {
background: #c8161d;
color: #ffffff;
}
}
}
.maintop {
display: flex;
//padding: 10px 0;
justify-content: space-between;
align-items: center;
.mainbtn {
.thebtn1 {
color: #ffffff;
background: #ffad41;
}
.thebtn2 {
color: #ffffff;
background: #48b2fd;
}
.thebtn3 {
color: #ffffff;
background: #6962f6;
}
}
}
.main {
// margin-top: 20px;
background: #ffffff;
border-radius: 8px;
box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
}
}
</style>

View File

@ -1,484 +0,0 @@
<!--
* @Descripttion:
* @version:
* @Author: 王三华
* @Date: 2024-06-17 10:33:02
-->
<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"
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"
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> -->
<noImgEditor v-model="allData.remark" :min-height="190" />
</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-if="
ctem.value == 'cabinStatusVal' ||
ctem.value == 'protocolStatusVal'
"
>
<div></div>
</div>
<div v-else>
<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 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: [],
type: 1,
typeNext: 0,
};
},
mounted() {
//
this.allData.updateParentParamList = JSON.parse(this.$route.query.data);
//
this.allData.approvalBusiness = this.$route.query.approvalBusiness;
this.getSignData([this.allData.approvalBusiness]);
},
methods: {
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 = {
storeCode: this.allData.updateParentParamList[0].storeCode,
memberCode: this.allData.updateParentParamList[0].memberCode,
pkMember: this.allData.updateParentParamList[0].pkMember,
memberName: this.allData.updateParentParamList[0].memberName,
signType: this.allData.signType, //
remark: this.allData.remark, //
fileList: this.allData.fileList, //[]
userIdList: this.allData.userIdList, //[]
sendIdList: this.allData.sendIdList, //[]
};
let postData,apiPost
if( this.allData.approvalBusiness == 164){
postData = Object.assign({cabinStatus: 0},obj)
apiPost = man.cabinSubmit
}else{
postData = Object.assign({protocolStatus: 0},obj)
apiPost = man.accordSubmit
}
apiPost(postData).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.cancelCz();
}
});
},
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,571 +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"
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"
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> -->
<noImgEditor v-model="allData.remark" :min-height="190" />
</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-if="ctem.value == 'action1'">
<div
style="
color: #48b2fd;
text-decoration: underline;
cursor: pointer;
"
@click="details"
>
查看详情
</div>
</div>
<div v-else-if="ctem.value == 'legalCardFront'">
<el-image
style="width: 100px; height: 100px"
:src="scope.row.legalCardFront"
:preview-src-list="[scope.row.legalCardFront]"
>
</el-image>
</div>
<div v-else-if="ctem.value == 'legalCardBack'">
<el-image
style="width: 100px; height: 100px"
:src="scope.row.legalCardBack"
:preview-src-list="[scope.row.legalCardBack]"
>
</el-image>
</div>
<div v-else-if="ctem.value == 'license'">
<el-image
style="width: 100px; height: 100px"
:src="scope.row.license"
:preview-src-list="[scope.row.license]"
>
</el-image>
</div>
<div v-else-if="ctem.value == 'storeAgreementList'">
<el-image
v-for="(stem, sndex) in scope.row.storeAgreementList"
:key="sndex"
style="width: 100px; height: 100px"
:src="stem"
:preview-src-list="scope.row.storeAgreementList"
>
</el-image>
</div>
<div v-else>
<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 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: [],
type: 1,
typeNext: 0,
};
},
mounted() {
//
this.allData.updateParentParamList = JSON.parse(this.$route.query.data);
//
this.allData.approvalBusiness = this.$route.query.approvalBusiness;
this.type = this.$route.query.type;
this.typeNext = this.$route.query.typeNext;
this.getSignData([this.allData.approvalBusiness]);
console.error(this.allData);
},
methods: {
details(code) {
if (this.typeNext) {
this.$router.push({
path: "/information/markerSpace/detail",
query: {
data: JSON.stringify(this.allData.updateParentParamList),
},
});
} else {
this.$router.push(
"/information/markerSpace/detail?code=" +
this.allData.updateParentParamList[0].storeCode
);
}
},
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;
});
if (this.typeNext == 1) {
let obj = {
storeCode: this.allData.updateParentParamList[0].storeCode, //
signType: this.allData.signType, //
remark: this.allData.remark, //
fileList: this.allData.fileList, //[]
userIdList: this.allData.userIdList, //[]
sendIdList: this.allData.sendIdList, //[]
legalCardFront: this.allData.updateParentParamList[0].legalCardFront, //
legalCardBack: this.allData.updateParentParamList[0].legalCardBack, //
license: this.allData.updateParentParamList[0].license, //
storeAgreementList:
this.allData.updateParentParamList[0].storeAgreementList, //
};
man.recommendSubUpload(obj).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.$router.go(-2);
}
});
} else {
let obj = {
storeCode: this.allData.updateParentParamList[0].storeCode, //
signType: this.allData.signType, //
remark: this.allData.remark, //
fileList: this.allData.fileList, //[]
userIdList: this.allData.userIdList, //[]
sendIdList: this.allData.sendIdList, //[]
};
if (this.type == 1) {
man.makerSpace(obj).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.cancelCz();
}
});
}
if (this.type == 2) {
man.recommendSub(obj).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.cancelCz();
}
});
}
if (this.type == 3) {
man.recommendCancel(obj).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.cancelCz();
}
});
}
}
},
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>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,639 +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="'会员编号'">
<el-input v-model="queryParams.memberCode" clearable />
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'会员姓名'">
<el-input v-model="queryParams.memberName" clearable />
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'联系方式'">
<el-input v-model="queryParams.phone" clearable />
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'达成比率'">
<el-input v-model="queryParams.totalRatio" clearable />
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'真实奖衔'" prop="status">
<el-select
clearable
:placeholder="'请选择'"
v-model="queryParams.pkAwards"
>
<el-option
v-for="item in awardsList"
:key="item.pkId"
:label="item.awardsName"
:value="item.pkId"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'隶属体系'" prop="status">
<el-select
clearable
:placeholder="'请选择'"
v-model="queryParams.pkVertex"
>
<el-option
v-for="item in vertexList"
:key="item.pkId"
:label="item.vertexName"
:value="item.pkId"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'隶属团队'" prop="status">
<el-select
clearable
:placeholder="'请选择'"
v-model="queryParams.pkTeamCode"
>
<el-option
v-for="item in memberTeamList"
:key="item.pkId"
:label="item.teamName"
:value="item.pkId"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'考核周期'" prop="status">
<el-select
clearable
:placeholder="'请选择'"
v-model="queryParams.goalType"
>
<el-option
v-for="item in businesstypeList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'业务类型'" prop="status">
<el-select
clearable
:placeholder="'请选择'"
v-model="queryParams.goalClassify"
>
<el-option
v-for="item in businesstypeSort"
: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="creationTime"
class="el-check_s"
>
<el-date-picker
v-model="times"
value-format="yyyy-MM-dd"
type="daterange"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
@change="changeTime"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4" style="margin-left: 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="maintop">
<div class="mainbtn">
<el-button
size="small"
v-hasButtons="['memberExport']"
@click="handleExport"
style="background-color: #ffad41"
class="thebtn1"
>{{'导出'}}</el-button
>
</div>
</div>
<div class="main">
<div class="maintable">
<el-table
ref="table"
:data="tableData"
v-loading="loading"
style="width: 100%"
height="650px"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
:span-method="objectSpanMethod"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" />
<el-table-column align="center" v-if="allTxt.memberCode"
prop="memberCode" :label="'会员编号'" width="150" >
<template slot-scope="scope">
<div>
{{scope.row.memberCode}}
</div>
</template>
</el-table-column>
<el-table-column
v-if="allTxt.memberName"
align="center"
prop="memberName"
:label="'会员姓名'"
/>
<el-table-column
v-if="allTxt.phone"
align="center"
prop="phone"
:label="'联系方式'"
width="160"
/>
<el-table-column
v-if="allTxt.pkAwardsVal"
align="center"
prop="pkAwardsVal"
:label="'真实奖衔'"
/>
<el-table-column
v-if="allTxt.vertexName"
align="center"
prop="vertexName"
:label="'隶属体系'"
width="150"
/>
<el-table-column
v-if="allTxt.teamName"
align="center"
prop="teamName"
:label="'隶属团队'"
width="160"
/>
<el-table-column
align="center"
v-if="allTxt.goalTypeVal"
prop="goalTypeVal"
:label="'考核周期'"
width="150"
/>
<el-table-column
v-if="allTxt.goalClassifyVal"
align="center"
prop="goalClassifyVal"
:label="'业务类型'"
width="150"
/>
<el-table-column
align="center"
:label="'总业绩目标'"
width="160"
v-if="allTxt.totalAchieve"
:formatter="stateFormat"
>
<template slot-scope="scope">
<div style="color: #48B2FD;cursor: pointer" v-if="scope.row.totalAchieve" @click="urlTaps(scope.row)">{{scope.row.totalAchieve}}</div>
<div class="zw-class" style="cursor: pointer" @click="urlTaps(scope.row)" v-else></div>
</template>
</el-table-column>
<el-table-column
v-if="allTxt.totalRatio"
align="center"
prop="totalRatio"
:label="'达成比率'+'(%)'"
width="120"
>
<template slot-scope="scope">
<div style="color: #C8161D" v-if="scope.row.totalRatio=='100.00'">{{scope.row.totalRatio}}</div>
<div style="color: #009B58" v-if="scope.row.totalRatio<'100.00'">{{scope.row.totalRatio}}</div>
<div class="zw-class" v-else></div>
</template>
</el-table-column>
<el-table-column
v-if="allTxt.month"
align="center"
prop="month"
:label="'考核日期'"
/>
</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 { getcountryAllList } from "@/api/exchangerate";
import topBar from "@/components/topBar";
import { getbdmenuList, getPubenumsList } from "@/api/system";
import { getgradeRanglist, getAwardsListChiose } from "@/api/level";
import * as api from "@/api/notice";
import * as apis from "@/api/financialCase.js";
import { Message } from "element-ui";
import { deleteAgreement, getWithdrawalList } from "@/api/configManage";
import {getbusinessTypeList} from "@/api/signing";
import {getmemberTeamList, getvertexValue} from "@/api/financialCase.js";
import {goalsClassify, goalsType, memberTeam, vertexList} from "@/api/settle";
import {getVipList,getRoleMenu} from "@/api/notice";
export default {
name: "Qxpz",
components: {
topBar,
},
data() {
return {
datas:'',
times: '',
value: "",
forms: "",
rules: {
countryIdList: [
{ required: true, message: '请选择结算国家', trigger: "change" },
],
vertexIdList: [
{ required: true, message: '请选择查询体系', trigger: "change" },
],
nickName: [
{ required: true, message: '请输入管理姓名', trigger: "blur" },
],
userName: [
{ required: true, message: '请输入管理编号', trigger: "blur" },
],
password: [{ required: true, message: '请输入密码', trigger: "blur" }],
phonenumber: [
{ required: true, message: '请输入联系方式', trigger: "blur" },
],
// phonenumber: [
// { required: true, message: '', trigger: 'blur' }
// ],
sms: [{ required: true, message: '请选择短信验证', trigger: "change" }],
pkDept: [
{ required: true, message: '请选择所属部门', trigger: "change" },
],
roleIdList: [
{ required: true, message: '请选择所属角色', trigger: "change" },
],
},
table: {
userName: "",
nickName: "",
password: "",
phonenumber: "",
sms: "",
authority: "",
status: "",
roleIdList: [],
vertexIdList: [],
countryIdList: [],
pkDept: "",
},
ruleShow: false,
moren: "memberTarget",
topList: [
{
name: '会员目标',
path: "memberTarget",
},
],
defaultParams: {
label: "label",
value: "value",
children: "enumList",
},
multipleSelection: [],
queryParams: {
pageNum: 1,
pageSize: 50,
creationTime: [],
},
gradeRangList: [],
awardsList: [],
menuOptions: [],
tableData: [],
loading:false,
total: 0,
types: "",
userId: "",
statusList: [
{ name: '启用', id: "0" },
{ name: "停用", id: "1" },
], //
smsList: [
{ name: '启用', id: "0" },
{ name: "停用", id: "1" },
], //
authorityList: [
{ name: '启用', id: "0" },
{ name: "停用", id: "1" },
], //
methodList: [],
moduleList: [],
businesstypeList: [],
memberTeamList: [],
businesstypeSort: [],
vertexList: [],
awardsList: [],
allTxt:{}
};
},
created() {
this.research();
// this.getgradeRanglist()
// this.getAwardsListChiose()
// this.getPubenumsList()
this.getData();
},
mounted() {
this.getUserRole()
},
methods: {
getUserRole() {
getRoleMenu('MemberTarget').then((res) => {
let obj ={}
res.data.forEach(item=>{
obj[item] = 1
})
this.allTxt = obj
this.$nextTick(() => {
this.$refs.table.doLayout();
})
})
},
urlTaps(item){
if(item.goalType==1 || item.goalType==2){
this.$router.push('/information/memberTarget/memberMonth')
localStorage.setItem('month', JSON.stringify(item))
}
if(item.goalType==3){
this.$router.push('/information/memberTarget/memberYear')
localStorage.setItem('month', JSON.stringify(item))
}
},
//
handleExport() {
this.download(
"/member/manager/goals/export",
{ ...this.params },
`${'会员目标'}-${new Date().getTime()}.xlsx`
);
},
getData() {
//
goalsClassify().then((res) => {
this.businesstypeSort = res.data;
})
//
goalsType().then((res) => {
this.businesstypeList = res.data;
})
//
memberTeam().then((res) => {
this.memberTeamList = res.rows;
})
//
vertexList().then((res) => {
this.vertexList = res.data;
})
//
getAwardsListChiose().then((res) => {
this.awardsList = res.rows
})
},
statusChange(value) {
if (this.table.status.length > 1) {
this.table.status.splice(0, 1);
}
},
changeBox(row) {
console.error(row);
},
addFrom() {},
addRule() {},
changeTime(value) {
if(value){
this.queryParams.startDate = value[0]
this.queryParams.endDate = value[1]
}
},
handleChangeMunu(value) {
console.log("🌈", value[value.length - 1]);
this.queryParams.menuId = value[value.length - 1];
},
//
getbusinessTypeList() {
getbusinessTypeList().then((res) => {
this.businesstypeList = res.data;
});
},
research() {
this.loading = true
if (this.times) {
} else {
this.queryParams.startDate = "";
this.queryParams.endDate = "";
}
api.getVipList(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('/')
// })
// 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,
userName: "", //
roleString: "", //
status: "", //
startDate: "", //
endDate: "", //
};
this.research();
this.times = ''
},
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>
.el-tooltip__popper{
max-width:45%;
text-align: center;
}
</style>
<style lang="scss" scoped>
.zw-class{
width: 14px;
height: 1px;
background-color: #333;
text-align: center;
margin: 0 auto;
}
::v-deep .el-date-editor.el-input, .el-date-editor.el-input__inner{
width: 100%;
}
::v-deep .el-form-item{
margin-bottom: 10px;
}
::v-deep .el-select {
width: 100%;
}
::v-deep .el-check_s .el-input__inner {
width: 100%;
}
::v-deep .el-dialog__header {
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.button-s {
padding: 0 2px !important;
}
::v-deep .el-row {
//margin-top: 10px;
}
::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: 10px 20px;
background: #f9f9f9;
font-size: 14px;
.thetopbox {
background: #ffffff;
border-radius: 8px;
padding-bottom: 10px;
.searchbox {
display: flex;
align-items: center;
.searchtitle {
margin-right: 10px;
}
.searchbtn {
background: #c8161d;
color: #ffffff;
}
}
}
.maintop {
display: flex;
//padding: 10px 0;
justify-content: space-between;
align-items: center;
.mainbtn {
.thebtn1 {
color: #ffffff;
background: rgba(67, 145, 253, 1);
}
}
}
.main {
// margin-top: 20px;
background: #ffffff;
border-radius: 8px;
box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
.maintable {
overflow: auto;
}
}
}
</style>

File diff suppressed because it is too large Load Diff

View File

@ -1,959 +0,0 @@
<!-- 展示年目标业绩 -->
<template>
<div class="page">
<div class="main">
<div class="maintable">
<div class="top-list">
<div class="top-left">{{ '单位' }}:{{ unit }}</div>
<div class="top-right">{{ month }} </div>
</div>
<el-form>
<!-- 团队业绩 推荐业绩 推荐人数 创客空间 超级工作室展示!-->
<div v-if="goalClassifyIndex==1 || goalClassifyIndex==3 || goalClassifyIndex==4 || goalClassifyIndex==7 || goalClassifyIndex==8" class="table-s">
<div class="flex-s">
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
{{ text1 }}
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="text-size lefts">
<div class="left90 text-size">{{ dataList.totalAchieve }}</div>
</div>
</div>
</el-col>
<el-col :span="12" class="bottomSolid">
<div class="divTitle">
<div class="lefts">
<div class="left55 ">
<span class="title-size">{{ text2 }}</span>
<div class="leftauto text-size">{{ dataList.totalRatio }}</div>
</div>
</div>
</div>
</el-col>
</div>
<div class="flex-s">
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
{{ text3 }}
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
{{ text4 }}
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
{{ text5 }}
</div>
</div>
</el-col>
<el-col :span="6" class="bottomSolid">
<div class="divTitle">
<div class="title-size">
{{ text6 }}
</div>
</div>
</el-col>
</div>
<div v-for="item in dataList.monthDetailVOList" class="flex-s">
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
{{ item.name }}
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="text-size">
{{ item.leftAchieve }}
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="text-size">
{{ item.leftRealAchieve }}
</div>
</div>
</el-col>
<el-col :span="6" class="bottomSolid">
<div class="divTitle">
<div class="text-size">
{{ item.leftRatio }}
</div>
</div>
</el-col>
</div>
</div>
<!-- 安置业绩展示!-->
<div v-if="goalClassifyIndex==2" class="table-s">
<div class="flex-s">
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
左区总业绩目标(¥)
</div>
</div>
</el-col>
<el-col :span="4" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
{{ dataList.totalAchieve }}
</div>
</div>
</el-col>
<el-col :span="14" class="bottomSolid">
<div class="divTitle">
<div class="lefts">
<div class="left55 ">
<span class="title-size">左区达成比率(%)</span>
<div class="leftauto text-size"> {{ dataList.totalRatio }}</div>
</div>
</div>
</div>
</el-col>
</div>
<div class="flex-s">
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
右区总业绩目标(¥)
</div>
</div>
</el-col>
<el-col :span="4" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
{{ dataList.rightAchieve }}
</div>
</div>
</el-col>
<el-col :span="14" class="bottomSolid">
<div class="divTitle">
<div class="lefts">
<div class="left55 ">
<span class="title-size">右区达成比率(%)</span>
<div class="leftauto text-size"> {{ dataList.rightRatio }}</div>
</div>
</div>
</div>
</el-col>
</div>
<div class="flex-s">
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
目标周期
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size" />
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
实际达成
</div>
</div>
</el-col>
<el-col :span="6" class="bottomSolid">
<div class="divTitle">
<div class="title-size">
达成比率
</div>
</div>
</el-col>
</div>
<div class="flex-s">
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
安置区域
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<el-col :span="12" class="rightSolid">
<div class="title-size">左区</div>
</el-col>
<el-col :span="12" class="">
<div class="title-size">右区</div>
</el-col>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<el-col :span="12" class="rightSolid">
<div class="title-size">左区</div>
</el-col>
<el-col :span="12" class="">
<div class="title-size">右区</div>
</el-col>
</div>
</el-col>
<el-col :span="6" class="bottomSolid">
<div class="divTitle">
<el-col :span="12" class="rightSolid">
<div class="title-size">左区</div>
</el-col>
<el-col :span="12" class="">
<div class="title-size">右区</div>
</el-col>
</div>
</el-col>
</div>
<div v-for="item in dataList.monthDetailVOList" class="flex-s">
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
{{ item.name }}
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<el-col :span="12" class="rightSolid">
<div class="text-size">{{ item.leftAchieve||0 }}</div>
</el-col>
<el-col :span="12" class="">
<div class="text-size">{{ item.rightAchieve||0 }}</div>
</el-col>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<el-col :span="12" class="rightSolid">
<div class="text-size">{{ item.leftRealAchieve ||0 }}</div>
</el-col>
<el-col :span="12" class="">
<div class="text-size">{{ item.rightRealAchieve||0 }}</div>
</el-col>
</div>
</el-col>
<el-col :span="6" class="bottomSolid">
<div class="divTitle">
<el-col :span="12" class="rightSolid">
<div class="text-size">{{ item.leftRatio||0 }}</div>
</el-col>
<el-col :span="12" class="">
<div class="text-size">{{ item.rightRatio||0 }}</div>
</el-col>
</div>
</el-col>
</div>
</div>
<!-- 会议场次!-->
<div v-if="goalClassifyIndex==5" class="table-s" style="border-right: none">
<div class="flex-s">
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
总会议场次
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="text-size lefts">
<div class="left90 text-size">{{ dataList.totalAchieve }}</div>
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size" />
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size" />
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size" />
</div>
</el-col>
<el-col :span="6" class="bottomSolid rightSolid">
<div class="divTitle">
<div class="title-size" />
</div>
</el-col>
</div>
<div class="flex-s">
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
目标周期
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
会议场次
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size" />
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size" />
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size" />
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size" />
</div>
</el-col>
</div>
<div v-for="item in dataList.monthDetailVOList" class="flex-s">
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
{{ item.name }}
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="text-size">
{{ item.leftAchieve }}
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="text-size" />
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="text-size" />
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="text-size" />
</div>
</el-col>
<el-col :span="6" class="bottomSolid rightSolid">
<div class="divTitle">
<div class="text-size" />
</div>
</el-col>
</div>
<div class="flex-s">
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
会议类型
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
会议人数
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
会议地点
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
{{ '详细地址' }}
</div>
</div>
</el-col>
<el-col :span="6" class="bottomSolid rightSolid">
<div class="divTitle">
<div class="title-size">
会议主题
</div>
</div>
</el-col>
<el-col :span="6" class="bottomSolid rightSolid">
<div class="divTitle">
<div class="title-size">
其他事项
</div>
</div>
</el-col>
</div>
<div class="flex-s" v-for="item in dataList.goalsMeetingVOList">
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
{{item.meetingType}}
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
{{item.meetingNumber}}
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size" :title="item.recProvinceVal+item.recCityVal+(item.recCountyVal?item.recCountyVal:'')">
{{item.recProvinceVal}} {{item.recCityVal}} {{item.recCountyVal}}
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
{{item.address}}
</div>
</div>
</el-col>
<el-col :span="6" class="bottomSolid rightSolid">
<div class="divTitle">
<div class="title-size" :title="item.meetingTheme">
{{item.meetingTheme}}
</div>
</div>
</el-col>
<el-col :span="6" class="bottomSolid rightSolid">
<div class="divTitle">
<div class="title-size">
{{item.remarks}}
</div>
</div>
</el-col>
</div>
</div>
<!-- 会议报备!-->
<div v-if="goalClassifyIndex==6" class="table-s" style="border-right: none">
<div class="flex-s">
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
总会议场次
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="text-size lefts">
<div class="left90 text-size">{{ dataList.totalAchieve }}</div>
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size" />
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size" />
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size" />
</div>
</el-col>
<el-col :span="6" class="bottomSolid rightSolid">
<div class="divTitle">
<div class="title-size" />
</div>
</el-col>
<el-col :span="6" class="bottomSolid rightSolid">
<div class="divTitle">
<div class="title-size" />
</div>
</el-col>
</div>
<div class="flex-s">
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
目标周期
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
会议场次
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size" />
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size" />
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size" />
</div>
</el-col>
<el-col :span="6" class="bottomSolid rightSolid">
<div class="divTitle">
<div class="title-size" />
</div>
</el-col>
<el-col :span="6" class="bottomSolid rightSolid">
<div class="divTitle">
<div class="title-size" />
</div>
</el-col>
</div>
<div v-for="item in dataList.monthDetailVOList" class="flex-s">
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
{{ item.name }}
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="text-size">
{{ item.leftAchieve }}
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="text-size" />
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="text-size" />
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="text-size" />
</div>
</el-col>
<el-col :span="6" class="bottomSolid rightSolid">
<div class="divTitle">
<div class="text-size" />
</div>
</el-col>
<el-col :span="6" class="bottomSolid rightSolid">
<div class="divTitle">
<div class="text-size" />
</div>
</el-col>
</div>
<div class="flex-s">
<el-col v-for="item in typeList" :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="title-size">
{{ item }}
</div>
</div>
</el-col>
</div>
<div v-for="item in dataList.goalsMeetingVOList" class="flex-s">
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="text-size">
{{ item.meetingType }}
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="text-size" :title="item.meetingTheme">
{{ item.meetingTheme }}
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="text-size">
{{item.meetingNumber}}
</div>
</div>
</el-col>
<el-col :span="6" class="rightSolid bottomSolid">
<div class="divTitle">
<div class="text-size" :title="item.recProvinceVal+item.recCityVal+(item.recCountyVal?item.recCountyVal:'')">
{{item.recProvinceVal}} {{item.recCityVal}} {{item.recCountyVal}}
</div>
</div>
</el-col>
<el-col :span="6" class="bottomSolid rightSolid">
<div class="divTitle">
<div class="text-size">
{{ item.address }}
</div>
</div>
</el-col>
<el-col :span="6" class="bottomSolid rightSolid">
<div class="divTitle">
<div class="text-size">
{{ item.meetingDate }}
</div>
</div>
</el-col>
<el-col :span="6" class="bottomSolid rightSolid">
<div class="divTitle">
<div class="text-size">
{{ item.remarks }}
</div>
</div>
</el-col>
</div>
</div>
</el-form>
</div>
</div>
</div>
</template>
<script>
import { getcountryAllList } from '@/api/exchangerate'
import topBar from '@/components/topBar'
import { getbdmenuList, getPubenumsList } from '@/api/system'
import { getgradeRanglist, getAwardsListChiose } from '@/api/level'
import * as api from '@/api/notice'
import * as apis from '@/api/financialCase.js'
import { Message } from 'element-ui'
import { deleteAgreement, getWithdrawalList } from '@/api/configManage'
import { getbusinessTypeList } from '@/api/signing'
import { getmemberTeamList, getvertexValue } from '@/api/financialCase.js'
import { goalsClassify, goalsType, memberTeam, vertexList } from '@/api/settle'
import { getVipDetails, getVipList } from '@/api/notice'
export default {
name: 'Qxpz',
components: {
},
data() {
return {
unit: '万',
month: '4月',
text1: '总业绩目标',
goalClassifyIndex: 0,
text2: '总达成比率(%)',
//
list2: [
{ 'name': '一月', 'value1Left': '11', 'value2Left': '11', 'value3Left': '11', 'value1Right': '11', 'value2Right': '11', 'value3Right': '11' },
{ 'name': '二月', 'value1Left': '11', 'value2Left': '11', 'value3Left': '11', 'value1Right': '11', 'value2Right': '11', 'value3Right': '11' },
{ 'name': '三月', 'value1Left': '11', 'value2Left': '11', 'value3Left': '11', 'value1Right': '11', 'value2Right': '11', 'value3Right': '11' },
{ 'name': '四月', 'value1Left': '44', 'value2Left': '11', 'value3Left': '11', 'value1Right': '11', 'value2Right': '11', 'value3Right': '11' },
{ 'name': '五月', 'value1Left': '55', 'value2Left': '11', 'value3Left': '11', 'value1Right': '11', 'value2Right': '11', 'value3Right': '11' },
{ 'name': '六月', 'value1Left': '66', 'value2Left': '11', 'value3Left': '11', 'value1Right': '11', 'value2Right': '11', 'value3Right': '11' },
{ 'name': '七月', 'value1Left': '77', 'value2Left': '11', 'value3Left': '11', 'value1Right': '11', 'value2Right': '11', 'value3Right': '11' },
{ 'name': '八月', 'value1Left': '88', 'value2Left': '11', 'value3Left': '11', 'value1Right': '11', 'value2Right': '11', 'value3Right': '11' },
{ 'name': '九月', 'value1Left': '99', 'value2Left': '11', 'value3Left': '11', 'value1Right': '11', 'value2Right': '11', 'value3Right': '11' },
{ 'name': '十月', 'value1Left': '111', 'value2Left': '11', 'value3Left': '11', 'value1Right': '11', 'value2Right': '11', 'value3Right': '11' },
{ 'name': '十一月', 'value1Left': '111', 'value2Left': '11', 'value3Left': '11', 'value1Right': '11', 'value2Right': '11', 'value3Right': '11' },
{ 'name': '十二月', 'value1Left': '111', 'value2Left': '11', 'value3Left': '11', 'value1Right': '11', 'value2Right': '11', 'value3Right': '11' }
],
//
list1: [
{ 'name': '一月', 'value': '11' },
{ 'name': '二月', 'value': '22' },
{ 'name': '三月', 'value': '33' },
{ 'name': '四月', 'value': '44' },
{ 'name': '五月', 'value': '55' },
{ 'name': '六月', 'value': '66' },
{ 'name': '七月', 'value': '77' },
{ 'name': '八月', 'value': '88' },
{ 'name': '九月', 'value': '99' },
{ 'name': '十月', 'value': '111' },
{ 'name': '十一月', 'value': '111' },
{ 'name': '十二月', 'value': '111' }
],
//
list: [
{ 'name': '一月', 'value': '11', 'value1': '', 'value2': '' },
{ 'name': '二月', 'value': '22', 'value1': '', 'value2': '' },
{ 'name': '三月', 'value': '33', 'value1': '', 'value2': '' },
{ 'name': '四月', 'value': '44', 'value1': '', 'value2': '' },
{ 'name': '五月', 'value': '55', 'value1': '', 'value2': '' },
{ 'name': '六月', 'value': '66', 'value1': '', 'value2': '' },
{ 'name': '七月', 'value': '77', 'value1': '', 'value2': '' },
{ 'name': '八月', 'value': '88', 'value1': '', 'value2': '' },
{ 'name': '九月', 'value': '99', 'value1': '', 'value2': '' },
{ 'name': '十月', 'value': '111', 'value1': '', 'value2': '' },
{ 'name': '十一月', 'value': '111', 'value1': '', 'value2': '' },
{ 'name': '十二月', 'value': '111', 'value1': '', 'value2': '' }
],
text3: '目标周期',
text4: '业绩目标(¥)',
text5: '实际达成(¥)',
text6: '达成比率'+'(%)',
typeList: ['会议类型', '会议主题', '会议人数', '会议地点', '详细地址', '会议日期', '其他事项'],
typeList1: ['会议类型', '会议人数', '会议地点', '详细地址', '会议主题', '其他事项'],
dataList: {
}
}
},
created() {
const data = JSON.parse(localStorage.getItem('month'))
const datas = {
'goalType': data.goalType,
'goalClassify': data.goalClassify,
'month': data.month,
'pkMember': data.pkMember,
'pkCountry': data.pkCountry
}
this.getMemberRadio(datas)
},
methods: {
getMemberRadio(data) {
getVipDetails(data).then((res) => {
this.dataList = res.data.goalsClassifyVOList[0]
// console.error(res.data.goalsClassifyVOList[0].goalClassify)
this.goalClassifyIndex = res.data.goalsClassifyVOList[0].goalClassify
const list = ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']
list.forEach((items,indexs) => {
res.data.goalsClassifyVOList[0].monthDetailVOList.forEach((item, index) => {
if(indexs==index){
item.name = items
}
})
})
console.error(this.dataList)
if (res.data.goalsClassifyVOList[0].goalClassify == 4) {
this.unit = '人'
this.text1 = '总人数目标'
this.text4 = '人数目标'
}
if (res.data.goalsClassifyVOList[0].goalClassify == 5 || res.data.goalsClassifyVOList[0].goalClassify == 6) {
this.unit = '场'
}
if (res.data.goalsClassifyVOList[0].goalClassify == 7) {
this.unit = '个'
this.text1 = '乡村振兴礼包数量'
this.text4 = '创客/赋能礼包'
}
this.month = res.data.month
})
}
}
}
</script>
<style>
.el-tooltip__popper{
max-width:45%;
text-align: center;
}
</style>
<style lang="scss" scoped>
.topSolid{
border-top: 1px solid #000;
}
.lefts{
text-align: left;
}
.leftauto{
width: 170px;
text-align: center;
}
.left90{
//padding-left: 95px;
width: 210px;
text-align: center;
}
.left55{
//width: 110px;
//text-align: center;
padding-left: 45px;
display: flex;
//display: inline-block;
}
.left100{
width: 200px;
text-align: center;
//padding-left: 100px;
}
.title-size{
font-size: 18px;
color: #333;
font-weight: bold;
}
.text-size{
font-size: 18px;
color: #333;
font-weight: inherit!important;
overflow: hidden;
}
.flex-s{
//display: flex;
display: -webkit-box;
}
.bottomSolid{
border-bottom: 1px solid #000;
}
.rightSolid{
border-right: 1px solid #000;
}
.divTitle{
height: 58px;
line-height: 58px;
text-align: center;
}
.top-right{
background: rgba(0,0,0,0.05);
border-radius: 4px 4px 4px 4px;
opacity: 1;
border: 1px solid #999999;
padding: 5px 40px;
color: #666;
font-size: 18px;
}
.top-list{
display: flex;
justify-content: space-between;
padding: 30px 20px 0 20px;
width: 860px;
line-height: 24px;
}
.top-left{
color: #666;
font-size: 18px;
}
.table-s{
width: 820px;
//height: 319px;
border-radius: 0px 0px 0px 0px;
margin:10px 20px 20px 20px;
opacity: 1;
border: 1px solid #333333;
border-bottom: none;
overflow: auto;
}
.zw-class{
width: 14px;
height: 1px;
background-color: #333;
text-align: center;
margin: 0 auto;
}
::v-deep .el-date-editor.el-input, .el-date-editor.el-input__inner{
width: 100%;
}
::v-deep .el-form-item{
margin-bottom: 10px;
}
::v-deep .el-select {
width: 100%;
}
::v-deep .el-check_s .el-input__inner {
width: 100%;
}
::v-deep .el-dialog__header {
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.button-s {
padding: 0 2px !important;
}
::v-deep .el-row {
margin-top: 10px;
}
::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: 10px 20px;
background: #f9f9f9;
font-size: 14px;
.thetopbox {
background: #ffffff;
border-radius: 8px;
padding-bottom: 10px;
.searchbox {
display: flex;
align-items: center;
.searchtitle {
margin-right: 10px;
}
.searchbtn {
background: #c8161d;
color: #ffffff;
}
}
}
.maintop {
display: flex;
padding: 10px 0;
justify-content: space-between;
align-items: center;
.mainbtn {
.thebtn1 {
color: #ffffff;
background: rgba(67, 145, 253, 1);
}
}
}
.main {
// margin-top: 20px;
background: #ffffff;
border-radius: 8px;
box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
.maintable {
overflow: auto;
}
}
}
</style>

View File

@ -1,537 +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"
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"
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> -->
<noImgEditor v-model="allData.remark" :min-height="190" />
</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-if="ctem.value == 'action1'">
<div
style="
color: #48b2fd;
text-decoration: underline;
cursor: pointer;
"
@click="details"
>
查看详情
</div>
</div>
<div v-else-if="ctem.value == 'legalCardFront'">
<el-image
style="width: 100px; height: 100px"
:src="scope.row.legalCardFront"
:preview-src-list="[scope.row.legalCardFront]"
>
</el-image>
</div>
<div v-else-if="ctem.value == 'legalCardBack'">
<el-image
style="width: 100px; height: 100px"
:src="scope.row.legalCardBack"
:preview-src-list="[scope.row.legalCardBack]"
>
</el-image>
</div>
<div v-else-if="ctem.value == 'license'">
<el-image
style="width: 100px; height: 100px"
:src="scope.row.license"
:preview-src-list="[scope.row.license]"
>
</el-image>
</div>
<div v-else-if="ctem.value == 'storeAgreementList'">
<el-image
v-for="(stem, sndex) in scope.row.storeAgreementList"
:key="sndex"
style="width: 100px; height: 100px"
:src="stem"
:preview-src-list="scope.row.storeAgreementList"
>
</el-image>
</div>
<div v-else>
<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 onlineSign from "../../dashboard/onlineSign.json";
import { getToken } from "@/utils/auth";
import { recommendCancel, recommendSub, superStudioSpace } 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: [],
type: 1,
allData: {
remark: "",
signType: 1,
fileList: [],
signData: {
detailList: [],
sendList: [],
},
approvalBusiness: "",
},
signDataList: [],
fileList: [],
approbalList: [],
//
userAllList: [],
typeNext: 0,
};
},
mounted() {
//
this.allData.updateParentParamList = JSON.parse(this.$route.query.data);
this.type = this.$route.query.type;
//
this.allData.approvalBusiness = this.$route.query.approvalBusiness;
this.typeNext = this.$route.query.typeNext;
this.getSignData([this.allData.approvalBusiness]);
},
methods: {
details(code) {
if( this.typeNext){
this.$router.push({
path: "/information/superStudio/detail",
query: {
data: JSON.stringify(this.allData.updateParentParamList),
},
});
}else{
this.$router.push('/information/superStudio/detail?code=' + this.allData.updateParentParamList[0].storeCode)
}
},
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,reqUrl;
if (this.typeNext == 1) {
obj = {
storeCode: this.allData.updateParentParamList[0].storeCode, //
signType: this.allData.signType, //
remark: this.allData.remark, //
fileList: this.allData.fileList, //[]
userIdList: this.allData.userIdList, //[]
sendIdList: this.allData.sendIdList, //[]
legalCardFront: this.allData.updateParentParamList[0].legalCardFront, //
legalCardBack: this.allData.updateParentParamList[0].legalCardBack, //
license: this.allData.updateParentParamList[0].license, //
storeAgreementList: this.allData.updateParentParamList[0].storeAgreementList, //
};
reqUrl = man.superStudioSpaceUpload
} else {
obj = {
storeCode: this.allData.updateParentParamList[0].storeCode, //
signType: this.allData.signType, //
remark: this.allData.remark, //
fileList: this.allData.fileList, //[]
userIdList: this.allData.userIdList, //[]
sendIdList: this.allData.sendIdList, //[]
};
reqUrl = man.superStudioSpace
}
// superStudioSpaceUpload
reqUrl(obj).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.cancelCz();
}
});
},
cancelCz() {
// this.$router.go(-1);
this.$router.push('/information/superStudio/superStudioList')
},
//
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();
},
//
delData() {
this.allData.signData.detailList.pop();
this.$forceUpdate();
},
//
delData1() {
this.allData.signData.sendList.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>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,25 +0,0 @@
<!--
* @Descripttion:
* @version:
* @Author: kBank
* @Date: 2023-04-24 09:02:18
-->
<!--
* @Descripttion:
* @version:
* @Author: kBank
* @Date: 2023-04-24 09:04:03
-->
<template>
<div>目标业绩</div>
</template>
<script>
export default {
}
</script>
<style>
</style>

View File

@ -152,14 +152,7 @@
:label="'直推收益' + `(${isLocalSymbol()})`"
:formatter="stateFormat"
/>
<!-- <el-table-column
v-if="allTxt.directIncome"
align="center"
prop="directIncome"
width="130"
:label="'直推收益' + `($)`"
:formatter="stateFormat"
/> -->
<el-table-column
v-if="allTxt.expandIncomeOri"
align="center"
@ -168,14 +161,7 @@
:label="'拓展收益' + `(${isLocalSymbol()})`"
:formatter="stateFormat"
/>
<!-- <el-table-column
v-if="allTxt.expandIncome"
align="center"
prop="expandIncome"
width="130"
:label="'拓展收益' + '($)'"
:formatter="stateFormat"
/> -->
<el-table-column
v-if="allTxt.coachIncomeOri"
align="center"
@ -184,14 +170,7 @@
:label="'辅导收益' + `(${isLocalSymbol()})`"
:formatter="stateFormat"
/>
<!-- <el-table-column
v-if="allTxt.coachIncome"
align="center"
prop="coachIncome"
width="130"
:label="'辅导收益' + '($)'"
:formatter="stateFormat"
/> -->
<el-table-column
v-if="allTxt.shareIncomeOri"
align="center"
@ -200,14 +179,7 @@
:label="'分红收益' + `(${isLocalSymbol()})`"
:formatter="stateFormat"
/>
<!-- <el-table-column
v-if="allTxt.shareIncome"
align="center"
prop="shareIncome"
width="130"
:label="'分红收益' + '($)'"
:formatter="stateFormat"
/> -->
<el-table-column
v-if="allTxt.serviceIncomeOri"
align="center"
@ -216,22 +188,7 @@
:label="'报单收益' + `(${isLocalSymbol()})`"
:formatter="stateFormat"
/>
<!-- <el-table-column
v-if="allTxt.serviceIncome"
align="center"
prop="serviceIncome"
width="130"
:label="'服务收益' + '($)'"
:formatter="stateFormat"
/> -->
<!-- <el-table-column
v-if="allTxt.cloudPurIncome"
align="center"
prop="cloudPurIncome"
width="130"
:label="$t('极差收益') + '($)'"
:formatter="stateFormat"
/> -->
<el-table-column
v-if="allTxt.repurRangeIncomeOri"
align="center"
@ -240,14 +197,7 @@
:formatter="stateFormat"
:label="'复购级差收益' + `(${isLocalSymbol()})`"
/>
<!-- <el-table-column
v-if="allTxt.repurRangeIncome"
align="center"
prop="repurRangeIncome"
width="130"
:label="'复购级差收益' + '($)'"
:formatter="stateFormat"
/> -->
<el-table-column
v-if="allTxt.repurExpandIncomeOri"
align="center"
@ -271,13 +221,7 @@
:formatter="stateFormat"
:label="'复购券' + `(${isLocalSymbol()})`"
/>
<!-- <el-table-column
v-if="allTxt.repurCoupon"
align="center"
prop="repurCoupon"
width="130"
:label="'复购券' + '($)'"
/> -->
<el-table-column
v-if="allTxt.repurCouponShareOri"
align="center"
@ -286,14 +230,7 @@
:formatter="stateFormat"
:label="'复购券均分'"
/>
<!-- <el-table-column
v-if="allTxt.repurCouponShare"
align="center"
prop="repurCouponShare"
width="130"
:formatter="stateFormat"
:label="'复购券均分' + '($)'"
/> -->
<el-table-column
v-if="allTxt.backPointsOri"
align="center"
@ -302,14 +239,7 @@
:formatter="stateFormat"
:label="'商城重消' + `(${isLocalSymbol()})`"
/>
<!-- <el-table-column
v-if="allTxt.backPoints"
align="center"
prop="backPoints"
width="130"
:label="'商城重消' + '($)'"
:formatter="stateFormat"
/> -->
<el-table-column
v-if="allTxt.serviceSpendOri"
align="center"
@ -318,14 +248,7 @@
:formatter="stateFormat"
:label="'平台服务费' + `(${isLocalSymbol()})`"
/>
<!-- <el-table-column
v-if="allTxt.serviceSpend"
align="center"
prop="serviceSpend"
width="130"
:label="'平台服务费' + '($)'"
:formatter="stateFormat"
/> -->
<el-table-column
v-if="allTxt.globalPointsOri"
align="center"
@ -334,14 +257,7 @@
:label="$t('直推极差') + '(¥)'"
:formatter="stateFormat"
/>
<!-- <el-table-column
v-if="allTxt.globalPoints"
align="center"
prop="globalPoints"
width="130"
:label="$t('直推极差') + '($)'"
:formatter="stateFormat"
/> -->
<el-table-column
v-if="allTxt.carAwardPointsOri"
align="center"
@ -350,47 +266,7 @@
:label="'车奖积分'"
:formatter="stateFormat"
/>
<!-- <el-table-column
v-if="allTxt.carAwardPoints"
align="center"
prop="carAwardPoints"
width="130"
:label="'车奖积分' + '($)'"
:formatter="stateFormat"
/> -->
<!-- <el-table-column
v-if="allTxt.makerDirectIncomeOri"
align="center"
prop="makerDirectIncomeOri"
width="160"
:label="'创客空间直推收益' + `(${isLocalSymbol()})`"
:formatter="stateFormat"
/> -->
<!-- <el-table-column
v-if="allTxt.makerDirectIncome"
align="center"
prop="makerDirectIncome"
width="160"
:label="'创客空间直推收益' + '($)'"
:formatter="stateFormat"
/> -->
<!-- <el-table-column
v-if="allTxt.makerShareIncomeOri"
align="center"
prop="makerShareIncomeOri"
width="130"
:label="'创客共享收益' + `(${isLocalSymbol()})`"
:formatter="stateFormat"
/> -->
<!-- <el-table-column
v-if="allTxt.makerShareIncome"
align="center"
prop="makerShareIncome"
width="130"
:label="'创客共享收益' + '($)'"
:formatter="stateFormat"
/> -->
<el-table-column
v-if="allTxt.purRealSubtotalOri"
align="center"
@ -415,14 +291,7 @@
:formatter="stateFormat"
:label="$t('极差小计') + '(¥)'"
/>
<!-- <el-table-column
v-if="allTxt.cloudRealSubtotal"
align="center"
prop="cloudRealSubtotal"
width="130"
:label="$t('极差小计') + '($)'"
:formatter="stateFormat"
/> -->
<el-table-column
v-if="allTxt.repurRealSubtotalOri"
align="center"
@ -431,14 +300,7 @@
:formatter="stateFormat"
:label="'复购实发小计' + `(${isLocalSymbol()})`"
/>
<!-- <el-table-column
v-if="allTxt.repurRealSubtotal"
align="center"
prop="repurRealSubtotal"
width="130"
:label="'复购实发小计' + '($)'"
:formatter="stateFormat"
/> -->
<el-table-column
v-if="allTxt.repurCouponSubtotalOri"
align="center"
@ -447,30 +309,7 @@
:formatter="stateFormat"
:label="'复购券实发小计' + `(${isLocalSymbol()})`"
/>
<!-- <el-table-column
v-if="allTxt.repurCouponSubtotal"
align="center"
prop="repurCouponSubtotal"
width="160"
:formatter="stateFormat"
:label="'复购券实发小计' + `($)`"
/> -->
<!-- <el-table-column
v-if="allTxt.makerRealSubtotalOri"
align="center"
prop="makerRealSubtotalOri"
width="160"
:formatter="stateFormat"
:label="'创客空间实发小计' + `(${isLocalSymbol()})`"
/>
<el-table-column
v-if="allTxt.makerRealSubtotal"
align="center"
prop="makerRealSubtotal"
width="160"
:formatter="stateFormat"
:label="'创客空间实发小计' + `($)`"
/> -->
<el-table-column
v-if="allTxt.realIncomeTotalOri"
align="center"
@ -479,14 +318,7 @@
:formatter="stateFormat"
:label="'实发收益总计' + `(${isLocalSymbol()})`"
/>
<!-- <el-table-column
v-if="allTxt.realIncomeTotal"
align="center"
prop="realIncomeTotal"
width="130"
:label="'实发收益总计' + '($)'"
:formatter="stateFormat"
/> -->
</el-table>
</div>
</div>

View File

@ -1,498 +0,0 @@
<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="10">
<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="4">
<el-button type="primary" @click="getList">
{{ '搜索' }}</el-button
>
<el-button type="" @click="reset"> {{ '重置' }}</el-button>
</el-col>
</el-row>
</el-form>
</div>
<div class="maintop">
<div class="mainbtn">
<el-button
v-has-buttons="['bannerSetAdd']"
size="small"
@click="openDig"
class="addBtn"
>{{ '添加' }}</el-button
>
</div>
</div>
<div class="maintable">
<el-table
:data="tableData"
v-loading="loading"
style="width: 100%"
height="700px"
: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="sort" label="排序" />
<el-table-column align="center" prop="cardImage" label="图片">
<template slot-scope="scope">
<img class="bgImg" :src="scope.row.cardImage" alt="" />
</template>
</el-table-column>
<el-table-column
align="center"
prop="creationTime"
label="创建日期"
/>
<el-table-column
align="center"
prop="effectiveDate"
label="生效日期"
/>
<el-table-column
align="center"
:label="'操作'"
fixed="right"
>
<template slot-scope="scope">
<div style="display: flex">
<el-button
@click="topRow(scope.row)"
type="text"
v-has-buttons="['bannerSetTop']"
size="small"
style="color: #37bf46"
>置顶
</el-button>
<el-button
@click="updateRow(scope.row)"
type="text"
v-has-buttons="['bannerSetEdit']"
size="small"
style="color: #48b2fd"
>
{{ '修改' }}
</el-button>
<el-button
@click="handleDelete(scope.row.pkId)"
type="text"
v-has-buttons="['bannerSetDel']"
size="small"
>
{{ '删除' }}
</el-button>
</div>
</template>
</el-table-column>
</el-table>
</div>
</div>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 新增修改 -->
<el-dialog
:close-on-click-modal="false"
:visible.sync="dialogVisible"
:title="dialogTitle"
width="40%"
center
:before-close="handleClose1"
>
<el-form ref="form" :rules="rules" :model="form" label-width="auto">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="排序" prop="sort">
<el-input
clearable
oninput="value=value.replace(/[^\d]/g,'')"
v-model="form.sort"
:placeholder="'请输入'"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="生效时间" prop="effectiveDate">
<el-date-picker
v-model="form.effectiveDate"
placeholder="选择日期"
value-format="yyyy-MM-dd"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="图片" prop="image">
<imageUpload v-model="form.image" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose1">{{ '取消' }}</el-button>
<el-button type="primary" @click="onSubmit('form')">{{
'确认'
}}</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import topBar from "@/components/topBar";
import * as api from "@/api/shopManage.js";
import ImageUpload from "@/components/ImageUpload";
export default {
name: "Bzpz",
components: {
topBar,
ImageUpload,
},
data() {
return {
moren: "bannerSet",
creationTime: [],
creationTime1: [],
topList: [
{
name: "banner维护",
path: "bannerSet",
},
],
select: {},
//
queryParams: {
pageNum: 1,
pageSize: 50,
},
total: 0,
dialogVisible: false,
tableData: [],
loading: false,
form: {},
dialogTitle: "",
rules: {
sort: [
{ required: true, message: '请输入', trigger: "blur" },
],
effectiveDate: [
{ required: true, message: '请选择', trigger: "change" },
],
image: [
{ required: true, message: '请选择', trigger: "change" },
],
},
addEdit: 0,
};
},
mounted() {
//
this.getList();
// this.getData();
},
methods: {
changeTime(val) {
this.select.startCreateDate = val ? val[0] : "";
this.select.endCreateDate = val ? val[1] : "";
},
changeTime1(val) {
this.select.startEffectiveDate = val ? val[0] : "";
this.select.endEffectiveDate = val ? val[1] : "";
},
onSubmit(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
if (this.addEdit == 1) {
api.shopBannerSave(this.form).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.dialogVisible = false;
//
this.getList();
this.$refs[formName].resetFields();
this.$refs[formName].clearValidate();
}
});
} else {
api.shopBannerUpdate(this.form).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.dialogVisible = false;
//
this.getList();
this.$refs[formName].resetFields();
this.$refs[formName].clearValidate();
}
});
}
} else {
return false;
}
});
},
reset() {
this.select = {};
this.creationTime = []
this.creationTime1 = []
this.getList();
},
//
handleDelete(id) {
this.$confirm('确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
}).then(() => {
api
.shopBannerDel({
pkId: id,
})
.then((res) => {
this.$message({
message: res.msg,
type: "success",
});
this.getList();
});
});
},
openDig() {
this.form = {};
this.dialogVisible = true;
this.addEdit = 1;
this.dialogTitle = '添加';
},
topRow(row){
api
.shopBannerTop({
pkId: row.pkId,
})
.then((res) => {
this.$message({
message: res.msg,
type: "success",
});
this.getList();
});
},
updateRow(row) {
this.dialogTitle = '修改';
api
.shopBannerDetail({
pkId: row.pkId,
})
.then((res) => {
this.form = res.data;
this.addEdit = 0;
this.dialogVisible = true;
});
},
getList() {
this.loading = true;
api
.shopBanner(Object.assign({}, this.queryParams, this.select))
.then((res) => {
this.tableData = res.rows;
this.total = res.total;
this.loading = false;
});
},
handleClose1() {
this.dialogVisible = false;
},
handleSelectionChange(val) {},
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%;
}
.uploadIcon ::v-deep .el-upload--picture-card {
display: none !important;
/* 上传按钮隐藏 */
}
.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);
.form_all {
padding: 0px 20px 0 20px;
// margin-bottom: 20px;
background: #fff;
border-radius: 8px;
}
.maintop {
display: flex;
padding: 0px 0px;
justify-content: space-between;
align-items: center;
background: #f8f8f8;
.mainbtn {
.thebtn1 {
background: #3181e5;
color: #ffffff;
}
.thebtn2 {
background: #ffad41;
color: #ffffff;
}
}
.maintitle {
font-size: 10px;
font-family: MicrosoftYaHei;
color: #999999;
}
}
}
.tem {
display: flex;
align-items: center;
justify-content: center;
img {
width: 28px;
height: 20px;
margin-right: 3px;
}
}
.isRed {
color: #ed1d25;
}
.isGreen {
color: #1ab62b;
}
.bgImg {
width: 48px;
height: 48px;
}
}
.openClose {
text-align: right;
margin-right: 10px;
color: #3181e5;
}
.dizhi {
::v-deep .el-cascader {
width: 100%;
}
}
::v-deep .el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: auto;
}
::v-deep .el-form-item {
margin-bottom: 20px !important;
}
::v-deep .el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: 100% !important;
}
.blueCor {
color: #589ff8;
cursor: pointer;
}
::v-deep .el-input__icon {
line-height: 33px;
}
::v-deep .el-button {
margin-top: 3px;
}
.bgImg {
width: 48px;
height: 48px;
}
</style>

View File

@ -1,532 +0,0 @@
<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="10">
<el-col :span="4">
<el-form-item label="公告标题">
<el-input clearable v-model="select.title"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="是否推荐">
<el-select clearable v-model="select.recommendFlag">
<el-option
v-for="item in getStatusList"
: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="4">
<el-button type="primary" @click="getList">
{{ '搜索' }}</el-button
>
<el-button type="" @click="reset"> {{ '重置' }}</el-button>
</el-col>
</el-row>
</el-form>
</div>
<div class="maintop">
<div class="mainbtn">
<el-button
v-has-buttons="['shopNoticeAdd']"
size="small"
@click="openDig"
class="addBtn"
>{{ '添加' }}</el-button
>
</div>
</div>
<div class="maintable">
<el-table
:data="tableData"
v-loading="loading"
style="width: 100%"
height="700px"
: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="title" label="公告标题" />
<el-table-column
align="center"
prop="showBegin"
label="显示时间(起)"
/>
<el-table-column
align="center"
prop="showEnd"
label="显示时间(止)"
/>
<el-table-column
align="center"
prop="recommendFlagVal"
label="是否推荐"
/>
<el-table-column
align="center"
:label="'操作'"
fixed="right"
>
<template slot-scope="scope">
<el-button
@click="updateRow(scope.row)"
type="text"
v-has-buttons="['shopNoticeEdit']"
size="small"
>
{{ '修改' }}
</el-button>
<el-button
@click="handleDelete(scope.row.pkId)"
type="text"
v-has-buttons="['shopNoticeDel']"
size="small"
style="color: #48b2fd"
>
{{ '删除' }}
</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="getList"
/>
<!-- 新增修改 -->
<el-dialog
:close-on-click-modal="false"
:visible.sync="dialogVisible"
:title="dialogTitle"
width="50%"
center
:before-close="handleClose1"
>
<el-form ref="form" :rules="rules" :model="form" label-width="auto">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="公告标题" prop="title">
<el-input
clearable
v-model="form.title"
:placeholder="'请输入'"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否推荐" prop="recommendFlag">
<el-select clearable v-model="form.recommendFlag">
<el-option
v-for="item in getStatusList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="显示时间(起)" prop="showBegin">
<el-date-picker
v-model="form.showBegin"
placeholder="选择时间"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="显示时间(止)" prop="showEnd">
<el-date-picker
v-model="form.showEnd"
placeholder="选择时间"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="公告内容" prop="content">
<editor
ref="sptwEditor"
v-model="form.content"
:min-height="200"
:uploadUrl="uploadImgUrl"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose1">{{ '取消' }}</el-button>
<el-button type="primary" @click="onSubmit('form')">{{
'确认'
}}</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import topBar from "@/components/topBar";
import * as api from "@/api/shopManage.js";
import Editor from "@/components/Editor";
export default {
name: "Bzpz",
components: {
topBar,
Editor,
},
data() {
return {
uploadImgUrl: process.env.VUE_APP_BASE_API + "/system/upload",
moren: "shopNotice",
topList: [
{
name: "公告管理",
path: "shopNotice",
},
],
select: {},
//
queryParams: {
pageNum: 1,
pageSize: 50,
},
total: 0,
dialogVisible: false,
tableData: [],
loading: false,
form: {},
dialogTitle: "",
rules: {
title: [
{ required: true, message: '请输入', trigger: "blur" },
],
showBegin: [
{ required: true, message: '请选择', trigger: "change" },
],
showEnd: [
{ required: true, message: '请选择', trigger: "change" },
],
content: [
{ required: true, message: '请输入', trigger: "blur" },
],
recommendFlag: [
{ required: true, message: '请选择', trigger: "change" },
],
},
addEdit: 0,
getStatusList: [],
creationTime: [],
creationTime1: [],
};
},
mounted() {
//
this.getList();
this.getData();
},
methods: {
changeTime(val) {
this.select.startShowBegin = val ? val[0] : "";
this.select.endShowBegin = val ? val[1] : "";
},
changeTime1(val) {
this.select.startShowEnd = val ? val[0] : "";
this.select.endShowEnd = val ? val[1] : "";
},
getData() {
api.getEYesNoList().then((res) => {
this.getStatusList = res.data;
});
},
onSubmit(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
if (this.addEdit == 1) {
api.shopNoticeAdd(this.form).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.dialogVisible = false;
//
this.getList();
this.$refs[formName].resetFields();
this.$refs[formName].clearValidate();
}
});
} else {
api.shopNoticeUpdate(this.form).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.dialogVisible = false;
//
this.getList();
this.$refs[formName].resetFields();
this.$refs[formName].clearValidate();
}
});
}
} else {
return false;
}
});
},
reset() {
this.select = {};
this.creationTime = [];
this.creationTime1 = [];
this.getList();
},
//
handleDelete(id) {
this.$confirm('确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
}).then(() => {
api
.shopNoticeDel({
pkId: id,
})
.then((res) => {
this.$message({
message: res.msg,
type: "success",
});
this.getList();
});
});
},
openDig() {
this.form = {};
this.dialogVisible = true;
this.addEdit = 1;
this.dialogTitle = '添加';
},
updateRow(row) {
this.dialogTitle = '修改';
api
.shopNoticeDetail({
pkId: row.pkId,
})
.then((res) => {
this.form = res.data;
this.addEdit = 0;
this.dialogVisible = true;
});
},
getList() {
this.loading = true;
api
.shopNoticeList(Object.assign({}, this.queryParams, this.select))
.then((res) => {
this.tableData = res.rows;
this.total = res.total;
this.loading = false;
});
},
handleClose1() {
this.dialogVisible = false;
},
handleSelectionChange(val) {},
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%;
}
.uploadIcon ::v-deep .el-upload--picture-card {
display: none !important;
/* 上传按钮隐藏 */
}
.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);
.form_all {
padding: 0px 20px 0 20px;
// margin-bottom: 20px;
background: #fff;
border-radius: 8px;
}
.maintop {
display: flex;
padding: 0px 0px;
justify-content: space-between;
align-items: center;
background: #f8f8f8;
.mainbtn {
.thebtn1 {
background: #3181e5;
color: #ffffff;
}
.thebtn2 {
background: #ffad41;
color: #ffffff;
}
}
.maintitle {
font-size: 10px;
font-family: MicrosoftYaHei;
color: #999999;
}
}
}
.tem {
display: flex;
align-items: center;
justify-content: center;
img {
width: 28px;
height: 20px;
margin-right: 3px;
}
}
.isRed {
color: #ed1d25;
}
.isGreen {
color: #1ab62b;
}
.bgImg {
width: 48px;
height: 48px;
}
}
.openClose {
text-align: right;
margin-right: 10px;
color: #3181e5;
}
.dizhi {
::v-deep .el-cascader {
width: 100%;
}
}
::v-deep .el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: auto;
}
::v-deep .el-form-item {
margin-bottom: 20px !important;
}
::v-deep .el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: 100% !important;
}
.blueCor {
color: #589ff8;
cursor: pointer;
}
::v-deep .el-input__icon {
line-height: 33px;
}
::v-deep .el-button {
margin-top: 3px;
}
.bgImg {
width: 48px;
height: 48px;
}
</style>

View File

@ -1,230 +0,0 @@
<template>
<div class="page">
<topBar v-if="topList.length > 0" :top-list="topList" :moren="moren" />
<div v-if="topList[0].changed == true" class="main">
<div class="main_title">
<div class="bluekuai" />
<div class="title_word">参数配置</div>
</div>
<div class="main_content">
<el-form ref="form" :model="form" label-width="auto">
<el-row v-for="(aitem, aindex) in timeList" :key="aindex">
<el-col :span="6" v-if="aitem.paramKey != 'SHOP_ICON'">
<el-form-item
:prop="aitem.paramKey"
:label="aitem.label"
class="selects"
>
<el-input
v-model="aitem.paramValue"
clearable
:placeholder="'请输入'"
@blur="changeInput(aitem.paramValue)"
/>
</el-form-item>
</el-col>
<el-col :span="6" v-else>
<el-form-item
:prop="aitem.paramKey"
:label="aitem.label"
class="selects"
>
<imageUpload v-model="aitem.paramValue" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<div v-if="topList[0].changed == true" class="my_footer">
<div style="margin: 0 auto">
<el-button class="myBtn"> {{ '取消' }}</el-button>
<el-button
v-has-buttons="['xtcsConfirm']"
class="myBtn1"
style="margin-left: 40px"
@click="saveDate('form')"
>
{{ '确认' }}</el-button
>
</div>
</div>
</div>
</template>
<script>
import topBar from "@/components/topBarRole";
import ImageUpload from '@/components/ImageUpload'
import * as api from "@/api/shopManage.js";
import { getRouters } from "@/api/settle";
export default {
name: "Xtcs",
components: {
topBar,
ImageUpload
},
data() {
return {
// rules: {
// CONSULT_CONTACTS: [
// {
// message: "",
// trigger: "blur",
// },
// ],
// CONSULT_PHONE: [
// {
// message: "",
// trigger: "blur",
// },
// ],
// SHOP_ICON: [
// {
// message: "",
// trigger: "blur",
// },
// ],
// SHOP_TITLE: [
// {
// message: "",
// trigger: "blur",
// },
// ],
// },
moren: "shopSysConfig",
topList: [
{
name: '参数配置',
path: "shopSysConfig",
url: "shopSysConfig",
changed: true,
},
],
form: {},
timeList: [],
};
},
created() {
this.getzccsList();
// this.getUserRoute();
},
methods: {
changeInput(val){
if(!val){
this.$message({
message:"请输入",
type:'warning'
})
}
},
getUserRoute() {
getRouters().then((res) => {
res.data.forEach((item) => {
this.topList.forEach((items) => {
if (item.routeName == items.url) {
items.changed = true;
}
});
});
});
},
getzccsList() {
api.shopConfig().then((res) => {
this.timeList = res.data;
});
},
saveDate(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
api.shopConfigSave(this.timeList).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
}
this.getzccsList();
});
}
});
},
},
};
</script>
<style lang="scss" scoped>
.myBtn {
width: 120px;
height: 38px;
border-radius: 5px;
color: #fff;
background-color: #cccccc;
border-color: #ccc;
}
.myBtn1 {
width: 120px;
height: 38px;
border-radius: 5px;
color: #fff;
background-color: #c8161d;
border-color: #c8161d;
}
.selects {
position: relative;
}
::v-deep .el-form-item {
position: relative;
}
.star {
color: #ed1d25;
position: absolute;
left: -80px;
top: 50%;
margin-top: -17px;
}
::v-deep .el-form-item__label {
color: #333;
font-weight: inherit;
}
.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);
//height: 1000px;
.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: #c8161d;
margin-right: 20px;
}
.title_word {
font-size: 14px;
font-family: MicrosoftYaHei-Bold, MicrosoftYaHei;
font-weight: bold;
color: #333333;
}
}
.main_content {
padding: 20px 25px;
}
}
.footer {
.thebtn {
width: 120px;
height: 38px;
}
}
}
</style>

View File

@ -1,512 +0,0 @@
<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="10">
<el-col :span="4">
<el-form-item label="会员卡名称">
<el-input clearable v-model="select.cardName"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button type="primary" @click="getList">
{{ '搜索' }}</el-button
>
<el-button type="" @click="reset"> {{ '重置' }}</el-button>
</el-col>
</el-row>
</el-form>
</div>
<div class="maintop">
<div class="mainbtn">
<el-button
v-has-buttons="['vipCardSetAdd']"
size="small"
@click="openDig"
class="addBtn"
>{{ '添加' }}</el-button
>
</div>
</div>
<div class="maintable">
<el-table
:data="tableData"
v-loading="loading"
style="width: 100%"
height="700px"
: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="cardName" label="会员卡名称" />
<el-table-column align="center" prop="cardImage" label="会员卡图片">
<template slot-scope="scope">
<img class="bgImg" :src="scope.row.cardImage" alt="" />
</template>
</el-table-column>
<el-table-column
align="center"
prop="cardTypeVal"
label="会员卡类型"
/>
<el-table-column align="center" prop="validTime" label="有效月数" />
<el-table-column
align="center"
prop="enableStateVal"
label="启用状态"
/>
<el-table-column
align="center"
prop="effectiveDate"
label="生效时间"
/>
<el-table-column
align="center"
prop="creationTime"
label="创建时间"
/>
<el-table-column
align="center"
:label="'操作'"
fixed="right"
>
<template slot-scope="scope">
<el-button
@click="updateRow(scope.row)"
type="text"
v-has-buttons="['vipCardSetEdit']"
size="small"
>
{{ '修改' }}
</el-button>
<el-button
@click="handleDelete(scope.row.pkId)"
type="text"
v-has-buttons="['vipCardSetDel']"
size="small"
style="color: #48b2fd"
>
{{ '删除' }}
</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="getList"
/>
<!-- 新增修改 -->
<el-dialog
:close-on-click-modal="false"
:visible.sync="dialogVisible"
:title="dialogTitle"
width="40%"
center
:before-close="handleClose1"
>
<el-form ref="form" :rules="rules" :model="form" label-width="auto">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="会员卡名称" prop="cardName">
<el-input
clearable
v-model="form.cardName"
:placeholder="'请输入'"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="会员卡类型" prop="cardType">
<el-select clearable v-model="form.cardType">
<el-option
v-for="item in cardList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="启用状态" prop="enableState">
<el-select clearable v-model="form.enableState">
<el-option
v-for="item in getStatusList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="有效月数" prop="validTime">
<el-input
clearable
type="number"
v-model="form.validTime"
:placeholder="'请输入'"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="会员卡图片" prop="cardImage">
<imageUpload v-model="form.cardImage" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="生效时间" prop="effectiveDate">
<el-date-picker
v-model="form.effectiveDate"
placeholder="选择日期时间"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose1">{{ '取消' }}</el-button>
<el-button type="primary" @click="onSubmit('form')">{{
'确认'
}}</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import topBar from "@/components/topBar";
import * as api from "@/api/shopManage.js";
import ImageUpload from "@/components/ImageUpload";
export default {
name: "Bzpz",
components: {
topBar,
ImageUpload,
},
data() {
return {
moren: "vipCardSet",
topList: [
{
name: "会员卡配置",
path: "vipCardSet",
},
],
select: {},
//
queryParams: {
pageNum: 1,
pageSize: 50,
},
total: 0,
dialogVisible: false,
tableData: [],
loading: false,
form: {},
dialogTitle: "",
rules: {
cardName: [
{ required: true, message: '请输入', trigger: "blur" },
],
effectiveDate: [
{ required: true, message: '请选择', trigger: "change" },
],
enableState: [
{ required: true, message: '请选择', trigger: "change" },
],
cardImage: [
{ required: true, message: '请选择', trigger: "change" },
],
validTime: [
{ required: true, message: '请输入', trigger: "blur" },
],
cardType: [
{ required: true, message: '请选择', trigger: "change" },
],
},
addEdit: 0,
getStatusList: [],
cardList: [
{
label: "全国门店通用",
value: 1,
},
{
label: "门店使用",
value: 2,
},
{
label: "分享卡",
value: 3,
},
],
};
},
mounted() {
//
this.getList();
this.getData();
},
methods: {
getData() {
api.getEnableStatus().then((res) => {
this.getStatusList = res.data;
});
},
onSubmit(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
if (this.addEdit == 1) {
api.vipCardAdd(this.form).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.dialogVisible = false;
//
this.getList();
this.$refs[formName].resetFields();
this.$refs[formName].clearValidate();
}
});
} else {
api.vipCardUpdate(this.form).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.dialogVisible = false;
//
this.getList();
this.$refs[formName].resetFields();
this.$refs[formName].clearValidate();
}
});
}
} else {
return false;
}
});
},
reset() {
this.select = {};
this.getList();
},
//
handleDelete(id) {
this.$confirm('确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
}).then(() => {
api
.vipCardDel({
pkId: id,
})
.then((res) => {
this.$message({
message: res.msg,
type: "success",
});
this.getList();
});
});
},
openDig() {
this.form = {};
this.dialogVisible = true;
this.addEdit = 1;
this.dialogTitle = '添加';
},
updateRow(row) {
this.dialogTitle = '修改';
api
.vipCardDetail({
pkId: row.pkId,
})
.then((res) => {
this.form = res.data;
this.addEdit = 0;
this.dialogVisible = true;
});
},
getList() {
this.loading = true;
api
.vipCardList(Object.assign({}, this.queryParams, this.select))
.then((res) => {
this.tableData = res.rows;
this.total = res.total;
this.loading = false;
});
},
handleClose1() {
this.dialogVisible = false;
},
handleSelectionChange(val) {},
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%;
}
.uploadIcon ::v-deep .el-upload--picture-card {
display: none !important;
/* 上传按钮隐藏 */
}
.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);
.form_all {
padding: 0px 20px 0 20px;
// margin-bottom: 20px;
background: #fff;
border-radius: 8px;
}
.maintop {
display: flex;
padding: 0px 0px;
justify-content: space-between;
align-items: center;
background: #f8f8f8;
.mainbtn {
.thebtn1 {
background: #3181e5;
color: #ffffff;
}
.thebtn2 {
background: #ffad41;
color: #ffffff;
}
}
.maintitle {
font-size: 10px;
font-family: MicrosoftYaHei;
color: #999999;
}
}
}
.tem {
display: flex;
align-items: center;
justify-content: center;
img {
width: 28px;
height: 20px;
margin-right: 3px;
}
}
.isRed {
color: #ed1d25;
}
.isGreen {
color: #1ab62b;
}
.bgImg {
width: 48px;
height: 48px;
}
}
.openClose {
text-align: right;
margin-right: 10px;
color: #3181e5;
}
.dizhi {
::v-deep .el-cascader {
width: 100%;
}
}
::v-deep .el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: auto;
}
::v-deep .el-form-item {
margin-bottom: 20px !important;
}
::v-deep .el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: 100% !important;
}
.blueCor {
color: #589ff8;
cursor: pointer;
}
::v-deep .el-input__icon {
line-height: 33px;
}
::v-deep .el-button {
margin-top: 3px;
}
.bgImg {
width: 48px;
height: 48px;
}
</style>

View File

@ -1,533 +0,0 @@
<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="10">
<el-col :span="4">
<el-form-item label="订单编号">
<el-input clearable v-model="select.orderCode"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="会员编号">
<el-input clearable v-model="select.memberCode"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="门店名称">
<el-input clearable v-model="select.storeName"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="门店类型">
<el-select clearable v-model="select.storeType">
<el-option
v-for="item in storeTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="发起人编号">
<el-input clearable v-model="select.makerMemberCode"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="发起人姓名">
<el-input clearable v-model="select.makerMemberName"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="隶属体系">
<el-select clearable v-model="select.pkVertex">
<el-option
v-for="item in findAllList"
:key="item.pkId"
:label="item.vertexName"
:value="item.pkId"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="商品名称">
<el-input clearable v-model="select.waresName"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="商品编号">
<el-input clearable v-model="select.waresCode"></el-input>
</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="4">
<el-button type="primary" @click="getList">
{{ '搜索' }}</el-button
>
<el-button type="" @click="reset"> {{ '重置' }}</el-button>
</el-col>
</el-row>
</el-form>
</div>
<div class="maintop">
<div class="mainbtn">
<!-- <el-button
v-has-buttons="['shopToManageAdd']"
size="small"
@click="openDig"
class="addBtn"
>{{ '添加' }}</el-button
> -->
<el-button
size="small"
v-hasButtons="['experienceCardDataExport']"
class="thebtn2"
@click="handleExport"
>
{{ '导出' }}</el-button
>
</div>
</div>
<div class="maintable">
<el-table
:data="tableData"
v-loading="loading"
style="width: 100%"
height="700px"
: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="orderCode" label="订单编号" />
<el-table-column align="center" prop="memberCode" label="会员编号">
</el-table-column>
<el-table-column align="center" prop="memberName" label="会员姓名" />
<el-table-column
align="center"
prop="waresName"
label="购买商品名称"
width="120"
/>
<el-table-column
align="center"
prop="waresCode"
label="购买商品编号"
width="120"
/>
<el-table-column align="center" prop="quantity" label="购买数量" />
<el-table-column align="center" prop="orderAmount" label="订单金额" />
<el-table-column align="center" prop="storeName" label="门店名称" />
<el-table-column
align="center"
prop="storeTypeVal"
label="门店类型"
/>
<el-table-column
align="center"
prop="storeAddress"
label="门店地址"
/>
<el-table-column
align="center"
prop="makerMemberCode"
label="发起人编号"
width="120"
/>
<el-table-column
align="center"
prop="makerMemberName"
label="发起人姓名"
width="120"
/>
<el-table-column
width="120"
align="center"
prop="phone"
label="发起人手机号"
/>
<el-table-column align="center" prop="vertexName" label="隶属体系" />
<el-table-column
align="center"
prop="parentChiefName"
label="所属总监姓名"
width="120"
/>
<el-table-column align="center" prop="payTime" label="交易日期" />
</el-table>
</div>
</div>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import topBar from "@/components/topBar";
import * as api from "@/api/shopManage.js";
export default {
name: "Bzpz",
components: {
topBar,
},
data() {
return {
moren: "experienceCardData",
topList: [
{
name: "体验卡数据",
path: "experienceCardData",
},
],
select: {},
//
queryParams: {
pageNum: 1,
pageSize: 50,
},
total: 0,
dialogVisible: false,
tableData: [],
loading: false,
form: {},
dialogTitle: "",
rules: {
title: [
{ required: true, message: '请输入', trigger: "blur" },
],
showBegin: [
{ required: true, message: '请选择', trigger: "change" },
],
showEnd: [
{ required: true, message: '请选择', trigger: "change" },
],
content: [
{ required: true, message: '请输入', trigger: "blur" },
],
recommendFlag: [
{ required: true, message: '请选择', trigger: "change" },
],
},
addEdit: 0,
creationTime: [],
creationTime1: [],
storeTypeList: [],
findAllList: [],
getStatusList: [
{
value: 1,
label: "营运中",
},
{
value: 2,
label: "已闭店",
},
{
value: 3,
label: "已休息",
},
],
};
},
mounted() {
//
this.getList();
this.getData();
},
methods: {
changeTime(val) {
this.select.startDate = val ? val[0] : "";
this.select.endDate = val ? val[1] : "";
},
changeTime1(val) {
this.select.startShowEnd = val ? val[0] : "";
this.select.endShowEnd = val ? val[1] : "";
},
getData() {
api.storeTypeList().then((res) => {
this.storeTypeList = res.data;
});
api.findAllList().then((res) => {
this.findAllList = res.data;
});
},
onSubmit(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
if (this.addEdit == 1) {
api.shopManageInsert(this.form).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.dialogVisible = false;
//
this.getList();
this.$refs[formName].resetFields();
this.$refs[formName].clearValidate();
}
});
} else {
api.shopManageUpdata(this.form).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.dialogVisible = false;
//
this.getList();
this.$refs[formName].resetFields();
this.$refs[formName].clearValidate();
}
});
}
} else {
return false;
}
});
},
reset() {
this.select = {};
this.creationTime = [];
this.creationTime1 = [];
this.getList();
},
//
handleDelete(id) {
this.$confirm('确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
}).then(() => {
api.shopManageDel(id).then((res) => {
this.$message({
message: res.msg,
type: "success",
});
this.getList();
});
});
},
openDig() {
this.form = {};
this.dialogVisible = true;
this.addEdit = 1;
this.dialogTitle = '添加';
},
updateRow(row) {
this.dialogTitle = '修改';
api
.shopNoticeDetail({
pkId: row.pkId,
})
.then((res) => {
this.form = res.data;
this.addEdit = 0;
this.dialogVisible = true;
});
},
getList() {
this.loading = true;
api
.cabinCardList(Object.assign({}, this.queryParams, this.select))
.then((res) => {
this.tableData = res.rows;
this.total = res.total;
this.loading = false;
});
},
handleClose1() {
this.dialogVisible = false;
},
handleSelectionChange(val) {},
//
handleExport() {
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
}).then((_) => {
this.download(
"/sale/manage/cabin-card/taste-list-export",
Object.assign({}, 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%;
}
.uploadIcon ::v-deep .el-upload--picture-card {
display: none !important;
/* 上传按钮隐藏 */
}
.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);
.form_all {
padding: 0px 20px 0 20px;
// margin-bottom: 20px;
background: #fff;
border-radius: 8px;
}
.maintop {
display: flex;
padding: 0px 0px;
justify-content: space-between;
align-items: center;
background: #f8f8f8;
.mainbtn {
.thebtn1 {
background: #3181e5;
color: #ffffff;
}
.thebtn2 {
background: #ffad41;
color: #ffffff;
}
}
.maintitle {
font-size: 10px;
font-family: MicrosoftYaHei;
color: #999999;
}
}
}
.tem {
display: flex;
align-items: center;
justify-content: center;
img {
width: 28px;
height: 20px;
margin-right: 3px;
}
}
.isRed {
color: #ed1d25;
}
.isGreen {
color: #1ab62b;
}
.bgImg {
width: 48px;
height: 48px;
}
}
.openClose {
text-align: right;
margin-right: 10px;
color: #3181e5;
}
.dizhi {
::v-deep .el-cascader {
width: 100%;
}
}
::v-deep .el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: auto;
}
::v-deep .el-form-item {
margin-bottom: 20px !important;
}
::v-deep .el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: 100% !important;
}
.blueCor {
color: #589ff8;
cursor: pointer;
}
::v-deep .el-input__icon {
line-height: 33px;
}
::v-deep .el-button {
margin-top: 3px;
}
.bgImg {
width: 48px;
height: 48px;
}
</style>

View File

@ -1,313 +0,0 @@
<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="10">
<el-col :span="4">
<el-form-item label="手机号">
<el-input clearable v-model="select.phone"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="会员编号">
<el-input clearable v-model="select.memberCode"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="所属店铺名称">
<el-input clearable v-model="select.shopName"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button type="primary" @click="getList">
{{ '搜索' }}</el-button
>
<el-button type="" @click="reset"> {{ '重置' }}</el-button>
</el-col>
</el-row>
</el-form>
</div>
<div class="maintop">
<div class="mainbtn">
<el-button
size="small"
v-hasButtons="['shopInfoVipExport']"
class="thebtn2"
@click="handleExport"
>
{{ '导出' }}</el-button
>
</div>
</div>
<div class="maintable">
<el-table
:data="tableData"
v-loading="loading"
style="width: 100%"
height="700px"
: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="openId" label="微信openId" />
<el-table-column
align="center"
prop="nickName"
label="昵称"
/>
<el-table-column align="center" prop="phone" label="手机号" />
<el-table-column
align="center"
prop="memberCode"
label="会员编号"
/>
<el-table-column
align="center"
prop="shopName"
label="所属店铺名称"
/>
<el-table-column
align="center"
prop="shopRoleVal"
label="所属店铺角色"
/>
<el-table-column
align="center"
prop="creationTime"
label="创建时间"
/>
</el-table>
</div>
</div>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import topBar from "@/components/topBar";
import * as api from "@/api/shopManage.js";
export default {
name: "Bzpz",
components: {
topBar,
},
data() {
return {
moren: "shopInfoVip",
topList: [
{
name: "店务会员",
path: "shopInfoVip",
},
],
select: {},
//
queryParams: {
pageNum: 1,
pageSize: 50,
},
total: 0,
tableData: [],
loading: false,
};
},
mounted() {
//
this.getList();
},
methods: {
getData() {
api.getEnableStatus().then((res) => {
this.getStatusList = res.data;
});
},
getList() {
this.loading = true;
api
.shopMember(Object.assign({}, this.queryParams, this.select))
.then((res) => {
this.tableData = res.rows;
this.total = res.total;
this.loading = false;
});
},
//
handleExport() {
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
}).then((_) => {
this.download(
"/shop/manage/shop-member/export",
Object.assign({}, this.queryParams, this.select),
`店铺会员${new Date().getTime()}.xlsx`
);
});
},
reset() {
this.select = {}
this.getList()
},
handleSelectionChange(val) {},
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%;
}
.uploadIcon ::v-deep .el-upload--picture-card {
display: none !important;
/* 上传按钮隐藏 */
}
.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);
.form_all {
padding: 0px 20px 0 20px;
// margin-bottom: 20px;
background: #fff;
border-radius: 8px;
}
.maintop {
display: flex;
padding: 0px 0px;
justify-content: space-between;
align-items: center;
background: #f8f8f8;
.mainbtn {
.thebtn1 {
background: #3181e5;
color: #ffffff;
}
.thebtn2 {
background: #ffad41;
color: #ffffff;
}
}
.maintitle {
font-size: 10px;
font-family: MicrosoftYaHei;
color: #999999;
}
}
}
.tem {
display: flex;
align-items: center;
justify-content: center;
img {
width: 28px;
height: 20px;
margin-right: 3px;
}
}
.isRed {
color: #ed1d25;
}
.isGreen {
color: #1ab62b;
}
.bgImg {
width: 48px;
height: 48px;
}
}
.openClose {
text-align: right;
margin-right: 10px;
color: #3181e5;
}
.dizhi {
::v-deep .el-cascader {
width: 100%;
}
}
::v-deep .el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: auto;
}
::v-deep .el-form-item {
margin-bottom: 20px !important;
}
::v-deep .el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: 100% !important;
}
.blueCor {
color: #589ff8;
cursor: pointer;
}
::v-deep .el-input__icon {
line-height: 33px;
}
::v-deep .el-button {
margin-top: 3px;
}
.bgImg {
width: 48px;
height: 48px;
}
</style>

View File

@ -1,571 +0,0 @@
<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="10">
<el-col :span="4">
<el-form-item label="发起人编号">
<el-input clearable v-model="select.memberCode"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="发起人姓名">
<el-input clearable v-model="select.memberName"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="关联编码">
<el-input clearable v-model="select.cabinPkMemberCode"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'真实奖衔'">
<el-select
clearable
:placeholder="'请选择'"
v-model="select.pkAwards"
>
<el-option
v-for="item in awardsList"
:key="item.awardsValue"
:label="item.awardsName"
:value="item.awardsValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'隶属体系'">
<el-select
clearable
:placeholder="'请选择'"
v-model="select.pkVertex"
>
<el-option
v-for="item in vertexList"
:key="item.pkId"
:label="item.vertexName"
:value="item.pkId"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'隶属团队'">
<el-select
clearable
:placeholder="'请选择'"
v-model="select.pkTeamCode"
>
<el-option
v-for="item in memberteamList"
:key="item.pkId"
:label="item.teamName"
:value="item.pkId"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="门店名称">
<el-input clearable v-model="select.storeName"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="门店类型">
<el-select v-model="select.storeType" clearable>
<el-option
v-for="item in markerList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="是否有舱">
<el-select v-model="select.cabinStatus" clearable>
<el-option
v-for="item in yesnoList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'审核状态'">
<el-select v-model="select.approveStatus" clearable>
<el-option
v-for="item in typeList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="证件状态">
<el-select
v-model="select.certificateStatus"
clearable
>
<el-option
v-for="item in cerList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="'省/市/区/县'">
<el-cascader
style="width: 100%"
clearable
v-model="select.shoppingAddress"
:options="areaData"
:props="regionParams"
@change="handleChange"
></el-cascader>
</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="4">
<el-button type="primary" @click="getList">
{{ '搜索' }}</el-button
>
<el-button type="" @click="reset"> {{ '重置' }}</el-button>
</el-col>
</el-row>
</el-form>
</div>
<div class="maintop">
<div class="mainbtn">
<el-button
size="small"
v-hasButtons="['shopMemberInfoExport']"
class="thebtn2"
@click="handleExport"
>
{{ '导出' }}</el-button
>
</div>
</div>
<div class="maintable">
<el-table
:data="tableData"
v-loading="loading"
style="width: 100%"
height="630px"
: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="storeName" label="门店名称" />
<el-table-column align="center" prop="storeTypeVal" label="门店类型" />
<el-table-column align="center" prop="storeAddress" label="门店地址" />
<el-table-column align="center" prop="memberCode" label="发起人编号" width="120" />
<el-table-column
align="center"
prop="memberName"
label="发起人姓名"
width="120"
/>
<el-table-column
align="center"
prop="phone"
label="发起人手机号"
width="120"
/>
<el-table-column
align="center"
prop="awardTransactionVal"
label="真实奖衔"
/>
<el-table-column
align="center"
prop="vertexName"
label="隶属体系"
/>
<el-table-column
align="center"
prop="teamName"
label="隶属团队"
/>
<el-table-column
align="center"
prop="licenseName"
label="营业执照名称"
width="120"
/>
<el-table-column
align="center"
prop="creditCode"
label="统一社会信用代码"
width="140"
/>
<el-table-column
align="center"
prop="province"
label="省"
/>
<el-table-column
align="center"
prop="city"
label="市"
/>
<el-table-column
align="center"
prop="county"
label="区/县"
/>
<el-table-column
align="center"
prop="cabinStatusVal"
label="是否有舱"
/>
<el-table-column
align="center"
prop="cabinPkMemberCode"
label="关联编码"
/>
<el-table-column
align="center"
prop="approveStatusVal"
label="审核状态"
/>
<el-table-column
align="center"
prop="applyTime"
label="申请日期"
/>
<el-table-column
align="center"
prop="certificateStatusVal"
label="证件状态"
/>
</el-table>
</div>
</div>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import topBar from "@/components/topBar";
import * as api from "@/api/shopManage.js";
import { getvertexValue, getmemberTeamList } from "@/api/member";
import { getAwardsListChiose } from "@/api/level";
import { certificate_status } from '@/api/settle.js'
import * as pro from "@/api/product.js";
export default {
name: "Bzpz",
components: {
topBar,
},
data() {
return {
moren: "shopMemberInfo",
topList: [
{
name: "门店发起人数据",
path: "shopMemberInfo",
},
],
select: {},
//
queryParams: {
pageNum: 1,
pageSize: 50,
},
total: 0,
tableData: [],
awardsList: [],
memberteamList: [],
vertexList: [],
gradeRangList: [],
yesnoList: [
{
value:0,
label:'是'
},
{
value:1,
label:'否'
},
],
markerList: [
{ name: "会员", id: 0 },
{ name: "创客空间", id: 1 },
{ name: "体验中心", id: 2 },
],
typeList: [
{
value: 2,
label: "待审核",
},
{
value: 4,
label: "已驳回",
},
{
value: 5,
label: "已审核",
},
],
loading: false,
cerList:[],
areaData: [],
creationTime: [],
regionParams: {
label: "name",
value: "id",
children: "children",
expandTrigger: "hover",
},
};
},
mounted() {
//
this.getList();
this.getData();
},
methods: {
getData() {
getAwardsListChiose().then((res) => {
this.awardsList = res.rows;
});
//
getmemberTeamList().then((res) => {
this.memberteamList = res.rows;
});
//
getvertexValue().then((res) => {
this.vertexList = res.data;
});
//
certificate_status().then((res) => {
this.cerList = res.data
})
pro.findAllArea().then((res) => {
this.areaData = res.data;
});
},
changeTime(val) {
this.select.startDate = val ? val[0] : "";
this.select.endDate = val ? val[1] : "";
},
handleChange(val) {
this.select.storeProvince = val[0];
this.select.storeCity = val[1];
this.select.storeCounty = val[2] || "";
},
getList() {
this.loading = true;
api
.makerSpaceList(Object.assign({}, this.queryParams, this.select))
.then((res) => {
this.tableData = res.rows;
this.total = res.total;
this.loading = false;
});
},
//
handleExport() {
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
}).then((_) => {
this.download(
"/shop/manage/maker-space/export",
Object.assign({}, this.queryParams, this.select),
`门店发起人${new Date().getTime()}.xlsx`
);
});
},
reset() {
this.select = {};
this.getList();
},
handleSelectionChange(val) {},
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%;
}
.uploadIcon ::v-deep .el-upload--picture-card {
display: none !important;
/* 上传按钮隐藏 */
}
.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);
.form_all {
padding: 0px 20px 0 20px;
// margin-bottom: 20px;
background: #fff;
border-radius: 8px;
}
.maintop {
display: flex;
padding: 0px 0px;
justify-content: space-between;
align-items: center;
background: #f8f8f8;
.mainbtn {
.thebtn1 {
background: #3181e5;
color: #ffffff;
}
.thebtn2 {
background: #ffad41;
color: #ffffff;
}
}
.maintitle {
font-size: 10px;
font-family: MicrosoftYaHei;
color: #999999;
}
}
}
.tem {
display: flex;
align-items: center;
justify-content: center;
img {
width: 28px;
height: 20px;
margin-right: 3px;
}
}
.isRed {
color: #ed1d25;
}
.isGreen {
color: #1ab62b;
}
.bgImg {
width: 48px;
height: 48px;
}
}
.openClose {
text-align: right;
margin-right: 10px;
color: #3181e5;
}
.dizhi {
::v-deep .el-cascader {
width: 100%;
}
}
::v-deep .el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: auto;
}
//::v-deep .el-form-item {
//margin-bottom: 20px !important;
//}
::v-deep .el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: 100% !important;
}
.blueCor {
color: #589ff8;
cursor: pointer;
}
::v-deep .el-input__icon {
line-height: 33px;
}
::v-deep .el-button {
margin-top: 3px;
}
.bgImg {
width: 48px;
height: 48px;
}
</style>

View File

@ -1,573 +0,0 @@
<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="10">
<el-col :span="4">
<el-form-item label="店铺名称">
<el-input clearable v-model="select.shopName"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="店铺状态">
<el-select clearable v-model="select.shopStatus">
<el-option
v-for="item in getStatusList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="店铺联系人">
<el-input clearable v-model="select.shopContacts"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="联系方式">
<el-input clearable v-model="select.shopPhone"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button type="primary" @click="getList">
{{ '搜索' }}</el-button
>
<el-button type="" @click="reset"> {{ '重置' }}</el-button>
</el-col>
</el-row>
</el-form>
</div>
<div class="maintop">
<div class="mainbtn">
<!-- <el-button
v-has-buttons="['shopToManageAdd']"
size="small"
@click="openDig"
class="addBtn"
>{{ '添加' }}</el-button
> -->
<el-button
size="small"
v-hasButtons="['shopToManageExport']"
class="thebtn2"
@click="handleExport"
>
{{ '导出' }}</el-button
>
</div>
</div>
<div class="maintable">
<el-table
:data="tableData"
v-loading="loading"
style="width: 100%"
height="700px"
: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="shopName" label="店铺名称" />
<el-table-column
align="center"
prop="shopStatus"
label="店铺状态"
>
<template slot-scope="scope">
<div>
{{ getStatusList[scope.row.shopStatus - 1] .label}}
</div>
</template>
</el-table-column>
<el-table-column
align="center"
prop="shopContacts"
label="店铺联系人"
/>
<el-table-column
align="center"
prop="shopPhone"
label="联系方式"
/>
<el-table-column
align="center"
prop="shopProvinceName"
label="店铺省"
/>
<el-table-column
align="center"
prop="shopCityName"
label="店铺市"
/>
<el-table-column
align="center"
prop="shopCountyName"
label="店铺县"
/>
<el-table-column
align="center"
prop="memberName"
label="店长会员姓名"
/>
<el-table-column
align="center"
prop="memberCode"
label="店长会员编号"
/>
<!-- <el-table-column
align="center"
:label="'操作'"
fixed="right"
>
<template slot-scope="scope">
<el-button
@click="updateRow(scope.row)"
type="text"
v-has-buttons="['shopToManageEdit']"
size="small"
>
{{ '修改' }}
</el-button>
<el-button
@click="handleDelete(scope.row.pkId)"
type="text"
v-has-buttons="['shopToManageDel']"
size="small"
style="color: #48b2fd"
>
{{ '删除' }}
</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="getList"
/>
<!-- 新增修改 -->
<el-dialog
:close-on-click-modal="false"
:visible.sync="dialogVisible"
:title="dialogTitle"
width="50%"
center
:before-close="handleClose1"
>
<el-form ref="form" :rules="rules" :model="form" label-width="auto">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="店铺名称" prop="title">
<el-input
clearable
v-model="form.shopName"
:placeholder="'请输入'"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="会员编号" prop="title">
<el-input
clearable
v-model="form.memberCode"
:placeholder="'请输入'"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系人" prop="title">
<el-input
clearable
v-model="form.shopContacts"
:placeholder="'请输入'"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="开始营业时间" prop="showBegin">
<el-date-picker
v-model="form.showBegin"
placeholder="选择时间"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="结束营业时间" prop="showEnd">
<el-date-picker
v-model="form.showEnd"
placeholder="选择时间"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose1">{{ '取消' }}</el-button>
<el-button type="primary" @click="onSubmit('form')">{{
'确认'
}}</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import topBar from "@/components/topBar";
import * as api from "@/api/shopManage.js";
export default {
name: "Bzpz",
components: {
topBar,
},
data() {
return {
moren: "shopToManage",
topList: [
{
name: "店铺管理",
path: "shopToManage",
},
],
select: {},
//
queryParams: {
pageNum: 1,
pageSize: 50,
},
total: 0,
dialogVisible: false,
tableData: [],
loading: false,
form: {},
dialogTitle: "",
rules: {
title: [
{ required: true, message: '请输入', trigger: "blur" },
],
showBegin: [
{ required: true, message: '请选择', trigger: "change" },
],
showEnd: [
{ required: true, message: '请选择', trigger: "change" },
],
content: [
{ required: true, message: '请输入', trigger: "blur" },
],
recommendFlag: [
{ required: true, message: '请选择', trigger: "change" },
],
},
addEdit: 0,
creationTime: [],
creationTime1: [],
getStatusList:[
{
value:1,
label:'营运中'
},
{
value:2,
label:'已闭店'
},
{
value:3,
label:'已休息'
},
]
};
},
mounted() {
//
this.getList();
this.getData();
},
methods: {
changeTime(val) {
this.select.startShowBegin = val ? val[0] : "";
this.select.endShowBegin = val ? val[1] : "";
},
changeTime1(val) {
this.select.startShowEnd = val ? val[0] : "";
this.select.endShowEnd = val ? val[1] : "";
},
getData() {
// api.getEYesNoList().then((res) => {
// this.getStatusList = res.data;
// });
},
onSubmit(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
if (this.addEdit == 1) {
api.shopManageInsert(this.form).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.dialogVisible = false;
//
this.getList();
this.$refs[formName].resetFields();
this.$refs[formName].clearValidate();
}
});
} else {
api.shopManageUpdata(this.form).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.dialogVisible = false;
//
this.getList();
this.$refs[formName].resetFields();
this.$refs[formName].clearValidate();
}
});
}
} else {
return false;
}
});
},
reset() {
this.select = {};
this.creationTime = [];
this.creationTime1 = [];
this.getList();
},
//
handleDelete(id) {
this.$confirm('确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
}).then(() => {
api
.shopManageDel(id)
.then((res) => {
this.$message({
message: res.msg,
type: "success",
});
this.getList();
});
});
},
openDig() {
this.form = {};
this.dialogVisible = true;
this.addEdit = 1;
this.dialogTitle = '添加';
},
updateRow(row) {
this.dialogTitle = '修改';
api
.shopNoticeDetail({
pkId: row.pkId,
})
.then((res) => {
this.form = res.data;
this.addEdit = 0;
this.dialogVisible = true;
});
},
getList() {
this.loading = true;
api
.shopManageList(Object.assign({}, this.queryParams, this.select))
.then((res) => {
this.tableData = res.rows;
this.total = res.total;
this.loading = false;
});
},
handleClose1() {
this.dialogVisible = false;
},
handleSelectionChange(val) {},
//
handleExport() {
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
}).then((_) => {
this.download(
"/shop/manage/info/export",
Object.assign({}, 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%;
}
.uploadIcon ::v-deep .el-upload--picture-card {
display: none !important;
/* 上传按钮隐藏 */
}
.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);
.form_all {
padding: 0px 20px 0 20px;
// margin-bottom: 20px;
background: #fff;
border-radius: 8px;
}
.maintop {
display: flex;
padding: 0px 0px;
justify-content: space-between;
align-items: center;
background: #f8f8f8;
.mainbtn {
.thebtn1 {
background: #3181e5;
color: #ffffff;
}
.thebtn2 {
background: #ffad41;
color: #ffffff;
}
}
.maintitle {
font-size: 10px;
font-family: MicrosoftYaHei;
color: #999999;
}
}
}
.tem {
display: flex;
align-items: center;
justify-content: center;
img {
width: 28px;
height: 20px;
margin-right: 3px;
}
}
.isRed {
color: #ed1d25;
}
.isGreen {
color: #1ab62b;
}
.bgImg {
width: 48px;
height: 48px;
}
}
.openClose {
text-align: right;
margin-right: 10px;
color: #3181e5;
}
.dizhi {
::v-deep .el-cascader {
width: 100%;
}
}
::v-deep .el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: auto;
}
::v-deep .el-form-item {
margin-bottom: 20px !important;
}
::v-deep .el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: 100% !important;
}
.blueCor {
color: #589ff8;
cursor: pointer;
}
::v-deep .el-input__icon {
line-height: 33px;
}
::v-deep .el-button {
margin-top: 3px;
}
.bgImg {
width: 48px;
height: 48px;
}
</style>

View File

@ -1,525 +0,0 @@
<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="10">
<el-col :span="6">
<el-form-item label="门店名称">
<el-input clearable v-model="select.storeName"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="门店类型">
<el-select v-model="select.storeType" clearable>
<el-option
v-for="item in markerList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="发起人编号">
<el-input clearable v-model="select.memberCode"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="发起人姓名">
<el-input clearable v-model="select.memberName"></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="6">
<el-form-item :label="'隶属体系'">
<el-select
clearable
:placeholder="'请选择'"
v-model="select.pkVertex"
>
<el-option
v-for="item in vertexList"
:key="item.pkId"
:label="item.vertexName"
:value="item.pkId"
></el-option>
</el-select>
</el-form-item>
</el-col> -->
<!-- <el-col :span="4">
<el-form-item :label="'隶属团队'">
<el-select
clearable
:placeholder="'请选择'"
v-model="select.pkTeamCode"
>
<el-option
v-for="item in memberteamList"
:key="item.pkId"
:label="item.teamName"
:value="item.pkId"
></el-option>
</el-select>
</el-form-item>
</el-col> -->
<el-col :span="6">
<el-form-item label="是否已申请更换门头">
<el-select v-model="select.isUpdateHeader" clearable>
<el-option
v-for="item in yesnoList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="门头更新状态">
<el-select v-model="select.headerStatus" clearable>
<el-option
v-for="item in typeList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="是否已申请更换店内装修">
<el-select v-model="select.isUpdateRenovation" clearable>
<el-option
v-for="item in typeList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="门店装修更换状态">
<el-select v-model="select.renovationStatus" clearable>
<el-option
v-for="item in typeList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-button type="primary" @click="getList">
{{ '搜索' }}</el-button
>
<el-button type="" @click="reset"> {{ '重置' }}</el-button>
</el-col>
</el-row>
</el-form>
</div>
<div class="maintop">
<div class="mainbtn">
<!-- <el-button
size="small"
v-hasButtons="['shopMemberInfoExport']"
class="thebtn2"
@click="handleExport"
>
{{ '导出' }}</el-button
> -->
</div>
</div>
<div class="maintable">
<el-table
:data="tableData"
v-loading="loading"
style="width: 100%"
height="670px"
: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="storeName" label="门店名称" />
<el-table-column
align="center"
prop="storeTypeVal"
label="门店类型"
/>
<el-table-column
align="center"
prop="licenseAddress"
label="门店地址"
/>
<el-table-column
align="center"
prop="memberCode"
label="发起人编号"
width="120"
/>
<el-table-column
align="center"
prop="memberName"
label="发起人姓名"
width="120"
/>
<!-- <el-table-column
align="center"
prop="vertexName"
label="隶属体系"
/> -->
<!-- <el-table-column
align="center"
prop="teamName"
label="所属团队"
/>
<el-table-column
align="center"
prop="licenseName"
label="所属总监姓名"
width="120"
/> -->
<el-table-column
align="center"
prop="isUpdateHeaderVal"
label="是否已申请更换体验中心新门头"
width="220"
/>
<el-table-column
align="center"
prop="headerStatusVal"
label="门头更换整状态"
width="160"
/>
<el-table-column
align="center"
prop="isUpdateRenovationVal"
label="是否已申请更换体验中心店内装修"
width="240"
/>
<el-table-column
align="center"
prop="renovationStatusVal"
label="门店装修更换状态"
width="160"
/>
<el-table-column
align="center"
prop="shopInfoImg"
label="门店信息图片"
width="160"
>
<template slot-scope="scope">
<img class="bgImg" :src="scope.row.shopInfoImg" alt="" />
</template>
</el-table-column>
</el-table>
</div>
</div>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import topBar from "@/components/topBar";
import * as api from "@/api/shopManage.js";
import { getvertexValue, getmemberTeamList } from "@/api/member";
import { getAwardsListChiose } from "@/api/level";
import { certificate_status } from "@/api/settle.js";
import * as pro from "@/api/product.js";
export default {
name: "Bzpz",
components: {
topBar,
},
data() {
return {
moren: "shopUpdata",
topList: [
{
name: "门店升级改造",
path: "shopUpdata",
},
],
select: {},
//
queryParams: {
pageNum: 1,
pageSize: 50,
},
total: 0,
tableData: [],
memberteamList: [],
vertexList: [],
gradeRangList: [],
yesnoList: [
{
value: 0,
label: "已申请",
},
{
value: 1,
label: "未申请",
},
],
markerList: [
{ name: "会员", id: 0 },
{ name: "创客空间", id: 1 },
{ name: "体验中心", id: 2 },
],
typeList: [
{
value: 0,
label: "已更新",
},
{
value: 1,
label: "更新中",
},
{
value: 2,
label: "未更新",
},
],
loading: false,
cerList: [],
areaData: [],
creationTime: [],
regionParams: {
label: "name",
value: "id",
children: "children",
expandTrigger: "hover",
},
};
},
mounted() {
//
this.getList();
this.getData();
},
methods: {
getData() {
// getAwardsListChiose().then((res) => {
// this.awardsList = res.rows;
// });
//
getmemberTeamList().then((res) => {
this.memberteamList = res.rows;
});
//
getvertexValue().then((res) => {
this.vertexList = res.data;
});
//
certificate_status().then((res) => {
this.cerList = res.data;
});
pro.findAllArea().then((res) => {
this.areaData = res.data;
});
},
changeTime(val) {
this.select.startDate = val ? val[0] : "";
this.select.endDate = val ? val[1] : "";
},
handleChange(val) {
this.select.storeProvince = val[0];
this.select.storeCity = val[1];
this.select.storeCounty = val[2] || "";
},
getList() {
this.loading = true;
api
.cumakerSpaceList(Object.assign({}, this.queryParams, this.select))
.then((res) => {
this.tableData = res.rows;
this.total = res.total;
this.loading = false;
});
},
//
handleExport() {
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
}).then((_) => {
this.download(
"/shop/manage/maker-space/export",
Object.assign({}, this.queryParams, this.select),
`门店发起人${new Date().getTime()}.xlsx`
);
});
},
reset() {
this.select = {};
this.getList();
},
handleSelectionChange(val) {},
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%;
}
.uploadIcon ::v-deep .el-upload--picture-card {
display: none !important;
/* 上传按钮隐藏 */
}
.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);
.form_all {
padding: 0px 20px 0 20px;
// margin-bottom: 20px;
background: #fff;
border-radius: 8px;
}
.maintop {
display: flex;
padding: 0px 0px;
justify-content: space-between;
align-items: center;
background: #f8f8f8;
.mainbtn {
.thebtn1 {
background: #3181e5;
color: #ffffff;
}
.thebtn2 {
background: #ffad41;
color: #ffffff;
}
}
.maintitle {
font-size: 10px;
font-family: MicrosoftYaHei;
color: #999999;
}
}
}
.tem {
display: flex;
align-items: center;
justify-content: center;
img {
width: 28px;
height: 20px;
margin-right: 3px;
}
}
.isRed {
color: #ed1d25;
}
.isGreen {
color: #1ab62b;
}
.bgImg {
width: 48px;
height: 48px;
}
}
.openClose {
text-align: right;
margin-right: 10px;
color: #3181e5;
}
.dizhi {
::v-deep .el-cascader {
width: 100%;
}
}
::v-deep .el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: auto;
}
//::v-deep .el-form-item {
//margin-bottom: 20px !important;
//}
::v-deep .el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: 100% !important;
}
.blueCor {
color: #589ff8;
cursor: pointer;
}
::v-deep .el-input__icon {
line-height: 33px;
}
::v-deep .el-button {
margin-top: 3px;
}
.bgImg {
width: 48px;
height: 48px;
}
</style>

View File

@ -431,11 +431,11 @@ export default {
routeName: 'lecturerLevelVal',
changed: false
},
{
menuName: '系统级别',
routeName: 'systemLevelVal',
changed: false
},
// {
// menuName: '',
// routeName: 'systemLevelVal',
// changed: false
// },
{
menuName: '注册等级',
routeName: 'pkRegisterGradeVal',