150 lines
5.2 KiB
Vue
150 lines
5.2 KiB
Vue
|
<template>
|
|||
|
<el-drawer v-model="showDialog" title="订单详情" :size="1200">
|
|||
|
<div class="flex items-center justify-between m-4">
|
|||
|
<div class="flex flex-col">
|
|||
|
<div style="color: gray">仓库:</div>
|
|||
|
<div style="color: black">{{ formData.warehouse_name }}</div>
|
|||
|
</div>
|
|||
|
<div class="flex flex-col" v-if="formData.financial_pm == 1">
|
|||
|
<div style="color: gray">供应商:</div>
|
|||
|
<div style="color: black">{{ formData.supplier_name }}</div>
|
|||
|
</div>
|
|||
|
<div class="flex flex-col" v-else>
|
|||
|
<div style="color: gray">门店:</div>
|
|||
|
<div style="color: black">{{ formData.system_store }}</div>
|
|||
|
</div>
|
|||
|
<div class="flex flex-col">
|
|||
|
<div style="color: gray">单号:</div>
|
|||
|
<div style="color: black">{{ formData.code }}</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="flex items-center justify-between m-4">
|
|||
|
<div class="flex flex-col">
|
|||
|
<div style="color: gray">总价</div>
|
|||
|
<div style="color: black">¥{{ formData.total_price }}</div>
|
|||
|
</div>
|
|||
|
<div class="flex flex-col flex-2">
|
|||
|
<div style="color: gray">时间</div>
|
|||
|
<div style="color: black">{{ formData.create_time }}</div>
|
|||
|
</div>
|
|||
|
<el-button @click="xlsx(formData.id)"> 打印 </el-button>
|
|||
|
</div>
|
|||
|
<el-tabs v-model="activeName" class="demo-tabs" type="border-card">
|
|||
|
<el-tab-pane label="明细" name="second">
|
|||
|
<div>
|
|||
|
<div>
|
|||
|
<el-table :data="pager.lists" v-loading="pager.loading">
|
|||
|
<el-table-column
|
|||
|
label="商品信息"
|
|||
|
prop="store_name"
|
|||
|
show-overflow-tooltip
|
|||
|
>
|
|||
|
<template #default="{ row }">
|
|||
|
<div class="flex items-center">
|
|||
|
<el-image
|
|||
|
:src="row.image"
|
|||
|
class="w-16 h-16 mr-2"
|
|||
|
:preview-teleported="true"
|
|||
|
></el-image>
|
|||
|
<div>{{ row.store_name }}</div>
|
|||
|
</div>
|
|||
|
</template>
|
|||
|
</el-table-column>
|
|||
|
<el-table-column label="数量" prop="nums" show-overflow-tooltip />
|
|||
|
<el-table-column label="采购价" prop="purchase" show-overflow-tooltip />
|
|||
|
<el-table-column
|
|||
|
label="合计"
|
|||
|
prop="total_price"
|
|||
|
show-overflow-tooltip
|
|||
|
/>
|
|||
|
</el-table>
|
|||
|
</div>
|
|||
|
<div class="flex mt-4 justify-end" v-if="pager.lists.length < pager.count">
|
|||
|
<pagination v-model="pager" @change="getLists" />
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</el-tab-pane>
|
|||
|
</el-tabs>
|
|||
|
</el-drawer>
|
|||
|
</template>
|
|||
|
|
|||
|
<script lang="ts" setup name="storeOrderDETAILS">
|
|||
|
import { ElMessage, type FormInstance } from 'element-plus'
|
|||
|
import Popup from '@/components/popup/index.vue'
|
|||
|
import { apiWarehouseProductLists } from '@/api/warehouse_product'
|
|||
|
import { apiWarehouseOrderRentryExport, apiWarehouseOrderExport } from '@/api/warehouse_order'
|
|||
|
import type { PropType } from 'vue'
|
|||
|
import { usePaging } from '@/hooks/usePaging'
|
|||
|
import { useRoute } from 'vue-router'
|
|||
|
const route = useRoute()
|
|||
|
|
|||
|
defineProps({
|
|||
|
dictData: {
|
|||
|
type: Object as PropType<Record<string, any[]>>,
|
|||
|
default: () => ({})
|
|||
|
}
|
|||
|
})
|
|||
|
|
|||
|
const emit = defineEmits(['success', 'close'])
|
|||
|
const showDialog = ref(false)
|
|||
|
const activeName = ref('second')
|
|||
|
|
|||
|
// 表单数据
|
|||
|
const formData = ref({
|
|||
|
id: '',
|
|||
|
code: '',
|
|||
|
total_price: '',
|
|||
|
supplier_name: '',
|
|||
|
warehouse_name: '',
|
|||
|
system_store: '',
|
|||
|
financial_pm: ''
|
|||
|
})
|
|||
|
const queryParams = reactive({
|
|||
|
oid: '',
|
|||
|
pay_type: ''
|
|||
|
})
|
|||
|
// 获取详情
|
|||
|
const setFormData = async (data: Record<any, any>) => {
|
|||
|
formData.value = { ...data }
|
|||
|
}
|
|||
|
|
|||
|
const getDetail = async (row: Record<string, any>) => {
|
|||
|
formData.value = { ...row }
|
|||
|
queryParams.oid = row.id
|
|||
|
// setFormData(data)
|
|||
|
getLists()
|
|||
|
}
|
|||
|
const xlsx = (id) => {
|
|||
|
if (formData.value.financial_pm == 1) {
|
|||
|
apiWarehouseOrderRentryExport({
|
|||
|
id: id
|
|||
|
}).then((res) => {
|
|||
|
window.open(res.url, '_blank')
|
|||
|
ElMessage.success('导出成功')
|
|||
|
})
|
|||
|
} else {
|
|||
|
apiWarehouseOrderExport({
|
|||
|
id: id
|
|||
|
}).then((res) => {
|
|||
|
window.open(res.url, '_blank')
|
|||
|
ElMessage.success('导出成功')
|
|||
|
})
|
|||
|
}
|
|||
|
}
|
|||
|
//打开弹窗
|
|||
|
const open = () => {
|
|||
|
showDialog.value = true
|
|||
|
}
|
|||
|
// 分页相关
|
|||
|
const { pager, getLists, resetParams, resetPage } = usePaging({
|
|||
|
fetchFun: apiWarehouseProductLists,
|
|||
|
params: queryParams
|
|||
|
})
|
|||
|
|
|||
|
defineExpose({
|
|||
|
open,
|
|||
|
setFormData,
|
|||
|
getDetail
|
|||
|
})
|
|||
|
</script>
|