diff --git a/dist.zip b/dist.zip index d54d22c..f87c75b 100644 Binary files a/dist.zip and b/dist.zip differ diff --git a/src/api/business/letter/letter-api.js b/src/api/business/letter/letter-api.js index 729ea23..8405186 100644 --- a/src/api/business/letter/letter-api.js +++ b/src/api/business/letter/letter-api.js @@ -44,6 +44,13 @@ export const letterApi = { return getRequest(`/letter/isLetter/${userId}`); }, + /** + * 检查用户是否已签署律所承诺书 @author wzh + */ + isLetterDept: (userId) => { + return getRequest(`/letter/isLetterDept/${userId}`); + }, + /** * 查询所有承诺书 @author wzh */ diff --git a/src/components/system/service-count/excel-statistics-detail.vue b/src/components/system/service-count/excel-statistics-detail.vue index 5cd213d..ccb780d 100644 --- a/src/components/system/service-count/excel-statistics-detail.vue +++ b/src/components/system/service-count/excel-statistics-detail.vue @@ -193,17 +193,16 @@ async function handleQuery() { queryLoading.value = true; try { const params = { - ...localQueryForm, - pageNum: 1, - pageSize: 500 // 查询所有数据 + ...localQueryForm + // 去除分页参数,直接查询所有数据 }; // 调用律师统计接口 const res = await serviceApplicationsApi.statistics(params); console.log('律师统计查询结果:', res); - if (res.data && res.data.list && Array.isArray(res.data.list)) { - tableData.value = res.data.list.map(item => ({ + if (res.data && Array.isArray(res.data)) { + tableData.value = res.data.map(item => ({ ...item, // 根据实际返回字段映射 lawyerName: item.lawyerName || '-', diff --git a/src/components/system/service-count/firm-statistics-detail.vue b/src/components/system/service-count/firm-statistics-detail.vue index fa066f1..2203175 100644 --- a/src/components/system/service-count/firm-statistics-detail.vue +++ b/src/components/system/service-count/firm-statistics-detail.vue @@ -225,9 +225,8 @@ async function handleExport() { const exportParams = { quarter: props.params.quarter, year: props.params.year, - firmId: props.params.firmId, - pageNum: 1, - pageSize: 500 + firmId: props.params.firmId + // 去除分页参数,导出所有数据 }; await serviceApplicationsApi.exportLawyer(exportParams); diff --git a/src/constants/system/review-const.js b/src/constants/system/review-const.js index a1c7bc9..1ff7e1d 100644 --- a/src/constants/system/review-const.js +++ b/src/constants/system/review-const.js @@ -44,6 +44,10 @@ export const QUARTER_ENUM = { * 服务审核状态 */ export const SERVICEC_REVIEW_ENUM = { + NOSUBMIT: { + value: 0, + desc: '未提交', + }, APPROVAL: { value: 1, desc: '待审核', diff --git a/src/views/business/erp/letter/letter-list.vue b/src/views/business/erp/letter/letter-list.vue index 1f2c029..5dcc1a4 100644 --- a/src/views/business/erp/letter/letter-list.vue +++ b/src/views/business/erp/letter/letter-list.vue @@ -319,7 +319,7 @@ import AgreementModal from '/@/views/system/home/components/agreement.vue'; async function handleFirmUpload() { try { // 在点击上传按钮时立即检查用户是否已签署承诺书 - const hasSigned = await checkUserSigned(); + const hasSigned = await checkUserSigned('cto'); if (hasSigned) { message.warning('您已经签署过律所承诺书,无需重复上传'); return; @@ -543,7 +543,7 @@ import AgreementModal from '/@/views/system/home/components/agreement.vue'; } // 检查用户是否已签署承诺书 - async function checkUserSigned() { + async function checkUserSigned(letterType = 'user') { try { // 先获取当前登录用户信息 const loginRes = await loginApi.getLoginInfo(); @@ -554,8 +554,17 @@ import AgreementModal from '/@/views/system/home/components/agreement.vue'; return false; } - // 使用正确的后端接口检查签约状态 - const res = await letterApi.isLetter(loginInfo.employeeId); + // 根据承诺书类型调用不同的接口 + let apiCall; + if (letterType === 'cto') { + // 律所承诺书 + apiCall = letterApi.isLetterDept(loginInfo.employeeId); + } else { + // 律师承诺书(默认) + apiCall = letterApi.isLetter(loginInfo.employeeId); + } + + const res = await apiCall; if (res.code === 0 && res.data !== undefined) { // 接口返回true代表已签约,false代表未签约 return res.data === true; diff --git a/src/views/business/erp/penalty-apply/penalty-apply-list.vue b/src/views/business/erp/penalty-apply/penalty-apply-list.vue index ce360de..8b35d20 100644 --- a/src/views/business/erp/penalty-apply/penalty-apply-list.vue +++ b/src/views/business/erp/penalty-apply/penalty-apply-list.vue @@ -9,7 +9,7 @@ - + @@ -45,11 +45,17 @@
- + - 新建 + 申请律师无处罚证明 + + + + 申请律所无处罚证明
@@ -249,6 +255,21 @@ import PenaltyApplyForm from './penalty-apply-form.vue'; dataIndex: 'userName', ellipsis: true, }, + { + title: '无处罚证明类型', + dataIndex: 'type', + ellipsis: true, + customRender: ({ text, record }) => { + // 根据type字段值显示对应的证明类型 + if (text === 'cto') { + return '律所无处罚证明'; + } else if (text === 'user') { + return '律师无处罚证明'; + } else { + return text || '未知类型'; + } + }, + }, { title: '申请日期', dataIndex: 'applyDate', @@ -403,8 +424,10 @@ import PenaltyApplyForm from './penalty-apply-form.vue'; // ---------------------------- 添加/修改 ---------------------------- const formRef = ref(); - function showForm(data) { - formRef.value.show(data); + function showForm(type, data) { + // 将type参数传递给表单组件 + const formData = data ? { ...data, type } : { type }; + formRef.value.show(formData); } // ---------------------------- 单个删除 ---------------------------- diff --git a/src/views/business/erp/service/service-applications-list.vue b/src/views/business/erp/service/service-applications-list.vue index 6aab634..caa8ee4 100644 --- a/src/views/business/erp/service/service-applications-list.vue +++ b/src/views/business/erp/service/service-applications-list.vue @@ -644,6 +644,12 @@ import AgreementModal from '/@/views/system/home/components/agreement-modal.vue' return; } + // 检查律所承诺书签署状态 + if (loginInfo.value && loginInfo.value.lawFirmAgreementSignFlag === false) { + message.warning('您尚未签署律所承诺书,无法进行服务上报。请先签署律所承诺书。'); + return; + } + // 检查选中的记录是否符合上报条件 const canReportRecords = tableData.value.filter(record => selectedRowKeyList.value.includes(record.applicationId) && canReportRecord(record) 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 d289f5c..c71ce5b 100644 --- a/src/views/business/erp/service/service-applications-report-list.vue +++ b/src/views/business/erp/service/service-applications-report-list.vue @@ -775,7 +775,7 @@ onMounted(async () => { // 未签约,提示用户下载承诺书并签约 Modal.warning({ title: '提示', - content: '您尚未签署承诺书,无法进行服务申报。请先下载承诺书进行签约并上传。', + content: '您尚未签署律师承诺书,无法进行服务申报。请先下载承诺书进行签约并上传。', okText: '知道了', }); } diff --git a/src/views/mobile/service/create.vue b/src/views/mobile/service/create.vue index 9bccf8a..09e20e4 100644 --- a/src/views/mobile/service/create.vue +++ b/src/views/mobile/service/create.vue @@ -716,13 +716,13 @@ function removeFile(fileId) { async function handleSave() { // 再次检查用户是否已签约承诺书(双重保险) if (!agreementSigned.value) { - message.warning('您尚未签署承诺书,无法进行服务申报。请先签署承诺书。') + message.warning('您尚未签署律师承诺书,无法进行服务申报。请先签署承诺书。') return } // 再次检查用户是否已签约承诺书(双重保险) if (!agreementSigned.value) { - message.warning('您尚未签署承诺书,无法进行服务申报。请先签署承诺书。') + message.warning('您尚未签署律师承诺书,无法进行服务申报。请先签署承诺书。') return } @@ -1054,13 +1054,7 @@ async function loadDraftData(applicationId) { currentActivity.value = selectedActivity currentActivityType.value = selectedActivity.timeType || '' form.serviceType = selectedActivity.timeType || '' - console.log('更新后的活动类型:', currentActivityType.value) - console.log('更新后的活动信息:', currentActivity.value) - console.log('表单中的服务时长:', form.serviceDuration) - console.log('表单中的案件编号:', form.recordNo) } else { - console.log('未找到对应的活动,活动名称ID:', form.activityNameId) - console.log('活动列表:', activityList.value) } } else { console.log('活动名称ID或活动列表为空:', form.activityNameId, activityList.value.length) @@ -1091,7 +1085,7 @@ onMounted(async () => { // 首先检查用户签约状态 const isSigned = await getUserInfo() if (!isSigned) { - message.warning('您尚未签署承诺书,无法进行服务申报。请先签署承诺书。') + message.warning('您尚未签署律师承诺书,无法进行服务申报。请先签署承诺书。') // 延迟后返回上一页 setTimeout(() => { router.back() diff --git a/src/views/mobile/service/detail.vue b/src/views/mobile/service/detail.vue index fe2b070..e9d92e5 100644 --- a/src/views/mobile/service/detail.vue +++ b/src/views/mobile/service/detail.vue @@ -825,13 +825,13 @@ async function handleSave() { // 检查用户是否已签约承诺书 if (!agreementSigned.value) { - message.warning('您尚未签署承诺书,无法进行操作。请先签署承诺书。') + message.warning('您尚未签署律师承诺书,无法进行操作。请先签署承诺书。') return } // 检查用户是否已签约承诺书 if (!agreementSigned.value) { - message.warning('您尚未签署承诺书,无法进行操作。请先签署承诺书。') + message.warning('您尚未签署律师承诺书,无法进行操作。请先签署承诺书。') return }