feat: 调整

This commit is contained in:
Czw996 2022-03-17 16:33:27 +08:00
parent ac4320b784
commit a9ed92058a
6 changed files with 62 additions and 56 deletions

View file

@ -124,6 +124,7 @@ class Account(Model):
name = CharField(max_length=64, verbose_name='名称')
type = CharField(max_length=32, choices=Type.choices, default=Type.CASH, verbose_name='账户类型')
holder = CharField(max_length=64, null=True, blank=True, verbose_name='开户人')
card_number = CharField(max_length=64, null=True, blank=True, verbose_name='开户账号')
remark = CharField(max_length=256, null=True, blank=True, verbose_name='备注')
is_active = BooleanField(default=True, verbose_name='激活状态')
initial_balance_amount = AmountField(default=0, verbose_name='初期余额')

View file

@ -144,7 +144,7 @@ class AccountSerializer(BaseSerializer):
class Meta:
model = Account
read_only_fields = ['id', 'type_display', 'balance_amount', 'has_balance']
fields = ['number', 'name', 'type', 'holder', 'remark', 'is_active',
fields = ['number', 'name', 'type', 'holder', 'card_number', 'remark', 'is_active',
'initial_balance_amount', *read_only_fields]
def validate_number(self, value):
@ -173,12 +173,13 @@ class AccountImportExportSerializer(BaseSerializer):
name = CharField(label='账户名称(必填唯一)')
type = CharField(required=False, label='账户类型[cash/alipay/wechat/bank_account/other](默认: cash)')
holder = CharField(required=False, label='开户人')
card_number = CharField(required=False, label='开户账号')
remark = CharField(required=False, label='备注')
is_active = BooleanField(required=False, label='激活状态[TRUE/FALSE](默认: TRUE)')
class Meta:
model = Account
fields = ['number', 'name', 'type', 'holder', 'remark', 'is_active']
fields = ['number', 'name', 'type', 'holder', 'card_number', 'remark', 'is_active']
class ChargeItemSerializer(BaseSerializer):

View file

@ -296,7 +296,7 @@ class AccountViewSet(ModelViewSet, DataProtectMixin, ExportMixin, ImportMixin):
serializer_class = AccountSerializer
permission_classes = [IsAuthenticated, AccountPermission]
filterset_fields = ['type', 'is_active']
search_fields = ['number', 'name', 'contact', 'remark']
search_fields = ['number', 'name', 'remark']
ordering_fields = ['id', 'number', 'name']
ordering = ['id']
queryset = Account.objects.all()

View file

@ -1,7 +1,7 @@
<template>
<div>
<a-modal v-model="visible" :confirmLoading="loading" :maskClosable="false" @cancel="cancel" @ok="confirm">
<div slot="title">{{form.id ? '编辑结算账户' : '新增结算账户' }}</div>
<div slot="title">{{ form.id ? "编辑结算账户" : "新增结算账户" }}</div>
<div>
<a-form-model ref="form" :model="form" :rules="rules" :label-col="{ span: 4 }" :wrapper-col="{ span: 16 }">
<a-form-model-item prop="name" label="账户名称">
@ -20,6 +20,9 @@
<a-form-model-item prop="holder" label="开户人">
<a-input v-model="form.holder" />
</a-form-model-item>
<a-form-model-item prop="card_number" label="开户账号">
<a-input v-model="form.card_number" />
</a-form-model-item>
<a-form-model-item prop="remark" label="备注">
<a-textarea v-model="form.remark" allowClear :rows="4" />
</a-form-model-item>
@ -39,54 +42,55 @@
</template>
<script>
import { settlementAccountCreate, settlementAccountUpdate } from '@/api/basicData'
export default {
name: 'FormModal',
props: ['visible', 'form'],
model: { prop: 'visible', event: 'cancel' },
data() {
return {
typeOptions: [
{ id: 'cash', name: '现金'},
{ id: 'alipay', name: '支付宝'},
{ id: 'wechat', name: '微信钱包'},
{ id: 'bank_account', name: '银行账户'},
{ id: 'other', name: '其他'},
import { settlementAccountCreate, settlementAccountUpdate } from "@/api/basicData";
export default {
name: "FormModal",
props: ["visible", "form"],
model: { prop: "visible", event: "cancel" },
data() {
return {
typeOptions: [
{ id: "cash", name: "现金" },
{ id: "alipay", name: "支付宝" },
{ id: "wechat", name: "微信钱包" },
{ id: "bank_account", name: "银行账户" },
{ id: "other", name: "其他" },
],
rules: {
name: [{ required: true, message: "请输入账户名称", trigger: "change" }],
number: [{ required: true, message: "请输入账户编号", trigger: "change" }],
initial_balance_amount: [
{ pattern: new RegExp(/^\d{0,14}(?:\.\d{0,2})?$/), message: "初期余额格式不正确", trigger: "change" },
],
rules: {
name: [{ required: true, message: '请输入账户名称', trigger: 'change' }],
number: [{ required: true, message: '请输入账户编号', trigger: 'change' }],
initial_balance_amount: [
{ pattern: new RegExp(/^\d{0,14}(?:\.\d{0,2})?$/), message: '初期余额格式不正确', trigger: 'change' }
],
},
loading: false,
};
},
methods: {
confirm() {
this.$refs.form.validate(valid => {
if (valid) {
this.loading = true;
let func = this.form.id ? settlementAccountUpdate : settlementAccountCreate;
func(this.form).then(data => {
this.$message.success(this.form.id ? '修改成功' : '新增成功');
this.$emit(this.form.id ? 'update' : 'create', data);
},
loading: false,
};
},
methods: {
confirm() {
this.$refs.form.validate((valid) => {
if (valid) {
this.loading = true;
let func = this.form.id ? settlementAccountUpdate : settlementAccountCreate;
func(this.form)
.then((data) => {
this.$message.success(this.form.id ? "修改成功" : "新增成功");
this.$emit(this.form.id ? "update" : "create", data);
this.cancel();
}).finally(() => {
})
.finally(() => {
this.loading = false;
});
}
});
},
cancel() {
this.$emit('cancel', false);
this.$refs.form.resetFields();
},
}
});
},
}
cancel() {
this.$emit("cancel", false);
this.$refs.form.resetFields();
},
},
};
</script>
<style scoped>
</style>
<style scoped></style>

View file

@ -88,10 +88,6 @@
dataIndex: 'name',
sorter: true,
},
{
title: '手机号',
dataIndex: 'phone',
},
{
title: '状态',
dataIndex: 'is_active',

View file

@ -88,12 +88,16 @@
sorter: true,
},
{
title: '零售价',
dataIndex: 'retail_price',
title: '分类',
dataIndex: 'category_name',
},
{
title: '保质期天数',
dataIndex: 'shelf_life_days',
title: '采购价',
dataIndex: 'purchase_price',
},
{
title: '零售价',
dataIndex: 'retail_price',
},
{
title: '状态',