<template>
|
<zt-dialog ref="dialog" column="3" :title="title" :stepMarker="stepMarker" @confirm="formSubmit">
|
<el-form ref="dataForm" style="padding-top: 0" :inline="true" :disabled="dataForm.disabled" :model="dataForm"
|
label-width="120px" class="contractFormAuto">
|
<div>
|
<el-form-item label-width="60px" label="编号:" style="width:100%;margin-bottom: -5px">
|
<span>{{ dataForm.contractReview.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="contractContentWidth">
|
<el-form-item class="marginTopAndMarginBottom" label="客户名称" style="width: 49%">
|
<el-input v-model="dataForm.testAgencyInfo.agencyName" placeholder="请输入客户名称"></el-input>
|
</el-form-item>
|
<el-form-item class="marginTopAndMarginBottom" label="联系电话" style="width: 49%">
|
<el-input v-model="dataForm.testAgencyInfo.labContactNum" placeholder="请输入联系电话"></el-input>
|
</el-form-item>
|
<el-form-item class="marginTopAndMarginBottom reviewLeft" style="width: 49%">
|
<zt-dict v-model="dataForm.contractReview.reviewType" :radio="true" dict="review_type"></zt-dict>
|
</el-form-item>
|
<el-form-item label-width="160px" class="lastChild" label="原委托单编号:" style="width: 49%">
|
<span>{{ dataForm.contractReview.orderCode }}</span>
|
</el-form-item>
|
</div>
|
<div class="el-flexContractDialog el-border-bottom">
|
<div class="DFormWidth DAlign DHold">
|
评审项目
|
</div>
|
<div class="el-border-left" style="width: calc(100% - 120px)">
|
<div class="table-container">
|
<el-table ref="tableConfigItemList" class="el-software el-margin-top-bot"
|
style="width: 99%;margin-left: 5px" border :data="dataForm.reviewItemList"
|
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="item" min-width="400" label="评审项">
|
<template v-slot="{ row }">
|
<el-input v-model="row.item" placeholder="评审项"></el-input>
|
</template>
|
</el-table-column>
|
<el-table-column prop="result" width="220" align="center" label="评审结果">
|
<template v-slot="{ row }">
|
<zt-dict v-model="row.result" placeholder="评审结果" dict="tristate1" :radio="true"
|
clearable></zt-dict>
|
</template>
|
</el-table-column>
|
</el-table>
|
</div>
|
</div>
|
</div>
|
<div class="el-flexContractDialog el-border-bottom">
|
<div class="DFormWidth DAlign DHold">
|
评审记录
|
</div>
|
<div style="width: calc(100% - 120px)" class="el-border-left">
|
<el-form-item class="el-CMTextarea" label-width="20px" style="width: 100%;padding: 5px">
|
<el-input type="textarea" :rows="2" placeholder="请输入内容"
|
v-model="dataForm.contractReview.reviewRecord"></el-input>
|
</el-form-item>
|
</div>
|
</div>
|
<div class="el-flexContractDialog el-border-bottom">
|
<div class="DFormWidth DAlign DHold">
|
客户的特殊要求
|
</div>
|
<div style="width: calc(100% - 120px)" class="el-border-left">
|
<el-form-item class="el-CMTextarea" style="width: 100%;padding: 5px">
|
<el-input type="textarea" :rows="2" placeholder="请输入内容"
|
v-model="dataForm.contractReview.specialRequire"></el-input>
|
</el-form-item>
|
</div>
|
</div>
|
<div class="el-flexContractDialog el-border-bottom">
|
<div class="DFormWidth DAlign DHold">
|
分包
|
</div>
|
<div style="width: calc(100% - 120px)" class="el-border-left">
|
<el-form-item class="el-CMTextarea" style="width: 100%;padding: 5px">
|
<el-input type="textarea" :rows="2" placeholder="请输入内容"
|
v-model="dataForm.contractReview.subcontract"></el-input>
|
</el-form-item>
|
</div>
|
</div>
|
<div class="el-flexContractDialog el-border-bottom">
|
<div class="DFormWidth DAlign DHold">
|
评审结论
|
</div>
|
<div style="width: calc(100% - 120px)" class="el-border-left">
|
<el-form-item class="el-CMTextarea" style="width: 100%;padding: 5px">
|
<el-input type="textarea" :rows="2" placeholder="请输入评审结论"
|
v-model="dataForm.contractReview.reviewConclusion"></el-input>
|
</el-form-item>
|
<el-form-item label="技术负责人:" style="width: 48%">
|
<el-input placeholder="请输入技术负责人"
|
v-model="dataForm.contractReview.technicalDirector"></el-input>
|
</el-form-item>
|
<el-form-item label="日期:" style="width: 48%">
|
<el-date-picker
|
v-model="dataForm.contractReview.reviewDate"
|
type="date"
|
placeholder="请选择日期">
|
</el-date-picker>
|
</el-form-item>
|
</div>
|
</div>
|
<div class="el-flexContractDialog">
|
<div class="DFormWidth DAlign DHold">
|
评审组成员
|
</div>
|
<div style="width: calc(100% - 120px)" class="el-border-left">
|
<el-form-item class="el-CMTextarea" style="width: 100%;padding: 5px">
|
<el-input type="textarea" :rows="2" placeholder="请输入内容"
|
v-model="dataForm.contractReview.reviewPanelMember"></el-input>
|
</el-form-item>
|
</div>
|
</div>
|
</div>
|
<div class="el-flex review-sc" style="height: 60px">
|
<el-form-item class="marginTopAndMarginBottom" style="width: 100%">
|
<config-uploader :lineHeight="true" busi-type="contract_review" model-name="dataForm" :dataForm="dataForm"
|
v-model="dataForm.files"/>
|
</el-form-item>
|
</div>
|
</el-form>
|
<template v-slot:footer>
|
<el-button v-if="dataForm.disabled" type="primary" @click="print()">打印</el-button>
|
</template>
|
</zt-dialog>
|
</template>
|
|
<script>
|
import qs from "qs";
|
import Cookies from "js-cookie";
|
|
export default {
|
data() {
|
return {
|
dataForm: {
|
id: '',
|
files:'',
|
contractReview: {
|
code: '',
|
orderCode: '',
|
reviewType: '',
|
reviewRecord: '',
|
specialRequire: '',
|
subcontract: '',
|
reviewConclusion: '',
|
technicalDirector: '',
|
reviewDate: '',
|
reviewPanelMember: '',
|
},
|
testAgencyInfo: {
|
agencyName: '',
|
labContactNum: ''
|
},
|
reviewItemList: []
|
}
|
}
|
},
|
methods: {
|
indexFormat(index) {
|
return index += 1
|
},
|
init(id, row) {
|
if (id) {
|
this.dataForm.id = id
|
} else {
|
this.dataForm.id = row.id
|
}
|
if (row.projectId) {
|
this.dataForm.projectId = row.projectId
|
}
|
this.getInfo()
|
console.log(this.dataForm.id, this.dataForm.projectId, 'params params')
|
},
|
// 获取信息
|
async getInfo() {
|
let params = {
|
reviewId: this.dataForm.id,
|
projectId: this.dataForm.projectId
|
|
}
|
let res = await this.$http.get(`/contractReview/ContractReview/getDto`, {params: params})
|
this.dataForm = {
|
...this.dataForm,
|
...res.data
|
}
|
if(this.dataForm.contractReview === null){
|
this.dataForm.contractReview={}
|
}
|
if(this.dataForm.testAgencyInfo === null){
|
this.dataForm.testAgencyInfo={}
|
}
|
console.log(this.dataForm, "getInfo this.dataForm")
|
},
|
async print(){
|
var params = qs.stringify({
|
token: Cookies.get('token'),
|
id:this.dataForm.id
|
})
|
let apiURL = `/contractReview/ContractReview/exportReview`
|
window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}`
|
},
|
// 表单提交
|
async formSubmit(submitType) {
|
let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/contractReview/ContractReview/', this.dataForm)
|
if (res.success) {
|
await this.$tip.success()
|
this.$refs.dialog.close()
|
this.$emit('refreshDataList')
|
}
|
}
|
}
|
}
|
</script>
|
<style>
|
.ManageFormAuto {
|
width: 70%;
|
margin: 0 auto;
|
}
|
|
.confirmDAuto {
|
border: 1px solid;
|
}
|
|
.el-flexContractDialog {
|
display: flex;
|
align-items: center;
|
}
|
|
.DFormWidth {
|
width: 120px;
|
}
|
|
.DAlign {
|
text-align: center;
|
}
|
|
.DManageForm {
|
/*border-left: 1px solid;*/
|
width: 100%;
|
}
|
|
.DManageForm > .el-form-item > .el-form-item__content {
|
width: calc(100% - 120px);
|
}
|
|
.el-form-item.el-CMTextarea > .el-form-item__content {
|
width: 100%;
|
}
|
|
.el-form .el-form-item.el-wt-form-item-margin {
|
margin-left: 120px;
|
}
|
|
.el-form-border {
|
border-top: 1px solid;
|
border-bottom: 1px solid;
|
}
|
|
.el-margin-top-bot {
|
margin-top: 5px;
|
margin-bottom: 5px;
|
}
|
|
.zt .el-table.el-software th {
|
background: transparent;
|
}
|
|
.zt .el-table.el-software th > .cell {
|
font-weight: 500;
|
}
|
|
.DHold {
|
font-weight: 600;
|
}
|
|
.zt .el-table.el-software {
|
font-size: 14px;
|
}
|
|
.contractContentWidth > .el-form-item > .el-form-item__content {
|
width: calc(100% - 120px);
|
}
|
|
.contractContentWidth > .el-form-item.reviewLeft > .el-form-item__content {
|
margin-left: 17%;
|
}
|
|
.contractContentWidth > .el-form-item.lastChild > .el-form-item__content {
|
width: calc(100% - 160px);
|
}
|
|
.contractFormAuto .marginTopAndMarginBottom {
|
margin-top: 10px !important;
|
margin-bottom: 0 !important;
|
}
|
|
.contractFormAuto .marginTopAndMarginBottom2 {
|
margin-top: -10px !important;
|
margin-bottom: 0 !important;
|
}
|
.review-sc > .el-form-item > .el-form-item__content {
|
width:100%;
|
}
|
</style>
|