|
|
|
@ -1,55 +1,58 @@
|
|
|
|
<template>
|
|
|
|
<template>
|
|
|
|
<div>
|
|
|
|
<div>
|
|
|
|
<xy-dialog :is-show.sync="isShow" type="normal" title="查看" class="contract-detail">
|
|
|
|
<xy-dialog :is-show.sync="isShow" type="normal" title="查看" class="contract-detail">
|
|
|
|
<template v-slot:normalContent>
|
|
|
|
<template v-slot:normalContent>
|
|
|
|
<el-descriptions title="基本信息" :column="2" border>
|
|
|
|
<el-descriptions title="基本信息" :column="2" border>
|
|
|
|
<el-descriptions-item label="入库类型">{{form.rukuleixing}}</el-descriptions-item>
|
|
|
|
<el-descriptions-item label="入库类型">{{form.rukuleixing}}</el-descriptions-item>
|
|
|
|
<el-descriptions-item label="入库日期">{{form.rukushijian}}</el-descriptions-item>
|
|
|
|
<el-descriptions-item label="入库日期">{{form.rukushijian}}</el-descriptions-item>
|
|
|
|
<el-descriptions-item label="经办人">{{form.jingbanren}}</el-descriptions-item>
|
|
|
|
<el-descriptions-item label="经办人">{{form.jingbanren}}</el-descriptions-item>
|
|
|
|
<!-- <el-descriptions-item label="记录人">{{form.jilurenyuan}}</el-descriptions-item>
|
|
|
|
<!-- <el-descriptions-item label="记录人">{{form.jilurenyuan}}</el-descriptions-item>
|
|
|
|
<el-descriptions-item label="保管人" :span="2">{{form.baoguanrenyuan}}</el-descriptions-item> -->
|
|
|
|
<el-descriptions-item label="保管人" :span="2">{{form.baoguanrenyuan}}</el-descriptions-item> -->
|
|
|
|
<el-descriptions-item label="附件" :span="2">
|
|
|
|
<el-descriptions-item label="附件" :span="2">
|
|
|
|
<div v-for="item in zuozhengList">
|
|
|
|
<div v-for="item in zuozhengList">
|
|
|
|
<a style="color: blue;" :href="item.url" target="_blank">{{item.name}}</a>
|
|
|
|
<a style="color: blue;" :href="item.url" target="_blank">{{item.name}}</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</el-descriptions-item>
|
|
|
|
</el-descriptions-item>
|
|
|
|
<el-descriptions-item label="备注" :span="2">{{form.beizhu}}</el-descriptions-item>
|
|
|
|
<el-descriptions-item label="备注" :span="2">{{form.beizhu}}</el-descriptions-item>
|
|
|
|
</el-descriptions>
|
|
|
|
</el-descriptions>
|
|
|
|
<div style="margin: 10px 0;font-weight: bold;color:#303133;font-size: 16px;">
|
|
|
|
<div style="margin: 10px 0;font-weight: bold;color:#303133;font-size: 16px;">
|
|
|
|
物资明细
|
|
|
|
物资明细
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<xy-table style="width: 100%" :height="260" :is-page="false" :list="mingxiList" :table-item="mingxiTable">
|
|
|
|
<xy-table style="width: 100%" :height="260" :is-page="false" :list="mingxiList" :table-item="mingxiTable">
|
|
|
|
<template v-slot:btns>
|
|
|
|
<template v-slot:btns>
|
|
|
|
<div></div>
|
|
|
|
<div></div>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</xy-table>
|
|
|
|
</xy-table>
|
|
|
|
<div style="margin: 10px 0;font-weight: bold;color:#303133;font-size: 16px;">
|
|
|
|
<div style="margin: 10px 0;font-weight: bold;color:#303133;font-size: 16px;">
|
|
|
|
现场实物图
|
|
|
|
现场实物图
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div>
|
|
|
|
<div>
|
|
|
|
<!-- 确认入库 -->
|
|
|
|
<!-- 确认入库 -->
|
|
|
|
<el-upload v-if="form.zhuangtai===2" ref="upload" list-type="picture-card" class="upload-demo" :action="action" multiple :headers="headers"
|
|
|
|
<el-upload v-if="form.zhuangtai===2" ref="upload" list-type="text" class="upload-demo" :action="action" multiple :headers="headers"
|
|
|
|
:before-upload="beforeUpload" :on-success="onSuccess" :on-error="onError" :on-remove="onRemove"
|
|
|
|
:before-upload="beforeUpload" :on-success="onSuccess" :on-error="onError" :on-remove="onRemove" :on-preview="onPreview"
|
|
|
|
:file-list="fileList" :auto-upload="true">
|
|
|
|
:file-list="fileList" :auto-upload="true">
|
|
|
|
<i class="el-icon-plus"></i>
|
|
|
|
<el-button size="small" type="primary">点击上传</el-button>
|
|
|
|
</el-upload>
|
|
|
|
<div slot="tip" class="el-upload__tip">支持上传任意类型文件</div>
|
|
|
|
<div v-else>
|
|
|
|
</el-upload>
|
|
|
|
<template v-for="(item,index) in fileList">
|
|
|
|
<div v-else>
|
|
|
|
<el-image
|
|
|
|
<template v-for="(item,index) in fileList">
|
|
|
|
style="width: 100px; height: 100px"
|
|
|
|
<div :key="index" style="display:inline-flex;align-items:center;margin:6px 10px 6px 0;">
|
|
|
|
:src="item.url"
|
|
|
|
|
|
|
|
:key="index"
|
|
|
|
<div>
|
|
|
|
:initial-index="index">
|
|
|
|
<a :href="item.url" target="_blank" style="color:#409EFF;text-decoration:none;">
|
|
|
|
</el-image>
|
|
|
|
{{ item.original_name}}
|
|
|
|
</template>
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<template v-slot:footerContent>
|
|
|
|
<template v-slot:footerContent>
|
|
|
|
<Button @click="isShow=false">关闭</Button>
|
|
|
|
<Button @click="isShow=false">关闭</Button>
|
|
|
|
<Button type="primary" v-if="form.zhuangtai===2" @click="submit">入库</Button>
|
|
|
|
<Button type="primary" v-if="form.zhuangtai===2" @click="submit">入库</Button>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</xy-dialog>
|
|
|
|
</xy-dialog>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@ -61,10 +64,10 @@
|
|
|
|
index,
|
|
|
|
index,
|
|
|
|
show,
|
|
|
|
show,
|
|
|
|
destroy
|
|
|
|
destroy
|
|
|
|
} from '@/api/system/baseForm.js'
|
|
|
|
} from '@/api/system/baseForm.js'
|
|
|
|
import {
|
|
|
|
import {
|
|
|
|
saveStock,
|
|
|
|
saveStock,
|
|
|
|
showStock
|
|
|
|
showStock
|
|
|
|
} from '@/api/stocks.js'
|
|
|
|
} from '@/api/stocks.js'
|
|
|
|
import {
|
|
|
|
import {
|
|
|
|
Message
|
|
|
|
Message
|
|
|
|
@ -79,7 +82,7 @@
|
|
|
|
return {
|
|
|
|
return {
|
|
|
|
id: '',
|
|
|
|
id: '',
|
|
|
|
isShow: false,
|
|
|
|
isShow: false,
|
|
|
|
tableName: 'stocks',
|
|
|
|
tableName: 'stocks',
|
|
|
|
zuozhengList:[],
|
|
|
|
zuozhengList:[],
|
|
|
|
fileList: [],
|
|
|
|
fileList: [],
|
|
|
|
action: process.env.VUE_APP_UPLOAD_API,
|
|
|
|
action: process.env.VUE_APP_UPLOAD_API,
|
|
|
|
@ -94,7 +97,7 @@
|
|
|
|
jilurenyuan: '',
|
|
|
|
jilurenyuan: '',
|
|
|
|
baoguanrenyuan: '',
|
|
|
|
baoguanrenyuan: '',
|
|
|
|
beizhu: '',
|
|
|
|
beizhu: '',
|
|
|
|
zuozhengwenjian: '',
|
|
|
|
zuozhengwenjian: '',
|
|
|
|
rukutupian:''
|
|
|
|
rukutupian:''
|
|
|
|
},
|
|
|
|
},
|
|
|
|
mingxiList: [],
|
|
|
|
mingxiList: [],
|
|
|
|
@ -177,22 +180,22 @@
|
|
|
|
isShow(newVal) {
|
|
|
|
isShow(newVal) {
|
|
|
|
if (newVal) {
|
|
|
|
if (newVal) {
|
|
|
|
this.getDetail()
|
|
|
|
this.getDetail()
|
|
|
|
}else{
|
|
|
|
}else{
|
|
|
|
this.id = ''
|
|
|
|
this.id = ''
|
|
|
|
this.fileList = []
|
|
|
|
this.fileList = []
|
|
|
|
this.zuozhengList = []
|
|
|
|
this.zuozhengList = []
|
|
|
|
this.form = {
|
|
|
|
this.form = {
|
|
|
|
rukushijian: '',
|
|
|
|
rukushijian: '',
|
|
|
|
rukuleixing: '',
|
|
|
|
rukuleixing: '',
|
|
|
|
pandianleixing: '',
|
|
|
|
pandianleixing: '',
|
|
|
|
jingbanren: '',
|
|
|
|
jingbanren: '',
|
|
|
|
jilurenyuan: '',
|
|
|
|
jilurenyuan: '',
|
|
|
|
baoguanrenyuan: '',
|
|
|
|
baoguanrenyuan: '',
|
|
|
|
beizhu: '',
|
|
|
|
beizhu: '',
|
|
|
|
zuozhengwenjian: '',
|
|
|
|
zuozhengwenjian: '',
|
|
|
|
rukutupian:''
|
|
|
|
rukutupian:''
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
@ -237,6 +240,18 @@
|
|
|
|
})
|
|
|
|
})
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
onPreview(file) {
|
|
|
|
|
|
|
|
const url = file.url || (file.response && file.response.url)
|
|
|
|
|
|
|
|
if (url) {
|
|
|
|
|
|
|
|
window.open(url, '_blank')
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
isImage(url) {
|
|
|
|
|
|
|
|
if (!url) return false
|
|
|
|
|
|
|
|
return /\.(png|jpe?g|gif|bmp|webp|svg)(\?.*)?$/i.test(url)
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 打印二维码
|
|
|
|
// 打印二维码
|
|
|
|
handlePrint() {
|
|
|
|
handlePrint() {
|
|
|
|
// 这里添加打印二维码的逻辑
|
|
|
|
// 这里添加打印二维码的逻辑
|
|
|
|
@ -244,29 +259,29 @@
|
|
|
|
this.isShow = false
|
|
|
|
this.isShow = false
|
|
|
|
this.resetForm()
|
|
|
|
this.resetForm()
|
|
|
|
window.open('/admin/print.html?ids=' + this.printArr, '_blank')
|
|
|
|
window.open('/admin/print.html?ids=' + this.printArr, '_blank')
|
|
|
|
},
|
|
|
|
},
|
|
|
|
submit(){
|
|
|
|
submit(){
|
|
|
|
if(this.fileList.length<1){
|
|
|
|
if(this.fileList.length<1){
|
|
|
|
Message({
|
|
|
|
Message({
|
|
|
|
type:'warning',
|
|
|
|
type:'warning',
|
|
|
|
message:'请上传现场实物图'
|
|
|
|
message:'请上传现场实物图'
|
|
|
|
})
|
|
|
|
})
|
|
|
|
return
|
|
|
|
return
|
|
|
|
}else{
|
|
|
|
}else{
|
|
|
|
this.form.rukutupian = []
|
|
|
|
this.form.rukutupian = []
|
|
|
|
for (var k of this.fileList) {
|
|
|
|
for (var k of this.fileList) {
|
|
|
|
this.form.rukutupian.push(k?.response?.id)
|
|
|
|
this.form.rukutupian.push(k?.response?.id)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
saveStock({
|
|
|
|
saveStock({
|
|
|
|
...this.form,
|
|
|
|
...this.form,
|
|
|
|
zhuangtai:3,
|
|
|
|
zhuangtai:3,
|
|
|
|
id: this.id,
|
|
|
|
id: this.id,
|
|
|
|
}).then(res => {
|
|
|
|
}).then(res => {
|
|
|
|
this.$message.success('入库成功')
|
|
|
|
this.$message.success('入库成功')
|
|
|
|
this.$emit('refresh')
|
|
|
|
this.$emit('refresh')
|
|
|
|
this.isShow = false
|
|
|
|
this.isShow = false
|
|
|
|
})
|
|
|
|
})
|
|
|
|
},
|
|
|
|
},
|
|
|
|
//
|
|
|
|
//
|
|
|
|
async getDetail() {
|
|
|
|
async getDetail() {
|
|
|
|
@ -282,10 +297,10 @@
|
|
|
|
jilurenyuan: res?.jilurenyuan,
|
|
|
|
jilurenyuan: res?.jilurenyuan,
|
|
|
|
baoguanrenyuan: res?.baoguanrenyuan,
|
|
|
|
baoguanrenyuan: res?.baoguanrenyuan,
|
|
|
|
beizhu: res?.beizhu,
|
|
|
|
beizhu: res?.beizhu,
|
|
|
|
zuozhengwenjian: res?.zuozhengwenjian,
|
|
|
|
zuozhengwenjian: res?.zuozhengwenjian,
|
|
|
|
rukutupian:res?.rukutupian,
|
|
|
|
rukutupian:res?.rukutupian,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
this.form.id = this.id
|
|
|
|
this.form.id = this.id
|
|
|
|
this.form.zhuangtai = res.zhuangtai?res.zhuangtai:0
|
|
|
|
this.form.zhuangtai = res.zhuangtai?res.zhuangtai:0
|
|
|
|
this.mingxiList = res.id_stocks_items_stocks_id_relation
|
|
|
|
this.mingxiList = res.id_stocks_items_stocks_id_relation
|
|
|
|
this.zuozhengList = []
|
|
|
|
this.zuozhengList = []
|
|
|
|
@ -296,17 +311,17 @@
|
|
|
|
url: f?.url,
|
|
|
|
url: f?.url,
|
|
|
|
response: f
|
|
|
|
response: f
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
this.fileList = []
|
|
|
|
this.fileList = []
|
|
|
|
const ruku_lists = res.rukutupian_upload_details ? res.rukutupian_upload_details : []
|
|
|
|
const ruku_lists = res.rukutupian_upload_details ? res.rukutupian_upload_details : []
|
|
|
|
for (var f of ruku_lists) {
|
|
|
|
for (var f of ruku_lists) {
|
|
|
|
this.fileList.push({
|
|
|
|
this.fileList.push({
|
|
|
|
name: f?.original_name,
|
|
|
|
name: f?.original_name,
|
|
|
|
url: f?.url,
|
|
|
|
url: f?.url,
|
|
|
|
response: f
|
|
|
|
response: f
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -329,4 +344,4 @@
|
|
|
|
align-items: center;
|
|
|
|
align-items: center;
|
|
|
|
height: 300px;
|
|
|
|
height: 300px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
</style>
|
|
|
|
|