/* eslint-disable class-methods-use-this */ import _axios, { get, put, _delete } from '@/lin/plugin/axios' // 我们通过 class 这样的语法糖使模型这个概念更加具象化,其优点:耦合性低、可维护性。 class ProjectDaily { // constructor() {} // 类中的方法可以代表一个用户行为 async createProjectDaily(data) { return _axios({ method: 'post', url: 'v1/projectDaily', data, }) } // 在这里通过 async await 语法糖让代码同步执行 // 1. await 一定要搭配 async 来使用 // 2. await 后面跟的是一个 Promise 对象 async getProjectDaily(id) { const res = await get(`v1/projectDaily/${id}`) return res } async getProjectDailyByDailyDate(dailyDate) { const res = await get(`v1/projectDaily/byDate/${dailyDate}`) return res } async editProjectDaily(id, info) { const res = await put(`v1/projectDaily/${id}`, info) return res } async deleteProjectDaily(id) { const res = await _delete(`v1/projectDaily/${id}`) return res } async getProjectDailyList(keyword) { return _axios({ method: 'get', url: 'v1/projectDaily/list', params: { keyword }, handleError: true, }) } async getProjectDailyPage(params) { return _axios({ method: 'get', url: 'v1/projectDaily/page', params, handleError: true, }) } async getProjectDailyPagePersonal(params) { return _axios({ method: 'get', url: 'v1/projectDaily/pagePersonal', params, handleError: true, }) } async commitProjectDaily(id) { const res = await put(`v1/projectDaily/commit/${id}`, null) return res } async commitBatchProjectDaily(info) { const res = await put('v1/projectDaily/commit-batch', info) return res } async confrimBatch(info) { const res = await put('v1/projectDaily/confirm-batch', info) return res } async unConfrimBatch(info) { const res = await put('v1/projectDaily/unconfirm-batch', info) return res } async confirmProjectDaily(id, info) { const res = await put(`v1/projectDaily/confirm/${id}`, info) return res } async unConfirmProjectDaily(id, info) { const res = await put(`v1/projectDaily/unConfirm/${id}`, null) return res } /** * 获取所有用户 */ async getAllUsers() { return _axios({ method: 'get', url: 'v1/projectDaily/userList', params: {}, handleError: true, }) } /** * 获取看板信息 * @param {*} params * @returns */ async getProjectDailyBoardList(params) { return _axios({ method: 'get', url: 'v1/projectDaily/dailyBoardList', params, handleError: true, }) } // 类中的方法可以代表一个用户行为 async createProjectDailyBatch(data) { return _axios({ method: 'post', url: 'v1/projectDaily/saveBatch', data, }) } // 类中的方法可以代表一个用户行为 async supplementaryProjectDailyBatch(data) { return _axios({ method: 'post', url: 'v1/projectDaily/supplementaryBatch', data, }) } async editProjectDailyActualHours(id, info) { const res = await put(`v1/projectDaily/actualHours/${id}`, info) return res } async editActualHoursBatch(info) { const res = await put('v1/projectDaily/actualHours/batch', info) return res } async getDailyDateList(dailyDate) { return _axios({ method: 'get', url: 'v1/projectDaily/dailyDateList', params: { daily_date: dailyDate }, handleError: true, }) } /** * 获取计划工时 * @param {*} params * @returns */ async getDailyDatePlanTime(dailyDate, createUserId) { return _axios({ method: 'get', url: 'v1/projectDaily/dailyDatePlanTime', params: { dailyDate, createUserId }, handleError: true, }) } /** * 获取实际工时 * @param {*} params * @returns */ async getDailyDateActualTime(dailyDate, createUserId) { return _axios({ method: 'get', url: 'v1/projectDaily/dailyDateActualTime', params: { dailyDate, createUserId }, handleError: true, }) } async getExistsHours(dailyDate, ids) { return _axios({ method: 'get', url: 'v1/projectDaily/existsHours', params: { dailyDate, ids }, handleError: true, }) } async createBatchWithTask(data) { return _axios({ method: 'post', url: 'v1/projectDaily/batch/task', data, }) } } export default new ProjectDaily()