فهرست منبع

导师带徒 导师 学院签名

jiangbiao 11 ماه پیش
والد
کامیت
0295be5994

+ 14 - 8
master/src/main/java/com/ruoyi/project/training/bccnew/controller/TTsFirstplanController.java

@@ -8,16 +8,13 @@ import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.framework.web.page.TableDataInfo;
 import com.ruoyi.project.system.domain.SysUser;
 import com.ruoyi.project.system.service.ISysUserService;
-import com.ruoyi.project.training.bccnew.domain.*;
-import com.ruoyi.project.training.bccnew.mapper.TTsFlplanMapper;
-import com.ruoyi.project.training.bccnew.mapper.TTsFtplanMapper;
-import com.ruoyi.project.training.bccnew.mapper.TTsLjplanMapper;
-import com.ruoyi.project.training.bccnew.mapper.TTsYsplanMapper;
+import com.ruoyi.project.training.bccnew.domain.TTsFirstplan;
+import com.ruoyi.project.training.bccnew.domain.TTsNew;
 import com.ruoyi.project.training.bccnew.service.*;
-import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -107,9 +104,9 @@ public class TTsFirstplanController extends BaseController {
             TTsFirstplan need = tTsFirstplanService.selectTTsFirstplanById(tTsFirstplan.getId());
             long timer = need.getTimer() == null ? 0 : need.getTimer();
             need.setTimer(timer + 1);
-            if (need.getTimerNeed()==null)
+            if (need.getTimerNeed() == null)
                 need.setTimerNeed(0L);
-            if (need.getTimerNeed() != null && need.getTimerNeed()<=timer + 1) {
+            if (need.getTimerNeed() != null && need.getTimerNeed() <= timer + 1) {
                 need.setPlanStatus(2L);
             }
             return toAjax(tTsFirstplanService.updateTTsFirstplan(need));
@@ -126,6 +123,15 @@ public class TTsFirstplanController extends BaseController {
     public AjaxResult edit(@RequestBody TTsFirstplan tTsFirstplan) {
         tTsFirstplan.setUserId(getUserId());
         tTsFirstplan.setNickName(getNickName());
+        if ("1".equals(tTsFirstplan.getTrainerConfirm())) {
+            tTsFirstplan.setTrainerConfirm(getNickName());
+        }
+        if ("1".equals(tTsFirstplan.getStudentConfirm())) {
+            tTsFirstplan.setStudentConfirm(getNickName());
+            tTsFirstplan.setTrainingPlanDate(new Date());
+            tTsFirstplan.setCourseDate(new Date());
+            tTsFirstplan.setAssess(tTsFirstplan.getScore2() == null ? tTsFirstplan.getScore1() : tTsFirstplan.getScore2());
+        }
         return toAjax(tTsFirstplanService.updateTTsFirstplan(tTsFirstplan));
     }
 

+ 23 - 20
master/src/main/java/com/ruoyi/project/training/bccnew/controller/TTsNewController.java

@@ -197,6 +197,29 @@ public class TTsNewController extends BaseController {
         return AjaxResult.success(tTsNewService.selectTTsNewById(newId));
     }
 
+    /**
+     * 修改导师带徒
+     */
+//    @PreAuthorize("@ss.hasPermi('bccnew:tsnew:edit')")
+    @Log(title = "导师带徒", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TTsNew tTsNew) {
+        if (tTsNew.getPlanStatus()==0){
+            return toAjax(tTsNewService.updateTTsNew(tTsNew));
+        }
+        return toAjax(tTsNewService.updateTTsNew(tTsNew,getUserId(),getNickName()));
+    }
+
+    /**
+     * 删除导师带徒
+     */
+//    @PreAuthorize("@ss.hasPermi('bccnew:tsnew:remove')")
+    @Log(title = "导师带徒", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{newIds}")
+    public AjaxResult remove(@PathVariable Long[] newIds) {
+        return toAjax(tTsNewService.deleteTTsNewByIds(newIds));
+    }
+
     /**
      * 新增导师带徒
      */
@@ -520,24 +543,4 @@ public class TTsNewController extends BaseController {
         String pathName = RuoYiConfig.getProfile() + newFilePath;
         return pathName;
     }
-
-    /**
-     * 修改导师带徒
-     */
-//    @PreAuthorize("@ss.hasPermi('bccnew:tsnew:edit')")
-    @Log(title = "导师带徒", businessType = BusinessType.UPDATE)
-    @PutMapping
-    public AjaxResult edit(@RequestBody TTsNew tTsNew) {
-        return toAjax(tTsNewService.updateTTsNew(tTsNew,getUserId(),getNickName()));
-    }
-
-    /**
-     * 删除导师带徒
-     */
-//    @PreAuthorize("@ss.hasPermi('bccnew:tsnew:remove')")
-    @Log(title = "导师带徒", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{newIds}")
-    public AjaxResult remove(@PathVariable Long[] newIds) {
-        return toAjax(tTsNewService.deleteTTsNewByIds(newIds));
-    }
 }

+ 1 - 0
master/src/main/java/com/ruoyi/project/training/bccnew/service/ITTsNewService.java

@@ -41,6 +41,7 @@ public interface ITTsNewService
      * @param tTsNew 导师带徒
      * @return 结果
      */
+    public int updateTTsNew(TTsNew tTsNew);
     public int updateTTsNew(TTsNew tTsNew,Long userId,String nickName);
 
     /**

+ 5 - 1
master/src/main/java/com/ruoyi/project/training/bccnew/service/impl/TTsNewServiceImpl.java

@@ -206,8 +206,12 @@ public class TTsNewServiceImpl implements ITTsNewService {
      * @return 结果
      */
     @Override
+    public int updateTTsNew(TTsNew tTsNew) {
+        return tTsNewMapper.updateTTsNew(tTsNew);
+    }
+
+        @Override
     public int updateTTsNew(TTsNew tTsNew, Long userId, String nickName) {
-        tTsNewMapper.updateTTsNew(tTsNew);
         TTsNew tsNew = tTsNewMapper.selectTTsNewById(tTsNew.getNewId());
         if (tTsNew.getPlanStatus() == 1) {
             TTsFirstplan tTsFirstplan = new TTsFirstplan();

+ 35 - 3
ui/src/views/training/bccnew/firstplan/index.vue

@@ -76,7 +76,14 @@
           <span>{{ parseTime(scope.row.courseDate, '{y}-{m}-{d}') }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="讲师签名" align="center" prop="trainerConfirm" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="讲师签名" align="center" prop="trainerConfirm" :show-overflow-tooltip="true" width="180">
+        <template slot-scope="scope">
+          <el-button v-if="scope.row.trainerConfirm==null&&(scope.row.planStatus==3||scope.row.planStatus==4||scope.row.planStatus==5)" type="text" @click="sign(scope.row)">
+            签名
+          </el-button>
+          <span v-else >{{scope.row.trainerConfirm}}</span>
+        </template>
+      </el-table-column>
       <el-table-column label="考试评估方式" align="center" prop="examType" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="评估结果" align="center" prop="assess" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="学员签名" align="center" prop="studentConfirm" :show-overflow-tooltip="true" width="180"/>
@@ -93,7 +100,8 @@
       <el-table-column label="第一次成绩" align="center" prop="score1" :show-overflow-tooltip="true" width="200">
         <template slot-scope="scope">
           <div v-if="scope.row.score1 == null">
-            <el-select v-model="scope.row.score1Tmp&&scope.row.planStatus==2" style="width: 130px" placeholder="请选择成绩">
+            <el-select v-model="scope.row.score1&&scope.row.planStatus==2" style="width: 130px"
+                       placeholder="请选择成绩">
               <el-option value="合格" label="合格" key="合格"/>
               <el-option value="不合格" label="不合格" key="不合格"/>
             </el-select>
@@ -441,6 +449,7 @@ import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import {listExam} from "@/api/training/elearn/exam";
 import {allFileList, delCommonfile} from "@/api/common/commonfile";
+import {getStaffId} from "@/api/plant/staffmgr";
 
 var timer = null;
 export default {
@@ -455,6 +464,7 @@ export default {
   // components: { Editor },
   data() {
     return {
+      staffId:null,
       file: {
         open: false,
         data: {}
@@ -582,8 +592,30 @@ export default {
     this.getDicts("training_bccnew_status").then(response => {
       this.planStatusOptions = response.data;
     });
+    this.getStaffId();
   },
   methods: {
+    getStaffId(){
+      getStaffId().then(res=>{
+        this.staffId = res.data;
+      })
+    },
+    sign(row){
+      this.$confirm('签名即代表您已确认该学员此项课程的成绩', "注意", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(function () {
+        return updateFirstplan({
+          id: row.id,
+          trainerConfirm:"1",
+          newId: row.newId
+        });
+      }).then(() => {
+        this.getList();
+        this.msgSuccess("签名成功");
+      })
+    },
     handleSee(row) {
       // window.open(process.env.VUE_APP_BASE_API +'/pdf/web/viewer.html?file=' + process.env.VUE_APP_BASE_API + row.fileUrl);//path是文件的全路径地址
       this.pdf.open = true
@@ -720,7 +752,7 @@ export default {
       });
     },
     saveScore(row) {
-      this.$confirm('成绩保存后不可修改!请确认成绩为' + ((row.score1Tmp ? row.score1Tmp : row.score2Tmp)==undefined?"":(row.score1Tmp ? row.score1Tmp : row.score2Tmp)), "警告", {
+      this.$confirm('成绩保存后不可修改!请确认成绩为' + ((row.score1Tmp ? row.score1Tmp : row.score2Tmp) == undefined ? "" : (row.score1Tmp ? row.score1Tmp : row.score2Tmp)), "警告", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
         type: "warning"

+ 26 - 1
ui/src/views/training/bccnew/firstplan/index_student.vue

@@ -44,7 +44,14 @@
       <el-table-column label="讲师签名" align="center" prop="trainerConfirm" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="考试评估方式" align="center" prop="examType" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="评估结果" align="center" prop="assess" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="学员签名" align="center" prop="studentConfirm" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="学员签名" align="center" prop="studentConfirm" :show-overflow-tooltip="true" width="180">
+        <template slot-scope="scope">
+          <el-button v-if="scope.row.studentConfirm==null&&scope.row.trainerConfirm!=null&&(scope.row.planStatus==3||scope.row.planStatus==4||scope.row.planStatus==5)" type="text" @click="sign(scope.row)">
+            签名
+          </el-button>
+          <span v-else >{{scope.row.studentConfirm}}</span>
+        </template>
+      </el-table-column>
       <el-table-column label="培训状态" align="center" prop="planStatus" :show-overflow-tooltip="true" width="180">
         <template slot-scope="scope">
           <el-tag v-if="scope.row.planStatus == 2" size="small" type="warning">待考试</el-tag>
@@ -467,6 +474,24 @@ export default {
     });
   },
   methods: {
+    sign(row){
+      this.$confirm('签名即代表您已确认此项课程的成绩', "注意", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(function () {
+        return updateFirstplan({
+          id: row.id,
+          studentConfirm:"1",
+          score1:row.score1,
+          score2:row.score2,
+          newId: row.newId
+        });
+      }).then(() => {
+        this.getList();
+        this.msgSuccess("签名成功");
+      })
+    },
     handleSee (row){
       // window.open(process.env.VUE_APP_BASE_API +'/pdf/web/viewer.html?file=' + process.env.VUE_APP_BASE_API + row.fileUrl);//path是文件的全路径地址
       this.pdf.open =true