siteConfigDrawer.js 26.9 KB
Newer Older
1 2 3 4 5 6 7 8
import React, { useState, useEffect, useRef, useCallback } from 'react';
import {
  getLoginPage,
  getMapCofigs,
  getWebThemes,
  getProductList,
  GetUserName,
} from '@/services/webConfig/api';
邓超's avatar
邓超 committed
9
import { SketchPicker } from 'react-color';
10 11 12 13 14 15 16 17 18 19 20
import {
  Drawer,
  notification,
  Button,
  Space,
  Form,
  Input,
  Select,
  Checkbox,
  Radio,
  Tooltip,
21
  Divider,
22
  AutoComplete,
23 24
  Row,
  Col,
邓超's avatar
邓超 committed
25
  Switch,
26
  message,
27
} from 'antd';
28 29
import RMSComponents from '@/components/RolePmSite/index';
import PersonnelSelector from '@/components/PersonnelSelector/index';
30
import { PlusOutlined, InfoCircleOutlined } from '@ant-design/icons';
31
import TreeSelect from '../menuconfig/TreeSelect';
张烨's avatar
张烨 committed
32
import WebConfigForm from './webConfigForm';
33
import ColorLinear from './ColorLinear';
34 35
import Upload from '@/components/Upload';
import styles from './siteConfigDrawer.less';
36
import ParmarModal from './ParmarModal';
邓超's avatar
邓超 committed
37
import HomePageConfigs from './HomePageConfigs';
38
const { Option } = Select;
39 40
const plainOptions = ['搜索', '消息'];
const defaultCheckedList = ['搜索', '消息'];
邓超's avatar
邓超 committed
41
const colorList = [
邓超's avatar
邓超 committed
42 43 44 45 46 47 48 49
  {
    key: '科技蓝',
    color: '#0087F7',
    headerColor: 'linear-gradient(0deg, #0066D6 0%, #39A9FF 100%)',
  },
  {
    key: '环保绿',
    color: '#009C73',
邓超's avatar
邓超 committed
50
    headerColor: 'linear-gradient(0deg, #00845D 0%, #02BF87 100%)',
邓超's avatar
邓超 committed
51
  },
52 53 54 55 56
  {
    key: '清澈蓝',
    color: '#1890FF',
    headerColor: '#1890FF',
  },
邓超's avatar
邓超 committed
57
];
张烨's avatar
张烨 committed
58

59 60
const { TextArea } = Input;

张烨's avatar
张烨 committed
61
export default props => {
皮倩雯's avatar
皮倩雯 committed
62 63 64 65 66 67 68 69 70
  const {
    visible,
    onClose,
    config,
    hasIntegerate,
    isEdit,
    onOk,
    submitting,
    productList,
71
    allProductList,
72
    userMode,
皮倩雯's avatar
皮倩雯 committed
73
    webs,
74
    curWeb,
皮倩雯's avatar
皮倩雯 committed
75
  } = props;
76 77
  const [form] = Form.useForm();
  const [loginPages, setLoginPages] = useState([]);
78 79 80
  const [checkedList, setCheckedList] = useState([]);
  const [indeterminate, setIndeterminate] = useState(false);
  const [checkAll, setCheckAll] = useState(true);
邓超's avatar
邓超 committed
81 82
  const [displayColorPicker, setDisplayColorPicker] = useState(false);
  const [color, setColor] = useState('');
83
  const CheckboxGroup = Checkbox.Group;
邓超's avatar
邓超 committed
84
  const [showAdvanced, setShowAdvanced] = useState(false); // 是否显示高级设置
85
  const [showParmarModal, setShowParmarModal] = useState(false);
皮倩雯's avatar
皮倩雯 committed
86 87
  const [keepText, setKeepText] = useState([]);
  const [keepValue, setKeepValue] = useState([]);
88

89 90 91 92 93 94 95
  const [visibleChecked, setVisibleChecked] = useState(''); // 菜单开关
  const [visibleChecked1, setVisibleChecked1] = useState(''); // SaaS样式开关
  const [visibleChecked2, setVisibleChecked2] = useState(''); // Web4地图开关
  const [visibleChecked3, setVisibleChecked3] = useState(''); // 消息标记开关
  const [visibleChecked4, setVisibleChecked4] = useState(''); // 语音播报开关
  const [visibleChecked5, setVisibleChecked5] = useState(''); // 菜单样式开关
  const [visibleChecked7, setVisibleChecked7] = useState(''); // 地图遮罩开关
邓超's avatar
邓超 committed
96 97
  const [homePageConfig, setHomePageConfig] = useState();
  const homepageConfigRef = useRef();
98 99
  const [addVisible, setAddVisible] = useState(false);
  const [checkValue, setCheckValue] = useState([]);
100
  const [checkValueList, setCheckValueList] = useState([]);
101
  const [aftercare, setAftercare] = useState('请勾选不显示售后服务的用户');
102
  const [visibleAnn, setVisibleAnn] = useState();
103 104
  useEffect(() => {
    onGetLoginPages();
皮倩雯's avatar
皮倩雯 committed
105 106 107 108 109 110 111 112
    let text = [];
    let value = [];
    webs.map(i => {
      text.push(i.text);
      value.push(i.subSystemValue);
    });
    setKeepText(text);
    setKeepValue(value);
113
    if (isEdit) {
皮倩雯's avatar
皮倩雯 committed
114
      if (config != null && config.topMenu) {
115 116 117 118 119 120
        setCheckedList(config.topMenu.split(','));
        if (config.topMenu.split(',').length == 1 && config.topMenu.split(',')[0] == '') {
          setIndeterminate(false);
        } else {
          setIndeterminate(
            !!config.topMenu.split(',').length &&
邓超's avatar
邓超 committed
121
              config.topMenu.split(',').length < plainOptions.length,
122 123 124 125 126 127
          );
        }

        setCheckAll(config.topMenu.split(',').length === plainOptions.length);
      }
    } else {
128 129
      setCheckValue([]);
      setAftercare('请勾选不显示售后服务的用户');
130 131 132 133
      setCheckedList(defaultCheckedList);
      setIndeterminate(false);
      setCheckAll(true);
    }
134 135
    if (visible == false) {
      setCheckedList([]);
136
      setCheckValue([]);
137
    }
138
  }, [visible]);
张烨's avatar
张烨 committed
139

140 141 142 143
  useEffect(() => {
    if (visible) {
      if (isEdit) {
        // 获取表单回显
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
        if (config.CloudStyle == '是') {
          config.CloudStyle == true;
          setVisibleChecked1(true);
        } else {
          config.CloudStyle == false;
          setVisibleChecked1(false);
        }

        if (config.messageMarking == 'All') {
          config.messageMarking == true;
          setVisibleChecked3(true);
        } else {
          config.messageMarking == false;
          setVisibleChecked3(false);
        }

        if (config.menuState == 'open') {
          config.menuState == true;
          setVisibleChecked5(true);
        } else {
          config.menuState == false;
          setVisibleChecked5(false);
        }
167
        console.log(config);
168
        debugger;
169 170 171
        setVisibleChecked(config.navTheme == 'light');
        setVisibleChecked2(config.hideMap);
        setVisibleChecked4(config.messageVoice);
172
        setVisibleChecked7(config.useCoverMap == 'true');
邓超's avatar
邓超 committed
173
        setHomePageConfig(config.roleHomePages);
174
        setVisibleAnn(config.OpenAnnouncement);
邓超's avatar
邓超 committed
175 176
        form.setFieldsValue({
          ...config,
邓超's avatar
邓超 committed
177
          primaryColor: config.primaryColor ? config.primaryColor : '#0087F7',
178 179 180 181 182 183
          navTheme: config.navTheme == 'light',
          CloudStyle: config.CloudStyle,
          messageMarking: config.messageMarking,
          hideMap: config.hideMap,
          messageVoice: config.messageVoice,
          menuState: config.menuState,
184
          useCoverMap: config.useCoverMap == 'true',
185
          isCache: config.isCache,
186
          changeStation: config.changeStation,
187
          OpenAnnouncement: config.OpenAnnouncement,
188
          AnnouncementContent: config.AnnouncementContent,
邓超's avatar
邓超 committed
189 190 191
          headerPrimaryColor: config.headerPrimaryColor
            ? config.headerPrimaryColor
            : 'linear-gradient(0deg, #0066D6 0%, #39A9FF 100%)',
邓超's avatar
邓超 committed
192
        });
邓超's avatar
邓超 committed
193 194 195 196 197
        setColor(
          config.headerPrimaryColor
            ? config.headerPrimaryColor
            : 'linear-gradient(0deg, #0066D6 0%, #39A9FF 100%)',
        );
198
        if (!config.afterSales || config.afterSales === '' || config.afterSales === null) {
199
          setAftercare('请勾选不显示售后服务的用户');
200 201 202 203 204 205 206 207 208 209 210 211
          setCheckValue([]);
          setCheckValueList([]);
        } else {
          setCheckValue(config.afterSales);
          setCheckValueList(config.afterSalesInfo);
          GetUserName({ userIds: config.afterSales }).then(res => {
            if (res.code === 0) {
              let data = res.data.toString();
              setAftercare(data);
              form.setFieldsValue({ afterSales: data });
            }
          });
212
        }
213
      } else {
邓超's avatar
邓超 committed
214
        setColor('linear-gradient(0deg, #0066D6 0%, #39A9FF 100%)');
215 216 217 218 219 220
        setVisibleChecked(false);
        setVisibleChecked1(true);
        setVisibleChecked2(true);
        setVisibleChecked3(true);
        setVisibleChecked4(true);
        setVisibleChecked5(true);
221
        setVisibleChecked7(true);
邓超's avatar
邓超 committed
222
        setHomePageConfig([]);
邓超's avatar
邓超 committed
223
        form.setFieldsValue({
224 225 226
          shortcutIcon: 'assets\\images\\icon\\熊猫-蓝色.png',
          logo: 'assets\\images\\logo\\熊猫-蓝绿色.svg',
          bannerLogo: 'assets\\images\\logo\\熊猫-白色.svg',
皮倩雯's avatar
皮倩雯 committed
227
          title: '新网站',
228
          messageMarking: true,
邓超's avatar
邓超 committed
229
          messageVoice: true,
230 231
          menuState: true,
          hideMap: true,
232
          loginTemplate: 'Dark',
邓超's avatar
邓超 committed
233
          primaryColor: '#0087F7',
234 235
          navTheme: false,
          CloudStyle: true,
236
          useCoverMap: true,
237
          isCache: true,
238
          changeStation: false,
239
          OpenAnnouncement: false,
邓超's avatar
邓超 committed
240
          headerPrimaryColor: 'linear-gradient(0deg, #0066D6 0%, #39A9FF 100%)',
邓超's avatar
邓超 committed
241
        });
242
        setVisibleAnn(false);
243 244
        setCheckValue([]);
        setAftercare('请勾选不显示售后服务的用户');
245 246
      }
    } else {
邓超's avatar
邓超 committed
247
      setShowAdvanced(false);
248
      form.resetFields();
249 250 251 252 253 254
      setVisibleChecked('');
      setVisibleChecked1('');
      setVisibleChecked2('');
      setVisibleChecked3('');
      setVisibleChecked4('');
      setVisibleChecked5('');
255
      setVisibleAnn('');
邓超's avatar
邓超 committed
256
      setHomePageConfig([]);
257
      setCheckValue([]);
258
      setCheckValueList([]);
259
      setAftercare('');
260 261 262 263 264
    }
  }, [visible]);
  const onGetLoginPages = () => {
    if (loginPages.length === 0) {
      getLoginPage().then(res => {
265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284
        let list = [
          {
            label: renderTitle('web5内置模板'),
            options: [],
          },
          {
            label: renderTitle('web4登录模板'),
            options: [],
          },
        ];
        res.data.loginTemplate.forEach(item => {
          if (item.type === 'web5') {
            list[0].options.push(renderItem(`${item.title}`));
          }
          if (item.type === 'web4') {
            list[1].options.push(renderItem(`${item.title}`));
          }
        });

        setLoginPages(list);
285 286 287
      });
    }
  };
288 289 290 291 292 293 294 295 296 297 298 299 300 301 302
  const renderItem = title => ({
    value: title,
    label: (
      <div
        style={{
          display: 'flex',
          justifyContent: 'space-between',
        }}
      >
        {title}
      </div>
    ),
  });
  // 登录搜索头部
  const renderTitle = title => <span>{title}</span>;
303

304 305
  const onsubmit = () => {
    form.validateFields().then(validate => {
皮倩雯's avatar
皮倩雯 committed
306 307 308 309 310 311 312 313
      // if (checkedList.find(i => i == '首页') && !validate.homePage) {
      //   notification.warning({
      //     message: '提示',
      //     duration: 3,
      //     description: '功能配置勾选首页时主页Url必填',
      //   });
      //   return;
      // }
314
      validate.topMenu = checkedList.toString();
315 316 317 318
      validate.navTheme = visibleChecked ? 'light' : 'dark';
      validate.CloudStyle = visibleChecked1 ? '是' : '否';
      validate.messageMarking = visibleChecked3 ? 'All' : 'One';
      validate.menuState = visibleChecked5 ? 'open' : 'close';
319
      validate.afterSales = checkValue && checkValue.toString();
320

321
      console.log(validate);
322 323
      if (validate.homePage) {
        let arr = validate.homePage.split('/'); // 用const声明常量
324 325
        let allProList = JSON.parse(JSON.stringify(allProductList));
        allProList.push({ PackageName: 'civ_base' });
326
        const product = allProList.find(item => item.PackageName === arr[0]);
327 328 329 330 331 332
        if (product) {
          arr.shift();
          validate.homePage = arr.join('/');
        }
        console.log(product, 'product');
        validate.productType = product?.PackageName || 'civweb4';
333 334
        let proList = JSON.parse(JSON.stringify(productList));
        proList.push({ PackageName: 'civ_base' });
335 336 337 338
        if (
          !proList.some(item => item.PackageName === validate.productType) &&
          validate.productType !== 'civweb4'
        ) {
339 340 341
          message.error(`${validate.productType}未授权,不能使用该功能当主页`);
          return;
        }
342
      }
343

344 345
      console.log(validate);

346
      if (validate) {
邓超's avatar
邓超 committed
347
        const colorIndex = colorList.findIndex(item => item.color === validate.primaryColor);
348 349 350 351 352 353 354 355 356 357 358
        let pages = homepageConfigRef.current.getHomePageConfig().map((item, index) => {
          let str = item.homePage.replace(/^[^\/]+\/+/, '');
          console.log(str, 'fasdasd');
          return {
            ...item,
            homePage: item.homePage.replace(/^[^\/]+\/+/, ''),
            index,
          };
        });
        console.log(pages, 'pages');

359 360
        onOk({
          ...validate,
361
          roleHomePages: pages,
邓超's avatar
邓超 committed
362
          headerPrimaryColor: colorList[colorIndex].headerColor,
363 364 365 366 367 368
          mode: 'single',
          menu: 'banner-left',
        });
      }
    });
  };
369 370 371 372 373 374 375 376 377 378 379 380

  const onCheckAllChange = e => {
    setCheckedList(e.target.checked ? plainOptions : []);
    setIndeterminate(false);
    setCheckAll(e.target.checked);
  };

  const onChange = list => {
    setCheckedList(list);
    setIndeterminate(!!list.length && list.length < plainOptions.length);
    setCheckAll(list.length === plainOptions.length);
  };
邓超's avatar
邓超 committed
381
  const colorChange = value => {
382 383
    setColor(value);
    form.setFieldsValue({ headerPrimaryColor: value });
邓超's avatar
邓超 committed
384
  };
385 386 387 388 389 390 391 392 393

  const addParama = () => {
    if (!form.getFieldValue('loginTemplate')) {
      notification.error({ message: '提示', duration: 3, description: '请先选择登录模板' });
      return;
    }
    setShowParmarModal(true);
  };

394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411
  const change = e => {
    setVisibleChecked(e);
  };

  const change1 = e => {
    setVisibleChecked1(e);
  };
  const change2 = e => {
    setVisibleChecked2(e);
  };

  const change3 = e => {
    setVisibleChecked3(e);
  };
  const change4 = e => {
    setVisibleChecked4(e);
  };

412 413 414 415
  const changeAnn = e => {
    setVisibleAnn(e);
  };

416 417 418 419
  const change5 = e => {
    setVisibleChecked5(e);
  };

420 421 422 423
  const change7 = e => {
    setVisibleChecked7(e);
  };

424
  const rolCallBack = useCallback(list => {
425
    console.log(list);
426
    debugger;
427
    setCheckValueList(list.checkList);
428 429 430 431 432
    setAddVisible(false);
    setAftercare(list.text === '' ? '请勾选不显示售后服务的用户' : list.text);
    setCheckValue(list.ids);
  });

张烨's avatar
张烨 committed
433
  return (
张烨's avatar
张烨 committed
434
    <Drawer
张烨's avatar
张烨 committed
435
      title={isEdit ? '查看/编辑网站配置' : '新增网站'}
436
      width={550}
张烨's avatar
张烨 committed
437 438
      onClose={onClose}
      visible={visible}
439
      destroyOnClose
440 441 442 443 444 445 446 447
      footer={
        <Space>
          <Button onClick={onClose}>取消</Button>
          <Button onClick={onsubmit} type="primary">
            确定
          </Button>
        </Space>
      }
张烨's avatar
张烨 committed
448
    >
449 450 451
      <Form
        form={form}
        labelCol={{ span: 5 }}
452
        wrapperCol={{ span: 19 }}
453 454 455 456 457 458 459 460 461 462
        initialValues={{ remember: true }}
      >
        <Form.Item
          label="标题"
          name="title"
          rules={[
            {
              required: true,
              message: '标题为必填项',
            },
皮倩雯's avatar
皮倩雯 committed
463 464 465 466 467 468 469 470 471 472 473 474
            {
              validator: (rule, value) => {
                let data = form.getFieldValue().title;
                if (keepText.indexOf(data) != -1 && !isEdit) {
                  return Promise.reject('标题已存在');
                }
                if (keepText.indexOf(data) != -1 && data != config.title) {
                  return Promise.reject('标题已存在');
                }
                return Promise.resolve();
              },
            },
475 476 477 478 479 480 481 482
          ]}
        >
          <Input placeholder="请输入标题" autoComplete="off" />
        </Form.Item>
        <Form.Item label="副标题" name="subtitle">
          <Input placeholder="请输入副标题" autoComplete="off" />
        </Form.Item>
        <Form.Item
483
          label="系统Icon"
484 485 486 487 488 489 490 491 492 493 494 495
          name="shortcutIcon"
          style={{ height: '112px' }}
          rules={[
            {
              required: true,
              message: '请选择菜单图标',
            },
          ]}
        >
          <Upload picType="icon" />
        </Form.Item>
        <Form.Item
496
          label="登录Logo"
497 498 499 500 501 502 503 504 505 506 507 508
          name="logo"
          style={{ height: '112px' }}
          rules={[
            {
              required: true,
              message: '请选择图标icon',
            },
          ]}
        >
          <Upload picType="logo" />
        </Form.Item>
        <Form.Item
509
          label="标题Logo"
510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528
          name="bannerLogo"
          style={{ height: '112px' }}
          rules={[
            {
              required: true,
              message: '请选择标题logo',
            },
          ]}
        >
          <Upload picType="logo" />
        </Form.Item>
        <Form.Item
          label="虚拟目录"
          name="client"
          rules={[
            {
              required: true,
              message: '虚拟目录不能为空',
            },
皮倩雯's avatar
皮倩雯 committed
529 530 531 532 533 534 535 536 537 538 539 540
            {
              validator: (rule, value) => {
                let data = form.getFieldValue().client;
                if (data == 'CS') {
                  return Promise.reject('不允许输入CS');
                }
                if (keepValue.indexOf(data) != -1 && !isEdit) {
                  return Promise.reject('虚拟目录已存在');
                }
                return Promise.resolve();
              },
            },
541 542 543 544
          ]}
        >
          <Input autoComplete="off" disabled={isEdit} />
        </Form.Item>
545
        <Form.Item label="登录模板" name="loginTemplate">
546
          <AutoComplete placeholder="请选择登录模板" options={loginPages} allowClear filterOption />
547
        </Form.Item>
548 549 550
        <Form.Item label="页面缓存" name="isCache" valuePropName="checked">
          <Switch checkedChildren="开启" unCheckedChildren="关闭" />
        </Form.Item>
551 552 553
        <Form.Item label="站点切换" name="changeStation" valuePropName="checked">
          <Switch checkedChildren="开启" unCheckedChildren="关闭" />
        </Form.Item>
邓超's avatar
邓超 committed
554 555 556
        <Divider orientation="left" style={{ borderTopColor: '#99bbe8' }}>
          主页配置
        </Divider>
557
        {/* <Form.Item label="产品类型(默认)" name="productType">
邓超's avatar
邓超 committed
558 559 560 561 562 563
          <Select placeholder="请选择主页产品类型">
            {productList.map(item => (
              <Option value={item.PackageName} key={item.PackageName}>
                {`${item.ProductName}(${item.PackageName})`}
              </Option>
            ))}
邓超's avatar
邓超 committed
564
          </Select>
565
        </Form.Item> */}
邓超's avatar
邓超 committed
566
        <Form.Item label="主页地址(默认)" name="homePage">
567 568
          {/* <Input placeholder="请输入主页路径" autoComplete="off" /> */}
          <TreeSelect menuChange={val => {}} />
邓超's avatar
邓超 committed
569
        </Form.Item>
邓超's avatar
邓超 committed
570 571
        <HomePageConfigs
          ref={homepageConfigRef}
572 573
          userMode={userMode}
          curWeb={curWeb}
邓超's avatar
邓超 committed
574 575
          roleHomePages={homePageConfig}
          productList={productList}
576
          allProductList={allProductList}
邓超's avatar
邓超 committed
577 578
          client={form.getFieldValue('client')}
        />
邓超's avatar
邓超 committed
579 580 581
        <Divider orientation="left" style={{ borderTopColor: '#99bbe8' }}>
          主题配置
        </Divider>
邓超's avatar
邓超 committed
582

583
        {/* <Form.Item name="headerPrimaryColor" label="顶部">
邓超's avatar
邓超 committed
584 585 586
          <div className={styles.colorBox}>
            <div
              className={styles.colorSwatch}
587 588 589
              onClick={e => {
                setDisplayColorPicker(!displayColorPicker);
              }}
邓超's avatar
邓超 committed
590
            >
591
              <div>颜色</div>
邓超's avatar
邓超 committed
592 593
              <div
                style={{
594
                  background: color,
邓超's avatar
邓超 committed
595 596 597 598 599 600 601
                  height: '10px',
                  width: '10px',
                  margin: '10px 0 0 5px',
                }}
              />
            </div>
          </div>
602
        </Form.Item> */}
邓超's avatar
邓超 committed
603
        <Form.Item name="primaryColor" label="主题色">
邓超's avatar
邓超 committed
604 605 606 607 608 609 610 611 612 613 614 615 616 617
          <Select placeholder="请选择颜色">
            {colorList.map(item => (
              <Option value={item.color} key={item.color}>
                <div style={{ display: 'flex', alignItems: 'center' }}>
                  <div
                    style={{
                      height: '10px',
                      width: '10px',
                      background: item.color,
                      marginRight: '5px',
                    }}
                  />
                  {`${item.key}${item.color})`}
                </div>
618 619 620 621
              </Option>
            ))}
          </Select>
        </Form.Item>
邓超's avatar
邓超 committed
622
        <Form.Item name="navTheme" label="菜单">
623
          {/* <Radio.Group>
邓超's avatar
邓超 committed
624 625
            <Radio value="dark">暗</Radio>
            <Radio value="light">亮</Radio>
626 627 628 629 630 631 632
          </Radio.Group> */}
          <Switch
            checkedChildren="亮"
            unCheckedChildren="暗"
            checked={visibleChecked}
            onChange={change}
          />
邓超's avatar
邓超 committed
633
        </Form.Item>
邓超's avatar
邓超 committed
634 635 636 637 638 639 640 641

        <Form.Item>
          <Switch
            checked={showAdvanced}
            checkedChildren="高级设置"
            unCheckedChildren="高级设置"
            onChange={() => setShowAdvanced(!showAdvanced)}
          />
642
        </Form.Item>
邓超's avatar
邓超 committed
643
        <div style={{ display: showAdvanced ? 'block' : 'none' }}>
皮倩雯's avatar
皮倩雯 committed
644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659
          <Form.Item
            label={
              <div className={styles.formData_label}>
                <Tooltip
                  title={
                    <span>用于云平台模式,默认云,选择租户会在SaaS访问情况下,展示租户样式</span>
                  }
                  overlayStyle={{ maxWidth: 350 }}
                >
                  <InfoCircleOutlined style={{ color: '#40a9ff', padding: '2px 2px 0 0' }} />
                </Tooltip>
                <span>SaaS样式</span>
              </div>
            }
            name="CloudStyle"
          >
660
            {/* <Radio.Group>
661 662
              <Radio value="是">云</Radio>
              <Radio value="否">租户</Radio>
663 664 665 666 667 668 669
            </Radio.Group> */}
            <Switch
              checkedChildren="云"
              unCheckedChildren="租户"
              checked={visibleChecked1}
              onChange={change1}
            />
670
          </Form.Item>
邓超's avatar
邓超 committed
671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686
          <Form.Item name="topMenu" label="顶部功能">
            <Checkbox
              indeterminate={indeterminate}
              onChange={onCheckAllChange}
              checked={checkAll}
              style={{ marginTop: '5px', display: 'none' }}
            >
              全选
            </Checkbox>
            <CheckboxGroup
              options={plainOptions}
              value={checkedList}
              checked={showAdvanced}
              onChange={onChange}
            />
          </Form.Item>
687
          {/* <Form.Item label="功能标签" name="mdi">
邓超's avatar
邓超 committed
688 689 690 691 692 693 694 695
            <Select placeholder="请选择功能标签">
              <Option value="MDI" key="0">
                多标签模式
              </Option>
              <Option value="SDI" key="1">
                单标签模式
              </Option>
            </Select>
696
          </Form.Item> */}
697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720
          <Form.Item label="售后服务">
            <div
              style={{
                border: '2px solid #6A98FA',
                minHeight: '34px',
                lineHeight: '34px',
                padding: '0px 10px',
                width: '100%',
                overflow: 'hidden',
                whiteSpace: 'nowrap',
                textOverflow: 'ellipsis',
              }}
              onClick={() => {
                setAddVisible(true);
              }}
            >
              <span style={{ color: checkValue && checkValue.length > 0 ? 'black' : '#dcdcdc' }}>
                <Tooltip title={checkValue && checkValue.length > 0 ? aftercare : ''}>
                  {aftercare}
                </Tooltip>
              </span>
            </div>
          </Form.Item>

邓超's avatar
邓超 committed
721 722 723
          <Form.Item label="二维码地址" name="qrcode">
            <Input placeholder="请输入二维码地址" autoComplete="off" />
          </Form.Item>
724
          {/* <Form.Item label="Web4地图" name="hideMap">
725 726 727 728 729 730
            <Switch
              checkedChildren="开启"
              unCheckedChildren="关闭"
              checked={visibleChecked2}
              onChange={change2}
            />
731
          </Form.Item> */}
732 733 734 735 736 737 738 739
          <Form.Item label="地图遮罩" name="useCoverMap">
            <Switch
              checkedChildren="开启"
              unCheckedChildren="关闭"
              checked={visibleChecked7}
              onChange={change7}
            />
          </Form.Item>
邓超's avatar
邓超 committed
740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759
          <Form.Item
            label={
              <div className={styles.formData_label}>
                <Tooltip
                  title={
                    <span>
                      多人(默认):标记自己的消息,不影响他人接收
                      <br />
                      单人:标记已读,消息不再提醒其他人,主要解决报警过多,通知范围过大的情况
                    </span>
                  }
                  overlayStyle={{ maxWidth: 350 }}
                >
                  <InfoCircleOutlined style={{ color: '#40a9ff', padding: '2px 2px 0 0' }} />
                </Tooltip>
                <span>消息标记</span>
              </div>
            }
            name="messageMarking"
          >
760
            {/* <Radio.Group>
邓超's avatar
邓超 committed
761 762
              <Radio value="All">多人</Radio>
              <Radio value="One">单人</Radio>
763 764 765 766 767 768 769
            </Radio.Group> */}
            <Switch
              checkedChildren="多人"
              unCheckedChildren="单人"
              checked={visibleChecked3}
              onChange={change3}
            />
邓超's avatar
邓超 committed
770 771
          </Form.Item>
          <Form.Item label="语音播报" name="messageVoice">
772
            {/* <Radio.Group>
皮倩雯's avatar
皮倩雯 committed
773
              <Radio value>开启</Radio>
邓超's avatar
邓超 committed
774
              <Radio value={false}>关闭</Radio>
775 776 777 778 779 780 781
            </Radio.Group> */}
            <Switch
              checkedChildren="开启"
              unCheckedChildren="关闭"
              checked={visibleChecked4}
              onChange={change4}
            />
邓超's avatar
邓超 committed
782
          </Form.Item>
783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801
          <Row>
            <Col span={8}>
              <Form.Item
                label="开启公告"
                name="OpenAnnouncement"
                valuePropName="checked"
                labelCol={{ span: 15 }}
              >
                <Switch checkedChildren="是" unCheckedChildren="否" onChange={changeAnn} />
              </Form.Item>
            </Col>
            {visibleAnn && (
              <Col span={16}>
                <Form.Item label="公告内容" name="AnnouncementContent" labelCol={{ span: 6 }}>
                  <TextArea rows={3} placeholder="请输入公告内容" />
                </Form.Item>
              </Col>
            )}
          </Row>
802
          {/* <Form.Item label="菜单样式" name="menuState">
803 804 805 806 807 808
            <Switch
              checkedChildren="展开"
              unCheckedChildren="折叠"
              checked={visibleChecked5}
              onChange={change5}
            />
809
          </Form.Item> */}
邓超's avatar
邓超 committed
810
        </div>
811
      </Form>
812 813 814 815 816 817
      <ColorLinear
        visible={displayColorPicker}
        color={color}
        onSubumit={colorChange}
        handleCancel={() => setDisplayColorPicker(false)}
      />
818 819 820 821 822 823 824 825 826
      <ParmarModal
        pageUrl={form.getFieldValue('loginTemplate')}
        handleCancel={() => setShowParmarModal(false)}
        visible={showParmarModal}
        parmarCallBack={url => {
          form.setFieldsValue({ loginTemplate: url });
          setShowParmarModal(false);
        }}
      />
827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844
      {/* <RMSComponents
        visible={addVisible}
        onCancel={() => {
          setAddVisible(false);
        }}
        callBackSubmit={roleList => rolCallBack(roleList)}
        newCheckedList={checkValue.toString().split(',')} // 单选框中的值
        groupName="角色" // 打开组件展示的分组名,用来首次获取数据
        chooseGroupName={['角色']} // 可选分组名
        dataType="id"
      /> */}
      <PersonnelSelector
        visible={addVisible}
        onCancel={() => {
          setAddVisible(false);
        }}
        callBackSubmit={roleList => rolCallBack(roleList)}
        itemObj={checkValue && checkValue.toString().split(',')} // 单选框中的值
845
        aftercare={aftercare}
846
        checkValueList={checkValueList}
847
      />
张烨's avatar
张烨 committed
848
    </Drawer>
张烨's avatar
张烨 committed
849 850
  );
};