king
2022-08-26 23dffd1a4e3f140d7f896bb1cc5cc81db48a171c
2022-08-26
5个文件已修改
96 ■■■■ 已修改文件
src/components/header/index.jsx 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/templates/zshare/verifycard/baseform/index.jsx 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/templates/zshare/verifycard/baseform/index.scss 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mainparams/index.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/header/index.jsx
@@ -313,8 +313,9 @@
                } catch (e) {}
              }
              // 打开新页面链接
              trdItem.src = '#/mainparams/' + trd.MenuID
              if (trdItem.type !== 'NewPage') {
                trdItem.src = '#/tab/' + trd.MenuID
              }
              thdMenuList.push(trdItem)
@@ -509,7 +510,7 @@
    // sessionStorage 跨页面共享
    window.addEventListener('storage', (e) => {
      if (e.key === 'getSessionStorage' && e.newValue) {
      if (e.key === 'getSessionStorage' && e.newValue === window.GLOB.appkey) {
        localStorage.setItem('sessionStorage', JSON.stringify(sessionStorage))
      }
    })
src/router/index.js
@@ -46,7 +46,7 @@
  {path: '/billprint/:param', name: 'billprint', component: BillPrint, auth: true},
  {path: '/docprint/:menuId', name: 'docprint', component: BillPrint, auth: false},
  {path: '/docprint/:menuId/:id', name: 'docprint', component: BillPrint, auth: false},
  {path: '/mainparams/:menuId', name: 'mainparams', component: MainParams, auth: false},
  {path: '/tab/:menuId', name: 'tab', component: MainParams, auth: false},
  {path: '/role/:param', name: 'role', component: RoleManage, auth: true},
  {path: '/hs', name: 'hs', component: SystemFunc, auth: true},
  {path: '/interface', name: 'interface', component: Interface, auth: true}
src/templates/zshare/verifycard/baseform/index.jsx
@@ -21,10 +21,12 @@
  state = {
    wxTemps: [],
    selectTemp: null,
    miniTemps: [],
  }
  componentDidMount() {
    const { verify } = this.props
    let wxTemps = sessionStorage.getItem('wxTemplates')
    if (window.GLOB.WXAppID && !wxTemps) {
@@ -37,8 +39,14 @@
            let temps = []
            if (res.template_list) {
              temps = res.template_list.filter(item => item.primary_industry)
              let selectTemp = temps.filter(item => item.template_id === verify.wxTemplateId)[0]
              this.setState({wxTemps: temps})
              if (selectTemp) {
                selectTemp.content = selectTemp.content.replace(/\r\n|\n/g, '<br/>')
                selectTemp.example = selectTemp.example.replace(/\r\n|\n/g, '<br/>')
              }
              this.setState({wxTemps: temps, selectTemp})
            }
            sessionStorage.setItem('wxTemplates', JSON.stringify(temps))
@@ -66,8 +74,15 @@
      })
    } else if (wxTemps) {
      wxTemps = JSON.parse(wxTemps)
      let selectTemp = wxTemps.filter(item => item.template_id === verify.wxTemplateId)[0]
      if (selectTemp) {
        selectTemp.content = selectTemp.content.replace(/\r\n|\n/g, '<br/>')
        selectTemp.example = selectTemp.example.replace(/\r\n|\n/g, '<br/>')
      }
  
      this.setState({wxTemps})
      this.setState({wxTemps, selectTemp})
    }
  }
@@ -110,6 +125,10 @@
      _verify.wxNoteLinkMenuId = ''
      _verify.wxNoteCallback = 'false'
      _verify.wxNoteKeys = null
      if (this.state.selectTemp) {
        this.setState({selectTemp: null})
      }
    }
    this.props.onChange(_verify)
@@ -127,6 +146,7 @@
    const { verify } = this.props
    let _verify = {...verify, wxTemplateId: val}
    let selectTemp = {content: option.props.content.replace(/\r\n|\n/g, '<br/>'), example: option.props.example.replace(/\r\n|\n/g, '<br/>')}
    let keys = []
    if (option.props.content) {
@@ -154,6 +174,8 @@
      return item
    })
    this.setState({selectTemp})
    this.props.onChange(_verify)
  }
@@ -188,7 +210,7 @@
  render() {
    const { unionFields, verify, notes, card } = this.props
    const { wxTemps } = this.state
    const { wxTemps, selectTemp } = this.state
    const formItemLayout = {
      labelCol: {
        xs: { span: 24 },
@@ -333,7 +355,7 @@
            <Form.Item label="消息模板" required>
              <Select value={verify.wxTemplateId} onSelect={this.onWxTemplateChange}>
                {wxTemps.map(option =>
                  <Select.Option key={option.template_id} content={option.content} value={option.template_id}>
                  <Select.Option key={option.template_id} content={option.content} example={option.example} value={option.template_id}>
                    {option.title}
                  </Select.Option>
                )}
@@ -374,7 +396,7 @@
          </Col> : null}
          {verify.wxNoteLink === 'miniProgram' ? <Col span={8}>
            <Form.Item label={
              <Tooltip placement="bottomLeft" title={`跳转至小程序指定菜单,空值默认跳转至小程序首页。`}>
              <Tooltip placement="top" title="添加菜单ID可跳转至小程序指定页面,空值默认跳转至小程序首页。注:数据里中如果有bid字段(值不为空),打开小程序时会做为BID传入页面中。">
                <QuestionCircleOutlined className="mk-form-tip" />
                菜单ID
              </Tooltip>
@@ -399,7 +421,31 @@
              <ColorSketch value={item.color || '#ffffff'} onChange={(val, hex) => {this.onWxNoteColorChange(item.key, hex)}} />
            </Form.Item>
          </Col>) : null}
          {selectTemp && verify.wxNoteKeys ? <Col span={24} className="wx-note">
            <div className="note-wrap">
              <div className="note">
                <p>内容示例</p>
                <div dangerouslySetInnerHTML={{ __html: selectTemp.example }}></div>
              </div>
            </div>
            <div className="note-wrap">
              <div className="note">
                <p>模板信息</p>
                <div dangerouslySetInnerHTML={{ __html: selectTemp.content }}></div>
              </div>
            </div>
            <div className="note-wrap">
              <div className="note">
                <p>消息体</p>
                <div>
                  <p>openid:&nbsp;&nbsp;"接收者openid",</p>
                  <p>send_id:&nbsp;&nbsp;"防重入id",</p>
                  {verify.wxNoteKeys.map(item => <p>{item.value}:&nbsp;&nbsp;"=&gt; {item.key}",</p>)}
                  <p>bid:&nbsp;&nbsp;"跳转小程序时,可作为BID。"</p>
                </div>
              </div>
            </div>
          </Col> : null}
        </Row>
      </Form>
    )
src/templates/zshare/verifycard/baseform/index.scss
@@ -23,4 +23,31 @@
      width: 75px;
    }
  }
}
.wx-note {
  display: flex;
  .note-wrap {
    flex: 1;
    .note {
      border: 1px solid #d9d9d9;
      width: 270px;
      margin: 0 auto;
      border-radius: 4px;
      height: 100%;
      >p {
        text-align: center;
        border-bottom: 1px solid #d9d9d9;
        padding: 7px;
        margin-bottom: 0px;
      }
      >div {
        padding: 15px;
        p {
          margin-bottom: 0px;
        }
      }
    }
  }
}
src/views/mainparams/index.jsx
@@ -12,7 +12,7 @@
    if (sessionStorage.getItem('UserID')) {
      this.props.history.replace('/main')
    } else {
      localStorage.setItem('getSessionStorage', Date.now())
      localStorage.setItem('getSessionStorage', window.GLOB.appkey)
    
      window.addEventListener('storage', function(event) {
        if (event.key === 'sessionStorage' && event.newValue && !sessionStorage.getItem('UserID')) {