|
@@ -0,0 +1,98 @@
|
|
|
+<template>
|
|
|
+ <el-dialog
|
|
|
+ title="状态变更"
|
|
|
+ :visible.sync="dialogStatusVisible"
|
|
|
+ width="30%"
|
|
|
+ class="public_task"
|
|
|
+ >
|
|
|
+ <div class="blueStripe" />
|
|
|
+ <div align="center">
|
|
|
+ <el-form ref="form_query" :inline="true" :model="form_query" :rules="rules" label-position="left" label-width="158px">
|
|
|
+ <el-form-item v-if="statusName === 'BRD评审通过'" :label="statusName + '时间:'" prop="brdPassRealTime">
|
|
|
+ <el-date-picker v-model="form_query.brdPassRealTime" type="date" placeholder="请选择" format="yyyy.MM.dd" value-format="yyyy.MM.dd" style="width: 100%;" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item v-if="statusName === 'PRD评审通过'" :label="statusName + '时间:'" prop="prdPassRealTime">
|
|
|
+ <el-date-picker v-model="form_query.prdPassRealTime" type="date" :clearable="false" placeholder="请选择" format="yyyy.MM.dd" value-format="yyyy.MM.dd" style="width: 100%;" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item v-if="statusName === '技术准入'" :label="statusName + '时间:'" prop="techInRealTime">
|
|
|
+ <el-date-picker v-model="form_query.techInRealTime" type="date" placeholder="请选择" format="yyyy.MM.dd" value-format="yyyy.MM.dd" style="width: 100%;" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item v-if="statusName === '已上线'" :label="statusName + '时间:'" prop="onlineRealTime">
|
|
|
+ <el-date-picker v-model="form_query.onlineRealTime" type="date" placeholder="请选择" format="yyyy.MM.dd" value-format="yyyy.MM.dd" style="width: 100%;" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="clone">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="updateRequirementStatus">确 定</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import moment from 'moment'
|
|
|
+import { updateRequirementStatus } from '@/api/requirement'
|
|
|
+export default {
|
|
|
+ props: {
|
|
|
+ statusObj: { type: Object, default: null }
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ statusName: '',
|
|
|
+ statusValue: '',
|
|
|
+ rqmtStatusShow: true,
|
|
|
+ status: {},
|
|
|
+ form_query: {},
|
|
|
+ rules: {
|
|
|
+ brdPassRealTime: [{ required: true, message: '请输入BRD评审通过时间', trigger: 'change' }],
|
|
|
+ prdPassRealTime: [{ required: true, message: '请输入PRD评审通过时间', trigger: 'change' }],
|
|
|
+ techInRealTime: [{ required: true, message: '请输入技术准入时间', trigger: 'change' }],
|
|
|
+ onlineRealTime: [{ required: true, message: '请输入实际上线时间', trigger: 'change' }]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ statusObj: {
|
|
|
+ handler(newV, oldV) {
|
|
|
+ if (newV) {
|
|
|
+ this.status = newV
|
|
|
+ this.setStatusData()
|
|
|
+ }
|
|
|
+ },
|
|
|
+ deep: true,
|
|
|
+ immediate: true
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ setStatusData() {
|
|
|
+ this.dialogStatusVisible = true
|
|
|
+ this.statusName = this.status.name
|
|
|
+ this.statusValue = this.status.code
|
|
|
+ this.status.name === 'BRD评审通过' ? this.$set(this.form_query, 'brdPassRealTime', moment().locale('zh-cn').format('YYYY.MM.DD')) : '' // BRD评审通过时间
|
|
|
+ this.status.name === 'PRD评审通过' ? this.$set(this.form_query, 'prdPassRealTime', moment().locale('zh-cn').format('YYYY.MM.DD')) : '' // PRD评审通过时间
|
|
|
+ this.status.name === '技术准入' ? this.$set(this.form_query, 'techInRealTime', moment().locale('zh-cn').format('YYYY.MM.DD')) : '' // 技术准入
|
|
|
+ this.status.name === '已上线' ? this.$set(this.form_query, 'onlineRealTime', moment().locale('zh-cn').format('YYYY.MM.DD')) : '' // 实际上线
|
|
|
+ },
|
|
|
+
|
|
|
+ async updateRequirementStatus() {
|
|
|
+ this.form_query.id = this.status.id
|
|
|
+ this.form_query.status = this.status.code
|
|
|
+ this.form_query.modifier = localStorage.getItem('username')
|
|
|
+ const res = await updateRequirementStatus(this.form_query)
|
|
|
+ if (res.code === 200) {
|
|
|
+ this.dialogStatusVisible = false
|
|
|
+ this.$emit('update')
|
|
|
+ this.$message({ message: '修改成功', type: 'success', offset: 150 })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ clone() {
|
|
|
+ this.dialogStatusVisible = false
|
|
|
+ this.$emit('update')
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style>
|
|
|
+
|
|
|
+</style>
|