|
@@ -10,6 +10,7 @@ import VersionModel from "../models/version_model";
|
|
|
import STDRationLibMapModel from "../../common/std/std_ration_lib_map_model";
|
|
|
import STDBillLibListsModel from "../../common/std/std_bills_lib_lists_model";
|
|
|
import {default as ProvinceConst, List as ProvinceList} from "../../common/const/province_const";
|
|
|
+import {default as EngineeringConst, List as EngineeringList} from "../../common/const/engineering";
|
|
|
|
|
|
class VersionController extends BaseController {
|
|
|
|
|
@@ -24,20 +25,8 @@ class VersionController extends BaseController {
|
|
|
let id = request.query.id;
|
|
|
|
|
|
let versionList = [];
|
|
|
-
|
|
|
-
|
|
|
- let rationList = {};
|
|
|
let selectedVersion = {};
|
|
|
- let billList = {};
|
|
|
try {
|
|
|
- // 获取标准清单
|
|
|
- let stdBillLibListsModel = new STDBillLibListsModel();
|
|
|
- billList = await stdBillLibListsModel.getBillList();
|
|
|
-
|
|
|
- // 获取定额库
|
|
|
- let stdRationLibMapModel = new STDRationLibMapModel();
|
|
|
- rationList = await stdRationLibMapModel.getRationLib();
|
|
|
-
|
|
|
let versionModel = new VersionModel();
|
|
|
versionList = await versionModel.getVersionList();
|
|
|
|
|
@@ -53,6 +42,7 @@ class VersionController extends BaseController {
|
|
|
}
|
|
|
|
|
|
selectedVersion = Object.keys(selectedVersion).length <= 0 ? versionList[0] : selectedVersion;
|
|
|
+ request.session.selectedVersion = selectedVersion;
|
|
|
|
|
|
} catch (error) {
|
|
|
console.log(error);
|
|
@@ -62,9 +52,6 @@ class VersionController extends BaseController {
|
|
|
id: id,
|
|
|
versionList: versionList,
|
|
|
selectedVersion: selectedVersion,
|
|
|
- billList: JSON.stringify(billList),
|
|
|
- rationList: JSON.stringify(rationList),
|
|
|
- province: JSON.stringify(ProvinceList),
|
|
|
layout: 'users/views/layout/layout'
|
|
|
};
|
|
|
|
|
@@ -72,37 +59,35 @@ class VersionController extends BaseController {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 新增版本操作
|
|
|
+ * 新增计价页面
|
|
|
*
|
|
|
* @param {object} request
|
|
|
* @param {object} response
|
|
|
* @return {void}
|
|
|
*/
|
|
|
- async add(request, response) {
|
|
|
+ async addValuation(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 id = request.body.id;
|
|
|
+ let section = request.body.section;
|
|
|
|
|
|
let responseData = {
|
|
|
err: 0,
|
|
|
msg: ''
|
|
|
};
|
|
|
try {
|
|
|
- let sessionManager = request.session.managerData;
|
|
|
+ if (id === undefined || id === '') {
|
|
|
+ throw '参数错误';
|
|
|
+ }
|
|
|
+
|
|
|
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);
|
|
|
+ let result = await versionModel.addValuation(id, section, insertData);
|
|
|
|
|
|
if (!result) {
|
|
|
- throw '新增版本失败';
|
|
|
+ throw '新增计价规则失败';
|
|
|
}
|
|
|
} catch (error) {
|
|
|
console.log(error);
|
|
@@ -114,24 +99,144 @@ class VersionController extends BaseController {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 新增标准清单/定额库
|
|
|
+ * 修改计价规则页面
|
|
|
+ *
|
|
|
+ * @param {object} request
|
|
|
+ * @param {object} response
|
|
|
+ * @return {void}
|
|
|
+ */
|
|
|
+ async editValuation(request, response) {
|
|
|
+ let selectedVersion = request.session.selectedVersion;
|
|
|
+ let valuationId = request.params.id;
|
|
|
+ let section = request.params.section;
|
|
|
+
|
|
|
+ let billList = {};
|
|
|
+ let rationList = {};
|
|
|
+ let versionList = [];
|
|
|
+ let valuationData = {};
|
|
|
+ let valuationList = {};
|
|
|
+ try {
|
|
|
+ let versionModel = new VersionModel();
|
|
|
+ versionList = await versionModel.getVersionList();
|
|
|
+
|
|
|
+ // 获取标准清单
|
|
|
+ let stdBillLibListsModel = new STDBillLibListsModel();
|
|
|
+ billList = await stdBillLibListsModel.getBillList();
|
|
|
+
|
|
|
+ // 获取定额库
|
|
|
+ let stdRationLibMapModel = new STDRationLibMapModel();
|
|
|
+ rationList = await stdRationLibMapModel.getRationLib();
|
|
|
+
|
|
|
+ // 获取对应的计价规则数据
|
|
|
+ [valuationData, valuationList] = await versionModel.getValuation(selectedVersion._id, valuationId, section);
|
|
|
+ if (Object.keys(valuationData).length <= 0) {
|
|
|
+ throw '不存在数据';
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch (error) {
|
|
|
+ console.log(error);
|
|
|
+ }
|
|
|
+
|
|
|
+ let renderData = {
|
|
|
+ versionList: versionList,
|
|
|
+ billList: JSON.stringify(billList),
|
|
|
+ rationList: JSON.stringify(rationList),
|
|
|
+ province: JSON.stringify(ProvinceList),
|
|
|
+ engineeringList: EngineeringList,
|
|
|
+ selectedVersion: selectedVersion,
|
|
|
+ valuationData: valuationData,
|
|
|
+ valuationList: valuationList,
|
|
|
+ valuationId: valuationId,
|
|
|
+ section: section,
|
|
|
+ layout: 'users/views/layout/layout'
|
|
|
+ };
|
|
|
+ response.render('users/views/version/add', renderData);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存计价规则
|
|
|
*
|
|
|
* @param {object} request
|
|
|
* @param {object} response
|
|
|
* @return {void}
|
|
|
*/
|
|
|
- async addLib(request, response) {
|
|
|
+ async saveValuation(request, response) {
|
|
|
+ let valuationId = request.body.id;
|
|
|
+ try {
|
|
|
+ if (valuationId === '') {
|
|
|
+ throw 'id参数错误';
|
|
|
+ }
|
|
|
+
|
|
|
+ let versionModel = new VersionModel();
|
|
|
+ let result = await versionModel.saveValuation(valuationId, request.body);
|
|
|
+
|
|
|
+ if (!result) {
|
|
|
+ throw '保存失败';
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch (error) {
|
|
|
+ console.log(error);
|
|
|
+ }
|
|
|
+
|
|
|
+ response.redirect(request.headers.referer);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除计价规则
|
|
|
+ *
|
|
|
+ * @param {object} request
|
|
|
+ * @param {object} response
|
|
|
+ * @return {void}
|
|
|
+ */
|
|
|
+ async deleteValuation(request, response) {
|
|
|
+ let id = request.params.id;
|
|
|
+ let section = request.params.section;
|
|
|
+ let selectedVersion = request.session.selectedVersion;
|
|
|
+
|
|
|
+ try {
|
|
|
+ if (id === undefined || id === '' || section === undefined || section === '') {
|
|
|
+ throw '参数错误';
|
|
|
+ }
|
|
|
+
|
|
|
+ let versionModel = new VersionModel();
|
|
|
+ let result = versionModel.deleteValuation(selectedVersion._id, id, section);
|
|
|
+
|
|
|
+ if (!result) {
|
|
|
+ throw '删除失败';
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch (error) {
|
|
|
+ console.log(error);
|
|
|
+ }
|
|
|
+
|
|
|
+ response.redirect(request.headers.referer);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 快速切换启用/禁用
|
|
|
+ *
|
|
|
+ * @param {object} request
|
|
|
+ * @param {object} response
|
|
|
+ * @return {void}
|
|
|
+ */
|
|
|
+ async enableSwitch(request, response) {
|
|
|
+ let id = request.body.id;
|
|
|
+ let section = request.params.section;
|
|
|
+ let enable = request.body.enable;
|
|
|
+
|
|
|
let responseData = {
|
|
|
err: 0,
|
|
|
msg: ''
|
|
|
};
|
|
|
try {
|
|
|
let versionModel = new VersionModel();
|
|
|
- let addResult = await versionModel.addLib(request.body);
|
|
|
- if (!addResult) {
|
|
|
- throw '新增失败';
|
|
|
+ let result = await versionModel.switchEnable(id, section, enable);
|
|
|
+
|
|
|
+ if (!result) {
|
|
|
+ throw '新增版本失败';
|
|
|
}
|
|
|
} catch (error) {
|
|
|
+ console.log(error);
|
|
|
responseData.err = 1;
|
|
|
responseData.msg = error;
|
|
|
}
|
|
@@ -140,28 +245,33 @@ class VersionController extends BaseController {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 删除对应的标准清单/定额库
|
|
|
+ * 新增版本操作
|
|
|
*
|
|
|
* @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;
|
|
|
+ async addVersion(request, response) {
|
|
|
+ let name = request.body.name;
|
|
|
let responseData = {
|
|
|
err: 0,
|
|
|
msg: ''
|
|
|
};
|
|
|
try {
|
|
|
+ let sessionManager = request.session.managerData;
|
|
|
+ let insertData = {
|
|
|
+ name: name,
|
|
|
+ creator: sessionManager.userID
|
|
|
+ };
|
|
|
+
|
|
|
let versionModel = new VersionModel();
|
|
|
- let result = await versionModel.deleteLib(id, deleteId, model);
|
|
|
+ let result = await versionModel.add(insertData);
|
|
|
|
|
|
if (!result) {
|
|
|
- throw '删除失败';
|
|
|
+ throw '新增版本失败';
|
|
|
}
|
|
|
} catch (error) {
|
|
|
+ console.log(error);
|
|
|
responseData.err = 1;
|
|
|
responseData.msg = error;
|
|
|
}
|