| | |
| | | <template> |
| | | <zt-dialog ref="dialog" column="2" @confirm="formSubmit"> |
| | | <el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="120px"> |
| | | <zt-form-item label="编号" prop="code" rules="required"> |
| | | <el-input v-model="dataForm.code"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="项目标识" prop="softwareidentity" rules="required"> |
| | | <el-input v-model="dataForm.softwareidentity"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="项目名称" prop="softwarename" rules="required"> |
| | | <el-input v-model="dataForm.softwarename"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="检查人" prop="examiner" rules="required"> |
| | | <el-input v-model="dataForm.examiner"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="检查时间" prop="examDate" rules="required"> |
| | | <el-input v-model="dataForm.examDate"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="问题描述" prop="problemDescription" rules="required"> |
| | | <el-input v-model="dataForm.problemDescription"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="问题处理" prop="problemProcess" rules="required"> |
| | | <el-input v-model="dataForm.problemProcess"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="处理人" prop="processor" rules="required"> |
| | | <el-input v-model="dataForm.processor"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="处理日期" prop="processDate" rules="required"> |
| | | <el-input v-model="dataForm.processDate"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="验证人" prop="verifier" rules="required"> |
| | | <el-input v-model="dataForm.verifier"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="验证日期" prop="verifyDate" rules="required"> |
| | | <el-input v-model="dataForm.verifyDate"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="年份" prop="year" rules="required"> |
| | | <el-input v-model="dataForm.year"></el-input> |
| | | </zt-form-item> |
| | | <zt-dialog ref="dialog" column="2" @confirm="formSubmit" :stepMarker="stepMarker" :append-to-body="true"> |
| | | <el-form :model="dataForm" :inline="true" ref="dataForm" style="padding-top: 0" :disabled="dataForm.disabled" |
| | | label-width="120px" class="testCheckFormAuto"> |
| | | <div> |
| | | <el-form-item label-width="60px" label="编号:" style="width:100%;margin-bottom: -5px"> |
| | | <span>{{dataForm.testCheckOrder.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="testCheckContentWidth"> |
| | | <el-form-item class="marginTopAndMarginBottom" label="项目标识" style="width: 49%"> |
| | | <el-input v-model="dataForm.project.softwareIdentity" placeholder="项目标识"></el-input> |
| | | </el-form-item> |
| | | <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="marginTopAndMarginBottom3" label="检查人" style="width: 49%"> |
| | | <el-input :disabled="stepMarker!=='csjcd_first'" v-model="dataForm.testCheckOrder.examiner" placeholder="检查人"></el-input> |
| | | </el-form-item> |
| | | <el-form-item class="marginTopAndMarginBottom3" label="检查时间" style="width: 49%"> |
| | | <el-date-picker |
| | | :disabled="stepMarker!=='csjcd_first'" |
| | | v-model="dataForm.testCheckOrder.examDate" |
| | | type="date" |
| | | placeholder="请选择检查时间"> |
| | | </el-date-picker> |
| | | </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">{{subtitle}}</div> |
| | | <div class="table-container"> |
| | | <el-table ref="tableCirculatOrderList" class="el-software el-margin-top-bot" border |
| | | :data="dataForm.checkOrderList" |
| | | 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="checkContent" min-width="180" label="主要检查内容"> |
| | | <!-- <template v-slot="{ row }">--> |
| | | <!-- <el-input v-model="row.checkContent" placeholder="主要检查内容"></el-input>--> |
| | | <!-- </template>--> |
| | | </el-table-column> |
| | | <el-table-column prop="checkResult" align="center" width="180" label="检查结果"> |
| | | <template v-slot="{ row }"> |
| | | <zt-dict v-model="row.checkResult" dict="tristate1" :radio="true"></zt-dict> |
| | | </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 }"> |
| | | <!– <zt-table-button @click="files(row.id)">上传附件</zt-table-button>–> |
| | | <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 class="el-border-left acceptDate" style="height: 80px;width: 80%;"> |
| | | <el-form-item style="width: 100%;padding-left:20px;margin:0;"> |
| | | <el-input type="textarea" |
| | | :rows="3" v-model="dataForm.testCheckOrder.problemDescription" placeholder="问题描述..."></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 acceptDate" style="height: 80px;width: 80%;"> |
| | | <el-form-item style="width: 100%;padding-left:20px;margin:0;"> |
| | | <el-input type="textarea" |
| | | :rows="3" v-model="dataForm.testCheckOrder.problemProcess" placeholder="问题处理..."></el-input> |
| | | </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-right acceptDate1" style="width: 40%;height: 40px;"> |
| | | <el-form-item style="width: 100%;padding-left:20px;margin:0;"> |
| | | <span>{{dataForm.testCheckOrder.processor}}</span> |
| | | </el-form-item> |
| | | </div> |
| | | <div style="width: 84px;text-align: center;font-weight: 600"> |
| | | 验证人 |
| | | </div> |
| | | <div class="el-border-left acceptDate1" style="width: 40%;height: 40px;"> |
| | | <el-form-item label-width="150px" style="width: 100%;padding-left:20px;margin-bottom:0"> |
| | | <span>{{dataForm.testCheckOrder.verifier}}</span> |
| | | </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> |
| | | </template> |
| | | |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | stepMarker: '', |
| | | configDetailRow: null, |
| | | subtitle: '', |
| | | pageName: {plan: '软件测试计划', explain: '软件测试说明', record: '软件测试记录', report: '软件测试报告'}, |
| | | dataForm: { |
| | | id: '', |
| | | projectId: '', |
| | | code: '', |
| | | softwareidentity: '', |
| | | softwarename: '', |
| | | examiner: '', |
| | | examDate: '', |
| | | problemDescription: '', |
| | | problemProcess: '', |
| | | processor: '', |
| | | processorId: '', |
| | | processDate: '', |
| | | verifier: '', |
| | | verifierId: '', |
| | | verifyDate: '', |
| | | year: '' |
| | | project: { |
| | | softwareIdentity: '', |
| | | softwareName: '', |
| | | }, |
| | | testCheckOrder: { |
| | | code: '', |
| | | examiner: '', |
| | | examDate: '', |
| | | problemDescription: '', |
| | | problemProcess: '', |
| | | processor: '', |
| | | verifier: '', |
| | | }, |
| | | checkOrderList: [] |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | init(id, row) { |
| | | this.configDetailRow = row |
| | | if (row.checkId) { |
| | | this.dataForm.id = row.checkId |
| | | } else if (id) { |
| | | this.dataForm.id = id |
| | | } else { |
| | | this.dataForm.id = row.id |
| | | } |
| | | this.pageCode = row.pageCode |
| | | this.subtitle = this.pageName[this.pageCode] |
| | | |
| | | if (row.projectId) { |
| | | this.dataForm.projectId = row.projectId |
| | | } |
| | | console.log(id, row, this.subtitle, '软件测试计划检查单') |
| | | if (this.configDetailRow) { |
| | | if (!row.stepMarker) { |
| | | this.stepMarker = 'csjcd_first' |
| | | this.title = '发起测试检查单' |
| | | } else { |
| | | this.title = row.stepName |
| | | this.stepMarker = row.stepMarker |
| | | } |
| | | } |
| | | //this.dataForm.disabled |
| | | this.getInfo() |
| | | |
| | | //console.log(this.dataForm.id, this.dataForm.projectId, this.stepMarker, 'this.dataForm.id, this.dataForm.projectId,this.stepMarker') |
| | | }, |
| | | indexFormat(index) { |
| | | return index += 1 |
| | | }, |
| | | // 获取信息 |
| | | async getInfo() { |
| | | let res = await this.$http.get(`/testCheckOrder/TestCheckOrder/${this.dataForm.id}`) |
| | | let params = { |
| | | checkId: this.dataForm.id, |
| | | projectId: this.dataForm.projectId, |
| | | pageCode: this.pageCode |
| | | } |
| | | console.log(this.pageCode, "getInfo pageCode") |
| | | let res = await this.$http.get(`/testCheckOrder/TestCheckOrder/getDto`, {params: params}) |
| | | this.dataForm = { |
| | | ...this.dataForm, |
| | | ...res.data |
| | | } |
| | | console.log(this.dataForm,'this.dataForm this.dataForm') |
| | | }, |
| | | // 表单提交 |
| | | async formSubmit() { |
| | | async formSubmit(submitType) { |
| | | if (submitType == 'tj') { |
| | | let isFlow = false |
| | | for (let item of this.dataForm.checkOrderList) { |
| | | if (!item.checkResult) { |
| | | this.$alert("有未填写的数据") |
| | | return |
| | | } else if (item.checkResult == "2") { |
| | | isFlow = true |
| | | } |
| | | } |
| | | if (submitType == 'tj' && !isFlow) { |
| | | submitType == '' |
| | | } |
| | | } |
| | | if (submitType == 'tj' || submitType == 'bl' && isFlow) { |
| | | let flowInfo = { |
| | | flowCode: 'csjcd', |
| | | stepIdMark: this.stepMarker, |
| | | submitType: submitType |
| | | } |
| | | this.dataForm.flowInfoDto = flowInfo; |
| | | } |
| | | |
| | | let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/testCheckOrder/TestCheckOrder/', this.dataForm) |
| | | if (res.success) { |
| | | await this.$tip.success() |
| | | this.$refs.dialog.close() |
| | | this.$emit('refreshDataList') |
| | | this.$emit('recall', res.data, this.configDetailRow) |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style> |
| | | .el-flexCirculationDialog { |
| | | display: flex; |
| | | align-items: center |
| | | } |
| | | |
| | | .testCheckFormAuto .acceptDate > .el-form-item > .el-form-item__content { |
| | | width: 100%; |
| | | } |
| | | |
| | | .testCheckFormAuto .acceptDate1 > .el-form-item > .el-form-item__content { |
| | | width: 100%; |
| | | } |
| | | |
| | | .testCheckFormAuto .marginTopAndMarginBottom { |
| | | margin-top: 10px !important; |
| | | margin-bottom: 0 !important; |
| | | } |
| | | |
| | | .testCheckFormAuto .marginTopAndMarginBottom2 { |
| | | margin-top: -10px !important; |
| | | margin-bottom: 10px !important; |
| | | } |
| | | |
| | | .testCheckFormAuto .marginTopAndMarginBottom3 { |
| | | margin-top: 0 !important; |
| | | margin-bottom: 10px !important; |
| | | } |
| | | |
| | | .testCheckFormAuto .acceptDate > .el-form-item > .el-form-item__content { |
| | | line-height: 78px; |
| | | } |
| | | |
| | | .testCheckContentWidth > .el-form-item > .el-form-item__content { |
| | | width: calc(100% - 120px); |
| | | } |
| | | |
| | | .testCheckFormAuto .el-radio { |
| | | margin-right: 10px; |
| | | } |
| | | </style> |