wenbobowen 4 жил өмнө
parent
commit
5d0723f9ed

+ 2 - 3
src/api/onlineproblem.js

@@ -95,9 +95,8 @@ export function createComment(data) {
 // 获取变更记录列表
 export function getRecordList(data) {
   return request({
-    url: TeamManagement + `/operationLog/checkList`,
-    method: 'post',
-    data
+    url: TeamManagement + `/operationLog/problem?problemId=` + data.id,
+    method: 'get'
   })
 }
 

+ 1 - 0
src/components/newLayout/Main.vue

@@ -151,6 +151,7 @@ export default {
   box-sizing: border-box;
   height: 100%;
   width: 100%;
+  min-width: 890px;
   // padding-left: 10px;
   overflow-y: scroll;
   background-color: rgb(242, 243, 246);

+ 0 - 1
src/views/projectManage/onlineproblem/component/header/index.vue

@@ -73,7 +73,6 @@ export default {
       }
     },
     changeShowMore(e) {
-      console.log(e)
       this.showMore = e
     },
     create() {

+ 8 - 6
src/views/projectManage/onlineproblem/component/list.vue

@@ -70,12 +70,7 @@ export default {
     }
   },
   methods: {
-    create() {
-      console.log('新建')
-    },
     gotoDetail(data) {
-      console.log(data)
-      // this.$router.push({ name: '质惠线上问题详情', query: { id: data.id }})
       const { href } = this.$router.resolve({
         name: '质惠线上问题详情',
         query: {
@@ -85,7 +80,14 @@ export default {
       window.open(href, '_blank')
     },
     goto(url) {
-      window.open(url, '_blank')
+      if (url) {
+        window.open(url, '_blank')
+      } else {
+        this.$message({
+          message: `暂未设置复盘链接`,
+          type: 'warning'
+        })
+      }
     }
   }
 }

+ 2 - 4
src/views/projectManage/onlineproblem/create/index.vue

@@ -83,17 +83,15 @@ export default {
       baseData: {},
       replayDesc: '',
       replayUrl: '',
-      improvements: [{}],
+      improvements: [],
       addLinkModelvisible: false
     }
   },
   methods: {
     back() {
-      console.log('back')
       this.$router.push({ name: '线上问题 ', query: { id: 111 }})
     },
     async createHandle() {
-      console.log('create:', { ...this.baseData, replayDesc: this.replayDesc, improvements: this.improvements })
       const notInput = []
       baseForm.map(t => t.map(g => {
         if (g.requried && !Object.keys(this.baseData).includes(g.key)) {
@@ -111,9 +109,9 @@ export default {
         ...this.baseData,
         bizId: this.$store.state.global.bizId,
         replayDesc: this.replayDesc,
+        replayUrl: this.replayUrl,
         improvements: this.improvements
       })
-      console.log(res)
       if (res.code === 200) {
         this.$router.push({ name: '线上问题 ' })
       }

+ 2 - 2
src/views/projectManage/onlineproblem/detial/component/makeBetterView.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="makeBetterView">
+  <div v-if="JSON.stringify(list) !== '[{}]'" class="makeBetterView">
     <div v-for="(item, index) in list" :key="index" class="list">
       <div class="desc">
         <span class="NO">{{ index + 1 }}</span>
@@ -9,7 +9,7 @@
         <div class="formLine">
           <div class="formcontent">
             <span class="name">责任人:</span>
-            <span class="value">{{ item.leader }}</span>
+            <span class="value">{{ item.leaderNames }}</span>
           </div>
           <div class="formcontent">
             <span class="name">计划完成时间:</span>

+ 97 - 52
src/views/projectManage/onlineproblem/detial/index.vue

@@ -14,7 +14,7 @@
           @blur="update"
         />
       </div>
-      <i class="el-icon-delete icon" @click="deleteHandle" />
+      <i class="el-icon-delete icon" @click="deateModel = true" />
     </div>
     <div class="content base">
       <baseContent
@@ -53,7 +53,7 @@
           :empty-text="'点击'"
           :input-button="'添加复盘内容'"
           :styles="{ padding: '12px 0 20px 0' }"
-          @change="(e) => onChange('replayDesc', e)"
+          @change="(e) => onChange('replayDesc', e, true)"
         />
       </div>
     </div>
@@ -63,7 +63,14 @@
           <span slot="handleSlot">
             <!-- <i class="el-icon-edit" @click="$emit('handle')" /> -->
             <!-- <span></span> -->
-            <span v-show="makeBetterEdit" @click="makeBetterEdit = false">111</span>
+            <span v-show="makeBetterEdit" class="makeBetterBtn" @click="makeBetterSave">
+              <i class="el-icon-circle-check" />
+              保存
+            </span>
+            <span v-show="makeBetterEdit" class="makeBetterBtn" @click="makeBetterCancel">
+              <i class="el-icon-circle-close" />
+              取消
+            </span>
           </span>
         </headTitle>
       </header>
@@ -71,22 +78,19 @@
         <!-- edit -->
         <make-better-list
           v-show="makeBetterEdit"
-          :list="improvements"
+          :list="improvementsData"
           @addHandle="addMakeBetterList"
           @delHandle="delMakeBetterList"
-          @onChange="(key, value, index) => change('improvements', key, value, index)"
+          @onChange="(key, value, index) => makeBetterChange(key, value, index)"
         />
         <!-- view -->
         <make-better-view
           v-show="!makeBetterEdit"
-          :list="improvements"
-          @addHandle="addMakeBetterList"
-          @delHandle="delMakeBetterList"
-          @onChange="(key, value, index) => change('improvements', key, value, index)"
+          :list="improvementsData"
         />
       </div>
     </div>
-    <div class="content ">
+    <div class="content actionDynamic">
       <header class="headerH2">
         <headTitle title="动态" />
       </header>
@@ -108,6 +112,16 @@
         />
       </div>
     </model>
+    <model
+      title="删除确认"
+      :visible="deateModel"
+      @handleClose="deateModel = false"
+      @handleOk="deleteHandle"
+    >
+      <div slot="content" style="text-align: center">
+        确定要删除该线上问题吗?
+      </div>
+    </model>
   </div>
 </template>
 <script>
@@ -142,32 +156,32 @@ export default {
     return {
       size: 'small',
       addLinkModelvisible: false,
+      deateModel: false,
       id: this.$route.query.id,
       form_data: {},
       replayUrl: '',
       updateData: {},
       makeBetterEdit: false,
-      improvements: [{}],
-      commentlist: [{
-        commentInfo: {
-          name: 1111
-        }
-      }], // 评价列表
-      changeRecordList: [{
-        remark: 111
-      }] // 变更记录列表
+      improvementsData: [{}],
+      commentlist: [], // 评价列表
+      changeRecordList: [] // 变更记录列表
     }
   },
-  mounted() {
-    this.search()
+  async mounted() {
+    await this.search()
+    this.getCommentList()
   },
   methods: {
     async search() {
       const res = await getDetial({ id: this.id })
       if (res.code === 200) {
-        this.form_data = { ...res.data }
-        this.copy_form_data = { ...res.data }
+        this.form_data = JSON.parse(JSON.stringify(res.data))
+        this.copy_form_data = JSON.parse(JSON.stringify(res.data))
         this.replayUrl = res.data.replayUrl || ''
+        this.improvementsData = res.data.improvementsData || [{}]
+        this.getRecordList()
+        // 当更改的复盘链接把弹框关闭 所以每次都执行一下就好
+        this.addLinkModelvisible = false
       }
     },
     goto(url) {
@@ -190,32 +204,40 @@ export default {
       this.replayUrl = this.form_data.replayUrl || ''
       this.addLinkModelvisible = true
     },
-    async onChange(key, value) {
+    makeBetterChange(key, value, index) {
+      const data = this.form_data.improvementsData ? [...this.form_data.improvementsData] : []
+      data[index][key] = value
+      this.form_data = { ...this.form_data, ... { improvementsData: data }}
+    },
+    makeBetterCancel() {
+      this.makeBetterEdit = false
+      this.form_data = JSON.parse(JSON.stringify(this.copy_form_data))
+    },
+    makeBetterSave() {
+      this.updateData = { improvementsData: this.improvementsData }
+      this.update()
+      this.makeBetterEdit = false
+    },
+    onChange(key, value, isUpdate = false) {
       //  确保每次更新一项
       this.updateData = { [key]: value }
+      if (isUpdate) {
+        this.update()
+      }
     },
     async update() {
       const res = await updateOnlineProblem({ ...this.updateData, id: this.form_data.id })
       if (res.code === 200) {
         this.search()
       } else {
-        this.form_data = { ...this.copy_form_data }
+        this.form_data = JSON.parse(JSON.stringify(this.copy_form_data))
       }
     },
     addMakeBetterList() {
-      this.improvements.push({})
+      this.improvementsData.push({})
     },
     delMakeBetterList(index) {
-      this.improvements.splice(index, 1)
-    },
-    change(type, key, value, index) {
-      if (index !== undefined) {
-        const data = [...this[type]]
-        data[index][key] = value
-        this[type] = [...data]
-      } else {
-        this[type] = { ...this[type], ...{ [key]: value }}
-      }
+      this.improvementsData.splice(index, 1)
     },
     async deleteHandle() {
       const { id } = this.form_data
@@ -235,7 +257,7 @@ export default {
     },
     // 获取评价列表
     async getCommentList() {
-      const res = await getCommentList({ type: 5, joinId: this.taskId })
+      const res = await getCommentList({ type: 6, joinId: this.form_data.id })
       if (res.code === 200) {
         this.commentlist = res.data
       }
@@ -243,7 +265,7 @@ export default {
 
     // 获取变更记录
     async getRecordList() {
-      const res = await getRecordList({ checkListId: this.checkListId })
+      const res = await getRecordList({ id: this.form_data.id })
       if (res.code === 200) {
         this.changeRecordList = res.data
       }
@@ -253,13 +275,11 @@ export default {
       const commentInfo = {
         joinId: this.form_data.id,
         content,
-        type: 5,
-        fatherId: 0,
-        name: this.userNames,
-        email: this.userInformation
+        type: 6,
+        fatherId: 0
       }
-      const user = { name: this.userNames, ename: this.userInformation, id: '' }
-      const res = await createComment({ commentInfo, user })
+      // const user = { name: this.userNames, ename: this.userInformation, id: '' }
+      const res = await createComment({ commentInfo })
       if (res.code === 200) {
         this.$message({ message: '评论成功', type: 'success', duration: 1000, offset: 150 })
         this.getCommentList()
@@ -271,7 +291,7 @@ export default {
   }
 }
 </script>
-<style lang="scss">
+<style scoped lang="scss">
 .wb-op-detial {
   padding: 0 10px 10px 10px;
   .content {
@@ -279,11 +299,17 @@ export default {
     border-radius: 4px;
     overflow: hidden;
     margin-bottom: 10px;
-    padding: 16px 20px;
+    padding: 20px 30px;
     .makeBetter {
       width: calc(100% - 190px);
       padding: 12px 0px 20px 0px
     }
+    &.actionDynamic {
+      padding: 0px;
+      .headerH2 {
+        padding: 20px 30px;
+      }
+    }
   }
   .headerH1 {
     display: flex;
@@ -294,12 +320,6 @@ export default {
       font-weight: 600;
       margin-left: -15px;
       cursor: pointer;
-      .el-input__inner {
-        border-color: transparent;
-        &:hover {
-          border-color: #DCDFE6;
-        }
-      }
     }
     .icon {
       font-size: 20px;
@@ -309,6 +329,31 @@ export default {
   }
   .headerH2 {
     margin-top: 5px;
+    .makeBetterBtn {
+      color: #1890FF;
+      margin-left: 15px;
+      cursor: pointer;
+    }
+  }
+  .replayLink {
+    display: flex;
+    justify-content: center;
+    .name {
+      width:100px;
+      line-height: 32px;
+    }
+  }
+}
+</style>
+<style lang="scss">
+.wb-op-detial {
+  .headerH1 {
+    .el-input__inner {
+      border-color: transparent;
+      &:hover {
+        border-color: #DCDFE6;
+      }
+    }
   }
 }
 </style>