Browse Source

Merge branch 'master' into li_s1

qin_s3
liwenxuan 2 months ago
parent
commit
01938a605c
  1. 2
      src/components/Breadcrumb/index.vue
  2. 5
      src/components/DesignForm/dragControl.vue
  3. 2
      src/components/DesignForm/dragControlApp.vue
  4. 2
      src/components/DesignForm/dragControlNew.vue
  5. 6
      src/components/DesignForm/exportPanel.vue
  6. 18
      src/components/DesignForm/formControlAttr.vue
  7. 13
      src/components/DesignForm/formControlAttr_2024024.vue
  8. 9
      src/components/DesignForm/formControlAttres.vue
  9. 1
      src/components/DesignForm/formControlPropertiNew.vue
  10. 4
      src/components/DesignForm/public/form/newForm.vue
  11. 13
      src/components/DesignForm/tableListPage/newFormPageCont.vue
  12. 25
      src/views/sysworkflow/lowcodepage/pageFlow/newTableFlow.vue
  13. 10
      src/views/taskplatform/taskmanagement/lookFlowInfoNewApp.vue

2
src/components/Breadcrumb/index.vue

@ -1,7 +1,7 @@
<template>
<el-breadcrumb class="h-[50px] flex items-center">
<transition-group name="breadcrumb">
<el-breadcrumb-item v-for="(item, index) in breadcrumbs" :key="item.path">
<el-breadcrumb-item v-for="(item, index) in breadcrumbs" :key="item.path" v-memo="[item.path]">
<span
v-if="
item.redirect === 'noredirect' || index === breadcrumbs.length - 1

5
src/components/DesignForm/dragControl.vue

@ -157,13 +157,14 @@ const setupStatus = (val:any) =>{
v-for="item in formDataList"
:key="item.name"
@change="selectChange($event,item)"
v-memo="[item.name]"
>
{{ item.item?.label }}
</el-checkbox>
</div>
</div>
<!--组件主体-->
<div v-for="(list, index) in controlList" :key="index">
<div v-for="(list, index) in controlList" :key="index" v-memo="[index]">
<div class="title">
{{ list.title }}
<div
@ -203,7 +204,7 @@ const setupStatus = (val:any) =>{
<div>版本</div>
{{props.formId}}
<el-tabs v-model="activeName" :stretch="true" class="demo-tabs" @tab-change="handleTabsClick" >
<el-tab-pane v-for="(item,index) in props.versioncont" :key="index" :label="'V'+item.version" :name="item.id" class="tab_pane_body">
<el-tab-pane v-for="(item,index) in props.versioncont" :key="index" v-memo="[item.id]" :label="'V'+item.version" :name="item.id" class="tab_pane_body">
<el-button v-if="item.status!=1" type="primary" round @click="setupStatus(item)">启用</el-button>
<el-button v-if="item.status==1" type="warning" round @click="setupStatus(item)">使用中</el-button>
</el-tab-pane>

2
src/components/DesignForm/dragControlApp.vue

@ -117,7 +117,7 @@ const clone = (origin: any) => {
</script>
<template>
<div class="components-list">
<div v-for="(list, index) in controlList" :key="index">
<div v-for="(list, index) in controlList" :key="index" v-memo="[index]">
<div class="title">
{{ list.title }}
<div v-if="index === 0 && !isSearch" class="template" @click="useVersionClick">

2
src/components/DesignForm/dragControlNew.vue

@ -109,7 +109,7 @@ const clone = (origin: any) => {
</script>
<template>
<div class="components-list">
<div v-for="(list, index) in controlList" :key="index">
<div v-for="(list, index) in controlList" :key="index" v-memo="[index]">
<div class="title">
{{ list.title }}
<div v-if="index === 0 && !isSearch" class="template" @click="useVersionClick">

6
src/components/DesignForm/exportPanel.vue

@ -56,15 +56,15 @@ function handleData(){
<div style="display: flex; flex-direction:column;width: 80%; height: 60%;margin: 20px;">
<h3>请选择主表单导出的字段</h3>
<el-checkbox-group v-model="checkList">
<template v-for="item in props.fields">
<template v-for="(item,index) in props.fields" v-memo="[index]">
<el-checkbox v-if="item.attribute===''" :key="item.field" :label="item.label" :value="item.field" />
</template>
</el-checkbox-group>
<div v-for="tab in subtabs" style="margin-top: 40px;">
<div v-for="(tab,tabIndex) in subtabs" v-memo="[tabIndex]" style="margin-top: 40px;">
<h3>{{ tab.label }} : 表导出的字段</h3>
<el-checkbox-group v-model="subCheckList">
<el-checkbox v-for="item in props.subFields.filter(val=>val.table===tab.field)" :key="item.field" :label="item.label" :value="item.field" />
<el-checkbox v-for="(item,itemIndex) in props.subFields.filter(val=>val.table===tab.field)" :key="item.field" v-memo="[itemIndex]" :label="item.label" :value="item.field" />
</el-checkbox-group>
</div>

18
src/components/DesignForm/formControlAttr.vue

@ -2729,7 +2729,7 @@ const disabledIstrue = (val: string) => {
<el-form size="small" class="form">
<!-- <div class=""><h3>通用属性</h3></div> -->
<el-divider content-position="left">通用属性</el-divider>
<template v-for="(item, index) in attrList" :key="index">
<template v-for="(item, index) in attrList" :key="index" v-memo="[index]">
<el-form-item :label="item.label" class="form_cont">
<el-select
v-if="item.type === 'select'"
@ -2743,6 +2743,7 @@ const disabledIstrue = (val: string) => {
<el-option
v-for="(opt, key) in item.dict"
:key="key"
v-memo="[key]"
:value="item.path === 'name' ? opt.name : key"
:label="item.path === 'name' ? `${opt.label}(${opt.name})` : opt"
/>
@ -2767,6 +2768,7 @@ const disabledIstrue = (val: string) => {
<el-option
v-for="(opt, key) in item.dict"
:key="key"
v-memo="[key]"
:value="item.path === 'name' ? opt.name : key"
:label="item.path === 'name' ? `${opt.label}(${opt.name})` : opt"
/>
@ -2891,6 +2893,7 @@ const disabledIstrue = (val: string) => {
<el-option
v-for="dataSourceOption1 in transferDataSourceOptions"
:key="dataSourceOption1.value"
v-memo="[dataSourceOption1.value]"
:label="dataSourceOption1.label"
:value="dataSourceOption1.value"
/>
@ -2977,6 +2980,7 @@ const disabledIstrue = (val: string) => {
<el-option
v-for="showModeSelected in showModeSelectOptions"
:key="showModeSelected.value"
v-memo="[showModeSelected.value]"
:label="showModeSelected.label"
:value="showModeSelected.value"
/>
@ -3163,6 +3167,7 @@ const disabledIstrue = (val: string) => {
<el-option
v-for="showModeSelected1 in floatSelectOptions"
:key="showModeSelected1.value"
v-memo="[showModeSelected1.value]"
:label="showModeSelected1.label"
:value="showModeSelected1.value"
/>
@ -3297,6 +3302,7 @@ const disabledIstrue = (val: string) => {
<el-form-item
v-for="(item, index) in controlData.columns"
:key="index"
v-memo="[index]"
class="form_cont"
>
<el-col :span="12">
@ -3327,6 +3333,7 @@ const disabledIstrue = (val: string) => {
<el-form-item
v-for="(item, index) in controlData.config.customRules"
:key="index"
v-memo="[index]"
class="form_cont"
>
<el-input
@ -3342,6 +3349,7 @@ const disabledIstrue = (val: string) => {
<el-option
v-for="list in state.numberRulesList"
:key="list.type"
v-memo="[list.type]"
:label="list.label"
:value="list.type"
/>
@ -3408,6 +3416,7 @@ const disabledIstrue = (val: string) => {
<el-form-item
v-for="(item, index) in controlData.options"
:key="index"
v-memo="[index]"
class="form_cont"
label="选项标签"
>
@ -3558,6 +3567,7 @@ const disabledIstrue = (val: string) => {
<el-form-item
v-for="(item, index) in controlData.customRules"
:key="item.type"
v-memo="[item.type]"
class="form_cont"
>
<el-input v-model="item.message" placeholder="校验提示信息">
@ -3570,6 +3580,7 @@ const disabledIstrue = (val: string) => {
<el-option
v-for="list in state.customRulesList"
:key="list.type"
v-memo="[list.type]"
:label="list.label"
:value="list.type"
/>
@ -3652,6 +3663,7 @@ const disabledIstrue = (val: string) => {
<el-option
v-for="item in formGroup.list"
:key="item.idStr"
v-memo="[item.idStr]"
:label="item.title"
:value="item.idStr"
/>
@ -3662,6 +3674,7 @@ const disabledIstrue = (val: string) => {
<el-form-item
v-for="(item, index) in formAttr.filter((item) => !item.hide)"
:key="index"
v-memo="[index]"
:label="item.label"
class="form_cont"
>
@ -3677,6 +3690,7 @@ const disabledIstrue = (val: string) => {
<el-option
v-for="opt in item.options"
:key="opt.label || opt.name"
v-memo="[opt.label || opt.name]"
:label="opt.label || opt.name"
:value="formatNumber(opt.value ?? opt.id)"
/>
@ -3816,6 +3830,7 @@ const disabledIstrue = (val: string) => {
<el-option
v-for="item in optionsCss"
:key="item.value"
v-memo="[item.value]"
:label="item.label"
:value="item.value"
/>
@ -4424,6 +4439,7 @@ const disabledIstrue = (val: string) => {
<template
v-for="(item, index) in controlData.control.fillRoles"
:key="controlData.control.fillRoles[index].id"
>
<AssociatedFormsFillRole
v-model:left-value="controlData.control.fillRoles[index].leftValue"

13
src/components/DesignForm/formControlAttr_2024024.vue

@ -1519,7 +1519,7 @@ const changeCurrentUploadImgid = (clickedRow:any) => {
<el-tab-pane label="字段配置" name="first">
<el-form size="small" class="form">
<div class=""><h3>通用属性</h3></div>
<template v-for="(item, index) in attrList" :key="index">
<template v-for="(item, index) in attrList" :key="index" v-memo="[index]">
<el-form-item :label="item.label">
@ -1539,6 +1539,7 @@ const changeCurrentUploadImgid = (clickedRow:any) => {
:label="
item.path === 'name' ? `${opt.label}(${opt.name})` : opt
"
v-memo="[key]"
/>
</el-select>
<el-switch
@ -1565,6 +1566,7 @@ const changeCurrentUploadImgid = (clickedRow:any) => {
:label="
item.path === 'name' ? `${opt.label}(${opt.name})` : opt
"
v-memo="[key]"
/>
</el-select>
</el-col>
@ -1707,6 +1709,7 @@ const changeCurrentUploadImgid = (clickedRow:any) => {
<el-form-item
v-for="(item, index) in controlData.columns"
:key="index"
v-memo="[index]"
>
<el-col :span="12">
<el-input v-model="item.label" placeholder="标签配置项" />
@ -1731,7 +1734,7 @@ const changeCurrentUploadImgid = (clickedRow:any) => {
<el-switch v-model="controlData.config.automatic" inline-prompt active-text="自动编码" inactive-text="手动编码" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #E6A23C" />
</el-form-item>
<div v-if="controlData.config.automatic">
<el-form-item v-for="(item, index) in controlData.config.customRules" :key="index">
<el-form-item v-for="(item, index) in controlData.config.customRules" :key="index" v-memo="[index]">
<el-input v-model="item.rule" :placeholder="item.message?item.message:'请输入自定义字符'">
<template #prepend>
@ -1743,6 +1746,7 @@ const changeCurrentUploadImgid = (clickedRow:any) => {
<el-option
v-for="list in state.numberRulesList"
:key="list.type"
v-memo="[list.type]"
:label="list.label"
:value="list.type"
/>
@ -1800,6 +1804,7 @@ const changeCurrentUploadImgid = (clickedRow:any) => {
<el-form-item
v-for="(item, index) in controlData.options"
:key="index"
v-memo="[index]"
>
<el-col :span="10">
<el-input v-model="item.label" placeholder="选项标签" />
@ -1909,6 +1914,7 @@ const changeCurrentUploadImgid = (clickedRow:any) => {
<el-form-item
v-for="(item, index) in controlData.customRules"
:key="item.type"
v-memo="[index]"
>
<el-input v-model="item.message" placeholder="校验提示信息">
<template #prepend>
@ -1922,6 +1928,7 @@ const changeCurrentUploadImgid = (clickedRow:any) => {
:key="list.type"
:label="list.label"
:value="list.type"
v-memo="[list.type]"
/>
</el-select>
</template>
@ -1993,6 +2000,7 @@ const changeCurrentUploadImgid = (clickedRow:any) => {
<el-form-item
v-for="(item, index) in formAttr.filter(item => !item.hide)"
:key="index"
v-memo="[index]"
:label="item.label"
>
<el-select
@ -2008,6 +2016,7 @@ const changeCurrentUploadImgid = (clickedRow:any) => {
v-for="opt in item.options"
:key="opt.label || opt.name"
v-memo="[opt.label || opt.name]"
:label="opt.label || opt.name"
:value="formatNumber(opt.value ?? opt.id)"
/>

9
src/components/DesignForm/formControlAttres.vue

@ -1114,7 +1114,7 @@ defineExpose({ getFormFieldBySource })
<el-tab-pane label="字段配置" name="first">
<el-form size="small" class="form">
<div class="h3"><h3>通用属性</h3></div>
<template v-for="(item, index) in attrList" :key="index">
<template v-for="(item, index) in attrList" :key="index" v-memo="[index]">
<el-form-item :label="item.label">
<el-select
v-if="item.type === 'select'"
@ -1129,6 +1129,7 @@ defineExpose({ getFormFieldBySource })
<el-option
v-for="(opt, key) in item.dict"
:key="key"
v-memo="[key]"
:value="item.path === 'name' ? opt.name : key"
:label="
item.path === 'name' ? `${opt.label}(${opt.name})` : opt
@ -1204,6 +1205,7 @@ defineExpose({ getFormFieldBySource })
<el-form-item
v-for="(item, index) in controlData.columns"
:key="index"
v-memo="[index]"
>
<el-col :span="12">
<el-input v-model="item.label" placeholder="标签配置项" />
@ -1256,6 +1258,7 @@ defineExpose({ getFormFieldBySource })
<el-form-item
v-for="(item, index) in controlData.options"
:key="index"
v-memo="[index]"
>
<el-col :span="10">
<el-input v-model="item.label" placeholder="选项标签" />
@ -1369,6 +1372,7 @@ defineExpose({ getFormFieldBySource })
<el-form-item
v-for="(item, index) in controlData.customRules"
:key="item.type"
v-memo="[item.type]"
>
<el-input v-model="item.message" placeholder="校验提示信息">
<template #prepend>
@ -1380,6 +1384,7 @@ defineExpose({ getFormFieldBySource })
<el-option
v-for="list in state.customRulesList"
:key="list.type"
v-memo="[list.type]"
:label="list.label"
:value="list.type"
/>
@ -1453,6 +1458,7 @@ defineExpose({ getFormFieldBySource })
<el-form-item
v-for="(item, index) in formAttr.filter(item => !item.hide)"
:key="index"
v-memo="[index]"
:label="item.label"
>
<el-select
@ -1467,6 +1473,7 @@ defineExpose({ getFormFieldBySource })
<el-option
v-for="opts in item.options"
:key="opts.label || opts.name"
v-memo="[opts.label || opts.name]"
:label="opts.label || opts.name"
:value="formatNumber(opts.value ?? opts.id)"
/>

1
src/components/DesignForm/formControlPropertiNew.vue

@ -14,7 +14,6 @@ import { ValidateTextTypes } from "@/components/DesignForm/validateText";
import { ElMessage } from "element-plus";
import { formatNumber } from "@/api/DesignForm/utils";
import { getOrgTreeList } from "@/api/hr/org/index";
import AssociatedformsForCreate from "@/widget/associatedforms/associatedformsForCreate.vue";
import { orgInfo } from "@/api/hr/org/type";

4
src/components/DesignForm/public/form/newForm.vue

@ -3329,7 +3329,7 @@ const webPage = computed({
}
.twoPage{
display: grid;
grid-template-columns: 1fr minmax(150px, 250px); /* 左右最小150px,最大250px,中间自适应 */
grid-template-columns: 1fr minmax(150px, 400px); /* 左右最小150px,最大250px,中间自适应 */
grid-template-rows: auto;
gap: 10px;
max-width: 100%;
@ -3337,7 +3337,7 @@ const webPage = computed({
}
.treePage{
display: grid;
grid-template-columns: minmax(150px, 250px) 1fr minmax(150px, 250px); /* 左右最小150px,最大250px,中间自适应 */
grid-template-columns: minmax(150px, 400px) 1fr minmax(150px, 400px); /* 左右最小150px,最大250px,中间自适应 */
grid-template-rows: auto;
gap: 10px;
max-width: 100%;

13
src/components/DesignForm/tableListPage/newFormPageCont.vue

@ -160,7 +160,7 @@ const getCustomrrFormInfo = () => {
formState.formData = stringToObj(data.structure.mastesform);
console.log("获取自定义表单内容--state.formData->1", formState.formData);
if(isFlowTable.value){
extraW = 320
extraW = 150
}
if(formState.formData&&formState.formData.aiConfig&&formState.formData.aiConfig.length>0){
aiConfigArea.value=true
@ -178,7 +178,7 @@ const getCustomrrFormInfo = () => {
});
}
if(aiConfigArea.value){
extraW = extraW + 320
extraW = extraW + 150
}
console.log("获取自定义表单内容--drawBodyWidth.value->2", drawBodyWidth.value);
if (aiConfigArea.value && isFlowTable.value){
@ -489,7 +489,8 @@ const submitEdit = (type: string, val?: any) => {
}
.twoPageAi{
display: grid;
grid-template-columns: minmax(150px, 250px) 1fr; /* 左右最小150px,最大250px,中间自适应 */
grid-template-columns: minmax(150px, 400px) 1fr; /* 左右最小150px,最大250px,中间自适应 */
// grid-template-columns: 4fr 6fr; /* 150px250px */
grid-template-rows: auto;
gap: 10px;
max-width: 100%;
@ -497,7 +498,8 @@ const submitEdit = (type: string, val?: any) => {
}
.twoPageFlow{
display: grid;
grid-template-columns: 1fr minmax(150px, 250px); /* 左右最小150px,最大250px,中间自适应 */
grid-template-columns: 1fr minmax(150px, 400px); /* 左右最小150px,最大250px,中间自适应 */
// grid-template-columns: 4fr 1fr; /* 150px250px */
grid-template-rows: auto;
gap: 10px;
max-width: 100%;
@ -505,7 +507,8 @@ const submitEdit = (type: string, val?: any) => {
}
.treePage{
display: grid;
grid-template-columns: minmax(150px, 250px) 1fr minmax(150px, 250px); /* 左右最小150px,最大250px,中间自适应 */
grid-template-columns: minmax(150px, 400px) 1fr minmax(150px, 400px); /* 左右最小150px,最大250px,中间自适应 */
// grid-template-columns: 2fr 6fr 2fr; /* 150px250px */
grid-template-rows: auto;
gap: 10px;
max-width: 100%;

25
src/views/sysworkflow/lowcodepage/pageFlow/newTableFlow.vue

@ -155,7 +155,7 @@ const getTaskFormData = () => {
}
if(isFlowTable.value){
extraW = 320
extraW = 150
}
@ -187,7 +187,7 @@ const getTaskFormData = () => {
console.log("表单数据--state.formData->1", state.formData);
console.error("不存在流程--1--》",state.formData.aiConfig)
if(state.formData.aiConfig.length>0){
if(state.formData&&state.formData.aiConfig&&state.formData.aiConfig.length>0){
aiConfigArea.value=true
state.formData.aiConfig?.forEach((item: { library: any; title: any; trigger: any; }) => {
currentAgent.value.push({
@ -206,7 +206,7 @@ const getTaskFormData = () => {
if(aiConfigArea.value){
extraW = extraW + 320
extraW = extraW + 150
}
console.error("不存在流程--extraW--》",extraW)
if (aiConfigArea.value && isFlowTable.value){
@ -385,10 +385,10 @@ const beforeSubmit = (params: any) => {
@ 功能: 提交成功回调
*/
const afterSubmit = (type: string, val?: any) => {
// console.log("------------------>",type,val)
// console.log("------------------>",flowMap)
console.log("表单提交成功------------------>",type,val)
console.log("流程------------------>",flowMap)
if (type === "success") {
emits("searchquery");
if (isFlowTable.value) {
if (val.code == 0) {
if (val.data) {
@ -399,9 +399,16 @@ const afterSubmit = (type: string, val?: any) => {
};
startRunFlow(sendInfo).then((data: any) => {
console.log("流程提交成功--------1---------->",data)
emits("searchquery");
});
}else{
emits("searchquery");
}
}else{
emits("searchquery");
}
}else{
emits("searchquery");
}
}
closeAppSubmit();
@ -785,7 +792,7 @@ provide(constAiEffect, ({ key, value, field,rowdex}: any) => {
}
.twoPageAi{
display: grid;
grid-template-columns: minmax(150px, 250px) 1fr; /* 左右最小150px,最大250px,中间自适应 */
grid-template-columns: minmax(150px, 400px) 1fr; /* 左右最小150px,最大250px,中间自适应 */
grid-template-rows: auto;
gap: 10px;
max-width: 100%;
@ -793,7 +800,7 @@ provide(constAiEffect, ({ key, value, field,rowdex}: any) => {
}
.twoPageFlow{
display: grid;
grid-template-columns: 1fr minmax(150px, 250px); /* 左右最小150px,最大250px,中间自适应 */
grid-template-columns: 1fr minmax(150px, 400px); /* 左右最小150px,最大250px,中间自适应 */
grid-template-rows: auto;
gap: 10px;
max-width: 100%;
@ -801,7 +808,7 @@ provide(constAiEffect, ({ key, value, field,rowdex}: any) => {
}
.treePage{
display: grid;
grid-template-columns: minmax(150px, 250px) 1fr minmax(150px, 250px); /* 左右最小150px,最大250px,中间自适应 */
grid-template-columns: minmax(150px, 400px) 1fr minmax(150px, 400px); /* 左右最小150px,最大250px,中间自适应 */
grid-template-rows: auto;
gap: 10px;
max-width: 100%;

10
src/views/taskplatform/taskmanagement/lookFlowInfoNewApp.vue

@ -129,7 +129,7 @@ const gainFormData = () => {
.then((data: any) => {
let extraW=0;
if(isFlowTable.value){
extraW = 320
extraW = 150
}
if (data.data.logistrue) {
formState.formData.list.push(editLookFormCont);
@ -158,7 +158,7 @@ const gainFormData = () => {
});
}
if(aiConfigArea.value){
extraW = extraW + 320
extraW = extraW + 150
}
if (aiConfigArea.value && isFlowTable.value){
@ -378,7 +378,7 @@ const submitEdit = () => {
}
.twoPageAi{
display: grid;
grid-template-columns: minmax(150px, 250px) 1fr; /* 左右最小150px,最大250px,中间自适应 */
grid-template-columns: minmax(150px, 400px) 1fr; /* 左右最小150px,最大250px,中间自适应 */
grid-template-rows: auto;
gap: 10px;
max-width: 100%;
@ -386,7 +386,7 @@ const submitEdit = () => {
}
.twoPageFlow{
display: grid;
grid-template-columns: 1fr minmax(150px, 250px); /* 左右最小150px,最大250px,中间自适应 */
grid-template-columns: 1fr minmax(150px, 400px); /* 左右最小150px,最大250px,中间自适应 */
grid-template-rows: auto;
gap: 10px;
max-width: 100%;
@ -394,7 +394,7 @@ const submitEdit = () => {
}
.treePage{
display: grid;
grid-template-columns: minmax(150px, 250px) 1fr minmax(150px, 250px); /* 左右最小150px,最大250px,中间自适应 */
grid-template-columns: minmax(150px, 400px) 1fr minmax(150px, 400px); /* 左右最小150px,最大250px,中间自适应 */
grid-template-rows: auto;
gap: 10px;
max-width: 100%;

Loading…
Cancel
Save