|
|
|
@ -12,13 +12,18 @@ import { inputUnit,timeUnit,choiceUnit,switchUnit,orgUnit,checkboxUnit } from '@ |
|
|
|
import type { FormInstance, FormRules,ElNotification } from 'element-plus' |
|
|
|
import { gainFormPageListCont } from '@/api/DesignForm/requestapi' |
|
|
|
import { Picture,InfoFilled,QuestionFilled } from '@element-plus/icons-vue' |
|
|
|
|
|
|
|
import request from '@/utils/request'; |
|
|
|
import { softDeletion,retractRunWorkFlow } from '@/api/taskapi/management' |
|
|
|
|
|
|
|
|
|
|
|
//引入组件 |
|
|
|
import FormPageCont from '@/components/DesignForm/tableListPage/formPageCont.vue' |
|
|
|
import TableFlow from '@/views/sysworkflow/lowcodepage/pageFlow/tableFlow.vue' |
|
|
|
import TimeAxisPage from '@/components/DesignForm/app/timeAxis.vue' |
|
|
|
import CardPage from '@/components/DesignForm/app/cardPage.vue' |
|
|
|
import GanttPage from '@/components/DesignForm/app/gannttPage.vue' |
|
|
|
import MapPage from '@/components/DesignForm/app/mapPage.vue' |
|
|
|
import CalendarPage from '@/components/DesignForm/app/calendar/calendar1/calendarPage.vue' |
|
|
|
|
|
|
|
const props = withDefaults( |
|
|
|
defineProps<{ |
|
|
|
@ -104,6 +109,9 @@ const state = reactive({ |
|
|
|
columnsCheck: designStore.getColumnsCheck(route.path), |
|
|
|
currentNodeKey: '' |
|
|
|
}) |
|
|
|
|
|
|
|
const viewType = ref(1) |
|
|
|
const viewLayout = ref<any>() |
|
|
|
/** |
|
|
|
@ 作者: 秦东 |
|
|
|
@ 时间: 2024-03-28 16:03:12 |
|
|
|
@ -281,6 +289,18 @@ watch(()=>props.lookPageIsShow,(val:boolean)=>{ |
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
const timeAxisRef = ref(null) |
|
|
|
const calendarPageRef = ref(null) |
|
|
|
const searchSend = reactive({ |
|
|
|
formId:props.formId, |
|
|
|
page:state.currentPage, |
|
|
|
pagesize:state.pageSize, |
|
|
|
searchData:json2string(props.searchData), |
|
|
|
viewClass:{} |
|
|
|
}) |
|
|
|
|
|
|
|
let asfDetails = [] |
|
|
|
|
|
|
|
/** |
|
|
|
@ 作者: 秦东 |
|
|
|
@ 时间: 2024-04-01 15:51:32 |
|
|
|
@ -297,8 +317,74 @@ const getPageData = () => { |
|
|
|
console.log("获取列表详细信息",sendData) |
|
|
|
gainFormPageListCont(sendData) |
|
|
|
.then((data)=>{ |
|
|
|
console.log("获取列表详细信息----------------->",data) |
|
|
|
tableDataList.value = data.data.list |
|
|
|
|
|
|
|
//console.log("获取列表详细信息----------------->",data) |
|
|
|
//liwenxuan 关联表单数据获取 start |
|
|
|
|
|
|
|
let dataList = data |
|
|
|
//console.log(dataList) |
|
|
|
asfDetails = props.data.columns.filter((item: any) => { |
|
|
|
return item.fieldClass=="associatedForms" |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
if(asfDetails.length>0){ |
|
|
|
//console.log(data.data.list) |
|
|
|
//拼装参数,asf值对象数组 |
|
|
|
let asfQueryParams = [] |
|
|
|
for(let j = 0;j< asfDetails.length;j++){ |
|
|
|
let asfQueryParamsItem :any = {} |
|
|
|
//console.log(asfDetails[j]) |
|
|
|
asfQueryParamsItem.formId = asfDetails[j].control.formid |
|
|
|
asfQueryParamsItem.field = asfDetails[j].field |
|
|
|
|
|
|
|
let asfToSelectIds = [] |
|
|
|
for(let i = 0;i<data.data.list.length;i++){ |
|
|
|
let asfMasterAndAsfId:any = {} |
|
|
|
asfMasterAndAsfId.asfId = data.data.list[i][asfDetails[j].field] |
|
|
|
asfMasterAndAsfId.asfMasterId = data.data.list[i].id |
|
|
|
|
|
|
|
asfToSelectIds.push(asfMasterAndAsfId) |
|
|
|
} |
|
|
|
asfQueryParamsItem.asfToSelectIds = asfToSelectIds |
|
|
|
asfQueryParams.push(asfQueryParamsItem) |
|
|
|
} |
|
|
|
let queryCount = 0 |
|
|
|
for(let i = 0;i<asfQueryParams[0].asfToSelectIds.length;i++){ |
|
|
|
if(asfQueryParams[0].asfToSelectIds[i].asfId!=""){ |
|
|
|
queryCount++ |
|
|
|
} |
|
|
|
} |
|
|
|
//console.log(asfQueryParams) |
|
|
|
if(queryCount>0){ |
|
|
|
getAsfDataTitlesByIds(asfQueryParams).then(({ data }) => { |
|
|
|
//console.log(data) |
|
|
|
for(let i = 0;i<dataList.data.list.length; i++){ |
|
|
|
//console.log(dataList.data.list[i]) |
|
|
|
for(let j = 0;j<data.length;j++){ |
|
|
|
//console.log(data[j]) |
|
|
|
for(let n = 0;n<data[j].list.length;n++){ |
|
|
|
if(dataList.data.list[i].id==data[j].list[n].asfMasterId){ |
|
|
|
dataList.data.list[i][data[j].field] = data[j].list[n].label |
|
|
|
} |
|
|
|
//console.log(data[j].list[n]) |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
tableDataList.value = dataList.data.list |
|
|
|
|
|
|
|
}); |
|
|
|
}else{ |
|
|
|
tableDataList.value = data.data.list |
|
|
|
} |
|
|
|
|
|
|
|
}else{ |
|
|
|
tableDataList.value = data.data.list |
|
|
|
|
|
|
|
} |
|
|
|
//liwenxuan 关联表单数据获取 end |
|
|
|
state.total = data.data.total |
|
|
|
state.loading = false; |
|
|
|
}) |
|
|
|
@ -308,7 +394,20 @@ const getPageData = () => { |
|
|
|
} |
|
|
|
onMounted(()=>{ |
|
|
|
getPageData() |
|
|
|
nextTick(()=>{ |
|
|
|
drawerWith.value = container.value?.clientWidth |
|
|
|
}) |
|
|
|
}) |
|
|
|
//liwenxuan 关联表单数据获取 start |
|
|
|
function getAsfDataTitlesByIds(asfQueryParams: any[]) { |
|
|
|
return request({ |
|
|
|
url: '/javasys/lowCode/AssociatedForms/getAsfDataTitlesByIds', |
|
|
|
method: 'post', |
|
|
|
data: asfQueryParams, |
|
|
|
}); |
|
|
|
} |
|
|
|
//liwenxuan 关联表单数据获取 end |
|
|
|
|
|
|
|
/** |
|
|
|
@ 作者: 秦东 |
|
|
|
@ 时间: 2024-04-02 13:59:21 |
|
|
|
@ -448,10 +547,67 @@ const editFormSendFlow = (val:any) => { |
|
|
|
drawerWith.value = container.value?.clientWidth |
|
|
|
lookPageInfoIsShow.value = true; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@ 作者: 秦东 |
|
|
|
@ 时间: 2024-07-08 09:39:52 |
|
|
|
@ 功能: 切换视图展示方式 |
|
|
|
*/ |
|
|
|
const tabsView = (val:any,types:number) => { |
|
|
|
viewType.value = types |
|
|
|
val.isClick = true |
|
|
|
viewLayout.value = val |
|
|
|
console.log("切换视图展示方式",val) |
|
|
|
switch(types){ |
|
|
|
case 2: |
|
|
|
props.viewPage.list.isClick = false |
|
|
|
props.viewPage.time.isClick = false |
|
|
|
props.viewPage.gantt.isClick = false |
|
|
|
props.viewPage.map.isClick = false |
|
|
|
props.viewPage.card.isClick = false |
|
|
|
break; |
|
|
|
case 3: |
|
|
|
props.viewPage.list.isClick = false |
|
|
|
props.viewPage.date.isClick = false |
|
|
|
props.viewPage.gantt.isClick = false |
|
|
|
props.viewPage.map.isClick = false |
|
|
|
props.viewPage.card.isClick = false |
|
|
|
getPageData() |
|
|
|
break; |
|
|
|
case 4: |
|
|
|
props.viewPage.list.isClick = false |
|
|
|
props.viewPage.date.isClick = false |
|
|
|
props.viewPage.time.isClick = false |
|
|
|
props.viewPage.map.isClick = false |
|
|
|
props.viewPage.card.isClick = false |
|
|
|
break; |
|
|
|
case 5: |
|
|
|
props.viewPage.list.isClick = false |
|
|
|
props.viewPage.date.isClick = false |
|
|
|
props.viewPage.time.isClick = false |
|
|
|
props.viewPage.gantt.isClick = false |
|
|
|
props.viewPage.card.isClick = false |
|
|
|
break; |
|
|
|
case 6: |
|
|
|
props.viewPage.list.isClick = false |
|
|
|
props.viewPage.date.isClick = false |
|
|
|
props.viewPage.time.isClick = false |
|
|
|
props.viewPage.gantt.isClick = false |
|
|
|
props.viewPage.map.isClick = false |
|
|
|
break; |
|
|
|
default: |
|
|
|
props.viewPage.date.isClick = false |
|
|
|
props.viewPage.card.isClick = false |
|
|
|
props.viewPage.time.isClick = false |
|
|
|
props.viewPage.gantt.isClick = false |
|
|
|
props.viewPage.map.isClick = false |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
<template> |
|
|
|
<div ref="container" v-loading="state.loading" class="table-list-comm"> |
|
|
|
|
|
|
|
|
|
|
|
<el-row class="rowBox"> |
|
|
|
<el-col :span="24"> |
|
|
|
<el-form v-if="config.searchIsShow" ref="ruleSearchForm" class="seacherForm"> |
|
|
|
@ -548,7 +704,7 @@ const editFormSendFlow = (val:any) => { |
|
|
|
<div> |
|
|
|
<el-button-group class="ml-4"> |
|
|
|
<el-tooltip |
|
|
|
v-if="config.searchFormIsShow" |
|
|
|
v-if="viewPage.list.status" |
|
|
|
class="box-item" |
|
|
|
effect="dark" |
|
|
|
content="折叠查询表单" |
|
|
|
@ -563,7 +719,16 @@ const editFormSendFlow = (val:any) => { |
|
|
|
content="列表视图" |
|
|
|
placement="top" |
|
|
|
> |
|
|
|
<el-button size="small" class="fa fa-table" :color="viewPage.list.isClick?'#a0cfff':''" @click="tabsView(viewPage.list)" /> |
|
|
|
<el-button size="small" class="fa fa-table" :color="viewPage.list.isClick?'#a0cfff':''" @click="tabsView(viewPage.list,1)" /> |
|
|
|
</el-tooltip> |
|
|
|
<el-tooltip |
|
|
|
v-if="viewPage.card.status" |
|
|
|
class="box-item" |
|
|
|
effect="dark" |
|
|
|
content="卡片视图" |
|
|
|
placement="top" |
|
|
|
> |
|
|
|
<el-button size="small" class="fa fa-id-card-o" :color="viewPage.card.isClick?'#a0cfff':''" @click="tabsView(viewPage.card,6)" /> |
|
|
|
</el-tooltip> |
|
|
|
<el-tooltip |
|
|
|
v-if="viewPage.date.status" |
|
|
|
@ -572,7 +737,7 @@ const editFormSendFlow = (val:any) => { |
|
|
|
content="日历视图" |
|
|
|
placement="top" |
|
|
|
> |
|
|
|
<el-button size="small" class="fa fa-calendar" /> |
|
|
|
<el-button size="small" class="fa fa-calendar" :color="viewPage.date.isClick?'#a0cfff':''" @click="tabsView(viewPage.date,2)" /> |
|
|
|
</el-tooltip> |
|
|
|
<el-tooltip |
|
|
|
v-if="viewPage.time.status" |
|
|
|
@ -581,7 +746,7 @@ const editFormSendFlow = (val:any) => { |
|
|
|
content="时间轴" |
|
|
|
placement="top" |
|
|
|
> |
|
|
|
<el-button size="small" class="fa fa-clock-o" /> |
|
|
|
<el-button size="small" class="fa fa-clock-o" :color="viewPage.time.isClick?'#a0cfff':''" @click="tabsView(viewPage.time,3)" /> |
|
|
|
</el-tooltip> |
|
|
|
<el-tooltip |
|
|
|
v-if="viewPage.gantt.status" |
|
|
|
@ -590,7 +755,7 @@ const editFormSendFlow = (val:any) => { |
|
|
|
content="甘特图" |
|
|
|
placement="top" |
|
|
|
> |
|
|
|
<el-button size="small" class="fa fa-bar-chart" /> |
|
|
|
<el-button size="small" class="fa fa-bar-chart" :color="viewPage.gantt.isClick?'#a0cfff':''" @click="tabsView(viewPage.gantt,4)" /> |
|
|
|
</el-tooltip> |
|
|
|
<el-tooltip |
|
|
|
v-if="viewPage.map.status" |
|
|
|
@ -599,14 +764,14 @@ const editFormSendFlow = (val:any) => { |
|
|
|
content="地图视图" |
|
|
|
placement="top" |
|
|
|
> |
|
|
|
<el-button size="small" class="fa fa-map-signs" /> |
|
|
|
<el-button size="small" class="fa fa-map-signs" :color="viewPage.map.isClick?'#a0cfff':''" @click="tabsView(viewPage.map,5)" /> |
|
|
|
</el-tooltip> |
|
|
|
|
|
|
|
</el-button-group> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="24"> |
|
|
|
<el-col v-if="viewType==1" :span="24"> |
|
|
|
<el-table |
|
|
|
v-bind="data.tableProps" |
|
|
|
ref="table" |
|
|
|
@ -748,11 +913,22 @@ const editFormSendFlow = (val:any) => { |
|
|
|
<template v-if="item.fieldClass=='baidumap'" #default="scope"> |
|
|
|
{{scope.row[scope.column.property]}} |
|
|
|
</template> |
|
|
|
<template v-if="item.fieldClass=='associatedForms'" #default="scope"> |
|
|
|
<el-button |
|
|
|
key="primary" |
|
|
|
type="primary" |
|
|
|
link |
|
|
|
@click="console.log(item);console.log(scope)" |
|
|
|
> |
|
|
|
|
|
|
|
{{scope.row[scope.column.property]}} |
|
|
|
</el-button> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</template> |
|
|
|
</el-table> |
|
|
|
</el-col> |
|
|
|
<el-col v-if="state.total > 0" :span="24"> |
|
|
|
<el-col v-if="viewType==1&&state.total > 0" :span="24"> |
|
|
|
<div class="pageBox"> |
|
|
|
<el-pagination |
|
|
|
v-model:currentPage="state.currentPage" |
|
|
|
@ -765,6 +941,21 @@ const editFormSendFlow = (val:any) => { |
|
|
|
/> |
|
|
|
</div> |
|
|
|
</el-col> |
|
|
|
<el-col v-if="viewType==2" :span="24"> |
|
|
|
<CalendarPage ref="calendarPageRef" :search-send="searchSend" :body-hight="265" :drawer-with="drawerWith" /> |
|
|
|
</el-col> |
|
|
|
<el-col v-if="viewType==3" :span="24"> |
|
|
|
<TimeAxisPage ref="timeAxisRef" :data="tableDataList" :view-layout="viewLayout" :columns-filter="columnsFilter" :search-send="searchSend" :drawer-with="drawerWith" /> |
|
|
|
</el-col> |
|
|
|
<el-col v-if="viewType==4" :span="24"> |
|
|
|
<GanttPage ref="ganttPageRef" :search-send="searchSend" :drawer-with="drawerWith" :view-setup="viewPage" /> |
|
|
|
</el-col> |
|
|
|
<el-col v-if="viewType==5" :span="24"> |
|
|
|
<MapPage ref="mapPageRef" :search-send="searchSend" :drawer-with="drawerWith" :view-setup="viewPage" /> |
|
|
|
</el-col> |
|
|
|
<el-col v-if="viewType==6" :span="24"> |
|
|
|
<CardPage ref="cardPageRef" :search-send="searchSend" :drawer-with="drawerWith" :view-setup="viewPage" /> |
|
|
|
</el-col> |
|
|
|
<el-col :span="24" style="display:none"> |
|
|
|
|
|
|
|
{{ tableDataList}} |
|
|
|
|