Browse Source

Merge branch 'dev' of https://gitea.anxinyun.cn/gao.zhiyuan/Highways4Good into dev

release_0.0.4
wanyiwei 2 years ago
parent
commit
a62bce91e8
  1. 189
      api/app/lib/controllers/data/index.js
  2. 6
      api/app/lib/controllers/data/vehicle.js
  3. 24
      api/app/lib/controllers/report/index.js
  4. 98
      api/app/lib/models/bridge.js
  5. 53
      api/app/lib/models/bus_car.js
  6. 24
      api/app/lib/models/bus_line.js
  7. 30
      api/app/lib/models/municipal_business.js
  8. 41
      api/app/lib/models/municipal_vehicle.js
  9. 19
      api/app/lib/models/overspeed.js
  10. 12
      api/app/lib/models/project.js
  11. 4
      api/app/lib/models/publicity.js
  12. 16
      api/app/lib/models/report.js
  13. 77
      api/app/lib/models/road.js
  14. 4
      api/app/lib/models/statistic.js
  15. 6
      api/app/lib/routes/data/index.js
  16. 654
      api/log/development.log
  17. 7
      api/package.json
  18. 3
      api/sequelize-automate.config.js
  19. 4
      api/utils/xlsxDownload.js
  20. 60
      api/yarn.lock
  21. 8
      weapp/src/packages/changePassword/index.jsx
  22. 8
      weapp/src/packages/patrol/index.jsx
  23. 3
      weapp/src/packages/patrolView/index.config.js
  24. 66
      weapp/src/packages/patrolView/index.jsx
  25. 33
      weapp/src/pages/home/index.jsx
  26. 10
      weapp/src/pages/home/index.scss
  27. 2
      weapp/src/pages/user/index.jsx
  28. 88
      weapp/src/static/img/home/video-bg.svg
  29. BIN
      weapp/src/static/img/tabbar/shouye-active.png
  30. BIN
      weapp/src/static/img/tabbar/shouye.png
  31. BIN
      weapp/src/static/img/tabbar/wode-active.png
  32. BIN
      weapp/src/static/img/tabbar/wode.png
  33. 25
      web/client/assets/color.less
  34. BIN
      web/client/assets/images/leadership/weizhis.png
  35. BIN
      web/client/assets/images/leadership/youofanye.png
  36. BIN
      web/client/assets/images/leadership/zuofanye.png
  37. 4
      web/client/src/components/index.js
  38. 40
      web/client/src/components/simpleFileDownButton.js
  39. 202
      web/client/src/sections/fillion/actions/infor.js
  40. 105
      web/client/src/sections/fillion/components/bridgeTable.js
  41. 40
      web/client/src/sections/fillion/components/gis/patrolGis.js
  42. 106
      web/client/src/sections/fillion/components/highways/highwaysdata.js
  43. 74
      web/client/src/sections/fillion/components/highwaysTable.js
  44. 238
      web/client/src/sections/fillion/components/infor/details.js
  45. 192
      web/client/src/sections/fillion/components/inforTable.js
  46. 1348
      web/client/src/sections/fillion/components/operationalTable.js
  47. 35
      web/client/src/sections/fillion/components/patrolTable.js
  48. 4
      web/client/src/sections/fillion/components/project/project.js
  49. 1044
      web/client/src/sections/fillion/components/publicTable.js
  50. 172
      web/client/src/sections/fillion/components/transportationTable.js
  51. 4
      web/client/src/sections/fillion/nav-item.js
  52. 53
      web/client/src/sections/quanju/containers/example.js
  53. 2
      web/client/src/sections/quanju/containers/footer/build/Rightbottom.js
  54. 2
      web/client/src/sections/quanju/containers/footer/build/Rightcenter.js
  55. 9
      web/client/src/sections/quanju/containers/footer/build/index.js
  56. 4
      web/client/src/sections/quanju/containers/footer/build/style.less
  57. 189
      web/client/src/sections/quanju/containers/footer/gis/bounds.js
  58. 53
      web/client/src/sections/quanju/containers/footer/gis/gis.js
  59. 59
      web/client/src/sections/quanju/containers/footer/gis/mock_data.js
  60. 28
      web/client/src/sections/quanju/containers/footer/guanli/LeftItem.js
  61. 34
      web/client/src/sections/quanju/containers/footer/guanli/index.js
  62. 3
      web/client/src/sections/quanju/containers/footer/guanli/style.less
  63. 18
      web/client/src/sections/quanju/containers/footer/leadership/centerleft/daolu.js
  64. 12
      web/client/src/sections/quanju/containers/footer/leadership/centerleft/handong.js
  65. 6
      web/client/src/sections/quanju/containers/footer/leadership/centerleft/lunbo/bottomlunbo.js
  66. 5
      web/client/src/sections/quanju/containers/footer/leadership/centerleft/lunbo/style.less
  67. 7
      web/client/src/sections/quanju/containers/footer/leadership/centerleft/lunbo/toplunbo.js
  68. 14
      web/client/src/sections/quanju/containers/footer/leadership/centerleft/qiqoliang.js
  69. 2
      web/client/src/sections/quanju/containers/footer/leadership/left/echarts/lefttopecharts.js
  70. 6
      web/client/src/sections/quanju/containers/footer/leadership/left/left-top.js
  71. 41
      web/client/src/sections/quanju/containers/footer/leadership/right/hudong.js
  72. 8
      web/client/src/sections/quanju/containers/footer/leadership/right/right-bottom.js
  73. 5
      web/client/src/sections/quanju/containers/footer/leadership/right/right-top.js
  74. 38
      web/client/src/utils/webapi.js
  75. 645
      web/log/development.txt
  76. 2
      web/package.json

189
api/app/lib/controllers/data/index.js

@ -1,106 +1,107 @@
'use strict';
// const { simpleExcelDown } = require('../../../../utils/xlsxDownload');
const fs = require('fs');
const xlsxDownload = require('../../../../utils/xlsxDownload.js');
const moment = require('moment');
async function dataExport (ctx) {
try {
// const models = ctx.fs.dc.models;
// const { userId } = ctx.fs.api
// const { ids } = ctx.query;
const models = ctx.fs.dc.models;
const { userId } = ctx.fs.api
const { exp, ids, roadLevel, municipalType } = ctx.query;
// const fileList = [
// {
// n: '道路',
// tableName: 'road',
// defaultKey: ['level'],
// defaultValue: ['村'],
// },
// {
// n: '道路',
// tableName: 'road',
// defaultKey: ['level'],
// defaultValue: ['县'],
// },
// {
// n: '道路',
// tableName: 'road',
// defaultKey: ['level'],
// defaultValue: ['乡'],
// },
// {
// n: '桥梁',
// tableName: 'bridge'
// },
// {
// n: '运政车辆',
// tableName: 'municipal_vehicle',
// defaultKey: ['type'],
// defaultValue: ['出租车'],
// },
// {
// n: '运政车辆',
// tableName: 'municipal_vehicle',
// defaultKey: ['type'],
// defaultValue: ['危货'],
// },
// {
// n: '运政业户',
// tableName: 'municipal_business',
// defaultKey: ['type'],
// defaultValue: ['出租车'],
// },
// {
// n: '运政业户',
// tableName: 'municipal_business',
// defaultKey: ['type'],
// defaultValue: ['危货'],
// },
// {
// n: '工程一览',
// tableName: 'project',
// defaultKey: ['done', 'type'],
// defaultValue: [false, 'road'],
// },
// {
// n: '工程一览',
// tableName: 'project',
// defaultKey: ['done', 'type'],
// defaultValue: [false, 'bridge'],
// },
// {
// n: '治超',
// tableName: 'overspeed',
// },
// {
// n: '公交线路',
// tableName: 'bus_line',
// },
// {
// n: '公交车辆',
// tableName: 'bus_car',
// },
// ]
if (!exp) {
throw '参数错误';
}
// const exportData = await models.BusCar.destroy({
// where: {
// id: { $in: ids.split(',') }
// }
// })
const modalList = [
{
n: '道路',
k: 'road',
tableName: 'Road',
},
{
n: '桥梁',
k: 'bridge',
tableName: 'Bridge'
},
{
n: '运政车辆',
k: 'vehicle',
tableName: 'MunicipalVehicle',
},
{
n: '运政业户',
k: 'business',
tableName: 'MunicipalBusiness',
},
{
n: '工程一览',
k: 'project',
tableName: 'Project',
},
{
n: '治超',
k: 'overspeed',
tableName: 'Overspeed',
},
{
n: '公交线路',
k: 'busLine',
tableName: 'BusLine',
},
{
n: '公交车辆',
k: 'busCar',
tableName: 'BusCar',
},
]
// const fileName = `摄像头信息列表_${moment().format('YYYYMMDDHHmmss')}` + '.csv'
// const filePath = await simpleExcelDown({ data: exportData, header, fileName: fileName })
// const fileData = fs.readFileSync(filePath);
const modalOption = modalList.find(item => item.k == exp);
if (!modalOption) {
throw '参数错误';
}
// ctx.status = 200;
// ctx.set('Content-Type', 'application/x-xls');
// ctx.set('Content-disposition', 'attachment; filename=' + encodeURI(fileName));
// ctx.body = fileData;
let findOption = {
where: {}
}
if (ids) {
findOption.where.id = { $in: ids.split(',') }
}
if (roadLevel) {
findOption.where.level = roadLevel
}
if (municipalType) {
findOption.where.type = municipalType
}
const exportData = await models[modalOption.tableName].findAll(findOption)
const tableAttributes = models[modalOption.tableName].tableAttributes
let header = []
for (let k in tableAttributes) {
if (k != 'id' && tableAttributes[k].comment) {
header.push({
title: tableAttributes[k].comment || '-',
key: k,
index: tableAttributes[k].index,
})
}
}
header.sort((a, b) => { return a.index - b.index })
const fileName = `${modalOption.n}_${moment().format('YYYYMMDDHHmmss')}` + '.csv'
const filePath = await xlsxDownload.simpleExcelDown({ data: exportData, header, fileName: fileName })
const fileData = fs.readFileSync(filePath);
ctx.status = 200;
ctx.set('Content-Type', 'application/x-xls');
ctx.set('Content-disposition', 'attachment; filename=' + encodeURI(fileName));
ctx.body = fileData;
} catch (error) {
// ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`);
// ctx.status = 400;
// ctx.body = {
// message: typeof error == 'string' ? error : undefined
// }
ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`);
ctx.status = 400;
ctx.body = {
message: typeof error == 'string' ? error : undefined
}
}
}

6
api/app/lib/controllers/data/vehicle.js

@ -115,9 +115,9 @@ async function specificEdit (ctx) {
const data = ctx.request.body;
if (!data.vehicleId) {
const vehicleRes = await models.Vehicle.create(data)
const vehicleRes = await models.MunicipalVehicle.create(data)
} else {
const vehicleRes = await models.Vehicle.update(data, {
const vehicleRes = await models.MunicipalVehicle.update(data, {
where: {
id: data.vehicleId
}
@ -139,7 +139,7 @@ async function specificDel (ctx) {
const models = ctx.fs.dc.models;
const { vehicleId } = ctx.params;
const vehicleRes = await models.Vehicle.destroy({
const vehicleRes = await models.MunicipalVehicle.destroy({
where: {
id: vehicleId
}

24
api/app/lib/controllers/report/index.js

@ -1,15 +1,15 @@
'use strict';
const { QueryTypes } = require('sequelize');
async function reportList (ctx) {
async function reportList(ctx) {
try {
const models = ctx.fs.dc.models;
const { limit, page, startTime, endTime, keyword, userId, reportType } = ctx.query
const { limit, page, startTime, endTime, keyword, userId, reportType, isTop } = ctx.query
let findOption = {
where: {
},
attributes: ['id', 'road', 'time', 'projectType', 'roadSectionStart', 'roadSectionEnd', 'reportType', 'content', 'longitude','latitude'],
attributes: ['id', 'road', 'time', 'projectType', 'roadSectionStart', 'roadSectionEnd', 'reportType', 'content', 'longitude', 'latitude'],
include: [{
model: models.User,
attributes: ['name']
@ -39,7 +39,15 @@ async function reportList (ctx) {
if (reportType) {
findOption.where.reportType = reportType
}
const reportRes = await models.Report.findAll(findOption)
let reportRes = null;
if (isTop) {
const sqlStr = 'select * from (SELECT R.*, "row_number"() OVER(PARTITION BY R.user_id ORDER BY R."time" DESC) AS NEWINDEX FROM report AS R ) AS NR WHERE NEWINDEX = 1'
const sequelize = ctx.fs.dc.orm;
reportRes = await sequelize.query(sqlStr, { type: QueryTypes.SELECT });
} else {
reportRes = await models.Report.findAll(findOption)
}
ctx.status = 200;
ctx.body = reportRes
@ -52,7 +60,7 @@ async function reportList (ctx) {
}
}
async function reportPosition (ctx) {
async function reportPosition(ctx) {
try {
const models = ctx.fs.dc.models;
const { startTime, endTime, userId, reportType } = ctx.query
@ -102,7 +110,7 @@ async function reportPosition (ctx) {
}
}
async function reportDetail (ctx) {
async function reportDetail(ctx) {
try {
const models = ctx.fs.dc.models;
const { reportId } = ctx.params
@ -124,7 +132,7 @@ async function reportDetail (ctx) {
}
}
async function createReport (ctx) {
async function createReport(ctx) {
try {
const { userId } = ctx.fs.api
const models = ctx.fs.dc.models;
@ -146,7 +154,7 @@ async function createReport (ctx) {
}
}
async function deleteReport (ctx) {
async function deleteReport(ctx) {
try {
const models = ctx.fs.dc.models;
const { reportId } = ctx.params;

98
api/app/lib/models/bridge.js

@ -6,6 +6,7 @@ module.exports = dc => {
const sequelize = dc.orm;
const Bridge = sequelize.define("bridge", {
id: {
index: 1,
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: null,
@ -16,6 +17,7 @@ module.exports = dc => {
unique: "bridge_id_uindex"
},
bridgeCode: {
index: 2,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -25,6 +27,7 @@ module.exports = dc => {
autoIncrement: false
},
bridgeName: {
index: 3,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -34,6 +37,7 @@ module.exports = dc => {
autoIncrement: false
},
centralStation: {
index: 4,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -43,6 +47,7 @@ module.exports = dc => {
autoIncrement: false
},
crossingFigureType: {
index: 5,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -52,6 +57,7 @@ module.exports = dc => {
autoIncrement: false
},
crossingFigureName: {
index: 6,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -61,6 +67,7 @@ module.exports = dc => {
autoIncrement: false
},
natureOfCharges: {
index: 7,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -70,6 +77,7 @@ module.exports = dc => {
autoIncrement: false
},
rampCode: {
index: 8,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -79,6 +87,7 @@ module.exports = dc => {
autoIncrement: false
},
sectionType: {
index: 9,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -88,6 +97,7 @@ module.exports = dc => {
autoIncrement: false
},
crossingFigureType1: {
index: 10,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -97,6 +107,7 @@ module.exports = dc => {
autoIncrement: false
},
crossingFigureName1: {
index: 11,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -106,6 +117,7 @@ module.exports = dc => {
autoIncrement: false
},
originalBridgeCode: {
index: 12,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -115,6 +127,7 @@ module.exports = dc => {
autoIncrement: false
},
whetherWideRoadAndNarrowBridge: {
index: 13,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -124,6 +137,7 @@ module.exports = dc => {
autoIncrement: false
},
isItInTheDirectoryOfLongAndLongBridges: {
index: 14,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -133,6 +147,7 @@ module.exports = dc => {
autoIncrement: false
},
whetherItIsACrossProvincialBridge: {
index: 15,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -142,6 +157,7 @@ module.exports = dc => {
autoIncrement: false
},
interworkingType: {
index: 16,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -151,6 +167,7 @@ module.exports = dc => {
autoIncrement: false
},
interworkingForm: {
index: 17,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -160,6 +177,7 @@ module.exports = dc => {
autoIncrement: false
},
interworkingAndCrossoverMode: {
index: 18,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -169,6 +187,7 @@ module.exports = dc => {
autoIncrement: false
},
bridgeClassification: {
index: 19,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -178,6 +197,7 @@ module.exports = dc => {
autoIncrement: false
},
totalLengthOfBridge: {
index: 20,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -187,6 +207,7 @@ module.exports = dc => {
autoIncrement: false
},
totalSpanLength: {
index: 21,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -196,6 +217,7 @@ module.exports = dc => {
autoIncrement: false
},
mainSpanOfMainBridge: {
index: 22,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -205,6 +227,7 @@ module.exports = dc => {
autoIncrement: false
},
numberOfMainBridgeHoles: {
index: 23,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -214,6 +237,7 @@ module.exports = dc => {
autoIncrement: false
},
spanCombination: {
index: 24,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -223,6 +247,7 @@ module.exports = dc => {
autoIncrement: false
},
bridgeProperties: {
index: 25,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -232,6 +257,7 @@ module.exports = dc => {
autoIncrement: false
},
designLoadClass: {
index: 26,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -241,6 +267,7 @@ module.exports = dc => {
autoIncrement: false
},
superstructure: {
index: 27,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -250,6 +277,7 @@ module.exports = dc => {
autoIncrement: false
},
superstructureMaterials: {
index: 28,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -259,6 +287,7 @@ module.exports = dc => {
autoIncrement: false
},
bridgeDeckPavementType: {
index: 29,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -268,6 +297,7 @@ module.exports = dc => {
autoIncrement: false
},
bridgeDeckWidth: {
index: 30,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -277,6 +307,7 @@ module.exports = dc => {
autoIncrement: false
},
clearWidthOfBridgeDeck: {
index: 31,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -286,6 +317,7 @@ module.exports = dc => {
autoIncrement: false
},
clearanceUnderBridge: {
index: 32,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -295,6 +327,7 @@ module.exports = dc => {
autoIncrement: false
},
seismicGrade: {
index: 33,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -304,6 +337,7 @@ module.exports = dc => {
autoIncrement: false
},
navigationClass: {
index: 34,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -313,6 +347,7 @@ module.exports = dc => {
autoIncrement: false
},
abutmentType: {
index: 35,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -322,6 +357,7 @@ module.exports = dc => {
autoIncrement: false
},
pierType: {
index: 36,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -331,6 +367,7 @@ module.exports = dc => {
autoIncrement: false
},
typesOfPierAndAbutmentAntiCollisionFacilities: {
index: 37,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -340,6 +377,7 @@ module.exports = dc => {
autoIncrement: false
},
expansionJointType: {
index: 38,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -349,6 +387,7 @@ module.exports = dc => {
autoIncrement: false
},
supportType: {
index: 39,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -358,6 +397,7 @@ module.exports = dc => {
autoIncrement: false
},
characteristicsOfCurvedSlope: {
index: 40,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -367,6 +407,7 @@ module.exports = dc => {
autoIncrement: false
},
bridgeHeight: {
index: 41,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -376,6 +417,7 @@ module.exports = dc => {
autoIncrement: false
},
sidewalkWidth: {
index: 42,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -385,6 +427,7 @@ module.exports = dc => {
autoIncrement: false
},
constructionUnit: {
index: 43,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -394,6 +437,7 @@ module.exports = dc => {
autoIncrement: false
},
completionTime: {
index: 44,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -403,6 +447,7 @@ module.exports = dc => {
autoIncrement: false
},
openingDate: {
index: 45,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -412,6 +457,7 @@ module.exports = dc => {
autoIncrement: false
},
reconstructionTime: {
index: 46,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -421,6 +467,7 @@ module.exports = dc => {
autoIncrement: false
},
totalCost: {
index: 47,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -430,6 +477,7 @@ module.exports = dc => {
autoIncrement: false
},
nameOfDesignUnit: {
index: 48,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -439,6 +487,7 @@ module.exports = dc => {
autoIncrement: false
},
nameOfConstructionUnit: {
index: 49,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -448,6 +497,7 @@ module.exports = dc => {
autoIncrement: false
},
nameOfSupervisionUnit: {
index: 50,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -457,6 +507,7 @@ module.exports = dc => {
autoIncrement: false
},
natureOfConstruction: {
index: 51,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -466,6 +517,7 @@ module.exports = dc => {
autoIncrement: false
},
evaluationDate: {
index: 52,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -475,6 +527,7 @@ module.exports = dc => {
autoIncrement: false
},
technicalConditionEvaluation: {
index: 53,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -484,6 +537,7 @@ module.exports = dc => {
autoIncrement: false
},
assessmentUnit: {
index: 54,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -493,6 +547,7 @@ module.exports = dc => {
autoIncrement: false
},
locationOfMajorDiseases: {
index: 55,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -502,6 +557,7 @@ module.exports = dc => {
autoIncrement: false
},
diseaseDescription: {
index: 56,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -511,6 +567,7 @@ module.exports = dc => {
autoIncrement: false
},
takeControlMeasures: {
index: 57,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -520,6 +577,7 @@ module.exports = dc => {
autoIncrement: false
},
dateOfLastPeriodicInspection: {
index: 58,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -529,6 +587,7 @@ module.exports = dc => {
autoIncrement: false
},
natureOfManagementAndMaintenanceUnit: {
index: 59,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -538,6 +597,7 @@ module.exports = dc => {
autoIncrement: false
},
managementAndMaintenanceUnit: {
index: 60,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -547,6 +607,7 @@ module.exports = dc => {
autoIncrement: false
},
supervisionUnit: {
index: 61,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -556,6 +617,7 @@ module.exports = dc => {
autoIncrement: false
},
reconstructionConstructionUnit: {
index: 62,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -565,6 +627,7 @@ module.exports = dc => {
autoIncrement: false
},
whetherItIsASubsidyProjectOfTheMinistry: {
index: 63,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -574,6 +637,7 @@ module.exports = dc => {
autoIncrement: false
},
engineeringProperties: {
index: 64,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -583,6 +647,7 @@ module.exports = dc => {
autoIncrement: false
},
reconstructionPart: {
index: 65,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -592,6 +657,7 @@ module.exports = dc => {
autoIncrement: false
},
modificationCompletionDate: {
index: 66,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -601,6 +667,7 @@ module.exports = dc => {
autoIncrement: false
},
year1: {
index: 67,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -610,6 +677,7 @@ module.exports = dc => {
autoIncrement: false
},
spanCombination1: {
index: 68,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -619,6 +687,7 @@ module.exports = dc => {
autoIncrement: false
},
investment1: {
index: 69,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -628,6 +697,7 @@ module.exports = dc => {
autoIncrement: false
},
year2: {
index: 70,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -637,6 +707,7 @@ module.exports = dc => {
autoIncrement: false
},
spanCombination2: {
index: 71,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -646,6 +717,7 @@ module.exports = dc => {
autoIncrement: false
},
investment2: {
index: 72,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -655,6 +727,7 @@ module.exports = dc => {
autoIncrement: false
},
year3: {
index: 73,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -664,6 +737,7 @@ module.exports = dc => {
autoIncrement: false
},
spanCombination3: {
index: 74,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -673,6 +747,7 @@ module.exports = dc => {
autoIncrement: false
},
investment3: {
index: 75,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -682,6 +757,7 @@ module.exports = dc => {
autoIncrement: false
},
year4: {
index: 76,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -691,6 +767,7 @@ module.exports = dc => {
autoIncrement: false
},
spanCombination4: {
index: 77,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -700,6 +777,7 @@ module.exports = dc => {
autoIncrement: false
},
investment4: {
index: 78,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -709,6 +787,7 @@ module.exports = dc => {
autoIncrement: false
},
year5: {
index: 79,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -718,6 +797,7 @@ module.exports = dc => {
autoIncrement: false
},
spanCombination5: {
index: 80,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -727,6 +807,7 @@ module.exports = dc => {
autoIncrement: false
},
investment5: {
index: 81,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -736,6 +817,7 @@ module.exports = dc => {
autoIncrement: false
},
plannedFundCategory: {
index: 82,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -745,6 +827,7 @@ module.exports = dc => {
autoIncrement: false
},
plannedYear: {
index: 83,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -754,6 +837,7 @@ module.exports = dc => {
autoIncrement: false
},
planDocumentNo: {
index: 84,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -763,6 +847,7 @@ module.exports = dc => {
autoIncrement: false
},
planItemUniqueCode: {
index: 85,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -772,6 +857,7 @@ module.exports = dc => {
autoIncrement: false
},
plannedProjectType: {
index: 86,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -781,6 +867,7 @@ module.exports = dc => {
autoIncrement: false
},
planProjectName: {
index: 87,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -790,6 +877,7 @@ module.exports = dc => {
autoIncrement: false
},
completionStatus: {
index: 88,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -799,6 +887,7 @@ module.exports = dc => {
autoIncrement: false
},
yearOfCompletion: {
index: 89,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -808,6 +897,7 @@ module.exports = dc => {
autoIncrement: false
},
reasonForChange: {
index: 90,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -817,6 +907,7 @@ module.exports = dc => {
autoIncrement: false
},
changeTime: {
index: 91,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -826,6 +917,7 @@ module.exports = dc => {
autoIncrement: false
},
reportingUnit: {
index: 92,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -835,6 +927,7 @@ module.exports = dc => {
autoIncrement: false
},
remarks: {
index: 93,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -844,6 +937,7 @@ module.exports = dc => {
autoIncrement: false
},
whetherOverpassBridge: {
index: 94,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -853,6 +947,7 @@ module.exports = dc => {
autoIncrement: false
},
offLineBridgeOrNot: {
index: 95,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -862,6 +957,7 @@ module.exports = dc => {
autoIncrement: false
},
whetherDangerousBridgeReconstruction: {
index: 96,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -871,6 +967,7 @@ module.exports = dc => {
autoIncrement: false
},
districtcounty: {
index: 97,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -880,6 +977,7 @@ module.exports = dc => {
autoIncrement: false
},
locationCity: {
index: 98,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,

53
api/app/lib/models/bus_car.js

@ -6,6 +6,7 @@ module.exports = dc => {
const sequelize = dc.orm;
const BusCar = sequelize.define("busCar", {
id: {
index: 1,
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: null,
@ -16,6 +17,7 @@ module.exports = dc => {
unique: "bus_car_id_uindex"
},
company: {
index: 2,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -25,6 +27,7 @@ module.exports = dc => {
autoIncrement: false
},
fleet: {
index: 3,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -34,6 +37,7 @@ module.exports = dc => {
autoIncrement: false
},
line: {
index: 4,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -43,6 +47,7 @@ module.exports = dc => {
autoIncrement: false
},
vehicleNumber: {
index: 5,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -52,6 +57,7 @@ module.exports = dc => {
autoIncrement: false
},
vehicleLicensePlateNumber: {
index: 6,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -61,6 +67,7 @@ module.exports = dc => {
autoIncrement: false
},
operationCategory: {
index: 7,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -70,6 +77,7 @@ module.exports = dc => {
autoIncrement: false
},
serviceLife: {
index: 8,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -79,6 +87,7 @@ module.exports = dc => {
autoIncrement: false
},
engineModel: {
index: 9,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -88,6 +97,7 @@ module.exports = dc => {
autoIncrement: false
},
vehicleModel: {
index: 10,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -97,6 +107,7 @@ module.exports = dc => {
autoIncrement: false
},
vehicleCategory: {
index: 11,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -106,6 +117,7 @@ module.exports = dc => {
autoIncrement: false
},
vehicleStatus: {
index: 12,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -115,6 +127,7 @@ module.exports = dc => {
autoIncrement: false
},
dateOfEntry: {
index: 13,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -124,6 +137,7 @@ module.exports = dc => {
autoIncrement: false
},
purchaseDate: {
index: 14,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -133,6 +147,7 @@ module.exports = dc => {
autoIncrement: false
},
energyConsumptionType: {
index: 15,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -142,6 +157,7 @@ module.exports = dc => {
autoIncrement: false
},
numberOfStandardUnits: {
index: 16,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -151,6 +167,7 @@ module.exports = dc => {
autoIncrement: false
},
maintenanceUnit: {
index: 17,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -160,6 +177,7 @@ module.exports = dc => {
autoIncrement: false
},
vehicleType: {
index: 18,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -169,6 +187,7 @@ module.exports = dc => {
autoIncrement: false
},
brandAndModel: {
index: 19,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -178,6 +197,7 @@ module.exports = dc => {
autoIncrement: false
},
manufacturer: {
index: 20,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -187,6 +207,7 @@ module.exports = dc => {
autoIncrement: false
},
drivingLicenseNo: {
index: 21,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -196,6 +217,7 @@ module.exports = dc => {
autoIncrement: false
},
engineNumber: {
index: 22,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -205,6 +227,7 @@ module.exports = dc => {
autoIncrement: false
},
mainEnergyConsumption: {
index: 23,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -214,6 +237,7 @@ module.exports = dc => {
autoIncrement: false
},
secondaryEnergyConsumption: {
index: 24,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -223,6 +247,7 @@ module.exports = dc => {
autoIncrement: false
},
emissionStandard: {
index: 25,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -232,6 +257,7 @@ module.exports = dc => {
autoIncrement: false
},
startDate: {
index: 26,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -241,6 +267,7 @@ module.exports = dc => {
autoIncrement: false
},
lastTransferDate: {
index: 27,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -250,6 +277,7 @@ module.exports = dc => {
autoIncrement: false
},
conductor: {
index: 28,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -259,6 +287,7 @@ module.exports = dc => {
autoIncrement: false
},
vehicleWidth: {
index: 29,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -268,6 +297,7 @@ module.exports = dc => {
autoIncrement: false
},
carHeight: {
index: 30,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -277,6 +307,7 @@ module.exports = dc => {
autoIncrement: false
},
approvedPassengerCapacity: {
index: 31,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -286,6 +317,7 @@ module.exports = dc => {
autoIncrement: false
},
vehicleIdentificationNumber: {
index: 32,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -295,6 +327,7 @@ module.exports = dc => {
autoIncrement: false
},
gearboxBrand: {
index: 33,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -304,6 +337,7 @@ module.exports = dc => {
autoIncrement: false
},
manualCarWashingFee: {
index: 34,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -313,6 +347,7 @@ module.exports = dc => {
autoIncrement: false
},
laborCost: {
index: 35,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -322,6 +357,7 @@ module.exports = dc => {
autoIncrement: false
},
curbWeight: {
index: 36,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -331,6 +367,7 @@ module.exports = dc => {
autoIncrement: false
},
totalMass: {
index: 37,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -340,6 +377,7 @@ module.exports = dc => {
autoIncrement: false
},
airConditioningTemperature: {
index: 38,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -349,6 +387,7 @@ module.exports = dc => {
autoIncrement: false
},
airConditionedCarOrNot: {
index: 39,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -358,6 +397,7 @@ module.exports = dc => {
autoIncrement: false
},
turnOnTheAirConditioningTemperature: {
index: 40,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -367,6 +407,7 @@ module.exports = dc => {
autoIncrement: false
},
power: {
index: 41,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -376,6 +417,7 @@ module.exports = dc => {
autoIncrement: false
},
transmission: {
index: 42,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -385,6 +427,7 @@ module.exports = dc => {
autoIncrement: false
},
seatingCapacity: {
index: 43,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -394,6 +437,7 @@ module.exports = dc => {
autoIncrement: false
},
airConditioningBrand: {
index: 44,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -403,6 +447,7 @@ module.exports = dc => {
autoIncrement: false
},
seatType: {
index: 45,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -412,6 +457,7 @@ module.exports = dc => {
autoIncrement: false
},
tireSpecifications: {
index: 46,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -421,6 +467,7 @@ module.exports = dc => {
autoIncrement: false
},
roadTransportCertificateNo: {
index: 47,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -430,6 +477,7 @@ module.exports = dc => {
autoIncrement: false
},
parkingPoint: {
index: 48,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -439,6 +487,7 @@ module.exports = dc => {
autoIncrement: false
},
carWashingType: {
index: 49,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -448,6 +497,7 @@ module.exports = dc => {
autoIncrement: false
},
maintenanceFreeWheelEnd: {
index: 50,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -457,6 +507,7 @@ module.exports = dc => {
autoIncrement: false
},
firstGuaranteeDate: {
index: 51,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -466,6 +517,7 @@ module.exports = dc => {
autoIncrement: false
},
dateOfRenovation: {
index: 52,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -475,6 +527,7 @@ module.exports = dc => {
autoIncrement: false
},
motorVehicleOwner: {
index: 53,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,

24
api/app/lib/models/bus_line.js

@ -6,6 +6,7 @@ module.exports = dc => {
const sequelize = dc.orm;
const BusLine = sequelize.define("busLine", {
id: {
index: 1,
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: null,
@ -16,6 +17,7 @@ module.exports = dc => {
unique: "bus_line_id_uindex"
},
company: {
index: 2,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -25,6 +27,7 @@ module.exports = dc => {
autoIncrement: false
},
fleet: {
index: 3,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -34,6 +37,7 @@ module.exports = dc => {
autoIncrement: false
},
carCaptain: {
index: 4,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -43,6 +47,7 @@ module.exports = dc => {
autoIncrement: false
},
assistantCarCaptain: {
index: 5,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -52,6 +57,7 @@ module.exports = dc => {
autoIncrement: false
},
officeLocation: {
index: 6,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -61,6 +67,7 @@ module.exports = dc => {
autoIncrement: false
},
lineName: {
index: 7,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -70,6 +77,7 @@ module.exports = dc => {
autoIncrement: false
},
lineType: {
index: 8,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -79,6 +87,7 @@ module.exports = dc => {
autoIncrement: false
},
lineDivision: {
index: 9,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -88,6 +97,7 @@ module.exports = dc => {
autoIncrement: false
},
gpsNumber: {
index: 10,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -97,6 +107,7 @@ module.exports = dc => {
autoIncrement: false
},
startingPointEndPoint: {
index: 11,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -106,6 +117,7 @@ module.exports = dc => {
autoIncrement: false
},
numberOfVehicles: {
index: 12,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -115,6 +127,7 @@ module.exports = dc => {
autoIncrement: false
},
totalKilometers: {
index: 13,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -124,6 +137,7 @@ module.exports = dc => {
autoIncrement: false
},
ticketPrice: {
index: 14,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -133,6 +147,7 @@ module.exports = dc => {
autoIncrement: false
},
openingTime: {
index: 15,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -142,6 +157,7 @@ module.exports = dc => {
autoIncrement: false
},
runningTime: {
index: 16,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -151,6 +167,7 @@ module.exports = dc => {
autoIncrement: false
},
openingTimeSummer: {
index: 17,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -160,6 +177,7 @@ module.exports = dc => {
autoIncrement: false
},
shiftClosingTimeSummer: {
index: 18,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -169,6 +187,7 @@ module.exports = dc => {
autoIncrement: false
},
openingTimeWinter: {
index: 19,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -178,6 +197,7 @@ module.exports = dc => {
autoIncrement: false
},
shiftClosingTimeWinter: {
index: 20,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -187,6 +207,7 @@ module.exports = dc => {
autoIncrement: false
},
uplinkOfStationsAlongTheWay: {
index: 21,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -196,6 +217,7 @@ module.exports = dc => {
autoIncrement: false
},
downlinkOfStationsAlongTheWay: {
index: 22,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -205,6 +227,7 @@ module.exports = dc => {
autoIncrement: false
},
area: {
index: 23,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -214,6 +237,7 @@ module.exports = dc => {
autoIncrement: false
},
remarks: {
index: 24,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,

30
api/app/lib/models/municipal_business.js

@ -6,6 +6,7 @@ module.exports = dc => {
const sequelize = dc.orm;
const MunicipalBusiness = sequelize.define("municipalBusiness", {
id: {
index: 1,
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: null,
@ -16,6 +17,7 @@ module.exports = dc => {
unique: "municipal_business_id_uindex"
},
nameOfBusinessOwner: {
index: 2,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -25,6 +27,7 @@ module.exports = dc => {
autoIncrement: false
},
productName: {
index: 3,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -34,6 +37,7 @@ module.exports = dc => {
autoIncrement: false
},
creditSocialCode: {
index: 4,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -43,6 +47,7 @@ module.exports = dc => {
autoIncrement: false
},
administrativeDivision: {
index: 5,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -52,6 +57,7 @@ module.exports = dc => {
autoIncrement: false
},
economicNature: {
index: 6,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -61,6 +67,7 @@ module.exports = dc => {
autoIncrement: false
},
address: {
index: 7,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -70,6 +77,7 @@ module.exports = dc => {
autoIncrement: false
},
contactNumber: {
index: 8,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -79,6 +87,7 @@ module.exports = dc => {
autoIncrement: false
},
email: {
index: 9,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -88,6 +97,7 @@ module.exports = dc => {
autoIncrement: false
},
legalRepresentative: {
index: 10,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -97,6 +107,7 @@ module.exports = dc => {
autoIncrement: false
},
typeOfLegalPersonCertificate: {
index: 11,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -106,6 +117,7 @@ module.exports = dc => {
autoIncrement: false
},
natureOfTransportation: {
index: 12,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -115,6 +127,7 @@ module.exports = dc => {
autoIncrement: false
},
legalPersonCertificateNumber: {
index: 13,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -124,6 +137,7 @@ module.exports = dc => {
autoIncrement: false
},
telephoneNumberOfLegalRepresentative: {
index: 14,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -133,6 +147,7 @@ module.exports = dc => {
autoIncrement: false
},
nameOfThePersonInChargeOfTheBusiness: {
index: 15,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -142,6 +157,7 @@ module.exports = dc => {
autoIncrement: false
},
telephoneNumberOfThePersonInChargeOfTheBusiness: {
index: 16,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -151,6 +167,7 @@ module.exports = dc => {
autoIncrement: false
},
handledBy: {
index: 17,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -160,6 +177,7 @@ module.exports = dc => {
autoIncrement: false
},
phoneNumberOfHandler: {
index: 18,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -169,6 +187,7 @@ module.exports = dc => {
autoIncrement: false
},
natureOfBusiness: {
index: 19,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -178,6 +197,7 @@ module.exports = dc => {
autoIncrement: false
},
businessStatus: {
index: 20,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -187,6 +207,7 @@ module.exports = dc => {
autoIncrement: false
},
businessLicenseNo: {
index: 21,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -196,6 +217,7 @@ module.exports = dc => {
autoIncrement: false
},
fromTheExpiryDate: {
index: 22,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -205,6 +227,7 @@ module.exports = dc => {
autoIncrement: false
},
expiryDate: {
index: 23,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -214,6 +237,7 @@ module.exports = dc => {
autoIncrement: false
},
issuingAuthority: {
index: 24,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -223,6 +247,7 @@ module.exports = dc => {
autoIncrement: false
},
dateOfIssuance: {
index: 25,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -232,6 +257,7 @@ module.exports = dc => {
autoIncrement: false
},
licenseCategory: {
index: 26,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -241,6 +267,7 @@ module.exports = dc => {
autoIncrement: false
},
licenseIssuanceType: {
index: 27,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -250,6 +277,7 @@ module.exports = dc => {
autoIncrement: false
},
numberOfSharedVehicles: {
index: 28,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -259,6 +287,7 @@ module.exports = dc => {
autoIncrement: false
},
creationDate: {
index: 29,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -268,6 +297,7 @@ module.exports = dc => {
autoIncrement: false
},
type: {
index: 30,
type: DataTypes.STRING,
allowNull: false,
defaultValue: null,

41
api/app/lib/models/municipal_vehicle.js

@ -6,6 +6,7 @@ module.exports = dc => {
const sequelize = dc.orm;
const MunicipalVehicle = sequelize.define("municipalVehicle", {
id: {
index: 1,
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: null,
@ -16,6 +17,7 @@ module.exports = dc => {
unique: "municipal_vehicle_id_uindex"
},
nameOfBusinessOwner: {
index: 2,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -25,6 +27,7 @@ module.exports = dc => {
autoIncrement: false
},
productName: {
index: 3,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -34,6 +37,7 @@ module.exports = dc => {
autoIncrement: false
},
vehicleRegistry: {
index: 4,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -43,6 +47,7 @@ module.exports = dc => {
autoIncrement: false
},
licensePlateNumber: {
index: 5,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -52,6 +57,7 @@ module.exports = dc => {
autoIncrement: false
},
fuelType: {
index: 6,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -61,6 +67,7 @@ module.exports = dc => {
autoIncrement: false
},
address: {
index: 7,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -70,6 +77,7 @@ module.exports = dc => {
autoIncrement: false
},
economicNature: {
index: 8,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -79,6 +87,7 @@ module.exports = dc => {
autoIncrement: false
},
approvedPassengerCapacity: {
index: 9,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -88,6 +97,7 @@ module.exports = dc => {
autoIncrement: false
},
approvedLoadMass: {
index: 10,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -97,6 +107,7 @@ module.exports = dc => {
autoIncrement: false
},
numberOfVehicleAxles: {
index: 11,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -106,6 +117,7 @@ module.exports = dc => {
autoIncrement: false
},
vehicleBrand: {
index: 12,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -115,6 +127,7 @@ module.exports = dc => {
autoIncrement: false
},
natureOfBusiness: {
index: 13,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -124,6 +137,7 @@ module.exports = dc => {
autoIncrement: false
},
vehicleOperationStatus: {
index: 14,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -133,6 +147,7 @@ module.exports = dc => {
autoIncrement: false
},
busTypeAndClass: {
index: 15,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -142,6 +157,7 @@ module.exports = dc => {
autoIncrement: false
},
annualReviewResults: {
index: 16,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -151,6 +167,7 @@ module.exports = dc => {
autoIncrement: false
},
dateOfThisAnnualReview: {
index: 17,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -160,6 +177,7 @@ module.exports = dc => {
autoIncrement: false
},
dateOfNextAnnualReview: {
index: 18,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -169,6 +187,7 @@ module.exports = dc => {
autoIncrement: false
},
dateOfRegistration: {
index: 19,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -178,6 +197,7 @@ module.exports = dc => {
autoIncrement: false
},
sourceOfTransportationCapacity: {
index: 20,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -187,6 +207,7 @@ module.exports = dc => {
autoIncrement: false
},
fromTheExpiryDate: {
index: 21,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -196,6 +217,7 @@ module.exports = dc => {
autoIncrement: false
},
expiryDate: {
index: 22,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -205,6 +227,7 @@ module.exports = dc => {
autoIncrement: false
},
engineDisplacement: {
index: 23,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -214,6 +237,7 @@ module.exports = dc => {
autoIncrement: false
},
engineNumber: {
index: 24,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -223,6 +247,7 @@ module.exports = dc => {
autoIncrement: false
},
vehicleEnginePower: {
index: 25,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -232,6 +257,7 @@ module.exports = dc => {
autoIncrement: false
},
businessLicenseNo: {
index: 26,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -241,6 +267,7 @@ module.exports = dc => {
autoIncrement: false
},
licensePlateColor: {
index: 27,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -250,6 +277,7 @@ module.exports = dc => {
autoIncrement: false
},
totalVehicleMass: {
index: 28,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -259,6 +287,7 @@ module.exports = dc => {
autoIncrement: false
},
totalQuasiTractionMassOfVehicle: {
index: 29,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -268,6 +297,7 @@ module.exports = dc => {
autoIncrement: false
},
roadTransportCertificateNo: {
index: 30,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -277,6 +307,7 @@ module.exports = dc => {
autoIncrement: false
},
vehicleHeight: {
index: 31,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -286,6 +317,7 @@ module.exports = dc => {
autoIncrement: false
},
vehicleConductor: {
index: 32,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -295,6 +327,7 @@ module.exports = dc => {
autoIncrement: false
},
vehicleWidth: {
index: 33,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -304,6 +337,7 @@ module.exports = dc => {
autoIncrement: false
},
vehicleType: {
index: 34,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -313,6 +347,7 @@ module.exports = dc => {
autoIncrement: false
},
vehicleTypeWithDrivingLicense: {
index: 35,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -322,6 +357,7 @@ module.exports = dc => {
autoIncrement: false
},
vehicleWheelbase: {
index: 36,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -331,6 +367,7 @@ module.exports = dc => {
autoIncrement: false
},
ratingDate: {
index: 37,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -340,6 +377,7 @@ module.exports = dc => {
autoIncrement: false
},
technicalEvaluationGrade: {
index: 38,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -349,6 +387,7 @@ module.exports = dc => {
autoIncrement: false
},
nextRatingDate: {
index: 39,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -358,6 +397,7 @@ module.exports = dc => {
autoIncrement: false
},
creationDate: {
index: 40,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -367,6 +407,7 @@ module.exports = dc => {
autoIncrement: false
},
type: {
index: 41,
type: DataTypes.STRING,
allowNull: false,
defaultValue: null,

19
api/app/lib/models/overspeed.js

@ -6,6 +6,7 @@ module.exports = dc => {
const sequelize = dc.orm;
const Overspeed = sequelize.define("overspeed", {
id: {
index: 1,
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: null,
@ -16,6 +17,7 @@ module.exports = dc => {
unique: "overspeed_id_uindex"
},
districtcounty: {
index: 2,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -25,6 +27,7 @@ module.exports = dc => {
autoIncrement: false
},
nameOfInspectionPoint: {
index: 3,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -34,6 +37,7 @@ module.exports = dc => {
autoIncrement: false
},
licensePlate: {
index: 4,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -43,6 +47,7 @@ module.exports = dc => {
autoIncrement: false
},
numberOfAxles: {
index: 5,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -52,6 +57,7 @@ module.exports = dc => {
autoIncrement: false
},
overrunRate: {
index: 6,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -61,6 +67,7 @@ module.exports = dc => {
autoIncrement: false
},
overrunWeight: {
index: 7,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -70,6 +77,7 @@ module.exports = dc => {
autoIncrement: false
},
grossVehicleWeight: {
index: 8,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -79,6 +87,7 @@ module.exports = dc => {
autoIncrement: false
},
vehicleCargoWeightLimit: {
index: 9,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -88,6 +97,7 @@ module.exports = dc => {
autoIncrement: false
},
testTime: {
index: 10,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -97,6 +107,7 @@ module.exports = dc => {
autoIncrement: false
},
nameOfBusinessOwner: {
index: 11,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -106,6 +117,7 @@ module.exports = dc => {
autoIncrement: false
},
businessAddress: {
index: 12,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -115,6 +127,7 @@ module.exports = dc => {
autoIncrement: false
},
notifier: {
index: 13,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -124,6 +137,7 @@ module.exports = dc => {
autoIncrement: false
},
notificationMethod: {
index: 14,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -133,6 +147,7 @@ module.exports = dc => {
autoIncrement: false
},
notificationResults: {
index: 15,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -142,6 +157,7 @@ module.exports = dc => {
autoIncrement: false
},
processingTime: {
index: 16,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -151,6 +167,7 @@ module.exports = dc => {
autoIncrement: false
},
deductPoints: {
index: 17,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -160,6 +177,7 @@ module.exports = dc => {
autoIncrement: false
},
fine: {
index: 18,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -169,6 +187,7 @@ module.exports = dc => {
autoIncrement: false
},
remarks: {
index: 19,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,

12
api/app/lib/models/project.js

@ -6,6 +6,7 @@ module.exports = dc => {
const sequelize = dc.orm;
const Project = sequelize.define("project", {
id: {
index: 1,
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: null,
@ -16,6 +17,7 @@ module.exports = dc => {
unique: "project_id_uindex"
},
entryName: {
index: 2,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -25,6 +27,7 @@ module.exports = dc => {
autoIncrement: false
},
projectMileage: {
index: 3,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -34,6 +37,7 @@ module.exports = dc => {
autoIncrement: false
},
investment: {
index: 4,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -43,6 +47,7 @@ module.exports = dc => {
autoIncrement: false
},
buildUnit: {
index: 5,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -52,6 +57,7 @@ module.exports = dc => {
autoIncrement: false
},
constructionControlUnit: {
index: 6,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -61,6 +67,7 @@ module.exports = dc => {
autoIncrement: false
},
designUnit: {
index: 7,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -70,6 +77,7 @@ module.exports = dc => {
autoIncrement: false
},
constructionUnit: {
index: 8,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -79,6 +87,7 @@ module.exports = dc => {
autoIncrement: false
},
supervisorAndSupervisor: {
index: 9,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -88,6 +97,7 @@ module.exports = dc => {
autoIncrement: false
},
projectProgress: {
index: 10,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -97,6 +107,7 @@ module.exports = dc => {
autoIncrement: false
},
done: {
index: 11,
type: DataTypes.BOOLEAN,
allowNull: false,
defaultValue: null,
@ -106,6 +117,7 @@ module.exports = dc => {
autoIncrement: false
},
type: {
index: 12,
type: DataTypes.STRING,
allowNull: false,
defaultValue: null,

4
api/app/lib/models/publicity.js

@ -6,6 +6,7 @@ module.exports = dc => {
const sequelize = dc.orm;
const Publicity = sequelize.define("publicity", {
id: {
index: 1,
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: null,
@ -16,6 +17,7 @@ module.exports = dc => {
unique: "publicity_id_uindex"
},
name: {
index: 2,
type: DataTypes.STRING,
allowNull: false,
defaultValue: null,
@ -25,6 +27,7 @@ module.exports = dc => {
autoIncrement: false
},
video: {
index: 3,
type: DataTypes.ARRAY(DataTypes.INTEGER),
allowNull: true,
defaultValue: null,
@ -34,6 +37,7 @@ module.exports = dc => {
autoIncrement: false
},
enable: {
index: 4,
type: DataTypes.BOOLEAN,
allowNull: false,
defaultValue: true,

16
api/app/lib/models/report.js

@ -6,6 +6,7 @@ module.exports = dc => {
const sequelize = dc.orm;
const Report = sequelize.define("report", {
id: {
index: 1,
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: null,
@ -16,6 +17,7 @@ module.exports = dc => {
unique: "report_id_uindex"
},
reportType: {
index: 2,
type: DataTypes.STRING,
allowNull: false,
defaultValue: null,
@ -25,6 +27,7 @@ module.exports = dc => {
autoIncrement: false
},
projectType: {
index: 3,
type: DataTypes.STRING,
allowNull: false,
defaultValue: null,
@ -34,6 +37,7 @@ module.exports = dc => {
autoIncrement: false
},
road: {
index: 4,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -43,6 +47,7 @@ module.exports = dc => {
autoIncrement: false
},
roadSectionStart: {
index: 5,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -52,6 +57,7 @@ module.exports = dc => {
autoIncrement: false
},
roadSectionEnd: {
index: 6,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -61,6 +67,7 @@ module.exports = dc => {
autoIncrement: false
},
longitude: {
index: 7,
type: DataTypes.DOUBLE,
allowNull: true,
defaultValue: null,
@ -70,6 +77,7 @@ module.exports = dc => {
autoIncrement: false
},
latitude: {
index: 8,
type: DataTypes.DOUBLE,
allowNull: true,
defaultValue: null,
@ -79,6 +87,7 @@ module.exports = dc => {
autoIncrement: false
},
content: {
index: 9,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -88,6 +97,7 @@ module.exports = dc => {
autoIncrement: false
},
scenePic: {
index: 10,
type: DataTypes.ARRAY(DataTypes.STRING),
allowNull: true,
defaultValue: null,
@ -97,6 +107,7 @@ module.exports = dc => {
autoIncrement: false
},
conserveBeforePic: {
index: 11,
type: DataTypes.ARRAY(DataTypes.STRING),
allowNull: true,
defaultValue: null,
@ -106,6 +117,7 @@ module.exports = dc => {
autoIncrement: false
},
conserveUnderwayPic: {
index: 12,
type: DataTypes.ARRAY(DataTypes.STRING),
allowNull: true,
defaultValue: null,
@ -115,6 +127,7 @@ module.exports = dc => {
autoIncrement: false
},
conserveAfterPic: {
index: 13,
type: DataTypes.ARRAY(DataTypes.STRING),
allowNull: true,
defaultValue: null,
@ -124,6 +137,7 @@ module.exports = dc => {
autoIncrement: false
},
userId: {
index: 14,
type: DataTypes.INTEGER,
allowNull: true,
defaultValue: null,
@ -133,6 +147,7 @@ module.exports = dc => {
autoIncrement: false
},
time: {
index: 15,
type: DataTypes.DATE,
allowNull: false,
defaultValue: null,
@ -142,6 +157,7 @@ module.exports = dc => {
autoIncrement: false
},
address: {
index: 16,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,

77
api/app/lib/models/road.js

@ -6,6 +6,7 @@ module.exports = dc => {
const sequelize = dc.orm;
const Road = sequelize.define("road", {
id: {
index: 1,
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: null,
@ -16,6 +17,7 @@ module.exports = dc => {
unique: "road_id_uindex"
},
routeName: {
index: 2,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -25,6 +27,7 @@ module.exports = dc => {
autoIncrement: false
},
routeCode: {
index: 3,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -34,6 +37,7 @@ module.exports = dc => {
autoIncrement: false
},
sectionNo: {
index: 4,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -43,6 +47,7 @@ module.exports = dc => {
autoIncrement: false
},
townshipCode: {
index: 5,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -52,6 +57,7 @@ module.exports = dc => {
autoIncrement: false
},
startingPlaceName: {
index: 6,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -61,6 +67,7 @@ module.exports = dc => {
autoIncrement: false
},
startStation: {
index: 7,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -70,6 +77,7 @@ module.exports = dc => {
autoIncrement: false
},
categoryOfStartingPointAndDividingPoint: {
index: 8,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -79,6 +87,7 @@ module.exports = dc => {
autoIncrement: false
},
stopPlaceName: {
index: 9,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -88,6 +97,7 @@ module.exports = dc => {
autoIncrement: false
},
categoryOfDeadCenterAndDividingPoint: {
index: 10,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -97,6 +107,7 @@ module.exports = dc => {
autoIncrement: false
},
stopStation: {
index: 11,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -106,6 +117,7 @@ module.exports = dc => {
autoIncrement: false
},
sectionType: {
index: 12,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -115,6 +127,7 @@ module.exports = dc => {
autoIncrement: false
},
routeCodeBeforeRoadNetworkAdjustment: {
index: 13,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -124,6 +137,7 @@ module.exports = dc => {
autoIncrement: false
},
serialNumberOfOriginalSection: {
index: 14,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -133,6 +147,7 @@ module.exports = dc => {
autoIncrement: false
},
startingStakeNumberOfTheOriginalRoadSection: {
index: 15,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -142,6 +157,7 @@ module.exports = dc => {
autoIncrement: false
},
endingPointStakeNoOfTheOriginalRoadSection: {
index: 16,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -151,6 +167,7 @@ module.exports = dc => {
autoIncrement: false
},
routeLevel: {
index: 17,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -160,6 +177,7 @@ module.exports = dc => {
autoIncrement: false
},
natureOfRoadSection: {
index: 18,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -169,6 +187,7 @@ module.exports = dc => {
autoIncrement: false
},
completionTime: {
index: 19,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -178,6 +197,7 @@ module.exports = dc => {
autoIncrement: false
},
reconstructionTime: {
index: 20,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -187,6 +207,7 @@ module.exports = dc => {
autoIncrement: false
},
natureOfConstruction: {
index: 21,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -196,6 +217,7 @@ module.exports = dc => {
autoIncrement: false
},
gbmAndCivilizedModelRoad: {
index: 22,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -205,6 +227,7 @@ module.exports = dc => {
autoIncrement: false
},
landforms: {
index: 23,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -214,6 +237,7 @@ module.exports = dc => {
autoIncrement: false
},
natureOfCharges: {
index: 24,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -223,6 +247,7 @@ module.exports = dc => {
autoIncrement: false
},
tollStation: {
index: 25,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -232,6 +257,7 @@ module.exports = dc => {
autoIncrement: false
},
numberOfCulverts: {
index: 26,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -241,6 +267,7 @@ module.exports = dc => {
autoIncrement: false
},
technicalLevel: {
index: 27,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -250,6 +277,7 @@ module.exports = dc => {
autoIncrement: false
},
pavementType: {
index: 28,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -259,6 +287,7 @@ module.exports = dc => {
autoIncrement: false
},
pavementWidth: {
index: 29,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -268,6 +297,7 @@ module.exports = dc => {
autoIncrement: false
},
subgradeWidth: {
index: 30,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -277,6 +307,7 @@ module.exports = dc => {
autoIncrement: false
},
laneCharacteristics: {
index: 31,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -286,6 +317,7 @@ module.exports = dc => {
autoIncrement: false
},
whetherItIsOpenToTrafficInSunnyOrRainyDays: {
index: 32,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -295,6 +327,7 @@ module.exports = dc => {
autoIncrement: false
},
designSpeedPerHour: {
index: 33,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -304,6 +337,7 @@ module.exports = dc => {
autoIncrement: false
},
urbanManagementSectionOrNot: {
index: 34,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -313,6 +347,7 @@ module.exports = dc => {
autoIncrement: false
},
managementAndMaintenanceUnit: {
index: 35,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -322,6 +357,7 @@ module.exports = dc => {
autoIncrement: false
},
roadAdministrationUnit: {
index: 36,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -331,6 +367,7 @@ module.exports = dc => {
autoIncrement: false
},
alimentation: {
index: 37,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -340,6 +377,7 @@ module.exports = dc => {
autoIncrement: false
},
sourceOfListedMaintenanceFunds: {
index: 38,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -349,6 +387,7 @@ module.exports = dc => {
autoIncrement: false
},
curingTime: {
index: 39,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -358,6 +397,7 @@ module.exports = dc => {
autoIncrement: false
},
greeningMileage: {
index: 40,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -367,6 +407,7 @@ module.exports = dc => {
autoIncrement: false
},
greeningMileaged: {
index: 41,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -376,6 +417,7 @@ module.exports = dc => {
autoIncrement: false
},
typeOfRepeatedRoadSection: {
index: 42,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -385,6 +427,7 @@ module.exports = dc => {
autoIncrement: false
},
serialNumberOfRepeatedSection: {
index: 43,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -394,6 +437,7 @@ module.exports = dc => {
autoIncrement: false
},
repeatedSectionRouteCode: {
index: 44,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -403,6 +447,7 @@ module.exports = dc => {
autoIncrement: false
},
plannedFundCategory: {
index: 45,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -412,6 +457,7 @@ module.exports = dc => {
autoIncrement: false
},
plannedYear: {
index: 46,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -421,6 +467,7 @@ module.exports = dc => {
autoIncrement: false
},
planDocumentNo: {
index: 47,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -430,6 +477,7 @@ module.exports = dc => {
autoIncrement: false
},
planItemUniqueCode: {
index: 48,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -439,6 +487,7 @@ module.exports = dc => {
autoIncrement: false
},
plannedProjectRouteCode: {
index: 49,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -448,6 +497,7 @@ module.exports = dc => {
autoIncrement: false
},
planProjectName: {
index: 50,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -457,6 +507,7 @@ module.exports = dc => {
autoIncrement: false
},
plannedProjectType: {
index: 51,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -466,6 +517,7 @@ module.exports = dc => {
autoIncrement: false
},
completionStatus: {
index: 52,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -475,6 +527,7 @@ module.exports = dc => {
autoIncrement: false
},
yearOfCompletion: {
index: 53,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -484,6 +537,7 @@ module.exports = dc => {
autoIncrement: false
},
plannedFundCategoryOne: {
index: 54,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -493,6 +547,7 @@ module.exports = dc => {
autoIncrement: false
},
plannedYearOne: {
index: 55,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -502,6 +557,7 @@ module.exports = dc => {
autoIncrement: false
},
planDocumentNoOne: {
index: 56,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -511,6 +567,7 @@ module.exports = dc => {
autoIncrement: false
},
planItemUniqueCodeOne: {
index: 57,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -520,6 +577,7 @@ module.exports = dc => {
autoIncrement: false
},
planProjectNameOne: {
index: 58,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -529,6 +587,7 @@ module.exports = dc => {
autoIncrement: false
},
completionStatusOne: {
index: 59,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -538,6 +597,7 @@ module.exports = dc => {
autoIncrement: false
},
yearOfCompletionOne: {
index: 60,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -547,6 +607,7 @@ module.exports = dc => {
autoIncrement: false
},
stationRange: {
index: 61,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -556,6 +617,7 @@ module.exports = dc => {
autoIncrement: false
},
reportingUnit: {
index: 62,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -565,6 +627,7 @@ module.exports = dc => {
autoIncrement: false
},
reasonForChange: {
index: 63,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -574,6 +637,7 @@ module.exports = dc => {
autoIncrement: false
},
changeTime: {
index: 64,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -583,6 +647,7 @@ module.exports = dc => {
autoIncrement: false
},
lastRepairAndMaintenanceYear: {
index: 65,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -592,6 +657,7 @@ module.exports = dc => {
autoIncrement: false
},
whetherMaintenanceManagedHighway: {
index: 66,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -601,6 +667,7 @@ module.exports = dc => {
autoIncrement: false
},
remarks: {
index: 67,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -610,6 +677,7 @@ module.exports = dc => {
autoIncrement: false
},
routeCodeOfLastYear: {
index: 68,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -619,6 +687,7 @@ module.exports = dc => {
autoIncrement: false
},
routeNameOfLastYear: {
index: 69,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -628,6 +697,7 @@ module.exports = dc => {
autoIncrement: false
},
startingStationOfLastYear: {
index: 70,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -637,6 +707,7 @@ module.exports = dc => {
autoIncrement: false
},
lastYearsEndingPointStakeNumber: {
index: 71,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -646,6 +717,7 @@ module.exports = dc => {
autoIncrement: false
},
graphicMileage: {
index: 72,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -655,6 +727,7 @@ module.exports = dc => {
autoIncrement: false
},
chainageMileage: {
index: 73,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -664,6 +737,7 @@ module.exports = dc => {
autoIncrement: false
},
districtcounty: {
index: 74,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -673,6 +747,7 @@ module.exports = dc => {
autoIncrement: false
},
locationCity: {
index: 75,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -682,6 +757,7 @@ module.exports = dc => {
autoIncrement: false
},
level: {
index: 76,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
@ -691,6 +767,7 @@ module.exports = dc => {
autoIncrement: false
},
surfaceThickness: {
index: 77,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,

4
api/app/lib/models/statistic.js

@ -6,6 +6,7 @@ module.exports = dc => {
const sequelize = dc.orm;
const Statistic = sequelize.define("statistic", {
id: {
index: 1,
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: null,
@ -16,6 +17,7 @@ module.exports = dc => {
unique: "vehicle_id_uindex"
},
name: {
index: 2,
type: DataTypes.STRING,
allowNull: false,
defaultValue: null,
@ -25,6 +27,7 @@ module.exports = dc => {
autoIncrement: false
},
count: {
index: 3,
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: "0",
@ -34,6 +37,7 @@ module.exports = dc => {
autoIncrement: false
},
type: {
index: 4,
type: DataTypes.STRING,
allowNull: false,
defaultValue: null,

6
api/app/lib/routes/data/index.js

@ -7,13 +7,13 @@ const project = require('../../controllers/data/project');
const overspeed = require('../../controllers/data/overspeed');
const bus = require('../../controllers/data/bus');
const publicity = require('../../controllers/data/publicity');
const data = require('../../controllers/data');
const dataIndex = require('../../controllers/data/index');
module.exports = function (app, router, opts) {
// 数据导出
// app.fs.api.logAttr['GET/data/export'] = { content: '导出数据', visible: true };
// router.get('/data/export', data.dataExport);
app.fs.api.logAttr['GET/data/export'] = { content: '导出数据', visible: true };
router.get('/data/export', dataIndex.dataExport);
// 运政
//客运车

654
api/log/development.log

@ -9354,3 +9354,657 @@
2022-07-27 13:41:39.301 - debug: [FS-LOGGER] Init.
2022-07-27 13:41:39.426 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 13:41:39.426 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 13:55:17.708 - debug: [FS-LOGGER] Init.
2022-07-27 13:55:17.844 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 13:55:17.845 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 13:57:58.186 - debug: [FS-LOGGER] Init.
2022-07-27 13:57:58.316 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 13:57:58.316 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 13:57:58.416 - error: [app]
{
message: "Cannot find module 'better-xlsx'\n" +
'Require stack:\n' +
'- c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\config.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\server.js',
stack: "Error: Cannot find module 'better-xlsx'\n" +
'Require stack:\n' +
'- c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\config.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\server.js\n' +
' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:667:27)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js:3:14)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js:3:29)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js:10:19)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)',
code: 'MODULE_NOT_FOUND',
requireStack: [
'c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\index.js',
'c:\\_WorkCode\\四好公路\\api\\config.js',
'c:\\_WorkCode\\四好公路\\api\\server.js'
]
}
2022-07-27 13:58:18.771 - debug: [FS-LOGGER] Init.
2022-07-27 13:58:18.904 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 13:58:18.905 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 13:58:19.015 - error: [app]
{
message: "Cannot find module 'better-xlsx'\n" +
'Require stack:\n' +
'- c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\config.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\server.js',
stack: "Error: Cannot find module 'better-xlsx'\n" +
'Require stack:\n' +
'- c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\config.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\server.js\n' +
' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:667:27)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js:3:14)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js:3:29)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js:10:19)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)',
code: 'MODULE_NOT_FOUND',
requireStack: [
'c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\index.js',
'c:\\_WorkCode\\四好公路\\api\\config.js',
'c:\\_WorkCode\\四好公路\\api\\server.js'
]
}
2022-07-27 13:58:35.745 - debug: [FS-LOGGER] Init.
2022-07-27 13:58:35.875 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 13:58:35.875 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 13:58:35.975 - error: [app]
{
message: "Cannot find module 'better-xlsx'\n" +
'Require stack:\n' +
'- c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\config.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\server.js',
stack: "Error: Cannot find module 'better-xlsx'\n" +
'Require stack:\n' +
'- c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\config.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\server.js\n' +
' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:667:27)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js:3:14)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js:3:29)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js:10:19)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)',
code: 'MODULE_NOT_FOUND',
requireStack: [
'c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\index.js',
'c:\\_WorkCode\\四好公路\\api\\config.js',
'c:\\_WorkCode\\四好公路\\api\\server.js'
]
}
2022-07-27 13:58:51.419 - debug: [FS-LOGGER] Init.
2022-07-27 13:58:51.544 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 13:58:51.545 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 13:59:30.681 - debug: [FS-LOGGER] Init.
2022-07-27 13:59:30.808 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 13:59:30.809 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 13:59:30.911 - error: [app]
{
message: "Cannot find module 'better-xlsx'\n" +
'Require stack:\n' +
'- c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\config.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\server.js',
stack: "Error: Cannot find module 'better-xlsx'\n" +
'Require stack:\n' +
'- c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\config.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\server.js\n' +
' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:667:27)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js:3:14)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js:3:29)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js:10:19)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)',
code: 'MODULE_NOT_FOUND',
requireStack: [
'c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\index.js',
'c:\\_WorkCode\\四好公路\\api\\config.js',
'c:\\_WorkCode\\四好公路\\api\\server.js'
]
}
2022-07-27 13:59:46.066 - debug: [FS-LOGGER] Init.
2022-07-27 13:59:46.189 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 13:59:46.189 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 14:00:44.183 - debug: [FS-LOGGER] Init.
2022-07-27 14:00:44.311 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 14:00:44.311 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 14:00:44.419 - error: [app]
{
message: "Cannot find module 'better-xlsx'\n" +
'Require stack:\n' +
'- c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\config.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\server.js',
stack: "Error: Cannot find module 'better-xlsx'\n" +
'Require stack:\n' +
'- c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\config.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\server.js\n' +
' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:667:27)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js:3:14)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js:3:29)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js:10:19)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)',
code: 'MODULE_NOT_FOUND',
requireStack: [
'c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\index.js',
'c:\\_WorkCode\\四好公路\\api\\config.js',
'c:\\_WorkCode\\四好公路\\api\\server.js'
]
}
2022-07-27 14:00:58.080 - debug: [FS-LOGGER] Init.
2022-07-27 14:00:58.209 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 14:00:58.209 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 14:01:56.663 - debug: [FS-LOGGER] Init.
2022-07-27 14:01:56.789 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 14:01:56.790 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 14:01:56.895 - error: [app]
{
message: "Cannot find module 'better-xlsx'\n" +
'Require stack:\n' +
'- c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\config.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\server.js',
stack: "Error: Cannot find module 'better-xlsx'\n" +
'Require stack:\n' +
'- c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\config.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\server.js\n' +
' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:667:27)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js:3:14)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js:3:22)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js:10:19)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)',
code: 'MODULE_NOT_FOUND',
requireStack: [
'c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\index.js',
'c:\\_WorkCode\\四好公路\\api\\config.js',
'c:\\_WorkCode\\四好公路\\api\\server.js'
]
}
2022-07-27 14:02:21.369 - debug: [FS-LOGGER] Init.
2022-07-27 14:02:21.495 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 14:02:21.495 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 14:03:33.768 - debug: [FS-LOGGER] Init.
2022-07-27 14:03:33.897 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 14:03:33.898 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 14:03:34.002 - error: [app]
{
message: "Cannot find module 'better-xlsx'\n" +
'Require stack:\n' +
'- c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\config.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\server.js',
stack: "Error: Cannot find module 'better-xlsx'\n" +
'Require stack:\n' +
'- c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\config.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\server.js\n' +
' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:667:27)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js:3:14)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js:3:22)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js:10:19)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)',
code: 'MODULE_NOT_FOUND',
requireStack: [
'c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\index.js',
'c:\\_WorkCode\\四好公路\\api\\config.js',
'c:\\_WorkCode\\四好公路\\api\\server.js'
]
}
2022-07-27 14:04:12.945 - debug: [FS-LOGGER] Init.
2022-07-27 14:04:13.091 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 14:04:13.091 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 14:06:11.749 - debug: [FS-LOGGER] Init.
2022-07-27 14:06:11.877 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 14:06:11.878 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 14:06:11.983 - error: [app]
{
message: "Cannot find module 'better-xlsx'\n" +
'Require stack:\n' +
'- c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\config.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\server.js',
stack: "Error: Cannot find module 'better-xlsx'\n" +
'Require stack:\n' +
'- c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\config.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\server.js\n' +
' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:667:27)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js:3:14)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js:3:22)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js:10:19)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)',
code: 'MODULE_NOT_FOUND',
requireStack: [
'c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\index.js',
'c:\\_WorkCode\\四好公路\\api\\config.js',
'c:\\_WorkCode\\四好公路\\api\\server.js'
]
}
2022-07-27 14:06:30.287 - debug: [FS-LOGGER] Init.
2022-07-27 14:06:30.417 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 14:06:30.417 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 14:07:42.820 - debug: [FS-LOGGER] Init.
2022-07-27 14:07:42.947 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 14:07:42.948 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 14:07:43.050 - error: [app]
{
message: "Cannot find module 'better-xlsx'\n" +
'Require stack:\n' +
'- c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\config.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\server.js',
stack: "Error: Cannot find module 'better-xlsx'\n" +
'Require stack:\n' +
'- c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\config.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\server.js\n' +
' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:667:27)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js:3:14)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js:3:22)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js:10:19)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)',
code: 'MODULE_NOT_FOUND',
requireStack: [
'c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\index.js',
'c:\\_WorkCode\\四好公路\\api\\config.js',
'c:\\_WorkCode\\四好公路\\api\\server.js'
]
}
2022-07-27 14:08:03.772 - debug: [FS-LOGGER] Init.
2022-07-27 14:08:03.905 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 14:08:03.905 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 14:10:17.266 - debug: [FS-LOGGER] Init.
2022-07-27 14:10:17.408 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 14:10:17.409 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 14:10:17.527 - error: [app]
{
message: "Cannot find module 'better-xlsx'\n" +
'Require stack:\n' +
'- c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\config.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\server.js',
stack: "Error: Cannot find module 'better-xlsx'\n" +
'Require stack:\n' +
'- c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\app\\index.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\config.js\n' +
'- c:\\_WorkCode\\四好公路\\api\\server.js\n' +
' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:667:27)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js:3:14)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js:3:22)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)\n' +
' at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n' +
' at Module.require (internal/modules/cjs/loader.js:887:19)\n' +
' at require (internal/modules/cjs/helpers.js:74:18)\n' +
' at Object.<anonymous> (c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js:10:19)\n' +
' at Module._compile (internal/modules/cjs/loader.js:999:30)\n' +
' at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n' +
' at Module.load (internal/modules/cjs/loader.js:863:32)',
code: 'MODULE_NOT_FOUND',
requireStack: [
'c:\\_WorkCode\\四好公路\\api\\utils\\xlsxDownload.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\controllers\\data\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\data\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\routes\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\lib\\index.js',
'c:\\_WorkCode\\四好公路\\api\\app\\index.js',
'c:\\_WorkCode\\四好公路\\api\\config.js',
'c:\\_WorkCode\\四好公路\\api\\server.js'
]
}
2022-07-27 14:10:37.875 - debug: [FS-LOGGER] Init.
2022-07-27 14:10:38.002 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 14:10:38.003 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 14:12:23.299 - debug: [FS-LOGGER] Init.
2022-07-27 14:12:23.430 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 14:12:23.430 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 14:14:27.299 - debug: [FS-LOGGER] Init.
2022-07-27 14:14:27.428 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 14:14:27.428 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 14:14:57.566 - debug: [FS-LOGGER] Init.
2022-07-27 14:14:57.693 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 14:14:57.693 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 14:16:29.316 - debug: [FS-LOGGER] Init.
2022-07-27 14:16:29.444 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 14:16:29.444 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 14:16:45.000 - error: path: /data/export, error: ReferenceError: moment is not defined
2022-07-27 14:16:57.856 - debug: [FS-LOGGER] Init.
2022-07-27 14:16:57.994 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 14:16:57.994 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 14:18:39.984 - debug: [FS-LOGGER] Init.
2022-07-27 14:18:40.112 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 14:18:40.112 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 14:18:50.588 - error: path: /data/export, error: ReferenceError: header is not defined
2022-07-27 14:20:01.935 - error: path: /data/export, error: ReferenceError: header is not defined
2022-07-27 14:37:49.813 - debug: [FS-LOGGER] Init.
2022-07-27 14:37:49.964 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 14:37:49.964 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 14:42:45.417 - debug: [FS-LOGGER] Init.
2022-07-27 14:42:45.566 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 14:42:45.566 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 14:42:48.376 - error: path: /data/export, error: ReferenceError: fs is not defined
2022-07-27 15:29:53.136 - debug: [FS-LOGGER] Init.
2022-07-27 15:29:53.285 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-27 15:29:53.285 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-27 15:47:39.653 - error: path: /vehicle/1/specific, error: TypeError: Cannot read property 'destroy' of undefined
2022-07-27 15:47:55.412 - error: path: /vehicle/1/specific, error: TypeError: Cannot read property 'destroy' of undefined
2022-07-27 15:48:01.737 - error: path: /vehicle/4/specific, error: TypeError: Cannot read property 'destroy' of undefined
2022-07-27 15:49:28.071 - error: path: /vehicle/3/specific, error: TypeError: Cannot read property 'destroy' of undefined
2022-07-27 15:50:36.847 - error: path: /vehicle/3/specific, error: TypeError: Cannot read property 'destroy' of undefined
2022-07-27 15:51:05.608 - error: path: /vehicle/3/specific, error: TypeError: Cannot read property 'destroy' of undefined

7
api/package.json

@ -17,6 +17,7 @@
"archiver": "3.0.0",
"args": "^3.0.7",
"async-busboy": "^0.7.0",
"better-xlsx": "^0.7.6",
"crypto-js": "^4.0.0",
"file-saver": "^2.0.2",
"fs-web-server-scaffold": "^2.0.2",
@ -24,6 +25,7 @@
"kafka-node": "^2.2.3",
"koa-convert": "^1.2.0",
"koa-proxy": "^0.9.0",
"koa2-swagger-ui": "^5.3.0",
"md5-node": "^1.0.1",
"moment": "^2.24.0",
"path": "^0.12.7",
@ -33,10 +35,9 @@
"request": "^2.88.2",
"rimraf": "^3.0.2",
"superagent": "^3.5.2",
"swagger-jsdoc": "^6.1.0",
"uuid": "^3.3.2",
"xlsx": "^0.16.9",
"koa2-swagger-ui": "^5.3.0",
"swagger-jsdoc": "^6.1.0"
"xlsx": "^0.16.9"
},
"devDependencies": {
"mocha": "^6.0.2"

3
api/sequelize-automate.config.js

@ -18,6 +18,7 @@ module.exports = {
timestamps: false,
},
},
// !!! 所有 model 都有自定义脚本所不能生成的内容 执行此脚本需谨慎
options: {
type: 'freesun', // 指定 models 代码风格
camelCase: true, // Models 文件中代码是否使用驼峰命名
@ -27,7 +28,7 @@ module.exports = {
typesDir: 'models', // 指定输出 TypeScript 类型定义的文件目录,只有 TypeScript / Midway 等会有类型定义
emptyDir: false, // !!! 谨慎操作 生成 models 之前是否清空 `dir` 以及 `typesDir`
tables: null, // 指定生成哪些表的 models,如 ['user', 'user_post'];如果为 null,则忽略改属性
skipTables: ['report', 'publicity'], // 指定跳过哪些表的 models,如 ['user'];如果为 null,则忽略改属性
skipTables: [], // 指定跳过哪些表的 models,如 ['user'];如果为 null,则忽略改属性
tsNoCheck: false, // 是否添加 `@ts-nocheck` 注释到 models 文件中
ignorePrefix: [], // 生成的模型名称忽略的前缀,因为 项目中有以下表名是以 t_ 开头的,在实际模型中不需要, 可以添加多个 [ 't_data_', 't_',] ,长度较长的 前缀放前面
attrLength: false, // 在生成模型的字段中 是否生成 如 var(128)这种格式,公司一般使用 String ,则配置为 false

4
api/utils/xlsxDownload.js

@ -71,7 +71,7 @@ async function simpleExcelDown ({ data = [], header = [], fileName = moment().fo
})
return savePath
}
module.exports = {
simpleExcelDown,
makeDir
simpleExcelDown
}

60
api/yarn.lock

@ -55,6 +55,13 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
"@babel/runtime@^7.8.4":
version "7.18.9"
resolved "http://10.8.30.22:7000/@babel%2fruntime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a"
integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==
dependencies:
regenerator-runtime "^0.13.4"
"@fs/attachment@^1.0.0":
version "1.0.2"
resolved "http://10.8.30.22:7000/@fs%2fattachment/-/attachment-1.0.2.tgz#5ea035b79defb08f86119cb873912747a6a1570d"
@ -528,6 +535,15 @@ better-assert@~1.0.0:
dependencies:
callsite "1.0.0"
better-xlsx@^0.7.6:
version "0.7.6"
resolved "http://10.8.30.22:7000/better-xlsx/-/better-xlsx-0.7.6.tgz#dc9bdbc303ecdb74823f9582c608d9f6879f4b51"
integrity sha1-3JvbwwPs23SCP5WCxgjZ9oefS1E=
dependencies:
"@babel/runtime" "^7.8.4"
jszip "^3.2.2"
kind-of "^6.0.3"
binary@~0.3.0:
version "0.3.0"
resolved "http://10.8.30.22:7000/binary/-/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79"
@ -1928,6 +1944,11 @@ ieee754@^1.1.13:
resolved "http://10.8.30.22:7000/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
integrity sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I=
immediate@~3.0.5:
version "3.0.6"
resolved "http://10.8.30.22:7000/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=
indexof@0.0.1:
version "0.0.1"
resolved "http://10.8.30.22:7000/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
@ -2241,6 +2262,16 @@ jsprim@^1.2.2:
json-schema "0.4.0"
verror "1.10.0"
jszip@^3.2.2:
version "3.10.0"
resolved "http://10.8.30.22:7000/jszip/-/jszip-3.10.0.tgz#faf3db2b4b8515425e34effcdbb086750a346061"
integrity sha512-LDfVtOLtOxb9RXkYOwPyNBTQDL4eUbqahtoY6x07GiDJHwSYvn8sHHIw8wINImV3MqbMNve2gSuM1DDqEKk09Q==
dependencies:
lie "~3.3.0"
pako "~1.0.2"
readable-stream "~2.3.6"
setimmediate "^1.0.5"
kafka-node@^2.2.3:
version "2.6.1"
resolved "http://10.8.30.22:7000/kafka-node/-/kafka-node-2.6.1.tgz#e8aee3b642105574fabaa718dc4e90d24767a64d"
@ -2269,6 +2300,11 @@ keygrip@~1.1.0:
dependencies:
tsscmp "1.0.6"
kind-of@^6.0.3:
version "6.0.3"
resolved "http://10.8.30.22:7000/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
integrity sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=
klaw@^1.0.0:
version "1.3.1"
resolved "http://10.8.30.22:7000/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439"
@ -2440,6 +2476,13 @@ levn@~0.3.0:
prelude-ls "~1.1.2"
type-check "~0.3.2"
lie@~3.3.0:
version "3.3.0"
resolved "http://10.8.30.22:7000/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a"
integrity sha1-3Pgt7lRfRgdNryAMfBxaCOD0D2o=
dependencies:
immediate "~3.0.5"
lines-and-columns@^1.1.6:
version "1.2.4"
resolved "http://10.8.30.22:7000/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
@ -2975,6 +3018,11 @@ packet-reader@1.0.0:
resolved "http://10.8.30.22:7000/packet-reader/-/packet-reader-1.0.0.tgz#9238e5480dedabacfe1fe3f2771063f164157d74"
integrity sha1-kjjlSA3tq6z+H+PydxBj8WQVfXQ=
pako@~1.0.2:
version "1.0.11"
resolved "http://10.8.30.22:7000/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
integrity sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=
parse-json@^5.0.0:
version "5.2.0"
resolved "http://10.8.30.22:7000/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
@ -3346,7 +3394,7 @@ readable-stream@1.1.x:
isarray "0.0.1"
string_decoder "~0.10.x"
readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.3.0, readable-stream@^2.3.5, readable-stream@^2.3.6:
readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.3.0, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6:
version "2.3.7"
resolved "http://10.8.30.22:7000/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
integrity sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=
@ -3395,6 +3443,11 @@ redis@^3.1.2:
redis-errors "^1.2.0"
redis-parser "^3.0.0"
regenerator-runtime@^0.13.4:
version "0.13.9"
resolved "http://10.8.30.22:7000/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
integrity sha1-iSV0Kpj/2QgUmI11Zq0wyjsmO1I=
regexp.prototype.flags@^1.4.3:
version "1.4.3"
resolved "http://10.8.30.22:7000/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac"
@ -3549,6 +3602,11 @@ set-blocking@^2.0.0, set-blocking@~2.0.0:
resolved "http://10.8.30.22:7000/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
setimmediate@^1.0.5:
version "1.0.5"
resolved "http://10.8.30.22:7000/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
setprototypeof@1.1.0:
version "1.1.0"
resolved "http://10.8.30.22:7000/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"

8
weapp/src/packages/changePassword/index.jsx

@ -14,10 +14,10 @@ function Index() {
function confirm() {
if (!password) {
Taro.showToast({ title: '请输入密码' })
Taro.showToast({ title: '请输入密码', icon: 'none' })
return
} else if (password !== password2) {
Taro.showToast({ title: '两次输入的密码不一致' })
Taro.showToast({ title: '两次输入的密码不一致', icon: 'none' })
return
} else {
Taro.showModal({
@ -50,11 +50,11 @@ function Index() {
</View>
<View className='pswd'>
<View className='title'>新的密码</View>
<Input value={password} onInput={e => setPassword(e.detail.value)} />
<Input value={password} type='password' onInput={e => setPassword(e.detail.value)} />
</View>
<View className='pswd'>
<View className='title'>再次输入新的密码</View>
<Input value={password2} onInput={e => setPassword2(e.detail.value)} />
<Input value={password2} type='password' onInput={e => setPassword2(e.detail.value)} />
</View>
<AtButton className='btn' type='primary' onClick={confirm}>确认</AtButton>
</View>

8
weapp/src/packages/patrol/index.jsx

@ -184,9 +184,7 @@ const Index = () => {
if (res.statusCode == 200 || res.statusCode == 204) {
Taro.showToast({ title: '上报成功', icon: 'none', duration: 1500 })
setTimeout(() => {
Taro.reLaunch({
url: '/pages/home/index'
});
Taro.navigateBack()
}, 1500)
} else {
Taro.showToast({ title: res.data.message || '请求出错', icon: 'none' })
@ -285,7 +283,7 @@ const Index = () => {
return (
<View className='patrol'>
{
!isSuperAdmin &&
(!isSuperAdmin || isView) &&
<View className='report-type'>
<View className='text'>上报类型</View>
<RadioGroup onChange={handleTypeChange}>
@ -477,7 +475,7 @@ const Index = () => {
}
{
isView ?
<AtButton type='primary' className='del-btn' onClick={deleteReport}>删除</AtButton> :
isSuperAdmin && <AtButton type='primary' className='del-btn' onClick={deleteReport}>删除</AtButton> :
<AtButton type='primary' className='sub-btn' onClick={report}>上报</AtButton>
}
</View>

3
weapp/src/packages/patrolView/index.config.js

@ -0,0 +1,3 @@
export default {
onReachBottomDistance: 50
}

66
weapp/src/packages/patrolView/index.jsx

@ -1,5 +1,5 @@
import React, { useState, useEffect } from 'react'
import Taro, { useDidShow, useRouter } from '@tarojs/taro'
import Taro, { useDidShow, useRouter, useReachBottom } from '@tarojs/taro'
import { View, Picker, Input, Image } from '@tarojs/components'
import moment from 'moment'
import './index.scss'
@ -17,22 +17,26 @@ import conserveActiveIcon from '../../static/img/patrolView/conserve-active.svg'
function Index() {
const userInfo = Taro.getStorageSync('userInfo') || {};
const router = useRouter()
const { params: { limit } } = router
const { params: { filter } } = router
const [isPatrol, setIsPatrol] = useState(true)
const [datePicker, setDatePicker] = useState(moment().format('YYYY-MM-DD'))
const [listData, setListData] = useState([])
const [showListData, setShowListData] = useState([])
const [filterText, setFilterText] = useState('')
const [systemInfo, setSystemInfo] = useState('')
const [page, setPage] = useState(0)
const [num, setNum] = useState(Math.random())
const limit = 10
useEffect(() => {
getList()
}, [datePicker])
setPage(0)
setNum(Math.random())
}, [isPatrol, datePicker])
useEffect(() => {
setShowListData(listData.filter(item => isPatrol ? item.reportType === 'patrol' : item.reportType === 'conserve'))
}, [isPatrol])
getList(page == 0 ? true : false)
}, [num])
function dealError(error) {
Taro.showToast({
@ -42,21 +46,29 @@ function Index() {
});
throw new Error(error);
}
const getList = () => {
const getList = (isInit) => {
Taro.showLoading({ title: '加载中' })
request.get(
getReportList(),
{ startTime: datePicker + ' 00:00:00', endTime: datePicker + ' 23:59:59' }
).then(res => {
const data = {
limit,
page,
startTime: datePicker + ' 00:00:00',
endTime: datePicker + ' 23:59:59',
keyword: filterText,
reportType: isPatrol ? 'patrol' : 'conserve',
userId: filter === 'my' ? userInfo.id : '',
}
request.get(getReportList(), data).then(res => {
Taro.hideLoading()
if (res.statusCode == 200) {
let { data } = res
if (limit === 'my') {
data = data.filter(item => item.user.name === userInfo.name)
if (res.data.length === 0) {
Taro.showToast({
title: '没有更多了',
icon: 'none'
})
}
setListData(data)
setShowListData(data.filter(item => isPatrol ? item.reportType === 'patrol' : item.reportType === 'conserve'))
return data;
const temp = isInit ? [] : listData
const nextListData = temp.concat(res.data)
setListData(nextListData)
} else {
dealError(res.data.message || '请求出错');
}
@ -65,6 +77,12 @@ function Index() {
});
}
//
useReachBottom(() => {
setPage(page + 1)
setNum(Math.random())
})
useDidShow(() => {
let refresh = Taro.getStorageSync('refresh'); //
if (refresh) {
@ -88,20 +106,20 @@ function Index() {
}
const handleConfirm = e => {
let nextList = listData.filter(item => isPatrol ? item.reportType === 'patrol' : item.reportType === 'conserve')
nextList = nextList.filter(item => item.road.includes(e.detail.value))
setShowListData(nextList)
setPage(0)
setNum(Math.random())
}
const handleInput = e => {
setFilterText(e.detail.value);
if (!e.detail.value) {
setShowListData(listData.filter(item => isPatrol ? item.reportType === 'patrol' : item.reportType === 'conserve'));
setPage(0)
setNum(Math.random())
}
}
const handleDetail = index => {
Taro.navigateTo({ url: `/packages/patrol/index?type=view&id=${showListData[index].id}` })
Taro.navigateTo({ url: `/packages/patrol/index?type=view&id=${listData[index].id}` })
}
return (
@ -140,7 +158,7 @@ function Index() {
<View style={{ marginTop: '110px' }}>
{
showListData && showListData.length > 0 ? showListData && showListData.map((e, index) => {
listData && listData.length > 0 ? listData && listData.map((e, index) => {
return (
<View className='cardBox' key={index} onClick={() => handleDetail(index)}>
<View className='card-item' >

33
weapp/src/pages/home/index.jsx

@ -1,4 +1,4 @@
import React, { useEffect, useState } from 'react';
import React, { useEffect } from 'react';
import Taro from '@tarojs/taro';
import { View } from '@tarojs/components';
import { useIndustry } from '@/actions/business';
@ -6,8 +6,26 @@ import './index.scss';
const Index = () => {
const userInfo = Taro.getStorageSync('userInfo') || {};
const token = Taro.getStorageSync('token') || null;
const isSuperAdmin = userInfo && userInfo.username === 'SuperAdmin' ? true : false
useEffect(() => {
if (!userInfo || !token) {
Taro.showModal({
title: '提示',
content: '未获取用户信息,请重新登录',
showCancel: false,
success: (res) => {
if (res.confirm) {
Taro.reLaunch({
url: '/pages/auth/login/login'
});
}
}
});
}
}, [])
function toPatrol() {
Taro.navigateTo({
url: '/packages/patrol/index?type=edit'
@ -19,14 +37,25 @@ const Index = () => {
})
}
function toVideo() {
}
return (
<View className='page'>
<View className='fill'>
<View className='card fill'>
<View className='title'> </View>
<View className='btn' onClick={isSuperAdmin ? toPatrolView : toPatrol}>
{isSuperAdmin ? '查看' : '填报'}
</View>
</View>
{
isSuperAdmin &&
<View className='card video'>
<View className='title'> </View>
<View className='btn' onClick={toVideo}>查看</View>
</View>
}
</View>
);
}

10
weapp/src/pages/home/index.scss

@ -3,15 +3,23 @@
flex-direction: column;
align-items: center;
.fill {
.card {
margin-top: 30px;
padding: 10px;
width: 94%;
height: 360px;
}
.fill {
background: url('../../static/img/home/fill-bg.svg') no-repeat;
background-size: 100% 100%;
}
.video {
background: url('../../static/img/home/video-bg.svg') no-repeat;
background-size: 100% 100%;
}
.title {
margin: 50px 0 0 48px;
color: #fff;

2
weapp/src/pages/user/index.jsx

@ -24,7 +24,7 @@ const Index = ({ ...props }) => {
const toMyReport = () => {
Taro.navigateTo({
url: '/packages/patrolView/index?limit=my'
url: '/packages/patrolView/index?filter=my'
})
}

88
weapp/src/static/img/home/video-bg.svg

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="355px" height="180px" viewBox="0 0 355 180" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>椭圆形</title>
<defs>
<linearGradient x1="94.8177083%" y1="40.1387904%" x2="5.97712862%" y2="62.1403067%" id="linearGradient-1">
<stop stop-color="#34C29A" offset="0%"></stop>
<stop stop-color="#81D2CA" offset="100%"></stop>
</linearGradient>
<rect id="path-2" x="0" y="0" width="345" height="170" rx="8"></rect>
<filter x="-2.5%" y="-3.8%" width="104.9%" height="110.0%" filterUnits="objectBoundingBox" id="filter-4">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.898039216 0 0 0 0 0.898039216 0 0 0 0 0.898039216 0 0 0 1 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<radialGradient cx="41.0959558%" cy="36.7313023%" fx="41.0959558%" fy="36.7313023%" r="109.268488%" gradientTransform="translate(0.410960,0.367313),scale(0.456675,1.000000),rotate(135.284157),translate(-0.410960,-0.367313)" id="radialGradient-5">
<stop stop-color="#FFFFFF" stop-opacity="0.330364948" offset="0%"></stop>
<stop stop-color="#FFFFFF" stop-opacity="0.219542177" offset="2.71252185%"></stop>
<stop stop-color="#E6F3FF" stop-opacity="0.181763549" offset="100%"></stop>
</radialGradient>
<linearGradient x1="27.99208%" y1="8.10997596%" x2="77.6436298%" y2="92.0883413%" id="linearGradient-6">
<stop stop-color="#FFFFFF" offset="0%"></stop>
<stop stop-color="#FFFFFF" stop-opacity="0" offset="100%"></stop>
</linearGradient>
<path d="M299.319574,92.4461513 L323.319574,86.8570888 C324.93325,86.4812999 326.546029,87.4848053 326.921818,89.0984808 C326.973768,89.3215612 327,89.5498572 327,89.7789068 L327,120.030821 C327,121.687675 325.656854,123.030821 324,123.030821 C323.777838,123.030821 323.556363,123.006143 323.33965,122.957241 L299.33965,117.541616 C297.971618,117.232919 297,116.017624 297,114.615196 L297,95.3679693 C297,93.9732458 297.961198,92.7624866 299.319574,92.4461513 Z" id="path-7"></path>
<filter x="-5.0%" y="-1.9%" width="110.0%" height="103.9%" filterUnits="objectBoundingBox" id="filter-8">
<feGaussianBlur stdDeviation="1.5" in="SourceAlpha" result="shadowBlurInner1"></feGaussianBlur>
<feOffset dx="0" dy="0" in="shadowBlurInner1" result="shadowOffsetInner1"></feOffset>
<feComposite in="shadowOffsetInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"></feComposite>
<feColorMatrix values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.5 0" type="matrix" in="shadowInnerInner1"></feColorMatrix>
</filter>
<linearGradient x1="15.091271%" y1="21.73492%" x2="93.8480319%" y2="78.3988936%" id="linearGradient-9">
<stop stop-color="#FFFFFF" offset="0%"></stop>
<stop stop-color="#FFFFFF" stop-opacity="0" offset="100%"></stop>
</linearGradient>
<rect id="path-10" x="216" y="70" width="84" height="69" rx="8"></rect>
<filter x="-1.2%" y="-1.4%" width="104.8%" height="105.8%" filterUnits="objectBoundingBox" id="filter-11">
<feOffset dx="1" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="0.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feComposite in="shadowBlurOuter1" in2="SourceAlpha" operator="out" result="shadowBlurOuter1"></feComposite>
<feColorMatrix values="0 0 0 0 0.807843137 0 0 0 0 1 0 0 0 0 0.949019608 0 0 0 0.424797858 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<filter x="-1.8%" y="-2.2%" width="106.0%" height="107.2%" filterUnits="objectBoundingBox" id="filter-12">
<feGaussianBlur stdDeviation="1.5" in="SourceAlpha" result="shadowBlurInner1"></feGaussianBlur>
<feOffset dx="0" dy="0" in="shadowBlurInner1" result="shadowOffsetInner1"></feOffset>
<feComposite in="shadowOffsetInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"></feComposite>
<feColorMatrix values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.5 0" type="matrix" in="shadowInnerInner1"></feColorMatrix>
</filter>
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-13">
<stop stop-color="#E9FFFA" offset="0%"></stop>
<stop stop-color="#CEFFF2" offset="100%"></stop>
</linearGradient>
<polygon id="path-14" points="260.5 93 274 120 247 120"></polygon>
<filter x="-3.7%" y="-3.7%" width="114.8%" height="114.8%" filterUnits="objectBoundingBox" id="filter-15">
<feOffset dx="1" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="0.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.807843137 0 0 0 0 1 0 0 0 0 0.949019608 0 0 0 1 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
</defs>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="首页_巡查(管理员)" transform="translate(-10.000000, -275.000000)">
<g id="椭圆形" transform="translate(15.000000, 278.000000)">
<mask id="mask-3" fill="white">
<use xlink:href="#path-2"></use>
</mask>
<g id="蒙版">
<use fill="black" fill-opacity="1" filter="url(#filter-4)" xlink:href="#path-2"></use>
<use fill="url(#linearGradient-1)" fill-rule="evenodd" xlink:href="#path-2"></use>
</g>
<path d="M-25.1264086,44.3554348 C-22.8540945,43.4604524 -19.9720573,43.2618945 -16.3915335,43.8308467 C-9.45771541,44.9326439 0.0397231269,48.9019168 12.7510815,56.3907566 C85.2689971,99.1143615 101.526273,100.285815 157.01895,104.299238 C160.528313,104.553047 164.194848,104.818224 168.042785,105.106029 C251.195069,111.325385 298.21739,119.468187 324.522292,128.949845 C339.379312,134.305089 347.591516,140.069255 351.945866,146.174029 C357.803157,154.38592 356.636977,163.182122 355.47544,172.269858 C354.983672,176.117388 354.486328,180.019081 354.486328,183.955078 C354.486328,190.565127 350.969335,195.802414 344.574971,199.974635 C337.534232,204.568606 327.032087,207.873856 313.817887,210.266705 C281.200306,216.17315 232.117876,216.485999 177.575934,216.499454 L174.195339,216.499951 L174.195339,216.499951 L172.5,216.5 C151.619296,216.5 132.49809,217.669332 115.119764,218.732312 C78.6988427,220.960071 49.9497981,222.750964 28.7363653,212.203464 C11.9160687,203.840268 -0.120527505,187.690127 -7.5147057,157.879628 C-10.5366892,145.696146 -14.4375121,132.807586 -18.2424469,120.236626 C-27.4467917,89.8267865 -36.1911016,61.2508546 -30.2724922,49.2327272 C-29.1448998,46.9430764 -27.4674175,45.2774736 -25.1264086,44.3554348 Z" stroke-opacity="0.262647509" stroke="#FFFFFF" fill="url(#radialGradient-5)" opacity="0.34" mask="url(#mask-3)"></path>
<g id="矩形" mask="url(#mask-3)">
<use fill-opacity="0.2" fill="url(#linearGradient-6)" fill-rule="evenodd" xlink:href="#path-7"></use>
<use fill="black" fill-opacity="1" filter="url(#filter-8)" xlink:href="#path-7"></use>
<path stroke="" stroke-width="1" d="M323.432978,87.3440585 C324.105343,87.1874797 324.777521,87.318254 325.320753,87.6562642 C325.863985,87.9942743 326.27827,88.5395203 326.434848,89.2118851 C326.47814,89.3977855 326.5,89.5880322 326.5,89.7789068 L326.5,89.7789068 L326.5,120.030821 C326.5,120.721177 326.220178,121.346177 325.767767,121.798588 C325.315356,122.250999 324.690356,122.530821 324,122.530821 C323.814865,122.530821 323.630303,122.510256 323.449708,122.469505 L323.449708,122.469505 L299.449708,117.05388 C298.879695,116.925255 298.392268,116.607757 298.047344,116.176328 C297.70242,115.7449 297.5,115.199541 297.5,114.615196 L297.5,114.615196 L297.5,95.3679693 C297.5,94.7868345 297.70025,94.2440256 298.041997,93.8135488 C298.383744,93.3830721 298.866988,93.0649274 299.432978,92.933121 L299.432978,92.933121 Z" stroke-linejoin="square"></path>
</g>
<g id="矩形" mask="url(#mask-3)">
<use fill="black" fill-opacity="1" filter="url(#filter-11)" xlink:href="#path-10"></use>
<use fill-opacity="0.2" fill="url(#linearGradient-9)" fill-rule="evenodd" xlink:href="#path-10"></use>
<use fill="black" fill-opacity="1" filter="url(#filter-12)" xlink:href="#path-10"></use>
<rect stroke="" stroke-width="1" stroke-linejoin="square" x="216.5" y="70.5" width="83" height="68" rx="8"></rect>
</g>
<g id="三角形" mask="url(#mask-3)" transform="translate(260.500000, 106.500000) rotate(-270.000000) translate(-260.500000, -106.500000) ">
<use fill="black" fill-opacity="1" filter="url(#filter-15)" xlink:href="#path-14"></use>
<use fill="url(#linearGradient-13)" fill-rule="evenodd" xlink:href="#path-14"></use>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.4 KiB

BIN
weapp/src/static/img/tabbar/shouye-active.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 497 B

BIN
weapp/src/static/img/tabbar/shouye.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1015 B

After

Width:  |  Height:  |  Size: 429 B

BIN
weapp/src/static/img/tabbar/wode-active.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 632 B

BIN
weapp/src/static/img/tabbar/wode.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 605 B

25
web/client/assets/color.less

@ -1150,6 +1150,7 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte
.ant-menu-item-danger.ant-menu-item {color: #ff4d4f;}
.ant-menu-item-danger.ant-menu-item:hover, .ant-menu-item-danger.ant-menu-item-active {color: #ff4d4f;}
<<<<<<< Updated upstream
<<<<<<< Updated upstream
.ant-menu-item-danger.ant-menu-item:active {background: color(~`colorPalette("@{modal-header-border-color-split}", 1)`);}
.ant-menu-item-danger.ant-menu-item-selected {color: #ff4d4f;}
@ -1161,6 +1162,12 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte
.ant-menu-item-danger.ant-menu-item-selected > a, .ant-menu-item-danger.ant-menu-item-selected > a:hover {color: #ff4d4f;}
.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-danger.ant-menu-item-selected {background-color: color(~`colorPalette("@{segmented-label-hover-color}", 1)`);}
>>>>>>> Stashed changes
=======
.ant-menu-item-danger.ant-menu-item:active {background: #fff1f0;}
.ant-menu-item-danger.ant-menu-item-selected {color: #ff4d4f;}
.ant-menu-item-danger.ant-menu-item-selected > a, .ant-menu-item-danger.ant-menu-item-selected > a:hover {color: #ff4d4f;}
.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-danger.ant-menu-item-selected {background-color: #fff1f0;}
>>>>>>> Stashed changes
.ant-menu-inline .ant-menu-item-danger.ant-menu-item::after {border-right-color: #ff4d4f;}
.ant-menu-dark .ant-menu-item-danger.ant-menu-item, .ant-menu-dark .ant-menu-item-danger.ant-menu-item:hover, .ant-menu-dark .ant-menu-item-danger.ant-menu-item > a {color: #ff4d4f;}
.ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-danger.ant-menu-item-selected {color: #fff;background-color: #ff4d4f;}
@ -1731,9 +1738,12 @@ tr.ant-table-expanded-row:hover > td {background: @table-expanded-row-bg;}
.ant-tag-checkable-checked {background-color: @primary-color;}
.ant-tag-checkable:active {background-color: color(~`colorPalette("@{primary-color}", 7)`);}
<<<<<<< Updated upstream
<<<<<<< Updated upstream
.ant-tag-pink {color: #c41d7f;background: color(~`colorPalette("@{component-background}", 1)`);border-color: #ffadd2;}
=======
>>>>>>> Stashed changes
=======
>>>>>>> Stashed changes
.ant-tag-pink {color: #c41d7f;background: #fff0f6;border-color: #ffadd2;}
@ -1743,6 +1753,7 @@ tr.ant-table-expanded-row:hover > td {background: @table-expanded-row-bg;}
.ant-tag-magenta-inverse {color: #fff;background: #eb2f96;border-color: #eb2f96;}
<<<<<<< Updated upstream
.ant-tag-red {color: #cf1322;background: #fff1f0;border-color: #ffa39e;}
<<<<<<< Updated upstream
.ant-tag-pink {color: #c41d7f;background: color(~`colorPalette("@{success-color-deprecated-bg}", 1)`);border-color: #ffadd2;}
.ant-tag-pink-inverse {color: #fff;background: #eb2f96;border-color: #eb2f96;}
@ -1753,6 +1764,8 @@ tr.ant-table-expanded-row:hover > td {background: @table-expanded-row-bg;}
=======
.ant-tag-red {color: #cf1322;background: color(~`colorPalette("@{segmented-label-hover-color}", 1)`);border-color: #ffa39e;}
>>>>>>> Stashed changes
=======
>>>>>>> Stashed changes
.ant-tag-red-inverse {color: #fff;background: #f5222d;border-color: #f5222d;}
.ant-tag-volcano {color: #d4380d;background: #fff2e8;border-color: #ffbb96;}
.ant-tag-volcano-inverse {color: #fff;background: #fa541c;border-color: #fa541c;}
@ -1769,6 +1782,7 @@ tr.ant-table-expanded-row:hover > td {background: @table-expanded-row-bg;}
.ant-tag-green {color: #389e0d;background: #f6ffed;border-color: #b7eb8f;}
.ant-tag-green-inverse {color: #fff;background: #52c41a;border-color: #52c41a;}
<<<<<<< Updated upstream
<<<<<<< Updated upstream
.ant-tag-blue {color: #096dd9;background: #e6f7ff;border-color: #91d5ff;}
.ant-tag-blue-inverse {color: #fff;background: #1890ff;border-color: #1890ff;}
@ -1788,6 +1802,13 @@ tr.ant-table-expanded-row:hover > td {background: @table-expanded-row-bg;}
.ant-tag-geekblue-inverse {color: #fff;background: #2f54eb;border-color: #2f54eb;}
.ant-tag-purple {color: #531dab;background: color(~`colorPalette("@{alert-error-bg-color}", 1)`);border-color: #d3adf7;}
>>>>>>> Stashed changes
=======
.ant-tag-blue {color: #096dd9;background: #e6f7ff;border-color: #91d5ff;}
.ant-tag-blue-inverse {color: #fff;background: #1890ff;border-color: #1890ff;}
.ant-tag-geekblue {color: #1d39c4;background: color(~`colorPalette("@{info-color-deprecated-bg}", 1)`);border-color: #adc6ff;}
.ant-tag-geekblue-inverse {color: #fff;background: #2f54eb;border-color: #2f54eb;}
.ant-tag-purple {color: #531dab;background: color(~`colorPalette("@{background-color-light}", 1)`);border-color: #d3adf7;}
>>>>>>> Stashed changes
.ant-tag-purple-inverse {color: #fff;background: #722ed1;border-color: #722ed1;}
.ant-tag-success {color: #52c41a;background: @success-color-deprecated-bg;border-color: @success-color-deprecated-border;}
.ant-tag-processing {color: @primary-color;background: @info-color-deprecated-bg;border-color: @info-color-deprecated-border;}
@ -2026,14 +2047,16 @@ a.ant-typography.ant-typography-disabled:hover, .ant-typography a.ant-typography
.ant-upload-list-picture .ant-upload-list-item:hover .ant-upload-list-item-info, .ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-info {background: transparent;}
.ant-upload-list-picture .ant-upload-list-item-uploading, .ant-upload-list-picture-card .ant-upload-list-item-uploading {border-style: dashed;}
<<<<<<< Updated upstream
<<<<<<< Updated upstream
.ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff'], .ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff'] {fill: @error-color-deprecated-bg;}
.ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff'], .ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff'] {fill: @error-color-deprecated-bg;}
=======
.ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff'], .ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff'] {fill: @error-color-deprecated-bg;}
=======
>>>>>>> Stashed changes
.ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff'], .ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff'] {fill: @error-color-deprecated-bg;}
.ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#1890ff'], .ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#1890ff'] {fill: #ff4d4f;}
.ant-upload-list-picture-card .ant-upload-list-item-info::before {background-color: rgba(0, 0, 0, 0.5);}
.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye, .ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download, .ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete {color: rgba(255, 255, 255, 0.85);}

BIN
web/client/assets/images/leadership/weizhis.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 577 B

BIN
web/client/assets/images/leadership/youofanye.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 742 B

BIN
web/client/assets/images/leadership/zuofanye.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 750 B

4
web/client/src/components/index.js

@ -9,6 +9,7 @@ import FlowRecordTable from './flowRecordTable'
import Table from './table'
import Search from './search'
import SketchColor from './sketchColor'
import SimpleFileDownButton from './simpleFileDownButton'
export {
Upload,
@ -18,5 +19,6 @@ export {
FlowRecordTable,
Table,
Search,
SketchColor
SketchColor,
SimpleFileDownButton
};

40
web/client/src/components/simpleFileDownButton.js

@ -0,0 +1,40 @@
import React, { useState, useEffect, useRef } from "react";
import { connect } from "react-redux";
import moment from 'moment'
import { Button } from "antd";
const SimpleFileDownButton = (props) => {
const { src, user } = props
const [downloadUrl, setDownloadUrl] = useState('')
return (
<>
<Button
style={{
width: 65,
height: 32,
background: "#FFFFFF",
borderRadius: 3,
border: "1px solid #1859C1",
}}
onClick={() => {
setDownloadUrl(`${src}?token=${user.token}&timestamp=${moment().valueOf()}`)
}}
>
导出
</Button>
{
downloadUrl ? <iframe src={`/_api/${downloadUrl}`} style={{ display: 'none' }} /> : ''
}
</>
)
}
function mapStateToProps (state) {
const { auth } = state;
return {
user: auth.user,
};
}
export default connect(mapStateToProps)(SimpleFileDownButton);

202
web/client/src/sections/fillion/actions/infor.js

@ -34,6 +34,17 @@ export function getOperaTional(query) {
// reducer: { name: 'reportstatistic' }
});
}
export function putOperaTional(query) {
return dispatch => basicAction({
type: 'put',
dispatch: dispatch,
data: query,
actionType: 'PUT_OPERA_TIONAL',
url: ApiTable.putOperaTional,
msg: { error: '获取车辆信息失败' },
// reducer: { name: 'reportstatistic' }
});
}
export function getSpecificVehicle(query) {
return dispatch => basicAction({
type: 'get',
@ -45,6 +56,28 @@ export function getSpecificVehicle(query) {
// reducer: { name: 'reportstatistic' }
});
}
export function putSpecificVehicle(query) {
return dispatch => basicAction({
type: 'put',
dispatch: dispatch,
data: query,
actionType: 'put_SPECIFIC_VEHICLE',
url: ApiTable.putSpecificVehicle,
msg: { error: '编辑车辆信息失败' },
// reducer: { name: 'reportstatistic' }
});
}
export function putHouseholds(query) {
return dispatch => basicAction({
type: 'put',
dispatch: dispatch,
data: query,
actionType: 'put_HOUSEHOLDS',
url: ApiTable.putHouseholds,
msg: { error: '编辑业户信息失败' },
// reducer: { name: 'reportstatistic' }
});
}
export function getHouseholds(query) {
return dispatch => basicAction({
type: 'get',
@ -122,3 +155,172 @@ export function putProject(query) {
// reducer: { name: 'reportstatistic' }
});
}
export function getHighways(query) {
return dispatch => basicAction({
type: 'get',
dispatch: dispatch,
query: query,
actionType: 'GET_HIGHWAYS',
url: ApiTable.getHighways,
msg: { error: '获取路政信息失败' },
// reducer: { name: 'reportstatistic' }
});
}
export function putHighways(query) {
return dispatch => basicAction({
type: 'put',
dispatch: dispatch,
data: query,
actionType: 'GET_HIGHWAYS',
url: ApiTable.putHighways,
msg: { error: '编辑路政信息失败' },
// reducer: { name: 'reportstatistic' }
});
}
export function getCircuit(query) {
return dispatch => basicAction({
type: 'get',
dispatch: dispatch,
query: query,
actionType: 'GET_CIRCUIT',
url: ApiTable.getCircuit,
msg: { error: '获取线路信息失败' },
// reducer: { name: 'reportstatistic' }
});
}
export function putCircuit(query) {
return dispatch => basicAction({
type: 'put',
dispatch: dispatch,
data: query,
actionType: 'PUT_CIRCUIT',
url: ApiTable.putCircuit,
msg: { error: '编辑线路信息失败' },
// reducer: { name: 'reportstatistic' }
});
}
export function getVehicle(query) {
return dispatch => basicAction({
type: 'get',
dispatch: dispatch,
query: query,
actionType: 'GET_VEHICLE',
url: ApiTable.getVehicle,
msg: { error: '获取车辆信息失败' },
// reducer: { name: 'reportstatistic' }
});
}
export function putVehicle(query) {
return dispatch => basicAction({
type: 'put',
dispatch: dispatch,
data: query,
actionType: 'PUT_VEHICLE',
url: ApiTable.putVehicle,
msg: { error: '编辑车辆信息失败' },
// reducer: { name: 'reportstatistic' }
});
}
export function delRoadway(query) {
return dispatch => basicAction({
type: 'del',
dispatch: dispatch,
actionType: 'DEL_ROADWAY',
url: ApiTable.delRoadway.replace("{roadId}", query?.roadId),
msg: { error: '删除车辆信息失败' },
// reducer: { name: 'reportstatistic' }
});
}
export function delProject(query) {
return dispatch => basicAction({
type: 'del',
dispatch: dispatch,
actionType: 'DEL_PROJECT',
url: ApiTable.delProject.replace("{projectId}", query?.projectId),
msg: { error: '删除工程信息失败' },
// reducer: { name: 'reportstatistic' }
});
}
export function delBridge(query) {
return dispatch => basicAction({
type: 'del',
dispatch: dispatch,
actionType: 'DEL_BRIDGE',
url: ApiTable.delBridge.replace("{bridgeId}", query?.bridgeId),
msg: { error: '删除桥梁信息失败' },
// reducer: { name: 'reportstatistic' }
});
}
export function delSpecificVehicle(query) {
return dispatch => basicAction({
type: 'del',
dispatch: dispatch,
actionType: 'DEL_SPECIFICVENICLE',
url: ApiTable.delSpecificVehicle.replace("{vehicleId}", query?.vehicleId),
msg: { error: '删除车辆信息失败' },
// reducer: { name: 'reportstatistic' }
});
}
export function delHouseholds(query) {
return dispatch => basicAction({
type: 'del',
dispatch: dispatch,
actionType: 'DEL_HOUSEHOLDS',
url: ApiTable.delHouseholds.replace("{businessId}", query?.businessId),
msg: { error: '删除业户信息失败' },
// reducer: { name: 'reportstatistic' }
});
}
export function delCircuit(query) {
return dispatch => basicAction({
type: 'del',
dispatch: dispatch,
actionType: 'DEL_CIRCUIT',
url: ApiTable.delCircuit.replace("{lineId}", query?.lineId),
msg: { error: '删除运营线路信息失败' },
// reducer: { name: 'reportstatistic' }
});
}
export function delVehicle(query) {
return dispatch => basicAction({
type: 'del',
dispatch: dispatch,
actionType: 'DEL_VEHICLE',
url: ApiTable.delVehicle.replace("{carId}", query?.carId),
msg: { error: '删除车辆信息失败' },
// reducer: { name: 'reportstatistic' }
});
}
export function getPurchase(query) {
return dispatch => basicAction({
type: 'get',
dispatch: dispatch,
query: query,
actionType: 'GET_PURCHASE',
url: ApiTable.getPurchase,
msg: { error: '获取治超信息失败' },
// reducer: { name: 'reportstatistic' }
});
}
export function putPurchase(query) {
return dispatch => basicAction({
type: 'put',
dispatch: dispatch,
data: query,
actionType: 'PUT_PURCHASE',
url: ApiTable.putPurchase,
msg: { error: '获取治超信息失败' },
// reducer: { name: 'reportstatistic' }
});
}
export function delPurchase(query) {
return dispatch => basicAction({
type: 'del',
dispatch: dispatch,
actionType: 'DEL_PURCHASE',
url: ApiTable.delPurchase.replace("{overspeedId}", query?.overspeedId),
msg: { error: '删除车辆信息失败' },
// reducer: { name: 'reportstatistic' }
});
}

105
web/client/src/sections/fillion/components/bridgeTable.js

@ -1,10 +1,10 @@
import React, { useEffect, useState } from 'react';
import React, { useEffect, useState, useRef } from 'react';
import { connect } from 'react-redux';
import { Spin, Button, Popconfirm, Badge } from 'antd';
import ProTable from '@ant-design/pro-table';
import './protable.less'
import moment from 'moment';
import { getBridge, getProject } from "../actions/infor"
import { getBridge, getProject,delBridge,delProject } from "../actions/infor"
import UserModal from './infor/details';
import ProjectModal from './project/project';
@ -14,7 +14,7 @@ const BrideTable = (props) => {
// const [regionId, setRegionId] = useState()//区域id
// const [placeType, setPlaceType] = useState()//场所
// const [day, setDay] = useState([moment('2022-03-01').format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')])//日期
// const [sitename, setSitename] = useState()//场所名称
const [sitename, setSitename] = useState()//场所名称
const [counts, setCounts] = useState()//shuju
const [modalVisible, setModalVisible] = useState(false);
const [modalVisibleyilan, setModalVisibleyilan] = useState(false);
@ -22,6 +22,11 @@ const BrideTable = (props) => {
const [typecard, setTypecard] = useState();
const [activeKey, setActiveKey] = useState('tab1');
const [recortd, setRecortd] = useState()
const [whichofits, setWhichofits] = useState('qiaoliang')
const [delet, setDelet] = useState()
const ref = useRef()
useEffect(() => { ref.current.reload() }, [modalVisible, modalVisibleyilan,whichofits,delet])
const columns = {
tab1: [
{
@ -30,12 +35,9 @@ const BrideTable = (props) => {
fixed: 'left',
width: 120,
options: 1,
search: false,
backgroundColor: "#ffffff",
fieldProps: {
// onChange: (value, cs) => {
// setSitename(value.currentTarget.value)
// },
placeholder: '请输入桥梁代码进行搜索',
getPopupContainer: (triggerNode) => triggerNode.parentNode,
},
render: (dom, record) => {
@ -45,17 +47,19 @@ const BrideTable = (props) => {
},
{
title: '桥梁名称',
search: false,
dataIndex: 'containers',
fixed: 'left',
width: 120,
render: (dom, record) => {
return record.bridgeName
},
fieldProps: {
onChange: (value, cs) => {
setSitename(value.currentTarget.value)
},
placeholder: '请输入桥梁名称进行搜索',
getPopupContainer: (triggerNode) => triggerNode.parentNode,
}
},
},
{
title: '中心桩号',
@ -1489,7 +1493,16 @@ const BrideTable = (props) => {
setTypecard('111')
setRecortd(record)
}}
>编辑</Button><Button type="link"></Button></div>
>编辑</Button><Button type="link"
onClick={() => {
const query = {
bridgeId: record.id
}
dispatch(delBridge(query)).then((res) => {
setDelet(res)
})
}}
>删除</Button></div>
}
},
@ -1532,9 +1545,9 @@ const BrideTable = (props) => {
options: 1,
backgroundColor: "#ffffff",
fieldProps: {
// onChange: (value, cs) => {
// setSitename(value.currentTarget.value)
// },
onChange: (value, cs) => {
setSitename(value.currentTarget.value)
},
placeholder: '请输入项目名称进行搜索',
getPopupContainer: (triggerNode) => triggerNode.parentNode,
},
@ -1670,7 +1683,16 @@ const BrideTable = (props) => {
setTypecard('111')
setRecortd(record)
}}
>编辑</Button><Button type="link"></Button></div>
>编辑</Button><Button type="link"
onClick={() => {
const query = {
projectId: record.id
}
dispatch(delProject(query)).then((res) => {
setDelet(res)
})
}}
>删除</Button></div>
}
},
@ -1706,27 +1728,6 @@ const BrideTable = (props) => {
},
]
}
const requestBridge = () => {
const query = {
}
setRowSelected([]);
dispatch(getBridge(query)).then((res) => {
setCounts(res?.payload?.data)
console.log(res)
});
}
//工程数据
const requestProject = () => {
const query = {
type: '桥梁'
}
setRowSelected([]);
dispatch(getProject(query)).then((res) => {
setCounts(res?.payload?.data)
})
}
//打开弹窗
const openModal = (type, record) => {
setModalVisible(true);
@ -1766,7 +1767,7 @@ const BrideTable = (props) => {
<Spin spinning={false}>
<div className='protable-transpor'>
<ProTable
actionRef={ref}
toolbar={{
multipleLine: true,
@ -1777,13 +1778,13 @@ const BrideTable = (props) => {
{
key: 'tab1',
label: <span onClick={() => {
requestBridge()
setWhichofits('qiaoliang')
}}>桥梁{activeKey === 'tab1'}</span>,
},
{
key: 'tab2',
label: <span onClick={() => {
requestProject()
setWhichofits('gongcheng')
}}>工程一览{activeKey === 'tab2'}</span>,
},
@ -1796,12 +1797,7 @@ const BrideTable = (props) => {
style={{ width: "100% ", overflow: "auto", height: '760px' }}
rowKey='id'
onReset={(v) => {
// const { id } = depMessage[0]
// console.log(id)
// setRegionId(id)
// setPlaceType(-1)
// setDay([moment('2022-03-01').format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')])
// setSitename('')
setSitename('')
}}
rowSelection={{
selectedRowKeys: rowSelected,
@ -1813,16 +1809,33 @@ const BrideTable = (props) => {
dataSource={counts || []}
request={async (params) => {
if(whichofits=='qiaoliang'){
const query = {
bridgeName:sitename
}
setRowSelected([]);
const res = await dispatch(getBridge(query));
// console.log(res)
setCounts(res.payload.data)
return {
...res,
total: res.payload.data ? res.payload.data.count : 0
}
}if(whichofits=='gongcheng'){
const query = {
type: 'bridge',
// type:sitename
}
setRowSelected([]);
const res = await dispatch(getProject(query));
setCounts(res.payload.data)
return {
...res,
total: res.payload.data ? res.payload.data.count : 0
}
}
}}
search={{
defaultCollapsed: false,

40
web/client/src/sections/fillion/components/gis/patrolGis.js

@ -5,13 +5,15 @@ import { useState } from 'react';
import { DatePicker } from 'antd';
import Bounds from './bounds';
import moment from 'moment';
import { getReportList } from '../../actions/patrol'
const { RangePicker } = DatePicker;
function PatrolGis(props) {
const { reportList, userId, dispatch } = props;
const [mapComplete, setMapComplete] = useState(false);
const [mapObj, setMapObj] = useState();
const [dateRange, setDateRange] = useState();
let markers = [];
let PATH = [];
useEffect(() => {
if (AMap) loadMap();
return () => {
@ -24,8 +26,23 @@ function PatrolGis(props) {
}, [true])
useEffect(() => {
if (mapObj) {
mapObj.remove(markers);
mapObj.remove(PATH);
}
let query = { userId, reportType: 'patrol' }
if (userId) {
if ((dateRange && dateRange instanceof Array)) {
query.startTime = moment(dateRange[0]).startOf('day').format('YYYY-MM-DD HH:mm:ss')
query.endTime = moment(dateRange[1]).endOf('day').format('YYYY-MM-DD HH:mm:ss')
} else {
query.startTime = moment().add(-6, 'day').startOf('day').format('YYYY-MM-DD HH:mm:ss')
query.endTime = moment().endOf('day').format('YYYY-MM-DD HH:mm:ss')
}
dispatch(getReportList(query));
} else {
query.isTop = true;
dispatch(getReportList(query));
}
}, [userId, dateRange])
@ -33,9 +50,10 @@ function PatrolGis(props) {
if (reportList && mapObj) {
mapObj.clearMap();
renderMarkers();
if (userId)
renderPath();
}
}, [reportList, mapObj])
}, [reportList, mapObj, userId])
const loadMap = () => {
const map = new AMap.Map("amapId", {
@ -86,11 +104,12 @@ function PatrolGis(props) {
position: new AMap.LngLat(longitude, latitude),
icon: icon,
offset: new AMap.Pixel(-12, -12),
extData: {
name: user.name || '',
}
// extData: {
// name: user.name || '',
// }
});
// marker.setTitle(s.name);
markers.push(marker);
map.add(marker);
})
}
@ -111,6 +130,7 @@ function PatrolGis(props) {
if (longitude && latitude)
path.push([item.longitude, item.latitude])
});
PATH = path;
var polyline1 = new AMap.Polyline({
map: map,
path: path, // 设置线覆盖物路径
@ -122,9 +142,13 @@ function PatrolGis(props) {
}
return (
<div style={{ width: '100%', backgroundColor: '#101824', height: '100%', minHeight: 700 }}>
<div style={{ width: '100%', backgroundColor: '#101824', height: '100%', minHeight: 700, position: 'relative' }}>
<div id='amapId' style={{ width: '100%', height: '100%', background: "#101824", minHeight: 700 }} />
<RangePicker onChange={(date, dateString) => { setDateRange(dateString) }} />
<div style={{ position: 'absolute', top: 8, left: 20, display: userId ? 'block' : 'none' }}>
<RangePicker
onChange={(date, dateString) => { setDateRange(dateString) }}
/>
</div>
{mapObj ? <Bounds map={mapObj} /> : ''}
</div >
)

106
web/client/src/sections/fillion/components/highways/highwaysdata.js

@ -0,0 +1,106 @@
import React, { useEffect, useState } from 'react';
import { connect } from 'react-redux';
import { Form, Spin, Table } from 'antd';
import { ModalForm, ProForm, ProFormText,ProFormSelect } from '@ant-design/pro-form';
import { putOperaTional,putHighways } from "../../actions/infor"
const HightModal = (props) => {
const { visible, onVisibleChange, typecard, rewkeys, recortd, dispatch, setRecortd } = props
const [success,setSuccess]=useState()
useEffect(() => {
return () => {
setRecortd()
}
}, [setRecortd])
// console.log(recortd)
return (
<Spin spinning={false}>
{/* {
newlysay ? */}
<ModalForm
width={'90rem'}
visible={visible}
onVisibleChange={onVisibleChange}
onFinish={(values) => {
if (rewkeys === 'passenger') {
console.log(values)
const query = { ...values, id:recortd?.id }
dispatch(putOperaTional(query)).then((res) => {
setSuccess(res.success)
})
return true
}
if (rewkeys === 'highways') {
console.log(values)
const query = { ...values, id:recortd?.id }
dispatch(putHighways(query)).then((res) => {
setSuccess(res.success)
})
return true
}
}}
initialValues={recortd}
>
{typecard == '111' ?
<ProForm.Group
>
<ProFormText
name='name'
width="md"
label='类型'
tooltip="最长为 24 位"
placeholder="请输入名称"
// value={recortd?.[0]?.value}
disabled
rules={[{ required: true, message: "必填" }]}
/>
<ProFormText
name='count'
width="md"
label='数量'
tooltip="最长为 24 位"
placeholder="请输入名称"
/>
</ProForm.Group>
: <ProForm.Group>
<ProFormText
name={newlys?.[0]?.type}
width="md"
label={newlys?.[0]?.name}
tooltip="最长为 24 位"
placeholder="请输入名称"
/>
</ProForm.Group>}
</ModalForm>
{/* : ''
} */}
</Spin>
)
}
function mapStateToProps(state) {
const { depMessage } = state;
const pakData = (dep) => {
return dep.map((d) => {
return {
title: d.name,
value: d.id,
children: pakData(d.subordinate)
}
})
}
let depData = pakData(depMessage.data || [])
return {
loading: depMessage.isRequesting,
depData,
};
}
export default connect(mapStateToProps)(HightModal);

74
web/client/src/sections/fillion/components/highwaysTable.js

@ -1,27 +1,27 @@
import React, { useEffect, useState } from 'react';
import React, { useEffect, useState,useRef } from 'react';
import { connect } from 'react-redux';
import { Spin, Button, Popconfirm, Badge } from 'antd';
import ProTable from '@ant-design/pro-table';
import './protable.less'
import moment from 'moment';
import { getReportStatistic } from "../actions/infor"
import UserModal from './infor/details';
import { getHighways } from "../actions/infor"
import HightModal from './highways/highwaysdata';
const HigwaysTable = (props) => {
const { dispatch, user, depData, depMessage, depLoading } = props
const { dispatch, user, } = props
const [rowSelected, setRowSelected] = useState([])
const [regionId, setRegionId] = useState()//区域id
const [placeType, setPlaceType] = useState()//场所
const [day, setDay] = useState([moment('2022-03-01').format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')])//日期
const [sitename, setSitename] = useState()//场所名称
const [counts, setCounts] = useState()//shuju
const [modalVisible, setModalVisible] = useState(false);
const [modalVisibleyilan, setModalVisibleyilan] = useState(false);
const [modalRecord, setModalRecord] = useState();
const [typecard, setTypecard] = useState();
const [recortd, setRecortd] = useState()
const [sitename, setSitename] = useState()//桥梁名称
const ref = useRef()
useEffect(() => { ref.current.reload() }, [ modalVisibleyilan])
//打开弹窗
const openModal = (type, record) => {
setModalVisible(true);
const hightModal = (type, record) => {
setModalVisibleyilan(true);
// setModalType(type);
if (type == 'edit') {
setModalRecord(record);
@ -61,6 +61,9 @@ const exports = (ids, counts) => {
placeholder: '请输入类型进行搜索',
getPopupContainer: (triggerNode) => triggerNode.parentNode,
},
render: (dom, record) => {
return record.name
},
},
{
title: '数量',
@ -70,7 +73,7 @@ const exports = (ids, counts) => {
fixed: 'left',
width: 120,
render: (dom, record) => {
return record.address
return record.count
},
fieldProps: {
getPopupContainer: (triggerNode) => triggerNode.parentNode,
@ -86,8 +89,9 @@ const exports = (ids, counts) => {
render: (dom, record) => {
return <div><Button type="link"
onClick={() => {
openModal('edit', record)
hightModal('edit', record)
setTypecard('111')
setRecortd(record)
}}
>编辑</Button></div>
@ -99,17 +103,13 @@ const exports = (ids, counts) => {
<Spin spinning={false}>
<div className='protable-transpor'>
<ProTable
actionRef={ref}
scroll={{ x: 800 }}
options={false}
ref={c => { finishedProductTable = c; }}
style={{ width: "100% ", overflow: "auto", height: '760px' }}
rowKey='id'
onReset={(v) => {
const { id } = depMessage[0]
console.log(id)
setRegionId(id)
setPlaceType(-1)
setDay([moment('2022-03-01').format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')])
setSitename('')
}}
rowSelection={{
@ -120,46 +120,30 @@ const exports = (ids, counts) => {
}}
columns={columns}
dataSource={(counts || {}).rows || []}
dataSource={counts || []}
request={async (params) => {
const query = {
startDate: day[0],
endDate: day[1],
placeType: placeType,
regionId: regionId,
placeName: sitename,
limit: params.pageSize,
offset: ((params.current ? params.current : 1) - 1) * params.pageSize
name:sitename
}
setRowSelected([]);
const res = await dispatch(getReportStatistic(query));
const res = await dispatch(getHighways(query));
setCounts(res.payload.data)
return {
...res,
total: res.payload.data ? res.payload.data.count : 0
}
}}
search={{
defaultCollapsed: false,
optionRender: (searchConfig, formProps, dom) => [
...dom.reverse(),
// <Popconfirm title="确认导出?" onConfirm={() => { props.exports(rowSelected, counts) }}>
// <Button
// >
// 导出
// </Button>
// </Popconfirm>
],
}}
>
</ProTable></div>
<UserModal
visible={modalVisible}
onVisibleChange={setModalVisible}
{modalVisibleyilan ? <HightModal
visible={modalVisibleyilan}
onVisibleChange={setModalVisibleyilan}
modalRecord={modalRecord}
typecard={typecard}
/>
rewkeys={'highways'}
recortd={recortd}
setRecortd={setRecortd}
/> : ''}
</Spin >
)
}

238
web/client/src/sections/fillion/components/infor/details.js

@ -1,21 +1,23 @@
import React, { useEffect, useState } from 'react';
import { connect } from 'react-redux';
import { Form, Spin, Table } from 'antd';
import { DrawerForm, ProForm, ProFormText } from '@ant-design/pro-form';
import { putRoadway } from "../../actions/infor"
import { DrawerForm, ProForm, ProFormText, ProFormSelect } from '@ant-design/pro-form';
import { putRoadway, putSpecificVehicle, putHouseholds,putCircuit,putVehicle,putPurchase } from "../../actions/infor"
import { putBridge } from "../../actions/infor"
const UserModal = (props) => {
const { visible, onVisibleChange, typecard, rewkeys, data, recortd, sitename, dispatch, date, setRecortd,engineering } = props
const { visible, onVisibleChange, typecard, rewkeys, data, recortd, sitename, dispatch, setRecortd, setMonitor } = props
const [newlys, setNewlys] = useState() //必填数据
const [newlysay, setNewlysay] = useState() //处理hou
const [records, setRecords] = useState()//处理
const [recordsay, setRecordsay] = useState()//必填数据
const [success, setSuccess] = useState() //状态
// const [success, setSuccess] = useState() //状态
// const [establishment, setEstablishment] = useState() //业户类型
console.log(recortd)
useEffect(() => {
const array = []
if (rewkeys === 'transportation') {
const xindata=[...data]
const xindata = [...data]
setNewlys(xindata?.splice(0, 2))
setNewlysay(xindata)
} if (rewkeys === 'bridge') {
@ -24,7 +26,51 @@ const UserModal = (props) => {
});
setNewlys(array?.splice(0, 2))
setNewlysay(array)
console.log(array)
// console.log(array)
}
if (rewkeys === 'weihuo') {
_.forIn(data, function (value, key) {
array.push({ name: value, type: key })
});
setNewlys(array?.splice(0, 2))
setNewlysay(array)
// console.log(array)
}
if (rewkeys === 'chuzu') {
_.forIn(data, function (value, key) {
array.push({ name: value, type: key })
});
array?.splice(1, 1)
setNewlys(array?.splice(0, 2))
setNewlysay(array)
}
if (rewkeys === 'yehu') {
_.forIn(data, function (value, key) {
array.push({ name: value, type: key })
});
setNewlys(array?.splice(0, 2))
setNewlysay(array)
// console.log(array)
}if (rewkeys === 'xianlu') {
_.forIn(data, function (value, key) {
array.push({ name: value, type: key })
});
setNewlys(array?.splice(0, 2))
setNewlysay(array)
}if (rewkeys === 'cheliang') {
_.forIn(data, function (value, key) {
array.push({ name: value, type: key })
});
setNewlys(array?.splice(0, 2))
setNewlysay(array)
}
if (rewkeys === 'zhichao') {
_.forIn(data, function (value, key) {
array.push({ name: value, type: key })
});
setNewlys(array?.splice(0, 2))
setNewlysay(array)
}
}, [])
useEffect(() => {
@ -43,12 +89,55 @@ const UserModal = (props) => {
setRecordsay(arr.splice(1, 2))
setRecords(arr)
}
if (rewkeys === 'weihuo') {
_.forIn(recortd, function (value, key) {
arr.push({ value: value, type: key })
});
setRecordsay(arr.splice(1, 2))
setRecords(arr)
}
if (rewkeys === 'chuzu') {
_.forIn(recortd, function (value, key) {
arr.push({ value: value, type: key })
});
setRecordsay(arr.splice(1, 2))
setRecords(arr)
} if (rewkeys === 'yehu') {
_.forIn(recortd, function (value, key) {
arr.push({ value: value, type: key })
});
setRecordsay(arr.splice(1, 2))
// setEstablishment(arr.splice(-1, 1))
setRecords(arr)
}
if (rewkeys === 'xianlu') {
_.forIn(recortd, function (value, key) {
arr.push({ value: value, type: key })
});
setRecordsay(arr.splice(1, 2))
// setEstablishment(arr.splice(-1, 1))
setRecords(arr)
}if (rewkeys === 'cheliang') {
_.forIn(recortd, function (value, key) {
arr.push({ value: value, type: key })
});
setRecordsay(arr.splice(1, 2))
// setEstablishment(arr.splice(-1, 1))
setRecords(arr)
}if (rewkeys === 'zhichao') {
_.forIn(recortd, function (value, key) {
arr.push({ value: value, type: key })
});
setRecordsay(arr.splice(1, 2))
// setEstablishment(arr.splice(-1, 1))
setRecords(arr)
}
}, [recortd])
useEffect(() => {
return () => {
setRecortd()
}
}, [])
}, [setRecortd])
// console.log(recortd)
return (
<Spin spinning={false}>
@ -59,20 +148,21 @@ const UserModal = (props) => {
visible={visible}
onVisibleChange={onVisibleChange}
onFinish={(values) => {
console.log(values)
if (Object.values(values).length > 0) {
if (rewkeys === 'transportation') {
if (typecard == '111') {
console.log(values)
const query = { ...values, level: sitename, roadId: records?.[0]?.value || '' }
dispatch(putRoadway(query)).then((res) => {
setSuccess(res.success)
})
return success
return true
} else {
const query = { ...values, level: sitename }
dispatch(putRoadway(query)).then((res) => {
setSuccess(res.success)
})
return success
return true
}
}
if (rewkeys === 'bridge') {
@ -82,15 +172,98 @@ const UserModal = (props) => {
dispatch(putBridge(query)).then((res) => {
setSuccess(res.success)
})
return success
return true
} else {
const query = { ...values }
dispatch(putBridge(query)).then((res) => {
setSuccess(res.success)
})
return success
return true
}
}
if (rewkeys === 'weihuo' || rewkeys === 'chuzu') {
if (typecard == '111') {
console.log(values)
const query = { ...values, vehicleId: records?.[0]?.value || '', type: rewkeys === 'chuzu' ? '出租车' : '危货' }
dispatch(putSpecificVehicle(query)).then((res) => {
setSuccess(res.success)
})
return true
} else {
const query = { ...values, type: rewkeys }
dispatch(putSpecificVehicle(query)).then((res) => {
setSuccess(res.success)
})
return true
}
}
if (rewkeys === 'yehu') {
if (typecard == '111') {
console.log(values)
const query = { ...values, businessId: records?.[0]?.value, type: rewkeys == 'chuzu' ? '出租车' : '危货' }
dispatch(putHouseholds(query)).then((res) => {
setSuccess(res.success)
})
return true
} else {
const query = { ...values, type: rewkeys === 'chuzu' ? '出租车' : '危货' }
dispatch(putHouseholds(query)).then((res) => {
setSuccess(res.success)
})
return true
}
}if (rewkeys === 'xianlu') {
if (typecard == '111') {
console.log(values)
const query = { ...values, lineId:records?.[0]?.value || '' }
dispatch(putCircuit(query)).then((res) => {
setSuccess(res.success)
})
return true
} else {
const query = { ...values }
dispatch(putCircuit(query)).then((res) => {
setSuccess(res.success)
})
return true
}
}
if (rewkeys === 'cheliang') {
if (typecard == '111') {
console.log(values)
const query = { ...values, carId:records?.[0]?.value || '' }
dispatch(putVehicle(query)).then((res) => {
setSuccess(res.success)
})
return true
} else {
const query = { ...values }
dispatch(putVehicle(query)).then((res) => {
setSuccess(res.success)
})
return true
}
}
if (rewkeys === 'zhichao') {
if (typecard == '111') {
console.log(values)
const query = { ...values, overspeedId:records?.[0]?.value || '' }
dispatch(putPurchase(query)).then((res) => {
setSuccess(res.success)
setMonitor(res)
})
return true
} else {
const query = { ...values }
dispatch(putPurchase(query)).then((res) => {
setSuccess(res.success)
setMonitor(res)
})
return true
}
}
} else { return false }
}}
initialValues={recortd}
>
@ -104,7 +277,7 @@ const UserModal = (props) => {
tooltip="最长为 24 位"
placeholder="请输入名称"
value={recordsay?.[0]?.value}
rules={[{ required: true, message: "必填" }]}
// rules={[{ required: true, message: "必填" }]}
/><ProFormText
name={newlys?.[1]?.type}
width="md"
@ -112,9 +285,24 @@ const UserModal = (props) => {
tooltip="最长为 24 位"
placeholder="请输入名称"
value={recordsay?.[1]?.value}
rules={[{ required: true, message: "必填" }]}
// rules={[{ required: true, message: "必填" }]}
/>
{rewkeys === 'yehu' ?
<ProFormSelect
rules={[{ required: true, message: "必填" }]}
options={[
{
value: '出租车',
label: '出租车',
}, {
value: '危货',
label: '危险货运',
},
]}
name='type'
label='类型'
/> : null
}
{newlysay?.map((item, index) => {
return <ProFormText width="md"
name={item?.type} label={newlysay[index]?.name} placeholder="请输入名称"
@ -131,7 +319,7 @@ const UserModal = (props) => {
tooltip="最长为 24 位"
placeholder="请输入名称"
// value={recordssy?.[0]?.value}
rules={[{ required: true, message: "必填" }]}
// rules={[{ required: true, message: "必填" }]}
/><ProFormText
name={newlys?.[1]?.type}
width="md"
@ -139,8 +327,24 @@ const UserModal = (props) => {
tooltip="最长为 24 位"
placeholder="请输入名称"
// value={recordssy?.[1]?.value}
rules={[{ required: true, message: "必填" }]}
// rules={[{ required: true, message: "必填" }]}
/>
{rewkeys === 'yehu' ?
<ProFormSelect
rules={[{ required: true, message: "必填" }]}
options={[
{
value: '出租车',
label: '出租车',
}, {
value: '危货',
label: '危险货运',
},
]}
name='type'
label='类型'
/> : null
}
{newlysay?.map((item, index) => {
return <ProFormText width="md"
name={item?.type} label={newlysay[index]?.name} placeholder="请输入名称" key={index}

192
web/client/src/sections/fillion/components/inforTable.js

@ -1,21 +1,30 @@
import React, { useEffect, useState } from 'react';
import React, { useEffect, useState,useRef } from 'react';
import { connect } from 'react-redux';
import { Spin, Button, Popconfirm, Col, Input,Row } from 'antd';
import ProTable from '@ant-design/pro-table';
import './protable.less'
import moment from 'moment';
import { getReportStatistic } from "../actions/infor"
import { getPurchase,delPurchase } from "../actions/infor"
import UserModal from './infor/details';
const InForTable = (props) => {
const { dispatch, user, depData, depMessage, depLoading } = props
const [rowSelected, setRowSelected] = useState([])
const [counts, setCounts] = useState()//shuju
const [modalVisible, setModalVisible] = useState(false);
const [modalRecord, setModalRecord] = useState();
const [typecard, setTypecard] = useState();
const [recortd, setRecortd] = useState()
const [monitor, setMonitor] = useState()
const [delet, setDelet] = useState()
const [nameOfInspectionPoint, setNameOfInspectionPoint] = useState()//检测点名称
const [licensePlate, setLicensePlate] = useState()//车牌号
const [numberOfAxles, setNumberOfAxles] = useState()//车轴数
const [overrunRateUpper, setOverrunRateUpper] = useState()//超限率上限
const [overrunRateFloor, setOverrunRateFloor] = useState()//超限率下限
const [testTime, setTestTime] = useState()//超限率下限
const ref = useRef()
useEffect(() => { ref.current.reload() }, [monitor,delet,modalVisible])
//打开弹窗
const openModal = (type, record) => {
setModalVisible(true);
@ -45,31 +54,52 @@ const InForTable = (props) => {
const columns =
[
{
title: '检测点名称',
title: '区/县',
dataIndex: 'placeName',
fixed: 'left',
width: 120,
options: 1,
search: false,
backgroundColor: "#ffffff",
fieldProps: {
onChange: (value, cs) => {
setSitename(value.currentTarget.value)
},
placeholder: '请输入检测点名称进行搜索',
getPopupContainer: (triggerNode) => triggerNode.parentNode,
},
render: (dom, record) => {
return record.districtcounty
},
},
{
title: '车牌号',
title: '检测点名称',
// search: false,
dataIndex: 'containers1',
fixed: 'left',
width: 120,
render: (dom, record) => {
return record.address
return record.nameOfInspectionPoint
},
fieldProps: {
onChange: (value, cs) => {
setNameOfInspectionPoint(value.currentTarget.value)
},
placeholder: '请输入车牌号进行搜索',
getPopupContainer: (triggerNode) => triggerNode.parentNode,
}
},{
title: '车牌号码',
// search: false,
dataIndex: 'containers444',
fixed: 'left',
width: 120,
render: (dom, record) => {
return record.licensePlate
},
fieldProps: {
onChange: (value, cs) => {
setLicensePlate(value.currentTarget.value)
},
placeholder: '请输入车牌号进行搜索',
getPopupContainer: (triggerNode) => triggerNode.parentNode,
}
@ -80,9 +110,12 @@ const InForTable = (props) => {
dataIndex: 'containers2',
width: 120,
render: (dom, record) => {
return record.address
return record.numberOfAxles
},
fieldProps: {
onChange: (value, cs) => {
setNumberOfAxles(value.currentTarget.value)
},
placeholder: '请输入车轴数进行搜索',
getPopupContainer: (triggerNode) => triggerNode.parentNode,
}
@ -95,20 +128,28 @@ const InForTable = (props) => {
//
width: 120,
render: (dom, record) => {
return record.address
return record.overrunRate
},
fieldProps: {
placeholder: '请输入超限率进行搜索',
getPopupContainer: (triggerNode) => triggerNode.parentNode,
},
// fieldProps: {
// placeholder: '请输入超限率进行搜索',
// getPopupContainer: (triggerNode) => triggerNode.parentNode,
// },
renderFormItem: (item, { type, defaultRender, formItemProps, fieldProps, ...rest }, form) => {
return <Input.Group >
<Row gutter={8}>
<Col span={8}>
<Input placeholder='输入超限率'/>
<Input
onChange={(value)=>{
setOverrunRateUpper(value.currentTarget.value)
}}
placeholder='输入超限率上限'/>
</Col>
<Col span={8}>
<Input placeholder='输入超限率'/>
<Input
onChange={(value)=>{
setOverrunRateFloor(value.currentTarget.value)
}}
placeholder='输入超限率下限'/>
</Col>
</Row>
</Input.Group>
@ -123,7 +164,7 @@ const InForTable = (props) => {
width: 120,
render: (dom, record) => {
return record.address
return record.overrunWeight
},
fieldProps: {
getPopupContainer: (triggerNode) => triggerNode.parentNode,
@ -137,7 +178,7 @@ const InForTable = (props) => {
width: 120,
render: (dom, record) => {
return record.address
return record.grossVehicleWeight
},
fieldProps: {
getPopupContainer: (triggerNode) => triggerNode.parentNode,
@ -151,7 +192,7 @@ const InForTable = (props) => {
width: 120,
render: (dom, record) => {
return record.address
return record.vehicleCargoWeightLimit
},
fieldProps: {
getPopupContainer: (triggerNode) => triggerNode.parentNode,
@ -164,9 +205,12 @@ const InForTable = (props) => {
valueType: 'dateTime',
width: 120,
render: (dom, record) => {
return record.address
return record.testTime
},
fieldProps: {
onChange: (value, cs) => {
setTestTime(cs)
},
getPopupContainer: (triggerNode) => triggerNode.parentNode,
}
}, {
@ -178,7 +222,7 @@ const InForTable = (props) => {
width: 120,
render: (dom, record) => {
return record.address
return record.nameOfBusinessOwner
},
fieldProps: {
getPopupContainer: (triggerNode) => triggerNode.parentNode,
@ -193,7 +237,7 @@ const InForTable = (props) => {
width: 140,
render: (dom, record) => {
return record.address
return record.businessAddress
},
fieldProps: {
getPopupContainer: (triggerNode) => triggerNode.parentNode,
@ -208,7 +252,7 @@ const InForTable = (props) => {
width: 140,
render: (dom, record) => {
return record.address
return record.notifier
},
fieldProps: {
getPopupContainer: (triggerNode) => triggerNode.parentNode,
@ -223,7 +267,7 @@ const InForTable = (props) => {
width: 140,
render: (dom, record) => {
return record.address
return record.notificationMethod
},
fieldProps: {
getPopupContainer: (triggerNode) => triggerNode.parentNode,
@ -235,10 +279,10 @@ const InForTable = (props) => {
valueType: 'dateRange',
width: 140,
width: 240,
render: (dom, record) => {
return record.address
return record.notificationResults
},
fieldProps: {
getPopupContainer: (triggerNode) => triggerNode.parentNode,
@ -253,7 +297,7 @@ const InForTable = (props) => {
width: 140,
render: (dom, record) => {
return record.address
return record.processingTime
},
fieldProps: {
getPopupContainer: (triggerNode) => triggerNode.parentNode,
@ -268,7 +312,7 @@ const InForTable = (props) => {
width: 140,
render: (dom, record) => {
return record.address
return record.deductPoints
},
fieldProps: {
getPopupContainer: (triggerNode) => triggerNode.parentNode,
@ -283,7 +327,23 @@ const InForTable = (props) => {
width: 140,
render: (dom, record) => {
return record.address
return record.fine
},
fieldProps: {
getPopupContainer: (triggerNode) => triggerNode.parentNode,
}
},
{
title: '备注',
search: false,
dataIndex: 'containers14',
valueType: 'dateRange',
width: 140,
render: (dom, record) => {
return record.remarks
},
fieldProps: {
getPopupContainer: (triggerNode) => triggerNode.parentNode,
@ -301,9 +361,18 @@ const InForTable = (props) => {
onClick={() => {
openModal('edit', record)
setTypecard('111')
setRecortd(record)
}}
>编辑</Button><Button type="link"
onClick={() => {
const query = {
overspeedId: record.id
}
dispatch(delPurchase(query)).then((res) => {
setDelet(res)
})
}}
>编辑</Button><Button type="link"></Button></div>
>删除</Button></div>
}
},
@ -342,6 +411,7 @@ const InForTable = (props) => {
<Spin spinning={false}>
<div className='protable-transpor'>
<ProTable
actionRef={ref}
scroll={{ x: 800 }}
options={false}
ref={c => { finishedProductTable = c; }}
@ -355,20 +425,26 @@ const InForTable = (props) => {
},
}}
columns={columns}
dataSource={(counts || {}).rows || []}
dataSource={counts || []}
onReset={(v) => {
setNameOfInspectionPoint('')
setLicensePlate('')
setNumberOfAxles('')
setOverrunRateUpper('')
setOverrunRateFloor('')
setTestTime('')
}}
request={async (params) => {
const query = {
startDate: day[0],
endDate: day[1],
placeType: placeType,
regionId: regionId,
placeName: sitename,
limit: params.pageSize,
offset: ((params.current ? params.current : 1) - 1) * params.pageSize
nameOfInspectionPoint:nameOfInspectionPoint,
licensePlate:licensePlate,
numberOfAxles:numberOfAxles,
overrunRateUpper:overrunRateUpper,
overrunRateFloor:overrunRateFloor,
testTime:testTime
}
setRowSelected([]);
const res = await dispatch(getReportStatistic(query));
const res = await dispatch(getPurchase(query));
setCounts(res.payload.data)
return {
...res,
@ -390,15 +466,41 @@ const InForTable = (props) => {
>
</ProTable></div>
<UserModal
{modalVisible ? <UserModal
visible={modalVisible}
onVisibleChange={setModalVisible}
modalRecord={modalRecord}
typecard={typecard}
/>
rewkeys={'zhichao'}
data={data}
recortd={recortd}
setMonitor={setMonitor}
// sitename={sitename}
setRecortd={setRecortd}
/> : ''}
</Spin >
)
}
const data={
"districtcounty": "区/县",
"nameOfInspectionPoint": "检测点名称",
"licensePlate": "车牌号码",
"numberOfAxles": "车轴数",
"overrunRate": "超限率",
"overrunWeight": "超限重量",
"grossVehicleWeight": "车货总重",
"vehicleCargoWeightLimit": "车货限重",
"testTime": "检测时间",
"nameOfBusinessOwner": "经营业户名称",
"businessAddress": "经营业户地址",
"notifier": "通知人",
"notificationMethod": "通知方式",
"notificationResults": "通知结果",
"processingTime": "处理时间",
"deductPoints": "扣分",
"fine": "罚款",
"remarks": "备注"
}
function mapStateToProps(state) {
const { auth, depMessage } = state;
const pakData = (dep) => {

1348
web/client/src/sections/fillion/components/operationalTable.js

File diff suppressed because it is too large

35
web/client/src/sections/fillion/components/patrolTable.js

@ -126,7 +126,7 @@ const DetailList = (props) => {
dataIndex: 'userName',
align: 'center',
render: (text, record) => {
return record.user.name
return record?.user?.name || ''
}
}, {
title: '上报时间',
@ -254,6 +254,7 @@ const PatrolTable = (props) => {
const [record, setRecord] = useState();
const [dateRange, setDateRange] = useState();
const [detailVisible, setDetailVisible] = useState(false)
const [activeTabKey1, setActiveTabKey1] = useState('tab1');
const { RangePicker } = DatePicker;
@ -265,6 +266,11 @@ const PatrolTable = (props) => {
useEffect(() => {
if (record) {
queryData();
}
}, [record, dateRange])
const queryData = () => {
let query = { userId: record.id, reportType: 'patrol' }
if ((dateRange && dateRange instanceof Array)) {
query.startTime = moment(dateRange[0]).startOf('day').format('YYYY-MM-DD HH:mm:ss')
@ -272,7 +278,14 @@ const PatrolTable = (props) => {
}
dispatch(getReportList(query));
}
}, [record, dateRange])
useEffect(() => {
if (activeTabKey1 && activeTabKey1 == 'tab2') {
setRecord(null);
} else if (activeTabKey1 && activeTabKey1 == 'tab1') {
setRecord(userList[0]);
}
}, [activeTabKey1])
const handelRefresh = () => {
let query = { userId: record.id, reportType: 'patrol' }
@ -301,16 +314,28 @@ const PatrolTable = (props) => {
<DetailList reportList={reportList} record={record} loading={reportListLoading} dispatch={dispatch} handleOpen={handleOpen} handelRefresh={handelRefresh} />
</Card>
</div>],
tab2: <PatrolGis userId={(record ||{}).id} dispatch={dispatch} />
tab2: <PatrolGis userId={(record || {}).id} dispatch={dispatch} reportList={reportList} />
};
const [activeTabKey1, setActiveTabKey1] = useState('tab1');
const onTab1Change = (key) => {
setActiveTabKey1(key);
};
const handleChangeRecord = (newRecord) => {
let target = null;
if (!record || newRecord.id != record.id) {
target = newRecord;
}
setRecord(target);
}
return (
<div className='card-protable'>
<Card >
<PatrolNameList onChange={(record) => setRecord(record)} record={record} userList={userList} loading={userLoading} />
<PatrolNameList
onChange={(record) => handleChangeRecord(record)}
record={record}
userList={userList}
loading={userLoading} />
</Card>
<Card
style={{ flex: 1 }}

4
web/client/src/sections/fillion/components/project/project.js

@ -121,7 +121,7 @@ const ProjectModal = (props) => {
label={newlys?.[0]?.name}
tooltip="最长为 24 位"
placeholder="请输入名称"
value={recordsay?.[0]?.value}
// value={recordsay?.[0]?.value}
rules={[{ required: true, message: "必填" }]}
/><ProFormText
name={newlys?.[1]?.type}
@ -129,7 +129,7 @@ const ProjectModal = (props) => {
label={newlys?.[1]?.name}
tooltip="最长为 24 位"
placeholder="请输入名称"
value={recordsay?.[1]?.value}
// value={recordsay?.[1]?.value}
rules={[{ required: true, message: "必填" }]}
/>
<ProFormSelect

1044
web/client/src/sections/fillion/components/publicTable.js

File diff suppressed because it is too large

172
web/client/src/sections/fillion/components/transportationTable.js

@ -4,17 +4,14 @@ import { Spin, Button, Popconfirm, Badge } from 'antd';
import ProTable from '@ant-design/pro-table';
import './protable.less'
import moment from 'moment';
import { getRoadway, getProject, putRoadway } from "../actions/infor"
import { getRoadway, getProject, delRoadway, delProject } from "../actions/infor"
import UserModal from './infor/details';
import ProjectModal from './project/project';
const TransporTationTable = (props) => {
const { dispatch, user, depData, depMessage, depLoading } = props
const [rowSelected, setRowSelected] = useState([])
// const [regionId, setRegionId] = useState()//区域id
// const [placeType, setPlaceType] = useState()//场所
// const [day, setDay] = useState([moment('2022-03-01').format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')])//日期
const [sitename, setSitename] = useState()//场所名称
const [sitename, setSitename] = useState()//桥梁名称
const [counts, setCounts] = useState()//shuju
const [modalVisible, setModalVisible] = useState(false);
const [modalVisibleyilan, setModalVisibleyilan] = useState(false);
@ -22,29 +19,10 @@ const TransporTationTable = (props) => {
const [typecard, setTypecard] = useState();
const [activeKey, setActiveKey] = useState('tab1');
const [recortd, setRecortd] = useState()
// const ref = useRef()
//请求数据
const requestRoadway = (name) => {
const query = {
level: name
}
setSitename(name)
setRowSelected([]);
dispatch(getRoadway(query)).then((res) => {
setCounts(res.payload.data)
});
}
// useEffect(()=>{ref.current.reload()},[counts])
//工程数据
const requestProject = () => {
const query = {
type: '道路'
}
setRowSelected([]);
dispatch(getProject(query)).then((res) => {
setCounts(res.payload.data)
})
}
const [whichofits, setWhichofits] = useState('xian')
const [delet, setDelet] = useState()
const ref = useRef()
useEffect(() => { ref.current.reload() }, [modalVisible, modalVisibleyilan, whichofits, delet])
//打开弹窗
const openModal = (type, record) => {
setModalVisible(true);
@ -91,9 +69,9 @@ const TransporTationTable = (props) => {
options: 1,
backgroundColor: "#ffffff",
fieldProps: {
// onChange: (value, cs) => {
// setSitename(value.currentTarget.value)
// },
onChange: (value, cs) => {
setSitename(value.currentTarget.value)
},
placeholder: '请输入道路名称进行搜索',
getPopupContainer: (triggerNode) => triggerNode.parentNode,
},
@ -1197,11 +1175,17 @@ const TransporTationTable = (props) => {
setRecortd(record)
openModal('edit', record)
setTypecard('111')
// sessionStorage.setItem('record', JSON.stringify(record))
// sessionStorage.setItem('newly', JSON.stringify(data))
}}
>编辑</Button><Button type="link"></Button></div>
>编辑</Button><Button type="link"
onClick={() => {
const query = {
roadId: record.id
}
dispatch(delRoadway(query)).then((res) => {
setDelet(res)
})
}}
>删除</Button></div>
}
},
@ -1245,9 +1229,9 @@ const TransporTationTable = (props) => {
options: 1,
backgroundColor: "#ffffff",
fieldProps: {
// onChange: (value, cs) => {
// setSitename(value.currentTarget.value)
// },
onChange: (value, cs) => {
setSitename(value.currentTarget.value)
},
placeholder: '请输入道路名称进行搜索',
getPopupContainer: (triggerNode) => triggerNode.parentNode,
},
@ -2353,7 +2337,14 @@ const TransporTationTable = (props) => {
setRecortd(record)
}}
>编辑</Button><Button type="link"></Button></div>
>编辑</Button><Button type="link" onClick={() => {
const query = {
roadId: record.id
}
dispatch(delRoadway(query)).then((res) => {
setDelet(res)
})
}}>删除</Button></div>
}
},
@ -2398,9 +2389,9 @@ const TransporTationTable = (props) => {
options: 1,
backgroundColor: "#ffffff",
fieldProps: {
// onChange: (value, cs) => {
// setSitename(value.currentTarget.value)
// },
onChange: (value, cs) => {
setSitename(value.currentTarget.value)
},
placeholder: '请输入道路名称进行搜索',
getPopupContainer: (triggerNode) => triggerNode.parentNode,
},
@ -3506,7 +3497,15 @@ const TransporTationTable = (props) => {
setRecortd(record)
}}
>编辑</Button><Button type="link"></Button></div>
>编辑</Button><Button type="link" onClick={() => {
const query = {
roadId: record.id
}
dispatch(delRoadway(query)).then((res) => {
setDelet(res)
})
}}
>删除</Button></div>
}
},
@ -3551,9 +3550,9 @@ const TransporTationTable = (props) => {
options: 1,
backgroundColor: "#ffffff",
fieldProps: {
// onChange: (value, cs) => {
// setSitename(value.currentTarget.value)
// },
onChange: (value, cs) => {
setSitename(value.currentTarget.value)
},
placeholder: '请输入项目名称进行搜索',
getPopupContainer: (triggerNode) => triggerNode.parentNode,
},
@ -3689,7 +3688,16 @@ const TransporTationTable = (props) => {
setTypecard('111')
setRecortd(record)
}}
>编辑</Button><Button type="link"></Button></div>
>编辑</Button><Button type="link"
onClick={() => {
const query = {
projectId: record.id
}
dispatch(delProject(query)).then((res) => {
setDelet(res)
})
}}
>删除</Button></div>
}
},
@ -3729,7 +3737,7 @@ const TransporTationTable = (props) => {
<Spin spinning={false}>
<div className='protable-transpor'>
<ProTable
// actionRef={ref}
actionRef={ref}
toolbar={{
multipleLine: true,
menu: {
@ -3738,18 +3746,26 @@ const TransporTationTable = (props) => {
items: [
{
key: 'tab1',
label: <span onClick={() => requestRoadway('县')}>县道{activeKey === 'tab1'}</span>,
label: <span onClick={() => {
setWhichofits('xian')
}}>县道{activeKey === 'tab1'}</span>,
},
{
key: 'tab2',
label: <span onClick={() => requestRoadway('乡')}>乡道{activeKey === 'tab2'}</span>,
label: <span onClick={() => {
setWhichofits('xiang')
}}>乡道{activeKey === 'tab2'}</span>,
},
{
key: 'tab3',
label: <span onClick={() => requestRoadway('村')}>村道{activeKey === 'tab3'}</span>,
label: <span onClick={() => {
setWhichofits('cun')
}}>村道{activeKey === 'tab3'}</span>,
}, {
key: 'tab4',
label: <span onClick={() => requestProject()}>工程一览{activeKey === 'tab4'}</span>,
label: <span onClick={() => {
setWhichofits('gongcheng')
}}>工程一览{activeKey === 'tab4'}</span>,
},
],
},
@ -3760,12 +3776,7 @@ const TransporTationTable = (props) => {
style={{ width: "100% ", overflow: "auto", height: '760px' }}
rowKey='id'
onReset={(v) => {
const { id } = depMessage[0]
// console.log(id)
// setRegionId(id)
// setPlaceType(-1)
// setDay([moment('2022-03-01').format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')])
// setSitename('')
setSitename('')
}}
rowSelection={{
selectedRowKeys: rowSelected,
@ -3774,14 +3785,13 @@ const TransporTationTable = (props) => {
},
}}
columns={columns[activeKey]}
dataSource={counts || []}
request={async (params) => {
if (whichofits == 'xian') {
const query = {
level: '县'
level: '县',
road: sitename
}
setSitename('县')
setRowSelected([]);
const res = await dispatch(getRoadway(query));
// console.log(res)
@ -3791,6 +3801,44 @@ const TransporTationTable = (props) => {
...res,
total: res.payload.data ? res.payload.data.count : 0
}
} if (whichofits == 'xiang') {
const query = {
level: '乡',
road: sitename
}
setRowSelected([]);
const res = await dispatch(getRoadway(query));
setCounts(res.payload.data)
return {
...res,
total: res.payload.data ? res.payload.data.count : 0
}
} if (whichofits == 'cun') {
const query = {
level: '村',
road: sitename
}
setRowSelected([]);
const res = await dispatch(getRoadway(query));
setCounts(res.payload.data)
return {
...res,
total: res.payload.data ? res.payload.data.count : 0
}
}
if (whichofits == 'gongcheng') {
const query = {
type: 'road',
// type:sitename
}
setRowSelected([]);
const res = await dispatch(getProject(query));
setCounts(res.payload.data)
return {
...res,
total: res.payload.data ? res.payload.data.count : 0
}
}
}}
search={{
defaultCollapsed: false,

4
web/client/src/sections/fillion/nav-item.js

@ -20,9 +20,9 @@ export function getNavItem(user, dispatch) {
<Menu.Item key="fillionoperational">
<Link to="/fillion/operational">运政管理</Link>
</Menu.Item>
<Menu.Item key="fillionenforce">
{/* <Menu.Item key="fillionenforce">
<Link to="/fillion/enforce">执法管理</Link>
</Menu.Item>
</Menu.Item> */}
<Menu.Item key="fillionmaintenance">
<Link to="/fillion/maintenance">养护管理</Link>
</Menu.Item>

53
web/client/src/sections/quanju/containers/example.js

@ -6,12 +6,14 @@ import '../style.less';
import Header from './heand';
import Footer from './footer';
import ProTable, { TableDropdown } from '@ant-design/pro-table';
import Gis from './footer/gis/gis';
const MAPID = 'screenGis'
const Example = (props) => {
const { dispatch, actions, user, loading } = props
const [tabKey, setTabKey] = useState('leadership')
const [mapObj, setMapObj] = useState();
// useEffect(() => {
// dispatch(actions.example.getMembers(user.orgId))
@ -24,53 +26,6 @@ const Example = (props) => {
}
// useEffect(() => {
// const map = new AMap.Map(MAPID, {
// //resizeEnable: true,
// center: [115.912663, 28.543149],//地图中心点,初始定位加载显示楼块
// // center: [115.857952, 28.683003],//地图中心点
// zoom: 13,//地图显示的缩放级别
// zooms: [8, 18],
// pitch: 65, // 地图俯仰角度,有效范围 0 度- 83 度
// viewMode: '3D', // 地图模式
// // rotation: 60
// // showLabel: false
// });
// let styleName = 'amap://styles/fb26776387242721c2fc32e2cb1daccc';
// map.setMapStyle(styleName);
// let mapComplete = false;
// let windowOnload = false;
// window.onload = function () {
// windowOnload = true;
// }
// //主题样式
// //主题样式
// return () => {
// const amapKeys = Object.keys(localStorage).filter(key => key.match(/^_AMap_/)) // 销毁地图
// amapKeys.forEach(key => {
// localStorage.removeItem(key)
// })
// map.clearMap();
// if (map) map.destroy();
// clearTimeout(timer)
// }
// }, [])
return (
<Spin tip="biubiubiu~" spinning={loading}>
@ -80,11 +35,11 @@ const Example = (props) => {
document.body.clientHeight / 1080
)})`, */
}}>
{/* <div id={MAPID} style={{ position: 'absolute', width: "100%", height: "100%" }}></div> */}
<Gis />
<div style={{ width: "100%", height: "10%" }}>
<Header tabChange={tabChange} tabKey={tabKey} dispatch={dispatch} />
</div>
<div style={{ width: "100%", height: "90%" }}>
<div style={{position: 'absolute', width: "100%", height: "90%" }}>
<Footer tabKey={tabKey} dispatch={dispatch} />
</div>

2
web/client/src/sections/quanju/containers/footer/build/Rightbottom.js

@ -54,7 +54,7 @@ function Rightbottom(props) {
textStyle: {
color: '#fff',
},
formatter: (values) => `${values.seriesName}<br /> ${values.marker} ${values.name}<b>${values.value}</b>公里`,
formatter: (values) => `${values.seriesName}<br /> ${values.marker} ${values.name}<b>${values.value}</b>`,
},
legend: {
orient: "vertical",

2
web/client/src/sections/quanju/containers/footer/build/Rightcenter.js

@ -83,7 +83,7 @@ const RNAKS = [FIRST, SECOND, THIRD]
<div className='build-right-center'>
<div className='build-right-center-top'>
<img src="/assets/images/quanju/gonglugongcheng.png"></img>
<div>在建公路工程数量</div>
<div>在建公路工程数量/</div>
<h2>{sundata}</h2>
</div>
<AutoRollComponent content={renderContent()}

9
web/client/src/sections/quanju/containers/footer/build/index.js

@ -36,10 +36,10 @@ const Build = (props) => {
const requestbuildingnumber = async ()=>{
const res = await dispatch(getdaolutongji());
let alltype = Object.keys(res.payload.data?.roadType || {}).map((item)=>({name:item,value:Number(keepThreeNum(res.payload.data.roadType[item]))}))
console.log(alltype,'打他啊')
// console.log(alltype,'打他啊')
setdata(alltype.filter(item=>item.name==='县'||item.name==="乡"||item.name==='村'))
setbuildingnumber(res.payload.data)
console.log(res.payload.data,'哈哈哈')
// console.log(res.payload.data,'哈哈哈')
}
@ -118,6 +118,8 @@ const Build = (props) => {
<Module title={"各种状态公路数量统计"} style={{ width: "100%",
height:" 33%"
}} customize = {true}>
<div style={{height:"100%",position:"relative"}} >
<span style={{position:"absolute",width:"10%",color:"#FFF",backgroundColor:'rgba(216, 240, 255, 0.1)',right:"5%",textAlign:"center"}}></span>
{buildingnumber&&buildingnumber.buildedRoad!==0&&totalgongli!==0?<div className='build-left-top'>
<div className='build-left-top-item'>
<div>
@ -137,6 +139,7 @@ const Build = (props) => {
<div>{buildingnumber?.buildedRoad || 0}</div>
</div>
</div>:<NoData/>}
</div>
</Module>
<Module title={"各乡镇道路分布统计"} style={{ width: "100%",
height:" 33%",marginTop:'3%'
@ -203,7 +206,7 @@ const Build = (props) => {
{safetyData&&sunsafetyData!==0?<RightBottom width='100%'
height='100%'
text='道路总公里'
total={sunsafetyData}
total={keepThreeNum(sundata)}
data={keepThreeNum(safetyData)}/>:<NoData/>}
</Module>
</div>

4
web/client/src/sections/quanju/containers/footer/build/style.less

@ -178,7 +178,7 @@
align-items: center;
justify-content: center;
position: absolute;
left: 16%;
left: 15%;
top:38%;
h2{
font-size: 1.25rem;
@ -278,7 +278,7 @@
justify-content: center;
position: absolute;
align-items: center;
left: 19%;
left: 15%;
top:38%;
h2{
font-size: 1.25rem;

189
web/client/src/sections/quanju/containers/footer/gis/bounds.js

@ -0,0 +1,189 @@
import React, { Component } from 'react'
import PropTypes from 'prop-types'
import { geoJson } from './mock_data';
export default class Bounds extends Component {
constructor(props) {
super(props);
this.map = props.map;
this.pl = {};
this.textMarker = {};
}
static propTypes = {
prop: PropTypes
}
componentDidMount() {
if (!window.BoundPl) {
this.drawBounds();
}
}
componentWillUnmount() {
if (window.local_)
window.local_.remove(this.pl);
this.textMarker = null;
window.BoundPl = null;
}
drawBounds = () => {
var map = this.map;
var loca = window.local_;
loca.ambLight = {
intensity: 0.3,
color: '#fff',
};
loca.dirLight = {
intensity: 0.6,
color: '#fff',
target: [0, 0, 0],
position: [0, -1, 1],
};
loca.pointLight = {
color: 'rgb(100,100,100)',
position: [120.24289, 30.341335, 20000],
intensity: 3,
// 距离表示从光源到光照强度为 0 的位置,0 就是光不会消失。
distance: 50000,
};
var geo = new Loca.GeoJSONSource({
data: geoJson
});
var colors = ['#04398c', '#04398c', '#0542a5'].reverse();
var height = [500];
var pl = new Loca.PolygonLayer({
// loca,
zIndex: 1,
opacity: 0.6,
// cullface: 'none',
shininess: 10,
hasSide: true,
});
pl.setSource(geo);
pl.setStyle({
topColor: function (index, feature) {
var i = index % 3;
return colors[i];
},
sideColor: function (index, feature) {
return '#023890';
},
borderColor: function () {
return '#24dcf7'
},
height: function (index, feature) {
return index == 0 ? height[0] : height[0] + index * 50;
},
altitude: 0,
});
loca.add(pl);
// 创建纯文本标记
var text = new AMap.Text({
text: '纯文本标记',
anchor: 'center', // 设置文本标记锚点
draggable: true,
cursor: 'pointer',
angle: 0,
visible: false,
offset: [60, 60],
extData: 'bounds_text',
style: {
'padding': '5px 10px',
'margin-bottom': '1rem',
'border-radius': '.25rem',
'background-color': 'rgba(0,0,0,0.5)',
// 'width': '12rem',
'border-width': 0,
'box-shadow': '0 2px 6px 0 rgba(255, 255, 255, .3)',
'text-align': 'center',
'font-size': '16px',
'color': '#fff',
},
});
// text.setMap(map);
if (!this.textMarker)
map.add(text);
this.textMarker = text;
console.log(text)
// 拾取
map.on('mousemove', (e) => {
var feat = pl.queryFeature(e.pixel.toArray());
// if (!text) {
map.add(text);
// text = this.textMarker;
// }
if (feat) {
text.show();
text.setText(feat.properties.NAME);
text.setPosition(e.lnglat);
pl.setStyle({
topColor: (index, feature) => {
if (feature === feat) {
return [19, 43, 77, 1];
}
// var v = feature.properties.health * 100;
var i = index % 3;
return colors[i];
},
sideColor: (index, feature) => {
if (feature === feat) {
return '#023890';
}
return '#023890';
},
borderColor: function () {
return '#24dcf7'
},
height: function (index, feature) {
return index == 0 ? height[0] : height[0] + index * 50;
},
});
} else {
pl.setStyle({
topColor: function (index, feature) {
var i = index % 3;
return colors[i];
},
sideColor: function (index, feature) {
return '#023890';
},
borderColor: function () {
return '#24dcf7'
},
height: function (index, feature) {
return index == 0 ? height[0] : height[0] + index * 50;
},
altitude: 0,
});
text.hide();
map.remove(text);
}
});
map.setZoom(11)
map.setCenter([115.912663,28.543149]);
map.setRotation(-68.7);
map.setPitch(42);
this.pl = pl;
window.BoundPl = pl;
}
render() {
return (
<div>
</div>
)
}
}

53
web/client/src/sections/quanju/containers/footer/gis/gis.js

@ -0,0 +1,53 @@
import React, { useEffect, useState } from 'react';
import { connect } from 'react-redux';
import Bounds from './bounds';
const MAPID = 'screenGis'
const Gis = (props) => {
const [mapObj, setMapObj] = useState();
useEffect(() => {
if (AMap) loadMap();
return () => {
if (window.local_) {
window.local_ = null
}
if (mapObj)
mapObj.clearMap();
}
}, [true])
const loadMap = () => {
const map = new AMap.Map(MAPID, {
resizeEnable: true,
center: [115.912663,28.543149],//地图中心点,初始定位加载显示楼块
zoom: 15,//地图显示的缩放级别
zooms: [10, 12],
pitch: 0, // 地图俯仰角度,有效范围 0 度- 83 度
viewMode: '3D', // 地图模式
mapStyle: 'amap://styles/fb26776387242721c2fc32e2cb1daccc',
});
let windowOnload = false;
map.on('complete', function () {
if (!window.local_) {
window.local_ = new Loca.Container({ map });
setMapObj(map);
}
});
window.onload = function () {
windowOnload = true;
}
};
return (
<div style={{ position: 'absolute', width: '100%', backgroundColor: '#101824', height: '100%', minHeight: 700 }}>
<div id={MAPID} style={{ width: '100%', height: '100%', background: "#101824", minHeight: 700 }} />
{mapObj ? <Bounds map={mapObj} /> : ''}
</div >
)
}
export default Gis

59
web/client/src/sections/quanju/containers/footer/gis/mock_data.js

File diff suppressed because one or more lines are too long

28
web/client/src/sections/quanju/containers/footer/guanli/LeftItem.js

@ -15,7 +15,7 @@ export default function LeftItem({datas}) {
textStyle: {
color: '#fff',
},
formatter: (values) => ` ${values.name}<b>${datas.processed}</b>`,
formatter: (values) => `${values.name}<b>${datas.processed}</b>`,
},
title: {
text: `${(datas.processed*100/datas.total).toFixed(2)}%`,
@ -78,6 +78,7 @@ export default function LeftItem({datas}) {
},
series: [{
type: 'bar',
showBackground: true,//这里只有显示背景才能出现背景灰色的线
data: [{
name: '已处理',
value: (datas.processed*100/datas.total).toFixed(2),
@ -97,34 +98,15 @@ export default function LeftItem({datas}) {
coordinateSystem: 'polar',
roundCap: true,
barWidth: 8,
barGap: '-100%', // 两环重叠
z: 2,
},{ // 灰色环
type: 'bar',
data: [{
value: 100,
itemStyle: {
color: '#092B7B ',
shadowColor: 'rgba(0, 0, 0, 0.2)',
shadowBlur: 5,
shadowOffsetY: 2
}
}],
coordinateSystem: 'polar',
roundCap: true,
barWidth: 8,
barGap: '-100%', // 两环重叠
z: 1
}]
},
]
}
chartInstance.setOption(option);
}, [])
return (
<div className='guanli-left-item'>
<span style={{position:"absolute",width:"10%",color:"#FFF",backgroundColor:'rgba(216, 240, 255, 0.1)',right:"5%",textAlign:"center",top:"2%"}}></span>
<div className='guanli-left-item-left'>
<span>{datas.name}</span>
<div>{datas.total} <span></span></div>

34
web/client/src/sections/quanju/containers/footer/guanli/index.js

@ -11,18 +11,42 @@ const Guanli = (props) => {
const {dispatch} = props
const [leftDatas,setleftDatas] = useState([])
const [rightDatas,setrightDatas] = useState([])
const [rightitemlist,setrightitemlist] = useState()
const requestleftDatas = async()=>{
const res = await dispatch(getjiandmanage())
res.payload.data.sort((a,b)=>{
res.payload.data?.sort((a,b)=>{
return parseInt(b.total) - parseInt(a.total)
})
setleftDatas(res.payload.data)
console.log(res.payload.data,'哈哈哈')
}
const data_string=(str)=> {
str.match('/([^.]*)$/g')
}
const requestRightDatas = async()=>{
const res = await dispatch(getjiandetail())
// let d = res.payload.data?.overSpeedList.sort((a,b)=>b.processingTime < a.processingTime ?-1:1)
var pattern = /[\u4e00-\u9fa5]*/;
let d = res.payload.data?.overSpeedList?.filter((item,index)=>{
return escape(item.processingTime).indexOf("%u")<0
})
d.map((item,index)=>{
if(parseInt(item.processingTime.match(/([^.]*)$/)[0])<10){
return item.processingTime = `${(item.processingTime.match(/^([^.]*)(.[^.]*)/)[0])}.0${parseInt(item.processingTime.match(/([^.]*)$/)[0])}`
}
// console.log(d3,'好评')
console.log(item.processingTime.match(/([^.]*)$/)[0],'kk')
})
d.sort((a, b) => b.processingTime.localeCompare(a.processingTime))
setrightDatas(res.payload.data)
// console.log(res,'嘿嘿嘿')
setrightitemlist(d)
// console.log(d,'对比的数据')
// console.log(d2,'完美')
// console.log(res.payload.data,'嘿嘿嘿')
}
useEffect(()=>{
requestleftDatas();
@ -32,7 +56,7 @@ const Guanli = (props) => {
// datalist.fill({licensePlate:"赣A44454",overrunRate:"30%",fine:"200元",processingTime:"2020年4月1日"})
const renderContent = () => {
return <div style={{height:"100%"}}>
{rightDatas && rightDatas.length!==0?rightDatas.overSpeedList.map(({ id, licensePlate, overrunRate,fine,processingTime }, index) => {
{rightitemlist && rightitemlist.length!==0?rightitemlist?.map(({ id, licensePlate, overrunRate,fine,processingTime }, index) => {
if(index<30){
return <div key={index} className='guanli-right-item'>
<span>{licensePlate}</span>
@ -74,9 +98,9 @@ const Guanli = (props) => {
<span>车牌号</span>
<span>超限</span>
<span>处罚</span>
<span>日期</span>
<span>处理日期</span>
</div>
{rightDatas && rightDatas.length!==0?<AutoRollComponent content={renderContent()}
{rightitemlist && rightitemlist.length!==0?<AutoRollComponent content={renderContent()}
containerStyle={{ position: "relative", height: "90%", }}
divHeight={"100%"} divId={"chart-overview-deviceList"} />:<NoData style={{height:"70%"}}/>}
</Module>

3
web/client/src/sections/quanju/containers/footer/guanli/style.less

@ -19,6 +19,7 @@
.guanli-left-item{
box-sizing: border-box;
width: 85%;
position: relative;
// height: 30%;
height: 24vh;
margin: 0 auto 3%;
@ -72,7 +73,7 @@
width: 8px;
height: 8px;
background-color: #fff;
bottom: 7.0625rem;
top:1.5%;
left: 50%;
z-index: 10;
border-radius: 4px;

18
web/client/src/sections/quanju/containers/footer/leadership/centerleft/daolu.js

@ -14,7 +14,10 @@ const Right = (props) => {
setList(res.payload.data.reportList.filter((item, index) => {
return item.projectType == "road"
}))
setNums(res.payload.data.processed)
setNums(res.payload.data.reportCount.filter((item, index) => {
return item.projectType == "road"
}))
console.log(res.payload.data);
})
}, [])
useEffect(() => {
@ -24,6 +27,7 @@ const Right = (props) => {
// const
})
}, [])
console.log("1211", nums);
const renderBody = () => {
return (
@ -59,13 +63,13 @@ const Right = (props) => {
<p style={{ width: "50%", position: "absolute", right: "0%", fontFamily: "YouSheBiaoTiHei", textAlign: "right", fontSize: "24px", color: "#F5FCFF", marginLeft: "10%" }}>{roads?.["县"].toFixed(3)}<span style={{ color: "#F5FCFF", fontSize: "16px", fontFamily: "PingFangSC-Regular, PingFang SC", marginLeft: "5%" }}>公里</span><span style={{ fontSize: "18px", color: "rgba(216,240,255,0.8)", fontFamily: "PingFangSC-Regular, PingFang SC", marginLeft: "5%" }}></span></p>
</div>
<div style={{ width: "96%", position: "relative", left: "2%", height: "50%" }}>
<div style={{ width: (roads?.["县"] / (roads?.["乡"] + roads?.["村"] + roads?.["县"])).toFixed(4) * 100 + "%" || "", height: "40%", background: "url(/assets/images/leadership/zuo.png)", backgroundSize: "100% 100%", position: "absolute", top: "50%" }}>
{/* </div>
<div style={{ width: "15%", height: "20%", background: "url(/assets/images/leadership/center.png)", backgroundSize: "100% 100%", position: "absolute", top: "67%", left: "34%" }}> */}
<div style={{ width: (roads?.["县"] / (roads?.["乡"] + roads?.["村"] + roads?.["县"])).toFixed(4) * 100 + "%" || "", height: "20%", transform: "skewX(-45deg)", backgroundColor: "#fff", float: "left", marginTop: "5.6%" }}>
</div>
<div style={{ width: ((roads?.["乡"] + roads?.["村"]) / (roads?.["乡"] + roads?.["村"] + roads?.["县"])).toFixed(4) * 100 + "%" || "", height: "20%", background: "url(/assets/images/leadership/you.png)", backgroundSize: "100% 100%", position: "absolute", right: "-1%", top: "70%" }}></div>
{/* <div style={{ width: "15%", height: "20%", backgroundColor: "#df0001", float: "left", marginTop: "5.6%" }}>
</div> */}
<div style={{ width: ((roads?.["乡"] + roads?.["村"]) / (roads?.["乡"] + roads?.["村"] + roads?.["县"])).toFixed(4) * 100 + "%" || "", height: "20%", transform: "skewX(-45deg)", backgroundColor: "#18ABFF", float: "left", marginTop: "5.6%" }}></div>
</div>
<div style={{ width: "96%", position: "relative", left: "2%" }}>
<p style={{ width: "50%", position: "absolute", color: "rgba(216,240,255,0.8)", fontSize: "18px" }}>乡村道道路<span style={{ marginLeft: "4%", fontFamily: "YouSheBiaoTiHei", fontSize: "24px", color: "#F5FCFF" }}>{(roads?.["乡"] + roads?.["村"]).toFixed(3)}</span><span style={{ marginLeft: "4%" }}></span></p>
@ -77,7 +81,7 @@ const Right = (props) => {
{/* <p>{title || []}</p> */}
<img src='/assets/images/quanju/icon.png' style={{ width: "24px", position: "absolute", left: "-1%", top: "23%" }} />
<span style={{ position: "absolute", color: "#FFFFFF", fontSize: "24px", fontFamily: "YouSheBiaoTiHei", left: "3%" }}>养护事件</span>
<p style={{ position: "absolute", color: "#D8F0FF", fontSize: "14px", right: "6%" }}><span style={{ marginLeft: "-20%" }}>道路</span><span style={{ fontSize: "18px", fontFamily: "YouSheBiaoTiHei", color: "#ffffff", marginLeft: "10%" }}>{nums || []}</span><span style={{ marginLeft: "10%" }}></span></p>
<p style={{ position: "absolute", color: "#D8F0FF", fontSize: "14px", right: "6%" }}><span style={{ marginLeft: "-20%" }}>道路</span><span style={{ fontSize: "18px", fontFamily: "YouSheBiaoTiHei", color: "#ffffff", marginLeft: "10%" }}>{nums ? nums[0]?.count : []}</span><span style={{ marginLeft: "10%" }}></span></p>
{/* <img src='/assets/images/leadership/zibiaoti.png' style={{ width: "95%", height: "34px", position: "absolute", top: "12px", left: "6%" }} /> */}
</div>
<Lun

12
web/client/src/sections/quanju/containers/footer/leadership/centerleft/handong.js

@ -9,11 +9,15 @@ const Right = (props) => {
const [beijing, setBeijing] = useState()
const [list, setList] = useState([])
const [roads, setRoads] = useState()
const [nums, setNums] = useState()
useEffect(() => {
const daolus = dispatch(getRoadmaintain()).then((res) => {
setList(res.payload.data.reportList.filter((item, index) => {
return item.projectType == "culvert"
}))
setNums(res.payload.data.reportCount.filter((item, index) => {
return item.projectType == "culvert"
}))
})
}, [])
useEffect(() => {
@ -59,16 +63,16 @@ const Right = (props) => {
<p style={{ width: "50%", position: "absolute", right: "0%", textAlign: "right", fontFamily: "YouSheBiaoTiHei", fontSize: "24px", color: "#F5FCFF", marginLeft: "10%" }}>{roads?.["县"].toFixed(0)}<span style={{ color: "#F5FCFF", fontSize: "16px", fontFamily: "PingFangSC-Regular, PingFang SC", marginLeft: "5%" }}></span><span style={{ fontSize: "18px", color: "rgba(216,240,255,0.8)", fontFamily: "PingFangSC-Regular, PingFang SC", marginLeft: "5%" }}></span></p>
</div>
<div style={{ width: "96%", position: "relative", left: "2%", height: "50%" }}>
<div style={{ width: (roads?.["县"] / (roads?.["乡"] + roads?.["村"] + roads?.["县"])).toFixed(4) * 100 + "%" || "", height: "40%", backgroundColor: "#fff", float: "left", marginTop: "4%" }}>
<div style={{ width: (roads?.["县"] / (roads?.["乡"] + roads?.["村"] + roads?.["县"])).toFixed(4) * 100 + "%" || "", height: "20%", transform: "skewX(-45deg)", backgroundColor: "#fff", float: "left", marginTop: "5.6%" }}>
</div>
{/* <div style={{ width: "15%", height: "20%", backgroundColor: "#df0001", float: "left", marginTop: "5.6%" }}>
</div> */}
<div style={{ width: ((roads?.["乡"] + roads?.["村"]) / (roads?.["乡"] + roads?.["村"] + roads?.["县"])).toFixed(4) * 100 + "%" || "", height: "20%", backgroundColor: "#18ABFF", float: "left", marginTop: "5.6%" }}></div>
<div style={{ width: ((roads?.["乡"] + roads?.["村"]) / (roads?.["乡"] + roads?.["村"] + roads?.["县"])).toFixed(4) * 100 + "%" || "", height: "20%", transform: "skewX(-45deg)", backgroundColor: "#18ABFF", float: "left", marginTop: "5.6%" }}></div>
</div>
<div style={{ width: "96%", position: "relative", left: "2%" }}>
<p style={{ width: "50%", position: "absolute", color: "rgba(216,240,255,0.8)", fontSize: "18px" }}>乡村涵洞<span style={{ marginLeft: "4%", fontFamily: "YouSheBiaoTiHei", fontSize: "24px", color: "#F5FCFF" }}>{(roads?.["乡"] + roads?.["村"]).toFixed(3)}</span><span style={{ marginLeft: "4%" }}></span></p>
<p style={{ width: "50%", position: "absolute", color: "rgba(216,240,255,0.8)", fontSize: "18px" }}>乡村涵洞<span style={{ marginLeft: "4%", fontFamily: "YouSheBiaoTiHei", fontSize: "24px", color: "#F5FCFF" }}>{(roads?.["乡"] + roads?.["村"]).toFixed(0)}</span><span style={{ marginLeft: "4%" }}></span></p>
<p style={{ position: "absolute", right: "0", color: "rgba(216,240,255,0.8)" }}>占比<span>{((roads?.["乡"] + roads?.["村"]) / (roads?.["乡"] + roads?.["村"] + roads?.["县"])).toFixed(4) * 100}</span><span>%</span></p>
</div>
</div>
@ -77,7 +81,7 @@ const Right = (props) => {
{/* <p>{title || []}</p> */}
<img src='/assets/images/quanju/icon.png' style={{ width: "24px", position: "absolute", left: "-1%", top: "23%" }} />
<span style={{ position: "absolute", color: "#FFFFFF", fontSize: "24px", fontFamily: "YouSheBiaoTiHei", left: "3%" }}>养护事件</span>
<p style={{ position: "absolute", color: "#D8F0FF", fontSize: "14px", right: "6%" }}><span style={{ marginLeft: "-20%" }}>道路</span><span style={{ fontSize: "18px", fontFamily: "YouSheBiaoTiHei", color: "#ffffff", marginLeft: "10%" }}>187</span><span style={{ marginLeft: "10%" }}></span></p>
<p style={{ position: "absolute", color: "#D8F0FF", fontSize: "14px", right: "6%" }}><span style={{ marginLeft: "-20%" }}>涵洞</span><span style={{ fontSize: "18px", fontFamily: "YouSheBiaoTiHei", color: "#ffffff", marginLeft: "10%" }}>{nums ? nums[0]?.count : []}</span><span style={{ marginLeft: "10%" }}></span></p>
{/* <img src='/assets/images/leadership/zibiaoti.png' style={{ width: "95%", height: "34px", position: "absolute", top: "12px", left: "6%" }} /> */}
</div>
<Lun

6
web/client/src/sections/quanju/containers/footer/leadership/centerleft/lunbo/bottomlunbo.js

@ -31,9 +31,9 @@ const Bottomlunbo = (props) => {
业户信息:
</div>
<div style={{ width: "40%", height: "60%", float: "left" }}>
<div style={{ width: "100%", height: "100%", position: "relative" }}>
<img src='/assets/images/leadership/di.png' style={{ width: "60%", marginLeft: "20%", marginTop: "15%" }} />
<p style={{ fontSize: "16px", color: "#FFFFFF", fontFamily: "PingFangSC-Medium, PingFang SC", position: "absolute", top: "90%", left: "33%" }}>出租车</p>
<div style={{ width: "100%", height: "90%", position: "relative", top: "60%" }}>
<img src='/assets/images/leadership/di.png' style={{ width: "60%", height: "100%", marginLeft: "20%" }} />
<p style={{ fontSize: "16px", color: "#FFFFFF", fontFamily: "PingFangSC-Medium, PingFang SC", position: "absolute", top: "10%", left: "33%" }}>出租车</p>
</div>
</div>
<Lunbotop

5
web/client/src/sections/quanju/containers/footer/leadership/centerleft/lunbo/style.less

@ -4,3 +4,8 @@
}
.hidden-scroll-bar-y::-webkit-scrollbar { width: 0 !important }
.huoyun{
overflow: hiddden;
text-overflow: ellipsis;
white-space: nowrap
}

7
web/client/src/sections/quanju/containers/footer/leadership/centerleft/lunbo/toplunbo.js

@ -1,6 +1,7 @@
import React, { useState, useEffect } from 'react'
import Lunbotop from "../../right/lunbo"
import { getyunzheng } from "../../../../../actions/example"
import "./style.less"
const Toplunbo = (props) => {
@ -30,9 +31,9 @@ const Toplunbo = (props) => {
height: "50%",
}}>
<div style={{ width: "40%", height: "60%", float: "left" }}>
<div style={{ width: "100%", height: "100%", position: "relative", top: "-30%" }}>
<img src='/assets/images/leadership/di.png' style={{ width: "60%", marginLeft: "20%" }} />
<p style={{ fontSize: "16px", color: "#FFFFFF", fontFamily: "PingFangSC-Medium, PingFang SC", position: "absolute", top: "20%", left: "33%" }}>危险货运</p>
<div style={{ width: "100%", height: "110%", position: "relative", top: "-30%" }}>
<img src='/assets/images/leadership/di.png' style={{ width: "60%", height: "100%", marginLeft: "20%" }} />
<p className='huoyun' style={{ fontSize: "16px", color: "#FFFFFF", fontFamily: "PingFangSC-Medium, PingFang SC", position: "absolute", top: "10%", left: "33%" }}>危险货运</p>
</div>
</div>
<Lunbotop

14
web/client/src/sections/quanju/containers/footer/leadership/centerleft/qiqoliang.js

@ -8,11 +8,15 @@ const Right = (props) => {
const [beijing, setBeijing] = useState()
const [list, setList] = useState([])
const [roads, setRoads] = useState()
const [nums, setNums] = useState()
useEffect(() => {
const daolus = dispatch(getRoadmaintain()).then((res) => {
setList(res.payload.data.reportList.filter((item, index) => {
return item.projectType == "bridge"
}))
setNums(res.payload.data.reportCount.filter((item, index) => {
return item.projectType == "bridge"
}))
})
}, [])
useEffect(() => {
@ -55,16 +59,16 @@ const Right = (props) => {
<div style={{ width: "100%", height: "43%", position: "relative", left: "1%" }}>
<div style={{ width: "96%", position: "relative", left: "2%" }}>
<p style={{ position: "absolute", color: "rgba(216,240,255,0.8)" }}>占比<span style={{ fontFamily: " PingFangSC-Regular, PingFang SC" }}>{(roads?.["大桥"] / (roads?.["小桥"] + roads?.["中桥"] + roads?.["大桥"])).toFixed(4) * 100}</span>%</p>
<p style={{ width: "25%", position: "absolute", right: "1%", fontFamily: "YouSheBiaoTiHei", fontSize: "24px", color: "#F5FCFF", marginLeft: "10%" }}>{roads?.["大桥"]}<span style={{ color: "#F5FCFF", fontSize: "16px", fontFamily: "PingFangSC-Regular, PingFang SC", marginLeft: "5%" }}></span><span style={{ fontSize: "18px", color: "rgba(216,240,255,0.8)", fontFamily: "PingFangSC-Regular, PingFang SC", marginLeft: "5%" }}></span></p>
<p style={{ width: "25%", position: "absolute", right: "0%", fontFamily: "YouSheBiaoTiHei", fontSize: "24px", color: "#F5FCFF", marginLeft: "10%", textAlign: "right" }}>{roads?.["大桥"]}<span style={{ color: "#F5FCFF", fontSize: "16px", fontFamily: "PingFangSC-Regular, PingFang SC", marginLeft: "5%" }}></span><span style={{ fontSize: "18px", color: "rgba(216,240,255,0.8)", fontFamily: "PingFangSC-Regular, PingFang SC", marginLeft: "5%" }}></span></p>
</div>
<div style={{ width: "96%", position: "relative", left: "2%", height: "50%" }}>
<div style={{ width: (roads?.["大桥"] / (roads?.["小桥"] + roads?.["中桥"] + roads?.["大桥"])).toFixed(2) * 100 + "%" || "", height: "40%", backgroundColor: "#fff", float: "left", marginTop: "4%" }}>
<div style={{ width: (roads?.["大桥"] / (roads?.["小桥"] + roads?.["中桥"] + roads?.["大桥"])).toFixed(2) * 100 + "%" || "", height: "20%", transform: "skewX(-45deg)", backgroundColor: "#fff", float: "left", marginTop: "5.6%" }}>
</div>
<div style={{ width: (roads?.["中桥"] / (roads?.["小桥"] + roads?.["中桥"] + roads?.["大桥"])).toFixed(2) * 100 + "%" || "", height: "20%", backgroundColor: "#df0001", float: "left", marginTop: "5.6%" }}>
<div style={{ width: (roads?.["中桥"] / (roads?.["小桥"] + roads?.["中桥"] + roads?.["大桥"])).toFixed(2) * 100 + "%" || "", height: "20%", transform: "skewX(-45deg)", backgroundColor: "#df0001", float: "left", marginTop: "5.6%" }}>
</div>
<div style={{ width: (roads?.["小桥"] / (roads?.["小桥"] + roads?.["中桥"] + roads?.["大桥"])).toFixed(2) * 100 + "%" || "", height: "20%", backgroundColor: "#18ABFF", float: "left", marginTop: "5.6%" }}></div>
<div style={{ width: (roads?.["小桥"] / (roads?.["小桥"] + roads?.["中桥"] + roads?.["大桥"])).toFixed(2) * 100 + "%" || "", height: "20%", transform: "skewX(-45deg)", backgroundColor: "#18ABFF", float: "left", marginTop: "5.6%", borderRadius: "0 2% 2% 0" }}></div>
</div>
<div style={{ width: "96%", position: "relative", left: "2%" }}>
<p style={{ width: "50%", position: "absolute", color: "rgba(216,240,255,0.8)", fontSize: "18px" }}>中小桥梁<span style={{ marginLeft: "4%", fontFamily: "YouSheBiaoTiHei", fontSize: "24px", color: "#F5FCFF" }}>{roads?.["小桥"] + roads?.["中桥"]}</span><span style={{ marginLeft: "4%" }}></span></p>
@ -76,7 +80,7 @@ const Right = (props) => {
{/* <p>{title || []}</p> */}
<img src='/assets/images/quanju/icon.png' style={{ width: "24px", position: "absolute", left: "-1%", top: "23%" }} />
<span style={{ position: "absolute", color: "#FFFFFF", fontSize: "24px", fontFamily: "YouSheBiaoTiHei", left: "3%" }}>养护事件</span>
<p style={{ position: "absolute", color: "#D8F0FF", fontSize: "14px", right: "6%" }}><span style={{ marginLeft: "-20%" }}>道路</span><span style={{ fontSize: "18px", fontFamily: "YouSheBiaoTiHei", color: "#ffffff", marginLeft: "10%" }}>187</span><span style={{ marginLeft: "10%" }}></span></p>
<p style={{ position: "absolute", color: "#D8F0FF", fontSize: "14px", right: "6%" }}><span style={{ marginLeft: "-20%" }}>桥梁</span><span style={{ fontSize: "18px", fontFamily: "YouSheBiaoTiHei", color: "#ffffff", marginLeft: "10%" }}>{nums ? nums[0]?.count : []}</span><span style={{ marginLeft: "10%" }}></span></p>
{/* <img src='/assets/images/leadership/zibiaoti.png' style={{ width: "95%", height: "34px", position: "absolute", top: "12px", left: "6%" }} /> */}
</div>
<Lun

2
web/client/src/sections/quanju/containers/footer/leadership/left/echarts/lefttopecharts.js

@ -98,7 +98,7 @@ const Lefttopecharts = () => {
offsetCenter: [0, 46], // x, y,单位px
textStyle: {
color: "#fff",
fontSize: 14, //表盘上的标题文字大小
fontSize: "2vh", //表盘上的标题文字大小
fontWeight: 400,
fontFamily: "PingFangSC",
},

6
web/client/src/sections/quanju/containers/footer/leadership/left/left-top.js

@ -9,8 +9,10 @@ const Lefttop = () => {
const style = { height: "68%" }
useEffect(() => {
// return () => {
request('GET', '/search').then((success, failure) => {
console.log(success);
request('get', 'https://report.amap.com/ajax/districtRank.do?linksType=1&cityCode=360100')
// .set({ 'cookie': 'user_unique_id=a185bbc78215de5101823ec9f8455ff7; SESSION=781150e0-bd25-4431-b3ac-267bb49075fd; UM_distinctid=1823ec9ec89ce5-08fca33c64505f-76492e29-1fa400-1823ec9ec8a1447; CNZZDATA1256662931=1445129462-1658907884-https%253A%252F%252Freport.amap.com%252F%7C1658907884' })
.then((success, failure) => {
console.log(success, failure);
});
// };
}, [])

41
web/client/src/sections/quanju/containers/footer/leadership/right/hudong.js

@ -61,20 +61,41 @@ class ReactCarousel extends Component {
this.state.imgs.map((value, index) => {
return (
<li style={{ position: "relative", left: "8%", width: "100%", height: "100%" }} className={index === this.state.showIndex ? 'show' : ''}
<li style={{ position: "relative", left: "8%", width: "100%", height: "100%", top: "-5%", fontSize: "12px" }} className={index === this.state.showIndex ? 'show' : ''}
key={index}
>
<div style={{ width: "40%", height: "40%", backgroundColor: "red", position: "absolute", left: "-3%", top: "3%" }}>
<div style={{ width: "45%", height: "40%", backgroundColor: "red", position: "absolute", left: "-3%", top: "5%" }}>
<div style={{ width: "100%", height: "100%", position: "absolute", top: "80%" }}>
<div style={{ width: "100%", height: "20%", backgroundColor: "rgba(0,0,0,0.6)", overflow: "hiddden", textOverflow: "ellipsis", whiteSpace: "nowrap" }}>
<img src='/assets/images/leadership/weizhis.png' style={{ width: "6%", height: "80%", marginLeft: "3%", marginRight: "3%" }} />
{value[0]?.name}
</div>
{value[1]?.name ? <div style={{ width: "40%", height: "40%", backgroundColor: "#fff", position: "absolute", left: "45%", top: "3%" }}>
</div>
</div>
{value[1]?.name ? <div style={{ width: "45%", height: "40%", backgroundColor: "#fff", position: "absolute", left: "45%", top: "5%" }}>
<div style={{ width: "100%", height: "100%", position: "absolute", top: "80%" }}>
<div style={{ width: "100%", height: "20%", backgroundColor: "rgba(0,0,0,0.6)", overflow: "hiddden", textOverflow: "ellipsis", whiteSpace: "nowrap" }}>
<img src='/assets/images/leadership/weizhis.png' style={{ width: "6%", height: "80%", marginLeft: "3%", marginRight: "3%" }} />
{value[1]?.name}
</div>
</div>
</div> : ""}
{value[2]?.name ? <div style={{ width: "40%", height: "40%", backgroundColor: "bule", position: "absolute", left: "-3%", top: "50%" }}>
{value[2]?.name ? <div style={{ width: "45%", height: "40%", backgroundColor: "bule", position: "absolute", left: "-3%", top: "49%" }}>
<div style={{ width: "100%", height: "100%", position: "absolute", top: "80%" }}>
<div style={{ width: "100%", height: "20%", backgroundColor: "rgba(0,0,0,0.6)", overflow: "hiddden", textOverflow: "ellipsis", whiteSpace: "nowrap" }}>
<img src='/assets/images/leadership/weizhis.png' style={{ width: "6%", height: "80%", marginLeft: "3%", marginRight: "3%" }} />
{value[2]?.name}
</div>
</div>
</div> : ""}
{value[3]?.name ? <div style={{ width: "40%", height: "40%", backgroundColor: "pink", position: "absolute", left: "45%", top: "50%" }}>
{value[3]?.name ? <div style={{ width: "45%", height: "40%", backgroundColor: "pink", position: "absolute", left: "45%", top: "49%" }}>
<div style={{ width: "100%", height: "100%", position: "absolute", top: "80%" }}>
<div style={{ width: "100%", height: "20%", backgroundColor: "rgba(0,0,0,0.6)", overflow: "hiddden", textOverflow: "ellipsis", whiteSpace: "nowrap" }}>
<img src='/assets/images/leadership/weizhis.png' style={{ width: "6%", height: "80%", marginLeft: "3%", marginRight: "3%" }} />
{value[3]?.name}
</div>
</div>
</div> : ""}
{/* <div>{value[1].name}</div>
<div>{value[2].name}</div>
@ -97,8 +118,12 @@ class ReactCarousel extends Component {
</ul> */}
<div className="control" style={{ width: "100%", height: "10%" }}>
<span className="left" onClick={(e) => { this.previous(e) }}></span>
<span className="right" onClick={(e) => { this.next(e) }}></span>
<span style={{ position: "absolute", top: "86%", width: "3%", height: "8%" }} className="left" onClick={(e) => { this.previous(e) }}>
<img src='/assets/images/leadership/zuofanye.png' style={{ width: "100%", height: "100%" }} />
</span>
<span style={{ position: "absolute", top: "86%", width: "3%", height: "8%", right: "6%" }} className="right" onClick={(e) => { this.next(e) }}>
<img src='/assets/images/leadership/youofanye.png' style={{ width: "100%", height: "100%" }} />
</span>
</div>
</div>
</div>
@ -119,7 +144,7 @@ class ReactCarousel extends Component {
let { timer } = this.state;
timer = setInterval(() => {
this.next();
}, 300000);
}, 2000);
this.setState({
timer
})

8
web/client/src/sections/quanju/containers/footer/leadership/right/right-bottom.js

@ -27,10 +27,10 @@ const Rightbottom = (props) => {
// console.log(beijing);
}}>
{beijing == index ? <img src='/assets/images/leadership/bei.png' style={{ width: "100%", height: "100%", position: "absolute" }} /> : ""}
<div style={{ width: "30%", height: "100%", textAlign: "center", lineHeight: "3vh", fontSize: "14px", color: beijing == item.name ? "#FFFFFF" : "rgba(216,240,255,0.8000)", position: "absolute" }}>{item.licensePlate}</div>
<div style={{ width: "10%", height: "100%", textAlign: "center", lineHeight: "3vh", fontSize: "14px", color: beijing == item.name ? "#FFFFFF" : "rgba(216,240,255,0.8000)", position: "absolute", left: "30%" }}>{item.overrunRate ? item.overrunRate : "--"}</div>
<div style={{ width: "30%", height: "100%", textAlign: "center", lineHeight: "3vh", fontSize: "14px", color: beijing == item.name ? "#FFFFFF" : "rgba(216,240,255,0.8000)", position: "absolute", left: "40%" }}>{item.deductPoints ? "-" + item.deductPoints + "分" : ""}{item.deductPoints && item.fine ? "和" : ""}{item.fine ? "-" + item.fine + "元" : ""}{item.deductPoints || item.fine ? "" : "--"}</div>
<div style={{ width: "30%", height: "100%", textAlign: "center", lineHeight: "3vh", fontSize: "14px", color: beijing == item.name ? "#FFFFFF" : "rgba(216,240,255,0.8000)", position: "absolute", left: "70%" }}>{item.processingTime ? item.processingTime : "--"}</div>
<div style={{ width: "30%", height: "100%", textAlign: "center", lineHeight: "3vh", fontSize: "14px", color: beijing == index ? "#FFFFFF" : "rgba(216,240,255,0.8000)", position: "absolute" }}>{item.licensePlate}</div>
<div style={{ width: "10%", height: "100%", textAlign: "center", lineHeight: "3vh", fontSize: "14px", color: beijing == index ? "#FFFFFF" : "rgba(216,240,255,0.8000)", position: "absolute", left: "30%" }}>{item.overrunRate ? item.overrunRate : "--"}</div>
<div style={{ width: "30%", height: "100%", textAlign: "center", lineHeight: "3vh", fontSize: "14px", color: beijing == index ? "#FFFFFF" : "rgba(216,240,255,0.8000)", position: "absolute", left: "40%" }}>{item.deductPoints ? "-" + item.deductPoints + "分" : ""}{item.deductPoints && item.fine ? "和" : ""}{item.fine ? "-" + item.fine + "元" : ""}{item.deductPoints || item.fine ? "" : "--"}</div>
<div style={{ width: "30%", height: "100%", textAlign: "center", lineHeight: "3vh", fontSize: "14px", color: beijing == index ? "#FFFFFF" : "rgba(216,240,255,0.8000)", position: "absolute", left: "70%" }}>{item.processingTime ? item.processingTime : "--"}</div>
</li>
})

5
web/client/src/sections/quanju/containers/footer/leadership/right/right-top.js

@ -73,9 +73,12 @@ const Righttop = () => {
return (
<>
<Module style={style} title={"路面执法监控"}>
<div style={{ width: "100%", height: "65%" }}>
<div style={{ width: "100%", height: "65%", position: "relative" }}>
<p style={{ position: "absolute", left: "30%", top: "2%", fontSize: "14px", color: "#FFFFFF" }}>监控总数</p><p style={{ position: "absolute", left: "42%", fontSize: "24px", marginLeft: "1%", top: "-0.5%", color: "#FFFFFF", fontFamily: "YouSheBiaoTiHei" }}>129</p>
<p style={{ position: "absolute", left: "60%", top: "2%", fontSize: "14px", color: "#FFFFFF" }}>在线率</p><p style={{ position: "absolute", left: "68%", fontSize: "24px", marginLeft: "2%", top: "-0.5%", color: "#FFFFFF", fontFamily: "YouSheBiaoTiHei" }}>88.87%</p>
<div style={{ width: "100%", height: "10%", position: "relative" }}>
<img src='/assets/images/leadership/head.png' style={{ width: "15%", marginLeft: "5%" }} />
<div className='wy-rightTop' style={{ position: "absolute", right: "5%", top: "130%" }}>
<Select
size={size}

38
web/client/src/utils/webapi.js

@ -45,23 +45,24 @@ export const ApiTable = {
//运政管理
getOperaTional: 'vehicle',
getSpecificVehicle: 'vehicle/specific',
getHouseholds: 'vehicle/business',
getOperaTional: 'vehicle',putOperaTional: 'vehicle',
getSpecificVehicle: 'vehicle/specific',putSpecificVehicle: 'vehicle/specific',delSpecificVehicle: 'vehicle/{vehicleId}/specific',
getHouseholds: 'vehicle/business',putHouseholds: 'vehicle/business',delHouseholds: 'vehicle/business/{businessId}',
getRoadway: 'road',
// 获取运政统计
getYunZheng: "transportation/statistic",
//桥梁管理
getBridge: 'bridge',
getBridge:'bridge',
putBridge:'bridge',
delBridge:'bridge/{bridgeId}',
//工程数据
getProject: 'project',
//桥梁管理
getBridge: 'bridge',
putBridge: 'bridge',
//工程数据
getProject: 'project',
putProject: 'project',
getProject:'project',
putProject:'project',
delProject:'project/{projectId}',
//道路数据
getRoadway: 'road',
putRoadway: 'road',
delRoadway:'road/{roadId}',
//道路统计
getBgroadstatistics: "build/road_state",
@ -79,13 +80,24 @@ export const ApiTable = {
getBusTier: '/operation/car_level',
//获取路政列表
getHighways: 'road_manage',
getHighways: 'road_manage',putHighways: 'road_manage',
//获取道路养护统计及列表
getRoadMaintenance: 'conserve/statistic',
//获取宣传数据
getpropagata: 'publicity',
//公交信息
getCircuit:'bus/line',putCircuit:'bus/line',delCircuit:'bus/line/{lineId}',
getVehicle:'bus/car',putVehicle:'bus/car',delVehicle:'bus/car/{carId}',
//治超管理
getPurchase:'overspeed',
putPurchase:'overspeed',
delPurchase:'overspeed/{overspeedId}',
};

645
web/log/development.txt

@ -20324,4 +20324,649 @@
' at processTicksAndRejections (internal/process/task_queues.js:84:21)'
}
>>>>>>> Stashed changes
<<<<<<< Updated upstream
>>>>>>> 385f017aeac33adc39a31e75faf6254a1a881d16
=======
2022-07-26 10:36:17.862 - debug: [FS-LOGGER] Init.
2022-07-26 14:17:07.892 - error: [FS-ERRHD]
{
message: 'Error: connect ETIMEDOUT 10.8.30.7:14000',
name: 'RequestError',
cause: {
errno: 'ETIMEDOUT',
code: 'ETIMEDOUT',
syscall: 'connect',
address: '10.8.30.7',
port: 14000
},
error: { '$ref': '$["cause"]' },
options: {
jar: false,
url: 'http://10.8.30.7:14000/department?token=3de82f98-253d-4ebd-a444-eff69920459b',
headers: {
host: '10.8.30.7:14000',
connection: 'keep-alive',
'sec-ch-ua': '".Not/A)Brand";v="99", "Google Chrome";v="103", "Chromium";v="103"',
'sec-ch-ua-mobile': '?0',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',
'cache-control': 'no-cache,no-store,must-revalidate,max-age=-1,private',
'x-requested-with': 'XMLHttpRequest',
token: '3de82f98-253d-4ebd-a444-eff69920459b',
'sec-ch-ua-platform': '"Windows"',
expires: '-1',
accept: '*/*',
'sec-fetch-site': 'same-origin',
'sec-fetch-mode': 'cors',
'sec-fetch-dest': 'empty',
referer: 'http://localhost:5000/fillion/operational',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9'
},
encoding: null,
followRedirect: true,
method: 'GET',
body: '[object Object]',
simple: false,
resolveWithFullResponse: true,
callback: [Function: RP$callback],
transform: undefined,
transform2xxOnly: false
},
response: undefined,
stack: 'RequestError: Error: connect ETIMEDOUT 10.8.30.7:14000\n' +
' at new RequestError (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\errors.js:14:15)\n' +
' at Request.plumbing.callback (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\plumbing.js:87:29)\n' +
' at Request.RP$callback [as _callback] (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\plumbing.js:46:31)\n' +
' at self.callback (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request\\request.js:185:22)\n' +
' at Request.emit (events.js:314:20)\n' +
' at Request.onRequestError (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request\\request.js:877:8)\n' +
' at ClientRequest.emit (events.js:314:20)\n' +
' at Socket.socketErrorListener (_http_client.js:427:9)\n' +
' at Socket.emit (events.js:314:20)\n' +
' at emitErrorNT (internal/streams/destroy.js:92:8)\n' +
' at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)\n' +
' at processTicksAndRejections (internal/process/task_queues.js:84:21)'
}
2022-07-26 14:17:08.280 - error: [FS-ERRHD]
{
message: 'Error: connect ETIMEDOUT 10.8.30.7:14000',
name: 'RequestError',
cause: {
errno: 'ETIMEDOUT',
code: 'ETIMEDOUT',
syscall: 'connect',
address: '10.8.30.7',
port: 14000
},
error: { '$ref': '$["cause"]' },
options: {
jar: false,
url: 'http://10.8.30.7:14000/vehicle?token=3de82f98-253d-4ebd-a444-eff69920459b',
headers: {
host: '10.8.30.7:14000',
connection: 'keep-alive',
'sec-ch-ua': '".Not/A)Brand";v="99", "Google Chrome";v="103", "Chromium";v="103"',
'sec-ch-ua-mobile': '?0',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',
'cache-control': 'no-cache,no-store,must-revalidate,max-age=-1,private',
'x-requested-with': 'XMLHttpRequest',
token: '3de82f98-253d-4ebd-a444-eff69920459b',
'sec-ch-ua-platform': '"Windows"',
expires: '-1',
accept: '*/*',
'sec-fetch-site': 'same-origin',
'sec-fetch-mode': 'cors',
'sec-fetch-dest': 'empty',
referer: 'http://localhost:5000/fillion/operational',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9'
},
encoding: null,
followRedirect: true,
method: 'GET',
body: '[object Object]',
simple: false,
resolveWithFullResponse: true,
callback: [Function: RP$callback],
transform: undefined,
transform2xxOnly: false
},
response: undefined,
stack: 'RequestError: Error: connect ETIMEDOUT 10.8.30.7:14000\n' +
' at new RequestError (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\errors.js:14:15)\n' +
' at Request.plumbing.callback (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\plumbing.js:87:29)\n' +
' at Request.RP$callback [as _callback] (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\plumbing.js:46:31)\n' +
' at self.callback (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request\\request.js:185:22)\n' +
' at Request.emit (events.js:314:20)\n' +
' at Request.onRequestError (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request\\request.js:877:8)\n' +
' at ClientRequest.emit (events.js:314:20)\n' +
' at Socket.socketErrorListener (_http_client.js:427:9)\n' +
' at Socket.emit (events.js:314:20)\n' +
' at emitErrorNT (internal/streams/destroy.js:92:8)\n' +
' at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)\n' +
' at processTicksAndRejections (internal/process/task_queues.js:84:21)'
}
2022-07-26 14:17:10.564 - error: [FS-ERRHD]
{
message: 'Error: connect ETIMEDOUT 10.8.30.7:14000',
name: 'RequestError',
cause: {
errno: 'ETIMEDOUT',
code: 'ETIMEDOUT',
syscall: 'connect',
address: '10.8.30.7',
port: 14000
},
error: { '$ref': '$["cause"]' },
options: {
jar: false,
url: 'http://10.8.30.7:14000/vehicle/specific?token=3de82f98-253d-4ebd-a444-eff69920459b&%E5%87%BA%E7%A7%9F%E8%BD%A6',
headers: {
host: '10.8.30.7:14000',
connection: 'keep-alive',
'sec-ch-ua': '".Not/A)Brand";v="99", "Google Chrome";v="103", "Chromium";v="103"',
'sec-ch-ua-mobile': '?0',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',
'cache-control': 'no-cache,no-store,must-revalidate,max-age=-1,private',
'x-requested-with': 'XMLHttpRequest',
token: '3de82f98-253d-4ebd-a444-eff69920459b',
'sec-ch-ua-platform': '"Windows"',
expires: '-1',
accept: '*/*',
'sec-fetch-site': 'same-origin',
'sec-fetch-mode': 'cors',
'sec-fetch-dest': 'empty',
referer: 'http://localhost:5000/fillion/operational',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9'
},
encoding: null,
followRedirect: true,
method: 'GET',
body: '[object Object]',
simple: false,
resolveWithFullResponse: true,
callback: [Function: RP$callback],
transform: undefined,
transform2xxOnly: false
},
response: undefined,
stack: 'RequestError: Error: connect ETIMEDOUT 10.8.30.7:14000\n' +
' at new RequestError (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\errors.js:14:15)\n' +
' at Request.plumbing.callback (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\plumbing.js:87:29)\n' +
' at Request.RP$callback [as _callback] (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\plumbing.js:46:31)\n' +
' at self.callback (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request\\request.js:185:22)\n' +
' at Request.emit (events.js:314:20)\n' +
' at Request.onRequestError (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request\\request.js:877:8)\n' +
' at ClientRequest.emit (events.js:314:20)\n' +
' at Socket.socketErrorListener (_http_client.js:427:9)\n' +
' at Socket.emit (events.js:314:20)\n' +
' at emitErrorNT (internal/streams/destroy.js:92:8)\n' +
' at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)\n' +
' at processTicksAndRejections (internal/process/task_queues.js:84:21)'
}
2022-07-26 14:17:12.386 - error: [FS-ERRHD]
{
message: 'Error: connect ETIMEDOUT 10.8.30.7:14000',
name: 'RequestError',
cause: {
errno: 'ETIMEDOUT',
code: 'ETIMEDOUT',
syscall: 'connect',
address: '10.8.30.7',
port: 14000
},
error: { '$ref': '$["cause"]' },
options: {
jar: false,
url: 'http://10.8.30.7:14000/bridge?token=3de82f98-253d-4ebd-a444-eff69920459b',
headers: {
host: '10.8.30.7:14000',
connection: 'keep-alive',
'sec-ch-ua': '".Not/A)Brand";v="99", "Google Chrome";v="103", "Chromium";v="103"',
'sec-ch-ua-mobile': '?0',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',
'cache-control': 'no-cache,no-store,must-revalidate,max-age=-1,private',
'x-requested-with': 'XMLHttpRequest',
token: '3de82f98-253d-4ebd-a444-eff69920459b',
'sec-ch-ua-platform': '"Windows"',
expires: '-1',
accept: '*/*',
'sec-fetch-site': 'same-origin',
'sec-fetch-mode': 'cors',
'sec-fetch-dest': 'empty',
referer: 'http://localhost:5000/fillion/bridge',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9'
},
encoding: null,
followRedirect: true,
method: 'GET',
body: '[object Object]',
simple: false,
resolveWithFullResponse: true,
callback: [Function: RP$callback],
transform: undefined,
transform2xxOnly: false
},
response: undefined,
stack: 'RequestError: Error: connect ETIMEDOUT 10.8.30.7:14000\n' +
' at new RequestError (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\errors.js:14:15)\n' +
' at Request.plumbing.callback (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\plumbing.js:87:29)\n' +
' at Request.RP$callback [as _callback] (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\plumbing.js:46:31)\n' +
' at self.callback (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request\\request.js:185:22)\n' +
' at Request.emit (events.js:314:20)\n' +
' at Request.onRequestError (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request\\request.js:877:8)\n' +
' at ClientRequest.emit (events.js:314:20)\n' +
' at Socket.socketErrorListener (_http_client.js:427:9)\n' +
' at Socket.emit (events.js:314:20)\n' +
' at emitErrorNT (internal/streams/destroy.js:92:8)\n' +
' at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)\n' +
' at processTicksAndRejections (internal/process/task_queues.js:84:21)'
}
2022-07-26 14:17:33.973 - error: [FS-ERRHD]
{
message: 'Error: connect ETIMEDOUT 10.8.30.7:14000',
name: 'RequestError',
cause: {
errno: 'ETIMEDOUT',
code: 'ETIMEDOUT',
syscall: 'connect',
address: '10.8.30.7',
port: 14000
},
error: { '$ref': '$["cause"]' },
options: {
jar: false,
url: 'http://10.8.30.7:14000/department?token=3de82f98-253d-4ebd-a444-eff69920459b',
headers: {
host: '10.8.30.7:14000',
connection: 'keep-alive',
'sec-ch-ua': '".Not/A)Brand";v="99", "Google Chrome";v="103", "Chromium";v="103"',
'sec-ch-ua-mobile': '?0',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',
'cache-control': 'no-cache,no-store,must-revalidate,max-age=-1,private',
'x-requested-with': 'XMLHttpRequest',
token: '3de82f98-253d-4ebd-a444-eff69920459b',
'sec-ch-ua-platform': '"Windows"',
expires: '-1',
accept: '*/*',
'sec-fetch-site': 'same-origin',
'sec-fetch-mode': 'cors',
'sec-fetch-dest': 'empty',
referer: 'http://localhost:5000/fillion/bridge',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9'
},
encoding: null,
followRedirect: true,
method: 'GET',
body: '[object Object]',
simple: false,
resolveWithFullResponse: true,
callback: [Function: RP$callback],
transform: undefined,
transform2xxOnly: false
},
response: undefined,
stack: 'RequestError: Error: connect ETIMEDOUT 10.8.30.7:14000\n' +
' at new RequestError (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\errors.js:14:15)\n' +
' at Request.plumbing.callback (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\plumbing.js:87:29)\n' +
' at Request.RP$callback [as _callback] (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\plumbing.js:46:31)\n' +
' at self.callback (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request\\request.js:185:22)\n' +
' at Request.emit (events.js:314:20)\n' +
' at Request.onRequestError (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request\\request.js:877:8)\n' +
' at ClientRequest.emit (events.js:314:20)\n' +
' at Socket.socketErrorListener (_http_client.js:427:9)\n' +
' at Socket.emit (events.js:314:20)\n' +
' at emitErrorNT (internal/streams/destroy.js:92:8)\n' +
' at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)\n' +
' at processTicksAndRejections (internal/process/task_queues.js:84:21)'
}
2022-07-26 14:17:34.427 - error: [FS-ERRHD]
{
message: 'Error: connect ETIMEDOUT 10.8.30.7:14000',
name: 'RequestError',
cause: {
errno: 'ETIMEDOUT',
code: 'ETIMEDOUT',
syscall: 'connect',
address: '10.8.30.7',
port: 14000
},
error: { '$ref': '$["cause"]' },
options: {
jar: false,
url: 'http://10.8.30.7:14000/bridge?token=3de82f98-253d-4ebd-a444-eff69920459b',
headers: {
host: '10.8.30.7:14000',
connection: 'keep-alive',
'sec-ch-ua': '".Not/A)Brand";v="99", "Google Chrome";v="103", "Chromium";v="103"',
'sec-ch-ua-mobile': '?0',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',
'cache-control': 'no-cache,no-store,must-revalidate,max-age=-1,private',
'x-requested-with': 'XMLHttpRequest',
token: '3de82f98-253d-4ebd-a444-eff69920459b',
'sec-ch-ua-platform': '"Windows"',
expires: '-1',
accept: '*/*',
'sec-fetch-site': 'same-origin',
'sec-fetch-mode': 'cors',
'sec-fetch-dest': 'empty',
referer: 'http://localhost:5000/fillion/bridge',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9'
},
encoding: null,
followRedirect: true,
method: 'GET',
body: '[object Object]',
simple: false,
resolveWithFullResponse: true,
callback: [Function: RP$callback],
transform: undefined,
transform2xxOnly: false
},
response: undefined,
stack: 'RequestError: Error: connect ETIMEDOUT 10.8.30.7:14000\n' +
' at new RequestError (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\errors.js:14:15)\n' +
' at Request.plumbing.callback (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\plumbing.js:87:29)\n' +
' at Request.RP$callback [as _callback] (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\plumbing.js:46:31)\n' +
' at self.callback (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request\\request.js:185:22)\n' +
' at Request.emit (events.js:314:20)\n' +
' at Request.onRequestError (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request\\request.js:877:8)\n' +
' at ClientRequest.emit (events.js:314:20)\n' +
' at Socket.socketErrorListener (_http_client.js:427:9)\n' +
' at Socket.emit (events.js:314:20)\n' +
' at emitErrorNT (internal/streams/destroy.js:92:8)\n' +
' at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)\n' +
' at processTicksAndRejections (internal/process/task_queues.js:84:21)'
}
2022-07-26 14:17:37.083 - error: [FS-ERRHD]
{
message: 'Error: connect ETIMEDOUT 10.8.30.7:14000',
name: 'RequestError',
cause: {
errno: 'ETIMEDOUT',
code: 'ETIMEDOUT',
syscall: 'connect',
address: '10.8.30.7',
port: 14000
},
error: { '$ref': '$["cause"]' },
options: {
jar: false,
url: 'http://10.8.30.7:14000/road?token=3de82f98-253d-4ebd-a444-eff69920459b&level=%E5%8E%BF',
headers: {
host: '10.8.30.7:14000',
connection: 'keep-alive',
'sec-ch-ua': '".Not/A)Brand";v="99", "Google Chrome";v="103", "Chromium";v="103"',
'sec-ch-ua-mobile': '?0',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',
'cache-control': 'no-cache,no-store,must-revalidate,max-age=-1,private',
'x-requested-with': 'XMLHttpRequest',
token: '3de82f98-253d-4ebd-a444-eff69920459b',
'sec-ch-ua-platform': '"Windows"',
expires: '-1',
accept: '*/*',
'sec-fetch-site': 'same-origin',
'sec-fetch-mode': 'cors',
'sec-fetch-dest': 'empty',
referer: 'http://localhost:5000/fillion/transportation',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9'
},
encoding: null,
followRedirect: true,
method: 'GET',
body: '[object Object]',
simple: false,
resolveWithFullResponse: true,
callback: [Function: RP$callback],
transform: undefined,
transform2xxOnly: false
},
response: undefined,
stack: 'RequestError: Error: connect ETIMEDOUT 10.8.30.7:14000\n' +
' at new RequestError (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\errors.js:14:15)\n' +
' at Request.plumbing.callback (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\plumbing.js:87:29)\n' +
' at Request.RP$callback [as _callback] (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\plumbing.js:46:31)\n' +
' at self.callback (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request\\request.js:185:22)\n' +
' at Request.emit (events.js:314:20)\n' +
' at Request.onRequestError (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request\\request.js:877:8)\n' +
' at ClientRequest.emit (events.js:314:20)\n' +
' at Socket.socketErrorListener (_http_client.js:427:9)\n' +
' at Socket.emit (events.js:314:20)\n' +
' at emitErrorNT (internal/streams/destroy.js:92:8)\n' +
' at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)\n' +
' at processTicksAndRejections (internal/process/task_queues.js:84:21)'
}
2022-07-26 14:19:12.817 - error: [FS-ERRHD]
{
message: 'Error: connect ETIMEDOUT 10.8.30.7:14000',
name: 'RequestError',
cause: {
errno: 'ETIMEDOUT',
code: 'ETIMEDOUT',
syscall: 'connect',
address: '10.8.30.7',
port: 14000
},
error: { '$ref': '$["cause"]' },
options: {
jar: false,
url: 'http://10.8.30.7:14000/department?token=3de82f98-253d-4ebd-a444-eff69920459b',
headers: {
host: '10.8.30.7:14000',
connection: 'keep-alive',
'sec-ch-ua': '".Not/A)Brand";v="99", "Google Chrome";v="103", "Chromium";v="103"',
'sec-ch-ua-mobile': '?0',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',
'cache-control': 'no-cache,no-store,must-revalidate,max-age=-1,private',
'x-requested-with': 'XMLHttpRequest',
token: '3de82f98-253d-4ebd-a444-eff69920459b',
'sec-ch-ua-platform': '"Windows"',
expires: '-1',
accept: '*/*',
'sec-fetch-site': 'same-origin',
'sec-fetch-mode': 'cors',
'sec-fetch-dest': 'empty',
referer: 'http://localhost:5000/fillion/transportation',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9'
},
encoding: null,
followRedirect: true,
method: 'GET',
body: '[object Object]',
simple: false,
resolveWithFullResponse: true,
callback: [Function: RP$callback],
transform: undefined,
transform2xxOnly: false
},
response: undefined,
stack: 'RequestError: Error: connect ETIMEDOUT 10.8.30.7:14000\n' +
' at new RequestError (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\errors.js:14:15)\n' +
' at Request.plumbing.callback (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\plumbing.js:87:29)\n' +
' at Request.RP$callback [as _callback] (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\plumbing.js:46:31)\n' +
' at self.callback (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request\\request.js:185:22)\n' +
' at Request.emit (events.js:314:20)\n' +
' at Request.onRequestError (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request\\request.js:877:8)\n' +
' at ClientRequest.emit (events.js:314:20)\n' +
' at Socket.socketErrorListener (_http_client.js:427:9)\n' +
' at Socket.emit (events.js:314:20)\n' +
' at emitErrorNT (internal/streams/destroy.js:92:8)\n' +
' at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)\n' +
' at processTicksAndRejections (internal/process/task_queues.js:84:21)'
}
2022-07-26 14:19:13.254 - error: [FS-ERRHD]
{
message: 'Error: connect ETIMEDOUT 10.8.30.7:14000',
name: 'RequestError',
cause: {
errno: 'ETIMEDOUT',
code: 'ETIMEDOUT',
syscall: 'connect',
address: '10.8.30.7',
port: 14000
},
error: { '$ref': '$["cause"]' },
options: {
jar: false,
url: 'http://10.8.30.7:14000/road?token=3de82f98-253d-4ebd-a444-eff69920459b&level=%E5%8E%BF',
headers: {
host: '10.8.30.7:14000',
connection: 'keep-alive',
'sec-ch-ua': '".Not/A)Brand";v="99", "Google Chrome";v="103", "Chromium";v="103"',
'sec-ch-ua-mobile': '?0',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',
'cache-control': 'no-cache,no-store,must-revalidate,max-age=-1,private',
'x-requested-with': 'XMLHttpRequest',
token: '3de82f98-253d-4ebd-a444-eff69920459b',
'sec-ch-ua-platform': '"Windows"',
expires: '-1',
accept: '*/*',
'sec-fetch-site': 'same-origin',
'sec-fetch-mode': 'cors',
'sec-fetch-dest': 'empty',
referer: 'http://localhost:5000/fillion/transportation',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9'
},
encoding: null,
followRedirect: true,
method: 'GET',
body: '[object Object]',
simple: false,
resolveWithFullResponse: true,
callback: [Function: RP$callback],
transform: undefined,
transform2xxOnly: false
},
response: undefined,
stack: 'RequestError: Error: connect ETIMEDOUT 10.8.30.7:14000\n' +
' at new RequestError (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\errors.js:14:15)\n' +
' at Request.plumbing.callback (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\plumbing.js:87:29)\n' +
' at Request.RP$callback [as _callback] (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\plumbing.js:46:31)\n' +
' at self.callback (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request\\request.js:185:22)\n' +
' at Request.emit (events.js:314:20)\n' +
' at Request.onRequestError (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request\\request.js:877:8)\n' +
' at ClientRequest.emit (events.js:314:20)\n' +
' at Socket.socketErrorListener (_http_client.js:427:9)\n' +
' at Socket.emit (events.js:314:20)\n' +
' at emitErrorNT (internal/streams/destroy.js:92:8)\n' +
' at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)\n' +
' at processTicksAndRejections (internal/process/task_queues.js:84:21)'
}
2022-07-26 16:47:41.611 - error: [FS-ERRHD]
{
message: 'Error: read ECONNRESET',
name: 'RequestError',
cause: { errno: 'ECONNRESET', code: 'ECONNRESET', syscall: 'read' },
error: { '$ref': '$["cause"]' },
options: {
jar: false,
url: 'http://10.8.30.7:14000/road?token=3de82f98-253d-4ebd-a444-eff69920459b&level=%E5%8E%BF',
headers: {
host: '10.8.30.7:14000',
connection: 'keep-alive',
'sec-ch-ua': '".Not/A)Brand";v="99", "Google Chrome";v="103", "Chromium";v="103"',
'sec-ch-ua-mobile': '?0',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',
'cache-control': 'no-cache,no-store,must-revalidate,max-age=-1,private',
'x-requested-with': 'XMLHttpRequest',
token: '3de82f98-253d-4ebd-a444-eff69920459b',
'sec-ch-ua-platform': '"Windows"',
expires: '-1',
accept: '*/*',
'sec-fetch-site': 'same-origin',
'sec-fetch-mode': 'cors',
'sec-fetch-dest': 'empty',
referer: 'http://localhost:5000/fillion/transportation',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9'
},
encoding: null,
followRedirect: true,
method: 'GET',
body: '[object Object]',
simple: false,
resolveWithFullResponse: true,
callback: [Function: RP$callback],
transform: undefined,
transform2xxOnly: false
},
response: undefined,
stack: 'RequestError: Error: read ECONNRESET\n' +
' at new RequestError (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\errors.js:14:15)\n' +
' at Request.plumbing.callback (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\plumbing.js:87:29)\n' +
' at Request.RP$callback [as _callback] (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\plumbing.js:46:31)\n' +
' at self.callback (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request\\request.js:185:22)\n' +
' at Request.emit (events.js:314:20)\n' +
' at Request.onRequestError (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request\\request.js:877:8)\n' +
' at ClientRequest.emit (events.js:314:20)\n' +
' at Socket.socketErrorListener (_http_client.js:427:9)\n' +
' at Socket.emit (events.js:314:20)\n' +
' at emitErrorNT (internal/streams/destroy.js:92:8)\n' +
' at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)\n' +
' at processTicksAndRejections (internal/process/task_queues.js:84:21)'
}
2022-07-26 16:47:41.616 - error: [FS-ERRHD]
{
message: 'Error: read ECONNRESET',
name: 'RequestError',
cause: { errno: 'ECONNRESET', code: 'ECONNRESET', syscall: 'read' },
error: { '$ref': '$["cause"]' },
options: {
jar: false,
url: 'http://10.8.30.7:14000/road?token=3de82f98-253d-4ebd-a444-eff69920459b',
headers: {
host: '10.8.30.7:14000',
connection: 'keep-alive',
'content-length': '83',
'sec-ch-ua': '".Not/A)Brand";v="99", "Google Chrome";v="103", "Chromium";v="103"',
'sec-ch-ua-mobile': '?0',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',
'content-type': 'application/json',
'cache-control': 'no-cache,no-store,must-revalidate,max-age=-1,private',
'x-requested-with': 'XMLHttpRequest',
token: '3de82f98-253d-4ebd-a444-eff69920459b',
'sec-ch-ua-platform': '"Windows"',
expires: '-1',
accept: '*/*',
origin: 'http://localhost:5000',
'sec-fetch-site': 'same-origin',
'sec-fetch-mode': 'cors',
'sec-fetch-dest': 'empty',
referer: 'http://localhost:5000/fillion/transportation',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9'
},
encoding: null,
followRedirect: true,
method: 'PUT',
body: '{"routeName":"1","routeCode":"1111","sectionNo":"4444","level":"县","roadId":3275}',
simple: false,
resolveWithFullResponse: true,
callback: [Function: RP$callback],
transform: undefined,
transform2xxOnly: false
},
response: undefined,
stack: 'RequestError: Error: read ECONNRESET\n' +
' at new RequestError (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\errors.js:14:15)\n' +
' at Request.plumbing.callback (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\plumbing.js:87:29)\n' +
' at Request.RP$callback [as _callback] (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request-promise-core\\lib\\plumbing.js:46:31)\n' +
' at self.callback (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request\\request.js:185:22)\n' +
' at Request.emit (events.js:314:20)\n' +
' at Request.onRequestError (C:\\Users\\Administrator\\Desktop\\项目\\sihao\\Highways4Good\\web\\node_modules\\request\\request.js:877:8)\n' +
' at ClientRequest.emit (events.js:314:20)\n' +
' at Socket.socketErrorListener (_http_client.js:427:9)\n' +
' at Socket.emit (events.js:314:20)\n' +
' at emitErrorNT (internal/streams/destroy.js:92:8)\n' +
' at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)\n' +
' at processTicksAndRejections (internal/process/task_queues.js:84:21)'
}
2022-07-27 11:00:11.991 - debug: [FS-LOGGER] Init.
>>>>>>> Stashed changes

2
web/package.json

@ -68,7 +68,7 @@
"@antv/g6": "^4.2.5",
"@fs/attachment": "^1.0.0",
"@peace/components": "0.0.35",
"@peace/utils": "^0.0.51",
"@peace/utils": "0.0.51",
"antd": "^4.19.2",
"antd-theme-generator": "^1.2.8",
"args": "^5.0.1",

Loading…
Cancel
Save