Bläddra i källkod

Merge branch 'qinzhipeng' into http_test

qinzhipeng_v@didiglobal.com 4 år sedan
förälder
incheckning
d3df4b5dd8

+ 13 - 2
src/layout/components/Navbar.vue

@@ -115,11 +115,22 @@ export default {
     //   // this.$router.push(`/login?redirect=${this.$route.fullPath}`)
     //   location.href = logoutUrl
     // },
-    sumTypeCkeck(type) { // 下拉列表的点击事件
+    sumTypeCkeck(type) { // 下拉列表的点击事件x
       this.sumType = type.name
       settingUserSetBiz({ bizId: type.code }).then(res => {
         localStorage.setItem('bizId', type.code)
-        window.location.reload()
+        const url = window.location.href
+        const urlArr = url.split('?')
+        const k = urlArr[0]
+        const appU = k.split('/')
+        const name = appU[appU.length - 1]
+        name === 'projectViewDetails' ? this.$router.push({ name: '项目', query: {}}) : ''
+        name === 'taskViewDetails' ? this.$router.push({ name: '任务', query: {}}) : ''
+        name === 'requirementDetails' ? this.$router.push({ name: '需求', query: {}}) : ''
+        name === 'iterationDetails' ? this.$router.push({ name: '迭代', query: {}}) : ''
+        if (name !== 'projectViewDetails' || name !== 'taskViewDetails' || name !== 'requirementDetails' || name !== 'iterationDetails') {
+          window.location.reload()
+        }
       })
     },
     get_bizArr() {

+ 4 - 3
src/views/Platform/MyTinymce/MyTinymce.vue

@@ -65,9 +65,9 @@ export default {
   created() {},
   mounted() {
     tinymce.init({})
-    this.$nextTick(() => {
-      this.$emit('setconted')
-    })
+    // this.$nextTick(() => {
+    //   this.$emit('setconted')
+    // })
     this.$store.state.data.RichText = this.tinymceHtml
   },
   methods: {
@@ -75,6 +75,7 @@ export default {
       this.value = e
       this.$emit('change', e)
       this.$store.state.data.RichText = e
+      console.log(this.$store.state.data.RichText)
     }
   }
 }

+ 18 - 0
src/views/Platform/presentation/js/configure.js

@@ -0,0 +1,18 @@
+const configure = {
+  language_url: '/tinymce/langs/zh_CN.js',
+  language: 'zh_CN',
+  skin_url: '/tinymce/skins/ui/oxide', // 编辑器需要一个skin才能正常工作,所以要设置一个skin_url指向之前复制出来的skin文件
+  browser_spellcheck: true, // 拼写检查
+  branding: false, // 去水印
+  elementpath: false, // 禁用编辑器底部的状态栏
+  statusbar: false, // 隐藏编辑器底部的状态栏
+  paste_data_images: true, // 允许粘贴图像
+  menubar: false, // 隐藏最上方menu
+  fontsize_formats: '14px 16px 18px 20px 24px 26px 28px 30px 32px 36px', // 字体大小
+  file_picker_types: 'image',
+  images_upload_credentials: true,
+  plugins: 'lists table textcolor wordcount contextmenu', // 引入插件
+  toolbar: 'bold italic underline strikethrough | fontsizeselect | forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent table | undo redo | removeformat formatselect'
+}
+
+export default configure

+ 2 - 2
src/views/projectManage/iteration/details/iterationDetails.vue

@@ -85,11 +85,11 @@ export default {
   mounted() {
     this.iteratioFilter()
     this.$store.state.data.status = true
-    this.$store.state.data.bizId = true
+    // this.$store.state.data.bizId = true
   },
   destroyed() {
     this.$store.state.data.status = false
-    this.$store.state.data.bizId = false
+    // this.$store.state.data.bizId = false
   },
   methods: {
     async iteratioFilter() { // 迭代list

+ 2 - 2
src/views/projectManage/projectList/projectViewDetails.vue

@@ -279,11 +279,11 @@ export default {
     this.get_list()
     this.initRequirementCreateDialog()
     this.$store.state.data.status = true
-    this.$store.state.data.bizId = true
+    // this.$store.state.data.bizId = true
   },
   destroyed() {
     this.$store.state.data.status = false
-    this.$store.state.data.bizId = false
+    // this.$store.state.data.bizId = false
   },
   methods: {
     async changeArea(e) { // area修改

+ 4 - 4
src/views/projectManage/requirement/components/ganntViews.vue

@@ -69,11 +69,11 @@ export default {
         taskName: item.name,
         label: item.name,
         belongModules: item.moduleInfoName || '',
-        devPerson: item.rdObject.name || '',
-        testPerson: item.qaObject.name || '',
+        // devPerson: item.rdObject.name || '',
+        // testPerson: item.qaObject.name || '',
         description: data + '个排期',
-        startDate: item.optionsObject.startTime ? moment(item.optionsObject.startTime).format('YYYY-MM-DD') : '',
-        endDate: item.optionsObject.endTime ? moment(item.optionsObject.endTime).format('YYYY-MM-DD') : '',
+        startDate: item.optionsObject.startTime ? moment(item.optionsObject.startTime).format('YYYY.MM.DD') : '',
+        endDate: item.optionsObject.endTime ? moment(item.optionsObject.endTime).format('YYYY.MM.DD') : '',
         needLegalAllDays: item.optionsObject.workDays + '/' + item.optionsObject.days,
         type: 'task',
         percent: 0,

+ 6 - 36
src/views/projectManage/requirement/gannttOptions/requireGannt.js

@@ -36,12 +36,14 @@ const options = {
         width: 150,
         style: {
           'task-list-header-label': {
-            'text-align': 'center',
+            'text-align': 'left',
             width: '100%'
           },
           'task-list-item-value-container': {
-            'text-align': 'center',
+            'text-align': 'left',
+            'font-weight': '500',
             width: '100%'
+
           }
         }
       },
@@ -61,38 +63,6 @@ const options = {
           }
         }
       },
-      {
-        id: 3,
-        label: '开发负责人',
-        value: 'devPerson',
-        width: 80,
-        style: {
-          'task-list-header-label': {
-            'text-align': 'center',
-            width: '100%'
-          },
-          'task-list-item-value-container': {
-            'text-align': 'center',
-            width: '100%'
-          }
-        }
-      },
-      {
-        id: 4,
-        label: '测试负责人',
-        value: 'testPerson',
-        width: 80,
-        style: {
-          'task-list-header-label': {
-            'text-align': 'center',
-            width: '100%'
-          },
-          'task-list-item-value-container': {
-            'text-align': 'center',
-            width: '100%'
-          }
-        }
-      },
       {
         id: 5,
         label: '排期类型及描述',
@@ -101,11 +71,11 @@ const options = {
         expander: true,
         style: {
           'task-list-header-label': {
-            'text-align': 'center',
+            'text-align': 'left',
             width: '100%'
           },
           'task-list-item-value-container': {
-            'text-align': 'center',
+            'text-align': 'left',
             width: '100%'
           }
         }

+ 11 - 3
src/views/projectManage/requirement/requirementDetail.vue

@@ -163,7 +163,7 @@
               <div>需求计划
                 <el-tooltip class="item" effect="dark" :content="isScheduleLocked === 1? '点击解锁排期' : '点击锁定排期'" placement="top">
                   <span
-                    v-if="!form_query.needGrey"
+                    v-if="!form_query.needGrey || isScheduleLocked === 1"
                     class="titleStatus"
                     :class="isScheduleLocked === 1 ? 'el-icon-lock' : 'el-icon-unlock'"
                     @click="changeSchedule"
@@ -445,6 +445,10 @@ export default {
     return {
       urgent: urgent,
       showunlock: true,
+      show2: true,
+      activeTitle: '1', // 默认展示列表视图
+      taskShow: 1, // 默认展示仅任务
+      taskArray: [{ code: 1, name: '仅任务' }, { code: 2, name: '仅子任务' }, { code: 3, name: '所有任务' }], // 需求下任务展示
       textarea2: '',
       HoldTask: '',
       props: {
@@ -519,11 +523,11 @@ export default {
     this.getTaskStatus()
     this.GetRequireScheduleHistory()
     this.$store.state.data.status = true
-    this.$store.state.data.bizId = true
+    // this.$store.state.data.bizId = true
   },
   destroyed() {
     this.$store.state.data.status = false
-    this.$store.state.data.bizId = false
+    // this.$store.state.data.bizId = false
   },
   methods: {
     async GetRequireScheduleHistory() {
@@ -595,6 +599,7 @@ export default {
       const res = await updateRequirement(requirementInfo)
       if (res.code === 200) {
         this.dialogStatusVisible = false
+        this.getRequirementById()
         this.$message({ message: '修改成功', type: 'success', duration: 1000, offset: 150 })
       }
       this.getRequirementById()
@@ -937,6 +942,9 @@ export default {
 .paddingLeft {
   padding-left: 0px;
 }
+.el-tabs-spacing {
+  padding: 20px 30px;
+  }
 .sign-tabs {
   padding: 0 30px;
 }

+ 3 - 3
src/views/projectManage/taskList/taskViewDetail.vue

@@ -160,7 +160,7 @@
               <div>任务计划
                 <el-tooltip class="item" effect="dark" :content="isScheduleLocked === 1? '点击解锁排期' : '点击锁定排期'" placement="top">
                   <span
-                    v-if="!form_query.needGrey"
+                    v-if="!form_query.needGrey || isScheduleLocked === 1 "
                     class="titleStatus"
                     :class=" isScheduleLocked === 1 ? 'el-icon-lock' : 'el-icon-unlock'"
                     @click="changeSchedule"
@@ -459,11 +459,11 @@ export default {
     this.getCommentList()
     this.getScheduleGetTaskScheduleHistory()
     this.$store.state.data.status = true
-    this.$store.state.data.bizId = true
+    // this.$store.state.data.bizId = true
   },
   destroyed() {
     this.$store.state.data.status = false
-    this.$store.state.data.bizId = false
+    // this.$store.state.data.bizId = false
   },
   methods: {
     handleClick(tab, event) {

+ 1 - 1
src/views/reportManagement/ReleaseReport/components/iconDisplay.vue

@@ -31,7 +31,7 @@
         </template>
       </el-table-column>
       <el-table-column prop="bugStatusName" label="缺陷状态" align="center" min-width="100" />
-      <el-table-column prop="priorityLevel" label="缺陷等级" align="center" min-width="100" />
+      <el-table-column prop="priorityName" label="缺陷等级" align="center" min-width="100" />
       <el-table-column prop="creatorList" label="提报人" align="center" min-width="90" />
       <el-table-column prop="assignerList" label="责任人" align="center" min-width="90" />
       <el-table-column prop="currentHandlerList" label="修复人" align="center" min-width="90" />

+ 16 - 7
src/views/reportManagement/Testing/newTestingTemplate.vue

@@ -52,7 +52,7 @@
       <el-row v-if="from.deliverTestPlanTime < from.deliverTestActualTime " class="from-margin">
         <el-col :span="24" class="Layout_space_between">
           <span class="from-namea"><span v-if="!releaseType" style="color:red;">*</span>提测延期原因 : </span>
-          <el-input v-model="from.delayReason" size="small" :disabled="releaseType" placeholder="请输入准出原因" style="width: 100%;" />
+          <el-input v-model="from.delayReason" size="small" :disabled="releaseType" placeholder="请输入提测原因" style="width: 100%;" />
         </el-col>
       </el-row>
 
@@ -150,7 +150,7 @@ export default {
     return {
       tableData: [],
       tpltId: '', // 模版id
-      taskId: [], // 创建准出的任务
+      taskId: [], // 创建提测的任务
       fromCreateData: {}, // from
       tasksOptions: [], // 关联任务
       tasksDetailList: [], // 关联任务
@@ -159,7 +159,7 @@ export default {
         reportName: ''
       },
       appClient: [], // 跟版客户端
-      releaseType: true, // 新建模版还是新建准出报告
+      releaseType: true, // 新建模版还是新建提测报告
       loading: false // loading状态
     }
   },
@@ -189,7 +189,6 @@ export default {
     },
     taskIds: {
       handler(newV) {
-        console.log(newV, '111111')
         if (newV[0]) {
           newV.map(item => {
             this.remoteMethod_data(item)
@@ -210,6 +209,7 @@ export default {
         const from = res.data
         this.from.id = from.id
         this.$set(this.from, 'reportName', from.reportName) // 报告名称
+        this.$set(this.from, 'delayReason', from.delayReason) // 延期原因
         this.setFromData(from)
         res.data.taskIds.map(item => {
           this.remoteMethod_data(item)
@@ -239,7 +239,6 @@ export default {
       if (from.devActualTimeStart) {
         this.$set(this.from, 'devActualTimeStart', [from.devActualTimeStart, from.devActualTimeEnd]) // 实际开发时间
       }
-      this.$set(this.from, 'delayReason', from.delayReason) // 延期原因
       this.from.deliverTestActualTime = from.deliverTestActualTime // 实际提测时间
       this.$set(this.from, 'followVersion', from.followVersion) // 是否跟版1 跟版 2 不跟版
       this.$set(this.from, 'isCodeReview', from.isCodeReview) // 是否code review 0:否 1:是
@@ -305,7 +304,6 @@ export default {
 
     // 创建提测报告
     reportreleaseCreate(val) {
-      console.log(val, '每次你就撒不出困境吧')
       this.$refs.fromCreateData.validate(async(valid) => {
         if (valid) {
           this.loading = true
@@ -327,6 +325,12 @@ export default {
             data.delayReason = this.from.delayReason
             data.deliverTestPlanTime = this.from.deliverTestPlanTime // 计划提测时间
             data.deliverTestActualTime = this.from.deliverTestActualTime // 实际提测时间
+            if (this.from.deliverTestPlanTime < this.from.deliverTestActualTime && !this.from.delayReason) {
+              this.$message({ type: 'warning', message: '提测延期原因不能为空' })
+              return false
+            } else {
+              data.delayReason = this.from.delayReason // 是否延期
+            }
             if (this.from.devPlanTimeStart) {
               data.devPlanTimeStart = this.from.devPlanTimeStart[0] // 计划开发开始时间
               data.devPlanTimeEnd = this.from.devPlanTimeStart[1] // 计划开发结束时间
@@ -346,7 +350,6 @@ export default {
               }
             })
           } else {
-            console.log(this.fromCreateData, 'cdsc')
             const data = {}
             data.reportName = this.from.reportName
             data.content = this.fromCreateData.content
@@ -356,6 +359,12 @@ export default {
             data.delayReason = this.from.delayReason
             data.deliverTestPlanTime = this.from.deliverTestPlanTime // 计划提测时间
             data.deliverTestActualTime = this.from.deliverTestActualTime // 实际提测时间
+            if (this.from.deliverTestPlanTime < this.from.deliverTestActualTime && !this.from.delayReason) {
+              this.$message({ type: 'warning', message: '提测延期原因不能为空' })
+              return false
+            } else {
+              data.delayReason = this.from.delayReason // 是否延期
+            }
             if (this.from.devPlanTimeStart) {
               data.devPlanTimeStart = this.from.devPlanTimeStart[0] // 计划开发开始时间
               data.devPlanTimeEnd = this.from.devPlanTimeStart[1] // 计划开发结束时间