|
@@ -0,0 +1,171 @@
|
|
|
+<template>
|
|
|
+ <div class="detail-info">
|
|
|
+ <el-form :inline="true" :model="form_query" class="demo-form-inline" label-position="left" label-width="100px">
|
|
|
+ <el-form-item label="PM:">
|
|
|
+ <search-people :value.sync="form_query.pm" :clearable="false" @change="changeArea" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="开发Leader:">
|
|
|
+ <div v-if="show2" class="public_Jump" @click="show2 = false">{{ form_query.pm }} <i class="el-icon-edit" /></div>
|
|
|
+ <search-people v-if="show2 === false" :value.sync="form_query.pm" :clearable="false" @change="changeArea" @blur="show2 = true" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="测试Leader:">
|
|
|
+ <search-people :value.sync="form_query.pm" :clearable="false" @change="changeArea" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <el-form :inline="true" :model="form_query" class="demo-form-inline" label-position="left" label-width="100px">
|
|
|
+ <el-form-item label="所属项目:" class="module">
|
|
|
+ <div v-if="form_query.belongingProject !== -1" @click="jump('项目详情',form_query.belongingProject)">{{ form_query.belongingProjectName }}</div>
|
|
|
+ <template v-else>{{ form_query.belongingProjectName }}</template>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="所属迭代:">
|
|
|
+ <el-select v-model="form_query.iterationId" placeholder="请选择" @change="changeArea">
|
|
|
+ <el-option v-for="(item,index) in iterationList" :key="item.name + index" :label="item.name" :value="item.id" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="PM:">
|
|
|
+ <search-people :value.sync="form_query.pm" :clearable="false" @change="changeArea" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <el-form :inline="true" :model="form_query" class="demo-form-inline" label-position="left" label-width="100px">
|
|
|
+ <el-form-item label="需求方向:">
|
|
|
+ <el-cascader v-model="form_query.rqmtOrntIds" size="medium" collapse-tags :props="props" :options="demandDirection" placeholder="请选择" @change="changeArea" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="需求来源:">
|
|
|
+ <el-select v-model="form_query.sourceType" size="small" filterable placeholder="请选择" @change="changeArea">
|
|
|
+ <el-option v-for="(item,index) in sourceTypeList" :key="item.msg + index" :label="item.msg" :value="item.code" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="需求提出人:">
|
|
|
+ <search-people :value.sync="form_query.rqmtProposer" :clearable="false" :multiple="true" @change="changeArea" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <el-form :inline="true" :model="form_query" class="demo-form-inline" label-position="left" label-width="100px">
|
|
|
+ <el-form-item label="优先级:">
|
|
|
+ <el-select v-model="form_query.priority" size="small" filterable placeholder="请选择" @change="changeArea">
|
|
|
+ <el-option v-for="(item,index) in priorityList" :key="item.msg + index" :label="item.msg" :value="item.code" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="是否跟版:">
|
|
|
+ <el-select v-model="form_query.dependOnRelease" size="small" filterable placeholder="请选择" @change="changeArea">
|
|
|
+ <el-option v-for="(item,index) in dependList" :key="item.msg + index" :label="item.msg" :value="item.code" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item v-if="form_query.dependOnRelease === 1" label="跟版客户端:">
|
|
|
+ <el-select v-model="form_query.referredClientType" size="small" multiple filterable placeholder="请选择" @change="changeArea">
|
|
|
+ <el-option v-for="(item,index) in appClient" :key="item.msg + index" :label="item.msg" :value="item.code" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <el-form :model="form_query" class="demo-form-inline" label-position="left" label-width="100px">
|
|
|
+ <el-form-item label="BRD链接:" class="PRD">
|
|
|
+ <span class="PRD-link"><a :href="form_query.brdUrl" target="_blank">{{ form_query.brdUrl }}</a></span>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="PRD链接:" prop="mrdUrl" class="PRD">
|
|
|
+ <span class="PRD-link"><a :href="form_query.mrdUrl" target="_blank">{{ form_query.mrdUrl }}</a></span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import '@/styles/PublicStyle/index.scss'
|
|
|
+import { updateRequirement } from '@/api/requirement.js'
|
|
|
+export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ form_query: {}
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ async changeArea(e) { // area修改
|
|
|
+ const requirementInfo = _.cloneDeep(this.form_query)
|
|
|
+ requirementInfo.rqmtProposer = requirementInfo.rqmtProposer ? requirementInfo.rqmtProposer.join() : null
|
|
|
+ if (requirementInfo.dependOnRelease === 1 && requirementInfo.referredClientType === null) {
|
|
|
+ this.$message({ message: '跟版客户端不能为空', type: 'error', duration: 1000, offset: 150 })
|
|
|
+ return false
|
|
|
+ } else if (requirementInfo.dependOnRelease === 0) {
|
|
|
+ requirementInfo.referredClientType = null
|
|
|
+ }
|
|
|
+ if (requirementInfo.referredClientType !== null) {
|
|
|
+ requirementInfo.referredClientType = requirementInfo.referredClientType.join()
|
|
|
+ }
|
|
|
+ requirementInfo.status = this.statusValue
|
|
|
+ const res = await updateRequirement(requirementInfo)
|
|
|
+ if (res.code === 200) {
|
|
|
+ this.dialogStatusVisible = false
|
|
|
+ this.getRequirementById()
|
|
|
+ this.$refs.timeLine1.taskGetWorkFlow()
|
|
|
+ this.$message({ message: '修改成功', type: 'success', duration: 1000, offset: 150 })
|
|
|
+ }
|
|
|
+ // }
|
|
|
+ this.getRequirementById()
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.detail-info {
|
|
|
+ padding: 0 34px 20px 34px;
|
|
|
+ /deep/.el-input__inner{
|
|
|
+ border: 1px solid rgba(220,223,230,0)
|
|
|
+ }
|
|
|
+ /deep/.el-input__inner:hover{
|
|
|
+ border: 1px solid rgba(220,223,230,1)
|
|
|
+ }
|
|
|
+ /deep/.is-focus .el-input__inner {
|
|
|
+ border: 1px solid #409EFF;
|
|
|
+ }
|
|
|
+ /deep/.el-select{
|
|
|
+ .el-input__suffix-inner {
|
|
|
+ visibility: hidden;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /deep/.el-select:hover{
|
|
|
+ .el-input__suffix-inner {
|
|
|
+ visibility: visible;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .demo-form-inline {
|
|
|
+ .el-form-item {
|
|
|
+ width: 33%;
|
|
|
+ margin-right: 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .comment-main {
|
|
|
+ list-style: none;
|
|
|
+ padding: 15px 0 0 0;
|
|
|
+ margin: 0 0 20px 0;
|
|
|
+ li {
|
|
|
+ list-style: none;
|
|
|
+ padding: 0px;
|
|
|
+ margin: 0px 0px 25px 0;
|
|
|
+ }
|
|
|
+ .comment-name {
|
|
|
+ font-size:14px;
|
|
|
+ color:#333B4A;
|
|
|
+ }
|
|
|
+ .comment-gmtCreater {
|
|
|
+ margin-left:20px;
|
|
|
+ color: #9B9B9B;
|
|
|
+ font-size:12px
|
|
|
+ }
|
|
|
+ .comment-content {
|
|
|
+ font-size:14px;
|
|
|
+ color:#333B4A;
|
|
|
+ margin-top: 10px;
|
|
|
+ white-space: pre-line;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .PRD-link {
|
|
|
+ width: 50%;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow:ellipsis;
|
|
|
+ white-space: nowrap;
|
|
|
+ padding-left: 15px;
|
|
|
+ }
|
|
|
+ .PRD-link:hover{
|
|
|
+ color:#409EFF;
|
|
|
+ }
|
|
|
+ }
|
|
|
+</style>
|