diff --git a/.gitignore b/.gitignore index 77addfc6..a74b29aa 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,5 @@ /.idea /niucloud/runtime /niucloud/vendor +/niucloud/config +config diff --git a/admin/.env.development b/admin/.env.development new file mode 100644 index 00000000..85db1e27 --- /dev/null +++ b/admin/.env.development @@ -0,0 +1,8 @@ +# api请求地址 +VITE_APP_BASE_URL='http://zhjwxt.cc/adminapi/' + +# 图片服务器地址 +VITE_IMG_DOMAIN='' + +# 请求时header中token的参数名 +VITE_REQUEST_HEADER_TOKEN_KEY='token' diff --git a/admin/.env.production b/admin/.env.production new file mode 100644 index 00000000..5f49894b --- /dev/null +++ b/admin/.env.production @@ -0,0 +1,9 @@ +# api请求地址 +VITE_APP_BASE_URL='http://146.56.228.75:20024/adminapi/' +# VITE_APP_BASE_URL='https://zh.hnhbty.cn/adminapi/' + +# 图片服务器地址 +VITE_IMG_DOMAIN='' + +# 请求时header中token的参数名 +VITE_REQUEST_HEADER_TOKEN_KEY='token' diff --git a/admin/.gitignore b/admin/.gitignore index 080363dd..a547bf36 100644 --- a/admin/.gitignore +++ b/admin/.gitignore @@ -22,7 +22,3 @@ dist-ssr *.njsproj *.sln *.sw? -.env.development -.env.production -auto-imports.d.ts -components.d.ts diff --git a/admin/auto-imports.d.ts b/admin/auto-imports.d.ts new file mode 100644 index 00000000..a51b7a66 --- /dev/null +++ b/admin/auto-imports.d.ts @@ -0,0 +1,5 @@ +// Generated by 'unplugin-auto-import' +export {} +declare global { + const ElNotification: typeof import('element-plus/es')['ElNotification'] +} diff --git a/admin/components.d.ts b/admin/components.d.ts index d96bd30e..b8e1aa56 100644 --- a/admin/components.d.ts +++ b/admin/components.d.ts @@ -10,56 +10,8 @@ declare module '@vue/runtime-core' { Attachment: typeof import('./src/components/upload-attachment/attachment.vue')['default'] DiyLink: typeof import('./src/components/diy-link/index.vue')['default'] Editor: typeof import('./src/components/editor/index.vue')['default'] - ElAside: typeof import('element-plus/es')['ElAside'] - ElAvatar: typeof import('element-plus/es')['ElAvatar'] - ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb'] - ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem'] - ElButton: typeof import('element-plus/es')['ElButton'] - ElCard: typeof import('element-plus/es')['ElCard'] - ElCheckbox: typeof import('element-plus/es')['ElCheckbox'] - ElCol: typeof import('element-plus/es')['ElCol'] - ElCollapse: typeof import('element-plus/es')['ElCollapse'] - ElCollapseItem: typeof import('element-plus/es')['ElCollapseItem'] - ElColorPicker: typeof import('element-plus/es')['ElColorPicker'] ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider'] ElContainer: typeof import('element-plus/es')['ElContainer'] - ElDatePicker: typeof import('element-plus/es')['ElDatePicker'] - ElDialog: typeof import('element-plus/es')['ElDialog'] - ElDrawer: typeof import('element-plus/es')['ElDrawer'] - ElDropdown: typeof import('element-plus/es')['ElDropdown'] - ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem'] - ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu'] - ElForm: typeof import('element-plus/es')['ElForm'] - ElFormItem: typeof import('element-plus/es')['ElFormItem'] - ElHeader: typeof import('element-plus/es')['ElHeader'] - ElIcon: typeof import('element-plus/es')['ElIcon'] - ElImage: typeof import('element-plus/es')['ElImage'] - ElImageViewer: typeof import('element-plus/es')['ElImageViewer'] - ElInput: typeof import('element-plus/es')['ElInput'] - ElInputNumber: typeof import('element-plus/es')['ElInputNumber'] - ElMain: typeof import('element-plus/es')['ElMain'] - ElMenu: typeof import('element-plus/es')['ElMenu'] - ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] - ElOption: typeof import('element-plus/es')['ElOption'] - ElPageHeader: typeof import('element-plus/es')['ElPageHeader'] - ElPagination: typeof import('element-plus/es')['ElPagination'] - ElPopover: typeof import('element-plus/es')['ElPopover'] - ElRadio: typeof import('element-plus/es')['ElRadio'] - ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup'] - ElRow: typeof import('element-plus/es')['ElRow'] - ElScrollbar: typeof import('element-plus/es')['ElScrollbar'] - ElSelect: typeof import('element-plus/es')['ElSelect'] - ElSubMenu: typeof import('element-plus/es')['ElSubMenu'] - ElSwitch: typeof import('element-plus/es')['ElSwitch'] - ElTable: typeof import('element-plus/es')['ElTable'] - ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] - ElTabPane: typeof import('element-plus/es')['ElTabPane'] - ElTabs: typeof import('element-plus/es')['ElTabs'] - ElTag: typeof import('element-plus/es')['ElTag'] - ElTimeSelect: typeof import('element-plus/es')['ElTimeSelect'] - ElTooltip: typeof import('element-plus/es')['ElTooltip'] - ElTree: typeof import('element-plus/es')['ElTree'] - ElUpload: typeof import('element-plus/es')['ElUpload'] ExportSure: typeof import('./src/components/export-sure/index.vue')['default'] HeatMap: typeof import('./src/components/heat-map/index.vue')['default'] Icon: typeof import('./src/components/icon/index.vue')['default'] @@ -80,7 +32,4 @@ declare module '@vue/runtime-core' { VideoPlayer: typeof import('./src/components/video-player/index.vue')['default'] WebLink: typeof import('./src/components/web-link/web-link.vue')['default'] } - export interface ComponentCustomProperties { - vLoading: typeof import('element-plus/es')['ElLoadingDirective'] - } } diff --git a/admin/src/app/api/campus_pay.ts b/admin/src/app/api/campus_pay.ts new file mode 100644 index 00000000..127684bf --- /dev/null +++ b/admin/src/app/api/campus_pay.ts @@ -0,0 +1,60 @@ +import request from '@/utils/request' + + + + + + + +// USER_CODE_BEGIN -- campus_pay +/** + * 获取账户及资金管理列表 + * @param params + * @returns + */ +export function getCampusPayList(params: Record) { + return request.get(`campus_pay/campus_pay`, {params}) +} + +/** + * 获取账户及资金管理详情 + * @param id 账户及资金管理id + * @returns + */ +export function getCampusPayInfo(id: number) { + return request.get(`campus_pay/campus_pay/${id}`); +} + +/** + * 添加账户及资金管理 + * @param params + * @returns + */ +export function addCampusPay(params: Record) { + return request.post('campus_pay/campus_pay', params, { showErrorMessage: true, showSuccessMessage: true }) +} + +/** + * 编辑账户及资金管理 + * @param id + * @param params + * @returns + */ +export function editCampusPay(params: Record) { + return request.put(`campus_pay/campus_pay/${params.id}`, params, { showErrorMessage: true, showSuccessMessage: true }) +} + +/** + * 删除账户及资金管理 + * @param id + * @returns + */ +export function deleteCampusPay(id: number) { + return request.delete(`campus_pay/campus_pay/${id}`, { showErrorMessage: true, showSuccessMessage: true }) +} + +export function getWithCampusList(params: Record){ + return request.get('campus_pay/campus_all', {params}) +} + +// USER_CODE_END -- campus_pay diff --git a/admin/src/app/api/reimbursement.ts b/admin/src/app/api/reimbursement.ts index b39e5216..dbe9d5b9 100644 --- a/admin/src/app/api/reimbursement.ts +++ b/admin/src/app/api/reimbursement.ts @@ -1,5 +1,13 @@ import request from '@/utils/request' + + + + + + + + // USER_CODE_BEGIN -- reimbursement /** * 获取报销记录列表 @@ -7,7 +15,7 @@ import request from '@/utils/request' * @returns */ export function getReimbursementList(params: Record) { - return request.get(`reimbursement/reimbursement`, { params }) + return request.get(`reimbursement/reimbursement`, {params}) } /** @@ -16,7 +24,7 @@ export function getReimbursementList(params: Record) { * @returns */ export function getReimbursementInfo(id: number) { - return request.get(`reimbursement/reimbursement/${id}`) + return request.get(`reimbursement/reimbursement/${id}`); } /** @@ -25,10 +33,7 @@ export function getReimbursementInfo(id: number) { * @returns */ export function addReimbursement(params: Record) { - return request.post('reimbursement/reimbursement', params, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.post('reimbursement/reimbursement', params, { showErrorMessage: true, showSuccessMessage: true }) } /** @@ -38,10 +43,7 @@ export function addReimbursement(params: Record) { * @returns */ export function editReimbursement(params: Record) { - return request.put(`reimbursement/reimbursement/${params.id}`, params, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.put(`reimbursement/reimbursement/${params.id}`, params, { showErrorMessage: true, showSuccessMessage: true }) } /** @@ -50,10 +52,11 @@ export function editReimbursement(params: Record) { * @returns */ export function deleteReimbursement(id: number) { - return request.delete(`reimbursement/reimbursement/${id}`, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.delete(`reimbursement/reimbursement/${id}`, { showErrorMessage: true, showSuccessMessage: true }) +} + +export function getWithPersonnelList(params: Record){ + return request.get('reimbursement/personnel_all', {params}) } // USER_CODE_END -- reimbursement diff --git a/admin/src/app/api/salary.ts b/admin/src/app/api/salary.ts index 832f43ef..1595835c 100644 --- a/admin/src/app/api/salary.ts +++ b/admin/src/app/api/salary.ts @@ -1,5 +1,13 @@ import request from '@/utils/request' + + + + + + + + // USER_CODE_BEGIN -- salary /** * 获取工资列表 @@ -7,7 +15,7 @@ import request from '@/utils/request' * @returns */ export function getSalaryList(params: Record) { - return request.get(`salary/salary`, { params }) + return request.get(`salary/salary`, {params}) } /** @@ -16,7 +24,7 @@ export function getSalaryList(params: Record) { * @returns */ export function getSalaryInfo(id: number) { - return request.get(`salary/salary/${id}`) + return request.get(`salary/salary/${id}`); } /** @@ -25,10 +33,7 @@ export function getSalaryInfo(id: number) { * @returns */ export function addSalary(params: Record) { - return request.post('salary/salary', params, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.post('salary/salary', params, { showErrorMessage: true, showSuccessMessage: true }) } /** @@ -38,10 +43,7 @@ export function addSalary(params: Record) { * @returns */ export function editSalary(params: Record) { - return request.put(`salary/salary/${params.id}`, params, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.put(`salary/salary/${params.id}`, params, { showErrorMessage: true, showSuccessMessage: true }) } /** @@ -50,10 +52,13 @@ export function editSalary(params: Record) { * @returns */ export function deleteSalary(id: number) { - return request.delete(`salary/salary/${id}`, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.delete(`salary/salary/${id}`, { showErrorMessage: true, showSuccessMessage: true }) +} + +export function getWithPersonnelList(params: Record){ + return request.get('salary/personnel_all', {params}) +}export function getWithDepartmentsList(params: Record){ + return request.get('salary/departments_all', {params}) } // USER_CODE_END -- salary diff --git a/admin/src/app/api/service.ts b/admin/src/app/api/service.ts index 9fcbb5e4..a9b01e82 100644 --- a/admin/src/app/api/service.ts +++ b/admin/src/app/api/service.ts @@ -1,5 +1,7 @@ import request from '@/utils/request' + + // USER_CODE_BEGIN -- service /** * 获取服务列表 @@ -7,7 +9,7 @@ import request from '@/utils/request' * @returns */ export function getServiceList(params: Record) { - return request.get(`service/service`, { params }) + return request.get(`service/service`, {params}) } /** @@ -16,7 +18,7 @@ export function getServiceList(params: Record) { * @returns */ export function getServiceInfo(id: number) { - return request.get(`service/service/${id}`) + return request.get(`service/service/${id}`); } /** @@ -25,10 +27,7 @@ export function getServiceInfo(id: number) { * @returns */ export function addService(params: Record) { - return request.post('service/service', params, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.post('service/service', params, { showErrorMessage: true, showSuccessMessage: true }) } /** @@ -38,10 +37,7 @@ export function addService(params: Record) { * @returns */ export function editService(params: Record) { - return request.put(`service/service/${params.id}`, params, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.put(`service/service/${params.id}`, params, { showErrorMessage: true, showSuccessMessage: true }) } /** @@ -50,10 +46,9 @@ export function editService(params: Record) { * @returns */ export function deleteService(id: number) { - return request.delete(`service/service/${id}`, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.delete(`service/service/${id}`, { showErrorMessage: true, showSuccessMessage: true }) } + + // USER_CODE_END -- service diff --git a/admin/src/app/api/user_feedback.ts b/admin/src/app/api/user_feedback.ts index c6a55bfc..68e0cabf 100644 --- a/admin/src/app/api/user_feedback.ts +++ b/admin/src/app/api/user_feedback.ts @@ -1,5 +1,7 @@ import request from '@/utils/request' + + // USER_CODE_BEGIN -- user_feedback /** * 获取用户反馈信息列表 @@ -7,7 +9,7 @@ import request from '@/utils/request' * @returns */ export function getUserFeedbackList(params: Record) { - return request.get(`user_feedback/user_feedback`, { params }) + return request.get(`user_feedback/user_feedback`, {params}) } /** @@ -16,7 +18,7 @@ export function getUserFeedbackList(params: Record) { * @returns */ export function getUserFeedbackInfo(id: number) { - return request.get(`user_feedback/user_feedback/${id}`) + return request.get(`user_feedback/user_feedback/${id}`); } /** @@ -25,10 +27,7 @@ export function getUserFeedbackInfo(id: number) { * @returns */ export function addUserFeedback(params: Record) { - return request.post('user_feedback/user_feedback', params, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.post('user_feedback/user_feedback', params, { showErrorMessage: true, showSuccessMessage: true }) } /** @@ -38,10 +37,7 @@ export function addUserFeedback(params: Record) { * @returns */ export function editUserFeedback(params: Record) { - return request.put(`user_feedback/user_feedback/${params.id}`, params, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.put(`user_feedback/user_feedback/${params.id}`, params, { showErrorMessage: true, showSuccessMessage: true }) } /** @@ -50,10 +46,11 @@ export function editUserFeedback(params: Record) { * @returns */ export function deleteUserFeedback(id: number) { - return request.delete(`user_feedback/user_feedback/${id}`, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.delete(`user_feedback/user_feedback/${id}`, { showErrorMessage: true, showSuccessMessage: true }) +} + +export function getWithCustomerResourcesList(params: Record){ + return request.get('user_feedback/customer_resources_all', {params}) } // USER_CODE_END -- user_feedback diff --git a/admin/src/app/lang/zh-cn/campus_pay.campus_pay.json b/admin/src/app/lang/zh-cn/campus_pay.campus_pay.json new file mode 100644 index 00000000..ab017ebf --- /dev/null +++ b/admin/src/app/lang/zh-cn/campus_pay.campus_pay.json @@ -0,0 +1,25 @@ +{ + "id":"", + "idPlaceholder":"请输入", + "campusId":"校区", + "campusIdPlaceholder":"全部", + "mchid":"商户号", + "mchidPlaceholder":"请输入商户号", + "paySignKey":"APIv3密钥", + "paySignKeyPlaceholder":"请输入APIv3密钥", + "apiclientKey":"商户私钥", + "apiclientKeyPlaceholder":"请输入商户私钥", + "apiclientCert":"商户公钥", + "apiclientCertPlaceholder":"请输入商户公钥", + "wxPayKey":"微信支付公钥", + "wxPayKeyPlaceholder":"请输入微信支付公钥", + "wxPayKeyId":"微信支付公钥ID", + "wxPayKeyIdPlaceholder":"请输入微信支付公钥ID", + "createdAt":"创建时间", + "createdAtPlaceholder":"请输入创建时间", + "addCampusPay":"添加账户及资金管理", + "updateCampusPay":"编辑账户及资金管理", + "campusPayDeleteTips":"确定要删除该数据吗?", + "startDate":"请选择开始时间", + "endDate":"请选择结束时间" +} \ No newline at end of file diff --git a/admin/src/app/lang/zh-cn/reimbursement.reimbursement.json b/admin/src/app/lang/zh-cn/reimbursement.reimbursement.json index 04005c96..2354c226 100644 --- a/admin/src/app/lang/zh-cn/reimbursement.reimbursement.json +++ b/admin/src/app/lang/zh-cn/reimbursement.reimbursement.json @@ -1,21 +1,20 @@ { - "id": "报销编号", - "idPlaceholder": "请输入报销编号", - "applicantId": "申请人ID", - "applicantIdPlaceholder": "请输入申请人ID", - "amount": "报销金额", - "amountPlaceholder": "请输入报销金额", - "description": "报销描述", - "descriptionPlaceholder": "请输入报销描述", - "receiptUrl": "发票或收据URL", - "receiptUrlPlaceholder": "请输入发票或收据URL", - "status": "状态", - "statusPlaceholder": "请输入状态", - "processId": "关联的审批流程ID", - "processIdPlaceholder": "请输入关联的审批流程ID", - "addReimbursement": "添加报销记录", - "updateReimbursement": "编辑报销记录", - "reimbursementDeleteTips": "确定要删除该数据吗?", - "startDate": "请选择开始时间", - "endDate": "请选择结束时间" -} + "applicantId":"申请人", + "applicantIdPlaceholder":"请输入申请人", + "amount":"报销金额", + "amountPlaceholder":"请输入报销金额", + "description":"报销描述", + "descriptionPlaceholder":"请输入报销描述", + "receiptUrl":"发票或收据", + "receiptUrlPlaceholder":"请输入发票或收据", + "status":"状态", + "statusPlaceholder":"请输入状态", + "createdAt":"创建时间", + "createdAtPlaceholder":"请输入创建时间", + "updatedAt":"修改时间", + "addReimbursement":"添加报销记录", + "updateReimbursement":"编辑报销记录", + "reimbursementDeleteTips":"确定要删除该数据吗?", + "startDate":"请选择开始时间", + "endDate":"请选择结束时间" +} \ No newline at end of file diff --git a/admin/src/app/lang/zh-cn/salary.salary.json b/admin/src/app/lang/zh-cn/salary.salary.json index 731b2352..43426578 100644 --- a/admin/src/app/lang/zh-cn/salary.salary.json +++ b/admin/src/app/lang/zh-cn/salary.salary.json @@ -1,33 +1,31 @@ { - "id": "工资编号", - "idPlaceholder": "请输入工资编号", - "staffId": "员工ID", - "staffIdPlaceholder": "请输入员工ID", - "baseSalary": "底薪", - "baseSalaryPlaceholder": "请输入底薪", - "performanceBonus": "绩效", - "performanceBonusPlaceholder": "请输入绩效", - "deductions": "扣款", - "deductionsPlaceholder": "请输入扣款", - "otherSubsidies": "其他补贴", - "otherSubsidiesPlaceholder": "请输入其他补贴", - "netSalary": "实发工资", - "netSalaryPlaceholder": "请输入实发工资", - "paymentStatus": "发放状态", - "paymentStatusPlaceholder": "请输入发放状态", - "paymentMethod": "发放方式", - "paymentMethodPlaceholder": "请输入发放方式", - "remarks": "备注", - "remarksPlaceholder": "请输入备注", - "salaryMonth": "工资月份", - "salaryMonthPlaceholder": "请输入工资月份", - "departmentId": "部门ID", - "departmentIdPlaceholder": "请输入部门ID", - "processId": "关联的审批流程ID", - "processIdPlaceholder": "请输入关联的审批流程ID", - "addSalary": "添加工资", - "updateSalary": "编辑工资", - "salaryDeleteTips": "确定要删除该数据吗?", - "startDate": "请选择开始时间", - "endDate": "请选择结束时间" -} + "staffId":"员工", + "staffIdPlaceholder":"全部", + "departmentId":"部门", + "departmentIdPlaceholder":"全部", + "baseSalary":"底薪", + "baseSalaryPlaceholder":"请输入底薪", + "performanceBonus":"绩效", + "performanceBonusPlaceholder":"请输入绩效", + "deductions":"扣款", + "deductionsPlaceholder":"请输入扣款", + "otherSubsidies":"其他补贴", + "otherSubsidiesPlaceholder":"请输入其他补贴", + "netSalary":"实发工资", + "paymentStatus":"发放状态", + "paymentStatusPlaceholder":"请输入发放状态", + "paymentMethod":"发放方式", + "paymentMethodPlaceholder":"请输入发放方式", + "remarks":"备注", + "remarksPlaceholder":"请输入备注", + "salaryMonth":"工资月份", + "salaryMonthPlaceholder":"请输入工资月份", + "createdAt":"创建时间", + "createdAtPlaceholder":"请输入创建时间", + "updatedAt":"修改时间", + "addSalary":"添加工资", + "updateSalary":"编辑工资", + "salaryDeleteTips":"确定要删除该数据吗?", + "startDate":"请选择开始时间", + "endDate":"请选择结束时间" +} \ No newline at end of file diff --git a/admin/src/app/lang/zh-cn/service.service.json b/admin/src/app/lang/zh-cn/service.service.json index ff1a2f8e..5110f729 100644 --- a/admin/src/app/lang/zh-cn/service.service.json +++ b/admin/src/app/lang/zh-cn/service.service.json @@ -1,29 +1,27 @@ { - "id": "服务编号", - "idPlaceholder": "请输入服务编号", - "serviceName": "服务名称", - "serviceNamePlaceholder": "请输入服务名称", - "previewImageUrl": "服务预览图URL", - "previewImageUrlPlaceholder": "请输入服务预览图URL", - "description": "服务描述", - "descriptionPlaceholder": "请输入服务描述", - "serviceType": "服务类型", - "serviceTypePlaceholder": "请输入服务类型", - "executionRules": "服务执行规则", - "executionRulesPlaceholder": "请输入服务执行规则", - "staffReminder": "是否员工提醒: 1-是, 0-否", - "staffReminderPlaceholder": "请输入是否员工提醒: 1-是, 0-否", - "customerReminder": "是否客户提醒: 1-是, 0-否", - "customerReminderPlaceholder": "请输入是否客户提醒: 1-是, 0-否", - "customerConfirmation": "是否客户确认: 1-是, 0-否", - "customerConfirmationPlaceholder": "请输入是否客户确认: 1-是, 0-否", - "customerFeedback": "客户反馈内容", - "customerFeedbackPlaceholder": "请输入客户反馈内容", - "status": "状态", - "statusPlaceholder": "请输入状态", - "addService": "添加服务", - "updateService": "编辑服务", - "serviceDeleteTips": "确定要删除该数据吗?", - "startDate": "请选择开始时间", - "endDate": "请选择结束时间" -} + "serviceName":"服务名称", + "serviceNamePlaceholder":"请输入服务名称", + "previewImageUrl":"服务预览图", + "previewImageUrlPlaceholder":"请输入服务预览图", + "description":"服务描述", + "descriptionPlaceholder":"请输入服务描述", + "serviceType":"服务类型", + "serviceTypePlaceholder":"请输入服务类型", + "executionRules":"服务执行规则", + "executionRulesPlaceholder":"请输入服务执行规则", + "staffReminder":"是否员工提醒", + "staffReminderPlaceholder":"请输入是否员工提醒", + "customerReminder":"是否客户提醒", + "customerReminderPlaceholder":"请输入是否客户提醒", + "customerConfirmation":"是否客户确认", + "customerConfirmationPlaceholder":"请输入是否客户确认", + "customerFeedback":"客户反馈内容", + "customerFeedbackPlaceholder":"请输入客户反馈内容", + "status":"状态", + "statusPlaceholder":"请输入状态", + "addService":"添加服务", + "updateService":"编辑服务", + "serviceDeleteTips":"确定要删除该数据吗?", + "startDate":"请选择开始时间", + "endDate":"请选择结束时间" +} \ No newline at end of file diff --git a/admin/src/app/lang/zh-cn/user_feedback.user_feedback.json b/admin/src/app/lang/zh-cn/user_feedback.user_feedback.json index 034d20f5..37a9ed22 100644 --- a/admin/src/app/lang/zh-cn/user_feedback.user_feedback.json +++ b/admin/src/app/lang/zh-cn/user_feedback.user_feedback.json @@ -1,15 +1,13 @@ { - "id": "反馈编号", - "idPlaceholder": "请输入反馈编号", - "userId": "用户ID", - "userIdPlaceholder": "请输入用户ID", - "feedbackText": "反馈内容", - "feedbackTextPlaceholder": "请输入反馈内容", - "attachmentUrl": "附件URL(OSS对象存储)", - "attachmentUrlPlaceholder": "请输入附件URL(OSS对象存储)", - "addUserFeedback": "添加用户反馈信息", - "updateUserFeedback": "编辑用户反馈信息", - "userFeedbackDeleteTips": "确定要删除该数据吗?", - "startDate": "请选择开始时间", - "endDate": "请选择结束时间" -} + "userId":"客户名称", + "userIdPlaceholder":"全部", + "feedbackText":"反馈内容", + "feedbackTextPlaceholder":"请输入反馈内容", + "attachmentUrl":"附件", + "attachmentUrlPlaceholder":"请输入附件", + "addUserFeedback":"添加用户反馈信息", + "updateUserFeedback":"查看用户反馈信息", + "userFeedbackDeleteTips":"确定要删除该数据吗?", + "startDate":"请选择开始时间", + "endDate":"请选择结束时间" +} \ No newline at end of file diff --git a/admin/src/app/views/auth/components/edit-role.vue b/admin/src/app/views/auth/components/edit-role.vue index 63fc0285..ff85f573 100644 --- a/admin/src/app/views/auth/components/edit-role.vue +++ b/admin/src/app/views/auth/components/edit-role.vue @@ -24,6 +24,17 @@ :show-word-limit="true" /> + + + + + + 销售 + 老师 + 主管 + + + @@ -142,6 +153,7 @@ const initialFormData = { role_id: 0, role_name: '', status: 1, + role_key:'', rules: [], } const formData: Record = reactive({ ...initialFormData }) diff --git a/admin/src/app/views/auth/role.vue b/admin/src/app/views/auth/role.vue index 6193b95d..69a5b9ba 100644 --- a/admin/src/app/views/auth/role.vue +++ b/admin/src/app/views/auth/role.vue @@ -56,6 +56,15 @@ }} + + + + + +
+ + +
+ {{pageName}} + + {{ t('addCampusPay') }} + +
+ + + + + + + + + + + + + + + + {{ t('search') }} + {{ t('reset') }} + + + + +
+ + + + + + + + + + + + + +
+ +
+
+ + +
+
+ + + + + diff --git a/admin/src/app/views/campus_pay/components/campus-pay-edit.vue b/admin/src/app/views/campus_pay/components/campus-pay-edit.vue new file mode 100644 index 00000000..5ac15558 --- /dev/null +++ b/admin/src/app/views/campus_pay/components/campus-pay-edit.vue @@ -0,0 +1,216 @@ + + + + + + diff --git a/admin/src/app/views/campus_person_role/campus_person_role.vue b/admin/src/app/views/campus_person_role/campus_person_role.vue index 32add873..7802c064 100644 --- a/admin/src/app/views/campus_person_role/campus_person_role.vue +++ b/admin/src/app/views/campus_person_role/campus_person_role.vue @@ -65,7 +65,7 @@
- + {{ @@ -186,7 +186,6 @@ const route = useRoute() const pageName = route.meta.title // ?dept_id=1 -const dept_id = pageName == '市场人员列表' ? 1 : 2; let campusPersonRoleTable = reactive({ page: 1, limit: 10, @@ -197,10 +196,19 @@ let campusPersonRoleTable = reactive({ campus_id: '', person_id: '', role_id: '', - dept_id: dept_id, + dept_id: '', }, }) + +if(pageName == '市场人员列表'){ + campusPersonRoleTable.searchParam.dept_id = 1; +}else if(pageName == '销售人员列表'){ + campusPersonRoleTable.searchParam.dept_id = 2; +}else if(pageName == '教练管理'){ + campusPersonRoleTable.searchParam.role_id = 5; +} + const searchFormRef = ref() // 选中数据 diff --git a/admin/src/app/views/course/components/course-edit.vue b/admin/src/app/views/course/components/course-edit.vue index 07e8534e..9221ca72 100644 --- a/admin/src/app/views/course/components/course-edit.vue +++ b/admin/src/app/views/course/components/course-edit.vue @@ -33,7 +33,7 @@ v-for="(item, index) in courseTypeList" :key="index" :label="item.name" - :value="item.value" + :value="item.name" /> diff --git a/admin/src/app/views/course/course.vue b/admin/src/app/views/course/course.vue index aed2b754..0ebc564e 100644 --- a/admin/src/app/views/course/course.vue +++ b/admin/src/app/views/course/course.vue @@ -31,56 +31,12 @@ - - - - - - - - - - - - - - - - - - - - - + {{ @@ -227,7 +183,17 @@ let courseTable = reactive({ remarks: '', }, }) -const courseTypeList = useDictionary('course_type') +// const courseTypeList = useDictionary('course_type') + + +const courseTypeList = ref([]) +const getcourseTypeList = async () => { + courseTypeList.value = await ( + await useDictionary('course_type') + ).data.dictionary +} +getcourseTypeList() + const searchFormRef = ref() // 选中数据 diff --git a/admin/src/app/views/customer_resources/components/customer-resources-edit.vue b/admin/src/app/views/customer_resources/components/customer-resources-edit.vue index 26f5dc1f..6bccbc65 100644 --- a/admin/src/app/views/customer_resources/components/customer-resources-edit.vue +++ b/admin/src/app/views/customer_resources/components/customer-resources-edit.vue @@ -230,6 +230,26 @@ /> + + + + + + + + + @@ -410,6 +430,7 @@ import { ref, reactive, computed, watch } from 'vue' import { useDictionary } from '@/app/api/dict' import { t } from '@/lang' import type { FormInstance } from 'element-plus' +import { getMemberLabelAll } from '@/app/api/member' import { addCustomerResources, editCustomerResources, @@ -448,6 +469,7 @@ const initialFormData = { initial_intent: '', campus: '', status: '', + member_label:'', purchase_power: '', concept_awareness: '', @@ -461,6 +483,15 @@ const initialFormData = { second_visit_status: '', is_closed: '', } + + +const labelSelectData: any = ref(null) +// 获取全部标签 +const getMemberLabelAllFn = async () => { + labelSelectData.value = await (await getMemberLabelAll()).data +} +getMemberLabelAllFn() + const formData: Record = reactive({ ...initialFormData }) const formRef = ref() diff --git a/admin/src/app/views/customer_resources/customer_resources.vue b/admin/src/app/views/customer_resources/customer_resources.vue index ca1df18a..d6fa22ac 100644 --- a/admin/src/app/views/customer_resources/customer_resources.vue +++ b/admin/src/app/views/customer_resources/customer_resources.vue @@ -35,6 +35,24 @@ + + + + + + + @@ -93,6 +111,26 @@ :show-overflow-tooltip="true" /> + + + + + @@ -160,8 +198,9 @@ import Edit from '@/app/views/customer_resources/components/customer-resources-edit.vue' import Fp from '@/app/views/customer_resources/components/fp.vue' import Order from '@/app/views/order_table/components/order-table-edit.vue' - import Tc from '@/app/views/tc_dialog/tc_dialog.vue' + + import { getMemberLabelAll } from '@/app/api/member' import { useRouter, useRoute } from 'vue-router' const route = useRoute() @@ -179,6 +218,7 @@ "age": "", "gender": "", "phone_number": "", + "member_label" : "", 'type': '', "created_at" : "", "updated_at" : "" @@ -195,6 +235,12 @@ // const type = pageName == '业绩分配' ? 'yjfp' : 'khzy'; + // 获取全部标签 + const labelSelectData = ref([]) + const getMemberLabelAllFn = async () => { + labelSelectData.value = await (await getMemberLabelAll()).data + } + getMemberLabelAllFn() const modificationLog = (id : number) => { diff --git a/admin/src/app/views/departments/departments.vue b/admin/src/app/views/departments/departments.vue index ea937571..28c98635 100644 --- a/admin/src/app/views/departments/departments.vue +++ b/admin/src/app/views/departments/departments.vue @@ -25,7 +25,7 @@ diff --git a/admin/src/app/views/member/components/edit-member.vue b/admin/src/app/views/member/components/edit-member.vue index de5606e1..f2b76285 100644 --- a/admin/src/app/views/member/components/edit-member.vue +++ b/admin/src/app/views/member/components/edit-member.vue @@ -47,6 +47,7 @@ /> + + +
- + @@ -36,22 +36,25 @@ /> + + + + + + + + - + - - - - - - + @@ -88,13 +91,17 @@ import { addOrderTable, editOrderTable, getOrderTableInfo, getWithCustomerResour let showDialog = ref(false) const loading = ref(false) +function handleCourseChange(selectedId) { + const selectedCourse = courseIdList.value.find(item => item.id === selectedId) + formData.order_amount = selectedCourse ? selectedCourse.price : '' +} /** * 表单数据 */ const initialFormData = { id: '', resource_id: '', - order_status: '', + // order_status: '', payment_type: '', order_amount: '', course_id: '', @@ -110,11 +117,6 @@ const formRules = computed(() => { resource_id: [ { required: true, message: t('resourceIdPlaceholder'), trigger: 'blur' }, - ] -, - order_status: [ - { required: true, message: t('orderStatusPlaceholder'), trigger: 'blur' }, - ] , payment_type: [ @@ -168,12 +170,12 @@ const confirm = async (formEl: FormInstance | undefined) => { } // 获取字典数据 - let order_statusList = ref([]) - const order_statusDictList = async () => { - order_statusList.value = await (await useDictionary('order_status')).data.dictionary - } - order_statusDictList(); - watch(() => order_statusList.value, () => { formData.order_status = order_statusList.value[0].value }) + // let order_statusList = ref([]) + // const order_statusDictList = async () => { + // order_statusList.value = await (await useDictionary('order_status')).data.dictionary + // } + // order_statusDictList(); + // watch(() => order_statusList.value, () => { formData.order_status = order_statusList.value[0].value }) let payment_typeList = ref([]) const payment_typeDictList = async () => { payment_typeList.value = await (await useDictionary('payment_type')).data.dictionary diff --git a/admin/src/app/views/reimbursement/components/reimbursement-edit.vue b/admin/src/app/views/reimbursement/components/reimbursement-edit.vue index f20cdcc4..2f87bfcf 100644 --- a/admin/src/app/views/reimbursement/components/reimbursement-edit.vue +++ b/admin/src/app/views/reimbursement/components/reimbursement-edit.vue @@ -1,236 +1,209 @@ - - - - - - + + + + + + diff --git a/admin/src/app/views/reimbursement/reimbursement.vue b/admin/src/app/views/reimbursement/reimbursement.vue index 1837ae03..1e087d1a 100644 --- a/admin/src/app/views/reimbursement/reimbursement.vue +++ b/admin/src/app/views/reimbursement/reimbursement.vue @@ -1,265 +1,200 @@ - - - - - + + + + + diff --git a/admin/src/app/views/salary/components/salary-edit.vue b/admin/src/app/views/salary/components/salary-edit.vue index d1c3dccc..c7915efa 100644 --- a/admin/src/app/views/salary/components/salary-edit.vue +++ b/admin/src/app/views/salary/components/salary-edit.vue @@ -1,330 +1,291 @@ - - - - - - + + + + + + diff --git a/admin/src/app/views/salary/salary.vue b/admin/src/app/views/salary/salary.vue index 947e5823..359b9ff5 100644 --- a/admin/src/app/views/salary/salary.vue +++ b/admin/src/app/views/salary/salary.vue @@ -1,346 +1,246 @@ - - - - - + + + + + diff --git a/admin/src/app/views/service/components/service-edit.vue b/admin/src/app/views/service/components/service-edit.vue index b9903723..dceef127 100644 --- a/admin/src/app/views/service/components/service-edit.vue +++ b/admin/src/app/views/service/components/service-edit.vue @@ -1,311 +1,288 @@ - - - - - - + + + + + + diff --git a/admin/src/app/views/service/service.vue b/admin/src/app/views/service/service.vue index a5044402..1abbdbe8 100644 --- a/admin/src/app/views/service/service.vue +++ b/admin/src/app/views/service/service.vue @@ -1,321 +1,210 @@ - - - - - + + + + + diff --git a/admin/src/app/views/setting/components/pay-wechatpay.vue b/admin/src/app/views/setting/components/pay-wechatpay.vue index dab18f57..7c741b4d 100644 --- a/admin/src/app/views/setting/components/pay-wechatpay.vue +++ b/admin/src/app/views/setting/components/pay-wechatpay.vue @@ -257,6 +257,8 @@ const confirm = async (formEl: FormInstance | undefined) => { const cancel = () => { Object.assign(formData, initialFormData) + + if (initData.value) { Object.keys(formData).forEach((key: string) => { if (initData.value[key] != undefined) formData[key] = initData.value[key] @@ -271,13 +273,18 @@ const setFormData = async (data: any = null) => { initData.value = cloneDeep(data) loading.value = true Object.assign(formData, initialFormData) + + + if (data) { Object.keys(formData).forEach((key: string) => { if (data[key] != undefined) formData[key] = data[key] }) - formData.channel = data.redio_key.split('_')[0] + formData.channel = data.radio_key.split('_')[0] formData.status = Number(formData.status) } + + initData.value = formData; loading.value = false } diff --git a/admin/src/app/views/setting/pay.vue b/admin/src/app/views/setting/pay.vue index 2d84acd4..670538ad 100644 --- a/admin/src/app/views/setting/pay.vue +++ b/admin/src/app/views/setting/pay.vue @@ -9,42 +9,47 @@
- -

{{ payItems.name }}

- -
-
- {{ t('payType') }} - {{ t('onState') }} - {{ t('templateName') }} -
- -
-
-
- -
-
- -
- {{ childrenItem.name }} -
-
-
- -
- {{ t('open') }} - {{ t('notOpen') }} -
-
-
- - -
-
-
-
-
+ + +

{{ payItems.campus_name }}

+ +
+
+ {{ t('payType') }} + {{ t('onState') }} + {{ t('templateName') }} +
+ +
+
+
+ +
+
+ +
+ {{ childrenItem.name }} +
+
+
+ +
+ {{ t('open') }} + {{ t('notOpen') }} +
+
+
+ + +
+
+
+
+ +
+ + +
-