| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | 'use strict';/** * * * @author Mai * @date * @version */const status = {    cancel: 0,    wait: 1,    ext: 2,    done: 3,};module.exports = app => {    class BudgetFinalList extends app.BaseService {        /**         * 构造函数         *         * @param {Object} ctx - egg全局变量         * @return {void}         */        constructor(ctx) {            super(ctx);            this.tableName = 'budget_final_list';        }        _analysisFinal(data) {            data.tender = data.tender ? data.tender.split(',') : [];            data.tender_info = data.tender_info ? JSON.parse(data.tender_info) : [];        }        async getFinal(id) {            const data = await this.getDataById(id);            this._analysisFinal(data);            return data;        }        async addFinal(budget, tender) {            const user = await this.ctx.service.projectAccount.getDataById(this.ctx.session.sessionUser.accountId);            const final = {                bid: budget.id, uid: user.id,                u_name: user.name, u_role: user.role, u_company: user.company, u_mobile: user.mobile,                u_login: this.ctx.session.sessionUser.loginType + ';' + this.ctx.session.sessionUser.loginStatus,                tender: tender ? tender.join(',') : '', status: status.ext,            };            const result = await this.db.insert(this.tableName, final);            return await this.getFinal(result.insertId);        }    }    return BudgetFinalList;};
 |