From 6ca240a14ccf55d4e0a94fff77e95f64db2cdfcc Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 11 十月 2024 17:34:25 +0800 Subject: [PATCH] 2024-10-11 --- src/views/appmanage/submutilform/index.jsx | 94 +++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 87 insertions(+), 7 deletions(-) diff --git a/src/views/appmanage/submutilform/index.jsx b/src/views/appmanage/submutilform/index.jsx index 20d6daf..369b47f 100644 --- a/src/views/appmanage/submutilform/index.jsx +++ b/src/views/appmanage/submutilform/index.jsx @@ -3,6 +3,7 @@ import { Form, Row, Col, Select, Radio, Input, Tooltip, InputNumber, Checkbox } from 'antd' import { QuestionCircleOutlined } from '@ant-design/icons' +import { langs } from '@/store/options.js' import asyncComponent from '@/utils/asyncComponent' import './index.scss' @@ -16,17 +17,33 @@ inputSubmit: PropTypes.func // input鍥炶溅鎻愪氦 } - state = {typename: 'mob', adapters: [], exts: []} + state = { + typename: 'mob', + adapters: [], + exts: [], + WXApps: null, + WXMerchs: null + } UNSAFE_componentWillMount() { const { card } = this.props let adapters = [] let exts = [] let typename = 'mob' + let _langs = [] + Object.keys(langs).forEach(key => { + _langs.push({value: key, label: langs[key]}) + }) if (card) { typename = card.typename || 'mob' adapters = card.adapter ? card.adapter.split(',') : [] + + if (!adapters.includes('fbdH5')) { + adapters.unshift('H5') + } + + adapters = adapters.filter(n => n !== 'fbdH5') if (typename !== 'pc') { if (card.user_binding === 'true') { @@ -36,9 +53,26 @@ exts.push('share') } } + } else { + adapters = ['H5'] } - this.setState({typename, adapters, exts}) + let WXApps = null + let WXMerchs = null + if (window.GLOB.WXApps) { + WXApps = window.GLOB.WXApps.filter(app => app.appType === 'public') + + if (WXApps.length === 0) { + WXApps = null + } + WXMerchs = window.GLOB.WXApps.filter(app => app.appType === 'merchant') + + if (WXMerchs.length === 0) { + WXMerchs = null + } + } + + this.setState({typename, adapters, exts, langs: _langs, WXApps, WXMerchs}) } /** @@ -48,12 +82,26 @@ return new Promise(resolve => { this.props.form.validateFieldsAndScroll((err, values) => { if (!err) { + if (values.adapter) { + if (!values.adapter.includes('H5')) { + values.adapter.unshift('fbdH5') + } + } + values.adapter = values.adapter ? values.adapter.join(',') : '' if (values.exts) { values.user_binding = values.exts.includes('user_binding') ? 'true' : 'false' values.share = values.exts.includes('share') ? 'true' : 'false' delete values.exts + } + if (values.wxAppId) { + let app = window.GLOB.WXApps.filter(app => app.appType === 'public' && values.wxAppId === app.appId)[0] + values.wxAppName = app ? app.appName : values.wxAppId + } + if (values.wxMerchId) { + let app = window.GLOB.WXApps.filter(app => app.appType === 'merchant' && values.wxMerchId === app.appId)[0] + values.wxMerchName = app ? app.appName : values.wxMerchId } resolve(values) @@ -80,7 +128,7 @@ render() { const { card, type } = this.props const { getFieldDecorator } = this.props.form - const { typename, adapters, exts } = this.state + const { typename, adapters, exts, langs, WXApps, WXMerchs } = this.state const formItemLayout = { labelCol: { xs: { span: 24 }, @@ -113,10 +161,9 @@ {getFieldDecorator('lang', { initialValue: card ? card.lang || 'zh-CN' : 'zh-CN' })( - <Radio.Group disabled={type === 'edit'}> - <Radio value="zh-CN">涓枃</Radio> - <Radio value="en-US">鑻辨枃</Radio> - </Radio.Group> + <Select disabled={type === 'edit'}> + {langs.map(item => <Select.Option key={item.value} value={item.value}>{item.label}</Select.Option>)} + </Select> )} </Form.Item> </Col> @@ -163,6 +210,7 @@ initialValue: adapters })( <Checkbox.Group onChange={this.onAdapterChange}> + <Checkbox value="H5">H5</Checkbox> <Checkbox value="app">app</Checkbox> <Checkbox value="weixin">鍏紬鍙�</Checkbox> <Checkbox value="wxmini">灏忕▼搴�</Checkbox> @@ -170,6 +218,38 @@ )} </Form.Item> </Col> : null} + {WXApps ? <Col span={12}> + <Form.Item label={ + <Tooltip placement="topLeft" title="鐢ㄦ埛鍙�氳繃姝ゅ叕浼楀彿杩涜鏀粯銆侀��娆俱�佹巿鏉冪櫥褰曘��"> + <QuestionCircleOutlined className="mk-form-tip" /> + 鍏宠仈搴旂敤 + </Tooltip> + }> + {getFieldDecorator('wxAppId', { + initialValue: card ? card.wxAppId : '' + })( + <Select allowClear> + {WXApps.map(item => <Select.Option key={item.appId} value={item.appId}>{item.appName}</Select.Option>)} + </Select> + )} + </Form.Item> + </Col> : null} + {WXMerchs ? <Col span={12}> + <Form.Item label={ + <Tooltip placement="topLeft" title="鐢ㄦ埛鍙�氳繃姝ゅ晢鎴峰彿杩涜鏀粯鍙婇��娆俱��"> + <QuestionCircleOutlined className="mk-form-tip" /> + 鍏宠仈鍟嗘埛 + </Tooltip> + }> + {getFieldDecorator('wxMerchId', { + initialValue: card ? card.wxMerchId : '' + })( + <Select allowClear> + {WXMerchs.map(item => <Select.Option key={item.appId} value={item.appId}>{item.appName}</Select.Option>)} + </Select> + )} + </Form.Item> + </Col> : null} {typename !== 'pc' && (adapters.includes('weixin') || adapters.includes('wxmini')) ? <Col span={12}> <Form.Item label={ <Tooltip placement="topLeft" title="鍦ㄥ叕浼楀彿鎴栧皬绋嬪簭涓紝鍙坊鍔犵粦瀹氱郴缁熺敤鎴枫�佽嚜瀹氫箟鍒嗕韩绛夊姛鑳斤紝鑷畾涔夊垎浜缃悗锛屽綋鍓嶅瓙搴旂敤灏嗛粯璁や娇鐢ㄦ鍒嗕韩閾炬帴銆�"> -- Gitblit v1.8.0