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

培训/演练:主持人/指挥人支持变更为文本输入;

演练:统计报表增加完成率,app根据完成率排序
jingyuanchao 1 год назад
Родитель
Сommit
c2826c7eb8

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

@@ -95,6 +95,17 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
+              <el-form-item prop="hostName" label="指挥人">
+                <el-input :style="{width : '100%'}"
+                          v-model="formData.hostName"
+                          :maxlength="32"
+                          show-word-limit
+                          placeholder="请输入指挥人"
+                          clearable
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
               <el-form-item prop="imageList" ref="fileImage" label="演练图片">
                 <imgUpload ref="uploadimage" :limit="10" type="more" :value="formData.imageList" @input="imageListChanged">
                 </imgUpload>
@@ -153,6 +164,7 @@ export default {
       formData: this.reset(),
       formDataRules: {
         title: [{required: true, message: "请输入任务名称"}],
+        hostName: [{required: true, message: "请输入指挥人"}],
         category: [{required: true, message: "请输入演练类型"}],
         drillStartTime: [{required: true, message: "请选择演练开始时间"}],
         drillEndTime: [{required: true, message: "请选择演练结束时间"}],

+ 13 - 0
src/views/core/drill/task/dialog.perform.vue

@@ -99,6 +99,17 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
+              <el-form-item prop="hostName" label="指挥人">
+                <el-input :style="{width : '100%'}"
+                          v-model="formData.hostName"
+                          :maxlength="32"
+                          show-word-limit
+                          placeholder="请输入指挥人"
+                          clearable
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
               <el-form-item prop="imageList" ref="fileImage" label="演练图片">
                 <imgUpload ref="uploadimage" :limit="10" type="more" :value="formData.imageList" @input="imageListChanged">
                 </imgUpload>
@@ -159,6 +170,7 @@ export default {
       isShow: false,
       formData: this.reset(),
       formDataRules: {
+        hostName: [{required: true, message: "请输入指挥人"}],
         drillStartTime: [{required: true, message: "请选择演练开始时间"}],
         drillEndTime: [{required: true, message: "请选择演练结束时间"}],
         drillSite: [{required: true, message: "请输入演练地点"}],
@@ -191,6 +203,7 @@ export default {
     ...mapMutations([]),
     reset(other = {}) {
       return {
+        hostName: null,
         drillStartTime: null,
         drillEndTime: null,
         content: null,

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

@@ -90,6 +90,17 @@
                 </k-select>
               </el-form-item>
             </el-col>
+            <el-col :span="24">
+              <el-form-item prop="hostName" label="主持人">
+                <el-input :style="{width : '100%'}"
+                          v-model="formData.hostName"
+                          :maxlength="32"
+                          show-word-limit
+                          placeholder="请输入主持人"
+                          clearable
+                />
+              </el-form-item>
+            </el-col>
           </el-row>
 
           <el-row>
@@ -153,6 +164,7 @@ export default {
       formData: this.reset(),
       formDataRules: {
         title: [{required: true, message: "请输入任务名称"}],
+        hostName: [{required: true, message: "请输入主持人"}],
         type: [{required: true, message: "请输入培训类型"}],
         content: [{required: true, message: "请输入培训内容"}],
         absenceList: [{required: true, type: "array", message: "请选择参会人员"}],

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

@@ -46,7 +46,7 @@
                         </el-col>-->
             <el-col :span="12">
               <el-form-item prop="trainingStartDateTime" label="培训开始时间">
-                <el-date-picker required v-model="formData.trainingStartDateTime"
+                <el-date-picker style="width: 100%;" required v-model="formData.trainingStartDateTime"
                                 :picker-options="startDatepickerOptions"
                                 format="yyyy-MM-dd HH:mm"
                                 type="datetime" placeholder="选择日期" @change="startDateChanged">
@@ -55,7 +55,7 @@
             </el-col>
             <el-col :span="12">
               <el-form-item prop="trainingEndDateTime" label="培训结束时间">
-                <el-date-picker required v-model="formData.trainingEndDateTime" :picker-options="endDatepickerOptions"
+                <el-date-picker style="width: 100%;" required v-model="formData.trainingEndDateTime" :picker-options="endDatepickerOptions"
                                 @change="endDateChanged"
                                 format="yyyy-MM-dd HH:mm"
                                 type="datetime" placeholder="选择日期">
@@ -76,20 +76,31 @@
             </el-col>
             <el-col :span="12">
               <el-form-item prop="absenceList" label="参会人员">
-                <k-select :multiple="true" v-model="formData.absenceList" url="/user/find/all"
+                <k-select style="width: 100%;" :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 v-if="formData.id" prop="absentList" label="缺席人员">
-                <k-select :multiple="true" v-model="formData.absentList" url="/user/find/all"
+                <k-select style="width: 100%;" :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 prop="hostName" label="主持人">
+                <el-input style="width: 100%;"
+                          v-model="formData.hostName"
+                          :maxlength="32"
+                          show-word-limit
+                          placeholder="请输入主持人"
+                          clearable
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
               <el-form-item prop="imageList" ref="fileImage" label="培训图片">
                 <imgUpload ref="uploadimage" :limit="10" type="more" :value="formData.imageList"
                            @input="imageListChanged"></imgUpload>
@@ -148,6 +159,7 @@ export default {
       formData: this.reset(),
       formDataRules: {
         type: [{required: true, message: "请选择类型"}],
+        hostName: [{required: true, message: "请输入主持人"}],
         content: [{required: true, message: "请输入培训内容"}],
         absenceList: [{required: true, type: "array", message: "请选择参会人员"}],
         trainingStartDateTime: [{required: true, message: "请输入培训开始时间"}],

+ 4 - 3
src/views/core/reportForms/drill.vue

@@ -96,6 +96,7 @@
       <el-table-column align="center" label="单位名称" prop="orgName"/>
       <el-table-column align="center" label="应完成数" prop="shouldFinish" width="340"/>
       <el-table-column align="center" label="已完成数" prop="finish"/>
+      <el-table-column align="center" label="完成率" prop="finishRate"/>
       <el-table-column align="center" label="评分" prop="score"/>
     </el-table>
   </div>
@@ -160,13 +161,13 @@ export default {
       let titleBase="预案演练情况表";
       if(!this.queryParams)
       {
-        titleBase+= "("+dayjs(new Date()).format("YYYY-MM")+"~"+dayjs(new Date()).format("YYYY-MM")+")";       
+        titleBase+= "("+dayjs(new Date()).format("YYYY-MM")+"~"+dayjs(new Date()).format("YYYY-MM")+")";
       }
       else if(this.queryParams.range)
       {
-        titleBase+= "("+dayjs(this.queryParams.range[0]).format("YYYY-MM")+"~"+dayjs(this.queryParams.range[1]).format("YYYY-MM")+")";       
+        titleBase+= "("+dayjs(this.queryParams.range[0]).format("YYYY-MM")+"~"+dayjs(this.queryParams.range[1]).format("YYYY-MM")+")";
       }
-      return titleBase;      
+      return titleBase;
     },
     changeHandler() {
       // this.getList();