qinzhipeng_v@didiglobal.com %!s(int64=4) %!d(string=hai) anos
pai
achega
5e19284437

+ 8 - 0
src/api/requirement.js

@@ -330,3 +330,11 @@ export function requirementSyncDpmWorkflow(id) {
     method: 'get'
   })
 }
+
+// 手动任务同步望岳排期到质惠
+export function taskSyncDpmWorkflow(id) {
+  return request({
+    url: requestIp + `/task/syncDpmWorkflow?id=${id}`,
+    method: 'get'
+  })
+}

+ 12 - 4
src/views/projectManage/components/workflowAndStatus.vue

@@ -22,7 +22,7 @@
 
 <script>
 import '@/styles/PublicStyle/index.scss'
-import { requirementSyncDpmWorkflow } from '@/api/requirement.js'
+import { requirementSyncDpmWorkflow, taskSyncDpmWorkflow } from '@/api/requirement.js'
 export default {
   props: {
     visible: { type: Boolean, default: false },
@@ -56,9 +56,17 @@ export default {
   },
   methods: {
     async requirementSyncDpmWorkflow() {
-      const res = await requirementSyncDpmWorkflow(this.requirementId)
-      if (res.code === 200) {
-        this.$emit('update')
+      if (this.name === '需求') {
+        const res = await requirementSyncDpmWorkflow(this.requirementId)
+        if (res.code === 200) {
+          this.$emit('update')
+        }
+      }
+      if (this.name === '任务') {
+        const res = await taskSyncDpmWorkflow(this.requirementId)
+        if (res.code === 200) {
+          this.$emit('update')
+        }
       }
     },
     close() {

+ 38 - 21
src/views/projectManage/requirement/components/BasicsCode.vue

@@ -51,7 +51,7 @@
             <el-cascader v-model="form_query.rqmtOrntIds" size="medium" collapse-tags :props="props" :options="demandDirection" placeholder="请选择" />
           </template>
           <template slot="overMouse">
-            <span v-if="form_query.rqmtOrntNames">{{ form_query.rqmtOrntNames }}</span>
+            <span v-if="form_query.rqmtOrntNames">{{ form_query.rqmtOrntNames.slice(0, 20) }}</span>
           </template>
         </over-click>
       </el-form-item>
@@ -106,6 +106,7 @@
           </template>
           <template slot="overMouse">
             <span v-if="form_query.iterationName">{{ form_query.iterationName }}</span>
+            <span v-else style="color: #C0C4CC;">请选择</span>
           </template>
         </over-click>
       </el-form-item>
@@ -114,7 +115,7 @@
           <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-form-item label="跟版客户端:">
         <over-click id="referredClientType-select" @overMouse="changeArea">
           <template slot="active">
             <el-select v-model="form_query.referredClientType" size="small" multiple filterable placeholder="请选择" @change="ReferredClientType(form_query.referredClientType)">
@@ -122,26 +123,25 @@
             </el-select>
           </template>
           <template slot="overMouse">
-            <span v-if="form_query.referredClientTypeName">{{ form_query.referredClientTypeName }}</span>
+            <span v-if="form_query.referredClientTypeName === '无'" style="color: #C0C4CC;">不跟版</span>
+            <span v-else>{{ form_query.referredClientTypeName }}</span>
           </template>
         </over-click>
       </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="所属项目:">
-        <!-- <over-click id="belongingProject-select" @overMouse="changeArea">
+        <over-click id="belongingProject-select" @overMouse="changeArea">
           <template slot="active">
-            <el-select v-model="form_query.belongingProject" size="small" multiple filterable placeholder="请选择">
-              <el-option v-for="(item,index) in belongProjectList" :key="item.msg + index" :label="item.msg" :value="item.code" />
+            <el-select v-model="form_query.belongingProject" size="small" clearable placeholder="请选择">
+              <el-option v-for="(item,index) in belongProjectList" :key="index" :label="item.name" :value="item.id" />
             </el-select>
           </template>
           <template slot="overMouse">
-            <div v-if="form_query.belongingProject !== -1" @click="jump('项目详情',form_query.belongingProject)">{{ form_query.belongingProjectName }}</div>
-            <template v-else>{{ form_query.belongingProjectName }}</template>
+            <span v-if="form_query.belongingProject"> {{ form_query.belongingProjectName }} </span>
+            <span v-else style="color: #C0C4CC;">请选择</span>
           </template>
-        </over-click> -->
-        <div v-if="form_query.belongingProject !== -1" @click="jump('项目详情',form_query.belongingProject)">{{ form_query.belongingProjectName }}</div>
-        <template v-else>{{ form_query.belongingProjectName }}</template>
+        </over-click>
       </el-form-item>
     </el-form>
 
@@ -223,24 +223,41 @@ export default {
       requirementInfo.rqmtProposer = requirementInfo.rqmtProposer ? requirementInfo.rqmtProposer.join() : null
       requirementInfo.rdLeader = requirementInfo.rdLeader ? requirementInfo.rdLeader.join() : ''
       requirementInfo.qaLeader = requirementInfo.qaLeader ? requirementInfo.qaLeader.join() : ''
-      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
+      requirementInfo.iterationId = requirementInfo.iterationId === '' ? requirementInfo.iterationId = -1 : requirementInfo.iterationId
+      console.log(requirementInfo, 'cndisn ')
+      if (requirementInfo.referredClientType.length === 0) {
+        if (this.form_query.referredClientTypeName === '无') {
+          this.form_query.referredClientType = [-1]
+        } else {
+          this.form_query.referredClientType = this.form_query.referredClientTypes
+          this.appClient.map(item => {
+            if (item.code === -1) {
+              item.dis = true
+            }
+          })
+          this.$message({ message: '跟版客户端不能为空', type: 'error', duration: 1000, offset: 150 })
+          return false
+        }
       }
-      if (requirementInfo.referredClientType !== null) {
-        requirementInfo.referredClientType = requirementInfo.referredClientType.join()
+      if (requirementInfo.referredClientType !== null && requirementInfo.referredClientType !== []) {
+        if (requirementInfo.referredClientType === -1) {
+          requirementInfo.dependOnRelease = 0
+          requirementInfo.referredClientType = []
+        } else {
+          requirementInfo.referredClientType = requirementInfo.referredClientType.join()
+        }
       }
+
       const res = await updateRequirement(requirementInfo)
       if (res.code === 200) {
         this.$emit('update')
         this.$message({ message: '修改成功', type: 'success', duration: 1000, offset: 150 })
       }
     },
-    jump(page, id) { // 跳转
-      this.$router.push({ name: page, query: { id: id }})
-    },
+    // jump(page, id) { // 跳转
+    // @click="jump('项目详情',form_query.belongingProject)"
+    //   this.$router.push({ name: page, query: { id: id }})
+    // },
     async showRequirementEnum() { // 获取需求状态列表,优先级列表,需求来源
       const res1 = await projectListProject({ bizId: Number(localStorage.getItem('bizId')) })
       if (res1.code === 200) {

+ 12 - 1
src/views/projectManage/requirement/requirementDetail.vue

@@ -612,9 +612,19 @@ export default {
         } else {
           this.form_query.qaLeader = this.form_query.qaLeader.split(',')
         }
+        if (this.form_query.iterationId === -1) {
+          this.$set(this.form_query, 'iterationName', '')
+          this.$set(this.form_query, 'iterationId', '')
+        }
         this.form_query.isDirectlyFromDpm === 1 ? this.toilp = this.form_query.relatedDpmRequirementInfo.requirementDisplayId + this.form_query.relatedDpmRequirementInfo.name : ''
         if (this.form_query.referredClientType !== null) {
-          this.form_query.referredClientType = this.form_query.referredClientTypes
+          if (this.form_query.referredClientType === -1) {
+            this.form_query.dependOnRelease = 0
+            this.form_query.referredClientType = [-1]
+            this.form_query.referredClientTypes = []
+          } else {
+            this.form_query.referredClientType = this.form_query.referredClientTypes
+          }
         }
         this.availableStatusList = res.data.availableStatusList
         if (this.form_query.rqmtProposer === null || this.form_query.rqmtProposer === '') {
@@ -646,6 +656,7 @@ export default {
         }
       })
       this.$refs.timeLine1.taskGetWorkFlow()
+      this.$refs.record.operationLogTask()
     },
     async getCommentList() { // 获取需求评论
       const res = await getCommentList({ type: 4, joinId: this.$route.query.id })

+ 1 - 0
src/views/projectManage/taskList/taskViewDetail.vue

@@ -657,6 +657,7 @@ export default {
         this.toilp = this.form_query.relatedDpmTaskInfo.taskId + this.form_query.relatedDpmTaskInfo.name
         this.allStatus = res.data.availableStatusList
         this.$refs.timeLine.taskGetWorkFlow()
+        this.$refs.record.operationLogTask()
       }
     },
     async getCommentList() { // 获取任务评论