|
|
@ -3,45 +3,49 @@ |
|
|
@ 时间: 2024-05-18 09:08:21 |
|
|
@ 时间: 2024-05-18 09:08:21 |
|
|
@ 备注: 展开应用表单 |
|
|
@ 备注: 展开应用表单 |
|
|
--> |
|
|
--> |
|
|
<script lang='ts' setup> |
|
|
<script lang="ts" setup> |
|
|
import { json2string,objToStringify,string2json,stringToObj } from '@/utils/DesignForm/form' |
|
|
import { |
|
|
|
|
|
json2string, |
|
|
|
|
|
objToStringify, |
|
|
|
|
|
string2json, |
|
|
|
|
|
stringToObj, |
|
|
|
|
|
} from "@/utils/DesignForm/form"; |
|
|
import request from "@/utils/request"; |
|
|
import request from "@/utils/request"; |
|
|
import { gainAppPageInfo,getFieldRecord } from '@/api/DesignForm/requestapi' |
|
|
import { gainAppPageInfo, getFieldRecord } from "@/api/DesignForm/requestapi"; |
|
|
import { Edit,Picture as IconPicture } from '@element-plus/icons-vue' |
|
|
import { Edit, Picture as IconPicture } from "@element-plus/icons-vue"; |
|
|
import { appPageDataInit,appWorkFlow } from "@/api/date/type" |
|
|
import { appPageDataInit, appWorkFlow } from "@/api/date/type"; |
|
|
|
|
|
|
|
|
//引入页面 |
|
|
//引入页面 |
|
|
import AppFlowSee from '@/views/sysworkflow/lowcodepage/appPage/appPageForm/appFlow/appFlowSee.vue' |
|
|
import AppFlowSee from "@/views/sysworkflow/lowcodepage/appPage/appPageForm/appFlow/appFlowSee.vue"; |
|
|
|
|
|
|
|
|
const props = defineProps({ |
|
|
const props = defineProps({ |
|
|
appCont:{ |
|
|
appCont: { |
|
|
type:Object, |
|
|
type: Object, |
|
|
default(){ |
|
|
default() { |
|
|
return {} |
|
|
return {}; |
|
|
} |
|
|
|
|
|
}, |
|
|
}, |
|
|
formKey:{ |
|
|
|
|
|
type:String, |
|
|
|
|
|
default:"" |
|
|
|
|
|
}, |
|
|
}, |
|
|
menusInfo:{ |
|
|
formKey: { |
|
|
type:Object, |
|
|
type: String, |
|
|
default(){ |
|
|
default: "", |
|
|
return {} |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
}, |
|
|
drawerWith:{ |
|
|
menusInfo: { |
|
|
type:Number, |
|
|
type: Object, |
|
|
default:0 |
|
|
default() { |
|
|
|
|
|
return {}; |
|
|
|
|
|
}, |
|
|
|
|
|
}, |
|
|
|
|
|
drawerWith: { |
|
|
|
|
|
type: Number, |
|
|
|
|
|
default: 0, |
|
|
|
|
|
}, |
|
|
|
|
|
groupKey: { |
|
|
|
|
|
type: String, |
|
|
|
|
|
default: "", |
|
|
}, |
|
|
}, |
|
|
groupKey:{ |
|
|
|
|
|
type:String, |
|
|
|
|
|
default:"" |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
const appInitData = ref<appPageDataInit>(""); |
|
|
const appInitData = ref<appPageDataInit>("") |
|
|
|
|
|
//app表单 |
|
|
//app表单 |
|
|
const stateForm = reactive<any>({ |
|
|
const stateForm = reactive<any>({ |
|
|
type: 1, // 1新增;2修改;3查看(表单模式) ;4查看; 5设计 |
|
|
type: 1, // 1新增;2修改;3查看(表单模式) ;4查看; 5设计 |
|
|
@ -49,191 +53,181 @@ const stateForm = reactive<any>({ |
|
|
list: [], |
|
|
list: [], |
|
|
form: {}, |
|
|
form: {}, |
|
|
config: {}, |
|
|
config: {}, |
|
|
powerstr:{} |
|
|
powerstr: {}, |
|
|
}, |
|
|
}, |
|
|
dict: {}, |
|
|
dict: {}, |
|
|
formId: "1", |
|
|
formId: "1", |
|
|
id: 0, |
|
|
id: 0, |
|
|
formId: 0, |
|
|
formId: 0, |
|
|
versionId: 0, |
|
|
versionId: 0, |
|
|
loading: true |
|
|
loading: true, |
|
|
}) |
|
|
}); |
|
|
//表单列表 |
|
|
//表单列表 |
|
|
const stateList = reactive({ |
|
|
const stateList = reactive({ |
|
|
tableData: { |
|
|
tableData: { |
|
|
// tableProps: {}, //表格所有参数 |
|
|
// tableProps: {}, //表格所有参数 |
|
|
columns: [], |
|
|
columns: [], |
|
|
config: {}, |
|
|
config: {}, |
|
|
controlBtn:[], |
|
|
controlBtn: [], |
|
|
operateBtn:[] |
|
|
operateBtn: [], |
|
|
}, |
|
|
}, |
|
|
searchData: [], |
|
|
searchData: [], |
|
|
loading: false, |
|
|
loading: false, |
|
|
attrObj: {}, |
|
|
attrObj: {}, |
|
|
config: { |
|
|
config: { |
|
|
pageSize:10, |
|
|
pageSize: 10, |
|
|
searchIsShow:true, |
|
|
searchIsShow: true, |
|
|
searchFormIsShow:true, |
|
|
searchFormIsShow: true, |
|
|
openPageMode:"drawer" |
|
|
openPageMode: "drawer", |
|
|
}, |
|
|
}, |
|
|
tagList: {}, |
|
|
tagList: {}, |
|
|
formId: props.formKey || '', |
|
|
formId: props.formKey || "", |
|
|
formList: [], // 所有可选表单数据源 |
|
|
formList: [], // 所有可选表单数据源 |
|
|
name: '', |
|
|
name: "", |
|
|
treeData: {}, // 左侧树相关 |
|
|
treeData: {}, // 左侧树相关 |
|
|
previewVisible: false, |
|
|
previewVisible: false, |
|
|
tabsName: 'second', |
|
|
tabsName: "second", |
|
|
formFieldList: [], // 表单数据源所有可选字段 |
|
|
formFieldList: [], // 表单数据源所有可选字段 |
|
|
formApi:{ |
|
|
formApi: { |
|
|
type:"1", |
|
|
type: "1", |
|
|
addApiUrl:"", |
|
|
addApiUrl: "", |
|
|
editApiUrl:"", |
|
|
editApiUrl: "", |
|
|
delApiUrl:"", |
|
|
delApiUrl: "", |
|
|
lookApiUrl:"" |
|
|
lookApiUrl: "", |
|
|
}, |
|
|
}, |
|
|
dict: {}, |
|
|
dict: {}, |
|
|
refreshTable: true, |
|
|
refreshTable: true, |
|
|
view:{ |
|
|
view: { |
|
|
list:{ |
|
|
list: { |
|
|
status:true, |
|
|
status: true, |
|
|
isClick:false, |
|
|
isClick: false, |
|
|
form:{ |
|
|
form: { |
|
|
sortWord:"", |
|
|
sortWord: "", |
|
|
sortClass:1 |
|
|
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, |
|
|
}, |
|
|
}, |
|
|
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 versionTitle = ref<string>("") //表单名称 |
|
|
const versionTitle = ref<string>(""); //表单名称 |
|
|
const versionId = ref<string>("") //表单版本号 |
|
|
const versionId = ref<string>(""); //表单版本号 |
|
|
const appFlowInfo = ref<appWorkFlow>("") //流程 |
|
|
const appFlowInfo = ref<appWorkFlow>(""); //流程 |
|
|
/** |
|
|
/** |
|
|
@ 作者: 秦东 |
|
|
@ 作者: 秦东 |
|
|
@ 时间: 2024-05-18 09:32:23 |
|
|
@ 时间: 2024-05-18 09:32:23 |
|
|
@ 功能: 监听菜单传递数据变化 |
|
|
@ 功能: 监听菜单传递数据变化 |
|
|
*/ |
|
|
*/ |
|
|
watch(()=>props.menusInfo,(val:appMenuTreeInfo)=>{ |
|
|
watch( |
|
|
|
|
|
() => props.menusInfo, |
|
|
|
|
|
(val: appMenuTreeInfo) => { |
|
|
// console.log("监听菜单传递数据变化",val) |
|
|
// console.log("监听菜单传递数据变化",val) |
|
|
if(val){ |
|
|
if (val) { |
|
|
gainAppFormPageInit() |
|
|
gainAppFormPageInit(); |
|
|
} |
|
|
} |
|
|
|
|
|
}, |
|
|
},{ |
|
|
{ |
|
|
deep:true |
|
|
deep: true, |
|
|
}) |
|
|
} |
|
|
|
|
|
); |
|
|
const emits = defineEmits(["editAppInfo"]); |
|
|
const emits = defineEmits(["editAppInfo"]); |
|
|
/** |
|
|
/** |
|
|
@ 作者: 秦东 |
|
|
@ 作者: 秦东 |
|
|
@ 时间: 2024-05-18 14:04:20 |
|
|
@ 时间: 2024-05-18 14:04:20 |
|
|
@ 功能: 获取App页面预览信息 |
|
|
@ 功能: 获取App页面预览信息 |
|
|
*/ |
|
|
*/ |
|
|
const editAppPage = (signCode:string) => { |
|
|
const editAppPage = (signCode: string) => { |
|
|
emits("editAppInfo",signCode) |
|
|
emits("editAppInfo", signCode); |
|
|
} |
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const activePage = ref(0) //默认选择的页面 |
|
|
const activePage = ref(0); //默认选择的页面 |
|
|
/** |
|
|
/** |
|
|
@ 作者: 秦东 |
|
|
@ 作者: 秦东 |
|
|
@ 时间: 2024-05-18 10:13:15 |
|
|
@ 时间: 2024-05-18 10:13:15 |
|
|
@ 功能: |
|
|
@ 功能: |
|
|
*/ |
|
|
*/ |
|
|
const handleAppPageClick = () =>{ |
|
|
const handleAppPageClick = () => {}; |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
@ 作者: 秦东 |
|
|
@ 作者: 秦东 |
|
|
@ 时间: 2024-05-20 16:15:54 |
|
|
@ 时间: 2024-05-20 16:15:54 |
|
|
@ 功能: 获取表单初始化信息 |
|
|
@ 功能: 获取表单初始化信息 |
|
|
*/ |
|
|
*/ |
|
|
const gainAppFormPageInit = () =>{ |
|
|
const gainAppFormPageInit = () => { |
|
|
|
|
|
if (props.menusInfo.id) { |
|
|
if(props.menusInfo.id){ |
|
|
gainAppPageInfo({ id: props.menusInfo.id }).then((data) => { |
|
|
|
|
|
console.log("获取初始化表单数据", data); |
|
|
|
|
|
appInitData.value = data.data; |
|
|
gainAppPageInfo({id:props.menusInfo.id}) |
|
|
if (data.data.page && data.data.pageList && data.data.appFlow) { |
|
|
.then((data)=>{ |
|
|
activePage.value = 1; |
|
|
console.log("获取初始化表单数据",data) |
|
|
} else if (data.data.page && !data.data.pageList && data.data.appFlow) { |
|
|
appInitData.value = data.data |
|
|
activePage.value = 2; |
|
|
if (data.data.page && data.data.pageList && data.data.appFlow){ |
|
|
} else if (!data.data.page && !data.data.pageList && data.data.appFlow) { |
|
|
activePage.value = 1 |
|
|
activePage.value = 3; |
|
|
}else if (data.data.page && !data.data.pageList && data.data.appFlow){ |
|
|
} else if (!data.data.page && data.data.pageList && data.data.appFlow) { |
|
|
activePage.value = 2 |
|
|
activePage.value = 1; |
|
|
}else if (!data.data.page && !data.data.pageList && data.data.appFlow){ |
|
|
} else if (data.data.page && !data.data.pageList && !data.data.appFlow) { |
|
|
activePage.value = 3 |
|
|
activePage.value = 2; |
|
|
}else if (!data.data.page && data.data.pageList && data.data.appFlow){ |
|
|
} else { |
|
|
activePage.value = 1 |
|
|
activePage.value = 1; |
|
|
}else if (data.data.page && !data.data.pageList && !data.data.appFlow){ |
|
|
} |
|
|
activePage.value = 2 |
|
|
versionId.value = data.data.appForm.id.toString(); |
|
|
}else{ |
|
|
versionTitle.value = data.data.appForm.name; |
|
|
activePage.value = 1 |
|
|
if (data.data.pageList) { |
|
|
} |
|
|
let stateData = string2json(data.data.appForm.listjson); |
|
|
versionId.value = data.data.appForm.id.toString() |
|
|
let holeControlAndConfigStateData = string2json(data.data.appForm.mastesformjson); |
|
|
versionTitle.value = data.data.appForm.name |
|
|
|
|
|
if(data.data.pageList){ |
|
|
|
|
|
let stateData = string2json(data.data.appForm.listjson) |
|
|
|
|
|
let holeControlAndConfigStateData = string2json(data.data.appForm.mastesformjson) |
|
|
|
|
|
//console.log(data.data.appForm.mastesform) |
|
|
//console.log(data.data.appForm.mastesform) |
|
|
//let mastesform = string2json(data.data.appForm.mastesform) |
|
|
//let mastesform = string2json(data.data.appForm.mastesform) |
|
|
//console.log(mastesform) |
|
|
//console.log(mastesform) |
|
|
@ -241,25 +235,25 @@ const gainAppFormPageInit = () =>{ |
|
|
//console.log(data.data.appForm.mastesformjson) |
|
|
//console.log(data.data.appForm.mastesformjson) |
|
|
/*console.log(stateData) */ |
|
|
/*console.log(stateData) */ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//在这里完善子表中的单选下拉多选为系统表单字段时的options start |
|
|
//在这里完善子表中的单选下拉多选为系统表单字段时的options start |
|
|
//console.log(holeControlAndConfigStateData.list) |
|
|
//console.log(holeControlAndConfigStateData.list) |
|
|
for (const element of holeControlAndConfigStateData.list) { |
|
|
for (const element of holeControlAndConfigStateData.list) { |
|
|
|
|
|
if (element.type == "table") { |
|
|
if(element.type == "table"){ |
|
|
|
|
|
//console.log(element); |
|
|
//console.log(element); |
|
|
for (const item of element.list){ |
|
|
for (const item of element.list) { |
|
|
|
|
|
if (item.options) { |
|
|
if(item.options){ |
|
|
if ( |
|
|
if(item.type=="radio"||item.type=="select"||item.type=="checkbox"){ |
|
|
item.type == "radio" || |
|
|
|
|
|
item.type == "select" || |
|
|
|
|
|
item.type == "checkbox" |
|
|
|
|
|
) { |
|
|
//console.log(item); |
|
|
//console.log(item); |
|
|
let paramx:string = ""+item.control.optionsValue3Field |
|
|
let paramx: string = "" + item.control.optionsValue3Field; |
|
|
getFieldRecord(paramx).then(({ data }) => { |
|
|
getFieldRecord(paramx).then(({ data }) => { |
|
|
//console.log(data) |
|
|
//console.log(data) |
|
|
item.options = data |
|
|
item.options = data; |
|
|
}) |
|
|
}); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
@ -270,21 +264,27 @@ const gainAppFormPageInit = () =>{ |
|
|
//data.data.appForm.mastesformjson = |
|
|
//data.data.appForm.mastesformjson = |
|
|
//在这里完善子表中的单选下拉多选为系统表单字段时的options end |
|
|
//在这里完善子表中的单选下拉多选为系统表单字段时的options end |
|
|
|
|
|
|
|
|
|
|
|
if (stateData.tableData.columns && stateData.tableData.columns.length > 0) { |
|
|
|
|
|
for (let i = 0; i < stateData.tableData.columns.length; i++) { |
|
|
if(stateData.tableData.columns && stateData.tableData.columns.length>0){ |
|
|
for (let u = 0; u < holeControlAndConfigStateData.list.length; u++) { |
|
|
for(let i = 0;i<stateData.tableData.columns.length;i++){ |
|
|
if ( |
|
|
for(let u = 0;u<holeControlAndConfigStateData.list.length;u++){ |
|
|
stateData.tableData.columns[i].id == |
|
|
if(stateData.tableData.columns[i].id==holeControlAndConfigStateData.list[u].name){ |
|
|
holeControlAndConfigStateData.list[u].name |
|
|
stateData.tableData.columns[i].control = holeControlAndConfigStateData.list[u].control |
|
|
) { |
|
|
stateData.tableData.columns[i].config = holeControlAndConfigStateData.list[u].config |
|
|
stateData.tableData.columns[i].control = |
|
|
|
|
|
holeControlAndConfigStateData.list[u].control; |
|
|
|
|
|
stateData.tableData.columns[i].config = |
|
|
|
|
|
holeControlAndConfigStateData.list[u].config; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
//console.log(stateData.tableData.columns[i]) |
|
|
//console.log(stateData.tableData.columns[i]) |
|
|
if(stateData.tableData.columns[i].config!=undefined && stateData.tableData.columns[i].control!=undefined){ |
|
|
if ( |
|
|
|
|
|
stateData.tableData.columns[i].config != undefined && |
|
|
|
|
|
stateData.tableData.columns[i].control != undefined |
|
|
|
|
|
) { |
|
|
//console.log(stateData.tableData.columns[i]) |
|
|
//console.log(stateData.tableData.columns[i]) |
|
|
let paramx:string = ""+stateData.tableData.columns[i].control.optionsValue3Field |
|
|
let paramx: string = |
|
|
|
|
|
"" + stateData.tableData.columns[i].control.optionsValue3Field; |
|
|
/* |
|
|
/* |
|
|
在这里请求后台获取字段 |
|
|
在这里请求后台获取字段 |
|
|
let kkk = { |
|
|
let kkk = { |
|
|
@ -302,32 +302,32 @@ const gainAppFormPageInit = () =>{ |
|
|
} |
|
|
} |
|
|
*/ |
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
if (paramx && paramx != "" && paramx != null && paramx != "undefined") { |
|
|
if(paramx && paramx != "" && paramx != null && paramx != "undefined"){ |
|
|
|
|
|
//console.log(paramx) |
|
|
//console.log(paramx) |
|
|
getFieldRecord(paramx).then(({ data }) => { |
|
|
getFieldRecord(paramx).then(({ data }) => { |
|
|
stateData.tableData.columns[i].options = data |
|
|
stateData.tableData.columns[i].options = data; |
|
|
if(stateData.searchData.length>0){ |
|
|
if (stateData.searchData.length > 0) { |
|
|
for(let j = 0;j<stateData.searchData.length;j++){ |
|
|
for (let j = 0; j < stateData.searchData.length; j++) { |
|
|
//console.log(stateData.searchData[j]) |
|
|
//console.log(stateData.searchData[j]) |
|
|
if(stateData.searchData[j].id==stateData.tableData.columns[i].id){ |
|
|
if ( |
|
|
stateData.searchData[j].options = data |
|
|
stateData.searchData[j].id == stateData.tableData.columns[i].id |
|
|
|
|
|
) { |
|
|
|
|
|
stateData.searchData[j].options = data; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
}) |
|
|
}); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (stateData.searchData && stateData.searchData.length > 0) { |
|
|
if(stateData.searchData && stateData.searchData.length>0){ |
|
|
for (let j = 0; j < stateData.searchData.length; j++) { |
|
|
for(let j = 0;j<stateData.searchData.length;j++){ |
|
|
|
|
|
//console.log(stateData.searchData[j]) |
|
|
//console.log(stateData.searchData[j]) |
|
|
if(stateData.searchData[j].id==stateData.tableData.columns[i].id){ |
|
|
if (stateData.searchData[j].id == stateData.tableData.columns[i].id) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//console.log(stateData.tableData.columns[i]) |
|
|
//console.log(stateData.tableData.columns[i]) |
|
|
stateData.searchData[j].control = stateData.tableData.columns[i].control |
|
|
stateData.searchData[j].control = |
|
|
stateData.searchData[j].config = stateData.tableData.columns[i].config |
|
|
stateData.tableData.columns[i].control; |
|
|
|
|
|
stateData.searchData[j].config = |
|
|
|
|
|
stateData.tableData.columns[i].config; |
|
|
//console.log(stateData.searchData[j]) |
|
|
//console.log(stateData.searchData[j]) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
@ -336,51 +336,45 @@ const gainAppFormPageInit = () =>{ |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
stateList.tableData = stateData.tableData; |
|
|
|
|
|
|
|
|
|
|
|
stateList.searchData = stateData.searchData; |
|
|
stateList.tableData = stateData.tableData |
|
|
if (stateList.searchData == null) { |
|
|
|
|
|
stateList.searchData = new Array(); |
|
|
stateList.searchData = stateData.searchData |
|
|
|
|
|
if(stateList.searchData == null){ |
|
|
|
|
|
stateList.searchData = new Array() |
|
|
|
|
|
} |
|
|
} |
|
|
// console.log("类型",stateList.searchData) |
|
|
// console.log("类型",stateList.searchData) |
|
|
stateList.loading = stateData.loading |
|
|
stateList.loading = stateData.loading; |
|
|
stateList.attrObj = stateData.attrObj |
|
|
stateList.attrObj = stateData.attrObj; |
|
|
stateList.config = stateData.config |
|
|
stateList.config = stateData.config; |
|
|
stateList.tagList = stateData.tagList |
|
|
stateList.tagList = stateData.tagList; |
|
|
stateList.formList = stateData.formList |
|
|
stateList.formList = stateData.formList; |
|
|
stateList.name = stateData.name |
|
|
stateList.name = stateData.name; |
|
|
stateList.treeData = stateData.treeData |
|
|
stateList.treeData = stateData.treeData; |
|
|
stateList.previewVisible = stateData.previewVisible |
|
|
stateList.previewVisible = stateData.previewVisible; |
|
|
stateList.formFieldList = stateData.formFieldList |
|
|
stateList.formFieldList = stateData.formFieldList; |
|
|
stateList.formApi = stateData.formApi |
|
|
stateList.formApi = stateData.formApi; |
|
|
stateList.dict = stateData.dict |
|
|
stateList.dict = stateData.dict; |
|
|
stateList.refreshTable = stateData.refreshTable |
|
|
stateList.refreshTable = stateData.refreshTable; |
|
|
if(stateData.view){ |
|
|
if (stateData.view) { |
|
|
stateList.view = stateData.view |
|
|
stateList.view = stateData.view; |
|
|
} |
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
if (data.data.page) { |
|
|
if(data.data.page){ |
|
|
|
|
|
// console.log("data.data.mastesform", data.data) |
|
|
// console.log("data.data.mastesform", data.data) |
|
|
stateForm.id=data.data.appForm.version.toString() |
|
|
stateForm.id = data.data.appForm.version.toString(); |
|
|
stateForm.formId =data.data.appForm.cfid.toString() |
|
|
stateForm.formId = data.data.appForm.cfid.toString(); |
|
|
stateForm.versionId =data.data.appForm.id.toString() |
|
|
stateForm.versionId = data.data.appForm.id.toString(); |
|
|
stateForm.formData = stringToObj(data.data.appForm.mastesform) |
|
|
stateForm.formData = stringToObj(data.data.appForm.mastesform); |
|
|
console.log(stateForm.formData) |
|
|
console.log(stateForm.formData); |
|
|
stateForm.dict = string2json(data.data.appForm.dict) |
|
|
stateForm.dict = string2json(data.data.appForm.dict); |
|
|
stateForm.formData.powerstr = string2json(data.data.appForm.powerstr) |
|
|
stateForm.formData.powerstr = string2json(data.data.appForm.powerstr); |
|
|
} |
|
|
} |
|
|
if(data.data.appFlow){ |
|
|
if (data.data.appFlow) { |
|
|
appFlowInfo.value = data.data.workFlow |
|
|
appFlowInfo.value = data.data.workFlow; |
|
|
} |
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
}; |
|
|
|
|
|
|
|
|
//liwenxuan 二维码表格组织人员名称显示 start |
|
|
//liwenxuan 二维码表格组织人员名称显示 start |
|
|
|
|
|
|
|
|
@ -393,7 +387,7 @@ interface Tree { |
|
|
[key: string]: any; |
|
|
[key: string]: any; |
|
|
} |
|
|
} |
|
|
const orgAndManTree = ref<Tree[]>(); |
|
|
const orgAndManTree = ref<Tree[]>(); |
|
|
function getAssociatedFormsOrgAndManTree() { |
|
|
function getAssociatedFormsOrgAndManTree() { |
|
|
return request({ |
|
|
return request({ |
|
|
url: "/javasys/lowCode/transfer/getOrgAndManTree", |
|
|
url: "/javasys/lowCode/transfer/getOrgAndManTree", |
|
|
method: "post", |
|
|
method: "post", |
|
|
@ -412,11 +406,9 @@ getAssociatedFormsOrgAndManTree().then(({ data }) => { |
|
|
}); |
|
|
}); |
|
|
//liwenxuan 二维码表格组织人员名称显示 end |
|
|
//liwenxuan 二维码表格组织人员名称显示 end |
|
|
|
|
|
|
|
|
function optionsValue3Get3(data: any,fieldName: string){ |
|
|
function optionsValue3Get3(data: any, fieldName: string) { |
|
|
|
|
|
|
|
|
//console.log("openAppFormPage","optionsValue3Get3") |
|
|
//console.log("openAppFormPage","optionsValue3Get3") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* if(fieldName.startsWith("childTable---")){ |
|
|
/* if(fieldName.startsWith("childTable---")){ |
|
|
let tableAndFieldNameArr = fieldName.split("---") |
|
|
let tableAndFieldNameArr = fieldName.split("---") |
|
|
for(let i = 0; i < stateForm.formData.list.length; i++){ |
|
|
for(let i = 0; i < stateForm.formData.list.length; i++){ |
|
|
@ -433,24 +425,20 @@ function optionsValue3Get3(data: any,fieldName: string){ |
|
|
} |
|
|
} |
|
|
}else{ */ |
|
|
}else{ */ |
|
|
|
|
|
|
|
|
|
|
|
for (let i = 0; i < stateForm.formData.list.length; i++) { |
|
|
|
|
|
if (stateForm.formData.list[i].name == fieldName) { |
|
|
|
|
|
stateForm.formData.list[i].options = []; |
|
|
for(let i = 0; i < stateForm.formData.list.length; i++){ |
|
|
for (let j = 0; j < data.length; j++) { |
|
|
if(stateForm.formData.list[i].name==fieldName){ |
|
|
stateForm.formData.list[i].options.push(data[j]); |
|
|
stateForm.formData.list[i].options = [] |
|
|
|
|
|
for(let j = 0;j<data.length;j++){ |
|
|
|
|
|
stateForm.formData.list[i].options.push(data[j]) |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
//} |
|
|
//} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
defineExpose({ |
|
|
defineExpose({ |
|
|
gainAppFormPageInit |
|
|
gainAppFormPageInit, |
|
|
}) |
|
|
}); |
|
|
/* onMounted(() => { |
|
|
/* onMounted(() => { |
|
|
getAssociatedFormsOrgAndManTree().then(({ data }) => { |
|
|
getAssociatedFormsOrgAndManTree().then(({ data }) => { |
|
|
let resData = ref(data.children); |
|
|
let resData = ref(data.children); |
|
|
@ -498,15 +486,15 @@ defineExpose({ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} */ |
|
|
} */ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</script> |
|
|
</script> |
|
|
<template> |
|
|
<template> |
|
|
<div> |
|
|
<div> |
|
|
<el-row v-if="props.menusInfo"> |
|
|
<el-row v-if="props.menusInfo"> |
|
|
<el-col :span="24" class="pageBox pageHeader"> |
|
|
<el-col :span="24" class="pageBox pageHeader"> |
|
|
<el-text class="wordFont">{{ props.menusInfo.label }}</el-text> |
|
|
<el-text class="wordFont">{{ props.menusInfo.label }}</el-text> |
|
|
<el-button type="primary" :icon="Edit" @click="editAppPage(stateForm.formId)">编辑App页面</el-button> |
|
|
<el-button type="primary" :icon="Edit" @click="editAppPage(stateForm.formId)" |
|
|
|
|
|
>编辑App页面</el-button |
|
|
|
|
|
> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="24" class="pageBox baiDiSe"> |
|
|
<el-col :span="24" class="pageBox baiDiSe"> |
|
|
<el-tabs v-model="activePage" class="demo-tabs" @tab-click="handleAppPageClick"> |
|
|
<el-tabs v-model="activePage" class="demo-tabs" @tab-click="handleAppPageClick"> |
|
|
@ -515,11 +503,11 @@ defineExpose({ |
|
|
<el-tab-pane v-if="appInitData.appFlow" label="流程图" :name="3" /> |
|
|
<el-tab-pane v-if="appInitData.appFlow" label="流程图" :name="3" /> |
|
|
</el-tabs> |
|
|
</el-tabs> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col v-if="activePage!=3" :span="24" class="pageBoxInfo"> |
|
|
<el-col v-if="activePage != 3" :span="24" class="pageBoxInfo"> |
|
|
<el-card class="tispMsg" shadow="always"> |
|
|
<el-card class="tispMsg" shadow="always"> |
|
|
<el-scrollbar class="suojing"> |
|
|
<el-scrollbar class="suojing"> |
|
|
<ak-page-list |
|
|
<ak-page-list |
|
|
v-if="activePage==1" |
|
|
v-if="activePage == 1" |
|
|
:data="stateList.tableData" |
|
|
:data="stateList.tableData" |
|
|
:search-data="stateList.searchData" |
|
|
:search-data="stateList.searchData" |
|
|
:config="stateList.config" |
|
|
:config="stateList.config" |
|
|
@ -530,11 +518,11 @@ defineExpose({ |
|
|
:viewPage="stateList.view" |
|
|
:viewPage="stateList.view" |
|
|
:form-basic-config="stateForm.formData.form" |
|
|
:form-basic-config="stateForm.formData.form" |
|
|
:fields-detail-list="stateForm.formData.list" |
|
|
:fields-detail-list="stateForm.formData.list" |
|
|
:org-and-man-tree = "orgAndManTree" |
|
|
:org-and-man-tree="orgAndManTree" |
|
|
@optionsValue5Get5="optionsValue5Get5" |
|
|
@optionsValue5Get5="optionsValue5Get5" |
|
|
/> |
|
|
/> |
|
|
<ak-form |
|
|
<ak-form |
|
|
v-if="activePage==2" |
|
|
v-if="activePage == 2" |
|
|
ref="formEl" |
|
|
ref="formEl" |
|
|
:numrun="formType" |
|
|
:numrun="formType" |
|
|
:form-data="stateForm.formData" |
|
|
:form-data="stateForm.formData" |
|
|
@ -550,22 +538,17 @@ defineExpose({ |
|
|
:save-draft-page="saveDraftPage" |
|
|
:save-draft-page="saveDraftPage" |
|
|
@optionsValue3Get3="optionsValue3Get3" |
|
|
@optionsValue3Get3="optionsValue3Get3" |
|
|
/> |
|
|
/> |
|
|
|
|
|
|
|
|
</el-scrollbar> |
|
|
</el-scrollbar> |
|
|
</el-card> |
|
|
</el-card> |
|
|
|
|
|
|
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col v-else :span="24"> |
|
|
<el-col v-else :span="24"> |
|
|
<AppFlowSee |
|
|
<AppFlowSee :app-flow-info="appFlowInfo" /> |
|
|
:app-flow-info="appFlowInfo" |
|
|
|
|
|
/> |
|
|
|
|
|
</el-col> |
|
|
</el-col> |
|
|
</el-row> |
|
|
</el-row> |
|
|
<el-row v-else> |
|
|
<el-row v-else> |
|
|
<el-col :span="24" class="pageBox"> |
|
|
<el-col :span="24" class="pageBox"> |
|
|
<el-card class="tispMsg" shadow="always"> |
|
|
<el-card class="tispMsg" shadow="always"> |
|
|
|
|
|
欢迎使用 {{ props.appCont.appName }}<br /> |
|
|
欢迎使用 {{ props.appCont.appName }}<br> |
|
|
|
|
|
<div class="demo-image__error"> |
|
|
<div class="demo-image__error"> |
|
|
<el-image :src="props.appCont.appSvg" fit="fit"> |
|
|
<el-image :src="props.appCont.appSvg" fit="fit"> |
|
|
<template #error> |
|
|
<template #error> |
|
|
@ -580,13 +563,13 @@ defineExpose({ |
|
|
</el-row> |
|
|
</el-row> |
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
<style lang='scss' scoped> |
|
|
<style lang="scss" scoped> |
|
|
.pageBox{ |
|
|
.pageBox { |
|
|
padding: 0 15px; |
|
|
padding: 0 15px; |
|
|
.wordFont{ |
|
|
.wordFont { |
|
|
font-size: 20px; |
|
|
font-size: 20px; |
|
|
} |
|
|
} |
|
|
.tispMsg{ |
|
|
.tispMsg { |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
margin: 10px 0 0 0; |
|
|
margin: 10px 0 0 0; |
|
|
height: calc(100vh - 80px); |
|
|
height: calc(100vh - 80px); |
|
|
@ -597,36 +580,35 @@ defineExpose({ |
|
|
font-size: 20px; |
|
|
font-size: 20px; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
.pageBoxInfo{ |
|
|
.pageBoxInfo { |
|
|
padding: 0 15px; |
|
|
padding: 0 15px; |
|
|
.tispMsg{ |
|
|
.tispMsg { |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
margin: 20px 0 0 0; |
|
|
margin: 20px 0 0 0; |
|
|
height: calc(100vh - 175px); |
|
|
height: calc(100vh - 175px); |
|
|
} |
|
|
} |
|
|
:deep .el-card__body{ |
|
|
:deep .el-card__body { |
|
|
padding: 10px 0; |
|
|
padding: 10px 0; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
.pageHeader{ |
|
|
.pageHeader { |
|
|
display: flex; |
|
|
display: flex; |
|
|
align-items: center; |
|
|
align-items: center; |
|
|
justify-content: space-between; |
|
|
justify-content: space-between; |
|
|
background-color: #FFFFFF; |
|
|
background-color: #ffffff; |
|
|
padding:15px 15px 5px 15px; |
|
|
padding: 15px 15px 5px 15px; |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
.baiDiSe{ |
|
|
.baiDiSe { |
|
|
background-color: #FFFFFF; |
|
|
background-color: #ffffff; |
|
|
border-bottom : 3px solid #dedfe0; |
|
|
border-bottom: 3px solid #dedfe0; |
|
|
:deep .el-tabs__header{ |
|
|
:deep .el-tabs__header { |
|
|
margin:0px 0 -2px 0; |
|
|
margin: 0px 0 -2px 0; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
.suojing{ |
|
|
.suojing { |
|
|
height: calc(100vh - 135px); |
|
|
height: calc(100vh - 135px); |
|
|
} |
|
|
} |
|
|
.demo-image__error{ |
|
|
.demo-image__error { |
|
|
margin-top: 15px; |
|
|
margin-top: 15px; |
|
|
} |
|
|
} |
|
|
.demo-image__error .block { |
|
|
.demo-image__error .block { |
|
|
|