Browse Source

修改BUG

qin_s5
herenshan112 2 weeks ago
parent
commit
790440973a
  1. 3
      src/api/DesignForm/type.ts
  2. 16
      src/components/DesignForm/assembly/index.ts
  3. 2
      src/components/DesignForm/public/form/formItem.vue
  4. 1
      src/components/DesignForm/tableListPage/newFormPageCont.vue
  5. 2
      src/views/sysworkflow/codepage/createform.vue
  6. 4
      src/views/sysworkflow/lowcodepage/appPage/appPageForm/pageFormNew.vue
  7. 305
      src/views/sysworkflow/lowcodepage/appPage/appPageForm/previewPage.vue
  8. 1
      src/views/sysworkflow/lowcodepage/appPage/createAppFormPage.vue
  9. 2
      src/views/sysworkflow/lowcodepage/pageFlow/flowStep.vue
  10. 1
      src/views/sysworkflow/lowcodepage/runApp/regularPage/myCreate.vue
  11. 19
      src/views/sysworkflow/lowcodepage/runApp/regularPage/myToDoPage.vue
  12. 1
      src/views/sysworkflow/lowcodepage/runApp/regularPage/sendCopy.vue
  13. 21
      src/views/taskplatform/taskmanagement/lookFlowInfoNewApp.vue
  14. 2
      src/views/taskplatform/taskmanagement/runNewFlowStep.vue

3
src/api/DesignForm/type.ts

@ -195,7 +195,8 @@ export interface searchUserListForm extends PageQuery{
export interface taskflowquery extends PageQuery{
title?: string; //任务标题
class?:number; //类型:1、我的请求;2、待办事宜;3、已办事宜;4:草稿箱
state?:number; //状态:状态:1、草稿;2:驳回;3:审批中;4:归档;5:删除
state?:number; //状态:状态:1、草稿;2:驳回;3:审批中;4:归档;5:删除
id?:string | number;
}
//编辑表单状态
export interface editFlowFormStatus{

16
src/components/DesignForm/assembly/index.ts

@ -308,8 +308,8 @@ export default [
},
{
type: 'select',
label: '下拉选择',
unitName: '下拉选择',
label: '下拉选择',
unitName: '下拉选择',
icon: 'select',
iconFont: 'fa-toggle-down',
control: {
@ -337,8 +337,8 @@ export default [
},
{
type: 'cascader',
label: '级联选择',
unitName: '级联选择',
label: '级联选择',
unitName: '级联选择',
icon: 'cascader',
iconFont: 'fa-sitemap',
control: {
@ -358,8 +358,8 @@ export default [
},
{
type: 'datePicker',
label: '日期选择',
unitName: '日期选择',
label: '日期选择',
unitName: '日期选择',
icon: 'todo',
iconFont: 'fa-calendar',
control: {
@ -379,8 +379,8 @@ export default [
},
{
type: 'timePicker',
label: '时间选择',
unitName: '时间选择',
label: '时间选择',
unitName: '时间选择',
icon: 'time',
iconFont: 'fa-clock-o',
control: {

2
src/components/DesignForm/public/form/formItem.vue

@ -1144,7 +1144,7 @@ const diGuiJilian = (val: any, options: any[]) => {
:tablekey="props.tablekey"
:numrun="props.numrun"
/>
<!--创建人-->
<!--创建人- Marcus 的全部常用数据能力接入stock-daily-report agent同时让这个Agent也接入浏览器skill能力 ->
<FounderForm
v-else-if="judgeIsShow(data.name) && data.type === 'founder'"
:data="data"

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

@ -361,6 +361,7 @@ const saveEditFormInfo = (type: string, val?: any) => {
@ 功能: 关闭操作
*/
const closeAppSubmit = () => {
console.log("关闭操作")
emits("update:isShow", false)
};
//

2
src/views/sysworkflow/codepage/createform.vue

@ -933,7 +933,7 @@ const editversionstaus = (id:string) =>{
<el-drawer
v-model="state.previewVisible"
title="预览"
title="c"
:append-to-body="true"
size="50%"
>

4
src/views/sysworkflow/lowcodepage/appPage/appPageForm/pageFormNew.vue

@ -57,6 +57,10 @@ const props = defineProps({
type: String,
default: "",
},
drawerWith: {
type: Number,
default: 900
},
formconfigcont: {
type: Object,
default() {

305
src/views/sysworkflow/lowcodepage/appPage/appPageForm/previewPage.vue

@ -4,7 +4,12 @@
@ 备注: 预览页面
-->
<script lang='ts' setup>
import { formStruct } from '@/api/DesignForm/types';
import { constAiEffect } from '@/api/DesignForm/utils';
import { nodePoweInfo } from '@/api/taskapi/types';
import FormDesign from '@/components/DesignForm/public/form/form.vue'
import FlowStep from "@/views/sysworkflow/lowcodepage/pageFlow/flowStep.vue";
import AiPage from "@/views/sysworkflow/lowcodepage/pageFlow/aiPage.vue";
const props = defineProps({
state:{
type:Object,
@ -12,6 +17,14 @@ const props = defineProps({
return {}
}
},
versiontitle: {
type: String,
default: "",
},
drawerwith: {
type: Number,
default: 900
},
isWeb:{
type:Boolean,
default(){
@ -21,7 +34,7 @@ const props = defineProps({
});
const emits = defineEmits<{
(e: 'update:state', val: any): void
(e: 'clickClose'): void
(e: 'clickClose', val: boolean): void
}>()
const state = computed({
get() {
@ -56,39 +69,305 @@ const previewSubmit = () => {
@ 时间: 2024-05-15 13:16:09
@ 功能: 关闭预览
*/
const clickClose = () => {
const clickClosePick = () => {
// console.log("")
emits('clickClose', false)
}
const formType = ref(1)
const drawTitle = computed(() => state.value.formData.form.formName)
const drawLoading = ref(false)
const aiConfigArea =ref(false)
const isFlowTable = ref(false); //
const currterNodePower = ref<nodePoweInfo[]>([])
const nodeKey = ref<string>("");
const flowLoading = ref(false); //loading
const flowMap = ref<any[]>(); //
const nextStep = ref<number>(0);
const drawBodyWidth = ref(props.drawerwith)
//-----------------------AI setting--------------------------
//AIform
//params subparams ; rowdex:
const currentAgent = ref<
{
model: boolean;
name: string;
rowdex:number,
uuid: string[];
fields: string[];
trigger: number;
params: { [key: string]: any };
subparams:{[key: string]: any}[];
}[]
>([]);
const aiassistRef = ref();
//AI
provide(constAiEffect, ({ key, value, field,rowdex}: any) => {
//ai_envents
const ai_events: Array<{ uuids: string[]; params: { [key: string]: any } }> = [];
currentAgent.value.forEach(ag=>{
if(ag.fields.includes(key)){ //trigger: 1: 2 3
if (rowdex!=null){//
ag.rowdex=rowdex //rowdex
if(rowdex>=ag.subparams.length){
ag.subparams.push({[field]:value})
}else{
ag.subparams[rowdex][field]=value
}
}else{ //, params
ag.params[field]=value; //keyfieldName
}
let mergedObj;
if(ag.subparams.length>0){
mergedObj = Object.assign({}, ag.params, ag.subparams[ag.rowdex]); //
}else{
mergedObj = ag.params
}
switch(ag.trigger){
case 2:
if(Object.keys(mergedObj).length>=ag.fields.length/2){
ai_events.push({uuids:ag.uuid,params:mergedObj })
}
break;
case 3:
if(Object.keys(mergedObj).length==ag.fields.length){
ai_events.push({uuids:ag.uuid,params:mergedObj})
}
break;
default:
ai_events.push({uuids:ag.uuid,params:mergedObj})
}
}
})
if(ai_events.length>0){
aiassistRef.value.onSendParamToAI(ai_events)
}
})
provide('flowNodePower', currterNodePower)
provide('currentNodeKey', nodeKey)
onMounted(()=>{
if(state.value.formData&&state.value.formData.aiConfig&&state.value.formData.aiConfig.length>0){
aiConfigArea.value=true
drawBodyWidth.value = 1080
}else{
drawBodyWidth.value = 780
}
})
</script>
<template>
<div>
<el-drawer
v-model="state.previewVisible"
title="预览"
:append-to-body="true"
size="1170"
:size="drawBodyWidth"
:with-header="false"
>
<FormDesign
ref="previewForm"
:type="1"
:form-data="state.formDataPreview"
:dict="state.formDict"
:is-web="props.isWeb"
/>
<template #footer>
<div v-loading="drawLoading" :class="aiConfigArea&&isFlowTable?'drawBody treePage':(aiConfigArea&&!isFlowTable)?'drawBody twoPageAi':(!aiConfigArea&&isFlowTable)?'drawBody twoPageFlow':'drawBody'">
<AiPage
v-if="state.type != 5 && aiConfigArea"
ref="aiassistRef"
:agent="currentAgent"
/>
<AppForm
ref="formEl"
:drawTitle="drawTitle"
:numrun="formType"
:form-data="state.formData"
:type="formType"
:dict="state.dict"
:close-app-submit="clickClosePick"
/>
</div>
<!-- <template #footer>
<div class="dialog-footer">
<el-button size="small" type="primary" @click="previewSubmit">
提交
</el-button>
<el-button size="small" @click="clickClose">
<el-button size="small" @click="clickClosePick">
取消
</el-button>
</div>
</template>
</template> -->
</el-drawer>
</div>
</template>
<style lang='scss' scoped>
.drawerClass{
:deep .el-drawer__header{
border-bottom: 1px solid #ECECEC;
}
}
.drawHeader {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
}
.drawBody{
width: 100%;
height: 100%;
padding: 10px 10px;
:deep .el-card{
border-radius: 15px;
}
:deep .el-card__header{
padding: 15px 15px;
}
:deep .el-card__body{
padding: 0;
}
:deep .el-card__footer{
padding: 10px 10px;
}
}
.twoPageAi{
display: grid;
grid-template-columns: minmax(150px, 300px) 1fr; /* 左右最小150px,最大250px,中间自适应 */
grid-template-rows: auto;
gap: 10px;
max-width: 100%;
margin: 0 auto;
}
.twoPageFlow{
display: grid;
grid-template-columns: 1fr minmax(150px, 300px); /* 左右最小150px,最大250px,中间自适应 */
grid-template-rows: auto;
gap: 10px;
max-width: 100%;
margin: 0 auto;
}
.treePage{
display: grid;
grid-template-columns: minmax(150px, 300px) 1fr minmax(150px, 300px); /* 左右最小150px,最大250px,中间自适应 */
grid-template-rows: auto;
gap: 10px;
max-width: 100%;
margin: 0 auto;
}
.svgBox{
background: linear-gradient(135deg, #0020C2, #4d6cff);
color: white;
width: 40px;
height: 40px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.2rem;
}
.card-header{
font-size: 1.4rem;
font-weight: 700;
color: #0020C2;
display: flex;
align-items: center;
gap: 10px;
}
.scroBox{
padding: 10px 15px;
height: calc(100vh - 200px);
}
.formBody{
width: 100%;
overflow-x: auto;
}
.flowBody{
padding: 10px 15px;
height: calc(100vh - 260px);
}
.bootemWorkFlow{
width: 100%;
text-align: center;
.bootemWorkFlowBut{
width: 100%;
padding: 10px 0;
text-align: center;
}
}
.btn {
padding: 14px 16px;
border-radius: 10px;
font-weight: 600;
font-size: 1rem;
cursor: pointer;
transition: all 0.3s;
border: none;
}
.btn:hover {
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(0, 32, 194, 0.15);
}
.approve-btn {
background: linear-gradient(135deg, #00cc66, #33dd88);
color: white;
}
.reject-btn {
background: linear-gradient(135deg, #ff3366, #ff5588);
color: white;
}
.bootemAi{
display: grid;
grid-template-columns: 1fr 50px; /* 左右最小150px,最大250px,中间自适应 */
grid-template-rows: auto;
gap: 10px;
max-width: 100%;
margin: 0 auto;
:deep .el-input__wrapper{
border-radius: 10px;
}
}
.ai-send-btn {
background: linear-gradient(135deg, #0020C2, #4d6cff);
color: white;
border: none;
width: 46px;
border-radius: 10px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.3s;
}
.ai-send-btn:hover {
background: linear-gradient(135deg, #0019a0, #3a5aff);
transform: translateY(-2px);
}
.ai-conversation {
flex: 1;
display: flex;
flex-direction: column;
gap: 15px;
margin-bottom: 20px;
}
.message {
padding: 12px 16px;
border-radius: 12px;
max-width: 90%;
line-height: 1.5;
}
.user-message {
background: #eef2ff;
align-self: flex-end;
border-top-right-radius: 4px;
border: 1px solid rgba(0, 32, 194, 0.2);
}
.ai-message {
background: linear-gradient(to right, #f0f5ff, #ffffff);
align-self: flex-start;
border-top-left-radius: 4px;
border: 1px solid rgba(0, 32, 194, 0.1);
}
</style>

1
src/views/sysworkflow/lowcodepage/appPage/createAppFormPage.vue

@ -262,6 +262,7 @@ onBeforeMount(() => {
:menu-id="menuId"
:group-key="props.groupKey"
:formconfigcont="formConfigCont"
:drawer-with="props.drawerWith"
/>
<!-- <PageForm
v-if="tabsActive == 1"

2
src/views/sysworkflow/lowcodepage/pageFlow/flowStep.vue

@ -192,7 +192,7 @@ const judgeNodeClass = (val:number,stepVal:number):string => {
<!--SvgIcon v-else icon-class="shenpi" size="25" /-->
</div>
<div class="step-content">
<h3 class="step-title">{{item.nodeName}}{{ props.currentProgress }}</h3>
<h3 class="step-title">{{item.nodeName}}</h3>
<div v-for="items in item.operator" :key="items.id" class="flowLogBox">
<div >

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

@ -17,6 +17,7 @@ import { gainAppAllTaskList } from "@/api/DesignForm/requestapi";
import NewFormPageCont from "@/components/DesignForm/tableListPage/newFormPageCont.vue";
import FormPageCont from "@/components/DesignForm/tableListPage/formPageContApp.vue";
import TableFlow from "@/views/sysworkflow/lowcodepage/pageFlow/appTableFlow.vue";
import { taskflowquery } from "@/api/DesignForm/type";
const props = defineProps({
pickAppMenu: {

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

@ -4,7 +4,7 @@
@ 备注: 待我处理
-->
<script lang="ts" setup>
import { gainAppTaskList } from "@/api/DesignForm/requestapi";
import { gainAppTaskList, taskFlowList } from "@/api/DesignForm/requestapi";
import { taskflowquery } from "@/api/DesignForm/type";
import LookAndOperateLogInfo from "@/views/taskplatform/taskmanagement/lookFlowInfoApp.vue";
@ -70,7 +70,7 @@ onMounted(() => {
@ 时间: 2024-06-17 08:13:56
@ 功能: 搜索
*/
const getToDoListTd = () => {
const v = () => {
getToDoList();
};
@ -87,6 +87,21 @@ const lookFlowInfo = (val: any, types: number) => {
darwOpenOrClose.value = true;
};
const searchQuery = () => {};
//
const getToDoListTd = () => {
loadingTd.value = true
taskFlowList(selectInfoTd)
.then((data:any)=>{
// console.log("",data)
totalstd.value = data.data.total
taskFlowAryTd.value = data.data.list
})
.finally(()=>{
loadingTd.value = false
})
}
</script>
<template>
<div ref="myappbox" class="app_box">

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

@ -5,6 +5,7 @@
-->
<script lang='ts' setup>
import { gainAppTaskList } from "@/api/DesignForm/requestapi"
import { taskflowquery } from "@/api/DesignForm/type";
import LookAndOperateLogInfo from '@/views/taskplatform/taskmanagement/lookFlowInfoApp.vue'
import LookAndOperateLogNewInfo from '@/views/taskplatform/taskmanagement/lookFlowInfoNewApp.vue'
const props = defineProps({

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

@ -5,37 +5,19 @@
-->
<script lang='ts' setup>
import {
submitButton,
afreshSubmitButton,
editFormCont,
draftSubmitButton,
editLookFormCont,
} from "@/utils/workflow/const";
import {
json2string,
objToStringify,
string2json,
stringToObj,
} from "@/utils/DesignForm/form";
import {
haveCustomerFormVersion,
generateFlow,
gainTaskFormInfo,
gainEditDataLog,
} from "@/api/taskapi/management";
import RunFlowStepApp from "@/views/taskplatform/taskmanagement/runFlowStepApp.vue";
import {
judgeSubmitCancel,
startRunFlow,
afreshRunFlow,
onlyPublishFlow,
gainEditFormFlowInfo,
} from "@/api/DesignForm/requestapi";
import FlowStep from "@/views/taskplatform/taskmanagement/flowStep.vue";
import { constAiEffect } from "@/api/DesignForm/utils";
import RunFlowStep from "@/views/taskplatform/taskmanagement/runNewFlowStep.vue";
@ -308,6 +290,7 @@ const submitEdit = () => {
:destroy-on-close="true"
:size="drawBodyWidth"
:close="drawerBeforeClose"
:with-header="false"
>
<template #header>
<div class="drawHeader">
@ -333,7 +316,7 @@ const submitEdit = () => {
edit-url="editFormContent"
:before-submit="beforeSubmit"
:after-submit="afterSubmit"
:close-app-submit="closeAppSubmit"
:close-app-submit="drawerBeforeClose"
:change-key-val="changeKeyVal"
:anew-submit="anewSubmit"
:save-edit-form-info="saveEditFormInfo"

2
src/views/taskplatform/taskmanagement/runNewFlowStep.vue

@ -239,7 +239,7 @@ defineExpose({gainRunFlowTask,anewSubmit})
<el-text v-if="logItem.cause" type="success" size="small">{{logItem.cause}}</el-text>
<el-text v-else type="success" size="small" >已同意</el-text>
</div>
<div v-if="logItem.state==3" class="step-info">
<div v-else-if="logItem.state==3" class="step-info">
<el-text v-if="logItem.cause" type="danger" size="small">{{logItem.cause}}</el-text>
<el-text v-else type="danger" size="small" >已驳回</el-text>
</div>

Loading…
Cancel
Save