支付方式新增图标

This commit is contained in:
gyq
2024-03-02 16:10:03 +08:00
parent 51f0c8233d
commit 0c795bee95
2 changed files with 66 additions and 18 deletions

View File

@@ -1,9 +1,12 @@
<template> <template>
<el-dialog title="添加支付方式" :visible.sync="dialogVisible" :show-close="false" @close="reset"> <el-dialog title="添加支付方式" :visible.sync="dialogVisible" :show-close="false" @close="reset">
<el-form ref="form" :model="form" label-width="120px" label-position="left"> <el-form ref="form" :model="form" :rules="rules" label-width="120px" label-position="left">
<el-form-item label="支付方式" prop=""> <el-form-item label="支付方式" prop="payName">
<el-input v-model="form.payName" placeholder="请输入商户号"></el-input> <el-input v-model="form.payName" placeholder="请输入商户号"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="图标" prop="icon">
<uploadImg ref="uploadImg" :limit="9" @success="e => form.icon = e[0]" />
</el-form-item>
<el-form-item label="是否虚拟"> <el-form-item label="是否虚拟">
<el-radio-group v-model="form.isIdeal"> <el-radio-group v-model="form.isIdeal">
<el-radio :label="1">虚拟</el-radio> <el-radio :label="1">虚拟</el-radio>
@@ -32,21 +35,47 @@
</template> </template>
<script> <script>
import uploadImg from '@/components/uploadImg'
import { tbShopPayType } from '@/api/setting' import { tbShopPayType } from '@/api/setting'
export default ({ export default ({
components: { uploadImg },
data() { data() {
const validateIcon = (rule, value, callback) => {
if (!this.form.icon) {
callback(new Error('请上传图标'))
} else {
callback()
}
}
return { return {
dialogVisible: false, dialogVisible: false,
formLoading: false, formLoading: false,
resetForm: '', resetForm: '',
form: { form: {
id: '', id: '',
icon: '',
shopId: localStorage.getItem('shopId'), shopId: localStorage.getItem('shopId'),
payName: '', payName: '',
isIdeal: 1, isIdeal: 1,
isOpenCashDrawer: 1, isOpenCashDrawer: 1,
isDisplay: 1, isDisplay: 1,
sorts: 0 sorts: 0
},
rules: {
payName: [
{
required: true,
message: ' ',
triiger: 'blur'
}
],
icon: [
{
required: true,
validator: validateIcon,
triiger: 'change'
}
]
} }
} }
}, },
@@ -55,38 +84,52 @@ export default ({
}, },
methods: { methods: {
// 保存 // 保存
async submitHandle() { submitHandle() {
this.formLoading = true this.$refs.form.validate(async valid => {
try { if (valid) {
await tbShopPayType(this.form, this.form.id ? 'put' : 'post') try {
this.$emit('success') this.formLoading = true
this.formLoading = false await tbShopPayType(this.form, this.form.id ? 'put' : 'post')
this.$notify({ this.$emit('success')
title: '成功', this.formLoading = false
message: `${this.form.pid ? '编辑' : '添加'}成功`, this.$notify({
type: 'success' title: '成功',
}); message: `${this.form.pid ? '编辑' : '添加'}成功`,
this.close() type: 'success'
} catch (error) { });
this.formLoading = false this.close()
console.log(error) } catch (error) {
} this.formLoading = false
console.log(error)
}
}
})
}, },
close() { close() {
this.dialogVisible = false this.dialogVisible = false
}, },
reset() { reset() {
this.form = { ...this.resetForm } this.form = { ...this.resetForm }
this.$refs.uploadImg.fileList = []
}, },
show(obj) { show(obj) {
this.dialogVisible = true this.dialogVisible = true
if (obj && obj.id) { if (obj && obj.id) {
this.form.id = obj.id this.form.id = obj.id
this.form.icon = obj.icon
this.form.payName = obj.payName this.form.payName = obj.payName
this.form.isIdeal = obj.isIdeal this.form.isIdeal = obj.isIdeal
this.form.isOpenCashDrawer = obj.isOpenCashDrawer this.form.isOpenCashDrawer = obj.isOpenCashDrawer
this.form.isDisplay = obj.isDisplay this.form.isDisplay = obj.isDisplay
this.form.sorts = obj.sorts this.form.sorts = obj.sorts
if (obj.icon) {
setTimeout(() => {
this.$refs.uploadImg.fileList = [{
url: obj.icon
}]
}, 100);
}
} }
} }
} }

View File

@@ -6,6 +6,11 @@
<div class="head-container"> <div class="head-container">
<el-table :data="tableData.list" v-loading="tableData.loading"> <el-table :data="tableData.list" v-loading="tableData.loading">
<el-table-column prop="payName" label="支付方式"></el-table-column> <el-table-column prop="payName" label="支付方式"></el-table-column>
<el-table-column prop="icon" label="图标">
<template v-slot="scope">
<el-image :src="scope.row.icon" style="width: 40px;height: 40px;"></el-image>
</template>
</el-table-column>
<el-table-column prop="payType" label="类型"></el-table-column> <el-table-column prop="payType" label="类型"></el-table-column>
<el-table-column prop="isOpenCashDrawer" label="开钱箱权限"> <el-table-column prop="isOpenCashDrawer" label="开钱箱权限">
<template v-slot="scope"> <template v-slot="scope">