| 
					
				 | 
			
			
				@@ -12,7 +12,7 @@ import { User_List } from '@/api/user/index' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { UpFileToken } from '@/api/public/index' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import Dialog from '@/components/dialog/Dialog.vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import Drawer from '@/components/Drawer/index.vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { Edit, Delete, ZoomIn, Download, Plus } from '@element-plus/icons-vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { Edit, Delete, View, Plus } from '@element-plus/icons-vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import type { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   FormInstance, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   FormRules, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -25,10 +25,12 @@ import type { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { ElMessageBox, ElMessage, genFileId } from 'element-plus' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { floatReg } from '@/views/salary/salary/relus' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { GlobalStore } from '@/stores/index' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { dayJs } from '@/utils/common' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { dayJs, getFormatDuration, qiniuUpLoadFun, upLoadQiniu } from '@/utils/common' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const globalStore = GlobalStore() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const TableRef = ref() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const TableStatRef = ref() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const columns: ColumnProps[] = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { prop: 'T_start_time', label: '开始时间' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { prop: 'T_end_time', label: '结束时间' }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -49,22 +51,61 @@ const initParam = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const openDrawerOvertime = (str: string, row: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   drawerRef.value.openDrawer() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (str === 'edit') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // isNew = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   form.value = { ...row } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   uuid = row.T_approver 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   form.value.T_approver = row.T_user_name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   form.value.T_id = row.Id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    isNew = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      form.value = { ...row } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uuid = row.T_approver 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      form.value.T_approver = row.T_user_name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      form.value.T_id = row.Id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const OvertimeDelete = (row: any) => {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const disabled = ref(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const OvertimeView = (row: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  disabled.value = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  drawerRef.value.openDrawer() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    form.value = { ...row } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    form.value.T_approver = row.T_user_name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const OvertimeDelete = (row: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ElMessageBox.confirm('您确定要删除加班申请吗?', '警告', { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    confirmButtonText: '确定', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cancelButtonText: '取消', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: 'warning' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .then(async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const res: any = await Overtime_Del({ User_tokey: globalStore.GET_User_tokey, T_id: row.Id }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (res.Code === 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ElMessage({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          type: 'success', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          message: '删除成功!' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          TableRef.value.getTableList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .catch(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ElMessage({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type: 'warning', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        message: '取消成功!' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const AddOvertime = (formEl: FormInstance | undefined) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (!formEl) return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (!prove_img) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ElMessage({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: 'warning', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      message: `请等待图片上传完成` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   formEl.validate(async valid => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (valid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       let res: any = {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // form.value.T_duration = form.value.T_duration 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       form.value.T_duration = duration.value * 60 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (isNew) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         res = await Overtime_Add({ ...form.value, T_approver: uuid }) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -93,8 +134,11 @@ const drawerRef = ref() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const ruleFormRef = ref<FormInstance>() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 type Fn = () => void 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const callbackDrawer = (done: Fn) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  resetForm(ruleFormRef.value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  done() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  disabled.value = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    resetForm(ruleFormRef.value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    done() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const resetForm = (formEl: FormInstance | undefined) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (!formEl) return 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -134,6 +178,7 @@ const form = ref({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   T_duration: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   T_text: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   T_approver: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  T_prove_img: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   T_id: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const formLabelWidth = ref('100px') 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -169,16 +214,19 @@ const onResize = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // upload file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const upload = ref() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-let uploadData = { token: '' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let uploadData = { token: '', key: '' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const dialogImageUrl = ref('') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const dialogVisible = ref(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const fileList = ref([]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const handlePictureCardPreview = (file: UploadFile) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let prove_img = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const handlePictureCardPreview = async (file: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   console.log(file, fileList) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   dialogImageUrl.value = file.url as string 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   dialogVisible.value = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const beforeUpload = async (file: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  console.log(file) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   let reg = /^image/g 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (!reg.test(file.type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ElMessage({ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -187,8 +235,11 @@ const beforeUpload = async (file: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const res: any = await UpFileToken({ User_tokey: globalStore.GET_User_tokey }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  prove_img = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let suffix = file.type.split('/')[1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const res: any = await UpFileToken({ User_tokey: globalStore.GET_User_tokey, T_suffix: suffix }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uploadData.token = res.Data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  uploadData.key = file.name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const handleExceed: UploadProps['onExceed'] = (files: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   console.log(files) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -207,16 +258,27 @@ const submitUpload = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const onSuccess = (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   console.log(response, uploadFile, uploadFiles) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  form.value.T_prove_img = response.key 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  prove_img = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ElMessage({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: 'success', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    message: '图片上传成功!!' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const onError = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  console.log(error, uploadFile, uploadFiles) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const onError = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // console.log(error, uploadFile, uploadFiles) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ElMessage({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: 'error', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    message: '图片上传失败!!' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// const handleRemove = (file: UploadFile) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   console.log(file) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   console.log(uploadFile, uploadFiles, fileList) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  form.value.T_prove_img = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// const handleProgress = (evt: UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//   console.log(evt, uploadFile, uploadFiles) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <template> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -235,23 +297,41 @@ const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <el-button type="primary" @click="openDrawerOvertime">申请加班</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <template #T_duration="{ row }"> {{ row.T_duration }}分钟 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <template #T_duration="{ row }"> {{ getFormatDuration(row.T_duration) }} </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <template #T_State="{ row }"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-tag v-if="row.T_State === 1" type="success">通过</el-tag> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-tag v-else-if="row.T_State === 2" type="warning">未通过</el-tag> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-tag v-else type="danger">待审核</el-tag> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <template #right="{ row }"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-button link type="primary" size="small" :icon="Edit" @click="openDrawerOvertime('edit', row)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-if="row.T_State !== 1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            link 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            type="primary" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            size="small" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :icon="Edit" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @click="openDrawerOvertime('edit', row)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             >编辑</el-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-button link type="danger" size="small" :icon="Delete" @click="OvertimeDelete(row)">删除</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-if="row.T_State !== 1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            link 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            type="danger" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            size="small" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :icon="Delete" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @click="OvertimeDelete(row)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            >删除</el-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-button v-if="row.T_State === 1" link type="success" size="small" :icon="View" @click="OvertimeView(row)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            >查看</el-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <!-- <el-icon><View /></el-icon> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </TableBase></el-col 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <el-col :span="12" class="h-100" style="overflow: hidden"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <TableBase 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ref="TableRef" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ref="TableStatRef" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         :columns="columns_Stat" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         :requestApi="Overtime_Stat" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         :initParam="initParam" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -278,6 +358,7 @@ const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             class="my-date-picker" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             v-model="form.T_start_time" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             type="datetime" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :disabled="disabled" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             placeholder="选择开始时间" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             format="YYYY-MM-DD HH:mm:ss" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             value-format="YYYY-MM-DD HH:mm:ss" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -289,6 +370,7 @@ const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             class="my-date-picker" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             v-model="form.T_end_time" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             type="datetime" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :disabled="disabled" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             placeholder="选择结束时间" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             format="YYYY-MM-DD HH:mm:ss" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             value-format="YYYY-MM-DD HH:mm:ss" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -300,6 +382,7 @@ const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <el-form-item label="取证:" :label-width="formLabelWidth"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-upload 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ref="upload" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :disabled="disabled" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             v-model:file-list="fileList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             action="https://up-z2.qiniup.com" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             list-type="picture-card" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -319,9 +402,10 @@ const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <img w-full :src="dialogImageUrl" class="full-img" alt="Preview Image" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </el-dialog> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item label="内容:" :label-width="formLabelWidth"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-form-item label="内容:" :label-width="formLabelWidth" prop="T_text"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-input 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             v-model="form.T_text" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :disabled="disabled" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             autocomplete="off" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             type="textarea" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             :autosize="{ minRows: 4, maxRows: 6 }" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -329,10 +413,18 @@ const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <el-form-item label="审批:" :label-width="formLabelWidth" prop="T_approver"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-input v-model="form.T_approver" autocomplete="off" placeholder="审批人" @focus="selectApprover" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-input 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :disabled="disabled" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-model="form.T_approver" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            autocomplete="off" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            placeholder="审批人" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @focus="selectApprover" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <el-form-item :label-width="formLabelWidth"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-button v-if="isNew" color="#626aef" @click="AddOvertime(ruleFormRef)">添加</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-button v-if="isNew" color="#626aef" @click="AddOvertime(ruleFormRef)" :disabled="disabled" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            >添加</el-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-button v-else color="#626aef" @click="AddOvertime(ruleFormRef)">修改</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </el-form> 
			 |