qinzhipeng_v@didiglobal.com 4 年之前
父节点
当前提交
fe98ae73a7

+ 8 - 0
src/api/requirement.js

@@ -338,3 +338,11 @@ export function taskSyncDpmWorkflow(id) {
     method: 'get'
   })
 }
+
+// 排期锁定验证
+export function unlockScheduleCheck(id) {
+  return request({
+    url: requestIp + `/schedule/unlockScheduleCheck?id=${id}`,
+    method: 'get'
+  })
+}

+ 28 - 31
src/views/projectManage/requirement/components/BasicsCode.vue

@@ -123,7 +123,7 @@
             </el-select>
           </template>
           <template slot="overMouse">
-            <span v-if="form_query.referredClientTypeName === '无'" style="color: #333333;">不跟版</span>
+            <span v-if="form_query.referredClientTypeName === '无' || form_query.referredClientTypeName === 'null' " style="color: #333333;">不跟版</span>
             <span v-else>{{ form_query.referredClientTypeName }}</span>
           </template>
         </over-click>
@@ -229,27 +229,24 @@ export default {
       requirementInfo.rdLeader = requirementInfo.rdLeader ? requirementInfo.rdLeader.join() : ''
       requirementInfo.qaLeader = requirementInfo.qaLeader ? requirementInfo.qaLeader.join() : ''
       requirementInfo.iterationId = requirementInfo.iterationId === '' ? requirementInfo.iterationId = -1 : requirementInfo.iterationId
-      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) {
-        if (requirementInfo.referredClientType === '-1') {
+      if (requirementInfo.referredClientType.length > 0) {
+        if (requirementInfo.referredClientType === [-1]) {
           requirementInfo.dependOnRelease = 0
           requirementInfo.referredClientType = []
         } else {
+          requirementInfo.dependOnRelease = 1
           requirementInfo.referredClientType = requirementInfo.referredClientType.join()
         }
+      } else {
+        this.form_query.referredClientType = [-1]
+        requirementInfo.dependOnRelease = 0
+        requirementInfo.referredClientType = ''
+        this.appClient.map(item => {
+          if (item.code !== -1) {
+            item.dis = true
+          }
+        })
       }
-
       const res = await updateRequirement(requirementInfo)
       if (res.code === 200) {
         this.$emit('update')
@@ -279,21 +276,21 @@ export default {
         this.sourceTypeList = res.data.sourceType
         this.appClient = res.data.appClient
         this.appClient.unshift({ msg: '不跟版', code: -1 })
-        this.$nextTick(() => {
-          if (this.form_query.referredClientType === '-1' && this.form_query.referredClientType) {
-            this.appClient.map(item => {
-              if (item.code !== -1) {
-                item.dis = true
-              }
-            })
-          } else {
-            this.appClient.map(item => {
-              if (item.code === -1) {
-                item.dis = true
-              }
-            })
-          }
-        })
+        // this.$nextTick(() => {
+        if (this.form_query.referredClientType === '-1' && this.form_query.referredClientType) {
+          this.appClient.map(item => {
+            if (item.code !== -1) {
+              item.dis = true
+            }
+          })
+        } else {
+          this.appClient.map(item => {
+            if (item.code === -1) {
+              item.dis = true
+            }
+          })
+        }
+        // })
       }
       const res3 = await settingQueryBizRqmtOrntList(localStorage.getItem('bizId'))
       if (res3.code === 200) { // 需求方向

+ 8 - 9
src/views/projectManage/requirement/requirementDetail.vue

@@ -121,7 +121,7 @@
                     v-if="!form_query.needGrey || isScheduleLocked === 1"
                     class="titleStatus"
                     :class="isScheduleLocked === 1 ? 'el-icon-lock' : 'el-icon-unlock'"
-                    @click="scheduleVisble = true"
+                    @click="unlockScheduleCheck"
                   >
                     {{ isScheduleLocked === 1 ? '已锁定' : '未锁定' }}
                   </span>
@@ -357,7 +357,7 @@ import {
   listByRequire,
   requirementHold,
   requirementUnhold,
-  // configShowRequireStatusEnum,
+  unlockScheduleCheck,
   scheduleGetRequireScheduleHistory,
   scheduleGetHistoryRequireScheduleById
   // scheduleGetHistoryScheduleById,
@@ -575,13 +575,12 @@ export default {
         this.$message({ message: '修改成功', type: 'success', duration: 1000, offset: 150 })
       }
     },
-    // async showRequirementEnum() { // 获取需求状态列表,优先级列表,需求来源
-    //   const res1 = await configShowRequireStatusEnum(localStorage.getItem('bizId'))
-    //   if (res1.code === 200) {
-    //     this.statusList = []
-    //     this.statusList = res1.data.requirementStatus
-    //   }
-    // },
+    async unlockScheduleCheck() {
+      const res = await unlockScheduleCheck(this.requirementId)
+      if (res.code === 200) {
+        this.scheduleVisble = true
+      }
+    },
     changeBtn() {
       if (this.HoldTask === 'Hold 需求') {
         this.visible = !this.visible