Эх сурвалжийг харах

王子文 专项培养
1) 季度回顾前端页面

wangggziwen 3 жил өмнө
parent
commit
f84399d1d8

+ 218 - 143
ui/src/views/training/spec/seasonalfeedback/index.vue

@@ -59,7 +59,6 @@
     <!-- 标签页:后期改成每个导师生成独立标签页 -->
     <el-tabs type="border-card">
       <el-tab-pane label="居海波">
-        <h3>学习内容</h3>
         <el-table
           :span-method="spanMethod"
           v-loading="loading"
@@ -87,21 +86,7 @@
                 icon="el-icon-chat-dot-round"
                 v-hasPermi="['spec:plan:edit']"
                 @click="handleFeedback(scope.row)"
-              >反馈</el-button>
-              <el-button
-                size="mini"
-                type="text"
-                icon="el-icon-document"
-                @click="handleDoc(scope.row)"
-                v-hasPermi="['spec:plan:edit']"
-              >学员附件</el-button>
-              <el-button
-                size="mini"
-                type="text"
-                icon="el-icon-document"
-                @click="handleDoc(scope.row)"
-                v-hasPermi="['spec:plan:edit']"
-              >学习资料</el-button>
+              >详情</el-button>
             </template>
           </el-table-column>
         </el-table>
@@ -160,122 +145,121 @@
             </el-table-column>
           </el-table>
         </div>
-        <h3 style="margin-bottom:0px;">培养结果调查问卷</h3>
-        <div>
-            <div style="display:inline-block;width:45%;padding-left:20px;">
-              <div class="question">
-                1、学员的现场表现、语言表达、汇报逻辑如何?
-              </div>
-              <div class="answer">
-                <el-radio-group v-model="radio1" size="small">
-                  <el-radio label="1">优秀</el-radio>
-                  <el-radio label="2">良好</el-radio>
-                  <el-radio label="3">一般</el-radio>
-                  <el-radio label="4">合格</el-radio>
-                </el-radio-group>
-              </div>
-              <div class="question">
-                2、学员是否明确了本季度的学习内容及学习计划?
-              </div>
-              <div class="answer">
-                <el-radio-group v-model="radio2" size="small">
-                  <el-radio label="1">优秀</el-radio>
-                  <el-radio label="2">良好</el-radio>
-                  <el-radio label="3">一般</el-radio>
-                  <el-radio label="4">合格</el-radio>
-                </el-radio-group>
-              </div>
-              <div class="question">
-                3、学员针对自身的培训时间安排的是否合理?
-              </div>
-              <div class="answer">
-                <el-radio-group v-model="radio3" size="small">
-                  <el-radio label="1">优秀</el-radio>
-                  <el-radio label="2">良好</el-radio>
-                  <el-radio label="3">一般</el-radio>
-                  <el-radio label="4">合格</el-radio>
-                </el-radio-group>
-              </div>
-              <div class="question">
-                4、学员对本季度的学习过程、学习目标及学习结果的阐述是否具体、完整、正确?
-              </div>
-              <div class="answer">
-                <el-radio-group v-model="radio4" size="small">
-                  <el-radio label="1">优秀</el-radio>
-                  <el-radio label="2">良好</el-radio>
-                  <el-radio label="3">一般</el-radio>
-                  <el-radio label="4">合格</el-radio>
-                </el-radio-group>
-              </div>
-              <div class="question">
-                5、学员的汇报内容是否具有一定的意义,与学员的现阶段表现是否一致?
-              </div>
-              <div class="answer">
-                <el-radio-group v-model="radio5" size="small">
-                  <el-radio label="1">优秀</el-radio>
-                  <el-radio label="2">良好</el-radio>
-                  <el-radio label="3">一般</el-radio>
-                  <el-radio label="4">合格</el-radio>
-                </el-radio-group>
-              </div>
-            </div>
-            <div style="display:inline-block;width:45%;padding-left:20px;">
-              <div class="question">
-                6、学员的技术(技能)水平较参培前是否有所提高?
-              </div>
-              <div class="answer">
-                <el-radio-group v-model="radio6" size="small">
-                  <el-radio label="1">优秀</el-radio>
-                  <el-radio label="2">良好</el-radio>
-                  <el-radio label="3">一般</el-radio>
-                  <el-radio label="4">合格</el-radio>
-                </el-radio-group>
-              </div>
-              <div class="question">
-                7、学员在实际工作中是否运用到培训所学内容?
-              </div>
-              <div class="answer">
-                <el-radio-group v-model="radio7" size="small">
-                  <el-radio label="1">优秀</el-radio>
-                  <el-radio label="2">良好</el-radio>
-                  <el-radio label="3">一般</el-radio>
-                  <el-radio label="4">合格</el-radio>
-                </el-radio-group>
-              </div>
-              <div class="question">
-                8、学员的汇报内容对于装置及公司的人才培养计划是否能起到帮助?
-              </div>
-              <div class="answer">
-                <el-radio-group v-model="radio8" size="small">
-                  <el-radio label="1">优秀</el-radio>
-                  <el-radio label="2">良好</el-radio>
-                  <el-radio label="3">一般</el-radio>
-                  <el-radio label="4">合格</el-radio>
-                </el-radio-group>
-              </div>
-              <div class="question">
-                9、学员的现场表现、语言表达、汇报逻辑如何?
-              </div>
-              <div class="answer">
-                <el-radio-group v-model="radio9" size="small">
-                  <el-radio label="1">优秀</el-radio>
-                  <el-radio label="2">良好</el-radio>
-                  <el-radio label="3">一般</el-radio>
-                  <el-radio label="4">合格</el-radio>
-                </el-radio-group>
-              </div>
-              <div class="question">
-                10、学员的现场表现、语言表达、汇报逻辑如何?
-              </div>
-              <div class="answer">
-                <el-radio-group v-model="radio10" size="small">
-                  <el-radio label="1">优秀</el-radio>
-                  <el-radio label="2">良好</el-radio>
-                  <el-radio label="3">一般</el-radio>
-                  <el-radio label="4">合格</el-radio>
-                </el-radio-group>
-              </div>
-            </div>
+        <div style="display:inline-block;width:45%;">
+          <h3 style="margin-bottom:0px;">学员表现</h3>
+          <div class="question">
+            1、学员的现场表现、语言表达、汇报逻辑如何?
+          </div>
+          <div class="answer">
+            <el-radio-group v-model="radio1" size="small">
+              <el-radio label="1">优秀</el-radio>
+              <el-radio label="2">良好</el-radio>
+              <el-radio label="3">一般</el-radio>
+              <el-radio label="4">合格</el-radio>
+            </el-radio-group>
+          </div>
+          <h3 style="margin-bottom:0px;">汇报材料及内容</h3>
+          <div class="question">
+            2、汇报材料准备是否充足,汇报材料是否紧贴课题内容?
+          </div>
+          <div class="answer">
+            <el-radio-group v-model="radio2" size="small">
+              <el-radio label="1">优秀</el-radio>
+              <el-radio label="2">良好</el-radio>
+              <el-radio label="3">一般</el-radio>
+              <el-radio label="4">合格</el-radio>
+            </el-radio-group>
+          </div>
+          <div class="question">
+            3、学员汇报内容中是否存在明显的不足点?
+          </div>
+          <div class="answer">
+            <el-radio-group v-model="radio3" size="small">
+              <el-radio label="1">优秀</el-radio>
+              <el-radio label="2">良好</el-radio>
+              <el-radio label="3">一般</el-radio>
+              <el-radio label="4">合格</el-radio>
+            </el-radio-group>
+          </div>
+          <div class="question">
+            4、学员汇报内容是否符合学习材料(SOP或者程序)的要求?
+          </div>
+          <div class="answer">
+            <el-radio-group v-model="radio4" size="small">
+              <el-radio label="1">优秀</el-radio>
+              <el-radio label="2">良好</el-radio>
+              <el-radio label="3">一般</el-radio>
+              <el-radio label="4">合格</el-radio>
+            </el-radio-group>
+          </div>
+          <div class="question">
+            5、学员对本季度的学习过程、学习目标及学习结果的阐述是否具体、完整、正确?
+          </div>
+          <div class="answer">
+            <el-radio-group v-model="radio5" size="small">
+              <el-radio label="1">优秀</el-radio>
+              <el-radio label="2">良好</el-radio>
+              <el-radio label="3">一般</el-radio>
+              <el-radio label="4">合格</el-radio>
+            </el-radio-group>
+          </div>
+        </div>
+        <div style="display:inline-block;width:45%;">
+          <div class="question">
+            6、学员的汇报内容是否具有一定的意义,与学员的现阶段表现是否一致?
+          </div>
+          <div class="answer">
+            <el-radio-group v-model="radio6" size="small">
+              <el-radio label="1">优秀</el-radio>
+              <el-radio label="2">良好</el-radio>
+              <el-radio label="3">一般</el-radio>
+              <el-radio label="4">合格</el-radio>
+            </el-radio-group>
+          </div>
+          <div class="question">
+            7、学员汇报内容是否对装置后期的管理或者生产起到一定的启发作用?
+          </div>
+          <div class="answer">
+            <el-radio-group v-model="radio7" size="small">
+              <el-radio label="1">优秀</el-radio>
+              <el-radio label="2">良好</el-radio>
+              <el-radio label="3">一般</el-radio>
+              <el-radio label="4">合格</el-radio>
+            </el-radio-group>
+          </div>
+          <div class="question">
+            8、学员在实际工作中是否运用到培训所学内容?
+          </div>
+          <div class="answer">
+            <el-radio-group v-model="radio8" size="small">
+              <el-radio label="1">优秀</el-radio>
+              <el-radio label="2">良好</el-radio>
+              <el-radio label="3">一般</el-radio>
+              <el-radio label="4">合格</el-radio>
+            </el-radio-group>
+          </div>
+          <div class="question">
+            9、学员的汇报内容对于装置及公司的人才培养计划是否能起到帮助?
+          </div>
+          <div class="answer">
+            <el-radio-group v-model="radio9" size="small">
+              <el-radio label="1">优秀</el-radio>
+              <el-radio label="2">良好</el-radio>
+              <el-radio label="3">一般</el-radio>
+              <el-radio label="4">合格</el-radio>
+            </el-radio-group>
+          </div>
+          <div class="question">
+            10、学员本次汇报将较于上次是否有提升?
+          </div>
+          <div class="answer">
+            <el-radio-group v-model="radio10" size="small">
+              <el-radio label="1">优秀</el-radio>
+              <el-radio label="2">良好</el-radio>
+              <el-radio label="3">一般</el-radio>
+              <el-radio label="4">合格</el-radio>
+            </el-radio-group>
+          </div>
         </div>
         <h3 style="margin-top:0px;">导师反馈</h3>
         <div>
@@ -285,7 +269,6 @@
             </el-form-item>
           </el-form>
         </div>
-        <!-- footer -->
         <div style="text-align:center; margin:30px 0px;">
           <el-button>保存</el-button>
         </div>
@@ -297,6 +280,61 @@
 
       </el-tab-pane>
     </el-tabs>
+    <!-- 反馈对话框 -->
+    <el-dialog v-dialogDrag :title="feedbackDialog.title" :visible.sync="feedbackDialog.open" width="800px" append-to-body>
+      <div style="width:700px; margin:0px auto;">
+        <h3 style="margin-bottom:20px;text-align:center;">学员心得</h3>
+        <el-table :data="tableData" border style="width: 100%">
+          <el-table-column prop="id" label="编号" width="50"></el-table-column>
+          <el-table-column prop="question" label="问题" width="250"></el-table-column>
+          <el-table-column prop="answer" label="答案"></el-table-column>
+        </el-table>
+        <h3 style="margin-bottom:20px;text-align:center;">学习成果</h3>
+        <el-table :data="doc.commonfileList" border>
+          <el-table-column :label="$t('文件名')" align="center" prop="fileName" :show-overflow-tooltip="true">
+            <template slot-scope="scope">
+              <a  class="link-type"  @click="handleDownload(scope.row)">
+                <span>{{ scope.row.fileName }}</span>
+              </a>
+            </template>
+          </el-table-column>
+          <el-table-column :label="$t('大小(Kb)')" align="center" prop="fileSize" :show-overflow-tooltip="true" width="80" />
+          <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
+          <el-table-column :label="$t('操作')" align="center" width="120" class-name="small-padding fixed-width">
+            <template slot-scope="scope">
+              <el-button
+                v-if="scope.row.fileName.endsWith('pdf')"
+                size="mini"
+                type="text"
+                icon="el-icon-view"
+                @click="handleSee(scope.row)"
+              >{{ $t('预览') }}</el-button>
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-download"
+                @click="handleDownload(scope.row)"
+              >{{ $t('下载') }}</el-button>
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-delete"
+                @click="handleDeleteDoc(scope.row)"
+              >{{ $t('删除') }}</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <h3 style="margin-top:30px;margin-bottom:20px;text-align:center;">导师反馈</h3>
+        <el-form>
+          <el-form-item>
+            <editor :min-height="192" v-model="mentorFeedback"/>
+          </el-form-item>
+        </el-form>
+        <div style="text-align:center;">
+          <el-button @click="handleReject()">{{ $t('确 定') }}</el-button>
+        </div>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -312,6 +350,17 @@ export default {
   components: { Treeselect, Editor },
   data() {
     return {
+      mentorFeedback: "<p>此处稍有不足,请重新学习<br/><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIkAAAAjCAYAAACgoylBAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAUcSURBVHhe7VpBixxFFO5f5JznLioJcQ+2oEkuanYirCYq2rjJogEJUYlDENnJTfRg/sDOCIqgKwmKScDticRJrh4CCrkYkKDP+qq6el5VV3f1jN0zk7E++EhPvXqvq977+lXPbCJqGB/f+oMupr/nPPTiq7Q9/NEYswmfAkY9iqJIsEejbEhhRD0x3u1Pss8aajzqZbMnfepGXVLTYNPXwIT63YjUVOWn3YBRT8Tp9sUsARmHrcH4DF9+XXIP7EXHc0KtwdiT3D+PXbY3TGW+hfXxvak1Va+liAWI5BXa3vvBGLPpFEmGSb+rxKJ3WppwV5Gyz7ngTMrEuuLxsboimfUeHE67LeSSvQmUisS3t5poXCSf371vCODEpU/p2eQ9+uDmb8Y4J3yqwZ6I0k16RFKWGF8iZxFJafLttVlw+nIhrJlIrt57YAjgw5/v0ealz+jIy2/QxlZCz525YNhB+BjARqc9UoAnCde8hY6oLw1VibR9xEiPF7qiJcukT+OqzuYQSSEOv4f24+sTEAVTxVW+eaEBo5iwl+0NU0tEUliTtbeaaFwkfz78u3DkVBFz4WMjP2Yy8uSrRGgbT0h5Ik0fKx4KktuET9982vhauqLwzk4CVN0DMO4jaC5CFnRqZ3GlbR6RCBhrKu6tDhoXCTC5/xd9lPqFgjmYG7BArMJxo4HiV3UU2IJA2gY6jt2RrGOtBloTCfDg4T/yfQMvphAFiGuMwRawAFhH4KwCAVoVScB6IIgkwIsgkgAvovF4TIGBVQwiCfQyiCTQyyCSQC9bFcmNg1t05afbdPHahM59f0cS1xiDzeUTuHpsTSRf3viF3t2f0Nn9O07Chjku32UzHSbUiTqUDFOnfRlM0yElHfWD2DPn3lro+loRCYq/s3/XKQ5OzCkTSpoOKGa/FMaDxRXsv4jEXncUD5zzZuUw6eSxFi3ixkVy/WBc2UFsYi58eAydaC0M9RTFNEgXJxRN/QTXEWk6iAuCxlgnGRrz5uEgjhqJMw8bFwneN7gIznz3Kx17/zI9+dIpOnzyTXr69I5hB+HDY8gnpZPQcAmisFlXJLawm+ZaiQQvplwAxy5cpo3Xdujtb8bGOCd8eAxfwu2WzpPnsqn2PO1E/PNUBJmfEOfeHs78mHYPzFjRY5u0KeYa90P3gE/2b5Ww7bVFfE3SJo6QRHUjUN8HAuE+u9n6TF9tz2I0+JA1LhL7qHn8+EnauvK1MWYTPnYc3bp5IuW4TmZ2HvMnXSfLfuLqiMQomFNEmc0SAwoo7+0RiWttao/6PlmhS947eCcx16f88vXp/TxaIunR1hdfGWM2XSLRlC9sPHm5eEwigWWFqiMS3rUqRcJEqq6zeT6ROOw8No87tdUQiSuuZy2zsvXj5vnzn9CRU2dnOm5s8qelKgFltiZFAkK4KJjxjcMqss1ykXDB/U9EYr+4bn97m46e36UnXtiip06cpo3X3zHsoPPFlX115AnkgtH2QawLatrwOUGHkUmdJlx1p/lFIu3i21bMigiquOYYCia7XLY2XWht08Xke5S2uiIp7Fmtd6VF0sRXYDA/ZjIWi1jHphJpx+sIUdXtJIYvSzyK5iqELHx+f8GC2JmN3WNekUw/65jCZ9VfXMEmfkxbdfKirRpX/rjRRPGrOgpsj6pA7Cd5mVQdx+5IzQq4NZGA6/gHPnnMiCLw42nZNI+b5jtcqyIJXA8GkQR6GUQS6GX43/IBXgSRBHgRRBLgAdG/w/eQqkOct4wAAAAASUVORK5CYII='></p>",
+      // 表格参数
+      tableData: [],
+      // 反馈对话框参数
+      feedbackDialog: {
+        id: 0,
+        // 是否显示弹出层(报告附件)
+        open: false,
+        // 弹出层标题(报告附件)
+        title: ""
+      },
       dataList: [],
       radio1: '',
       radio2: '',
@@ -421,15 +470,15 @@ export default {
     })
     this.getList();
 
-    let data1 = { feedbackYear:"2022", feedbackMonth: "1", startDate:"2022-01-01", endDate:"2022-04-10", dateOfCompletion:"", studyState:"学习中", plantName:"英语学习(持续)" };
-    let data2 = { feedbackYear:"2022", feedbackMonth: "1", startDate:"2022-01-01", endDate:"2022-06-06", dateOfCompletion:"", studyState:"学习中", plantName:"C560系统学习" };
-    let data3 = { feedbackYear:"2022", feedbackMonth: "1", startDate:"2022-01-01", endDate:"2022-01-18", dateOfCompletion:"2022-02-01", studyState:"已完成", plantName:"C3加氢/V520、C530/540" };
-    let data4 = { feedbackYear:"2022", feedbackMonth: "2", startDate:"2022-01-01", endDate:"2022-04-10", dateOfCompletion:"", studyState:"学习中", plantName:"英语学习(持续)" };
-    let data5 = { feedbackYear:"2022", feedbackMonth: "2", startDate:"2022-01-01", endDate:"2022-06-06", dateOfCompletion:"", studyState:"学习中", plantName:"C560系统学习" };
-    let data6 = { feedbackYear:"2022", feedbackMonth: "2", startDate:"2022-02-01", endDate:"2022-02-11", dateOfCompletion:"2022-02-10", studyState:"已完成", plantName:"C430系统" };
-    let data7 = { feedbackYear:"2022", feedbackMonth: "2", startDate:"2022-02-01", endDate:"2022-02-04", dateOfCompletion:"2022-02-10", studyState:"已完成", plantName:"C440/K450" };
-    let data8 = { feedbackYear:"2022", feedbackMonth: "3", startDate:"2022-01-01", endDate:"2022-04-10", dateOfCompletion:"", studyState:"学习中", plantName:"英语学习(持续)" };
-    let data9 = { feedbackYear:"2022", feedbackMonth: "3", startDate:"2022-01-01", endDate:"2022-06-06", dateOfCompletion:"", studyState:"学习中", plantName:"C560系统学习" };
+    let data1 = { isFirstLine:1, feedbackYear:"2022", feedbackMonth: "1", startDate:"2022-01-01", endDate:"2022-04-10", dateOfCompletion:"", studyState:"学习中", plantName:"英语学习(持续)" };
+    let data2 = { isFirstLine:0, feedbackYear:"2022", feedbackMonth: "1", startDate:"2022-01-01", endDate:"2022-06-06", dateOfCompletion:"", studyState:"学习中", plantName:"C560系统学习" };
+    let data3 = { isFirstLine:0, feedbackYear:"2022", feedbackMonth: "1", startDate:"2022-01-01", endDate:"2022-01-18", dateOfCompletion:"2022-02-01", studyState:"已完成", plantName:"C3加氢/V520、C530/540" };
+    let data4 = { isFirstLine:1, feedbackYear:"2022", feedbackMonth: "2", startDate:"2022-01-01", endDate:"2022-04-10", dateOfCompletion:"", studyState:"学习中", plantName:"英语学习(持续)" };
+    let data5 = { isFirstLine:0, feedbackYear:"2022", feedbackMonth: "2", startDate:"2022-01-01", endDate:"2022-06-06", dateOfCompletion:"", studyState:"学习中", plantName:"C560系统学习" };
+    let data6 = { isFirstLine:0, feedbackYear:"2022", feedbackMonth: "2", startDate:"2022-02-01", endDate:"2022-02-11", dateOfCompletion:"2022-02-10", studyState:"已完成", plantName:"C430系统" };
+    let data7 = { isFirstLine:1, feedbackYear:"2022", feedbackMonth: "3", startDate:"2022-03-01", endDate:"2022-03-04", dateOfCompletion:"2022-03-10", studyState:"已完成", plantName:"C440/K450" };
+    let data8 = { isFirstLine:0, feedbackYear:"2022", feedbackMonth: "3", startDate:"2022-01-01", endDate:"2022-04-10", dateOfCompletion:"", studyState:"学习中", plantName:"英语学习(持续)" };
+    let data9 = { isFirstLine:0, feedbackYear:"2022", feedbackMonth: "3", startDate:"2022-01-01", endDate:"2022-06-06", dateOfCompletion:"", studyState:"学习中", plantName:"C560系统学习" };
 
     this.dataList.push(data1);
     this.dataList.push(data2);
@@ -440,11 +489,36 @@ export default {
     this.dataList.push(data7);
     this.dataList.push(data8);
     this.dataList.push(data9);
+
+    let answerObj1 = { id: 1, question: "我学到了什么?", answer: "丰富的英语知识"};
+    let answerObj2 = { id: 2, question: "理论学习和平时操作的不同之处?", answer: "很多不同"};
+    let answerObj3 = { id: 3, question: "完成此课程后有什么更好的合理化建议?", answer: "自己需要继续努力,加深学习"};
+
+    this.tableData.push(answerObj1);
+    this.tableData.push(answerObj2);
+    this.tableData.push(answerObj3);
   },
   methods: {
+    /** 反馈处理 */
+    handleFeedback(row) {
+      this.feedbackDialog.title = "李滕 " + row.plantName + " " + this.$t('学习情况');
+      this.feedbackDialog.open = true;
+    },
     // 合并单元格
     spanMethod({ row, column, rowIndex, columnIndex }) {
-      
+      if (columnIndex === 0) {
+        if (row.isFirstLine == 1) {
+          return {
+            rowspan: 3,
+            colspan: 1
+          };
+        } else {
+          return {
+            rowspan: 0,
+            colspan: 0
+          };
+        }
+      }
     },
     // 单元格样式
     tableCellStyle (row, column, rowIndex, columnIndex) {
@@ -538,6 +612,7 @@ export default {
 <style scoped>
   .question,.answer{
     margin: 30px 0px;
+    padding-left: 20px;
   }
   h3{
     margin: 30px 0px;