|
@@ -34,7 +34,7 @@
|
|
|
prop="inventoryCode"
|
|
|
header-align="center"
|
|
|
align="center"
|
|
|
- min-width="140"
|
|
|
+ width="140"
|
|
|
:show-tooltip-when-overflow="true"
|
|
|
label="编码">
|
|
|
</el-table-column>
|
|
@@ -42,7 +42,8 @@
|
|
|
prop="createTime"
|
|
|
header-align="center"
|
|
|
align="center"
|
|
|
- min-width="160"
|
|
|
+ width="160"
|
|
|
+ :show-tooltip-when-overflow="true"
|
|
|
label="开始日期">
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
@@ -56,6 +57,7 @@
|
|
|
prop="state"
|
|
|
header-align="center"
|
|
|
align="center"
|
|
|
+ min-width="100"
|
|
|
:formatter="formatState"
|
|
|
label="状态">
|
|
|
</el-table-column>
|
|
@@ -63,6 +65,7 @@
|
|
|
prop="approverState"
|
|
|
header-align="center"
|
|
|
align="center"
|
|
|
+ min-width="100"
|
|
|
:formatter="formatApproveState"
|
|
|
label="审批状态">
|
|
|
</el-table-column>
|
|
@@ -70,6 +73,7 @@
|
|
|
prop="approver"
|
|
|
header-align="center"
|
|
|
align="center"
|
|
|
+ min-width="100"
|
|
|
label="当前处理人">
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
@@ -92,15 +96,28 @@
|
|
|
:show-tooltip-when-overflow="true"
|
|
|
label="备注">
|
|
|
</el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="attachList"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ min-width="120"
|
|
|
+ label="导入文件记录">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div v-for="(item, index) in scope.row.attachList" style="display: inline">
|
|
|
+ <span v-if="index > 0">,</span>
|
|
|
+ <a :key="item.fileName + index" type="primary" href="#" @click="previewFile(item.fileName, item.url)">{{ item.fileName }}</a>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column
|
|
|
fixed="right"
|
|
|
header-align="center"
|
|
|
align="center"
|
|
|
- width="100"
|
|
|
+ width="140"
|
|
|
label="操作">
|
|
|
<template slot-scope="scope">
|
|
|
<el-button v-if="isAuth('wh:inventory:info')" type="text" size="small" @click="detailHandle(scope.row.inventoryId)">查看</el-button>
|
|
|
- <el-button v-if="isAuth('wh:inventory:export') && Number(scope.row.state) === 0" type="text" size="small" @click="exportExcel(scope.row.warehouseId)">导出</el-button>
|
|
|
+ <el-button v-if="isAuth('wh:inventory:export') && Number(scope.row.state) === 0" type="text" size="small" @click="exportExcel(scope.row.inventoryId)">导出</el-button>
|
|
|
<el-button v-if="isAuth('wh:inventory:import') && Number(scope.row.state) === 0" type="text" size="small" @click="importExcel()">导入</el-button>
|
|
|
<!-- <el-button v-if="isAuth('wh:inventory:start') && Number(scope.row.state) === 0" type="text" size="small" @click="addOrUpdateHandle(scope.row.inventoryId, false)">盘点</el-button>-->
|
|
|
</template>
|
|
@@ -120,6 +137,10 @@
|
|
|
<inventory-add v-if="inventoryAddVisible" ref="inventoryAdd" @refreshDataList="getDataList" @onChose="onChose"></inventory-add>
|
|
|
<inventory-begin v-if="inventoryDetailVisible" ref="inventoryDetail" @refreshDataList="getDataList" @onChose="onChose"></inventory-begin>
|
|
|
<detail v-if="detailVisible" ref="detail" @onChose="onChose"/>
|
|
|
+ <!-- 文件预览 -->
|
|
|
+ <preview-component v-if="previewVisible" ref="preview"/>
|
|
|
+ <!-- 文件选择 -->
|
|
|
+ <input v-show="false" ref="fileRef" type="file" @change="fileChange"/>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -128,14 +149,16 @@
|
|
|
import inventoryBegin from './inventory-begin'
|
|
|
import Detail from './inventory-detail'
|
|
|
import {getInventoryList} from '@/api/warehouse'
|
|
|
+ import PreviewComponent from '@/views/modules/common/preview-component'
|
|
|
export default {
|
|
|
name: 'stock-order',
|
|
|
- components: {inventoryAdd, inventoryBegin, Detail},
|
|
|
+ components: {PreviewComponent, inventoryAdd, inventoryBegin, Detail},
|
|
|
data () {
|
|
|
return {
|
|
|
inventoryAddVisible: false,
|
|
|
inventoryDetailVisible: false,
|
|
|
detailVisible: false,
|
|
|
+ previewVisible: false,
|
|
|
dataForm: {},
|
|
|
dataList: [],
|
|
|
pageIndex: 1,
|
|
@@ -234,11 +257,62 @@
|
|
|
const item1 = this.optionsApproveState.find((item) => item.code === row.approverState.toString())
|
|
|
return item1 ? item1.value : ''
|
|
|
},
|
|
|
+ // 预览
|
|
|
+ previewFile (fileName, url) {
|
|
|
+ this.previewVisible = true
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.preview.init(fileName, url)
|
|
|
+ })
|
|
|
+ },
|
|
|
detailHandle (id) {
|
|
|
this.detailVisible = true
|
|
|
this.$nextTick(() => {
|
|
|
this.$refs.detail.init(id)
|
|
|
})
|
|
|
+ },
|
|
|
+ exportExcel (inventoryId) {
|
|
|
+ this.$http({
|
|
|
+ url: this.$http.adornUrl('/biz-service/inventory-checking-ctl/exportExcel'),
|
|
|
+ method: 'get',
|
|
|
+ params: this.$http.adornParams({
|
|
|
+ 'inventoryId': inventoryId
|
|
|
+ })
|
|
|
+ }).then((res) => {
|
|
|
+ let data = res.data
|
|
|
+ if (!data) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ let url = window.URL.createObjectURL(new Blob([data]))
|
|
|
+ let a = document.createElement('a')
|
|
|
+ let _fileName = res.headers['content-disposition'].split(';')[1].split('=')[1]
|
|
|
+ a.style.display = 'none'
|
|
|
+ a.href = url
|
|
|
+ a.setAttribute('download', _fileName)
|
|
|
+ document.body.appendChild(a)
|
|
|
+ a.click() // 执行下载
|
|
|
+ window.URL.revokeObjectURL(a.href)
|
|
|
+ document.body.removeChild(a)
|
|
|
+ }).catch((error) => { console.log(error) })
|
|
|
+ },
|
|
|
+ // 上传文件
|
|
|
+ importExcel () {
|
|
|
+ this.$refs.fileRef.dispatchEvent(new MouseEvent('click'))
|
|
|
+ },
|
|
|
+ fileChange (e) {
|
|
|
+ const file = e.target.files[0]
|
|
|
+ const formData = new FormData()
|
|
|
+ formData.append('importFile', file.raw)
|
|
|
+ this.$http({
|
|
|
+ url: this.$http.adornUrl('/biz-service/inventory-checking-ctl/importExcel'),
|
|
|
+ method: 'post',
|
|
|
+ data: formData
|
|
|
+ }).then(({data}) => {
|
|
|
+ if (data && data.code === '200') {
|
|
|
+ this.$message.success('上传成功')
|
|
|
+ } else {
|
|
|
+ this.$message.error('上传失败')
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
}
|