/** * 版本控制控制器 * * @author CaiAoLin * @date 2017/7/28 * @version */ import BaseController from "../../common/base/base_controller"; import VersionModel from "../models/version_model"; import STDRationLibMapModel from "../../common/std/std_ration_lib_map_model"; import {default as ProvinceConst, List as ProvinceList} from "../../common/const/province_const"; class VersionController extends BaseController { /** * 版本控制页面 * * @param {object} request * @param {object} response * @return {void} */ async index(request, response) { let id = request.query.id; let versionList = []; let billList = { 1: [ {id: '1', name: '重庆2017标准清单'}, {id: '2', name: '重庆2015标准清单'} ], 2: [ {id: '3', name: '广东2017标准清单'}, {id: '4', name: '广东2015标准清单'}, ] }; let rationList = {}; let selectedVersion = {}; try { // 获取定额库 let stdRationLibMapModel = new STDRationLibMapModel(); rationList = await stdRationLibMapModel.getRationLib(); let versionModel = new VersionModel(); versionList = await versionModel.getVersionList(); if (versionList.length <= 0) { throw '没有数据'; } // 循环查找数据 for (let tmp of versionList) { if (tmp._id.toString() === id) { selectedVersion = tmp; break; } } selectedVersion = Object.keys(selectedVersion).length <= 0 ? versionList[0] : selectedVersion; } catch (error) { console.log(error); } let renderData = { id: id, versionList: versionList, selectedVersion: selectedVersion, billList: JSON.stringify(billList), rationList: JSON.stringify(rationList), province: JSON.stringify(ProvinceList), layout: 'users/views/layout/layout' }; response.render('users/views/version/index', renderData); } /** * 新增版本操作 * * @param {object} request * @param {object} response * @return {void} */ async add(request, response) { let name = request.body.name; let standardBillId = request.body.standard_bill_id; let standardBill = request.body.standard_bill; let rationLibId = request.body.ration_lib_id; let rationLib = request.body.ration_lib; let responseData = { err: 0, msg: '' }; try { let sessionManager = request.session.managerData; let insertData = { name: name, standard_bill: [{id: standardBillId, name: standardBill}], ration_lib: [{id: rationLibId, name: rationLib}], creator: sessionManager.userID }; let versionModel = new VersionModel(); let result = await versionModel.add(insertData); if (!result) { throw '新增版本失败'; } } catch (error) { console.log(error); responseData.err = 1; responseData.msg = error; } response.json(responseData); } /** * 新增标准清单/定额库 * * @param {object} request * @param {object} response * @return {void} */ async addLib(request, response) { let responseData = { err: 0, msg: '' }; try { let versionModel = new VersionModel(); let addResult = await versionModel.addLib(request.body); if (!addResult) { throw '新增失败'; } } catch (error) { responseData.err = 1; responseData.msg = error; } response.json(responseData); } /** * 删除对应的标准清单/定额库 * * @param {object} request * @param {object} response * @return {void} */ async deleteLib(request, response) { let id = request.body.id; let model = request.body.model; let deleteId = request.body.delete_id; let responseData = { err: 0, msg: '' }; try { let versionModel = new VersionModel(); let result = await versionModel.deleteLib(id, deleteId, model); if (!result) { throw '删除失败'; } } catch (error) { responseData.err = 1; responseData.msg = error; } response.json(responseData); } } export default VersionController;