|
@@ -0,0 +1,75 @@
|
|
|
+/**
|
|
|
+ * Created by Mai on 2017/4/14.
|
|
|
+ * 清单模板,新建项目使用
|
|
|
+ */
|
|
|
+import BaseModel from "../../../common/base/base_model";
|
|
|
+import BillsTemplateSchema from "./schemas/bills_template";
|
|
|
+
|
|
|
+class BillsTemplateModel extends BaseModel {
|
|
|
+ /**
|
|
|
+ * 构造函数
|
|
|
+ *
|
|
|
+ * @return {void}
|
|
|
+ */
|
|
|
+ constructor() {
|
|
|
+ let parent = super();
|
|
|
+ parent.model = BillsTemplateSchema;
|
|
|
+ parent.init();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取计价类别对应的清单模板
|
|
|
+ * @param valuationId
|
|
|
+ * @returns {*}
|
|
|
+ */
|
|
|
+ async getTemplateData (valuationId) {
|
|
|
+ // 筛选字段
|
|
|
+ let field = {_id: 1, valuationId: 1, ID: 1, ParentID: 1, NextSiblingID: 1, code: 1, name: 1, unit: 1, flags: 1};
|
|
|
+ let data = await this.findDataByCondition({valuationId: valuationId}, field, false);
|
|
|
+
|
|
|
+ return data === null ? [] : data;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 新建项目时,获取计价类别对应的清单模板
|
|
|
+ * @param valuationId
|
|
|
+ * @returns {*}
|
|
|
+ */
|
|
|
+ async getTemplateDataForNewProj (valuationId) {
|
|
|
+ // 筛选字段
|
|
|
+ let field = {_id: 0, ID: 1, ParentID: 1, NextSiblingID: 1, code: 1, name: 1, unit: 1, flags: 1};
|
|
|
+ let data = await this.findDataByCondition({valuationId: valuationId}, field, false);
|
|
|
+
|
|
|
+ return data === null ? [] : data;
|
|
|
+ }
|
|
|
+
|
|
|
+ async updateTemplate (valuationId, datas) {
|
|
|
+ try {
|
|
|
+ for (let data of datas) {
|
|
|
+ data.data.valuationId = valuationId;
|
|
|
+ let condition = {valuationId: valuationId, ID: data.data.ID}, result;
|
|
|
+ if (data.type === 'update') {
|
|
|
+ result = await this.db.update(condition, data.data);
|
|
|
+ if (result === undefined || result.ok ===undefined || !result.ok) {
|
|
|
+ throw '更新数据错误';
|
|
|
+ }
|
|
|
+ } else if (data.type === 'new') {
|
|
|
+ result = await this.db.create(data.data);
|
|
|
+ if (!result) {
|
|
|
+ throw '新增数据错误';
|
|
|
+ }
|
|
|
+ } else if (data.type === 'delete') {
|
|
|
+ result = await this.db.delete(condition);
|
|
|
+ if (result === undefined || result.ok ===undefined || !result.ok) {
|
|
|
+ throw '删除数据错误';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ } catch (error) {
|
|
|
+ console.log(error);
|
|
|
+ }
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+export default BillsTemplateModel;
|