Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
WebPublic
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
前端开发小组
WebPublic
Commits
c0f7cedf
提交
c0f7cedf
authored
4月 06, 2020
作者:
徐立
浏览文件
操作
浏览文件
下载
差异文件
解决冲突
上级
efc88f79
5c8dfe88
隐藏空白字符变更
内嵌
并排
正在显示
27 个修改的文件
包含
1506 行增加
和
1824 行删除
+1506
-1824
index.js
FormInsertDiy/AffairPage/ApplyPage/index.js
+8
-9
AuditPage.js
FormInsertDiy/AffairPage/AuditPage/AuditPage.js
+1
-1
List.js
FormInsertDiy/AffairPage/AuditPage/List.js
+2
-2
index.js
FormInsertDiy/AffairPage/AuditPage/index.js
+5
-4
ModalForm.js
FormInsertDiy/AffairPage/ButtonListDom/ModalForm.js
+1
-2
index.js
FormInsertDiy/AffairPage/ButtonListDom/index.js
+0
-31
Detail.js
FormInsertDiy/AffairPage/Detail.js
+2
-184
publicApiService.js
FormInsertDiy/AffairPage/publicApiService.js
+5
-9
index.js
FormInsertDiy/ApplyPage/index.js
+5
-0
index.js
FormInsertDiy/AuditButton/index.js
+1
-1
AuditForm.js
FormInsertDiy/AuditPage/AuditForm.js
+1
-1
index.js
FormInsertDiy/Edit/index.js
+139
-139
index.js
FormInsertDiy/Export/index.js
+571
-571
index.js
FormInsertDiy/HistoryForm/index.js
+75
-0
index.less
FormInsertDiy/HistoryForm/index.less
+6
-0
ImportUtil.js
FormInsertDiy/ImportUtil/ImportUtil.js
+377
-377
ImportUtil.less
FormInsertDiy/ImportUtil/ImportUtil.less
+178
-179
index.js
FormInsertDiy/List/index.js
+4
-4
index.js
FormInsertDiy/ListWithAddEditTemplate/index.js
+18
-21
DetailPage.js
FormInsertDiy/MyApplyList/DetailPage.js
+1
-1
index.js
FormInsertDiy/RenderForm/index.js
+9
-3
index.less
FormInsertDiy/RenderForm/index.less
+2
-0
DataObj.js
FormInsertDiy/models/DataObj.js
+0
-151
FormList.js
FormInsertDiy/models/FormList.js
+0
-111
request.js
FormInsertDiy/request.js
+2
-2
index.jsx
one_stop_public/AffairButton/SumbitButton/index.jsx
+4
-3
index.jsx
one_stop_public/tableCompon/index.jsx
+89
-18
没有找到文件。
FormInsertDiy/AffairPage/ApplyPage/index.js
浏览文件 @
c0f7cedf
...
@@ -9,10 +9,9 @@ import { message } from 'antd';
...
@@ -9,10 +9,9 @@ import { message } from 'antd';
import
React
,
{
Fragment
}
from
'react'
;
import
React
,
{
Fragment
}
from
'react'
;
import
*
as
service
from
'../publicApiService'
;
import
*
as
service
from
'../publicApiService'
;
import
*
as
destructionFunc
from
'../destruction'
;
import
*
as
destructionFunc
from
'../destruction'
;
import
{
Link
,
hashHistory
}
from
'dva/router'
;
import
{
Link
}
from
'dva/router'
;
import
{
getDefaultValues
}
from
'../destruction'
;
import
{
getApplyPage
}
from
'../publicApiService'
;
import
{
getApplyPage
}
from
'../publicApiService'
;
import
{
get
HuanGe
Token
}
from
'@/utils/authority'
;
import
{
getToken
}
from
'@/utils/authority'
;
import
PageHeaderWrapper
from
'@/components/PageHeaderWrapper'
;
import
PageHeaderWrapper
from
'@/components/PageHeaderWrapper'
;
import
List
from
'./List'
;
import
List
from
'./List'
;
...
@@ -20,12 +19,12 @@ import pageSetting from './pageSetting';
...
@@ -20,12 +19,12 @@ import pageSetting from './pageSetting';
import
ButtonDiy
from
'@/baseComponent/ButtonDiy'
;
import
ButtonDiy
from
'@/baseComponent/ButtonDiy'
;
import
Shell
from
'@/baseComponent/Shell'
;
import
Shell
from
'@/baseComponent/Shell'
;
import
config
from
'@/config/config'
;
import
config
from
'@/config/config'
;
// import test from './2333';
export
default
class
AffairPage
extends
React
.
Component
{
export
default
class
AffairPage
extends
React
.
Component
{
constructor
(
props
)
{
constructor
(
props
)
{
super
(
props
);
super
(
props
);
// const idObj = service.getId();
let
pathname
=
this
.
props
.
location
.
pathname
;
const
idObj
=
service
.
getId
(
pathname
);
if
(
!
idObj
)
{
if
(
!
idObj
)
{
message
.
error
(
'没有配置数据id,无法使用该功能'
);
message
.
error
(
'没有配置数据id,无法使用该功能'
);
}
}
...
@@ -122,7 +121,7 @@ export default class AffairPage extends React.Component {
...
@@ -122,7 +121,7 @@ export default class AffairPage extends React.Component {
};
};
componentDidMount
()
{
componentDidMount
()
{
if
(
!
get
HuanGe
Token
())
{
if
(
!
getToken
())
{
message
.
error
(
'您的数据未同步,请联系管理员!'
);
message
.
error
(
'您的数据未同步,请联系管理员!'
);
return
false
;
return
false
;
}
}
...
@@ -145,7 +144,7 @@ export default class AffairPage extends React.Component {
...
@@ -145,7 +144,7 @@ export default class AffairPage extends React.Component {
this
.
ListComponent
.
getPage
();
this
.
ListComponent
.
getPage
();
});
});
}
}
if
(
event
.
data
.
indexOf
(
'iframeHeight'
)
>
-
1
)
{
if
(
event
.
data
.
indexOf
(
'iframeHeight'
)
>
-
1
)
{
let
height
=
Number
(
event
.
data
.
split
(
'-'
)[
1
]);
let
height
=
Number
(
event
.
data
.
split
(
'-'
)[
1
]);
document
.
getElementById
(
'applyIframeId'
).
height
=
height
;
document
.
getElementById
(
'applyIframeId'
).
height
=
height
;
}
}
...
@@ -157,8 +156,8 @@ export default class AffairPage extends React.Component {
...
@@ -157,8 +156,8 @@ export default class AffairPage extends React.Component {
render
()
{
render
()
{
const
{
workId
,
dataBaseId
,
addFields
,
showIframe
}
=
this
.
state
;
const
{
workId
,
dataBaseId
,
addFields
,
showIframe
}
=
this
.
state
;
const
url
=
config
.
onestopPC
.
split
(
'/#/'
);
const
url
=
config
.
onestopPC
.
split
(
'/#/'
);
let
iframeUrl
=
`
${
url
[
0
]}
/#/IFrameForApply?id=
${
workId
}
&token=
${
get
HuanGe
Token
()}
`
;
let
iframeUrl
=
`
${
url
[
0
]}
/#/IFrameForApply?id=
${
workId
}
&token=
${
getToken
()}
`
;
// iframeUrl = `http://localhost:8000/onestop/IFrameForApply?id=${workId}&token=${getHuanGeToken()}`;
// iframeUrl = `http://localhost:8000/onestop/IFrameForApply?id=${workId}&token=${getHuanGeToken()}`;
return
(
return
(
<
PageHeaderWrapper
title
=
""
>
<
PageHeaderWrapper
title
=
""
>
<
div
style
=
{{
<
div
style
=
{{
...
...
FormInsertDiy/AffairPage/AuditPage/AuditPage.js
浏览文件 @
c0f7cedf
...
@@ -6,7 +6,7 @@ import PageHeaderWrapper from '@/components/PageHeaderWrapper';
...
@@ -6,7 +6,7 @@ import PageHeaderWrapper from '@/components/PageHeaderWrapper';
import
List
from
'../ApplyPage/List'
;
import
List
from
'../ApplyPage/List'
;
import
ListTab
from
'./ListTab'
;
import
ListTab
from
'./ListTab'
;
import
{
deepCopy
}
from
'@/baseComponent/utils'
;
import
{
deepCopy
}
from
'@/baseComponent/utils'
;
import
{
getApplyPage
,
getHandledPage
,
getWaitPage
}
from
'
@/pages/App/FormInsertDiy/AffairPage
/publicApiService'
;
import
{
getApplyPage
,
getHandledPage
,
getWaitPage
}
from
'
..
/publicApiService'
;
export
default
class
AuditPage
extends
Component
{
export
default
class
AuditPage
extends
Component
{
constructor
(
props
)
{
constructor
(
props
)
{
...
...
FormInsertDiy/AffairPage/AuditPage/List.js
浏览文件 @
c0f7cedf
...
@@ -7,9 +7,9 @@ import * as services from '@/highOrderComponent/Service';
...
@@ -7,9 +7,9 @@ import * as services from '@/highOrderComponent/Service';
import
StandardTable
from
'@/components/StandardTable'
;
import
StandardTable
from
'@/components/StandardTable'
;
import
PropTypes
from
'prop-types'
;
import
PropTypes
from
'prop-types'
;
import
{
deepCopy
}
from
'@/baseComponent/utils'
;
import
{
deepCopy
}
from
'@/baseComponent/utils'
;
import
{
date
,
format
,
text
}
from
'
@/pages/App/FormInsertDiy
/config'
;
import
{
date
,
format
,
text
}
from
'
../..
/config'
;
import
moment
from
'moment'
;
import
moment
from
'moment'
;
import
{
handleAudit
}
from
'
@/pages/App/FormInsertDiy/AffairPage
/publicApiService'
;
import
{
handleAudit
}
from
'
..
/publicApiService'
;
import
{
Tooltip
}
from
'antd'
;
import
{
Tooltip
}
from
'antd'
;
export
default
class
List
extends
Component
{
export
default
class
List
extends
Component
{
...
...
FormInsertDiy/AffairPage/AuditPage/index.js
浏览文件 @
c0f7cedf
...
@@ -5,17 +5,18 @@
...
@@ -5,17 +5,18 @@
*
*
* */
* */
import
{
Row
,
Col
,
message
}
from
'antd'
;
import
{
message
}
from
'antd'
;
import
React
,
{
Fragment
}
from
'react'
;
import
React
,
{
}
from
'react'
;
import
*
as
service
from
'../publicApiService'
;
import
*
as
service
from
'../publicApiService'
;
import
AuditPage
from
'./AuditPage'
;
import
AuditPage
from
'./AuditPage'
;
import
*
as
destructionFunc
from
'../destruction'
;
import
*
as
destructionFunc
from
'../destruction'
;
import
{
Link
,
hashHistory
}
from
'dva/router'
;
import
{
Link
}
from
'dva/router'
;
export
default
class
Index
extends
React
.
Component
{
export
default
class
Index
extends
React
.
Component
{
constructor
(
props
)
{
constructor
(
props
)
{
super
(
props
);
super
(
props
);
// const idObj = service.getId();
let
pathname
=
this
.
props
.
location
.
pathname
;
const
idObj
=
service
.
getId
(
pathname
);
if
(
!
idObj
)
{
if
(
!
idObj
)
{
message
.
error
(
'没有配置数据id,无法使用该功能'
);
message
.
error
(
'没有配置数据id,无法使用该功能'
);
}
}
...
...
FormInsertDiy/AffairPage/ButtonListDom/ModalForm.js
浏览文件 @
c0f7cedf
...
@@ -11,11 +11,10 @@ import ButtonDiy from '@/baseComponent/ButtonDiy';
...
@@ -11,11 +11,10 @@ import ButtonDiy from '@/baseComponent/ButtonDiy';
import
ModalDiy
from
'@/baseComponent/ModalDiy'
;
import
ModalDiy
from
'@/baseComponent/ModalDiy'
;
import
React
,
{
Component
,
Fragment
}
from
'react'
;
import
React
,
{
Component
,
Fragment
}
from
'react'
;
import
{
deepCopy
,
}
from
'@/baseComponent/utils'
;
import
{
deepCopy
,
}
from
'@/baseComponent/utils'
;
import
{
mustHaveValue
}
from
'../../config/index'
;
import
{
mustHaveValue
,
transLateTimeTOUnix
}
from
'../../config/index'
;
import
{
message
}
from
'antd'
;
import
{
message
}
from
'antd'
;
import
PropTypes
from
'prop-types'
;
import
PropTypes
from
'prop-types'
;
import
{
startProcess
}
from
'../publicApiService'
;
import
{
startProcess
}
from
'../publicApiService'
;
import
{
transLateTimeTOUnix
}
from
'@/pages/App/FormInsertDiy/config'
;
import
FormArray
from
'../component/FormArray'
;
import
FormArray
from
'../component/FormArray'
;
export
default
class
ModalForm
extends
Component
{
export
default
class
ModalForm
extends
Component
{
...
...
FormInsertDiy/AffairPage/ButtonListDom/index.js
浏览文件 @
c0f7cedf
import
ButtonDiy
from
'@/baseComponent/ButtonDiy'
;
import
ButtonDiy
from
'@/baseComponent/ButtonDiy'
;
import
React
,
{
Component
,
Fragment
}
from
'react'
;
import
React
,
{
Component
,
Fragment
}
from
'react'
;
/*
import ExportInfo from '@/components/App/ExportInfo';
import ImportUtil from '@/components/App/ImportUtil';
import ModalDelete from './ModalDelete';
import ModalConfirm from './ModalConfirm';
*/
import
ModalBatch
from
'./ModalBatch'
;
import
ModalBatch
from
'./ModalBatch'
;
import
ModalForm
from
'./ModalForm'
;
import
ModalForm
from
'./ModalForm'
;
...
@@ -24,31 +18,6 @@ export default class ButtonListDom extends Component {
...
@@ -24,31 +18,6 @@ export default class ButtonListDom extends Component {
getPage
=
{
getPage
}
getPage
=
{
getPage
}
selectRows
=
{
selectRows
}
selectRows
=
{
selectRows
}
/>
;
/>
;
/* case 'ModalDelete': // 删除按钮
return <ModalDelete {...item}
key={item.type}
getPage={getPage}
selectRows={selectRows}
/>;
case 'ImportUtil': // 导入
return <ImportUtil {...item.props}
key={item.type}
callback={() => getPage()}
/>;
case 'ExportInfo': // 导出
return <ExportInfo {...item.props}
key={item.type}
/>;
case 'ModalConfirm': // 一般按钮 点击后弹出是否确定的 Modal Info
return <ModalConfirm key={item.type}
{...item}
getPage={getPage}
listData={listData}
formValues={formValues}
search={search}
selectRows={selectRows}/>;
*/
case
'ModalBatch'
:
// 一般按钮 点击后弹出 填写一些类似 审核理由 意见之类的信息
case
'ModalBatch'
:
// 一般按钮 点击后弹出 填写一些类似 审核理由 意见之类的信息
return
<
ModalBatch
key
=
{
item
.
type
}
return
<
ModalBatch
key
=
{
item
.
type
}
{...
item
}
{...
item
}
...
...
FormInsertDiy/AffairPage/Detail.js
浏览文件 @
c0f7cedf
import
React
,
{
Fragment
,
Component
}
from
'react'
;
import
React
,
{
Fragment
,
Component
}
from
'react'
;
import
PageHeaderWrapper
from
'@/components/PageHeaderWrapper'
;
import
PageHeaderWrapper
from
'@/components/PageHeaderWrapper'
;
import
Shell
from
'@/baseComponent/Shell'
;
import
Shell
from
'@/baseComponent/Shell'
;
import
BlockTitle
from
'@/baseComponent/BlockTitle'
;
import
ButtonDiy
from
'@/baseComponent/ButtonDiy'
;
import
ButtonDiy
from
'@/baseComponent/ButtonDiy'
;
import
router
from
'umi/router'
;
import
router
from
'umi/router'
;
import
FormArray
from
'./component/FormArray'
;
import
{
getToken
}
from
'@/utils/authority'
;
import
{
getDetailInfo
,
handleAudit
}
from
'@/pages/App/FormInsertDiy/AffairPage/publicApiService'
;
import
{
isJSON
}
from
'@/baseComponent/utils'
;
import
{
Col
,
Row
,
Timeline
,
Icon
,
Tabs
}
from
'antd'
;
import
ModalBatch
from
'./ButtonListDom/ModalBatch'
;
import
FlowImg
from
'./component/FlowImg'
;
import
{
getHuanGeToken
}
from
'@/utils/authority'
;
import
config
from
'@/config/config'
;
import
config
from
'@/config/config'
;
const
{
TabPane
}
=
Tabs
;
/*
export default class Detail extends Component {
/!**
* workId,dataBaseId,record,addFields
* *!/
constructor(props) {
super(props);
this.state = {
detailInfo: {
content: {},
taskInfo: [],
},
show: false,
};
}
componentDidMount() {
const { state } = this.props.location;
const { record } = state;
getDetailInfo(record.id).then((x) => {
if (x) {
if (isJSON(x.content)) {
x.content = JSON.parse(x.content);
}
if(typeof x.content === 'object' && x.content.defaultValues){
for(let z in x.content.defaultValues){
x.content = {
...x.content,
...x.content.defaultValues[z],
}
} }
this.setState({
detailInfo: x,
show: true,
});
}
});
}
buttonDom = () => {
const { detailInfo } = this.state;
const { btns } = detailInfo;
let res = [];
if(typeof btns !== 'undefined' && Array.isArray(btns)){
for(let z of btns){
res.push(
{
type: z.name,
name: z.name,
component: 'ModalBatch',
className: z.name !== '通过' ? 'defaultRed' : 'defaultBlue',
nameSpan: { big: 4, small: 5 },
fileSpan: { big: 1, small: 1 },
values: {
[z.key]: z.value,
},
fields: [
{
key: 'reason',
name: '审核意见',
type: 'textarea',
},
],
beforeSubmit: (props, formValues) => {
return {
taskForm : {},
examineMap: JSON.stringify(formValues),
};
},
sourceKey: 'taskId',
postKey: 'taskIds',
apiServiceApi: handleAudit,
}
)
}
return res;
}
return [];
};
render() {
const { state } = this.props.location;
const { record, addFields, workId } = state;
const { detailInfo, show } = this.state;
const Btns = this.buttonDom();
const dot1 = <Icon type={'check-circle'}
style={{ fontSize: '16px', color: 'rgb(82, 196, 26)' }}/>;
const dot2 = <Icon type={'clock-circle-o'}
style={{ fontSize: '16px', color: 'red' }}/>;
if(!show){
return null;
}
return (<PageHeaderWrapper title="">
<Shell>
<div style={{ height: '54px', padding: '12px 0 12px 12px' }}>
<ButtonDiy name="返回"
className="defaultBlue"
icon="arrow-left"
handleClick={() => {
router.goBack();
}}
/>
{
Btns.map((item)=>{
return <ModalBatch key={item.type}
{...item}
handleSelectRows={()=>{console.log('清空')}}
getPage={()=>{router.goBack()}}
selectRows={[record]}/>
})
}
</div>
</Shell>
<Shell>
<BlockTitle
isSmall={true}
title={'申请信息'}
/>
<Row>
<Col span={20}>
<FormArray config={addFields}
value={detailInfo.content}
changeValue={() => {
console.log(xxx);
}}
disabled={true}
readOnly={true}
fileSpan={{ big: 2, small: 2 }}
nameSpan={{ big: 6, small: 7 }}
/>
</Col>
</Row>
</Shell>
<Shell>
<Tabs>
<TabPane tab={'审批状态'} key={'1'}>
<Row>
<Col span={16} offset={2} style={{paddingTop: '30px', paddingBottom: '30px'}}>
<Timeline>
{
detailInfo.taskInfo.map((item) => {
let reason = item.respdesc;
if(item.taskVariable && item.taskVariable.reason){
reason = item.taskVariable.reason;
}
return (
<Timeline.Item dot={item.endTime ? dot1 : dot2}
key={item.id}
>
{item.assignee ? <p><b>{item.assignee}</b></p> : <p> </p>}
<p>审批流程: {item.name}</p>
<p>审批状态: {item.status}</p>
<p>审批原因: {reason}</p>
</Timeline.Item>
);
})
}
</Timeline>
</Col>
</Row>
</TabPane>
<TabPane tab={'流程图'} key={'2'}>
<FlowImg id={workId}/>
</TabPane>
</Tabs>
</Shell>
</PageHeaderWrapper>)
;
}
}*/
export
default
class
Detail
extends
Component
{
export
default
class
Detail
extends
Component
{
constructor
(
props
){
constructor
(
props
){
...
@@ -221,7 +39,7 @@ export default class Detail extends Component{
...
@@ -221,7 +39,7 @@ export default class Detail extends Component{
render
(){
render
(){
const
{
id
,
showAll
}
=
this
.
state
;
const
{
id
,
showAll
}
=
this
.
state
;
const
url
=
config
.
onestopPC
.
split
(
'/#/'
);
const
url
=
config
.
onestopPC
.
split
(
'/#/'
);
let
iframeUrl
=
`
${
url
[
0
]}
/#/IframeForDetail?id=
${
id
}
&token=
${
get
HuanGe
Token
()}
`
;
let
iframeUrl
=
`
${
url
[
0
]}
/#/IframeForDetail?id=
${
id
}
&token=
${
getToken
()}
`
;
// iframeUrl = `http://localhost:8000/onestop/IframeForDetail?id=${id}&token=${getHuanGeToken()}`;
// iframeUrl = `http://localhost:8000/onestop/IframeForDetail?id=${id}&token=${getHuanGeToken()}`;
return
(
return
(
<
PageHeaderWrapper
title
=
""
>
<
PageHeaderWrapper
title
=
""
>
...
...
FormInsertDiy/AffairPage/publicApiService.js
浏览文件 @
c0f7cedf
...
@@ -9,7 +9,7 @@ import { apiRequest } from '../request';
...
@@ -9,7 +9,7 @@ import { apiRequest } from '../request';
import
{
getFormArrayConfig
}
from
'../config/index'
;
import
{
getFormArrayConfig
}
from
'../config/index'
;
import
{
setHuanGeToken
}
from
'@/utils/authority'
;
import
{
setHuanGeToken
}
from
'@/utils/authority'
;
import
{
isJSON
}
from
'@/baseComponent/utils'
;
import
{
isJSON
}
from
'@/baseComponent/utils'
;
import
config
from
'@/config/config'
;
const
giveValue
=
(
x
)
=>
{
const
giveValue
=
(
x
)
=>
{
if
(
x
&&
x
.
rows
){
if
(
x
&&
x
.
rows
){
...
@@ -42,19 +42,15 @@ const getOtherToken = () => {
...
@@ -42,19 +42,15 @@ const getOtherToken = () => {
}
}
};
};
const
getId
=
()
=>
{
// 获取流程引擎 事务workId 和表dataBaseId
const
getId
=
(
pathname
)
=>
{
// 获取流程引擎 事务workId 和表dataBaseId
let
path
=
window
.
location
.
href
;
let
idObj
=
config
.
twOneStopConfig
[
pathname
];
// 路由 /tw/Pjpy/YXTYSBB/Apply
path
=
path
.
split
(
'/'
);
// let idObj = config[path.pop()];
let
idObj
;
if
(
typeof
idObj
===
'undefined'
)
{
if
(
typeof
idObj
===
'undefined'
)
{
console
.
error
(
'没有找到对应的流程引擎id'
);
console
.
error
(
'没有找到对应的流程引擎id'
);
return
false
;
return
false
;
}
else
{
}
else
{
const
{
dataBaseId
,
workId
}
=
idObj
;
return
{
return
{
dataBaseId
,
dataBaseId
:
idObj
.
id
,
workId
,
workId
:
idObj
.
id
,
};
};
}
}
};
};
...
...
FormInsertDiy/ApplyPage/index.js
浏览文件 @
c0f7cedf
...
@@ -11,6 +11,10 @@ let ApplyPage = ({ id, form }) => {
...
@@ -11,6 +11,10 @@ let ApplyPage = ({ id, form }) => {
function
submitCb
(
res
)
{
function
submitCb
(
res
)
{
ModalInfo
(
`提交
${
res
?
'成功'
:
'失败'
}
!`
,
{
onOk
:
()
=>
router
.
goBack
()});
ModalInfo
(
`提交
${
res
?
'成功'
:
'失败'
}
!`
,
{
onOk
:
()
=>
router
.
goBack
()});
}
}
function
saveDraftCb
(
res
)
{
ModalInfo
(
`提交
${
res
?
'成功'
:
'失败'
}
!`
,
{
onOk
:
()
=>
router
.
goBack
()});
}
return
(
return
(
<
Shell
styleShell
=
{{
marginTop
:
0
}}
>
<
Shell
styleShell
=
{{
marginTop
:
0
}}
>
<
Entrance
id
=
{
id
}
isCg
=
"false"
get
=
"web"
form
=
{
form
}
/
>
<
Entrance
id
=
{
id
}
isCg
=
"false"
get
=
"web"
form
=
{
form
}
/
>
...
@@ -22,6 +26,7 @@ let ApplyPage = ({ id, form }) => {
...
@@ -22,6 +26,7 @@ let ApplyPage = ({ id, form }) => {
openDraftButton
openDraftButton
DraftButtonText
=
"暂存"
DraftButtonText
=
"暂存"
callback
=
{
submitCb
}
callback
=
{
submitCb
}
draftCallback
=
{
saveDraftCb
}
/
>
/
>
<
/div
>
<
/div
>
<
/Shell
>
<
/Shell
>
...
...
FormInsertDiy/AuditButton/index.js
浏览文件 @
c0f7cedf
...
@@ -82,7 +82,7 @@ function AuditButton(props) {
...
@@ -82,7 +82,7 @@ function AuditButton(props) {
}
}
function
showModal
(
str
,
key
,
value
)
{
function
showModal
(
str
,
key
,
value
)
{
setModalContent
(
`确定
审核
${
str
}
吗?`
);
setModalContent
(
`确定
${
str
}
吗?`
);
setAffairParams
({
oldKey
:
key
,
btnValue
:
value
});
setAffairParams
({
oldKey
:
key
,
btnValue
:
value
});
setVisible
(
true
);
setVisible
(
true
);
}
}
...
...
FormInsertDiy/AuditPage/AuditForm.js
浏览文件 @
c0f7cedf
...
@@ -5,7 +5,7 @@ import { ModalInfo } from '@/baseComponent/Modal';
...
@@ -5,7 +5,7 @@ import { ModalInfo } from '@/baseComponent/Modal';
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
{
getHistoryFormDetail
}
from
'../../Services'
;
import
{
getHistoryFormDetail
}
from
'../../Services'
;
import
withGoBack
from
'@/highOrderComponent/withGoBack'
;
import
withGoBack
from
'@/highOrderComponent/withGoBack'
;
import
HistoryForm
from
'@/webPublic/
one_stop_public/Entrance/h
istoryForm'
;
import
HistoryForm
from
'@/webPublic/
FormInsertDiy/H
istoryForm'
;
import
AuditButton
from
'../AuditButton'
;
import
AuditButton
from
'../AuditButton'
;
import
styles
from
'../RenderForm/index.less'
;
import
styles
from
'../RenderForm/index.less'
;
...
...
FormInsertDiy/Edit/index.js
浏览文件 @
c0f7cedf
import
React
,
{
Fragment
}
from
'react'
;
//
import React, { Fragment } from 'react';
import
{
//
import {
Button
,
//
Button,
Card
,
Col
,
//
Card, Col,
Form
,
message
,
Row
,
//
Form, message, Row,
}
from
'antd'
;
//
} from 'antd';
import
{
connect
}
from
'dva'
;
//
import { connect } from 'dva';
import
PageHeaderWrapper
from
'@/components/PageHeaderWrapper'
;
//
import PageHeaderWrapper from '@/components/PageHeaderWrapper';
import
moment
from
'moment'
;
//
import moment from 'moment';
import
router
from
'umi/router'
;
//
import router from 'umi/router';
import
{
text
,
number
,
date
,
getFormArrayConfig
}
from
'../config/index'
;
//
import { text, number, date, getFormArrayConfig } from '../config/index';
import
FormArray
from
'../AffairPage/component/FormArray'
;
//
import FormArray from '../AffairPage/component/FormArray';
import
ButtonDiy
from
'@/baseComponent/ButtonDiy'
;
//
import ButtonDiy from '@/baseComponent/ButtonDiy';
import
Shell
from
'../Shell'
;
//
import Shell from '../Shell';
//
//
@
connect
(({
formList
,
loading
})
=>
({
//
@connect(({ formList, loading }) => ({
formList
,
//
formList,
}))
//
}))
@
Form
.
create
()
//
@Form.create()
class
Edit
extends
React
.
Component
{
//
class Edit extends React.Component {
//
state
=
{
//
state = {
modalVisible
:
false
,
//
modalVisible: false,
formData
:
{},
//
formData: {},
formItem
:
[],
//
formItem: [],
isAdd
:
false
,
//
isAdd: false,
objId
:
this
.
props
.
id
,
//
objId: this.props.id,
recordId
:
this
.
props
.
recordId
,
//
recordId: this.props.recordId,
recordKey
:
this
.
props
.
recordKey
,
//
recordKey: this.props.recordKey,
};
//
};
columns
=
[];
//
columns = [];
//
//渲染值
//
//渲染值
componentDidMount
()
{
//
componentDidMount() {
const
{
dispatch
}
=
this
.
props
;
//
const { dispatch } = this.props;
const
{
objId
,
recordKey
,
recordId
}
=
this
.
state
;
//
const { objId, recordKey, recordId } = this.state;
dispatch
({
//
dispatch({
type
:
'formList/getHead'
,
//
type: 'formList/getHead',
payload
:
{
dataObjId
:
objId
},
//
payload: { dataObjId: objId },
callback
:
(
dates
)
=>
{
//
callback: (dates) => {
if
(
dates
)
{
//
if (dates) {
this
.
setState
({
//
this.setState({
formItem
:
dates
,
//
formItem: dates,
});
//
});
}
//
}
},
//
},
});
//
});
//渲染表单字段
//
//渲染表单字段
if
(
recordId
!=
null
)
{
//
if (recordId != null) {
dispatch
({
//
dispatch({
type
:
'formList/getDetail'
,
//
type: 'formList/getDetail',
payload
:
{
//
payload: {
dataObjId
:
objId
,
//
dataObjId: objId,
key
:
recordKey
,
//
key: recordKey,
value
:
recordId
,
//
value: recordId,
},
//
},
callback
:
(
res
)
=>
{
//
callback: (res) => {
if
(
res
)
{
//
if (res) {
this
.
setState
({
//
this.setState({
formData
:
res
,
//
formData: res,
});
//
});
}
//
}
},
//
},
});
//
});
this
.
setState
({
//
this.setState({
isAdd
:
false
,
//
isAdd: false,
})
//
})
}
else
{
//
}else{
this
.
setState
({
//
this.setState({
isAdd
:
true
,
//
isAdd: true,
})
//
})
}
//
}
}
//
}
//
onSubmit
=
()
=>
{
//
onSubmit = () => {
//router.goBack();
//
//router.goBack();
const
{
isAdd
,
objId
,
formData
}
=
this
.
state
;
//
const { isAdd, objId, formData } = this.state;
let
payload
=
{
//
let payload = {
params
:
{...
formData
},
//
params: {...formData},
objId
,
//
objId,
isAdd
,
//
isAdd,
};
//
};
this
.
props
.
dispatch
({
//
this.props.dispatch({
type
:
'formList/add'
,
//
type: 'formList/add',
payload
,
//
payload,
callback
:
()
=>
{
//
callback: () => {
message
.
success
(
'操作成功'
);
//
message.success('操作成功');
this
.
props
.
returnThis
();
//
this.props.returnThis();
},
//
},
});
//
});
};
//
};
//
goBack
=
()
=>
{
//
goBack = () => {
this
.
props
.
returnThis
();
//
this.props.returnThis();
};
//
};
//
changeFormData
=
(
value
,
key
)
=>
{
//
changeFormData = (value, key) => {
let
oldValue
=
this
.
state
.
formData
;
//
let oldValue = this.state.formData;
oldValue
[
key
]
=
value
;
//
oldValue[key] = value;
this
.
setState
({
//
this.setState({
formData
:
oldValue
,
//
formData: oldValue,
});
//
});
};
//
};
//
render
()
{
//
render() {
let
{
formItem
,
formData
}
=
this
.
state
;
//
let { formItem, formData } = this.state;
let
formConfig
=
getFormArrayConfig
(
formItem
);
//
let formConfig = getFormArrayConfig(formItem);
return
(
//
return (
<
Shell
>
//
<Shell>
<
Row
>
//
<Row>
<
FormArray
//
<FormArray
config
=
{
formConfig
}
//
config={formConfig}
nameSpan
=
{{
big
:
10
,
small
:
12
}}
//
nameSpan={{ big: 10, small: 12 }}
fileSpan
=
{{
big
:
4
,
small
:
3
}}
//
fileSpan={{ big: 4, small: 3 }}
value
=
{
formData
}
//
value={formData}
changeValue
=
{
this
.
changeFormData
}
//
changeValue={this.changeFormData}
/
>
//
/>
<
Col
span
=
{
24
}
//
<Col span={24}
style
=
{{
textAlign
:
'center'
,
paddingTop
:
'200px'
,
paddingBottom
:
'50px'
}}
>
//
style={{ textAlign: 'center', paddingTop: '200px', paddingBottom: '50px' }}>
//
<
ButtonDiy
//
<ButtonDiy
className
=
{
'primaryBlue'
}
//
className={'primaryBlue'}
handleClick
=
{
this
.
onSubmit
}
//
handleClick={this.onSubmit}
name
=
{
'保存'
}
//
name={'保存'}
/
>
//
/>
<
ButtonDiy
//
<ButtonDiy
className
=
{
'defaultRed'
}
//
className={'defaultRed'}
handleClick
=
{
this
.
goBack
}
//
handleClick={this.goBack}
name
=
{
'返回'
}
//
name={'返回'}
/
>
//
/>
<
/Col
>
//
</Col>
<
/Row
>
//
</Row>
<
/Shell
>
//
</Shell>
);
//
);
}
//
}
}
//
}
//
export
default
Edit
;
//
export default Edit;
FormInsertDiy/Export/index.js
浏览文件 @
c0f7cedf
import
fetch
from
'dva/fetch'
;
//
import fetch from 'dva/fetch';
import
React
from
'react'
;
//
import React from 'react';
import
ReactDOM
from
'react-dom'
;
//
import ReactDOM from 'react-dom';
import
{
Select
,
Button
,
Modal
,
Input
,
Transfer
,
Row
,
Col
,
Form
,
message
,
notification
}
from
'antd'
;
//
import { Select, Button, Modal, Input, Transfer, Row, Col, Form, message, notification } from 'antd';
import
{
connect
}
from
'dva'
;
//
import { connect } from 'dva';
import
{
getToken
}
from
'@/utils/authority'
;
//
import { getToken } from '@/utils/authority';
import
config
from
'@/config/config'
;
//
import config from '@/config/config';
import
QueryItem
from
'./QueryItem'
;
//
import QueryItem from './QueryItem';
import
OrderItem
from
'./OrderItem'
;
//
import OrderItem from './OrderItem';
//
import
FormdataWrapper
from
'@/utils/object-to-formdata-custom'
;
//
import FormdataWrapper from '@/utils/object-to-formdata-custom';
//
const
Option
=
Select
.
Option
;
//
const Option = Select.Option;
let
keyX
=
1
;
//
let keyX = 1;
function
swapArray
(
arr
,
index1
,
index2
)
{
//
function swapArray(arr, index1, index2) {
arr
[
index1
]
=
arr
.
splice
(
index2
,
1
,
arr
[
index1
])[
0
];
//
arr[index1] = arr.splice(index2, 1, arr[index1])[0];
return
arr
;
//
return arr;
}
//
}
const
FormItem
=
Form
.
Item
;
//
const FormItem = Form.Item;
//
@
connect
(({
DataObj
,
loading
})
=>
({
//
@connect(({ DataObj, loading }) => ({
DataObj
,
//
DataObj,
loading
:
loading
.
models
.
DataObj
,
//
loading: loading.models.DataObj,
}))
//
}))
@
Form
.
create
()
//
@Form.create()
export
default
class
Index
extends
React
.
Component
{
//
export default class Index extends React.Component {
constructor
(
props
)
{
//
constructor(props) {
super
(
props
);
//
super(props);
this
.
state
=
{
//
this.state = {
visiable
:
false
,
//
visiable: false,
//
queryVisiable
:
false
,
//
queryVisiable: false,
groupVisiable
:
false
,
//
groupVisiable: false,
sortVisiable
:
false
,
//
sortVisiable: false,
currentQueryKey
:
null
,
//
currentQueryKey: null,
currentGroupKey
:
null
,
//
currentGroupKey: null,
orderVisiable
:
false
,
//
orderVisiable: false,
currentOrderKey
:
null
,
//
currentOrderKey: null,
querys
:
[],
//
querys: [],
orders
:
[],
//
orders: [],
groups
:
[],
//
groups: [],
gs
:
[],
//
gs: [],
os
:
[],
//
os: [],
qs
:
[],
//
qs: [],
mockData
:
[],
//
mockData: [],
targetKeys
:
[],
//
targetKeys: [],
sourceSelectedKeys
:
[],
//
sourceSelectedKeys: [],
targetSelectedKeys
:
[],
//
targetSelectedKeys: [],
infos
:
{},
//
infos: {},
confirmLoading
:
false
,
//
confirmLoading: false,
};
//
};
}
//
}
//
onSelectChange
=
(
sourceSelectedKeys
,
targetSelectedKeys
)
=>
{
//
onSelectChange = (sourceSelectedKeys, targetSelectedKeys) => {
this
.
setState
({
sourceSelectedKeys
,
targetSelectedKeys
});
//
this.setState({ sourceSelectedKeys, targetSelectedKeys });
};
//
};
deleteQuery
=
(
i
)
=>
{
//
deleteQuery = (i) => {
const
querys
=
this
.
state
.
querys
;
//
const querys = this.state.querys;
querys
.
splice
(
i
,
1
);
//
querys.splice(i, 1);
this
.
setState
({
querys
});
//
this.setState({ querys });
};
//
};
deleteOrder
=
(
i
)
=>
{
//
deleteOrder = (i) => {
const
orders
=
this
.
state
.
orders
;
//
const orders = this.state.orders;
orders
.
splice
(
i
,
1
);
//
orders.splice(i, 1);
this
.
setState
({
orders
});
//
this.setState({ orders });
};
//
};
deleteGroup
=
(
i
)
=>
{
//
deleteGroup = (i) => {
const
groups
=
this
.
state
.
groups
;
//
const groups = this.state.groups;
groups
.
splice
(
i
,
1
);
//
groups.splice(i, 1);
this
.
setState
({
groups
});
//
this.setState({ groups });
};
//
};
open
=
()
=>
{
//
open = () => {
const
{
dispatch
}
=
this
.
props
;
//
const { dispatch } = this.props;
dispatch
({
//
dispatch({
type
:
'DataObj/getExportInfo'
,
//
type: 'DataObj/getExportInfo',
payload
:
{
//
payload: {
objId
:
this
.
props
.
objId
,
//
objId: this.props.objId,
},
//
},
callback
:
(
infos
)
=>
{
//
callback: (infos) => {
//
const
mockData
=
[];
//
const mockData = [];
const
qs
=
[];
//
const qs = [];
const
gs
=
[];
//
const gs = [];
const
os
=
[];
//
const os = [];
for
(
var
key
in
infos
)
{
//
for (var key in infos) {
const
x
=
infos
[
key
];
//
const x = infos[key];
mockData
.
push
({
//
mockData.push({
key
:
x
.
field
,
//
key: x.field,
title
:
x
.
name
,
//
title: x.name,
chosen
:
false
,
//
chosen: false,
});
//
});
if
(
x
.
canQuery
)
{
//
if (x.canQuery) {
qs
.
push
(
x
);
//
qs.push(x);
}
//
}
if
(
x
.
canGroup
)
{
//
if (x.canGroup) {
gs
.
push
(
x
);
//
gs.push(x);
}
//
}
if
(
x
.
canOrder
)
{
//
if (x.canOrder) {
os
.
push
(
x
);
//
os.push(x);
}
//
}
}
//
}
//
this
.
setState
({
//
this.setState({
mockData
,
infos
,
visiable
:
true
,
qs
,
gs
,
os
,
//
mockData, infos, visiable: true, qs, gs, os,
});
//
});
//
},
//
},
});
//
});
};
//
};
onCancle
=
()
=>
{
//
onCancle = () => {
this
.
setState
({
visiable
:
false
});
//
this.setState({ visiable: false });
};
//
};
handleChange
=
(
targetKeys
,
direction
,
moveKeys
)
=>
{
//
handleChange = (targetKeys, direction, moveKeys) => {
//
this
.
setState
({
targetKeys
});
//
this.setState({ targetKeys });
};
//
};
//
up
=
()
=>
{
//
up = () => {
keyX
=
keyX
+
1
;
//
keyX = keyX + 1;
var
{
targetKeys
,
targetSelectedKeys
}
=
this
.
state
;
//
var { targetKeys, targetSelectedKeys } = this.state;
for
(
var
i
=
0
;
i
<
targetKeys
.
length
;
i
++
)
{
//
for (var i = 0; i < targetKeys.length; i++) {
if
(
targetKeys
[
i
]
===
targetSelectedKeys
[
0
])
{
//
if (targetKeys[i] === targetSelectedKeys[0]) {
if
(
i
===
0
)
return
;
//
if (i === 0) return;
targetKeys
=
swapArray
(
targetKeys
,
i
,
i
-
1
);
//
targetKeys = swapArray(targetKeys, i, i - 1);
//
break
;
//
break;
}
//
}
}
//
}
//
this
.
setState
({
targetKeys
});
//
this.setState({ targetKeys });
};
//
};
down
=
()
=>
{
//
down = () => {
keyX
=
keyX
+
1
;
//
keyX = keyX + 1;
var
{
targetKeys
,
targetSelectedKeys
}
=
this
.
state
;
//
var { targetKeys, targetSelectedKeys } = this.state;
for
(
var
i
=
0
;
i
<
targetKeys
.
length
;
i
++
)
{
//
for (var i = 0; i < targetKeys.length; i++) {
if
(
targetKeys
[
i
]
===
targetSelectedKeys
[
0
])
{
//
if (targetKeys[i] === targetSelectedKeys[0]) {
if
(
i
===
targetKeys
.
length
-
1
)
return
;
//
if (i === targetKeys.length - 1) return;
targetKeys
=
swapArray
(
targetKeys
,
i
,
i
+
1
);
//
targetKeys = swapArray(targetKeys, i, i + 1);
//
break
;
//
break;
}
//
}
}
//
}
//
this
.
setState
({
targetKeys
});
//
this.setState({ targetKeys });
};
//
};
bottom
=
()
=>
{
//
bottom = () => {
keyX
=
keyX
+
1
;
//
keyX = keyX + 1;
const
{
targetKeys
,
targetSelectedKeys
}
=
this
.
state
;
//
const { targetKeys, targetSelectedKeys } = this.state;
var
x
=
[];
//
var x = [];
for
(
var
i
=
0
;
i
<
targetKeys
.
length
;
i
++
)
{
//
for (var i = 0; i < targetKeys.length; i++) {
if
(
!
targetSelectedKeys
.
includes
(
targetKeys
[
i
]))
{
//
if (!targetSelectedKeys.includes(targetKeys[i])) {
x
.
push
(
targetKeys
[
i
]);
//
x.push(targetKeys[i]);
}
//
}
}
//
}
x
=
[...
x
,
...
targetSelectedKeys
];
//
x = [...x, ...targetSelectedKeys];
this
.
setState
({
targetKeys
:
x
});
//
this.setState({ targetKeys: x });
};
//
};
top
=
()
=>
{
//
top = () => {
keyX
=
keyX
+
1
;
//
keyX = keyX + 1;
const
{
targetKeys
,
targetSelectedKeys
}
=
this
.
state
;
//
const { targetKeys, targetSelectedKeys } = this.state;
const
x
=
[...
targetSelectedKeys
];
//
const x = [...targetSelectedKeys];
for
(
var
i
=
0
;
i
<
targetKeys
.
length
;
i
++
)
{
//
for (var i = 0; i < targetKeys.length; i++) {
if
(
!
targetSelectedKeys
.
includes
(
targetKeys
[
i
]))
{
//
if (!targetSelectedKeys.includes(targetKeys[i])) {
x
.
push
(
targetKeys
[
i
]);
//
x.push(targetKeys[i]);
}
//
}
}
//
}
//
//
this
.
setState
({
targetKeys
:
x
});
//
this.setState({ targetKeys: x });
};
//
};
renderItem
=
(
item
)
=>
{
//
renderItem = (item) => {
if
(
this
.
state
.
targetKeys
.
includes
(
item
.
key
))
{
//
if (this.state.targetKeys.includes(item.key)) {
const
customLabel
=
(
//
const customLabel = (
<
span
className
=
"custom-item"
key
=
{
item
.
key
}
>
//
<span className="custom-item" key={item.key}>
{
item
.
title
}
//
{item.title}
//
<
/span
>
//
</span>
);
//
);
return
{
//
return {
label
:
customLabel
,
// for displayed item
//
label: customLabel, // for displayed item
value
:
item
.
title
,
// for title and filter matching
//
value: item.title, // for title and filter matching
};
//
};
//
}
else
{
//
} else {
const
customLabel
=
(
//
const customLabel = (
<
span
className
=
"custom-item"
key
=
{
item
.
key
}
>
//
<span className="custom-item" key={item.key}>
{
item
.
title
}
//
{item.title}
<
/span
>
//
</span>
);
//
);
return
{
//
return {
label
:
customLabel
,
// for displayed item
//
label: customLabel, // for displayed item
value
:
item
.
title
,
// for title and filter matching
//
value: item.title, // for title and filter matching
};
//
};
}
//
}
};
//
};
addOrder
=
()
=>
{
//
addOrder = () => {
//
this
.
setState
({
orderVisiable
:
true
});
//
this.setState({ orderVisiable: true });
//
};
//
};
okOrder
=
()
=>
{
//
okOrder = () => {
const
orders
=
this
.
state
.
orders
;
//
const orders = this.state.orders;
orders
.
push
(
this
.
state
.
infos
[
this
.
state
.
currentOrderKey
]);
//
orders.push(this.state.infos[this.state.currentOrderKey]);
this
.
setState
({
orders
,
orderVisiable
:
false
,
currentOrderKey
:
null
});
//
this.setState({ orders, orderVisiable: false, currentOrderKey: null });
//
};
//
};
okGroup
=
()
=>
{
//
okGroup = () => {
const
groups
=
this
.
state
.
groups
;
//
const groups = this.state.groups;
groups
.
push
(
this
.
state
.
infos
[
this
.
state
.
currentGroupKey
]);
//
groups.push(this.state.infos[this.state.currentGroupKey]);
this
.
setState
({
groups
,
groupVisiable
:
false
,
currentGroupKey
:
null
});
//
this.setState({ groups, groupVisiable: false, currentGroupKey: null });
};
//
};
addGroup
=
()
=>
{
//
addGroup = () => {
this
.
setState
({
groupVisiable
:
true
});
//
this.setState({ groupVisiable: true });
};
//
};
//
addQuery
=
()
=>
{
//
addQuery = () => {
this
.
setState
({
queryVisiable
:
true
});
//
this.setState({ queryVisiable: true });
};
//
};
okQuery
=
()
=>
{
//
okQuery = () => {
const
querys
=
this
.
state
.
querys
;
//
const querys = this.state.querys;
querys
.
push
(
this
.
state
.
infos
[
this
.
state
.
currentQueryKey
]);
//
querys.push(this.state.infos[this.state.currentQueryKey]);
this
.
setState
({
querys
,
queryVisiable
:
false
,
currentQueryKey
:
null
});
//
this.setState({ querys, queryVisiable: false, currentQueryKey: null });
//
};
//
};
export
=
()
=>
{
//
export = () => {
this
.
props
.
form
.
validateFields
((
err
,
fieldsValue
)
=>
{
//
this.props.form.validateFields((err, fieldsValue) => {
if
(
err
)
return
;
//
if (err) return;
//form.resetFields();
//
//form.resetFields();
var
qqs
;
//
var qqs;
if
(
this
.
props
.
mustQuerys
!=
null
)
{
//
if (this.props.mustQuerys != null) {
qqs
=
[...
this
.
props
.
mustQuerys
];
//
qqs = [...this.props.mustQuerys];
}
else
{
//
} else {
qqs
=
[];
//
qqs = [];
}
//
}
//
const
oos
=
[];
//
const oos = [];
const
ggs
=
[];
//
const ggs = [];
for
(
let
key
in
fieldsValue
)
{
//
for (let key in fieldsValue) {
var
x
=
key
.
indexOf
(
'__'
);
//
var x = key.indexOf('__');
let
kk
=
key
.
substr
(
x
+
2
);
//
let kk = key.substr(x + 2);
if
(
key
.
indexOf
(
'q__'
)
>
-
1
)
{
//
if (key.indexOf('q__') > -1) {
qqs
.
push
({
//
qqs.push({
notes
:
this
.
state
.
infos
[
kk
].
notes
,
//
notes: this.state.infos[kk].notes,
hql
:
this
.
state
.
infos
[
kk
].
hql
,
//
hql: this.state.infos[kk].hql,
c
:
this
.
state
.
infos
[
kk
].
type
,
//
c: this.state.infos[kk].type,
x
:
fieldsValue
[
key
].
stringX
,
//
x: fieldsValue[key].stringX,
v
:
fieldsValue
[
key
].
string
,
//
v: fieldsValue[key].string,
});
//
});
//
}
else
if
(
key
.
indexOf
(
'o__'
)
>
-
1
)
{
//
} else if (key.indexOf('o__') > -1) {
oos
.
push
({
hql
:
this
.
state
.
infos
[
kk
].
hql
,
x
:
fieldsValue
[
key
].
stringX
});
//
oos.push({ hql: this.state.infos[kk].hql, x: fieldsValue[key].stringX });
}
else
if
(
key
.
indexOf
(
'g__'
)
>
-
1
)
{
//
} else if (key.indexOf('g__') > -1) {
ggs
.
push
({
hql
:
this
.
state
.
infos
[
kk
].
hql
});
//
ggs.push({ hql: this.state.infos[kk].hql });
}
//
}
}
//
}
//
if
(
this
.
props
.
voClass
&&
ggs
.
length
===
0
)
{
//
if (this.props.voClass && ggs.length === 0) {
message
.
error
(
'请至少选择一个聚合条件'
);
//
message.error('请至少选择一个聚合条件');
return
;
//
return;
}
//
}
if
(
this
.
state
.
targetKeys
.
length
===
0
)
{
//
if (this.state.targetKeys.length === 0) {
message
.
error
(
'请至少选择一个导出字段'
);
//
message.error('请至少选择一个导出字段');
return
;
//
return;
}
//
}
const
names
=
[];
//
const names = [];
for
(
let
i
=
0
;
i
<
this
.
state
.
targetKeys
.
length
;
i
++
)
{
//
for (let i = 0; i < this.state.targetKeys.length; i++) {
names
.
push
(
this
.
state
.
infos
[
this
.
state
.
targetKeys
[
i
]].
name
);
//
names.push(this.state.infos[this.state.targetKeys[i]].name);
}
//
}
let
divElement
=
document
.
getElementById
(
'downloadDiv'
);
//
let divElement = document.getElementById('downloadDiv');
console
.
log
(
config
.
sqlFormsServer
);
//
console.log(config.sqlFormsServer);
let
downloadUrl
=
config
.
sqlFormsServer
+
'/DataObjApi/exportFormData?'
;
//
let downloadUrl = config.sqlFormsServer + '/DataObjApi/exportFormData?';
const
token
=
getToken
()
!=
null
&&
getToken
()
!=
'null'
?
getToken
()
:
'0000'
;
//
const token = getToken() != null && getToken() != 'null' ? getToken() : '0000';
downloadUrl
=
`
${
downloadUrl
}
token=
${
token
}
`
;
//
downloadUrl = `${downloadUrl}token=${token}`;
let
param
=
{
//
let param = {
fields
:
this
.
state
.
targetKeys
,
//
fields: this.state.targetKeys,
names
:
names
,
//
names: names,
beanName
:
this
.
props
.
beanName
,
//
beanName: this.props.beanName,
querys
:
JSON
.
stringify
(
qqs
),
//
querys: JSON.stringify(qqs),
orders
:
JSON
.
stringify
(
oos
),
//
orders: JSON.stringify(oos),
groups
:
JSON
.
stringify
(
ggs
),
//
groups: JSON.stringify(ggs),
voClass
:
this
.
props
.
voClass
,
//
voClass: this.props.voClass,
objId
:
this
.
props
.
objId
,
//
objId:this.props.objId,
modelClass
:
this
.
props
.
modelClass
,
//
modelClass: this.props.modelClass,
preHandleClass
:
this
.
props
.
preHandleClass
,
//
preHandleClass: this.props.preHandleClass,
hqlHandleClass
:
this
.
props
.
hqlHandleClass
,
//
hqlHandleClass: this.props.hqlHandleClass,
//
};
//
};
param
=
{...
param
,
...
this
.
props
.
params
||
{}}
//
param = {...param, ...this.props.params || {}}
this
.
downloadFile
(
downloadUrl
,
param
);
//
this.downloadFile(downloadUrl, param);
});
//
});
//
};
//
};
//
downloadFile
(
url
,
params
)
{
//
downloadFile(url, params) {
this
.
setState
({
confirmLoading
:
true
});
//
this.setState({ confirmLoading: true });
//
fetch
(
url
,
{
//
fetch(url, {
method
:
'POST'
,
//
method: 'POST',
body
:
FormdataWrapper
(
params
),
//
body: FormdataWrapper(params),
}).
then
(
res
=>
{
//
}).then(res => {
if
(
res
.
status
!=
'200'
)
{
//
if (res.status != '200') {
return
res
.
json
();
//
return res.json();
}
else
{
//
} else {
return
res
.
blob
();
//
return res.blob();
}
//
}
}).
then
(
data
=>
{
//
}).then(data => {
if
(
data
instanceof
Blob
)
{
//
if (data instanceof Blob) {
let
a
=
document
.
createElement
(
'a'
);
//
let a = document.createElement('a');
let
url
=
window
.
URL
.
createObjectURL
(
data
);
//
let url = window.URL.createObjectURL(data);
let
filename
=
(
this
.
props
.
fileName
?
this
.
props
.
fileName
:
'导出文件'
)
+
'.xlsx'
;
//
let filename = (this.props.fileName ? this.props.fileName : '导出文件') + '.xlsx';
a
.
href
=
url
;
//
a.href = url;
a
.
download
=
filename
;
//
a.download = filename;
a
.
click
();
//
a.click();
window
.
URL
.
revokeObjectURL
(
url
);
//
window.URL.revokeObjectURL(url);
a
=
null
;
//
a = null;
}
else
{
//
} else {
notification
.
error
({
//
notification.error({
message
:
`文件导出错误`
,
//
message: `文件导出错误`,
description
:
data
.
errMsg
,
//
description: data.errMsg,
});
//
});
}
//
}
//
}).
catch
(
err
=>
{
//
}).catch(err => {
notification
.
error
({
//
notification.error({
message
:
`网络请求超时`
,
//
message: `网络请求超时`,
});
//
});
}).
finally
(()
=>
{
//
}).finally(() => {
this
.
setState
({
confirmLoading
:
false
});
//
this.setState({ confirmLoading: false });
});
//
});
}
//
}
//
cancelGroup
=
()
=>
{
//
cancelGroup = () => {
this
.
setState
({
currentGroupKey
:
null
,
groupVisiable
:
false
});
//
this.setState({ currentGroupKey: null, groupVisiable: false });
};
//
};
cancelQuery
=
()
=>
{
//
cancelQuery = () => {
this
.
setState
({
currentQueryKey
:
null
,
queryVisiable
:
false
});
//
this.setState({ currentQueryKey: null, queryVisiable: false });
};
//
};
cancelOrder
=
()
=>
{
//
cancelOrder = () => {
this
.
setState
({
currentOrderKey
:
null
,
orderVisiable
:
false
});
//
this.setState({ currentOrderKey: null, orderVisiable: false });
};
//
};
selectOrder
=
(
e
)
=>
{
//
selectOrder = (e) => {
//
this
.
setState
({
currentOrderKey
:
e
});
//
this.setState({ currentOrderKey: e });
};
//
};
selectQuery
=
(
e
)
=>
{
//
selectQuery = (e) => {
//
this
.
setState
({
currentQueryKey
:
e
});
//
this.setState({ currentQueryKey: e });
};
//
};
selectGroup
=
(
e
)
=>
{
//
selectGroup = (e) => {
//
this
.
setState
({
currentGroupKey
:
e
});
//
this.setState({ currentGroupKey: e });
};
//
};
//
render
()
{
//
render() {
const
{
form
}
=
this
.
props
;
//
const { form } = this.props;
const
{
//
const {
visiable
,
targetKeys
,
sourceSelectedKeys
,
queryVisiable
,
querys
,
orders
,
groups
,
confirmLoading
,
//
visiable, targetKeys, sourceSelectedKeys, queryVisiable, querys, orders, groups, confirmLoading,
targetSelectedKeys
,
mockData
,
qs
,
os
,
gs
,
currentQueryKey
,
currentOrderKey
,
orderVisiable
,
currentGroupKey
,
groupVisiable
,
//
targetSelectedKeys, mockData, qs, os, gs, currentQueryKey, currentOrderKey, orderVisiable, currentGroupKey, groupVisiable,
}
=
this
.
state
;
//
} = this.state;
return
(
//
return (
<
span
>
//
<span>
<
Button
shape
=
'round'
onClick
=
{
this
.
open
}
>
自定义导出
<
/Button
>
//
<Button shape='round' onClick={this.open}>自定义导出</Button>
<
div
id
=
'downloadDiv'
style
=
{{
display
:
'none'
}}
><
/div
>
//
<div id='downloadDiv' style={{ display: 'none' }}></div>
<
Modal
//
<Modal
width
=
{
670
}
//
width={670}
maskClosable
=
{
false
}
//
maskClosable={false}
destroyOnClose
//
destroyOnClose
title
=
"自定义查询、排序、导出"
//
title="自定义查询、排序、导出"
style
=
{{
textAlign
:
'center'
}}
//
style={{ textAlign: 'center' }}
visible
=
{
visiable
}
//
visible={visiable}
//
onOk
=
{
this
.
export
}
//
onOk={this.export}
onCancel
=
{
this
.
onCancle
}
//
onCancel={this.onCancle}
confirmLoading
=
{
confirmLoading
}
//
confirmLoading={confirmLoading}
>
//
>
<
div
style
=
{{
overflowY
:
'auto'
,
maxHeight
:
'500px'
,
height
:
'500px'
}}
>
//
<div style={{ overflowY: 'auto', maxHeight: '500px', height: '500px' }}>
<
div
style
=
{{
textAlign
:
'left'
}}
>
//
<div style={{ textAlign: 'left' }}>
<
Button
type
=
"primary"
>
新增查询条件
<
/Button
>
//
<Button type="primary">新增查询条件</Button>
//
//
<
Select
style
=
{{
width
:
200
,
paddingRight
:
'10px'
}}
//
<Select style={{ width: 200, paddingRight: '10px' }}
value
=
{
currentQueryKey
}
//
value={currentQueryKey}
onChange
=
{
this
.
selectQuery
}
>
//
onChange={this.selectQuery}>
{
qs
.
map
((
r
)
=>
{
//
{qs.map((r) => {
return
<
Option
key
=
{
r
.
field
}
//
return <Option key={r.field}
value
=
{
r
.
field
}
>
//
value={r.field}>
{
r
.
name
}
//
{r.name}
<
/Option>
;
//
</Option>;
},
//
},
)}
//
)}
//
<
/Select
>
//
</Select>
{
currentQueryKey
?
//
{currentQueryKey ?
<
span
style
=
{{
paddingLeft
:
'0'
}}
>
//
<span style={{ paddingLeft: '0' }}>
<
Button
type
=
"primary"
onClick
=
{
this
.
okQuery
}
>
确定
<
/Button
>
//
<Button type="primary" onClick={this.okQuery}>确定</Button>
<
/span
>
//
</span>
:
''
}
//
: ''}
<
div
style
=
{{
height
:
'12px'
}}
>
//
<div style={{ height: '12px' }}>
//
<
/div
>
//
</div>
{
querys
.
map
((
r
,
i
)
=>
//
{querys.map((r, i) =>
<
FormItem
key
=
{
r
.
name
+
i
}
//
<FormItem key={r.name + i}
labelCol
=
{{
span
:
4
}}
//
labelCol={{ span: 4 }}
wrapperCol
=
{{
span
:
20
}}
//
wrapperCol={{ span: 20 }}
colon
=
{
false
}
//
colon={false}
label
=
{
r
.
name
}
>
//
label={r.name}>
{
form
.
getFieldDecorator
(
i
+
'q__'
+
r
.
field
,
{
//
{form.getFieldDecorator(i + 'q__' + r.field, {
initialValue
:
{
stringX
:
'='
},
//
initialValue: { stringX: '=' },
rules
:
[{
//
rules: [{
validator
:
(
rule
,
value
,
callback
)
=>
{
//
validator: (rule, value, callback) => {
var
errors
=
[];
//
var errors = [];
if
(
value
==
null
)
{
//
if (value == null) {
errors
.
push
(
new
Error
(
'请输入查询值!'
,
rule
.
field
));
//
errors.push(new Error('请输入查询值!', rule.field));
//
}
else
{
//
} else {
if
(
value
.
stringX
!=
'IS NOT NULL'
&&
value
.
stringX
!=
'IS NULL'
&&
value
.
string
==
null
)
{
//
if (value.stringX != 'IS NOT NULL' && value.stringX != 'IS NULL' && value.string == null) {
errors
.
push
(
new
Error
(
'请输入查询值!'
,
rule
.
field
));
//
errors.push(new Error('请输入查询值!', rule.field));
}
//
}
}
//
}
callback
(
errors
);
//
callback(errors);
//
},
//
},
}],
//
}],
})(
//
})(
<
QueryItem
obj
=
{
r
}
//
<QueryItem obj={r}
key
=
{
r
.
name
+
i
}
//
key={r.name + i}
deleteQuery
=
{
this
.
deleteQuery
.
bind
(
this
,
i
)}
/>
)
}
//
deleteQuery={this.deleteQuery.bind(this, i)}/>)}
<
/FormItem>
)
//
</FormItem>)
}
//
}
<
/div
>
//
</div>
<
div
style
=
{{
textAlign
:
'left'
,
paddingTop
:
'15px'
}}
>
//
<div style={{ textAlign: 'left', paddingTop: '15px' }}>
<
Button
type
=
"primary"
>
新增排序条件
<
/Button
>
//
<Button type="primary">新增排序条件</Button>
<
Select
style
=
{{
width
:
200
,
paddingRight
:
'10px'
}}
//
<Select style={{ width: 200, paddingRight: '10px' }}
value
=
{
currentOrderKey
}
//
value={currentOrderKey}
onChange
=
{
this
.
selectOrder
}
>
//
onChange={this.selectOrder}>
{
os
.
map
((
r
)
=>
{
//
{os.map((r) => {
for
(
let
j
=
0
;
j
<
orders
.
length
;
j
++
)
{
//
for (let j = 0; j < orders.length; j++) {
if
(
orders
[
j
].
field
===
r
.
field
)
return
;
//
if (orders[j].field === r.field) return;
//
}
//
}
return
<
Option
key
=
{
r
.
field
}
value
=
{
r
.
field
}
>
{
r
.
name
}
<
/Option>
;
//
return <Option key={r.field} value={r.field}>{r.name}</Option>;
},
//
},
)}
//
)}
//
<
/Select
>
//
</Select>
{
currentOrderKey
?
//
{currentOrderKey ?
<
span
style
=
{{
paddingLeft
:
'0'
}}
>
//
<span style={{ paddingLeft: '0' }}>
<
Button
type
=
"primary"
onClick
=
{
this
.
okOrder
}
>
确定
<
/Button
>
//
<Button type="primary" onClick={this.okOrder}>确定</Button>
//
<
/span
>
//
</span>
:
''
}
//
: ''}
<
div
style
=
{{
height
:
'12px'
}}
>
//
<div style={{ height: '12px' }}>
//
<
/div
>
//
</div>
{
orders
.
map
((
r
,
i
)
=>
//
{orders.map((r, i) =>
<
FormItem
key
=
{
r
.
name
+
i
}
//
<FormItem key={r.name + i}
labelCol
=
{{
span
:
4
}}
//
labelCol={{ span: 4 }}
wrapperCol
=
{{
span
:
20
}}
//
wrapperCol={{ span: 20 }}
colon
=
{
false
}
//
colon={false}
label
=
{
'按'
+
r
.
name
}
>
//
label={'按' + r.name}>
{
form
.
getFieldDecorator
(
i
+
'o__'
+
r
.
field
,
{
//
{form.getFieldDecorator(i + 'o__' + r.field, {
initialValue
:
{
stringX
:
'desc'
},
//
initialValue: { stringX: 'desc' },
})(
//
})(
<
OrderItem
deleteOrder
=
{
this
.
deleteOrder
.
bind
(
this
,
i
)}
/>
)
}
//
<OrderItem deleteOrder={this.deleteOrder.bind(this, i)}/>)}
<
/FormItem>
)
}
//
</FormItem>)}
<
/div
>
//
</div>
{
this
.
props
.
voClass
?
//
{this.props.voClass ?
<
div
style
=
{{
textAlign
:
'left'
,
paddingTop
:
'15px'
}}
>
//
<div style={{ textAlign: 'left', paddingTop: '15px' }}>
<
span
style
=
{{
paddingRight
:
'10px'
}}
>
聚合条件
:
<
/span
>
//
<span style={{ paddingRight: '10px' }}>聚合条件:</span>
{
!
groupVisiable
?
//
{!groupVisiable ?
<
Button
type
=
"primary"
onClick
=
{
this
.
addGroup
}
>
新增
<
/Button
>
//
<Button type="primary" onClick={this.addGroup}>新增</Button>
//
:
//
:
<
span
>
//
<span>
<
Select
style
=
{{
width
:
100
}}
//
<Select style={{ width: 100 }}
value
=
{
currentGroupKey
}
//
value={currentGroupKey}
onChange
=
{
this
.
selectGroup
}
>
//
onChange={this.selectGroup}>
{
gs
.
map
((
r
)
=>
{
//
{gs.map((r) => {
for
(
var
j
=
0
;
j
<
groups
.
length
;
j
++
)
{
//
for (var j = 0; j < groups.length; j++) {
if
(
groups
[
j
].
field
==
r
.
field
)
return
;
//
if (groups[j].field == r.field) return;
//
}
//
}
return
<
Option
key
=
{
r
.
field
}
//
return <Option key={r.field}
value
=
{
r
.
field
}
>
//
value={r.field}>
{
r
.
name
}
//
{r.name}
<
/Option>
;
//
</Option>;
},
//
},
)}
//
)}
<
/Select
>
//
</Select>
{
currentGroupKey
?
//
{currentGroupKey ?
<
Button
type
=
"primary"
onClick
=
{
this
.
okGroup
}
>
确定
<
/Button
>
//
<Button type="primary" onClick={this.okGroup}>确定</Button>
//
//
:
''
}
//
: ''}
<
Button
type
=
"primary"
onClick
=
{
this
.
cancelGroup
}
>
取消
<
/Button
>
//
<Button type="primary" onClick={this.cancelGroup}>取消</Button>
//
<
/span>
}
//
</span>}
{
groups
.
map
((
r
,
i
)
=>
//
{groups.map((r, i) =>
<
FormItem
key
=
{
i
+
r
.
name
}
//
<FormItem key={i + r.name}
labelCol
=
{{
span
:
5
}}
//
labelCol={{ span: 5 }}
wrapperCol
=
{{
span
:
15
}}
//
wrapperCol={{ span: 15 }}
label
=
{
'按'
+
r
.
name
+
'聚合'
}
>
//
label={'按' + r.name + '聚合'}>
{
form
.
getFieldDecorator
(
i
+
'g__'
+
r
.
field
)(
//
{form.getFieldDecorator(i + 'g__' + r.field)(
<
Input
style
=
{{
display
:
'none'
}}
//
<Input style={{ display: 'none' }}
value
=
""
/>
)}
//
value=""/>)}
<
Button
type
=
"danger"
onClick
=
{
this
.
deleteGroup
.
bind
(
this
,
i
)}
>
删除
<
/Button
>
//
<Button type="danger" onClick={this.deleteGroup.bind(this, i)}>删除</Button>
//
//
<
/FormItem>
)
}
//
</FormItem>)}
<
/div> : ''
}
//
</div> : ''}
<
Row
>
//
<Row>
<
Col
span
=
{
24
}
//
<Col span={24}
style
=
{{
textAlign
:
'left'
,
paddingTop
:
'15px'
}}
>
//
style={{ textAlign: 'left', paddingTop: '15px' }}>
<
span
style
=
{{
paddingRight
:
'10px'
}}
>
导出项
:
<
/span
>
//
<span style={{ paddingRight: '10px' }}>导出项:</span>
{
/*<Select>*/
}
//
{/*<Select>*/}
{
/*{*/
}
//
{/*{*/}
//
{
/*}*/
}
//
{/*}*/}
{
/*</Select>*/
}
//
{/*</Select>*/}
<
/Col
>
//
</Col>
<
Col
span
=
{
18
}
>
//
<Col span={18}>
<
Transfer
key
=
{
keyX
}
//
<Transfer key={keyX}
style
=
{{
textAlign
:
'left'
}}
//
style={{ textAlign: 'left' }}
dataSource
=
{
mockData
}
//
dataSource={mockData}
listStyle
=
{{
//
listStyle={{
width
:
200
,
//
width: 200,
height
:
300
,
//
height: 300,
}}
//
}}
onSelectChange
=
{
this
.
onSelectChange
}
//
onSelectChange={this.onSelectChange}
selectedKeys
=
{[...
sourceSelectedKeys
,
...
targetSelectedKeys
]}
//
selectedKeys={[...sourceSelectedKeys, ...targetSelectedKeys]}
rowKey
=
{
record
=>
record
.
key
}
//
rowKey={record => record.key}
targetKeys
=
{
targetKeys
}
//
targetKeys={targetKeys}
onChange
=
{
this
.
handleChange
}
//
onChange={this.handleChange}
render
=
{
this
.
renderItem
}
//
render={this.renderItem}
/
>
//
/>
<
/Col
>
//
</Col>
<
Col
span
=
{
2
}
>
//
<Col span={2}>
<
div
style
=
{{
marginTop
:
100
}}
>
//
<div style={{ marginTop: 100 }}>
<
Button
size
=
"small"
//
<Button size="small"
disabled
=
{
targetSelectedKeys
.
length
===
0
}
//
disabled={targetSelectedKeys.length === 0}
onClick
=
{
this
.
top
}
>
//
onClick={this.top}>
批量置顶
//
批量置顶
<
/Button
>
//
</Button>
<
Button
size
=
"small"
//
<Button size="small"
style
=
{{
marginTop
:
10
}}
//
style={{ marginTop: 10 }}
disabled
=
{
targetSelectedKeys
.
length
!==
1
}
//
disabled={targetSelectedKeys.length !== 1}
onClick
=
{
this
.
up
}
>
//
onClick={this.up}>
单项上移
//
单项上移
<
/Button
>
//
</Button>
<
Button
size
=
"small"
//
<Button size="small"
style
=
{{
marginTop
:
10
}}
//
style={{ marginTop: 10 }}
disabled
=
{
targetSelectedKeys
.
length
!==
1
}
//
disabled={targetSelectedKeys.length !== 1}
onClick
=
{
this
.
down
}
>
//
onClick={this.down}>
单项下移
//
单项下移
<
/Button
>
//
</Button>
<
Button
size
=
"small"
//
<Button size="small"
style
=
{{
marginTop
:
10
}}
//
style={{ marginTop: 10 }}
disabled
=
{
targetSelectedKeys
.
length
===
0
}
//
disabled={targetSelectedKeys.length === 0}
onClick
=
{
this
.
bottom
}
>
//
onClick={this.bottom}>
批量置底
//
批量置底
<
/Button
>
//
</Button>
<
/div
>
//
</div>
<
/Col
>
//
</Col>
//
<
/Row
>
//
</Row>
<
/div
>
//
</div>
<
/Modal
>
//
</Modal>
<
/span
>
//
</span>
);
//
);
}
//
}
}
//
}
FormInsertDiy/HistoryForm/index.js
0 → 100644
浏览文件 @
c0f7cedf
/* eslint-disable no-nested-ternary */
/**
* 历史表单+最新表单生成
* data 'affair/getIdFormDetail' 接口返回的详细参数
* form 表单控件
* isNewForm 是否展示最新表单
*/
import
React
from
'react'
;
import
{
Spin
,
Card
}
from
'antd'
;
import
{
isEmpty
}
from
'@/webPublic/one_stop_public/copy'
;
import
RenderForm
from
'../RenderForm'
;
import
styles
from
'./index.less'
;
export
default
function
HistoryForm
(
props
)
{
const
{
data
,
isNewForm
}
=
props
;
return
(
<
div
>
{
data
.
hisTaskForm
.
formKeys
&&
data
.
hisTaskForm
.
formKeys
.
length
>
0
?
data
.
hisTaskForm
.
formKeys
.
map
((
item
,
index
)
=>
{
return
(
<
Card
key
=
{
item
.
formKey
}
title
=
{
item
.
taskName
}
bordered
=
{
false
}
style
=
{{
width
:
800
,
margin
:
'auto'
}}
>
{
!
data
?
(
<
div
style
=
{{
width
:
'100%'
,
height
:
200
,
display
:
'flex'
,
justifyContent
:
'center'
,
alignItems
:
'center'
,
}}
>
<
Spin
size
=
"large"
/>
<
/div
>
)
:
(
<
RenderForm
get
=
"web"
isCg
=
"no"
postData
=
{
data
}
obj
=
{
data
.
hisTaskForm
.
formData
}
form
=
{
props
.
form
}
formKey
=
{
item
.
formKey
}
/
>
)}
<
/Card
>
);
})
:
''
}
{
isNewForm
?
(
// 展示最新表单
data
.
isHandle
&&
!!
data
.
taskFormKey
?
(
<
Card
title
=
"当前流程"
bordered
=
{
false
}
style
=
{{
width
:
800
,
margin
:
'auto'
}}
>
{
!
isEmpty
(
data
)
&&
(
<
RenderForm
postData
=
{
data
}
get
=
"web"
isCg
=
"no"
obj
=
{
data
.
hisTaskForm
.
formData
}
table
=
"new"
form
=
{
props
.
form
}
/
>
)}
<
/Card
>
)
:
null
)
:
null
}
<
/div
>
);
}
FormInsertDiy/HistoryForm/index.less
0 → 100644
浏览文件 @
c0f7cedf
.title {
font-size: 20px;
font-weight: bolder;
margin: 16px 0 8px 0;
padding-left: calc((100% - 800px) / 2);
}
FormInsertDiy/ImportUtil/ImportUtil.js
浏览文件 @
c0f7cedf
import
React
,
{
Fragment
}
from
'react'
;
//
import React, { Fragment } from 'react';
import
{
//
import {
Button
,
//
Button,
Modal
,
//
Modal,
Steps
,
//
Steps,
Upload
,
//
Upload,
Icon
,
//
Icon,
message
,
//
message,
Tabs
,
//
Tabs,
Table
,
//
Table,
}
from
'antd'
;
//
} from 'antd';
import
styles
from
'./ImportUtil.less'
;
//
import styles from './ImportUtil.less';
import
ButtonDiy
from
'@/baseComponent/ButtonDiy'
;
//
import ButtonDiy from '@/baseComponent/ButtonDiy';
import
{
exportExcel
}
from
'xlsx-oc'
//
import { exportExcel } from 'xlsx-oc'
import
config
from
'@/config/config'
;
//
import config from '@/config/config';
import
{
connect
}
from
'dva'
;
//
import { connect } from 'dva';
const
Step
=
Steps
.
Step
;
//
const Step = Steps.Step;
//
//
const
TabPane
=
Tabs
.
TabPane
;
//
const TabPane = Tabs.TabPane;
//
//
@
connect
(({
DataObj
,
loading
})
=>
({
//
@connect(({ DataObj, loading }) => ({
DataObj
,
//
DataObj,
loading
:
loading
.
models
.
DataObj
,
//
loading: loading.models.DataObj,
}))
//
}))
export
default
class
ImportUtil
extends
React
.
PureComponent
{
//
export default class ImportUtil extends React.PureComponent {
constructor
(
props
)
{
//
constructor(props) {
super
(
props
);
//
super(props);
//
const
exportTemplateUrl
=
encodeURI
(
`
${
config
.
sqlFormsServer
}
/DataObjApi/importTemplateDownload?objId=
${
this
.
props
.
objId
}
&name=
${
props
.
fileName
}
`
);
//
const exportTemplateUrl= encodeURI(`${config.sqlFormsServer}/DataObjApi/importTemplateDownload?objId=${this.props.objId}&name=${props.fileName}`);
//
this
.
state
=
{
//
this.state = {
ch
:
false
,
//
ch:false,
currentKey
:
"1"
,
//
currentKey:"1",
visible
:
false
,
//
visible: false,
current
:
0
,
//
current: 0,
isShow
:
true
,
//
isShow: true,
filekey
:
''
,
//
filekey: '',
sucData
:
[],
//
sucData: [],
errData
:
[],
//
errData: [],
column
:
[],
//
column: [],
//
exportTemplateUrl
,
//
exportTemplateUrl,
//
isNextDisabled
:
false
,
//
isNextDisabled:false,
};
//
};
}
//
}
//
showModal
=
()
=>
{
//
showModal = () => {
//
this
.
setState
({
//
this.setState({
visible
:
true
,
//
visible: true,
});
//
});
};
//
};
handleOk
=
(
e
)
=>
{
//
handleOk = (e) => {
this
.
setState
({
//
this.setState({
visible
:
false
,
//
visible: false,
});
//
});
};
//
};
handleCancel
=
(
e
)
=>
{
//
handleCancel = (e) => {
this
.
setState
({
//
this.setState({
visible
:
false
,
//
visible: false,
});
//
});
};
//
};
//
next
()
{
//
next() {
const
current
=
this
.
state
.
current
+
1
;
//
const current = this.state.current + 1;
if
(
current
===
2
)
{
//
if (current === 2) {
this
.
setState
({
//
this.setState({
current
:
current
,
//
current: current,
isShow
:
false
,
//
isShow: false,
});
//
});
if
(
this
.
state
.
errData
.
lenth
>
0
)
{
//
if (this.state.errData.lenth > 0) {
message
.
error
(
'请检查数据'
);
//
message.error('请检查数据');
return
;
//
return;
}
else
{
//
} else {
this
.
import
();
//
this.import();
}
//
}
}
//
}
if
(
current
===
3
)
{
//
if (current === 3) {
this
.
setState
({
//
this.setState({
current
:
current
,
//
current: current,
isShow
:
true
,
//
isShow: true,
});
//
});
if
(
this
.
props
.
callback
)
{
//
if (this.props.callback) {
this
.
props
.
callback
();
//
this.props.callback();
}
//
}
}
//
}
//
}
//
}
//
prev
()
{
//
prev() {
const
current
=
this
.
state
.
current
-
1
;
//
const current = this.state.current - 1;
this
.
setState
({
current
});
//
this.setState({ current });
}
//
}
//
import
()
{
//
import() {
const
{
dispatch
,
importParams
}
=
this
.
props
;
//
const { dispatch ,importParams } = this.props;
dispatch
({
//
dispatch({
type
:
'DataObj/importExecute'
,
//
type: 'DataObj/importExecute',
payload
:
{
//
payload: {
...(
importParams
||
{}),
//
...(importParams||{}),
cacheKey
:
this
.
state
.
filekey
,
//
cacheKey:this.state.filekey,
//
objId
:
this
.
props
.
objId
,
//
objId: this.props.objId,
},
//
},
callback
:
(
res
)
=>
{
//
callback: (res) => {
//
this
.
next
();
//
this.next();
message
.
success
(
'导入成功'
);
//
message.success('导入成功');
//
this
.
setState
({
//
this.setState({
current
:
3
,
//
current: 3,
isShow
:
true
,
//
isShow: true,
visible
:
false
,
//
visible: false,
//
});
//
});
if
(
this
.
props
.
callback
){
//
if(this.props.callback){
this
.
props
.
callback
();
//
this.props.callback();
}
//
}
}
//
}
})
//
})
//
//
}
//
}
//
getCachKey
=
(
filePath
)
=>
{
//
getCachKey = (filePath) => {
const
{
dispatch
,
importParams
}
=
this
.
props
;
//
const { dispatch ,importParams } = this.props;
dispatch
({
//
dispatch({
type
:
'DataObj/importAnalyse'
,
//
type: 'DataObj/importAnalyse',
payload
:
{
//
payload: {
...(
importParams
||
{}),
//
...(importParams||{}),
isLocal
:
false
,
//
isLocal:false,
filePath
,
//
filePath,
objId
:
this
.
props
.
objId
,
//
objId: this.props.objId,
},
//
},
callback
:
(
res
)
=>
{
//
callback: (res) => {
this
.
setState
({
//
this.setState({
filekey
:
res
.
cacheKey
,
//
filekey: res.cacheKey,
//
});
//
});
this
.
queryFile
(
res
.
cacheKey
);
//
this.queryFile(res.cacheKey);
//
}
//
}
})
//
})
//
//
};
//
};
queryFile
=
(
cacheKey
)
=>
{
//
queryFile = (cacheKey) => {
const
{
dispatch
,
importParams
}
=
this
.
props
;
//
const { dispatch ,importParams } = this.props;
dispatch
({
//
dispatch({
type
:
'DataObj/importDataQuery'
,
//
type: 'DataObj/importDataQuery',
payload
:
{
//
payload: {
...(
importParams
||
{}),
//
...(importParams||{}),
cacheKey
,
//
cacheKey,
objId
:
this
.
props
.
objId
,
//
objId: this.props.objId,
},
//
},
callback
:
(
res
)
=>
{
//
callback: (res) => {
this
.
setState
({
//
this.setState({
current
:
1
,
//
current: 1,
isShow
:
false
,
//
isShow: false,
//
sucData
:
res
.
pass
,
//
sucData: res.pass,
errData
:
res
.
noPass
,
//
errData: res.noPass,
column
:
res
.
column
//
column: res.column
});
//
});
if
(
res
.
noPass
&&
res
.
noPass
.
length
==
0
){
//
if(res.noPass&&res.noPass.length==0){
//
//
if
(
res
.
pass
.
length
==
0
)
{
//
if (res.pass.length==0) {
message
.
error
(
'当前没有验证成功的数据,无法导入。'
);
//
message.error('当前没有验证成功的数据,无法导入。');
this
.
setState
({
//
this.setState({
currentKey
:
"1"
,
//
currentKey:"1",
ch
:
!
this
.
state
.
ch
,
//
ch:!this.state.ch,
isNextDisabled
:
true
//
isNextDisabled: true
});
//
});
}
else
{
//
} else {
message
.
success
(
'所有数据验证通过,请确认后点击下一步。'
);
//
message.success('所有数据验证通过,请确认后点击下一步。');
this
.
setState
({
//
this.setState({
currentKey
:
"2"
,
//
currentKey:"2",
ch
:
!
this
.
state
.
ch
,
//
ch:!this.state.ch,
isNextDisabled
:
false
//
isNextDisabled: false
});
//
});
}
//
}
}
else
{
//
}else{
message
.
error
(
'当前存在未验证通过的数据,请按错误提示检测更正导入文件'
);
//
message.error('当前存在未验证通过的数据,请按错误提示检测更正导入文件');
this
.
setState
({
//
this.setState({
currentKey
:
"1"
,
//
currentKey:"1",
ch
:
!
this
.
state
.
ch
,
//
ch:!this.state.ch,
isNextDisabled
:
true
//
isNextDisabled: true
});
//
});
}
//
}
//
}
//
}
})
//
})
};
//
};
changePane
=
(
activeKey
)
=>
{
//
changePane=(activeKey)=>{
this
.
setState
({
currentKey
:
activeKey
})
//
this.setState({currentKey:activeKey})
}
//
}
exportError
=
(
column
,
dataSource
)
=>
{
//
exportError=(column,dataSource)=>{
//
//
var
_headers
=
[]
//
var _headers = []
for
(
var
i
=
0
;
i
<
column
.
length
;
i
++
){
//
for(var i=0;i<column.length;i++){
_headers
.
push
({
k
:
column
[
i
].
dataIndex
,
v
:
column
[
i
].
title
})
//
_headers.push({k:column[i].dataIndex,v:column[i].title})
}
//
}
for
(
var
j
=
0
;
j
<
dataSource
.
length
;
j
++
){
//
for(var j=0;j<dataSource.length;j++){
dataSource
[
j
].
index
=
j
+
1
//
dataSource[j].index=j+1
}
//
}
exportExcel
(
_headers
,
dataSource
);
//
exportExcel(_headers, dataSource);
//
//
}
//
}
render
()
{
//
render() {
//
const
props
=
{
//
const props = {
name
:
'file'
,
//
name: 'file',
action
:
config
.
uploadUrl
,
//
action: config.uploadUrl,
//
headers
:
{
//
headers: {
authorization
:
'authorization-text'
,
//
authorization: 'authorization-text',
},
//
},
accept
:
'.xlsx'
,
//
accept:'.xlsx',
showUploadList
:
false
,
//
showUploadList: false,
onChange
:
(
info
)
=>
{
//
onChange: (info) => {
if
(
info
.
file
.
status
!==
'uploading'
)
{
//
if (info.file.status !== 'uploading') {
//
}
//
}
if
(
info
.
file
.
status
===
'done'
)
{
//
if (info.file.status === 'done') {
message
.
success
(
`
${
info
.
file
.
name
}
上传成功`
);
//
message.success(`${info.file.name} 上传成功`);
let
x
=
info
.
file
.
response
;
//
let x = info.file.response;
//
//
//
this
.
getCachKey
(
x
);
//
this.getCachKey(x);
//
}
else
if
(
info
.
file
.
status
===
'error'
)
{
//
} else if (info.file.status === 'error') {
message
.
error
(
`
${
info
.
file
.
name
}
file upload failed.`
);
//
message.error(`${info.file.name} file upload failed.`);
}
//
}
},
//
},
};
//
};
const
steps
=
[{
//
const steps = [{
title
:
'上传Excel'
,
//
title: '上传Excel',
},
{
//
}, {
title
:
'验证数据'
,
//
title: '验证数据',
},
{
//
}, {
title
:
'数据导入'
,
//
title: '数据导入',
},
//
},
{
//
{
title
:
'导入完成'
,
//
title: '导入完成',
}];
//
}];
//
const
{
current
}
=
this
.
state
;
//
const { current } = this.state;
const
{
name
,
loading
}
=
this
.
props
//
const {name, loading} = this.props
const
column1
=
this
.
state
.
column
?[{
title
:
"序号"
,
dataIndex
:
"index"
,
fixed
:
"left"
,
width
:
50
,
render
:(
v
,
r
,
i
)
=>
i
+
1
},...
this
.
state
.
column
]:[]
//
const column1=this.state.column?[{title:"序号",dataIndex:"index",fixed:"left",width:50, render:(v,r,i)=>i+1},...this.state.column]:[]
var
column2
=
this
.
state
.
column
?[...
this
.
state
.
column
]:[]
//
var column2=this.state.column?[...this.state.column]:[]
if
(
column1
.
length
>
1
)
column1
[
1
].
render
=
(
val
)
=><
span
style
=
{{
color
:
"red"
}}
>
{
val
}
<
/span
>
//
if(column1.length>1) column1[1].render=(val)=><span style={{color:"red"}}>{val}</span>
//
column2
.
splice
(
0
,
1
)
//
column2.splice(0,1)
column2
=
[{
title
:
"序号"
,
fixed
:
"left"
,
width
:
50
,
render
:(
v
,
r
,
i
)
=>
i
+
1
},...
column2
]
//
column2=[{title:"序号",fixed:"left",width:50, render:(v,r,i)=>i+1},...column2]
//
return
(
//
return (
<
span
>
//
<span>
<
ButtonDiy
name
=
{
name
||
'批量导入'
}
//
<ButtonDiy name={name||'批量导入'}
type
=
'default'
//
type='default'
className
=
'defaultBlue'
//
className='defaultBlue'
handleClick
=
{
this
.
showModal
}
/
>
//
handleClick={this.showModal}/>
<
Modal
//
<Modal
visible
=
{
this
.
state
.
visible
}
//
visible={this.state.visible}
onOk
=
{
this
.
handleOk
}
//
onOk={this.handleOk}
maskClosable
=
{
false
}
//
maskClosable={false}
destroyOnClose
//
destroyOnClose
onCancel
=
{
this
.
handleCancel
}
//
onCancel={this.handleCancel}
title
=
{
null
}
//
title={null}
footer
=
{
null
}
//
footer={null}
width
=
{
"80%"
}
//
width={"80%"}
>
//
>
//
<
div
className
=
{
styles
.
nomal
}
>
//
<div className={styles.nomal}>
<
p
className
=
{
styles
.
import
}
>
//
<p className={styles.import}>
EXCEL
导入向导
//
EXCEL导入向导
<
/p
>
//
</p>
<
div
style
=
{{
margin
:
'auto 23px'
}}
>
//
<div style={{ margin: 'auto 23px' }}>
<
Steps
current
=
{
current
}
>
//
<Steps current={current}>
{
steps
.
map
(
item
=>
//
{steps.map(item =>
<
Step
key
=
{
item
.
title
}
//
<Step key={item.title}
title
=
{
item
.
title
}
/>
)
}
//
title={item.title}/>)}
<
/Steps
>
//
</Steps>
<
div
className
=
"steps-content"
>
//
<div className="steps-content">
{
steps
[
this
.
state
.
current
].
content
}
//
{steps[this.state.current].content}
<
/div
>
//
</div>
<
div
className
=
{
styles
.
button
}
>
//
<div className={styles.button}>
{
//
{
(
this
.
state
.
current
<
steps
.
length
-
1
&&
this
.
state
.
current
!==
0
)
//
(this.state.current < steps.length - 1 && this.state.current !== 0)
&&
//
&&
<
ButtonDiy
name
=
{
this
.
state
.
current
==
3
?
"确认导入"
:
"下一步"
}
type
=
"primary"
disabled
=
{
this
.
state
.
current
!=
3
&&
this
.
state
.
isNextDisabled
}
className
=
'primaryBlue'
handleClick
=
{()
=>
this
.
next
()}
/
>
//
<ButtonDiy name={this.state.current==3?"确认导入":"下一步"} type="primary" disabled={this.state.current!=3 && this.state.isNextDisabled} className='primaryBlue' handleClick={() => this.next()}/>
//
}
//
}
//
{
//
{
this
.
state
.
current
>
0
//
this.state.current > 0
&&
//
&&
<
ButtonDiy
style
=
{{
marginLeft
:
8
}}
name
=
"上一步"
className
=
'defaultBlue'
handleClick
=
{()
=>
this
.
prev
()}
/
>
//
<ButtonDiy style={{ marginLeft: 8 }} name="上一步" className='defaultBlue' handleClick={() => this.prev()}/>
//
}
//
}
<
/div
>
//
</div>
<
/div
>
//
</div>
//
<
div
className
=
{
styles
.
tip
}
>
//
<div className={styles.tip}>
<
p
className
=
{
styles
.
tipContent
}
>
//
<p className={styles.tipContent}>
<
span
>
欢迎使用
EXCEL
导入向导,首先请您上传需要导入的
EXCEL
文件。
<
/span
>
//
<span>欢迎使用EXCEL导入向导,首先请您上传需要导入的EXCEL文件。</span>
<
span
>
点击“选择文件”选择您要导入的
EXCEL
文件,点击“开始上传”将其上传到服务器上,点击“清空队列”清空当前上传文件队列。
<
/span
>
//
<span>点击“选择文件”选择您要导入的EXCEL文件,点击“开始上传”将其上传到服务器上,点击“清空队列”清空当前上传文件队列。</span>
<
/p
>
//
</p>
//
<
/div
>
//
</div>
{
//
{
this
.
state
.
isShow
?
//
this.state.isShow ?
<
div
className
=
{
styles
.
buttonDown
}
>
//
<div className={styles.buttonDown}>
<
Upload
{...
props
}
>
//
<Upload {...props}>
<
Button
>
//
<Button>
<
Icon
type
=
"upload"
/>
点击上传
//
<Icon type="upload"/>点击上传
<
/Button
>
//
</Button>
<
/Upload
>
//
</Upload>
<
Button
href
=
{
this
.
state
.
exportTemplateUrl
}
//
<Button href={this.state.exportTemplateUrl }
target
=
"_blank"
//
target="_blank"
type
=
"danger"
>
//
type="danger">
下载模板
//
下载模板
<
/Button
>
//
</Button>
<
/div>
:
//
</div> :
<
Upload
{...
props
}
>
//
<Upload {...props}>
<
Button
>
//
<Button>
<
Icon
type
=
"upload"
/>
//
<Icon type="upload"/>
重新上传
//
重新上传
<
/Button
>
//
</Button>
<
/Upload
>
//
</Upload>
}
//
}
//
{
//
{
this
.
state
.
isShow
?
<
div
className
=
{
styles
.
attentionItem
}
>
//
this.state.isShow ? <div className={styles.attentionItem}>
<
p
>
导入事项
<
/p
>
//
<p>导入事项</p>
<
p
>
1
.
导入操作一次只能上传
1
个
EXCEL
文件。
<
/p
>
//
<p>1. 导入操作一次只能上传 1 个EXCEL文件。</p>
<
p
>
2
.
导入文件最大文件大小上传
1
GB
。
<
/p
>
//
<p>2. 导入文件最大文件大小上传 1 GB。</p>
<
p
>
3
.
只能上传
EXCEL
文件
(
XLS
,
XLSX
)
默认支持
EXCEL
2003
和
EXCEL
2007
。
<
/p
>
//
<p>3. 只能上传EXCEL文件(XLS, XLSX) 默认支持EXCEL 2003和EXCEL 2007。</p>
<
p
>
4
.
请将
EXCEL
文件的所有单元格格式设置为“文本”格式
<
/p
>
//
<p>4. 请将EXCEL文件的所有单元格格式设置为“文本”格式</p>
<
/div>
:
//
</div> :
<
div
className
=
{
styles
.
error
}
style
=
{{
marginTop
:
20
}}
>
//
<div className={styles.error} style={{marginTop:20}}>
//
<
Tabs
activeKey
=
{
this
.
state
.
currentKey
}
key
=
{
this
.
state
.
ch
}
onChange
=
{
this
.
changePane
}
type
=
"card"
>
//
<Tabs activeKey={this.state.currentKey} key={this.state.ch} onChange={this.changePane} type="card">
{
this
.
state
.
errData
&&
this
.
state
.
errData
.
length
==
0
?
""
:
<
TabPane
tab
=
{
<
span
style
=
{{
color
:
"red"
}}
>
验证错误列表
<
/span>} key="1"
>
//
{this.state.errData&&this.state.errData.length==0?"":<TabPane tab={<span style={{color:"red"}}>验证错误列表</span>} key="1">
<
Button
style
=
{{
marginTop
:
5
,
marginBottom
:
5
}}
type
=
"danger"
onClick
=
{
this
.
exportError
.
bind
(
this
,
column1
,
this
.
state
.
errData
)}
>
导出错误信息
<
/Button
>
//
<Button style={{marginTop:5,marginBottom:5}} type="danger" onClick={this.exportError.bind(this,column1,this.state.errData)}>导出错误信息</Button>
//
<
Table
columns
=
{
column1
}
size
=
"small"
// <Table columns={column1} size="small"
style
=
{{
overflow
:
'auto'
}}
//
style={{overflow: 'auto'}}
dataSource
=
{
this
.
state
.
errData
}
//
dataSource={this.state.errData}
bordered
=
{
true
}
/></
TabPane
>
}
//
bordered={true}/></TabPane>}
<
TabPane
tab
=
{
<
span
style
=
{{
color
:
"green"
}}
>
验证成功列表
<
/span>} key="2">
// <TabPane tab={<span style={{color:"green"}}>验证成功列表</span>} key="2">
//
<
Button
style
=
{{
marginTop
:
5
,
marginBottom
:
5
}}
type
=
"primary"
onClick
=
{
this
.
exportError
.
bind
(
this
,
column2
,
this
.
state
.
sucData
)}
>
导出正确信息
<
/Button
>
//
<Button style={{marginTop:5,marginBottom:5}} type="primary" onClick={this.exportError.bind(this,column2,this.state.sucData)}>导出正确信息</Button>
//
<
Table
columns
=
{
column2
}
size
=
"small"
// <Table columns={column2} size="small"
style
=
{{
overflow
:
'auto'
}}
//
style={{overflow: 'auto'}}
dataSource
=
{
this
.
state
.
sucData
}
//
dataSource={this.state.sucData}
bordered
=
{
true
}
/></
TabPane
>
//
bordered={true}/></TabPane>
//
<
/Tabs
>
//
</Tabs>
//
//
<
/div
>
//
</div>
}
//
}
<
/div
>
//
</div>
//
<
/Modal
>
//
</Modal>
<
/span
>
//
</span>
);
//
);
}
//
}
}
//
}
FormInsertDiy/ImportUtil/ImportUtil.less
浏览文件 @
c0f7cedf
.nomal{
//.nomal{
background: #fff;
// background: #fff;
padding: 10px;
// padding: 10px;
}
//}
.title{
//.title{
display: flex;
// display: flex;
margin-bottom: 20px;
// margin-bottom: 20px;
}
//}
.info{
//.info{
text-align: center;
// text-align: center;
font-weight: bold;
// font-weight: bold;
font-size: 18px;
// font-size: 18px;
}
//}
.detail{
//.detail{
text-align: center;
// text-align: center;
margin:30px auto;
// margin:30px auto;
}
//}
.detail img{
//.detail img{
margin: auto 10px;
// margin: auto 10px;
}
//}
.button{
//.button{
display: -webkit-box; /* 老版本语法: Safari, iOS, Android browser, older WebKit browsers. */
// display: -webkit-box; /* 老版本语法: Safari, iOS, Android browser, older WebKit browsers. */
display: -moz-box; /* 老版本语法: Firefox (buggy) */
// display: -moz-box; /* 老版本语法: Firefox (buggy) */
display: -ms-flexbox; /* 混合版本语法: IE 10 */
// display: -ms-flexbox; /* 混合版本语法: IE 10 */
display: -webkit-flex; /* 新版本语法: Chrome 21+ */
// display: -webkit-flex; /* 新版本语法: Chrome 21+ */
display: -moz-flex;
// display: -moz-flex;
display: flex;
// display: flex;
-moz-box-pack: center; /*Firefox*/
// -moz-box-pack: center; /*Firefox*/
-webkit-box-pack: center; /*Safari,Opera,Chrome*/
// -webkit-box-pack: center; /*Safari,Opera,Chrome*/
box-pack: center;
// box-pack: center;
-moz-justify-content: center;
// -moz-justify-content: center;
-webkit-justify-content: center;
// -webkit-justify-content: center;
justify-content: center;
// justify-content: center;
}
//}
.operation{
//.operation{
display: -webkit-box; /* 老版本语法: Safari, iOS, Android browser, older WebKit browsers. */
// display: -webkit-box; /* 老版本语法: Safari, iOS, Android browser, older WebKit browsers. */
display: -moz-box; /* 老版本语法: Firefox (buggy) */
// display: -moz-box; /* 老版本语法: Firefox (buggy) */
display: -ms-flexbox; /* 混合版本语法: IE 10 */
// display: -ms-flexbox; /* 混合版本语法: IE 10 */
display: -webkit-flex; /* 新版本语法: Chrome 21+ */
// display: -webkit-flex; /* 新版本语法: Chrome 21+ */
display: -moz-flex;
// display: -moz-flex;
display: flex;
// display: flex;
-moz-box-pack: center; /*Firefox*/
// -moz-box-pack: center; /*Firefox*/
-webkit-box-pack: center; /*Safari,Opera,Chrome*/
// -webkit-box-pack: center; /*Safari,Opera,Chrome*/
box-pack: center;
// box-pack: center;
-moz-justify-content: center;
// -moz-justify-content: center;
-webkit-justify-content: center;
// -webkit-justify-content: center;
justify-content: center;
// justify-content: center;
}
//}
.button Button{
//.button Button{
margin: auto 10px;
// margin: auto 10px;
//
}
//}
.titleInfo p span{
//.titleInfo p span{
font-weight: bold;
// font-weight: bold;
}
//}
.import{
//.import{
color: #6ca3c9;
// color: #6ca3c9;
font-size: 16px;
// font-size: 16px;
}
//}
.button{
//.button{
// background: #eff3f8;
// // background: #eff3f8;
text-align: center;
// text-align: center;
padding:20px;
// padding:20px;
margin-top: 20px;
// margin-top: 20px;
}
//}
.tip{
//.tip{
margin:20px auto;
// margin:20px auto;
padding:10px;
// padding:10px;
border-top: 1px solid #ccc;
// border-top: 1px solid #ccc;
}
//}
.tip span{
//.tip span{
display: block;
// display: block;
margin:10px;
// margin:10px;
font-size: 16px;
// font-size: 16px;
}
//}
.tip::after{
//.tip::after{
content: '';
// content: '';
position: absolute;
// position: absolute;
width: 5px;
// width: 5px;
height: 57px;
// height: 57px;
background: #e5eaf1;
// background: #e5eaf1;
margin-top: -141px;
// margin-top: -141px;
margin-left: -13px;
// margin-left: -13px;
}
//}
.select button{
//.select button{
color: #fff;
// color: #fff;
padding:10px;
// padding:10px;
background: #abbac3;
// background: #abbac3;
border: none;
// border: none;
margin: 10px;
// margin: 10px;
}
//}
.attentionItem{
//.attentionItem{
background: #f4f5f4;
// background: #f4f5f4;
padding: 10px;
// padding: 10px;
box-shadow: 1px 1px 1px #ccc;
// box-shadow: 1px 1px 1px #ccc;
}
//}
.attentionItem p:nth-child(1){
//.attentionItem p:nth-child(1){
font-size: 16px;
// font-size: 16px;
margin-left: 0;
// margin-left: 0;
}
//}
.attentionItem p{
//.attentionItem p{
font-size: 14px;
// font-size: 14px;
margin-left: 45px;
// margin-left: 45px;
}
//}
.submitButtons{
//.submitButtons{
margin-left: 34px;
// margin-left: 34px;
}
//}
.contentTable{
//.contentTable{
display: -webkit-box; /* 老版本语法: Safari, iOS, Android browser, older WebKit browsers. */
// display: -webkit-box; /* 老版本语法: Safari, iOS, Android browser, older WebKit browsers. */
display: -moz-box; /* 老版本语法: Firefox (buggy) */
// display: -moz-box; /* 老版本语法: Firefox (buggy) */
display: -ms-flexbox; /* 混合版本语法: IE 10 */
// display: -ms-flexbox; /* 混合版本语法: IE 10 */
display: -webkit-flex; /* 新版本语法: Chrome 21+ */
// display: -webkit-flex; /* 新版本语法: Chrome 21+ */
display: -moz-flex;
// display: -moz-flex;
display: flex;
// display: flex;
-moz-box-pack: justify; /*Firefox*/
// -moz-box-pack: justify; /*Firefox*/
-webkit-box-pack:justify; /*Safari,Opera,Chrome*/
// -webkit-box-pack:justify; /*Safari,Opera,Chrome*/
box-pack: justify;
// box-pack: justify;
-moz-justify-content: space-between;
// -moz-justify-content: space-between;
-webkit-justify-content: space-between;
// -webkit-justify-content: space-between;
justify-content: space-between;
// justify-content: space-between;
margin-top: 20px;
// margin-top: 20px;
}
//}
.left{
//.left{
width: 50%;
// width: 50%;
}
//}
.right{
//.right{
width: 50%;
// width: 50%;
border-left: 1px solid #317ecc;
// border-left: 1px solid #317ecc;
}
//}
.error p{
//.error p{
color: #fff;
// color: #fff;
background: #317ecc;
// background: #317ecc;
// margin: 10px auto;
// // margin: 10px auto;
text-align: left;
// text-align: left;
font-size: 18px;
// font-size: 18px;
}
//}
.download{
//.download{
background: #f5f5f5;
// background: #f5f5f5;
padding: 5px;
// padding: 5px;
margin-top: -16px;
// margin-top: -16px;
}
//}
.download img{
//.download img{
margin-top: -2px;
// margin-top: -2px;
margin-right: 5px;
// margin-right: 5px;
}
//}
.download button{
//.download button{
border: none;
// border: none;
background: #f5f5f5
// background: #f5f5f5
}
//}
.download button:nth-child(1){
//.download button:nth-child(1){
border-right: 1px solid #ccc;
// border-right: 1px solid #ccc;
}
//}
.download button:nth-child(2){
//.download button:nth-child(2){
border-right: 1px solid #ccc;
// border-right: 1px solid #ccc;
}
//}
.buttonDown{
//.buttonDown{
display: -webkit-box; /* 老版本语法: Safari, iOS, Android browser, older WebKit browsers. */
// display: -webkit-box; /* 老版本语法: Safari, iOS, Android browser, older WebKit browsers. */
display: -moz-box; /* 老版本语法: Firefox (buggy) */
// display: -moz-box; /* 老版本语法: Firefox (buggy) */
display: -ms-flexbox; /* 混合版本语法: IE 10 */
// display: -ms-flexbox; /* 混合版本语法: IE 10 */
display: -webkit-flex; /* 新版本语法: Chrome 21+ */
// display: -webkit-flex; /* 新版本语法: Chrome 21+ */
display: -moz-flex;
// display: -moz-flex;
display: flex;
// display: flex;
-moz-box-pack: start; /*Firefox*/
// -moz-box-pack: start; /*Firefox*/
-webkit-box-pack: start; /*Safari,Opera,Chrome*/
// -webkit-box-pack: start; /*Safari,Opera,Chrome*/
box-pack: start;
// box-pack: start;
-moz-justify-content: flex-start;
// -moz-justify-content: flex-start;
-webkit-justify-content: flex-start;
// -webkit-justify-content: flex-start;
justify-content: flex-start;
// justify-content: flex-start;
margin-bottom: 20px;
// margin-bottom: 20px;
}
//}
.buttonDown>button{
//.buttonDown>button{
margin-left: 10px;
// margin-left: 10px;
background: #abbac3;
// background: #abbac3;
border: none;
// border: none;
color: #fff;
// color: #fff;
padding: 5px 12px;
// padding: 5px 12px;
border-radius: 5px;
// border-radius: 5px;
}
//}
\ No newline at end of file
FormInsertDiy/List/index.js
浏览文件 @
c0f7cedf
...
@@ -2,13 +2,13 @@ import React, { Fragment } from 'react';
...
@@ -2,13 +2,13 @@ import React, { Fragment } from 'react';
import
{
Divider
,
message
,
Modal
,
Popconfirm
}
from
'antd'
;
import
{
Divider
,
message
,
Modal
,
Popconfirm
}
from
'antd'
;
import
moment
from
'moment'
;
import
moment
from
'moment'
;
import
router
from
'umi/router'
;
import
router
from
'umi/router'
;
import
ExportInfo
from
'../Export/index'
;
//
import ExportInfo from '../Export/index';
import
{
text
,
number
,
date
,
getFormArrayConfig
}
from
'../config/index'
;
import
{
text
,
number
,
date
,
getFormArrayConfig
}
from
'../config/index'
;
import
ButtonDiy
from
'@/baseComponent/ButtonDiy'
;
import
ButtonDiy
from
'@/baseComponent/ButtonDiy'
;
import
Shell
from
'../Shell'
;
import
Shell
from
'../Shell'
;
import
FormArray
from
'../AffairPage/component/FormArray'
;
import
FormArray
from
'../AffairPage/component/FormArray'
;
import
Edit
from
'../Edit/index'
;
import
Edit
from
'../Edit/index'
;
import
ImportUtil
from
'../ImportUtil/ImportUtil'
;
//
import ImportUtil from '../ImportUtil/ImportUtil';
import
SearchDom
from
'@/highOrderComponent/SearchDom'
;
import
SearchDom
from
'@/highOrderComponent/SearchDom'
;
import
StandardTable
from
'@/components/StandardTable'
;
import
StandardTable
from
'@/components/StandardTable'
;
import
{
getHead
,
fetchData
,
deleteItem
,
add
}
from
'./services'
;
import
{
getHead
,
fetchData
,
deleteItem
,
add
}
from
'./services'
;
...
@@ -344,8 +344,8 @@ class FormList extends React.Component {
...
@@ -344,8 +344,8 @@ class FormList extends React.Component {
<
Shell
>
<
Shell
>
<
div
style
=
{{
paddingLeft
:
'10px'
,
marginTop
:
'20px'
}}
>
<
div
style
=
{{
paddingLeft
:
'10px'
,
marginTop
:
'20px'
}}
>
<
ButtonDiy
icon
=
"plus"
className
=
"primaryBlue"
handleClick
=
{
this
.
add
}
name
=
"新建"
/>
<
ButtonDiy
icon
=
"plus"
className
=
"primaryBlue"
handleClick
=
{
this
.
add
}
name
=
"新建"
/>
{
hasImport
&&
<
ImportUtil
objId
=
{
objId
}
/>
}
{
/*
{hasImport && <ImportUtil objId={objId} />}
{
hasExport
&&
<
ExportInfo
objId
=
{
objId
}
/>
}
{hasExport && <ExportInfo objId={objId} />}
*/
}
<
ButtonDiy
handleClick
=
{
this
.
batchDelete
}
name
=
"批量删除"
/>
<
ButtonDiy
handleClick
=
{
this
.
batchDelete
}
name
=
"批量删除"
/>
<
/div
>
<
/div
>
<
StandardTable
<
StandardTable
...
...
FormInsertDiy/ListWithAddEditTemplate/index.js
浏览文件 @
c0f7cedf
...
@@ -75,11 +75,14 @@ class ListWithAddEditTemplate extends React.Component {
...
@@ -75,11 +75,14 @@ class ListWithAddEditTemplate extends React.Component {
if
(
!
headerList
)
return
;
if
(
!
headerList
)
return
;
this
.
setState
({
headerList
});
this
.
setState
({
headerList
});
this
.
columns
=
headerList
.
filter
(
i
=>
!
i
.
isHidden
).
slice
(
0
,
10
).
map
(
item
=>
({
this
.
columns
=
headerList
title
:
item
.
title
,
.
filter
(
i
=>
!
i
.
isHidden
)
dataIndex
:
item
.
name
,
.
slice
(
0
,
10
)
render
:
date
.
includes
(
item
.
type
)
&&
dateRender
,
.
map
(
item
=>
({
}));
title
:
item
.
title
,
dataIndex
:
item
.
name
,
render
:
date
.
includes
(
item
.
type
)
&&
dateRender
,
}));
const
operation
=
{
const
operation
=
{
title
:
'操作'
,
title
:
'操作'
,
render
:
(
_
,
record
)
=>
{
render
:
(
_
,
record
)
=>
{
...
@@ -161,7 +164,10 @@ class ListWithAddEditTemplate extends React.Component {
...
@@ -161,7 +164,10 @@ class ListWithAddEditTemplate extends React.Component {
getPage
=
()
=>
{
getPage
=
()
=>
{
const
{
objId
,
filters
=
{}
}
=
this
.
props
;
const
{
objId
,
filters
=
{}
}
=
this
.
props
;
const
{
formValues
,
pageData
:
pagination
}
=
this
.
state
;
const
{
formValues
,
pageData
:
{
pagination
},
}
=
this
.
state
;
const
query
=
{
...
formValues
,
...
filters
};
const
query
=
{
...
formValues
,
...
filters
};
const
pageNo
=
pagination
.
current
?
pagination
.
current
:
1
;
const
pageNo
=
pagination
.
current
?
pagination
.
current
:
1
;
const
pageSize
=
pagination
.
pageSize
?
pagination
.
pageSize
:
10
;
const
pageSize
=
pagination
.
pageSize
?
pagination
.
pageSize
:
10
;
...
@@ -184,21 +190,12 @@ class ListWithAddEditTemplate extends React.Component {
...
@@ -184,21 +190,12 @@ class ListWithAddEditTemplate extends React.Component {
};
};
handleStandardTableChange
=
(
pagination
,
filtersArg
,
sorter
)
=>
{
handleStandardTableChange
=
(
pagination
,
filtersArg
,
sorter
)
=>
{
const
filters
=
Object
.
keys
(
filtersArg
).
reduce
((
obj
,
key
)
=>
{
this
.
setState
(
const
newObj
=
{
...
obj
};
({
pageData
})
=>
({
newObj
[
key
]
=
getValue
(
filtersArg
[
key
]);
pageData
:
{
...
pageData
,
pagination
},
return
newObj
;
}),
},
{});
this
.
getPage
);
const
params
=
{
pageNo
:
pagination
.
current
,
pageSize
:
pagination
.
pageSize
,
...
filters
,
};
if
(
sorter
.
field
)
{
params
.
sorter
=
`
${
sorter
.
field
}
_
${
sorter
.
order
}
`
;
}
this
.
getPage
(
params
);
};
};
handleAdd
=
()
=>
{
handleAdd
=
()
=>
{
...
...
FormInsertDiy/MyApplyList/DetailPage.js
浏览文件 @
c0f7cedf
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
{
Form
,
Spin
}
from
'antd'
;
import
{
Form
,
Spin
}
from
'antd'
;
import
Shell
from
'@/baseComponent/Shell'
;
import
Shell
from
'@/baseComponent/Shell'
;
import
HistoryForm
from
'@/webPublic/
one_stop_public/Entrance/h
istoryForm'
;
import
HistoryForm
from
'@/webPublic/
FormInsertDiy/H
istoryForm'
;
import
{
getHistoryFormDetail
}
from
'../../Services'
;
import
{
getHistoryFormDetail
}
from
'../../Services'
;
import
withGoBack
from
'@/highOrderComponent/withGoBack'
;
import
withGoBack
from
'@/highOrderComponent/withGoBack'
;
...
...
FormInsertDiy/RenderForm/index.js
浏览文件 @
c0f7cedf
...
@@ -3,10 +3,10 @@ import ZdyTable from '@/webPublic/one_stop_public/Table';
...
@@ -3,10 +3,10 @@ import ZdyTable from '@/webPublic/one_stop_public/Table';
import
styles
from
'./index.less'
;
import
styles
from
'./index.less'
;
import
{
fetchTemplateByCode
,
fetchTableItem
}
from
'@/webPublic/Services'
;
import
{
fetchTemplateByCode
,
fetchTableItem
}
from
'@/webPublic/Services'
;
export
default
function
RenderForm
({
get
=
'web'
,
isCg
=
'yes'
,
form
,
postData
})
{
export
default
function
RenderForm
({
get
=
'web'
,
isCg
=
'yes'
,
...
rest
})
{
return
(
return
(
<
div
className
=
{
styles
.
zyd_onestop_style_class
}
>
<
div
className
=
{
styles
.
zyd_onestop_style_class
}
>
<
ZdyTable
get
=
{
get
}
isCg
=
{
isCg
}
postData
=
{
postData
}
form
=
{
form
}
/
>
<
ZdyTable
get
=
{
get
}
isCg
=
{
isCg
}
{...
rest
}
/
>
<
/div
>
<
/div
>
);
);
}
}
...
@@ -73,6 +73,12 @@ export function RenderFormByObjId({
...
@@ -73,6 +73,12 @@ export function RenderFormByObjId({
);
);
return
(
return
(
<
RenderFormByContent
get
=
{
get
}
isCg
=
{
isCg
}
content
=
{
content
}
templateCode
=
{
templateCode
}
form
=
{
form
}
/
>
<
RenderFormByContent
get
=
{
get
}
isCg
=
{
isCg
}
content
=
{
content
}
templateCode
=
{
templateCode
}
form
=
{
form
}
/
>
);
);
}
}
FormInsertDiy/RenderForm/index.less
浏览文件 @
c0f7cedf
.zyd_onestop_style_class{
.zyd_onestop_style_class{
padding: 20px;
table, td, div{
table, td, div{
overflow: unset !important;
overflow: unset !important;
}
}
}
}
FormInsertDiy/models/DataObj.js
deleted
100644 → 0
浏览文件 @
efc88f79
import
{
apiRequest
}
from
'../request'
;
const
api
=
"/DataObjApi"
;
export
default
{
namespace
:
'DataObj'
,
state
:
{
list
:
[],
data
:{
list
:
[],
pagination
:
{},
},
code
:{
list
:
[],
pagination
:
{},
}
},
effects
:
{
*
getExportInfo
({
payload
,
callback
},
{
call
,
put
})
{
const
response
=
yield
call
(
apiRequest
,
api
+
"/getExportInfo"
,
payload
);
if
(
!
response
){
yield
put
({
type
:
'nom'
});
return
}
yield
put
({
type
:
'nom'
,
payload
:
response
,
});
if
(
callback
)
callback
(
response
);
},
*
changeCatalogue
({
payload
,
callback
},
{
call
,
put
})
{
const
response
=
yield
call
(
apiRequest
,
api
+
"/changeCatalogue"
,
payload
);
if
(
!
response
){
yield
put
({
type
:
'nom'
});
return
}
yield
put
({
type
:
'nom'
,
payload
:
response
,
});
if
(
callback
)
callback
(
response
);
},
*
find
({
payload
,
callback
},
{
call
,
put
})
{
const
response
=
yield
call
(
apiRequest
,
api
+
"/find"
,
payload
);
if
(
!
response
){
yield
put
({
type
:
'nom'
});
return
}
yield
put
({
type
:
'nom'
,
payload
:
response
,
});
if
(
callback
)
callback
(
response
);
},
*
add
({
payload
,
callback
},
{
call
,
put
})
{
const
response
=
yield
call
(
apiRequest
,
api
+
"/add"
,
payload
);
if
(
!
response
){
yield
put
({
type
:
'nom'
});
return
}
yield
put
({
type
:
'nom'
,
payload
:
response
,
});
if
(
callback
)
callback
(
response
);
},
*
fetch
({
payload
,
callback
},
{
call
,
put
})
{
const
response
=
yield
call
(
apiRequest
,
api
+
"/getPage"
,
payload
);
if
(
!
response
){
yield
put
({
type
:
'nom'
});
return
}
yield
put
({
type
:
'page'
,
payload
:
{...
response
,
isMain
:
payload
.
isMain
},
});
},
*
remove
({
payload
,
callback
},
{
call
,
put
})
{
const
response
=
yield
call
(
apiRequest
,
api
+
"/remove"
,
payload
);
if
(
!
response
){
yield
put
({
type
:
'nom'
});
return
}
yield
put
({
type
:
'nom'
,
payload
:
response
,
});
if
(
callback
){
callback
()
}
},
*
open
({
payload
,
callback
},
{
call
,
put
})
{
const
response
=
yield
call
(
apiRequest
,
api
+
"/open"
,
payload
);
if
(
!
response
){
yield
put
({
type
:
'nom'
});
return
}
yield
put
({
type
:
'nom'
,
payload
:
response
,
});
if
(
callback
){
callback
()
}
},
*
createTabel
({
payload
,
callback
},{
call
,
put
}){
const
response
=
yield
call
(
apiRequest
,
api
+
"/createTable"
,
payload
);
if
(
!
response
){
yield
put
({
type
:
'nom'
});
return
}
yield
put
({
type
:
'nom'
,
payload
:
response
,
});
if
(
callback
){
callback
()
}
}
},
reducers
:
{
list
(
state
,
action
)
{
return
{
...
state
,
list
:
action
.
payload
,
};
},
page
(
state
,
{
payload
})
{
if
(
payload
.
isMain
){
return
{
...
state
,
data
:{
list
:
payload
.
rows
,
pagination
:
{
current
:
payload
.
pageNo
,
pageSize
:
payload
.
pageSize
,
total
:
payload
.
total
,
},
}
};
}
else
{
return
{
...
state
,
code
:{
list
:
payload
.
rows
,
pagination
:
{
current
:
payload
.
pageNo
,
pageSize
:
payload
.
pageSize
,
total
:
payload
.
total
,
},
}
};
}
},
nom
(
state
,
action
)
{
return
{...
state
};
},
},
};
FormInsertDiy/models/FormList.js
deleted
100644 → 0
浏览文件 @
efc88f79
import
{
uaaRequest
}
from
'../../one_stop_public/utils/request'
;
const
api
=
'/DataObjApi'
;
export
default
{
namespace
:
'formList'
,
state
:
{
list
:
[],
data
:
{
list
:
[],
pagination
:
{},
},
},
effects
:
{
*
clear
({
payload
,
callback
},
{
call
,
put
})
{
yield
put
({
type
:
'clearAll'
,
payload
:
{},
});
},
*
getHead
({
payload
,
callback
},
{
call
,
put
})
{
console
.
log
(
'getHead'
,);
const
response
=
yield
call
(
uaaRequest
,
'/DataColumnApi/getHeaderList'
,
payload
);
console
.
log
(
' header response'
,
response
);
if
(
!
response
)
{
yield
put
({
type
:
'nom'
});
return
;
}
if
(
callback
)
callback
(
response
);
},
*
fetch
({
payload
,
callback
},
{
call
,
put
})
{
const
response
=
yield
call
(
uaaRequest
,
'/DataObjApi/getFormDataPage'
,
payload
);
if
(
!
response
)
{
yield
put
({
type
:
'nom'
});
return
;
}
/* yield put({
type: 'page',
payload: {
...response,
},
});*/
if
(
callback
)
callback
(
response
);
},
*
add
({
payload
,
callback
},
{
call
,
put
})
{
const
response
=
yield
call
(
apiRequest
,
api
+
'/addFormData'
,
{
data
:
JSON
.
stringify
(
payload
.
params
),
isAdd
:
payload
.
isAdd
,
objId
:
payload
.
objId
,
});
if
(
!
response
)
{
yield
put
({
type
:
'nom'
});
return
;
}
if
(
callback
)
callback
(
response
);
},
*
delete
({
payload
,
callback
},
{
call
,
put
})
{
const
response
=
yield
call
(
apiRequest
,
api
+
'/deleteFormData'
,
payload
);
if
(
!
response
)
{
yield
put
({
type
:
'nom'
});
return
;
}
if
(
callback
)
callback
(
response
);
},
*
getDetail
({
payload
,
callback
},
{
call
,
put
})
{
const
response
=
yield
call
(
apiRequest
,
api
+
'/getFormData'
,
payload
);
if
(
!
response
)
{
yield
put
({
type
:
'nom'
});
return
;
}
if
(
callback
)
callback
(
response
);
},
},
reducers
:
{
clearAll
(
state
,
action
)
{
return
{
...
state
,
data
:
{
list
:
[],
pagination
:
{},
},
};
},
list
(
state
,
action
)
{
return
{
...
state
,
list
:
action
.
payload
,
};
},
page
(
state
,
{
payload
})
{
return
{
...
state
,
data
:
{
list
:
payload
.
rows
,
pagination
:
{
current
:
payload
.
pageNo
,
pageSize
:
payload
.
pageSize
,
total
:
Number
(
payload
.
total
),
},
},
};
},
nom
(
state
,
action
)
{
return
{
...
state
};
},
},
};
FormInsertDiy/request.js
浏览文件 @
c0f7cedf
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
import
{
extend
}
from
'umi-request'
;
import
{
extend
}
from
'umi-request'
;
import
{
notification
}
from
'antd'
;
import
{
notification
}
from
'antd'
;
import
FormdataWrapper
from
"@/utils/object-to-formdata-custom"
;
import
FormdataWrapper
from
"@/utils/object-to-formdata-custom"
;
import
{
get
HuanGe
Token
}
from
'@/utils/authority'
;
import
{
getToken
}
from
'@/utils/authority'
;
import
{
offline
}
from
'./Toast'
;
import
{
offline
}
from
'./Toast'
;
import
systemConfig
from
'@/config/config'
;
import
systemConfig
from
'@/config/config'
;
...
@@ -70,7 +70,7 @@ const umiRequest = extend({
...
@@ -70,7 +70,7 @@ const umiRequest = extend({
});
});
export
const
request
=
(
url
,
data
,
options
=
{})
=>
{
export
const
request
=
(
url
,
data
,
options
=
{})
=>
{
const
pp
=
{...
data
,
token
:
get
HuanGe
Token
()}
const
pp
=
{...
data
,
token
:
getToken
()}
const
requestParams
=
FormdataWrapper
(
pp
)
const
requestParams
=
FormdataWrapper
(
pp
)
// 由于自动添加前缀 这里暂时修改getUrl(url)
// 由于自动添加前缀 这里暂时修改getUrl(url)
...
...
one_stop_public/AffairButton/SumbitButton/index.jsx
浏览文件 @
c0f7cedf
...
@@ -65,8 +65,6 @@ export default class idnex extends Component {
...
@@ -65,8 +65,6 @@ export default class idnex extends Component {
if
(
this
.
props
?.
callback
){
if
(
this
.
props
?.
callback
){
this
.
props
.
callback
(
val
)
this
.
props
.
callback
(
val
)
}
}
}
else
{
openToast
(
'error'
,
'保存失败'
,
'请尝试'
);
}
}
},
},
}).
then
(()
=>
{
}).
then
(()
=>
{
...
@@ -140,8 +138,9 @@ export default class idnex extends Component {
...
@@ -140,8 +138,9 @@ export default class idnex extends Component {
openDraftButton
?
openDraftButton
?
<
Button
<
Button
style=
{
{
style=
{
{
marginRight
:
2
0
marginRight
:
2
4
}
}
}
}
shape=
'round'
isLoading=
{
isLoading
}
isLoading=
{
isLoading
}
onClick=
{
this
.
handleDraft
}
onClick=
{
this
.
handleDraft
}
>
>
...
@@ -153,6 +152,8 @@ export default class idnex extends Component {
...
@@ -153,6 +152,8 @@ export default class idnex extends Component {
onClick=
{
this
.
showModal
}
onClick=
{
this
.
showModal
}
isLoading=
{
isLoading
}
isLoading=
{
isLoading
}
type=
'primary'
type=
'primary'
shape=
'round'
ghost
>
>
{
{
text
??
'提交'
text
??
'提交'
...
...
one_stop_public/tableCompon/index.jsx
浏览文件 @
c0f7cedf
...
@@ -662,14 +662,68 @@ export default class tableCom extends Component {
...
@@ -662,14 +662,68 @@ export default class tableCom extends Component {
if
(
json
.
funcs
!=
null
&&
json
.
funcs
!=
""
)
{
if
(
json
.
funcs
!=
null
&&
json
.
funcs
!=
""
)
{
let
enu
;
let
enu
;
try
{
try
{
this
.
getFunctionValue
(
json
.
funcs
,
{
base52
:
this
.
props
.
uuid
},
json
)
;
this
.
getFunctionValue
(
json
.
funcs
,
{
base52
:
this
.
props
.
uuid
},
json
,()
=>
{
if
(
init
!=
null
&&
Object
.
keys
(
init
).
length
>
0
)
{
}
catch
(
e
)
{
let
base52
=
dataColumn
.
base52
message
.
error
(
"公式选项配置存在问题"
)
let
vlu
=
this
.
props
.
form
.
getFieldValue
(
base52
)
if
(
vlu
instanceof
Array
){
}
for
(
var
i
=
0
;
i
<
this
.
state
.
options
.
length
;
i
++
){
if
(
vlu
.
includes
(
this
.
state
.
options
[
i
].
value
)){
labs
.
push
(
this
.
state
.
options
[
i
].
label
)
}
}
}
else
{
for
(
var
i
=
0
;
i
<
this
.
state
.
options
.
length
;
i
++
){
if
(
vlu
==
this
.
state
.
options
[
i
].
value
){
labs
.
push
(
this
.
state
.
options
[
i
].
label
)
break
;
}
}
}
this
.
setState
({
labels
:
labs
})
}
else
if
(
!
this
.
props
.
isEdit
&&
Object
.
keys
(
obj
).
length
>
0
)
{
let
base52
=
dataColumn
.
base52
if
(
this
.
props
.
fatherCode
)
{
const
x
=
base52
.
split
(
"."
)
base52
=
x
[
x
.
length
-
1
]
}
const
vlu
=
obj
[
base52
]
const
labs
=
[]
if
(
vlu
instanceof
Array
){
for
(
var
i
=
0
;
i
<
this
.
state
.
options
.
length
;
i
++
){
if
(
vlu
.
includes
(
this
.
state
.
options
[
i
].
value
)){
labs
.
push
(
this
.
state
.
options
[
i
].
label
)
}
}
}
else
{
for
(
var
i
=
0
;
i
<
this
.
state
.
options
.
length
;
i
++
){
if
(
vlu
==
this
.
state
.
options
[
i
].
value
){
labs
.
push
(
this
.
state
.
options
[
i
].
label
)
break
;
}
}
}
this
.
setState
({
labels
:
labs
})
}
})
;
}
catch
(
e
)
{
message
.
error
(
"公式选项配置存在问题"
)
}
}
}
...
@@ -688,7 +742,7 @@ export default class tableCom extends Component {
...
@@ -688,7 +742,7 @@ export default class tableCom extends Component {
}
}
}
}
reqUtil
=
(
base52
,
json
,
url
,
method
,
params
,
callback
,
options
=
{})
=>
{
reqUtil
=
(
base52
,
json
,
orgCallback
,
url
,
method
,
params
,
callback
,
options
=
{})
=>
{
//查缓存
//查缓存
var
isChange
=
false
;
var
isChange
=
false
;
if
(
url
.
indexOf
(
"http"
)
===-
1
){
if
(
url
.
indexOf
(
"http"
)
===-
1
){
...
@@ -731,7 +785,9 @@ export default class tableCom extends Component {
...
@@ -731,7 +785,9 @@ export default class tableCom extends Component {
const
res
=
callback
(
data
)
const
res
=
callback
(
data
)
if
(
res
!=
null
&&!
(
typeof
res
===
"function"
)){
if
(
res
!=
null
&&!
(
typeof
res
===
"function"
)){
this
.
setState
({
options
:
res
,
selectDis
:
false
});
this
.
setState
({
options
:
res
,
selectDis
:
false
},()
=>
{
if
(
orgCallback
)
orgCallback
()
});
}
}
}
else
if
(
json
.
comName
==
"Button"
)
{
}
else
if
(
json
.
comName
==
"Button"
)
{
...
@@ -808,7 +864,9 @@ export default class tableCom extends Component {
...
@@ -808,7 +864,9 @@ export default class tableCom extends Component {
const
res
=
callback
(
data
)
const
res
=
callback
(
data
)
if
(
res
!=
null
&&!
(
typeof
res
===
"function"
)){
if
(
res
!=
null
&&!
(
typeof
res
===
"function"
)){
this
.
setState
({
options
:
res
,
selectDis
:
false
});
this
.
setState
({
options
:
res
,
selectDis
:
false
},()
=>
{
if
(
orgCallback
)
orgCallback
()
});
}
}
}
else
if
(
json
.
comName
==
"Button"
)
{
}
else
if
(
json
.
comName
==
"Button"
)
{
...
@@ -864,7 +922,7 @@ export default class tableCom extends Component {
...
@@ -864,7 +922,7 @@ export default class tableCom extends Component {
}
}
sqlUtil
=
(
base52
,
json
,
sqlKey
,
params
,
callback
,
options
=
{})
=>
{
sqlUtil
=
(
base52
,
json
,
orgCallback
,
sqlKey
,
params
,
callback
,
options
=
{})
=>
{
//查缓存
//查缓存
var
isChange
=
false
;
var
isChange
=
false
;
...
@@ -895,7 +953,9 @@ export default class tableCom extends Component {
...
@@ -895,7 +953,9 @@ export default class tableCom extends Component {
if
(
json
.
optionType
&&
json
.
optionType
==
"func"
){
if
(
json
.
optionType
&&
json
.
optionType
==
"func"
){
const
res
=
callback
(
data
)
const
res
=
callback
(
data
)
if
(
res
!=
null
&&!
(
typeof
res
===
"function"
)){
if
(
res
!=
null
&&!
(
typeof
res
===
"function"
)){
this
.
setState
({
options
:
res
,
selectDis
:
false
});
this
.
setState
({
options
:
res
,
selectDis
:
false
},()
=>
{
if
(
orgCallback
)
orgCallback
()
});
}
}
}
else
if
(
json
.
comName
==
"Button"
)
{
}
else
if
(
json
.
comName
==
"Button"
)
{
try
{
try
{
...
@@ -974,7 +1034,9 @@ export default class tableCom extends Component {
...
@@ -974,7 +1034,9 @@ export default class tableCom extends Component {
const
res
=
callback
(
data
)
const
res
=
callback
(
data
)
if
(
res
!=
null
&&!
(
typeof
res
===
"function"
)){
if
(
res
!=
null
&&!
(
typeof
res
===
"function"
)){
this
.
setState
({
options
:
res
,
selectDis
:
false
});
this
.
setState
({
options
:
res
,
selectDis
:
false
},()
=>
{
if
(
orgCallback
)
orgCallback
()
});
}
}
}
else
if
(
json
.
comName
==
"Button"
)
{
}
else
if
(
json
.
comName
==
"Button"
)
{
...
@@ -1030,7 +1092,7 @@ export default class tableCom extends Component {
...
@@ -1030,7 +1092,7 @@ export default class tableCom extends Component {
return
"norefeshxxxxxxxxxxxxxxxxxxxx"
return
"norefeshxxxxxxxxxxxxxxxxxxxx"
}
}
getFunctionValue
=
(
fun
,
column
,
json
)
=>
{
getFunctionValue
=
(
fun
,
column
,
json
,
callback
)
=>
{
/* if (!this.props.isEdit) {
/* if (!this.props.isEdit) {
return
return
...
@@ -1045,10 +1107,10 @@ export default class tableCom extends Component {
...
@@ -1045,10 +1107,10 @@ export default class tableCom extends Component {
const
value
=
fun1
(
obj
,
this
.
props
.
init
,
this
.
props
.
defaultValues
,
{
clientType
:
this
.
props
.
get
},
this
.
props
.
index
,
this
.
props
.
fatherCode
,
const
value
=
fun1
(
obj
,
this
.
props
.
init
,
this
.
props
.
defaultValues
,
{
clientType
:
this
.
props
.
get
},
this
.
props
.
index
,
this
.
props
.
fatherCode
,
{
{
moment
:
moment
,
moment
:
moment
,
sql
:
this
.
sqlUtil
.
bind
(
this
,
base52
,
json
),
sql
:
this
.
sqlUtil
.
bind
(
this
,
base52
,
json
,
callback
),
message
:
message
,
router
:
router
,
message
:
message
,
router
:
router
,
setValues
:
this
.
setValues
.
bind
(
this
,
base52
,
json
),
setValues
:
this
.
setValues
.
bind
(
this
,
base52
,
json
),
req
:
this
.
reqUtil
.
bind
(
this
,
base52
,
json
),
req
:
this
.
reqUtil
.
bind
(
this
,
base52
,
json
,
callback
),
md5
:
md5
,
md5
:
md5
,
render
:
this
.
getRender
,
base64
:
getBase64
render
:
this
.
getRender
,
base64
:
getBase64
},
},
...
@@ -1072,7 +1134,9 @@ export default class tableCom extends Component {
...
@@ -1072,7 +1134,9 @@ export default class tableCom extends Component {
if
(
value
!=
null
&&!
(
typeof
value
===
"function"
)){
if
(
value
!=
null
&&!
(
typeof
value
===
"function"
)){
this
.
setState
({
options
:
value
,
selectDis
:
false
});
this
.
setState
({
options
:
value
,
selectDis
:
false
},()
=>
{
if
(
callback
)
callback
()
});
}
}
}
else
if
(
json
.
comName
==
"Echart"
||
json
.
comName
==
"QRCode"
)
{
}
else
if
(
json
.
comName
==
"Echart"
||
json
.
comName
==
"QRCode"
)
{
...
@@ -1631,8 +1695,15 @@ export default class tableCom extends Component {
...
@@ -1631,8 +1695,15 @@ export default class tableCom extends Component {
}
}
}
}
if
(
!
isEdit
)
{
if
(
!
isEdit
)
{
if
(
this
.
props
.
fatherCode
)
{
if
(
this
.
props
.
fatherCode
)
{
dataColumn
.
base52
=
this
.
props
.
uuid
if
(
bindObj
!=
null
){
dataColumn
.
base52
=
bindObj
.
base52
}
else
{
dataColumn
.
base52
=
this
.
props
.
uuid
}
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论