diff --git a/index.html b/index.html index 5244be4..7fb688e 100644 --- a/index.html +++ b/index.html @@ -10,11 +10,6 @@ (coverSupport ? ', viewport-fit=cover' : '') + '" />') - diff --git a/src/api/crm/activity/activity.js b/src/api/crm/activity/activity.js new file mode 100644 index 0000000..db0612a --- /dev/null +++ b/src/api/crm/activity/activity.js @@ -0,0 +1,213 @@ +import request from "@/utils/request"; + +//获取客户单位用户人员信息 +export function crmCustomerUser(data) { + return request.get({ + url: "/app/appCrmCusUserNewController/crmCustomerUser", + data, + },{ + isTransformResponse:false + }); +} + +//获取我公司人员信息 +export function myUserNameList(data) { + return request.get({ + url: "/app/appVisistDetail/getCompanyPersonnerlName", + data, + },{ + isTransformResponse:false + }); +} + +//保存走访报告明细 +export function addVisistDetail(data) { + return request.post({ + url: "/app/appVisistDetail/addVisistDetail", + data, + },{ + isTransformResponse:false + }); +} + +//删除走访报告中的某一项(日常走访,业务招待) +export function deleVisistDetailItem(data) { + return request.get({ + url: "/app/appVisistDetail/deleVisistDetailItem", + data, + },{ + isTransformResponse:false + }); +} + +//走访明细查询 +export function getVisistDetailItem(data) { + return request.get({ + url: "/app/appVisistDetail/queryList", + data, + },{ + isTransformResponse:false + }); +} + +//删除整体的报告 +export function removeVisist(data) { + return request.get({ + url: "/app/appVisistReport/remove", + data, + },{ + isTransformResponse:false + }); +} + +//走访报告列表查询 +export function getYsVisistList(data) { + return request.get({ + url: "/app/appVisistReport/list", + data + },{ + isTransformResponse:false + }); +} + +//更新一个报告的状态 +export function updateStatus(data) { + return request.post({ + url: "/app/appVisistReport/updateStatus", + data, + },{ + isTransformResponse:false + }); +} + +//获取客户信息列表 +export function getYsCustomerList(data) { + return request.get({ + url: "/app/appCustomerIfno/pageList", + data, + },{ + isTransformResponse:false + }); +} + +//新增走访报告 +export function addVisist(data) { + return request.post({ + url: "/app/appVisistReport/add", + data, + },{ + isTransformResponse:false + }); +} + +//走访报告查询 +export function getQueryVisistList(data) { + return request.get({ + url: "/app/appVisistReport/queryList", + data, + },{ + isTransformResponse:false + }); +} + +//走访报告详细信息 +export function getYsVisistInfo(data) { + return request.get({ + url: "/app/appVisistReport/getDetail", + data, + },{ + isTransformResponse:false + }); +} + +//一个走访报告下面关联的日常走访,业务招待等具体信息 +export function getVisistDetailList(data) { + return request.get({ + url: "/app/appVisistDetail/list", + data, + },{ + isTransformResponse:false + }); +} + +//新增点赞 +export function insertUserLike(data) { + return request.post({ + url: "/app/appUserLike/addVisistDetail", + data, + },{ + isTransformResponse:false + }); +} + +//查询是否已经点过赞 +export function getUserLike(data) { + return request.get({ + url: "/app/appUserLike/queryUserLikeStatus/" + data, + },{ + isTransformResponse:false + }); +} + +//获取当前人的信息 +export function getUserInfo(data) { + return request.get({ + url: "/app/user/getUserInfo", + data, + },{ + isTransformResponse:false + }); +} + +//查询没有经过信息管理员审批的单子 +export function getApprovalList(data) { + return request.get({ + url: "/app/appVisistReport/approvalList", + data, + },{ + isTransformResponse:false + }); +} + +//打开详情页设置成为已读 +export function getUpdateApprovalForRead(data) { + return request.post({ + url: "/app/appVisistReport/updateApprovalForRead", + data, + },{ + isTransformResponse:false + }); +} + +//提交通过活动报告 +export function auditActivityReport(data) { + return request.post({ + url: "/app/activity/auditActivityReport", + data, + header: { + 'Content-Type': 'application/x-www-form-urlencoded' // 设置请求头,确保服务器正确解析 FormData + } + },{ + isTransformResponse:false + }); +} + +//更新驳回原因 +export function getRejectReason(data) { + return request.post({ + url: "/app/appVisistReport/updaterejectReason", + data, + },{ + isTransformResponse:false + }); +} + +//查询签到打卡信息集合为了报告 +export function addMapForReport(data) { + return request.get({ + url: "/app/appVisistReport/addMapList", + data, + },{ + isTransformResponse:false + }); +} diff --git a/src/api/crm/activity/map.js b/src/api/crm/activity/map.js new file mode 100644 index 0000000..3a1611b --- /dev/null +++ b/src/api/crm/activity/map.js @@ -0,0 +1,51 @@ +import request from "@/utils/request"; + +//新增地图开始签到接口 +export function addStartMap(data) { + return request.post({ + url: "/app/appVisistMap/Startadd", + data, + },{ + isTransformResponse:false + }); +} + +//新增地图开始打卡接口 +export function addStartMapForClockIn(data) { + return request.post({ + url: "/app/appVisistMap/StartaddForClockIn", + data, + },{ + isTransformResponse:false + }); +} + +//打卡信息查看 +export function CheckInInformationViewing(data) { + return request.get({ + url: "/app/appVisistMap/DKList", + data + },{ + isTransformResponse:false + }); +} + +//签到统计 +export function getSigninList(data) { + return request.get({ + url: "/app/appVisistMap/QueryBased", + data + },{ + isTransformResponse:false + }); +} + +//不签到统计 +export function getNoSigninList(data) { + return request.get({ + url: "/app/appVisistMap/QueryBasedIsNull", + data + },{ + isTransformResponse:false + }); +} diff --git a/src/api/crm/api_ys.js b/src/api/crm/api_ys.js new file mode 100644 index 0000000..67413af --- /dev/null +++ b/src/api/crm/api_ys.js @@ -0,0 +1,138 @@ +import request from "@/utils/request" + + + export function getYsVisistList(data) { + return request.get({ + url: '/app/appVisistReport/list', + data: data + }) + } + //市场信息列表接口 + export function CrmMarketInformationList(data) { + return request.get({ + url: '/app/informationMarketInformation/list', + data: data + }) + } + //市场信息模块待审核改为提交 + export function handleCrmMarketInfo(data) { + return request.post({ + url: '/app/informationMarketInformation/handleCrmMarketInfo', + data + }) + } + //获取客户名称 + export function getYsCustomerList(data) { + return request.get({ + url: '/app/appCustomerIfno/pageList', + data + }) + } + //市场信息模块提交 + export function crmMarketInformationAdd(data) { + return request.post({ + url: '/app/informationMarketInformation/add', + data + }) + } + //市场信息模块查询 + export function crminformationItemForDetail(data) { + return request.get({ + url: '/app/informationMarketInformation/getDetail', + data + }) + } + //客户人员信息查询 + export function crmCustomerUser(data) { + return request.get({ + url: '/app/appCrmCusUserNewController/crmCustomerUser', + data + }) + } + //市场信息根据ID删除 + export function crmMarketInformationDelete(data) { + return request.get({ + url: '/app/informationMarketInformation/delete', + data + }) + } + //市场信息查询接口 + export function viewingMarketInfForAllMembers(data) { + return request.get({ + url: '/app/informationMarketInformation/viewList', + data + }) + } + //市场信息详情查询接口 + export function viewingMarketInfgetDetail(data) { + return request.get({ + url: '/app/informationMarketInformation/getDetail', + data + }) + } + //市场信审核列表接口 + export function approvalMarketInfget(data) { + return request.get({ + url: 'app/informationMarketInformation/Approval', + data + }) + } + //回款模块列表查询 + export function getPaymentList(data) { + return request.get({ + url: '/app/InformationReviewController/getPaymentList', + data + }) + } + //回款新增接口 + export function addPaymentCollection(data) { + return request.post({ + url: '/app/InformationReviewController/addPaymentCollection', + data + }) + } + //回款更新接口 + export function updatePaymentDetail(data) { + return request.post({ + url: '/app/InformationReviewController/updatePaymentDetail', + data + }) + } + //回款删除接口 + export function deletePaymentDetail(data) { + return request.post({ + url: '/app/InformationReviewController/deletePaymentDetail', + data + }) + } + + //全员查询回款接口 + export function getFullStaffStatisticsViewingTable(data) { + return request.get({ + url: '/app/InformationReviewController/getFullStaffStatisticsViewingTable', + data + }) + } + //个人查询回款接口 + export function getPersonalPaymentCollectionTable(data) { + return request.get({ + url: '/app/InformationReviewController/getPersonalPaymentCollectionTable', + data + }) + } + + //市场信息审核通过接口 + export function crmMarketInformationApprovalSuccess(data) { + return request.get({ + url: '/app/informationMarketInformation/ApprovalSuccess', + data + }) + } + //市场信息审核驳回接口 + export function crmMarketInformationApprovalUnSuccess(data) { + return request.get({ + url: '/app/informationMarketInformation/ApprovalUnSuccess', + data + }) + } + \ No newline at end of file diff --git a/src/api/crm/customer/getCustomer.js b/src/api/crm/customer/getCustomer.js new file mode 100644 index 0000000..b214170 --- /dev/null +++ b/src/api/crm/customer/getCustomer.js @@ -0,0 +1,54 @@ +import request from "@/utils/request" + +// 查询客户人员列表 +export function getCustomerList(params){ + return request.get({ + url: '/app/appCustomerIfno/pageList', + data: params + },{isTransformResponse: false}) +} + +// 查询系统推荐等级 +export function getCustomerLevel(params){ + return request.get({ + url: '/app/appCrmCusUserNewController/queryCustomerLevel', + data: params + },{isTransformResponse: false}) +} +// 客户人员新增 +export function saveappCrmCusUserNew(params){ + return request.get({ + url: '/app/appCrmCusUserNewController/add', + data: params + },{isTransformResponse: false}) +} +// 查询业务员名下所有的客户 +export function SearchForAllCustomersSalesperson(params){ + return request.get({ + url: 'app/appCrmCusUserNewController/SearchForAllCustomersSalesperson', + data: params + },{isTransformResponse: false}) +} +// 客户人员归属审核详情 +export function getCusUserApprovalListDetail(params){ + return request.get({ + url: '/app/appCrmCusUserNewController/getCusUserApprovalListDetail', + data: params + },{isTransformResponse: false}) +} +// 查询主归属人列表 +export function SearchForAllPerson(params){ + return request.get({ + url: '/app/appCrmCusUserNewController/SearchForAllPerson', + data: params + },{isTransformResponse: false}) +} + +// 客户人员新增审核列表 +export function getCusUserApprovalList(params) { + return request.get({ + url: '/app/appCrmCusUserNewController/getCusUserApprovalList', + data: params + }, {isTransformResponse: false} + ) +} \ No newline at end of file diff --git a/src/api/crm/customer/updateCustomer.js b/src/api/crm/customer/updateCustomer.js new file mode 100644 index 0000000..886e458 --- /dev/null +++ b/src/api/crm/customer/updateCustomer.js @@ -0,0 +1,36 @@ +import request from "@/utils/request" +// 删除客户人员归属消息 +export function removeVisit(params){ + return request.get({ + url: '/app/appVisistReport/remove', + data: params + },{isTransformResponse: false}) +} +// 更新客户人员 +export function upadateappCrmCusUserNew (data){ + return request.post({ + url: '/app/appCrmCusUserNewController/update', + data + },{isTransformResponse: false}) +} +// 客户人员审核通过 +export function clientPersonnelsApproval(data) { + return request.get({ + url: '/app/appCrmCusUserNewController/clientPersonnelsApproval', + data + }, {isTransformResponse: false}); +} +//客户人员驳回 +export function customerPersonnelsRejectio(data) { + return request.get({ + url: '/app/appCrmCusUserNewController/customerPersonnelsRejectio', + data + }, {isTransformResponse: false}); +} +//主归属人变更提交 +export function submissionOfChangeOfMainOwner (data){ + return request.get({ + url: '/app/appCrmCusUserNewController/submissionOfChangeOfMainOwner', + data + },{isTransformResponse: false}) +} \ No newline at end of file diff --git a/src/api/crm/mainOwner/mainOwner.js b/src/api/crm/mainOwner/mainOwner.js new file mode 100644 index 0000000..9d4dbcb --- /dev/null +++ b/src/api/crm/mainOwner/mainOwner.js @@ -0,0 +1,41 @@ +import request from "@/utils/request"; + + +//主归属人变更信息查看(列表) +export function queryViewMainOwnerList(params){ + return request.get({ + url: '/app/appCrmCusUserNewController/viewInformationChangesInprimaryOwnership', + data: params + },{isTransformResponse: false}) +} + +//主归属人变更信息查看(详情) +export function queryViewMainOwnerDetail(params){ + return request.get({ + url: '/app/appCrmCusUserNewController/getCrmCusUserNewChangeOwnerList', + data: params + },{isTransformResponse: false}) +} + +//查询主归属人变更人员的列表数据 +export function personnelAwaitingReviewForChange(params){ + return request.get({ + url: '/app/appCrmCusUserNewController/personnelAwaitingReviewForChange', + data: params + },{isTransformResponse: false}) +} + +//主归属人变更驳回 +export function changeOfPrimaryOwnershipNoApproved(params) { + return request.get({ + url:'/app/appCrmCusUserNewController/changeOfPrimaryOwnershipNoApproved', + data: params + }, {isTransformResponse: false}); +} +//主归属人变更通过 +export function changeOfPrimaryOwnershipApproved (params) { + return request.get({ + url: '/app/appCrmCusUserNewController/changeOfPrimaryOwnershipApproved', + data: params + }, {isTransformResponse: false}); +} \ No newline at end of file diff --git a/src/api/crm/plan/getPlan.js b/src/api/crm/plan/getPlan.js new file mode 100644 index 0000000..92f54e8 --- /dev/null +++ b/src/api/crm/plan/getPlan.js @@ -0,0 +1,36 @@ +import request from "@/utils/request" + +export function getPersonalPlanList(params) { + return request.post({ + url: '/getPersonalPlanList', + params + }) +} + +export function getUserInfo(data) { + return request.get({ + url: '/app/user/getUserInfo', + data + }, {isTransformResponse: false}) +} +//获取所有人周计划列表 +export function getAllWeekPlanList(params){ + return request.get({ + url: '/app/appWeeklyPlan/list', + data: params + },{isTransformResponse: false}) +} +//获取个人周计划列表 +export function getWeeklyPlanList(data) { + return request.get({ + url: '/app/appWeeklyPlan/getWeeklyListByUser', + data + }, {isTransformResponse: false}) +} +// 组合查询计划列表 +export function getWeekPlanListByDate(params){ + return request.get({ + url: '/app/appWeeklyPlan/weeklyListByDate', + data: params + },{isTransformResponse: false}) +} diff --git a/src/api/crm/plan/updatePlan.js b/src/api/crm/plan/updatePlan.js new file mode 100644 index 0000000..10183d6 --- /dev/null +++ b/src/api/crm/plan/updatePlan.js @@ -0,0 +1,28 @@ +import request from "@/utils/request" + +export function updateWeekPlanList(data){ + return request.post({ + url: '/app/appWeeklyPlan/updateWeekly', + data: data, + header: { + 'Content-Type': 'application/json;charset=UTF-8' + } + }) +} +// 判断本周是否写过计划 +export function judgeThisWeek (data){ + return request.post({ + url: '/app/appWeeklyPlan/Judgethisweek', + data, + header: {'Content-Type': 'application/json;charset=UTF-8'} + }) +} + +// 新增周计划 +export function addPlan(data){ + return request.post({ + url: '/app/appWeeklyPlan/addComment', + data, + header:{'Content-Type': 'application/json;charset=UTF-8'} + }) +} \ No newline at end of file diff --git a/src/components/sliderCaptcha.vue b/src/components/sliderCaptcha.vue new file mode 100644 index 0000000..861229c --- /dev/null +++ b/src/components/sliderCaptcha.vue @@ -0,0 +1,182 @@ + + + + + \ No newline at end of file diff --git a/src/enums/requestEnums.js b/src/enums/requestEnums.js index dbf4e9e..c0a46ce 100644 --- a/src/enums/requestEnums.js +++ b/src/enums/requestEnums.js @@ -10,7 +10,7 @@ export const RequestMethodsEnum = { }; export const RequestCodeEnum = { - SUCCESS: 0 || 200, //成功 + SUCCESS: 200, //成功 FAILED: -1, // 失败 TOKEN_INVALID: 401 // TOKEN失效未登录 }; diff --git a/src/pages.json b/src/pages.json index e72175b..2bdac18 100644 --- a/src/pages.json +++ b/src/pages.json @@ -1,5 +1,4 @@ { - "easycom": { "autoscan": true, "custom": { @@ -29,78 +28,24 @@ "path": "pages/home/home", "style": { "navigationBarTitleText": "", - "renderer": "native", // 实验性选项,可能提升性能 - "hardwareAccelerated": true // 启用 GPU 加速 + "renderer": "native", // 实验性选项,可能提升性能 + "hardwareAccelerated": true // 启用 GPU 加速 } }, { "path": "pages/business/business", "style": { "navigationBarTitleText": "", - "renderer": "native", // 实验性选项,可能提升性能 - "hardwareAccelerated": true // 启用 GPU 加速 + "renderer": "native", // 实验性选项,可能提升性能 + "hardwareAccelerated": true // 启用 GPU 加速 } }, { "path": "pages/business/editDaily", "style": { "navigationBarTitleText": "", - "renderer": "native", // 实验性选项,可能提升性能 - "hardwareAccelerated": true // 启用 GPU 加速 - } - }, - { - "path": "pages/business/CRM/visitorReport",//市场信息管理 - "style": { - "navigationBarTitleText": "" - } - }, - { - "path": "pages/business/CRM/visitorReportAdd",//走访报告添加 - "style": { - "navigationBarTitleText": "" - } - }, - { - "path": "pages/business/CRM/visitorReportDetail",//走访报告详情 - "style": { - "navigationBarTitleText": "" - } - }, - { - "path": "pages/business/CRM/visitorReportEnter",//走访报告内容录入 - "style": { - "navigationBarTitleText": "" - } - }, - { - "path": "pages/business/CRM/marketInformation",//市场信息管理 - "style": { - "navigationBarTitleText": "" - } - }, - { - "path": "pages/business/CRM/weekPlanUpdate",//修改周计划 - "style": { - "navigationBarTitleText": "" - } - }, - { - "path": "pages/business/CRM/vistorCheckin",//签到打卡 - "style": { - "navigationBarTitleText": "" - } - }, - { - "path": "pages/business/CRM/checkinStatistics",//打卡统计 - "style": { - "navigationBarTitleText": "" - } - }, - { - "path": "pages/business/CRM/paymentCollection",//回款查看 - "style": { - "navigationBarTitleText": "" + "renderer": "native", // 实验性选项,可能提升性能 + "hardwareAccelerated": true // 启用 GPU 加速 } }, { @@ -125,8 +70,8 @@ "path": "pages/userinfo/userinfo", "style": { "navigationBarTitleText": "", - "renderer": "native", // 实验性选项,可能提升性能 - "hardwareAccelerated": true // 启用 GPU 加速 + "renderer": "native", // 实验性选项,可能提升性能 + "hardwareAccelerated": true // 启用 GPU 加速 } }, { @@ -146,7 +91,449 @@ "style": { "navigationBarTitleText": "" } + }, + { + "path": "pages/business/CRM/marketInformation", //市场信息管理 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/visitorReport", + //市场信息管理 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/visitorReportAdd", + //走访报告添加 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/visitorReportDetail", + //走访报告详情 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/visitorReportEnter", + //走访报告内容录入 + "style": { + "navigationBarTitleText": "" + } + }, + //市场信息管理(已更新) + { + "path": "pages/business/CRM/marketInformation/marketInformation", + "style": { + "navigationBarTitleText": "市场信息管理" + } + }, + //市场机会录入(已更新) + { + "path": "pages/business/CRM/marketInformation/marketOpportunities", + "style": { + "navigationBarTitleText": "市场机会录入" + } + }, + //市场机会修改(已更新) + { + "path": "pages/business/CRM/marketInformation/marketOpportunitiesDetail", + "style": { + "navigationBarTitleText": "市场机会修改" + } + }, + //重大事项录入(已更新) + { + "path": "pages/business/CRM/marketInformation/majorMatter", + "style": { + "navigationBarTitleText": "重大事项录入" + } + }, + //重大事项更改(已更新) + { + "path": "pages/business/CRM/marketInformation/majorMatterDetail", + "style": { + "navigationBarTitleText": "重大事项更改" + } + }, + //竞争对手信息录入(已更新) + { + "path": "pages/business/CRM/marketInformation/competitor", + "style": { + "navigationBarTitleText": "竞争对手信息录入" + } + }, + //竞争对手信息更改(已更新) + { + "path": "pages/business/CRM/marketInformation/competitorDetail", + "style": { + "navigationBarTitleText": "竞争对手信息更改" + } + }, + //人员变化信息录入(已更新) + { + "path": "pages/business/CRM/marketInformation/personnelChanges", + "style": { + "navigationBarTitleText": "人员变化信息录入" + } + }, + //人员变化信息更改(已更新) + { + "path": "pages/business/CRM/marketInformation/personnelChangesDetail", + "style": { + "navigationBarTitleText": "人员变化信息更改" + } + }, + //重点型号任务信息录入(已更新) + { + "path": "pages/business/CRM/marketInformation/keyModelTasks", + "style": { + "navigationBarTitleText": "重点型号任务信息录入" + } + }, + //重点型号任务信息更新(已更新) + { + "path": "pages/business/CRM/marketInformation/keyModelTasksDetail", + "style": { + "navigationBarTitleText": "重点型号任务信息更新" + } + }, + //通用信息录入(已更新) + { + "path": "pages/business/CRM/marketInformation/beCurrent", + "style": { + "navigationBarTitleText": "通用信息录入" + } + }, + //通用信息更新(已更新) + { + "path": "pages/business/CRM/marketInformation/beCurrentDetail", + "style": { + "navigationBarTitleText": "通用信息更新" + } + }, + //选择客户(已更新) + { + "path": "pages/business/CRM/chooseCus", + "style": { + "navigationBarTitleText": "客户选择" + } + }, + //选择客户人员(已更新) + { + "path": "pages/business/CRM/customerUserList", + "style": { + "navigationBarTitleText": "客户人员选择" + } + }, + //市场信息查看(已更新) + { + "path": "pages/business/CRM/marketInformation/infomationView", + "style": { + "navigationBarTitleText": "市场信息查看" + } + }, + //市场信息详情(已更新) + { + "path": "pages/business/CRM/marketInformation/informationDetail", + "style": { + "navigationBarTitleText": "市场信息详情" + } + }, + //市场信息审核(已更新) + { + "path": "pages/business/CRM/marketInformation/marketInformationReview", + "style": { + "navigationBarTitleText": "市场信息审核" + } + }, + //市场信息审核详情(已更新) + { + "path": "pages/business/CRM/marketInformation/marketInformationReviewDetail", + "style": { + "navigationBarTitleText": "市场信息审核" + } + }, + //回款首页查看(已更新) + // { + // "path": "pages/business/CRM/paymentCollection/index", + // "style": { + // "navigationBarTitleText": "回款首页查看" + // } + // }, + //回款新增(已更新) + // { + // "path": "pages/business/CRM/paymentCollection/addPaymentCollection", + // "style": { + // "navigationBarTitleText": "回款新增" + // } + // }, + //回款更新(已更新) + // { + // "path": "pages/business/CRM/paymentCollection/paymentDetail", + // "style": { + // "navigationBarTitleText": "回款新增" + // } + // }, + //回款查看公用页面(已更新) + // { + // "path": "pages/business/CRM/paymentCollection/paymentCollectionCheck", + // "style": { + // "navigationBarTitleText": "回款查看" + // } + // }, + //回款查看全员统计查看(已更新) + // { + // "path": "pages/business/CRM/paymentCollection/fullStaffStatisticsViewingTable", + // "style": { + // "navigationBarTitleText": "全员统计查看" + // } + // }, + //回款查看个人详情查看(已更新) + // { + // "path": "pages/business/CRM/paymentCollection/personalPaymentCollectionTable", + // "style": { + // "navigationBarTitleText": "个人详情查看" + // } + // }, + { + "path": "pages/business/CRM/weekPlanUpdate", + //修改周计划 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/plan/index", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/plan/myPlan", + //我的计划列表 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/plan/planEdit", + //计划修改 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/plan/planView", + //周计划查看 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/customer/customerAdd", + //客户人员新增 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/customer/customerAudit", + //客户人员审核 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/customer/customerUserBelong", + //客户人员归属 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/customer/components/confirmForm", + //客户人员主归属人变更审核提交 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/customer/changeCustomerOwner", + //客户人员主归属人变更 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/mainOwner/audit/mainOwnerChangeAudit", + //客户人员主归属人变更审核 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/mainOwner/audit/confirmForm", + //客户人员主归属人变更审核提交 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/customer/components/customerUserEdit", + //客户人员详情编辑 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/customer/selectCustomer", + //选择客户 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/vistorCheckin", + //签到打卡 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/checkinStatistics", + //打卡统计 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/paymentCollection", + //回款查看 + "style": { + "navigationBarTitleText": "" + } + }, + //===================================活动报告==================== + { + "path": "pages/business/CRM/marketActivity/visitReport", + //市场信息管理 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/marketActivity/visitorReportAdd", + //走访报告添加 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/marketActivity/visitReportView", + //走访报告查看 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/marketActivity/visitReportDetail", + //走访报告查看具体明细 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/marketActivity/auditReport", + //走访报告审批列表查看 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/marketActivity/detailForApproval", + //走访报告明细审批 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/marketActivity/visitorReportEnter", + //走访报告内容录入 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/marketActivity/auditReject", + //走访报告驳回输入原因 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/marketActivity/customerUserList", + //客户公司人员信息 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/marketActivity/myUserList", + //我公司人员信息 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/marketActivity/activityTypeList", + //活动类型 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/marketActivity/chooseCus", + //选择客户单位 + "style": { + "navigationBarTitleText": "" + } + }, + //====================地图====== + { + "path": "pages/business/CRM/map/vistorCheckin", + //签到打卡 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/map/addRearkSignIn", + //签到备注 + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/map/checkInView", + //打卡信息(考勤查看) + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/business/CRM/map/checkinStatistics", + //打卡统计 + "style": { + "navigationBarTitleText": "" + } } + //===================================活动报告==================== ], "globalStyle": { "navigationBarTextStyle": "black", @@ -189,4 +576,4 @@ } ] } -} +} \ No newline at end of file diff --git a/src/pages/business/CRM/chooseCus.vue b/src/pages/business/CRM/chooseCus.vue new file mode 100644 index 0000000..eac0e61 --- /dev/null +++ b/src/pages/business/CRM/chooseCus.vue @@ -0,0 +1,170 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/customer/changeCustomerOwner.vue b/src/pages/business/CRM/customer/changeCustomerOwner.vue new file mode 100644 index 0000000..5df8146 --- /dev/null +++ b/src/pages/business/CRM/customer/changeCustomerOwner.vue @@ -0,0 +1,354 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/customer/components/confirmForm.vue b/src/pages/business/CRM/customer/components/confirmForm.vue new file mode 100644 index 0000000..49c064d --- /dev/null +++ b/src/pages/business/CRM/customer/components/confirmForm.vue @@ -0,0 +1,721 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/customer/components/customerUserEdit.vue b/src/pages/business/CRM/customer/components/customerUserEdit.vue new file mode 100644 index 0000000..cb3f608 --- /dev/null +++ b/src/pages/business/CRM/customer/components/customerUserEdit.vue @@ -0,0 +1,690 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/customer/customerAdd.vue b/src/pages/business/CRM/customer/customerAdd.vue new file mode 100644 index 0000000..4e07bde --- /dev/null +++ b/src/pages/business/CRM/customer/customerAdd.vue @@ -0,0 +1,667 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/customer/customerAudit.vue b/src/pages/business/CRM/customer/customerAudit.vue new file mode 100644 index 0000000..31f23eb --- /dev/null +++ b/src/pages/business/CRM/customer/customerAudit.vue @@ -0,0 +1,239 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/customer/customerUserBelong.vue b/src/pages/business/CRM/customer/customerUserBelong.vue new file mode 100644 index 0000000..a4a5cbd --- /dev/null +++ b/src/pages/business/CRM/customer/customerUserBelong.vue @@ -0,0 +1,344 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/customer/dataMap.js b/src/pages/business/CRM/customer/dataMap.js new file mode 100644 index 0000000..1084005 --- /dev/null +++ b/src/pages/business/CRM/customer/dataMap.js @@ -0,0 +1,126 @@ +/** + * 职能选项列表 + * @type {[{id: number, name: string}]} + */ +export const functionalRequirementList = [ + {id: 1, name: '客户一把手'}, + {id: 2, name: '主管科研的高层领导'}, + {id: 3, name: '主管物资的高层领导'}, + {id: 4, name: '主管技术的重点型号两总'}, + {id: 5, name: '物资部门一把手'}, + {id: 6, name: '主管技术的型号两总'}, + {id: 7, name: '主管技术的中层领导'}, + {id: 8, name: '主管物资的中层领导'}, + {id: 9, name: '设计组长'}, + {id: 10, name: '重点设计师'}, + {id: 11, name: '采购组长'}, + {id: 12, name: '采购员'}, + {id: 13, name: '质量部门和其他相关部门中层领导'}, + {id: 14, name: '基层设计人员'}, + {id: 15, name: '其他相关人员'} +] +/** + * 等级选项列表 + */ +export const salesmanThinkLevelList = [ + {id: 1, name: 'Y1(D)', value: 'A'}, + {id: 2, name: 'Y2(C)', value: 'B'}, + {id: 3, name: 'Y3(B)', value: 'C'}, + {id: 4, name: 'Y4(A)', value: 'D'} +] +/** + * 性别选项列表 + */ +export const genderList = [ + {id: 1, name: '男'}, + {id: 2, name: '女'} +] +/** + * 人员等级选项列表 + */ +export const userTypeList = [ + {id: 1, name: 'YA'}, + {id: 2, name: 'NA'}, + {id: 3, name: 'YB-'}, + {id: 4, name: 'YB'}, + {id: 5, name: 'YB+'}, + {id: 6, name: 'NB'}, + {id: 7, name: 'YC'}, + {id: 8, name: 'YC+'}, + {id: 9, name: 'NC'}, + {id: 10, name: 'YD'}, + {id: 11, name: 'ND'} +] +/** + * 需求层次列表 + */ +export const hierarchyNeedsList = [ + {id: 1, name: '生理'}, + {id: 2, name: '安全'}, + {id: 3, name: '归属'}, + {id: 4, name: '尊重'}, + {id: 5, name: '自我实现'} +] +/** + * 发展潜力列表 + */ +export const developList = [ + {id: 1, name: '上行'}, + {id: 2, name: '平行'}, + {id: 3, name: '下行'} +] +/** + * 爱好标签列表 + */ +export const hobbyList = [ + {id: '1', value: 1, name: '游戏'}, + {id: '2', value: 2, name: '羽毛球'}, + {id: '3', value: 3, name: '篮球'}, + {id: '4', value: 4, name: '足球'}, + {id: '5', value: 5, name: '打牌'}, + {id: '6', value: 6, name: '唱歌'}, + {id: '7', value: 7, name: '钓鱼'}, + {id: '8', value: 8, name: '跑步'}, + {id: '9', value: 9, name: '滑雪'}, + {id: '11', value: 11, name: '旅游'}, + {id: '12', value: 12, name: '读书'}, + {id: '13', value: 13, name: '摩托'}, + {id: '14', value: 14, name: '汽车'}, + {id: '15', value: 15, name: '军事'}, + {id: '16', value: 16, name: '美食'}, + {id: '17', value: 17, name: '文玩'}, + {id: '18', value: 18, name: '其他'} +] +/** + * 支持程度列表 + */ +export const supportLevelList = [ + {id: 1, name: '+5:热情拥护'}, + {id: 2, name: '+4:大力支持'}, + {id: 3, name: '+3:支持'}, + {id: 4, name: '+2:感兴趣'}, + {id: 5, name: '+1:认知相同'}, + {id: 10, name: '-1:不会拒绝'}, + {id: 9, name: '-2:不感兴趣'}, + {id: 8, name: '-3:负面评价'}, + {id: 7, name: '-4:抗拒建议'}, + {id: 6, name: '-5:支持对手'} +] +/** + * 工作状态列表 + */ +export const workingStatusList = [ + {id: 1, name: '正常上班'}, + {id: 2, name: '离职'}, + {id: 3, name: '退休'} +] +/** + * 人员所属审核状态字典 + */ +export const statusColorMap = { + '提交': 'tijiao-deal', + '驳回': 'chaoqi-deal', + '超期': 'chaoqi-deal', + '完成': 'wancheng-deal', + '待审核': 'daishenhe-un-deal' +} \ No newline at end of file diff --git a/src/pages/business/CRM/customer/selectCustomer.vue b/src/pages/business/CRM/customer/selectCustomer.vue new file mode 100644 index 0000000..7126d19 --- /dev/null +++ b/src/pages/business/CRM/customer/selectCustomer.vue @@ -0,0 +1,253 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/customerUserList.vue b/src/pages/business/CRM/customerUserList.vue new file mode 100644 index 0000000..bdf7ac7 --- /dev/null +++ b/src/pages/business/CRM/customerUserList.vue @@ -0,0 +1,136 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/mainOwner/audit/confirmForm.vue b/src/pages/business/CRM/mainOwner/audit/confirmForm.vue new file mode 100644 index 0000000..6d7c63f --- /dev/null +++ b/src/pages/business/CRM/mainOwner/audit/confirmForm.vue @@ -0,0 +1,743 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/mainOwner/audit/mainOwnerChangeAudit.vue b/src/pages/business/CRM/mainOwner/audit/mainOwnerChangeAudit.vue new file mode 100644 index 0000000..7ea76e3 --- /dev/null +++ b/src/pages/business/CRM/mainOwner/audit/mainOwnerChangeAudit.vue @@ -0,0 +1,277 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/mainOwner/view/components/qianjue-step.vue b/src/pages/business/CRM/mainOwner/view/components/qianjue-step.vue new file mode 100644 index 0000000..fd8d1f2 --- /dev/null +++ b/src/pages/business/CRM/mainOwner/view/components/qianjue-step.vue @@ -0,0 +1,143 @@ + + + + + diff --git a/src/pages/business/CRM/mainOwner/view/viewMainOwner.vue b/src/pages/business/CRM/mainOwner/view/viewMainOwner.vue new file mode 100644 index 0000000..9a1bcc4 --- /dev/null +++ b/src/pages/business/CRM/mainOwner/view/viewMainOwner.vue @@ -0,0 +1,233 @@ + + + + + diff --git a/src/pages/business/CRM/mainOwner/view/viewMainOwnerDetail.vue b/src/pages/business/CRM/mainOwner/view/viewMainOwnerDetail.vue new file mode 100644 index 0000000..9574355 --- /dev/null +++ b/src/pages/business/CRM/mainOwner/view/viewMainOwnerDetail.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/pages/business/CRM/map/addRearkSignIn.vue b/src/pages/business/CRM/map/addRearkSignIn.vue new file mode 100644 index 0000000..c0cc860 --- /dev/null +++ b/src/pages/business/CRM/map/addRearkSignIn.vue @@ -0,0 +1,270 @@ + + + + + diff --git a/src/pages/business/CRM/map/checkInView.vue b/src/pages/business/CRM/map/checkInView.vue new file mode 100644 index 0000000..c490281 --- /dev/null +++ b/src/pages/business/CRM/map/checkInView.vue @@ -0,0 +1,164 @@ + + + + + diff --git a/src/pages/business/CRM/map/checkinStatistics.vue b/src/pages/business/CRM/map/checkinStatistics.vue new file mode 100644 index 0000000..7311543 --- /dev/null +++ b/src/pages/business/CRM/map/checkinStatistics.vue @@ -0,0 +1,285 @@ + + + + + diff --git a/src/pages/business/CRM/map/vistorCheckin.vue b/src/pages/business/CRM/map/vistorCheckin.vue new file mode 100644 index 0000000..f5bd470 --- /dev/null +++ b/src/pages/business/CRM/map/vistorCheckin.vue @@ -0,0 +1,363 @@ + + + + + diff --git a/src/pages/business/CRM/marketActivity/activityTypeList.vue b/src/pages/business/CRM/marketActivity/activityTypeList.vue new file mode 100644 index 0000000..7e90952 --- /dev/null +++ b/src/pages/business/CRM/marketActivity/activityTypeList.vue @@ -0,0 +1,129 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/marketActivity/auditReject.vue b/src/pages/business/CRM/marketActivity/auditReject.vue new file mode 100644 index 0000000..0b0c021 --- /dev/null +++ b/src/pages/business/CRM/marketActivity/auditReject.vue @@ -0,0 +1,118 @@ + + + + + diff --git a/src/pages/business/CRM/marketActivity/auditReport.vue b/src/pages/business/CRM/marketActivity/auditReport.vue new file mode 100644 index 0000000..bd69b03 --- /dev/null +++ b/src/pages/business/CRM/marketActivity/auditReport.vue @@ -0,0 +1,218 @@ + + + + + diff --git a/src/pages/business/CRM/marketActivity/chooseCus.vue b/src/pages/business/CRM/marketActivity/chooseCus.vue new file mode 100644 index 0000000..d09cb6d --- /dev/null +++ b/src/pages/business/CRM/marketActivity/chooseCus.vue @@ -0,0 +1,170 @@ + + + + + diff --git a/src/pages/business/CRM/marketActivity/components/dailyVisitComponent.vue b/src/pages/business/CRM/marketActivity/components/dailyVisitComponent.vue new file mode 100644 index 0000000..9c0ae69 --- /dev/null +++ b/src/pages/business/CRM/marketActivity/components/dailyVisitComponent.vue @@ -0,0 +1,296 @@ + + + + + + diff --git a/src/pages/business/CRM/marketActivity/components/djVisistComponent.vue b/src/pages/business/CRM/marketActivity/components/djVisistComponent.vue new file mode 100644 index 0000000..05f0cc2 --- /dev/null +++ b/src/pages/business/CRM/marketActivity/components/djVisistComponent.vue @@ -0,0 +1,258 @@ + + + + + + diff --git a/src/pages/business/CRM/marketActivity/components/jsVisistComponent.vue b/src/pages/business/CRM/marketActivity/components/jsVisistComponent.vue new file mode 100644 index 0000000..be27707 --- /dev/null +++ b/src/pages/business/CRM/marketActivity/components/jsVisistComponent.vue @@ -0,0 +1,262 @@ + + + + + + diff --git a/src/pages/business/CRM/marketActivity/components/lcVisistComponent.vue b/src/pages/business/CRM/marketActivity/components/lcVisistComponent.vue new file mode 100644 index 0000000..18f460d --- /dev/null +++ b/src/pages/business/CRM/marketActivity/components/lcVisistComponent.vue @@ -0,0 +1,262 @@ + + + + + + diff --git a/src/pages/business/CRM/marketActivity/components/lyVisistComponent.vue b/src/pages/business/CRM/marketActivity/components/lyVisistComponent.vue new file mode 100644 index 0000000..e7aaf40 --- /dev/null +++ b/src/pages/business/CRM/marketActivity/components/lyVisistComponent.vue @@ -0,0 +1,307 @@ + + + + + + diff --git a/src/pages/business/CRM/marketActivity/components/wtVisistComponent.vue b/src/pages/business/CRM/marketActivity/components/wtVisistComponent.vue new file mode 100644 index 0000000..0f4d136 --- /dev/null +++ b/src/pages/business/CRM/marketActivity/components/wtVisistComponent.vue @@ -0,0 +1,259 @@ + + + + + + diff --git a/src/pages/business/CRM/marketActivity/components/ywVisistComponent.vue b/src/pages/business/CRM/marketActivity/components/ywVisistComponent.vue new file mode 100644 index 0000000..aa60760 --- /dev/null +++ b/src/pages/business/CRM/marketActivity/components/ywVisistComponent.vue @@ -0,0 +1,259 @@ + + + + + + diff --git a/src/pages/business/CRM/marketActivity/customerUserList.vue b/src/pages/business/CRM/marketActivity/customerUserList.vue new file mode 100644 index 0000000..23e169e --- /dev/null +++ b/src/pages/business/CRM/marketActivity/customerUserList.vue @@ -0,0 +1,158 @@ + + + + + diff --git a/src/pages/business/CRM/marketActivity/detailForApproval.vue b/src/pages/business/CRM/marketActivity/detailForApproval.vue new file mode 100644 index 0000000..e2dad85 --- /dev/null +++ b/src/pages/business/CRM/marketActivity/detailForApproval.vue @@ -0,0 +1,248 @@ + + + + + diff --git a/src/pages/business/CRM/marketActivity/myUserList.vue b/src/pages/business/CRM/marketActivity/myUserList.vue new file mode 100644 index 0000000..473b529 --- /dev/null +++ b/src/pages/business/CRM/marketActivity/myUserList.vue @@ -0,0 +1,182 @@ + + + + + diff --git a/src/pages/business/CRM/marketActivity/visitReport.vue b/src/pages/business/CRM/marketActivity/visitReport.vue new file mode 100644 index 0000000..f671354 --- /dev/null +++ b/src/pages/business/CRM/marketActivity/visitReport.vue @@ -0,0 +1,367 @@ + + + + + diff --git a/src/pages/business/CRM/marketActivity/visitReportDetail.vue b/src/pages/business/CRM/marketActivity/visitReportDetail.vue new file mode 100644 index 0000000..60669d3 --- /dev/null +++ b/src/pages/business/CRM/marketActivity/visitReportDetail.vue @@ -0,0 +1,200 @@ + + + + + diff --git a/src/pages/business/CRM/marketActivity/visitReportView.vue b/src/pages/business/CRM/marketActivity/visitReportView.vue new file mode 100644 index 0000000..7b0be94 --- /dev/null +++ b/src/pages/business/CRM/marketActivity/visitReportView.vue @@ -0,0 +1,223 @@ + + + + + diff --git a/src/pages/business/CRM/marketActivity/visitorReportAdd.vue b/src/pages/business/CRM/marketActivity/visitorReportAdd.vue new file mode 100644 index 0000000..b40fd87 --- /dev/null +++ b/src/pages/business/CRM/marketActivity/visitorReportAdd.vue @@ -0,0 +1,337 @@ + + + + + diff --git a/src/pages/business/CRM/marketActivity/visitorReportEnter.vue b/src/pages/business/CRM/marketActivity/visitorReportEnter.vue new file mode 100644 index 0000000..ad7bc90 --- /dev/null +++ b/src/pages/business/CRM/marketActivity/visitorReportEnter.vue @@ -0,0 +1,338 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/marketInformation/beCurrent.vue b/src/pages/business/CRM/marketInformation/beCurrent.vue new file mode 100644 index 0000000..313a875 --- /dev/null +++ b/src/pages/business/CRM/marketInformation/beCurrent.vue @@ -0,0 +1,238 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/marketInformation/beCurrentDetail.vue b/src/pages/business/CRM/marketInformation/beCurrentDetail.vue new file mode 100644 index 0000000..31b78e6 --- /dev/null +++ b/src/pages/business/CRM/marketInformation/beCurrentDetail.vue @@ -0,0 +1,272 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/marketInformation/competitor.vue b/src/pages/business/CRM/marketInformation/competitor.vue new file mode 100644 index 0000000..e83c481 --- /dev/null +++ b/src/pages/business/CRM/marketInformation/competitor.vue @@ -0,0 +1,461 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/marketInformation/competitorDetail.vue b/src/pages/business/CRM/marketInformation/competitorDetail.vue new file mode 100644 index 0000000..42bf8ce --- /dev/null +++ b/src/pages/business/CRM/marketInformation/competitorDetail.vue @@ -0,0 +1,504 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/marketInformation/infomationView.vue b/src/pages/business/CRM/marketInformation/infomationView.vue new file mode 100644 index 0000000..41d8790 --- /dev/null +++ b/src/pages/business/CRM/marketInformation/infomationView.vue @@ -0,0 +1,411 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/marketInformation/informationDetail.vue b/src/pages/business/CRM/marketInformation/informationDetail.vue new file mode 100644 index 0000000..98a4fe2 --- /dev/null +++ b/src/pages/business/CRM/marketInformation/informationDetail.vue @@ -0,0 +1,288 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/marketInformation/keyModelTasks.vue b/src/pages/business/CRM/marketInformation/keyModelTasks.vue new file mode 100644 index 0000000..3756522 --- /dev/null +++ b/src/pages/business/CRM/marketInformation/keyModelTasks.vue @@ -0,0 +1,232 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/marketInformation/keyModelTasksDetail.vue b/src/pages/business/CRM/marketInformation/keyModelTasksDetail.vue new file mode 100644 index 0000000..221ac5d --- /dev/null +++ b/src/pages/business/CRM/marketInformation/keyModelTasksDetail.vue @@ -0,0 +1,271 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/marketInformation/majorMatter.vue b/src/pages/business/CRM/marketInformation/majorMatter.vue new file mode 100644 index 0000000..0d4e999 --- /dev/null +++ b/src/pages/business/CRM/marketInformation/majorMatter.vue @@ -0,0 +1,267 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/marketInformation/majorMatterDetail.vue b/src/pages/business/CRM/marketInformation/majorMatterDetail.vue new file mode 100644 index 0000000..3c99a93 --- /dev/null +++ b/src/pages/business/CRM/marketInformation/majorMatterDetail.vue @@ -0,0 +1,304 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/marketInformation/marketInformation.vue b/src/pages/business/CRM/marketInformation/marketInformation.vue new file mode 100644 index 0000000..d693cf1 --- /dev/null +++ b/src/pages/business/CRM/marketInformation/marketInformation.vue @@ -0,0 +1,497 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/marketInformation/marketInformationReview.vue b/src/pages/business/CRM/marketInformation/marketInformationReview.vue new file mode 100644 index 0000000..3190111 --- /dev/null +++ b/src/pages/business/CRM/marketInformation/marketInformationReview.vue @@ -0,0 +1,249 @@ + + + + + diff --git a/src/pages/business/CRM/marketInformation/marketInformationReviewDetail.vue b/src/pages/business/CRM/marketInformation/marketInformationReviewDetail.vue new file mode 100644 index 0000000..f7c2907 --- /dev/null +++ b/src/pages/business/CRM/marketInformation/marketInformationReviewDetail.vue @@ -0,0 +1,385 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/marketInformation/marketOpportunities.vue b/src/pages/business/CRM/marketInformation/marketOpportunities.vue new file mode 100644 index 0000000..952afa8 --- /dev/null +++ b/src/pages/business/CRM/marketInformation/marketOpportunities.vue @@ -0,0 +1,340 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/marketInformation/marketOpportunitiesDetail.vue b/src/pages/business/CRM/marketInformation/marketOpportunitiesDetail.vue new file mode 100644 index 0000000..a2d22d7 --- /dev/null +++ b/src/pages/business/CRM/marketInformation/marketOpportunitiesDetail.vue @@ -0,0 +1,369 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/marketInformation/personnelChanges.vue b/src/pages/business/CRM/marketInformation/personnelChanges.vue new file mode 100644 index 0000000..50c46be --- /dev/null +++ b/src/pages/business/CRM/marketInformation/personnelChanges.vue @@ -0,0 +1,337 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/marketInformation/personnelChangesDetail.vue b/src/pages/business/CRM/marketInformation/personnelChangesDetail.vue new file mode 100644 index 0000000..3d084c4 --- /dev/null +++ b/src/pages/business/CRM/marketInformation/personnelChangesDetail.vue @@ -0,0 +1,373 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/plan/dataMap.js b/src/pages/business/CRM/plan/dataMap.js new file mode 100644 index 0000000..e82040b --- /dev/null +++ b/src/pages/business/CRM/plan/dataMap.js @@ -0,0 +1,59 @@ +const ordinals = [ + "firstDayOfThe", // 第1天 + "secondDayOfThis", // 第2天 + "thirdDayOfThe", // 第3天 + "fourthDayOfThe", // 第4天 + "fifthDayOfThe", // 第5天 + "sixthDayOfThe", // 第6天 + "seventhDayOfThe", // 第7天 +] +const week = [ + "Monday", // 周一 + "Tuesday", // 周二 + "Wednesday", // 周三 + "Thursday", // 周四 + "Friday", // 周五 + "Saturday", // 周六 + "Sunday", // 周日 +] +const weekCN = [ + "一", + "二", + "三", + "四", + "五", + "六", + "日" +] +export const WORK_TYPE = [ // 工作类型 + "外出", + "出差", + "公司", + "办事处", + "请假", + "法定假日" +]; +export const COLOR_MAP = { + "外出": "#04C660", + "出差": "#41b883", + "公司": "#20A0F1", + "办事处": "#307af5", + "请假": "#f2c55c", + "法定假日": "#e88f89",/*#ED8A73*/ + "null": "#e7e7e7" +}; +// 地区/部门 +export const AreaList = [ + "北京", + "市场二部", + "南区", + "北区", + "西区", + "市场三部" +]; + +export const OrdinalDate = ordinals.map(item => `${item}Week`); +export const WeekCN = weekCN.map(item => `星期${item}`); +export const WeekShortCN = weekCN.map(item => `周${item}`); +export const WorkType = week.map(item => `typeOf${item}`); +export const WorkEvent = week.map(item => `eventOf${item}`); diff --git a/src/pages/business/CRM/plan/dateTimeUtils.js b/src/pages/business/CRM/plan/dateTimeUtils.js new file mode 100644 index 0000000..6f069f9 --- /dev/null +++ b/src/pages/business/CRM/plan/dateTimeUtils.js @@ -0,0 +1,153 @@ +/** + * 获取当前是本月第几周 + * @returns {number} + */ +export function getCurrentWeekNum() { + // 获取当前日期 + var currentDate = new Date(); + + // 获取本月的第一天 + var firstDayOfMonth = new Date(currentDate.getFullYear(), currentDate.getMonth(), 1); + + // 获取本月的第一天是星期几 + var firstDayOfWeek = firstDayOfMonth.getDay(); + + // 计算当前日期是本月的第几周 + var weekNumber = Math.ceil((currentDate.getDate() + firstDayOfWeek) / 7); + + // console.log("当前时间是本月的第 " + weekNumber + " 周"); + return weekNumber; +} + +/** + * 获取一周日期 + * @param weekType 本周/下周 + * @returns {{year, month, firstDayOfTheWeek, secondDayOfThisWeek, thirdDayOfTheWeek, fourthDayOfTheWeek, fifthDayOfTheWeek, sixthDayOfTheWeek, seventhDayOfTheWeek}} + */ +export function getWeek2(weekType) { + console.log(weekType, 888888888); + var date = []; + let weekIndex = new Date().getDay(); + //可得到当前日期以及之前的 + for (let i = weekIndex - 1; i >= 0; i--) { + if (weekType === '本周') { + date.push(getNowWeek(-i)) + } else { + date.push(getNextWeek(-i)) + } + } + for (let i = 1; i <= 7 - weekIndex; i++) { + if (weekType === '本周') { + date.push(getNowWeek(i)) + } else { + date.push(getNextWeek(i)) + } + } + return { + year: date[0].year, + month: date[0].month, + day: date[0].day, + firstDayOfTheWeek: date[0].result, + secondDayOfThisWeek: date[1].result, + thirdDayOfTheWeek: date[2].result, + fourthDayOfTheWeek: date[3].result, + fifthDayOfTheWeek: date[4].result, + sixthDayOfTheWeek: date[5].result, + seventhDayOfTheWeek: date[6].result + } + +} + +//本周日期 +export function getNowWeek(day) { + var today = new Date(); + var ts = today.getTime();//转化为时间戳毫秒数 + var targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day; + today.setTime(targetday_milliseconds); + var tYear = today.getFullYear(); + var tMonth = today.getMonth(); + var tDate = today.getDate(); + tMonth = tMonth + 1; + tDate = tDate; + //ios的格式判断 + if (uni.getSystemInfoSync().platform == 'ios') { + //周几 + let time = tYear + "-" + tMonth + "-" + tDate + let weekIndex = new Date(time).getDay(); + //改变今天的选中状态 + var d = new Date() + var days = d.getDate() + let daylist = { + day: tDate, // 天 + isToday: tDate == days ? true : false, // 是否选中 + month: tMonth, // 月份 + result: tYear + "-" + tMonth + "-" + tDate, // 日期整体值 + week: weekIndex, //星期 + year: tYear, // 年份 + } + return daylist + } else { + //周几 + let time = tYear + "-" + tMonth + "-" + tDate + let weekIndex = new Date(time).getDay(); + //改变今天的选中状态 + var d = new Date() + var days = d.getDate() + let daylist = { + day: tDate, // 天 + isToday: tDate == days ? true : false, // 是否选中 + month: tMonth, // 月份 + result: tYear + "-" + tMonth + "-" + tDate, // 日期整体值 + week: weekIndex, //星期 + year: tYear, // 年份 + } + return daylist + } +} + +//下周日期 +export function getNextWeek(day) { + var today = new Date(); + var ts = today.getTime();//转化为时间戳毫秒数 + var targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day; + today.setTime(targetday_milliseconds + 1000 * 60 * 60 * 24 * 7); + var tYear = today.getFullYear(); + var tMonth = today.getMonth(); + var tDate = today.getDate(); + tMonth = tMonth + 1; + tDate = tDate; + //ios的格式判断 + if (uni.getSystemInfoSync().platform == 'ios') { + //周几 + let time = tYear + "-" + tMonth + "-" + tDate + let weekIndex = new Date(time).getDay(); + //改变今天的选中状态 + var d = new Date() + var days = d.getDate() + let daylist = { + day: tDate, // 天 + isToday: tDate == days ? true : false, // 是否选中 + month: tMonth, // 月份 + result: tYear + "-" + tMonth + "-" + tDate, // 日期整体值 + week: weekIndex, //星期 + year: tYear, // 年份 + } + return daylist + } else { + //周几 + let time = tYear + "-" + tMonth + "-" + tDate + let weekIndex = new Date(time).getDay(); + //改变今天的选中状态 + var d = new Date() + var days = d.getDate() + let daylist = { + day: tDate, // 天 + isToday: tDate == days ? true : false, // 是否选中 + month: tMonth, // 月份 + result: tYear + "-" + tMonth + "-" + tDate, // 日期整体值 + week: weekIndex, //星期 + year: tYear, // 年份 + } + return daylist + } +} \ No newline at end of file diff --git a/src/pages/business/CRM/plan/index.vue b/src/pages/business/CRM/plan/index.vue new file mode 100644 index 0000000..0b585c5 --- /dev/null +++ b/src/pages/business/CRM/plan/index.vue @@ -0,0 +1,108 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/plan/myPlan.vue b/src/pages/business/CRM/plan/myPlan.vue new file mode 100644 index 0000000..e7a49e6 --- /dev/null +++ b/src/pages/business/CRM/plan/myPlan.vue @@ -0,0 +1,330 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/plan/planEdit.vue b/src/pages/business/CRM/plan/planEdit.vue new file mode 100644 index 0000000..c36e3e2 --- /dev/null +++ b/src/pages/business/CRM/plan/planEdit.vue @@ -0,0 +1,329 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/plan/planView.vue b/src/pages/business/CRM/plan/planView.vue new file mode 100644 index 0000000..f265deb --- /dev/null +++ b/src/pages/business/CRM/plan/planView.vue @@ -0,0 +1,401 @@ + + + + + \ No newline at end of file diff --git a/src/pages/business/CRM/visitorReport.vue b/src/pages/business/CRM/visitorReport.vue index 8633251..ae41c4d 100644 --- a/src/pages/business/CRM/visitorReport.vue +++ b/src/pages/business/CRM/visitorReport.vue @@ -23,7 +23,7 @@ /> - + { const downCallback = async (mescroll) => { try { setTimeout(async ()=>{ - const res = await getVisitorReportList(1, upOption.value.page.size); + const res = await getGetYsVisistList(1, upOption.value.page.size); cssFlag.value = false; list.value = res.list; mescroll.resetUpScroll(); @@ -131,7 +131,7 @@ const downCallback = async (mescroll) => { const upCallback = async (mescroll) => { try { setTimeout(async ()=>{ - const res = await getVisitorReportList(mescroll.num, mescroll.size); + const res = await getGetYsVisistList(mescroll.num, mescroll.size); if (mescroll.num === 1) { list.value = res.list; } else { @@ -145,69 +145,14 @@ const upCallback = async (mescroll) => { } // 获取数据列表 -const getVisitorReportList = (pageIndex, pageSize) => { +const getGetYsVisistList = (pageIndex, pageSize) => { return new Promise(async (resolve) => { let param = { pageIndex, pageSize } - - // let res = await visitorReportList(param); - let res = { - list:[ - { - id:1,title:'客户:北京中科睿信科技有限公司',name:'YS-VR2025091515', - reportType:1,reportTypeName:'I 类活动 (走访)',statusName:'待胡本华审核', - reportPeople:'管理员',dateStr:'2025-09-15' - }, - { - id:2,title:'客户:中国船舶集团有限公司第七一 七研究所',name:'YS-VR2025091307', - reportType:1,reportTypeName:'I 类活动 (走访)',statusName:'待胡本华审核', - reportPeople:'管理员',dateStr:'2025-09-15' - }, - { - id:3,title:'客户:旭日阳(北京)科技有限公司',name:'YS-VR2025090902', - reportType:1,reportTypeName:'I 类活动 (走访)',statusName:'待审核', - reportPeople:'管理员',dateStr:'2025-09-15' - }, - { - id:4,title:'客户:北京中科睿信科技有限公司',name:'YS-VR2025091515', - reportType:1,reportTypeName:'I 类活动 (走访)',statusName:'待胡本华审核', - reportPeople:'管理员',dateStr:'2025-09-15' - }, - { - id:5,title:'客户:北京中科睿信科技有限公司',name:'YS-VR2025091515', - reportType:1,reportTypeName:'I 类活动 (走访)',statusName:'待胡本华审核', - reportPeople:'管理员',dateStr:'2025-09-15' - }, - { - id:6,title:'客户:北京中科睿信科技有限公司',name:'YS-VR2025091515', - reportType:1,reportTypeName:'I 类活动 (走访)',statusName:'待胡本华审核', - reportPeople:'管理员',dateStr:'2025-09-15' - }, - { - id:7,title:'客户:北京中科睿信科技有限公司',name:'YS-VR2025091515', - reportType:1,reportTypeName:'I 类活动 (走访)',statusName:'待胡本华审核', - reportPeople:'管理员',dateStr:'2025-09-15' - }, - { - id:8,title:'客户:北京中科睿信科技有限公司',name:'YS-VR2025091515', - reportType:1,reportTypeName:'I 类活动 (走访)',statusName:'待胡本华审核', - reportPeople:'管理员',dateStr:'2025-09-15' - }, - { - id:9,title:'客户:北京中科睿信科技有限公司',name:'YS-VR2025091515', - reportType:1,reportTypeName:'I 类活动 (走访)',statusName:'待胡本华审核', - reportPeople:'管理员',dateStr:'2025-09-15' - }, - { - id:10,title:'客户:北京中科睿信科技有限公司',name:'YS-VR2025091515', - reportType:1,reportTypeName:'I 类活动 (走访)',statusName:'待胡本华审核', - reportPeople:'管理员',dateStr:'2025-09-15' - } - ], - totalCount:14 - } + + let res = await getYsVisistList(param); resolve({ list: res.list, total: res.totalCount diff --git a/src/pages/business/CRM/visitorReportEnter.vue b/src/pages/business/CRM/visitorReportEnter.vue index 86643e8..7c1f005 100644 --- a/src/pages/business/CRM/visitorReportEnter.vue +++ b/src/pages/business/CRM/visitorReportEnter.vue @@ -18,18 +18,18 @@ @@ -88,43 +88,40 @@ let handleExpand = () => { // 客户人员 let monIndex1= reactive([0]); const changeValue1 = (item, value) => { - console.log("客户人员", item, value); monIndex1 = value; }; const guestList1 = [ - { value: 0, text: "客户1" }, - { value: 1, text: "客户2" }, - { value: 2, text: "客户3" }, - { value: 3, text: "客户4" }, - { value: 4, text: "客户5" }, + { value: 0, label: "客户1" }, + { value: 1, label: "客户2" }, + { value: 2, label: "客户3" }, + { value: 3, label: "客户4" }, + { value: 4, label: "客户5" }, ]; // 我方人员 let monIndex2= reactive([0]); const changeValue2 = (item, value) => { - console.log("我方人员", item, value); monIndex2 = value; }; const guestList2 = [ - { value: 0, text: "我方1" }, - { value: 1, text: "我方2" }, - { value: 2, text: "我方3" }, - { value: 3, text: "我方4" }, - { value: 4, text: "我方5" }, + { value: 0, label: "我方1" }, + { value: 1, label: "我方2" }, + { value: 2, label: "我方3" }, + { value: 3, label: "我方4" }, + { value: 4, label: "我方5" }, ]; // 活动内容 let monIndex3= reactive([0]); const changeValue3 = (item, value) => { - console.log("活动内容", item, value); monIndex2 = value; }; const guestList3 = [ - { value: 0, text: "活动内容1" }, - { value: 1, text: "活动内容2" }, - { value: 2, text: "活动内容3" }, - { value: 3, text: "活动内容4" }, - { value: 4, text: "活动内容5" }, + { value: 0, label: "活动内容1" }, + { value: 1, label: "活动内容2" }, + { value: 2, label: "活动内容3" }, + { value: 3, label: "活动内容4" }, + { value: 4, label: "活动内容5" }, ]; // 业务招待 diff --git a/src/pages/business/CRM/vistorCheckin.vue b/src/pages/business/CRM/vistorCheckin.vue index 2a42dd0..d2f5d07 100644 --- a/src/pages/business/CRM/vistorCheckin.vue +++ b/src/pages/business/CRM/vistorCheckin.vue @@ -43,12 +43,10 @@ import customHeader from '@/components/customHeader.vue' let checkFlag = ref(false); // 签到 let handleCheckIn = () => { - console.log("签到") checkFlag.value = true; } // 打卡 let handleClockIn = () => { - console.log("打卡") checkFlag.value = true; } // 取消 @@ -74,8 +72,8 @@ let handleSubmit = () => { /* #ifndef APP-PLUS */ height: calc(100vh - 98px); /* #endif */ - - + + } .btn-image { diff --git a/src/pages/business/CRM/weekPlanUpdate.vue b/src/pages/business/CRM/weekPlanUpdate.vue index 34380fb..875def6 100644 --- a/src/pages/business/CRM/weekPlanUpdate.vue +++ b/src/pages/business/CRM/weekPlanUpdate.vue @@ -79,7 +79,6 @@ const rules = { // 选择工作类型 const changeValue = (e) => { - console.log("工作类型", e.detail.value); workIndex = e.detail.value; formData.value.workType = workList[workIndex] }; diff --git a/src/utils/validate.js b/src/utils/validate.js index 993fda1..ad3c057 100644 --- a/src/utils/validate.js +++ b/src/utils/validate.js @@ -40,4 +40,12 @@ export function isUrl(url) { const urlRegex = /^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$/; return urlRegex.test(url); } - +/** + * 是否为空 + */ +export function isEmpty(value) { + if (value === null || value === undefined) return true + if (typeof value === 'string') return value.trim() === '' + if (Array.isArray(value)) return value.length === 0 + return false +} \ No newline at end of file