浏览代码

加入组、问题功能

reaper 4 年之前
父节点
当前提交
68df046007

+ 38 - 5
src/components/knowledgeExtra/AddAssess/index.vue

@@ -1009,14 +1009,14 @@ export default {
           );
           break;
         case 4: //type 4: 复制组=> 将组id符合的数据复制一份,重置组id和问题id
-          let copyData = this.scaleData.klScaleParent[
+          let copyGroupData = this.scaleData.klScaleParent[
             tableIndex
           ].klScaleSaveGroup.filter((item) => item.groupId === groupId);
-          copyData = JSON.parse(JSON.stringify(copyData));
+          copyGroupData = JSON.parse(JSON.stringify(copyGroupData));
           let newId = new Date().valueOf().toString();
           // 筛选并设置相同的issueId
           let newIssueIdArr = [];
-          copyData.forEach((item, i, arr) => {
+          copyGroupData.forEach((item, i, arr) => {
             item.groupId = newId;
             if (i === 0 || item.issueId !== arr[i - 1].issueId) {
               newIssueIdArr.push(
@@ -1026,7 +1026,7 @@ export default {
               newIssueIdArr.push(newIssueIdArr[i - 1]);
             }
           });
-          copyData.forEach((item, i) => {
+          copyGroupData.forEach((item, i) => {
             item.issueId = newIssueIdArr[i];
           });
           let copyGroupIndex;
@@ -1040,7 +1040,40 @@ export default {
           this.scaleData.klScaleParent[tableIndex].klScaleSaveGroup.splice(
             copyGroupIndex + 1,
             0,
-            ...copyData
+            ...copyGroupData
+          );
+          break;
+        case 5: //type 5: 复制问题 => 将问题id符合的数据复制一份,重置问题id
+          let copyIssueData = this.scaleData.klScaleParent[
+            tableIndex
+          ].klScaleSaveGroup.filter((item) => item.issueId === issueId);
+          copyIssueData = JSON.parse(JSON.stringify(copyIssueData));
+          console.dir(copyIssueData)
+          let newIssueIdArrIssue = [];
+          copyIssueData.forEach((item, i, arr) => {
+            if (i === 0 || item.issueId !== arr[i - 1].issueId) {
+              newIssueIdArrIssue.push(
+                groupId + "-" + new Date().valueOf().toString() + "-" + i
+              );
+            } else if (item.issueId === arr[i - 1].issueId) {
+              newIssueIdArrIssue.push(newIssueIdArrIssue[i - 1]);
+            }
+          });
+          copyIssueData.forEach((item, i) => {
+            item.issueId = newIssueIdArrIssue[i];
+          });
+          let copyIssueIndex;
+          this.scaleData.klScaleParent[tableIndex].klScaleSaveGroup.forEach(
+            (item, i) => {
+              if (item.issueId === issueId) {
+                copyIssueIndex = i;
+              }
+            }
+          );
+          this.scaleData.klScaleParent[tableIndex].klScaleSaveGroup.splice(
+            copyIssueIndex + 1,
+            0,
+            ...copyIssueData
           );
           break;
       }

+ 17 - 1
src/components/knowledgeExtra/AddAssess/scale-table.vue

@@ -116,7 +116,7 @@
                       type: 4,
                       tableIndex,
                       rowIndex: scope.$index,
-                      groupId: scope.row.groupId,
+                      groupId: scope.row.groupId
                     })
                   "
                   src="@/images/icon-copy.png"
@@ -162,6 +162,22 @@
         <el-table-column prop="groupId" label="问题" width="90px">
           <template slot-scope="scope">
             <div class="btn_box">
+              <div class="btn_div">
+                <img
+                  @click="
+                    $emit('CHANGE_TABLE_ROW', {
+                      type: 5,
+                      tableIndex,
+                      rowIndex: scope.$index,
+                      groupId: scope.row.groupId,
+                      issueId: scope.row.issueId
+                    })
+                  "
+                  src="@/images/icon-copy.png"
+                  alt=""
+                  title="复制"
+                />
+              </div>
               <div class="btn_div">
                 <img
                   @click="