<template>
|
<div>
|
<zt-dialog ref="dialog" column="3" :title="title" :stepMarker="stepMarker" @confirm="formSubmit">
|
<el-form :model="dataForm" :inline="true" ref="dataForm" style="padding-top: 0" :disabled="dataForm.disabled"
|
label-width="120px" class="circulationFormAuto">
|
<div>
|
<el-form-item label-width="60px" label="编号:" style="width:100%;margin-bottom: -5px">
|
<span>{{dataForm.circulatOrder.code || '编号自动生成'}}</span>
|
</el-form-item>
|
</div>
|
<div style="border: 1px solid rgba(0,0,0,.2);width: 99%">
|
<div style="border-bottom: 1px solid rgba(0,0,0,.2);" class="circulationContentWidth">
|
<el-form-item class="marginTopAndMarginBottom" label="专业实验室" style="width: 32%">
|
<el-input v-model="dataForm.testAgencyInfo.agencyName" placeholder="专业实验室"></el-input>
|
</el-form-item>
|
<el-form-item class="marginTopAndMarginBottom" label="任务编号" style="width: 32%">
|
<el-input v-model="dataForm.project.softwareIdentity" placeholder="任务编号"></el-input>
|
</el-form-item>
|
<el-form-item class="marginTopAndMarginBottom" label="物品名称" style="width: 32%">
|
<el-input v-model="dataForm.project.softwareName" placeholder="物品名称"></el-input>
|
</el-form-item>
|
<el-form-item class="marginTopAndMarginBottom3" label="型号" style="width: 32%">
|
<zt-dict v-model="dataForm.project.softwareType" dict="is_embed_software" :radio="true"></zt-dict>
|
</el-form-item>
|
<el-form-item class="marginTopAndMarginBottom3" label="物品编号" style="width: 32%">
|
<el-input v-model="dataForm.project.softwareIdentity" placeholder="物品编号"></el-input>
|
</el-form-item>
|
<el-form-item class="marginTopAndMarginBottom3" label="数 量" style="width: 32%">
|
<el-input v-model="dataForm.project.isContract" placeholder="数量"></el-input>
|
</el-form-item>
|
</div>
|
<div style="border-bottom: 1px solid rgba(0,0,0,.2);">
|
<div style="padding-left:5px;padding-right:5px;">
|
<div style="padding: 5px">物品技术资料及数量:</div>
|
<div class="table-container">
|
<el-table ref="tableCirculatOrderList" class="el-software el-margin-top-bot" border
|
:data="dataForm.technicalList"
|
stripe>
|
<el-table-column prop="no" align="center" width="60" label="序号">
|
<template slot-scope="scope">
|
<span v-html="indexFormat(scope.$index)"></span>
|
</template>
|
</el-table-column>
|
<el-table-column prop="infoName" min-width="180" label="技术资料名称">
|
<template v-slot="{ row }">
|
<el-input v-model="row.name" placeholder="技术资料名称"></el-input>
|
</template>
|
</el-table-column>
|
<el-table-column prop="identify" align="center" width="150" label="标识">
|
<template v-slot="{ row }">
|
<el-input v-model="row.version" placeholder="标识"></el-input>
|
</template>
|
</el-table-column>
|
<el-table-column prop="version" align="center" width="120" label="版本">
|
<template v-slot="{ row }">
|
<el-input v-model="row.identify" placeholder="版本"></el-input>
|
</template>
|
</el-table-column>
|
<el-table-column prop="secretClass" label="密级" width="100" align="center">
|
<template v-slot="{ row }">
|
<!-- <el-input v-model="row.secretClass" placeholder="密级"></el-input>-->
|
<zt-dict v-model="row.secretClass" dict="secret_class"></zt-dict>
|
</template>
|
</el-table-column>
|
<el-table-column prop="medium" label="介质" width="100" align="center">
|
<template v-slot="{ row }">
|
<el-input v-model="row.medium" placeholder="介质"></el-input>
|
</template>
|
</el-table-column>
|
<el-table-column prop="amount" label="数量" width="80" align="center">
|
<template v-slot="{ row }">
|
<el-input v-model="row.amount" placeholder="数量"></el-input>
|
</template>
|
</el-table-column>
|
<el-table-column prop="remark" label="备注" width="100" align="center">
|
<template v-slot="{ row }">
|
<el-input v-model="row.remark" placeholder="备注"></el-input>
|
</template>
|
</el-table-column>
|
<el-table-column fixed="right" prop="files" label="上传附件" width="300" align="center">
|
<template v-slot="{ row }">
|
<table-uploader busi-type="circulat_order" model-name="row" :dataForm="row"
|
v-model="row.files"/>
|
</template>
|
</el-table-column>
|
</el-table>
|
<div class="icon-container" @click="addCirculatRow()">
|
<!-- 放置固定的图标 -->
|
<i class="el-icon-plus"></i>
|
</div>
|
</div>
|
</div>
|
</div>
|
<div class="el-flexCirculationDialog el-border-bottom">
|
<div style="width: 112px;text-align: center;font-weight: 600">
|
物品的其它要求
|
</div>
|
<div style="width: calc(100% - 120px);">
|
<div class="el-border-left">
|
<el-form-item label="物品是否需要返还" label-width="150px" style="width:100%;padding-left:20px;margin-bottom:0">
|
<zt-dict :disabled="stepMarker!=='wplz_first'" v-model="dataForm.circulatOrder.itemRequire" :radio="true"
|
dict="is_or_not"></zt-dict>
|
</el-form-item>
|
<el-form-item label="物品的其他要求:" label-width="150px" style="width:100%;padding-left:20px;margin-bottom:0">
|
<el-input :disabled="stepMarker!=='wplz_first'" v-model="dataForm.circulatOrder.itemOther"></el-input>
|
</el-form-item>
|
</div>
|
</div>
|
</div>
|
<div class="el-flexCirculationDialog el-border-bottom">
|
<div style="width: 112px;text-align: center;font-weight: 600">
|
物品接收人
|
</div>
|
<div class="el-border-left-right acceptDate" style="width: 20%;;height: 80px;">
|
<el-form-item style="width: 100%;padding-left:20px;margin:0;">
|
{{dataForm.circulatOrder.itemAcceptor}}
|
</el-form-item>
|
</div>
|
<div style="width: 52px;text-align: center;font-weight: 600">
|
时间
|
</div>
|
<div class="el-border-left-right acceptDate" style="width: 20%;height: 80px;">
|
<el-form-item style="width: 100%;padding-left:20px;margin:0;">
|
{{ dataForm.circulatOrder.acceptDate | filterTime('YYYY年MM月DD日') }}
|
</el-form-item>
|
</div>
|
<div style="width: 84px;text-align: center;font-weight: 600">
|
情况说明
|
</div>
|
<div class="el-border-left " style="width: 35%;height: 80px;">
|
<el-form-item label="是否完成病毒查杀" label-width="150px" style="padding-left:20px;margin-bottom:0">
|
<zt-dict :disabled="stepMarker!=='wplz_first'" v-model="dataForm.circulatOrder.acceptSituation" :radio="true" dict="is_or_not"></zt-dict>
|
</el-form-item>
|
<el-form-item label="病毒库版本:" label-width="150px" style="width:100%;padding-left:20px;margin-bottom:0">
|
<el-input :disabled="stepMarker!=='wplz_first'" v-model="dataForm.circulatOrder.virusLibraryVersion"></el-input>
|
</el-form-item>
|
</div>
|
</div>
|
<div class="el-flexCirculationDialog el-border-bottom">
|
<div style="width: 112px;text-align: center;font-weight: 600">
|
检测接收人
|
</div>
|
<div class="el-border-left-right" style="width: 20%;height: 40px;">
|
<el-form-item style="width: 100%;padding-left:20px;margin:0;">
|
{{dataForm.circulatOrder.detectAcceptor}}
|
</el-form-item>
|
</div>
|
<div style="width: 52px;text-align: center;font-weight: 600">
|
时间
|
</div>
|
<div class="el-border-left-right" style="width: 20%;height: 40px;">
|
<el-form-item style="width: 100%;padding-left:20px;margin:0;">
|
{{dataForm.circulatOrder.detectAcceptDate| filterTime('YYYY年MM月DD日')}}
|
</el-form-item>
|
</div>
|
<div style="width: 84px;text-align: center;font-weight: 600">
|
情况说明
|
</div>
|
<div class="el-border-left " style="width: 35%;height: 40px;">
|
<el-form-item label="是否满足测试要求" label-width="150px" style="padding-left:20px;margin-bottom:0">
|
<zt-dict :disabled="stepMarker!=='wplz_jcjs'" v-model="dataForm.circulatOrder.detectAcceptSituation" :radio="true" dict="is_or_not"></zt-dict>
|
</el-form-item>
|
</div>
|
</div>
|
<div class="el-flexCirculationDialog el-border-bottom">
|
<div style="width: 112px;text-align: center;font-weight: 600">
|
检测人
|
</div>
|
<div class="el-border-left-right" style="width: 20%;height: 40px;">
|
<el-form-item style="width: 100%;padding-left:20px;margin:0;">
|
{{dataForm.circulatOrder.calibratDetector}}
|
</el-form-item>
|
</div>
|
<div style="width: 52px;text-align: center;font-weight: 600">
|
时间
|
</div>
|
<div class="el-border-left-right" style="width: 20%;height: 40px;">
|
<el-form-item style="width: 100%;padding-left:20px;margin:0;">
|
<!-- {{dataForm.circulatOrder.detectDate}}-->
|
{{ dataForm.circulatOrder.detectDate | filterTime('YYYY年MM月DD日') }}
|
</el-form-item>
|
</div>
|
<div style="width: 84px;text-align: center;font-weight: 600">
|
情况说明
|
</div>
|
<div class="el-border-left " style="width: 35%;height: 40px;">
|
<el-form-item label="是否满足测试要求" label-width="150px" style="padding-left:20px;margin-bottom:0">
|
<zt-dict :disabled="stepMarker!=='wplz_xzjc'" v-model="dataForm.circulatOrder.detectSituation" :radio="true" dict="is_or_not"></zt-dict>
|
</el-form-item>
|
</div>
|
</div>
|
<div class="el-flexCirculationDialog el-border-bottom">
|
<div style="width: 112px;text-align: center;font-weight: 600">
|
物品入库人
|
</div>
|
<div class="el-border-left-right" style="width: 20%;height: 40px;">
|
<el-form-item style="width: 100%;padding-left:20px;margin:0;">
|
{{dataForm.circulatOrder.depositor}}
|
</el-form-item>
|
</div>
|
<div style="width: 52px;text-align: center;font-weight: 600">
|
时间
|
</div>
|
<div class="el-border-left-right" style="width: 20%;height: 40px;">
|
<el-form-item style="width: 100%;padding-left:20px;margin:0;">
|
{{dataForm.circulatOrder.depositDate| filterTime('YYYY年MM月DD日')}}
|
</el-form-item>
|
</div>
|
<div style="width: 84px;text-align: center;font-weight: 600">
|
情况说明
|
</div>
|
<div class="el-border-left " style="width: 35%;height: 40px;">
|
<el-form-item label="是否已入样品库" label-width="150px" style="padding-left:20px;margin-bottom:0">
|
<zt-dict :disabled="stepMarker!=='wplz_wprk'" v-model="dataForm.circulatOrder.depositSituation" :radio="true" dict="is_or_not"></zt-dict>
|
</el-form-item>
|
</div>
|
</div>
|
<div class="el-flexCirculationDialog el-border-bottom">
|
<div style="width: 112px;text-align: center;font-weight: 600">
|
物品发放人
|
</div>
|
<div class="el-border-left-right " style="width: 20%;height: 40px;">
|
<el-form-item style="width: 100%;padding-left:20px;margin:0;">
|
{{dataForm.circulatOrder.itemIssuer}}
|
</el-form-item>
|
</div>
|
<div style="width: 52px;text-align: center;font-weight: 600">
|
时间
|
</div>
|
<div class="el-border-left-right " style="width: 20%;height: 40px;">
|
<el-form-item style="width: 100%;padding-left:20px;margin:0;">
|
{{ dataForm.circulatOrder.issueDate | filterTime('YYYY年MM月DD日') }}
|
</el-form-item>
|
</div>
|
<div style="width: 84px;text-align: center;font-weight: 600">
|
情况说明
|
</div>
|
<div class="el-border-left " style="width: 35%;height: 40px;">
|
<el-form-item label="是否完成样品发放" label-width="150px" style="padding-left:20px;margin-bottom:0">
|
<zt-dict :disabled="stepMarker!=='wplz_wpff'"v-model="dataForm.circulatOrder.issueSituation" :radio="true" dict="is_or_not"></zt-dict>
|
</el-form-item>
|
</div>
|
</div>
|
<div class="el-flexCirculationDialog">
|
<div style="width: 112px;text-align: center;font-weight: 600">
|
备注
|
</div>
|
<div class="el-border-left " style="width: 20%;height: 40px">
|
<el-form-item style="width: 100%;padding-left:20px;margin:0;">
|
<el-input v-model="dataForm.circulatOrder.remark"></el-input>
|
</el-form-item>
|
</div>
|
</div>
|
</div>
|
</el-form>
|
<template v-slot:footer>
|
<el-button v-if="dataForm.disabled" type="primary" @click="print()">打印</el-button>
|
</template>
|
</zt-dialog>
|
<add-or-update ref="addOrUpdate" @refreshDataList="getQuery()"/>
|
</div>
|
</template>
|
|
|
|
<script>
|
import qs from "qs";
|
import Cookies from "js-cookie";
|
import AddOrUpdate from '../configItemWarehouse/ConfigItemWarehouse-AddOrUpdate'
|
|
export default {
|
data() {
|
return {
|
stepMarker: '',
|
title: '查看',
|
dataForm: {
|
id: '',
|
circulatOrder: {
|
code: '1',
|
itemAccept: '',
|
itemRequire: '',
|
itemOther: '',
|
acceptSituation: '',
|
acceptDate: '',
|
detectAcceptor:'',
|
detectAcceptDate:'',
|
detectAcceptSituation:'',
|
calibratDetector: '',
|
detectDate: '',
|
detectSituation: '',
|
depositor: '',
|
depositDate: '',
|
depositSituation: '',
|
itemIssuer: '',
|
issueDate: '',
|
issueSituation: '',
|
remark: '',
|
virusLibraryVersion:'',
|
itemAcceptor:''
|
},
|
project: {
|
softwareIdentity: '',
|
softwareName: '',
|
},
|
testAgencyInfo: {
|
agencyName: '',
|
},
|
technicalList: [],
|
flowInfoDto: {}
|
}
|
}
|
},
|
components: {
|
AddOrUpdate
|
},
|
computed:{
|
getRoleName(){
|
console.log(this.$store.state.user.roleName,'this.$store.state.user.roleName')
|
return this.$store.state.user.roleName || ''
|
},
|
},
|
methods: {
|
indexFormat(index) {
|
return index += 1
|
},
|
init(id, row) {
|
console.log(id,row,'流转单的')
|
if (id) {
|
this.dataForm.id = id
|
} else {
|
this.dataForm.id = row.id
|
}
|
if(row.projectId){
|
this.dataForm.projectId =row.projectId
|
}
|
|
// this.dataForm.disabled
|
this.getInfo()
|
if (!this.dataForm.disabled) {
|
if (!row.stepMarker) {
|
this.stepMarker = 'wplz_first'
|
this.title = '物品接收'
|
} else {
|
this.title = row.stepName
|
this.stepMarker = row.stepMarker
|
}
|
}
|
console.log(this.dataForm.id, this.dataForm.projectId, this.stepMarker, 'this.dataForm.id, this.dataForm.projectId,this.stepMarker')
|
},
|
addCirculatRow() {
|
this.dataForm.technicalList.push({})
|
this.$nextTick(() => {
|
const tableBody = this.$refs.tableCirculatOrderList.$el.querySelector('.el-table__body-wrapper')
|
tableBody.scrollTop = tableBody.scrollHeight;
|
})
|
},
|
// 获取信息
|
async getInfo() {
|
let params = {
|
circulatOrderid: this.dataForm.id,
|
projectId: this.dataForm.projectId
|
}
|
let res = await this.$http.get(`/itemCirculatOrder/ItemCirculatOrder/getDto`, {params: params})
|
this.dataForm = {
|
...this.dataForm,
|
...res.data
|
}
|
if(this.dataForm.project === null){
|
this.dataForm.project={}
|
}
|
if(this.dataForm.circulatOrder === null){
|
this.dataForm.circulatOrder={}
|
}
|
if(this.dataForm.testAgencyInfo === null){
|
this.dataForm.testAgencyInfo={}
|
}
|
if(this.dataForm.flowInfoDto === null){
|
this.dataForm.flowInfoDto={}
|
}
|
console.log(this.dataForm, "getInfo this.dataForm")
|
},
|
async print(){
|
var params = qs.stringify({
|
token: Cookies.get('token'),
|
id:this.dataForm.id
|
})
|
let apiURL = `/itemCirculatOrder/ItemCirculatOrder/exportCirculatOrder/`
|
window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}`
|
},
|
// 表单提交
|
async formSubmit(submitType) {
|
console.log(this.dataForm, "this.dataForm11111")
|
if (submitType == 'tj' || submitType == 'bl') {
|
let flowInfo = {
|
flowCode: 'wplz',
|
stepIdMark: this.stepMarker,
|
submitType: submitType
|
}
|
this.dataForm.flowInfoDto = flowInfo;
|
}
|
let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/itemCirculatOrder/ItemCirculatOrder/', this.dataForm)
|
if(this.stepMarker==='wplz_wprk'){
|
/* alert(this.dataForm.projectId)*/
|
this.$nextTick(()=>{
|
this.$refs.addOrUpdate.$refs.dialog.init(null, {id: null, projectId: this.dataForm.projectId, libraryType: '1'})
|
})
|
}
|
if (res.success) {
|
/* if (submitType == 'tj') {
|
console.log(res, 'bbbb')
|
let res2 = await this.$http.get('/wf/startFlow', submitForm)
|
if (res2.success) {
|
let res3 = await this.$http.get('/wf/approvePass', submitForm)
|
if (res3.success) {
|
}
|
}
|
} else if (submitType == 'bl') {
|
let res2 = await this.$http.get('/wf/approvePass', submitForm)
|
if (res2.success) {
|
}
|
}*/
|
await this.$tip.success()
|
this.$refs.dialog.close()
|
this.$emit('refreshDataList')
|
}
|
}
|
}
|
}
|
</script>
|
<style>
|
.el-flexCirculationDialog {
|
display: flex;
|
align-items: center
|
}
|
|
.circulationContentWidth > .el-form-item > .el-form-item__content {
|
width: calc(100% - 120px);
|
}
|
|
.circulationContentWidth > .el-form-item.lastChild > .el-form-item__content {
|
width: calc(100% - 142px);
|
}
|
|
.circulationFormAuto .marginTopAndMarginBottom {
|
margin-top: 10px !important;
|
margin-bottom: 0 !important;
|
}
|
|
.circulationFormAuto .marginTopAndMarginBottom2 {
|
margin-top: -10px !important;
|
margin-bottom: 10px !important;
|
}
|
|
.circulationFormAuto .marginTopAndMarginBottom3 {
|
margin-top: 0 !important;
|
margin-bottom: 10px !important;
|
}
|
|
.acceptDate > .el-form-item > .el-form-item__content {
|
line-height: 80px;
|
}
|
|
.circulationFormAuto .el-radio {
|
margin-right: 10px;
|
}
|
</style>
|