| | |
| | | <template> |
| | | <basicContainer> |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="pageF.loading" |
| | | :data="tableData" |
| | | :page="page" |
| | | :permission="permissionList" |
| | | :before-open="beforeOpen" |
| | | v-model="form" |
| | | ref="crudRef" |
| | | @row-update="rowUpdate" |
| | | @row-save="rowSave" |
| | | @refresh-change="refreshChange" |
| | | @row-del="rowDel" |
| | | @search-change="searchChange" |
| | | @search-reset="searchReset" |
| | | @selection-change="selectionChange" |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @on-load="onLoad" |
| | | > |
| | | <avue-crud :option="option" :table-loading="pageF.loading" :data="tableData" :page="page" |
| | | :permission="permissionList" :before-open="beforeOpen" v-model="form" ref="crudRef" @row-update="rowUpdate" |
| | | @row-save="rowSave" @refresh-change="refreshChange" @row-del="rowDel" @search-change="searchChange" |
| | | @search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange" |
| | | @size-change="sizeChange" @on-load="onLoad"> |
| | | <template #menu-left> |
| | | |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="Download" |
| | | @click="handleExport" |
| | | v-hasPermi="['cwgl:dispatchOrder:export']" |
| | | >导出 |
| | | <el-button type="warning" plain icon="Download" @click="handleExport" |
| | | v-hasPermi="['cwgl:dispatchOrder:export']">导出 |
| | | </el-button> |
| | | <el-button |
| | | type="success" |
| | | plain |
| | | icon="Download" |
| | | @click="handleExport" |
| | | v-hasPermi="['cwgl:dispatchOrder:export']" |
| | | >生成台账报表 |
| | | <el-button type="success" plain icon="Download" @click="handleExport" |
| | | v-hasPermi="['cwgl:dispatchOrder:export']">生成台账报表 |
| | | </el-button> |
| | | </template> |
| | | <template #menu="{ size, row, index }"> |
| | | <el-link class="link-btn" |
| | | type="primary" :underline="false" |
| | | plain :size="size" |
| | | icon="View" |
| | | @click="handleFy(row)" |
| | | v-hasPermi="['cwgl:dispatchOrder:query']" |
| | | > 查看费用 |
| | | <el-link class="link-btn" type="primary" :underline="false" plain :size="size" icon="View" |
| | | @click="handleFy(row)" v-hasPermi="['cwgl:dispatchOrder:query']"> 查看费用 |
| | | </el-link> |
| | | <el-link class="link-btn" |
| | | type="primary" :underline="false" |
| | | plain |
| | | icon="View" |
| | | @click="handleFj(row)" |
| | | v-hasPermi="['cwgl:dispatchOrder:query']" |
| | | > 查看附件 |
| | | <el-link class="link-btn" type="primary" :underline="false" plain icon="View" @click="handleFj(row)" |
| | | v-hasPermi="['cwgl:dispatchOrder:query']"> 查看附件 |
| | | </el-link> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog title="查看费用" v-model="open1" class="avue-dialog avue-dialog--top" width="60%"> |
| | | <avue-crud |
| | | :option="itemTableOption1" |
| | | :data="itemTableData1" |
| | | :table-loading="itemTableLoading1" |
| | | > |
| | | <avue-crud :option="itemTableOption1" :data="itemTableData1" :table-loading="itemTableLoading1"> |
| | | |
| | | </avue-crud> |
| | | </el-dialog> |
| | | <el-dialog title="查看附件" v-model="open2" class="avue-dialog avue-dialog--top" width="60%"> |
| | | <avue-crud |
| | | :option="itemTableOption2" |
| | | :data="itemTableData2" |
| | | :table-loading="itemTableLoading2" |
| | | > |
| | | |
| | | <avue-crud :option="itemTableOption2" :data="itemTableData2" :page="pageAttachment" |
| | | :table-loading="itemTableLoading2" @current-change="handleAttachmentCurrentChange" |
| | | @size-change="handleAttachmentSizeChange"> |
| | | <template #imageUrl="{ row }"> |
| | | <el-image :src="row.imageUrl" style="width: 100px; height: 100px" fit="cover" |
| | | :preview-src-list="[row.imageUrl]" :preview-teleported="true" hide-on-click-modal |
| | | class="attachment-image" /> |
| | | </template> |
| | | </avue-crud> |
| | | |
| | | </el-dialog> |
| | | </basicContainer> |
| | | </template> |
| | |
| | | exportDispatchOrder, |
| | | getDispatchOrder, |
| | | listDispatchOrder, |
| | | updateDispatchOrder |
| | | updateDispatchOrder, cwglDispatchOrderItem, cwglDispatchOrderattAchment |
| | | } from "@/api/cwgl/dispatchOrder"; |
| | | import useCurrentInstance from "@/utils/useCurrentInstance"; |
| | | import {computed, reactive, ref, toRefs} from "vue"; |
| | |
| | | total: 0, |
| | | currentPage: 1, |
| | | }, |
| | | pageAttachment: <PagesInterface>{ |
| | | pageSize: 10, |
| | | total: 0, |
| | | currentPage: 1, |
| | | }, |
| | | selectionList: [], |
| | | itemTableData1: [], |
| | | itemTableData2: [], |
| | |
| | | itemTableLoading1:false, |
| | | itemTableLoading2:false, |
| | | }) |
| | | const {queryParams, form, page, selectionList, itemTableData1, itemTableData2, open1, open2, itemTableLoading1, itemTableLoading2} = toRefs(data); |
| | | const { queryParams, form, page, selectionList, itemTableData1, itemTableData2, open1, open2, itemTableLoading1, itemTableLoading2, |
| | | pageAttachment |
| | | } = toRefs(data); |
| | | const option = ref({ |
| | | pageKey: 'DispatchOrder', |
| | | rowKey: 'id', |
| | |
| | | menu: false, |
| | | header: false, |
| | | column: { |
| | | packageTrackingNo: { |
| | | feeItem: { |
| | | label: '费用类型',minWidth: 180,fixed: 'left' |
| | | }, |
| | | ys: { |
| | | receivableFee: { |
| | | label: '应收费用',minWidth: 180, |
| | | }, |
| | | yf: { |
| | | receivableFeeCurrency: { |
| | | label: '应收币制类型', minWidth: 180, |
| | | }, |
| | | actualFee: { |
| | | label: '应付费用',minWidth: 180, |
| | | }, |
| | | isFY: { |
| | | label: '是否可付款',minWidth: 180, |
| | | actualFeeCurrency: { |
| | | label: '应付费用币制类型', minWidth: 180, |
| | | }, |
| | | isSettlement: { |
| | | label: '是否可付款', dataType: 'string', minWidth: 180, |
| | | type: 'select', |
| | | dicUrl: '/system/dict/data/type/sys_whether_type', |
| | | }, |
| | | } |
| | | }) |
| | |
| | | menu: false, |
| | | header: false, |
| | | column: { |
| | | packageTrackingNo: { |
| | | feeItem: { |
| | | label: '费用类型',minWidth: 180,fixed: 'left' |
| | | }, |
| | | ys: { |
| | | account: { |
| | | label: '金额',minWidth: 180, |
| | | }, |
| | | yf: { |
| | | currency: { |
| | | label: '币值',minWidth: 180, |
| | | }, |
| | | isFY: { |
| | | label: '图片',minWidth: 180, |
| | | imageUrl: { |
| | | label: '图片', |
| | | prop: 'img', |
| | | dataType: 'string', |
| | | type: 'img' |
| | | }, |
| | | |
| | | } |
| | | }) |
| | | |
| | | |
| | | |
| | | const handleFy = (row:DispatchOrderI) => { |
| | | |
| | | cwglDispatchOrderItem({ no: row.dispatchNo }).then((res: any) => { |
| | | if (res.code == 200) { |
| | | itemTableData1.value = res.data || []; |
| | | open1.value = true; |
| | | } |
| | | |
| | | }) |
| | | } |
| | | const pangeIshow = ref(false); |
| | | const handleFj = (row:DispatchOrderI) => { |
| | | pageAttachment.value ={ |
| | | pageSize: 10, |
| | | pageNum: 1, |
| | | no:row.dispatchNo |
| | | } |
| | | pangeIshow.value = true; |
| | | cwglDispatchOrderattAchment(pageAttachment.value).then((res: any) => { |
| | | if (res.code == 200) { |
| | | itemTableData2.value = res.rows || []; |
| | | pageAttachment.value.total = res.total || 0; |
| | | open2.value = true; |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 处理附件分页页码变化 |
| | | const handleAttachmentCurrentChange = (currentPage: number) => { |
| | | pageAttachment.value.pageNum = currentPage; |
| | | loadAttachmentData(); |
| | | } |
| | | |
| | | // 处理附件分页大小变化 |
| | | const handleAttachmentSizeChange = (pageSize: number) => { |
| | | pageAttachment.value.pageSize = pageSize; |
| | | // pageAttachment.value.currentPage = 1; // 重置到第一页 |
| | | loadAttachmentData(); |
| | | } |
| | | |
| | | // 加载附件数据的函数 |
| | | const loadAttachmentData = () => { |
| | | itemTableLoading2.value = true; |
| | | cwglDispatchOrderattAchment({ |
| | | no: pageAttachment.value.no, |
| | | pageNum: pageAttachment.value.pageNum, |
| | | pageSize: pageAttachment.value.pageSize |
| | | }).then((res: any) => { |
| | | if (res.code == 200) { |
| | | itemTableData2.value = res.rows || []; |
| | | pageAttachment.value.total = res.total || 0; |
| | | } |
| | | itemTableLoading2.value = false; |
| | | }).catch(() => { |
| | | itemTableLoading2.value = false; |
| | | }); |
| | | } |
| | | |
| | | // 附件表格加载事件 |
| | | const attachmentChange = () => { |
| | | // loadAttachmentData(); |
| | | } |
| | | |
| | | </script> |
| | | <style lang="scss" scoped> |
| | |
| | | flex: 1; |
| | | overflow: scroll; |
| | | } |
| | | |
| | | .attachment-image { |
| | | .el-image__preview { |
| | | z-index: 9999 !important; |
| | | } |
| | | } |
| | | </style> |