组件联动
{
...useFormItemSpan(3),
...useFormBoolSelect(),
fieldName: 'IsUnifiedDelivery',
label: '是否统一交货',
},
{
...useFormItemSpan(3),
...useFormDatePicker(),
dependencies: {
show(values) {
return !!values.IsUnifiedDelivery;
},
trigger(value) {
if (value.IsUnifiedDelivery && value.UnifiedDeliveryDate) {
value.SalesDetailList.forEach((item: any) => {
item.DeliveryDate = value.UnifiedDeliveryDate;
});
}
},
triggerFields: ['IsUnifiedDelivery', 'UnifiedDeliveryDate'],
},
fieldName: 'UnifiedDeliveryDate',
label: '统一交货日期',
},
{
...useFormItemSpan(3),
...useFormInput('请输入快递备注'),
dependencies: {
if(values) {
return [5201, 5202].includes(values.OutboundMethodId * 1);
},
triggerFields: ['OutboundMethodId'],
},
fieldName: 'CourierRemark',
label: '快递备注',
},
{
...useFormItemSpan(6),
component: 'Select',
componentProps: {
allowClear: true,
placeholder: '请选择税率',
options: [
{ label: '不含税', value: 0 },
{ label: '1%', value: 0.01 },
{ label: '2%', value: 0.02 },
{ label: '3%', value: 0.03 },
{ label: '4%', value: 0.04 },
{ label: '5%', value: 0.05 },
{ label: '6%', value: 0.06 },
{ label: '7%', value: 0.07 },
{ label: '8%', value: 0.08 },
{ label: '9%', value: 0.09 },
{ label: '10%', value: 0.1 },
{ label: '11%', value: 0.11 },
{ label: '12%', value: 0.12 },
{ label: '13%', value: 0.13 },
{ label: '14%', value: 0.14 },
{ label: '15%', value: 0.15 },
{ label: '16%', value: 0.16 },
],
},
fieldName: 'TaxRate',
label: '税率',
},
{
...useFormItemSpan(6),
...useFormInput('税额将自动计算'),
fieldName: 'TaxAmount',
label: '税额',
componentProps: {
placeholder: '税额将自动计算',
readonly: true,
disabled: true,
},
dependencies: {
trigger: (values: any, formApi: any) => {
const receivedAmount = parseFloat(values.ReceivedAmount) || 0;
const taxRate = parseFloat(values.TaxRate) || 0;
const taxAmount = receivedAmount / (1 + taxRate) * taxRate;
formApi.setFieldValue('TaxAmount', taxAmount.toFixed(2));
},
triggerFields: ['ReceivedAmount', 'TaxRate'],
},
},
{
...useFormItemSpan(4),
...useFormInput('公司编号/公司名称/联系人/联系方式等关键词'),
fieldName: 'Keyword',
label: '',
},
{ key: 'Keyword', type: 'like', value: valueMap.Keyword },
import { nextTick } from 'vue';
setTimeout(() => {
nextTick(() => {
gridApi.grid?.setAllTreeExpand(true);
});
}, 0);