diff --git a/dist.zip b/dist.zip
deleted file mode 100644
index 2487246..0000000
Binary files a/dist.zip and /dev/null differ
diff --git a/src/api/business/cost/firm-reports-api.js b/src/api/business/cost/firm-reports-api.js
index a1aec8e..568f88b 100644
--- a/src/api/business/cost/firm-reports-api.js
+++ b/src/api/business/cost/firm-reports-api.js
@@ -80,4 +80,18 @@ export const firmReportsApi = {
return postRequest('/firmReports/reject', idList);
},
+ /**
+ * 提交前预检查 @author wzh
+ */
+ preCommitCheck: (idList) => {
+ return postRequest('/firmReports/preCommitCheck', idList);
+ },
+
+ /**
+ * 批量创建缺失季度记录 @author wzh
+ */
+ batchCreateMissing: (param) => {
+ return postRequest('/firmReports/batchCreateMissing', param);
+ },
+
};
diff --git a/src/views/business/erp/cost/firm-reports-list.vue b/src/views/business/erp/cost/firm-reports-list.vue
index 55782c9..dc61ab0 100644
--- a/src/views/business/erp/cost/firm-reports-list.vue
+++ b/src/views/business/erp/cost/firm-reports-list.vue
@@ -119,7 +119,32 @@
+ 提交{{ quarterYear }}年第{{ quarterCurrentQuarter }}季度前,以下季度成本报表尚未提交:
+ 勾选需要创建的季度,取消勾选则跳过。创建后请逐季度填写收入后提交。
| 序号 | +律所名称 | 律师名称 | @@ -84,6 +85,7 @@||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| {{ index + 1 }} | +{{ record.firmName || '-' }} | {{ record.lawyerName }} | @@ -98,6 +100,7 @@ | |||||||
| - | +- | 合计 | @@ -355,6 +358,7 @@ const row = { lawyerId: item.userId, lawyerName: item.lawyerName, + firmName: item.firmName, totalCount: item.totalCount || 0 }; @@ -479,9 +483,19 @@ padding: 8px 2px !important; } +/* 左侧固定列 - 律所名称 */ +.firm-name-col { + left: 40px; + width: 150px !important; + min-width: 150px !important; + max-width: 150px !important; + z-index: 3; + padding: 8px 6px !important; +} + /* 左侧固定列 - 律师名称 */ .fixed-left { - left: 40px; + left: 190px; } /* 右侧固定列 */ @@ -499,6 +513,14 @@ color: #333; } +.data-firm-name { + color: #555; + font-size: 12px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + .total-count { font-weight: 700; color: #333; diff --git a/src/views/business/erp/service/service-applications-list.vue b/src/views/business/erp/service/service-applications-list.vue index ed0c24d..ab7d2dd 100644 --- a/src/views/business/erp/service/service-applications-list.vue +++ b/src/views/business/erp/service/service-applications-list.vue @@ -346,6 +346,7 @@ import { loginApi } from '/@/api/system/login-api'; import { firmReportsApi } from '/@/api/business/cost/firm-reports-api'; import AgreementModal from '/@/views/system/home/components/agreement-modal.vue'; import { getRoleInfo } from '/@/utils/role-util'; +import dayjs from 'dayjs'; // ---------------------------- 表格列 ---------------------------- const columns = ref([ @@ -883,21 +884,30 @@ import { getRoleInfo } from '/@/utils/role-util'; // 处理执业机构审核时间范围 if (params.firmAuditTimeRange && params.firmAuditTimeRange.length === 2) { - processedParams.firmAuditTimeStart = params.firmAuditTimeRange[0]; - processedParams.firmAuditTimeEnd = params.firmAuditTimeRange[1]; + processedParams.firmAuditTimeStart = formatQueryTime(params.firmAuditTimeRange[0], 'start'); + processedParams.firmAuditTimeEnd = formatQueryTime(params.firmAuditTimeRange[1], 'end'); delete processedParams.firmAuditTimeRange; } // 处理协会审核时间范围 if (params.associationAuditTimeRange && params.associationAuditTimeRange.length === 2) { - processedParams.associationAuditTimeStart = params.associationAuditTimeRange[0]; - processedParams.associationAuditTimeEnd = params.associationAuditTimeRange[1]; + processedParams.associationAuditTimeStart = formatQueryTime(params.associationAuditTimeRange[0], 'start'); + processedParams.associationAuditTimeEnd = formatQueryTime(params.associationAuditTimeRange[1], 'end'); delete processedParams.associationAuditTimeRange; } return processedParams; } + function formatQueryTime(value, boundary) { + if (!value) { + return undefined; + } + const date = dayjs(value); + const normalized = boundary === 'end' ? date.endOf('day') : date.startOf('day'); + return normalized.format('YYYY-MM-DD HH:mm:ss'); + } + // 搜索 function onSearch(){ queryForm.pageNum = 1; diff --git a/src/views/business/erp/service/service-applications-report-list.vue b/src/views/business/erp/service/service-applications-report-list.vue index f220a3e..16cfe3f 100644 --- a/src/views/business/erp/service/service-applications-report-list.vue +++ b/src/views/business/erp/service/service-applications-report-list.vue @@ -263,6 +263,7 @@ import { REVIEW_ENUM,SERVICEC_REVIEW_ENUM } from '/@/constants/system/review-con import { PlusOutlined, DeleteOutlined, SendOutlined, ImportOutlined, ExportOutlined, DownloadOutlined, UploadOutlined, CheckCircleOutlined } from '@ant-design/icons-vue'; import { loginApi } from '/@/api/system/login-api'; import AgreementModal from '/@/views/system/home/components/agreement-modal.vue'; +import dayjs from 'dayjs'; import { getRoleInfo } from '/@/utils/role-util'; // ---------------------------- 表格列 ---------------------------- @@ -652,21 +653,30 @@ import { getRoleInfo } from '/@/utils/role-util'; // 处理执业机构审核时间范围 if (params.firmAuditTimeRange && params.firmAuditTimeRange.length === 2) { - processedParams.firmAuditTimeStart = params.firmAuditTimeRange[0]; - processedParams.firmAuditTimeEnd = params.firmAuditTimeRange[1]; + processedParams.firmAuditTimeStart = formatQueryTime(params.firmAuditTimeRange[0], 'start'); + processedParams.firmAuditTimeEnd = formatQueryTime(params.firmAuditTimeRange[1], 'end'); delete processedParams.firmAuditTimeRange; } // 处理协会审核时间范围 if (params.associationAuditTimeRange && params.associationAuditTimeRange.length === 2) { - processedParams.associationAuditTimeStart = params.associationAuditTimeRange[0]; - processedParams.associationAuditTimeEnd = params.associationAuditTimeRange[1]; + processedParams.associationAuditTimeStart = formatQueryTime(params.associationAuditTimeRange[0], 'start'); + processedParams.associationAuditTimeEnd = formatQueryTime(params.associationAuditTimeRange[1], 'end'); delete processedParams.associationAuditTimeRange; } return processedParams; } + function formatQueryTime(value, boundary) { + if (!value) { + return undefined; + } + const date = dayjs(value); + const normalized = boundary === 'end' ? date.endOf('day') : date.startOf('day'); + return normalized.format('YYYY-MM-DD HH:mm:ss'); + } + // 搜索 function onSearch(){ queryForm.pageNum = 1; diff --git a/src/views/mobile/service/detail.vue b/src/views/mobile/service/detail.vue index 7f53dc4..fbc695a 100644 --- a/src/views/mobile/service/detail.vue +++ b/src/views/mobile/service/detail.vue @@ -1024,7 +1024,7 @@ async function handleSubmit() { status: 1 // 提交状态 } - const res = await serviceApplicationsApi.submit(form.applicationId) + const res = await serviceApplicationsApi.submit(submitData) if (res.code === 0) { message.success('申报提交成功') @@ -1313,4 +1313,4 @@ onMounted(() => { padding: 12px; } } - \ No newline at end of file + diff --git a/vite.config.js b/vite.config.js index e722064..b4a3246 100644 --- a/vite.config.js +++ b/vite.config.js @@ -35,20 +35,20 @@ export default { proxy: { // 代理API路径 '/api': { - target: 'http://8.148.67.92:8080/', // 目标服务器地址 - //target: 'http://127.0.0.1:8080/', + //target: 'http://8.148.67.92:8080/', // 目标服务器地址 + target: 'http://127.0.0.1:8080/', changeOrigin: true, // 是否修改请求头中的 Origin 字段 rewrite: (path) => path.replace(/^\/api/, ''), // 重写路径 }, '/login': { - target: 'http://8.148.67.92:8080/', // 目标服务器地址 - //target: 'http://127.0.0.1:8080/', + //target: 'http://8.148.67.92:8080/', // 目标服务器地址 + target: 'http://127.0.0.1:8080/', changeOrigin: true, // 是否修改请求头中的 Origin 字段 rewrite: (path) => path.replace(/^\/api/, ''), // 重写路径 }, '/mobile/login': { - target: 'http://8.148.67.92:8080/', // 目标服务器地址 - //target: 'http://127.0.0.1:8080/', + //target: 'http://8.148.67.92:8080/', // 目标服务器地址 + target: 'http://127.0.0.1:8080/', changeOrigin: true, // 是否修改请求头中的 Origin 字段 rewrite: (path) => path.replace(/^\/api/, ''), // 重写路径 }, |