Prechádzať zdrojové kódy

Merge branch 'V0.0.2' of http://10.87.10.227:4000/jzyd_yyds/soc_web into V0.0.2

jiawuxian 2 rokov pred
rodič
commit
11a3701e7e

+ 6 - 7
src/components/common/userselect.vue

@@ -63,11 +63,10 @@ export default {
     // 当数据源变换后, 如果已选的数据不在数据源中, 则重置
     items(items) {
       if (!this.contain(items, this.pv)) {
-        console.log("items refresh",this.pv,items)
         if(!this.pv || this.pv.length==0) return;
         this.pv = this.multiple ? [] : null;
         this.onChange(this.pv);
-      }      
+      }
     },
   },
   props: {
@@ -111,9 +110,9 @@ export default {
   methods: {
     //
     contain(items, value) {
-      if (this.multiple) {        
+      if (this.multiple) {
         const tv = [];
-        items.forEach((item) => {         
+        items.forEach((item) => {
           if (value && ~value.indexOf(item[this.valueName])) {
             tv.push(item[this.valueName]);
           }
@@ -146,7 +145,7 @@ export default {
       }
 
       // if (this.engineeringDefault) {
-      //   this.items.forEach((value) => {          
+      //   this.items.forEach((value) => {
       //     if ((value.code == "GCFWS" || value.code == "GCSYG") && !this.pv.includes(value.id)) {
       //       this.pv.push(value.id);
       //     }
@@ -161,7 +160,7 @@ export default {
       //   this.url,
       //   this.params || {}
       // );
-     
+
     },
 
     //
@@ -181,7 +180,7 @@ export default {
     if(this.isMountedRefresh)
     {
       this.refresh();
-    }    
+    }
   },
 };
 </script>

+ 4 - 2
src/views/check/dialog.edit.vue

@@ -185,12 +185,12 @@
             <el-col :span="6">
               <el-form-item prop="count" label="检查次数:">
                 <el-input-number
-                  :disabled="isChildren()"
+                  
                   style="margin-left: 10px"
                   v-model="formData.count"
                   controls-position="right"
                   @change="handleChange"
-                  :min="1"
+                  :min="parentCount"
                   :max="10"
                 ></el-input-number>
               </el-form-item>
@@ -340,6 +340,7 @@ export default {
   ],
   data() {
     return {
+      parentCount:1,
       defaultSelect: [],
       selectedValues: [],
       planRoles: [],
@@ -481,6 +482,7 @@ export default {
     async refresh(id, other) {
       if (id != null && id != undefined) {
         await api.get(id).then((res) => {
+          this.parentCount=res.data.parentCount;
           this.formData = res.data;
           this.formData.buildTaskNow;
           this.tableData = res.data.rulePointList;

+ 1 - 1
src/views/check/index.vue

@@ -443,7 +443,7 @@ export default {
       return false;
     },
     newcheckCanPublish(row){
-      if (row.planStatus==2&& row.parentId != -1&& row.planOfOrgType ==1) {
+      if ((row.planOfOrgType==3&&row.planStatus!=1)||(row.planStatus==2&& row.parentId != -1&& row.planOfOrgType ==1)) {
         return true;
       }
       return false;

+ 7 - 5
src/views/core/accessPlan/index.vue

@@ -99,7 +99,7 @@
               <el-button size="mini" type="text" icon="el-icon-edit-outline" @click="handleUpdate(scope.row)" v-if="(scope.row.parentOrgId==isEdit||scope.row.orgId==isEdit)&&check==true"
                          v-hasPermi="['core:accessPlan:edit','core:accessPlan:query']">编辑
               </el-button>
-              <el-button size="mini" type="text" v-if="scope.row.orgId==isEdit&&scope.row.isDistribute == 0 && (scope.row.planStatus==0||scope.row.planStatus==2)" icon="el-icon-arrow-down"
+              <el-button size="mini" type="text" v-if="scope.row.parentId==null&& scope.row.orgId==isEdit&&scope.row.isDistribute == 0 && (scope.row.planStatus==0||scope.row.planStatus==2)" icon="el-icon-arrow-down"
                          @click="handDistribute(scope.row)" v-hasPermi="['core:accessPlan:add']">下发
               </el-button>
               <el-button size="mini" type="text" v-if="scope.row.orgId==isEdit&&scope.row.isDistribute == 1 && scope.row.planStatus==1&&scope.row.parentId==null" icon="el-icon-arrow-down"
@@ -171,10 +171,12 @@
         </el-form-item> -->
             <el-form-item label="立即生效" prop="immediately" v-if="form.planCycle!=0">
               <el-checkbox v-model="form.immediately">
-              
-                <el-popover placement="top-start" title="" width="200" trigger="hover"
+                默认从下个周期生成任务,
+                <br/>
+                勾选后从当前周期立即生成任务
+                <!-- <el-popover placement="top-start" title="" width="200" trigger="hover"
                             content="" :disabled="form.isEdit">
-                </el-popover>
+                </el-popover> -->
               </el-checkbox>
             </el-form-item> 
 
@@ -429,7 +431,7 @@
         const id = row.id || this.ids
         getPlan(id).then(response => {
           this.form = response.data;
-          this.initNum = response.data.planFrequency; 
+          this.initNum = response.data.parentFrequency; 
           this.open = true;
           this.title = "修改监控调阅计划";
           findRoleByType(this.form.orgType).then(response => {

+ 1 - 1
src/views/core/drill/drillDictionary/index.vue

@@ -4,7 +4,7 @@
       <!--机构数据-->
       <el-col :span="4" :xs="24">
         <org-tree v-model="queryParams.orgId" @defaultKey="getDefaultKey" @checkChange="checkChange"
-                  @click="clickTreeNode" hangsheTree></org-tree>
+                  @click="clickTreeNode" wholeTree></org-tree>
       </el-col>
       <el-col :span="20" :xs="24">
         <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">

+ 10 - 6
src/views/core/drill/task/dialog.info.vue

@@ -33,9 +33,13 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item prop="trainingStartDateTime" label="演练时间">{{
-                  formData.drillTime
-                }}
+              <el-form-item prop="drillStartTime" label="演练开始时间">
+                {{ formData.drillStartTime }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item prop="drillEndTime" label="演练结束时间">
+                {{ formData.drillEndTime }}
               </el-form-item>
             </el-col>
             <el-col :span="12">
@@ -109,7 +113,7 @@
       <div slot="footer" class="dialog-footer">
         <el-button @click="onHide">关闭</el-button>
       </div>
-   </DialogCom>
+    </DialogCom>
   </div>
 </template>
 
@@ -128,7 +132,7 @@ export default {
       id: params ? params.id : null,
       isShow: false,
       formData: this.reset(),
-      drillTypeOptions:[],
+      drillTypeOptions: [],
       iconClasses: ['icon-rate-face-1', 'icon-rate-face-2', 'icon-rate-face-3'] // 等同于 { 2: 'icon-rate-face-1', 4: { value: 'icon-rate-face-2', excluded: true }, 5: 'icon-rate-face-3' }
     };
   },
@@ -200,7 +204,7 @@ export default {
       };
       xhr.send();
     },
-    initDrillTypeOptions(){
+    initDrillTypeOptions() {
       initList().then(response => {
         this.drillTypeOptions = response;
       })

+ 353 - 0
src/views/core/drill/task/dialog.newtask.vue

@@ -0,0 +1,353 @@
+<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="form" label-position="right"
+                 label-width="120px" label-prefix=":">
+          <el-row>
+            <!-- 培训主题 -->
+            <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="content" label="演练地点">
+                <el-input v-model="formData.drillSite" placeholder="请输入演练地点" :length="50"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item prop="drillStartTime" label="培训开始时间">
+                <el-date-picker style="width: 100%" required v-model="formData.drillStartTime"
+                                :picker-options="startDatepickerOptions"
+                                type="datetime" placeholder="选择日期" @change="startDateChanged" width="180">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item prop="drillEndTime" label="培训结束时间">
+                <el-date-picker style="width: 100%" required v-model="formData.drillEndTime"
+                                :picker-options="endDatepickerOptions" @change="endDateChanged"
+                                type="datetime" placeholder="选择日期">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+
+
+            <el-col :span="24">
+              <el-form-item label="演练类型" prop="type">
+                <el-select style="width: 100%" v-model="formData.type" placeholder="请选择演练类型">
+                  <el-option v-for="dict in dict.type.core_drill_type" :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 prop="presetCase" label="预设案由">
+                <k-textarea v-model="formData.presetCase" placeholder="请输入预设案由" :length="2000"/>
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="24">
+              <el-form-item prop="drillSituation" label="演练情况">
+                <k-textarea v-model="formData.drillSituation" placeholder="请输入演练情况" :length="2000"/>
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="12">
+              <el-form-item prop="absenceList" label="参与人员">
+                <k-select :multiple="true" 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="12">
+              <el-form-item prop="absentList" label="缺席人员">
+                <k-select :multiple="true" v-model="formData.absentList" url="/user/find/all"
+                          :params="{ orgId: formData.orgId }" @select="absentUserSelectChanged"
+                          placeholder="请选择缺席人员">
+                </k-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <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-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>
+
+      <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>
+  </div>
+</template>
+
+<script>
+import {mapState, mapMutations} from "vuex";
+import {getDrillTask, recordDrillTask} from "@/api/core/drill/drillTask";
+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 KFileUpload from "@/components/K-FileUpload/index.vue";
+
+export default {
+  components: {KTextarea, KSelect, imgUpload,KFileUpload},
+  data() {
+    const params = this.$route.params;
+    return {
+      id: params ? params.id : null,
+      isShow: false,
+      formData: this.reset(),
+      formDataRules: {
+        drillStartTime: [{required: true, message: "请选择演练开始时间"}],
+        drillEndTime: [{required: true, message: "请选择演练结束时间"}],
+        drillSite: [{required: true, message: "请输入演练地点"}],
+        type: [{required: true, message: "请选择演练类型"}],
+        presetCase: [{required: true, message: "请输入预设案由"}],
+        drillSituation: [{required: true, message: "请输入预设案由"}],
+        absenceList: [{required: true, type: "array", message: "请选择参与人员", trigger: ['blur', 'change']}],
+        imageList: [{required: true, message: "请上传图片"}],
+        fileList: [{required: true, message: "请上传文件"}],
+      },
+      startDatepickerOptions: {
+        disabledDate(time) {
+          return false;
+        },
+      },
+      endDatepickerOptions: {
+        disabledDate: this.endDisabledDate,
+      },
+      drillTypeOptions: [],
+      formFileListDefualtValue: [],
+    };
+  },
+  dicts: ["core_drill_type"],
+  props: {},
+  watch: {},
+  computed: {
+    ...mapState(["loginUser", "org"]),
+  },
+  methods: {
+    ...mapMutations([]),
+    reset(other = {}) {
+      return {
+        drillStartTime: null,
+        drillEndTime: null,
+        content: null,
+        title: null,
+        eduJobId: null,
+        imageList: "",
+        absenceList: [],
+        absentList: [],
+        orgList: [],
+        fileList: [],
+        ...other,
+      };
+    },
+    async refresh(id, other) {
+      if (!id) {
+        this.reset(other);
+        return;
+      }
+      getDrillTask(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("getDrillTask", this.formData);
+    },
+    async show(id, other = {}) {
+      this.isShow = true;
+    },
+    imageListChanged(list) {
+      this.formData.imageList = list;
+      console.log("imageListChanged", this.formData.imageList);
+    },
+    absentUserSelectChanged(list) {
+      // 将类型为2的数据删除
+      if (this.formData.absentList) {
+        this.formData.absentList = this.formData.absentList.filter(
+          (x) => x.type == 1
+        );
+      } else {
+        this.formData.absentList = [];
+      }
+      let tempList = list.map((x) => {
+        return {
+          userId: x.id,
+          userName: x.name,
+          type: 2,
+        };
+      });
+      if (!tempList) return;
+      this.formData.absentList = this.formData.absentList.concat(tempList);
+      console.log("absentUserSelectChanged", list, this.formData.absentList);
+    },
+    absenceUserSelectChanged(list) {
+      // 将类型为1的数据删除
+      if (this.formData.absenceList) {
+        this.formData.absenceList = this.formData.absenceList.filter(
+          (x) => x.type == 2
+        );
+      } else {
+        this.formData.absenceList = [];
+      }
+      let tempList = list.map((x) => {
+        return {
+          userId: x.id,
+          userName: x.name,
+          type: 1,
+        };
+      });
+      if (!tempList) return;
+      this.formData.absenceList = this.formData.absenceList.concat(tempList);
+      console.log("absenceUserSelectChanged", list, this.formData.absenceList);
+    },
+    // 事件
+    onHide() {
+      this.isShow = false;
+      this.formData = this.reset();
+      this.$refs["uploadimage"].clearFiles();
+      this.$refs["upload"].clearFiles();
+    },
+    async onSave() {
+      if (!this.validatePerson()) {
+        this.$message.error("参与人员与缺席人员重复,请重新选择!");
+        return;
+      }
+      let request = {submitType: 1, ...this.formData};
+      if (request.drillStartTime)
+        request.drillStartTime = dayjs(request.drillStartTime).format("YYYY-MM-DD HH:mm:ss");
+      if (request.drillEndTime)
+        request.drillEndTime = dayjs(request.drillEndTime).format("YYYY-MM-DD HH:mm:ss");
+      recordDrillTask(request).then((v) => {
+        this.$emit("success", this.formData);
+        this.onHide();
+        this.$modal.msgSuccess("培训登记暂存成功");
+      });
+    },
+    async onSubmit() {
+      await this.$refs.form.validate();
+      console.log("onSubmit this.formData", this.formData);
+      if (!this.validatePerson()) {
+        this.$message.error("参与人员与缺席人员重复,请重新选择!");
+      } else {
+        let request = {submitType: 2, ...this.formData};
+        if (request.drillStartTime)
+          request.drillStartTime = dayjs(request.drillStartTime).format("YYYY-MM-DD HH:mm:ss");
+        if (request.drillEndTime)
+          request.drillEndTime = dayjs(request.drillEndTime).format("YYYY-MM-DD HH:mm:ss");
+
+        recordDrillTask(request).then((v) => {
+          this.$emit("success", this.formData);
+          this.onHide();
+          this.$modal.msgSuccess("演练登记提交成功");
+        });
+      }
+    },
+    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.drillStartTime) {
+        startDate = new Date(
+          dayjs(this.formData.drillStartTime).format("YYYY-MM-DD")
+        );
+        startDate.setTime(startDate.getTime() - 3600 * 1000 * 24);
+      }
+      return time.getTime() < new Date(startDate).getTime();
+    },
+    endDateChanged(time) {
+      console.log("startDateChanged", time, this.formData.drillStartTime, this.formData.drillEndTime)
+      if (dayjs(this.formData.drillStartTime).isAfter(dayjs(this.formData.drillEndTime))) {
+        this.formData.drillStartTime = this.formData.drillEndTime;
+        console.log("trainingEndDateTime", this.formData.drillEndTime)
+      }
+    },
+    startDateChanged(time) {
+      console.log(
+        "startDateChanged",
+        time,
+        this.formData.drillStartTime,
+        this.formData.drillEndTime
+      );
+      if (
+        dayjs(this.formData.drillStartTime).isAfter(
+          dayjs(this.formData.drillEndTime)
+        )
+      ) {
+        this.formData.drillEndTime = this.formData.drillStartTime;
+        console.log("trainingEndDateTime", this.formData.drillEndTime);
+      }
+    },
+  },
+
+  mounted() {
+  },
+};
+</script>
+
+<!-- <style lang="less">
+.edu-training-edit {
+}
+</style> -->

+ 39 - 18
src/views/core/drill/task/dialog.perform.vue

@@ -17,13 +17,21 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item prop="dateTime" label="演练时间">
-                <el-date-picker v-model="formData.drillTime" :picker-options="startDatepickerOptions" type="datetime"
-                                placeholder="选择日期">
+              <el-form-item  prop="drillStartTime" label="培训开始时间">
+                <el-date-picker required v-model="formData.drillStartTime" :picker-options="startDatepickerOptions"
+                                type="datetime" placeholder="选择日期"  @change="startDateChanged">
                 </el-date-picker>
               </el-form-item>
             </el-col>
             <el-col :span="12">
+              <el-form-item prop="drillEndTime" label="培训结束时间">
+                <el-date-picker required v-model="formData.drillEndTime" :picker-options="endDatepickerOptions" @change="endDateChanged"
+                                type="datetime" placeholder="选择日期">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="12">
               <el-form-item prop="content" label="演练地点">
                 <el-input v-model="formData.drillSite" placeholder="请输入演练地点" :length="50"/>
               </el-form-item>
@@ -101,7 +109,8 @@ export default {
       isShow: false,
       formData: this.reset(),
       formDataRules: {
-        drillTime: [{required: true, message: "请选择演练时间"}],
+        drillStartTime: [{required: true, message: "请选择演练开始时间"}],
+        drillEndTime: [{required: true, message: "请选择演练结束时间"}],
         drillSite: [{required: true, message: "请输入演练地点"}],
         type: [{required: true, message: "请选择演练类型"}],
         presetCase: [{required: true, message: "请输入预设案由"}],
@@ -129,7 +138,8 @@ export default {
     ...mapMutations([]),
     reset(other = {}) {
       return {
-        drillTime: null,
+        drillStartTime: null,
+        drillEndTime: null,
         content: null,
         title: null,
         eduJobId: null,
@@ -243,9 +253,10 @@ export default {
         return;
       }
       let request = {submitType: 1, ...this.formData};
-      if (request.drillTime)
-        request.drillTime = dayjs(request.drillTime).format("YYYY-MM-DD HH:mm:ss");
-
+      if (request.drillStartTime)
+        request.drillStartTime = dayjs(request.drillStartTime).format("YYYY-MM-DD HH:mm:ss");
+      if (request.drillEndTime)
+        request.drillEndTime = dayjs(request.drillEndTime).format("YYYY-MM-DD HH:mm:ss");
       recordDrillTask(request).then((v) => {
         this.$emit("success", this.formData);
         this.onHide();
@@ -259,8 +270,10 @@ export default {
         this.$message.error("参与人员与缺席人员重复,请重新选择!");
       } else {
         let request = {submitType: 2, ...this.formData};
-        if (request.drillTime)
-          request.drillTime = dayjs(request.drillTime).format("YYYY-MM-DD HH:mm:ss");
+        if (request.drillStartTime)
+          request.drillStartTime = dayjs(request.drillStartTime).format("YYYY-MM-DD HH:mm:ss");
+        if (request.drillEndTime)
+          request.drillEndTime = dayjs(request.drillEndTime).format("YYYY-MM-DD HH:mm:ss");
 
         recordDrillTask(request).then((v) => {
           this.$emit("success", this.formData);
@@ -285,31 +298,39 @@ export default {
       //小于开始日期禁止选择
       let startDate = new Date();
       startDate.setTime(startDate.getTime() - 3600 * 1000 * 24);
-      if (this.formData.trainingStartDateTime) {
+      if (this.formData.drillStartTime) {
         startDate = new Date(
-          dayjs(this.formData.trainingStartDateTime).format("YYYY-MM-DD")
+          dayjs(this.formData.drillStartTime).format("YYYY-MM-DD")
         );
         startDate.setTime(startDate.getTime() - 3600 * 1000 * 24);
       }
       return time.getTime() < new Date(startDate).getTime();
     },
+    endDateChanged(time) {
+      console.log("startDateChanged",time,this.formData.drillStartTime ,this.formData.drillEndTime)
+      if (dayjs(this.formData.drillStartTime).isAfter(dayjs(this.formData.drillEndTime))) {
+        this.formData.drillStartTime = this.formData.drillEndTime;
+        console.log("trainingEndDateTime",this.formData.drillEndTime)
+      }
+    },
     startDateChanged(time) {
       console.log(
         "startDateChanged",
         time,
-        this.formData.trainingStartDateTime,
-        this.formData.trainingEndDateTime
+        this.formData.drillStartTime,
+        this.formData.drillEndTime
       );
       if (
-        dayjs(this.formData.trainingStartDateTime).isAfter(
-          dayjs(this.formData.trainingEndDateTime)
+        dayjs(this.formData.drillStartTime).isAfter(
+          dayjs(this.formData.drillEndTime)
         )
       ) {
-        this.formData.trainingEndDateTime = this.formData.trainingStartDateTime;
-        console.log("trainingEndDateTime", this.formData.trainingEndDateTime);
+        this.formData.drillEndTime = this.formData.drillStartTime;
+        console.log("trainingEndDateTime", this.formData.drillEndTime);
       }
     },
   },
+
   mounted() {
   },
 };

+ 19 - 6
src/views/core/drill/task/index.vue

@@ -45,7 +45,13 @@
           </el-form-item>
 
         </el-form>
-
+        <el-row :gutter="10" class="mb8">
+          <el-col :span="1.5">
+            <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddTask"
+            >新增
+            </el-button>
+          </el-col>
+        </el-row>
 
         <el-table height="550px" v-loading="loading" :data="eduTaskList" @selection-change="handleSelectionChange">
           <el-table-column label="演练机构" align="center" prop="orgName"/>
@@ -127,6 +133,7 @@
     </el-row>
     <dialog-info ref="infoDialog" @success="handleQuery(true)"></dialog-info>
     <dialog-perform ref="performDialog" @success="handleQuery(true)"></dialog-perform>
+    <dialog-new-task ref="newTaskDialog"></dialog-new-task>
   </div>
 </template>
 
@@ -135,6 +142,7 @@ import {listEduTask, addEduTask, updateEduTask} from "@/api/core/drill/drillTask
 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 {
@@ -143,6 +151,7 @@ export default {
   components: {
     DialogInfo,
     DialogPerform,
+    DialogNewTask,
     OrgTree
   },
   data() {
@@ -294,9 +303,9 @@ export default {
       // return true;
       let flag = 0;
       if (row.status > 0) return false;
-      if (!row.taskRoleList) return false;
-      let isOver = this.isNotOverOrUnStart(row);
-      console.log("isNotOverOrUnStart", isOver);
+      //if (!row.taskRoleList) return false;
+      return  this.isNotOverOrUnStart(row);
+     /* console.log("isNotOverOrUnStart", isOver);
       row.taskRoleList.forEach((taskRole) => {
         this.$store.getters.roleList.forEach((role) => {
           if (taskRole.roleId == role.roleId) {
@@ -304,19 +313,23 @@ export default {
           }
         });
       });
-      return (flag == 1) && isOver;
+      return (flag == 1) && isOver;*/
     },
     isNotOverOrUnStart(row) {
       const currentTime = dayjs().startOf('day'); // 获取当前时间,并将时分秒部分设置为00时00分00秒
       const startDate = dayjs(row.startDate).startOf('day'); // 转换开始时间为 Moment.js 对象,并将时分秒部分设置为00时00分00秒
       const endDate = dayjs(row.endDate).startOf('day'); // 转换结束时间为 Moment.js 对象,并将时分秒部分设置为00时00分00秒
-      console.log("isOverOrUnStart", currentTime, startDate, endDate);
+     // console.log("isOverOrUnStart", currentTime, startDate, endDate);
       return !(currentTime < startDate || currentTime > endDate);
     },
     async onDown(pdfUrl) {
       // const data = await this.$api.eduTraining.predown(id);
       window.open(pdfUrl);
     },
+    handleAddTask(id) {
+      console.log(123123123)
+      this.$refs["newTaskDialog"].show(id,{});
+    },
   }
 };
 </script>

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

@@ -313,6 +313,7 @@ export default {
       this.isShow = false;
       this.formData = this.reset();
       this.$refs["uploadimage"].clearFiles();
+      this.$refs["upload"].clearFiles();
     },
     async onSave() {
       if (!this.validatePerson()) {
@@ -336,7 +337,7 @@ export default {
       // if(request.imageList)
       //   request.imageList=request.imageList.split(',').map(x=>{return x;});
       // request.taskUserList = [];
-      addEduTask(request).then((v) => {
+      recordEduTask(request).then((v) => {
         this.$emit("success", this.formData);
         this.onHide();
         this.$modal.msgSuccess("培训登记暂存成功");
@@ -372,7 +373,7 @@ export default {
         }
 
         // request.taskUserList = [];
-        addEduTask(request).then((v) => {
+        recordEduTask(request).then((v) => {
           this.$emit("success", this.formData);
           this.onHide();
           this.$modal.msgSuccess("培训登记提交成功");

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

@@ -93,7 +93,7 @@
       <el-table-column label="截止时间" align="center" prop="endDate" width="180"></el-table-column> -->
       <el-table-column label="任务时间" align="center" width="300">
         <template slot-scope="scope">
-            {{ dayjs(scope.row.startDate).format("YYYY-MM-DD") +" ~ "+dayjs(scope.row.endDate).format("YYYY-MM-DD")}}
+            {{scope.row.startDate? dayjs(scope.row.startDate).format("YYYY-MM-DD") +" ~ "+dayjs(scope.row.endDate).format("YYYY-MM-DD"):''}}
           </template>
       </el-table-column>
       <el-table-column label="培训进度" align="center" prop="status" width="150" >

+ 2 - 0
src/views/resumption/plan/index.vue

@@ -453,6 +453,8 @@ export default {
       return false;
     },
     newcheckCanPublish(row){
+      // console.log(row.planOfOrgType,"row.planOfOrgType")
+      // console.log(row.planStatus,"row.planStatus")
       if ((row.planOfOrgType==3&&row.planStatus!=1)||(row.planStatus==2&& row.parentId != -1&& row.planOfOrgType ==1)) {
         return true;
       }

+ 3 - 1
src/views/safetycheck/taskManager/components/register.vue

@@ -139,7 +139,7 @@
                         style="width: 100px; height: 100px;margin:10px;"
                         v-if="point.imgData"
                         v-for="url in point.imgData"
-                        :src="url"
+                        :src="url.imgPath"
                         :preview-src-list="point.imgData.map((d) => d.imgPath)"
                       >
                       </el-image></div
@@ -407,11 +407,13 @@ export default {
   overflow-y: auto;
   margin-bottom: 20px;
   margin-top: 20px;
+  flex-direction:column;
 }
 .area_content {
   border: #B8BDC0 1px solid;
   display: flex;
   flex-direction: row;
+  width:100%;
 }
 
 .content > .area_content:first-child {

+ 2 - 2
src/views/system/check/index.vue

@@ -209,8 +209,8 @@
           areaId: [
             {required: true, message: '请选择区域', trigger: 'blur'},
           ],
-          orgId: [
-            {required: true, message: '请选择归属部门', trigger: 'blur'},
+          orgType: [
+            {required: true, message: '请选择机构类型', trigger: 'blur'},
           ],
           checkName: [
             {required: true, message: '请输入NFC点位名称', trigger: 'change'}