Просмотр исходного кода

预案演练任务代码提交

jingyuanchao 2 лет назад
Родитель
Сommit
117d8662c9

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

@@ -115,7 +115,7 @@
             ></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="演练项目" prop="drillProjects">
+        <el-form-item label="解决方案" prop="drillProjects">
           <el-input v-model="form.drillProjects" type="textarea" placeholder="请输入内容"/>
         </el-form-item>
         <el-form-item label="预设案由" prop="defaultCause">

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

@@ -21,8 +21,8 @@
             </el-col>
 
             <el-col :span="12">
-              <el-form-item label="演练项目">{{
-                  formData.typeName
+              <el-form-item label="演练类型">{{
+                  formData.typeText
                 }}
               </el-form-item>
             </el-col>

+ 32 - 15
src/views/core/drill/task/index.vue

@@ -9,14 +9,18 @@
         <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
                  label-width="100px">
 
-          <el-form-item label="演练主题" prop="title">
-            <el-input
-              v-model="queryParams.title"
-              placeholder="请输入演练主题"
-              clearable
-              @keyup.enter.native="handleQuery"
-            />
+
+          <el-form-item label="演练类型" prop="type">
+            <el-select v-model="queryParams.type" placeholder="请选择演练类型" clearable>
+              <el-option
+                v-for="dict in dict.type.core_drill_type"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value"
+              />
+            </el-select>
           </el-form-item>
+
           <el-form-item label="任务时间" prop="rangen">
             <el-date-picker
               v-model="queryParams.range"
@@ -45,7 +49,11 @@
               </template>
             </template>
           </el-table-column>
-          <el-table-column label="演练主题" align="center" prop="title"/>
+          <el-table-column label="演练类型" align="center" prop="type">
+            <template slot-scope="scope">
+              <dict-tag :options="dict.type.core_drill_type" :value="scope.row.type"/>
+            </template>
+          </el-table-column>
 
           <el-table-column label="开始日期" align="center" prop="startDate" width="180">
           </el-table-column>
@@ -69,8 +77,15 @@
                 icon="el-icon-view"
                 @click="handleDetail(scope.row.id)"
                 v-hasPermi="['system:eduTask:detail']"
-              >详情
-              </el-button>
+              >详情</el-button>
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-document-add"
+                v-if="canPerform(scope.row)"
+                @click="handleRecorded(scope.row.id)"
+                v-hasPermi="['system:eduTask:edit']"
+              >评价</el-button>
               <el-button
                 size="mini"
                 type="text"
@@ -78,11 +93,9 @@
                 v-if="canPerform(scope.row)"
                 @click="handleRecorded(scope.row.id)"
                 v-hasPermi="['system:eduTask:remove']"
-              >演练登记
-              </el-button>
+              >演练登记</el-button>
               <el-button type="text" v-if="scope.row.pdfUrl" @click="onDown(scope.row.pdfUrl)"
-              >演练登记簿
-              </el-button>
+              >演练登记簿</el-button>
             </template>
           </el-table-column>
         </el-table>
@@ -110,7 +123,7 @@ import dayjs from "dayjs";
 
 export default {
   name: "EduTask",
-  dicts: ['edu_task_status', 'edu_type'],
+  dicts: ['edu_task_status', 'edu_type','core_drill_type'],
   components: {
     DialogInfo,
     DialogPerform,
@@ -256,6 +269,10 @@ export default {
         ...this.queryParams
       }, `eduTask_${new Date().getTime()}.xlsx`)
     },
+    canEvaluate(row){
+      //仅行社安全保卫管理人员进入且演练任务处于待评价状态才显示
+      return row.planStatus==2 && this.$store.getters.roleList.some(item=>item.roleId==120);
+    },
     canPerform(row) {
       return true;
      /* let flag = 0;

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

@@ -225,17 +225,17 @@ export default {
                 let link = document.createElement("a");
                 let body = document.querySelector("body");
 
-                link.href = URL.createObjectURL(blob);
-                link.download = filename;
+                 link.href = URL.createObjectURL(blob);
+                 link.download = filename;
 
-                // fix Firefox
-                link.style.display = "none";
-                body.appendChild(link);
+                 // fix Firefox
+                 link.style.display = "none";
+                 body.appendChild(link);
 
-                link.click();
-                body.removeChild(link);
+                 link.click();
+                 body.removeChild(link);
 
-               window.URL.revokeObjectURL(link.href);
+                window.URL.revokeObjectURL(link.href);
            }
         },
         // 事件