Browse Source

修改

qin_18
herenshan112 1 day ago
parent
commit
1cc14d8a1b
  1. 2
      src/api/lowCode/form/type.ts
  2. 20
      src/api/workFlow/type.ts
  3. 77
      src/components/lowCode/assistant/cascader.vue
  4. 105
      src/components/lowCode/assistant/checkboxPage.vue
  5. 2
      src/components/lowCode/assistant/colorPickerPage.vue
  6. 88
      src/components/lowCode/assistant/digitpage.vue
  7. 130
      src/components/lowCode/assistant/inputPage.vue
  8. 14
      src/components/lowCode/assistant/lowcodeImage.vue
  9. 64
      src/components/lowCode/assistant/orgCitys.vue
  10. 106
      src/components/lowCode/assistant/radioPage.vue
  11. 101
      src/components/lowCode/assistant/selectPage.vue
  12. 88
      src/components/lowCode/assistant/textareaPage.vue
  13. 5
      src/components/lowCode/assistant/timePickerPage.vue
  14. 65
      src/components/lowCode/assistant/uploadPage.vue
  15. 122
      src/components/lowCode/formItem.vue
  16. 120
      src/components/lowCode/newFormItem.vue
  17. 9
      src/views/formTable/page/cardPageNew.vue
  18. 69
      src/views/formTable/taskListPage.vue

2
src/api/lowCode/form/type.ts

@ -54,7 +54,7 @@ export interface tableFormStruct {
openPageMode:string
},
tagList: Object,
formId: string;
formId: string|any;
formList: any[], // 所有可选表单数据源
name: string,
treeData: Object, // 左侧树相关

20
src/api/workFlow/type.ts

@ -93,3 +93,23 @@ export interface appFormInfo{
version: number;
visibility: number;
}
//节点赋权
export interface nodePoweInfo {
nodeKey:string;
powerAry:powerAryInfo[];
apiSetup?:apiSetupInfo
}
//节点福泉结构体
export interface powerAryInfo{
id:string;
isEdit:boolean;
isLook:boolean;
name:string;
status?:number
}
//节点福泉补充
export interface apiSetupInfo{
library?:any[];
title?:any[];
}

77
src/components/lowCode/assistant/cascader.vue

@ -4,6 +4,9 @@
@ 备注: 级联选择器
-->
<script lang='ts' setup>
import { FormList } from '@/api/lowCode/form/type';
import { nodePoweInfo,powerAryInfo } from '@/api/workFlow/type'
const props = withDefaults(
defineProps<{
modelValue?: string
@ -13,8 +16,8 @@ const props = withDefaults(
fileList?: Object
control?: Object
config?: Object
data?: Object
options?: Object
data?: FormList
options?: any
types?: number
}>(),
{}
@ -49,7 +52,7 @@ const handleChange = () => {
@ 时间: 2025-06-11 09:06:05
@ 功能: 获取值
*/
const valPrint = (val:string,orgList:any[]) => {
const valPrint = (val:string,orgList:any) => {
let title = treeData(orgList)
let nameAry = new Array
console.log("递归查询-2--->",val,title)
@ -105,7 +108,7 @@ interface TreeNodeInfo {
label: string;
}
function treeData(node: TreeNode[],title: TreeNodeInfo[]){
function treeData(node: TreeNode[],title?: TreeNodeInfo[]){
// let title = new Array
if(Array.isArray(node)){
@ -135,12 +138,76 @@ function treeData(node: TreeNode[],title: TreeNodeInfo[]){
return title;
}
//
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
const data = computed(() => {
return props.data || {name:""}
})
</script>
<template>
<el-cascader
v-if="props.types!=3"
v-if="props.types!=3&&judgeIsShow(data.name)"
v-model="value"
:options="props.options"
:disabled="judgeIsEdit(data.name)"
@change="handleChange"
/>
<el-text v-else class="wordColor">{{valPrint(value,props.options)}}</el-text>

105
src/components/lowCode/assistant/checkboxPage.vue

@ -5,10 +5,13 @@
-->
<script lang='ts' setup>
import { AnalysisCss,AnalysisInputCss } from '@/api/common/cssInfo'
import { FormList } from '@/api/lowCode/form/type';
import {
formatNumber,
constFormProps
constFormProps,
constGetControlByName
} from '@/api/lowCode/utils';
import { nodePoweInfo,powerAryInfo } from '@/api/workFlow/type'
const props = withDefaults(
defineProps<{
data: FormList
@ -67,13 +70,73 @@ const getFormItemInputStyle = (ele: any,sty:number) => {
return AnalysisInputCss(ele?.inputStyle,sty)
}
}
//
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
/**
@ 作者: 秦东
@ 时间: 2024-07-27 15:11:42
@ 功能: 判断是否禁用
*/
const judgeIsDisabled = (key:string) => {
return false
// return false
if (type.value === 3) {
return true //
}
@ -83,32 +146,20 @@ const judgeIsDisabled = (key:string) => {
if (type.value === 2 && config.value.editDisabled) {
return true //
}
if(props.nodeKey != undefined && props.purview != undefined && props.purview != null && props.purview != null && props.purview != "" && props.purview != "") {
if(props.purview.length < 1){
return false;
}else{
let isShow = true;
props.purview.forEach((item)=>{
if(item.nodeKey == props.nodeKey){
if(item.powerAry && item.powerAry.length > 0){
item.powerAry.forEach((itm)=>{
if(itm.id == key){
console.log("判断此组件是否禁用",itm,itm.id == key,"--------->",itm.isLook)
isShow = !itm.isEdit
}
})
}
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isShow
}
return isOk
}else{
return false;
return false
}
}
const getControlByName = inject(constGetControlByName) as any
/****input slot处理***/
const getInputSlot = (key?: string) => {
const slot = key === 'p' ? config.value.prepend : config.value.append
@ -142,7 +193,7 @@ const transformOption = (val: string | number, type?: string) => {
@ 时间: 2025-06-10 11:13:06
@ 功能: 输出结果
*/
const valPrint = (val:any[],orgList:any[]) => {
const valPrint = (val:any[],orgList:any) => {
let title = new Array
if(Array.isArray(val)){
if(Array.isArray(orgList)){
@ -157,10 +208,14 @@ const valPrint = (val:any[],orgList:any[]) => {
}
return title.join("、")
}
//css
const configStyle = computed(() => {
return props.data.styles || {}
})
</script>
<template>
<el-checkbox-group
v-if="props.types!=3"
v-if="props.types!=3&&judgeIsShow(data.name)"
v-bind="control"
v-model="value"
:style="getFormItemInputStyle(configStyle,4)"

2
src/components/lowCode/assistant/colorPickerPage.vue

@ -4,6 +4,8 @@
@ 备注: 取色器
-->
<script lang='ts' setup>
import { uploadUrl } from '@/api/lowCode/form/fieldUnit';
const props = withDefaults(
defineProps<{
modelValue?: string

88
src/components/lowCode/assistant/digitpage.vue

@ -5,6 +5,8 @@
-->
<script lang='ts' setup>
import { AnalysisCss,AnalysisInputCss } from '@/api/common/cssInfo'
import { nodePoweInfo,powerAryInfo } from '@/api/workFlow/type'
const props = withDefaults(
defineProps<{
data: FormList
@ -79,9 +81,93 @@ const valPrint = (val:any,dateVal:any) => {
return val
}
}
//
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
const judgeIsDisabled = (key:string) => {
// return false
if (type.value === 3) {
return true //
}
if (type.value === 1 && config.value.addDisabled) {
return true
}
if (type.value === 2 && config.value.editDisabled) {
return true //
}
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
</script>
<template>
<el-input v-if="props.types!=3" v-bind="$props" v-model="value" :style="getFormItemInputStyle(configStyle,2)" :input-style="getFormItemInputStyle(configStyle,3)" oninput ="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^\./g, '')" placeholder="请输入">
<el-input v-if="props.types!=3&&judgeIsShow(data.name)" v-bind="$props" v-model="value" :style="getFormItemInputStyle(configStyle,2)" :input-style="getFormItemInputStyle(configStyle,3)" oninput ="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^\./g, '')" placeholder="请输入">
<template #prepend v-if="config.prepend">
<div v-if="getInputSlot('p')">

130
src/components/lowCode/assistant/inputPage.vue

@ -5,9 +5,13 @@
-->
<script lang='ts' setup>
import { AnalysisCss,AnalysisInputCss } from '@/api/common/cssInfo'
import { FormList } from '@/api/lowCode/form/type';
import {
constFormProps
} from '@/api/lowCode/utils';
import { nodePoweInfo,powerAryInfo } from '@/api/workFlow/type'
const props = withDefaults(
defineProps<{
data: FormList
@ -72,7 +76,7 @@ const getFormItemInputStyle = (ele: any,sty:number) => {
@ 功能: 判断是否禁用
*/
const judgeIsDisabled = (key:string) => {
return false
// return false
if (type.value === 3) {
return true //
}
@ -82,31 +86,43 @@ const judgeIsDisabled = (key:string) => {
if (type.value === 2 && config.value.editDisabled) {
return true //
}
if(props.nodeKey != undefined && props.purview != undefined && props.purview != null && props.purview != null && props.purview != "" && props.purview != "") {
if(props.purview.length < 1){
return false;
}else{
let isShow = true;
props.purview.forEach((item)=>{
if(item.nodeKey == props.nodeKey){
if(item.powerAry && item.powerAry.length > 0){
item.powerAry.forEach((itm)=>{
if(itm.id == key){
console.log("判断此组件是否禁用",itm,itm.id == key,"--------->",itm.isLook)
isShow = !itm.isEdit
}
})
}
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isShow
}
return isOk
}else{
return false;
return false
}
// if(props.nodeKey != undefined && props.purview != undefined && props.purview != null && props.purview != null && props.purview != "" && props.purview != "") {
// if(props.purview.length < 1){
// return false;
// }else{
// let isShow = true;
// props.purview.forEach((item)=>{
// if(item.nodeKey == props.nodeKey){
// if(item.powerAry && item.powerAry.length > 0){
// item.powerAry.forEach((itm)=>{
// if(itm.id == key){
// console.log("",itm,itm.id == key,"--------->",itm.isLook)
// isShow = !itm.isEdit
// }
// })
// }
// }
// })
// return isShow
// }
// }else{
// return false;
// }
}
/****input slot处理***/
const getInputSlot = (key?: string) => {
@ -122,8 +138,73 @@ const getInputSlot = (key?: string) => {
}
return control
}
//
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
//css
const configStyle = computed(() => {
return props.data.styles || {}
})
</script>
<template>
<div class="boxCass">
<el-input
v-if="props.types!=3"
v-bind="control"
@ -132,6 +213,7 @@ const getInputSlot = (key?: string) => {
:style="getFormItemInputStyle(configStyle,2)"
:input-style="getFormItemInputStyle(configStyle,3)"
:placeholder="data.control.placeholder?data.control.placeholder:'请输入'+getLabel(data.item)"
:disabled="judgeIsDisabled(data.name)"
>
<template #prepend v-if="config.prepend">
<div v-if="getInputSlot('p')">
@ -159,9 +241,13 @@ const getInputSlot = (key?: string) => {
</template>
</el-input>
<el-text v-else class="wordColor">{{value}}</el-text>
</div>
</template>
<style lang='scss' scoped>
.wordColor{
color:#000000;
}
.boxCass{
width:100%;
}
</style>

14
src/components/lowCode/assistant/lowcodeImage.vue

@ -8,7 +8,7 @@ import { AnalysisCss,AnalysisInputCss } from '@/api/common/cssInfo'
import { uploadUrl } from '@/api/lowCode/form/fieldUnit'
import { uploadFiledTinymce } from '@/api/common/public'
import errimg from '@/assets/image/404_images/imgNotFound.png'
import { ref,useAttrs,computed,onMounted } from 'vue'
import { useAttrs,computed,onMounted } from 'vue'
import { Plus } from '@element-plus/icons-vue'
import type { UploadProps, UploadUserFile } from 'element-plus'
@ -18,7 +18,7 @@ const props = withDefaults(
modelValue?: string
disabled?: boolean
tablekey?: Object
data?: Object
data?: any
formTableSetUp?: Object
imgUrl?: string
}>(),
@ -52,7 +52,7 @@ const imgLoading = ref(false)
const imgPath = ref(errimg)
//
const beforeAvatarUpload = (rawFile) => {
const beforeAvatarUpload = (rawFile: { type: string; size: number }) => {
//imgLoading.value = true
// console.log("",rawFile.type)
let imgType = ['image/jpeg','image/jpg','image/png','image/gif','image/svg']
@ -75,8 +75,8 @@ const beforeAvatarUpload = (rawFile) => {
}
//
const handleAvatarSuccess = (
response,
uploadFile
response: { data: { url: string } },
uploadFile: any
) => {
// imageUrl.value = URL.createObjectURL(uploadFile.raw!)
// console.log("",value)
@ -112,7 +112,7 @@ const getFormItemInputStyle = (ele: any,sty:number) => {
}
const fileUpload = ref(null);
const fileUpload = ref();
// capture="camera"
const addCaptureAttribute = () => {
@ -148,7 +148,7 @@ const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => {
//console.log(uploadFile, uploadFiles)
let arrStr = ''
uploadFiles.forEach((element) => {
uploadFiles.forEach((element:any) => {
//console.log(element.response.data.url)
arrStr+= element.response.data.url+","
});

64
src/components/lowCode/assistant/orgCitys.vue

@ -12,6 +12,9 @@ import {
import validate from "@/api/lowCode/form/validate"
import { FormList,FormItem } from "@/api/lowCode/form/type"
import AreaObj from '@/utils/orgcitys/pca.json'
import { nodePoweInfo,powerAryInfo } from '@/api/workFlow/type'
const props = withDefaults(
defineProps<{
data: FormList
@ -243,6 +246,67 @@ const getFormItemInputStyle = (ele: any,sty:number) => {
return AnalysisInputCss(ele?.inputStyle,sty)
}
}
//
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
</script>
<template>
<div v-if="type === 3" class="form-value" v-html="value"></div>

106
src/components/lowCode/assistant/radioPage.vue

@ -5,10 +5,13 @@
-->
<script lang='ts' setup>
import { AnalysisCss,AnalysisInputCss } from '@/api/common/cssInfo'
import { FormList } from '@/api/lowCode/form/type';
import {
formatNumber,
constFormProps
constFormProps,
constGetControlByName
} from '@/api/lowCode/utils';
import { nodePoweInfo,powerAryInfo } from '@/api/workFlow/type'
const props = withDefaults(
defineProps<{
data: FormList
@ -67,13 +70,73 @@ const getFormItemInputStyle = (ele: any,sty:number) => {
return AnalysisInputCss(ele?.inputStyle,sty)
}
}
//
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
/**
@ 作者: 秦东
@ 时间: 2024-07-27 15:11:42
@ 功能: 判断是否禁用
*/
const judgeIsDisabled = (key:string) => {
return false
// return false
if (type.value === 3) {
return true //
}
@ -83,32 +146,20 @@ const judgeIsDisabled = (key:string) => {
if (type.value === 2 && config.value.editDisabled) {
return true //
}
if(props.nodeKey != undefined && props.purview != undefined && props.purview != null && props.purview != null && props.purview != "" && props.purview != "") {
if(props.purview.length < 1){
return false;
}else{
let isShow = true;
props.purview.forEach((item)=>{
if(item.nodeKey == props.nodeKey){
if(item.powerAry && item.powerAry.length > 0){
item.powerAry.forEach((itm)=>{
if(itm.id == key){
console.log("判断此组件是否禁用",itm,itm.id == key,"--------->",itm.isLook)
isShow = !itm.isEdit
}
})
}
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isShow
}
return isOk
}else{
return false;
return false
}
}
const getControlByName = inject(constGetControlByName) as any
/****input slot处理***/
const getInputSlot = (key?: string) => {
const slot = key === 'p' ? config.value.prepend : config.value.append
@ -142,7 +193,7 @@ const transformOption = (val: string | number, type?: string) => {
@ 时间: 2025-06-10 11:13:06
@ 功能: 输出结果
*/
const valPrint = (val:any,orgList:any[]) => {
const valPrint = (val:any,orgList:any) => {
let title = ""
if(Array.isArray(orgList)){
orgList.forEach((item: any) => {
@ -153,14 +204,19 @@ const valPrint = (val:any,orgList:any[]) => {
}
return title
}
//css
const configStyle = computed(() => {
return props.data.styles || {}
})
</script>
<template>
<el-radio-group
v-if="props.types!=3"
v-if="props.types!=3&&judgeIsShow(data.name)"
v-bind="control"
v-model="value"
:style="getFormItemInputStyle(configStyle,4)"
:disabled="judgeIsDisabled(data.name)"
>
<el-radio
:key="index"

101
src/components/lowCode/assistant/selectPage.vue

@ -5,10 +5,15 @@
-->
<script lang='ts' setup>
import { AnalysisCss,AnalysisInputCss } from '@/api/common/cssInfo'
import { FormList } from '@/api/lowCode/form/type';
import {
formatNumber,
constFormProps
constFormProps,
constGetControlByName
} from '@/api/lowCode/utils';
import { nodePoweInfo,powerAryInfo } from '@/api/workFlow/type'
import { debounce } from '@/utils/lowCode/item';
const props = withDefaults(
defineProps<{
data: FormList
@ -67,6 +72,66 @@ const getFormItemInputStyle = (ele: any,sty:number) => {
return AnalysisInputCss(ele?.inputStyle,sty)
}
}
//
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
/**
@ 作者: 秦东
@ 时间: 2024-07-27 15:11:42
@ -83,32 +148,9 @@ const judgeIsDisabled = (key:string) => {
if (type.value === 2 && config.value.editDisabled) {
return true //
}
if(props.nodeKey != undefined && props.purview != undefined && props.purview != null && props.purview != null && props.purview != "" && props.purview != "") {
if(props.purview.length < 1){
return false;
}else{
let isShow = true;
props.purview.forEach((item)=>{
if(item.nodeKey == props.nodeKey){
if(item.powerAry && item.powerAry.length > 0){
item.powerAry.forEach((itm)=>{
if(itm.id == key){
console.log("判断此组件是否禁用",itm,itm.id == key,"--------->",itm.isLook)
isShow = !itm.isEdit
}
})
}
}
})
return isShow
}
}else{
return false;
}
judgeIsEdit(key)
}
const getControlByName = inject(constGetControlByName) as any
/****input slot处理***/
const getInputSlot = (key?: string) => {
const slot = key === 'p' ? config.value.prepend : config.value.append
@ -142,7 +184,7 @@ const transformOption = (val: string | number, type?: string) => {
@ 时间: 2025-06-10 11:13:06
@ 功能: 输出结果
*/
const valPrint = (val:any[],orgList:any[]) => {
const valPrint = (val:any[],orgList:any) => {
if(Array.isArray(val)){
let title = new Array
@ -174,10 +216,13 @@ const valPrint = (val:any[],orgList:any[]) => {
}
}
const getAxiosOptions = debounce((data?: any) => {
})
</script>
<template>
<SelectDesign
v-if="props.types!=3"
v-if="props.types!=3&&judgeIsShow(data.name)"
:data="data"
:disabled="judgeIsDisabled(data.name)"
v-model="value"

88
src/components/lowCode/assistant/textareaPage.vue

@ -4,9 +4,11 @@
@ 备注: 多行文本
-->
<script lang='ts' setup>
import { FormList } from '@/api/lowCode/form/type';
import {
constFormProps
} from '@/api/lowCode/utils';
import { nodePoweInfo,powerAryInfo } from '@/api/workFlow/type'
const props = withDefaults(
defineProps<{
data: FormList
@ -49,16 +51,100 @@ const getLabel = (val:any) => {
}
//
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
const judgeIsDisabled = (key:string) => {
// return false
if (type.value === 3) {
return true //
}
if (type.value === 1 && config.value.addDisabled) {
return true
}
if (type.value === 2 && config.value.editDisabled) {
return true //
}
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
</script>
<template>
<el-input
v-if="props.types!=3"
v-if="props.types!=3&&judgeIsShow(data.name)"
v-bind="props.control"
v-model="value"
type="textarea"
:autosize="{ minRows: 2, maxRows: 20 }"
:placeholder="data.control.placeholder?data.control.placeholder:'请输入'+getLabel(data.item)"
:disabled="judgeIsDisabled(data.name)"
/>
<el-text v-else class="wordColor">{{value}}</el-text>
</template>

5
src/components/lowCode/assistant/timePickerPage.vue

@ -8,6 +8,7 @@ import dayJs from 'dayjs'
import {
constFormProps
} from '@/api/lowCode/utils';
import { FormList } from '@/api/lowCode/form/type';
const props = withDefaults(
defineProps<{
data: FormList
@ -50,12 +51,12 @@ const getLabel = (val:any) => {
}
//
const handleClick = (event) => {
const handleClick = (event: { target: { readOnly: boolean; }; }) => {
//
event.target.readOnly = true;
};
//
const valPrint = (val:number,group:string,type:string) => {
const valPrint = (val:number,group?:string,type?:string) => {
return dayJs(val).format('HH:mm:ss');
}
</script>

65
src/components/lowCode/assistant/uploadPage.vue

@ -16,6 +16,7 @@ import {
} from '@/api/lowCode/utils';
import { computed } from 'vue';
import { nodePoweInfo,powerAryInfo } from '@/api/workFlow/type'
const props = withDefaults(
defineProps<{
@ -164,12 +165,73 @@ function openUrl1(url:string) {
window.open(url, '_blank')
}
//
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
</script>
<template><!-- {'{types}} -->
<div style="width: 100%;
display: inline;">
<el-upload
v-if="props.types!=3"
v-if="props.types!=3&&judgeIsShow(props.name)"
v-bind="props.control"
:action="uploadUrl"
:name="props.name"
@ -179,6 +241,7 @@ function openUrl1(url:string) {
:on-error="uploadError"
:on-success="uploadSuccess"
:on-remove="uploadRemove"
>
<i class="icon-plus" v-if="props.control?.listType=='picture-card'">
<i class="fa fa-paperclip"></i>

122
src/components/lowCode/formItem.vue

@ -21,6 +21,9 @@ import request from '@/utils/axios/index'
import { Md5 } from 'ts-md5'
import { debounce } from '@/utils/lowCode/item/index'
import { uploadUrl } from '@/api/lowCode/form/fieldUnit'
import { nodePoweInfo,powerAryInfo } from '@/api/workFlow/type'
//
import OrgCitys from '@/components/lowCode/assistant/orgCitys.vue'
import UploadPage from '@/components/lowCode/assistant/uploadPage.vue'
@ -331,31 +334,46 @@ const judgeIsDisabled = (key:string) => {
if (type.value === 2 && config.value.editDisabled) {
return true //
}
if(props.nodeKey != undefined && props.purview != undefined && props.purview != null && props.purview != null && props.purview != "" && props.purview != "") {
if(props.purview.length < 1){
return false;
}else{
let isShow = true;
props.purview.forEach((item)=>{
if(item.nodeKey == props.nodeKey){
if(item.powerAry && item.powerAry.length > 0){
item.powerAry.forEach((itm)=>{
if(itm.id == key){
console.log("判断此组件是否禁用",itm,itm.id == key,"--------->",itm.isLook)
isShow = !itm.isEdit
let myPower = curNodePowerAry()
// console.log("-3-->",myPower)
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
}
}
})
return isShow
}
return isOk
}else{
return false;
return false
}
// if(props.nodeKey != undefined && props.purview != undefined && props.purview != null && props.purview != null && props.purview != "" && props.purview != "") {
// if(props.purview.length < 1){
// return false;
// }else{
// let isShow = true;
// props.purview.forEach((item)=>{
// if(item.nodeKey == props.nodeKey){
// if(item.powerAry && item.powerAry.length > 0){
// item.powerAry.forEach((itm)=>{
// if(itm.id == key){
// console.log("",itm,itm.id == key,"--------->",itm.isLook)
// isShow = !itm.isEdit
// }
// })
// }
// }
// })
// return isShow
// }
// }else{
// return false;
// }
}
/****input slot处理***/
const getInputSlot = (key?: string) => {
@ -567,6 +585,67 @@ const handleClick = (event) => {
//
event.target.readOnly = true;
};
//
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
</script>
<template>
<div>
@ -583,6 +662,7 @@ const handleClick = (event) => {
:class="config.className"
:rules="itemRules as any"
:label="getLabel(data.item as FormItem)"
v-if="judgeIsShow(data.name)"
>
<template #label v-if="config.help">
<span :style="getFormItemLableStyle(configStyle)">{{ getLabel(data.item) }}</span>
@ -599,7 +679,7 @@ const handleClick = (event) => {
:type="data.type === 'password' ? 'password' : 'text'"
:style="getFormItemInputStyle(configStyle,2)"
:input-style="getFormItemInputStyle(configStyle,3)"
v-if="['password','input'].includes(data.type)"
v-if="['password','input'].includes(data.type) && judgeIsShow(data.name)"
:placeholder="data.control.placeholder?data.control.placeholder:'请输入'+getLabel(data.item)"
>
<template #prepend v-if="config.prepend">

120
src/components/lowCode/newFormItem.vue

@ -15,6 +15,7 @@ import {
} from '@/api/lowCode/utils';
import validate from "@/api/lowCode/form/validate"
import { AnalysisCss,AnalysisInputCss } from '@/api/common/cssInfo' //
import { nodePoweInfo,powerAryInfo } from '@/api/workFlow/type'
//
import InputPage from '@/components/lowCode/assistant/inputPage.vue'
import DigitpagePage from '@/components/lowCode/assistant/digitpage.vue'
@ -219,31 +220,44 @@ const judgeIsDisabled = (key:string) => {
if (type.value === 2 && config.value.editDisabled) {
return true //
}
if(props.nodeKey != undefined && props.purview != undefined && props.purview != null && props.purview != null && props.purview != "" && props.purview != "") {
if(props.purview.length < 1){
return false;
}else{
let isShow = true;
props.purview.forEach((item)=>{
if(item.nodeKey == props.nodeKey){
if(item.powerAry && item.powerAry.length > 0){
item.powerAry.forEach((itm)=>{
if(itm.id == key){
console.log("判断此组件是否禁用",itm,itm.id == key,"--------->",itm.isLook)
isShow = !itm.isEdit
}
})
let myPower = curNodePowerAry()
// console.log("-3-->",myPower)
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
}
})
return isShow
}
return isOk
}else{
return false;
return false
}
// if(props.nodeKey != undefined && props.purview != undefined && props.purview != null && props.purview != null && props.purview != "" && props.purview != "") {
// if(props.purview.length < 1){
// return false;
// }else{
// let isShow = true;
// props.purview.forEach((item)=>{
// if(item.nodeKey == props.nodeKey){
// if(item.powerAry && item.powerAry.length > 0){
// item.powerAry.forEach((itm)=>{
// if(itm.id == key){
// console.log("",itm,itm.id == key,"--------->",itm.isLook)
// isShow = !itm.isEdit
// }
// })
// }
// }
// })
// return isShow
// }
// }else{
// return false;
// }
}
/**
@ 作者: 秦东
@ -410,7 +424,66 @@ const testPage = (val:any) =>{
console.log("刷新数据-------->", val);
}
//
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
</script>
<template>
<el-form-item
@ -420,6 +493,7 @@ const testPage = (val:any) =>{
:label="getLabel(data.item as FormItem)"
:rules="itemRules"
class="rlabel"
v-if="judgeIsShow(data.name)"
>
<template #label v-if="config.help">
<span :style="getFormItemLableStyle(configStyle)">{{ getLabel(data.item) }}</span>
@ -431,7 +505,7 @@ const testPage = (val:any) =>{
<!-- {{ data.type }} -->
<!--关联表单-->
<component
v-if="['associatedForms'].includes(data.type)"
v-if="['associatedForms'].includes(data.type) && judgeIsShow(data.name)"
:is="currentComponent"
:data="data"
:formProps = "formProps"
@ -447,7 +521,7 @@ const testPage = (val:any) =>{
/>
<!--视频-->
<component
v-if="['videoUpAndPlay'].includes(data.type)"
v-if="['videoUpAndPlay'].includes(data.type) && judgeIsShow(data.name)"
:types="type"
:is="currentComponent"
:data="data"

9
src/views/formTable/page/cardPageNew.vue

@ -12,6 +12,7 @@ import { softDeletion,retractRunWorkFlow } from '@/api/lowCode/taskapi/managemen
import { Picture as IconPicture } from '@element-plus/icons-vue'
import SearchSelect from '@/components/lowCode/selectSearch.vue'
import AppPageInfo from '@/views/formTable/pageInfo.vue'
import { EpPropMergeType } from 'element-plus/es/utils/index.mjs'
const props = defineProps({
@ -59,7 +60,7 @@ const props = defineProps({
}
});
const lookInfo = ref<any>({})
const taskScrollbar = ref(null) //
const taskScrollbar = ref() //
const loadingList = ref(false) //
const emits = defineEmits(['update:pageIdAry',"searchData"])
const loadText = ref("数据加载中,请稍后......")
@ -68,10 +69,12 @@ const _scrollTop = ref<number>(0)
const pageTotal = ref<number>(0) //
const state = reactive({
page:1,
pagesize: props.stateListInfo.config?.pageSize || 2
pagesize: props.stateListInfo.config?.pageSize || 2,
loading:false
})
const listPage = ref<any[]>([])
const openAppPage = ref(false)
const asflookPageInfoIsShow = ref(false)
const currentAsfTableDataList = ref([])//
const asfAppContent = reactive<any>({
appKey:props.appKey,
@ -455,7 +458,7 @@ const delTask = (val:any) => {
tableKey:val.tableKey,
isTrue: 2,
};
softDeletion(sendData).then((data) => {
softDeletion(sendData).then((data: any) => {
ElNotification({
title: "系统提示!",
message: data.mag ? data.mag : "删除成功",

69
src/views/formTable/taskListPage.vue

@ -13,7 +13,7 @@ import { inputUnit,timeUnit,choiceUnit,switchUnit,orgUnit,checkboxUnit } from '@
import { useDesignFormStore } from '@/utils/pinia/stores/lowCode/designForm'
import{ json2string,string2json,stringToObj } from '@/utils/lowCode/form'
import{ submitButton,submitFlowButton } from '@/utils/lowCode/const'
import { appWorkFlow } from '@/api/workFlow/type'
import { appWorkFlow,nodePoweInfo,powerAryInfo } from '@/api/workFlow/type'
import { softDeletion } from '@/api/lowCode/taskapi/management'
import SvgIcon from '@/components/svgIcon/index.vue'
@ -26,20 +26,25 @@ import TimeAxis from '@/views/formTable/page/timeAxis.vue'
import Calendar from '@/views/formTable/page/calendar.vue'
import MapPage from '@/views/formTable/page/mapPage.vue'
import AppPageInfo from '@/views/formTable/pageInfo.vue'
import { tableButton } from '@/api/common/tableButton'
import { FormInstance } from 'element-plus'
const route = useRoute()
const router = useRouter()
const appKey = ref<string>(route.query.key)
const appId = ref<string>(route.query.id)
const taskTitle = ref<string>(route.query.title)
const taskId = ref<string>(route.query.formid)
const taskKey = ref<string>(route.query.formKey)
const appKey = ref<any>(route.query.key)
const appId = ref<any>(route.query.id)
const taskTitle = ref<any>(route.query.title)
const taskId = ref<any>(route.query.formid)
const taskKey = ref<any>(route.query.formKey)
const activeName = ref('1')
const pageIdAry = ref<string[]>([])
const formTableStr = ref<string>('')
const cardPageRef = ref(null) //
const appFlowInfo = ref<appWorkFlow>(""); //
const cardPageRef = ref() //
const appFlowInfo = ref<appWorkFlow>(); //
const currterNodePower = ref<nodePoweInfo[]>([])
const nodeKey = ref<string>("");
const appContent = reactive<any>({
appKey:route.query.key,
@ -190,11 +195,16 @@ const initLoadData = () => {
// console.log(":",taskId)
gainAppPageInfo({id:taskKey.value})
.then((data) => {
// console.log(":",data)
console.log("获取初始化表单数据:",data)
// appInitData.value = data.data
// console.log("---!",appInitData.value)
formTableStr.value = data.data.appForm.mastesformjson
if(data.data.powerAry && Array.isArray(data.data.powerAry) && data.data.powerAry.length > 0){
currterNodePower.value = data.data.powerAry
}
nodeKey.value = data.data.nodeKey?data.data.nodeKey:"";
if(data.data.appForm.listjson!=null && data.data.appForm.listjson != ''){
let stateData = string2json(data.data.appForm.listjson)
let holeControlAndConfigStateData = string2json(data.data.appForm.mastesformjson)
@ -278,7 +288,7 @@ const initLoadData = () => {
if(stateData.view&&stateData.view.card){
stateData.view.card.status=true
stateData.view.card.isClick = true
activeName.value = 2
activeName.value = "2"
}
// console.log("--------------<",stateData.view)
stateList.view = stateData.view
@ -396,6 +406,13 @@ const unitIsShow = (val:tableButton,unitName:string) => {
const getNewAppForm = () => {
gainAppPageInfo({id:taskKey.value})
.then((data) => {
console.log("获取初始化表单数据:==========>",data)
if(data.data.powerAry && Array.isArray(data.data.powerAry) && data.data.powerAry.length > 0){
currterNodePower.value = data.data.powerAry
}
nodeKey.value = data.data.nodeKey?data.data.nodeKey:"";
stateForm.formData = stringToObj(data.data.appForm.mastesform);
stateForm.dict = string2json(data.data.appForm.dict);
stateForm.formData.powerstr = string2json(data.data.appForm.powerstr);
@ -428,7 +445,7 @@ const getNewAppForm = () => {
@ 时间: 2024-11-04 13:59:42
@ 功能: 功能按钮动作
*/
const setUpClick = (val:string,id:string) => {
const setUpClick = (val:any,id?:string) => {
// console.log("",val,"----id----->",id,"-----formId---->",pageIdAry.value)
if(val.key == "newAdd"){
getNewAppForm()
@ -445,7 +462,7 @@ const setUpClick = (val:string,id:string) => {
id: pageIdAry.value,
isTrue: 2,
};
softDeletion(sendData).then((data) => {
softDeletion(sendData).then((data: { mag: any }) => {
// console.log('cancel!',data)
ElNotification({
title: "温馨提示!",
@ -492,7 +509,7 @@ const resetFields = (formEl: FormInstance | undefined) => {
@ 时间: 2024-11-06 14:45:29
@ 功能: 切换视图
*/
const switchTabs = (val:string) => {
const switchTabs = (val:string|number) => {
activeName.value = val.toString()
}
@ -501,12 +518,16 @@ const switchTabs = (val:string) => {
@ 时间: 2024-11-21 13:33:52
@ 功能: 执行操作
*/
const performAction = (val) => {}
const performAction = () => {}
const transformOption = (val:any,dataVal:any) => {}
//
provide('flowNodePower', currterNodePower)
provide('currentNodeKey', nodeKey)
</script>
<template>
<div>
<Header :header-title="taskTitle" :app-key="appKey" menu-tree="" :call-back-click="true" />
<Header :header-title="taskTitle" :app-key="appKey" :call-back-click="true" />
<div ref="container" class="table-list-comm">
<div class="contentBetween">
<div v-if="stateList.tableData.controlBtn.length > 0">
@ -521,31 +542,31 @@ const performAction = (val) => {}
</div>
<div class="listStely">
<el-space wrap>
<SvgIcon icon-class="search" :size="20" @click="openSearch" />
<SvgIcon icon-class="search" :size="'20'" @click="openSearch" />
<el-dropdown>
<span class="el-dropdown-link">
视图<SvgIcon icon-class="arrow-down" :size="15" />
视图<SvgIcon icon-class="arrow-down" :size="'15'" />
</span>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item v-if="stateList.view.list.status" @click="switchTabs(1)">
<div :class="activeName=='1' ? 'pickMenu' : ''"><SvgIcon icon-class="liebiao" :size="15" />列表</div>
<div :class="activeName=='1' ? 'pickMenu' : ''"><SvgIcon icon-class="liebiao" :size="'15'" />列表</div>
</el-dropdown-item>
<el-dropdown-item v-if="stateList.view.card.status" @click="switchTabs(2)">
<div :class="activeName=='2' ? 'pickMenu' : ''"><SvgIcon icon-class="kapian" :size="15" />卡片</div>
<div :class="activeName=='2' ? 'pickMenu' : ''"><SvgIcon icon-class="kapian" :size="'15'" />卡片</div>
</el-dropdown-item>
<el-dropdown-item v-if="stateList.view.date.status" @click="switchTabs(3)">
<div :class="activeName=='3' ? 'pickMenu' : ''"><SvgIcon icon-class="rili" :size="15" />日历</div>
<div :class="activeName=='3' ? 'pickMenu' : ''"><SvgIcon icon-class="rili" :size="'15'" />日历</div>
</el-dropdown-item>
<el-dropdown-item v-if="stateList.view.time.status" @click="switchTabs(4)">
<div :class="activeName=='4' ? 'pickMenu' : ''"><SvgIcon icon-class="shijianzhou" :size="15" />时间轴</div>
<div :class="activeName=='4' ? 'pickMenu' : ''"><SvgIcon icon-class="shijianzhou" :size="'15'" />时间轴</div>
</el-dropdown-item>
<el-dropdown-item v-if="stateList.view.gantt.status" @click="switchTabs(5)">
<div :class="activeName=='5' ? 'pickMenu' : ''"><SvgIcon icon-class="gantetu" :size="15" />甘特图</div>
<div :class="activeName=='5' ? 'pickMenu' : ''"><SvgIcon icon-class="gantetu" :size="'15'" />甘特图</div>
</el-dropdown-item>
<el-dropdown-item v-if="stateList.view.map.status" @click="switchTabs(6)">
<div :class="activeName=='6' ? 'pickMenu' : ''"><SvgIcon icon-class="ditu" :size="15" />地图</div>
<div :class="activeName=='6' ? 'pickMenu' : ''"><SvgIcon icon-class="ditu" :size="'15'" />地图</div>
</el-dropdown-item>
</el-dropdown-menu>
@ -584,7 +605,7 @@ const performAction = (val) => {}
v-model="item.value"
type="datetime"
:placeholder="'请选择'+item.label"
:shortcuts="shortcuts"
v-if="unitIsShow(item,'time')"
/>
<SearchSelect

Loading…
Cancel
Save