Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 15354833e2 | |||
| 21f049f65c | |||
| eb33ef97b1 | |||
| 65d61c5ebc | |||
| 93fb3bc46f | |||
| 95d1eda7a3 | |||
| 67a15a9183 | |||
| 6f83ecd9f9 | |||
| 2c65bfca6a | |||
| c65278cb28 | |||
| 2cd5bb75dd | |||
|
|
2dc98838c7 |
14
src/api/viplist.js
Normal file
14
src/api/viplist.js
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import $http from "@/utils/httpRequest";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据交易订单号获取汇总信息
|
||||||
|
* @param {*} params
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
export function queryByTradeNo(params) {
|
||||||
|
return $http({
|
||||||
|
url: "/order/queryByTradeNo",
|
||||||
|
method: "get",
|
||||||
|
params
|
||||||
|
});
|
||||||
|
}
|
||||||
@@ -38,3 +38,41 @@ export function summary_query(params) {
|
|||||||
params
|
params
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实名信息列表
|
||||||
|
* @param {*} params
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
export function userInfo_list(params) {
|
||||||
|
return $http({
|
||||||
|
url: "/czg/userInfo/list",
|
||||||
|
method: "get",
|
||||||
|
params
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实名信息修改
|
||||||
|
* @param {*} data
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
export function userInfo(data) {
|
||||||
|
return $http({
|
||||||
|
url: "/czg/userInfo",
|
||||||
|
method: "put",
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 实名删除
|
||||||
|
* @param {*} data
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
export function userInfoDel(data) {
|
||||||
|
return $http({
|
||||||
|
url: "/czg/userInfo",
|
||||||
|
method: "DELETE",
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|||||||
@@ -9,11 +9,11 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="value" label="内容" width="500">
|
<el-table-column prop="value" label="内容" width="500">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="是否返回给App">
|
<el-table-column label="是否返回给App" prop="isAppUse" width="120">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-switch v-model="scope.row.isAppUse"
|
<!-- <el-switch v-model="scope.row.isAppUse" @change="updateAmendNotice($event, scope.row)"
|
||||||
@change="updateAmendNotice($event,scope.row)"
|
:active-value="1" :inactive-value="0"></el-switch> -->
|
||||||
:active-value="1" :inactive-value="0"></el-switch>
|
{{ scope.row.isAppUse == 1 ? '是' : '否' }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="createAt" label="创建时间">
|
<el-table-column prop="createAt" label="创建时间">
|
||||||
@@ -35,7 +35,9 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="value" label="内容" width="500">
|
<el-table-column prop="value" label="内容" width="500">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div style="display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 3;overflow: hidden;max-height:80px;">{{scope.row.value}}</div>
|
<div
|
||||||
|
style="display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 3;line-clamp: 3;overflow: hidden;max-height:80px;">
|
||||||
|
{{ scope.row.value }}</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="createAt" label="创建时间">
|
<el-table-column prop="createAt" label="创建时间">
|
||||||
@@ -114,8 +116,8 @@
|
|||||||
<el-table-column prop="value" label="内容" width="500">
|
<el-table-column prop="value" label="内容" width="500">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div
|
<div
|
||||||
style="display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 4;overflow: hidden;">
|
style="display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 4;line-clamp: 4;overflow: hidden;">
|
||||||
{{scope.row.value}}</div>
|
{{ scope.row.value }}</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="createAt" label="创建时间">
|
<el-table-column prop="createAt" label="创建时间">
|
||||||
@@ -168,48 +170,52 @@
|
|||||||
</el-table>
|
</el-table>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="文件上传配置" name="wenjian">
|
<el-tab-pane label="文件上传配置" name="wenjian">
|
||||||
<el-table v-loading="tableDataLoading" :data="tableData">
|
<el-table v-loading="tableDataLoading" :data="tableData">
|
||||||
<el-table-column fixed prop="type" label="编号" align="center" width="80">
|
<el-table-column fixed prop="type" label="编号" align="center" width="80">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="min" label="类型">
|
<el-table-column prop="min" label="类型">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="value" label="内容" width="500">
|
<el-table-column prop="value" label="内容" width="500">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div style="display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 3;overflow: hidden;max-height:80px;">{{scope.row.value}}</div>
|
<div
|
||||||
</template>
|
style="display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 3;line-clamp: 3;overflow: hidden;max-height:80px;">
|
||||||
</el-table-column>
|
{{ scope.row.value }}</div>
|
||||||
<el-table-column prop="createAt" label="创建时间">
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" prop="id" width="120">
|
<el-table-column prop="createAt" label="创建时间">
|
||||||
<template slot-scope="scope">
|
</el-table-column>
|
||||||
<el-button size="mini" type="primary" :disabled="!isAuth('allocationList:update')"
|
<el-table-column label="操作" prop="id" width="120">
|
||||||
@click="amend(scope.$index, scope.row)">编辑
|
<template slot-scope="scope">
|
||||||
</el-button>
|
<el-button size="mini" type="primary" :disabled="!isAuth('allocationList:update')"
|
||||||
</template>
|
@click="amend(scope.$index, scope.row)">编辑
|
||||||
</el-table-column>
|
</el-button>
|
||||||
</el-table>
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="协议配置" name="xieyi">
|
<el-tab-pane label="协议配置" name="xieyi">
|
||||||
<el-table v-loading="tableDataLoading" :data="tableData">
|
<el-table v-loading="tableDataLoading" :data="tableData">
|
||||||
<el-table-column fixed prop="type" label="编号" align="center" width="80">
|
<el-table-column fixed prop="type" label="编号" align="center" width="80">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="min" label="类型">
|
<el-table-column prop="min" label="类型">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="value" label="内容" width="500">
|
<el-table-column prop="value" label="内容" width="500">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div style="display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 3;overflow: hidden;max-height:80px;">{{scope.row.value}}</div>
|
<div
|
||||||
</template>
|
style="display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 3;line-clamp: 3;overflow: hidden;max-height:80px;">
|
||||||
</el-table-column>
|
{{ scope.row.value }}</div>
|
||||||
<el-table-column prop="createAt" label="创建时间">
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" prop="id" width="120">
|
<el-table-column prop="createAt" label="创建时间">
|
||||||
<template slot-scope="scope">
|
</el-table-column>
|
||||||
<el-button size="mini" type="primary" :disabled="!isAuth('allocationList:update')"
|
<el-table-column label="操作" prop="id" width="120">
|
||||||
@click="amend(scope.$index, scope.row)">编辑
|
<template slot-scope="scope">
|
||||||
</el-button>
|
<el-button size="mini" type="primary" :disabled="!isAuth('allocationList:update')"
|
||||||
</template>
|
@click="amend(scope.$index, scope.row)">编辑
|
||||||
</el-table-column>
|
</el-button>
|
||||||
</el-table>
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="开关配置" name="kaiguan">
|
<el-tab-pane label="开关配置" name="kaiguan">
|
||||||
<el-table v-loading="tableDataLoading" :data="tableData">
|
<el-table v-loading="tableDataLoading" :data="tableData">
|
||||||
@@ -239,8 +245,8 @@
|
|||||||
<el-table-column prop="value" label="内容">
|
<el-table-column prop="value" label="内容">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div
|
<div
|
||||||
style="display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 3;overflow: hidden;max-height:80px;">
|
style="display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 3;line-clamp: 3;overflow: hidden;max-height:80px;">
|
||||||
{{scope.row.value}}
|
{{ scope.row.value }}
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@@ -263,19 +269,22 @@
|
|||||||
<el-input v-model="form.min" style="width:65%;" readonly></el-input>
|
<el-input v-model="form.min" style="width:65%;" readonly></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="内容:" :label-width="formLabelWidth">
|
<el-form-item label="内容:" :label-width="formLabelWidth">
|
||||||
<quill-editor v-if="form.conditionFrom=='xieyi'" ref="myTextEditor" v-model="form.value" :options="quillOption"
|
<quill-editor v-if="form.conditionFrom == 'xieyi'" ref="myTextEditor" v-model="form.value"
|
||||||
style="padding-bottom: 50px;height: 300px;width: 72%;display: inline-table;margin-bottom: 60px;">
|
:options="quillOption"
|
||||||
|
style="padding-bottom: 50px;height: 300px;width: 72%;display: inline-table;margin-bottom: 60px;">
|
||||||
</quill-editor>
|
</quill-editor>
|
||||||
<div v-else-if="form.conditionFrom=='image'">
|
<div v-else-if="form.conditionFrom == 'image'">
|
||||||
<!-- <el-input v-model="form.value" style="width:65%;"></el-input> -->
|
<!-- <el-input v-model="form.value" style="width:65%;"></el-input> -->
|
||||||
<el-upload class="avatar-uploader" v-model="form.value"
|
<el-upload class="avatar-uploader" v-model="form.value"
|
||||||
:action="$http.adornUrlUp('alioss/upload')" :show-file-list="false"
|
:action="$http.adornUrlUp('alioss/upload')" :show-file-list="false"
|
||||||
:on-success="handleAvatarSuccess1">
|
:on-success="handleAvatarSuccess1">
|
||||||
<img v-if="form.value" :src="form.value" class="avatar" style="width: 148px;height: 148px;" />
|
<img v-if="form.value" :src="form.value" class="avatar"
|
||||||
<i v-else class="el-icon-plus avatar-uploader-icon" style="font-size: 28px;color: #8c939d"></i>
|
style="width: 148px;height: 148px;" />
|
||||||
|
<i v-else class="el-icon-plus avatar-uploader-icon"
|
||||||
|
style="font-size: 28px;color: #8c939d"></i>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="form.conditionFrom=='kaiguan'">
|
<div v-else-if="form.conditionFrom == 'kaiguan'">
|
||||||
<div>
|
<div>
|
||||||
<el-radio-group v-model="form.value">
|
<el-radio-group v-model="form.value">
|
||||||
<el-radio label="是">是</el-radio>
|
<el-radio label="是">是</el-radio>
|
||||||
@@ -283,12 +292,16 @@
|
|||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-input v-else v-model="form.value" :rows="4" style="width:65%;"></el-input>
|
<el-input v-else v-model="form.value" :rows="4" style="width:65%;"></el-input>
|
||||||
<!-- <el-input v-model="form.value" style="width:65%;"></el-input> -->
|
<!-- <el-input v-model="form.value" style="width:65%;"></el-input> -->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="是否返回给App" :label-width="formLabelWidth">
|
<el-form-item label="是否返回给App" :label-width="formLabelWidth">
|
||||||
<el-switch v-model="form.isAppUse" :active-value="1" :inactive-value="0"></el-switch>
|
<!-- <el-switch v-model="form.isAppUse" :active-value="1" :inactive-value="0"></el-switch> -->
|
||||||
|
<el-radio-group v-model="form.isAppUse">
|
||||||
|
<el-radio :label="1">是</el-radio>
|
||||||
|
<el-radio :label="0">否</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
@@ -300,264 +313,264 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {
|
import {
|
||||||
|
quillEditor
|
||||||
|
} from 'vue-quill-editor'
|
||||||
|
import 'quill/dist/quill.core.css'
|
||||||
|
import 'quill/dist/quill.snow.css'
|
||||||
|
import 'quill/dist/quill.bubble.css'
|
||||||
|
import quillConfig from '../locality/quill-config.js'
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
quillEditor
|
quillEditor
|
||||||
} from 'vue-quill-editor'
|
},
|
||||||
import 'quill/dist/quill.core.css'
|
data() {
|
||||||
import 'quill/dist/quill.snow.css'
|
return {
|
||||||
import 'quill/dist/quill.bubble.css'
|
quillOption: quillConfig,
|
||||||
import quillConfig from '../locality/quill-config.js'
|
openValue: '是',
|
||||||
export default {
|
closeValue: '否',
|
||||||
components: {
|
limit: 10,
|
||||||
quillEditor
|
page: 0,
|
||||||
},
|
min: '',
|
||||||
data() {
|
value: '',
|
||||||
return {
|
id: '',
|
||||||
quillOption: quillConfig,
|
condition: 'xitong',
|
||||||
openValue: '是',
|
activeName: 'first',
|
||||||
closeValue: '否',
|
dialogFormVisible: false,
|
||||||
limit: 10,
|
dialogFormVisible1: false,
|
||||||
page: 0,
|
tableDataLoading: true,
|
||||||
|
formLabelWidth: '200px',
|
||||||
|
form: {
|
||||||
|
id: '',
|
||||||
min: '',
|
min: '',
|
||||||
value: '',
|
value: '',
|
||||||
|
type: '',
|
||||||
|
isAppUse: false,
|
||||||
|
},
|
||||||
|
form2: {
|
||||||
id: '',
|
id: '',
|
||||||
condition: 'xitong',
|
min: '',
|
||||||
activeName: 'first',
|
value: '',
|
||||||
dialogFormVisible: false,
|
type: '',
|
||||||
dialogFormVisible1: false,
|
},
|
||||||
tableDataLoading: true,
|
values: [{
|
||||||
formLabelWidth: '200px',
|
value: 1,
|
||||||
form: {
|
label: '是'
|
||||||
id: '',
|
},
|
||||||
min: '',
|
{
|
||||||
value: '',
|
value: 2,
|
||||||
type: '',
|
label: '否'
|
||||||
isAppUse: false,
|
|
||||||
},
|
|
||||||
form2: {
|
|
||||||
id: '',
|
|
||||||
min: '',
|
|
||||||
value: '',
|
|
||||||
type: '',
|
|
||||||
},
|
|
||||||
values: [{
|
|
||||||
value: 1,
|
|
||||||
label: '是'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
value: 2,
|
|
||||||
label: '否'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
tableData: [],
|
|
||||||
checkBoxData: [] //多选框选择的值
|
|
||||||
}
|
}
|
||||||
},
|
],
|
||||||
methods: {
|
tableData: [],
|
||||||
handleSizeChange(val) {
|
checkBoxData: [] //多选框选择的值
|
||||||
this.limit = val;
|
|
||||||
this.dataSelect();
|
|
||||||
},
|
|
||||||
handleCurrentChange(val) {
|
|
||||||
this.page = val - 1;
|
|
||||||
this.dataSelect();
|
|
||||||
},
|
|
||||||
handleClick(tab, event) {
|
|
||||||
if (tab._props.label == '全局系统配置') {
|
|
||||||
this.condition = 'xitong'
|
|
||||||
this.dataSelect()
|
|
||||||
}
|
|
||||||
if (tab._props.label == '首页配置') {
|
|
||||||
this.condition = 'shouye'
|
|
||||||
this.dataSelect()
|
|
||||||
}
|
|
||||||
if (tab._props.label == '微信配置') {
|
|
||||||
this.condition = 'weixin'
|
|
||||||
this.dataSelect()
|
|
||||||
}
|
|
||||||
if (tab._props.label == '支付宝配置') {
|
|
||||||
this.condition = 'zhifubao'
|
|
||||||
this.dataSelect()
|
|
||||||
}
|
|
||||||
if (tab._props.label == '短信配置') {
|
|
||||||
this.condition = 'duanxin'
|
|
||||||
this.dataSelect()
|
|
||||||
}
|
|
||||||
if (tab._props.label == '任务系统配置') {
|
|
||||||
this.condition = 'renwu'
|
|
||||||
this.dataSelect()
|
|
||||||
}
|
|
||||||
if (tab._props.label == '文件上传配置') {
|
|
||||||
this.condition = 'oss'
|
|
||||||
this.dataSelect()
|
|
||||||
}
|
|
||||||
if (tab._props.label == '服务费配置') {
|
|
||||||
this.condition = 'fuwufei'
|
|
||||||
this.dataSelect()
|
|
||||||
}
|
|
||||||
if (tab._props.label == '协议配置') {
|
|
||||||
this.condition = 'xieyi'
|
|
||||||
this.dataSelect()
|
|
||||||
}
|
|
||||||
if (tab._props.label == '图片配置') {
|
|
||||||
this.condition = 'image'
|
|
||||||
this.dataSelect()
|
|
||||||
}
|
|
||||||
if (tab._props.label == '开关配置') {
|
|
||||||
this.condition = 'kaiguan'
|
|
||||||
this.dataSelect()
|
|
||||||
}
|
|
||||||
if (tab._props.label == '客服配置') {
|
|
||||||
this.condition = 'kefu'
|
|
||||||
this.dataSelect()
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
|
||||||
// 修改弹框
|
|
||||||
amend(index, rows) {
|
|
||||||
this.dialogFormVisible = true;
|
|
||||||
this.form.id = rows.id;
|
|
||||||
this.form.type = rows.type
|
|
||||||
this.form.min = rows.min;
|
|
||||||
this.form.value = rows.value;
|
|
||||||
this.form.max = rows.max;
|
|
||||||
this.form.createAt = rows.createAt;
|
|
||||||
this.form.isAppUse = rows.isAppUse;
|
|
||||||
this.form.conditionFrom = rows.conditionFrom
|
|
||||||
},
|
|
||||||
updateAmendNotice(e,row){
|
|
||||||
this.$http({
|
|
||||||
url: this.$http.adornUrl('common/update'),
|
|
||||||
method: 'post',
|
|
||||||
data: this.$http.adornData({
|
|
||||||
...row,
|
|
||||||
isAppUse: e
|
|
||||||
})
|
|
||||||
}).then(({
|
|
||||||
data
|
|
||||||
}) => {
|
|
||||||
if (data && data.code === 0) {
|
|
||||||
this.$message({
|
|
||||||
message: '操作成功',
|
|
||||||
type: 'success',
|
|
||||||
duration: 1500,
|
|
||||||
onClose: () => {
|
|
||||||
}
|
|
||||||
})
|
|
||||||
this.dataSelect()
|
|
||||||
|
|
||||||
} else {
|
|
||||||
this.$message.error(data.msg)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 修改
|
|
||||||
|
|
||||||
amendNoticeTo() {
|
|
||||||
this.$http({
|
|
||||||
url: this.$http.adornUrl('common/update'),
|
|
||||||
method: 'post',
|
|
||||||
data: this.$http.adornData({
|
|
||||||
'id': this.form.id,
|
|
||||||
'type': this.form.type,
|
|
||||||
'value': this.form.value,
|
|
||||||
'min': this.form.min,
|
|
||||||
'max': this.form.max,
|
|
||||||
'createAt': this.form.createAt,
|
|
||||||
'conditionFrom': this.form.conditionFrom,
|
|
||||||
isAppUse: this.form.isAppUse
|
|
||||||
})
|
|
||||||
}).then(({
|
|
||||||
data
|
|
||||||
}) => {
|
|
||||||
if (data && data.code === 0) {
|
|
||||||
this.dialogFormVisible = false
|
|
||||||
this.$message({
|
|
||||||
message: '操作成功',
|
|
||||||
type: 'success',
|
|
||||||
duration: 1500,
|
|
||||||
onClose: () => {
|
|
||||||
}
|
|
||||||
})
|
|
||||||
this.dataSelect()
|
|
||||||
|
|
||||||
} else {
|
|
||||||
this.$message.error(data.msg)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 修改首页
|
|
||||||
amendWhether(index, rows) {
|
|
||||||
this.dialogFormVisible1 = true;
|
|
||||||
this.form2.id = rows.id;
|
|
||||||
this.form2.type = rows.type
|
|
||||||
this.form2.min = rows.min;
|
|
||||||
this.form2.value = rows.value;
|
|
||||||
this.form2.max = rows.max;
|
|
||||||
this.form2.createAt = rows.createAt;
|
|
||||||
this.form2.conditionFrom = rows.conditionFrom
|
|
||||||
},
|
|
||||||
WhetherNoticeTo() {
|
|
||||||
this.$http({
|
|
||||||
url: this.$http.adornUrl('common/update'),
|
|
||||||
method: 'post',
|
|
||||||
data: this.$http.adornData({
|
|
||||||
'id': this.form2.id,
|
|
||||||
'type': this.form2.type,
|
|
||||||
'value': this.form2.value,
|
|
||||||
'min': this.form2.min,
|
|
||||||
'max': this.form2.max,
|
|
||||||
'createAt': this.form2.createAt,
|
|
||||||
'conditionFrom': this.form2.conditionFrom
|
|
||||||
})
|
|
||||||
}).then(({
|
|
||||||
data
|
|
||||||
}) => {
|
|
||||||
if (data && data.code === 0) {
|
|
||||||
this.dialogFormVisible1 = false
|
|
||||||
this.$message({
|
|
||||||
message: '操作成功',
|
|
||||||
type: 'success',
|
|
||||||
duration: 1500,
|
|
||||||
onClose: () => {
|
|
||||||
this.dataSelect()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
this.$message.error(data.msg)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 获取数据列表
|
|
||||||
dataSelect() {
|
|
||||||
this.tableDataLoading = true
|
|
||||||
this.$http({
|
|
||||||
url: this.$http.adornUrl(`common/type/condition/${this.condition}`),
|
|
||||||
method: 'get',
|
|
||||||
params: this.$http.adornParams({})
|
|
||||||
}).then(({
|
|
||||||
data
|
|
||||||
}) => {
|
|
||||||
if (data && data.code === 0) {
|
|
||||||
this.tableDataLoading = false
|
|
||||||
let returnData = data.data;
|
|
||||||
this.tableData = returnData
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
handleAvatarSuccess1(file, fileList) {
|
|
||||||
this.form.value = file.data
|
|
||||||
console.log('file.data',file.data)
|
|
||||||
},
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.dataSelect()
|
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleSizeChange(val) {
|
||||||
|
this.limit = val;
|
||||||
|
this.dataSelect();
|
||||||
|
},
|
||||||
|
handleCurrentChange(val) {
|
||||||
|
this.page = val - 1;
|
||||||
|
this.dataSelect();
|
||||||
|
},
|
||||||
|
handleClick(tab, event) {
|
||||||
|
if (tab._props.label == '全局系统配置') {
|
||||||
|
this.condition = 'xitong'
|
||||||
|
this.dataSelect()
|
||||||
|
}
|
||||||
|
if (tab._props.label == '首页配置') {
|
||||||
|
this.condition = 'shouye'
|
||||||
|
this.dataSelect()
|
||||||
|
}
|
||||||
|
if (tab._props.label == '微信配置') {
|
||||||
|
this.condition = 'weixin'
|
||||||
|
this.dataSelect()
|
||||||
|
}
|
||||||
|
if (tab._props.label == '支付宝配置') {
|
||||||
|
this.condition = 'zhifubao'
|
||||||
|
this.dataSelect()
|
||||||
|
}
|
||||||
|
if (tab._props.label == '短信配置') {
|
||||||
|
this.condition = 'duanxin'
|
||||||
|
this.dataSelect()
|
||||||
|
}
|
||||||
|
if (tab._props.label == '任务系统配置') {
|
||||||
|
this.condition = 'renwu'
|
||||||
|
this.dataSelect()
|
||||||
|
}
|
||||||
|
if (tab._props.label == '文件上传配置') {
|
||||||
|
this.condition = 'oss'
|
||||||
|
this.dataSelect()
|
||||||
|
}
|
||||||
|
if (tab._props.label == '服务费配置') {
|
||||||
|
this.condition = 'fuwufei'
|
||||||
|
this.dataSelect()
|
||||||
|
}
|
||||||
|
if (tab._props.label == '协议配置') {
|
||||||
|
this.condition = 'xieyi'
|
||||||
|
this.dataSelect()
|
||||||
|
}
|
||||||
|
if (tab._props.label == '图片配置') {
|
||||||
|
this.condition = 'image'
|
||||||
|
this.dataSelect()
|
||||||
|
}
|
||||||
|
if (tab._props.label == '开关配置') {
|
||||||
|
this.condition = 'kaiguan'
|
||||||
|
this.dataSelect()
|
||||||
|
}
|
||||||
|
if (tab._props.label == '客服配置') {
|
||||||
|
this.condition = 'kefu'
|
||||||
|
this.dataSelect()
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
// 修改弹框
|
||||||
|
amend(index, rows) {
|
||||||
|
this.dialogFormVisible = true;
|
||||||
|
this.form.id = rows.id;
|
||||||
|
this.form.type = rows.type
|
||||||
|
this.form.min = rows.min;
|
||||||
|
this.form.value = rows.value;
|
||||||
|
this.form.max = rows.max;
|
||||||
|
this.form.createAt = rows.createAt;
|
||||||
|
this.form.isAppUse = rows.isAppUse;
|
||||||
|
this.form.conditionFrom = rows.conditionFrom
|
||||||
|
},
|
||||||
|
updateAmendNotice(e, row) {
|
||||||
|
this.$http({
|
||||||
|
url: this.$http.adornUrl('common/update'),
|
||||||
|
method: 'post',
|
||||||
|
data: this.$http.adornData({
|
||||||
|
...row,
|
||||||
|
isAppUse: e
|
||||||
|
})
|
||||||
|
}).then(({
|
||||||
|
data
|
||||||
|
}) => {
|
||||||
|
if (data && data.code === 0) {
|
||||||
|
this.$message({
|
||||||
|
message: '操作成功',
|
||||||
|
type: 'success',
|
||||||
|
duration: 1500,
|
||||||
|
onClose: () => {
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.dataSelect()
|
||||||
|
|
||||||
|
} else {
|
||||||
|
this.$message.error(data.msg)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 修改
|
||||||
|
|
||||||
|
amendNoticeTo() {
|
||||||
|
this.$http({
|
||||||
|
url: this.$http.adornUrl('common/update'),
|
||||||
|
method: 'post',
|
||||||
|
data: this.$http.adornData({
|
||||||
|
'id': this.form.id,
|
||||||
|
'type': this.form.type,
|
||||||
|
'value': this.form.value,
|
||||||
|
'min': this.form.min,
|
||||||
|
'max': this.form.max,
|
||||||
|
'createAt': this.form.createAt,
|
||||||
|
'conditionFrom': this.form.conditionFrom,
|
||||||
|
isAppUse: this.form.isAppUse
|
||||||
|
})
|
||||||
|
}).then(({
|
||||||
|
data
|
||||||
|
}) => {
|
||||||
|
if (data && data.code === 0) {
|
||||||
|
this.dialogFormVisible = false
|
||||||
|
this.$message({
|
||||||
|
message: '操作成功',
|
||||||
|
type: 'success',
|
||||||
|
duration: 1500,
|
||||||
|
onClose: () => {
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.dataSelect()
|
||||||
|
|
||||||
|
} else {
|
||||||
|
this.$message.error(data.msg)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 修改首页
|
||||||
|
amendWhether(index, rows) {
|
||||||
|
this.dialogFormVisible1 = true;
|
||||||
|
this.form2.id = rows.id;
|
||||||
|
this.form2.type = rows.type
|
||||||
|
this.form2.min = rows.min;
|
||||||
|
this.form2.value = rows.value;
|
||||||
|
this.form2.max = rows.max;
|
||||||
|
this.form2.createAt = rows.createAt;
|
||||||
|
this.form2.conditionFrom = rows.conditionFrom
|
||||||
|
},
|
||||||
|
WhetherNoticeTo() {
|
||||||
|
this.$http({
|
||||||
|
url: this.$http.adornUrl('common/update'),
|
||||||
|
method: 'post',
|
||||||
|
data: this.$http.adornData({
|
||||||
|
'id': this.form2.id,
|
||||||
|
'type': this.form2.type,
|
||||||
|
'value': this.form2.value,
|
||||||
|
'min': this.form2.min,
|
||||||
|
'max': this.form2.max,
|
||||||
|
'createAt': this.form2.createAt,
|
||||||
|
'conditionFrom': this.form2.conditionFrom
|
||||||
|
})
|
||||||
|
}).then(({
|
||||||
|
data
|
||||||
|
}) => {
|
||||||
|
if (data && data.code === 0) {
|
||||||
|
this.dialogFormVisible1 = false
|
||||||
|
this.$message({
|
||||||
|
message: '操作成功',
|
||||||
|
type: 'success',
|
||||||
|
duration: 1500,
|
||||||
|
onClose: () => {
|
||||||
|
this.dataSelect()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.$message.error(data.msg)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 获取数据列表
|
||||||
|
dataSelect() {
|
||||||
|
this.tableDataLoading = true
|
||||||
|
this.$http({
|
||||||
|
url: this.$http.adornUrl(`common/type/condition/${this.condition}`),
|
||||||
|
method: 'get',
|
||||||
|
params: this.$http.adornParams({})
|
||||||
|
}).then(({
|
||||||
|
data
|
||||||
|
}) => {
|
||||||
|
if (data && data.code === 0) {
|
||||||
|
this.tableDataLoading = false
|
||||||
|
let returnData = data.data;
|
||||||
|
this.tableData = returnData
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleAvatarSuccess1(file, fileList) {
|
||||||
|
this.form.value = file.data
|
||||||
|
console.log('file.data', file.data)
|
||||||
|
},
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.dataSelect()
|
||||||
}
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped="scoped">
|
<style scoped="scoped">
|
||||||
.eit {
|
.eit {
|
||||||
height: 120px;
|
height: 120px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,46 +1,24 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog
|
<el-dialog :title="form.id ? '修改红包' : '新增红包'" width="500px" :visible.sync="dialogVisible" @close="diaClose"
|
||||||
:title="form.id ? '修改红包' : '新增红包'"
|
:close-on-click-modal="true">
|
||||||
width="500px"
|
|
||||||
:visible.sync="dialogVisible"
|
|
||||||
@close="diaClose"
|
|
||||||
:close-on-click-modal="true"
|
|
||||||
>
|
|
||||||
<el-form :model="form" label-width="100px">
|
<el-form :model="form" label-width="100px">
|
||||||
<el-form-item label="描述" required>
|
<el-form-item label="描述" required>
|
||||||
<el-input v-model="form.name"></el-input>
|
<el-input v-model="form.name"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="从第几次开始变化">
|
<el-form-item label="从第几次开始变化">
|
||||||
<el-input-number
|
<el-input-number :min="0" stepstep-strictly v-model="form.num"></el-input-number>
|
||||||
:min="0"
|
|
||||||
stepstep-strictly
|
|
||||||
v-model="form.num"
|
|
||||||
></el-input-number>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="最大金额" required>
|
<el-form-item label="最大金额" required>
|
||||||
<el-input-number
|
<el-input-number :min="0" :max="100" v-model="form.maxAmount"></el-input-number>
|
||||||
:min="0"
|
|
||||||
:max="100"
|
|
||||||
v-model="form.maxAmount"
|
|
||||||
></el-input-number>
|
|
||||||
<span>元</span>
|
<span>元</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="中奖概率" required>
|
<el-form-item label="中奖概率" required>
|
||||||
<el-input-number
|
<el-input-number :min="0" :max="1" :step="0.1" v-model="form.random"></el-input-number>
|
||||||
:min="0"
|
|
||||||
:max="1"
|
|
||||||
:step="0.1"
|
|
||||||
v-model="form.random"
|
|
||||||
></el-input-number>
|
|
||||||
<span></span>
|
<span></span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="是否启用" required>
|
<el-form-item label="是否启用" required>
|
||||||
<el-switch
|
<el-switch v-model="form.status" :inactive-value="0" :active-value="1"></el-switch>
|
||||||
v-model="form.status"
|
|
||||||
:inactive-value="0"
|
|
||||||
:active-value="1"
|
|
||||||
></el-switch>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
@@ -56,9 +34,9 @@ import { $redPackApi } from "@/api/red-pack.js";
|
|||||||
import { isNull } from "@/utils/validate.js";
|
import { isNull } from "@/utils/validate.js";
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
source:{
|
source: {
|
||||||
type:[String,Number],
|
type: [String, Number],
|
||||||
default:1
|
default: 1
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
@@ -82,7 +60,7 @@ export default {
|
|||||||
console.log(item);
|
console.log(item);
|
||||||
this.dialogVisible = true;
|
this.dialogVisible = true;
|
||||||
this.item = item;
|
this.item = item;
|
||||||
if (item!==undefined) {
|
if (item !== undefined) {
|
||||||
this.form = {
|
this.form = {
|
||||||
...item,
|
...item,
|
||||||
num: item.num === "" || item.num === null ? undefined : item.num,
|
num: item.num === "" || item.num === null ? undefined : item.num,
|
||||||
@@ -114,12 +92,12 @@ export default {
|
|||||||
}
|
}
|
||||||
console.log(id);
|
console.log(id);
|
||||||
const res = id
|
const res = id
|
||||||
? await $redPackApi.update({ ...this.form, num: this.form.num || "" ,discType:this.source})
|
? await $redPackApi.update({ ...this.form, num: this.form.num || "", discType: this.source, type: this.source })
|
||||||
: await $redPackApi.add({...this.form,discType:this.source});
|
: await $redPackApi.add({ ...this.form, discType: this.source, type: this.source });
|
||||||
console.log(res);
|
console.log(res);
|
||||||
const { data, msg } = res;
|
const { data, msg } = res;
|
||||||
if (data && data.code == 0) {
|
if (data && data.code == 0) {
|
||||||
this.$message.success(id?"修改成功":"添加成功");
|
this.$message.success(id ? "修改成功" : "添加成功");
|
||||||
this.$emit("refresh");
|
this.$emit("refresh");
|
||||||
this.diaClose();
|
this.diaClose();
|
||||||
} else {
|
} else {
|
||||||
@@ -133,9 +111,11 @@ export default {
|
|||||||
.el-form-item__label {
|
.el-form-item__label {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .el-form-item__label {
|
::v-deep .el-form-item__label {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.upload-file-box {
|
.upload-file-box {
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
width: 148px;
|
width: 148px;
|
||||||
@@ -145,6 +125,7 @@ export default {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
border: 1px solid #c0c4cc;
|
border: 1px solid #c0c4cc;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|||||||
@@ -31,7 +31,8 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="日期">
|
<el-form-item label="日期">
|
||||||
<el-date-picker v-model="timeValue" type="datetimerange" range-separator="至" start-placeholder="开始日期"
|
<el-date-picker v-model="timeValue" type="datetimerange" range-separator="至" start-placeholder="开始日期"
|
||||||
end-placeholder="结束日期" @change="changeTime" :default-time="['00:00:00', '23:59:59']">
|
end-placeholder="结束日期" @change="changeTime" value-format="yyyy-MM-DD HH:mm:ss"
|
||||||
|
:default-time="['00:00:00', '23:59:59']">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
@@ -42,8 +43,28 @@
|
|||||||
<el-table v-loading="tableData.loading" :data="tableData.list" border stripe>
|
<el-table v-loading="tableData.loading" :data="tableData.list" border stripe>
|
||||||
<el-table-column label="ID" prop="id" width="80"></el-table-column>
|
<el-table-column label="ID" prop="id" width="80"></el-table-column>
|
||||||
<el-table-column label="用户ID" prop="userId" width="100"></el-table-column>
|
<el-table-column label="用户ID" prop="userId" width="100"></el-table-column>
|
||||||
<el-table-column label="用户名" prop="userName" width="150"></el-table-column>
|
<el-table-column label="用户名" prop="userName" width="200">
|
||||||
<el-table-column label="提现信息">
|
<template slot-scope="scope">
|
||||||
|
<template v-if="scope.row.relationId">
|
||||||
|
<div class="danger_user">
|
||||||
|
<div class="user_info">
|
||||||
|
<i class="icon el-icon-warning"></i>
|
||||||
|
危险用户:{{ scope.row.userName }}
|
||||||
|
</div>
|
||||||
|
<el-tag type="danger" disable-transitions>{{ scope.row.relationId }}</el-tag>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template v-else>
|
||||||
|
{{ scope.row.userName }}
|
||||||
|
</template>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="提现账号" prop="zhifubao" width="200">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.zhifubaoName }} / {{ scope.row.zhifubao }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="提现信息" width="200">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div>提现金额:¥{{ scope.row.money }}</div>
|
<div>提现金额:¥{{ scope.row.money }}</div>
|
||||||
<div>手续费:¥{{ scope.row.rate }}</div>
|
<div>手续费:¥{{ scope.row.rate }}</div>
|
||||||
@@ -63,11 +84,6 @@
|
|||||||
<div>待审提现申请笔数:{{ scope.row.verifyCount }}</div>
|
<div>待审提现申请笔数:{{ scope.row.verifyCount }}</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="支付宝信息" prop="zhifubao" width="200">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ scope.row.zhifubaoName }} / {{ scope.row.zhifubao }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="申请时间" prop="createAt" width="200"></el-table-column>
|
<el-table-column label="申请时间" prop="createAt" width="200"></el-table-column>
|
||||||
<el-table-column label="转账时间" prop="outAt" width="200"></el-table-column>
|
<el-table-column label="转账时间" prop="outAt" width="200"></el-table-column>
|
||||||
<el-table-column label="状态" prop="state" width="200">
|
<el-table-column label="状态" prop="state" width="200">
|
||||||
@@ -78,13 +94,8 @@
|
|||||||
<el-tag type="success" v-if="scope.row.state == 1" disable-transitions>
|
<el-tag type="success" v-if="scope.row.state == 1" disable-transitions>
|
||||||
成功
|
成功
|
||||||
</el-tag>
|
</el-tag>
|
||||||
<div style="display: flex;flex-direction: column;" v-if="scope.row.state == 2">
|
<div class="tag_danger" v-if="scope.row.state == 2">
|
||||||
<div>
|
失败:{{ scope.row.refund }}
|
||||||
<el-tag type="danger" disable-transitions>
|
|
||||||
失败
|
|
||||||
</el-tag>
|
|
||||||
</div>
|
|
||||||
<div>原因:{{ scope.row.refund }}</div>
|
|
||||||
</div>
|
</div>
|
||||||
<el-tag type="warning" v-if="scope.row.state == 3" disable-transitions>
|
<el-tag type="warning" v-if="scope.row.state == 3" disable-transitions>
|
||||||
待审核
|
待审核
|
||||||
@@ -159,7 +170,7 @@ export default {
|
|||||||
id: "",
|
id: "",
|
||||||
isAgree: "1",
|
isAgree: "1",
|
||||||
refund: "",
|
refund: "",
|
||||||
userId:''
|
userId: ''
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
isAgree: [],
|
isAgree: [],
|
||||||
@@ -256,3 +267,31 @@ export default {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.danger_user {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 4px;
|
||||||
|
|
||||||
|
.user_info {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
$color: #F56C6C;
|
||||||
|
color: $color;
|
||||||
|
gap: 4px;
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
color: $color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.tag_danger {
|
||||||
|
background-color: rgba(245, 108, 108, .1);
|
||||||
|
color: #f56c6c;
|
||||||
|
border-radius: 4px;
|
||||||
|
border: 1px solid rgba(245, 108, 108, .2);
|
||||||
|
padding: 2px 10px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@@ -72,9 +72,9 @@
|
|||||||
<div>提现次数:{{ scope.row.subCount }}</div>
|
<div>提现次数:{{ scope.row.subCount }}</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="支付宝信息" prop="zhifubao">
|
<el-table-column label="提现账号" prop="zhifubao">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ scope.row.zhifubaoName }} / {{ scope.row.zhifubao }}
|
{{ scope.row.zhiFuBaoName }} / {{ scope.row.zhiFuBao }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<el-tab-pane label="提现审核" name="withdraw">
|
<el-tab-pane label="提现审核" name="withdraw">
|
||||||
<WithdrawManage></WithdrawManage>
|
<WithdrawManage></WithdrawManage>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="支付宝提现统计" name="withdrawTotal">
|
<el-tab-pane label="提现统计" name="withdrawTotal">
|
||||||
<WithdrawTotal></WithdrawTotal>
|
<WithdrawTotal></WithdrawTotal>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<!-- 拒绝弹框 -->
|
<!-- 拒绝弹框 -->
|
||||||
@@ -228,7 +228,7 @@
|
|||||||
<div class="box_num">
|
<div class="box_num">
|
||||||
<div class="box_color">累计提现金额</div>
|
<div class="box_color">累计提现金额</div>
|
||||||
<div class="text_color">
|
<div class="text_color">
|
||||||
<span>{{ withdrawData.sumMoney }}</span>元
|
<span> {{ formatMoney(withdrawData.sumMoney) }}</span>元
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -529,6 +529,10 @@
|
|||||||
<el-tab-pane label="现金红包抽奖金额配置" name="senven">
|
<el-tab-pane label="现金红包抽奖金额配置" name="senven">
|
||||||
<div class="">
|
<div class="">
|
||||||
<div style="margin-bottom: 20px">
|
<div style="margin-bottom: 20px">
|
||||||
|
<el-select @change="redPackInit" v-model="zhuanPanType" placeholder="请选择">
|
||||||
|
<el-option v-for="item in zhuanPanTypes" :key="item.value" :label="item.label" :value="item.value">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
<el-button type="primary" @click="openPop('refAddRedPack')">添加</el-button>
|
<el-button type="primary" @click="openPop('refAddRedPack')">添加</el-button>
|
||||||
</div>
|
</div>
|
||||||
<el-table :border="true" :data="redPackData">
|
<el-table :border="true" :data="redPackData">
|
||||||
@@ -556,7 +560,7 @@
|
|||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
<pop-add-zhuanpan ref="refAddZhuanpan" @refresh="zhuanPanRefresh" :source="zhuanPanType"></pop-add-zhuanpan>
|
<pop-add-zhuanpan ref="refAddZhuanpan" @refresh="zhuanPanRefresh" :source="zhuanPanType"></pop-add-zhuanpan>
|
||||||
<pop-add-red-pack ref="refAddRedPack" @refresh="redpackRefresh"></pop-add-red-pack>
|
<pop-add-red-pack ref="refAddRedPack" @refresh="redpackRefresh" :source="zhuanPanType"></pop-add-red-pack>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -705,6 +709,10 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
formatMoney(value) {
|
||||||
|
if (!value) return '0.00';
|
||||||
|
return Number(value).toFixed(2);
|
||||||
|
},
|
||||||
zhuanPanTypeChange() {
|
zhuanPanTypeChange() {
|
||||||
this.zhuanPanInit();
|
this.zhuanPanInit();
|
||||||
},
|
},
|
||||||
@@ -1098,7 +1106,8 @@ export default {
|
|||||||
const { data } = await $redPackApi.getList({
|
const { data } = await $redPackApi.getList({
|
||||||
page: this.page,
|
page: this.page,
|
||||||
limit: this.limit,
|
limit: this.limit,
|
||||||
source: this.zhuanPanType
|
source: this.zhuanPanType,
|
||||||
|
type: this.zhuanPanType
|
||||||
});
|
});
|
||||||
this.redPackData = data.data.records;
|
this.redPackData = data.data.records;
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,17 +1,49 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog :title="title" width="500px" :visible.sync="dialogVisible" @close="diaClose"
|
<el-dialog
|
||||||
:close-on-click-modal="true">
|
:title="title"
|
||||||
<div >
|
width="800px"
|
||||||
|
top="20px"
|
||||||
|
:visible.sync="dialogVisible"
|
||||||
|
@close="diaClose"
|
||||||
|
:close-on-click-modal="true"
|
||||||
|
>
|
||||||
|
<div>
|
||||||
<el-form ref="form" :rules="rules" :model="form" label-width="100px">
|
<el-form ref="form" :rules="rules" :model="form" label-width="100px">
|
||||||
<el-form-item label="标题" prop="title">
|
<el-form-item label="标题" prop="title">
|
||||||
<el-input v-model="form.title"></el-input>
|
<el-input v-model="form.title"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="内容" prop="content">
|
<el-form-item label="类型" prop="title">
|
||||||
<el-input v-model="form.content" type="textarea"></el-input>
|
<el-radio-group v-model="form.type">
|
||||||
|
<el-radio
|
||||||
|
:label="item.value"
|
||||||
|
v-for="(item, index) in types"
|
||||||
|
:key="index"
|
||||||
|
>{{ item.label }}</el-radio
|
||||||
|
>
|
||||||
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="状态" required>
|
<el-form-item label="状态" required>
|
||||||
<el-switch v-model="form.state" :active-value="1" :inactive-value="0"></el-switch>
|
<el-switch
|
||||||
|
v-model="form.state"
|
||||||
|
:active-value="1"
|
||||||
|
:inactive-value="0"
|
||||||
|
></el-switch>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="内容" prop="content">
|
||||||
|
<quill-editor
|
||||||
|
ref="myTextEditor"
|
||||||
|
v-model="form.content"
|
||||||
|
:options="quillOption"
|
||||||
|
style="
|
||||||
|
padding-bottom: 50px;
|
||||||
|
height: 300px;
|
||||||
|
width: 100%;
|
||||||
|
display: inline-table;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
</quill-editor>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -23,21 +55,35 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {$announcement as $api} from "@/api/announcement.js";
|
import { $announcement as $api } from "@/api/announcement.js";
|
||||||
|
import { $types } from "../data.js";
|
||||||
|
import { quillEditor } from "vue-quill-editor";
|
||||||
|
import "quill/dist/quill.core.css";
|
||||||
|
import "quill/dist/quill.snow.css";
|
||||||
|
import "quill/dist/quill.bubble.css";
|
||||||
|
import quillConfig from "../../locality/quill-config.js";
|
||||||
export default {
|
export default {
|
||||||
|
components: {
|
||||||
|
quillEditor,
|
||||||
|
},
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
quillOption: quillConfig,
|
||||||
|
types: $types,
|
||||||
dialogVisible: false,
|
dialogVisible: false,
|
||||||
title: "",
|
title: "",
|
||||||
rules: {
|
rules: {
|
||||||
title: [{ required: true, message: "请输入公告标题", trigger: "blur" }],
|
title: [{ required: true, message: "请输入公告标题", trigger: "blur" }],
|
||||||
content: [{ required: true, message: "请输入公告内容", trigger: "blur" }],
|
content: [
|
||||||
|
{ required: true, message: "请输入公告内容", trigger: "blur" },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
form: {
|
form: {
|
||||||
title:'',
|
title: "",
|
||||||
content:'',
|
content: "",
|
||||||
state:1,
|
state: 1,
|
||||||
|
type: "",
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@@ -51,9 +97,10 @@ export default {
|
|||||||
diaClose() {
|
diaClose() {
|
||||||
this.dialogVisible = false;
|
this.dialogVisible = false;
|
||||||
this.form = {
|
this.form = {
|
||||||
title:'',
|
title: "",
|
||||||
content:'',
|
content: "",
|
||||||
state:1,
|
state: 1,
|
||||||
|
type: "",
|
||||||
};
|
};
|
||||||
this.$refs.form.resetFields();
|
this.$refs.form.resetFields();
|
||||||
},
|
},
|
||||||
@@ -64,6 +111,9 @@ export default {
|
|||||||
if (!this.form.content) {
|
if (!this.form.content) {
|
||||||
return this.$message.error("请输入公告内容");
|
return this.$message.error("请输入公告内容");
|
||||||
}
|
}
|
||||||
|
if (this.form.type === "") {
|
||||||
|
return this.$message.error("请选择公告类型");
|
||||||
|
}
|
||||||
this.submit();
|
this.submit();
|
||||||
},
|
},
|
||||||
async submit() {
|
async submit() {
|
||||||
@@ -120,4 +170,4 @@ export default {
|
|||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
4
src/views/message/data.js
Normal file
4
src/views/message/data.js
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
export const $types=[
|
||||||
|
{label:'首页',value:0},
|
||||||
|
{label:'提现',value:1}
|
||||||
|
]
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<el-tabs v-model="activeName" @tab-click="handleClick">
|
<el-tabs v-model="activeName" @tab-click="handleClick">
|
||||||
<el-tab-pane label="首页弹窗公告" name="dialogMessage">
|
<el-tab-pane label="弹窗公告" name="dialogMessage">
|
||||||
<div style="float: right; margin-right: 2%">
|
<div style="float: right; margin-right: 2%">
|
||||||
<el-button
|
<el-button
|
||||||
style="margin: 10px 0"
|
style="margin: 10px 0"
|
||||||
@@ -16,7 +16,16 @@
|
|||||||
<el-table v-loading="tableDataLoading" :data="tableData.list">
|
<el-table v-loading="tableDataLoading" :data="tableData.list">
|
||||||
<el-table-column prop="id" label="编号" width="80"> </el-table-column>
|
<el-table-column prop="id" label="编号" width="80"> </el-table-column>
|
||||||
<el-table-column prop="title" label="标题"> </el-table-column>
|
<el-table-column prop="title" label="标题"> </el-table-column>
|
||||||
<el-table-column prop="content" label="内容"> </el-table-column>
|
<el-table-column prop="title" label="类型">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div>{{ returnType(scope.row) }}</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="content" label="内容" width="480">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div v-html="scope.row.content"></div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column prop="content" label="是否启用">
|
<el-table-column prop="content" label="是否启用">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-switch :value="scope.row.state" :active-value="1" :inactive-value="0" @change="dialogMessageUpdate($event, scope.row)"> </el-switch>
|
<el-switch :value="scope.row.state" :active-value="1" :inactive-value="0" @change="dialogMessageUpdate($event, scope.row)"> </el-switch>
|
||||||
@@ -355,10 +364,12 @@
|
|||||||
<script>
|
<script>
|
||||||
import {$announcement} from '@/api/announcement';
|
import {$announcement} from '@/api/announcement';
|
||||||
import popAddMessage from './components/pop-add-message.vue';
|
import popAddMessage from './components/pop-add-message.vue';
|
||||||
|
import {$types} from './data.js';
|
||||||
export default {
|
export default {
|
||||||
components:{popAddMessage},
|
components:{popAddMessage},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
noticeTypes: $types,
|
||||||
limit: 10,
|
limit: 10,
|
||||||
page: 1,
|
page: 1,
|
||||||
state: 1,
|
state: 1,
|
||||||
@@ -413,6 +424,10 @@ import popAddMessage from './components/pop-add-message.vue';
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
returnType(row) {
|
||||||
|
const item=this.noticeTypes.find(item => item.value == row.type)
|
||||||
|
return item.label
|
||||||
|
},
|
||||||
dialogMessageUpdate(e,item){
|
dialogMessageUpdate(e,item){
|
||||||
$announcement.update({...item,state:e}).then(({
|
$announcement.update({...item,state:e}).then(({
|
||||||
data
|
data
|
||||||
@@ -436,7 +451,7 @@ import popAddMessage from './components/pop-add-message.vue';
|
|||||||
type: 'success',
|
type: 'success',
|
||||||
duration: 1500
|
duration: 1500
|
||||||
})
|
})
|
||||||
this.getDialogMessage()
|
this.getDialogMessage()
|
||||||
})
|
})
|
||||||
}).catch(() => {})
|
}).catch(() => {})
|
||||||
},
|
},
|
||||||
@@ -803,4 +818,4 @@ import popAddMessage from './components/pop-add-message.vue';
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
204
src/views/viplist/components/orderInfo.vue
Normal file
204
src/views/viplist/components/orderInfo.vue
Normal file
@@ -0,0 +1,204 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-form :model="queryForm" inline @submit.native.prevent="queryByTradeNo">
|
||||||
|
<el-form-item label="订单号" prop="outTradeNo">
|
||||||
|
<el-input v-model="queryForm.outTradeNo" placeholder="请输入订单号查询" style="width: 500px;"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" @click="queryByTradeNo" :loading="loading">查询</el-button>
|
||||||
|
<el-button @click="resetHandle">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div class="order_info">
|
||||||
|
<div class="item">
|
||||||
|
<div class="title">
|
||||||
|
用户信息
|
||||||
|
</div>
|
||||||
|
<template v-if="orderInfo.userInfo">
|
||||||
|
<div class="row">
|
||||||
|
<span> 昵称:</span>{{ orderInfo.userInfo.userName }}
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<span> 手机号:</span>{{ orderInfo.userInfo.phone }}
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<span> 支付宝账号:</span>{{ orderInfo.userInfo.zhiFuBao }}
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<span>支付宝姓名:</span> {{ orderInfo.userInfo.zhiFuBaoName }}
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<span>状态:</span>
|
||||||
|
<span v-if="orderInfo.userInfo.status == 1" style="color: #67C23A;">正常</span>
|
||||||
|
<span v-else style="color: #F56C6C;">异常</span>
|
||||||
|
</div>
|
||||||
|
<div class="row" v-if="!orderInfo.userInfo.status">
|
||||||
|
<span>异常原因:</span> <span style="color: #F56C6C;">{{ orderInfo.userInfo.platform }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<div class="empty" v-else>空空如也~</div>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<div class="title">
|
||||||
|
<span>实名认证信息</span>
|
||||||
|
</div>
|
||||||
|
<template v-if="orderInfo.authInfo">
|
||||||
|
<div class="row">
|
||||||
|
<span>真实姓名:</span> {{ orderInfo.authInfo.certName }}
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<span>身份证号:</span> {{ orderInfo.authInfo.certNo }}
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<span>银行名称:</span> {{ orderInfo.authInfo.bankName }}
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<span>银行卡号:</span> {{ orderInfo.authInfo.accountNo }}
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<span>预留手机号:</span> {{ orderInfo.authInfo.mobile }}
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<div class="empty" v-else>空空如也~</div>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<div class="title">
|
||||||
|
提现信息
|
||||||
|
</div>
|
||||||
|
<template v-if="orderInfo.withdrawTotal">
|
||||||
|
<div class="row">
|
||||||
|
<span>成功合计:</span> {{ orderInfo.withdrawTotal.success.total }}
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<span>成功笔数:</span> {{ orderInfo.withdrawTotal.success.count }}
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<span>失败合计:</span> {{ orderInfo.withdrawTotal.fail.count }}
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<span>失败笔数:</span> {{ orderInfo.withdrawTotal.fail.count }}
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<span>审核中合计:</span> {{ orderInfo.withdrawTotal.auditing.count }}
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<span>审核中笔数:</span> {{ orderInfo.withdrawTotal.auditing.count }}
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<span>其他合计:</span> {{ orderInfo.withdrawTotal.other.count }}
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<span>其他笔数:</span> {{ orderInfo.withdrawTotal.other.count }}
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<div class="empty" v-else>空空如也~</div>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<div class="title">
|
||||||
|
支付信息
|
||||||
|
</div>
|
||||||
|
<template v-if="orderInfo.payTotal">
|
||||||
|
<div class="row">
|
||||||
|
<span>成功合计:</span> {{ orderInfo.payTotal.success.total }}
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<span>成功笔数:</span> {{ orderInfo.payTotal.success.count }}
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<span>失败合计:</span> {{ orderInfo.payTotal.fail.count }}
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<span>失败笔数:</span> {{ orderInfo.payTotal.fail.count }}
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<span>未付款合计:</span> {{ orderInfo.payTotal.unpaid.count }}
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<span>未付款笔数:</span> {{ orderInfo.payTotal.unpaid.count }}
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<div class="empty" v-else>空空如也~</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { queryByTradeNo } from '@/api/viplist.js'
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
loading: false,
|
||||||
|
queryForm: {
|
||||||
|
// outTradeNo: '7ed7edc900884b6dabf871a330c3e13b-1075149450307057439'
|
||||||
|
outTradeNo: ''
|
||||||
|
},
|
||||||
|
orderInfo: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 重置
|
||||||
|
resetHandle() {
|
||||||
|
this.queryForm.outTradeNo = ''
|
||||||
|
this.orderInfo = ''
|
||||||
|
},
|
||||||
|
// 根据订单号查询
|
||||||
|
async queryByTradeNo() {
|
||||||
|
try {
|
||||||
|
if (!this.queryForm.outTradeNo) return
|
||||||
|
this.loading = true
|
||||||
|
const res = await queryByTradeNo({ outTradeNo: this.queryForm.outTradeNo })
|
||||||
|
if (res.data.code == 0) {
|
||||||
|
this.orderInfo = res.data.data
|
||||||
|
} else {
|
||||||
|
this.orderInfo = ''
|
||||||
|
this.$message.error(res.data.msg)
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
this.orderInfo = ''
|
||||||
|
console.log(error);
|
||||||
|
}
|
||||||
|
this.loading = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.order_info {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(2, auto);
|
||||||
|
grid-template-rows: repeat(2, auto);
|
||||||
|
grid-column-gap: 15px;
|
||||||
|
grid-row-gap: 15px;
|
||||||
|
|
||||||
|
.item {
|
||||||
|
border: 1px solid #ececec;
|
||||||
|
padding: 15px;
|
||||||
|
background-color: #fff;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: bold;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.row {
|
||||||
|
margin-top: 10px;
|
||||||
|
|
||||||
|
span {
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.empty {
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
color: #999;
|
||||||
|
padding-bottom: 45px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
194
src/views/viplist/components/realNameList.vue
Normal file
194
src/views/viplist/components/realNameList.vue
Normal file
@@ -0,0 +1,194 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<div>
|
||||||
|
<el-form :inline="true" :model="query" class="demo-form-inline">
|
||||||
|
<el-form-item label="手机号">
|
||||||
|
<el-input v-model="query.phone" placeholder="请输入手机号"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="用户名">
|
||||||
|
<el-input v-model="query.name" placeholder="请输入用户名"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" @click="getTableData">查询</el-button>
|
||||||
|
<el-button @click="resetHandle">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<el-table :data="tableData.list" v-loading="tableData.loading" border stripe>
|
||||||
|
<el-table-column label="用户ID" prop="userId"></el-table-column>
|
||||||
|
<el-table-column label="用户名" prop="name"></el-table-column>
|
||||||
|
<el-table-column label="手机号" prop="mobile"></el-table-column>
|
||||||
|
<el-table-column label="实名信息" prop="certName" width="300">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div>姓名:{{ scope.row.certName }}</div>
|
||||||
|
<div>身份证号:{{ scope.row.certNo }}</div>
|
||||||
|
<div>银行卡号:{{ scope.row.accountNo }}</div>
|
||||||
|
<div>开户行:{{ scope.row.bankName }}</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" width="180" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button size="mini" type="primary" @click="edit(scope.row)">编辑</el-button>
|
||||||
|
<el-button size="mini" type="danger" @click="del(scope.row)">删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
<div class="pagination">
|
||||||
|
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
||||||
|
:page-sizes="[10, 20, 30, 40]" :page-size="tableData.limit" :current-page="tableData.page"
|
||||||
|
layout="total,sizes, prev, pager, next,jumper" :total="tableData.total">
|
||||||
|
</el-pagination>
|
||||||
|
</div>
|
||||||
|
<el-dialog title="编辑" width="600px" :visible.sync="visible" @close="onClose">
|
||||||
|
<el-form :model="form" :rules="rules" ref="form" label-width="100px" label-position="left">
|
||||||
|
<el-form-item label="姓名" prop="certName">
|
||||||
|
<el-input v-model="form.certName" placeholder="请输入姓名"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="身份证号" prop="certNo">
|
||||||
|
<el-input v-model="form.certNo" placeholder="请输入身份证号"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="银行卡号" prop="accountNo">
|
||||||
|
<el-input v-model="form.accountNo" placeholder="请输入银行卡号"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="预留手机号" prop="mobile">
|
||||||
|
<el-input v-model="form.mobile" placeholder="请输入预留手机号"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="开户行" prop="bankName">
|
||||||
|
<el-input v-model="form.bankName" placeholder="请输入开户行"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<template #footer>
|
||||||
|
<div class="dialog-footer" style="display: flex; justify-content: flex-end;">
|
||||||
|
<el-button size="small" @click="visible = false"> 取 消 </el-button>
|
||||||
|
<el-button size="small" type="primary" :loading="confirmLoading"
|
||||||
|
@click="confirmHandle">确定</el-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { userInfo_list, userInfo, userInfoDel } from "@/api/withdraw.js";
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
query: {
|
||||||
|
phone: "",
|
||||||
|
name: "",
|
||||||
|
},
|
||||||
|
resetQuery: {},
|
||||||
|
tableData: {
|
||||||
|
page: 1,
|
||||||
|
limit: 10,
|
||||||
|
total: 0,
|
||||||
|
list: [],
|
||||||
|
loading: false
|
||||||
|
},
|
||||||
|
visible: false,
|
||||||
|
confirmLoading: false,
|
||||||
|
form: {
|
||||||
|
userId: '',
|
||||||
|
certName: "",
|
||||||
|
certNo: "",
|
||||||
|
accountNo: "",
|
||||||
|
mobile: "",
|
||||||
|
bankName: "",
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
certName: [{ required: true, message: "请输入姓名", trigger: "blur" }],
|
||||||
|
certNo: [{ required: true, message: "请输入身份证号", trigger: "blur" }],
|
||||||
|
accountNo: [{ required: true, message: "请输入银行卡号", trigger: "blur" }],
|
||||||
|
mobile: [{ required: true, message: "请输入预留手机号", trigger: "blur" }],
|
||||||
|
bankName: [{ required: true, message: "请输入开户行", trigger: "blur" }],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.resetQuery = { ...this.query };
|
||||||
|
this.getTableData()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 确定编辑
|
||||||
|
confirmHandle() {
|
||||||
|
this.$refs.form.validate(async valid => {
|
||||||
|
if (valid) {
|
||||||
|
try {
|
||||||
|
this.confirmLoading = true
|
||||||
|
await userInfo(this.form)
|
||||||
|
this.visible = false
|
||||||
|
this.$message.success('编辑成功')
|
||||||
|
this.getTableData()
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error);
|
||||||
|
}
|
||||||
|
this.confirmLoading = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 关闭弹窗, 重置表单
|
||||||
|
onClose() {
|
||||||
|
this.$refs.form.resetFields();
|
||||||
|
},
|
||||||
|
// 编辑
|
||||||
|
edit(row) {
|
||||||
|
this.form = { ...row }
|
||||||
|
this.visible = true
|
||||||
|
},
|
||||||
|
// 删除
|
||||||
|
del(row) {
|
||||||
|
console.log(row);
|
||||||
|
this.$confirm('是否删除该用户信息?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(async () => {
|
||||||
|
try {
|
||||||
|
await userInfoDel({ userId: row.userId })
|
||||||
|
this.$message.success('删除成功')
|
||||||
|
this.getTableData()
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error);
|
||||||
|
}
|
||||||
|
}).catch(() => { })
|
||||||
|
},
|
||||||
|
// 重置
|
||||||
|
resetHandle() {
|
||||||
|
this.query = { ...this.resetQuery }
|
||||||
|
this.tableData.page = 1
|
||||||
|
this.getTableData()
|
||||||
|
},
|
||||||
|
// 分页数量
|
||||||
|
handleSizeChange(size) {
|
||||||
|
this.tableData.page = 1;
|
||||||
|
this.tableData.limit = size;
|
||||||
|
this.getTableData();
|
||||||
|
},
|
||||||
|
// 分页
|
||||||
|
handleCurrentChange(val) {
|
||||||
|
this.tableData.page = val;
|
||||||
|
this.getTableData();
|
||||||
|
},
|
||||||
|
// 获取数据
|
||||||
|
async getTableData() {
|
||||||
|
try {
|
||||||
|
this.tableData.loading = true
|
||||||
|
const { data } = await userInfo_list({
|
||||||
|
page: this.tableData.page,
|
||||||
|
limit: this.tableData.limit,
|
||||||
|
phone: this.query.phone,
|
||||||
|
name: this.query.name,
|
||||||
|
})
|
||||||
|
this.tableData.list = data.data.list
|
||||||
|
this.tableData.total = data.data.totalCount
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error);
|
||||||
|
}
|
||||||
|
this.tableData.loading = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
@@ -1,69 +1,55 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-tabs v-model = "activeName" @tab-click = "handleClick">
|
<el-tabs v-model="activeName" @tab-click="handleClick">
|
||||||
<!-- <el-tab-pane label = "会员列表" name = "first"> -->
|
<el-tab-pane label="会员列表" name="first">
|
||||||
<div style = "margin-right:2%;text-align: right;">
|
<div style="margin-right:2%;text-align: right;">
|
||||||
<el-button style="margin-left:15px;" size="mini" type="primary" icon="document" :disabled="!isAuth('viplist:add')" @click="add">添加
|
<el-button style="margin-left:15px;" size="mini" type="primary" icon="document"
|
||||||
</el-button>
|
:disabled="!isAuth('viplist:add')" @click="add">添加
|
||||||
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<el-table v-loading = "tableDataLoading" :data = "tableData.list" >
|
<el-table v-loading="tableDataLoading" :data="tableData.list">
|
||||||
<el-table-column fixed prop = "id" label = "编号" width = "50"></el-table-column>
|
<el-table-column fixed prop="id" label="编号" width="50"></el-table-column>
|
||||||
<el-table-column prop = "vipNameType" label = "会员类型" width = "150">
|
<el-table-column prop="vipNameType" label="会员类型" width="150">
|
||||||
<template slot-scope = "scope">
|
<template slot-scope="scope">
|
||||||
<span v-if = "scope.row.vipNameType == 0">月会员</span>
|
<span v-if="scope.row.vipNameType == 0">月会员</span>
|
||||||
<span v-if = "scope.row.vipNameType == 1">季会员</span>
|
<span v-if="scope.row.vipNameType == 1">季会员</span>
|
||||||
<span v-if = "scope.row.vipNameType == 2">年会员</span>
|
<span v-if="scope.row.vipNameType == 2">年会员</span>
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column prop = "money" label = "会员价格" >
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column prop="payDiamond" label="钻石价格">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label = "操作" width = "180" align="center" fixed="right">
|
|
||||||
<template slot-scope = "scope">
|
|
||||||
<el-button style="margin-left:15px;" size="mini" type="primary" icon="document" :disabled="!isAuth('viplist:update')" @click="updata(scope.row)">修改
|
|
||||||
</el-button>
|
|
||||||
<el-button size = "mini" type = "danger" :disabled="!isAuth('viplist:delete')" @click = "deletes(scope.row)">删除</el-button>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column prop="money" label="会员价格">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="payDiamond" label="钻石价格">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" width="180" align="center" fixed="right">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button style="margin-left:15px;" size="mini" type="primary" icon="document"
|
||||||
|
:disabled="!isAuth('viplist:update')" @click="updata(scope.row)">修改
|
||||||
|
</el-button>
|
||||||
|
<el-button size="mini" type="danger" :disabled="!isAuth('viplist:delete')"
|
||||||
|
@click="deletes(scope.row)">删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<div style = "text-align: center;margin-top: 10px;float:right">
|
<div style="text-align: center;margin-top: 10px;float:right">
|
||||||
<el-pagination @size-change = "handleSizeChange" @current-change = "handleCurrentChange" :page-sizes = "[5, 10, 15, 20]"
|
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
||||||
:page-size = "limit" :current-page = "page" layout = "total,sizes, prev, pager, next,jumper"
|
:page-sizes="[5, 10, 15, 20]" :page-size="limit" :current-page="page"
|
||||||
:total = "tableData.totalCount">
|
layout="total,sizes, prev, pager, next,jumper" :total="tableData.totalCount">
|
||||||
</el-pagination>
|
</el-pagination>
|
||||||
</div>
|
</div>
|
||||||
<!-- </el-tab-pane> -->
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="实名用户" name="realName">
|
||||||
|
<RealNameList ref="RealNameList" />
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="订单汇总" name="orderInfo">
|
||||||
|
<OrderInfo ref="OrderInfo" />
|
||||||
|
</el-tab-pane>
|
||||||
<el-dialog title="添加" :visible.sync="dialogFormVisible" center>
|
<el-dialog title="添加" :visible.sync="dialogFormVisible" center>
|
||||||
<div style="margin-bottom: 10px;">
|
<div style="margin-bottom: 10px;">
|
||||||
<span style="width: 200px;display: inline-block;text-align: right;">会员类型:</span>
|
<span style="width: 200px;display: inline-block;text-align: right;">会员类型:</span>
|
||||||
<el-radio-group v-model="vipNameType">
|
<el-radio-group v-model="vipNameType">
|
||||||
<el-radio :label="0">月会员</el-radio>
|
<el-radio :label="0">月会员</el-radio>
|
||||||
<el-radio :label="1">季会员</el-radio>
|
<el-radio :label="1">季会员</el-radio>
|
||||||
<el-radio :label="2">年会员</el-radio>
|
<el-radio :label="2">年会员</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</div>
|
|
||||||
<div style="margin-bottom: 10px;">
|
|
||||||
<span style="width: 200px;display: inline-block;text-align: right;">会员价格:</span>
|
|
||||||
<el-input style="width:50%;" v-model="money" type="number" min="0" placeholder="请输入会员价格" ></el-input>
|
|
||||||
</div>
|
|
||||||
<div style="margin-bottom: 10px;">
|
|
||||||
<span style="width: 200px;display: inline-block;text-align: right;">钻石价格:</span>
|
|
||||||
<el-input style="width:50%;" v-model="payDiamond" type="number" min="0" placeholder="请输入钻石价格" ></el-input>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div slot="footer" class="dialog-footer">
|
|
||||||
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
|
||||||
<el-button type="primary" @click="vipAdd()">确 定</el-button>
|
|
||||||
</div>
|
|
||||||
</el-dialog>
|
|
||||||
<el-dialog title="修改" :visible.sync="dialogFormVisible1" center>
|
|
||||||
<div style="margin-bottom: 10px;">
|
|
||||||
<span style="width: 200px;display: inline-block;text-align: right;">会员类型:</span>
|
|
||||||
<el-radio-group v-model="vipNameType">
|
|
||||||
<el-radio :label="0">月会员</el-radio>
|
|
||||||
<el-radio :label="1">季会员</el-radio>
|
|
||||||
<el-radio :label="2">年会员</el-radio>
|
|
||||||
</el-radio-group>
|
|
||||||
</div>
|
</div>
|
||||||
<div style="margin-bottom: 10px;">
|
<div style="margin-bottom: 10px;">
|
||||||
<span style="width: 200px;display: inline-block;text-align: right;">会员价格:</span>
|
<span style="width: 200px;display: inline-block;text-align: right;">会员价格:</span>
|
||||||
@@ -71,7 +57,32 @@
|
|||||||
</div>
|
</div>
|
||||||
<div style="margin-bottom: 10px;">
|
<div style="margin-bottom: 10px;">
|
||||||
<span style="width: 200px;display: inline-block;text-align: right;">钻石价格:</span>
|
<span style="width: 200px;display: inline-block;text-align: right;">钻石价格:</span>
|
||||||
<el-input style="width:50%;" v-model="payDiamond" type="number" min="0" placeholder="请输入钻石价格" ></el-input>
|
<el-input style="width:50%;" v-model="payDiamond" type="number" min="0"
|
||||||
|
placeholder="请输入钻石价格"></el-input>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
||||||
|
<el-button type="primary" @click="vipAdd()">确 定</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
<el-dialog title="修改" :visible.sync="dialogFormVisible1" center>
|
||||||
|
<div style="margin-bottom: 10px;">
|
||||||
|
<span style="width: 200px;display: inline-block;text-align: right;">会员类型:</span>
|
||||||
|
<el-radio-group v-model="vipNameType">
|
||||||
|
<el-radio :label="0">月会员</el-radio>
|
||||||
|
<el-radio :label="1">季会员</el-radio>
|
||||||
|
<el-radio :label="2">年会员</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</div>
|
||||||
|
<div style="margin-bottom: 10px;">
|
||||||
|
<span style="width: 200px;display: inline-block;text-align: right;">会员价格:</span>
|
||||||
|
<el-input style="width:50%;" v-model="money" type="number" min="0" placeholder="请输入会员价格"></el-input>
|
||||||
|
</div>
|
||||||
|
<div style="margin-bottom: 10px;">
|
||||||
|
<span style="width: 200px;display: inline-block;text-align: right;">钻石价格:</span>
|
||||||
|
<el-input style="width:50%;" v-model="payDiamond" type="number" min="0"
|
||||||
|
placeholder="请输入钻石价格"></el-input>
|
||||||
</div>
|
</div>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-button @click="dialogFormVisible1 = false">取 消</el-button>
|
<el-button @click="dialogFormVisible1 = false">取 消</el-button>
|
||||||
@@ -82,229 +93,236 @@
|
|||||||
|
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
export default {
|
import RealNameList from './components/realNameList.vue'
|
||||||
data () {
|
import OrderInfo from './components/orderInfo.vue'
|
||||||
return {
|
export default {
|
||||||
activeName:'first',
|
components: {
|
||||||
page: 1,
|
RealNameList,
|
||||||
limit: 10,
|
OrderInfo
|
||||||
classify: 1,
|
},
|
||||||
id:'',
|
data() {
|
||||||
vipNameType: -1,
|
return {
|
||||||
money: '',
|
activeName: 'first',
|
||||||
payDiamond:'',
|
// activeName: 'orderInfo',
|
||||||
tableDataLoading:false,
|
page: 1,
|
||||||
dialogFormVisible:false,
|
limit: 10,
|
||||||
dialogFormVisible1:false,
|
classify: 1,
|
||||||
tableData:{},
|
id: '',
|
||||||
}
|
vipNameType: -1,
|
||||||
},
|
money: '',
|
||||||
methods: {
|
payDiamond: '',
|
||||||
// 多选
|
tableDataLoading: false,
|
||||||
changeFun (val) {
|
dialogFormVisible: false,
|
||||||
this.checkBoxData = val
|
dialogFormVisible1: false,
|
||||||
},
|
tableData: {},
|
||||||
// tabs切换
|
|
||||||
handleClick (tab, event) {
|
|
||||||
if (tab._props.label == '轮播图') {
|
|
||||||
this.page = 1
|
|
||||||
this.limit = 5
|
|
||||||
this.classify = 1
|
|
||||||
this.dataSelect()
|
|
||||||
}
|
|
||||||
},
|
|
||||||
handleSizeChange (val) {
|
|
||||||
this.limit = val
|
|
||||||
this.dataSelect()
|
|
||||||
},
|
|
||||||
handleCurrentChange (val) {
|
|
||||||
this.page = val
|
|
||||||
this.dataSelect()
|
|
||||||
},
|
|
||||||
// 查询列表
|
|
||||||
select() {
|
|
||||||
this.page = 1
|
|
||||||
this.limit = 10
|
|
||||||
this.dataSelect()
|
|
||||||
},
|
|
||||||
// 添加
|
|
||||||
add(){
|
|
||||||
this.vipNameType = -1
|
|
||||||
this.money = ''
|
|
||||||
this.payDiamond = ''
|
|
||||||
this.id = ''
|
|
||||||
this.dialogFormVisible = true
|
|
||||||
},
|
|
||||||
updata(row){
|
|
||||||
this.vipNameType = row.vipNameType
|
|
||||||
this.money = row.money
|
|
||||||
this.payDiamond = row.payDiamond
|
|
||||||
this.id = row.id
|
|
||||||
this.dialogFormVisible1 = true
|
|
||||||
},
|
|
||||||
vipAdd(){
|
|
||||||
if (this.vipNameType == -1) {
|
|
||||||
this.$notify({
|
|
||||||
title: '提示',
|
|
||||||
duration: 1800,
|
|
||||||
message: '请选择会员类型',
|
|
||||||
type: 'warning'
|
|
||||||
});
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if (this.money === '') {
|
|
||||||
this.$notify({
|
|
||||||
title: '提示',
|
|
||||||
duration: 1800,
|
|
||||||
message: '请输入会员价格',
|
|
||||||
type: 'warning'
|
|
||||||
});
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if (this.payDiamond === '') {
|
|
||||||
this.$notify({
|
|
||||||
title: '提示',
|
|
||||||
duration: 1800,
|
|
||||||
message: '请输入钻石价格',
|
|
||||||
type: 'warning'
|
|
||||||
});
|
|
||||||
return
|
|
||||||
}
|
|
||||||
this.$http({
|
|
||||||
url: this.$http.adornUrl('vipDetails/insertVipDetails'),
|
|
||||||
method: 'post',
|
|
||||||
data: this.$http.adornData({
|
|
||||||
'vipNameType':this.vipNameType,
|
|
||||||
'money':this.money,
|
|
||||||
'payDiamond':this.payDiamond,
|
|
||||||
})
|
|
||||||
}).then(({data}) => {
|
|
||||||
|
|
||||||
if(data.code == 0){
|
|
||||||
this.$message({
|
|
||||||
message: '操作成功',
|
|
||||||
type: 'success',
|
|
||||||
duration: 1500,
|
|
||||||
onClose: () => {
|
|
||||||
this.dialogFormVisible = false
|
|
||||||
this.dataSelect()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}else{
|
|
||||||
this.$message({
|
|
||||||
message: data.msg,
|
|
||||||
type: 'warning',
|
|
||||||
duration: 1500,
|
|
||||||
onClose: () => {
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
vipUpdata(){
|
|
||||||
if (this.money === '') {
|
|
||||||
this.$notify({
|
|
||||||
title: '提示',
|
|
||||||
duration: 1800,
|
|
||||||
message: '请输入会员价格',
|
|
||||||
type: 'warning'
|
|
||||||
});
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if (this.payDiamond === '') {
|
|
||||||
this.$notify({
|
|
||||||
title: '提示',
|
|
||||||
duration: 1800,
|
|
||||||
message: '请输入钻石价格',
|
|
||||||
type: 'warning'
|
|
||||||
});
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
this.$http({
|
|
||||||
url: this.$http.adornUrl('vipDetails/updateVipDetails'),
|
|
||||||
method: 'post',
|
|
||||||
data: this.$http.adornData({
|
|
||||||
'vipNameType':this.vipNameType,
|
|
||||||
'money':this.money,
|
|
||||||
'payDiamond':this.payDiamond,
|
|
||||||
'id':this.id
|
|
||||||
})
|
|
||||||
}).then(({data}) => {
|
|
||||||
|
|
||||||
if(data.code == 0){
|
|
||||||
this.dialogFormVisible1 = false
|
|
||||||
this.$message({
|
|
||||||
message: '操作成功',
|
|
||||||
type: 'success',
|
|
||||||
duration: 1500,
|
|
||||||
onClose: () => {
|
|
||||||
this.dataSelect()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}else{
|
|
||||||
this.$message({
|
|
||||||
message: data.msg,
|
|
||||||
type: 'warning',
|
|
||||||
duration: 1500,
|
|
||||||
onClose: () => {
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 删除banner图
|
|
||||||
deletes (row) {
|
|
||||||
let delid = row.id
|
|
||||||
this.$confirm(`确定删除此条信息?`, '提示', {
|
|
||||||
confirmButtonText: '确定',
|
|
||||||
cancelButtonText: '取消',
|
|
||||||
type: 'warning'
|
|
||||||
}).then(() => {
|
|
||||||
this.$http({
|
|
||||||
url: this.$http.adornUrl(`vipDetails/deleteVipDetails?id=${delid}`),
|
|
||||||
method: 'post',
|
|
||||||
params: this.$http.adornParams({})
|
|
||||||
}).then(({data}) => {
|
|
||||||
this.$message({
|
|
||||||
message: '删除成功',
|
|
||||||
type: 'success',
|
|
||||||
duration: 1500,
|
|
||||||
onClose: () => {
|
|
||||||
this.dataSelect()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}).catch(() => {
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 获取数据列表
|
|
||||||
dataSelect () {
|
|
||||||
this.tableDataLoading = true
|
|
||||||
this.$http({
|
|
||||||
url: this.$http.adornUrl('vipDetails/selectVipDetailsList'),
|
|
||||||
method: 'get',
|
|
||||||
params: this.$http.adornParams({
|
|
||||||
'page': this.page,
|
|
||||||
'limit': this.limit
|
|
||||||
})
|
|
||||||
}).then(({data}) => {
|
|
||||||
if (data && data.code === 0) {
|
|
||||||
this.tableDataLoading = false
|
|
||||||
let returnData = data.data
|
|
||||||
this.tableData = returnData
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
mounted () {
|
|
||||||
this.dataSelect()
|
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 多选
|
||||||
|
changeFun(val) {
|
||||||
|
this.checkBoxData = val
|
||||||
|
},
|
||||||
|
// tabs切换
|
||||||
|
handleClick(tab, event) {
|
||||||
|
if (tab._props.label == '轮播图') {
|
||||||
|
this.page = 1
|
||||||
|
this.limit = 5
|
||||||
|
this.classify = 1
|
||||||
|
this.dataSelect()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleSizeChange(val) {
|
||||||
|
this.limit = val
|
||||||
|
this.dataSelect()
|
||||||
|
},
|
||||||
|
handleCurrentChange(val) {
|
||||||
|
this.page = val
|
||||||
|
this.dataSelect()
|
||||||
|
},
|
||||||
|
// 查询列表
|
||||||
|
select() {
|
||||||
|
this.page = 1
|
||||||
|
this.limit = 10
|
||||||
|
this.dataSelect()
|
||||||
|
},
|
||||||
|
// 添加
|
||||||
|
add() {
|
||||||
|
this.vipNameType = -1
|
||||||
|
this.money = ''
|
||||||
|
this.payDiamond = ''
|
||||||
|
this.id = ''
|
||||||
|
this.dialogFormVisible = true
|
||||||
|
},
|
||||||
|
updata(row) {
|
||||||
|
this.vipNameType = row.vipNameType
|
||||||
|
this.money = row.money
|
||||||
|
this.payDiamond = row.payDiamond
|
||||||
|
this.id = row.id
|
||||||
|
this.dialogFormVisible1 = true
|
||||||
|
},
|
||||||
|
vipAdd() {
|
||||||
|
if (this.vipNameType == -1) {
|
||||||
|
this.$notify({
|
||||||
|
title: '提示',
|
||||||
|
duration: 1800,
|
||||||
|
message: '请选择会员类型',
|
||||||
|
type: 'warning'
|
||||||
|
});
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (this.money === '') {
|
||||||
|
this.$notify({
|
||||||
|
title: '提示',
|
||||||
|
duration: 1800,
|
||||||
|
message: '请输入会员价格',
|
||||||
|
type: 'warning'
|
||||||
|
});
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (this.payDiamond === '') {
|
||||||
|
this.$notify({
|
||||||
|
title: '提示',
|
||||||
|
duration: 1800,
|
||||||
|
message: '请输入钻石价格',
|
||||||
|
type: 'warning'
|
||||||
|
});
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.$http({
|
||||||
|
url: this.$http.adornUrl('vipDetails/insertVipDetails'),
|
||||||
|
method: 'post',
|
||||||
|
data: this.$http.adornData({
|
||||||
|
'vipNameType': this.vipNameType,
|
||||||
|
'money': this.money,
|
||||||
|
'payDiamond': this.payDiamond,
|
||||||
|
})
|
||||||
|
}).then(({ data }) => {
|
||||||
|
|
||||||
|
if (data.code == 0) {
|
||||||
|
this.$message({
|
||||||
|
message: '操作成功',
|
||||||
|
type: 'success',
|
||||||
|
duration: 1500,
|
||||||
|
onClose: () => {
|
||||||
|
this.dialogFormVisible = false
|
||||||
|
this.dataSelect()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.$message({
|
||||||
|
message: data.msg,
|
||||||
|
type: 'warning',
|
||||||
|
duration: 1500,
|
||||||
|
onClose: () => {
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
vipUpdata() {
|
||||||
|
if (this.money === '') {
|
||||||
|
this.$notify({
|
||||||
|
title: '提示',
|
||||||
|
duration: 1800,
|
||||||
|
message: '请输入会员价格',
|
||||||
|
type: 'warning'
|
||||||
|
});
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (this.payDiamond === '') {
|
||||||
|
this.$notify({
|
||||||
|
title: '提示',
|
||||||
|
duration: 1800,
|
||||||
|
message: '请输入钻石价格',
|
||||||
|
type: 'warning'
|
||||||
|
});
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
this.$http({
|
||||||
|
url: this.$http.adornUrl('vipDetails/updateVipDetails'),
|
||||||
|
method: 'post',
|
||||||
|
data: this.$http.adornData({
|
||||||
|
'vipNameType': this.vipNameType,
|
||||||
|
'money': this.money,
|
||||||
|
'payDiamond': this.payDiamond,
|
||||||
|
'id': this.id
|
||||||
|
})
|
||||||
|
}).then(({ data }) => {
|
||||||
|
|
||||||
|
if (data.code == 0) {
|
||||||
|
this.dialogFormVisible1 = false
|
||||||
|
this.$message({
|
||||||
|
message: '操作成功',
|
||||||
|
type: 'success',
|
||||||
|
duration: 1500,
|
||||||
|
onClose: () => {
|
||||||
|
this.dataSelect()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.$message({
|
||||||
|
message: data.msg,
|
||||||
|
type: 'warning',
|
||||||
|
duration: 1500,
|
||||||
|
onClose: () => {
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 删除banner图
|
||||||
|
deletes(row) {
|
||||||
|
let delid = row.id
|
||||||
|
this.$confirm(`确定删除此条信息?`, '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
this.$http({
|
||||||
|
url: this.$http.adornUrl(`vipDetails/deleteVipDetails?id=${delid}`),
|
||||||
|
method: 'post',
|
||||||
|
params: this.$http.adornParams({})
|
||||||
|
}).then(({ data }) => {
|
||||||
|
this.$message({
|
||||||
|
message: '删除成功',
|
||||||
|
type: 'success',
|
||||||
|
duration: 1500,
|
||||||
|
onClose: () => {
|
||||||
|
this.dataSelect()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}).catch(() => {
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 获取数据列表
|
||||||
|
dataSelect() {
|
||||||
|
this.tableDataLoading = true
|
||||||
|
this.$http({
|
||||||
|
url: this.$http.adornUrl('vipDetails/selectVipDetailsList'),
|
||||||
|
method: 'get',
|
||||||
|
params: this.$http.adornParams({
|
||||||
|
'page': this.page,
|
||||||
|
'limit': this.limit
|
||||||
|
})
|
||||||
|
}).then(({ data }) => {
|
||||||
|
if (data && data.code === 0) {
|
||||||
|
this.tableDataLoading = false
|
||||||
|
let returnData = data.data
|
||||||
|
this.tableData = returnData
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.dataSelect()
|
||||||
}
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.customWidth {
|
.customWidth {
|
||||||
width: 80% !important;
|
width: 80% !important;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -83,7 +83,7 @@
|
|||||||
:page-size="limit"
|
:page-size="limit"
|
||||||
:current-page="page"
|
:current-page="page"
|
||||||
layout="total,sizes, prev, pager, next,jumper"
|
layout="total,sizes, prev, pager, next,jumper"
|
||||||
:total="tableData.total"
|
:total="tableData.totalCount"
|
||||||
>
|
>
|
||||||
</el-pagination>
|
</el-pagination>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user