| 
					
				 | 
			
			
				@@ -1,167 +1,86 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   <div class="edu-training-edit"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <DialogCom title="培训任务详情" :visible.sync="isShow" width="960px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <DialogCom title="培训任务详情" :visible.sync="isShow" width="1200px" > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div class="page-body"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form :model="formData" size="small" ref="form" label-position="right" label-width="120px" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                 label-suffix=":"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-descriptions class="margin-top" :column="2" size="medium" border :label-style="labelStyle" :contentStyle="content_style"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-descriptions-item labelClassName="gx_info_label" label="任务名称" > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            formData.title 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-descriptions-item labelClassName="gx_info_label" label="培训类型" > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            formData.typeText 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-descriptions-item labelClassName="gx_info_label" label="任务进度" > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            formData.statusText 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-descriptions-item labelClassName="gx_info_label" label="任务时间" > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {{formData.startDate}}-{{formData.endDate}} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-descriptions-item labelClassName="gx_info_label" label="受训机构" > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {{formData.orgName}} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-descriptions-item labelClassName="gx_info_label" label="主持人" > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            formData.hostName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-descriptions-item labelClassName="gx_info_label" label="登记人" > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            formData.recorderName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-descriptions-item labelClassName="gx_info_label" label="培训开始时间" > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            formData.trainingStartDateTime 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-descriptions-item labelClassName="gx_info_label" label="培训结束时间" > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            formData.trainingEndDateTime 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-descriptions-item labelClassName="gx_info_label" label="" > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-descriptions-item span="2" labelClassName="gx_info_label" label="培训内容" > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            formData.content 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-descriptions-item span="2" labelClassName="gx_info_label" label="培训总结" > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            formData.note 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-descriptions-item labelClassName="gx_info_label" label="参会人员" > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            formData.taskUserList ? formData.taskUserList.filter((x) => x.type === 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            .map((v) => v.userName).join(",") : "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-descriptions-item labelClassName="gx_info_label" label="缺席人员" > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            formData.taskUserList ? formData.taskUserList.filter((x) => x.type === 2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            .map((v) => v.userName).join(",") : "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-descriptions-item span="2" labelClassName="gx_info_label" label="培训图片" > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <ImageListPreview v-model="formData.imageList"></ImageListPreview> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-descriptions-item span="2" labelClassName="gx_info_label" label="参会人员签名" > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <ImageListPreview v-model="formData.signImageList"></ImageListPreview> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-descriptions-item labelClassName="gx_info_label" label="资料文件" > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <K-file-upload ref="upload" :isShowUploadBtn="false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                           :defaultValue="formFileListDefualtValue" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                           v-model="formData.fileList"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <!-- 培训主题 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-col :span="24"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-form-item prop="type" label="任务名称">{{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  formData.title 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-col :span="12"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-form-item prop="typeText" label="培训类型">{{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  formData.typeText 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-col :span="12"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-form-item prop="statusText" label="任务进度">{{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  formData.statusText 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-col :span="12"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-form-item prop="startDate" 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 prop="eduJobId" label="执行角色">{{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    formData.eduJobNames 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }}</el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </el-col> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <!-- 类型 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <!--                        <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 :span="12"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-form-item prop="hostId" label="主持人">{{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  formData.hostName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <!-- 记录人 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-col :span="12"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-form-item prop="recorderId" label="登记人">{{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  formData.recorderName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <!-- 培训开始时间 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-col :span="12"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-form-item prop="trainingStartDateTime" label="培训开始时间">{{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  formData.trainingStartDateTime 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <!-- 培训截止时间 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-col :span="12"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-form-item prop="trainingEndDateTime" label="培训结束时间">{{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  formData.trainingEndDateTime 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <!-- 开始日期 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <!-- <el-col :span="12"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <el-form-item prop="dateTime" label="开始日期">{{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    formData.startDate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }}</el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </el-col> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <!-- 截止日期 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <!-- <el-col :span="12"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <el-form-item prop="dateTime" label="截止日期">{{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    formData.endDate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }}</el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </el-col> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <!-- 内容 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-col :span="24"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-form-item prop="content" label="培训内容">{{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  formData.content 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <!-- 总结 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-col :span="24"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-form-item prop="note" label="培训总结">{{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  formData.note 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <!-- 参与人数 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-col :span="12"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-form-item prop="dueCount" label="参会人员">{{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  formData.taskUserList ? formData.taskUserList.filter((x) => x.type === 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .map((v) => v.userName).join(",") : "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-col :span="12"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-form-item prop="dueCount" label="缺席人员">{{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  formData.taskUserList ? formData.taskUserList.filter((x) => x.type === 2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .map((v) => v.userName).join(",") : "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <!-- 图片 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-col :span="24"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-form-item prop="imageList" label="培训图片"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <ImageListPreview v-model="formData.imageList"></ImageListPreview> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <!-- <k-multi-upload :disabled="!!id" v-model="formData.imageList" limit="4" byModule 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    moduleName="edu-training" v-if="isShow" /> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <!-- 图片 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-col :span="24"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-form-item prop="imageList" label="参会人员签名"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <ImageListPreview v-model="formData.signImageList"></ImageListPreview> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <!-- <k-multi-upload :disabled="!!id" v-model="formData.imageList" limit="4" byModule 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    moduleName="edu-training" v-if="isShow" /> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <!-- 文件 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-col :span="24"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-form-item label="资料文件" prop="fileList"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <K-file-upload ref="upload" :isShowUploadBtn="false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                               :defaultValue="formFileListDefualtValue" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                               v-model="formData.fileList"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <!--                        <el-col :span="24"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        <el-form-item prop="fileList" label="文件" :disabled="true"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            <div v-for="(v, i) in formData.fileList" :key="i"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                <a class="downloadLink" @click="onDownload(JSON.parse(v).url, JSON.parse(v).name)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                    {{ JSON.parse(v).name }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                </a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    </el-col>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </el-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </el-form> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-descriptions> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div slot="footer" class="dialog-footer"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -172,119 +91,125 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import {mapState, mapMutations} from "vuex"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import {getEduTask} from "@/api/core/edu/eduTask"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import KFileUpload from "@/components/K-FileUpload/index.vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  components: {KFileUpload}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  dicts: ['edu_type', 'edu_task_status'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  data() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const params = this.$route.params; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      id: params ? params.id : null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      isShow: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      formData: this.reset(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      formFileListDefualtValue: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  props: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  watch: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  computed: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ...mapState(["loginUser"]), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ...mapMutations([]), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    reset(other = {}) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  import { mapState, mapMutations } from "vuex"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  import { getEduTask } from "@/api/core/edu/eduTask"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  import KFileUpload from "@/components/K-FileUpload/index.vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    components: {KFileUpload}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    dicts: ['edu_type', 'edu_task_status'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    data() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const params = this.$route.params; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        id: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        type: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        host: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        recorder: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        dateTime: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        dueCount: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        actualCount: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        content: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        imageList: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        signImageList: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        typeText: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        org: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ...other, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        id: params ? params.id : null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        isShow: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        formData: this.reset(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        formFileListDefualtValue: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        labelStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          'color': '#000', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          'text-align': 'center', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          'height': '40px', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          'min-width': '200px', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          'word-break': 'keep-all' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content_style: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          'text-align': 'left', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          'min-width': '300px', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          'word-break': 'break-all' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    async refresh(id, other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (!id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.reset(other); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        getEduTask(id).then(response => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.formData = response.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.formFileListDefualtValue = response.data.fileList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.formData.signImageList = this.getSingImageList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.loading = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    async show(id, other = {}) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.id = id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      await this.refresh(id, other); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.isShow = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    props: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    watch: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    computed: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ...mapState(["loginUser"]), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // 事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    onHide() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.isShow = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    onDownload(url, filename) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      let this_ = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.getBlob(url, function (blob) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this_.saveAs(blob, filename); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    getSingImageList() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      let res = this.formData.taskUserList ? this.formData.taskUserList.filter((x) => x.type === 1 && x.sign == 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        .map((v) => v.signImage).join(",") : null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      return res; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    getBlob(url, cb) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      var xhr = new XMLHttpRequest(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      xhr.open("GET", url, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      xhr.responseType = "blob"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      xhr.onload = function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (xhr.status === 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          cb(xhr.response); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ...mapMutations([]), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      reset(other = {}) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          id: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          type: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          host: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          recorder: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          dateTime: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          dueCount: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          actualCount: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          content: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          imageList: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          signImageList: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          typeText: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          org: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ...other, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      async refresh(id, other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.reset(other); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          getEduTask(id).then(response => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.formData = response.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.formFileListDefualtValue = response.data.fileList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.formData.signImageList = this.getSingImageList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.loading = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      xhr.send(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    saveAs(blob, filename) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      console.log("saveAs", blob, filename) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (window.navigator.msSaveOrOpenBlob) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        navigator.msSaveBlob(blob, filename); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let link = document.createElement("a"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let body = document.querySelector("body"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      async show(id, other = {}) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.id = id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        await this.refresh(id, other); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.isShow = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      onHide() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.isShow = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      onDownload(url, filename) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let this_ = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.getBlob(url, function (blob) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this_.saveAs(blob, filename); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      getSingImageList() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let res = this.formData.taskUserList ? this.formData.taskUserList.filter((x) => x.type === 1 && x.sign == 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          .map((v) => v.signImage).join(",") : null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return res; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      getBlob(url, cb) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var xhr = new XMLHttpRequest(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        xhr.open("GET", url, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        xhr.responseType = "blob"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        xhr.onload = function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (xhr.status === 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cb(xhr.response); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        xhr.send(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      saveAs(blob, filename) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log("saveAs", blob, filename) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (window.navigator.msSaveOrOpenBlob) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          navigator.msSaveBlob(blob, filename); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //apimark// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // 事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //apimark// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  mounted() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    mounted() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!-- <style lang="less"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-.edu-training-edit { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-</style> --> 
			 |