wms_web_nantong_yachi/src/layout/imageTable.vue

95 lines
3.7 KiB
Vue
Raw Normal View History

2025-03-08 10:02:56 +08:00
<template>
<div style="display: flex;justify-content: space-between;">
<el-row>
<el-input v-model="productIdQuery" style="width: 196px; margin-right: 10px;" placeholder="成品号" />
<el-input v-model="boxNoQuery" style="width: 196px; margin-right: 10px;" placeholder="料盒号" />
<el-button type="primary" @click="init()">搜索</el-button>
<!-- <el-button type="warning" @click="reset()">重置</el-button> -->
</el-row>
</div>
<el-table :data="datalist" stripe border v-loading="loading" class="table-class" max-height="550px"
highlight-current-row :header-cell-style="{ 'text-align': 'center' }" :cell-style="{ 'text-align': 'center' }">
<el-table-column prop="productId" label="成品号" fixed="left" min-width="120px" />
<el-table-column prop="boxNo" label="料盒号" fixed="left" min-width="120px"
show-overflow-tooltip />
<el-table-column fixed="right" label="操作" width="120px">
<template v-slot="scope">
<el-button plain type="primary" @click="openPreview(scope.row)">预览</el-button>
</template>
</el-table-column>
</el-table>
<!-- 图片预览 -->
<el-image-viewer v-if="showImagePreview" :zoom-rate="1.2" @close="closePreview" :url-list="imgPreviewList" />
</template>
<script setup>
import axios from 'axios'
// import store from '@/store'
import { errorBox } from '@/utils/myMessageBox.js'
</script>
<script>
export default {
name: 'imageTable',
data() {
return {
loading: true,
datalist: [],
showImagePreview: false,
imgPreviewList: [],
currentBase64FileData: {
url: '',
base64: '',
name: ''
},
request: axios.create({
baseURL: 'https://s4wwjasrsp01.ap.cat.com/wmsServer/test',
timeout: 10000
}),
productIdQuery: '',
boxNoQuery: ''
}
},
mounted() {
this.init()
},
methods: {
init() {
this.loading = true
const request = {
productId: this.productIdQuery,
boxNo: this.boxNoQuery,
// userName: store.getters.getUserName
}
this.request({
url: '/testRequestImage',
method: 'post',
data: request
}).then(res => {
const response = res.data
if (response.code == 0) {
this.datalist = response.data
} else {
errorBox(response.message)
}
}).catch(err => {
console.log(err)
errorBox('查询错误')
})
this.loading = false
},
openPreview(row) {
this.currentBase64FileData.url = 'http://localhost:12315/image/' + row.imageName
this.currentBase64FileData.base64 = 'data:image/png;base64,' + row.imageDetail
this.currentBase64FileData.name = row.imageName
this.showImagePreview = true
// 下面数组里可以放一个url如'https://raw.githubusercontent.com/JACK-ZHANG-coming/map-depot/master/2023image-20231120091054028.png'我这里放的是一个base64数据也可以用来显示图片
this.imgPreviewList = [this.currentBase64FileData.base64]
// this.imgPreviewList = [this.currentBase64FileData.url]
},
closePreview() {
this.imgPreviewList = []
this.showImagePreview = false
}
}
}
</script>
<style scoped></style>