董国庆
2026-01-27 47b26d51fb561ce09ce03173514f7cc26cd1918e
Merge branch 'main' of http://120.76.84.145:10101/gitblit/r/H5/smartBuilding
5个文件已修改
129 ■■■■■ 已修改文件
estate-frontend-v2024/src/api/business.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
estate-frontend-v2024/src/api/screenSetting.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
estate-frontend-v2024/src/views/business/forms/edit-projectStatus-form.jsx 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
estate-frontend-v2024/src/views/business/projects.jsx 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
estate-frontend-v2024/src/views/screenSetting/accidentMessageSetting.jsx 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
estate-frontend-v2024/src/api/business.js
@@ -303,3 +303,11 @@
    data
  })
}
export function setProjectStatus(data) {
  return request({
    url: '/admin/project/setProjectStatus',
    method: 'post',
    data
  })
}
estate-frontend-v2024/src/api/screenSetting.js
@@ -124,3 +124,10 @@
    method: 'get'
  })
}
export function enableAccidentBrief(id) {
  return request({
    url: `/admin/accident-brief/enable/${id}`,
    method: 'post'
  })
}
estate-frontend-v2024/src/views/business/forms/edit-projectStatus-form.jsx
@@ -1,49 +1,71 @@
import React from "react";
import { Form, DatePicker, Modal, Radio } from "antd";
import {clientTypeMap} from "../../common/constants";
import BaseForm from "../../common/edit-form-base";
import moment from "moment";
class EditClientForm extends BaseForm {
class EditProjectStatusForm extends BaseForm {
  initEditableData () {
    return {
      date: '',
      successTime: null,
      status: 1
    }
  }
  viewWillAppear() {
    const { successTime } = this.state.editableData;
    if (successTime && typeof successTime === 'string') {
      this.setFieldValue('successTime', moment(successTime));
    }
  }
  handleOk = () => {
    this.props.form.validateFields((err, values) => {
      if (!err) {
        const formattedValues = {
          ...values,
          successTime: values.successTime ? values.successTime.format('YYYY-MM-DD') : null
        };
        this.props.onOk(formattedValues);
      }
    });
  }
  render() {
    const { visible, onCancel, onOk, form, confirmLoading } = this.props;
    const { visible, onCancel, form, confirmLoading } = this.props;
    const { getFieldDecorator } = form;
    const { date, status } = this.state.editableData;
    let { successTime, status } = this.state.editableData;
    if (successTime && !moment.isMoment(successTime)) {
      successTime = moment(successTime);
    }
    return (
        <Modal
            title="修改状态"
            visible={visible}
            onCancel={onCancel}
            onOk={onOk}
            onOk={this.handleOk}
            destroyOnClose
            confirmLoading={confirmLoading}
        >
          <Form {...this.formItemLayout}>
            <Form.Item label="">
            <Form.Item label="状态">
              {getFieldDecorator("status", {
                rules: [{ required: true, message: "请选择状态!" }],
                initialValue: status,
                onChange: this.handleFieldChange('status')
              })(<Radio.Group style={{marginLeft: '10px'}}>
              })(<Radio.Group>
                <Radio value={1}>在建</Radio>
                <Radio value={2}>完成</Radio>
              </Radio.Group>)}
            </Form.Item>
            {status === 2 && <Form.Item label="完成时间:">
              {getFieldDecorator("date", {
            {status === 2 && <Form.Item label="完成时间">
              {getFieldDecorator("successTime", {
                rules: [{ required: true, message: "请选择完成时间!" }],
                initialValue: date,
                onChange: this.handleFieldChange('date')
              })(<DatePicker style={{marginLeft: '10px'}} placeholder="请选择完成时间" />)}
                initialValue: successTime,
                onChange: this.handleFieldChange('successTime')
              })(<DatePicker style={{width: '100%'}} placeholder="请选择完成时间" />)}
            </Form.Item>}
          </Form>
        </Modal>
@@ -51,4 +73,4 @@
  }
}
export default Form.create({ name: "EditClientForm" })(EditClientForm);
export default Form.create({ name: "EditProjectStatusForm" })(EditProjectStatusForm);
estate-frontend-v2024/src/views/business/projects.jsx
@@ -15,7 +15,7 @@
import DeviceUsage from "./components/deviceUsage";
import Spacer from "../common/components/Spacer";
import { includePermission } from "../../utils/auth";
import { getClientOptions, setProjectPermission } from "../../api/business";
import { getClientOptions, setProjectPermission, setProjectStatus } from "../../api/business";
import { toOptionsData } from "../common/common_func";
import {
  exportPlan,
@@ -181,6 +181,32 @@
  };
  handleStatusSettingOk = (formData) => {
    this.setState({
      projectStatusSettingLoading: true
    });
    const { currentRowData } = this.state;
    const params = {
      projectId: currentRowData.id,
      status: formData.status,
      successTime: formData.successTime
    };
    setProjectStatus(params).then(res => {
      this.setState({
        projectStatusSettingLoading: false
      });
      if (res.data.status === 'OK') {
        message.success("修改状态成功");
        this.setState({
          showProjectStatusSetting: false,
          currentRowData: null,
        });
        this.reloadEntities();
      }
    }).catch(() => {
      this.setState({
        projectStatusSettingLoading: false
      });
    });
  };
  render() {
@@ -441,6 +467,7 @@
        <EditProjectStatusForm
          currentRowData={this.state.currentRowData}
          visible={this.state.showProjectStatusSetting}
          confirmLoading={this.state.projectStatusSettingLoading}
          onCancel={this.handleProjectStatusSettingCancel}
          onOk={this.handleStatusSettingOk}
        />
estate-frontend-v2024/src/views/screenSetting/accidentMessageSetting.jsx
@@ -1,10 +1,11 @@
import React from "react";
import { Card, Divider, Icon, Input, Select, Table } from "antd";
import { Card, Divider, Icon, Input, Select, Table, Modal, message } from "antd";
import {
  getAccidentBriefList,
  addAccidentBrief,
  editAccidentBrief,
  deleteAccidentBrief
  deleteAccidentBrief,
  enableAccidentBrief
} from "@/api/screenSetting";
import EditAccidentMessageForm from "./forms/edit-accidentMessage-form";
import "./style/index.less";
@@ -73,6 +74,30 @@
  deleteEntities(ids) {
    return deleteAccidentBrief(ids.ids[0]);
  }
  // 启用 / 禁用事故简讯,二次确认
  handleEnableDisableEntity = (row) => {
    Modal.confirm({
      title: "确认操作",
      content: `确定要${row.state === 1 ? "禁用" : "启用"}该事故简讯「${row.title}」吗?`,
      okText: "确认",
      cancelText: "取消",
      onOk: () => {
        return enableAccidentBrief(row.id)
          .then((res) => {
            if (res && res.data && (res.data.status === "OK" || res.data.code === 200)) {
              message.success("操作成功");
              this.reloadEntities();
            } else {
              message.error((res && res.data && res.data.errorMsg) || "操作失败");
            }
          })
          .catch((e) => {
            message.error("操作失败: " + e.message);
          });
      },
    });
  };
  render() {
    const { entities } = this.state;
@@ -165,10 +190,12 @@
            <Column
              title="操作"
              key="action"
              width={200}
              width={260}
              align="center"
              render={(text, row) => (
                <span>
                  {this.renderEnableDisableButton(row)}
                  <Divider type="vertical" />
                  {this.renderEditButton(row, "device:edit")}
                  <Divider type="vertical" />
                  {this.renderDeleteButton(row, "device:delete")}