Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
WebPublic
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
前端开发小组
WebPublic
Commits
5bfb05b3
提交
5bfb05b3
authored
4月 14, 2020
作者:
徐立
浏览文件
操作
浏览文件
下载
差异文件
解决冲突
上级
ebe6c000
7b77139d
全部展开
显示空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
123 行增加
和
76 行删除
+123
-76
List.js
FormInsertDiy/AffairPage/ApplyPage/List.js
+0
-1
index.js
FormInsertDiy/AffairPage/ApplyPage/index.js
+14
-2
index.js
FormInsertDiy/AffairPage/AuditPage/index.js
+9
-2
destruction.js
FormInsertDiy/AffairPage/destruction.js
+15
-4
index.jsx
one_stop_public/Table/index.jsx
+0
-0
ChildForm.jsx
one_stop_public/libs/ChildForm.jsx
+30
-4
TableSelect.js
one_stop_public/libs/TableSelect.js
+48
-57
index.js
one_stop_public/libs/formList/index.js
+5
-4
index.jsx
one_stop_public/tableCompon/index.jsx
+0
-0
index.js
zyd_public/LoginFromQrCode/index.js
+2
-2
没有找到文件。
FormInsertDiy/AffairPage/ApplyPage/List.js
浏览文件 @
5bfb05b3
...
...
@@ -88,7 +88,6 @@ export default class List extends Component {
list
:
[],
loading
:
true
,
});
search
.
getPageService
({
...
data
,
appId
:
workId
}).
then
((
response
)
=>
{
this
.
setState
({
loading
:
false
,
...
...
FormInsertDiy/AffairPage/ApplyPage/index.js
浏览文件 @
5bfb05b3
...
...
@@ -24,12 +24,12 @@ export default class AffairPage extends React.Component {
constructor
(
props
)
{
super
(
props
);
let
pathname
=
this
.
props
.
location
.
pathname
;
const
{
dataBaseId
,
workId
}
=
this
.
props
;
this
.
state
=
{
showIframe
:
false
,
columns
:
[],
pathname
,
workId
:
''
,
workId
:
workId
||
''
,
searchCondition
:
[],
dataBaseId
:
''
,
addFields
:
[],
// 新增时填写的字段。
...
...
@@ -138,6 +138,15 @@ export default class AffairPage extends React.Component {
return
false
;
}
const
{
pathname
}
=
this
.
state
;
const
{
dataBaseId
,
workId
}
=
this
.
props
;
if
(
dataBaseId
||
workId
){
this
.
setState
({
workId
,
dataBaseId
,
},()
=>
{
this
.
getColumns
();
});
}
else
{
service
.
getId
(
pathname
).
then
((
x
)
=>
{
this
.
setState
({
workId
:
x
.
workId
,
...
...
@@ -146,6 +155,8 @@ export default class AffairPage extends React.Component {
this
.
getColumns
();
})
});
}
window
.
addEventListener
(
'message'
,
(
event
)
=>
{
if
(
event
.
data
===
'returnList'
)
{
...
...
@@ -178,6 +189,7 @@ export default class AffairPage extends React.Component {
const
{
workId
,
dataBaseId
,
addFields
,
showIframe
,
renderIframe
}
=
this
.
state
;
const
url
=
config
.
onestopPC
.
split
(
'/#/'
);
let
iframeUrl
=
`
${
url
[
0
]}
/#/IFrameForApply?id=
${
workId
}
&token=
${
getToken
()}
`
;
console
.
log
(
iframeUrl
);
// iframeUrl = `http://localhost:8000/onestop/IFrameForApply?id=${workId}&token=${getToken()}`;
return
(
<
PageHeaderWrapper
title
=
""
>
...
...
FormInsertDiy/AffairPage/AuditPage/index.js
浏览文件 @
5bfb05b3
...
...
@@ -15,15 +15,16 @@ import { Link } from 'dva/router';
export
default
class
Index
extends
React
.
Component
{
constructor
(
props
)
{
super
(
props
);
let
pathname
=
this
.
props
.
location
.
pathname
;
this
.
state
=
{
columns
:
[],
dataList
:
[],
headerInfo
:
[],
workId
:
''
,
workId
:
this
.
props
.
workId
||
''
,
searchCondition
:
[],
pathname
,
dataBaseId
:
''
,
dataBaseId
:
this
.
props
.
dataBaseId
||
''
,
addCondition
:
[],
addFields
:
[],
// 新增时填写的字段。
tableInfo
:
{},
// 表格配置属性
...
...
@@ -94,6 +95,10 @@ export default class Index extends React.Component {
componentDidMount
()
{
const
{
pathname
}
=
this
.
state
;
const
{
workId
}
=
this
.
state
;
if
(
workId
){
this
.
getColumn
();
}
else
{
service
.
getId
(
pathname
).
then
((
x
)
=>
{
this
.
setState
({
workId
:
x
.
workId
,
...
...
@@ -104,6 +109,8 @@ export default class Index extends React.Component {
});
}
}
render
()
{
const
{
workId
,
dataBaseId
,
columns
,
searchCondition
,
addFields
,
allConfigSetInfo
,
tableInfo
}
=
this
.
state
;
return
(
...
...
FormInsertDiy/AffairPage/destruction.js
浏览文件 @
5bfb05b3
import
{
text
,
number
,
date
,
format
,
taskNode
}
from
'../config/index'
;
import
{
isJSON
}
from
'@/baseComponent/utils'
;
import
{
translateAddFields
}
from
'../config/index'
;
import
ColumnsRender
from
'@/highOrderComponent/ColumnsRender
'
;
import
config
from
'@/config/config
'
;
import
{
Tooltip
}
from
'antd'
;
import
moment
from
'moment'
;
import
React
from
'react'
;
...
...
@@ -314,7 +314,12 @@ export function handleColumns(columns){
if
(
item
.
dataType
)
{
if
(
text
.
indexOf
(
item
.
dataType
)
>
-
1
)
{
// 文本类型字段
item
.
render
=
(
text
)
=>
{
if
(
typeof
text
===
'string'
&&
text
.
length
>
20
)
{
if
(
item
.
extendType
===
'file'
&&
typeof
text
===
'string'
){
let
url
=
text
.
includes
(
'http'
)
?
text
:
config
.
sqlFormsServer
+
text
;
console
.
log
(
url
);
return
<
a
href
=
{
url
}
target
=
{
'_blank'
}
>
点击查看
<
/a>
;
}
else
if
(
typeof
text
===
'string'
&&
text
.
length
>
20
)
{
const
oldTitle
=
text
;
const
newTitle
=
text
.
slice
(
0
,
7
)
+
'...'
;
return
(
...
...
@@ -322,8 +327,14 @@ export function handleColumns(columns){
<
span
key
=
{
text
}
>
{
newTitle
}
<
/span
>
<
/Tooltip
>
);
}
else
if
(
typeof
text
===
'object'
&&
Array
.
isArray
(
text
.
files
)
&&
text
.
files
.
length
)
{
return
<
a
href
=
{
text
.
files
[
0
].
path
}
target
=
{
'_blank'
}
>
点击查看
<
/a>
;
}
else
if
(
item
.
extendType
===
'file'
&&
typeof
text
===
'object'
&&
Array
.
isArray
(
text
.
files
)
&&
text
.
files
.
length
)
{
let
url
=
text
.
files
[
0
].
path
.
includes
(
'http'
)
?
text
.
files
[
0
].
path
:
config
.
sqlFormsServer
+
text
.
files
[
0
].
path
;
return
<
a
href
=
{
url
}
target
=
{
'_blank'
}
>
点击查看
<
/a>
;
}
else
{
return
text
;
}
...
...
one_stop_public/Table/index.jsx
浏览文件 @
5bfb05b3
差异被折叠。
点击展开。
one_stop_public/libs/ChildForm.jsx
浏览文件 @
5bfb05b3
...
...
@@ -3,7 +3,7 @@ import { Button, Row, Col, message } from 'antd';
import
ZdyTable
from
'../Table'
import
UUID
from
'react-native-uuid'
;
import
{
Card
,
WingBlank
}
from
'antd-mobile'
;
import
{
Card
,
WingBlank
}
from
'antd-mobile'
;
export
default
class
ChildForm
extends
React
.
Component
{
...
...
@@ -142,11 +142,37 @@ export default class ChildForm extends React.Component {
span=
{
span
}
>
<
ZdyTable
formConfig=
{
datas
}
key=
{
r
}
fatherCode=
{
base52
}
isEdit=
{
isEdit
}
index=
{
r
}
obj=
{
objs
[
r
]
}
fatherObj=
{
this
.
props
.
fatherObj
}
init=
{
objs
}
isChild=
{
true
}
get=
"web"
form=
{
form
}
mapData=
{
mapData
}
sqlData=
{
sqlData
}
{
...
datas
}
defaultValues=
{
defaultValues
}
/>
<
ZdyTable
formConfig=
{
datas
}
key=
{
r
}
fatherCode=
{
base52
}
isEdit=
{
isEdit
}
index=
{
r
}
obj=
{
objs
[
r
]
}
fatherObj=
{
this
.
props
.
fatherObj
}
init=
{
objs
}
isChild=
{
true
}
get=
"web"
form=
{
form
}
mapData=
{
mapData
}
sqlData=
{
sqlData
}
{
...
datas
}
defaultValues=
{
defaultValues
}
/>
{
rights
.
includes
(
"delete"
)
&&
isEdit
?
<
Button
size=
"small"
style=
{
{
position
:
"absolute"
,
right
:
10
,
top
:
'50%'
,
transform
:
'translateY(-50%)'
}
}
type=
'danger'
onClick=
{
this
.
delete
.
bind
(
this
,
r
)
}
>
{
deleteName
||
"删除"
}
</
Button
>
:
""
}
style=
{
{
position
:
"absolute"
,
left
:
' 95%'
,
top
:
'10px'
,
transform
:
'translateY(-50%)'
,
borderRadius
:
'50%'
,
height
:
'13px'
,
width
:
'13px'
,
padding
:
0
,
lineHeight
:
'10px'
}
}
type=
'danger'
onClick=
{
this
.
delete
.
bind
(
this
,
r
)
}
>
{
deleteName
||
"-"
}
</
Button
>
:
""
}
</
Col
>
...
...
one_stop_public/libs/TableSelect.js
浏览文件 @
5bfb05b3
...
...
@@ -16,16 +16,11 @@ export default class TableSelect extends React.Component {
const
value
=
props
.
value
||
{};
this
.
state
=
{
selects
:
value
.
selects
||
{},
visiable
:
value
.
visiable
,
isAll
:
value
.
isAll
!=
null
?
value
.
isAll
:
false
,
querys
:
value
.
querys
||
[],
selects
:
value
.
selects
||
{},
visiable
:
value
.
visiable
,
isAll
:
value
.
isAll
!=
null
?
value
.
isAll
:
false
,
querys
:
value
.
querys
||
[],
sql
:
value
.
sql
,
}
}
...
...
@@ -33,6 +28,7 @@ export default class TableSelect extends React.Component {
// Should provide an event to pass value to Form.
const
onChange
=
this
.
props
.
onChange
;
if
(
onChange
)
{
console
.
log
(
"changedValue"
,
changedValue
)
onChange
(
Object
.
assign
({},
this
.
state
,
changedValue
));
}
}
...
...
@@ -41,30 +37,30 @@ export default class TableSelect extends React.Component {
if
(
'value'
in
nextProps
)
{
const
value
=
nextProps
.
value
;
if
(
value
!=
null
&&
value
instanceof
Object
)
{
if
(
value
!=
null
&&
value
instanceof
Object
)
{
this
.
setState
(
value
);
}
//
}
}
remove
=
(
rowKey
)
=>
{
console
.
log
(
rowKey
)
const
{
selects
}
=
this
.
state
delete
selects
[
rowKey
]
console
.
log
(
selects
)
if
(
!
(
'value'
in
this
.
props
))
{
this
.
setState
({
selects
});
}
this
.
triggerChange
({
selects
});
this
.
triggerChange
({
selects
});
}
select
=
(
obj
)
=>
{
var
{
selects
}
=
this
.
state
const
{
json
:
{
isMultiple
,
optionType
}
}
=
this
.
props
var
{
selects
}
=
this
.
state
const
{
json
:
{
isMultiple
,
optionType
}
}
=
this
.
props
let
valueName
=
this
.
props
.
json
.
valueName
if
(
optionType
==
"reference"
&&
this
.
props
.
dataColumn
.
referenceObjId
)
{
valueName
=
this
.
props
.
dataColumn
.
referenceCodeName
if
(
optionType
==
"reference"
&&
this
.
props
.
dataColumn
.
referenceObjId
)
{
valueName
=
this
.
props
.
dataColumn
.
referenceCodeName
}
...
...
@@ -74,16 +70,16 @@ export default class TableSelect extends React.Component {
return
}
if
(
!
isMultiple
)
{
selects
=
{
[
kk
]:
{
...
obj
,
selectKey
:
kk
}
}
selects
=
{
[
kk
]:
{
...
obj
,
selectKey
:
kk
}
}
}
else
{
selects
[
kk
]
=
obj
;
selects
[
kk
].
selectKey
=
kk
selects
[
kk
].
selectKey
=
kk
}
if
(
!
(
'value'
in
this
.
props
))
{
this
.
setState
({
selects
});
}
this
.
triggerChange
({
selects
});
this
.
triggerChange
({
selects
});
...
...
@@ -96,7 +92,7 @@ export default class TableSelect extends React.Component {
values
.
splice
(
i
,
1
)
labels
.
splice
(
i
,
1
)
if
(
!
(
'value'
in
this
.
props
))
{
this
.
setState
({
values
,
labels
});
this
.
setState
({
values
,
labels
});
}
this
.
triggerChange
({
values
,
labels
});
...
...
@@ -106,27 +102,25 @@ export default class TableSelect extends React.Component {
open
=
()
=>
{
if
(
!
(
'value'
in
this
.
props
))
{
this
.
setState
({
visiable
:
true
});
this
.
setState
({
visiable
:
true
});
}
this
.
triggerChange
({
visiable
:
true
});
}
closeModal
=
()
=>
{
if
(
!
(
'value'
in
this
.
props
))
{
this
.
setState
({
visiable
:
false
});
this
.
setState
({
visiable
:
false
});
}
this
.
triggerChange
({
visiable
:
false
});
}
render
()
{
const
{
json
:
{
isMultiple
,
sql
,
optionType
,
showTable
},
dataColumn
:
{
referenceObjId
},
sqlModel
,
columns
,
dataSource
}
=
this
.
props
let
{
valueName
,
labelName
}
=
this
.
props
.
json
if
(
optionType
==
"reference"
&&
referenceObjId
){
valueName
=
this
.
props
.
dataColumn
.
referenceCodeName
labelName
=
this
.
props
.
dataColumn
.
referenceNameName
const
{
json
:
{
isMultiple
,
sql
,
optionType
,
showTable
},
dataColumn
:
{
referenceObjId
},
sqlModel
,
columns
,
dataSource
}
=
this
.
props
let
{
valueName
,
labelName
}
=
this
.
props
.
json
if
(
optionType
==
"reference"
&&
referenceObjId
)
{
valueName
=
this
.
props
.
dataColumn
.
referenceCodeName
labelName
=
this
.
props
.
dataColumn
.
referenceNameName
}
...
...
@@ -134,45 +128,44 @@ export default class TableSelect extends React.Component {
if
(
valueName
==
null
||
valueName
==
""
)
{
return
<>
请指定取值的列名
<
/
>
}
const
{
selects
,
visiable
,
labels
}
=
this
.
state
const
{
selects
,
visiable
,
labels
}
=
this
.
state
const
keys
=
[]
for
(
let
i
in
selects
)
{
const
keys
=
[]
for
(
let
i
in
selects
)
{
keys
.
push
(
selects
[
i
][
valueName
])
}
const
columns2
=
[...
columns
,
{
title
:
"操作"
,
render
:
(
val
,
record
)
=><
a
onClick
=
{
this
.
remove
.
bind
(
this
,
record
.
selectKey
)}
>
移除
<
/a
>
const
columns2
=
[...
columns
,
{
title
:
"操作"
,
render
:
(
val
,
record
)
=>
<
a
onClick
=
{
this
.
remove
.
bind
(
this
,
record
.
selectKey
)}
>
移除
<
/a
>
}]
const
columns3
=
[...
columns
,{
title
:
"操作"
,
render
:(
val
,
record
)
=>
keys
.
includes
(
record
[
valueName
])?
<
span
>
已选择
<
/span>:<a onClick={this.select.bind
(
this,record
)
}>选择</
a
>
const
columns3
=
[...
columns
,
{
title
:
"操作"
,
render
:
(
val
,
record
)
=>
keys
.
includes
(
record
[
valueName
])
?
<
span
>
已选择
<
/span> : <a onClick={this.select.bind
(
this, record
)
}>选择</
a
>
}]
const
custom
=
{
isAll
:
this
.
state
.
isAll
,
const
custom
=
{
isAll
:
this
.
state
.
isAll
,
querys
:
this
.
state
.
querys
,
sql
:
this
.
state
.
sql
,
}
console
.
log
(
columns3
)
//
console.log(columns3)
let
allWidth
=
0
if
(
columns3
)
{
columns3
.
map
((
item
,
index
)
=>
{
if
(
index
===
columns3
.
length
-
1
)
{
if
(
columns3
)
{
columns3
.
map
((
item
,
index
)
=>
{
if
(
index
===
columns3
.
length
-
1
)
{
item
.
fixed
=
'right'
item
.
width
=
50
allWidth
+=
50
return
item
}
if
(
index
===
columns3
.
length
-
2
)
{
if
(
index
===
columns3
.
length
-
2
)
{
allWidth
+=
150
}
else
{
if
(
item
.
width
)
{
if
(
item
.
width
)
{
allWidth
+=
item
.
width
}
else
{
item
.
width
=
180
...
...
@@ -182,23 +175,20 @@ export default class TableSelect extends React.Component {
return
item
})
}
console
.
log
(
selects
,
Object
.
keys
(
selects
).
length
)
return
(
<
div
>
{
Object
.
keys
(
selects
).
length
>
0
?
showTable
?
<
Table
rowKey
=
{
valueName
}
size
=
"small"
dataSource
=
{
Object
.
values
(
selects
)}
columns
=
{
columns2
}
pagination
=
{
false
}
/>
:
{
Object
.
keys
(
selects
).
length
>
0
?
showTable
?
<
Table
rowKey
=
{
valueName
}
size
=
"small"
dataSource
=
{
Object
.
values
(
selects
)}
columns
=
{
columns2
}
pagination
=
{
false
}
/>
:
Object
.
keys
(
selects
).
map
((
k
)
=>
<
Tag
key
=
{
k
}
closable
onClose
=
{
this
.
remove
.
bind
(
this
,
k
)}
>
{
selects
[
k
][
labelName
]}
<
/Tag>
)
:
""
}
<
Button
type
=
"primary"
onClick
=
{
this
.
open
}
>
选择
<
/Button
>
<
Modal
width
=
"
1200px
"
width
=
"
60%
"
maskClosable
=
{
false
}
title
=
{
`请选择`
}
visible
=
{
visiable
}
onOk
=
{
this
.
closeModal
}
...
...
@@ -206,7 +196,8 @@ export default class TableSelect extends React.Component {
>
{
optionType
==
"reference"
?
referenceObjId
?
<
FormList
rights
=
{
this
.
props
.
rights
||
[]}
notShowBack
=
{
true
}
value
=
{
custom
}
objId
=
{
referenceObjId
}
isFormCom
=
{
true
}
isSelect
=
{
true
}
selects
=
{
keys
}
valueName
=
{
valueName
}
callback
=
{
this
.
select
}
sql
=
{
sql
}
/> : "未关联数据对象
"
<
FormList
rights
=
{
this
.
props
.
rights
||
[]}
notShowBack
=
{
true
}
value
=
{
custom
}
objId
=
{
referenceObjId
}
isFormCom
=
{
true
}
isSelect
=
{
true
}
selects
=
{
keys
}
valueName
=
{
valueName
}
callback
=
{
this
.
select
}
sql
=
{
sql
}
/
>
:
"未关联数据对象"
:
sqlModel
.
dataObjId
?
<
FormList
rights
=
{
this
.
props
.
rights
||
[]}
notShowBack
=
{
true
}
value
=
{
custom
}
objId
=
{
sqlModel
.
dataObjId
}
isFormCom
=
{
true
}
isSelect
=
{
true
}
selects
=
{
keys
}
valueName
=
{
valueName
}
callback
=
{
this
.
select
}
sql
=
{
sql
}
/
>
:
<
Table
rowKey
=
{
valueName
}
size
=
"small"
dataSource
=
{
dataSource
.
list
}
columns
=
{
columns3
}
scroll
=
{{
x
:
allWidth
}}
/>
}
...
...
one_stop_public/libs/formList/index.js
浏览文件 @
5bfb05b3
...
...
@@ -731,7 +731,7 @@ class FormList extends React.Component {
{
form
.
getFieldDecorator
(
item
.
name
,
{
initialValue
:
formData
==
null
?
''
:
formData
[
item
.
name
],
rules
:
[{
required
:
!
item
.
isNull
}],
})(
<
Input
readOnly
=
{
!
isAdd
}
placeholder
=
"请输入"
/>
)}
})(
<
Input
style
=
{{
width
:
'70%'
}}
readOnly
=
{
!
isAdd
}
placeholder
=
"请输入"
/>
)}
<
/FormItem
>
);
}
...
...
@@ -771,7 +771,7 @@ class FormList extends React.Component {
{
form
.
getFieldDecorator
(
item
.
name
,
{
initialValue
:
formData
==
null
?
''
:
formData
[
item
.
name
],
rules
:
[{
required
:
!
item
.
isNull
}],
})(
<
Input
placeholder
=
"请输入"
/>
)}
})(
<
Input
style
=
{{
width
:
'70%'
}}
placeholder
=
"请输入"
/>
)}
<
/FormItem
>
);
}
else
if
(
number
.
indexOf
(
item
.
type
)
>
-
1
)
{
...
...
@@ -818,7 +818,7 @@ class FormList extends React.Component {
{
form
.
getFieldDecorator
(
item
.
name
,
{
initialValue
:
formData
==
null
?
''
:
formData
[
item
.
name
],
rules
:
[{
required
:
!
item
.
isNull
}],
})(
<
Input
placeholder
=
"请输入"
/>
)}
})(
<
Input
style
=
{{
width
:
'70%'
}}
placeholder
=
"请输入"
/>
)}
<
/FormItem
>
);
}
...
...
@@ -832,11 +832,12 @@ class FormList extends React.Component {
if
(
querys
.
length
==
0
)
{
return
''
;
}
return
(
<
Form
layout
=
"inline"
>
<
Row
>
{
querys
.
map
((
item
)
=>
<
Col
span
=
{
8
}
key
=
{
item
.
id
}
>
<
Col
style
=
{{
height
:
58
}}
span
=
{
8
}
key
=
{
item
.
id
}
>
{
this
.
getItem
(
true
,
form
,
{
...
item
,
isNull
:
true
...
...
one_stop_public/tableCompon/index.jsx
浏览文件 @
5bfb05b3
差异被折叠。
点击展开。
zyd_public/LoginFromQrCode/index.js
浏览文件 @
5bfb05b3
...
...
@@ -8,7 +8,7 @@ import LoginWithQrCode from './LoginWithQrCode';
* wxSocketGateWay: websocket链接地址 'ws://scjoyedu.eicp.net:51337/wswx/test106/socket/'
* mockServer: 获取sessionId 接口前缀 'http://scjoyedu.eicp.net:51337/test106',
* */
export
default
function
LoginByQrCode
({
url
,
LoginType
,
wxSocketGateWay
,
mockServer
})
{
export
default
function
LoginByQrCode
({
hintStyle
,
url
,
LoginType
,
wxSocketGateWay
,
mockServer
})
{
return
(
<
div
>
<
div
style
=
{{
backgroundColor
:
'white'
,
width
:
288
,
padding
:
10
,
margin
:
'auto'
}}
>
...
...
@@ -19,7 +19,7 @@ export default function LoginByQrCode({ url, LoginType, wxSocketGateWay, mockSer
wxSocketGateWay
=
{
wxSocketGateWay
}
/
>
<
/div
>
<
div
style
=
{{
marginTop
:
20
,
color
:
'white'
}}
>
<
div
style
=
{{
marginTop
:
20
,
color
:
'white'
,
...
hintStyle
,
}}
>
请使用
<
span
style
=
{{
color
:
'red'
}}
>
微信扫一扫
<
/span
>
扫码登录
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论