123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- import { Select, message, Modal } from "antd";
- import { connect } from "dva/index";
- import router from 'umi/router';
- import { Component } from "react";
- import { businessStateEnum } from "@/utils/utils";
- import styles from "./index.less";
- @connect(({ store }) => ({
- store,
- }))
- export default class BusinessStateSelector extends Component {
- constructor(props) {
- super(props);
- this.state = {
- stateList: Object.keys(businessStateEnum).map((key) => ({
- name: businessStateEnum[key],
- value: Number(key),
- })),
- currentBusinessState: "",
- visible: false,
- };
- }
- handleChange = (value) => {
- const { dispatch } = this.props;
- dispatch({
- type: "store/update_business_state",
- payload: {
- businessState: value
- },
- callback: (res) => {
- if (res.state === 200) {
- if (res.data) {
- this.setState({ visible: true })
- } else {
- message.success('设置成功')
- this.setState({ currentBusinessState: value });
- }
- } else {
- message.error(res.msg)
- }
- },
- });
- };
- componentDidMount() {
- const { dispatch } = this.props;
- dispatch({
- type: "store/get_business_state",
- callback: (res) => {
- if (res.state === 200) {
- this.setState({ currentBusinessState: res.data });
- } else {
- this.setState({ currentBusinessState: 2 });
- message.error(res.msg);
- }
- },
- });
- }
- confirmModal = () => {
- router.push({
- pathname: '/store/decorate_pc',
- query: {
- tab: '2'
- }
- });
- this.setState({visible: false})
- };
- cancelModel = () => {
- this.setState({visible: false})
- };
- render() {
- const { stateList, currentBusinessState, visible } = this.state;
- return stateList.length ? (
- <div className={`${styles.state_warp}`}>
- <span className={`${styles.label}`}>经营状态</span>
- <Select
- value={currentBusinessState}
- style={{ width: 150 }}
- onChange={this.handleChange}
- >
- {stateList.map((state) => (
- <Select.Option key={state.name} value={state.value}>
- {state.name}
- </Select.Option>
- ))}
- </Select>
- <Modal
- visible={visible}
- onOk={this.confirmModal}
- onCancel={this.cancelModel}
- okText="去启用"
- cancelText="取消"
- wrapClassName={styles.model_wrap}
- width={526}
- height={324}
- >
- <div className={styles.model_content}>
- <div className={styles.model_icon}>
- <img className={styles.model_img} src={require('../../assets/warning.png')} />
- </div>
- <div className={styles.model_tip}>请先在【店铺装修-首页装修】内,装修首页并将“启用状态”更改为“启用”</div>
- </div>
- </Modal>
- </div>
- ) : null;
- }
- }
|