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/pages.json b/src/pages.json index f78db19..3e53528 100644 --- a/src/pages.json +++ b/src/pages.json @@ -7,7 +7,6 @@ } }, "pages": [ - { "path": "pages/loading/loading", "style": { @@ -68,6 +67,42 @@ "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/selectCustomer",//选择客户 + "style": { + "navigationBarTitleText": "" + } + }, { "path": "pages/business/CRM/vistorCheckin",//签到打卡 "style": { @@ -101,108 +136,7 @@ "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", 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..a738c9c --- /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..20b6cfb --- /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..cb7b0de --- /dev/null +++ b/src/pages/business/CRM/plan/planView.vue @@ -0,0 +1,393 @@ + + + + + \ No newline at end of file