FinanceEdit.vue
2.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<template>
<template>
<BasicDrawer
@register="register"
v-bind="$attrs"
title="收入款单"
width="30%"
:isDetail="true"
@ok="handleSubmit"
:showDetailBack="false"
okText="保存"
showFooter
:destroyOnClose="true"
>
<div>
<BasicForm @register="registerForm" />
</div>
<!-- <template #titleToolbar> <a-button type="primary"> 申请编辑权限 </a-button></template> -->
<template #appendFooter>
<!-- <a-button type="primary" @click="onGoCheckDetail"> 申请权限</a-button> -->
</template>
</BasicDrawer>
</template>
</template>
<script lang="ts" setup>
import { BasicDrawer, useDrawerInner } from '@/components/Drawer';
import { BasicForm, FormSchema, useForm } from '@/components/Form';
import { defineComponent, ref, computed, unref, toRaw, reactive } from 'vue';
import { getEmailList } from '/@/api/sys/config';
import { updateAmount } from '@/api/project/invoice';
const emit = defineEmits(['success']);
const schemas: FormSchema[] = [
// {
// field: 'totalPayAmount',
// component: 'InputNumber',
// labelWidth: 250,
// colProps: {
// span: 23,
// },
// label: '实际应收金额',
// },
{
field: 'actualPayedAmount1',
component: 'InputNumber',
labelWidth: 250,
colProps: {
span: 23,
},
label: '实际应收金额1$',
},
{
field: 'actualPayedAmount2',
component: 'InputNumber',
labelWidth: 250,
colProps: {
span: 23,
},
label: '实际应收金额2$',
},
{
field: 'actualPayedAmount3',
component: 'InputNumber',
labelWidth: 250,
colProps: {
span: 23,
},
label: '实际应收金额3$',
},
{
field: 'otherAmount',
component: 'InputNumber',
labelWidth: 250,
colProps: {
span: 23,
},
label: '其他费用金额$',
},
];
const [registerForm, { setFieldsValue, resetFields, validate }] = useForm({
labelWidth: 120,
schemas,
layout: 'vertical',
showActionButtonGroup: false,
actionColOptions: {
span: 24,
},
});
const update = ref();
const [register, { setDrawerProps, closeDrawer }] = useDrawerInner((data) => {
// 方式1
resetFields();
setDrawerProps({ confirmLoading: false });
setFieldsValue({
...toRaw(data.data),
});
update.value = data;
});
//完成编辑
async function handleSubmit() {
const values = await validate();
const updatedValues = {
...values,
id: update.value.data.id,
bgUrl: update.value.data.bgUrl,
};
await updateAmount({
...updatedValues,
});
emit('success');
closeDrawer();
}
</script>