Переглянути джерело

feat: 公路和建筑的数据后台,在编办下新增“定制编办”。

zhangweicheng 6 місяців тому
батько
коміт
6a5321e725

+ 72 - 65
modules/all_models/compilation.js

@@ -8,79 +8,86 @@
 import mongoose from "mongoose";
 
 let Schema = mongoose.Schema;
-let collectionName = 'compilation';
-let childrenSchema = new Schema({
+let collectionName = "compilation";
+let childrenSchema = new Schema(
+  {
     id: String,
     // 计价名称
     name: String,
     // 是否启用
     enable: {
-        type: Boolean,
-        default: false
+      type: Boolean,
+      default: false,
     },
     // 类型
     type: {
-        type: Number
+      type: Number,
     },
-    fileTypes: [Number]//创建项目时可用文件类型 估算,概算,预算 变更预算
-}, { _id: false });
+    fileTypes: [Number], //创建项目时可用文件类型 估算,概算,预算 变更预算
+  },
+  { _id: false }
+);
 let modelSchema = {
-    // 是否发布
-    is_release: {
-        type: Boolean,
-        default: false
-    },
-    // 自增id
-    id: {
-        type: Number
-    },
-    // 清单计价规则
-    bill_valuation: {
-        type: [childrenSchema],
-        default: []
-    },
-    // 定额计价规则
-    ration_valuation: {
-        type: [childrenSchema],
-        default: []
-    },
-    // 名称
-    name: String,
-    // 创建时间
-    create_time: Number,
-    // 创建者id
-    creator: String,
-    //描述
-    description: String,
-    //代码覆盖路径
-    overWriteUrl: String,
-    //例题建设项目ID
-    example: Array,
-    // 版本号
-    edition: String,
-    // 序号(用于排序)
-    serialNumber: Number,
-    // 发布时间
-    release_time: {
-        type: Number,
-        default: 0
-    },
-    //价格属性
-    priceProperties: {
-        type: Array,
-        default: []
-    },
-    //消耗量属性
-    consumeAmtProperties: {
-        type: Array,
-        default: []
-    },
-    // cld 办事处id
-    categoryID: {
-        type: Number,
-        default: 12 // 总部id
-    },
-    defaultLocation: String,//默认工程所在地
-    freeUse: Boolean
+  // 是否发布
+  is_release: {
+    type: Boolean,
+    default: false,
+  },
+  // 自增id
+  id: {
+    type: Number,
+  },
+  // 清单计价规则
+  bill_valuation: {
+    type: [childrenSchema],
+    default: [],
+  },
+  // 定额计价规则
+  ration_valuation: {
+    type: [childrenSchema],
+    default: [],
+  },
+  // 名称
+  name: String,
+  // 创建时间
+  create_time: Number,
+  // 创建者id
+  creator: String,
+  //描述
+  description: String,
+  //代码覆盖路径
+  overWriteUrl: String,
+  //例题建设项目ID
+  example: Array,
+  // 版本号
+  edition: String,
+  // 序号(用于排序)
+  serialNumber: Number,
+  // 发布时间
+  release_time: {
+    type: Number,
+    default: 0,
+  },
+  //价格属性
+  priceProperties: {
+    type: Array,
+    default: [],
+  },
+  //消耗量属性
+  consumeAmtProperties: {
+    type: Array,
+    default: [],
+  },
+  // cld 办事处id
+  categoryID: {
+    type: Number,
+    default: 12, // 总部id
+  },
+  defaultLocation: String, //默认工程所在地
+  freeUse: Boolean,
+  customMade: Boolean, // 定制编办
 };
-mongoose.model(collectionName, new Schema(modelSchema, { versionKey: false, collection: collectionName }));
+mongoose.model(
+  collectionName,
+  new Schema(modelSchema, { versionKey: false, collection: collectionName })
+);

Різницю між файлами не показано, бо вона завелика
+ 947 - 819
modules/users/controllers/compilation_controller.js


+ 1 - 0
modules/users/models/compilation_model.js

@@ -52,6 +52,7 @@ class CompilationModel extends BaseModel {
             edition: 1,
             serialNumber: 1,
             freeUse: 1,
+            customMade: 1,
             "ration_valuation.id": 1,
             "ration_valuation.name": 1,
             "ration_valuation.enable": 1,

+ 170 - 29
modules/users/routes/compilation_route.js

@@ -11,35 +11,176 @@ import CompilationController from "../controllers/compilation_controller";
 const router = Express.Router();
 const compilationController = new CompilationController();
 module.exports = function (app) {
-    // action定义区域
-    router.get('/', compilationController.auth, compilationController.init, compilationController.index);
-    router.get('/valuation/:section/:id', compilationController.auth, compilationController.init, compilationController.editValuation);
-    router.get('/:section/:id/:engineerID', compilationController.auth, compilationController.init, compilationController.editEngineering);
-    router.get('/valuation/:section/delete/:id', compilationController.auth, compilationController.init, compilationController.deleteValuation);
-    router.get('/template/:section/:id/:engineering', compilationController.auth, compilationController.init, compilationController.billsTemplate);
+  // action定义区域
+  router.get(
+    "/",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.index
+  );
+  router.get(
+    "/valuation/:section/:id",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.editValuation
+  );
+  router.get(
+    "/:section/:id/:engineerID",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.editEngineering
+  );
+  router.get(
+    "/valuation/:section/delete/:id",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.deleteValuation
+  );
+  router.get(
+    "/template/:section/:id/:engineering",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.billsTemplate
+  );
 
-    router.post('/release', compilationController.auth, compilationController.init, compilationController.release);
-    router.post('/add', compilationController.auth, compilationController.init, compilationController.addCompilation);
-    router.post('/setDescription', compilationController.auth, compilationController.init, compilationController.setDescription);
-    router.post('/setEdition', compilationController.auth, compilationController.init, compilationController.setEdition);
-    router.post('/setSerialNumber', compilationController.auth, compilationController.init, compilationController.setSerialNumber);
-    router.post('/setOverWriteUrl', compilationController.auth, compilationController.init, compilationController.setOverWriteUrl);
-    router.post('/setExample', compilationController.auth, compilationController.init, compilationController.setExample);
-    router.post('/add-valuation', compilationController.auth, compilationController.init, compilationController.addValuation);
-    router.post('/save-valuation', compilationController.auth, compilationController.init, compilationController.saveValuation);
-    router.post('/update-engineer', compilationController.auth, compilationController.init, compilationController.updateEngineer);
-    router.post('/delete-engineer', compilationController.auth, compilationController.init, compilationController.deleteEngineer);
-    router.post('/copy-engineer', compilationController.auth, compilationController.init, compilationController.copyEngineer);
-    router.post('/save-lib', compilationController.auth, compilationController.init, compilationController.saveEngineering);
-    router.post('/valuation/:section/enable', compilationController.auth, compilationController.init, compilationController.enableSwitch);
-    router.post('/valuation/:section/fileTypes', compilationController.auth, compilationController.init, compilationController.setFileTypes);
-    router.post('/template/:section/:id/:engineering/update', compilationController.auth, compilationController.init, compilationController.updateBillsTemplate);
-    router.post('/addEngineer', compilationController.auth, compilationController.init, compilationController.addEngineer);
-    router.post('/copyRationLibs', compilationController.auth, compilationController.init, compilationController.copyRationLibs);
-    router.post('/copyValuation', compilationController.auth, compilationController.init, compilationController.copyValuation);
+  router.post(
+    "/release",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.release
+  );
+  router.post(
+    "/add",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.addCompilation
+  );
+  router.post(
+    "/setDescription",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.setDescription
+  );
+  router.post(
+    "/setEdition",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.setEdition
+  );
+  router.post(
+    "/setSerialNumber",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.setSerialNumber
+  );
+  router.post(
+    "/setOverWriteUrl",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.setOverWriteUrl
+  );
+  router.post(
+    "/setExample",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.setExample
+  );
+  router.post(
+    "/add-valuation",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.addValuation
+  );
+  router.post(
+    "/save-valuation",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.saveValuation
+  );
+  router.post(
+    "/update-engineer",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.updateEngineer
+  );
+  router.post(
+    "/delete-engineer",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.deleteEngineer
+  );
+  router.post(
+    "/copy-engineer",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.copyEngineer
+  );
+  router.post(
+    "/save-lib",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.saveEngineering
+  );
+  router.post(
+    "/valuation/:section/enable",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.enableSwitch
+  );
+  router.post(
+    "/valuation/:section/fileTypes",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.setFileTypes
+  );
+  router.post(
+    "/template/:section/:id/:engineering/update",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.updateBillsTemplate
+  );
+  router.post(
+    "/addEngineer",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.addEngineer
+  );
+  router.post(
+    "/copyRationLibs",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.copyRationLibs
+  );
+  router.post(
+    "/copyValuation",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.copyValuation
+  );
 
-    router.post('/changeCategory', compilationController.auth, compilationController.init, compilationController.changeCategory);
-    router.post('/changeLocation', compilationController.auth, compilationController.init, compilationController.changeLocation);
-    router.post('/changeFreeUse', compilationController.auth, compilationController.init, compilationController.changeFreeUse);
-    app.use("/compilation", router);
+  router.post(
+    "/changeCategory",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.changeCategory
+  );
+  router.post(
+    "/changeLocation",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.changeLocation
+  );
+  router.post(
+    "/changeFreeUse",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.changeFreeUse
+  );
+  router.post(
+    "/changeCompilation",
+    compilationController.auth,
+    compilationController.init,
+    compilationController.changeCompilation
+  );
+  app.use("/compilation", router);
 };

Різницю між файлами не показано, бо вона завелика
+ 1293 - 1102
web/users/js/compilation.js


+ 4 - 1
web/users/views/compilation/index.html

@@ -134,7 +134,10 @@
                 </td></tr>
                 <tr>
                     <td>
-                        <p><span> 提供免费版:</span> <input type="checkbox" id="freeUse"  <% if (selectedCompilation.freeUse) { %> checked <% } %>></p>       
+                        <p>
+                            <span> 提供免费版:</span> <input type="checkbox" id="freeUse"  <% if (selectedCompilation.freeUse) { %> checked <% } %>>
+                            <span style="margin-left: 60px;"> 定制编办:</span> <input type="checkbox" id="customMade"  <% if (selectedCompilation.customMade) { %> checked <% } %>>
+                        </p>       
                     </td>
                 </tr>
                 <tr><td><span>版本号:</span><input class="form-control" type="text" id="edition" value="<%= selectedCompilation.edition%>"></td></tr>