diff --git a/.gitignore b/.gitignore index 92cf8f1b..a74b29aa 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,7 @@ *.log *.txt /.idea +/niucloud/runtime +/niucloud/vendor +/niucloud/config +config diff --git a/admin/auto-imports.d.ts b/admin/auto-imports.d.ts index 08908edd..a51b7a66 100644 --- a/admin/auto-imports.d.ts +++ b/admin/auto-imports.d.ts @@ -1,5 +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 0b647e95..6fdfa48f 100644 --- a/admin/components.d.ts +++ b/admin/components.d.ts @@ -10,6 +10,7 @@ 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'] + ElAlert: typeof import('element-plus/es')['ElAlert'] ElAside: typeof import('element-plus/es')['ElAside'] ElAvatar: typeof import('element-plus/es')['ElAvatar'] ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb'] @@ -17,15 +18,18 @@ declare module '@vue/runtime-core' { ElButton: typeof import('element-plus/es')['ElButton'] ElCard: typeof import('element-plus/es')['ElCard'] ElCheckbox: typeof import('element-plus/es')['ElCheckbox'] + ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup'] ElCol: typeof import('element-plus/es')['ElCol'] 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'] + ElEmpty: typeof import('element-plus/es')['ElEmpty'] ElForm: typeof import('element-plus/es')['ElForm'] ElFormItem: typeof import('element-plus/es')['ElFormItem'] ElHeader: typeof import('element-plus/es')['ElHeader'] @@ -34,15 +38,18 @@ declare module '@vue/runtime-core' { ElImageViewer: typeof import('element-plus/es')['ElImageViewer'] ElInput: typeof import('element-plus/es')['ElInput'] ElInputNumber: typeof import('element-plus/es')['ElInputNumber'] + ElLink: typeof import('element-plus/es')['ElLink'] 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'] + ElOptionGroup: typeof import('element-plus/es')['ElOptionGroup'] 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'] + ElResult: typeof import('element-plus/es')['ElResult'] ElRow: typeof import('element-plus/es')['ElRow'] ElScrollbar: typeof import('element-plus/es')['ElScrollbar'] ElSelect: typeof import('element-plus/es')['ElSelect'] @@ -68,6 +75,7 @@ declare module '@vue/runtime-core' { RouterView: typeof import('vue-router')['RouterView'] SelectArea: typeof import('./src/components/select-area/index.vue')['default'] SelectIcon: typeof import('./src/components/select-icon/index.vue')['default'] + TencentMapPicker: typeof import('./src/components/TencentMapPicker.vue')['default'] UploadAttachment: typeof import('./src/components/upload-attachment/index.vue')['default'] UploadFile: typeof import('./src/components/upload-file/index.vue')['default'] UploadImage: typeof import('./src/components/upload-image/index.vue')['default'] diff --git a/admin/src/app/api/campus.ts b/admin/src/app/api/campus.ts index 5a1ce656..8b7833d4 100644 --- a/admin/src/app/api/campus.ts +++ b/admin/src/app/api/campus.ts @@ -1,5 +1,7 @@ import request from '@/utils/request' + + // USER_CODE_BEGIN -- campus /** * 获取校区列表 @@ -7,7 +9,7 @@ import request from '@/utils/request' * @returns */ export function getCampusList(params: Record) { - return request.get(`campus/campus`, { params }) + return request.get(`campus/campus`, {params}) } /** @@ -16,7 +18,7 @@ export function getCampusList(params: Record) { * @returns */ export function getCampusInfo(id: number) { - return request.get(`campus/campus/${id}`) + return request.get(`campus/campus/${id}`); } /** @@ -25,10 +27,7 @@ export function getCampusInfo(id: number) { * @returns */ export function addCampus(params: Record) { - return request.post('campus/campus', params, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.post('campus/campus', params, { showErrorMessage: true, showSuccessMessage: true }) } /** @@ -38,10 +37,7 @@ export function addCampus(params: Record) { * @returns */ export function editCampus(params: Record) { - return request.put(`campus/campus/${params.id}`, params, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.put(`campus/campus/${params.id}`, params, { showErrorMessage: true, showSuccessMessage: true }) } /** @@ -50,10 +46,9 @@ export function editCampus(params: Record) { * @returns */ export function deleteCampus(id: number) { - return request.delete(`campus/campus/${id}`, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.delete(`campus/campus/${id}`, { showErrorMessage: true, showSuccessMessage: true }) } + + // USER_CODE_END -- campus diff --git a/admin/src/app/api/campus_person_role.ts b/admin/src/app/api/campus_person_role.ts index 049c4e3d..60a47a7d 100644 --- a/admin/src/app/api/campus_person_role.ts +++ b/admin/src/app/api/campus_person_role.ts @@ -2,6 +2,8 @@ import request from '@/utils/request' + + // USER_CODE_BEGIN -- campus_person_role /** * 获取角色关系列表 @@ -49,6 +51,14 @@ export function deleteCampusPersonRole(id: number) { return request.delete(`campus_person_role/campus_person_role/${id}`, { showErrorMessage: true, showSuccessMessage: true }) } - +export function getWithCampusList(params: Record){ + return request.get('campus_person_role/campus_all', {params}) +}export function getWithPersonnelList(params: Record){ + return request.get('campus_person_role/personnel_all', {params}) +}export function getWithSysRoleList(params: Record){ + return request.get('campus_person_role/sys_role_all', {params}) +}export function getWithDepartmentsList(params: Record){ + return request.get('campus_person_role/departments_all', {params}) +} // USER_CODE_END -- campus_person_role diff --git a/admin/src/app/api/customer_resources.ts b/admin/src/app/api/customer_resources.ts index 2bd4fb9a..475aa438 100644 --- a/admin/src/app/api/customer_resources.ts +++ b/admin/src/app/api/customer_resources.ts @@ -1,5 +1,13 @@ import request from '@/utils/request' + + + + + + + + // USER_CODE_BEGIN -- customer_resources /** * 获取客户资源列表 @@ -47,6 +55,8 @@ export function deleteCustomerResources(id: number) { return request.delete(`customer_resources/customer_resources/${id}`, { showErrorMessage: true, showSuccessMessage: true }) } - +export function getWithCampusList(params: Record){ + return request.get('customer_resources/campus_all', {params}) +} // USER_CODE_END -- customer_resources diff --git a/admin/src/app/api/departments.ts b/admin/src/app/api/departments.ts index 587426c0..8a1b0f73 100644 --- a/admin/src/app/api/departments.ts +++ b/admin/src/app/api/departments.ts @@ -1,5 +1,7 @@ import request from '@/utils/request' + + // USER_CODE_BEGIN -- departments /** * 获取部门列表 @@ -47,6 +49,8 @@ export function deleteDepartments(id: number) { return request.delete(`departments/departments/${id}`, { showErrorMessage: true, showSuccessMessage: true }) } - +export function getWithDepartmentsList(params: Record){ + return request.get('departments/departments_all', {params}) +} // USER_CODE_END -- departments diff --git a/admin/src/app/api/market_performance.ts b/admin/src/app/api/market_performance.ts new file mode 100644 index 00000000..10d25c4a --- /dev/null +++ b/admin/src/app/api/market_performance.ts @@ -0,0 +1,56 @@ +import request from '@/utils/request' + +// USER_CODE_BEGIN -- market_performance +/** + * 获取市场绩效列表 + * @param params + * @returns + */ +export function getMarketPerformanceList(params: Record) { + return request.get(`market_performance/market_performance`, {params}) +} + +/** + * 获取市场绩效详情 + * @param id 市场绩效id + * @returns + */ +export function getMarketPerformanceInfo(id: number) { + return request.get(`market_performance/market_performance/${id}`); +} + +/** + * 添加市场绩效 + * @param params + * @returns + */ +export function addMarketPerformance(params: Record) { + return request.post('market_performance/market_performance', params, { showErrorMessage: true, showSuccessMessage: true }) +} + +/** + * 编辑市场绩效 + * @param id + * @param params + * @returns + */ +export function editMarketPerformance(params: Record) { + return request.put(`market_performance/market_performance/${params.id}`, params, { showErrorMessage: true, showSuccessMessage: true }) +} + +/** + * 删除市场绩效 + * @param id + * @returns + */ +export function deleteMarketPerformance(id: number) { + return request.delete(`market_performance/market_performance/${id}`, { showErrorMessage: true, showSuccessMessage: true }) +} + +export function getWithPersonnelList(params: Record){ + return request.get('market_performance/personnel_all', {params}) +}export function getWithCampusList(params: Record){ + return request.get('market_performance/campus_all', {params}) +} + +// USER_CODE_END -- market_performance diff --git a/admin/src/app/api/six_speed_modification_log.ts b/admin/src/app/api/six_speed_modification_log.ts index 19a02c61..51ff3456 100644 --- a/admin/src/app/api/six_speed_modification_log.ts +++ b/admin/src/app/api/six_speed_modification_log.ts @@ -1,5 +1,9 @@ import request from '@/utils/request' + + + + // USER_CODE_BEGIN -- six_speed_modification_log /** * 获取六一速修改记录列表 @@ -47,6 +51,10 @@ export function deleteSixSpeedModificationLog(id: number) { return request.delete(`six_speed_modification_log/six_speed_modification_log/${id}`, { showErrorMessage: true, showSuccessMessage: true }) } - +export function getWithCampusList(params: Record){ + return request.get('six_speed_modification_log/campus_all', {params}) +}export function getWithPersonnelList(params: Record){ + return request.get('six_speed_modification_log/personnel_all', {params}) +} // USER_CODE_END -- six_speed_modification_log diff --git a/admin/src/app/api/sys.ts b/admin/src/app/api/sys.ts index 4a8e0259..b15605d7 100644 --- a/admin/src/app/api/sys.ts +++ b/admin/src/app/api/sys.ts @@ -754,3 +754,13 @@ export function deleteExport(id: number) { export function getInstallConfig() { return request.get('sys/install/config') } + +//业绩配置 + +export function getYjpzConfig() { + return request.get('sys/get_yjpz_config') +} + +export function yjpzConfig(params: Record) { + return request.post(`sys/yjpz_config`, params) +} diff --git a/admin/src/app/lang/zh-cn/campus.campus.json b/admin/src/app/lang/zh-cn/campus.campus.json index dfffdea4..f2405e53 100644 --- a/admin/src/app/lang/zh-cn/campus.campus.json +++ b/admin/src/app/lang/zh-cn/campus.campus.json @@ -1,20 +1,20 @@ { - "campusName": "校区名称", - "campusNamePlaceholder": "请输入校区名称", - "campusAddress": "校区地址", - "campusAddressPlaceholder": "请输入校区地址", - "campusPreviewImage": "校区预览图,存储图片路径", - "campusPreviewImagePlaceholder": "请输入校区预览图,存储图片路径", - "campusCoordinates": "校区坐标,格式为经度,纬度", - "campusCoordinatesPlaceholder": "请输入校区坐标,格式为经度,纬度", - "campusIntroduction": "校区介绍", - "campusIntroductionPlaceholder": "请输入校区介绍", - "campusStatus": "校区状态", - "campusStatusPlaceholder": "请输入校区状态", - "createTime": "校区创建时间", - "addCampus": "添加校区", - "updateCampus": "编辑校区", - "campusDeleteTips": "确定要删除该数据吗?", - "startDate": "请选择开始时间", - "endDate": "请选择结束时间" -} + "campusName":"校区名称", + "campusNamePlaceholder":"请输入校区名称", + "campusAddress":"校区地址", + "campusAddressPlaceholder":"请输入校区地址", + "campusPreviewImage":"校区banner", + "campusPreviewImagePlaceholder":"请选择图片", + "campusCoordinates":"校区位置", + "campusCoordinatesPlaceholder":"请选择校区位置", + "campusIntroduction":"校区介绍", + "campusIntroductionPlaceholder":"请输入校区介绍", + "campusStatus":"校区状态", + "campusStatusPlaceholder":"请输入校区状态", + "createTime":"校区创建时间", + "addCampus":"添加校区", + "updateCampus":"编辑校区", + "campusDeleteTips":"确定要删除该数据吗?", + "startDate":"请选择开始时间", + "endDate":"请选择结束时间" +} \ No newline at end of file diff --git a/admin/src/app/lang/zh-cn/campus_person_role.campus_person_role.json b/admin/src/app/lang/zh-cn/campus_person_role.campus_person_role.json index 761e1dfe..1f9858ac 100644 --- a/admin/src/app/lang/zh-cn/campus_person_role.campus_person_role.json +++ b/admin/src/app/lang/zh-cn/campus_person_role.campus_person_role.json @@ -1,20 +1,14 @@ { "id":"关系编号", "idPlaceholder":"请输入关系编号", - "campusId":"校区ID", - "campusIdPlaceholder":"请输入校区ID", - "personId":"人员ID", - "personIdPlaceholder":"请输入人员ID", - "roleId":"角色ID", - "roleIdPlaceholder":"请输入角色ID", + "campusId":"校区", + "campusIdPlaceholder":"全部", + "personId":"人员", + "personIdPlaceholder":"全部", + "roleId":"角色", + "roleIdPlaceholder":"全部", "deptId":"部门表", - "deptIdPlaceholder":"请输入部门表", - "createdAt":"创建时间", - "createdAtPlaceholder":"请输入创建时间", - "updatedAt":"更新时间", - "updatedAtPlaceholder":"请输入更新时间", - "deletedAt":"逻辑删除时间", - "deletedAtPlaceholder":"请输入逻辑删除时间", + "deptIdPlaceholder":"全部", "addCampusPersonRole":"添加角色关系", "updateCampusPersonRole":"编辑角色关系", "campusPersonRoleDeleteTips":"确定要删除该数据吗?", diff --git a/admin/src/app/lang/zh-cn/customer_resources.customer_resources.json b/admin/src/app/lang/zh-cn/customer_resources.customer_resources.json index 7e7b68c0..57befe1e 100644 --- a/admin/src/app/lang/zh-cn/customer_resources.customer_resources.json +++ b/admin/src/app/lang/zh-cn/customer_resources.customer_resources.json @@ -1,22 +1,15 @@ { - "id":"编号", - "idPlaceholder":"请输入编号", - "createYearMonth":"创建年月", - "createYearMonthPlaceholder":"请输入创建年月", - "createDate":"创建日期", - "createDatePlaceholder":"请输入创建日期", - "sourceChannel":"来源渠道", - "sourceChannelPlaceholder":"请输入来源渠道", "source":"来源", "sourcePlaceholder":"请输入来源", + "sourceChannel":"来源渠道", + "sourceChannelPlaceholder":"请输入来源渠道", "consultant":"顾问", - "consultantPlaceholder":"请输入顾问", "name":"姓名", "namePlaceholder":"请输入姓名", "age":"年龄", "agePlaceholder":"请输入年龄", - "gender":"性别: male-男性, female-女性, other-其他", - "genderPlaceholder":"请输入性别: male-男性, female-女性, other-其他", + "gender":"性别", + "genderPlaceholder":"请输入性别", "phoneNumber":"联系电话", "phoneNumberPlaceholder":"请输入联系电话", "demand":"需求", @@ -31,10 +24,12 @@ "distancePlaceholder":"请输入距离", "decisionMaker":"决策人", "decisionMakerPlaceholder":"请输入决策人", - "initialIntent":"客户初步意向度: high-高, medium-中, low-低", - "initialIntentPlaceholder":"请输入客户初步意向度: high-高, medium-中, low-低", + "initialIntent":"客户初步意向度", + "initialIntentPlaceholder":"请输入客户初步意向度", "campus":"所属校区", "campusPlaceholder":"请输入所属校区", + "status":"客户状态", + "statusPlaceholder":"请输入客户状态", "addCustomerResources":"添加客户资源", "updateCustomerResources":"编辑客户资源", "customerResourcesDeleteTips":"确定要删除该数据吗?", diff --git a/admin/src/app/lang/zh-cn/departments.departments.json b/admin/src/app/lang/zh-cn/departments.departments.json index 0903a446..2ec66514 100644 --- a/admin/src/app/lang/zh-cn/departments.departments.json +++ b/admin/src/app/lang/zh-cn/departments.departments.json @@ -3,8 +3,8 @@ "idPlaceholder":"请输入部门编号", "departmentName":"部门名称", "departmentNamePlaceholder":"请输入部门名称", - "parentDepartmentId":"上级部门", - "parentDepartmentIdPlaceholder":"请输入上级部门", + "parentDepartmentId":"上级部门ID", + "parentDepartmentIdPlaceholder":"全部", "addDepartments":"添加部门", "updateDepartments":"编辑部门", "departmentsDeleteTips":"确定要删除该数据吗?", diff --git a/admin/src/app/lang/zh-cn/market_performance.market_performance.json b/admin/src/app/lang/zh-cn/market_performance.market_performance.json new file mode 100644 index 00000000..8963d4ca --- /dev/null +++ b/admin/src/app/lang/zh-cn/market_performance.market_performance.json @@ -0,0 +1,13 @@ +{ + "personnelId":"人员", + "personnelIdPlaceholder":"请输入人员", + "campusId":"校区", + "campusIdPlaceholder":"全部", + "performanceAmount":"绩效金额", + "performanceAmountPlaceholder":"请输入绩效金额", + "addMarketPerformance":"添加市场绩效", + "updateMarketPerformance":"编辑市场绩效", + "marketPerformanceDeleteTips":"确定要删除该数据吗?", + "startDate":"请选择开始时间", + "endDate":"请选择结束时间" +} \ No newline at end of file diff --git a/admin/src/app/lang/zh-cn/six_speed_modification_log.six_speed_modification_log.json b/admin/src/app/lang/zh-cn/six_speed_modification_log.six_speed_modification_log.json index 7d08cca1..96780dc7 100644 --- a/admin/src/app/lang/zh-cn/six_speed_modification_log.six_speed_modification_log.json +++ b/admin/src/app/lang/zh-cn/six_speed_modification_log.six_speed_modification_log.json @@ -1,10 +1,10 @@ { "id":"编号", "idPlaceholder":"请输入编号", - "campusId":"校区ID", - "campusIdPlaceholder":"请输入校区ID", - "staffId":"人员ID", - "staffIdPlaceholder":"请输入人员ID", + "campusId":"校区", + "campusIdPlaceholder":"全部", + "staffId":"人员", + "staffIdPlaceholder":"请输入人员", "modifiedField":"修改的字段", "modifiedFieldPlaceholder":"请输入修改的字段", "oldValue":"修改前的值", diff --git a/admin/src/app/views/campus/campus.vue b/admin/src/app/views/campus/campus.vue index 8f9dd59a..b384f486 100644 --- a/admin/src/app/views/campus/campus.vue +++ b/admin/src/app/views/campus/campus.vue @@ -1,253 +1,193 @@ - - - - - + + + + + diff --git a/admin/src/app/views/campus/components/campus-edit.vue b/admin/src/app/views/campus/components/campus-edit.vue index 43f0e45b..d16a13d1 100644 --- a/admin/src/app/views/campus/components/campus-edit.vue +++ b/admin/src/app/views/campus/components/campus-edit.vue @@ -37,12 +37,7 @@ - + @@ -84,6 +79,7 @@ import { useDictionary } from '@/app/api/dict' import { t } from '@/lang' import type { FormInstance } from 'element-plus' import { addCampus, editCampus, getCampusInfo } from '@/app/api/campus' +import TencentMapPicker from '@/components/TencentMapPicker.vue' let showDialog = ref(false) const loading = ref(false) 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 47e99577..e7094b1a 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 @@ -11,27 +11,54 @@ + - + + + + + - + + + + + - + + + + + - - - - - - - + + + - - - + {{ t('search') }} {{ t('reset') }} @@ -44,19 +71,13 @@ - - - - - - - + - + - + - +