diff --git a/src/api/business/penalty-apply/penalty-apply-api.js b/src/api/business/penalty-apply/penalty-apply-api.js
new file mode 100644
index 0000000..d18bc47
--- /dev/null
+++ b/src/api/business/penalty-apply/penalty-apply-api.js
@@ -0,0 +1,48 @@
+/**
+ * 无处罚证明申请主表 api 封装
+ *
+ * @Author: wzh
+ * @Date: 2026-01-07 21:36:44
+ * @Copyright 1.0
+ */
+import { postRequest, getRequest } from '/@/lib/axios';
+
+export const penaltyApplyApi = {
+
+ /**
+ * 分页查询 @author wzh
+ */
+ queryPage : (param) => {
+ return postRequest('/penaltyApply/queryPage', param);
+ },
+
+ /**
+ * 增加 @author wzh
+ */
+ add: (param) => {
+ return postRequest('/penaltyApply/add', param);
+ },
+
+ /**
+ * 修改 @author wzh
+ */
+ update: (param) => {
+ return postRequest('/penaltyApply/update', param);
+ },
+
+
+ /**
+ * 删除 @author wzh
+ */
+ delete: (id) => {
+ return getRequest(`/penaltyApply/delete/${id}`);
+ },
+
+ /**
+ * 批量删除 @author wzh
+ */
+ batchDelete: (idList) => {
+ return postRequest('/penaltyApply/batchDelete', idList);
+ },
+
+};
diff --git a/src/views/business/erp/penalty-apply/penalty-apply-form.vue b/src/views/business/erp/penalty-apply/penalty-apply-form.vue
new file mode 100644
index 0000000..1a7b811
--- /dev/null
+++ b/src/views/business/erp/penalty-apply/penalty-apply-form.vue
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 提交申请
+
+
+
+
+
diff --git a/src/views/business/erp/penalty-apply/penalty-apply-list.vue b/src/views/business/erp/penalty-apply/penalty-apply-list.vue
new file mode 100644
index 0000000..c7a9dcb
--- /dev/null
+++ b/src/views/business/erp/penalty-apply/penalty-apply-list.vue
@@ -0,0 +1,390 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 全部
+
+ {{ status.desc }}
+
+
+
+
+
+
+
+
+ 查询
+
+
+
+
+
+ 重置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 新建
+
+
+
+
+
+ 批量删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+ 拒绝
+
+
+
+
+
+
+
+