From f0c654202b1e12d401346d3d4c6aad17d30d8b40 Mon Sep 17 00:00:00 2001 From: "gao.zhiyuan" Date: Wed, 22 Feb 2023 09:37:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A1=E6=A3=80=E8=AE=A1=E5=88=92=E7=BB=91?= =?UTF-8?q?=E5=AE=9A=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controllers/patrolManage/patrolPlan.js | 16 ++++++------ api/app/lib/models/patrol_plan.js | 19 ++++++++++---- api/sequelize-automate.config.js | 2 +- script/1.0.3/schema/2.update_patrol_plan.sql | 2 ++ .../sections/patrolManage/actions/template.js | 9 ++++--- .../patrolManage/components/planModal.js | 25 ++++++++++++++++--- .../patrolManage/containers/patrolPlan.js | 12 ++++++--- 7 files changed, 60 insertions(+), 25 deletions(-) create mode 100644 script/1.0.3/schema/2.update_patrol_plan.sql diff --git a/api/app/lib/controllers/patrolManage/patrolPlan.js b/api/app/lib/controllers/patrolManage/patrolPlan.js index b229c48..81441dc 100644 --- a/api/app/lib/controllers/patrolManage/patrolPlan.js +++ b/api/app/lib/controllers/patrolManage/patrolPlan.js @@ -1,6 +1,6 @@ 'use strict'; -async function getPatrolPlan(ctx, next) { +async function getPatrolPlan (ctx, next) { try { const models = ctx.fs.dc.models; const { limit, page, userId } = ctx.query; @@ -43,13 +43,13 @@ async function getPatrolPlan(ctx, next) { } } -async function createPatrolPlan(ctx, next) { +async function createPatrolPlan (ctx, next) { try { const models = ctx.fs.dc.models; const data = ctx.request.body; - const { name, way, structureId, startTime, endTime, frequency, points, userId } = data; + const { name, way, structureId, startTime, endTime, frequency, points, userId, templateId } = data; - let plan = { name, way, structureId, startTime, endTime, frequency, points, userId }; + let plan = { name, way, structureId, startTime, endTime, frequency, points, userId, templateId }; await models.PatrolPlan.create(plan); @@ -63,14 +63,14 @@ async function createPatrolPlan(ctx, next) { } } -async function updatePatrolPlan(ctx, next) { +async function updatePatrolPlan (ctx, next) { try { let errMsg = '修改巡检计划失败'; const models = ctx.fs.dc.models; const data = ctx.request.body; - const { name, way, structureId, startTime, endTime, frequency, points, userId } = data; + const { name, way, structureId, startTime, endTime, frequency, points, userId, templateId } = data; - let plan = { name, way, structureId, startTime, endTime, frequency, points, userId }; + let plan = { name, way, structureId, startTime, endTime, frequency, points, userId, templateId }; if (data && data.id) { await models.PatrolPlan.update(plan, { @@ -91,7 +91,7 @@ async function updatePatrolPlan(ctx, next) { } } -async function delPatrolPlan(ctx, next) { +async function delPatrolPlan (ctx, next) { try { let errMsg = '删除巡检计划失败'; diff --git a/api/app/lib/models/patrol_plan.js b/api/app/lib/models/patrol_plan.js index 91e5ddd..1bb18ae 100644 --- a/api/app/lib/models/patrol_plan.js +++ b/api/app/lib/models/patrol_plan.js @@ -4,7 +4,7 @@ module.exports = dc => { const DataTypes = dc.ORM; const sequelize = dc.orm; - const PatrolPlan = sequelize.define("PatrolPlan", { + const PatrolPlan = sequelize.define("patrolPlan", { id: { type: DataTypes.INTEGER, allowNull: false, @@ -12,8 +12,7 @@ module.exports = dc => { comment: null, primaryKey: true, field: "id", - autoIncrement: true, - unique: "patrol_plan_id_uindex" + autoIncrement: true }, name: { type: DataTypes.STRING, @@ -81,20 +80,30 @@ module.exports = dc => { userId: { type: DataTypes.INTEGER, allowNull: true, + defaultValue: null, comment: null, primaryKey: false, field: "user_id", - autoIncrement: false, + autoIncrement: false }, patrolCount: { type: DataTypes.INTEGER, allowNull: false, - defaultValue: 0, + defaultValue: "0", comment: null, primaryKey: false, field: "patrol_count", autoIncrement: false }, + templateId: { + type: DataTypes.INTEGER, + allowNull: true, + defaultValue: null, + comment: null, + primaryKey: false, + field: "template_id", + autoIncrement: false + } }, { tableName: "patrol_plan", comment: "", diff --git a/api/sequelize-automate.config.js b/api/sequelize-automate.config.js index 8a957e3..8deb96e 100644 --- a/api/sequelize-automate.config.js +++ b/api/sequelize-automate.config.js @@ -26,7 +26,7 @@ module.exports = { dir: './app/lib/models', // 指定输出 models 文件的目录 typesDir: 'models', // 指定输出 TypeScript 类型定义的文件目录,只有 TypeScript / Midway 等会有类型定义 emptyDir: false, // !!! 谨慎操作 生成 models 之前是否清空 `dir` 以及 `typesDir` - tables: ['patrol_template','patrol_template_check_items'], // 指定生成哪些表的 models,如 ['user', 'user_post'];如果为 null,则忽略改属性 + tables: ['patrol_plan'], // 指定生成哪些表的 models,如 ['user', 'user_post'];如果为 null,则忽略改属性 skipTables: [], // 指定跳过哪些表的 models,如 ['user'];如果为 null,则忽略改属性 tsNoCheck: false, // 是否添加 `@ts-nocheck` 注释到 models 文件中 ignorePrefix: ['t_',], // 生成的模型名称忽略的前缀,因为 项目中有以下表名是以 t_ 开头的,在实际模型中不需要, 可以添加多个 [ 't_data_', 't_',] ,长度较长的 前缀放前面 diff --git a/script/1.0.3/schema/2.update_patrol_plan.sql b/script/1.0.3/schema/2.update_patrol_plan.sql new file mode 100644 index 0000000..31a4051 --- /dev/null +++ b/script/1.0.3/schema/2.update_patrol_plan.sql @@ -0,0 +1,2 @@ +alter table patrol_plan + add template_id int; diff --git a/web/client/src/sections/patrolManage/actions/template.js b/web/client/src/sections/patrolManage/actions/template.js index 981ab79..e5c8afd 100644 --- a/web/client/src/sections/patrolManage/actions/template.js +++ b/web/client/src/sections/patrolManage/actions/template.js @@ -3,17 +3,18 @@ import { basicAction } from '@peace/utils' import { ApiTable } from '$utils' -export function getPatrolTemplate() { +export function getPatrolTemplate () { return dispatch => basicAction({ type: 'get', dispatch: dispatch, actionType: 'GET_PATROL_TEMPLATE', url: ApiTable.patrolTemplate, msg: { error: '获取巡检模板失败' }, + reducer: { name: 'patrolTemplate' } }); } -export function createPatrolTemplate(data) { +export function createPatrolTemplate (data) { return dispatch => basicAction({ type: 'post', data, @@ -24,7 +25,7 @@ export function createPatrolTemplate(data) { }); } -export function delPatrolTemplate(id) { +export function delPatrolTemplate (id) { return dispatch => basicAction({ type: 'del', dispatch: dispatch, @@ -34,7 +35,7 @@ export function delPatrolTemplate(id) { }); } -export function updatePatrolTemplate(data) { +export function updatePatrolTemplate (data) { return dispatch => basicAction({ type: 'put', data, diff --git a/web/client/src/sections/patrolManage/components/planModal.js b/web/client/src/sections/patrolManage/components/planModal.js index 67f4e96..06e8c92 100644 --- a/web/client/src/sections/patrolManage/components/planModal.js +++ b/web/client/src/sections/patrolManage/components/planModal.js @@ -6,7 +6,7 @@ import moment from 'moment'; const { RangePicker } = DatePicker; -const PlanModal = ({ visible, onCreate, onCancel, dispatch, userLoading, userList, structureList, struLoading, type, curRecord }) => { +const PlanModal = ({ visible, onCreate, onCancel, dispatch, userLoading, userList, structureList, struLoading, type, curRecord, templateLoading, patrolTemplate }) => { const [userOpt, setUserOpt] = useState(); const [struOpt, setStruOpt] = useState(); const [pointOpt, setPointOpt] = useState(); @@ -144,6 +144,21 @@ const PlanModal = ({ visible, onCreate, onCancel, dispatch, userLoading, userLis > + +