Browse Source

修复整合低代码BUG

qin_v1
超级管理员 1 year ago
parent
commit
a1677723db
  1. 8
      src/api/DesignForm/requestapi.ts
  2. 3
      src/components/DesignForm/app/index.vue
  3. 5
      src/components/DesignForm/tableListPage/index.vue
  4. 316
      src/views/sysworkflow/lowcodepage/appCardPage.vue
  5. 271
      src/views/sysworkflow/lowcodepage/appListPage.vue
  6. 2
      src/views/sysworkflow/lowcodepage/appPage/appPageForm/appFlow/appFlowSee.vue
  7. 1
      src/views/sysworkflow/lowcodepage/appPage/appPageForm/pageFlow.vue
  8. 48
      src/views/sysworkflow/lowcodepage/index.vue
  9. 4
      src/views/sysworkflow/lowcodepage/newLowCode/appLayout/appContainer.vue
  10. 61
      src/views/sysworkflow/lowcodepage/newLowCode/appLayoutEdit/appContainerPage.vue
  11. 6
      src/views/sysworkflow/lowcodepage/runApp/index.vue
  12. 14
      src/views/sysworkflow/lowcodepage/runApp/regularPage.vue
  13. 10
      src/views/sysworkflow/lowcodepage/runApp/regularPage/completedMattersPage.vue
  14. 16
      src/views/sysworkflow/lowcodepage/runApp/regularPage/myCreate.vue
  15. 6
      src/views/sysworkflow/lowcodepage/runApp/regularPage/myDrafts.vue
  16. 10
      src/views/sysworkflow/lowcodepage/runApp/regularPage/myToDoPage.vue
  17. 10
      src/views/sysworkflow/lowcodepage/runApp/regularPage/sendCopy.vue

8
src/api/DesignForm/requestapi.ts

@ -581,3 +581,11 @@ export function multiViewPage(data: any) {
data: data
});
}
//编辑常用自定义App
export function setOftenApp(data: any) {
return request({
url: '/systemapi/customer_form/setOftenApp',
method: 'post',
data: data
});
}

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

@ -1057,7 +1057,7 @@ const tabsView = (val:any,types:number) => {
</el-button-group>
</template>
</el-table-column>
<el-table-column v-else :prop="item.field" :label="item.label" config="">
<el-table-column v-else :prop="item.field" :label="item.label" config="" min-width="220">
<template v-if="item.help" #header="scope">
{{ scope.column.label }}
<tooltip :content="item.help" />
@ -1237,6 +1237,7 @@ const tabsView = (val:any,types:number) => {
align-items: center;
justify-content: space-between;
margin-top:15px;
margin-bottom: 15px;
.operatLeft{
padding-bottom: 2px;
}

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

@ -863,7 +863,7 @@ const tabsView = (val:any,types:number) => {
</template>
<div class="group group-btn" v-if="searchData.length">
<el-button type="primary" @click="getPageData"><el-icon><Search /></el-icon></el-button>
<el-button type="primary" @click="getPageData"><el-icon><Search /></el-icon>1</el-button>
<el-button @click="resetFields(ruleSearchForm)"><el-icon><Refresh /></el-icon></el-button>
</div>
</el-form>
@ -1049,7 +1049,7 @@ const tabsView = (val:any,types:number) => {
</el-button-group>
</template>
</el-table-column>
<el-table-column v-else :prop="item.field" :label="item.label" config="">
<el-table-column v-else :prop="item.field" :label="item.label" config="" min-width="220">
<template v-if="item.help" #header="scope">
{{ scope.column.label }}
<tooltip :content="item.help" />
@ -1238,6 +1238,7 @@ const tabsView = (val:any,types:number) => {
align-items: center;
justify-content: space-between;
margin-top:15px;
margin-bottom:15px;
.operatLeft{
padding-bottom: 2px;
}

316
src/views/sysworkflow/lowcodepage/appCardPage.vue

@ -14,6 +14,7 @@ import { getCustomerFormList,editProductionFormStatus,appJwtPower,getFieldRecord
*/
import AppContainer from '@/views/sysworkflow/lowcodepage/newLowCode/appLayout/appContainer.vue'
import AppContainerPage from '@/views/sysworkflow/lowcodepage/newLowCode/appLayoutEdit/appContainerPage.vue' //
import LowCodeFormPage from "@/views/sysworkflow/lowcodepage/lowCodeFormPage.vue"
const props = defineProps({
searchQuery:{
@ -101,6 +102,25 @@ const editForm = (val:any) => {
*/
const eidtStatus = (val:any) => {
emits("getRongQiAttr")
ElMessageBox.confirm(
'请问是否真的删除?删除后数据将无法找回!',
'温馨提示!',
{
confirmButtonText: '删除',
cancelButtonText: '取消',
type: 'warning',
draggable: true,
}
)
.then(() => {
editProductionFormStatus({id:[val.id.toString()],status:3,is_delete:false})
.then(({data})=>{
getFormAppList(props.searchQuery);
})
})
.catch(() => {
getFormAppList(props.searchQuery);
})
}
/**
@ 作者: 秦东
@ -127,39 +147,255 @@ const openApp = (val:any) => {
defineExpose({
getFormAppList
})
/**
@ 作者: 秦东
@ 时间: 2024-07-23 15:27:51
@ 功能: 表单数据
*/
const state = reactive({
tableData: {
// tableProps: {}, //
columns: [],
config: {},
controlBtn:[],
operateBtn:[]
},
searchData: [],
loading: false,
attrObj: {},
config: {
pageSize:10,
searchIsShow:true,
searchFormIsShow:true,
openPageMode:"drawer"
},
tagList: {},
formId: props.formKey || '',
formList: [], //
name: '',
treeData: {}, //
previewVisible: false,
tabsName: 'second',
formFieldList: [], //
formApi:{
type:"1",
addApiUrl:"",
editApiUrl:"",
delApiUrl:"",
lookApiUrl:""
},
dict: {},
refreshTable: true,
view:{
list:{
status:true,
isClick:false,
form:{
sortWord:"",
sortClass:1
}
},
date:{
status:false,
isClick:false,
form:{
startTime:"",
endTime:"",
dayType:1
}
}
,
time:{
status:false,
isClick:false,
form:{
sortWord:"",
sort:1
}
}
,
gantt:{
status:false,
isClick:false,
form:{
startTime:"",
endTime:"",
dayType:2,
sortWord:"",
sort:1
}
}
,
map:{
status:false,
isClick:false,
form:{
mapWord:"",
sortWord:"",
sort:1
}
},
card:{
status:false,
isClick:false,
form:{
sort:1,
sortWord:"",
imgWork:"",
imgWidth:50,
imgHeight:50,
imgBorderRadius:5,
imgPadding:2,
titleWork:"",
describe:"",
ranks:3
}
}
}
})
const lookPageIsShow = ref(false)
const versionTitle = ref<string>("") //
const versionId = ref<string>("") //
const formId = ref<string>("")
const addFormIsShow = ref(false)
/**
@ 作者: 秦东
@ 时间: 2024-04-01 14:32:18
@ 功能: 查看表单列表
*/
const lookFormList = (val:any) => {
emits('getRongQiAttr')
console.log("查看表单列表aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", val)
lookPageIsShow.value = true
state.formId = val.idStr
versionId.value = val.versionId
versionTitle.value = val.name
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){
console.log(stateData.tableData.columns[i])
let paramx:string = ""+stateData.tableData.columns[i].control.optionsValue3Field
/*
在这里请求后台获取字段
*/
getFieldRecord(paramx).then(({ data }) => {
stateData.tableData.columns[i].options = data
if(stateData.searchData.length>0){
for(let j = 0;j<stateData.searchData.length;j++){
console.log(stateData.searchData[j])
if(stateData.searchData[j].id==stateData.tableData.columns[i].id){
stateData.searchData[j].options = data
}
}
}
})
}
}
}
state.tableData = stateData.tableData
state.searchData = stateData.searchData
state.loading = stateData.loading
state.attrObj = stateData.attrObj
state.config = stateData.config
state.tagList = stateData.tagList
state.formList = stateData.formList
state.name = stateData.name
state.treeData = stateData.treeData
state.previewVisible = stateData.previewVisible
state.formFieldList = stateData.formFieldList
state.formApi = stateData.formApi
state.dict = stateData.dict
state.refreshTable = stateData.refreshTable
}
/**
@ 作者: 秦东
@ 时间: 2024-03-21 10:57:11
@ 功能: 编辑表单
*/
const editFormApp = (val:any) => {
emits('getRongQiAttr')
formId.value = val.id.toString()
addFormIsShow.value= true
console.log("编辑表单",val.id,"-",formId.value,"-",addFormIsShow.value)
}
/**
@ 作者: 秦东
@ 时间: 2024-03-09 09:06:44
@ 功能: 刷新页面
*/
const refreshPage = (pageType:string) =>{
addFormIsShow.value = false;
getFormAppList(props.searchQuery);
}
</script>
<template>
<div>
<div v-loading="loadingApp" class="content1 flex flex-wrap gap-4">
<el-card v-for="item in contList" :key="item.id" class="cardBox">
<template #header>
<el-dropdown>
<span class="el-dropdown-link">
<el-icon><MoreFilled /></el-icon>
</span>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item @click="editForm(item)" >编辑</el-dropdown-item>
<el-dropdown-item @click="eidtStatus(item)" divided>删除</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</template>
<div class="cardContBox" @click="openApp(item)">
<el-image
style="width: 100px; height: 100px"
:src="item.icon?item.icon:'https://docu.hxgk.group/images/2024_04/482167d1bf2b75a5717bcf68e18235f7.png'"
:zoom-rate="1.2"
:max-scale="7"
:min-scale="0.2"
:initial-index="4"
fit="cover"
/>
<div class="cardInfo" :style="'width: calc(100% - 100px); height: 100px; overflow: hidden;' ">
<div class="title">{{item.name}}</div>
<div class="content">{{item.describe}}</div>
<template #header>
<el-dropdown v-if="item.classify==3">
<span class="el-dropdown-link">
<el-icon><MoreFilled /></el-icon>
</span>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item @click="editForm(item)" >编辑</el-dropdown-item>
<el-dropdown-item @click="eidtStatus(item)" divided>删除</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
<el-dropdown v-else>
<span class="el-dropdown-link">
<el-icon><MoreFilled /></el-icon>
</span>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item @click="editFormApp(item)" >编辑</el-dropdown-item>
<el-dropdown-item @click="eidtStatus(item)" divided>删除</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</template>
<div v-if="item.classify==3" class="cardContBox" @click="openApp(item)">
<el-image
style="width: 100px; height: 100px"
:src="item.icon?item.icon:'https://docu.hxgk.group/images/2024_04/482167d1bf2b75a5717bcf68e18235f7.png'"
:zoom-rate="1.2"
:max-scale="7"
:min-scale="0.2"
:initial-index="4"
fit="cover"
/>
<div class="cardInfo" :style="'width: calc(100% - 100px); height: 100px; overflow: hidden;' ">
<div class="title">{{item.name}}</div>
<div class="content">{{item.describe}}</div>
</div>
</div>
<div v-else class="cardContBox" @click="lookFormList(item)">
<el-image
style="width: 100px; height: 100px"
:src="item.icon?item.icon:'https://docu.hxgk.group/images/2024_04/482167d1bf2b75a5717bcf68e18235f7.png'"
:zoom-rate="1.2"
:max-scale="7"
:min-scale="0.2"
:initial-index="4"
fit="cover"
/>
<div class="cardInfo" :style="'width: calc(100% - 100px); height: 100px; overflow: hidden;' ">
<div class="title">{{item.name}}</div>
<div class="content">{{item.describe}}</div>
</div>
</div>
</div>
</el-card>
</div>
@ -168,8 +404,30 @@ defineExpose({
v-model:page-size="props.searchQuery.pagesize"
:total="pageTotal" @current-change="handleCurrentChange" />
</div>
<AppContainer v-model:run-is-open="runIsOpen" :pick-app-info="pickAppInfo" :drawer-with="drawerWith" :search-query="props.searchQuery" @refreshPage="getFormAppList" />
<AppContainerPage v-model:edit-is-open="editIsOpen" :pick-app-info="pickAppInfo" :drawer-with="drawerWith" :search-query="props.searchQuery" @refreshPage="getFormAppList" />
<AppContainer v-model:run-is-open="runIsOpen" :pick-app-info="pickAppInfo" :drawer-with="props.drawerWith" :search-query="props.searchQuery" @refreshPage="getFormAppList" />
<AppContainerPage v-model:edit-is-open="editIsOpen" :pick-app-info="pickAppInfo" :drawer-with="props.drawerWith" :search-query="props.searchQuery" @refreshPage="getFormAppList" />
<el-drawer
v-model="lookPageIsShow"
title="列表预览"
direction="rtl"
:before-close="handlePreviewClose"
:size="props.drawerWith"
>
<ak-page-list
:data="state.tableData"
:search-data="state.searchData"
:config="state.config"
:form-id="state.formId"
:versionid="versionId"
:viewPage="state.view"
:versiontitle="versionTitle"
v-model:look-page-is-show="lookPageIsShow"
/>
</el-drawer>
<LowCodeFormPage v-if="addFormIsShow" :drawer-with="props.drawerWith" v-model:form-key="formId" @refreshPage="refreshPage" />
</div>
</template>
<style lang='scss' scoped>

271
src/views/sysworkflow/lowcodepage/appListPage.vue

@ -5,7 +5,7 @@
-->
<script lang='ts' setup>
import { customerFormCont } from "@/api/DesignForm/type";
import { getCustomerFormList,editProductionFormStatus,appJwtPower,getFieldRecord } from '@/api/DesignForm/requestapi'
import { getCustomerFormList,editProductionFormStatus,appJwtPower,getFieldRecord,setOftenApp } from '@/api/DesignForm/requestapi'
import {
ArrowLeft,
ArrowRight,
@ -15,7 +15,11 @@ import {
View,
Star
} from '@element-plus/icons-vue'
import RunApplication from "@/views/sysworkflow/lowcodepage/runApp/index.vue"
//
import AppContainer from '@/views/sysworkflow/lowcodepage/newLowCode/appLayout/appContainer.vue'
import AppContainerPage from '@/views/sysworkflow/lowcodepage/newLowCode/appLayoutEdit/appContainerPage.vue' //
import LowCodeFormPage from "@/views/sysworkflow/lowcodepage/lowCodeFormPage.vue"
const props = defineProps({
searchQuery:{
@ -81,8 +85,17 @@ watch(()=>props.appGroup,()=>{
@ 时间: 2024-07-22 16:16:31
@ 功能: 删除表单
*/
const confirmToDelete = (val:customerFormCont) => {
const delFormApp = (val:customerFormCont) => {
console.log("确定删除表单---->", val);
loadingApp.value = true
editProductionFormStatus({id:[val.id.toString()],status:3,is_delete:false})
.then(({data})=>{
loadingApp.value = false
getFormAppList(props.searchQuery)
})
.finally(() => {
loadingApp.value = false
})
}
@ -109,12 +122,227 @@ const lookAppList = (val:any) => {
}
})
}
/**
@ 作者: 秦东
@ 时间: 2024-07-22 09:57:45
@ 功能: 编辑应用
*/
const editIsOpen = ref(false)
const appKey = ref<string>("")
const editForm = (val:any) => {
emits("getRongQiAttr")
pickAppInfo.value = val
editIsOpen.value = true;
}
/**
@ 作者: 秦东
@ 时间: 2024-07-23 15:27:51
@ 功能: 表单数据
*/
const state = reactive({
tableData: {
// tableProps: {}, //
columns: [],
config: {},
controlBtn:[],
operateBtn:[]
},
searchData: [],
loading: false,
attrObj: {},
config: {
pageSize:10,
searchIsShow:true,
searchFormIsShow:true,
openPageMode:"drawer"
},
tagList: {},
formId: props.formKey || '',
formList: [], //
name: '',
treeData: {}, //
previewVisible: false,
tabsName: 'second',
formFieldList: [], //
formApi:{
type:"1",
addApiUrl:"",
editApiUrl:"",
delApiUrl:"",
lookApiUrl:""
},
dict: {},
refreshTable: true,
view:{
list:{
status:true,
isClick:false,
form:{
sortWord:"",
sortClass:1
}
},
date:{
status:false,
isClick:false,
form:{
startTime:"",
endTime:"",
dayType:1
}
}
,
time:{
status:false,
isClick:false,
form:{
sortWord:"",
sort:1
}
}
,
gantt:{
status:false,
isClick:false,
form:{
startTime:"",
endTime:"",
dayType:2,
sortWord:"",
sort:1
}
}
,
map:{
status:false,
isClick:false,
form:{
mapWord:"",
sortWord:"",
sort:1
}
},
card:{
status:false,
isClick:false,
form:{
sort:1,
sortWord:"",
imgWork:"",
imgWidth:50,
imgHeight:50,
imgBorderRadius:5,
imgPadding:2,
titleWork:"",
describe:"",
ranks:3
}
}
}
})
const lookPageIsShow = ref(false)
const versionTitle = ref<string>("") //
const versionId = ref<string>("") //
const formId = ref<string>("")
const addFormIsShow = ref(false)
/**
@ 作者: 秦东
@ 时间: 2024-04-01 14:32:18
@ 功能: 查看表单列表
*/
const lookFormList = (val:any) => {
emits('getRongQiAttr')
console.log("查看表单列表aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", val)
lookPageIsShow.value = true
state.formId = val.idStr
versionId.value = val.versionId
versionTitle.value = val.name
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){
console.log(stateData.tableData.columns[i])
let paramx:string = ""+stateData.tableData.columns[i].control.optionsValue3Field
/*
在这里请求后台获取字段
*/
getFieldRecord(paramx).then(({ data }) => {
stateData.tableData.columns[i].options = data
if(stateData.searchData.length>0){
for(let j = 0;j<stateData.searchData.length;j++){
console.log(stateData.searchData[j])
if(stateData.searchData[j].id==stateData.tableData.columns[i].id){
stateData.searchData[j].options = data
}
}
}
})
}
}
}
state.tableData = stateData.tableData
state.searchData = stateData.searchData
state.loading = stateData.loading
state.attrObj = stateData.attrObj
state.config = stateData.config
state.tagList = stateData.tagList
state.formList = stateData.formList
state.name = stateData.name
state.treeData = stateData.treeData
state.previewVisible = stateData.previewVisible
state.formFieldList = stateData.formFieldList
state.formApi = stateData.formApi
state.dict = stateData.dict
state.refreshTable = stateData.refreshTable
}
/**
@ 作者: 秦东
@ 时间: 2024-03-21 10:57:11
@ 功能: 编辑表单
*/
const editFormApp = (val:any) => {
emits('getRongQiAttr')
formId.value = val.id.toString()
addFormIsShow.value= true
console.log("编辑表单",val.id,"-",formId.value,"-",addFormIsShow.value)
}
/**
@ 作者: 秦东
@ 时间: 2024-03-09 09:06:44
@ 功能: 刷新页面
*/
const refreshPage = (pageType:string) =>{
addFormIsShow.value = false;
getFormAppList(props.searchQuery);
}
/**
@ 作者: 秦东
@ 时间: 2024-07-23 16:29:51
@ 功能: 设置常用与非常用
*/
const setOften = (val:any) => {
setOftenApp({id:val.signCodeStr})
.then(({data}) =>{
getFormAppList(props.searchQuery);
});
}
defineExpose({
getFormAppList
})
</script>
<template>
<div class="listBody">
<el-table :data="contList" border class="tableBox">
<el-table v-loading="loadingApp" :data="contList" border class="tableBox">
<el-table-column fixed label="封面" width="80" align="center">
<template #default="scope">
<el-image
@ -157,19 +385,19 @@ const lookAppList = (val:any) => {
<template #default="scope">
<el-button-group v-if="scope.row.classify==3" class="ml-4">
<el-button size="small" title="查看" :icon="View" @click="lookAppList(scope.row)" />
<el-button size="small" title="设为常用" :icon="Star" />
<el-button size="small" title="编辑" type="success" :icon="Edit" />
<el-button size="small" title="设为常用" :icon="Star" :color="scope.row.isoften?'#FF0000':''" @click="setOften(scope.row)" />
<el-button size="small" title="编辑" type="success" :icon="Edit" @click="editForm(scope.row)" />
<el-popconfirm title="请问是否真的删除?删除后数据将无法找回!" @confirm="confirmToDelete(scope.row)">
<el-popconfirm title="请问是否真的删除?删除后数据将无法找回!" @confirm="delFormApp(scope.row)">
<template #reference>
<el-button size="small" title="删除" type="danger" :icon="Delete" />
</template>
</el-popconfirm>
</el-button-group>
<el-button-group v-else class="ml-4">
<el-button size="small" title="查看" :icon="View" />
<el-button size="small" title="编辑" type="success" :icon="Edit" />
<el-popconfirm title="请问是否真的删除?删除后数据将无法找回!" @confirm="confirmToDelete(scope.row)">
<el-button size="small" title="查看" :icon="View" @click="lookFormList(scope.row)" />
<el-button size="small" title="编辑" type="success" :icon="Edit" @click="editFormApp(scope.row)" />
<el-popconfirm title="请问是否真的删除?删除后数据将无法找回!" @confirm="delFormApp(scope.row)">
<template #reference>
<el-button size="small" title="删除" type="danger" :icon="Delete" />
</template>
@ -184,7 +412,28 @@ const lookAppList = (val:any) => {
:total="pageTotal" @current-change="handleCurrentChange" />
</div>
<RunApplication v-model:run-is-open="runIsOpen" :pick-app-info="pickAppInfo" :drawer-with="props.drawerWith" @refreshPage="getFormAppList"/>
<AppContainer v-model:run-is-open="runIsOpen" :pick-app-info="pickAppInfo" :drawer-with="props.drawerWith" :search-query="props.searchQuery" @refreshPage="getFormAppList" />
<AppContainerPage v-model:edit-is-open="editIsOpen" :pick-app-info="pickAppInfo" :drawer-with="props.drawerWith" :search-query="props.searchQuery" @refreshPage="getFormAppList" />
<el-drawer
v-model="lookPageIsShow"
title="列表预览"
direction="rtl"
:before-close="handlePreviewClose"
:size="props.drawerWith"
>
<ak-page-list
:data="state.tableData"
:search-data="state.searchData"
:config="state.config"
:form-id="state.formId"
:versionid="versionId"
:viewPage="state.view"
:versiontitle="versionTitle"
v-model:look-page-is-show="lookPageIsShow"
/>
</el-drawer>
<LowCodeFormPage v-if="addFormIsShow" :drawer-with="props.drawerWith" v-model:form-key="formId" @refreshPage="refreshPage" />
</div>
</template>
<style lang='scss' scoped>

2
src/views/sysworkflow/lowcodepage/appPage/appPageForm/appFlow/appFlowSee.vue

@ -32,7 +32,7 @@ const zoomSize = (type:number) => {
};
</script>
<template>
<div class="design_flow_work">{{props.appFlowInfo}}
<div class="design_flow_work">
<section class="dingflow-design" style="top:95px">
<div class="zoom">
<div class="zoom-out" :class="nowVal == 50 && 'disabled'" @click="zoomSize(1)"></div>

1
src/views/sysworkflow/lowcodepage/appPage/appPageForm/pageFlow.vue

@ -4,6 +4,7 @@
@ 备注: 表单流程
-->
<script lang='ts' setup>
import '@/styles/workflowcss/workflow.scss'
import { useStore } from '@/store/workflow/index'
import { flowversion } from '@/api/workflowapi/types'
import { initializeWorkFlow,setWorkFlowData,gainFlowVersionList,saveFlowCont,gainFlowInfo,editFlowCont,saveNewFlow,switchFlowVersion,judgeFormFlowIsOpen,openFormFlow } from '@/api/workflowapi/index'

48
src/views/sysworkflow/lowcodepage/index.vue

@ -16,6 +16,7 @@ import AppListPage from "@/views/sysworkflow/lowcodepage/appListPage.vue"
const contbody = ref() //
const carPage = ref()
const appListPage = ref()
const appGroup = ref("1")
const page = ref<number>(1) //
const pageSize = ref<number>(12000) //
@ -48,7 +49,7 @@ const gainFormGroup = () => {
groupFormList.value = data.data.list
if(data.data.list&&data.data.list.length > 0){
data.data.list.forEach((item,index)=>{
if(index == 0){
if(item.isTrue){
appGroup.value = item.idStr.toString()
}
})
@ -88,6 +89,8 @@ const handleCurrentChange = (val:any) => {}
const searchSub = () =>{
if(isClick.value == 1){
carPage.value.getFormAppList(searchQuery)
}else{
appListPage.value.getFormAppList(searchQuery)
}
}
/**
@ -166,28 +169,29 @@ const getRongQiAttr = () => {
border-left : 1px solid #ccc;
}
}
::v-deep(.el-tabs){
height: 63px;
width: calc(100% - 300px);
}
::v-deep(.el-tabs__nav){
height: 63px;
font-size: 16px;
}
::v-deep(.el-tabs__item){
margin-top: 15px;
font-size: 16px;
}
::v-deep(.el-tabs__nav-prev){
line-height:0px;
margin-top:30px;
}
::v-deep(.el-tabs__nav-next){
line-height:0px;
margin-top:30px;
}
}
::v-deep(.el-tabs){
height: 63px;
width: calc(100% - 300px);
}
::v-deep(.el-tabs__nav){
height: 63px;
font-size: 16px;
}
::v-deep(.el-tabs__item){
margin-top: 15px;
font-size: 16px;
}
::v-deep(.el-tabs__nav-prev){
line-height:0px;
margin-top:30px;
}
::v-deep(.el-tabs__nav-next){
line-height:0px;
margin-top:30px;
}
.el-dropdown-link{
font-size:30px;
margin-top: 20px;

4
src/views/sysworkflow/lowcodepage/newLowCode/appLayout/appContainer.vue

@ -187,8 +187,8 @@ const openAppPage = (val:any) =>{
</el-tree>
</el-aside>
<el-main class="mainBox">
<RegularPage v-if="switchPAge==1" :pick-app-menu="pickAppMenu" />
<RunAppForm v-else :pick-app-menu="pickAppMenu" />
<RegularPage v-if="switchPAge==1" :pick-app-menu="pickAppMenu" :drawer-with="props.drawerWith" />
<RunAppForm v-else :pick-app-menu="pickAppMenu" :drawer-with="props.drawerWith" />
</el-main>
</el-container>
</el-container>

61
src/views/sysworkflow/lowcodepage/newLowCode/appLayoutEdit/appContainerPage.vue

@ -7,8 +7,13 @@
import { appMenuTreeInfo,appSetInfo } from "@/api/date/type"
import { gainAppEditPsge } from '@/api/DesignForm/requestapi'
import SvgIcon from "@/components/SvgIcon/index.vue";
import AppMenus from "@/views/sysworkflow/lowcodepage/appPage/appMenus.vue"
import AppMenuGroup from "@/views/sysworkflow/lowcodepage/appPage/appMenuGroup.vue"
import CreateAppFormPage from "@/views/sysworkflow/lowcodepage/appPage/createAppFormPage.vue"
import OpenAppFormPage from "@/views/sysworkflow/lowcodepage/appPage/appPageForm/openAppFormPage.vue"
import AppSetUp from "@/views/sysworkflow/lowcodepage/appPage/appSetUp/index.vue"
import ReleaseApp from '@/views/sysworkflow/lowcodepage/appPage/releaseApp/index.vue'
const props = defineProps({
drawerWith:{
@ -35,6 +40,10 @@ const props = defineProps({
const emits = defineEmits(["update:editIsOpen","refreshPage"]);
const tabsActive = ref(1)
const menusTree = ref<appMenuTreeInfo[]>([]) //
const checkedMenu = ref<appMenuTreeInfo>("")
const appPageKey = ref<string>("") //AppId
const isNew = ref(false)
const saveAppFormIsShow = ref(false)
/**
@ 作者: 秦东
@ 时间: 2024-07-22 11:40:06
@ -83,6 +92,40 @@ const closeAppDraw = () =>{
props.formKey=""
isNew.value = false
}
/**
@ 作者: 秦东
@ 时间: 2024-05-18 09:00:00
@ 功能: 操作表单页面
*/
const openAppPageForm = (val:appMenuTreeInfo) => {
checkedMenu.value = val
}
/**
@ 作者: 秦东
@ 时间: 2024-05-20 13:27:37
@ 功能: 编辑app页面
*/
const editAppInfo = (id:string) => {
appPageKey.value = id
saveAppFormIsShow.value = true
isNew.value = false
}
/**
@ 作者: 秦东
@ 时间: 2024-04-19 15:47:12
@ 功能: 选择选项
*/
const handleClick = () =>{}
/**
@ 作者: 秦东
@ 时间: 2024-07-23 14:49:15
@ 功能: 创建页面
*/
const addAppPageForm = (key?:string) => {
saveAppFormIsShow.value = true
isNew.value = true
console.log("新建-->")
}
</script>
<template>
<el-drawer v-model="props.editIsOpen" :with-header="false" :close-on-click-modal="false" :close-on-press-escape="false" :destroy-on-close="true" :size="props.drawerWith">
@ -116,7 +159,7 @@ const closeAppDraw = () =>{
</el-button-group>
</div>
</el-header>
<el-container>
<el-container v-show="tabsActive==1">
<el-aside class="asideBox">
<el-row>
<el-col :span="24" class="asideBoxSearch">
@ -169,10 +212,24 @@ const closeAppDraw = () =>{
</el-scrollbar>
</el-aside>
<el-main>Main</el-main>
<el-main class="mainBox">
<el-scrollbar class="scroBox">
<OpenAppFormPage ref="openAppPageInit" :form-Key="props.formKey" :group-key="props.groupKey" :app-cont="appCont" :drawer-with="props.drawerWith" :menus-info="checkedMenu" @editAppInfo="editAppInfo" />
</el-scrollbar>
</el-main>
</el-container>
<el-container v-if="tabsActive==2">
集成与自动化
</el-container>
<el-container v-if="tabsActive==3">
<AppSetUp :app-cont="appCont" :group-key="props.groupKey" />
</el-container>
<el-container v-if="tabsActive==4">
<ReleaseApp :app-cont="appCont" :group-key="props.groupKey" />
</el-container>
</el-container>
</div>
<AppMenuGroup v-model:is-show="menuGroupShow" :menu-parent-key="menuParentKey" :app-cont="appCont" @updateMenu="gainAppContent" />
</el-drawer>
</template>
<style lang='scss' scoped>

6
src/views/sysworkflow/lowcodepage/runApp/index.vue

@ -179,9 +179,9 @@ const openAppPage = (val:appMenuTreeInfo) => {
</template>
</el-tree>
</el-aside>
<el-main class="mainBox">
<RegularPage v-if="switchPAge==1" :pick-app-menu="pickAppMenu" />
<RunAppForm v-else :pick-app-menu="pickAppMenu" />
<el-main class="mainBox">
<RegularPage v-if="switchPAge==1" :pick-app-menu="pickAppMenu" :drawer-with="props.drawerWith" />
<RunAppForm v-else :pick-app-menu="pickAppMenu" :drawer-with="props.drawerWith" />
</el-main>
</el-container>
</el-container>

14
src/views/sysworkflow/lowcodepage/runApp/regularPage.vue

@ -20,6 +20,10 @@ const props = defineProps({
default(){
return {}
}
},
drawerWith:{
type:Number,
default:0
}
});
const loadingTd = ref(false)
@ -49,11 +53,11 @@ const resetQueryTd = () =>{
</script>
<template>
<el-scrollbar class="scroBox">
<MyToDoPage v-if="props.pickAppMenu.isMain==1" :pick-app-menu="pickAppMenu" />
<CompletedMattersPage v-if="props.pickAppMenu.isMain==2" :pick-app-menu="pickAppMenu" />
<SendCopy v-if="props.pickAppMenu.isMain==3" :pick-app-menu="pickAppMenu" />
<MyCreate v-if="props.pickAppMenu.isMain==4" :pick-app-menu="pickAppMenu" />
<MyDrafts v-if="props.pickAppMenu.isMain==5" :pick-app-menu="pickAppMenu" />
<MyToDoPage v-if="props.pickAppMenu.isMain==1" :pick-app-menu="pickAppMenu" :drawer-with="props.drawerWith" />
<CompletedMattersPage v-if="props.pickAppMenu.isMain==2" :pick-app-menu="pickAppMenu" :drawer-with="props.drawerWith" />
<SendCopy v-if="props.pickAppMenu.isMain==3" :pick-app-menu="pickAppMenu" :drawer-with="props.drawerWith" />
<MyCreate v-if="props.pickAppMenu.isMain==4" :pick-app-menu="pickAppMenu" :drawer-with="props.drawerWith" />
<MyDrafts v-if="props.pickAppMenu.isMain==5" :pick-app-menu="pickAppMenu" :drawer-with="props.drawerWith" />
</el-scrollbar>
</template>
<style lang='scss' scoped>

10
src/views/sysworkflow/lowcodepage/runApp/regularPage/completedMattersPage.vue

@ -12,6 +12,10 @@ const props = defineProps({
default(){
return {}
}
},
drawerWith:{
type:Number,
default:0
}
});
const selectInfo = reactive<taskflowquery>({
@ -99,12 +103,12 @@ const searchQuery = () =>{}
class="table_box"
>
<el-table-column fixed label="标题" prop="title" width="500" />
<el-table-column label="创建人" prop="creater" >
<el-table-column label="创建人" prop="creater" width="150" align="center" >
<template #default="scope">
{{ scope.row.creatorInfo.name }}<el-text type="info">{{ scope.row.creatorInfo.number }}</el-text>
</template>
</el-table-column>
<el-table-column label="发起日期" prop="startDate" align="center" width="300" />
<el-table-column label="发起日期" prop="startDate" align="center" min-width="200" />
<el-table-column label="状态" prop="status" align="center" width="220" >
<template #default="scope">
@ -155,7 +159,7 @@ const searchQuery = () =>{}
</template>
</el-table-column>
<el-table-column label="当前节点及操作人" prop="currentStep" width="400" >
<el-table-column label="当前节点及操作人" prop="currentStep" width="200" >
<template #default="scope">
<el-text v-if="scope.row.currentNodeName" type="success">{{ scope.row.currentNodeName }}:</el-text><el-text v-for="(item,index) in scope.row.currentNodeUser" :key="index" type="warning">{{ item.name }}({{ item.number }})</el-text>
</template>

16
src/views/sysworkflow/lowcodepage/runApp/regularPage/myCreate.vue

@ -17,6 +17,10 @@ const props = defineProps({
default(){
return {}
}
},
drawerWith:{
type:Number,
default:0
}
});
@ -206,13 +210,13 @@ const searchQuery = () =>{}
class="table_box"
>
<el-table-column fixed label="标题" prop="title" width="500" />
<el-table-column label="创建人" prop="creater" width="200">
<el-table-column label="创建人" prop="creater" width="200" align="center">
<template #default="scope">
{{ scope.row.createrInfo.name }}<el-text type="info">{{ scope.row.createrInfo.number }}</el-text>
</template>
</el-table-column>
<el-table-column label="发起日期" prop="createrTimeStr" align="center" width="300" />
<el-table-column label="状态" prop="status" align="center" width="220" >
<el-table-column label="发起日期" prop="createrTimeStr" align="center" min-width="200" />
<el-table-column label="状态" prop="status" align="center" width="100" >
<template #default="scope">
@ -272,7 +276,7 @@ const searchQuery = () =>{}
</template>
</el-table-column>
<el-table-column label="任务性质" prop="currentStep" width="200" align="center">
<el-table-column label="任务性质" prop="currentStep" width="130" align="center">
<template #default="scope">
<el-tag
v-if="scope.row.types==1"
@ -385,9 +389,9 @@ const searchQuery = () =>{}
<FormPageCont v-model:is-show="lookPageInfoIsShow" :drawer-with="drawerWith" :page-info="pageInfoCont" :table-page-class="tablePageClass" :oper-state="operState" @getPageData="getToDoList" />
<FormPageCont v-model:is-show="lookPageInfoIsShow" :drawer-with="props.drawerWith" :page-info="pageInfoCont" :table-page-class="tablePageClass" :oper-state="operState" @getPageData="getToDoList" />
<TableFlow v-model:isopen="openTaskDrawer" :versionid="props.versionid" :versiontitle="props.versiontitle" :drawerwith="drawerWith" :pick-app-menu="pickAppMenu" @searchquery="getListData" />
<TableFlow v-model:isopen="openTaskDrawer" :versionid="props.versionid" :versiontitle="props.versiontitle" :drawerwith="props.drawerWith" :pick-app-menu="pickAppMenu" @searchquery="getListData" />

6
src/views/sysworkflow/lowcodepage/runApp/regularPage/myDrafts.vue

@ -16,6 +16,10 @@ const props = defineProps({
default(){
return {}
}
},
drawerWith:{
type:Number,
default:0
}
});
@ -140,7 +144,7 @@ const searchQuery = () =>{}
{{ scope.row.createrInfo.name }}<el-text type="info">{{ scope.row.createrInfo.number }}</el-text>
</template>
</el-table-column>
<el-table-column label="发起日期" prop="createrTimeStr" align="center" width="200" />
<el-table-column label="发起日期" prop="createrTimeStr" align="center" min-width="200" />
<el-table-column label="状态" prop="status" align="center" width="100" >
<template #default="scope">

10
src/views/sysworkflow/lowcodepage/runApp/regularPage/myToDoPage.vue

@ -16,6 +16,10 @@ const props = defineProps({
default(){
return {}
}
},
drawerWith:{
type:Number,
default:0
}
});
const loadingTd = ref(false)
@ -84,7 +88,7 @@ const searchQuery = () =>{}
</script>
<template>
<div ref="myappbox" class="app_box">
<LookAndOperateLogInfo v-if="darwOpenOrClose" v-model:isshow="darwOpenOrClose" :flow-log-info="flowLogInfo" :drawer-with="drawerMyWith" @getmytodolist="getToDoListTd" />
<LookAndOperateLogInfo v-if="darwOpenOrClose" v-model:isshow="darwOpenOrClose" :flow-log-info="flowLogInfo" :drawer-with="props.drawerWith" @getmytodolist="getToDoListTd" />
<div class="app-container">
<div class="search">
<div class="titleBox">
@ -121,7 +125,7 @@ const searchQuery = () =>{}
{{ scope.row.creatorInfo.name }}<el-text type="info">{{ scope.row.creatorInfo.number }}</el-text>
</template>
</el-table-column>
<el-table-column label="发起日期" prop="startDate" align="center" width="200" />
<el-table-column label="发起日期" prop="startDate" align="center" min-width="200" />
<el-table-column label="状态" prop="status" align="center" width="120" >
<template #default="scope">
@ -171,7 +175,7 @@ const searchQuery = () =>{}
</el-tag>
</template>
</el-table-column>
<el-table-column label="当前节点及操作人" prop="currentStep" >
<el-table-column label="当前节点及操作人" prop="currentStep" width="200" >
<template #default="scope">
<el-text v-if="scope.row.currentNodeName" type="success">{{ scope.row.currentNodeName }}:</el-text><el-text v-for="(item,index) in scope.row.currentNodeUser" :key="index" type="warning">{{ item.name }}({{ item.number }})</el-text>
</template>

10
src/views/sysworkflow/lowcodepage/runApp/regularPage/sendCopy.vue

@ -12,6 +12,10 @@ const props = defineProps({
default(){
return {}
}
},
drawerWith:{
type:Number,
default:0
}
});
const selectInfo = reactive<taskflowquery>({
@ -95,12 +99,12 @@ const searchQuery = () =>{}
class="table_box"
>
<el-table-column fixed label="标题" prop="title" width="500" />
<el-table-column label="创建人" prop="creater" >
<el-table-column label="创建人" prop="creater" width="200" >
<template #default="scope">
{{ scope.row.creatorInfo.name }}<el-text type="info">{{ scope.row.creatorInfo.number }}</el-text>
</template>
</el-table-column>
<el-table-column label="发起日期" prop="startDate" align="center" width="300" />
<el-table-column label="发起日期" prop="startDate" align="center" min-width="200" />
<el-table-column label="状态" prop="status" align="center" width="220" >
<template #default="scope">
@ -151,7 +155,7 @@ const searchQuery = () =>{}
</template>
</el-table-column>
<el-table-column label="当前节点及操作人" prop="currentStep" width="400" >
<el-table-column label="当前节点及操作人" prop="currentStep" width="300" >
<template #default="scope">
<el-text v-if="scope.row.currentNodeName" type="success">{{ scope.row.currentNodeName }}:</el-text><el-text v-for="(item,index) in scope.row.currentNodeUser" :key="index" type="warning">{{ item.name }}({{ item.number }})</el-text>
</template>

Loading…
Cancel
Save