|
@@ -1,7 +1,7 @@
|
|
|
-import React, { Fragment, useState } from 'react'
|
|
|
+import React, { Fragment } from 'react'
|
|
|
import { zipItemAction, sectionItemAction, judgeItemAction, transferItemAction } from './ListState'
|
|
|
import Item from '../../components/item'
|
|
|
-import GDialog from '../../components/Dialog'
|
|
|
+import Dialog from '../../components/Dialog'
|
|
|
import styles from './index.module.css'
|
|
|
|
|
|
const JUDGEING = 1, JUGESUCCESS = 2, JUGEERR = 3
|
|
@@ -9,11 +9,9 @@ const SECTIONING = 4, SECTIONSUCCESS = 5, SECTIONEERR = 6
|
|
|
const TRANING = 7, TRANSUCCESS = 8, TRANEERR = 9
|
|
|
const ZIPING = 10, ZIPSUCCESS = 11, ZIPEERR = 12
|
|
|
const TRANSFERING = 13, TRANSFERSUCCESS = 14, TRANSFEREERR = 15
|
|
|
-const node = document.querySelector('#dialog')
|
|
|
-const Dialog = (props: any) => <GDialog node={node} {...props} />
|
|
|
|
|
|
|
|
|
-export default function Grent({ setItemStaus, modelDispatch, referData, delHandle, api, region, showDialog, setShowDialog }: any) {
|
|
|
+export default function Grent({ setItemStaus, modelDispatch, referData, delHandle, api, region }: any) {
|
|
|
let [text, setText] = ['', (dom: HTMLInputElement) => { text = dom.value }]
|
|
|
let [min, setMin] = ['9', (dom: HTMLInputElement) => {
|
|
|
let i = Number(dom.value)
|
|
@@ -24,7 +22,7 @@ export default function Grent({ setItemStaus, modelDispatch, referData, delHandl
|
|
|
min = dom.value
|
|
|
}
|
|
|
}]
|
|
|
- let [max, setMax] = ['20', (dom: HTMLInputElement) => {
|
|
|
+ let [max, setMax] = ['17', (dom: HTMLInputElement) => {
|
|
|
let i = Number(dom.value)
|
|
|
let imi = Number(min)
|
|
|
if (isNaN(i) || (imi && i < imi) || i < 9 || i > 20) {
|
|
@@ -101,64 +99,89 @@ export default function Grent({ setItemStaus, modelDispatch, referData, delHandl
|
|
|
});
|
|
|
}
|
|
|
|
|
|
- const ItemFn = (model: Model, privItem: Function | void) => {
|
|
|
- let Zip: any = <b onClick={() => zipHandle(model)} style={{ cursor: 'pointer', color: '#3e7cd3' }}>解压</b>
|
|
|
- let Sect: any = <b onClick={() => section(model)} style={{ cursor: 'pointer', color: '#3e7cd3' }}>切片</b>
|
|
|
- let Jude: any = <b onClick={() => judge(model)} style={{ cursor: 'pointer', color: '#3e7cd3' }}>判断</b>
|
|
|
- let Tran: any = <b onClick={() => transform(model)} style={{ cursor: 'pointer', color: '#3e7cd3' }}>转geojson</b>
|
|
|
- let Tf: any = (
|
|
|
- <Fragment>
|
|
|
- <Dialog title="服务发布" show={showDialog} stateChange={(enter: boolean) => { setShowDialog(false); enter && transfer(model) }}>
|
|
|
- <div className={styles.dialogitem}>
|
|
|
- <label>发布参数</label>
|
|
|
- <input type="text" defaultValue={text} onChange={ev => setText(ev.target)} placeholder="发布参数" />
|
|
|
- </div>
|
|
|
- </Dialog>
|
|
|
- <b style={{ cursor: 'pointer', color: '#3e7cd3' }} onClick={() => setShowDialog(true)}>发布</b>
|
|
|
- </Fragment>
|
|
|
- )
|
|
|
-
|
|
|
- if (region) {
|
|
|
- Sect = (
|
|
|
+ class ItemFn extends React.Component<any, any> {
|
|
|
+ constructor(props: any) {
|
|
|
+ super(props)
|
|
|
+ this.state = {
|
|
|
+ showDialog: false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ setShowDialog = (b: any) => {
|
|
|
+ this.setState({showDialog: b})
|
|
|
+ }
|
|
|
+ render() {
|
|
|
+ let {model, privItem} = this.props
|
|
|
+ let Zip: any = <b onClick={() => zipHandle(model)} style={{ cursor: 'pointer', color: '#3e7cd3' }}>解压</b>
|
|
|
+ let Sect: any = <b onClick={() => section(model)} style={{ cursor: 'pointer', color: '#3e7cd3' }}>切片</b>
|
|
|
+ let Jude: any = <b onClick={() => judge(model)} style={{ cursor: 'pointer', color: '#3e7cd3' }}>判断</b>
|
|
|
+ let Tran: any = <b onClick={() => transform(model)} style={{ cursor: 'pointer', color: '#3e7cd3' }}>转geojson</b>
|
|
|
+ let Tf: any = (
|
|
|
<Fragment>
|
|
|
- <Dialog title="数据切片" show={showDialog} stateChange={(enter: boolean) => { setShowDialog(false); enter && section(model) }}>
|
|
|
- <div className={styles.dialogitem + ' ' + styles.min}>
|
|
|
- <label>层级设置</label>
|
|
|
- <input type="text" defaultValue={min} onBlur={ev => setMin(ev.target)} placeholder="最小层级" />
|
|
|
- <input type="text" defaultValue={max} onBlur={ev => setMax(ev.target)} placeholder="最大层级" />
|
|
|
+ <Dialog title="服务发布" show={this.state.showDialog} stateChange={(enter: boolean) => { this.setShowDialog(false); enter && transfer(model) }}>
|
|
|
+ <div className={styles.dialogitem}>
|
|
|
+ <label>图层名称</label>
|
|
|
+ <input type="text" defaultValue={text} onChange={ev => setText(ev.target)} placeholder="图层名称" />
|
|
|
</div>
|
|
|
</Dialog>
|
|
|
- <b style={{ cursor: 'pointer', color: '#3e7cd3' }} onClick={() => setShowDialog(true)}>切片</b>
|
|
|
+ <b style={{ cursor: 'pointer', color: '#3e7cd3' }} onClick={() => this.setShowDialog(true)}>发布</b>
|
|
|
</Fragment>
|
|
|
)
|
|
|
- }
|
|
|
|
|
|
- Zip = model.ajaxStatue === ZIPING ? '解压中…' : model.ajaxStatue === ZIPSUCCESS ? '成功解压' : Zip
|
|
|
- Sect = model.ajaxStatue === SECTIONING ? '切片中…' : model.ajaxStatue === SECTIONSUCCESS ? '成功切片' : Sect
|
|
|
- Jude = model.ajaxStatue === JUDGEING ? '判断中…' : model.ajaxStatue === JUGESUCCESS ? '成功判断' : Jude
|
|
|
- Tran = model.ajaxStatue === TRANING ? '转换中…' : model.ajaxStatue === TRANSUCCESS ? '成功转换' : Tran
|
|
|
- Tf = model.ajaxStatue === TRANSFERING ? '移动中…' : model.ajaxStatue === TRANSFEREERR ? '成功移动' : Tf
|
|
|
-
|
|
|
- if (model.status === 9) {
|
|
|
- Jude = '判断中…'
|
|
|
- }
|
|
|
- return (
|
|
|
- <Item key={model.id} {...model} >
|
|
|
- {() => (
|
|
|
+ if (region) {
|
|
|
+ Sect = (
|
|
|
<Fragment>
|
|
|
- {api.zip && (model.status === 1 && Zip)}
|
|
|
- {api.judge && ((model.status === 2 || model.status === 9) && Jude)}
|
|
|
- {api.transform && ((model.status === 3 || model.status === 7) && Tran)}
|
|
|
- {api.section && (model.status === 4 && Sect)}
|
|
|
- {api.transfer && ((model.status === 5 || model.status === 10) && Tf)}
|
|
|
- {privItem && privItem(model)}
|
|
|
- <b onClick={() => delHandle(model)} style={{ cursor: 'pointer', color: '#f46579' }}>删除</b>
|
|
|
+ <Dialog title="数据切片" show={this.state.showDialog} stateChange={(enter: boolean) => { this.setShowDialog(false); enter && section(model) }}>
|
|
|
+ <div className={styles.dialogitem + ' ' + styles.min}>
|
|
|
+ <label>层级设置</label>
|
|
|
+ <input type="text" defaultValue={min} onBlur={ev => setMin(ev.target)} placeholder="最小层级" />
|
|
|
+ <input type="text" defaultValue={max} onBlur={ev => setMax(ev.target)} placeholder="最大层级" />
|
|
|
+ </div>
|
|
|
+ </Dialog>
|
|
|
+ <b style={{ cursor: 'pointer', color: '#3e7cd3' }} onClick={() => this.setShowDialog(true)}>切片</b>
|
|
|
</Fragment>
|
|
|
- )}
|
|
|
- </Item>
|
|
|
- )
|
|
|
- }
|
|
|
+ )
|
|
|
+ }
|
|
|
|
|
|
+ Zip = model.ajaxStatue === ZIPING ? '解压中…' : model.ajaxStatue === ZIPSUCCESS ? '成功解压' : Zip
|
|
|
+ Sect = model.ajaxStatue === SECTIONING ? '切片中…' : model.ajaxStatue === SECTIONSUCCESS ? '成功切片' : Sect
|
|
|
+ Jude = model.ajaxStatue === JUDGEING ? '判断中…' : model.ajaxStatue === JUGESUCCESS ? '成功判断' : Jude
|
|
|
+ Tran = model.ajaxStatue === TRANING ? '转换中…' : model.ajaxStatue === TRANSUCCESS ? '成功转换' : Tran
|
|
|
+ Tf = model.ajaxStatue === TRANSFERING ? '发布中…' : model.ajaxStatue === TRANSFEREERR ? '成功发布' : Tf
|
|
|
+
|
|
|
+ if (model.status === 9) {
|
|
|
+ Jude = '判断中…'
|
|
|
+ }
|
|
|
+
|
|
|
+ if (model.status === 6) {
|
|
|
+ Sect = '切片中…'
|
|
|
+ }
|
|
|
+
|
|
|
+ if (model.status === 13) {
|
|
|
+ Tf = '发布中…'
|
|
|
+ }
|
|
|
+
|
|
|
+ return (
|
|
|
+ <Item key={model.id} {...model} >
|
|
|
+ {() => (
|
|
|
+ <Fragment>
|
|
|
+ {api.zip && (model.status === 1 && Zip)}
|
|
|
+ {api.judge && ((model.status === 2 || model.status === 9) && Jude)}
|
|
|
+ {api.transform && ((model.status === 3 || model.status === 7) && Tran)}
|
|
|
+ {api.section && (model.status === 4 && Sect)}
|
|
|
+ {api.transfer && ((model.status === 5 || model.status === 10) && Tf)}
|
|
|
+ {privItem && privItem(model)}
|
|
|
+ {(
|
|
|
+ model.state === 9 || model.status === 6 || model.status === 13 ||
|
|
|
+ model.ajaxStatue === ZIPING || model.ajaxStatue === SECTIONING ||
|
|
|
+ model.ajaxStatue === JUDGEING || model.ajaxStatue === TRANING ||
|
|
|
+ model.ajaxStatue === TRANSFERING) ? '' : <b onClick={() => delHandle(model)} style={{ cursor: 'pointer', color: '#f46579' }}>删除</b>
|
|
|
+ }
|
|
|
+ </Fragment>
|
|
|
+ )}
|
|
|
+ </Item>
|
|
|
+ )
|
|
|
+ }
|
|
|
+ }
|
|
|
return {
|
|
|
ItemFn,
|
|
|
text
|