Browse Source

关联表单App列表展示

lwx_15
liwenxuan 1 year ago
parent
commit
7928f37f6c
  1. 1
      src/api/DesignForm/tableButton.ts
  2. 87
      src/components/DesignForm/app/index.vue
  3. 85
      src/components/DesignForm/tableListPage/index.vue
  4. 4
      src/views/sysworkflow/lowcodepage/appFormList.vue
  5. 10
      src/views/sysworkflow/lowcodepage/appPage/appPageForm/openAppFormPage.vue
  6. 12
      src/views/sysworkflow/lowcodepage/runApp/runAppForm.vue

1
src/api/DesignForm/tableButton.ts

@ -1,4 +1,5 @@
export interface tableButton {
control: any;
id?: string;
name?: string;
field?: string;

87
src/components/DesignForm/app/index.vue

@ -1,7 +1,7 @@
<!--
@ 作者: 秦东
@ 时间: 2024-06-03 13:23:59
@ 备注: App表单列表
@ 备注: App表单列表1
-->
<script lang='ts' setup>
import { json2string,objToStringify,string2json,stringToObj } from '@/utils/DesignForm/form'
@ -12,7 +12,7 @@ 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'
@ -271,6 +271,7 @@ const handleSizeChange = (page: number) => {
const handleCurrentChange = (page: number) => {
getListData(page)
}
/**
@ 作者: 秦东
@ 时间: 2024-04-01 14:15:16
@ -302,7 +303,7 @@ const searchSend = reactive({
pagesize:state.pageSize,
searchData:json2string(props.searchData)
})
let asfDetails = []
/**
@ 作者: 秦东
@ 时间: 2024-04-01 15:51:32
@ -338,7 +339,65 @@ const getPageData = () => {
gainFormPageListCont(searchSend)
.then((data)=>{
console.log("获取列表详细信息----------------->",data)
tableDataList.value = data.data.list
//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)
}
console.log(asfQueryParams)
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
}
//tableDataList.value = data.data.list
//liwenxuan end
state.total = data.data.total
state.loading = false;
})
@ -347,6 +406,15 @@ const getPageData = () => {
})
}
}
//liwenxuan start
function getAsfDataTitlesByIds(asfQueryParams: any[]) {
return request({
url: '/javasys/lowCode/AssociatedForms/getAsfDataTitlesByIds',
method: 'post',
data: asfQueryParams,
});
}
//liwenxuan end
onMounted(()=>{
getPageData()
})
@ -839,6 +907,17 @@ const tabsView = (val:any,types:number) => {
<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>

85
src/components/DesignForm/tableListPage/index.vue

@ -12,7 +12,7 @@ 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'
@ -280,6 +280,7 @@ watch(()=>props.lookPageIsShow,(val:boolean)=>{
}
})
let asfDetails = []
/**
@ 作者: 秦东
@ -297,8 +298,63 @@ 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)
}
//console.log(asfQueryParams)
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
}
//liwenxuan end
state.total = data.data.total
state.loading = false;
})
@ -309,6 +365,16 @@ const getPageData = () => {
onMounted(()=>{
getPageData()
})
//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
@ -554,7 +620,7 @@ const editFormSendFlow = (val:any) => {
content="折叠查询表单"
placement="bottom"
>
<el-button size="small" @click="config.searchIsShow=!config.searchIsShow" class="fa fa-search" />
<!-- <el-button size="small" @click="config.searchIsShow=!config.searchIsShow" class="fa fa-search" /> -->
</el-tooltip>
<el-tooltip
v-if="viewPage.list.status"
@ -748,6 +814,17 @@ 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>

4
src/views/sysworkflow/lowcodepage/appFormList.vue

@ -165,7 +165,7 @@ const closeAppPage = () =>{
*/
const lookFormList = (val:any) => {
emits('getRongQiAttr')
console.log("查看表单列表", val)
console.log("查看表单列表aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", val)
lookPageIsShow.value = true
state.formId = val.idStr
@ -175,7 +175,7 @@ const lookFormList = (val:any) => {
let stateData = string2json(val.listjson)
console.log(val.listjson)
console.log("查看表单列表---->",stateData)
//let holeControlAndConfigStateData = string2json(data.data.appForm.mastesformjson)
if(stateData.tableData.columns.length>0){
for(let i = 0;i<stateData.tableData.columns.length;i++){
if(stateData.tableData.columns[i].config!=undefined && stateData.tableData.columns[i].control!=undefined){

10
src/views/sysworkflow/lowcodepage/appPage/appPageForm/openAppFormPage.vue

@ -165,10 +165,18 @@ const gainAppFormPageInit = () =>{
versionTitle.value = data.data.appForm.name
if(data.data.pageList){
let stateData = string2json(data.data.appForm.listjson)
let holeControlAndConfigStateData = string2json(data.data.appForm.mastesformjson)
if(stateData.tableData.columns.length>0){
for(let i = 0;i<stateData.tableData.columns.length;i++){
for(let u = 0;u<holeControlAndConfigStateData.list.length;u++){
if(stateData.tableData.columns[i].id==holeControlAndConfigStateData.list[u].name){
stateData.tableData.columns[i].control = holeControlAndConfigStateData.list[u].control
stateData.tableData.columns[i].config = holeControlAndConfigStateData.list[u].config
}
}
if(stateData.tableData.columns[i].config!=undefined && stateData.tableData.columns[i].control!=undefined){
//console.log(stateData.tableData.columns[i])
let paramx:string = ""+stateData.tableData.columns[i].control.optionsValue3Field

12
src/views/sysworkflow/lowcodepage/runApp/runAppForm.vue

@ -149,7 +149,7 @@ const initLoadData = () => {
appFormTitle.value = props.pickAppMenu.label
gainAppPageInfo({id:props.pickAppMenu.id})
.then((data)=>{
console.log("获取初始化表单数据",data)
console.log("获取初始化表单数据bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",data)
appInitData.value = data.data
console.log("获取初始化表单数据---!",appInitData.value)
mastesformjson.value = data.data.appForm.mastesformjson
@ -171,8 +171,18 @@ const initLoadData = () => {
versionTitle.value = data.data.appForm.name
if(data.data.pageList){
let stateData = string2json(data.data.appForm.listjson)
let holeControlAndConfigStateData = string2json(data.data.appForm.mastesformjson)
if(stateData.tableData.columns.length>0){
for(let i = 0;i<stateData.tableData.columns.length;i++){
for(let u = 0;u<holeControlAndConfigStateData.list.length;u++){
if(stateData.tableData.columns[i].id==holeControlAndConfigStateData.list[u].name){
stateData.tableData.columns[i].control = holeControlAndConfigStateData.list[u].control
stateData.tableData.columns[i].config = holeControlAndConfigStateData.list[u].config
}
}
if(stateData.tableData.columns[i].config!=undefined && stateData.tableData.columns[i].control!=undefined){
console.log(stateData.tableData.columns[i])
let paramx:string = ""+stateData.tableData.columns[i].control.optionsValue3Field

Loading…
Cancel
Save