Bläddra i källkod

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

jingyuanchao 2 år sedan
förälder
incheckning
923a8aa8bf

+ 9 - 9
src/views/core/edu/plan/index.vue

@@ -4,7 +4,7 @@
       <!--机构数据-->
       <el-col :span="4" :xs="24">
         <org-tree v-model="queryParams.belongOrgId" @defaultKey="getDefaultKey" @checkChange="checkChange"
-                  @click="clickTreeNode" businessTree></org-tree>
+                  @click="clickTreeNode" hangsheTree></org-tree>
       </el-col>
       <!--搜索栏-->
       <el-col :span="20" :xs="24">
@@ -27,12 +27,12 @@
                          :value="dict.value"/>
             </el-select>
           </el-form-item>
-          <el-form-item label="培训角色" prop="planRoleId">
+<!--          <el-form-item label="培训角色" prop="planRoleId">
             <el-select v-model="queryParams.planRoleId" placeholder="请选择培训角色" clearable>
               <el-option v-for="item in planRoleList" :key="item.roleId" :label="item.roleName"
                          :value="item.roleId"></el-option>
             </el-select>
-          </el-form-item>
+          </el-form-item>-->
           <el-form-item label="计划周期" prop="planCycle">
             <el-select v-model="queryParams.planCycle" placeholder="请选择计划周期" clearable>
               <el-option v-for="dict in dict.type.edu_plan_cycle" :key="dict.value" :label="dict.label"
@@ -90,7 +90,7 @@
               <dict-tag :options="dict.type.sys_org_type" :value="scope.row.execOrgType"/>
             </template>
           </el-table-column>
-          <el-table-column prop="planRoleNameList" width="180" label="培训角色">
+<!--          <el-table-column prop="planRoleNameList" width="180" label="培训角色">
             <template slot-scope="scope">
               <template v-if="scope.row.planRoleNameList">
                 <el-tag size="mini" type="success"
@@ -103,7 +103,7 @@
                 <el-tag size="mini">{{ scope.row.checkOrgTypeText }}</el-tag>
               </template>
             </template>
-          </el-table-column>
+          </el-table-column>-->
           <el-table-column label="计划周期" align="center" prop="planCycle">
             <template slot-scope="scope">
               <dict-tag :options="dict.type.edu_plan_cycle" :value="scope.row.planCycle"/>
@@ -211,11 +211,11 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="培训角色" prop="planRoleId">
+<!--            <el-form-item label="培训角色" prop="planRoleId">
               <el-select style="width: 100%"  v-model="form.planRoleId" placeholder="请选择" multiple>
                 <el-option v-for="item in roleList" :key="item.id" :label="item.name" :value="item.id"></el-option>
               </el-select>
-            </el-form-item>
+            </el-form-item>-->
           </el-col>
         </el-row>
         <el-row>
@@ -390,7 +390,7 @@ export default {
   },
   created() {
     this.getList();
-    this.initPlanRoleList();
+   // this.initPlanRoleList();
     this.orgId = this.$store.getters.orgId;
   },
   methods: {
@@ -511,7 +511,7 @@ export default {
     },
     // 节点单击事件
     clickTreeNode(data) {
-      this.initPlanRoleList();
+     // this.initPlanRoleList();
       this.queryParams.belongOrgId = data.id;
       this.handleQuery();
     },

+ 3 - 3
src/views/core/edu/task/dialog.info.vue

@@ -26,13 +26,13 @@
                             }}</el-form-item>
                         </el-col> -->
                         <!-- 类型 -->
-                        <el-col :span="12">
+<!--                        <el-col :span="12">
                             <el-form-item label="类型">
                                 <template>
                                     <dict-tag :options="dict.type.edu_type" :value="formData.type" />
                                 </template>
                             </el-form-item>
-                        </el-col>
+                        </el-col>-->
                         <!-- 主持人 -->
                         <el-col :span="12">
                             <el-form-item prop="hostId" label="主持人">{{
@@ -40,7 +40,7 @@
                             }}</el-form-item>
                         </el-col>
                         <!-- 记录人 -->
-                        <el-col :span="24">
+                        <el-col :span="12">
                             <el-form-item prop="recorderId" label="记录人">{{
                                 formData.recorderName
                             }}</el-form-item>

+ 407 - 0
src/views/core/edu/task/dialog.newTask.vue

@@ -0,0 +1,407 @@
+<template>
+  <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" ref="perform" label-position="right"
+                 label-width="120px" label-prefix=":">
+
+          <!-- 培训主题 -->
+          <el-col :span="12">
+            <el-form-item prop="title" label="培训主题">
+              <el-input
+                v-model="formData.title"
+                :maxlength="32"
+                placeholder="请输入培训主题"
+                clearable
+              />
+            </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-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-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-option v-for="dict in getUserOrgType" :key="dict.value" :label="dict.label"
+                           :value="parseInt(dict.value)"></el-option>
+
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="24">
+            <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-row>
+            <el-col :span="12">
+              <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="12">
+              <el-form-item label="">
+                <el-button type="primary" @click="showSelectFile">从学习资料中选择</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="onHide">取消</el-button>
+        <el-button type="primary" @click="onSave">暂存</el-button>
+        <el-button type="primary" @click="onSubmit">提交</el-button>
+      </div>
+    </DialogCom>
+    <DialogSelectFile
+      ref="DialogSelectFile"
+      :defaultSelect=defaultSelect
+      @select="fileSelected"
+      :orgId="orgId"
+    ></DialogSelectFile>
+  </div>
+</template>
+
+<script>
+import {mapState, mapMutations} from "vuex";
+import {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";
+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},
+  data() {
+    const params = this.$route.params;
+    return {
+      id: params ? params.id : null,
+      isShow: false,
+      formData: this.reset(),
+      formDataRules: {
+        type: [{required: true, message: "请选择类型"}],
+        content: [{required: true, message: "请输入内容"}],
+        absenceList: [{required: true, type: "array", message: "请选择参与人员"}],
+        trainingStartDateTime: [{required: true, message: "请输入培训时间"}],
+        trainingEndDateTime: [{required: true, message: "请输入培训时间"}],
+        note: [{required: true, message: "请输入总结"}],
+        imageList: [{required: true, message: "请上传图片"}],
+      },
+      startDatepickerOptions: {
+        disabledDate(time) {
+          return false;
+        },
+      },
+      endDatepickerOptions: {
+        disabledDate: this.endDisabledDate,
+      },
+      orgId: null,
+      defaultSelect: [],
+      formFileListDefualtValue: [],
+    };
+  },
+  dicts: ['edu_type', 'edu_task_status', 'sys_org_type'],
+  props: {},
+  watch: {},
+  computed: {
+    ...mapState(["loginUser", "org",]),
+    getUserOrgType() {
+      console.log("computed allSysOrgTypes", this.dict.type.sys_org_type, this.$store.getters.orgType);
+      let tempArry = [];
+      this.dict.type.sys_org_type.forEach(x => {
+        if (Number(x.value) >= this.$store.getters.orgType) {
+          tempArry.push(x);
+        }
+      });
+      // console.log("computed getUserOrgType",tempArry);
+      return tempArry;
+    }
+  },
+  methods: {
+    ...mapMutations([]),
+    reset(other = {}) {
+      return {
+        // hostId: null,
+        // recorderId: null,
+        trainingStartDateTime: null,
+        trainingEndDateTime: null,
+        // dueCount: null,
+        // actualCount: null,
+        content: null,
+        title: null,
+        eduJobId: null,
+        imageList: "",
+        absenceList: [],
+        absentList: [],
+        orgList: [],
+        fileList: [],
+        ...other,
+      };
+    },
+    /*async refresh(id, other) {
+      // this.formData = id
+      //   ? await this.$api.eduTraining.one(id)
+      //   : this.reset(other);
+
+      if (!id) {
+        this.reset(other);
+        return;
+      }
+      let _this = this;
+      getEduTask(id).then(response => {
+        this.loading = false;
+        // _this.formData = response.data;
+        if (response.data.taskUserList) {
+          let list1 = response.data.taskUserList.filter((element) =>
+            element.type === 1
+          );
+          console.log("list1", list1)
+          response.data.absenceList = list1 ? list1.map((a) => {
+              return a.userId;
+            })
+            : [];
+
+          let list2 = response.data.taskUserList.filter((element) =>
+            element.type === 2
+          );
+          console.log("list2", list2)
+          response.data.absentList = list2 ? list2.map((a) => {
+              return a.userId;
+            })
+            : [];
+        } else {
+          response.data.absenceList = [];
+          response.data.absentList = [];
+        }
+
+        if (response.data.imageList == null) {
+          response.data.imageList = "";
+        }
+        if (response.data.fileList == null) {
+          response.data.fileList = [];
+        }
+        this.formData = response.data;
+      })
+      console.log("getEduTask", this.formData);
+    },*/
+    async show(id, other = {}) {
+      this.isShow = true;
+    },
+    imageListChanged(list) {
+      this.formData.imageList = list;
+      console.log("imageListChanged", this.formData.imageList);
+    },
+    showSelectFile() {
+      this.$refs["DialogSelectFile"].show();
+    },
+    fileSelected(list) {
+      if (!list) return;
+      let tempArry=[];
+      list.forEach(x => {
+        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;
+      }
+
+    },
+    absentUserSelectChanged(list) {
+      console.log(list);
+      // 将类型为2的数据删除
+      if (this.formData.taskUserList) {
+        this.formData.taskUserList = this.formData.taskUserList.filter(x => x.type == 1);
+      } else {
+        this.formData.taskUserList = [];
+      }
+      let tempList = list.map(x => {
+        return {
+          userId: x.id,
+          userName: x.name,
+          type: 2
+        }
+      })
+      if (!tempList) return;
+      this.formData.taskUserList = this.formData.taskUserList.concat(tempList);
+      console.log("absentUserSelectChanged", list, this.formData.taskUserList);
+    },
+    absenceUserSelectChanged(list) {
+      // 将类型为1的数据删除
+      if (this.formData.taskUserList) {
+        this.formData.taskUserList = this.formData.taskUserList.filter(x => x.type == 2);
+      } else {
+        this.formData.taskUserList = [];
+      }
+      let tempList = list.map(x => {
+        return {
+          userId: x.id,
+          userName: x.name,
+          type: 1
+        }
+      });
+      if (!tempList) return;
+      this.formData.taskUserList = this.formData.taskUserList.concat(tempList);
+      // console.log("absenceUserSelectChanged", list, this.formData.taskUserList,this.formData.absenceList);
+      // this.formData.absenceList=list.map(item=>item.id);
+
+      // console.log("absenceUserSelectChanged", list, this.formData.taskUserList,this.formData.absenceList);
+    },
+    // 事件
+    onHide() {
+      this.isShow = false;
+      this.formData = this.reset();
+      this.$refs["uploadimage"].clearFiles();
+    },
+    async onSave() {
+      if (!this.validatePerson()) {
+        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};
+      delete request.absenceList;
+      delete request.absentList;
+
+      if (request.trainingStartDateTime)
+        request.trainingStartDateTime = dayjs(request.trainingStartDateTime).format('YYYY-MM-DD HH:mm:ss')
+
+      if (request.trainingEndDateTime)
+        request.trainingEndDateTime = dayjs(request.trainingEndDateTime).format('YYYY-MM-DD HH:mm:ss')
+      // if(request.imageList)
+      //   request.imageList=request.imageList.split(',').map(x=>{return x;});
+      // request.taskUserList = [];
+      recordEduTask(request).then((v) => {
+        this.$emit("success", this.formData);
+        this.onHide();
+        this.$modal.msgSuccess("培训登记暂存成功");
+      });
+    },
+    async onSubmit() {
+      //console.log("onSubmit this.formData", this.formData)
+      await this.$refs.perform.validate();
+      //判断trainingStartDateTime大于trainingEndDateTime就返回
+      if (dayjs(this.formData.trainingStartDateTime).isAfter(dayjs(this.formData.trainingEndDateTime))) {
+        this.$message.error("培训开始时间不能大于培训结束时间!");
+        return;
+      }
+      // this.formData.taskUserList=[];
+      console.log("onSubmit this.formData", this.formData)
+      console.log(this.formData.taskUserList);
+      this.formData.taskUserList = this.formData.taskUserList ? this.formData.taskUserList : []
+      if (this.formData.taskUserList.length == 0 || this.formData.taskUserList.filter(item => item.type == 1).length == 0) {
+        this.$message.error("参与人员不能为空,请重新选择!");
+      } else if (!this.validatePerson()) {
+        this.$message.error("参与人员与缺席人员重复,请重新选择!");
+      } else {
+        let request = {submitType: 2, ...this.formData};
+        delete request.absenceList;
+        delete request.absentList;
+
+        if (request.trainingStartDateTime) {
+          request.trainingStartDateTime = dayjs(request.trainingStartDateTime).format('YYYY-MM-DD HH:mm:ss')
+        }
+
+        if (request.trainingEndDateTime) {
+          request.trainingEndDateTime = dayjs(request.trainingEndDateTime).format('YYYY-MM-DD HH:mm:ss')
+        }
+
+        // request.taskUserList = [];
+        recordEduTask(request).then((v) => {
+          this.$emit("success", this.formData);
+          this.onHide();
+          this.$modal.msgSuccess("培训登记提交成功");
+        });
+        // this.$emit("success");
+        // this.onHide();
+      }
+    },
+    validatePerson() {
+      for (let i = 0; i < this.formData.absenceList.length; i++) {
+        let absence = this.formData.absenceList[i];
+        if (this.formData.absentList.indexOf(absence) >= 0) {
+          return false;
+        }
+      }
+      return true;
+    },
+    uploadTriggerEvent(value) {
+    },
+
+    endDisabledDate(time) {
+      //小于开始日期禁止选择
+      let startDate = new Date();
+      startDate.setTime(startDate.getTime() - 3600 * 1000 * 24);
+      if (this.formData.trainingStartDateTime) {
+        startDate = new Date(dayjs(this.formData.trainingStartDateTime).format('YYYY-MM-DD'));
+        startDate.setTime(startDate.getTime() - 3600 * 1000 * 24);
+      }
+      return time.getTime() < new Date(startDate).getTime()
+
+    },
+    startDateChanged(time) {
+      console.log("startDateChanged", time, this.formData.trainingStartDateTime, this.formData.trainingEndDateTime)
+      if (dayjs(this.formData.trainingStartDateTime).isAfter(dayjs(this.formData.trainingEndDateTime))) {
+        this.formData.trainingEndDateTime = this.formData.trainingStartDateTime;
+        console.log("trainingEndDateTime", this.formData.trainingEndDateTime)
+      }
+    },
+    endDateChanged(time) {
+      console.log("startDateChanged", time, this.formData.trainingStartDateTime, this.formData.trainingEndDateTime)
+      if (dayjs(this.formData.trainingStartDateTime).isAfter(dayjs(this.formData.trainingEndDateTime))) {
+        this.formData.trainingStartDateTime = this.formData.trainingEndDateTime;
+        console.log("trainingEndDateTime", this.formData.trainingEndDateTime)
+      }
+    },
+    execOrgTypeChanged(row) {
+      this.$refs['orgTreeSelect'].clear();
+      this.initRoleList(this.form.execOrgType);
+      // this.form.planExecOrgIdList = [];
+    },
+  },
+  mounted() {
+  },
+};
+</script>
+
+<!-- <style lang="less">
+.edu-training-edit {
+}
+</style> -->

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

@@ -25,19 +25,19 @@
               </el-form-item>
             </el-col>
             <!-- 类型 -->
-            <el-col :span="24">
+<!--            <el-col :span="24">
               <el-form-item prop="type" label="类型">
-                <el-select v-model="formData.type" placeholder="请选择执行机构类型" clearable>
+                <el-select v-model="formData.type" placeholder="请选择培训类型" clearable>
                   <el-option v-for="dict in dict.type.edu_type" :key="dict.value" :label="dict.label"
                     :value="parseInt(dict.value)" />
                 </el-select>
-                <!-- <k-select-constant
+                &lt;!&ndash; <k-select-constant
                         name="EduTrainingType"
                         v-model="formData.type"
                         placeholder="请选择类型"
-                    ></k-select-constant> -->
+                    ></k-select-constant> &ndash;&gt;
               </el-form-item>
-            </el-col>
+            </el-col>-->
             <el-col :span="12">
               <el-form-item  prop="trainingStartDateTime" label="培训开始时间">
                 <el-date-picker required v-model="formData.trainingStartDateTime" :picker-options="startDatepickerOptions"
@@ -248,7 +248,7 @@ export default {
       this.formData.taskUserList = this.formData.taskUserList.concat(tempList);
       // console.log("absenceUserSelectChanged", list, this.formData.taskUserList,this.formData.absenceList);
       // this.formData.absenceList=list.map(item=>item.id);
-      
+
       // console.log("absenceUserSelectChanged", list, this.formData.taskUserList,this.formData.absenceList);
     },
     // 事件
@@ -267,7 +267,7 @@ export default {
         this.$message.error("培训开始时间不能大于培训结束时间!");
         return;
       }
-      let request = { submitType: 1, ...this.formData };      
+      let request = { submitType: 1, ...this.formData };
       delete request.absenceList;
       delete request.absentList;
 
@@ -296,7 +296,7 @@ export default {
       // this.formData.taskUserList=[];
       console.log("onSubmit this.formData", this.formData)
       console.log(this.formData.taskUserList);
-      this.formData.taskUserList=this.formData.taskUserList? this.formData.taskUserList:[]      
+      this.formData.taskUserList=this.formData.taskUserList? this.formData.taskUserList:[]
       if(this.formData.taskUserList.length==0||this.formData.taskUserList.filter(item=>item.type==1).length==0){
         this.$message.error("参与人员不能为空,请重新选择!");
       } else if (!this.validatePerson()) {
@@ -308,12 +308,12 @@ export default {
 
         if (request.trainingStartDateTime){
           request.trainingStartDateTime = dayjs(request.trainingStartDateTime).format('YYYY-MM-DD HH:mm:ss')
-        }       
+        }
 
         if (request.trainingEndDateTime){
           request.trainingEndDateTime = dayjs(request.trainingEndDateTime).format('YYYY-MM-DD HH:mm:ss')
         }
-        
+
         // request.taskUserList = [];
         recordEduTask(request).then((v) => {
           this.$emit("success", this.formData);

+ 48 - 13
src/views/core/edu/task/index.vue

@@ -19,7 +19,7 @@
       <el-form-item label="培训进度" prop="status">
         <el-select v-model="queryParams.status" placeholder="请选择培训进度" clearable>
             <el-option
-              v-for="dict in dict.type.edu_task_status"
+              v-for="dict in dict.type.edu_training_do_status"
               :key="dict.value"
               :label="dict.label"
               :value="dict.value"
@@ -44,13 +44,41 @@
             />
           </el-select>
       </el-form-item>-->
-      
+
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
       </el-form-item>
     </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>
+        </el-col>
+        <!--   <el-col :span="1.5">
+             <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
+                        v-hasPermi="['core:plan:edit']">修改
+             </el-button>
+           </el-col>
+           <el-col :span="1.5">
+             <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
+                        v-hasPermi="['core:plan:remove']">删除
+             </el-button>
+           </el-col>
+                   <el-col :span="1.5">
+                   <el-button
+                     type="warning"
+                     plain
+                     icon="el-icon-download"
+                     size="mini"
+                     @click="handleExport"
+                     v-hasPermi="['core:plan:export']"
+                   >导出
+                   </el-button>
+                 </el-col>-->
+        <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+      </el-row>
 
     <el-table
       border
@@ -64,7 +92,7 @@
       <el-table-column label="截止时间" align="center" prop="endDate" width="180"></el-table-column>
       <el-table-column label="培训进度" align="center" prop="status" >
         <template slot-scope="scope">
-            <dict-tag :options="dict.type.edu_task_status" :value="scope.row.status"/>
+            <dict-tag :options="dict.type.edu_training_do_status" :value="scope.row.status"/>
           </template>
       </el-table-column>
       <el-table-column label="培训登记时间" align="center" prop="trainingStartDateTime" width="180">
@@ -80,7 +108,7 @@
             </template>
           </template>
       </el-table-column> -->
-      
+
 <!--      <el-table-column label="培训类型" width="180" align="center"  >
         <template slot-scope="scope">
             <dict-tag :options="dict.type.edu_type" :value="scope.row.type"/>
@@ -88,9 +116,9 @@
       </el-table-column>
 
       <el-table-column label="主持人" width="140" align="center" prop="hostName" />-->
-    
 
-      
+
+
       <el-table-column label="操作" fixed="right" width="120px" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
@@ -127,22 +155,25 @@
 
     <dialog-info ref="infoDialog" @success="handleQuery(true)"></dialog-info>
     <dialog-perform ref="performDialog" @success="handleQuery(true)"></dialog-perform>
+    <dialog-new-task ref="newTaskDialog" @success="handleQuery(true)"></dialog-new-task>
   </div>
 </template>
 
 <script>
-import { listEduTask, getEduTask, delEduTask, addEduTask, updateEduTask } from "@/api/core/edu/eduTask";
+import { listEduTask, addEduTask, updateEduTask } from "@/api/core/edu/eduTask";
 import OrgTree from "@/components/orgTree";
 import DialogInfo from "./dialog.info";
 import DialogPerform from "./dialog.perform";
+import DialogNewTask from "./dialog.newTask";
 import dayjs from "dayjs";
 export default {
   name: "EduTask",
-  dicts: ['edu_task_status', 'edu_type'],
+  dicts: ['edu_type','edu_training_do_status'],
   components: {
     DialogInfo,
     DialogPerform,
-    OrgTree
+    OrgTree,
+    DialogNewTask
   },
   data() {
     return {
@@ -286,6 +317,10 @@ export default {
     handleRecorded(id) {
       this.$refs["performDialog"].show(id,{});
     },
+    handleAddTask(id) {
+      console.log(123123123)
+      this.$refs["newTaskDialog"].show(id,{});
+    },
     /** 导出按钮操作 */
     handleExport() {
       this.download('system/eduTask/export', {
@@ -293,8 +328,8 @@ export default {
       }, `eduTask_${new Date().getTime()}.xlsx`)
     },
     canPerform(row) {
-      // debugger
-      let flag = 0;
+      return  row.orgId == this.$store.getters.orgId
+      /*let flag = 0;
       if(row.status>0) return false;
       if(!row.taskRoleList)   return false;
       let isOver =this.isNotOverOrUnStart(row);
@@ -305,7 +340,7 @@ export default {
           }
         });
       });
-      return (flag == 1) && isOver;
+      return (flag == 1) && isOver;*/
     },
     isNotOverOrUnStart(row) {
       const currentTime = dayjs().startOf('day'); // 获取当前时间,并将时分秒部分设置为00时00分00秒

+ 22 - 7
src/views/core/materials/index.vue

@@ -100,7 +100,12 @@
           <el-table-column  label="序号"  type="index" align="center" width="60"/>
           <el-table-column label="创建机构"  align="left" width="200" prop="orgName"/>
           <el-table-column label="资料名称"   align="left" width="160" prop="title"/>
-          <el-table-column label="资料类型"  align="center" width="120" prop="knowledgeName"/>
+
+          <el-table-column label="资料类型" align="center" width="180" prop="knowledgeId">
+            <template slot-scope="scope">
+              <dict-tag :options="dict.type.edu_materials_type" :value="scope.row.knowledgeId"/>
+            </template>
+          </el-table-column>
           <!-- <el-table-column label="资料附件"  width="200" align="left" prop="fileNames"/> -->
           <el-table-column label="资料状态" align="center" prop="isOpen">
             <template slot-scope="r">{{ r.row.isOpen == 0 ? '待发布' : '已发布' }}</template>
@@ -180,22 +185,28 @@
         </el-form-item>
 
         <el-form-item label="资料类型" prop="knowledgeId">
-          <el-select style="width: 100%" v-model="form.knowledgeId" placeholder="请选择资料类型">
+<!--          <el-select style="width: 100%" v-model="form.knowledgeId" placeholder="请选择资料类型">
             <el-option v-for="item in knowledgeList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+          </el-select>-->
+
+          <el-select  style="width: 100%"  v-model="form.knowledgeId" placeholder="请选择资料类型">
+            <el-option v-for="dict in dict.type.edu_materials_type" :key="dict.value" :label="dict.label"
+                       :value="dict.value"></el-option>
           </el-select>
         </el-form-item>
 
-        <el-form-item label="资料内容" prop="content">
+<!--        <el-form-item label="资料内容" prop="content">
           <el-input v-model="form.content" placeholder="请输入资料内容" maxlength="200" show-word-limit/>
-        </el-form-item>
-        <el-form-item label="备注" prop="remark">
-          <el-input v-model="form.remark" type="textarea" placeholder="请输入备注" maxlength="200" show-word-limit/>
-        </el-form-item>
+        </el-form-item>-->
+
         <el-form-item label="资料附件" prop="fileList">
           <K-file-upload  ref="upload" :isShowUploadBtn="title!='学习资料详情'"
           :defaultValue="formFileListDefualtValue"
           v-model="form.fileList"/>
         </el-form-item>
+        <el-form-item label="备注" prop="remark">
+          <el-input v-model="form.remark" type="textarea" placeholder="请输入备注" maxlength="200" show-word-limit/>
+        </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button v-show="title!='学习资料详情'" type="primary" @click="submitForm">确 定</el-button>
@@ -226,6 +237,7 @@ export default {
   name: "Materials",
   components: {OrgTree, kOrgTree, KFileUpload},
   mixins: [tableList],
+  dicts: ["edu_materials_type"],
   data() {
     return {
       // 遮罩层
@@ -282,6 +294,9 @@ export default {
         content: [
           {required: true, message: "资料内容不能为空", trigger: "blur"}
         ],
+        fileList:[
+          {required: true, message: "资料附件不能为空", trigger: "blur"}
+        ],
       },
       //默认选中节点
       defaultKeys: [],

+ 4 - 4
src/views/tool/gen/index.vue

@@ -178,14 +178,14 @@
 <script>
 import { listTable, previewTable, delTable, genCode, synchDb } from "@/api/tool/gen";
 import importTable from "./importTable";
-import hljs from "highlight.js/lib/highlight";
+//import hljs from "highlight.js/lib/highlight";
 import "highlight.js/styles/github-gist.css";
-hljs.registerLanguage("java", require("highlight.js/lib/languages/java"));
+/*hljs.registerLanguage("java", require("highlight.js/lib/languages/java"));
 hljs.registerLanguage("xml", require("highlight.js/lib/languages/xml"));
 hljs.registerLanguage("html", require("highlight.js/lib/languages/xml"));
 hljs.registerLanguage("vue", require("highlight.js/lib/languages/xml"));
 hljs.registerLanguage("javascript", require("highlight.js/lib/languages/javascript"));
-hljs.registerLanguage("sql", require("highlight.js/lib/languages/sql"));
+hljs.registerLanguage("sql", require("highlight.js/lib/languages/sql"));*/
 
 export default {
   name: "Gen",
@@ -262,7 +262,7 @@ export default {
         this.$modal.msgError("请选择要生成的数据");
         return;
       }
-      
+
       if(row.genType === "1") {
         genCode(row.tableName).then(response => {
           this.$modal.msgSuccess("成功生成到自定义路径:" + row.genPath);