Browse Source

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

release_0.0.4
dengyinhuan 3 years ago
parent
commit
07837acebb
  1. 123
      api/app/lib/controllers/data/index.js
  2. 5
      api/app/lib/controllers/data/road.js
  3. 29
      api/app/lib/controllers/organization/department.js
  4. 5
      api/app/lib/controllers/overview/management.js
  5. 4
      api/app/lib/controllers/overview/operation.js
  6. 1884
      api/app/lib/models/bridge.js
  7. 1029
      api/app/lib/models/bus_car.js
  8. 478
      api/app/lib/models/bus_line.js
  9. 592
      api/app/lib/models/municipal_business.js
  10. 801
      api/app/lib/models/municipal_vehicle.js
  11. 383
      api/app/lib/models/overspeed.js
  12. 4
      api/app/lib/routes/data/index.js
  13. 1397
      api/log/development.log
  14. 7
      api/package.json
  15. 4
      api/utils/xlsxDownload.js
  16. 60
      api/yarn.lock
  17. BIN
      scripts/0.0.1/data/工具脚本(无需执行)/data/治超/非现场处罚总台账更新至2022.7.5(最新).xlsx
  18. 8
      weapp/src/packages/changePassword/index.jsx
  19. 8
      weapp/src/packages/patrol/index.jsx
  20. 3
      weapp/src/packages/patrolView/index.config.js
  21. 66
      weapp/src/packages/patrolView/index.jsx
  22. 33
      weapp/src/pages/home/index.jsx
  23. 10
      weapp/src/pages/home/index.scss
  24. 2
      weapp/src/pages/user/index.jsx
  25. 88
      weapp/src/static/img/home/video-bg.svg
  26. 34
      web/client/assets/color.less
  27. 75
      web/client/src/sections/quanju/containers/example.js
  28. 4
      web/client/src/sections/quanju/containers/footer/leadership/right/hudong.js
  29. 10
      web/client/src/sections/quanju/containers/footer/leadership/right/left.less

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

@ -1,27 +1,116 @@
'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 { ids } = 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',
},
]
let findOption = {
where: {}
}
if (ids) {
findOption.where.id = { $in: ids.split(',') }
}
// const exportData = await models.BusCar.destroy({
// where: {
// id: { $in: ids.split(',') }
// }
// })
const exportData = await models.BusCar.findAll(findOption)
const tableAttributes = models.BusCar.tableAttributes
let header = []
for (let k in tableAttributes) {
if (k != 'id') {
header.push({
title: tableAttributes[k].comment || '-',
key: k,
index: tableAttributes[k].index,
})
}
}
header.sort((a, b) => { return a.index - b.index })
// const fileName = `摄像头信息列表_${userId}_${moment().format('YYYYMMDDHHmmss')}` + '.csv'
// const filePath = await simpleExcelDown({ data: exportData, header, fileName: fileName })
// const fileData = fs.readFileSync(filePath);
const fileName = `摄像头信息列表_${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;
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;

5
api/app/lib/controllers/data/road.js

@ -48,9 +48,8 @@ async function get (ctx) {
if (road || sectionStart || sectionEnd) {
findOption.where['$or'] = {}
if (road) {
findOption.where['$or'].push = {
routeName: { $like: `%${road}%` }
}
findOption.where['$or'].
routeName = { $like: `%${road}%` }
}
if (sectionStart) {
findOption.where['$or'].

29
api/app/lib/controllers/organization/department.js

@ -59,14 +59,20 @@ async function editDep (ctx) {
},
})
if (!dep) {
ctx.status = 400;
ctx.body = {
"message": "上级部门不存在"
}
return
throw "上级部门不存在"
}
}
if (depId) {
const repeatNameCount = await models.Department.count({
where: {
dependence: dependence || null,
name: name,
id: { $ne: depId },
}
})
if (repeatNameCount) {
throw "部门名称重复"
}
await models.Department.update({
name: name,
dependence: dependence || null,
@ -76,6 +82,15 @@ async function editDep (ctx) {
}
})
} else {
const repeatNameCount = await models.Department.count({
where: {
dependence: dependence || null,
name: name,
}
})
if (repeatNameCount) {
throw '部门名称重复'
}
await models.Department.create({
name: name,
delete: false,
@ -86,7 +101,9 @@ async function editDep (ctx) {
} catch (error) {
ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`);
ctx.status = 400;
ctx.body = {}
ctx.body = {
message: typeof error == 'string' ? error : undefined
}
}
}

5
api/app/lib/controllers/overview/management.js

@ -10,6 +10,11 @@ async function overSpeedList (ctx) {
attributes: ['id', 'licensePlate', 'overrunRate', 'deductPoints', 'fine', 'processingTime', 'testTime'],
order: [['testTime', 'DESC']],
limit: limit || 120,
where: {
processingTime: { $ne: null },
testTime: { $ne: null },
},
order: [['testTime', 'DESC']],
})
const overSpeedProcessedCount = await models.Overspeed.count({

4
api/app/lib/controllers/overview/operation.js

@ -7,10 +7,10 @@ async function busCarLevelList (ctx) {
let data = []
const busCarRes = await models.BusCar.findAll({
attributes: ['id', 'company', 'fleet', 'vehicleLicensePlateNumber'],
attributes: ['id', 'company', 'fleet', 'vehicleLicensePlateNumber', 'line'],
})
for (let c of busCarRes) {
const { company, fleet } = c
const { company, fleet, line } = c
const corCompany = data.find(d => d.name === company)
if (!corCompany) {
data.push({

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

File diff suppressed because it is too large

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

File diff suppressed because it is too large

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

@ -2,231 +2,255 @@
'use strict';
module.exports = dc => {
const DataTypes = dc.ORM;
const sequelize = dc.orm;
const BusLine = sequelize.define("busLine", {
id: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: null,
comment: null,
primaryKey: true,
field: "id",
autoIncrement: true,
unique: "bus_line_id_uindex"
},
company: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "公司",
primaryKey: false,
field: "company",
autoIncrement: false
},
fleet: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车队",
primaryKey: false,
field: "fleet",
autoIncrement: false
},
carCaptain: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车队长",
primaryKey: false,
field: "car_captain",
autoIncrement: false
},
assistantCarCaptain: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "副车队长",
primaryKey: false,
field: "assistant_car_captain",
autoIncrement: false
},
officeLocation: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "办公地点",
primaryKey: false,
field: "office_location",
autoIncrement: false
},
lineName: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "线路名称",
primaryKey: false,
field: "line_name",
autoIncrement: false
},
lineType: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "线路类型",
primaryKey: false,
field: "line_type",
autoIncrement: false
},
lineDivision: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "线路划分",
primaryKey: false,
field: "line_division",
autoIncrement: false
},
gpsNumber: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "GPS编号",
primaryKey: false,
field: "gps_number",
autoIncrement: false
},
startingPointEndPoint: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "起点终点",
primaryKey: false,
field: "starting_point_end_point",
autoIncrement: false
},
numberOfVehicles: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆数",
primaryKey: false,
field: "number_of_vehicles",
autoIncrement: false
},
totalKilometers: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "全程公里数",
primaryKey: false,
field: "total_kilometers",
autoIncrement: false
},
ticketPrice: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "票价",
primaryKey: false,
field: "ticket_price",
autoIncrement: false
},
openingTime: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "开通时间",
primaryKey: false,
field: "opening_time",
autoIncrement: false
},
runningTime: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "运行时间",
primaryKey: false,
field: "running_time",
autoIncrement: false
},
openingTimeSummer: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "开班时间夏令",
primaryKey: false,
field: "opening_time_summer",
autoIncrement: false
},
shiftClosingTimeSummer: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "收班时间夏令",
primaryKey: false,
field: "shift_closing_time_summer",
autoIncrement: false
},
openingTimeWinter: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "开班时间冬令",
primaryKey: false,
field: "opening_time_winter",
autoIncrement: false
},
shiftClosingTimeWinter: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "收班时间冬令",
primaryKey: false,
field: "shift_closing_time_winter",
autoIncrement: false
},
uplinkOfStationsAlongTheWay: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "沿途站点上行",
primaryKey: false,
field: "uplink_of_stations_along_the_way",
autoIncrement: false
},
downlinkOfStationsAlongTheWay: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "沿途站点下行",
primaryKey: false,
field: "downlink_of_stations_along_the_way",
autoIncrement: false
},
area: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "所属区域",
primaryKey: false,
field: "area",
autoIncrement: false
},
remarks: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "备注",
primaryKey: false,
field: "remarks",
autoIncrement: false
}
}, {
tableName: "bus_line",
comment: "",
indexes: []
});
dc.models.BusLine = BusLine;
return BusLine;
const DataTypes = dc.ORM;
const sequelize = dc.orm;
const BusLine = sequelize.define("busLine", {
id: {
index: 1,
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: null,
comment: null,
primaryKey: true,
field: "id",
autoIncrement: true,
unique: "bus_line_id_uindex"
},
company: {
index: 2,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "公司",
primaryKey: false,
field: "company",
autoIncrement: false
},
fleet: {
index: 3,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车队",
primaryKey: false,
field: "fleet",
autoIncrement: false
},
carCaptain: {
index: 4,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车队长",
primaryKey: false,
field: "car_captain",
autoIncrement: false
},
assistantCarCaptain: {
index: 5,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "副车队长",
primaryKey: false,
field: "assistant_car_captain",
autoIncrement: false
},
officeLocation: {
index: 6,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "办公地点",
primaryKey: false,
field: "office_location",
autoIncrement: false
},
lineName: {
index: 7,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "线路名称",
primaryKey: false,
field: "line_name",
autoIncrement: false
},
lineType: {
index: 8,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "线路类型",
primaryKey: false,
field: "line_type",
autoIncrement: false
},
lineDivision: {
index: 9,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "线路划分",
primaryKey: false,
field: "line_division",
autoIncrement: false
},
gpsNumber: {
index: 10,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "GPS编号",
primaryKey: false,
field: "gps_number",
autoIncrement: false
},
startingPointEndPoint: {
index: 11,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "起点终点",
primaryKey: false,
field: "starting_point_end_point",
autoIncrement: false
},
numberOfVehicles: {
index: 12,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆数",
primaryKey: false,
field: "number_of_vehicles",
autoIncrement: false
},
totalKilometers: {
index: 13,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "全程公里数",
primaryKey: false,
field: "total_kilometers",
autoIncrement: false
},
ticketPrice: {
index: 14,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "票价",
primaryKey: false,
field: "ticket_price",
autoIncrement: false
},
openingTime: {
index: 15,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "开通时间",
primaryKey: false,
field: "opening_time",
autoIncrement: false
},
runningTime: {
index: 16,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "运行时间",
primaryKey: false,
field: "running_time",
autoIncrement: false
},
openingTimeSummer: {
index: 17,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "开班时间夏令",
primaryKey: false,
field: "opening_time_summer",
autoIncrement: false
},
shiftClosingTimeSummer: {
index: 18,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "收班时间夏令",
primaryKey: false,
field: "shift_closing_time_summer",
autoIncrement: false
},
openingTimeWinter: {
index: 19,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "开班时间冬令",
primaryKey: false,
field: "opening_time_winter",
autoIncrement: false
},
shiftClosingTimeWinter: {
index: 20,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "收班时间冬令",
primaryKey: false,
field: "shift_closing_time_winter",
autoIncrement: false
},
uplinkOfStationsAlongTheWay: {
index: 21,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "沿途站点上行",
primaryKey: false,
field: "uplink_of_stations_along_the_way",
autoIncrement: false
},
downlinkOfStationsAlongTheWay: {
index: 22,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "沿途站点下行",
primaryKey: false,
field: "downlink_of_stations_along_the_way",
autoIncrement: false
},
area: {
index: 23,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "所属区域",
primaryKey: false,
field: "area",
autoIncrement: false
},
remarks: {
index: 24,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "备注",
primaryKey: false,
field: "remarks",
autoIncrement: false
}
}, {
tableName: "bus_line",
comment: "",
indexes: []
});
dc.models.BusLine = BusLine;
return BusLine;
};

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

@ -2,285 +2,315 @@
'use strict';
module.exports = dc => {
const DataTypes = dc.ORM;
const sequelize = dc.orm;
const MunicipalBusiness = sequelize.define("municipalBusiness", {
id: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: null,
comment: null,
primaryKey: true,
field: "id",
autoIncrement: true,
unique: "municipal_business_id_uindex"
},
nameOfBusinessOwner: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "业户名称",
primaryKey: false,
field: "name_of_business_owner",
autoIncrement: false
},
productName: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "品名",
primaryKey: false,
field: "product_name",
autoIncrement: false
},
creditSocialCode: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "信用社会代码",
primaryKey: false,
field: "credit_social_code",
autoIncrement: false
},
administrativeDivision: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "行政区划",
primaryKey: false,
field: "administrative_division",
autoIncrement: false
},
economicNature: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经济性质",
primaryKey: false,
field: "economic_nature",
autoIncrement: false
},
address: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "地址",
primaryKey: false,
field: "address",
autoIncrement: false
},
contactNumber: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "联系电话",
primaryKey: false,
field: "contact_number",
autoIncrement: false
},
email: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "电子邮箱",
primaryKey: false,
field: "email",
autoIncrement: false
},
legalRepresentative: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "法定代表人",
primaryKey: false,
field: "legal_representative",
autoIncrement: false
},
typeOfLegalPersonCertificate: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "法人证件类型",
primaryKey: false,
field: "type_of_legal_person_certificate",
autoIncrement: false
},
natureOfTransportation: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "运输性质",
primaryKey: false,
field: "nature_of_transportation",
autoIncrement: false
},
legalPersonCertificateNumber: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "法人证件号码",
primaryKey: false,
field: "legal_person_certificate_number",
autoIncrement: false
},
telephoneNumberOfLegalRepresentative: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "法定代表人电话",
primaryKey: false,
field: "telephone_number_of_legal_representative",
autoIncrement: false
},
nameOfThePersonInChargeOfTheBusiness: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经营业户负责人姓名",
primaryKey: false,
field: "name_of_the_person_in_charge_of_the_business",
autoIncrement: false
},
telephoneNumberOfThePersonInChargeOfTheBusiness: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经营业户负责人电话号码",
primaryKey: false,
field: "telephone_number_of_the_person_in_charge_of_the_business",
autoIncrement: false
},
handledBy: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经办人",
primaryKey: false,
field: "handled_by",
autoIncrement: false
},
phoneNumberOfHandler: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经办人电话",
primaryKey: false,
field: "phone_number_of_handler",
autoIncrement: false
},
natureOfBusiness: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经营范围",
primaryKey: false,
field: "nature_of_business",
autoIncrement: false
},
businessStatus: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经营状态",
primaryKey: false,
field: "business_status",
autoIncrement: false
},
businessLicenseNo: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经营许可证号",
primaryKey: false,
field: "business_license_no",
autoIncrement: false
},
fromTheExpiryDate: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "有效期起",
primaryKey: false,
field: "from_the_expiry_date",
autoIncrement: false
},
expiryDate: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "有效期止",
primaryKey: false,
field: "expiry_date",
autoIncrement: false
},
issuingAuthority: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "发证机构",
primaryKey: false,
field: "issuing_authority",
autoIncrement: false
},
dateOfIssuance: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "核发日期",
primaryKey: false,
field: "date_of_issuance",
autoIncrement: false
},
licenseCategory: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "证照类别",
primaryKey: false,
field: "license_category",
autoIncrement: false
},
licenseIssuanceType: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "证照发放类型",
primaryKey: false,
field: "license_issuance_type",
autoIncrement: false
},
numberOfSharedVehicles: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "共有车辆数",
primaryKey: false,
field: "number_of_shared_vehicles",
autoIncrement: false
},
creationDate: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "创建日期",
primaryKey: false,
field: "creation_date",
autoIncrement: false
},
type: {
type: DataTypes.STRING,
allowNull: false,
defaultValue: null,
comment: "类型 出租车/危货",
primaryKey: false,
field: "type",
autoIncrement: false
}
}, {
tableName: "municipal_business",
comment: "",
indexes: []
});
dc.models.MunicipalBusiness = MunicipalBusiness;
return MunicipalBusiness;
const DataTypes = dc.ORM;
const sequelize = dc.orm;
const MunicipalBusiness = sequelize.define("municipalBusiness", {
id: {
index: 1,
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: null,
comment: null,
primaryKey: true,
field: "id",
autoIncrement: true,
unique: "municipal_business_id_uindex"
},
nameOfBusinessOwner: {
index: 2,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "业户名称",
primaryKey: false,
field: "name_of_business_owner",
autoIncrement: false
},
productName: {
index: 3,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "品名",
primaryKey: false,
field: "product_name",
autoIncrement: false
},
creditSocialCode: {
index: 4,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "信用社会代码",
primaryKey: false,
field: "credit_social_code",
autoIncrement: false
},
administrativeDivision: {
index: 5,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "行政区划",
primaryKey: false,
field: "administrative_division",
autoIncrement: false
},
economicNature: {
index: 6,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经济性质",
primaryKey: false,
field: "economic_nature",
autoIncrement: false
},
address: {
index: 7,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "地址",
primaryKey: false,
field: "address",
autoIncrement: false
},
contactNumber: {
index: 8,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "联系电话",
primaryKey: false,
field: "contact_number",
autoIncrement: false
},
email: {
index: 9,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "电子邮箱",
primaryKey: false,
field: "email",
autoIncrement: false
},
legalRepresentative: {
index: 10,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "法定代表人",
primaryKey: false,
field: "legal_representative",
autoIncrement: false
},
typeOfLegalPersonCertificate: {
index: 11,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "法人证件类型",
primaryKey: false,
field: "type_of_legal_person_certificate",
autoIncrement: false
},
natureOfTransportation: {
index: 12,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "运输性质",
primaryKey: false,
field: "nature_of_transportation",
autoIncrement: false
},
legalPersonCertificateNumber: {
index: 13,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "法人证件号码",
primaryKey: false,
field: "legal_person_certificate_number",
autoIncrement: false
},
telephoneNumberOfLegalRepresentative: {
index: 14,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "法定代表人电话",
primaryKey: false,
field: "telephone_number_of_legal_representative",
autoIncrement: false
},
nameOfThePersonInChargeOfTheBusiness: {
index: 15,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经营业户负责人姓名",
primaryKey: false,
field: "name_of_the_person_in_charge_of_the_business",
autoIncrement: false
},
telephoneNumberOfThePersonInChargeOfTheBusiness: {
index: 16,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经营业户负责人电话号码",
primaryKey: false,
field: "telephone_number_of_the_person_in_charge_of_the_business",
autoIncrement: false
},
handledBy: {
index: 17,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经办人",
primaryKey: false,
field: "handled_by",
autoIncrement: false
},
phoneNumberOfHandler: {
index: 18,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经办人电话",
primaryKey: false,
field: "phone_number_of_handler",
autoIncrement: false
},
natureOfBusiness: {
index: 19,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经营范围",
primaryKey: false,
field: "nature_of_business",
autoIncrement: false
},
businessStatus: {
index: 20,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经营状态",
primaryKey: false,
field: "business_status",
autoIncrement: false
},
businessLicenseNo: {
index: 21,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经营许可证号",
primaryKey: false,
field: "business_license_no",
autoIncrement: false
},
fromTheExpiryDate: {
index: 22,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "有效期起",
primaryKey: false,
field: "from_the_expiry_date",
autoIncrement: false
},
expiryDate: {
index: 23,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "有效期止",
primaryKey: false,
field: "expiry_date",
autoIncrement: false
},
issuingAuthority: {
index: 24,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "发证机构",
primaryKey: false,
field: "issuing_authority",
autoIncrement: false
},
dateOfIssuance: {
index: 25,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "核发日期",
primaryKey: false,
field: "date_of_issuance",
autoIncrement: false
},
licenseCategory: {
index: 26,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "证照类别",
primaryKey: false,
field: "license_category",
autoIncrement: false
},
licenseIssuanceType: {
index: 27,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "证照发放类型",
primaryKey: false,
field: "license_issuance_type",
autoIncrement: false
},
numberOfSharedVehicles: {
index: 28,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "共有车辆数",
primaryKey: false,
field: "number_of_shared_vehicles",
autoIncrement: false
},
creationDate: {
index: 29,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "创建日期",
primaryKey: false,
field: "creation_date",
autoIncrement: false
},
type: {
index: 30,
type: DataTypes.STRING,
allowNull: false,
defaultValue: null,
comment: "类型 出租车/危货",
primaryKey: false,
field: "type",
autoIncrement: false
}
}, {
tableName: "municipal_business",
comment: "",
indexes: []
});
dc.models.MunicipalBusiness = MunicipalBusiness;
return MunicipalBusiness;
};

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

@ -2,384 +2,425 @@
'use strict';
module.exports = dc => {
const DataTypes = dc.ORM;
const sequelize = dc.orm;
const MunicipalVehicle = sequelize.define("municipalVehicle", {
id: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: null,
comment: null,
primaryKey: true,
field: "id",
autoIncrement: true,
unique: "municipal_vehicle_id_uindex"
},
nameOfBusinessOwner: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "业户名称",
primaryKey: false,
field: "name_of_business_owner",
autoIncrement: false
},
productName: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "品名",
primaryKey: false,
field: "product_name",
autoIncrement: false
},
vehicleRegistry: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车籍地",
primaryKey: false,
field: "vehicle_registry",
autoIncrement: false
},
licensePlateNumber: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车牌号",
primaryKey: false,
field: "license_plate_number",
autoIncrement: false
},
fuelType: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "燃料类型",
primaryKey: false,
field: "fuel_type",
autoIncrement: false
},
address: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "住址",
primaryKey: false,
field: "address",
autoIncrement: false
},
economicNature: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经济性质",
primaryKey: false,
field: "economic_nature",
autoIncrement: false
},
approvedPassengerCapacity: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "核定载客位数",
primaryKey: false,
field: "approved_passenger_capacity",
autoIncrement: false
},
approvedLoadMass: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "核定载质量",
primaryKey: false,
field: "approved_load_mass",
autoIncrement: false
},
numberOfVehicleAxles: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆车轴数",
primaryKey: false,
field: "number_of_vehicle_axles",
autoIncrement: false
},
vehicleBrand: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆厂牌",
primaryKey: false,
field: "vehicle_brand",
autoIncrement: false
},
natureOfBusiness: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经营范围",
primaryKey: false,
field: "nature_of_business",
autoIncrement: false
},
vehicleOperationStatus: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆营运状态",
primaryKey: false,
field: "vehicle_operation_status",
autoIncrement: false
},
busTypeAndClass: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "客车类型与等级",
primaryKey: false,
field: "bus_type_and_class",
autoIncrement: false
},
annualReviewResults: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "年审结果",
primaryKey: false,
field: "annual_review_results",
autoIncrement: false
},
dateOfThisAnnualReview: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "本次年审日期",
primaryKey: false,
field: "date_of_this_annual_review",
autoIncrement: false
},
dateOfNextAnnualReview: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "下次年审日期",
primaryKey: false,
field: "date_of_next_annual_review",
autoIncrement: false
},
dateOfRegistration: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "注册登记日期",
primaryKey: false,
field: "date_of_registration",
autoIncrement: false
},
sourceOfTransportationCapacity: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "运力来源",
primaryKey: false,
field: "source_of_transportation_capacity",
autoIncrement: false
},
fromTheExpiryDate: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "有效期起",
primaryKey: false,
field: "from_the_expiry_date",
autoIncrement: false
},
expiryDate: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "有效期止",
primaryKey: false,
field: "expiry_date",
autoIncrement: false
},
engineDisplacement: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "发动机排量",
primaryKey: false,
field: "engine_displacement",
autoIncrement: false
},
engineNumber: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "发动机号",
primaryKey: false,
field: "engine_number",
autoIncrement: false
},
vehicleEnginePower: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆发动机功率",
primaryKey: false,
field: "vehicle_engine_power",
autoIncrement: false
},
businessLicenseNo: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经营许可证号",
primaryKey: false,
field: "business_license_no",
autoIncrement: false
},
licensePlateColor: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车牌颜色",
primaryKey: false,
field: "license_plate_color",
autoIncrement: false
},
totalVehicleMass: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆总质量",
primaryKey: false,
field: "total_vehicle_mass",
autoIncrement: false
},
totalQuasiTractionMassOfVehicle: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆准牵引总质量",
primaryKey: false,
field: "total_quasi_traction_mass_of_vehicle",
autoIncrement: false
},
roadTransportCertificateNo: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "道路运输证号",
primaryKey: false,
field: "road_transport_certificate_no",
autoIncrement: false
},
vehicleHeight: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆车高",
primaryKey: false,
field: "vehicle_height",
autoIncrement: false
},
vehicleConductor: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆车长",
primaryKey: false,
field: "vehicle_conductor",
autoIncrement: false
},
vehicleWidth: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆车宽",
primaryKey: false,
field: "vehicle_width",
autoIncrement: false
},
vehicleType: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆类型",
primaryKey: false,
field: "vehicle_type",
autoIncrement: false
},
vehicleTypeWithDrivingLicense: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "行驶证车辆类型",
primaryKey: false,
field: "vehicle_type_with_driving_license",
autoIncrement: false
},
vehicleWheelbase: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆轴距",
primaryKey: false,
field: "vehicle_wheelbase",
autoIncrement: false
},
ratingDate: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "等级评定日期",
primaryKey: false,
field: "rating_date",
autoIncrement: false
},
technicalEvaluationGrade: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "技术评定等级",
primaryKey: false,
field: "technical_evaluation_grade",
autoIncrement: false
},
nextRatingDate: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "下次等级评定日期",
primaryKey: false,
field: "next_rating_date",
autoIncrement: false
},
creationDate: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "创建日期",
primaryKey: false,
field: "creation_date",
autoIncrement: false
},
type: {
type: DataTypes.STRING,
allowNull: false,
defaultValue: null,
comment: "类型 出租车/危货",
primaryKey: false,
field: "type",
autoIncrement: false
}
}, {
tableName: "municipal_vehicle",
comment: "",
indexes: []
});
dc.models.MunicipalVehicle = MunicipalVehicle;
return MunicipalVehicle;
const DataTypes = dc.ORM;
const sequelize = dc.orm;
const MunicipalVehicle = sequelize.define("municipalVehicle", {
id: {
index: 1,
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: null,
comment: null,
primaryKey: true,
field: "id",
autoIncrement: true,
unique: "municipal_vehicle_id_uindex"
},
nameOfBusinessOwner: {
index: 2,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "业户名称",
primaryKey: false,
field: "name_of_business_owner",
autoIncrement: false
},
productName: {
index: 3,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "品名",
primaryKey: false,
field: "product_name",
autoIncrement: false
},
vehicleRegistry: {
index: 4,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车籍地",
primaryKey: false,
field: "vehicle_registry",
autoIncrement: false
},
licensePlateNumber: {
index: 5,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车牌号",
primaryKey: false,
field: "license_plate_number",
autoIncrement: false
},
fuelType: {
index: 6,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "燃料类型",
primaryKey: false,
field: "fuel_type",
autoIncrement: false
},
address: {
index: 7,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "住址",
primaryKey: false,
field: "address",
autoIncrement: false
},
economicNature: {
index: 8,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经济性质",
primaryKey: false,
field: "economic_nature",
autoIncrement: false
},
approvedPassengerCapacity: {
index: 9,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "核定载客位数",
primaryKey: false,
field: "approved_passenger_capacity",
autoIncrement: false
},
approvedLoadMass: {
index: 10,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "核定载质量",
primaryKey: false,
field: "approved_load_mass",
autoIncrement: false
},
numberOfVehicleAxles: {
index: 11,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆车轴数",
primaryKey: false,
field: "number_of_vehicle_axles",
autoIncrement: false
},
vehicleBrand: {
index: 12,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆厂牌",
primaryKey: false,
field: "vehicle_brand",
autoIncrement: false
},
natureOfBusiness: {
index: 13,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经营范围",
primaryKey: false,
field: "nature_of_business",
autoIncrement: false
},
vehicleOperationStatus: {
index: 14,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆营运状态",
primaryKey: false,
field: "vehicle_operation_status",
autoIncrement: false
},
busTypeAndClass: {
index: 15,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "客车类型与等级",
primaryKey: false,
field: "bus_type_and_class",
autoIncrement: false
},
annualReviewResults: {
index: 16,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "年审结果",
primaryKey: false,
field: "annual_review_results",
autoIncrement: false
},
dateOfThisAnnualReview: {
index: 17,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "本次年审日期",
primaryKey: false,
field: "date_of_this_annual_review",
autoIncrement: false
},
dateOfNextAnnualReview: {
index: 18,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "下次年审日期",
primaryKey: false,
field: "date_of_next_annual_review",
autoIncrement: false
},
dateOfRegistration: {
index: 19,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "注册登记日期",
primaryKey: false,
field: "date_of_registration",
autoIncrement: false
},
sourceOfTransportationCapacity: {
index: 20,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "运力来源",
primaryKey: false,
field: "source_of_transportation_capacity",
autoIncrement: false
},
fromTheExpiryDate: {
index: 21,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "有效期起",
primaryKey: false,
field: "from_the_expiry_date",
autoIncrement: false
},
expiryDate: {
index: 22,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "有效期止",
primaryKey: false,
field: "expiry_date",
autoIncrement: false
},
engineDisplacement: {
index: 23,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "发动机排量",
primaryKey: false,
field: "engine_displacement",
autoIncrement: false
},
engineNumber: {
index: 24,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "发动机号",
primaryKey: false,
field: "engine_number",
autoIncrement: false
},
vehicleEnginePower: {
index: 25,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆发动机功率",
primaryKey: false,
field: "vehicle_engine_power",
autoIncrement: false
},
businessLicenseNo: {
index: 26,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经营许可证号",
primaryKey: false,
field: "business_license_no",
autoIncrement: false
},
licensePlateColor: {
index: 27,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车牌颜色",
primaryKey: false,
field: "license_plate_color",
autoIncrement: false
},
totalVehicleMass: {
index: 28,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆总质量",
primaryKey: false,
field: "total_vehicle_mass",
autoIncrement: false
},
totalQuasiTractionMassOfVehicle: {
index: 29,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆准牵引总质量",
primaryKey: false,
field: "total_quasi_traction_mass_of_vehicle",
autoIncrement: false
},
roadTransportCertificateNo: {
index: 30,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "道路运输证号",
primaryKey: false,
field: "road_transport_certificate_no",
autoIncrement: false
},
vehicleHeight: {
index: 31,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆车高",
primaryKey: false,
field: "vehicle_height",
autoIncrement: false
},
vehicleConductor: {
index: 32,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆车长",
primaryKey: false,
field: "vehicle_conductor",
autoIncrement: false
},
vehicleWidth: {
index: 33,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆车宽",
primaryKey: false,
field: "vehicle_width",
autoIncrement: false
},
vehicleType: {
index: 34,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆类型",
primaryKey: false,
field: "vehicle_type",
autoIncrement: false
},
vehicleTypeWithDrivingLicense: {
index: 35,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "行驶证车辆类型",
primaryKey: false,
field: "vehicle_type_with_driving_license",
autoIncrement: false
},
vehicleWheelbase: {
index: 36,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆轴距",
primaryKey: false,
field: "vehicle_wheelbase",
autoIncrement: false
},
ratingDate: {
index: 37,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "等级评定日期",
primaryKey: false,
field: "rating_date",
autoIncrement: false
},
technicalEvaluationGrade: {
index: 38,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "技术评定等级",
primaryKey: false,
field: "technical_evaluation_grade",
autoIncrement: false
},
nextRatingDate: {
index: 39,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "下次等级评定日期",
primaryKey: false,
field: "next_rating_date",
autoIncrement: false
},
creationDate: {
index: 40,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "创建日期",
primaryKey: false,
field: "creation_date",
autoIncrement: false
},
type: {
index: 41,
type: DataTypes.STRING,
allowNull: false,
defaultValue: null,
comment: "类型 出租车/危货",
primaryKey: false,
field: "type",
autoIncrement: false
}
}, {
tableName: "municipal_vehicle",
comment: "",
indexes: []
});
dc.models.MunicipalVehicle = MunicipalVehicle;
return MunicipalVehicle;
};

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

@ -2,186 +2,205 @@
'use strict';
module.exports = dc => {
const DataTypes = dc.ORM;
const sequelize = dc.orm;
const Overspeed = sequelize.define("overspeed", {
id: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: null,
comment: null,
primaryKey: true,
field: "id",
autoIncrement: true,
unique: "overspeed_id_uindex"
},
districtcounty: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "区/县",
primaryKey: false,
field: "districtcounty",
autoIncrement: false
},
nameOfInspectionPoint: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "检测点名称",
primaryKey: false,
field: "name_of_inspection_point",
autoIncrement: false
},
licensePlate: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车牌号码",
primaryKey: false,
field: "license_plate",
autoIncrement: false
},
numberOfAxles: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车轴数",
primaryKey: false,
field: "number_of_axles",
autoIncrement: false
},
overrunRate: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "超限率",
primaryKey: false,
field: "overrun_rate",
autoIncrement: false
},
overrunWeight: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "超限重量",
primaryKey: false,
field: "overrun_weight",
autoIncrement: false
},
grossVehicleWeight: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车货总重",
primaryKey: false,
field: "gross_vehicle_weight",
autoIncrement: false
},
vehicleCargoWeightLimit: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车货限重",
primaryKey: false,
field: "vehicle_cargo_weight_limit",
autoIncrement: false
},
testTime: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "检测时间",
primaryKey: false,
field: "test_time",
autoIncrement: false
},
nameOfBusinessOwner: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经营业户名称",
primaryKey: false,
field: "name_of_business_owner",
autoIncrement: false
},
businessAddress: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经营业户地址",
primaryKey: false,
field: "business_address",
autoIncrement: false
},
notifier: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "通知人",
primaryKey: false,
field: "notifier",
autoIncrement: false
},
notificationMethod: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "通知方式",
primaryKey: false,
field: "notification_method",
autoIncrement: false
},
notificationResults: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "通知结果",
primaryKey: false,
field: "notification_results",
autoIncrement: false
},
processingTime: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "处理时间",
primaryKey: false,
field: "processing_time",
autoIncrement: false
},
deductPoints: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "扣分",
primaryKey: false,
field: "deduct_points",
autoIncrement: false
},
fine: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "罚款",
primaryKey: false,
field: "fine",
autoIncrement: false
},
remarks: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "备注",
primaryKey: false,
field: "remarks",
autoIncrement: false
}
}, {
tableName: "overspeed",
comment: "",
indexes: []
});
dc.models.Overspeed = Overspeed;
return Overspeed;
const DataTypes = dc.ORM;
const sequelize = dc.orm;
const Overspeed = sequelize.define("overspeed", {
id: {
index: 1,
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: null,
comment: null,
primaryKey: true,
field: "id",
autoIncrement: true,
unique: "overspeed_id_uindex"
},
districtcounty: {
index: 2,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "区/县",
primaryKey: false,
field: "districtcounty",
autoIncrement: false
},
nameOfInspectionPoint: {
index: 3,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "检测点名称",
primaryKey: false,
field: "name_of_inspection_point",
autoIncrement: false
},
licensePlate: {
index: 4,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车牌号码",
primaryKey: false,
field: "license_plate",
autoIncrement: false
},
numberOfAxles: {
index: 5,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车轴数",
primaryKey: false,
field: "number_of_axles",
autoIncrement: false
},
overrunRate: {
index: 6,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "超限率",
primaryKey: false,
field: "overrun_rate",
autoIncrement: false
},
overrunWeight: {
index: 7,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "超限重量",
primaryKey: false,
field: "overrun_weight",
autoIncrement: false
},
grossVehicleWeight: {
index: 8,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车货总重",
primaryKey: false,
field: "gross_vehicle_weight",
autoIncrement: false
},
vehicleCargoWeightLimit: {
index: 9,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车货限重",
primaryKey: false,
field: "vehicle_cargo_weight_limit",
autoIncrement: false
},
testTime: {
index: 10,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "检测时间",
primaryKey: false,
field: "test_time",
autoIncrement: false
},
nameOfBusinessOwner: {
index: 11,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经营业户名称",
primaryKey: false,
field: "name_of_business_owner",
autoIncrement: false
},
businessAddress: {
index: 12,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "经营业户地址",
primaryKey: false,
field: "business_address",
autoIncrement: false
},
notifier: {
index: 13,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "通知人",
primaryKey: false,
field: "notifier",
autoIncrement: false
},
notificationMethod: {
index: 14,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "通知方式",
primaryKey: false,
field: "notification_method",
autoIncrement: false
},
notificationResults: {
index: 15,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "通知结果",
primaryKey: false,
field: "notification_results",
autoIncrement: false
},
processingTime: {
index: 16,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "处理时间",
primaryKey: false,
field: "processing_time",
autoIncrement: false
},
deductPoints: {
index: 17,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "扣分",
primaryKey: false,
field: "deduct_points",
autoIncrement: false
},
fine: {
index: 18,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "罚款",
primaryKey: false,
field: "fine",
autoIncrement: false
},
remarks: {
index: 19,
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "备注",
primaryKey: false,
field: "remarks",
autoIncrement: false
}
}, {
tableName: "overspeed",
comment: "",
indexes: []
});
dc.models.Overspeed = Overspeed;
return Overspeed;
};

4
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);
router.get('/data/export', dataIndex.dataExport);
// 运政
//客运车

1397
api/log/development.log

File diff suppressed because it is too large

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"

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"

BIN
scripts/0.0.1/data/工具脚本(无需执行)/data/治超/非现场处罚总台账更新至2022.7.5(最新).xlsx

Binary file not shown.

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

34
web/client/assets/color.less

@ -174,7 +174,7 @@ button::-moz-focus-inner,
[type='submit']::-moz-focus-inner {border-style: none;}
fieldset {border: 0;}
legend {color: inherit;}
mark {background-color: #feffe6;}
mark {background-color: color(~`colorPalette("@{modal-footer-border-color-split}", 1)`);}
::selection {color: #fff;background: @primary-color;}
.anticon {color: inherit;}
.ant-fade-enter, .ant-fade-appear {animation-fill-mode: both;}
@ -1149,11 +1149,18 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte
.ant-mentions-dropdown-menu-item-active {background-color: @item-hover-bg;}
.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
.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;}
.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("@{modal-header-border-color-split}", 1)`);}
=======
.ant-menu-item-danger.ant-menu-item:active {background: color(~`colorPalette("@{segmented-label-hover-color}", 1)`);}
.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: color(~`colorPalette("@{segmented-label-hover-color}", 1)`);}
>>>>>>> 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;}
@ -1723,14 +1730,18 @@ tr.ant-table-expanded-row:hover > td {background: @table-expanded-row-bg;}
.ant-tag-checkable:active, .ant-tag-checkable-checked {color: #fff;}
.ant-tag-checkable-checked {background-color: @primary-color;}
.ant-tag-checkable:active {background-color: color(~`colorPalette("@{primary-color}", 7)`);}
<<<<<<< Updated upstream
.ant-tag-pink {color: #c41d7f;background: color(~`colorPalette("@{component-background}", 1)`);border-color: #ffadd2;}
=======
>>>>>>> Stashed changes
.ant-tag-pink {color: #c41d7f;background: #fff0f6;border-color: #ffadd2;}
.ant-tag-pink-inverse {color: #fff;background: #eb2f96;border-color: #eb2f96;}
.ant-tag-magenta {color: #c41d7f;background: color(~`colorPalette("@{component-background}", 1)`);border-color: #ffadd2;}
.ant-tag-magenta-inverse {color: #fff;background: #eb2f96;border-color: #eb2f96;}
<<<<<<< Updated upstream
.ant-tag-red {color: #cf1322;background: #fff1f0;border-color: #ffa39e;}
.ant-tag-pink {color: #c41d7f;background: color(~`colorPalette("@{success-color-deprecated-bg}", 1)`);border-color: #ffadd2;}
@ -1739,21 +1750,25 @@ tr.ant-table-expanded-row:hover > td {background: @table-expanded-row-bg;}
.ant-tag-magenta-inverse {color: #fff;background: #eb2f96;border-color: #eb2f96;}
.ant-tag-red {color: #cf1322;background: color(~`colorPalette("@{modal-header-border-color-split}", 1)`);border-color: #ffa39e;}
=======
.ant-tag-red {color: #cf1322;background: color(~`colorPalette("@{segmented-label-hover-color}", 1)`);border-color: #ffa39e;}
>>>>>>> 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;}
.ant-tag-orange {color: #d46b08;background: #fff7e6;border-color: #ffd591;}
.ant-tag-orange {color: #d46b08;background: color(~`colorPalette("@{alert-warning-border-color}", 1)`);border-color: #ffd591;}
.ant-tag-orange-inverse {color: #fff;background: #fa8c16;border-color: #fa8c16;}
.ant-tag-yellow {color: #d4b106;background: #feffe6;border-color: #fffb8f;}
.ant-tag-yellow {color: #d4b106;background: color(~`colorPalette("@{modal-footer-border-color-split}", 1)`);border-color: #fffb8f;}
.ant-tag-yellow-inverse {color: #fff;background: #fadb14;border-color: #fadb14;}
.ant-tag-gold {color: #d48806;background: #fffbe6;border-color: #ffe58f;}
.ant-tag-gold-inverse {color: #fff;background: #faad14;border-color: #faad14;}
.ant-tag-cyan {color: #08979c;background: #e6fffb;border-color: #87e8de;}
.ant-tag-cyan-inverse {color: #fff;background: #13c2c2;border-color: #13c2c2;}
.ant-tag-lime {color: #7cb305;background: #fcffe6;border-color: #eaff8f;}
.ant-tag-lime {color: #7cb305;background: color(~`colorPalette("@{text-color-secondary}", 1)`);border-color: #eaff8f;}
.ant-tag-lime-inverse {color: #fff;background: #a0d911;border-color: #a0d911;}
.ant-tag-green {color: #389e0d;background: #f6ffed;border-color: #b7eb8f;}
.ant-tag-green-inverse {color: #fff;background: #52c41a;border-color: #52c41a;}
<<<<<<< Updated upstream
.ant-tag-blue {color: #096dd9;background: #e6f7ff;border-color: #91d5ff;}
.ant-tag-blue-inverse {color: #fff;background: #1890ff;border-color: #1890ff;}
@ -1766,6 +1781,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: #f9f0ff;border-color: #d3adf7;}
=======
.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("@{dropdown-menu-submenu-disabled-bg}", 3)`);border-color: #adc6ff;}
.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-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;}
@ -2003,11 +2025,15 @@ a.ant-typography.ant-typography-disabled:hover, .ant-typography a.ant-typography
.ant-upload-list-picture .ant-upload-list-item-error, .ant-upload-list-picture-card .ant-upload-list-item-error {border-color: #ff4d4f;}
.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
.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='#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);}

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

@ -24,44 +24,52 @@ const Example = (props) => {
}
useEffect(() => {
// 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;
// }
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();
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 (
@ -72,20 +80,13 @@ const Example = (props) => {
document.body.clientHeight / 1080
)})`, */
}}>
<div id={MAPID} style={{ position: 'absolute', width: "100%", height: "100%" }}></div>
{/* <div id={MAPID} style={{ position: 'absolute', width: "100%", height: "100%" }}></div> */}
<div style={{ width: "100%", height: "10%" }}>
<Header tabChange={tabChange} tabKey={tabKey} dispatch={dispatch} />
</div>
{/* <<<<<<< HEAD */}
<div style={{ width: "100%", height: "90%" }}>
<Footer tabKey={tabKey} dispatch={dispatch} />
{/* =======
<div style={{ position: 'absolute', width: "100%", height: "90%" }}>
<Footer tabKey={tabKey} />
>>>>>>> 385f017aeac33adc39a31e75faf6254a1a881d16 */}
</div>
{/* </div> */}
</div>
</Spin>

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

@ -96,7 +96,7 @@ class ReactCarousel extends Component {
}
</ul> */}
<div className="control" style={{ width: "100%", height: "10%", backgroundColor: "red" }}>
<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>
</div>
@ -119,7 +119,7 @@ class ReactCarousel extends Component {
let { timer } = this.state;
timer = setInterval(() => {
this.next();
}, 2000);
}, 300000);
this.setState({
timer
})

10
web/client/src/sections/quanju/containers/footer/leadership/right/left.less

@ -9,22 +9,22 @@ li{
font-family: PingFangSC-Regular, PingFang SC !important;
height: 25px !important;
// line-height: 25px !important;
}
}
.ant-select-selection-item{
}.ant-select-selection-item{
line-height: 25px !important;
}
.anticon{
color: #fff !important;
}
}
.contain {
position: relative;
top: 5%;
left: 45%;
width: 100%;
height: 100%;
transition: all 2s;
transition: all 30s;
transform: translateX(-50%);
color: #fff;
overflow: hidden;

Loading…
Cancel
Save