mirror of
https://github.com/himool/HimoolERP.git
synced 2024-09-20 14:56:00 +08:00
feat: 调整
This commit is contained in:
parent
ac4320b784
commit
a9ed92058a
|
@ -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='初期余额')
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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,26 +42,26 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { settlementAccountCreate, settlementAccountUpdate } from '@/api/basicData'
|
||||
import { settlementAccountCreate, settlementAccountUpdate } from "@/api/basicData";
|
||||
|
||||
export default {
|
||||
name: 'FormModal',
|
||||
props: ['visible', 'form'],
|
||||
model: { prop: 'visible', event: 'cancel' },
|
||||
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: '其他'},
|
||||
{ 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' }],
|
||||
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' }
|
||||
{ pattern: new RegExp(/^\d{0,14}(?:\.\d{0,2})?$/), message: "初期余额格式不正确", trigger: "change" },
|
||||
],
|
||||
},
|
||||
loading: false,
|
||||
|
@ -66,27 +69,28 @@
|
|||
},
|
||||
methods: {
|
||||
confirm() {
|
||||
this.$refs.form.validate(valid => {
|
||||
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);
|
||||
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.$emit("cancel", false);
|
||||
this.$refs.form.resetFields();
|
||||
},
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
||||
<style scoped></style>
|
||||
|
|
|
@ -88,10 +88,6 @@
|
|||
dataIndex: 'name',
|
||||
sorter: true,
|
||||
},
|
||||
{
|
||||
title: '手机号',
|
||||
dataIndex: 'phone',
|
||||
},
|
||||
{
|
||||
title: '状态',
|
||||
dataIndex: 'is_active',
|
||||
|
|
|
@ -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: '状态',
|
||||
|
|
Loading…
Reference in a new issue