Browse Source

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

release_0.0.1
dengyinhuan 3 years ago
parent
commit
1389350d3d
  1. 155
      api/app/lib/controllers/data/bus.js
  2. 493
      api/app/lib/models/bus_car.js
  3. 232
      api/app/lib/models/bus_line.js
  4. 236
      api/app/lib/models/road.js
  5. 21
      api/app/lib/routes/data/index.js
  6. 3
      api/log/development.log
  7. 4
      scripts/0.0.1/data/1_update_user_data.sql
  8. 8
      scripts/0.0.1/data/1_update_user_dep_data.sql
  9. BIN
      scripts/0.0.1/data/工具脚本(无需执行)/data/公交/车辆信息/四公司车辆信息(1).xls
  10. 63
      scripts/0.0.1/data/工具脚本(无需执行)/dataIn.js
  11. 18
      scripts/0.0.1/data/工具脚本(无需执行)/index.js
  12. 54
      scripts/0.0.1/data/工具脚本(无需执行)/公交车辆_字段对应.json
  13. 54
      scripts/0.0.1/data/工具脚本(无需执行)/公交车辆_数据字段对应.json
  14. 54
      scripts/0.0.1/data/工具脚本(无需执行)/公交车辆_数据库表对应.json
  15. 58
      scripts/0.0.1/data/工具脚本(无需执行)/公交车辆_数据脚本对应.sql
  16. 26
      scripts/0.0.1/data/工具脚本(无需执行)/道路_字段对应.json
  17. 26
      scripts/0.0.1/data/工具脚本(无需执行)/道路_数据字段对应.json
  18. 26
      scripts/0.0.1/data/工具脚本(无需执行)/道路_数据库表对应.json
  19. 36
      scripts/0.0.1/data/工具脚本(无需执行)/道路_数据脚本对应.sql
  20. 100
      weapp/src/packages/patrol/index.jsx
  21. 67
      weapp/src/packages/patrol/index.scss
  22. 40
      weapp/src/pages/user/index.jsx
  23. 109
      weapp/src/pages/user/index.scss
  24. 23
      weapp/src/static/img/my/card-bg.svg
  25. BIN
      weapp/src/static/img/my/head.png
  26. 13
      weapp/src/static/img/my/more.svg
  27. 18
      weapp/src/static/img/my/pswd.svg
  28. 14
      weapp/src/static/img/my/report.svg

155
api/app/lib/controllers/data/bus.js

@ -0,0 +1,155 @@
'use strict';
async function lineGet (ctx) {
try {
const models = ctx.fs.dc.models;
const { fleet } = ctx.query;
const findOption = {
order: [['id', 'DESC']],
where: {
},
}
if (fleet) {
findOption.where.fleet = { $like: `%${fleet}%` }
}
const roadRes = await models.BusLine.findAll(findOption)
ctx.status = 200;
ctx.body = roadRes
} catch (error) {
ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`);
ctx.status = 400;
ctx.body = {
message: typeof error == 'string' ? error : undefined
}
}
}
async function lineEdit (ctx) {
try {
const models = ctx.fs.dc.models;
const data = ctx.request.body;
if (!data.lineId) {
await models.BusLine.create(data)
} else {
await models.BusLine.update(
data, {
where: {
id: data.lineId
}
})
}
ctx.status = 204
} catch (error) {
ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`);
ctx.status = 400;
ctx.body = {
message: typeof error == 'string' ? error : undefined
}
}
}
async function lineDel (ctx) {
try {
const models = ctx.fs.dc.models;
const { lineId } = ctx.params;
await models.BusLine.destroy({
where: {
id: lineId
}
})
ctx.status = 204
} catch (error) {
ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`);
ctx.status = 400;
ctx.body = {
message: typeof error == 'string' ? error : undefined
}
}
}
async function carGet (ctx) {
try {
const models = ctx.fs.dc.models;
const { fleet } = ctx.query;
const findOption = {
order: [['id', 'DESC']],
where: {
},
}
if (fleet) {
findOption.where.fleet = { $like: `%${fleet}%` }
}
const roadRes = await models.BusCar.findAll(findOption)
ctx.status = 200;
ctx.body = roadRes
} catch (error) {
ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`);
ctx.status = 400;
ctx.body = {
message: typeof error == 'string' ? error : undefined
}
}
}
async function carEdit (ctx) {
try {
const models = ctx.fs.dc.models;
const data = ctx.request.body;
if (!data.carId) {
await models.BusCar.create(data)
} else {
await models.BusCar.update(
data, {
where: {
id: data.carId
}
})
}
ctx.status = 204
} catch (error) {
ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`);
ctx.status = 400;
ctx.body = {
message: typeof error == 'string' ? error : undefined
}
}
}
async function carDel (ctx) {
try {
const models = ctx.fs.dc.models;
const { carId } = ctx.params;
await models.BusCar.destroy({
where: {
id: carId
}
})
ctx.status = 204
} catch (error) {
ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`);
ctx.status = 400;
ctx.body = {
message: typeof error == 'string' ? error : undefined
}
}
}
module.exports = {
lineGet, lineEdit, lineDel,
carGet, carEdit, carDel,
};

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

@ -0,0 +1,493 @@
/* eslint-disable*/
'use strict';
module.exports = dc => {
const DataTypes = dc.ORM;
const sequelize = dc.orm;
const BusCar = sequelize.define("busCar", {
id: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: null,
comment: null,
primaryKey: true,
field: "id",
autoIncrement: true,
unique: "bus_car_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
},
line: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "所属线路",
primaryKey: false,
field: "line",
autoIncrement: false
},
vehicleNumber: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆编号",
primaryKey: false,
field: "vehicle_number",
autoIncrement: false
},
vehicleLicensePlateNumber: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆牌照号",
primaryKey: false,
field: "vehicle_license_plate_number",
autoIncrement: false
},
operationCategory: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "运营类别",
primaryKey: false,
field: "operation_category",
autoIncrement: false
},
serviceLife: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "已使用年限",
primaryKey: false,
field: "service_life",
autoIncrement: false
},
engineModel: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "发动机型号",
primaryKey: false,
field: "engine_model",
autoIncrement: false
},
vehicleModel: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆型号",
primaryKey: false,
field: "vehicle_model",
autoIncrement: false
},
vehicleCategory: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆类别",
primaryKey: false,
field: "vehicle_category",
autoIncrement: false
},
vehicleStatus: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆状态",
primaryKey: false,
field: "vehicle_status",
autoIncrement: false
},
dateOfEntry: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "入户日期",
primaryKey: false,
field: "date_of_entry",
autoIncrement: false
},
purchaseDate: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "购进日期",
primaryKey: false,
field: "purchase_date",
autoIncrement: false
},
energyConsumptionType: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "能耗类型",
primaryKey: false,
field: "energy_consumption_type",
autoIncrement: false
},
numberOfStandardUnits: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "标台数",
primaryKey: false,
field: "number_of_standard_units",
autoIncrement: false
},
maintenanceUnit: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "维保单位",
primaryKey: false,
field: "maintenance_unit",
autoIncrement: false
},
vehicleType: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆类型",
primaryKey: false,
field: "vehicle_type",
autoIncrement: false
},
brandAndModel: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "厂牌型号",
primaryKey: false,
field: "brand_and_model",
autoIncrement: false
},
manufacturer: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "生产厂家",
primaryKey: false,
field: "manufacturer",
autoIncrement: false
},
drivingLicenseNo: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "行驶证编号",
primaryKey: false,
field: "driving_license_no",
autoIncrement: false
},
engineNumber: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "发动机编号",
primaryKey: false,
field: "engine_number",
autoIncrement: false
},
mainEnergyConsumption: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "主能耗",
primaryKey: false,
field: "main_energy_consumption",
autoIncrement: false
},
secondaryEnergyConsumption: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "副能耗",
primaryKey: false,
field: "secondary_energy_consumption",
autoIncrement: false
},
emissionStandard: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "排放标准",
primaryKey: false,
field: "emission_standard",
autoIncrement: false
},
startDate: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "启用日期",
primaryKey: false,
field: "start_date",
autoIncrement: false
},
lastTransferDate: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "最近一次调动日期",
primaryKey: false,
field: "last_transfer_date",
autoIncrement: false
},
conductor: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车长",
primaryKey: false,
field: "conductor",
autoIncrement: false
},
vehicleWidth: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车宽",
primaryKey: false,
field: "vehicle_width",
autoIncrement: false
},
carHeight: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车高",
primaryKey: false,
field: "car_height",
autoIncrement: false
},
approvedPassengerCapacity: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "核定载客数",
primaryKey: false,
field: "approved_passenger_capacity",
autoIncrement: false
},
vehicleIdentificationNumber: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "车辆识别号",
primaryKey: false,
field: "vehicle_identification_number",
autoIncrement: false
},
gearboxBrand: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "变速箱品牌",
primaryKey: false,
field: "gearbox_brand",
autoIncrement: false
},
manualCarWashingFee: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "人工洗车费",
primaryKey: false,
field: "manual_car_washing_fee",
autoIncrement: false
},
laborCost: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "劳务费",
primaryKey: false,
field: "labor_cost",
autoIncrement: false
},
curbWeight: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "整备质量",
primaryKey: false,
field: "curb_weight",
autoIncrement: false
},
totalMass: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "总质量",
primaryKey: false,
field: "total_mass",
autoIncrement: false
},
airConditioningTemperature: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "空调温度",
primaryKey: false,
field: "air_conditioning_temperature",
autoIncrement: false
},
airConditionedCarOrNot: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "是否空调车",
primaryKey: false,
field: "air_conditioned_car_or_not",
autoIncrement: false
},
turnOnTheAirConditioningTemperature: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "开空调温度",
primaryKey: false,
field: "turn_on_the_air_conditioning_temperature",
autoIncrement: false
},
power: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "功率",
primaryKey: false,
field: "power",
autoIncrement: false
},
transmission: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "变速器",
primaryKey: false,
field: "transmission",
autoIncrement: false
},
seatingCapacity: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "座位数",
primaryKey: false,
field: "seating_capacity",
autoIncrement: false
},
airConditioningBrand: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "空调品牌",
primaryKey: false,
field: "air_conditioning_brand",
autoIncrement: false
},
seatType: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "座椅类型",
primaryKey: false,
field: "seat_type",
autoIncrement: false
},
tireSpecifications: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "轮胎规格",
primaryKey: false,
field: "tire_specifications",
autoIncrement: false
},
roadTransportCertificateNo: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "道路运输证号",
primaryKey: false,
field: "road_transport_certificate_no",
autoIncrement: false
},
parkingPoint: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "停放点",
primaryKey: false,
field: "parking_point",
autoIncrement: false
},
carWashingType: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "洗车类型",
primaryKey: false,
field: "car_washing_type",
autoIncrement: false
},
maintenanceFreeWheelEnd: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "免维护轮端",
primaryKey: false,
field: "maintenance_free_wheel_end",
autoIncrement: false
},
firstGuaranteeDate: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "首保日期",
primaryKey: false,
field: "first_guarantee_date",
autoIncrement: false
},
dateOfRenovation: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "整修日期",
primaryKey: false,
field: "date_of_renovation",
autoIncrement: false
},
motorVehicleOwner: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "机动车所有人",
primaryKey: false,
field: "motor_vehicle_owner",
autoIncrement: false
}
}, {
tableName: "bus_car",
comment: "",
indexes: []
});
dc.models.BusCar = BusCar;
return BusCar;
};

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

@ -0,0 +1,232 @@
/* eslint-disable*/
'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;
};

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

@ -114,6 +114,51 @@ module.exports = dc => {
field: "section_type",
autoIncrement: false
},
routeCodeBeforeRoadNetworkAdjustment: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "路网调整前路线编码",
primaryKey: false,
field: "route_code_before_road_network_adjustment",
autoIncrement: false
},
serialNumberOfOriginalSection: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "原路段序号",
primaryKey: false,
field: "serial_number_of_original_section",
autoIncrement: false
},
startingStakeNumberOfTheOriginalRoadSection: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "原路段起点桩号",
primaryKey: false,
field: "starting_stake_number_of_the_original_road_section",
autoIncrement: false
},
endingPointStakeNoOfTheOriginalRoadSection: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "原路段止点桩号",
primaryKey: false,
field: "ending_point_stake_no_of_the_original_road_section",
autoIncrement: false
},
routeLevel: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "路线等级",
primaryKey: false,
field: "route_level",
autoIncrement: false
},
natureOfRoadSection: {
type: DataTypes.STRING,
allowNull: true,
@ -132,6 +177,24 @@ module.exports = dc => {
field: "completion_time",
autoIncrement: false
},
reconstructionTime: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "改建时间",
primaryKey: false,
field: "reconstruction_time",
autoIncrement: false
},
natureOfConstruction: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "建设性质",
primaryKey: false,
field: "nature_of_construction",
autoIncrement: false
},
gbmAndCivilizedModelRoad: {
type: DataTypes.STRING,
allowNull: true,
@ -159,6 +222,15 @@ module.exports = dc => {
field: "nature_of_charges",
autoIncrement: false
},
tollStation: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "所属收费站",
primaryKey: false,
field: "toll_station",
autoIncrement: false
},
numberOfCulverts: {
type: DataTypes.STRING,
allowNull: true,
@ -330,6 +402,159 @@ module.exports = dc => {
field: "repeated_section_route_code",
autoIncrement: false
},
plannedFundCategory: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "计划资金类别",
primaryKey: false,
field: "planned_fund_category",
autoIncrement: false
},
plannedYear: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "计划年度",
primaryKey: false,
field: "planned_year",
autoIncrement: false
},
planDocumentNo: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "计划文号",
primaryKey: false,
field: "plan_document_no",
autoIncrement: false
},
planItemUniqueCode: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "计划项目唯一编码",
primaryKey: false,
field: "plan_item_unique_code",
autoIncrement: false
},
plannedProjectRouteCode: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "计划项目路线编码",
primaryKey: false,
field: "planned_project_route_code",
autoIncrement: false
},
planProjectName: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "计划项目名称",
primaryKey: false,
field: "plan_project_name",
autoIncrement: false
},
plannedProjectType: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "计划项目类型",
primaryKey: false,
field: "planned_project_type",
autoIncrement: false
},
completionStatus: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "完工情况",
primaryKey: false,
field: "completion_status",
autoIncrement: false
},
yearOfCompletion: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "完工年度",
primaryKey: false,
field: "year_of_completion",
autoIncrement: false
},
plannedFundCategoryOne: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "计划资金类别_1",
primaryKey: false,
field: "planned_fund_category__one",
autoIncrement: false
},
plannedYearOne: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "计划年度_1",
primaryKey: false,
field: "planned_year__one",
autoIncrement: false
},
planDocumentNoOne: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "计划文号_1",
primaryKey: false,
field: "plan_document_no__one",
autoIncrement: false
},
planItemUniqueCodeOne: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "计划项目唯一编码_1",
primaryKey: false,
field: "plan_item_unique_code__one",
autoIncrement: false
},
planProjectNameOne: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "计划项目名称_1",
primaryKey: false,
field: "plan_project_name__one",
autoIncrement: false
},
completionStatusOne: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "完工情况_1",
primaryKey: false,
field: "completion_status__one",
autoIncrement: false
},
yearOfCompletionOne: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "完工年度_1",
primaryKey: false,
field: "year_of_completion__one",
autoIncrement: false
},
stationRange: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "桩号范围",
primaryKey: false,
field: "station_range",
autoIncrement: false
},
reportingUnit: {
type: DataTypes.STRING,
allowNull: true,
@ -357,6 +582,15 @@ module.exports = dc => {
field: "change_time",
autoIncrement: false
},
lastRepairAndMaintenanceYear: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "最近一次修复养护年度",
primaryKey: false,
field: "last_repair_and_maintenance_year",
autoIncrement: false
},
whetherMaintenanceManagedHighway: {
type: DataTypes.STRING,
allowNull: true,
@ -451,7 +685,7 @@ module.exports = dc => {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null,
comment: "县 / 乡 / 村",
comment: null,
primaryKey: false,
field: "level",
autoIncrement: false

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

@ -5,6 +5,7 @@ const road = require('../../controllers/data/road');
const bridge = require('../../controllers/data/bridge');
const project = require('../../controllers/data/project');
const overspeed = require('../../controllers/data/overspeed');
const bus = require('../../controllers/data/bus');
module.exports = function (app, router, opts) {
@ -86,4 +87,24 @@ module.exports = function (app, router, opts) {
app.fs.api.logAttr['DEL/overspeed/:overspeedId'] = { content: '删除治超数据', visible: false };
router.del('/overspeed/:overspeedId', overspeed.overspeedDel);
//overspeed END
//bus
app.fs.api.logAttr['GET/bus/line'] = { content: '获取公交路线数据', visible: true };
router.get('/bus/line', bus.lineGet);
app.fs.api.logAttr['PUT/bus/line'] = { content: '编辑公交路线数据', visible: true };
router.put('/bus/line', bus.lineEdit);
app.fs.api.logAttr['DEL/bus/line/:lineId'] = { content: '删除公交路线数据', visible: false };
router.del('/bus/line/:lineId', bus.lineDel);
app.fs.api.logAttr['GET/bus/car'] = { content: '获取公交车辆数据', visible: true };
router.get('/bus/car', bus.carGet);
app.fs.api.logAttr['PUT/bus/car'] = { content: '编辑公交车辆数据', visible: true };
router.put('/bus/car', bus.carEdit);
app.fs.api.logAttr['DEL/bus/car/:carId'] = { content: '删除公交车辆数据', visible: false };
router.del('/bus/car/:carId', bus.carDel);
//bus END
};

3
api/log/development.log

@ -7158,3 +7158,6 @@
2022-07-22 15:58:39.491 - debug: [FS-LOGGER] Init.
2022-07-22 15:58:39.611 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-22 15:58:39.611 - info: [FS-AUTH] Inject auth and api mv into router.
2022-07-23 11:26:40.514 - debug: [FS-LOGGER] Init.
2022-07-23 11:26:40.651 - info: [FS-ATTACHMENT] Inject attachment mw into router.
2022-07-23 11:26:40.651 - info: [FS-AUTH] Inject auth and api mv into router.

4
scripts/0.0.1/data/1_update_user_data.sql

@ -1,4 +0,0 @@
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO "public"."user" VALUES (1, '管理员', 'SuperAdmin', 'e10adc3949ba59abbe56e057f20f883e', 1, 'f', NULL, NULL, NULL, TRUE);

8
scripts/0.0.1/data/1_update_user_dep_data.sql

@ -0,0 +1,8 @@
-- ----------------------------
-- Records of DEP
-- ----------------------------
INSERT INTO "department" VALUES (1, '默认部门', NULL, false);
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO "user" VALUES (1, '管理员', 'SuperAdmin', 'e10adc3949ba59abbe56e057f20f883e', 1, 'f', NULL, NULL, NULL, TRUE);

BIN
scripts/0.0.1/data/工具脚本(无需执行)/data/公交/车辆信息/四公司车辆信息(1).xls

Binary file not shown.

63
scripts/0.0.1/data/工具脚本(无需执行)/dataIn.js

@ -16,38 +16,6 @@ try {
port: 5432,
})
let appid = '20200917000567738';
let key = 'xXm4jsuuD38JIkkhEcK6';
const getAnswer = async (query) => {
let start = (new Date()).getTime();
let salt = start;
let str1 = appid + query + salt + key;
let sign = Hex.stringify(MD5(str1));
console.log(`翻译:${query}`);
let answer = await request.get('http://api.fanyi.baidu.com/api/trans/vip/translate').timeout(1000 * 30).query({
q: query,
appid: appid,
salt: salt,
from: 'zh',
to: 'en',
sign: sign
});
if (answer.body.error_code) {
console.warn(answer.body);
throw '百度不给力,快快debug'
}
let rslt = answer.body.trans_result;
// let upperCaseRslt = rslt[0].dst.toLowerCase().replace(/( |^)[a-z]/g, (L) => L.toUpperCase()).replace(/ /g, '');
// let upperCaseRslt = rslt[0].dst.toUpperCase().replace(/ /g, '_');
// let upperCaseRslt = rslt[0].dst.toLowerCase().replace(/ /g, '_');
let upperCaseRslt = rslt[0].dst.replace(/\//g, ' ').replace(/'/g, '').replace(/\s{2,}/g, '');
console.log(`翻译结果:${upperCaseRslt}`);
while (((new Date()).getTime() - start) < (1000 / 8)) {//每s只能调用10次
continue;
}
return upperCaseRslt
}
const fun = async () => {
// note: we don't try/catch this because if connecting throws an exception
// we don't need to dispose of the client (it will be undefined)
@ -71,7 +39,7 @@ try {
// defaultValue: ['县'],
// },
// {
// path:[ './data/道路/乡道第三方.xls'],
// path: ['./data/道路/乡道第三方.xls'],
// n: '道路',
// tableName: 'road',
// defaultKey: ['level'],
@ -122,11 +90,16 @@ try {
// n: '治超',
// tableName: 'overspeed',
// },
{
path: ['./data/公交/运营线路/(四公司)南昌公交运营线路基础信息表2022年6月(总表).xlsx'],
n: '公交线路',
tableName: 'bus_line',
},
// {
// path: ['./data/公交/运营线路/(四公司)南昌公交运营线路基础信息表2022年6月(总表).xlsx'],
// n: '公交线路',
// tableName: 'bus_line',
// },
// {
// path: ['./data/公交/车辆信息/四公司车辆信息(1).xls'],
// n: '公交车辆',
// tableName: 'bus_car',
// },
]
for (let f of fileList) {
@ -149,13 +122,25 @@ try {
let v = d[k];
if (v) {
insertKeys.push(keyMap[k]);
insertValues.push(v);
if (f.n == '工程一览') {
if (k == '项目进展情况' && v == '已完工') {
insertValues[0] = true
}
}
if (f.n == '公交车辆') {
if (k == '所属公司') {
insertValues.push(v.split(':')[1]);
continue
}
if (k == '所属车队') {
insertValues.push(v.split(':')[1]);
continue
}
}
insertValues.push(v);
}
}
insertStr += insertKeys.join(',') + ') VALUES (';

18
scripts/0.0.1/data/工具脚本(无需执行)/index.js

@ -43,7 +43,7 @@ try {
let upperCaseRslt = rslt[0].dst
.replace(/\//g, ' ')
.replace(/'/g, '')
.replace(/:/g,'')
.replace(/:/g, '')
.trim()
.replace(/\s{2,}/g, '')
.replace(/-/g, ' ');
@ -61,6 +61,7 @@ try {
try {
await client.query('BEGIN')
// 有手动更改 不要轻易再次执行脚本
const fileList = [
// {
// path: './data/道路/乡道第三方.xls',
@ -92,11 +93,16 @@ try {
// n: '治超',
// tableName: 'overspeed'
// },
{
path: './data/公交/运营线路/(四公司)南昌公交运营线路基础信息表2022年6月(总表).xlsx',
n: '公交线路',
tableName: 'bus_line'
},
// {
// path: './data/公交/运营线路/(四公司)南昌公交运营线路基础信息表2022年6月(总表).xlsx',
// n: '公交线路',
// tableName: 'bus_line'
// },
// {
// path: './data/公交/车辆信息/四公司车辆信息(1).xls',
// n: '公交车辆',
// tableName: 'bus_car'
// },
]
for (let f of fileList) {

54
scripts/0.0.1/data/工具脚本(无需执行)/公交车辆_字段对应.json

@ -0,0 +1,54 @@
{
"所属公司": "company",
"所属车队": "fleet",
"所属线路": "line",
"车辆编号": "vehicleNumber",
"车辆牌照号": "vehicleLicensePlateNumber",
"运营类别": "operationCategory",
"已使用年限": "serviceLife",
"发动机型号": "engineModel",
"车辆型号": "vehicleModel",
"车辆类别": "vehicleCategory",
"车辆状态": "vehicleStatus",
"入户日期": "dateOfEntry",
"购进日期": "purchaseDate",
"能耗类型": "energyConsumptionType",
"标台数": "numberOfStandardUnits",
"维保单位": "maintenanceUnit",
"车辆类型": "vehicleType",
"厂牌型号": "brandAndModel",
"生产厂家": "manufacturer",
"行驶证编号": "drivingLicenseNo",
"发动机编号": "engineNumber",
"主能耗": "mainEnergyConsumption",
"副能耗": "secondaryEnergyConsumption",
"排放标准": "emissionStandard",
"启用日期": "startDate",
"最近一次调动日期": "lastTransferDate",
"车长": "conductor",
"车宽": "vehicleWidth",
"车高": "carHeight",
"核定载客数": "approvedPassengerCapacity",
"车辆识别号": "vehicleIdentificationNumber",
"变速箱品牌": "gearboxBrand",
"人工洗车费": "manualCarWashingFee",
"劳务费": "laborCost",
"整备质量": "curbWeight",
"总质量": "totalMass",
"空调温度": "airConditioningTemperature",
"是否空调车": "airConditionedCarOrNot",
"开空调温度": "turnOnTheAirConditioningTemperature",
"功率": "power",
"变速器": "transmission",
"座位数": "seatingCapacity",
"空调品牌": "airConditioningBrand",
"座椅类型": "seatType",
"轮胎规格": "tireSpecifications",
"道路运输证号": "roadTransportCertificateNo",
"停放点": "parkingPoint",
"洗车类型": "carWashingType",
"免维护轮端": "maintenanceFreeWheelEnd",
"首保日期": "firstGuaranteeDate",
"整修日期": "dateOfRenovation",
"机动车所有人": "motorVehicleOwner"
}

54
scripts/0.0.1/data/工具脚本(无需执行)/公交车辆_数据字段对应.json

@ -0,0 +1,54 @@
{
"company": "所属公司",
"fleet": "所属车队",
"line": "所属线路",
"vehicleNumber": "车辆编号",
"vehicleLicensePlateNumber": "车辆牌照号",
"operationCategory": "运营类别",
"serviceLife": "已使用年限",
"engineModel": "发动机型号",
"vehicleModel": "车辆型号",
"vehicleCategory": "车辆类别",
"vehicleStatus": "车辆状态",
"dateOfEntry": "入户日期",
"purchaseDate": "购进日期",
"energyConsumptionType": "能耗类型",
"numberOfStandardUnits": "标台数",
"maintenanceUnit": "维保单位",
"vehicleType": "车辆类型",
"brandAndModel": "厂牌型号",
"manufacturer": "生产厂家",
"drivingLicenseNo": "行驶证编号",
"engineNumber": "发动机编号",
"mainEnergyConsumption": "主能耗",
"secondaryEnergyConsumption": "副能耗",
"emissionStandard": "排放标准",
"startDate": "启用日期",
"lastTransferDate": "最近一次调动日期",
"conductor": "车长",
"vehicleWidth": "车宽",
"carHeight": "车高",
"approvedPassengerCapacity": "核定载客数",
"vehicleIdentificationNumber": "车辆识别号",
"gearboxBrand": "变速箱品牌",
"manualCarWashingFee": "人工洗车费",
"laborCost": "劳务费",
"curbWeight": "整备质量",
"totalMass": "总质量",
"airConditioningTemperature": "空调温度",
"airConditionedCarOrNot": "是否空调车",
"turnOnTheAirConditioningTemperature": "开空调温度",
"power": "功率",
"transmission": "变速器",
"seatingCapacity": "座位数",
"airConditioningBrand": "空调品牌",
"seatType": "座椅类型",
"tireSpecifications": "轮胎规格",
"roadTransportCertificateNo": "道路运输证号",
"parkingPoint": "停放点",
"carWashingType": "洗车类型",
"maintenanceFreeWheelEnd": "免维护轮端",
"firstGuaranteeDate": "首保日期",
"dateOfRenovation": "整修日期",
"motorVehicleOwner": "机动车所有人"
}

54
scripts/0.0.1/data/工具脚本(无需执行)/公交车辆_数据库表对应.json

@ -0,0 +1,54 @@
{
"所属公司": "company",
"所属车队": "fleet",
"所属线路": "line",
"车辆编号": "vehicle_number",
"车辆牌照号": "vehicle_license_plate_number",
"运营类别": "operation_category",
"已使用年限": "service_life",
"发动机型号": "engine_model",
"车辆型号": "vehicle_model",
"车辆类别": "vehicle_category",
"车辆状态": "vehicle_status",
"入户日期": "date_of_entry",
"购进日期": "purchase_date",
"能耗类型": "energy_consumption_type",
"标台数": "number_of_standard_units",
"维保单位": "maintenance_unit",
"车辆类型": "vehicle_type",
"厂牌型号": "brand_and_model",
"生产厂家": "manufacturer",
"行驶证编号": "driving_license_No",
"发动机编号": "engine_number",
"主能耗": "main_energy_consumption",
"副能耗": "secondary_energy_consumption",
"排放标准": "emission_standard",
"启用日期": "start_date",
"最近一次调动日期": "last_transfer_date",
"车长": "conductor",
"车宽": "vehicle_width",
"车高": "car_height",
"核定载客数": "approved_passenger_capacity",
"车辆识别号": "vehicle_identification_number",
"变速箱品牌": "gearbox_brand",
"人工洗车费": "manual_car_washing_fee",
"劳务费": "labor_cost",
"整备质量": "curb_weight",
"总质量": "total_mass",
"空调温度": "air_conditioning_temperature",
"是否空调车": "air_conditioned_car_or_not",
"开空调温度": "turn_on_the_air_conditioning_temperature",
"功率": "power",
"变速器": "transmission",
"座位数": "seating_capacity",
"空调品牌": "air_conditioning_brand",
"座椅类型": "seat_type",
"轮胎规格": "tire_specifications",
"道路运输证号": "road_Transport_Certificate_No",
"停放点": "parking_point",
"洗车类型": "car_washing_type",
"免维护轮端": "maintenance_free_wheel_end",
"首保日期": "first_guarantee_date",
"整修日期": "date_of_renovation",
"机动车所有人": "motor_vehicle_owner"
}

58
scripts/0.0.1/data/工具脚本(无需执行)/公交车辆_数据脚本对应.sql

@ -0,0 +1,58 @@
-- 公交车辆
CREATE TABLE if not exists "bus_car" ( id serial not null );
CREATE unique index if not exists bus_car_id_uindex
ON bus_car (id); alter TABLE bus_car add constraint bus_car_pk primary key (id); alter TABLE bus_car add Company varchar(1024); comment
ON column bus_car.Company is '所属公司'; alter TABLE bus_car add Fleet varchar(1024); comment
ON column bus_car.Fleet is '所属车队'; alter TABLE bus_car add Line varchar(1024); comment
ON column bus_car.Line is '所属线路'; alter TABLE bus_car add Vehicle_Number varchar(1024); comment
ON column bus_car.Vehicle_Number is '车辆编号'; alter TABLE bus_car add Vehicle_License_Plate_Number varchar(1024); comment
ON column bus_car.Vehicle_License_Plate_Number is '车辆牌照号'; alter TABLE bus_car add Operation_Category varchar(1024); comment
ON column bus_car.Operation_Category is '运营类别'; alter TABLE bus_car add Service_Life varchar(1024); comment
ON column bus_car.Service_Life is '已使用年限'; alter TABLE bus_car add Engine_Model varchar(1024); comment
ON column bus_car.Engine_Model is '发动机型号'; alter TABLE bus_car add Vehicle_Model varchar(1024); comment
ON column bus_car.Vehicle_Model is '车辆型号'; alter TABLE bus_car add Vehicle_Category varchar(1024); comment
ON column bus_car.Vehicle_Category is '车辆类别'; alter TABLE bus_car add Vehicle_Status varchar(1024); comment
ON column bus_car.Vehicle_Status is '车辆状态'; alter TABLE bus_car add Date_Of_Entry varchar(1024); comment
ON column bus_car.Date_Of_Entry is '入户日期'; alter TABLE bus_car add Purchase_Date varchar(1024); comment
ON column bus_car.Purchase_Date is '购进日期'; alter TABLE bus_car add Energy_Consumption_Type varchar(1024); comment
ON column bus_car.Energy_Consumption_Type is '能耗类型'; alter TABLE bus_car add Number_Of_Standard_Units varchar(1024); comment
ON column bus_car.Number_Of_Standard_Units is '标台数'; alter TABLE bus_car add Maintenance_Unit varchar(1024); comment
ON column bus_car.Maintenance_Unit is '维保单位'; alter TABLE bus_car add Vehicle_Type varchar(1024); comment
ON column bus_car.Vehicle_Type is '车辆类型'; alter TABLE bus_car add Brand_And_Model varchar(1024); comment
ON column bus_car.Brand_And_Model is '厂牌型号'; alter TABLE bus_car add Manufacturer varchar(1024); comment
ON column bus_car.Manufacturer is '生产厂家'; alter TABLE bus_car add Driving_License_No varchar(1024); comment
ON column bus_car.Driving_License_No is '行驶证编号'; alter TABLE bus_car add Engine_Number varchar(1024); comment
ON column bus_car.Engine_Number is '发动机编号'; alter TABLE bus_car add Main_Energy_Consumption varchar(1024); comment
ON column bus_car.Main_Energy_Consumption is '主能耗'; alter TABLE bus_car add Secondary_Energy_Consumption varchar(1024); comment
ON column bus_car.Secondary_Energy_Consumption is '副能耗'; alter TABLE bus_car add Emission_Standard varchar(1024); comment
ON column bus_car.Emission_Standard is '排放标准'; alter TABLE bus_car add Start_Date varchar(1024); comment
ON column bus_car.Start_Date is '启用日期'; alter TABLE bus_car add Last_Transfer_Date varchar(1024); comment
ON column bus_car.Last_Transfer_Date is '最近一次调动日期'; alter TABLE bus_car add Conductor varchar(1024); comment
ON column bus_car.Conductor is '车长'; alter TABLE bus_car add Vehicle_Width varchar(1024); comment
ON column bus_car.Vehicle_Width is '车宽'; alter TABLE bus_car add Car_Height varchar(1024); comment
ON column bus_car.Car_Height is '车高'; alter TABLE bus_car add Approved_Passenger_Capacity varchar(1024); comment
ON column bus_car.Approved_Passenger_Capacity is '核定载客数'; alter TABLE bus_car add Vehicle_Identification_Number varchar(1024); comment
ON column bus_car.Vehicle_Identification_Number is '车辆识别号'; alter TABLE bus_car add Gearbox_Brand varchar(1024); comment
ON column bus_car.Gearbox_Brand is '变速箱品牌'; alter TABLE bus_car add Manual_Car_Washing_Fee varchar(1024); comment
ON column bus_car.Manual_Car_Washing_Fee is '人工洗车费'; alter TABLE bus_car add Labor_Cost varchar(1024); comment
ON column bus_car.Labor_Cost is '劳务费'; alter TABLE bus_car add Curb_Weight varchar(1024); comment
ON column bus_car.Curb_Weight is '整备质量'; alter TABLE bus_car add Total_Mass varchar(1024); comment
ON column bus_car.Total_Mass is '总质量'; alter TABLE bus_car add Air_Conditioning_Temperature varchar(1024); comment
ON column bus_car.Air_Conditioning_Temperature is '空调温度'; alter TABLE bus_car add Air_Conditioned_Car_Or_Not varchar(1024); comment
ON column bus_car.Air_Conditioned_Car_Or_Not is '是否空调车'; alter TABLE bus_car add Turn_On_The_Air_Conditioning_Temperature varchar(1024); comment
ON column bus_car.Turn_On_The_Air_Conditioning_Temperature is '开空调温度'; alter TABLE bus_car add Power varchar(1024); comment
ON column bus_car.Power is '功率'; alter TABLE bus_car add Transmission varchar(1024); comment
ON column bus_car.Transmission is '变速器'; alter TABLE bus_car add Seating_Capacity varchar(1024); comment
ON column bus_car.Seating_Capacity is '座位数'; alter TABLE bus_car add Air_Conditioning_Brand varchar(1024); comment
ON column bus_car.Air_Conditioning_Brand is '空调品牌'; alter TABLE bus_car add Seat_Type varchar(1024); comment
ON column bus_car.Seat_Type is '座椅类型'; alter TABLE bus_car add Tire_Specifications varchar(1024); comment
ON column bus_car.Tire_Specifications is '轮胎规格'; alter TABLE bus_car add Road_Transport_Certificate_No varchar(1024); comment
ON column bus_car.Road_Transport_Certificate_No is '道路运输证号'; alter TABLE bus_car add Parking_Point varchar(1024); comment
ON column bus_car.Parking_Point is '停放点'; alter TABLE bus_car add Car_Washing_Type varchar(1024); comment
ON column bus_car.Car_Washing_Type is '洗车类型'; alter TABLE bus_car add Maintenance_Free_Wheel_End varchar(1024); comment
ON column bus_car.Maintenance_Free_Wheel_End is '免维护轮端'; alter TABLE bus_car add First_Guarantee_Date varchar(1024); comment
ON column bus_car.First_Guarantee_Date is '首保日期'; alter TABLE bus_car add Date_Of_Renovation varchar(1024); comment
ON column bus_car.Date_Of_Renovation is '整修日期'; alter TABLE bus_car add Motor_Vehicle_Owner varchar(1024); comment
ON column bus_car.Motor_Vehicle_Owner is '机动车所有人';

26
scripts/0.0.1/data/工具脚本(无需执行)/道路_字段对应.json

@ -10,11 +10,19 @@
"止点分界点类别": "categoryOfDeadCenterAndDividingPoint",
"止点桩号": "stopStation",
"路段类型": "sectionType",
"路网调整前路线编码": "routeCodeBeforeRoadNetworkAdjustment",
"原路段序号": "serialNumberOfOriginalSection",
"原路段起点桩号": "startingStakeNumberOfTheOriginalRoadSection",
"原路段止点桩号": "endingPointStakeNoOfTheOriginalRoadSection",
"路线等级": "routeLevel",
"路段性质": "natureOfRoadSection",
"建成时间": "completionTime",
"改建时间": "reconstructionTime",
"建设性质": "natureOfConstruction",
"GBM及文明样板路": "gBMAndCivilizedModelRoad",
"地貌": "landforms",
"收费性质": "natureOfCharges",
"所属收费站": "tollStation",
"涵洞数量": "numberOfCulverts",
"技术等级": "technicalLevel",
"路面类型": "pavementType",
@ -34,9 +42,27 @@
"重复道路路段类型": "typeOfRepeatedRoadSection",
"重复路段序号": "serialNumberOfRepeatedSection",
"重复路段路线编码": "repeatedSectionRouteCode",
"计划资金类别": "plannedFundCategory",
"计划年度": "plannedYear",
"计划文号": "planDocumentNo",
"计划项目唯一编码": "planItemUniqueCode",
"计划项目路线编码": "plannedProjectRouteCode",
"计划项目名称": "planProjectName",
"计划项目类型": "plannedProjectType",
"完工情况": "completionStatus",
"完工年度": "yearOfCompletion",
"计划资金类别_1": "plannedFundCategoryOne",
"计划年度_1": "plannedYearOne",
"计划文号_1": "planDocumentNoOne",
"计划项目唯一编码_1": "planItemUniqueCodeOne",
"计划项目名称_1": "planProjectNameOne",
"完工情况_1": "completionStatusOne",
"完工年度_1": "yearOfCompletionOne",
"桩号范围": "stationRange",
"填报单位": "reportingUnit",
"变更原因": "reasonForChange",
"变更时间": "changeTime",
"最近一次修复养护年度": "lastRepairAndMaintenanceYear",
"是否按干线公路管理接养": "whetherMaintenanceManagedHighway",
"备注": "remarks",
"上年路线编码": "routeCodeOfLastYear",

26
scripts/0.0.1/data/工具脚本(无需执行)/道路_数据字段对应.json

@ -10,11 +10,19 @@
"categoryOfDeadCenterAndDividingPoint": "止点分界点类别",
"stopStation": "止点桩号",
"sectionType": "路段类型",
"routeCodeBeforeRoadNetworkAdjustment": "路网调整前路线编码",
"serialNumberOfOriginalSection": "原路段序号",
"startingStakeNumberOfTheOriginalRoadSection": "原路段起点桩号",
"endingPointStakeNoOfTheOriginalRoadSection": "原路段止点桩号",
"routeLevel": "路线等级",
"natureOfRoadSection": "路段性质",
"completionTime": "建成时间",
"reconstructionTime": "改建时间",
"natureOfConstruction": "建设性质",
"gBMAndCivilizedModelRoad": "GBM及文明样板路",
"landforms": "地貌",
"natureOfCharges": "收费性质",
"tollStation": "所属收费站",
"numberOfCulverts": "涵洞数量",
"technicalLevel": "技术等级",
"pavementType": "路面类型",
@ -34,9 +42,27 @@
"typeOfRepeatedRoadSection": "重复道路路段类型",
"serialNumberOfRepeatedSection": "重复路段序号",
"repeatedSectionRouteCode": "重复路段路线编码",
"plannedFundCategory": "计划资金类别",
"plannedYear": "计划年度",
"planDocumentNo": "计划文号",
"planItemUniqueCode": "计划项目唯一编码",
"plannedProjectRouteCode": "计划项目路线编码",
"planProjectName": "计划项目名称",
"plannedProjectType": "计划项目类型",
"completionStatus": "完工情况",
"yearOfCompletion": "完工年度",
"plannedFundCategoryOne": "计划资金类别_1",
"plannedYearOne": "计划年度_1",
"planDocumentNoOne": "计划文号_1",
"planItemUniqueCodeOne": "计划项目唯一编码_1",
"planProjectNameOne": "计划项目名称_1",
"completionStatusOne": "完工情况_1",
"yearOfCompletionOne": "完工年度_1",
"stationRange": "桩号范围",
"reportingUnit": "填报单位",
"reasonForChange": "变更原因",
"changeTime": "变更时间",
"lastRepairAndMaintenanceYear": "最近一次修复养护年度",
"whetherMaintenanceManagedHighway": "是否按干线公路管理接养",
"remarks": "备注",
"routeCodeOfLastYear": "上年路线编码",

26
scripts/0.0.1/data/工具脚本(无需执行)/道路_数据库表对应.json

@ -10,11 +10,19 @@
"止点分界点类别": "category_of_dead_center_and_dividing_point",
"止点桩号": "stop_station",
"路段类型": "section_type",
"路网调整前路线编码": "route_code_before_road_network_adjustment",
"原路段序号": "serial_number_of_original_section",
"原路段起点桩号": "starting_stake_number_of_the_original_road_section",
"原路段止点桩号": "ending_point_stake_no_of_the_original_road_section",
"路线等级": "route_level",
"路段性质": "nature_of_road_section",
"建成时间": "completion_time",
"改建时间": "reconstruction_time",
"建设性质": "nature_of_construction",
"GBM及文明样板路": "gBM_and_civilized_model_road",
"地貌": "landforms",
"收费性质": "nature_of_charges",
"所属收费站": "toll_station",
"涵洞数量": "number_of_culverts",
"技术等级": "technical_level",
"路面类型": "pavement_type",
@ -34,9 +42,27 @@
"重复道路路段类型": "type_of_repeated_road_section",
"重复路段序号": "serial_number_of_repeated_section",
"重复路段路线编码": "repeated_section_route_code",
"计划资金类别": "planned_fund_category",
"计划年度": "planned_year",
"计划文号": "plan_document_No",
"计划项目唯一编码": "plan_item_unique_code",
"计划项目路线编码": "planned_project_route_code",
"计划项目名称": "plan_project_name",
"计划项目类型": "planned_project_type",
"完工情况": "completion_status",
"完工年度": "year_of_completion",
"计划资金类别_1": "planned_fund_category__one",
"计划年度_1": "planned_year__one",
"计划文号_1": "plan_document_No__one",
"计划项目唯一编码_1": "plan_item_unique_code__one",
"计划项目名称_1": "plan_project_name__one",
"完工情况_1": "completion_status__one",
"完工年度_1": "year_of_completion__one",
"桩号范围": "station_range",
"填报单位": "reporting_unit",
"变更原因": "reason_for_change",
"变更时间": "change_time",
"最近一次修复养护年度": "last_repair_and_maintenance_year",
"是否按干线公路管理接养": "whether_maintenance_managed_highway",
"备注": "remarks",
"上年路线编码": "route_code_of_last_year",

36
scripts/0.0.1/data/工具脚本(无需执行)/道路_数据脚本对应.sql

@ -14,12 +14,20 @@ ON column road.Category_Of_Starting_Point_And_Dividing_Point is '起点分界点
ON column road.Stop_Place_Name is '止点地名'; alter TABLE road add Category_Of_Dead_Center_And_Dividing_Point varchar(1024); comment
ON column road.Category_Of_Dead_Center_And_Dividing_Point is '止点分界点类别'; alter TABLE road add Stop_Station varchar(1024); comment
ON column road.Stop_Station is '止点桩号'; alter TABLE road add Section_Type varchar(1024); comment
ON column road.Section_Type is '路段类型'; alter TABLE road add Nature_Of_Road_Section varchar(1024); comment
ON column road.Section_Type is '路段类型'; alter TABLE road add Route_Code_Before_Road_Network_Adjustment varchar(1024); comment
ON column road.Route_Code_Before_Road_Network_Adjustment is '路网调整前路线编码'; alter TABLE road add Serial_Number_Of_Original_Section varchar(1024); comment
ON column road.Serial_Number_Of_Original_Section is '原路段序号'; alter TABLE road add Starting_Stake_Number_Of_The_Original_Road_Section varchar(1024); comment
ON column road.Starting_Stake_Number_Of_The_Original_Road_Section is '原路段起点桩号'; alter TABLE road add Ending_Point_Stake_No_Of_The_Original_Road_Section varchar(1024); comment
ON column road.Ending_Point_Stake_No_Of_The_Original_Road_Section is '原路段止点桩号'; alter TABLE road add Route_Level varchar(1024); comment
ON column road.Route_Level is '路线等级'; alter TABLE road add Nature_Of_Road_Section varchar(1024); comment
ON column road.Nature_Of_Road_Section is '路段性质'; alter TABLE road add Completion_Time varchar(1024); comment
ON column road.Completion_Time is '建成时间'; alter TABLE road add GBM_And_Civilized_Model_Road varchar(1024); comment
ON column road.Completion_Time is '建成时间'; alter TABLE road add Reconstruction_Time varchar(1024); comment
ON column road.Reconstruction_Time is '改建时间'; alter TABLE road add Nature_Of_Construction varchar(1024); comment
ON column road.Nature_Of_Construction is '建设性质'; alter TABLE road add GBM_And_Civilized_Model_Road varchar(1024); comment
ON column road.GBM_And_Civilized_Model_Road is 'GBM及文明样板路'; alter TABLE road add Landforms varchar(1024); comment
ON column road.Landforms is '地貌'; alter TABLE road add Nature_Of_Charges varchar(1024); comment
ON column road.Nature_Of_Charges is '收费性质'; alter TABLE road add Number_Of_Culverts varchar(1024); comment
ON column road.Nature_Of_Charges is '收费性质'; alter TABLE road add Toll_Station varchar(1024); comment
ON column road.Toll_Station is '所属收费站'; alter TABLE road add Number_Of_Culverts varchar(1024); comment
ON column road.Number_Of_Culverts is '涵洞数量'; alter TABLE road add Technical_Level varchar(1024); comment
ON column road.Technical_Level is '技术等级'; alter TABLE road add Pavement_Type varchar(1024); comment
ON column road.Pavement_Type is '路面类型'; alter TABLE road add Pavement_Width varchar(1024); comment
@ -38,10 +46,28 @@ ON column road.Greening_Mileage is '可绿化里程'; alter TABLE road add Green
ON column road.Greening_Mileaged is '已绿化里程'; alter TABLE road add Type_Of_Repeated_Road_Section varchar(1024); comment
ON column road.Type_Of_Repeated_Road_Section is '重复道路路段类型'; alter TABLE road add Serial_Number_Of_Repeated_Section varchar(1024); comment
ON column road.Serial_Number_Of_Repeated_Section is '重复路段序号'; alter TABLE road add Repeated_Section_Route_Code varchar(1024); comment
ON column road.Repeated_Section_Route_Code is '重复路段路线编码'; alter TABLE road add Reporting_Unit varchar(1024); comment
ON column road.Repeated_Section_Route_Code is '重复路段路线编码'; alter TABLE road add Planned_Fund_Category varchar(1024); comment
ON column road.Planned_Fund_Category is '计划资金类别'; alter TABLE road add Planned_Year varchar(1024); comment
ON column road.Planned_Year is '计划年度'; alter TABLE road add Plan_Document_No varchar(1024); comment
ON column road.Plan_Document_No is '计划文号'; alter TABLE road add Plan_Item_Unique_Code varchar(1024); comment
ON column road.Plan_Item_Unique_Code is '计划项目唯一编码'; alter TABLE road add Planned_Project_Route_Code varchar(1024); comment
ON column road.Planned_Project_Route_Code is '计划项目路线编码'; alter TABLE road add Plan_Project_Name varchar(1024); comment
ON column road.Plan_Project_Name is '计划项目名称'; alter TABLE road add Planned_Project_Type varchar(1024); comment
ON column road.Planned_Project_Type is '计划项目类型'; alter TABLE road add Completion_Status varchar(1024); comment
ON column road.Completion_Status is '完工情况'; alter TABLE road add Year_Of_Completion varchar(1024); comment
ON column road.Year_Of_Completion is '完工年度'; alter TABLE road add Planned_Fund_Category__One varchar(1024); comment
ON column road.Planned_Fund_Category__One is '计划资金类别_1'; alter TABLE road add Planned_Year__One varchar(1024); comment
ON column road.Planned_Year__One is '计划年度_1'; alter TABLE road add Plan_Document_No__One varchar(1024); comment
ON column road.Plan_Document_No__One is '计划文号_1'; alter TABLE road add Plan_Item_Unique_Code__One varchar(1024); comment
ON column road.Plan_Item_Unique_Code__One is '计划项目唯一编码_1'; alter TABLE road add Plan_Project_Name__One varchar(1024); comment
ON column road.Plan_Project_Name__One is '计划项目名称_1'; alter TABLE road add Completion_Status__One varchar(1024); comment
ON column road.Completion_Status__One is '完工情况_1'; alter TABLE road add Year_Of_Completion__One varchar(1024); comment
ON column road.Year_Of_Completion__One is '完工年度_1'; alter TABLE road add Station_Range varchar(1024); comment
ON column road.Station_Range is '桩号范围'; alter TABLE road add Reporting_Unit varchar(1024); comment
ON column road.Reporting_Unit is '填报单位'; alter TABLE road add Reason_For_Change varchar(1024); comment
ON column road.Reason_For_Change is '变更原因'; alter TABLE road add Change_Time varchar(1024); comment
ON column road.Change_Time is '变更时间'; alter TABLE road add Whether_Maintenance_Managed_Highway varchar(1024); comment
ON column road.Change_Time is '变更时间'; alter TABLE road add Last_Repair_And_Maintenance_Year varchar(1024); comment
ON column road.Last_Repair_And_Maintenance_Year is '最近一次修复养护年度'; alter TABLE road add Whether_Maintenance_Managed_Highway varchar(1024); comment
ON column road.Whether_Maintenance_Managed_Highway is '是否按干线公路管理接养'; alter TABLE road add Remarks varchar(1024); comment
ON column road.Remarks is '备注'; alter TABLE road add Route_Code_Of_Last_Year varchar(1024); comment
ON column road.Route_Code_Of_Last_Year is '上年路线编码'; alter TABLE road add Route_Name_Of_Last_Year varchar(1024); comment

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

@ -1,4 +1,5 @@
import React, { useState, useEffect } from 'react';
import Taro from '@tarojs/taro';
import {
View,
RadioGroup,
@ -37,7 +38,7 @@ const Index = () => {
]
useEffect(() => {
const prjTypeSelector = ['道路', '桥梁', '涵洞']
const prjTypeSelector = ['道路', '桥梁', '涵洞', '其他']
const roadSelector = ['富山一路', '金沙大道', '玉湖路']
setPrjTypeSelector(prjTypeSelector)
setRoadSelector(roadSelector)
@ -66,10 +67,19 @@ const Index = () => {
setProjectType(selector[e.detail.value])
}
function onImgPickerChange() {
function onImgPickerChange(files) {
setimages(files)
}
function onImageClick(index, file) {
Taro.previewImage({
urls: [file.url] // http
})
}
useEffect(() => {
console.log(images);
}, [images])
return (
<View className='patrol'>
<View className='report-type'>
@ -142,14 +152,16 @@ const Index = () => {
<View className='input-picker'>
<AtInput
className='input'
title='所属路段:'
title='所属路段'
type='text'
placeholder='路段名称'
border={false}
// value={this.state.value}
// onChange={this.handleChange.bind(this, 'value')}
/>
<Image src={arrowIcon} className='img-l' />
<Picker mode='selector' range={roadSelector} onChange={onPrjTypeChange}>
<Image src={arrowIcon} className='img-l' />
</Picker>
<AtInput
className='input'
type='text'
@ -158,43 +170,71 @@ const Index = () => {
// value={this.state.value}
// onChange={this.handleChange.bind(this, 'value')}
/>
<Image src={arrowIcon} className='img-r' />
<Picker mode='selector' range={roadSelector} onChange={onPrjTypeChange}>
<Image src={arrowIcon} className='img-r' />
</Picker>
</View>
<View>
<AtTextarea
count={false}
title='具体位置:'
type='text'
placeholder='具体位置:根据定位自动获取,可手动修改'
border={false}
// value={this.state.value}
// onChange={this.handleChange.bind(this, 'value')}
/>
</View>
<AtTextarea
count={false}
title='具体位置:'
placeholder='具体位置:根据定位自动获取,可手动修改'
// value={this.state.value}
// onChange={this.handleChange.bind(this, 'value')}
/>
<AtTextarea
count={false}
title='巡查内容:'
placeholder='请输入巡查内容'
// value={this.state.value}
// onChange={this.handleChange.bind(this, 'value')}
/>
{
isPatrol ?
<View className='img-picker'>
<View className='patrol-picker'>
现场图片
<AtImagePicker
length={3}
className='img-picker'
count={3 - images.length}
showAddBtn={images.length >= 3 ? false : true}
files={images}
onChange={onImgPickerChange}
onImageClick={onImageClick}
/>
</View> :
<View>
<View className='conserve-picker'>
养护图片:
<AtTimeline
items={[
{
title: '养护前',
},
{ title: '养护中' },
{ title: '养护后' }
]}
>
</AtTimeline>
<View className='horizontal-line hl-one'>
<View className='circle c-one'></View>
<View className='text t-one'>养护前</View>
</View>
<AtImagePicker
className='img-picker'
count={3}
files={images}
onChange={onImgPickerChange}
/>
<View className='horizontal-line hl-two'>
<View className='circle c-two'></View>
<View className='text t-two'>养护中</View>
</View>
<AtImagePicker
className='img-picker'
count={3}
files={images}
onChange={onImgPickerChange}
/>
<View className='horizontal-line hl-three'>
<View className='circle c-three'></View>
<View className='text t-three'>养护后</View>
</View>
<AtImagePicker
className='img-picker'
count={3}
files={images}
onChange={onImgPickerChange}
/>
</View>
}

67
weapp/src/packages/patrol/index.scss

@ -40,12 +40,77 @@
}
}
.img-picker {
.patrol-picker {
background-color: #fff;
padding: 20px;
}
.conserve-picker {
background-color: #fff;
padding: 20px;
.horizontal-line {
height: 30px;
width: 100%;
display: flex;
justify-content: left;
align-items: center;
.circle {
margin-left: 4px;
width: 22px;
height: 22px;
background-color: #fff;
border-radius: 50%;
}
.text {
margin-left: 46px;
font-size: 24px;
}
}
.hl-one {
background-color: #DFDFDF;
.c-one {
border: solid 4px #999999;
}
.t-one {
color: #999999;
}
}
.hl-two {
background-color: #f7d3a5;
.c-two {
border: solid 4px #FE9B1C;
}
.t-two {
color: #FE9B1C;
}
}
.hl-three {
background-color: #a0f3a4;
.c-three {
border: solid 4px #08D514;
}
.t-three {
color: #08D514;
}
}
.img-picker {
margin: 20px;
}
}
.sub-btn {
width: 70%;
margin-top: 100px;
}
}

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

@ -5,16 +5,20 @@ import { logout } from '@/actions/auth';
import { getLogoutUrl } from '@/services/api';
import cfg from '../../config';
import './index.scss';
import Common from '../../components/echartForWx/common';
import headImg from '../../static/img/my/head.png';
import moreImg from '../../static/img/my/more.svg';
import pswdImg from '../../static/img/my/pswd.svg';
import reportImg from '../../static/img/my/report.svg';
const { webUrl } = cfg;
const Index = ({ ...props }) => {
const userInfo = Taro.getStorageSync('userInfo') || {};
const goRedirect = () => {
}
const onLogout = () => {
logout(getLogoutUrl()).then(() => {
Taro.reLaunch({
@ -23,19 +27,33 @@ const Index = ({ ...props }) => {
});
}
console.log(userInfo)
return (
<View className='page'>
<View className='personal'>
<View className='info'>
<Image className='icon' src={webUrl + `/assets/avatar/${userInfo.avator}`} />
<View className='name'>{userInfo.displayName || '----'}</View>
<View className='myBox'>
<View className='my-top'>
<Image className='my-portrait' src={headImg} />
<View className='my-item'>
<View className='my-username'>{userInfo.displayName}</View>
<View className='my-phone'>{userInfo.phone}</View>
</View>
</View>
</View>
<View className='logout'>
<Button className='btn' onClick={onLogout}>退出登录</Button>
<View className='box' onClick={() => goRedirect(1)}>
<Image className='box-img' src={reportImg} />
<View className='box-txt'>我的填报</View>
<Image className='img' src={moreImg} />
</View>
<View className='box' onClick={() => goRedirect(2)} style={{ marginTop: '2rpx' }}>
<Image className='box-img' src={pswdImg} />
<View className='box-txt'>修改密码</View>
<Image className='img' src={moreImg} />
</View>
<View className='logout' onClick={onLogout}>退出登录</View>
</View>
);
}

109
weapp/src/pages/user/index.scss

@ -1,45 +1,92 @@
.page {
height: 100vh;
background: #F0F2F5;
box-sizing: border-box;
.personal {
padding: 20px;
.info {
border-radius: 10px;
background: #fff;
height: 30vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
.icon {
width: 150px;
height: 150px;
border-radius: 50%;
display: flex;
flex-direction: column;
.myBox {
width: 90%;
height: 300rpx;
margin: 30rpx auto;
background: url('../../static/img/my/card-bg.svg') no-repeat;
background-size: 100%;
border-radius: 8rpx;
.my-top {
overflow: hidden;
padding: 70rpx 0 28rpx 30rpx;
.my-portrait {
width: 120rpx;
height: 120rpx;
display: block;
float: left;
}
.name {
font-size: 30px;
margin-top: 30px;
.my-item {
float: left;
margin-left: 32rpx;
width: 70%;
.my-username {
font-size: 32rpx;
color: #FFFFFF;
margin-bottom: 24rpx;
margin-top: 6rpx;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
}
.my-phone {
font-size: 28rpx;
font-weight: bold;
color: #FFFFFF;
}
}
}
}
.box {
overflow: hidden;
background-color: #fff;
width: 100%;
height: 92rpx;
line-height: 92rpx;
.box-img {
width: 52rpx;
height: 52rpx;
display: block;
float: left;
padding: 20rpx 20rpx 20rpx 30rpx;
}
.box-txt {
float: left;
font-size: 28rpx;
color: #333333;
}
.img {
width: 52rpx;
height: 52rpx;
display: block;
float: right;
padding: 20rpx 30rpx 20rpx 0;
}
}
.logout {
box-sizing: border-box;
width: 100vw;
margin-top: 50px;
padding: 0 20px;
.btn {
background: #fff;
font-size: 28px;
padding: 8px 0;
}
width: 550rpx;
height: 80rpx;
line-height: 80rpx;
background: #346FC2;
border-radius: 8rpx;
font-size: 28rpx;
color: #FFFFFF;
margin: 98rpx auto 0;
text-align: center;
}
}

23
weapp/src/static/img/my/card-bg.svg

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="345px" height="139px" viewBox="0 0 345 139" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>形状结合</title>
<defs>
<linearGradient x1="117.957428%" y1="37.3935291%" x2="29.6625906%" y2="56.1347143%" id="linearGradient-1">
<stop stop-color="#346FC2" offset="0%"></stop>
<stop stop-color="#50A9F3" offset="100%"></stop>
<stop stop-color="#50A9F3" offset="100%"></stop>
</linearGradient>
<rect id="path-2" x="0" y="0" width="345" height="139" rx="4"></rect>
</defs>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="首页_我的(第三方)" transform="translate(-14.000000, -80.000000)">
<g id="形状结合" transform="translate(14.000000, 80.000000)">
<mask id="mask-3" fill="white">
<use xlink:href="#path-2"></use>
</mask>
<use id="蒙版" fill="url(#linearGradient-1)" xlink:href="#path-2"></use>
<path d="M371,-8 L370.999465,139.158776 C298.893654,132.178406 243,82.6104154 243,22.5 C243,11.9503745 244.721619,1.72547358 247.950347,-8.00147208 L371,-8 Z" fill="#FFFFFF" opacity="0.0897274926" mask="url(#mask-3)"></path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
weapp/src/static/img/my/head.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

13
weapp/src/static/img/my/more.svg

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="26px" height="26px" viewBox="0 0 26 26" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>切片</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<g id="首页_我的(第三方)" transform="translate(-334.000000, -245.000000)" stroke="#CDCDCD" stroke-width="1.65">
<g id="Input-/-Normal-/-文字输入框" transform="translate(0.000000, 235.000000)">
<g id="more" transform="translate(334.000000, 10.000000)">
<polyline id="路径" transform="translate(13.000000, 13.000000) rotate(-135.000000) translate(-13.000000, -13.000000) " points="17 17 9 17 9 9"></polyline>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 889 B

18
weapp/src/static/img/my/pswd.svg

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="26px" height="26px" viewBox="0 0 26 26" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>切片</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="首页_我的(第三方)" transform="translate(-15.000000, -291.000000)" fill="#346FC2" fill-rule="nonzero">
<g id="Input-/-Normal-/-文字输入框" transform="translate(0.000000, 282.000000)">
<g id="icon_pl" transform="translate(15.000000, 9.000000)">
<g id="密码" transform="translate(4.000000, 3.000000)">
<path d="M15.4545454,9.09090908 L15.4545454,18.1818182 L1.81818182,18.1818182 L1.81818182,9.09090908 L15.4545454,9.09090908 M15.4545454,7.27272727 L1.81818182,7.27272727 C0.818181816,7.27272727 0,8.09090908 0,9.09090908 L0,18.1818182 C0,19.1818182 0.818181816,20 1.81818182,20 L15.4545454,20 C16.4545454,20 17.2727273,19.1818182 17.2727273,18.1818182 L17.2727273,9.09090908 C17.2727273,8.09090908 16.4545454,7.27272727 15.4545454,7.27272727 Z" id="形状"></path>
<path d="M8.4090909,1.81818182 C10.4090909,1.81818182 12.0454546,3.45454545 12.0454546,5.45454545 L12.0454546,7.27272727 L4.77272727,7.27272727 L4.77272727,5.45454545 C4.77272727,3.45454545 6.4090909,1.81818182 8.4090909,1.81818182 M8.4090909,0 C5.4090909,0 2.95454545,2.45454545 2.95454545,5.45454545 L2.95454545,9.09090908 L13.8636364,9.09090908 L13.8636364,5.45454545 C13.8636364,2.45454545 11.4090909,0 8.4090909,0 Z" id="形状"></path>
<path d="M6.81818182,12.2727273 C6.81818182,13.2768814 7.63220954,14.0909091 8.63636363,14.0909091 C9.64051772,14.0909091 10.4545454,13.2768814 10.4545454,12.2727273 C10.4545454,11.2685732 9.64051772,10.4545454 8.63636363,10.4545454 C7.63220954,10.4545454 6.81818182,11.2685732 6.81818182,12.2727273 Z" id="路径"></path>
<path d="M8.63636363,16.8181818 C8.13636363,16.8181818 7.72727271,16.4090909 7.72727271,15.9090909 L7.72727271,12.7272727 C7.72727271,12.2272727 8.13636363,11.8181818 8.63636363,11.8181818 C9.13636363,11.8181818 9.54545455,12.2272727 9.54545455,12.7272727 L9.54545455,15.9090909 C9.54545455,16.4090909 9.13636363,16.8181818 8.63636363,16.8181818 L8.63636363,16.8181818 Z" id="路径"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

14
weapp/src/static/img/my/report.svg

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="26px" height="26px" viewBox="0 0 26 26" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>切片</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="首页_我的(第三方)" transform="translate(-15.000000, -245.000000)">
<g id="Input-/-Normal-/-文字输入框" transform="translate(0.000000, 235.000000)">
<g id="icon_pl" transform="translate(15.000000, 10.000000)">
<path d="M23.1,8.8 C23.7075132,8.8 24.2,9.29248678 24.2,9.9 L24.2,13.2 C24.2,13.8075132 23.7075132,14.3 23.1,14.3 L21.1669048,14.3 L21.1669048,8.8 L23.1,8.8 Z M20.0669048,14.3 L9.71859043,14.3 C9.41986798,14.3 9.13399178,14.1785088 8.92666511,13.9634489 L6.6,11.55 L8.92666511,9.13655106 C9.13399178,8.92149118 9.41986798,8.8 9.71859043,8.8 L20.0669048,8.8 L20.0669048,14.3 Z" id="形状结合" fill="#346FC2" transform="translate(15.400000, 11.550000) rotate(-45.000000) translate(-15.400000, -11.550000) "></path>
<path d="M20.7625,13.5179688 L20.7625,20.075 C20.7625,21.1381481 19.9006481,22 18.8375,22 L6.325,22 C5.26185186,22 4.4,21.1381481 4.4,20.075 L4.4,8.525 C4.4,7.46185186 5.26185186,6.6 6.325,6.6 L13.784375,6.6" id="路径" stroke="#346FC2" stroke-width="1.65" stroke-linecap="round"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

Loading…
Cancel
Save