| | |
| | | <template> |
| | | <zt-dialog ref="dialog" column="3" :title="title" :stepMarker="stepMarker" @confirm="formSubmit"> |
| | | <zt-dialog ref="dialog" column="2" :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> |
| | | </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> |
| | | <div style="border-bottom: 1px solid rgba(0,0,0,.2);" class="QaAuditContentWidth"> |
| | | <el-form-item class="marginTopAndMarginBottom" label="项目名称" style="width: 49%"> |
| | | <el-input v-model="dataForm.project.softwareName" 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 class="marginTopAndMarginBottom" label="项目标识" style="width: 49%"> |
| | | <el-input v-model="dataForm.project.softwareIdentity" placeholder="请输入项目标识"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | <div class="el-flexContractDialog el-border-bottom"> |
| | | <div class="DFormWidth DAlign DHold"> |
| | | 评审项目 |
| | | <div class="el-flexQaAuditDialog el-border-bottom"> |
| | | <div class="QaFormWidth DAlign DHold"> |
| | | 项目成员 |
| | | </div> |
| | | <div class="el-border-left" style="width: calc(100% - 120px)"> |
| | | <div class="el-border-left" style="width: calc(100% - 120px);min-height: 40px"> |
| | | <el-form-item style="width: 50%;padding: 0 5px"> |
| | | <span>项目负责人:{{dataForm.project.projectLeader || '项目负责人'}} </span> |
| | | </el-form-item> |
| | | <el-form-item style="width: 40%;padding: 0 5px"> |
| | | <span>测试人员:{{dataForm.project.projectTesters || '测试人员'}} </span> |
| | | </el-form-item> |
| | | <el-form-item style="width: 40%;padding: 0 5px"> |
| | | <span>配置人员:{{dataForm.project.projectConfiger || '配置人员'}} </span> |
| | | </el-form-item> |
| | | </div> |
| | | </div> |
| | | <div class="el-flexQaAuditDialog el-border-bottom"> |
| | | <div class="QaFormWidth DAlign DHold"> |
| | | 已完成的检查 |
| | | </div> |
| | | <div class="el-border-left" style="width: calc(100% - 120px);min-height: 40px"> |
| | | <el-form-item class="el-QaTextarea" label-width="20px" style="width: 100%;padding: 5px"> |
| | | <el-input type="textarea" :rows="2" placeholder="请输入内容" |
| | | v-model="dataForm.auditReport.completedCheck"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | </div> |
| | | <div class=" el-border-bottom"> |
| | | <div style="height: 40px;line-height: 40px;text-align:center;font-weight: 600"> |
| | | 不符合项列表 |
| | | </div> |
| | | <div> |
| | | <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" |
| | | style="width: 99%;margin-left: 5px" border :data="dataForm.incongruentList" |
| | | 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="评审项"> |
| | | <el-table-column prop="oddNum" min-width="350" label="不符合项单号"> |
| | | <template v-slot="{ row }"> |
| | | <el-input v-model="row.item" placeholder="评审项"></el-input> |
| | | <el-input v-model="row.oddNum" placeholder="不符合项单号"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="result" width="220" align="center" label="评审结果"> |
| | | <el-table-column prop="notTrueDescribe" width="220" align="center" label="不符合项描述"> |
| | | <template v-slot="{ row }"> |
| | | <zt-dict v-model="row.result" placeholder="评审结果" dict="tristate1" :radio="true" |
| | | clearable></zt-dict> |
| | | <el-input v-model="row.notTrueDescribe" placeholder="不符合项描述"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="workProcess" width="100" align="center" label="所属工作产品/过程"> |
| | | <template v-slot="{ row }"> |
| | | <el-input v-model="row.workProcess" placeholder="所属工作产品/过程"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="discoveryPhase" width="80" align="center" label="发现阶段"> |
| | | <template v-slot="{ row }"> |
| | | <el-input v-model="row.discoveryPhase" placeholder="发现阶段"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="chargePerson" width="80" align="center" label="责任人"> |
| | | <template v-slot="{ row }"> |
| | | <el-input v-model="row.chargePerson" placeholder="责任人"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="status" width="80" align="center" label="状态"> |
| | | <template v-slot="{ row }"> |
| | | <el-input v-model="row.status" placeholder="状态"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="remark" width="100" align="center" label="备注"> |
| | | <template v-slot="{ row }"> |
| | | <el-input v-model="row.remark" placeholder="备注"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="el-flexContractDialog el-border-bottom"> |
| | | <div class="DFormWidth DAlign DHold"> |
| | | 评审记录 |
| | | <div class="el-border-bottom"> |
| | | <div style="height: 40px;line-height: 40px;text-align:center;font-weight: 600"> |
| | | QA总结 |
| | | </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> |
| | | <div class="el-border-bottom"> |
| | | <el-form-item class="el-QaTextarea" label-width="20px" style="width: 100%;padding: 5px"> |
| | | <el-input v-if="stepMarker=='qashbg_first'" type="textarea" :rows="2" placeholder="请输入内容" |
| | | v-model="dataForm.auditReport.qaSummary"></el-input> |
| | | <span v-else>{{ dataForm.auditReport.qaSummary}}</span> |
| | | </el-form-item> |
| | | <el-form-item label="检查人(签字):" label-width="160px" style="width: 48%;padding: 5px;"> |
| | | {{ dataForm.auditReport.checker }} |
| | | </el-form-item> |
| | | <el-form-item style="width: 48%;padding: 5px;"> |
| | | {{ dataForm.auditReport.checkDate | filterTime('YYYY年MM月DD日') }} |
| | | </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> |
| | | <div> |
| | | <el-form-item label="质量监督员意见:" class="el-QaTextarea1" label-width="160px" style="width: 100%;padding: 5px"> |
| | | <el-input v-if="stepMarker=='qashbg_zljd'" type="textarea" :rows="2" placeholder="请输入内容" |
| | | v-model="dataForm.auditReport.supervisorOpinion"></el-input> |
| | | <span v-else>{{ dataForm.auditReport.supervisorOpinion}}</span> |
| | | </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 label="质量监督员(签字):" label-width="160px" style="width: 48%;padding: 5px;"> |
| | | {{ dataForm.auditReport.supervisorSign }} |
| | | </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 type="textarea" :rows="1" 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 style="width: 48%;padding: 5px;"> |
| | | {{ dataForm.auditReport.superviseDate | filterTime('YYYY年MM月DD日') }} |
| | | </el-form-item> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="el-flex review-sc" style="height: 60px"> |
| | | <div class="el-flex qa-sc" style="height: 60px"> |
| | | <el-form-item class="marginTopAndMarginBottom" style="width: 100%"> |
| | | <config-uploader :lineHeight="true" busi-type="qa_audit_report" model-name="dataForm" :dataForm="dataForm" |
| | | v-model="dataForm.files"/> |
| | |
| | | superviseDate: '', |
| | | }, |
| | | id: '', |
| | | project:{ |
| | | project: { |
| | | softwareIdentity: '', |
| | | softwarName: '', |
| | | softwareName: '', |
| | | projectLeader: '', |
| | | projectTesters: '', |
| | | projectConfiger: '' |
| | | }, |
| | | incongruentList:[] |
| | | incongruentList: [] |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | indexFormat(index) { |
| | | return index += 1 |
| | | }, |
| | | init(id, row) { |
| | | if (id) { |
| | | this.dataForm.id = id |
| | |
| | | if (row.projectId) { |
| | | this.dataForm.projectId = row.projectId |
| | | } |
| | | |
| | | // this.dataForm.disabled |
| | | this.getInfo() |
| | | if (!this.dataForm.disabled) { |
| | |
| | | } |
| | | } |
| | | console.log(this.dataForm.id, this.dataForm.projectId, this.stepMarker, 'this.dataForm.id, this.dataForm.projectId,this.stepMarker') |
| | | }, |
| | | indexFormat(index) { |
| | | return index += 1 |
| | | }, |
| | | async getNameById() { |
| | | let params = { |
| | | projectLeaderId: this.dataForm.project.projectLeader, |
| | | projectTestersId: this.dataForm.project.projectTesters, |
| | | projectConfigerId: this.dataForm.project.projectConfiger |
| | | } |
| | | let res = await this.$http.get(`/qaAuditReport/QaAuditReport/getNameById`, {params: params}) |
| | | if (res.success) { |
| | | this.dataForm.project.projectLeader = res.data.projectLeaderName |
| | | this.dataForm.project.projectTesters = res.data.projectTestersName |
| | | this.dataForm.project.projectConfiger = res.data.projectConfigerName |
| | | } |
| | | }, |
| | | addCirculatRow() { |
| | | this.dataForm.technicalList.push({}) |
| | |
| | | ...this.dataForm, |
| | | ...res.data |
| | | } |
| | | this.getNameById() |
| | | if (this.dataForm.project === null) { |
| | | this.dataForm.project = {} |
| | | } |
| | |
| | | } |
| | | } |
| | | </script> |
| | | <style> |
| | | .el-flexQaAuditDialog { |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .QaFormWidth { |
| | | width: 120px; |
| | | } |
| | | |
| | | .QaAuditContentWidth > .el-form-item > .el-form-item__content { |
| | | width: calc(100% - 120px); |
| | | } |
| | | |
| | | .el-form-item.el-QaTextarea > .el-form-item__content { |
| | | width: 100%; |
| | | } |
| | | |
| | | .el-form-item.el-QaTextarea1 > .el-form-item__content { |
| | | width: calc(100% - 160px); |
| | | } |
| | | </style> |
| | | <style> |
| | | .qa-sc > .el-form-item > .el-form-item__content { |
| | | width: 100%; |
| | | } |
| | | </style> |