From 48b29df4bccb0165746bf4c33f6676f6c066c0a9 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 13 十二月 2023 16:13:17 +0800
Subject: [PATCH] Merge branch 'develop'
---
src/menu/components/share/sourcecomponent/inputform/index.jsx | 93 ++++++++++++++++++++++++++--------------------
1 files changed, 53 insertions(+), 40 deletions(-)
diff --git a/src/menu/components/share/sourcecomponent/inputform/index.jsx b/src/menu/components/share/sourcecomponent/inputform/index.jsx
index 0312024..0a06300 100644
--- a/src/menu/components/share/sourcecomponent/inputform/index.jsx
+++ b/src/menu/components/share/sourcecomponent/inputform/index.jsx
@@ -2,6 +2,7 @@
import PropTypes from 'prop-types'
import { is, fromJS } from 'immutable'
import { Input, Form, Row, Col, Pagination, Empty, Button, Modal, notification } from 'antd'
+import { PlusOutlined } from '@ant-design/icons'
import Api from '@/api'
import Utils from '@/utils/utils.js'
@@ -17,9 +18,7 @@
class PopSource extends Component {
static propTpyes = {
- btnlog: PropTypes.array,
- keyword: PropTypes.string,
- handlelog: PropTypes.func
+ keyword: PropTypes.string
}
state = {
@@ -27,7 +26,6 @@
originlist: [],
list: [],
pagelist: [],
- fileList: [],
searchKey: '',
pageSize: 12,
pageIndex: 1,
@@ -38,7 +36,7 @@
UNSAFE_componentWillMount () {
if (this.props.keyword === 'system') {
- this.init()
+ this.preInit()
}
}
@@ -49,37 +47,51 @@
if (_form && _form.focus) {
_form.focus()
}
- } catch {}
+ } catch (e) {}
}
shouldComponentUpdate (nextProps, nextState) {
return !is(fromJS(this.state), fromJS(nextState))
}
- init = () => {
+ preInit = () => {
const { type } = this.props
- let originlist = []
- if (type === 'video') {
- let videos = sessionStorage.getItem('app_videos')
- try {
- originlist = JSON.parse(videos)
- } catch {
- originlist = []
- }
- } else {
- let pictures = sessionStorage.getItem('app_pictures')
- try {
- originlist = JSON.parse(pictures)
- } catch {
- originlist = []
- }
- }
+ let _type = type === 'video' ? 'video' : 'image'
+ let _sname = type === 'video' ? 'app_videos' : 'app_pictures'
+ this.getSource(_type, _sname).then(res => {
+ this.init(res)
+ })
+ }
+
+ getSource = (type, sessionName) => {
+ return new Promise(resolve => {
+ if (window.GLOB[sessionName]) {
+ resolve(window.GLOB[sessionName])
+ } else {
+ let param = {
+ func: 's_url_db_adduptdel',
+ PageIndex: 0, // 0 浠h〃鍏ㄩ儴
+ PageSize: 0, // 0 浠h〃鍏ㄩ儴
+ type: 'search',
+ typecharone: type
+ }
+ Api.getCloudConfig(param).then(res => {
+ let data = res.data || []
+ window.GLOB[sessionName] = data
+
+ resolve(data)
+ })
+ }
+ })
+ }
+
+ init = (originlist) => {
let list = originlist
let pagelist = list.filter((item, index) => index < this.state.pageSize)
- this.setState({originlist, list, url: '', searchKey: '', pageIndex: 1, fileList: [], pagelist})
+ this.setState({originlist, list, url: '', searchKey: '', pageIndex: 1, pagelist})
}
changeSearch = () => {
@@ -100,12 +112,8 @@
this.setState({pageIndex: page, pagelist})
}
- changeFile = (vals) => {
- this.setState({fileList: vals})
-
- if (vals && vals[0] && vals[0].status === 'done' && vals[0].response) {
- this.setState({url: vals[0].response})
- }
+ changeFile = (val) => {
+ this.setState({url: val})
}
selectItem = (item) => {
@@ -130,7 +138,7 @@
res.id = Utils.getuuid()
}
- Api.getSystemConfig({
+ Api.getCloudConfig({
func: 's_url_db_adduptdel',
id: res.id,
PageIndex: 0, // 0 浠h〃鍏ㄩ儴
@@ -142,11 +150,11 @@
}).then(result => {
if (result.status) {
if (card.typecharone === 'image') {
- sessionStorage.setItem('app_pictures', JSON.stringify(result.data || []))
- this.init()
+ window.GLOB.app_pictures = result.data || []
+ this.init(result.data || [])
} else {
- sessionStorage.setItem('app_videos', JSON.stringify(result.data || []))
- this.init()
+ window.GLOB.app_videos = result.data || []
+ this.init(result.data || [])
}
this.setState({editvisible: false})
} else {
@@ -162,20 +170,25 @@
render () {
const { type, keyword } = this.props
- const { list, url, pagelist, fileList, searchKey, pageIndex, pageSize, selectId, editvisible, card } = this.state
+ const { list, url, pagelist, searchKey, pageIndex, pageSize, selectId, editvisible, card } = this.state
return (
<div className="mk-source-pop-wrap">
- {keyword === 'input' ? <Form.Item label="鍦板潃" labelCol={{xs: { span: 24 }, sm: { span: 4 }}} wrapperCol={{xs: { span: 24 }, sm: { span: 20 }}}>
+ {keyword === 'input' ? <Form.Item label="鍦板潃" help="鍙娇鐢ˊmywebsite@浠f浛鍩熷悕锛堝惈铏氭嫙鐩綍锛夛紝濡傦細@mywebsite@/Content/images/xxx.jpg" labelCol={{xs: { span: 24 }, sm: { span: 4 }}} wrapperCol={{xs: { span: 24 }, sm: { span: 20 }}}>
<TextArea id="source-input" value={url} rows={4} onChange={this.changeValue}/>
</Form.Item> : null}
{keyword === 'upload' ? <Form.Item label="涓婁紶" labelCol={{xs: { span: 24 }, sm: { span: 4 }}} wrapperCol={{xs: { span: 24 }, sm: { span: 20 }}}>
- <FileUpload value={fileList} onChange={this.changeFile} accept={type === 'video' ? '.mp4,.webm,.ogg' : '.jpg,.png,.gif,.pjp,.pjpeg,.jpeg,.jfif,.webp'} maxFile={1} fileType={type === 'video' ? 'text' : 'picture'} />
+ <FileUpload config={{
+ initval: '',
+ suffix: type === 'video' ? '.mp4,.webm,.ogg' : '.jpg,.png,.gif,.pjp,.pjpeg,.jpeg,.jfif,.webp,.ico',
+ maxfile: 1,
+ fileType: type === 'video' ? 'text' : 'picture'
+ }} onChange={this.changeFile} />
</Form.Item> : null}
{keyword === 'system' ?
<Search value={searchKey} placeholder="" onChange={(e) => this.setState({searchKey: e.target.value})} onSearch={this.changeSearch} enterButton/> : null}
- {keyword === 'system' ? <Button className="picture-plus mk-green" icon="plus" onClick={() => this.handleSource({typecharone: type})}>
- 娣诲姞
+ {keyword === 'system' ? <Button className="picture-plus mk-green" onClick={() => this.handleSource({typecharone: type})}>
+ <PlusOutlined /> 娣诲姞
</Button> : null}
{keyword === 'system' && list.length ?
<Row gutter={16} style={{minHeight: '250px'}}>
--
Gitblit v1.8.0