|
@@ -3,7 +3,7 @@
|
|
|
<el-card class="mt8" shadow="never" :body-style="{ paddingBottom: '0' }">
|
|
|
<el-form :model="state.filterModel" :inline="true" @submit.stop.prevent>
|
|
|
<el-form-item prop="name">
|
|
|
-
|
|
|
+
|
|
|
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="4" class="mb20">
|
|
|
<el-form-item label="物料编号">
|
|
|
<el-input v-model="state.filterModel.bomMateNo" placeholder="物料编号" clearable></el-input>
|
|
@@ -14,7 +14,7 @@
|
|
|
<el-input v-model="state.filterModel.bomName" placeholder="部件名称" clearable></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
-
|
|
|
+
|
|
|
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="4" class="mb20">
|
|
|
<el-form-item label="部件类型">
|
|
|
<el-select v-model="state.filterModel.bomType" placeholder="请选择部件类型" clearable class="w100">
|
|
@@ -24,7 +24,7 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
-
|
|
|
+
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-button type="primary" icon="ele-Search" @click="onQuery"> 查询 </el-button>
|
|
@@ -32,19 +32,19 @@
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</el-card>
|
|
|
-
|
|
|
+
|
|
|
<el-card class="my-fill mt8" shadow="never">
|
|
|
<el-table v-loading="state.loading" :data="state.bomListData" row-key="id" style="width: 100%">
|
|
|
<el-table-column prop="guid" label="序号" width="120" />
|
|
|
<el-table-column prop="bomType" label="部件类型" width="120" />
|
|
|
<el-table-column prop="bomName" label="部件名称" width="120" />
|
|
|
<el-table-column prop="bomNo" label="物料号" width="120" />
|
|
|
-
|
|
|
+
|
|
|
<el-table-column prop="status" label="状态" width="120" />
|
|
|
-
|
|
|
+
|
|
|
<el-table-column prop="remark" label="备注" min-width="220"/>
|
|
|
<el-table-column prop="bom_Image" label="部件图片" width="180" >
|
|
|
-
|
|
|
+
|
|
|
<template #default="{ row }">
|
|
|
<div class="my-flex">
|
|
|
<el-image
|
|
@@ -64,7 +64,7 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
-
|
|
|
+
|
|
|
<el-table-column prop="createdTime" label="更新时间" width="100">
|
|
|
<template #default="{ row }">
|
|
|
{{ formatterTime(row.modifiedTime || row.createdTime || '') }}
|
|
@@ -118,26 +118,26 @@
|
|
|
/>
|
|
|
</div>
|
|
|
</el-card>
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
</div>
|
|
|
</template>
|
|
|
-
|
|
|
+
|
|
|
<script lang="ts" setup name="admin/product/bom">
|
|
|
import { ref, reactive, onMounted, onBeforeMount, computed } from 'vue'
|
|
|
- import { PageInputFileGetPageDto, FileGetPageOutput } from '/@/api/admin/data-contracts'
|
|
|
- import { ComponentTypeApi } from '/@/api/admin/ComponentType'
|
|
|
+ import { PageInputFileGetPageDto, FileGetPageOutput } from '/src/api/admin/data-contracts'
|
|
|
+ import { ComponentTypeApi } from '/src/api/admin/ComponentType'
|
|
|
import dayjs from 'dayjs'
|
|
|
- import eventBus from '/@/utils/mitt'
|
|
|
- import { isImage } from '/@/utils/test'
|
|
|
+ import eventBus from '/src/utils/mitt'
|
|
|
+ import { isImage } from '/src/utils/test'
|
|
|
//import commonFunction from '/@/utils/commonFunction'
|
|
|
-
|
|
|
+
|
|
|
// const { proxy } = getCurrentInstance() as any
|
|
|
-
|
|
|
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
const fileUploadRef = ref()
|
|
|
-
|
|
|
+
|
|
|
//部件的页面对象
|
|
|
const state = reactive({
|
|
|
loading: false,
|
|
@@ -157,9 +157,9 @@
|
|
|
bomListData: [] as Array<FileGetPageOutput>,
|
|
|
bomLogsTitle: '',
|
|
|
})
|
|
|
-
|
|
|
+
|
|
|
//const { copyText } = commonFunction()
|
|
|
-
|
|
|
+
|
|
|
const previewImglist = computed(() => {
|
|
|
let imgList = [] as string[]
|
|
|
state.bomListData.forEach((a) => {
|
|
@@ -169,7 +169,7 @@
|
|
|
})
|
|
|
return imgList
|
|
|
})
|
|
|
-
|
|
|
+
|
|
|
onMounted(() => {
|
|
|
onQuery()
|
|
|
eventBus.off('refreshFile')
|
|
@@ -177,44 +177,44 @@
|
|
|
onQuery()
|
|
|
})
|
|
|
})
|
|
|
-
|
|
|
+
|
|
|
onBeforeMount(() => {
|
|
|
eventBus.off('refreshFile')
|
|
|
})
|
|
|
-
|
|
|
+
|
|
|
const formatterTime = (cellValue: any) => {
|
|
|
return dayjs(cellValue).format('YYYY-MM-DD HH:mm:ss')
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
const getInitialIndex = (imgUrl: string) => {
|
|
|
return previewImglist.value.indexOf(imgUrl)
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
const onQuery = async () => {
|
|
|
state.loading = true
|
|
|
const res = await new ComponentTypeApi().getPage({ ...state.pageInput, filter: state.filterModel }).catch(() => {
|
|
|
state.loading = false
|
|
|
})
|
|
|
-
|
|
|
+
|
|
|
state.bomListData = res?.data?.list ?? []
|
|
|
state.total = res?.data?.total ?? 0
|
|
|
state.loading = false
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
const onSizeChange = (val: number) => {
|
|
|
state.pageInput.pageSize = val
|
|
|
onQuery()
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
const onCurrentChange = (val: number) => {
|
|
|
state.pageInput.currentPage = val
|
|
|
onQuery()
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
const onUpload = () => {
|
|
|
fileUploadRef.value.open()
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
//const onDelete = (row: FileGetPageOutput) => {
|
|
|
// proxy.$modal
|
|
|
//.confirmDelete(`确定要删除文件【${row.fileName}${row.extension}】?`)
|
|
@@ -225,10 +225,9 @@
|
|
|
// .catch(() => {})
|
|
|
// }
|
|
|
</script>
|
|
|
-
|
|
|
+
|
|
|
<style scoped lang="scss">
|
|
|
.my-el-link {
|
|
|
font-size: 12px;
|
|
|
}
|
|
|
</style>
|
|
|
-
|