91 lines
3.0 KiB
Vue
Raw Normal View History

2025-03-21 09:20:29 +08:00
<template>
<el-dialog :model-value="props.showes" width="70%" >
<avue-crud ref="crudRef" :data="props.listData" :option="state.option"></avue-crud>
<div class="btnList">
<el-button type="primary" @click="emits('generateDocuments')">生成通知单</el-button>
</div>
</el-dialog>
</template>
<script setup lang="ts">
2025-03-24 16:46:34 +08:00
import {defineProps, reactive, defineEmits, computed} from 'vue';
2025-03-21 09:20:29 +08:00
const emits = defineEmits(['generateDocuments'])
2025-03-24 16:46:34 +08:00
import { useI18n } from 'vue-i18n';
const { locale, t } = useI18n();
2025-03-21 09:20:29 +08:00
const props = defineProps({
listData:{
type: Array,
default: () => []
},
showes:{
type: Boolean,
default: false
}
});
const state = reactive({
dialogVisible: true,
option: {
tip: false,
selection: true,
index: true,
menu: false,
menuWidth: 150,
border: true,
delBtn: false,
editBtn: false,
align: 'center',
2025-03-24 16:46:34 +08:00
searchLabelWidth: 140,
2025-03-21 09:20:29 +08:00
searchMenuSpan: 6,
addBtn: false,
column: [
2025-03-24 16:46:34 +08:00
{ label: computed(() => t('message.list.MaterialCode')), prop: 'FMaterialId', width: 200, search: true },
{ label: computed(() => t('message.list.MaterialName')), prop: 'FMaterialName', width: 200, search: true },
{ label: computed(() => t('message.list.Specification')), prop: 'FModel', width: 200, search: true },
{ label: computed(() => t('message.list.PurchaseUnit')), prop: 'FUnitId', width: 200, search: true },
{ label: computed(() => t('message.list.QTY')), prop: 'FPrice', width: 200 },
{ label: computed(() => t('message.list.UP')), prop: 'FTaxPrice', width: 200 },
{ label: computed(() => t('message.list.TotalAmount')), prop: 'FEntryAmount', width: 200 },
{ label: computed(() => t('message.list.TotalAmountTaxInclusive')), prop: 'FAllAmount', width: 200 },
{ label: computed(() => t('message.list.AccumulatedReceiptQTY')), prop: 'FReceiveQty', width: 200 },
2025-03-21 09:20:29 +08:00
{
2025-03-24 16:46:34 +08:00
label: computed(() => t('message.list.DemondDate')),
2025-03-21 09:20:29 +08:00
prop: 'FDeliveryDate',
width: 200,
search: true,
type: 'datetime',
searchSpan: 12,
searchRange: true,
searchLabelWidth: 150,
},
2025-03-24 16:46:34 +08:00
{ label: computed(() => t('message.list.TaxAmount')), prop: 'TaxAmount', width: 200 },
2025-03-21 09:20:29 +08:00
{
2025-03-24 16:46:34 +08:00
label: computed(() => t('message.list.CommittedDeliveryDate')),
2025-03-21 09:20:29 +08:00
prop: 'FSupDueDate',
width: 200,
search: true,
type: 'datetime',
searchSpan: 12,
searchRange: true,
searchLabelWidth: 150,
},
{
2025-03-24 16:46:34 +08:00
label: computed(() => t('message.list.LatestCommittedDeliveryDate')),
2025-03-21 09:20:29 +08:00
prop: 'FSupDueNewDate',
width: 200,
search: true,
type: 'datetime',
searchSpan: 12,
searchRange: true,
searchLabelWidth: 150,
},
2025-03-24 16:46:34 +08:00
{ label: computed(() => t('message.list.Comments2')), prop: 'FNote', width: 200 },
2025-03-21 09:20:29 +08:00
],
},
});
</script>
<style scoped lang="scss">
.btnList{
margin-top: 26px;
display: flex;
justify-content: center;
}
</style>