panxiandiao_i 5 年 前
コミット
7d26baac20

+ 8 - 0
src/api/defectManage.js

@@ -60,6 +60,14 @@ export function taskListCreate(data) {
     data
   })
 }
+// 任务管理列表获取
+export function taskListGet(data) {
+  return request({
+    url: mockUrl + '/task/list',
+    method: 'post',
+    data
+  })
+}
 // 下拉
 export function bugGetEnum() {
   return request({

+ 18 - 0
src/api/projectPage.js

@@ -67,6 +67,24 @@ export function deleteTaskData(id, data) {
   })
 }
 
+// 日报删除
+export function deleteDailyReport(id, data) {
+  return request({
+    url: mockUrl + `/dailyReport/delete?id=` + id,
+    method: 'post',
+    data
+  })
+}
+
+// 准出报告删除
+export function deleteProjectTestReport(id, data) {
+  return request({
+    url: mockUrl + `/projectTestReport/delete?id=` + id,
+    method: 'post',
+    data
+  })
+}
+
 // 更新
 export function updateTaskList(data) {
   return request({

+ 8 - 11
src/views/projectManage/projectList/projectCreate.vue

@@ -37,21 +37,18 @@
             <el-form-item label="版本" label-width="147px"><el-input v-model="form.version" autocomplete="off" placeholder="请填写" style="width:76%;" /></el-form-item>
           </div>
           <div class="line-between">
-            <el-form-item label="产品" label-width="124px"><el-input v-model="form.pm" autocomplete="off" placeholder="请填写" style="width:76%;" /></el-form-item>
-            <el-form-item label="开发" label-width="147px"><el-input v-model="form.rd" autocomplete="off" placeholder="请填写" style="width:76%;" /></el-form-item>
+            <el-form-item label="产品" label-width="124px"><el-input v-model="form.pm" autocomplete="off" placeholder="公司邮箱前缀,多人英文逗号分隔" style="width:76%;" /></el-form-item>
+            <el-form-item label="开发" label-width="147px"><el-input v-model="form.rd" autocomplete="off" placeholder="公司邮箱前缀,多人英文逗号分隔" style="width:76%;" /></el-form-item>
           </div>
           <div class="line-between">
-            <el-form-item label="测试" label-width="124px"><el-input v-model="form.qa" autocomplete="off" placeholder="请填写" style="width:76%;" /></el-form-item>
-            <el-form-item label="视觉" label-width="147px"><el-input v-model="form.ue" autocomplete="off" placeholder="请填写" style="width:76%;" /></el-form-item>
-          </div>
-          <div class="line-between">
-            <el-form-item label="交互" label-width="124px"><el-input v-model="form.ui" autocomplete="off" placeholder="请填写" style="width:76%;" /></el-form-item>
-            <el-form-item label="关注人" label-width="147px"><el-input v-model="form.reopenTimes" autocomplete="off" placeholder="请填写" style="width:76%;" /></el-form-item>
+            <el-form-item label="测试" label-width="124px"><el-input v-model="form.qa" autocomplete="off" placeholder="公司邮箱前缀,多人英文逗号分隔" style="width:76%;" /></el-form-item>
+            <el-form-item label="关注人" label-width="147px"><el-input v-model="form.focusPenson" autocomplete="off" placeholder="公司邮箱前缀,多人英文逗号分隔" style="width:76%;" /></el-form-item>
           </div>
           <el-form-item label="需求文档" label-width="110px"><el-input v-model="form.mrdUrl" placeholder="请填写" style="width:90%;" /></el-form-item>
           <el-form-item label="描述" label-width="110px"><el-input v-model="form.description" type="textarea" placeholder="请填写" rows="3" style="width:90%;" /></el-form-item>
-          <el-form-item label="文本" label-width="110px">
-            <div id="wangeditor" class="force-height" style="margin-bottom:22px;width:90%;height:110px" />
+          <el-form-item label="详细信息" label-width="110px">
+            <div id="wangeditor" class="force-height" style="margin-bottom:22px;width:90%;height:20px" />
+            <el-input id="divide" v-model="editorContent" type="textarea" rows="3" style="width:90%;" />
           </el-form-item>
           <el-form-item label="备注" label-width="110px"><el-input v-model="form.remarks" type="textarea" placeholder="请填写" rows="3" style="width:90%;" /></el-form-item>
           <el-form-item class="submit">
@@ -105,7 +102,7 @@ export default {
   },
   mounted() {
     if (!this.$route.query.id) {
-      const editor = new E('#wangeditor')
+      const editor = new E('#wangeditor', 'divide')
       editor.customConfig.menus = ['bold', 'italic', 'underline', 'link', 'list', 'justify', 'table']
       editor.customConfig.onchange = (html) => {
         this.editorContent = html

+ 4 - 4
src/views/projectManage/projectList/projectListIndex.vue

@@ -6,7 +6,7 @@
         <div class="block">
           <el-form :model="queryCode">
             <div class="set-between">
-              <el-form-item label="创建时间" label-width="70px"><el-date-picker v-model="queryCode.dateQuery" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" /></el-form-item>
+              <!-- <el-form-item label="创建时间" label-width="70px"><el-date-picker v-model="queryCode.dateQuery" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" /></el-form-item> -->
               <el-form-item label="项目名称" label-width="70px"><el-input v-model="queryCode.name" placeholder="请选择项目" autocomplete="off" clearable size="medium" style="width:76%;" /></el-form-item>
               <el-form-item label="状态" label-width="40px">
                 <el-select v-model="queryCode.statusString" size="medium" style="width:60%;" clearable placeholder="状态">
@@ -38,7 +38,7 @@
                 width="200"
               >
                 <template slot-scope="scope">
-                  <el-tag class="tag" style="cursor:pointer;" @click="projectShow(scope.row.id)">{{ scope.row.name }}</el-tag>
+                  <el-link style="font-weight: 400;" type="primary" :underline="false" @click="projectShow(scope.row.id)">{{ scope.row.name }}</el-link>
                 </template>
               </el-table-column>
               <el-table-column
@@ -137,7 +137,7 @@ export default {
     getList() {
       this.bizJson = localStorage.getItem('key')
       this.queryListData = {
-        ename: this.userNames,
+        ename: this.userInformation,
         bizId: this.bizJson,
         pageSize: this.pageSize,
         curIndex: this.curIndex
@@ -153,7 +153,7 @@ export default {
       queryCode.statusString !== '' ? this.Arra.push(queryCode.statusString) : ''
       queryCode.status = this.Arra
       queryCode.bizId = localStorage.getItem('key')
-      queryCode.ename = this.userNames
+      queryCode.ename = this.userInformation
       queryCode.pageSize = this.pageSize
       queryCode.curIndex = this.curIndex
       projectInit(queryCode).then(res => {

+ 209 - 37
src/views/projectManage/projectList/projectPreview.vue

@@ -4,47 +4,48 @@
       <div class="block">
         <div class="operate-flex">
           <span>状态</span>
-          <el-select v-model="form.status" size="medium" style="width:11%;margin-right: 15px;" clearable placeholder="状态">
+          <el-select v-model="form.status" size="medium" style="width:11%;margin-right: 15px;" clearable placeholder="状态" @change="updateData()">
             <el-option v-for="item in processStatusEnumList" :key="item.code" :label="item.name" :value="item.code" />
           </el-select>
           <span>优先级</span>
-          <el-select v-model="form.priority" size="medium" style="width:11%;margin-right: 15px;" clearable placeholder="优先级">
+          <el-select v-model="form.priority" size="medium" style="width:11%;margin-right: 15px;" clearable placeholder="优先级" @change="updateData()">
             <el-option v-for="item in priorityEnumList" :key="item.code" :label="item.name" :value="item.code" />
           </el-select>
           <span>进展</span>
-          <el-select v-model="form.stage" size="medium" style="width:11%;margin-right: 15px;" clearable placeholder="进展">
+          <el-select v-model="form.stage" size="medium" style="width:11%;margin-right: 15px;" clearable placeholder="进展" @change="updateData()">
             <el-option v-for="item in stageEnumList" :key="item.code" :label="item.name" :value="item.code" />
           </el-select>
-          <el-button type="primary" plain size="medium">新建日报报告</el-button>
-          <el-button type="primary" plain size="medium">新建准出报告</el-button>
+          <el-button type="primary" plain size="medium" @click="createDailyReport(form)">新建日报报告</el-button>
+          <el-button type="primary" plain size="medium" @click="createReport(form)">新建准出报告</el-button>
           <el-button type="primary" plain size="medium" @click="changeaddTaskData()">新建任务</el-button>
-          <el-button type="primary" plain size="medium">编辑</el-button>
+          <el-button type="primary" plain size="medium" @click="projectShowData()">编辑</el-button>
         </div>
         <div class="display-messege">
-          项目名称 :&nbsp;&nbsp;&nbsp;{{ form.name }}
+          <span style="font-weight:bold;">项目名称 :</span>&nbsp;&nbsp;&nbsp;{{ form.name }}
         </div>
         <div class="display-messege">
-          <div class="divide-twoparts">业务线 :&nbsp;&nbsp;&nbsp;{{ form.bizIdString }}</div>
-          <div class="divide-twoparts">平台类型 :&nbsp;&nbsp;&nbsp;{{ form.platForm }}</div>
+          <div class="divide-twoparts"><span style="font-weight:bold;">业务线 :</span>&nbsp;&nbsp;&nbsp;{{ form.bizIdString }}</div>
+          <div class="divide-twoparts"><span style="font-weight:bold;">关注人 :</span>&nbsp;&nbsp;&nbsp;{{ form.focusPenson }}</div>
         </div>
         <div class="display-messege">
-          <div class="divide-twoparts">产品 :&nbsp;&nbsp;&nbsp;{{ form.pm }}</div>
-          <div class="divide-twoparts">开发 :&nbsp;&nbsp;&nbsp;{{ form.rd }}</div>
+          <div class="divide-twoparts"><span style="font-weight:bold;">平台类型 :</span>&nbsp;&nbsp;&nbsp;{{ form.platFormString }}</div>
+          <div class="divide-twoparts"><span style="font-weight:bold;">开发 :</span>&nbsp;&nbsp;&nbsp;{{ form.rd }}</div>
         </div>
         <div class="display-messege">
-          <div class="divide-twoparts">测试 :&nbsp;&nbsp;&nbsp;{{ form.qa }}</div>
-          <div class="divide-twoparts">交互 :&nbsp;&nbsp;&nbsp;{{ form.ui }}</div>
+          <div class="divide-twoparts"><span style="font-weight:bold;">产品 :</span>&nbsp;&nbsp;&nbsp;{{ form.pm }}</div>
+          <div class="divide-twoparts"><span style="font-weight:bold;">测试 :</span>&nbsp;&nbsp;&nbsp;{{ form.qa }}</div>
         </div>
         <div class="display-messege">
-          <div class="divide-twoparts">视觉 :&nbsp;&nbsp;&nbsp;{{ form.ue }}</div>
-          <div class="divide-twoparts">关注人 :&nbsp;&nbsp;&nbsp;222</div>
+          <div class="divide-twoparts"><span style="font-weight:bold;">版本 :</span>&nbsp;&nbsp;&nbsp;{{ form.version }}</div>
         </div>
-        <div class="display-messege">
-          <div class="divide-twoparts">描述 :&nbsp;&nbsp;&nbsp;{{ form.description }}</div>
-          <div class="divide-twoparts">详细添加 :&nbsp;&nbsp;&nbsp;222</div>
+        <div class="display-messege-end-one">
+          <div class="divide-fullparts"><span style="font-weight:bold;">详细添加 :</span><div class="add-border" v-html="form.timeInfo" /></div>
+        </div>
+        <div class="display-messege-end">
+          <div class="divide-fullparts"><span style="font-weight:bold;">描述 :</span>&nbsp;&nbsp;&nbsp;{{ form.description }}</div>
         </div>
         <div class="display-messege-end">
-          备注 :&nbsp;&nbsp;&nbsp;{{ form.remarks }}
+          <div class="divide-fullparts"><span style="font-weight:bold;">备注 :</span>&nbsp;&nbsp;&nbsp;{{ form.remarks }}</div>
         </div>
       </div>
       <div class="block-end">
@@ -64,18 +65,27 @@
                 width="80"
               />
               <el-table-column
-                prop="name"
                 label="标题名称"
                 align="center"
-              />
+              >
+                <template slot-scope="scope">
+                  <el-link style="font-weight: 400;" type="primary" :underline="false" @click="getClickId(scope.row)">{{ scope.row.name }}</el-link>
+                </template>
+              </el-table-column>
               <el-table-column
-                prop="statusString"
                 label="状态"
                 align="center"
                 width="130"
-              />
+              >
+                <template slot-scope="scope">
+                  <el-tag
+                    :type="scope.row.statusString === '打回' ? 'danger' : 'success'"
+                    disable-transitions
+                  >{{ scope.row.statusString }}</el-tag>
+                </template>
+              </el-table-column>
               <el-table-column
-                prop="gmtCreate"
+                prop="createTime"
                 label="创建时间"
                 align="center"
               />
@@ -84,10 +94,20 @@
                 align="center"
                 width="300"
               >
-                <template>
+                <template v-slot="scope">
                   <div>
-                    <el-button size="mini" type="primary" plain>编辑</el-button>
-                    <el-button size="mini" type="danger" plain>删除</el-button>
+                    <el-button size="mini" type="primary" plain @click="changeTaskData(scope.row.id)">编辑</el-button>
+                    <el-button size="mini" type="danger" plain @click="deleteTaskDataOut(scope.row.id)">删除</el-button>
+                    <el-dialog
+                      :visible.sync="deleteTaskDialogVisible"
+                      width="30%"
+                    >
+                      <span>确定要删除这条任务信息吗</span>
+                      <span slot="footer" class="dialog-footer">
+                        <el-button type="primary" size="mini" @click="delTaskData()">确 定</el-button>
+                        <el-button type="danger" size="mini" @click="deleteTaskDialogVisible = false">取 消</el-button>
+                      </span>
+                    </el-dialog>
                   </div>
                 </template>
               </el-table-column>
@@ -108,10 +128,13 @@
                 width="80"
               />
               <el-table-column
-                prop="name"
                 label="标题名称"
                 align="center"
-              />
+              >
+                <template slot-scope="scope">
+                  <el-link style="font-weight: 400;" type="primary" :underline="false" @click="JumpDaily(scope.row)">{{ scope.row.reportName }}</el-link>
+                </template>
+              </el-table-column>
               <el-table-column
                 prop="gmtCreate"
                 label="创建时间"
@@ -122,10 +145,20 @@
                 align="center"
                 width="300"
               >
-                <template>
+                <template v-slot="scope">
                   <div>
                     <el-button size="mini" type="primary" plain>编辑</el-button>
-                    <el-button size="mini" type="danger" plain>删除</el-button>
+                    <el-button size="mini" type="danger" plain @click="deleteDailyTestDataOut(scope.row.id)">删除</el-button>
+                    <el-dialog
+                      :visible.sync="deleteDailyTestDialogVisible"
+                      width="30%"
+                    >
+                      <span>确定要删除这条日报信息吗</span>
+                      <span slot="footer" class="dialog-footer">
+                        <el-button type="primary" size="mini" @click="delDailyTest()">确 定</el-button>
+                        <el-button type="danger" size="mini" @click="deleteDailyTestDialogVisible = false">取 消</el-button>
+                      </span>
+                    </el-dialog>
                   </div>
                 </template>
               </el-table-column>
@@ -146,10 +179,13 @@
                 width="80"
               />
               <el-table-column
-                prop="name"
                 label="标题名称"
                 align="center"
-              />
+              >
+                <template slot-scope="scope">
+                  <el-link style="font-weight: 400;" type="primary" :underline="false" @click="JumpOut(scope.row)">{{ scope.row.reportName }}</el-link>
+                </template>
+              </el-table-column>
               <el-table-column
                 prop="gmtCreate"
                 label="创建时间"
@@ -160,10 +196,20 @@
                 align="center"
                 width="300"
               >
-                <template>
+                <template v-slot="scope">
                   <div>
                     <el-button size="mini" type="primary" plain>编辑</el-button>
-                    <el-button size="mini" type="danger" plain>删除</el-button>
+                    <el-button size="mini" type="danger" plain @click="deleteTestReport(scope.row.id)">删除</el-button>
+                    <el-dialog
+                      :visible.sync="deleteTestReportDialogVisible"
+                      width="30%"
+                    >
+                      <span>确定要删除这条准出报告信息吗</span>
+                      <span slot="footer" class="dialog-footer">
+                        <el-button type="primary" size="mini" @click="delTestReport()">确 定</el-button>
+                        <el-button type="danger" size="mini" @click="deleteTestReportDialogVisible = false">取 消</el-button>
+                      </span>
+                    </el-dialog>
                   </div>
                 </template>
               </el-table-column>
@@ -176,13 +222,17 @@
 </template>
 
 <script>
-import { getProjectData } from '@/api/projectPage'
+import { getProjectData, updateProject, deleteTaskData, deleteDailyReport, deleteProjectTestReport } from '@/api/projectPage'
 import { bugGetEnum } from '@/api/defectManage' // 下拉菜单data
 
 export default {
   data() {
     return {
       form: {},
+      deleteTaskDialogVisible: false,
+      deleteDailyTestDialogVisible: false,
+      deleteTestReportDialogVisible: false,
+      userData: {},
       stageEnumList: [], // 进展
       priorityEnumList: [], // 优先级
       processStatusEnumList: [], // 状态
@@ -191,6 +241,9 @@ export default {
       projectTestReports: [], // 准出报告Data
       projectData: {},
       statusOptions: [],
+      userInformation: localStorage.getItem('username'),
+      userNames: localStorage.getItem('realname'),
+      pauseId: '',
       activeName: 'first'
     }
   },
@@ -199,6 +252,61 @@ export default {
     this.idDetail()
   },
   methods: {
+    deleteTaskDataOut(e) {
+      this.deleteTaskDialogVisible = true
+      this.pauseId = e
+    },
+    deleteDailyTestDataOut(e) {
+      this.deleteDailyTestDialogVisible = true
+      this.pauseId = e
+    },
+    deleteTestReport(e) {
+      this.deleteTestReportDialogVisible = true
+      this.pauseId = e
+    },
+    // 编辑任务列表
+    changeTaskData(e) {
+      this.$router.push({ name: '任务更新', query: { id: e, projectId: this.$route.query.id }})
+    },
+    // 删除任务列表
+    delTaskData() {
+      this.userData = { id: '', ename: this.userInformation, name: this.userNames }
+      deleteTaskData(this.pauseId, this.userData).then(response => {
+        if (response.code === 200) {
+          this.successFun('delete')
+          this.idDetail()
+        } else {
+          this.errorFun(response.msg)
+        }
+      })
+      this.deleteTaskDialogVisible = false
+    },
+    // 删除日报列表
+    delDailyTest() {
+      this.userData = { id: '', ename: this.userInformation, name: this.userNames }
+      deleteDailyReport(this.pauseId, this.userData).then(response => {
+        if (response.code === 200) {
+          this.successFun('delete')
+          this.idDetail()
+        } else {
+          this.errorFun(response.msg)
+        }
+      })
+      this.deleteDailyTestDialogVisible = false
+    },
+    // 删除准出
+    delTestReport() {
+      this.userData = { id: '', ename: this.userInformation, name: this.userNames }
+      deleteProjectTestReport(this.pauseId, this.userData).then(response => {
+        if (response.code === 200) {
+          this.successFun('delete')
+          this.idDetail()
+        } else {
+          this.errorFun(response.msg)
+        }
+      })
+      this.deleteTestReportDialogVisible = false
+    },
     // 根据id获取数据
     idDetail() {
       getProjectData(this.$route.query.id).then(res => {
@@ -219,8 +327,56 @@ export default {
         this.stageEnumList = res.data.stageEnumList
       })
     },
+    projectShowData() {
+      this.$router.push({ name: '项目创建', query: { id: this.$route.query.id }})
+    },
+    // 跳转任务页面 获取任务点击id
+    getClickId(ele) {
+      this.$router.push({ name: '任务查看', query: { id: ele.id }})
+    },
+    // 日报预览跳转
+    JumpDaily(val) {
+      val.projectId = this.$route.query.id
+      this.$router.push({ path: '/Platform/presentation/testPresenyL', query: { data: val }})
+    },
+    // 准出预览跳转
+    JumpOut(val) {
+      val.projectId = this.$route.query.id
+      this.$router.push({ path: '/Platform/presentation/ResultPageyL', query: { data: val }})
+    },
+    // 新建日报报告
+    createDailyReport(ele) {
+      this.$router.push({ path: '/Platform/presentation/DailyNewsAdded', query: { projectId: ele }})
+    },
+    // 新建准出报告
+    createReport(ele) {
+      if (ele.platForm !== '服务端') {
+        this.$router.push({ path: '/Platform/presentation/ClientAcceptance', query: { projectId: ele }}) // 客户端
+      } else {
+        this.$router.push({ path: '/Platform/presentation/Acceptance', query: { projectId: ele }}) // 服务端
+      }
+    },
+    // 查看头部change
+    updateData() {
+      // this.bizData = this.form
+      this.userData = { id: '', ename: this.userInformation, name: this.userNames }
+      this.objData = { projectInfo: this.form, user: this.userData }
+      updateProject(this.objData).then(response => {
+        if (response.code === 200) {
+          this.successFun('update')
+        } else {
+          this.errorFun(response.msg)
+        }
+      })
+    },
     changeaddTaskData() {
       this.$router.push({ name: '任务创建', query: { id: this.$route.query.id }})
+    },
+    successFun(successText) {
+      this.$notify({ title: 'Success', message: `${successText} Successfully`, type: 'success', duration: 2000 })
+    },
+    errorFun(errorText) {
+      this.$notify({ title: 'Failed', message: errorText, type: 'error', duration: 2000 })
     }
   }
 }
@@ -267,6 +423,20 @@ export default {
       display flex
       width 100%
       margin-bottom 15px
+    .display-messege-end-one
+      font-size 14px
+      font-family PingFangSC-Regular,PingFangSC
+      font-weight 400
+      color rgba(51,59,74,1)
+      display flex
+      width 100%
+      margin 30px 0 15px 0
+      .add-border >>> table
+        border-collapse collapse
+      .add-border >>> table tr td
+         border solid 1px black
+      .add-border >>> table tr th
+         border solid 1px black
     .display-messege-end
       font-size 14px
       font-family PingFangSC-Regular,PingFangSC
@@ -274,7 +444,9 @@ export default {
       color rgba(51,59,74,1)
       display flex
       width 100%
-      margin-bottom 10px
+      margin-bottom 15px
     .divide-twoparts
       width 40%
+    .divide-fullparts
+      width 100%
 </style>

+ 37 - 33
src/views/projectManage/taskList/taskCreate.vue

@@ -71,15 +71,11 @@
             </el-form-item>
           </div>
           <div class="line-between">
-            <el-form-item label="产品" label-width="124px"><el-input v-model="form.pm" autocomplete="off" placeholder="请填写" style="width:76%;" /></el-form-item>
-            <el-form-item label="开发" label-width="147px"><el-input v-model="form.rd" autocomplete="off" placeholder="请填写" style="width:76%;" /></el-form-item>
-          </div>
-          <div class="line-between">
-            <el-form-item label="测试" label-width="124px"><el-input v-model="form.qa" autocomplete="off" placeholder="请填写" style="width:76%;" /></el-form-item>
-            <el-form-item label="交互" label-width="147px"><el-input v-model="form.ui" autocomplete="off" placeholder="请填写" style="width:76%;" /></el-form-item>
+            <el-form-item label="产品" label-width="124px"><el-input v-model="form.pm" autocomplete="off" placeholder="公司邮箱前缀,多人英文逗号分隔" style="width:76%;" /></el-form-item>
+            <el-form-item label="开发" label-width="147px"><el-input v-model="form.rd" autocomplete="off" placeholder="公司邮箱前缀,多人英文逗号分隔" style="width:76%;" /></el-form-item>
           </div>
           <div class="line-between-add">
-            <el-form-item label="视觉" label-width="124px"><el-input v-model="form.ue" autocomplete="off" placeholder="请填写" style="width:76%;" /></el-form-item>
+            <el-form-item label="测试" label-width="124px"><el-input v-model="form.qa" autocomplete="off" placeholder="公司邮箱前缀,多人英文逗号分隔" style="width:76%;" /></el-form-item>
           </div>
           <el-form-item label="描述" label-width="110px"><el-input v-model="form.description" type="textarea" placeholder="bug描述" rows="3" style="width:90%;" /></el-form-item>
         </div>
@@ -94,37 +90,18 @@
               <el-date-picker v-model="form.launchTestPlanTime" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" />
             </el-form-item>
           </div>
-          <div class="line-between">
-            <el-form-item label="冒烟测试完成时间" label-width="166px">
-              <el-date-picker v-model="form.smokeTestFinishTime" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" />
-            </el-form-item>
-            <el-form-item label="实际提测时间" label-width="189px">
-              <el-date-picker v-model="form.launchTestRealTime" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" />
-            </el-form-item>
-          </div>
-          <div class="line-between">
-            <el-form-item label="实际开始开发时间" label-width="166px">
-              <el-date-picker v-model="form.startDevRealTime" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" />
-            </el-form-item>
-            <el-form-item label="计划测试完成时间" label-width="189px">
-              <el-date-picker v-model="form.testFinishPlanTime" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" />
-            </el-form-item>
-          </div>
           <div class="line-between">
             <el-form-item label="计划开始开发时间" label-width="166px">
               <el-date-picker v-model="form.startDevPlanTime" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" />
             </el-form-item>
-            <el-form-item label="实际测试完成时间" label-width="189px">
-              <el-date-picker v-model="form.testFinishRealTime" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" />
+            <el-form-item label="计划测试完成时间" label-width="189px">
+              <el-date-picker v-model="form.testFinishPlanTime" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" />
             </el-form-item>
           </div>
-          <div class="line-between">
+          <div class="line-between-add">
             <el-form-item label="计划上线时间" label-width="166px">
               <el-date-picker v-model="form.onlinePlanTime" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" />
             </el-form-item>
-            <el-form-item label="实际上线时间" label-width="189px">
-              <el-date-picker v-model="form.onlineRealTime" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" />
-            </el-form-item>
           </div>
           <el-form-item label="备注" label-width="142px"><el-input v-model="form.remark" type="textarea" placeholder="bug描述" rows="3" style="width:90%;" /></el-form-item>
           <el-form-item class="submit">
@@ -138,13 +115,14 @@
 </template>
 
 <script>
-import { projectGetTypeMap, createTaskData } from '@/api/projectPage'
+import { projectGetTypeMap, createTaskData, getProjectData } from '@/api/projectPage'
 import { bugGetEnum } from '@/api/defectManage' // 下拉菜单data
 
 export default {
   data() {
     return {
       form: {
+        bizId: '',
         type: '',
         clientType: ''
       },
@@ -177,7 +155,11 @@ export default {
   },
   created() {
     this.bugListSelect()
-    this.forkDown()
+    if (this.$route.query.id) {
+      this.idDetail()
+    } else {
+      this.forkdown()
+    }
   },
   methods: {
     bugListSelect() {
@@ -185,12 +167,34 @@ export default {
         this.priorityEnumList = res.data.priorityEnumList
         this.processStatusEnumList = res.data.processStatusEnumList
         this.noTestEnumList = res.data.noTestEnumList
-        this.bugTypeStr = res.data.bugTypeEnumList
+        this.bugTypeStr = res.data.stageEnumList
         this.taskTypeStr = res.data.taskAndRoutineEnumList
       })
     },
+    // 根据id获取数据
+    async idDetail() {
+      // 业务线数据获取
+      await projectGetTypeMap().then(res => {
+        if (res.code === 200) {
+          this.bizIdEnumList = res.data
+        } else {
+          this.errorFun('业务线数据获取失败')
+        }
+      })
+      getProjectData(this.$route.query.id).then(res => {
+        if (res.code === 200) {
+          this.form.bizId = res.data.bizId
+          this.form.type = res.data.platForm
+          this.typeString = this.bizIdEnumList.filter(value => value.code === this.form.bizId)[0].child
+          this.businessTypeShow = true
+          this.businessTypeStr = this.typeString.filter(value => value.code === this.form.type)[0].child
+        } else {
+          this.errorFun('data collection')
+        }
+      })
+    },
     // 业务线数据获取
-    forkDown() {
+    forkdown() {
       projectGetTypeMap().then(res => {
         if (res.code === 200) {
           this.bizIdEnumList = res.data

+ 6 - 6
src/views/projectManage/taskList/taskListIndex.vue

@@ -8,7 +8,7 @@
             <el-tab-pane label="列表" name="first">
               <el-form :model="form">
                 <div class="set-between">
-                  <el-form-item label="创建时间" label-width="70px"><el-date-picker v-model="form.createTime" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" /></el-form-item>
+                  <!-- <el-form-item label="创建时间" label-width="70px"><el-date-picker v-model="form.createTime" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" /></el-form-item> -->
                   <el-form-item label="项目名称" label-width="70px"><el-input v-model="form.name" placeholder="请选择项目" autocomplete="off" clearable size="medium" style="width:76%;" /></el-form-item>
                   <el-form-item label="状态" label-width="40px">
                     <el-select v-model="form.status" size="medium" style="width:60%;" clearable placeholder="状态">
@@ -40,7 +40,7 @@
                     width="200"
                   >
                     <template slot-scope="scope">
-                      <el-tag class="tag" style="cursor:pointer;" @click="taskShow(scope.row.id)">{{ scope.row.name }}</el-tag>
+                      <el-link style="font-weight: 400;" type="primary" :underline="false" @click="taskShow(scope.row.id)">{{ scope.row.name }}</el-link>
                     </template>
                   </el-table-column>
                   <el-table-column
@@ -49,7 +49,7 @@
                     width="130"
                   >
                     <template slot-scope="scope">
-                      <el-tag type="success"><span>{{ scope.row.status }}</span></el-tag>
+                      <el-tag type="success"><span>{{ scope.row.statusString }}</span></el-tag>
                     </template>
                   </el-table-column>
                   <el-table-column
@@ -94,7 +94,7 @@
 </template>
 
 <script>
-import { taskListCreate } from '@/api/defectManage'
+import { taskListGet } from '@/api/defectManage'
 import { bugGetEnum } from '@/api/defectManage' // 下拉菜单data
 import { deleteTaskData } from '@/api/projectPage.js'
 
@@ -128,7 +128,7 @@ export default {
         this.processStatusEnumList = res.data.processStatusEnumList
       })
       // 任务list
-      taskListCreate({ bizId: this.bizJson }).then(response => {
+      taskListGet({ bizId: this.bizJson }).then(response => {
         this.tableData = response.data
         this.total = response.data.length
         // const processStatusEnumMap = this.processStatusEnumList.reduce((a, c) => {
@@ -151,7 +151,7 @@ export default {
       queryCode.bizId = localStorage.getItem('key')
       queryCode.pageSize = this.pageSize
       queryCode.curIndex = this.curIndex
-      taskListCreate(queryCode).then(res => {
+      taskListGet(queryCode).then(res => {
         res.code === 200 ? this.tableData = res.data : this.errorFun('Query')
       })
     },

+ 121 - 42
src/views/projectManage/taskList/taskPreview.vue

@@ -5,50 +5,50 @@
         <div class="operate-flex">
           <div style="width:100%">
             <span>状态</span>
-            <el-select v-model="form.status" size="medium" style="width:30%;margin-right: 15px;" clearable placeholder="状态">
+            <el-select v-model="form.status" size="medium" style="width:30%;margin-right: 15px;" clearable placeholder="状态" @change="updateaddTaskData(form)">
               <el-option v-for="item in processStatusEnumList" :key="item.code" :label="item.name" :value="item.code" />
             </el-select>
             <span>优先级</span>
-            <el-select v-model="form.priority" size="medium" style="width:30%;margin-right: 15px;" clearable placeholder="优先级">
+            <el-select v-model="form.priority" size="medium" style="width:30%;margin-right: 15px;" clearable placeholder="优先级" @change="updateaddTaskData(form)">
               <el-option v-for="item in bugLevelStr" :key="item.code" :label="item.name" :value="item.code" />
             </el-select>
           </div>
           <div style="display:flex">
-            <el-button type="primary" plain size="medium">新建提测报告</el-button>
-            <el-button type="primary" plain size="medium">新建日报报告</el-button>
-            <el-button type="primary" plain size="medium">新建准出报告</el-button>
-            <el-button type="primary" plain size="medium">新建bug</el-button>
-            <el-button type="primary" plain size="medium">编辑</el-button>
+            <el-button type="primary" plain size="medium" @click="createReport(1, form)">新建提测报告</el-button>
+            <el-button type="primary" plain size="medium" @click="createReport(2, form)">新建日报报告</el-button>
+            <el-button type="primary" plain size="medium" @click="createReport(3, form)">新建准出报告</el-button>
+            <el-button type="primary" plain size="medium" @click="createReport(4, form)">新建bug</el-button>
+            <el-button type="primary" plain size="medium" @click="projectShowData(form.id)">编辑</el-button>
           </div>
         </div>
         <div class="display-messege">
-          任务名称 :&nbsp;&nbsp;&nbsp;{{ form.name }}
+          <span style="font-weight:bold;">任务名称 :</span>&nbsp;&nbsp;&nbsp;{{ form.name }}
         </div>
         <div class="display-messege">
-          <div class="divide-fourparts">业务线 :&nbsp;&nbsp;&nbsp;{{ form.bizIdString }}</div>
-          <div class="divide-fourparts">任务类型 :&nbsp;&nbsp;&nbsp;{{ form.taskType }}</div>
-          <div class="divide-fourparts">产品 :&nbsp;&nbsp;&nbsp;{{ form.pm }}</div>
-          <div class="divide-fourparts">分组 :&nbsp;&nbsp;&nbsp;{{ form.group }}</div>
+          <div class="divide-fourparts"><span style="font-weight:bold;">业务线 :</span>&nbsp;&nbsp;&nbsp;{{ form.bizIdString }}</div>
+          <div class="divide-fourparts"><span style="font-weight:bold;">任务类型 :</span>&nbsp;&nbsp;&nbsp;{{ form.taskType }}</div>
+          <div class="divide-fourparts"><span style="font-weight:bold;">产品 :</span>&nbsp;&nbsp;&nbsp;{{ form.pm }}</div>
+          <div class="divide-fourparts"><span style="font-weight:bold;">分组 :</span>&nbsp;&nbsp;&nbsp;{{ form.group }}</div>
         </div>
         <div class="display-messege">
-          <div class="divide-fourparts">平台类型 :&nbsp;&nbsp;&nbsp;{{ form.type }}</div>
-          <div class="divide-fourparts">是否免测 :&nbsp;&nbsp;&nbsp;{{ form.noTestString }}</div>
-          <div class="divide-fourparts">测试 :&nbsp;&nbsp;&nbsp;{{ form.qa }}</div>
-          <div class="divide-fourparts">标签 :&nbsp;&nbsp;&nbsp;{{ form.tag }}</div>
+          <div class="divide-fourparts"><span style="font-weight:bold;">平台类型 :</span>&nbsp;&nbsp;&nbsp;{{ form.typeString }}</div>
+          <div class="divide-fourparts"><span style="font-weight:bold;">是否免测 :</span>&nbsp;&nbsp;&nbsp;{{ form.noTestString }}</div>
+          <div class="divide-fourparts"><span style="font-weight:bold;">测试 :</span>&nbsp;&nbsp;&nbsp;{{ form.qa }}</div>
+          <div class="divide-fourparts"><span style="font-weight:bold;">标签 :</span>&nbsp;&nbsp;&nbsp;{{ form.tag }}</div>
         </div>
         <div class="display-messege">
-          <div class="divide-fourparts">业务模块 :&nbsp;&nbsp;&nbsp;{{ form.clientTypeString }}</div>
-          <div class="divide-fourparts">打回次数 :&nbsp;&nbsp;&nbsp;{{ form.reopen }}</div>
-          <div class="divide-fourparts">开发 :&nbsp;&nbsp;&nbsp;{{ form.rd }}</div>
+          <div class="divide-fourparts"><span style="font-weight:bold;">业务模块 :</span>&nbsp;&nbsp;&nbsp;{{ form.clientTypeString }}</div>
+          <div class="divide-fourparts"><span style="font-weight:bold;">打回次数 :</span>&nbsp;&nbsp;&nbsp;{{ form.reopen }}</div>
+          <div class="divide-fourparts"><span style="font-weight:bold;">开发 :</span>&nbsp;&nbsp;&nbsp;{{ form.rd }}</div>
         </div>
         <div class="display-messege-end-one">
-          描述 :&nbsp;&nbsp;&nbsp;{{ form.description }}
+          <div class="divide-fullparts"><span style="font-weight:bold;">描述 :</span>&nbsp;&nbsp;&nbsp;{{ form.description }}</div>
         </div>
         <div class="display-messege-end">
-          技术文档 :&nbsp;&nbsp;&nbsp;{{ form.devUrl }}
+          <div class="divide-fullparts"><span style="font-weight:bold;">技术文档 :</span>&nbsp;&nbsp;&nbsp;{{ form.devUrl }}</div>
         </div>
         <div class="display-messege-end">
-          需求文档 :&nbsp;&nbsp;&nbsp;{{ form.mrdUrl }}
+          <div class="divide-fullparts"><span style="font-weight:bold;">需求文档 :</span>&nbsp;&nbsp;&nbsp;{{ form.mrdUrl }}</div>
         </div>
       </div>
       <div class="block">
@@ -71,7 +71,11 @@
                 prop="name"
                 label="标题名称"
                 align="center"
-              />
+              >
+                <template slot-scope="scope">
+                  <el-link style="font-weight: 400;" type="primary" :underline="false" @click="JumpDetection(scope.row)">{{ scope.row.name }}</el-link>
+                </template>
+              </el-table-column>
               <el-table-column
                 label="状态"
                 align="center"
@@ -132,7 +136,11 @@
                 prop="reportName"
                 label="标题名称"
                 align="center"
-              />
+              >
+                <template slot-scope="scope">
+                  <el-link style="font-weight: 400;" type="primary" :underline="false" @click="JumpDaily(scope.row)">{{ scope.row.reportName }}</el-link>
+                </template>
+              </el-table-column>
               <el-table-column
                 prop="gmtCreate"
                 label="创建时间"
@@ -158,7 +166,11 @@
                 prop="reportName"
                 label="标题名称"
                 align="center"
-              />
+              >
+                <template slot-scope="scope">
+                  <el-link style="font-weight: 400;" type="primary" :underline="false" @click="JumpOut(scope.row)">{{ scope.row.reportName }}</el-link>
+                </template>
+              </el-table-column>
               <el-table-column
                 label="状态"
                 align="center"
@@ -196,7 +208,11 @@
                 prop="bugName"
                 label="标题名称"
                 align="center"
-              />
+              >
+                <template slot-scope="scope">
+                  <el-link style="font-weight: 400;" type="primary" :underline="false" @click="turnToBugCreate(scope.row.id)">{{ scope.row.bugName }}</el-link>
+                </template>
+              </el-table-column>
               <el-table-column
                 label="状态"
                 align="center"
@@ -225,27 +241,18 @@
       </div>
       <div class="block-end">
         <div class="display-messege">
-          <div class="divide-twoparts">需求评审时间 :&nbsp;&nbsp;&nbsp;{{ form.mrdTime }}</div>
-          <div class="divide-twoparts">计划提测时间 :&nbsp;&nbsp;&nbsp;{{ form.launchTestPlanTime }}</div>
-        </div>
-        <div class="display-messege">
-          <div class="divide-twoparts">冒烟测试完成时间 :&nbsp;&nbsp;&nbsp;{{ form.smokeTestFinishTime }}</div>
-          <div class="divide-twoparts">实际提测时间 :&nbsp;&nbsp;&nbsp;{{ form.launchTestRealTime }}</div>
+          <div class="divide-twoparts"><span style="font-weight:bold;">需求评审时间 :</span>&nbsp;&nbsp;&nbsp;{{ form.mrdTime }}</div>
+          <div class="divide-twoparts"><span style="font-weight:bold;">计划提测时间 :</span>&nbsp;&nbsp;&nbsp;{{ form.launchTestPlanTime }}</div>
         </div>
         <div class="display-messege">
-          <div class="divide-twoparts">实际开始开发时间 :&nbsp;&nbsp;&nbsp;{{ form.startDevRealTime }}</div>
-          <div class="divide-twoparts">计划测试完成时间 :&nbsp;&nbsp;&nbsp;{{ form.testFinishPlanTime }}</div>
+          <div class="divide-twoparts"><span style="font-weight:bold;">计划开始开发时间 :</span>&nbsp;&nbsp;&nbsp;{{ form.startDevPlanTime }}</div>
+          <div class="divide-twoparts"><span style="font-weight:bold;">计划测试完成时间 :</span>&nbsp;&nbsp;&nbsp;{{ form.testFinishPlanTime }}</div>
         </div>
         <div class="display-messege">
-          <div class="divide-twoparts">计划开始开发时间 :&nbsp;&nbsp;&nbsp;{{ form.startDevPlanTime }}</div>
-          <div class="divide-twoparts">实际测试完成时间 :&nbsp;&nbsp;&nbsp;{{ form.testFinishRealTime }}</div>
+          <div class="divide-twoparts"><span style="font-weight:bold;">计划上线时间 :</span>&nbsp;&nbsp;&nbsp;{{ form.onlinePlanTime }}</div>
         </div>
         <div class="display-messege">
-          <div class="divide-twoparts">计划上线时间 :&nbsp;&nbsp;&nbsp;{{ form.onlinePlanTime }}</div>
-          <div class="divide-twoparts">实际上线时间 :&nbsp;&nbsp;&nbsp;{{ form.onlineRealTime }}</div>
-        </div>
-        <div class="display-messege">
-          备注 :&nbsp;&nbsp;&nbsp;{{ form.remark }}
+          <div class="divide-fullparts"><span style="font-weight:bold;">备注 :</span>&nbsp;&nbsp;&nbsp;{{ form.remark }}</div>
         </div>
       </div>
     </div>
@@ -253,7 +260,7 @@
 </template>
 
 <script>
-import { getTaskData, launchTestUpdate } from '@/api/projectPage.js'
+import { getTaskData, launchTestUpdate, updateTaskList } from '@/api/projectPage.js'
 import { bugGetEnum } from '@/api/defectManage' // 下拉菜单data
 
 export default {
@@ -305,6 +312,20 @@ export default {
       this.CallBackId = ele
       this.passOrBackSend()
     },
+    // 查看页面更改状态 优先级
+    updateaddTaskData(vel) {
+      this.formTask = vel
+      this.userData = { id: '', ename: this.userInformation, name: this.userNames }
+      this.objData = { taskInfo: this.formTask, user: this.userData }
+      updateTaskList(this.objData).then(response => {
+        if (response.code === 200) {
+          this.getList()
+          this.successFun('modify')
+        } else {
+          this.errorFun('modify')
+        }
+      })
+    },
     passOrBackSend() {
       this.centerDialogVisible = false
       const tt = { status: this.CallBackStatus, id: this.CallBackId }
@@ -322,6 +343,62 @@ export default {
         this.processStatusEnumList = res.data.processStatusEnumList
       })
     },
+    // 创建日报 提测 准出 Bug报告跳转
+    createReport(e, ele) {
+      if (ele.typeString !== '服务端') {
+        switch (e) {
+          case 1:
+            this.$router.push({ path: '/Platform/presentation/PresentReport', query: { task: ele }}) // 客户端提测
+            break
+          case 2:
+            this.$router.push({ path: '/Platform/presentation/DailyNewsAdded', query: { task: ele }}) // 客户端日报
+            break
+          case 3:
+            this.$router.push({ path: '/Platform/presentation/ClientAcceptance', query: { task: ele }}) // 客户端准出
+            break
+          case 4:
+            this.$router.push({ path: '/Platform/defectManagement/bugCreate', query: { id: ele.id }}) // 缺陷报告
+            break
+        }
+      } else {
+        switch (e) {
+          case 1:
+            this.$router.push({ path: '/Platform/presentation/presentationReport', query: { task: ele }}) // 服务端提测
+            break
+          case 2:
+            this.$router.push({ path: '/Platform/presentation/DailyNewsAdded', query: { task: ele }}) // 服务端日报
+            break
+          case 3:
+            this.$router.push({ path: '/Platform/presentation/Acceptance', query: { task: ele }}) // 服务端准出
+            break
+          case 4:
+            this.$router.push({ path: '/Platform/defectManagement/bugCreate', query: { id: ele.id }}) // 缺陷报告
+            break
+        }
+      }
+    },
+    projectShowData(e) {
+      this.$router.push({ name: '任务更新', query: { id: e }})
+    },
+    // 日报预览跳转
+    JumpDaily(val) {
+      val.taskId = this.$route.query.id
+      this.$router.push({ path: '/Platform/presentation/testPresenyL', query: { data: val }})
+    },
+    // 提测预览跳转
+    JumpDetection(val) {
+      val.taskId = this.$route.query.id
+      this.$router.push({ path: '/Platform/presentation/acceptTheReport', query: { data: val }})
+    },
+    // 准出预览跳转
+    JumpOut(val) {
+      val.taskId = this.$route.query.id
+      this.$router.push({ path: '/Platform/presentation/ResultPageyL', query: { data: val }})
+    },
+    // bug报告跳转
+    turnToBugCreate(e) {
+      this.$router.push({ path: '/Platform/defectManagement/bugQuery', query: { id: e }}) // 缺陷报告
+    },
     successFun(successText) {
       this.$notify({ title: 'Success', message: `${successText} Successfully`, type: 'success', duration: 2000 })
     },
@@ -395,4 +472,6 @@ export default {
       width 25%
     .divide-twoparts
       width 50%
+    .divide-fullparts
+      width 100%
 </style>

+ 8 - 31
src/views/projectManage/taskList/taskUpdateCreate.vue

@@ -71,15 +71,11 @@
             </el-form-item>
           </div>
           <div class="line-between">
-            <el-form-item label="产品" label-width="124px"><el-input v-model="form.pm" autocomplete="off" placeholder="请填写" style="width:76%;" /></el-form-item>
-            <el-form-item label="开发" label-width="147px"><el-input v-model="form.rd" autocomplete="off" placeholder="请填写" style="width:76%;" /></el-form-item>
-          </div>
-          <div class="line-between">
-            <el-form-item label="测试" label-width="124px"><el-input v-model="form.qa" autocomplete="off" placeholder="请填写" style="width:76%;" /></el-form-item>
-            <el-form-item label="交互" label-width="147px"><el-input v-model="form.ui" autocomplete="off" placeholder="请填写" style="width:76%;" /></el-form-item>
+            <el-form-item label="产品" label-width="124px"><el-input v-model="form.pm" autocomplete="off" placeholder="请填写公司邮箱前缀,多人英文逗号分隔" style="width:76%;" /></el-form-item>
+            <el-form-item label="开发" label-width="147px"><el-input v-model="form.rd" autocomplete="off" placeholder="请填写公司邮箱前缀,多人英文逗号分隔" style="width:76%;" /></el-form-item>
           </div>
           <div class="line-between-add">
-            <el-form-item label="视觉" label-width="124px"><el-input v-model="form.ue" autocomplete="off" placeholder="请填写" style="width:76%;" /></el-form-item>
+            <el-form-item label="测试" label-width="124px"><el-input v-model="form.qa" autocomplete="off" placeholder="请填写公司邮箱前缀,多人英文逗号分隔" style="width:76%;" /></el-form-item>
           </div>
           <el-form-item label="描述" label-width="110px"><el-input v-model="form.description" type="textarea" placeholder="bug描述" rows="3" style="width:90%;" /></el-form-item>
         </div>
@@ -94,37 +90,18 @@
               <el-date-picker v-model="form.launchTestPlanTime" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" />
             </el-form-item>
           </div>
-          <div class="line-between">
-            <el-form-item label="冒烟测试完成时间" label-width="166px">
-              <el-date-picker v-model="form.smokeTestFinishTime" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" />
-            </el-form-item>
-            <el-form-item label="实际提测时间" label-width="189px">
-              <el-date-picker v-model="form.launchTestRealTime" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" />
-            </el-form-item>
-          </div>
-          <div class="line-between">
-            <el-form-item label="实际开始开发时间" label-width="166px">
-              <el-date-picker v-model="form.startDevRealTime" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" />
-            </el-form-item>
-            <el-form-item label="计划测试完成时间" label-width="189px">
-              <el-date-picker v-model="form.testFinishPlanTime" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" />
-            </el-form-item>
-          </div>
           <div class="line-between">
             <el-form-item label="计划开始开发时间" label-width="166px">
               <el-date-picker v-model="form.startDevPlanTime" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" />
             </el-form-item>
-            <el-form-item label="实际测试完成时间" label-width="189px">
-              <el-date-picker v-model="form.testFinishRealTime" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" />
+            <el-form-item label="计划测试完成时间" label-width="189px">
+              <el-date-picker v-model="form.testFinishPlanTime" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" />
             </el-form-item>
           </div>
-          <div class="line-between">
+          <div class="line-between-add">
             <el-form-item label="计划上线时间" label-width="166px">
               <el-date-picker v-model="form.onlinePlanTime" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" />
             </el-form-item>
-            <el-form-item label="实际上线时间" label-width="189px">
-              <el-date-picker v-model="form.onlineRealTime" align="left" size="medium" type="datetime" style="width:76%;" placeholder="选择日期" />
-            </el-form-item>
           </div>
           <el-form-item label="备注" label-width="142px"><el-input v-model="form.remark" type="textarea" placeholder="bug描述" rows="3" style="width:90%;" /></el-form-item>
           <el-form-item class="submit">
@@ -186,7 +163,7 @@ export default {
         this.priorityEnumList = res.data.priorityEnumList
         this.processStatusEnumList = res.data.processStatusEnumList
         this.noTestEnumList = res.data.noTestEnumList
-        this.bugTypeStr = res.data.bugTypeEnumList
+        this.bugTypeStr = res.data.stageEnumList
         this.taskTypeStr = res.data.taskAndRoutineEnumList
       })
     },
@@ -234,7 +211,7 @@ export default {
     createFormData(form) {
       this.$refs.form.validate((valid) => {
         if (valid) {
-          form.projectId = this.$route.query.id
+          form.projectId = this.$route.query.projectId
           this.userData = { id: '', ename: this.userInformation, name: this.userNames }
           this.objData = { taskInfo: form, user: this.userData }
           updateTaskList(this.objData).then(res => {