siteConfigDrawer.js 25.6 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,
邓超's avatar
邓超 committed
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';
邓超's avatar
邓超 committed
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

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

87 88 89 90 91 92 93
  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
94 95
  const [homePageConfig, setHomePageConfig] = useState();
  const homepageConfigRef = useRef();
96 97
  const [addVisible, setAddVisible] = useState(false);
  const [checkValue, setCheckValue] = useState([]);
98
  const [checkValueList, setCheckValueList] = useState([]);
99
  const [aftercare, setAftercare] = useState('请勾选不显示售后服务的用户');
100 101
  useEffect(() => {
    onGetLoginPages();
皮倩雯's avatar
皮倩雯 committed
102 103 104 105 106 107 108 109
    let text = [];
    let value = [];
    webs.map(i => {
      text.push(i.text);
      value.push(i.subSystemValue);
    });
    setKeepText(text);
    setKeepValue(value);
110
    if (isEdit) {
皮倩雯's avatar
皮倩雯 committed
111
      if (config != null && config.topMenu) {
112 113 114 115 116 117
        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
118
              config.topMenu.split(',').length < plainOptions.length,
119 120 121 122 123 124
          );
        }

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

137 138 139 140 141
  useEffect(() => {
    if (visible) {
      if (isEdit) {
        // 获取表单回显
        console.log(config, 'config');
142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
        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);
        }
165
        console.log(config);
166

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

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

311
      console.log(validate);
312 313
      if (validate.homePage) {
        let arr = validate.homePage.split('/'); // 用const声明常量
314 315
        let allProList = JSON.parse(JSON.stringify(allProductList));
        allProList.push({ PackageName: 'civ_base' });
316
        const product = allProList.find(item => item.PackageName === arr[0]);
317 318 319 320 321 322
        if (product) {
          arr.shift();
          validate.homePage = arr.join('/');
        }
        console.log(product, 'product');
        validate.productType = product?.PackageName || 'civweb4';
323 324
        let proList = JSON.parse(JSON.stringify(productList));
        proList.push({ PackageName: 'civ_base' });
325 326 327 328
        if (
          !proList.some(item => item.PackageName === validate.productType) &&
          validate.productType !== 'civweb4'
        ) {
329 330 331
          message.error(`${validate.productType}未授权,不能使用该功能当主页`);
          return;
        }
邓超's avatar
邓超 committed
332
      }
333

邓超's avatar
邓超 committed
334 335
      console.log(validate);

336
      if (validate) {
邓超's avatar
邓超 committed
337
        const colorIndex = colorList.findIndex(item => item.color === validate.primaryColor);
邓超's avatar
邓超 committed
338 339 340 341 342 343 344 345 346 347 348
        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');

349 350
        onOk({
          ...validate,
邓超's avatar
邓超 committed
351
          roleHomePages: pages,
邓超's avatar
邓超 committed
352
          headerPrimaryColor: colorList[colorIndex].headerColor,
353 354 355 356 357 358
          mode: 'single',
          menu: 'banner-left',
        });
      }
    });
  };
359 360 361 362 363 364 365 366 367 368 369 370

  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
371
  const colorChange = value => {
372 373
    setColor(value);
    form.setFieldsValue({ headerPrimaryColor: value });
邓超's avatar
邓超 committed
374
  };
375 376 377 378 379 380 381 382 383

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

384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405
  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);
  };

  const change5 = e => {
    setVisibleChecked5(e);
  };

406 407 408 409
  const change7 = e => {
    setVisibleChecked7(e);
  };

410
  const rolCallBack = useCallback(list => {
411
    console.log(list);
412
    debugger;
413
    setCheckValueList(list.checkList);
414 415 416 417 418
    setAddVisible(false);
    setAftercare(list.text === '' ? '请勾选不显示售后服务的用户' : list.text);
    setCheckValue(list.ids);
  });

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

566
        {/* <Form.Item name="headerPrimaryColor" label="顶部">
邓超's avatar
邓超 committed
567 568 569
          <div className={styles.colorBox}>
            <div
              className={styles.colorSwatch}
570 571 572
              onClick={e => {
                setDisplayColorPicker(!displayColorPicker);
              }}
邓超's avatar
邓超 committed
573
            >
574
              <div>颜色</div>
邓超's avatar
邓超 committed
575 576
              <div
                style={{
577
                  background: color,
邓超's avatar
邓超 committed
578 579 580 581 582 583 584
                  height: '10px',
                  width: '10px',
                  margin: '10px 0 0 5px',
                }}
              />
            </div>
          </div>
585
        </Form.Item> */}
邓超's avatar
邓超 committed
586
        <Form.Item name="primaryColor" label="主题色">
邓超's avatar
邓超 committed
587 588 589 590 591 592 593 594 595 596 597 598 599 600
          <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>
601 602 603 604
              </Option>
            ))}
          </Select>
        </Form.Item>
邓超's avatar
邓超 committed
605
        <Form.Item name="navTheme" label="菜单">
606
          {/* <Radio.Group>
邓超's avatar
邓超 committed
607 608
            <Radio value="dark">暗</Radio>
            <Radio value="light">亮</Radio>
609 610 611 612 613 614 615
          </Radio.Group> */}
          <Switch
            checkedChildren="亮"
            unCheckedChildren="暗"
            checked={visibleChecked}
            onChange={change}
          />
邓超's avatar
邓超 committed
616
        </Form.Item>
邓超's avatar
邓超 committed
617 618 619 620 621 622 623 624

        <Form.Item>
          <Switch
            checked={showAdvanced}
            checkedChildren="高级设置"
            unCheckedChildren="高级设置"
            onChange={() => setShowAdvanced(!showAdvanced)}
          />
625
        </Form.Item>
邓超's avatar
邓超 committed
626
        <div style={{ display: showAdvanced ? 'block' : 'none' }}>
皮倩雯's avatar
皮倩雯 committed
627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642
          <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"
          >
643
            {/* <Radio.Group>
644 645
              <Radio value="是">云</Radio>
              <Radio value="否">租户</Radio>
646 647 648 649 650 651 652
            </Radio.Group> */}
            <Switch
              checkedChildren="云"
              unCheckedChildren="租户"
              checked={visibleChecked1}
              onChange={change1}
            />
653
          </Form.Item>
邓超's avatar
邓超 committed
654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669
          <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>
670
          {/* <Form.Item label="功能标签" name="mdi">
邓超's avatar
邓超 committed
671 672 673 674 675 676 677 678
            <Select placeholder="请选择功能标签">
              <Option value="MDI" key="0">
                多标签模式
              </Option>
              <Option value="SDI" key="1">
                单标签模式
              </Option>
            </Select>
679
          </Form.Item> */}
680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703
          <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
704 705 706
          <Form.Item label="二维码地址" name="qrcode">
            <Input placeholder="请输入二维码地址" autoComplete="off" />
          </Form.Item>
707
          {/* <Form.Item label="Web4地图" name="hideMap">
708 709 710 711 712 713
            <Switch
              checkedChildren="开启"
              unCheckedChildren="关闭"
              checked={visibleChecked2}
              onChange={change2}
            />
714
          </Form.Item> */}
715 716 717 718 719 720 721 722
          <Form.Item label="地图遮罩" name="useCoverMap">
            <Switch
              checkedChildren="开启"
              unCheckedChildren="关闭"
              checked={visibleChecked7}
              onChange={change7}
            />
          </Form.Item>
邓超's avatar
邓超 committed
723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742
          <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"
          >
743
            {/* <Radio.Group>
邓超's avatar
邓超 committed
744 745
              <Radio value="All">多人</Radio>
              <Radio value="One">单人</Radio>
746 747 748 749 750 751 752
            </Radio.Group> */}
            <Switch
              checkedChildren="多人"
              unCheckedChildren="单人"
              checked={visibleChecked3}
              onChange={change3}
            />
邓超's avatar
邓超 committed
753 754
          </Form.Item>
          <Form.Item label="语音播报" name="messageVoice">
755
            {/* <Radio.Group>
皮倩雯's avatar
皮倩雯 committed
756
              <Radio value>开启</Radio>
邓超's avatar
邓超 committed
757
              <Radio value={false}>关闭</Radio>
758 759 760 761 762 763 764
            </Radio.Group> */}
            <Switch
              checkedChildren="开启"
              unCheckedChildren="关闭"
              checked={visibleChecked4}
              onChange={change4}
            />
邓超's avatar
邓超 committed
765
          </Form.Item>
766
          {/* <Form.Item label="菜单样式" name="menuState">
767 768 769 770 771 772
            <Switch
              checkedChildren="展开"
              unCheckedChildren="折叠"
              checked={visibleChecked5}
              onChange={change5}
            />
773
          </Form.Item> */}
邓超's avatar
邓超 committed
774
        </div>
775
      </Form>
776 777 778 779 780 781
      <ColorLinear
        visible={displayColorPicker}
        color={color}
        onSubumit={colorChange}
        handleCancel={() => setDisplayColorPicker(false)}
      />
782 783 784 785 786 787 788 789 790
      <ParmarModal
        pageUrl={form.getFieldValue('loginTemplate')}
        handleCancel={() => setShowParmarModal(false)}
        visible={showParmarModal}
        parmarCallBack={url => {
          form.setFieldsValue({ loginTemplate: url });
          setShowParmarModal(false);
        }}
      />
791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808
      {/* <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(',')} // 单选框中的值
809
        aftercare={aftercare}
810
        checkValueList={checkValueList}
811
      />
张烨's avatar
张烨 committed
812
    </Drawer>
张烨's avatar
张烨 committed
813 814
  );
};