calvin
1 year ago
committed by
GitHub
147 changed files with 1825 additions and 1360 deletions
@ -0,0 +1,87 @@ |
|||||||
|
/* |
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one or more |
||||||
|
* contributor license agreements. See the NOTICE file distributed with |
||||||
|
* this work for additional information regarding copyright ownership. |
||||||
|
* The ASF licenses this file to You under the Apache License, Version 2.0 |
||||||
|
* (the "License"); you may not use this file except in compliance with |
||||||
|
* the License. You may obtain a copy of the License at |
||||||
|
* |
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* |
||||||
|
* Unless required by applicable law or agreed to in writing, software |
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
* See the License for the specific language governing permissions and |
||||||
|
* limitations under the License. |
||||||
|
*/ |
||||||
|
|
||||||
|
import { SearchOutlined } from '@vicons/antd' |
||||||
|
import { NButton, NSelect, NIcon, NSpace, NEllipsis } from 'naive-ui' |
||||||
|
import { defineComponent, h, ref } from 'vue' |
||||||
|
import { queryProcessDefinitionList } from '@/service/modules/process-definition' |
||||||
|
import { SelectMixedOption } from 'naive-ui/lib/select/src/interface' |
||||||
|
import { Router, useRouter } from 'vue-router' |
||||||
|
|
||||||
|
export default defineComponent({ |
||||||
|
name: 'TimingCondition', |
||||||
|
emits: ['handleSearch'], |
||||||
|
setup(props, ctx) { |
||||||
|
const router: Router = useRouter() |
||||||
|
|
||||||
|
const projectCode = ref( |
||||||
|
Number(router.currentRoute.value.params.projectCode) |
||||||
|
) |
||||||
|
const processDefineCodeRef = router.currentRoute.value.query |
||||||
|
.processDefineCode |
||||||
|
? ref(Number(router.currentRoute.value.query.processDefineCode)) |
||||||
|
: ref() |
||||||
|
|
||||||
|
const processDefinitionOptions = ref<Array<SelectMixedOption>>([]) |
||||||
|
|
||||||
|
const initProcessList = (code: number) => { |
||||||
|
queryProcessDefinitionList(code).then((result: any) => { |
||||||
|
result.map((item: { code: number; name: string }) => { |
||||||
|
const option: SelectMixedOption = { |
||||||
|
value: item.code, |
||||||
|
label: () => h(NEllipsis, null, item.name), |
||||||
|
filterLabel: item.name |
||||||
|
} |
||||||
|
processDefinitionOptions.value.push(option) |
||||||
|
}) |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
initProcessList(projectCode.value) |
||||||
|
|
||||||
|
const handleSearch = () => { |
||||||
|
ctx.emit('handleSearch', { |
||||||
|
processDefinitionCode: processDefineCodeRef.value |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
return { |
||||||
|
handleSearch, |
||||||
|
processDefinitionOptions, |
||||||
|
processDefineCodeRef |
||||||
|
} |
||||||
|
}, |
||||||
|
render() { |
||||||
|
return ( |
||||||
|
<NSpace justify='end'> |
||||||
|
<NSelect |
||||||
|
clearable |
||||||
|
filterable |
||||||
|
options={this.processDefinitionOptions} |
||||||
|
size='small' |
||||||
|
style={{ width: '310px' }} |
||||||
|
v-model:value={this.processDefineCodeRef} |
||||||
|
/> |
||||||
|
<NButton type='primary' size='small' onClick={this.handleSearch}> |
||||||
|
<NIcon> |
||||||
|
<SearchOutlined /> |
||||||
|
</NIcon> |
||||||
|
</NButton> |
||||||
|
</NSpace> |
||||||
|
) |
||||||
|
} |
||||||
|
}) |
@ -0,0 +1,116 @@ |
|||||||
|
/* |
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one or more |
||||||
|
* contributor license agreements. See the NOTICE file distributed with |
||||||
|
* this work for additional information regarding copyright ownership. |
||||||
|
* The ASF licenses this file to You under the Apache License, Version 2.0 |
||||||
|
* (the "License"); you may not use this file except in compliance with |
||||||
|
* the License. You may obtain a copy of the License at |
||||||
|
* |
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* |
||||||
|
* Unless required by applicable law or agreed to in writing, software |
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
* See the License for the specific language governing permissions and |
||||||
|
* limitations under the License. |
||||||
|
*/ |
||||||
|
|
||||||
|
import { NDataTable, NPagination, NSpace } from 'naive-ui' |
||||||
|
import { defineComponent, onMounted, toRefs, watch } from 'vue' |
||||||
|
import { useI18n } from 'vue-i18n' |
||||||
|
import { useTable } from '../definition/timing/use-table' |
||||||
|
import Card from '@/components/card' |
||||||
|
import TimingModal from '../definition/components/timing-modal' |
||||||
|
import TimingCondition from '@/views/projects/workflow/timing/components/timing-condition' |
||||||
|
import { ITimingSearch } from '@/views/projects/workflow/timing/types' |
||||||
|
|
||||||
|
export default defineComponent({ |
||||||
|
name: 'WorkflowTimingList', |
||||||
|
setup() { |
||||||
|
const { variables, createColumns, getTableData } = useTable() |
||||||
|
|
||||||
|
const requestData = () => { |
||||||
|
getTableData({ |
||||||
|
pageSize: variables.pageSize, |
||||||
|
pageNo: variables.page, |
||||||
|
searchVal: variables.searchVal, |
||||||
|
projectCode: variables.projectCode, |
||||||
|
processDefinitionCode: variables.processDefinitionCode |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
const handleUpdateList = () => { |
||||||
|
requestData() |
||||||
|
} |
||||||
|
|
||||||
|
const handleSearch = (params: ITimingSearch) => { |
||||||
|
variables.processDefinitionCode = params.processDefinitionCode |
||||||
|
variables.page = 1 |
||||||
|
requestData() |
||||||
|
} |
||||||
|
|
||||||
|
const handleChangePageSize = () => { |
||||||
|
variables.page = 1 |
||||||
|
requestData() |
||||||
|
} |
||||||
|
|
||||||
|
onMounted(() => { |
||||||
|
createColumns(variables) |
||||||
|
requestData() |
||||||
|
}) |
||||||
|
|
||||||
|
watch(useI18n().locale, () => { |
||||||
|
createColumns(variables) |
||||||
|
}) |
||||||
|
|
||||||
|
return { |
||||||
|
requestData, |
||||||
|
handleSearch, |
||||||
|
handleUpdateList, |
||||||
|
handleChangePageSize, |
||||||
|
...toRefs(variables) |
||||||
|
} |
||||||
|
}, |
||||||
|
render() { |
||||||
|
const { t } = useI18n() |
||||||
|
const { loadingRef } = this |
||||||
|
|
||||||
|
return ( |
||||||
|
<NSpace vertical> |
||||||
|
<Card> |
||||||
|
<TimingCondition onHandleSearch={this.handleSearch} /> |
||||||
|
</Card> |
||||||
|
<Card title={t('project.workflow.cron_manage')}> |
||||||
|
<NSpace vertical> |
||||||
|
<NDataTable |
||||||
|
loading={loadingRef} |
||||||
|
columns={this.columns} |
||||||
|
data={this.tableData} |
||||||
|
striped |
||||||
|
size={'small'} |
||||||
|
scrollX={this.tableWidth} |
||||||
|
/> |
||||||
|
<NSpace justify='center'> |
||||||
|
<NPagination |
||||||
|
v-model:page={this.page} |
||||||
|
v-model:page-size={this.pageSize} |
||||||
|
page-count={this.totalPage} |
||||||
|
show-size-picker |
||||||
|
page-sizes={[10, 30, 50]} |
||||||
|
show-quick-jumper |
||||||
|
onUpdatePage={this.requestData} |
||||||
|
onUpdatePageSize={this.handleChangePageSize} |
||||||
|
/> |
||||||
|
</NSpace> |
||||||
|
</NSpace> |
||||||
|
</Card> |
||||||
|
<TimingModal |
||||||
|
type={'update'} |
||||||
|
v-model:row={this.row} |
||||||
|
v-model:show={this.showRef} |
||||||
|
onUpdateList={this.handleUpdateList} |
||||||
|
/> |
||||||
|
</NSpace> |
||||||
|
) |
||||||
|
} |
||||||
|
}) |
@ -0,0 +1,22 @@ |
|||||||
|
/* |
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one or more |
||||||
|
* contributor license agreements. See the NOTICE file distributed with |
||||||
|
* this work for additional information regarding copyright ownership. |
||||||
|
* The ASF licenses this file to You under the Apache License, Version 2.0 |
||||||
|
* (the "License"); you may not use this file except in compliance with |
||||||
|
* the License. You may obtain a copy of the License at |
||||||
|
* |
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* |
||||||
|
* Unless required by applicable law or agreed to in writing, software |
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
* See the License for the specific language governing permissions and |
||||||
|
* limitations under the License. |
||||||
|
*/ |
||||||
|
|
||||||
|
interface ITimingSearch { |
||||||
|
processDefinitionCode: number |
||||||
|
} |
||||||
|
|
||||||
|
export { ITimingSearch } |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue