瀏覽代碼

演练任务 界面调整为 最新确认界面

zhulu 2 年之前
父節點
當前提交
fb7a64c84c

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

@@ -9,7 +9,7 @@
       <!--搜索栏-->
       <el-col :span="20" :xs="24">
         <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
-                 label-width="100px">
+                 label-width="68px">
           <el-form-item label="任务名称" prop="planName">
             <el-input v-model="queryParams.planName" placeholder="请输入关键字" clearable
                       @keyup.enter.native="handleQuery"/>

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

@@ -5,21 +5,42 @@
         <el-form :model="formData" size="small" ref="form" label-position="right" label-width="120px"
                  label-suffix=":">
           <el-row>
-
             <el-col :span="12">
-              <el-form-item prop="type" label="主题">{{
+              <el-form-item prop="type" label="任务名称">{{
                   formData.title
                 }}
               </el-form-item>
             </el-col>
-
+            <el-col :span="12">
+              <el-form-item prop="type" label="任务进度">{{
+                  getLabel(dict.type.drill_task_status, formData.status,"未知")
+                }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="任务时间">{{
+                  formData.startDate +" ~ " + formData.endDate
+                }}
+              </el-form-item>
+            </el-col>
             <el-col :span="12">
               <el-form-item label="演练机构">{{
                   formData.orgName
                 }}
               </el-form-item>
             </el-col>
-
+            <el-col :span="12">
+              <el-form-item label="指挥人">{{
+                  formData.hostName
+                }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="记录人">{{
+                  formData.recorderName
+                }}
+              </el-form-item>
+            </el-col>
             <el-col :span="12">
               <el-form-item label="演练项目">{{
                   formData.typeText
@@ -42,12 +63,7 @@
                 {{ formData.drillEndTime }}
               </el-form-item>
             </el-col>
-            <el-col :span="12">
-              <el-form-item prop="hostId" label="指挥人">{{
-                  formData.hostName
-                }}
-              </el-form-item>
-            </el-col>
+           
             <el-col :span="24">
               <el-form-item prop="hostId" label="预设案由">{{
                   formData.presetCase
@@ -61,7 +77,6 @@
               </el-form-item>
             </el-col>
 
-
             <!-- 参与人数 -->
             <el-col :span="12">
               <el-form-item prop="dueCount" label="参与人员">{{
@@ -79,7 +94,7 @@
             </el-col>
             <!-- 图片 -->
             <el-col :span="12">
-              <el-form-item prop="imageList" label="上传图片">
+              <el-form-item prop="imageList" label="演练图片">
                 <ImageListPreview v-model="formData.imageList"></ImageListPreview>
               </el-form-item>
             </el-col>
@@ -89,7 +104,14 @@
                 <ImageListPreview v-model="formData.signImageList"></ImageListPreview>
               </el-form-item>
             </el-col>
-            <el-col :span="24" class="block">
+            
+            <el-col :span="12">
+              <el-form-item prop="comment" label="评语">{{
+                  formData.comment
+                }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12" class="block">
               <el-form-item prop="commentScore" label="评分">
                 <el-rate
                   v-model="formData.commentScore"
@@ -101,13 +123,7 @@
             </el-col>
 
             <el-col :span="24">
-              <el-form-item prop="comment" label="评语">{{
-                  formData.comment
-                }}
-              </el-form-item>
-            </el-col>
-            <el-col :span="24">
-            <el-form-item label="资料附件" prop="fileList">
+            <el-form-item label="资料文件" prop="fileList">
               <K-file-upload ref="upload" :isShowUploadBtn="false"
                              :defaultValue="formFileListDefualtValue"
                              v-model="formData.fileList"/>
@@ -130,9 +146,10 @@ import {getEduTask} from "@/api/core/edu/eduTask";
 import {getDrillTask} from "@/api/core/drill/drillTask";
 import {initList} from "@/api/core/drill/drillDictionary";
 import KFileUpload from "@/components/K-FileUpload/index.vue";
+import { getLabel } from "@/views/commonOption";
 export default {
   components: {KFileUpload},
-  dicts: ['edu_type', 'edu_task_status'],
+  dicts: ['drill_task_status', 'core_drill_type'],
   data() {
     const params = this.$route.params;
     return {
@@ -151,6 +168,7 @@ export default {
   },
   methods: {
     ...mapMutations([]),
+    getLabel,
     reset(other = {}) {
       return {
         id: null,

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

@@ -1,28 +1,37 @@
 <template>
   <div class="edu-training-edit">
-    <DialogCom :title="'新增演练登记'" :close="onHide" :visible.sync="isShow" width="960px">
+    <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-form-item prop="title" label="任务名称">
                 <el-input
                   v-model="formData.title"
                   :maxlength="32"
-                  placeholder="请输入主题"
+                  placeholder="请输入任务名称"
                   clearable
                 />
               </el-form-item>
             </el-col>
             <el-col :span="12">
+              <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="12">
               <el-form-item prop="drillSite" 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-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">
@@ -30,7 +39,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item prop="drillEndTime" label="培训结束时间">
+              <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="选择日期">
@@ -38,22 +47,11 @@
               </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="预设案由">
                 <div style="display: flex;justify-content: flex-end; margin-bottom: 10px">
-                  <el-button type="primary" @click="selectMaterials">参考演练库</el-button>
+                  <el-button type="primary" @click="selectMaterials">演练范本库</el-button>
                 </div>
                 <k-textarea v-model="formData.presetCase" placeholder="请输入预设案由" :length="2000"/>
               </el-form-item>
@@ -81,16 +79,17 @@
               </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 prop="imageList" label="演练图片">
+                <imgUpload ref="uploadimage" type="more" :value="formData.imageList" @input="imageListChanged">
+                </imgUpload>
               </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 label="演练资料" prop="fileList">
+                <K-file-upload ref="upload" :defaultValue="formFileListDefualtValue" v-model="formData.fileList"/>
               </el-form-item>
             </el-col>
+            
           </el-row>
         </el-form>
       </div>
@@ -128,15 +127,16 @@ export default {
       isShow: false,
       formData: this.reset(),
       formDataRules: {
+        title: [{required: true, message: "请输入任务名称"}],
         drillStartTime: [{required: true, message: "请选择演练开始时间"}],
         drillEndTime: [{required: true, message: "请选择演练结束时间"}],
         drillSite: [{required: true, message: "请输入演练地点"}],
         type: [{required: true, message: "请选择演练项目"}],
         presetCase: [{required: true, message: "请输入预设案由"}],
-        drillSituation: [{required: true, message: "请输入预设案由"}],
+        drillSituation: [{required: true, message: "请输入演练情况"}],
         absenceList: [{required: true, type: "array", message: "请选择参与人员", trigger: ['blur', 'change']}],
-        imageList: [{required: true, message: "请上传图片"}],
-        fileList: [{required: true, message: "请上传文件"}],
+        imageList: [{required: true, message: "请上传演练图片"}],
+        // fileList: [{required: true, message: "请上传演练资料"}],
       },
       startDatepickerOptions: {
         disabledDate(time) {

+ 6 - 7
src/views/core/drill/task/dialog.perform.vue

@@ -7,7 +7,7 @@
           <el-row>
             <!-- 培训主题 -->
             <el-col :span="12">
-              <el-form-item prop="title" label="标题">
+              <el-form-item prop="title" label="任务名称">
                 {{ formData.title }}
               </el-form-item>
             </el-col>
@@ -17,7 +17,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item prop="drillStartTime" label="培训开始时间">
+              <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">
@@ -25,7 +25,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item prop="drillEndTime" label="培训结束时间">
+              <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="选择日期">
@@ -81,14 +81,14 @@
             </el-col>
 
             <el-col :span="12">
-              <el-form-item label="资料附件" prop="fileList">
+              <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="上传图片">
+              <el-form-item prop="imageList" label="演练图片">
                 <imgUpload ref="uploadimage" type="more" :value="formData.imageList" @input="imageListChanged">
                 </imgUpload>
               </el-form-item>
@@ -109,7 +109,6 @@
                 <k-textarea v-model="formData.comment" placeholder="请输入评语" :length="200"/>
               </el-form-item>
             </el-col>
-
           </el-row>
         </el-form>
       </div>
@@ -156,7 +155,7 @@ export default {
         type: [{required: true, message: "请选择演练项目"}],
         presetCase: [{required: true, message: "请输入预设案由"}],
         drillSituation: [{required: true, message: "请输入演练情况"}],
-        imageList: [{required: true, message: "请上传图片"}],
+        imageList: [{required: true, message: "请上传演练图片"}],
         absenceList: [{required: true, type: "array", message: "请选择参与人员", trigger: ['blur', 'change']}],
       },
       startDatepickerOptions: {

+ 11 - 7
src/views/core/drill/task/dialog.select.drillDictionary.vue

@@ -1,6 +1,6 @@
 <template>
   <DialogCom
-    title="选择知识库"
+    title="选取演练范本"
     :visible.sync="isShow"
     class="g-dialog-select-safe-check"
     :close-on-click-modal="false"
@@ -24,11 +24,11 @@
       >
         <!-- 搜索 -->
         <template slot="searchs">
-          <el-form-item prop="title" label="编号">
+          <!-- <el-form-item prop="title" label="编号">
             <el-input v-model="search.id" placeholder="请输入编号"></el-input>
-          </el-form-item>
-          <el-form-item label="演练类型" prop="drillType">
-            <el-select v-model="search.drillType" placeholder="请选择演练类型" clearable>
+          </el-form-item> -->
+          <el-form-item label="演练项目" prop="drillType">
+            <el-select v-model="search.drillType" placeholder="请选择演练项目" clearable>
               <el-option
                 v-for="dict in dict.type.core_drill_type"
                 :key="dict.value"
@@ -37,18 +37,21 @@
               />
             </el-select>
           </el-form-item>
+          <el-form-item prop="drillProjects" label="演练场景">
+            <el-input v-model="search.drillProjects" placeholder="请输入关键字"></el-input>
+          </el-form-item>
         </template>
 
         <!-- 表格 -->
         <template slot="columns">
           <el-table-column label="编号" align="center" prop="id"/>
           <el-table-column prop="orgName" label="机构名称" width="200"></el-table-column>
-          <el-table-column label="演练类型" align="center" prop="drillType">
+          <el-table-column label="演练项目" align="center" prop="drillType">
             <template slot-scope="scope">
               <dict-tag :options="dict.type.core_drill_type" :value="scope.row.drillType"/>
             </template>
           </el-table-column>
-          <el-table-column label="解决方案" scoped-slot="drillProjects" align="center" prop="drillProjects">
+          <el-table-column label="演练场景" scoped-slot="drillProjects" align="center" prop="drillProjects">
             <template slot-scope="scope">
               <div class="ellipsis" :title="scope.row.drillProjects">{{ scope.row.drillProjects }}</div>
             </template>
@@ -81,6 +84,7 @@ export default {
       // ruleList: [],
       search: {
         id: null,
+        drillProjects:null,
         drillType: null,
         orgId: this.$store.getters.orgId,
       },

+ 45 - 30
src/views/core/drill/task/index.vue

@@ -7,9 +7,10 @@
       </el-col>
       <el-col :span="20" :xs="24">
         <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
-                 label-width="100px">
-
-
+                 label-width="68px">
+          <el-form-item label="任务名称" prop="title">
+            <el-input v-model="queryParams.title" placeholder="请输入关键字" clearable/>
+          </el-form-item>
           <el-form-item label="演练项目" prop="type">
             <el-select v-model="queryParams.type" placeholder="请选择演练项目" clearable>
               <el-option
@@ -20,10 +21,8 @@
               />
             </el-select>
           </el-form-item>
-
-
-          <el-form-item label="演练状态" prop="status">
-            <el-select v-model="queryParams.status" placeholder="请选择演练状态" clearable>
+          <el-form-item label="任务进度" prop="status">
+            <el-select v-model="queryParams.status" placeholder="请选择任务进度" clearable>
               <el-option
                 v-for="dict in dict.type.drill_task_status"
                 :key="dict.value"
@@ -40,22 +39,32 @@
               placeholder="请选择开始日期">
             </el-date-picker>
           </el-form-item>
-          <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-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 type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button type="primary" icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddTask">临时登记
+            </el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport">导出数据
             </el-button>
           </el-col>
         </el-row>
 
-        <el-table border height="550px" v-loading="loading" :data="eduTaskList" @selection-change="handleSelectionChange">
-          <el-table-column label="主题" width="100" align="left" header-align="center" prop="title"/>
+        <el-table border height="561px" v-loading="loading" :data="eduTaskList" @selection-change="handleSelectionChange">
+          <el-table-column label="序号" type="index" align="center" width="60"/>
+          <el-table-column label="任务名称" width="250" align="left" header-align="center" prop="title"/>
           <el-table-column label="演练机构" width="200" align="left" header-align="center" prop="orgName"/>
           <!--          <el-table-column label="演练角色" align="center">
                       <template slot-scope="scope">
@@ -68,14 +77,19 @@
                         </template>
                       </template>
                     </el-table-column>-->
-          <el-table-column label="演练项目" align="left" header-align="center" prop="type">
+          <el-table-column label="演练项目" width="200" align="left" header-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" width="200">
+          <el-table-column label="任务进度" width="100" align="center" header-align="center" prop="status">
             <template slot-scope="scope">
-              {{scope.row.startDate? dayjs(scope.row.startDate).format("YYYY-MM-DD") +" ~ "+dayjs(scope.row.endDate).format("YYYY-MM-DD"):''}}
+              <dict-tag :options="dict.type.drill_task_status" :value="scope.row.status"/>
+            </template>
+          </el-table-column>
+          <el-table-column label="任务时间" align="center" width="300">
+            <template slot-scope="scope">
+              {{scope.row.startDate? dayjs(scope.row.startDate).format("YYYY年MM月DD日") +" ~ "+dayjs(scope.row.endDate).format("YYYY年MM月DD日"):''}}
             </template>
           </el-table-column>
 
@@ -85,16 +99,12 @@
                               </el-table-column>
                               <el-table-column label="指挥人" align="center" prop="hostName"/>
                               <el-table-column label="演练地点" align="center" prop="drillSite"/>-->
-          <el-table-column label="演练状态" align="center" header-align="center" prop="status">
-            <template slot-scope="scope">
-              <dict-tag :options="dict.type.drill_task_status" :value="scope.row.status"/>
-            </template>
-          </el-table-column>
-          <el-table-column label="演练时间" align="center" width="300">
+          
+          <!-- <el-table-column label="演练时间" align="center" width="300">
             <template slot-scope="scope">
               {{scope.row.drillStartTime? dayjs(scope.row.drillStartTime).format("YYYY-MM-DD HH:MM") +" ~ "+dayjs(scope.row.drillEndTime).format("YYYY-MM-DD HH:MM"):''}}
             </template>
-          </el-table-column>
+          </el-table-column> -->
 <!--          <el-table-column label="评分" align="center" prop="commentScore"/>
 
           <el-table-column scoped-slot="comment" align="center" prop="comment" label="评语">
@@ -103,7 +113,7 @@
             </template>
           </el-table-column>-->
 
-          <el-table-column label="操作" width="120px" align="center" class-name="small-padding fixed-width">
+          <el-table-column label="操作" align="left" header-align="center" class-name="small-padding fixed-width">
             <template slot-scope="scope">
               <el-button
                 size="mini"
@@ -128,7 +138,7 @@
                 v-if="canPerform(scope.row)"
                 @click="handleRecorded(scope.row.id)"
                 v-hasPermi="['core:drillTask:edit']"
-              >演练登记
+              >任务登记
               </el-button>
               <el-button type="text" v-if="scope.row.pdfUrl" @click="onDown(scope.row.pdfUrl)"
               >演练登记簿
@@ -278,11 +288,11 @@ export default {
       this.multiple = !selection.length
     },
     /** 新增按钮操作 */
-    handleAdd() {
-      this.reset();
-      this.open = true;
-      this.title = "添加教育任务";
-    },
+    // handleAdd() {
+    //   this.reset();
+    //   this.open = true;
+    //   this.title = "添加教育任务";
+    // },
     /** 修改按钮操作 */
     handleDetail(id) {
       this.$refs["infoDialog"].show(id, {});
@@ -352,6 +362,11 @@ export default {
       console.log(123123123)
       this.$refs["newTaskDialog"].show(id, {});
     },
+    handleExport(){
+      this.download('core/drill/task/export', {
+        ...this.queryParams
+      }, this.$store.getters.orgShortName+`_演练登记跟踪_${dayjs().format("YYYYMMDD")}.xlsx`)
+    }
   }
 };
 </script>