初始项目

This commit is contained in:
liupopo
2023-02-11 12:55:02 +08:00
parent 1748bda84a
commit 0b89e36064
3363 changed files with 506201 additions and 1 deletions

View File

@@ -0,0 +1,16 @@
<template> 
<fenxiaoChecks-detail :is-edit='false'>
</fenxiaoChecks-detail>
</template>
<script>
import FenxiaoChecksDetail from './components/detail'
export default {
name: 'addFenxiaoChecks',
components: {FenxiaoChecksDetail}
}
</script>
<style>
</style>

View File

@@ -0,0 +1,180 @@
<template> 
<el-card class="form-container" shadow="never">
<el-form :model="fenxiaoChecks" :rules="rules" ref="FenxiaoChecksFrom" label-width="150px">
<el-form-item
label="会员编号"
prop="memberId">
<el-input v-model="fenxiaoChecks.memberId" style="width: 370px;"/>
</el-form-item>
<el-form-item
label="会员手机"
prop="phone">
<el-input v-model="fenxiaoChecks.phone" style="width: 370px;"/>
</el-form-item>
<el-form-item
label="审核状态"
prop="status">
<el-input v-model="fenxiaoChecks.status" style="width: 370px;"/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit('FenxiaoChecksFrom')">提交</el-button>
<el-button v-if="!isEdit" @click="resetForm('FenxiaoChecksFrom')">重置</el-button>
</el-form-item>
</el-form>
</el-card>
</template>
<script>
import {createFenxiaoChecks, getFenxiaoChecks, updateFenxiaoChecks} from '@/api/fenxiao/fenxiaoChecks'
import SingleUpload from '@/components/Upload/singleUpload'
const defaultFenxiaoChecks = {
name: ''
};
export default {
name: 'FenxiaoChecksDetail',
components: {SingleUpload},
props: {
isEdit: {
type: Boolean,
default: false
}
},
data() {
return {
fenxiaoChecks:
Object.assign({},
defaultFenxiaoChecks),
rules: {
name: [
{required: true, message: '请输入品牌名称', trigger: 'blur'},
{min: 2, max: 140, message: '长度在 2 到 140 个字符', trigger: 'blur'}
],
logo
:
[
{required: true, message: '请输入品牌logo', trigger: 'blur'}
],
sort
:
[
{type: 'number', message: '排序必须为数字'}
],
}
}
},
created() {
if (this.isEdit) {
getFenxiaoChecks(this.$route.query.id).then(response => {
this.fenxiaoChecks = response.data;
})
;
} else {
this.fenxiaoChecks = Object.assign({},
defaultFenxiaoChecks)
;
}
},
methods: {
onSubmit(formName) {
this.$refs[formName].validate((valid) => {
if(valid) {
this.$confirm('是否提交数据', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
if(this.isEdit
)
{
updateFenxiaoChecks(this.$route.query.id, this.fenxiaoChecks).then(response => {
if(response.code == 200
)
{
this.$refs[formName].resetFields();
this.$message({
message: '修改成功',
type: 'success',
duration: 1000
});
this.$router.back();
}
else
{
this.$message({
message: response.msg,
type: 'error',
duration: 1000
});
}
})
;
}
else
{
createFenxiaoChecks(this.fenxiaoChecks).then(response => {
if(response.code == 200
)
{
this.$refs[formName].resetFields();
this.fenxiaoChecks = Object.assign({},
defaultFenxiaoChecks)
;
this.$message({
message: '提交成功',
type: 'success',
duration: 1000
});
this.$router.back();
}
else
{
this.$message({
message: response.msg,
type: 'error',
duration: 1000
});
}
})
;
}
})
;
} else {
this.$message({
message: '验证失败',
type: 'error',
duration: 1000
});
return false;
}
})
;
},
resetForm(formName) {
this.$refs[formName].resetFields();
this.fenxiaoChecks = Object.assign({},
defaultFenxiaoChecks)
;
}
}
}
</script>
<style>
</style>

View File

@@ -0,0 +1,286 @@
<template> 
<div class="app-container">
<el-card class="filter-container" shadow="never">
<div>
<i class="el-icon-search"></i>
<span>筛选搜索</span>
<el-button
style="float: right"
@click="searchFenxiaoChecksList()"
type="primary"
size="small">
查询结果
</el-button>
</div>
<div style="margin-top: 15px">
<el-form :inline="true" :model="listQuery" size="small" label-width="140px">
<el-form-item label="输入搜索:">
<el-input style="width: 203px" v-model="listQuery.keyword" placeholder="类型名称/关键字"></el-input>
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="operate-container" shadow="never">
<i class="el-icon-tickets"></i>
<span>数据列表</span>
</el-card>
<div class="table-container">
<el-table ref="fenxiaoChecksTable"
:data="list"
style="width: 100%"
@selection-change="handleSelectionChange"
v-loading="listLoading"
border>
<el-table-column type="selection" width="60" align="center"></el-table-column>
<el-table-column prop="id"
label="编号">
<template slot-scope="scope">
{{scope.row.id }}
</template>
</el-table-column>
<el-table-column prop="memberId"
label="会员编号">
<template slot-scope="scope">
{{scope.row.memberId }}
</template>
</el-table-column>
<el-table-column prop="phone"
label="会员手机">
<template slot-scope="scope">
{{scope.row.phone }}
</template>
</el-table-column>
<el-table-column label="状态" align="center">
<template slot-scope="scope">
<el-switch
@change="handleShowChange(scope.$index, scope.row)"
:active-value="1"
:inactive-value="0"
v-model="scope.row.status">
</el-switch>
</template>
</el-table-column>
<el-table-column prop="createTime"
label="创建时间">
<template slot-scope="scope">
{{scope.row.createTime |formatCreateTime}}
</template>
</el-table-column>
<el-table-column prop="updateTime"
label="审核时间">
<template slot-scope="scope">
{{scope.row.updateTime |formatCreateTime}}
</template>
</el-table-column>
<el-table-column label="操作" width="200" align="center">
<template slot-scope="scope">
<el-button
size="mini"
@click="handleUpdate(scope.$index, scope.row)">编辑
</el-button>
<el-button
size="mini"
type="danger"
@click="handleDelete(scope.$index, scope.row)">删除
</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="batch-operate-container">
</div>
<div class="pagination-container">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
layout="total, sizes,prev, pager, next,jumper"
:page-size="listQuery.pageSize"
:page-sizes="[5,10,15]"
:current-page.sync="listQuery.pageNum"
:total="total">
</el-pagination>
</div>
</div>
</template>
<script>
//将$都替换为$
import {fetchList, deleteFenxiaoChecks} from '@/api/fenxiao/fenxiaoChecks'
import {formatDate} from '@/utils/date';
export default {
name: 'fenxiaoChecksList',
data() {
return {
operates: [],
operateType: null,
listQuery: {
keyword: null,
pageNum: 1,
pageSize: 10
},
list: null,
total: null,
listLoading: true,
multipleSelection: []
}
},
created() {
this.getList();
},
filters: {
formatCreateTime(time) {
let date = new Date(time);
return formatDate(date, 'yyyy-MM-dd hh:mm:ss')
},
formatStatus(value) {
if (value === 1) {
return '审核中';
} else if (value === 2) {
return '审核失败';
} else if (value === 3) {
return '审核成功';
} else if (value === 4) {
return '已失效';
}
},
},
methods: {
getList() {
this.listLoading = true;
fetchList(this.listQuery).then(response => {
this.listLoading = false;
this.list = response.data.records;
this.total = response.data.total;
this.totalPage = response.data.pages;
this.pageSize = response.data.size;
})
;
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
handleUpdate(index, row) {
this.$router.push(
{path: '/fenxiao/updateFenxiaoChecks', query: {id: row.id}})
},
handleDelete(index, row) {
this.$confirm('是否要删除该类型', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteFenxiaoChecks(row.id
).
then(response => {
this.$message({
message: '删除成功',
type: 'success',
duration: 1000
});
this.getList();
})
;
})
;
},
handleShowChange(index, row) {
let params = new URLSearchParams();
params.append('ids', row.id);
params.append('status', row.status);
updateShowStatus(params).then(response => {
this.$message({
message: '修改成功',
type: 'success',
duration: 1000
});
});
},
handleSizeChange(val) {
this.listQuery.pageNum = 1;
this.listQuery.pageSize = val;
this.getList();
},
handleCurrentChange(val) {
this.listQuery.pageNum = val;
this.getList();
},
searchFenxiaoChecksList() {
this.listQuery.pageNum = 1;
this.getList();
},
handleBatchOperate() {
console.log(this.multipleSelection);
if (this.multipleSelection < 1) {
this.$message({
message: '请选择一条记录',
type: 'warning',
duration: 1000
});
return;
}
let showStatus = 0;
if (this.operateType === 'showFenxiaoChecks') {
showStatus = 1;
} else if (this.operateType === 'hideFenxiaoChecks') {
showStatus = 0;
} else {
this.$message({
message: '请选择批量操作类型',
type: 'warning',
duration: 1000
});
return;
}
let ids = [];
for (let i = 0; i < this.multipleSelection.length; i++) {
ids.push(this.multipleSelection[i].id);
}
let data = new URLSearchParams();
data.append("ids", ids);
data.append("showStatus", showStatus);
updateShowStatus(data).then(response => {
this.getList();
this.$message({
message: '修改成功',
type: 'success',
duration: 1000
});
})
;
},
addFenxiaoChecks() {
//手动将router,改成$router
this.$router.push({path: '/fenxiao/addFenxiaoChecks'})
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
</style>

View File

@@ -0,0 +1,16 @@
<template> 
<fenxiaoChecks-detail :is-edit='true'>
</fenxiaoChecks-detail>
</template>
<script>
import FenxiaoChecksDetail from './components/detail'
export default {
name: 'updateFenxiaoChecks',
components: {FenxiaoChecksDetail}
}
</script>
<style>
</style>

View File

@@ -0,0 +1,16 @@
<template> 
<fenxiaoConfig-detail :is-edit='false'>
</fenxiaoConfig-detail>
</template>
<script>
import FenxiaoConfigDetail from './components/detail'
export default {
name: 'addFenxiaoConfig',
components: {FenxiaoConfigDetail}
}
</script>
<style>
</style>

View File

@@ -0,0 +1,217 @@
<template> 
<el-card class="form-container" shadow="never">
<el-form :model="fenxiaoConfig" :rules="rules" ref="FenxiaoConfigFrom" label-width="150px">
<el-form-item
label="状态"
prop="status">
<el-input v-model="fenxiaoConfig.status" style="width: 370px;"/>
</el-form-item>
<el-form-item
label="返佣类型"
prop="type">
<el-input v-model="fenxiaoConfig.type" style="width: 370px;"/>
</el-form-item>
<el-form-item
label="商品返佣比例"
prop="fanPercent">
<el-input v-model="fenxiaoConfig.fanPercent" style="width: 370px;"/>
</el-form-item>
<el-form-item
label="到账类型"
prop="fanType">
<el-input v-model="fenxiaoConfig.fanType" style="width: 370px;"/>
</el-form-item>
<el-form-item
label="提现方式"
prop="withdrawType">
<el-input v-model="fenxiaoConfig.withdrawType" style="width: 370px;"/>
</el-form-item>
<el-form-item
label="一级返佣"
prop="onePercent">
<el-input v-model="fenxiaoConfig.onePercent" style="width: 370px;"/>
</el-form-item>
<el-form-item
label="二级返佣"
prop="twoPercent">
<el-input v-model="fenxiaoConfig.twoPercent" style="width: 370px;"/>
</el-form-item>
<el-form-item
label="三级返佣"
prop="threePercent">
<el-input v-model="fenxiaoConfig.threePercent" style="width: 370px;"/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit('FenxiaoConfigFrom')">提交</el-button>
<el-button v-if="!isEdit" @click="resetForm('FenxiaoConfigFrom')">重置</el-button>
</el-form-item>
</el-form>
</el-card>
</template>
<script>
import {createFenxiaoConfig, getFenxiaoConfig, updateFenxiaoConfig} from '@/api/fenxiao/fenxiaoConfig'
import SingleUpload from '@/components/Upload/singleUpload'
const defaultFenxiaoConfig = {
name: ''
};
export default {
name: 'FenxiaoConfigDetail',
components: {SingleUpload},
props: {
isEdit: {
type: Boolean,
default: false
}
},
data() {
return {
fenxiaoConfig:
Object.assign({}, defaultFenxiaoConfig),
rules: {
name: [
{required: true, message: '请输入品牌名称', trigger: 'blur'},
{min: 2, max: 140, message: '长度在 2 到 140 个字符', trigger: 'blur'}
],
logo
:
[
{required: true, message: '请输入品牌logo', trigger: 'blur'}
],
sort
:
[
{type: 'number', message: '排序必须为数字'}
],
}
}
},
created() {
if (this.isEdit) {
getFenxiaoConfig(this.$route.query.id).then(response => {
this.fenxiaoConfig = response.data;
})
;
} else {
this.fenxiaoConfig = Object.assign({},
defaultFenxiaoConfig)
;
}
},
methods: {
onSubmit(formName) {
this.$refs[formName].validate((valid) => {
if(valid) {
this.$confirm('是否提交数据', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
if(this.isEdit
)
{
updateFenxiaoConfig(this.$route.query.id, this.fenxiaoConfig).then(response => {
if(response.code == 200
)
{
this.$refs[formName].resetFields();
this.$message({
message: '修改成功',
type: 'success',
duration: 1000
});
this.$router.back();
}
else
{
this.$message({
message: response.msg,
type: 'error',
duration: 1000
});
}
})
;
}
else
{
createFenxiaoConfig(this.fenxiaoConfig).then(response => {
if(response.code == 200
)
{
this.$refs[formName].resetFields();
this.fenxiaoConfig = Object.assign({},
defaultFenxiaoConfig)
;
this.$message({
message: '提交成功',
type: 'success',
duration: 1000
});
this.$router.back();
}
else
{
this.$message({
message: response.msg,
type: 'error',
duration: 1000
});
}
})
;
}
})
;
} else {
this.$message({
message: '验证失败',
type: 'error',
duration: 1000
});
return false;
}
})
;
},
resetForm(formName) {
this.$refs[formName].resetFields();
this.fenxiaoConfig = Object.assign({},
defaultFenxiaoConfig)
;
}
}
}
</script>
<style>
</style>

View File

@@ -0,0 +1,144 @@
<template> 
<el-card class="form-container" shadow="never">
<el-form :model="fenxiaoConfig"
ref="fenxiaoConfigForm"
label-width="150px">
<el-form-item label="状态:">
<el-radio-group v-model="fenxiaoConfig.status">
<el-radio :label="1">开启</el-radio>
<el-radio :label="0">关闭</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="返佣类型:">
<el-radio-group v-model="fenxiaoConfig.type">
<el-radio :label="1">现金返佣</el-radio>
<el-radio :label="0">积分返佣</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label="商品返佣比例"
prop="fanPercent">
<el-input v-model="fenxiaoConfig.fanPercent" style="width: 370px;"/>
<span class="note-margin">%</span>
</el-form-item>
<el-form-item label="到账类型:">
<el-radio-group v-model="fenxiaoConfig.fanType">
<el-radio :label="1">支付成功</el-radio>
<el-radio :label="0">交易成功</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="提现方式:">
<el-radio-group v-model="fenxiaoConfig.withdrawType">
<el-radio :label="1">人工提现</el-radio>
<el-radio :label="0">微信打款</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label="一级返佣"
prop="onePercent">
<el-input v-model="fenxiaoConfig.onePercent" style="width: 370px;"/>
<span class="note-margin">%</span>
</el-form-item>
<el-form-item
label="二级返佣"
prop="twoPercent">
<el-input v-model="fenxiaoConfig.twoPercent" style="width: 370px;"/>
<span class="note-margin">%</span>
</el-form-item>
<el-form-item
label="三级返佣"
prop="threePercent">
<el-input v-model="fenxiaoConfig.threePercent" style="width: 370px;"/>
<span class="note-margin">%</span>
</el-form-item>
<el-form-item>
<el-button
@click="confirm('fenxiaoConfigForm')"
type="primary">提交</el-button>
</el-form-item>
</el-form>
</el-card>
</template>
<script>
import { getFenxiaoConfig, updateFenxiaoConfig} from '@/api/fenxiao/fenxiaoConfig'
const defaultOrderSetting = {
status: 0,
type:1,
fanPercent:1,
fanType:1,
onePercent:0,
twoPercent:0,
threePercent:0
};
export default {
name: 'fenxiaoConfig',
data() {
return {
fenxiaoConfig: Object.assign({}, defaultOrderSetting),
}
},
created(){
this.getDetail();
},
methods:{
confirm(formName){
this.$refs[formName].validate((valid) => {
if (valid) {
this.$confirm('是否要提交修改?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
updateFenxiaoConfig(1,this.fenxiaoConfig).then(response=>{
this.$message({
type: 'success',
message: '提交成功!',
duration:1000
});
})
});
} else {
this.$message({
message: '提交参数不合法',
type: 'warning'
});
return false;
}
});
},
getDetail(){
getFenxiaoConfig(1).then(response=>{
console.log(response.data)
if(response.data){
this.fenxiaoConfig=response.data;
}
console.log(this.fenxiaoConfig)
})
}
}
}
</script>
<style scoped>
.input-width {
width: 50%;
}
.note-margin {
margin-left: 15px;
}
</style>

View File

@@ -0,0 +1,16 @@
<template> 
<fenxiaoConfig-detail :is-edit='true'>
</fenxiaoConfig-detail>
</template>
<script>
import FenxiaoConfigDetail from './components/detail'
export default {
name: 'updateFenxiaoConfig',
components: {FenxiaoConfigDetail}
}
</script>
<style>
</style>

View File

@@ -0,0 +1,16 @@
<template> 
<fenxiaoRecords-detail :is-edit='false'>
</fenxiaoRecords-detail>
</template>
<script>
import FenxiaoRecordsDetail from './components/detail'
export default {
name: 'addFenxiaoRecords',
components: {FenxiaoRecordsDetail}
}
</script>
<style>
</style>

View File

@@ -0,0 +1,200 @@
<template> 
<el-card class="form-container" shadow="never">
<el-form :model="fenxiaoRecords" :rules="rules" ref="FenxiaoRecordsFrom" label-width="150px">
<el-form-item
label="orderId"
prop="orderId">
<el-input v-model="fenxiaoRecords.orderId" style="width: 370px;"/>
</el-form-item>
<el-form-item
label="memberId"
prop="memberId">
<el-input v-model="fenxiaoRecords.memberId" style="width: 370px;"/>
</el-form-item>
<el-form-item
label="inviteId"
prop="inviteId">
<el-input v-model="fenxiaoRecords.inviteId" style="width: 370px;"/>
</el-form-item>
<el-form-item
label="money"
prop="money">
<el-input v-model="fenxiaoRecords.money" style="width: 370px;"/>
</el-form-item>
<el-form-item
label="level"
prop="level">
<el-input v-model="fenxiaoRecords.level" style="width: 370px;"/>
</el-form-item>
<el-form-item
label="status"
prop="status">
<el-input v-model="fenxiaoRecords.status" style="width: 370px;"/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit('FenxiaoRecordsFrom')">提交</el-button>
<el-button v-if="!isEdit" @click="resetForm('FenxiaoRecordsFrom')">重置</el-button>
</el-form-item>
</el-form>
</el-card>
</template>
<script>
import {createFenxiaoRecords, getFenxiaoRecords, updateFenxiaoRecords} from '@/api/fenxiao/fenxiaoRecords'
import SingleUpload from '@/components/Upload/singleUpload'
const defaultFenxiaoRecords = {
name: ''
};
export default {
name: 'FenxiaoRecordsDetail',
components: {SingleUpload},
props: {
isEdit: {
type: Boolean,
default: false
}
},
data() {
return {
fenxiaoRecords:
Object.assign({},
defaultFenxiaoRecords),
rules: {
name: [
{required: true, message: '请输入品牌名称', trigger: 'blur'},
{min: 2, max: 140, message: '长度在 2 到 140 个字符', trigger: 'blur'}
],
logo
:
[
{required: true, message: '请输入品牌logo', trigger: 'blur'}
],
sort
:
[
{type: 'number', message: '排序必须为数字'}
],
}
}
},
created() {
if (this.isEdit) {
getFenxiaoRecords(this.$route.query.id).then(response => {
this.fenxiaoRecords = response.data;
})
;
} else {
this.fenxiaoRecords = Object.assign({},
defaultFenxiaoRecords)
;
}
},
methods: {
onSubmit(formName) {
this.$refs[formName].validate((valid) => {
if(valid) {
this.$confirm('是否提交数据', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
if(this.isEdit
)
{
updateFenxiaoRecords(this.$route.query.id, this.fenxiaoRecords).then(response => {
if(response.code == 200
)
{
this.$refs[formName].resetFields();
this.$message({
message: '修改成功',
type: 'success',
duration: 1000
});
this.$router.back();
}
else
{
this.$message({
message: response.msg,
type: 'error',
duration: 1000
});
}
})
;
}
else
{
createFenxiaoRecords(this.fenxiaoRecords).then(response => {
if(response.code == 200
)
{
this.$refs[formName].resetFields();
this.fenxiaoRecords = Object.assign({},
defaultFenxiaoRecords)
;
this.$message({
message: '提交成功',
type: 'success',
duration: 1000
});
this.$router.back();
}
else
{
this.$message({
message: response.msg,
type: 'error',
duration: 1000
});
}
})
;
}
})
;
} else {
this.$message({
message: '验证失败',
type: 'error',
duration: 1000
});
return false;
}
})
;
},
resetForm(formName) {
this.$refs[formName].resetFields();
this.fenxiaoRecords = Object.assign({},
defaultFenxiaoRecords)
;
}
}
}
</script>
<style>
</style>

View File

@@ -0,0 +1,292 @@
<template> 
<div class="app-container">
<el-card class="filter-container" shadow="never">
<div>
<i class="el-icon-search"></i>
<span>筛选搜索</span>
<el-button
style="float: right"
@click="searchFenxiaoRecordsList()"
type="primary"
size="small">
查询结果
</el-button>
</div>
<div style="margin-top: 15px">
<el-form :inline="true" :model="listQuery" size="small" label-width="140px">
<el-form-item label="输入搜索:">
<el-input style="width: 203px" v-model="listQuery.keyword" placeholder="类型名称/关键字"></el-input>
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="operate-container" shadow="never">
<i class="el-icon-tickets"></i>
<span>数据列表</span>
</el-card>
<div class="table-container">
<el-table ref="fenxiaoRecordsTable"
:data="list"
style="width: 100%"
@selection-change="handleSelectionChange"
v-loading="listLoading"
border>
<el-table-column type="selection" width="60" align="center"></el-table-column>
<el-table-column prop="id"
label="id">
<template slot-scope="scope">
{{scope.row.id }}
</template>
</el-table-column>
<el-table-column prop="memberId"
label="会员编号">
<template slot-scope="scope">
{{scope.row.memberId }}
</template>
</el-table-column>
<el-table-column prop="inviteId"
label="邀请会员">
<template slot-scope="scope">
{{scope.row.inviteId }}
</template>
</el-table-column>
<el-table-column prop="money"
label="佣金">
<template slot-scope="scope">
{{scope.row.money }}
</template>
</el-table-column>
<el-table-column prop="level"
label="级别">
<template slot-scope="scope">
{{scope.row.level }}
</template>
</el-table-column>
<el-table-column prop="orderId"
label="订单编号">
<template slot-scope="scope">
{{scope.row.orderId }}
</template>
</el-table-column>
<el-table-column prop="goodsId"
label="商品编号">
<template slot-scope="scope">
{{scope.row.goodsId }}
</template>
</el-table-column>
<el-table-column prop="status"
label="结算类">
<template slot-scope="scope">
{{scope.row.status }}
</template>
</el-table-column>
<el-table-column prop="createTime"
label="创建时间">
<template slot-scope="scope">
{{scope.row.createTime |formatCreateTime}}
</template>
</el-table-column>
<el-table-column label="操作" width="200" align="center">
<template slot-scope="scope">
<el-button
size="mini"
type="danger"
@click="handleDelete(scope.$index, scope.row)">删除
</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="batch-operate-container">
</div>
<div class="pagination-container">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
layout="total, sizes,prev, pager, next,jumper"
:page-size="listQuery.pageSize"
:page-sizes="[5,10,15]"
:current-page.sync="listQuery.pageNum"
:total="total">
</el-pagination>
</div>
</div>
</template>
<script>
//将$都替换为$
import {fetchList, deleteFenxiaoRecords} from '@/api/fenxiao/fenxiaoRecords'
import {formatDate} from '@/utils/date';
export default {
name: 'fenxiaoRecordsList',
data() {
return {
operates: [],
operateType: null,
listQuery: {
keyword: null,
pageNum: 1,
pageSize: 10
},
list: null,
total: null,
listLoading: true,
multipleSelection: []
}
},
created() {
this.getList();
},
filters: {
formatCreateTime(time) {
let date = new Date(time);
return formatDate(date, 'yyyy-MM-dd hh:mm:ss')
},
formatStatus(value) {
if (value === 1) {
return '未开始';
} else if (value === 2) {
return '活动中';
} else if (value === 3) {
return '已结束';
} else if (value === 4) {
return '已失效';
}
},
},
methods: {
getList() {
this.listLoading = true;
fetchList(this.listQuery).then(response => {
this.listLoading = false;
this.list = response.data.records;
this.total = response.data.total;
this.totalPage = response.data.pages;
this.pageSize = response.data.size;
})
;
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
handleUpdate(index, row) {
this.$router.push(
{path: '/fenxiao/updateFenxiaoRecords', query: {id: row.id}})
},
handleDelete(index, row) {
this.$confirm('是否要删除该类型', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteFenxiaoRecords(row.id
).
then(response => {
this.$message({
message: '删除成功',
type: 'success',
duration: 1000
});
this.getList();
})
;
})
;
},
handleSizeChange(val) {
this.listQuery.pageNum = 1;
this.listQuery.pageSize = val;
this.getList();
},
handleCurrentChange(val) {
this.listQuery.pageNum = val;
this.getList();
},
searchFenxiaoRecordsList() {
this.listQuery.pageNum = 1;
this.getList();
},
handleBatchOperate() {
console.log(this.multipleSelection);
if (this.multipleSelection < 1) {
this.$message({
message: '请选择一条记录',
type: 'warning',
duration: 1000
});
return;
}
let showStatus = 0;
if (this.operateType === 'showFenxiaoRecords') {
showStatus = 1;
} else if (this.operateType === 'hideFenxiaoRecords') {
showStatus = 0;
} else {
this.$message({
message: '请选择批量操作类型',
type: 'warning',
duration: 1000
});
return;
}
let ids = [];
for (let i = 0; i < this.multipleSelection.length; i++) {
ids.push(this.multipleSelection[i].id);
}
let data = new URLSearchParams();
data.append("ids", ids);
data.append("showStatus", showStatus);
updateShowStatus(data).then(response => {
this.getList();
this.$message({
message: '修改成功',
type: 'success',
duration: 1000
});
})
;
},
addFenxiaoRecords() {
//手动将router,改成$router
this.$router.push({path: '/fenxiao/addFenxiaoRecords'})
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
</style>

View File

@@ -0,0 +1,16 @@
<template> 
<fenxiaoRecords-detail :is-edit='true'>
</fenxiaoRecords-detail>
</template>
<script>
import FenxiaoRecordsDetail from './components/detail'
export default {
name: 'updateFenxiaoRecords',
components: {FenxiaoRecordsDetail}
}
</script>
<style>
</style>

View File

@@ -0,0 +1,16 @@
<template> 
<fenxiaoUserRelate-detail :is-edit='false'>
</fenxiaoUserRelate-detail>
</template>
<script>
import FenxiaoUserRelateDetail from './components/detail'
export default {
name: 'addFenxiaoUserRelate',
components: {FenxiaoUserRelateDetail}
}
</script>
<style>
</style>

View File

@@ -0,0 +1,180 @@
<template> 
<el-card class="form-container" shadow="never">
<el-form :model="fenxiaoUserRelate" :rules="rules" ref="FenxiaoUserRelateFrom" label-width="150px">
<el-form-item
label="邀请人"
prop="memberId">
<el-input v-model="fenxiaoUserRelate.memberId" style="width: 370px;"/>
</el-form-item>
<el-form-item
label="被邀请人"
prop="inviteId">
<el-input v-model="fenxiaoUserRelate.inviteId" style="width: 370px;"/>
</el-form-item>
<el-form-item
label="邀请级别"
prop="level">
<el-input v-model="fenxiaoUserRelate.level" style="width: 370px;"/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit('FenxiaoUserRelateFrom')">提交</el-button>
<el-button v-if="!isEdit" @click="resetForm('FenxiaoUserRelateFrom')">重置</el-button>
</el-form-item>
</el-form>
</el-card>
</template>
<script>
import {createFenxiaoUserRelate, getFenxiaoUserRelate, updateFenxiaoUserRelate} from '@/api/fenxiao/fenxiaoUserRelate'
import SingleUpload from '@/components/Upload/singleUpload'
const defaultFenxiaoUserRelate = {
name: ''
};
export default {
name: 'FenxiaoUserRelateDetail',
components: {SingleUpload},
props: {
isEdit: {
type: Boolean,
default: false
}
},
data() {
return {
fenxiaoUserRelate:
Object.assign({},
defaultFenxiaoUserRelate),
rules: {
name: [
{required: true, message: '请输入品牌名称', trigger: 'blur'},
{min: 2, max: 140, message: '长度在 2 到 140 个字符', trigger: 'blur'}
],
logo
:
[
{required: true, message: '请输入品牌logo', trigger: 'blur'}
],
sort
:
[
{type: 'number', message: '排序必须为数字'}
],
}
}
},
created() {
if (this.isEdit) {
getFenxiaoUserRelate(this.$route.query.id).then(response => {
this.fenxiaoUserRelate = response.data;
})
;
} else {
this.fenxiaoUserRelate = Object.assign({},
defaultFenxiaoUserRelate)
;
}
},
methods: {
onSubmit(formName) {
this.$refs[formName].validate((valid) => {
if(valid) {
this.$confirm('是否提交数据', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
if(this.isEdit
)
{
updateFenxiaoUserRelate(this.$route.query.id, this.fenxiaoUserRelate).then(response => {
if(response.code == 200
)
{
this.$refs[formName].resetFields();
this.$message({
message: '修改成功',
type: 'success',
duration: 1000
});
this.$router.back();
}
else
{
this.$message({
message: response.msg,
type: 'error',
duration: 1000
});
}
})
;
}
else
{
createFenxiaoUserRelate(this.fenxiaoUserRelate).then(response => {
if(response.code == 200
)
{
this.$refs[formName].resetFields();
this.fenxiaoUserRelate = Object.assign({},
defaultFenxiaoUserRelate)
;
this.$message({
message: '提交成功',
type: 'success',
duration: 1000
});
this.$router.back();
}
else
{
this.$message({
message: response.msg,
type: 'error',
duration: 1000
});
}
})
;
}
})
;
} else {
this.$message({
message: '验证失败',
type: 'error',
duration: 1000
});
return false;
}
})
;
},
resetForm(formName) {
this.$refs[formName].resetFields();
this.fenxiaoUserRelate = Object.assign({},
defaultFenxiaoUserRelate)
;
}
}
}
</script>
<style>
</style>

View File

@@ -0,0 +1,276 @@
<template> 
<div class="app-container">
<el-card class="filter-container" shadow="never">
<div>
<i class="el-icon-search"></i>
<span>筛选搜索</span>
<el-button
style="float: right"
@click="searchFenxiaoUserRelateList()"
type="primary"
size="small">
查询结果
</el-button>
</div>
<div style="margin-top: 15px">
<el-form :inline="true" :model="listQuery" size="small" label-width="140px">
<el-form-item label="输入搜索:">
<el-input style="width: 203px" v-model="listQuery.keyword" placeholder="类型名称/关键字"></el-input>
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="operate-container" shadow="never">
<i class="el-icon-tickets"></i>
<span>数据列表</span>
<el-button
class="btn-add"
@click="addFenxiaoUserRelate()"
size="mini">
添加
</el-button>
</el-card>
<div class="table-container">
<el-table ref="fenxiaoUserRelateTable"
:data="list"
style="width: 100%"
@selection-change="handleSelectionChange"
v-loading="listLoading"
border>
<el-table-column type="selection" width="60" align="center"></el-table-column>
<el-table-column prop="id"
label="编号">
<template slot-scope="scope">
{{scope.row.id }}
</template>
</el-table-column>
<el-table-column prop="memberId"
label="邀请人">
<template slot-scope="scope">
{{scope.row.memberId }}
</template>
</el-table-column>
<el-table-column prop="inviteId"
label="被邀请人">
<template slot-scope="scope">
{{scope.row.inviteId }}
</template>
</el-table-column>
<el-table-column prop="level"
label="邀请级别">
<template slot-scope="scope">
{{scope.row.level }}
</template>
</el-table-column>
<el-table-column prop="createTime"
label="创建时间">
<template slot-scope="scope">
{{scope.row.createTime }}
</template>
</el-table-column>
<el-table-column prop="storeId"
label="storeId">
<template slot-scope="scope">
{{scope.row.storeId }}
</template>
</el-table-column>
<el-table-column label="操作" width="200" align="center">
<template slot-scope="scope">
<el-button
size="mini"
@click="handleUpdate(scope.$index, scope.row)">编辑
</el-button>
<el-button
size="mini"
type="danger"
@click="handleDelete(scope.$index, scope.row)">删除
</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="batch-operate-container">
</div>
<div class="pagination-container">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
layout="total, sizes,prev, pager, next,jumper"
:page-size="listQuery.pageSize"
:page-sizes="[5,10,15]"
:current-page.sync="listQuery.pageNum"
:total="total">
</el-pagination>
</div>
</div>
</template>
<script>
//将$都替换为$
import {fetchList, deleteFenxiaoUserRelate} from '@/api/fenxiao/fenxiaoUserRelate'
import {formatDate} from '@/utils/date';
export default {
name: 'fenxiaoUserRelateList',
data() {
return {
operates: [],
operateType: null,
listQuery: {
keyword: null,
pageNum: 1,
pageSize: 10
},
list: null,
total: null,
listLoading: true,
multipleSelection: []
}
},
created() {
this.getList();
},
filters: {
formatCreateTime(time) {
let date = new Date(time);
return formatDate(date, 'yyyy-MM-dd hh:mm:ss')
},
formatStatus(value) {
if (value === 1) {
return '未开始';
} else if (value === 2) {
return '活动中';
} else if (value === 3) {
return '已结束';
} else if (value === 4) {
return '已失效';
}
},
},
methods: {
getList() {
this.listLoading = true;
fetchList(this.listQuery).then(response => {
this.listLoading = false;
this.list = response.data.records;
this.total = response.data.total;
this.totalPage = response.data.pages;
this.pageSize = response.data.size;
})
;
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
handleUpdate(index, row) {
this.$router.push(
{path: '/fenxiao/updateFenxiaoUserRelate', query: {id: row.id}})
},
handleDelete(index, row) {
this.$confirm('是否要删除该类型', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteFenxiaoUserRelate(row.id
).
then(response => {
this.$message({
message: '删除成功',
type: 'success',
duration: 1000
});
this.getList();
})
;
})
;
},
handleSizeChange(val) {
this.listQuery.pageNum = 1;
this.listQuery.pageSize = val;
this.getList();
},
handleCurrentChange(val) {
this.listQuery.pageNum = val;
this.getList();
},
searchFenxiaoUserRelateList() {
this.listQuery.pageNum = 1;
this.getList();
},
handleBatchOperate() {
console.log(this.multipleSelection);
if (this.multipleSelection < 1) {
this.$message({
message: '请选择一条记录',
type: 'warning',
duration: 1000
});
return;
}
let showStatus = 0;
if (this.operateType === 'showFenxiaoUserRelate') {
showStatus = 1;
} else if (this.operateType === 'hideFenxiaoUserRelate') {
showStatus = 0;
} else {
this.$message({
message: '请选择批量操作类型',
type: 'warning',
duration: 1000
});
return;
}
let ids = [];
for (let i = 0; i < this.multipleSelection.length; i++) {
ids.push(this.multipleSelection[i].id);
}
let data = new URLSearchParams();
data.append("ids", ids);
data.append("showStatus", showStatus);
updateShowStatus(data).then(response => {
this.getList();
this.$message({
message: '修改成功',
type: 'success',
duration: 1000
});
})
;
},
addFenxiaoUserRelate() {
//手动将router,改成$router
this.$router.push({path: '/fenxiao/addFenxiaoUserRelate'})
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
</style>

View File

@@ -0,0 +1,16 @@
<template> 
<fenxiaoUserRelate-detail :is-edit='true'>
</fenxiaoUserRelate-detail>
</template>
<script>
import FenxiaoUserRelateDetail from './components/detail'
export default {
name: 'updateFenxiaoUserRelate',
components: {FenxiaoUserRelateDetail}
}
</script>
<style>
</style>