Commit 19cdaa13 authored by xieyishang's avatar xieyishang

~~新增聚物通账单~~~

parent 4cb38877
......@@ -92,6 +92,36 @@ export default{
}
}
},
polymer: {
list: {
url: `${config.API_URL}member/polymer/index`,
name: "获得聚物通列表",
get: async function(params){
return await http.get(this.url, params);
}
},
add: {
url: `${config.API_URL}member/polymer/add`,
name: "添加聚物通",
post: async function(params){
return await http.post(this.url, params);
}
},
edit: {
url: `${config.API_URL}member/polymer/edit`,
name: "编辑聚物通",
post: async function(params){
return await http.put(this.url, params);
}
},
delete: {
url: `${config.API_URL}member/polymer/delete`,
name: "删除积分",
post: async function(params){
return await http.delete(this.url, params);
}
}
},
account: {
list: {
url: `${config.API_URL}member/account/index`,
......
<template>
<el-container>
<el-header>
<div class="left-panel">
<!-- <el-select v-model="search.type" placeholder="请选择" style="width: 180px; margin-right: 10px;" clearable>
<el-option :label="item.label" :value="item.value" v-for="(item, index) in typeList"></el-option>
</el-select> -->
<el-input v-model="search.store_title" placeholder="请输入店铺名称" style="width: 180px; margin-right: 10px;" clearable />
<el-input v-model="search.username" placeholder="请输入用户名" style="width: 180px; margin-right: 10px;" clearable />
<el-button-group style="margin-left: 10px;">
<el-button type="primary" icon="el-icon-search" @click="upsearch">搜索</el-button>
</el-button-group>
</div>
<div class="right-panel">
<el-button-group>
<el-button type="danger" icon="el-icon-plus" @click="add">添加</el-button>
</el-button-group>
</div>
</el-header>
<el-main class="nopadding">
<scTable tableName="member" ref="table" :apiObj="list.apiObj" :column="list.column" row-key="id" @selection-change="selectionChange" border stripe size="small">
<el-table-column type="selection" width="50"></el-table-column>
<template #member="scope">
<div style="display: flex; gap: 8px; align-items: center;">
<el-image :src="scope.row.member?.avatar" style="width: 40px; height: 40px;" />
<div style="display: flex; flex-direction: column;">
<span>{{ scope.row.member?.nickname }}</span>
<span>{{ scope.row.member?.username }}</span>
</div>
</div>
</template>
<template #mobile="scope">
{{ scope.row.member?.mobile }}
</template>
</scTable>
</el-main>
</el-container>
<save v-if="dialog.save" ref="saveBox" @success="upsearch" @closed="dialog.save=false" />
</template>
<script>
import save from './save.vue'
export default{
name: 'memberpolymer',
components:{
save
},
data(){
return {
dialog: {search: false, import: false, save: false},
list: {
apiObj: this.$API.member.polymer.list,
column: [
{prop: 'id', label: 'ID', width: 80},
{prop: 'member', label: '用户'},
{prop: 'member_id', label: '用户id'},
{prop: 'mobile', label: '手机号码', width: 120},
{prop: 'amount', label: '额度', width: 120},
{prop: 'af_amount', label: '余额', width: 120},
{prop: 'remark', label: '备注', width: 120},
{prop: 'created_at', label: '添加时间', width: 140},
{prop: 'updated_at', label: '更新时间', width: 140},
],
},
selection: [],
typeList: [{label: '分享', value: 'share'}, {label: '排队', value: 'queue'},{label: '合伙人', value: 'partner'},{label: '货款', value: 'sale'}],
search: {},
}
},
methods: {
upsearch(){
this.$refs.table.reload(this.search);
},
moreUpsearch(search){
this.search = search;
this.upsearch();
},
moreSearch(){
this.dialog.search = true
this.$nextTick(() => {
this.$refs.searchBox.open().setData(this.search)
})
},
//表格选择后回调事件
selectionChange(selection){
this.selection = selection;
},
add(){
this.dialog.save = true
this.$nextTick(() => {
this.$refs.saveBox.open().setData({})
})
}
}
}
</script>
\ No newline at end of file
<template>
<el-dialog :title="titleMap[mode]" v-model="visible" :width="500" destroy-on-close :close-on-click-modal="false" @closed="$emit('closed')">
<el-form :model="form" :rules="rules" :disabled="mode=='show'" ref="dialogForm" label-width="100px" label-position="left">
<el-form-item label="聚物通额度" prop="amount">
<el-input v-model="form.amount" placeholder="聚物通额度" clearable />
</el-form-item>
<el-form-item label="用户" prop="member_id">
<el-input v-model="form.member_id" placeholder="用户" clearable />
</el-form-item>
<el-form-item label="聚物通类型" prop="type">
<el-select v-model="form.type" placeholder="聚物通类型" clearable>
<el-option label="增加" value="income" />
<el-option label="减少" value="pay" />
</el-select>
</el-form-item>
<el-form-item label="聚物通描述" prop="remark">
<el-input type="textarea" v-model="form.remark" placeholder="聚物通描述" clearable />
</el-form-item>
</el-form>
<template #footer>
<el-button @click="visible=false" >取 消</el-button>
<el-button v-if="mode!='show'" type="primary" :loading="isSaveing" @click="submit()">提 交</el-button>
</template>
</el-dialog>
</template>
<script>
export default {
emits: ['success', 'closed'],
data() {
return {
mode: "add",
titleMap: {
add: '聚物通',
edit: '编辑等级',
show: '查看'
},
visible: false,
isSaveing: false,
//表单数据
form: { title: '', name: ''},
//验证规则
rules: {
amount: [{required: true, message: '请输入聚物通额度'}],
member_id: [{required: true, message: '请输入用户UID'}],
type: [{required: true, message: '请选择聚物通类型'}],
remark: [{required: true, message: '请输入聚物通描述'}]
}
}
},
mounted() {
},
methods: {
//显示
open(mode='add'){
this.mode = mode;
this.visible = true;
return this
},
//表单提交方法
submit(){
this.$refs.dialogForm.validate(async (valid) => {
if (valid) {
this.isSaveing = true;
var res = {};
if(this.mode == 'add'){
res = await this.$API.member.polymer.add.post(this.form);
}else{
res = await this.$API.member.polymer.edit.post(this.form);
}
this.isSaveing = false;
if(res.code == 1){
this.$emit('success', this.form, this.mode)
this.visible = false;
this.$message.success("操作成功")
}else{
this.$alert(res.message, "提示", {type: 'error'})
}
}else{
return false;
}
})
},
//表单注入数据
setData(data){
this.form = data
}
}
}
</script>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment