浏览代码

教育培训需求变更 代码提交

jingyuanchao 2 年之前
父节点
当前提交
bf2cf0a912
共有 3 个文件被更改,包括 79 次插入52 次删除
  1. 1 1
      src/api/core/edu/eduTask.js
  2. 76 50
      src/views/core/edu/task/dialog.newTask.vue
  3. 2 1
      src/views/core/edu/task/index.vue

+ 1 - 1
src/api/core/edu/eduTask.js

@@ -20,7 +20,7 @@ export function getEduTask(id) {
 // 新增教育任务
 export function addEduTask(data) {
   return request({
-    url: '/core/eduTask',
+    url: '/core/eduTask/add',
     method: 'post',
     data: data
   })

+ 76 - 50
src/views/core/edu/task/dialog.newTask.vue

@@ -2,13 +2,13 @@
   <div class="edu-training-edit">
     <DialogCom :title="'新增培训任务'" :close="onHide" :visible.sync="isShow" width="960px">
       <div class="page-body">
-        <el-form :model="formData" :rules="formDataRules" size="small" label-position="right"
+        <el-form :model="formData" :rules="formDataRules" size="small" ref="newTask" label-position="right"
                  label-width="120px">
           <el-row>
 
             <!-- 培训主题 -->
-            <el-col :span="12">
-              <el-form-item prop="title" label="培训主题1111">
+            <el-col :span="24">
+              <el-form-item prop="title" label="培训主题">
                 <el-input
                   v-model="formData.title"
                   :maxlength="32"
@@ -18,62 +18,87 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item prop="startDate" label="开始日期">
-                <el-date-picker v-model="formData.startDate" @change="startDateChanged"
-                                :picker-options="startDatepickerOptions"
-                                align="right" type="date" placeholder="选择开始日期">
+              <el-form-item  prop="trainingStartDateTime" 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 prop="endDate" label="结束日期">
-                <el-date-picker style="width: 100%" v-model="formData.endDate" :picker-options="endDatepickerOptions"
-                                align="right" type="date"
-                                placeholder="选择结束日期">
+              <el-form-item prop="trainingEndDateTime" label="培训结束时间">
+                <el-date-picker required v-model="formData.trainingEndDateTime" :picker-options="endDatepickerOptions" @change="endDateChanged"
+                                type="datetime" placeholder="选择日期">
                 </el-date-picker>
               </el-form-item>
             </el-col>
-            <el-col :span="12">
-              <el-form-item label="机构类型" prop="execOrgType">
-                <el-select style="width: 100%" v-model="formData.execOrgType" placeholder="请选择执行机构类型"
-                           @change="execOrgTypeChanged()">
+            <!--            <el-col :span="12">
+                          <el-form-item label="机构类型" prop="execOrgType">
+                            <el-select style="width: 100%" v-model="formData.execOrgType" placeholder="请选择执行机构类型"
+                                       @change="execOrgTypeChanged()">
 
-                  <el-option v-for="dict in getUserOrgType" :key="dict.value" :label="dict.label"
-                             :value="parseInt(dict.value)"></el-option>
+                              <el-option v-for="dict in getUserOrgType" :key="dict.value" :label="dict.label"
+                                         :value="parseInt(dict.value)"></el-option>
 
-                </el-select>
+                            </el-select>
+                          </el-form-item>
+                        </el-col>
+                        <el-col :span="12">
+                          <el-form-item v-show="formData.execOrgType" label="培训机构" prop="planExecOrgIdList">
+                            <org-tree-select
+                              v-model="formData.planExecOrgIdList"
+                              :queryData="formData.execOrgType"
+                              ref="orgTreeSelect"
+                              :enabledCheckOrgTypes="formData.execOrgType"
+                              :disable="true">
+                            </org-tree-select>
+                          </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>
             </el-col>
-            <el-col :span="12">
-              <el-form-item v-show="formData.execOrgType" label="培训机构" prop="planExecOrgIdList">
-                <org-tree-select
-                  v-model="formData.planExecOrgIdList"
-                  :queryData="formData.execOrgType"
-                  ref="orgTreeSelect"
-                  :enabledCheckOrgTypes="formData.execOrgType"
-                  :disable="true">
-                </org-tree-select>
+
+            <el-col :span="24">
+              <el-form-item prop="note" label="总结">
+                <k-textarea v-model="formData.note" placeholder="请输入总结" :length="2000"/>
               </el-form-item>
             </el-col>
-            <!-- 内容 -->
-            <el-col :span="12">
-              <el-form-item prop="content" label="培训内容">
-                <k-textarea v-model="formData.content" placeholder="请输入培训内容" :length="2000"/>
+            <el-col :span="24">
+              <el-form-item prop="absenceList" label="参与人员">
+                <k-select :multiple="true" style="width: 100%" v-model="formData.absenceList" url="/user/find/all"
+                          :params="{ orgId: formData.orgId }" placeholder="请选择参与人员"
+                          @select="absenceUserSelectChanged"></k-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item prop="absentList" label="缺席人员">
+                <k-select :multiple="true"  style="width: 100%" v-model="formData.absentList" url="/user/find/all"
+                          :params="{ orgId: formData.orgId }" @select="absentUserSelectChanged"
+                          placeholder="请选择缺席人员">
+                </k-select>
               </el-form-item>
             </el-col>
           </el-row>
 
           <el-row>
-            <el-col :span="24">
+            <el-col :span="10">
               <el-form-item label="上传文件" prop="fileList">
                 <K-file-upload ref="upload" :defaultValue="formFileListDefualtValue" v-model="formData.fileList"/>
               </el-form-item>
             </el-col>
-            <el-col :span="24">
+            <el-col :span="14">
               <el-form-item label="">
                 <el-button type="primary" @click="showSelectFile">从学习资料中选择</el-button>
               </el-form-item>
             </el-col>
+            <el-col :span="24">
+              <el-form-item prop="imageList" label="上传图片">
+                <imgUpload ref="uploadimage" type="more" :value="formData.imageList"
+                           @input="imageListChanged"></imgUpload>
+              </el-form-item>
+            </el-col>
           </el-row>
         </el-form>
       </div>
@@ -95,7 +120,7 @@
 
 <script>
 import {mapState, mapMutations} from "vuex";
-import {getEduTask, recordEduTask} from "@/api/core/edu/eduTask";
+import {addEduTask, getEduTask, recordEduTask} from "@/api/core/edu/eduTask";
 import dayjs from "dayjs";
 import KTextarea from "@/components/common/textarea.vue";
 import KSelect from "@/components/common/userselect.vue";
@@ -103,8 +128,9 @@ import imgUpload from "@/components/ImageUpload/index.vue";
 import OrgTreeSelect from '@/components/orgTreeSelect'
 import DialogSelectFile from "../plan/dialog.select.file.vue"
 import KFileUpload from "@/components/K-FileUpload/index.vue";
+
 export default {
-  components: {KTextarea, KFileUpload,KSelect, imgUpload, OrgTreeSelect,DialogSelectFile},
+  components: {KTextarea, KFileUpload, KSelect, imgUpload, OrgTreeSelect, DialogSelectFile},
   data() {
     const params = this.$route.params;
     return {
@@ -112,13 +138,14 @@ export default {
       isShow: false,
       formData: this.reset(),
       formDataRules: {
-        type: [{required: true, message: "请选择类型"}],
-        content: [{required: true, message: "请输入内容"}],
+        title: [{required: true, message: "请输入培训主题"}],
+        content: [{required: true, message: "请输入培训内容"}],
         absenceList: [{required: true, type: "array", message: "请选择参与人员"}],
-        trainingStartDateTime: [{required: true, message: "请输入培训时间"}],
-        trainingEndDateTime: [{required: true, message: "请输入培训时间"}],
+        startDate: [{required: true, message: "请输入培训时间"}],
+        endDate: [{required: true, message: "请输入培训时间"}],
         note: [{required: true, message: "请输入总结"}],
         imageList: [{required: true, message: "请上传图片"}],
+        fileList: [{required: true, message: "请上传文件"}],
       },
       startDatepickerOptions: {
         disabledDate(time) {
@@ -229,16 +256,15 @@ export default {
     },
     fileSelected(list) {
       if (!list) return;
-      let tempArry=[];
+      let tempArry = [];
       list.forEach(x => {
-        tempArry=tempArry.concat(x.fileList);
+        tempArry = tempArry.concat(x.fileList);
       })
-      console.log("tempArry",tempArry,this.form.fileList);
-      if(this.form.fileList){
-        this.formFileListDefualtValue =this.form.fileList.concat(tempArry);
-      }
-      else{
-        this.formFileListDefualtValue =tempArry;
+      console.log("tempArry", tempArry, this.formData.fileList);
+      if (this.formData.fileList) {
+        this.formFileListDefualtValue = this.formData.fileList.concat(tempArry);
+      } else {
+        this.formFileListDefualtValue = tempArry;
       }
 
     },
@@ -310,7 +336,7 @@ export default {
       // if(request.imageList)
       //   request.imageList=request.imageList.split(',').map(x=>{return x;});
       // request.taskUserList = [];
-      recordEduTask(request).then((v) => {
+      addEduTask(request).then((v) => {
         this.$emit("success", this.formData);
         this.onHide();
         this.$modal.msgSuccess("培训登记暂存成功");
@@ -318,7 +344,7 @@ export default {
     },
     async onSubmit() {
       //console.log("onSubmit this.formData", this.formData)
-      await this.$refs.perform.validate();
+      await this.$refs.newTask.validate();
       //判断trainingStartDateTime大于trainingEndDateTime就返回
       if (dayjs(this.formData.trainingStartDateTime).isAfter(dayjs(this.formData.trainingEndDateTime))) {
         this.$message.error("培训开始时间不能大于培训结束时间!");
@@ -346,7 +372,7 @@ export default {
         }
 
         // request.taskUserList = [];
-        recordEduTask(request).then((v) => {
+        addEduTask(request).then((v) => {
           this.$emit("success", this.formData);
           this.onHide();
           this.$modal.msgSuccess("培训登记提交成功");

+ 2 - 1
src/views/core/edu/task/index.vue

@@ -52,7 +52,7 @@
     </el-form>
       <el-row :gutter="10" class="mb8">
         <el-col :span="1.5">
-          <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAddTask"
+          <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddTask"
                      >新增
           </el-button>
         </el-col>
@@ -128,6 +128,7 @@
             @click="handleDetail(scope.row.id)"
             v-hasPermi="['core:eduTask:list']"
           >详情</el-button>
+
           <el-button
             size="mini"
             type="text"