<template>
|
<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.baseline.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>
|
</div>
|
<div style="border-bottom: 1px solid rgba(0,0,0,.2);">
|
<div style="padding-left:5px;padding-right:5px;">
|
<div style="width: 112px;text-align: center;font-weight: 600">基线发布描述</div>
|
<div class="table-container">
|
<el-form-item class="marginTopAndMarginBottom" label="基线类型" style="width: 49%">
|
<zt-dict v-model="dataForm.baseline.baselineType" placeholder="基线类型" dict="baseline_type"
|
:radio="true"></zt-dict>
|
</el-form-item>
|
<el-form-item class="marginTopAndMarginBottom" label="基线名称" style="width: 49%">
|
<el-input v-model="dataForm.baseline.baselineName" placeholder="基线名称"></el-input>
|
</el-form-item>
|
<el-form-item class="marginTopAndMarginBottom" label="基线版本" style="width: 49%">
|
<el-input v-model="dataForm.baseline.baselineVersion" placeholder="基线版本"></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 acceptDate" style="height: 80px;width: 80%;">
|
<div class="table-container">
|
<el-table ref="tableCirculatOrderList" class="el-software el-margin-top-bot" border
|
:data="dataForm.remarkList"
|
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="itemName" min-width="180" label="配置项名称">
|
</el-table-column>
|
</el-table>
|
<div v-if="!dataForm.disabled" class="icon-container" @click="handleCommand">
|
<!-- 放置固定的图标 -->
|
<i class="el-icon-plus"></i>
|
</div>
|
</div>
|
</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.baseline.publisher}}</span>
|
</el-form-item>
|
</div>
|
<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.baseline.publishDate}}</span>
|
</el-form-item>
|
</div>
|
<div style="width: 84px;text-align: center;font-weight: 600">
|
基线批准
|
</div>
|
<div class="el-configChangeDialog el-border-bottom">
|
<div class="DFormWidth DAlign DHold">
|
部门意见
|
</div>
|
<div style="width: calc(100% - 120px)" class="el-border-left">
|
<el-form-item class="el-wt-form-item-margin" label-width="20px" style="width: 85%">
|
<el-input :disabled="stepMarker!=='pzxbg_bmsh'" v-model="dataForm.baseline.departOpinion"></el-input>
|
</el-form-item>
|
<el-form-item label-width="80%" label="签字:" style="width: 65%">
|
<span>{{dataForm.baseline.departSign}}</span>
|
</el-form-item>
|
<el-form-item label="日期:" style="width: 20%">
|
<span>{{dataForm.baseline.signDate}}</span>
|
</el-form-item>
|
</div>
|
</div>
|
</div>
|
</div>
|
</el-form>
|
<ConfigItemList ref="configItemList" @getChangeItemList="getChangeItemList"></ConfigItemList>
|
<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";
|
import ConfigItemList from '../configItemChange/configItemList.vue'
|
import AddOrUpdateCheck from "../testCheckOrder/TestCheckOrder-AddOrUpdate";
|
|
export default {
|
data() {
|
return {
|
dataForm: {
|
id: '',
|
pageCode: '',
|
stepMarker: '',
|
pageName: {
|
demand: '需求基线', product:'产品基线'
|
},
|
baseline: {
|
code: '',
|
baselineType: '',
|
baselineName: '',
|
baselineVersion: '',
|
remark: '',
|
publisher: '',
|
publishDate: '',
|
departOpinion: '',
|
departSign: '',
|
signDate: '',
|
},
|
project: {
|
softwareIdentity: '',
|
softwareName: ''
|
},
|
remarkList: []
|
}
|
}
|
},
|
components: {
|
ConfigItemList
|
},
|
methods: {
|
init(id, row) {
|
if (id) {
|
this.dataForm.id = id
|
} else {
|
this.dataForm.id = row.id
|
}
|
this.pageCode = row.pageCode
|
if (row.projectId) {
|
this.dataForm.projectId = row.projectId
|
}
|
/* 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
|
},
|
handleCommand() {
|
this.$nextTick(()=>{
|
console.log(this.dataForm.projectId,'this.dataForm.projectId')
|
this.ids = this.dataForm.configChangeList.map(item=>item.selectId).join(',')
|
this.$refs.configItemList.$refs.dialog.init(this.dataForm.projectId,this.ids)
|
})
|
},
|
// 获取信息
|
async getInfo() {
|
let params = {
|
baselineId: this.dataForm.id,
|
projectId: this.dataForm.projectId,
|
pageCode: this.pageCode
|
}
|
console.log(this.pageCode, "getInfo pageCode")
|
let res = await this.$http.get(`/baselineRelease/BaselineRelease/getDto`, {params: params})
|
this.dataForm = {
|
...this.dataForm,
|
...res.data
|
}
|
console.log(this.dataForm, 'this.dataForm this.dataForm')
|
},
|
getChangeItemList(data){
|
console.log(data.configChangeList,'getChangeItemList(data)')
|
if(data.configChangeList){
|
this.dataForm.configChangeList=this.dataForm.configChangeList.concat(data.configChangeList)
|
}
|
console.log(this.dataForm.configChangeList,ids,'this.dataForm.configChangeList')
|
},
|
async print() {
|
var params = qs.stringify({
|
token: Cookies.get('token'),
|
id: this.dataForm.id,
|
pageCode: this.pageCode
|
})
|
let apiURL = `/baselineRelease/BaselineRelease/exportbaseline`
|
window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}`
|
},
|
// 表单提交
|
async formSubmit(submitType) {
|
if (submitType == 'tj' || submitType == 'bl' ) {
|
let flowInfo = {
|
flowCode: 'jxfb',
|
stepIdMark: this.stepMarker,
|
submitType: submitType
|
}
|
this.dataForm.flowInfoDto = flowInfo;
|
}
|
console.log(this.dataForm, "this.dataForm formSubmit(submitType)")
|
let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/baselineRelease/BaselineRelease/', this.dataForm)
|
if (res.success) {
|
await this.$tip.success()
|
this.$refs.dialog.close()
|
this.$emit('refreshDataList')
|
}
|
}
|
}
|
}
|
</script>
|