| 
					
				 | 
			
			
				@@ -1,30 +1,52 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   <div class="mod-demo__leaveapplication"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <el-form :inline="true" :model="state.dataForm" @keyup.enter="state.getDataList()"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-input v-model="state.dataForm.creator" placeholder="姓名" clearable></el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-button @click="state.getDataList()">查询</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <el-button v-if="state.hasPermission('emergency:leaveapplication:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <el-button v-if="state.hasPermission('emergency:leaveapplication:delete')" type="danger" @click="state.deleteHandle()">删除</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <!-- 审阅 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       <el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-button v-if="state.hasPermission('emergency:leaveapplication:review')" type="danger" @click="reviewHandle()">审阅</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-button v-if="state.hasPermission('emergency:leaveapplication:export')" type="info" @click="state.exportHandle()">导出</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </el-form> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <el-table v-loading="state.dataListLoading" :data="state.dataList" border @selection-change="state.dataListSelectionChangeHandle" style="width: 100%"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <el-table-column prop="id" label="请假单ID" header-align="center" align="center"></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-table-column prop="leaveType" label="请假类型" header-align="center" align="center"></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-table-column prop="leaveType" label="请假类型" header-align="center" align="center"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <template v-slot="scope"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  {{ state.getDictLabel("askLeave", scope.row.leaveType) }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <el-table-column prop="startTime" label="开始时间" header-align="center" align="center"></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <el-table-column prop="endTime" label="结束时间" header-align="center" align="center"></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-table-column prop="status" label="审批状态" header-align="center" align="center"></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-table-column prop="status" label="审批状态" header-align="center" align="center"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <template v-slot="scope"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  {{ state.getDictLabel("approvalStatus", scope.row.status) }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <el-table-column prop="approvalComment" label="审批意见" header-align="center" align="center"></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <el-table-column prop="creator" label="创建人" header-align="center" align="center"></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <el-table-column prop="createDate" label="创建时间" header-align="center" align="center"></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <el-table-column prop="updater" label="更新人" header-align="center" align="center"></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <el-table-column prop="updateDate" label="更新时间" header-align="center" align="center"></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <el-table-column prop="remark" label="备注" header-align="center" align="center"></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-table-column label="操作" fixed="right" header-align="center" align="center" width="150"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table-column label="操作" fixed="right" header-align="center" align="center" width="180"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <template v-slot="scope"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-button v-if="state.hasPermission('emergency:leaveapplication:update')" type="primary" link @click="addOrUpdateHandle(scope.row.id)">修改</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-button v-if="state.hasPermission('emergency:leaveapplication:delete')" type="primary" link @click="state.deleteHandle(scope.row.id)">删除</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-button v-if="state.hasPermission('emergency:leaveapplication:review')" type="primary" link @click="reviewHandle(scope.row.id)">审阅</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </el-table> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -37,6 +59,8 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script lang="ts" setup> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import useView from "@/hooks/useView"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { reactive, ref, toRefs } from "vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import baseService from "@/service/baseService"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { ElMessage, ElMessageBox } from "element-plus"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import AddOrUpdate from "./leaveapplication-add-or-update.vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const view = reactive({ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -53,4 +77,38 @@ const addOrUpdateRef = ref(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const addOrUpdateHandle = (id?: number) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   addOrUpdateRef.value.init(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 审阅 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const reviewHandle = (id?: string) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (!id && state.dataListSelections && state.dataListSelections.length <= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return ElMessage({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      message: "请选择操作项", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: "warning", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      duration: 500 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const reviewData = id  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ? { id: Number(id)}  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    : (state.dataListSelections || []).map((item: IObject) => {return { id: item.id};}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ElMessageBox.confirm("确定进行[审阅]操作?", "提示", { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    confirmButtonText: "确定", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cancelButtonText: "取消", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: "warning" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .then(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      baseService.put("/emergency/leaveapplication/review", reviewData).then((res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ElMessage.success({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          message: "审阅成功", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          duration: 500, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          onClose: () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            state.getDataList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .catch(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 |