From 08cce3334a2dc81d690b518136b0aaea64e48b0b Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 14 六月 2023 09:55:50 +0800 Subject: [PATCH] 2023-06-14 --- src/templates/zshare/verifycard/baseform/index.jsx | 164 ++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 116 insertions(+), 48 deletions(-) diff --git a/src/templates/zshare/verifycard/baseform/index.jsx b/src/templates/zshare/verifycard/baseform/index.jsx index a0f5892..00171d3 100644 --- a/src/templates/zshare/verifycard/baseform/index.jsx +++ b/src/templates/zshare/verifycard/baseform/index.jsx @@ -5,10 +5,9 @@ import { QuestionCircleOutlined } from '@ant-design/icons' import Api from '@/api' -import asyncComponent from '@/utils/asyncComponent' import './index.scss' -const ColorSketch = asyncComponent(() => import('@/mob/colorsketch')) +const sysTempsIds = ['8IFltwzyKcu15iA8fqSyb6m-pMa88a3ZTu0No3vDHgo', 'LOB-bbt9jVncGh7IOAUdESh1Sgzcbt62UwOqSqcK9ok'] class BillCodeForm extends Component { static propTpyes = { @@ -26,7 +25,6 @@ } componentDidMount() { - const { verify } = this.props let wxTemps = sessionStorage.getItem('wxTemplates') if (window.GLOB.WXAppID && window.GLOB.nginx && !wxTemps) { @@ -38,21 +36,22 @@ Api.wxNginxRequest(`cgi-bin/template/get_all_private_template?access_token=${wxtoken}`, 'get').then(res => { 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] + temps = res.template_list.filter(item => { + if (!item.primary_industry || sysTempsIds.includes(item.template_id)) return false + if (item.content) { + item.content = item.content.replace('{{first.DATA}}\n', '').replace('\n{{remark.DATA}}', '') + } - 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}) + return true + }) } - + sessionStorage.setItem('wxTemplates', JSON.stringify(temps)) localStorage.setItem('wxTemplates', JSON.stringify(temps)) localStorage.removeItem('wxTemplates') + + this.resetTemps(temps) }) } else { sessionStorage.setItem('wxTemplates', JSON.stringify([])) @@ -75,15 +74,50 @@ } 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, selectTemp}) + this.resetTemps(wxTemps) } + } + + resetTemps = (wxTemps) => { + const { verify } = this.props + + let sysTemps = [ + { + template_id: '8IFltwzyKcu15iA8fqSyb6m-pMa88a3ZTu0No3vDHgo', + title: '璁㈠崟鍙楃悊閫氱煡锛堟槑绉戜簯锛�', + primary_industry: 'IT绉戞妧', + deputy_industry: 'IT杞欢涓庢湇鍔�', + content: '璁㈠崟鍙凤細{{keyword1.DATA}}\n璁㈠崟绫诲瀷锛歿{keyword2.DATA}}\n璁㈠崟鐘舵�侊細{{keyword3.DATA}}\n閫氱煡鏃堕棿锛歿{keyword4.DATA}}', + example: '璁㈠崟鍙凤細20190101001\r\n璁㈠崟绫诲瀷锛氳。鏌淺r\n璁㈠崟鐘舵�侊細璁捐瀹屾垚\r\n閫氱煡鏃堕棿锛�2019骞�1鏈�1鏃�12:30' + }, + { + template_id: 'LOB-bbt9jVncGh7IOAUdESh1Sgzcbt62UwOqSqcK9ok', + title: '璁㈠崟杩涘害鎻愰啋锛堟槑绉戜簯锛�', + primary_industry: 'IT绉戞妧', + deputy_industry: 'IT杞欢涓庢湇鍔�', + content: '璁㈠崟绫诲瀷锛歿{keyword1.DATA}}\n璁㈠崟鍙凤細{{keyword2.DATA}}\n璁㈠崟鐘舵�侊細{{keyword3.DATA}}', + example: '璁㈠崟绫诲瀷锛氶��绉熺敵璇穃r\n璁㈠崟鍙凤細TZ16101909\r\n璁㈠崟鐘舵�侊細寰呭彇璐�' + }, + { + template_id: 'mk_category_temp', + title: '绫荤洰妯℃澘', + primary_industry: '', + deputy_industry: '', + content: '', + example: '' + } + ] + + let _wxTemps = [...wxTemps, ...sysTemps] + + 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: _wxTemps, selectTemp}) } handleConfirm = () => { @@ -97,10 +131,11 @@ } else if (verify.wxNote === 'true') { if (!verify.wxTemplateId) { error = '寮�鍚叕浼楀彿娑堟伅鎺ㄩ�佹椂锛岄渶瑕侀�夋嫨娑堟伅妯℃澘锛�' + } else if (verify.wxTemplateId === 'mk_category_temp' && !verify.wxCustomTempId) { + error = '寮�鍚叕浼楀彿娑堟伅鎺ㄩ�佹椂锛岄渶瑕佸~鍐欐秷鎭ā鏉縄D锛�' } else if (verify.wxNoteLink === 'url' && !verify.wxNoteLinkUrl) { error = '璇峰~鍐欑綉鍧�锛�' } - } return error @@ -125,6 +160,8 @@ _verify.wxNoteLinkMenuId = '' _verify.wxNoteCallback = 'false' _verify.wxNoteKeys = null + + delete _verify.wxCustomTempId if (this.state.selectTemp) { this.setState({selectTemp: null}) @@ -155,7 +192,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 selectTemp = {template_id: val, 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) { @@ -163,26 +200,27 @@ keys = keys.map(key => key.replace(/{{|\.DATA}}/g, '')) } - let index = 1 - _verify.wxNoteKeys = keys.map(key => { - let item = { - key: key, - color: '#000000', - readonly: false + delete _verify.wxCustomTempId + + if (selectTemp.template_id === 'mk_category_temp') { + _verify.wxNoteKeys = [] + for (let i = 1; i <= 10; i++) { + _verify.wxNoteKeys.push({ + key: '', + value: 'p' + i + }) } - if (key === 'first') { - item.value = 'first' - item.readonly = true - } else if (key === 'remark') { - item.value = 'remark' - item.readonly = true - } else { + } else { + let index = 1 + _verify.wxNoteKeys = keys.map(key => { + let item = { key: key } + item.value = 'p' + index index++ - } - - return item - }) + + return item + }) + } this.setState({selectTemp}) @@ -203,16 +241,24 @@ this.props.onChange(_verify) } - onWxNoteColorChange = (key, val) => { + onWxNoteValueChange = (value, val) => { let _verify = fromJS(this.props.verify).toJS() _verify.wxNoteKeys = _verify.wxNoteKeys.map(m => { - if (m.key === key) { - m.color = val + if (m.value === value) { + m.key = val.replace(/\s+/ig, '') } return m }) + + this.props.onChange(_verify) + } + + onWxNoteTempIdChange = (value) => { + let _verify = fromJS(this.props.verify).toJS() + + _verify.wxCustomTempId = value.replace(/\s+/ig, '') this.props.onChange(_verify) } @@ -413,9 +459,9 @@ <Input placeholder="" autoComplete="off" value={verify.wxNoteLinkMenuId || ''} onChange={(e) => {this.onOptionChange(e.target.value, 'wxNoteLinkMenuId')}}/> </Form.Item> </Col> : null} - {verify.wxNote === 'true' && verify.wxNoteKeys ? verify.wxNoteKeys.map(item => <Col span={8} key={item.key}> - <Form.Item className="mk-note-keyword" label={item.key} required> - <Select value={item.value} disabled={item.readonly} onSelect={(val) => this.onWxNoteKeyChange(item.key, val)}> + {verify.wxNote === 'true' && verify.wxNoteKeys && (!selectTemp || selectTemp.template_id !== 'mk_category_temp') ? verify.wxNoteKeys.map((item, index) => <Col span={8} key={'mk' + index}> + <Form.Item label={item.key} required> + <Select value={item.value} onSelect={(val) => this.onWxNoteKeyChange(item.key, val)}> <Select.Option value="p1">p1</Select.Option> <Select.Option value="p2">p2</Select.Option> <Select.Option value="p3">p3</Select.Option> @@ -427,10 +473,19 @@ <Select.Option value="p9">p9</Select.Option> <Select.Option value="p10">p10</Select.Option> </Select> - <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"> + {verify.wxNote === 'true' && verify.wxNoteKeys && (selectTemp && selectTemp.template_id === 'mk_category_temp') ? <Col span={8}> + <Form.Item label="妯℃澘ID" required> + <Input placeholder="" defaultValue={verify.wxCustomTempId} autoComplete="off" onChange={(e) => {this.onWxNoteTempIdChange(e.target.value)}}/> + </Form.Item> + </Col> : null} + {verify.wxNote === 'true' && verify.wxNoteKeys && (selectTemp && selectTemp.template_id === 'mk_category_temp') ? verify.wxNoteKeys.map((item, index) => <Col span={8} key={'mk' + index}> + <Form.Item label={item.value}> + <Input placeholder="" defaultValue={item.key} autoComplete="off" onChange={(e) => {this.onWxNoteValueChange(item.value, e.target.value)}}/> + </Form.Item> + </Col>) : null} + {selectTemp && selectTemp.template_id !== 'mk_category_temp' && verify.wxNoteKeys ? <Col span={24} className="wx-note"> <div className="note-wrap"> <div className="note"> <p>鍐呭绀轰緥</p> @@ -449,12 +504,25 @@ <div> <p>openid: "鎺ユ敹鑰卭penid",</p> <p>send_id: "闃查噸鍏d",</p> - {verify.wxNoteKeys.map(item => <p>{item.value}: "=> {item.key}",</p>)} + {verify.wxNoteKeys.map((item, i) => <p key={'index' + i}>{item.value}: "=> {item.key}",</p>)} <p>bid: "璺宠浆灏忕▼搴忔椂锛屽彲浣滀负BID銆�"</p> </div> </div> </div> </Col> : null} + {selectTemp && selectTemp.template_id === 'mk_category_temp' && verify.wxNoteKeys ? <Col span={24} className="wx-note"> + <div className="note-wrap"> + <div className="note"> + <p>娑堟伅浣�</p> + <div> + <p>openid: "鎺ユ敹鑰卭penid",</p> + <p>send_id: "闃查噸鍏d",</p> + <p>bid: "璺宠浆灏忕▼搴忔椂锛屽彲浣滀负BID銆�"</p> + <p style={{color: '#1890ff'}}>璇峰湪閫氱敤瀛楁涓紙p1~p10锛夊~鍏ユā鏉夸腑瀵瑰簲鐨勫瓧娈靛悕锛屽 time1.DATA 鍒欏~鍐� time1銆�</p> + </div> + </div> + </div> + </Col> : null} </Row> </Form> ) -- Gitblit v1.8.0