Jelajahi Sumber

教育培训 bug修改

jingyuanchao 2 tahun lalu
induk
melakukan
80a281c75f

+ 7 - 6
src/views/core/edu/plan/index.vue

@@ -117,7 +117,7 @@
           <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
             <template slot-scope="scope">
               <el-button v-if="checkCanPublish(scope.row)" size="mini" type="text" icon="el-icon-edit"
-                         @click="handlePublish(scope.row)" v-hasPermi="['core:plan:publish']">下发
+                         @click="handlePublish(scope.row)" v-hasPermi="['core:plan:edit']">下发
               </el-button>
               <el-button v-if="checkCanEdit(scope.row)" size="mini" type="text" icon="el-icon-edit"
                          @click="handleUpdate(scope.row)" v-hasPermi="['core:plan:edit']">修改
@@ -219,7 +219,8 @@
                                        placeholder="请选择培训机构"/>
                         </el-form-item>-->
             <el-form-item v-show="form.execOrgType" label="培训机构" prop="planExecOrgIdList">
-              <org-tree-select v-model="form.planExecOrgIdList" :queryData="form.execOrgType" ref="orgTreeSelect" @selectNode="queryNode" :disable="true">
+              <org-tree-select v-model="form.planExecOrgIdList" :queryData="form.execOrgType" ref="orgTreeSelect"
+                               @selectNode="queryNode" :disable="true">
               </org-tree-select>
             </el-form-item>
           </el-col>
@@ -306,7 +307,7 @@ export default {
       isUnfold: false,
       defaultSelect: [],
       orgId: null,
-      type:null,
+      type: null,
       // 查询参数
       queryParams: {
         execOrgType: null,
@@ -320,7 +321,7 @@ export default {
         checkSub: true
 
       },
-      formFileListDefualtValue:[],
+      formFileListDefualtValue: [],
       // 表单参数
       form: {},
       // 表单校验
@@ -413,7 +414,7 @@ export default {
     },
     //已完成下发的计划不显示下发按钮
     checkCanPublish(row) {
-      if (row.issue === 0 && row.standard === 1) {
+      if (row.issue == 0 && row.standard == 1 && row.planStatus == 0) {
         return true
       }
       return false;
@@ -525,7 +526,7 @@ export default {
       const id = row.id || this.ids
       getPlan(id).then(response => {
         this.form = response.data;
-        this.formFileListDefualtValue=this.form.fileList;
+        this.formFileListDefualtValue = this.form.fileList;
         this.open = true;
         this.title = "修改教育培训计划";
       });

+ 20 - 49
src/views/core/edu/task/dialog.perform.vue

@@ -39,23 +39,23 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item v-if="formData.id" prop="dateTime" label="培训开始时间">
-                <el-date-picker v-model="formData.trainingStartDateTime" :picker-options="startDatepickerOptions"     
+              <el-form-item  prop="dateTime" label="培训开始时间">
+                <el-date-picker required v-model="formData.trainingStartDateTime" :picker-options="startDatepickerOptions"
                   type="datetime" placeholder="选择日期"  @change="startDateChanged">
                 </el-date-picker>
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item v-if="formData.id" prop="dateTime" label="培训结束时间">
-                <el-date-picker v-model="formData.trainingEndDateTime" :picker-options="endDatepickerOptions"
+              <el-form-item prop="dateTime" label="培训结束时间">
+                <el-date-picker required v-model="formData.trainingEndDateTime" :picker-options="endDatepickerOptions"
                   type="datetime" placeholder="选择日期">
                 </el-date-picker>
               </el-form-item>
             </el-col>
             <!-- 内容 -->
             <el-col :span="24">
-              <el-form-item prop="content" label="内容">
-                <k-textarea v-model="formData.content" placeholder="请输入内容" :length="2000" />
+              <el-form-item prop="content" label="培训内容">
+                <k-textarea v-model="formData.content" placeholder="请输入培训内容" :length="2000" />
               </el-form-item>
             </el-col>
 
@@ -94,39 +94,13 @@
             <!-- 总结 -->
             <el-col :span="24">
               <el-form-item v-if="formData.id" prop="note" label="总结">
-                <k-textarea v-model="formData.note" placeholder="请输入总结" :length="1000" />
+                <k-textarea v-model="formData.note" placeholder="请输入总结" :length="2000" />
               </el-form-item>
             </el-col>
-            <!-- 应到人数 -->
-            <!-- <el-col :span="24">
-              <el-form-item v-if="formData.id" prop="dueCount" label="应到人数">
-                <el-input-number
-                  v-model="formData.dueCount"
-                  :min="0"
-                  placeholder="请输入应到人数"
-                ></el-input-number>
-              </el-form-item>
-            </el-col> -->
-            <!-- 实到人数 -->
-            <!-- <el-col :span="24">
-              <el-form-item
-                v-if="formData.id"
-                prop="actualCount"
-                label="实到人数"
-              >
-                <el-input-number
-                  v-model="formData.actualCount"
-                  :min="0"
-                  placeholder="请输入实到人数"
-                ></el-input-number>
-              </el-form-item>
-            </el-col> -->
             <el-col :span="24">
               <el-form-item v-if="formData.id" label="参与人员">
                 <k-select :multiple="true" v-model="formData.absenceList" url="/user/find/all"
-                  :params="{ orgId: formData.orgId }" placeholder="请选择缺席人员" @select="absenceUserSelectChanged"></k-select>
-                <!-- <k-select :multiple="true" v-model="formData.absenceList" url="/user/find/all"
-                  :params="{ orgId: formData.orgId }" placeholder="请选择参与人员"></k-select> -->
+                  :params="{ orgId: formData.orgId }" placeholder="请选择参与人员" @select="absenceUserSelectChanged"></k-select>
               </el-form-item>
             </el-col>
             <el-col :span="24">
@@ -139,17 +113,8 @@
             <el-col :span="24">
               <el-form-item prop="imageList" label="上传图片">
                 <imgUpload type="more" :value="formData.imageList" @input="imageListChanged"></imgUpload>
-                <!-- <k-multi-upload v-model="formData.imageList" limit="4" byModule moduleName="edu-training" /> -->
               </el-form-item>
             </el-col>
-            <!-- 上传文件 -->
-            <!-- <el-col :span="24">
-              <el-form-item prop="fileList" label="上传文件">
-                <k-upload-file-multiple :disabled="!!id" v-model="formData.fileList" max="4"
-                  @uploadTriggerEvent="uploadTriggerEvent" byModule
-                  moduleName="edu-traning-perform"></k-upload-file-multiple>
-              </el-form-item>
-            </el-col> -->
           </el-row>
         </el-form>
       </div>
@@ -181,14 +146,10 @@ export default {
       formDataRules: {
         type: [{ required: true, message: "请选择类型" }],
         content: [{ required: true, message: "请输入内容" }],
-        // hostId: [{ required: true, message: "请输入主持人" }],
-        // recorderId: [{ required: true, message: "请输入记录人" }],
-
+        absenceList: [{ required: true, message: "请选择参与人员" }],
         trainingStartDateTime: [{ required: true, message: "请输入培训时间" }],
         trainingEndDateTime: [{ required: true, message: "请输入培训时间" }],
         note: [{ required: true, message: "请输入总结" }],
-        // dueCount: [{ required: true, message: "请输入应到人数" }],
-        // actualCount: [{ required: true, message: "请输入实到人数" }],
       },
       startDatepickerOptions: {
         disabledDate(time) {
@@ -324,6 +285,11 @@ export default {
         this.$message.error("参与人员与缺席人员重复,请重新选择!");
         return;
       }
+      //判断trainingStartDateTime大于trainingEndDateTime就返回
+      if (dayjs(this.formData.trainingStartDateTime).isAfter(dayjs(this.formData.trainingEndDateTime))) {
+        this.$message.error("培训开始时间不能大于培训结束时间!");
+        return;
+      }
       let request = { submitType: 1, ...this.formData };
       if (request.trainingStartDateTime)
         request.trainingStartDateTime = dayjs(request.trainingStartDateTime).format('YYYY-MM-DD HH:mm:ss')
@@ -341,6 +307,11 @@ export default {
     },
     async onSubmit() {
       await this.$refs.form.validate();
+      //判断trainingStartDateTime大于trainingEndDateTime就返回
+      if (dayjs(this.formData.trainingStartDateTime).isAfter(dayjs(this.formData.trainingEndDateTime))) {
+        this.$message.error("培训开始时间不能大于培训结束时间!");
+        return;
+      }
       console.log("onSubmit this.formData", this.formData)
       let due = this.formData.dueCount;
       let actual = this.formData.actualCount;
@@ -355,7 +326,7 @@ export default {
 
       if (request.trainingEndDateTime)
         request.trainingEndDateTime = dayjs(request.trainingEndDateTime).format('YYYY-MM-DD HH:mm:ss')
-      
+
         recordEduTask(request).then((v) => {
           this.$emit("success", this.formData);
           this.onHide();

+ 5 - 4
src/views/core/edu/task/index.vue

@@ -52,6 +52,7 @@
 
 
     <el-table height="550px" v-loading="loading" :data="eduTaskList" @selection-change="handleSelectionChange">
+      <el-table-column label="序号" align="center" prop="no" />
       <el-table-column label="培训机构" align="center" prop="orgName" />
       <el-table-column label="培训角色" align="center" >
         <template slot-scope="scope">
@@ -71,14 +72,14 @@
       </el-table-column>
 
       <el-table-column label="主持人" align="center" prop="hostName" />
-      <el-table-column label="开始日期" align="center" prop="startDate" width="180">
+      <el-table-column label="开始时间" align="center" prop="startDate" width="180">
       </el-table-column>
-      <el-table-column label="截止日期" align="center" prop="endDate" width="180">
+      <el-table-column label="截止时间" align="center" prop="endDate" width="180">
 
       </el-table-column>
       <el-table-column label="培训时间" align="center" prop="trainingStartDateTime" width="180">
       </el-table-column>
-      <el-table-column label="状态" align="center" prop="status" >
+      <el-table-column label="培训状态" align="center" prop="status" >
         <template slot-scope="scope">
             <dict-tag :options="dict.type.edu_task_status" :value="scope.row.status"/>
           </template>
@@ -90,7 +91,7 @@
             type="text"
             icon="el-icon-view"
             @click="handleDetail(scope.row.id)"
-            v-hasPermi="['core:eduTask:detail']"
+            v-hasPermi="['core:eduTask:list']"
           >详情</el-button>
           <el-button
             size="mini"