Browse Source

修改BUG

qin_v9_master
超级管理员 1 year ago
parent
commit
dc5267f8b7
  1. 16
      src/api/DesignForm/requestapi.ts
  2. 75
      src/components/DesignForm/app/formPage.vue
  3. 7
      src/components/DesignForm/app/index.vue
  4. 2
      src/components/DesignForm/public/form/childTable.vue
  5. 2
      src/components/DesignForm/tableListPage/formPageCont.vue
  6. 374
      src/components/DesignForm/tableListPage/formPageContApp.vue
  7. 2
      src/styles/workflowcss/workflow.css
  8. 2
      src/styles/workflowcss/workflow.min.css
  9. 4
      src/styles/workflowcss/workflow.scss
  10. 1
      src/types/components.d.ts
  11. 1
      src/views/sysworkflow/lowcodepage/runApp/operationAction/AppEditPage.vue
  12. 223
      src/views/sysworkflow/lowcodepage/runApp/regularPage/myCreate.vue
  13. 229
      src/views/sysworkflow/lowcodepage/runApp/regularPage/myCreate_20240616.vue

16
src/api/DesignForm/requestapi.ts

@ -528,3 +528,19 @@ export function saveDraftAgain(data: any) {
data: data
});
}
//编辑任务
export function editCustomerTable(data: any) {
return request({
url: '/systemapi/task_management/editCustomerTable',
method: 'post',
data: data
});
}
//重新提交(有流程就发动流程,无流程就正常发表)
export function afreshAppSubmit(data: any) {
return request({
url: '/systemapi/task_flow/afreshAppSubmit',
method: 'post',
data: data
});
}

75
src/components/DesignForm/app/formPage.vue

@ -6,6 +6,7 @@
<script lang='ts' setup>
import '@/assets/scss/element-var.scss'
import '@/assets/scss/index.scss'
import { json2string,objToStringify,string2json,stringToObj } from '@/utils/DesignForm/form'
import { FormData,FormList,FormDataStyle } from '@/api/DesignForm/types'
import { useRoute, useRouter } from 'vue-router'
import { nodeFlow,conditionInfo,nodelPeoples } from '@/api/taskapi/types'
@ -19,7 +20,7 @@ import {
} from '@/api/DesignForm/utils'
import formatResult from '@/utils/DesignForm/formatResult'
import formChangeValue from '@/utils/DesignForm/formChangeValue'
import { judgeSubmitCancel,gainRunFlowStart,startRunFlow,saveDraftAgain } from '@/api/DesignForm/requestapi'
import { judgeSubmitCancel,gainRunFlowStart,startRunFlow,saveDraftAgain,afreshAppSubmit } from '@/api/DesignForm/requestapi'
import { notAsA_BasisForJudgment,asAnApprovalActionControl,fixedValueControl,timeControl,timeEquation,submitButton, afreshSubmitButton } from '@/utils/workflow/const'
import { jsonParseStringify } from '@/utils/DesignForm'
//
@ -96,6 +97,7 @@ const emits = defineEmits<{
(e: 'btnClick', type: string): void
(e: 'change', val: any): void //
(e: 'update:issave', type: boolean): void
(e: 'closePage', type: string): void
}>()
const route = useRoute()
@ -361,7 +363,7 @@ watch(() => props.options,(val:any) => {
*/
provide(constFormBtnEvent, (obj: any) => {
emits('btnClick', obj.key)
// xz
console.log("按钮组件事件-----2-------->",obj.key)
if ([3, 4, 5].includes(props.type)) {
return ElMessage.error('当前模式不能提交表单')
}
@ -385,6 +387,7 @@ provide(constFormBtnEvent, (obj: any) => {
saveDraftAgainSend()
break
case 'afreshSubmit': //
appAfreshSubmit()
break
case 'draftSubmit': //稿
@ -398,6 +401,57 @@ provide(constFormBtnEvent, (obj: any) => {
})
/**
@ 作者: 秦东
@ 时间: 2024-06-13 11:11:13
@ 功能: app重新提交表单
*/
const appAfreshSubmit = (params = {}) => {
let addUrl = props.formData.config?.addUrl || props.addUrl
console.log("自定义App提交表单", props.addUrl)
if (props.isSearch || !addUrl || loading.value) {
if (!props.isSearch && !addUrl) {
console.error(
new Error('请在表单设计处配置接口事件url或选择数据源或设置props')
)
}
return
}
validate((valid: boolean, fields: any) => {
if (valid) {
const formatParams = Object.assign({}, fields, params)
let submitParams
const beforeSubmit = props.formData.events?.beforeSubmit
if (beforeSubmit) {
if (typeof beforeSubmit === 'function') {
submitParams = beforeSubmit(formatParams, route)
} else {
submitParams = formatResult(formatParams, beforeSubmit)
}
}
if (props.beforeSubmit && typeof props.beforeSubmit === 'string') {
submitParams = formatResult(formatParams, props.beforeSubmit)
} else if (typeof props.beforeSubmit === 'function') {
submitParams = props.beforeSubmit(formatParams, route)
}
if (submitParams === false) {
return
}
formatParams.versionId=props.versionId
formatParams.appKey=props.groupid
formatParams.status=1
formatParams.flowList=json2string(flowMap.value)
console.log("submitParams--111->",submitParams )
console.log("formatParams--111->",formatParams)
afreshAppSubmit(submitParams??formatParams)
.then((data:any)=>{
console.log("app重新提交表单--112221->",data)
emits("closePage")
})
}
})
}
/**
@ 作者: 秦东
@ 时间: 2024-06-10 10:37:30
@ 功能: 再次保存草稿箱
*/
@ -435,12 +489,14 @@ const saveDraftAgainSend = (params = {}) => {
formatParams.versionId=props.versionId
formatParams.appKey=props.groupid
formatParams.status=1
console.log("submitParams--111->",submitParams )
console.log("formatParams--111->",formatParams)
console.log("submitParams--111221->",submitParams )
console.log("formatParams--1112222->",formatParams)
saveDraftAgain(submitParams??formatParams)
.then((data:any)=>{
console.log("提交草稿数据--111->",data)
console.log("提交草稿数据--112221->",data)
emits("closePage")
})
}else{
afterSubmit('validate', fields)
@ -758,7 +814,14 @@ const getValue = (filter?: boolean) => {
return model.value
}
}
/**
@ 作者: 秦东
@ 时间: 2024-06-13 16:06:26
@ 功能: 关闭抽屉
*/
const closePage = () =>{
}
/**
@ 作者: 秦东
@ 时间: 2024-06-06 13:18:58
@ -950,7 +1013,7 @@ defineExpose({
validate,
resetFields,
appFormSubmit,
closePage,
// getData, //
// anewSubmit,
// saveDraftPage,

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

@ -412,9 +412,10 @@ const submitApproval = (val:any) => {
@ 功能: 撤回申请
*/
const withdrawApplication = (val:any) => {
// console.log("", val);
console.log("撤回申请", val);
let sendInfo = {
id: val.masters_key,
// id: val.masters_key,
id: val.runFlowId
}
retractRunWorkFlow(sendInfo)
.then((data)=>{
@ -779,7 +780,7 @@ const editFormSendFlow = (val:any) => {
>
<el-button type="info" size="small" class="fa fa-edit" />
</el-tooltip>
</el-button-group>
</el-button-group>
</el-col>

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

@ -21,6 +21,7 @@ const props = withDefaults(
)
const formProps = inject(constFormProps, {}) as any
const tableDataNew = computed(() => {
console.log("如果编辑页禁用时-----1123---->",props.data.name)
return formProps.value.model[props.data.name]
})
const type = computed(() => {
@ -31,6 +32,7 @@ const editDisabled = computed(() => {
return formProps.value.type === 2 && props.data.config?.editDisabled
})
const addColumn = () => {
console.log("如果编辑页禁用时--------->",tableDataNew.value)
const temp: any = {}
if (props.data.list) {
props.data.list.forEach((item: any) => {

2
src/components/DesignForm/tableListPage/formPageCont.vue

@ -288,7 +288,7 @@ const submitEdit = (type: string,val?:any) => {
</div>
</el-header>
<el-scrollbar class="scorllbarBox">
<RunFlowStep ref="runstep" v-model:flowary="flowAry" :flow-key="props.pageInfo.masters_key" :current-progress="currentProgress" @updatelist="drawerBeforeClose" />
<RunFlowStep ref="runstep" v-model:flowary="flowAry" :flow-key="props.pageInfo.runFlowId" :current-progress="currentProgress" @updatelist="drawerBeforeClose" />
</el-scrollbar>
</el-aside>

374
src/components/DesignForm/tableListPage/formPageContApp.vue

@ -0,0 +1,374 @@
<!--
@ 作者: 秦东
@ 时间: 2024-04-03 13:39:16
@ 备注: app专用列表内容展示
-->
<script lang='ts' setup>
import { submitButton, afreshSubmitButton,editFormCont,draftSubmitButton,editLookFormCont } from "@/utils/workflow/const";
import { json2string,objToStringify,string2json,stringToObj } from '@/utils/DesignForm/form'
import { gainTaskFormInfo,generateFlow,gainEditDataLog,draftsInitiateApproval,afreshRunWorkflow } from '@/api/taskapi/management'
import { Close } from '@element-plus/icons-vue'
import { judgeSubmitCancel,startRunFlow } from '@/api/DesignForm/requestapi'
import { submitButtonEs } from '@/api/DesignForm/tableButton'
import RunFlowStep from '@/views/taskplatform/taskmanagement/runFlowStep.vue'
const props = defineProps({
isShow:{
type:Boolean,
default:false,
},
drawerWith:{
type:Number,
default:0
},
tablePageClass:{
type:Number,
default:1
},
operState:{
type:Number,
default:1
},
pageInfo:{
type:Object,
default(){
return {}
}
}
});
const formEl = ref<any>();
const emits = defineEmits(["update:isShow","getPageData"]);
const formLoading = ref(false);
const flowAry = ref<any[]>(); //
const currentProgress = ref<number>(1); //
const runstep = ref(null)
//ID
const openOfClose = computed({
get() {
return props.isShow
},
set(val: boolean) {
emits('update:isShow', val)
}
});
/**
@ 作者: 秦东
@ 时间: 2024-04-03 14:09:24
@ 功能: 监听状态变化处理数据
*/
watch(()=>props.isShow,(val:bool)=>{
console.log("监听状态变化处理数据",props.pageInfo)
if(val){
formLoading.value = true;
getCustomrrFormInfo();
}
})
/**
@ 作者: 秦东
@ 时间: 2024-04-03 14:25:15
@ 功能: 关闭抽屉
*/
const closeDrawer = () => {
emits('update:isShow', false)
}
//
const formState = reactive({
formData: {
list: [],
form: {},
config: {}
},
dict: {},
formId: props.pageInfo.idStr,
id: 1,
loading: true
})
const pageLog = ref<any[]>([])
/**
@ 作者: 秦东
@ 时间: 2024-04-03 14:33:15
@ 功能: 获取自定义表单内容
*/
const getCustomrrFormInfo = () => {
gainTaskFormInfo({id:props.pageInfo.mastersKeyStr})
.then(({data})=>{
// console.log("",data,data.structure)
formState.formData = stringToObj(data.structure.mastesform)
// console.log("--->",formState)
formState.dict = string2json(data.structure.dict)
// formState.formData.list.push(editLookFormCont)
if(props.tablePageClass != 4){
judgeSubmitCancel({"name":data.structure.mastesformjson})
.then((data:any) =>{
if(data.code == 0){
if (data.data == 3 || data.data == 4){
// formState.formData.list.push(submitButtonEs)
if(props.operState == 2){
formState.formData.list.push(afreshSubmitButton)
}else if(props.operState == 3){
formState.formData.list.push(editFormCont)
}else if(props.operState == 4){
formState.formData.list.push(draftSubmitButton)
}else if(props.operState == 5){
formState.formData.list.push(submitButtonEs)
}
}
}
})
}
nextTick(()=>{
// console.log("-1111-->",data.tableData)
formEl.value.setValue(data.tableData)
})
})
.finally(()=>{
formLoading.value = false;
gainEditDataLog({id:props.pageInfo.mastersKeyStr})
.then(({data})=>{
console.log("获取修改记录-1111-->",data)
pageLog.value = data.logAry
});
})
}
/**
@ 作者: 秦东
@ 时间: 2024-04-07 10:55:34
@ 功能: 表单动作回调
*/
const afterSubmit = (type: string) => {
console.log("表单提交成功")
if (type === 'success') {
// router.go(-1)
// console.log("")
emits("getPageData");
closeDrawer();
}
}
const closeAppSubmit = () => {
closeDrawer()
}
//
const drawerBeforeClose = () => {
console.log("监听打开关闭",false)
// emits("getmytodolist")
// emits("update:isshow", false);
}
//
const sendDraftSubmit = (type: string,val?:any) => {
console.log("提交审批",type,val)
// emits("getmytodolist")
if (type === 'success') {
if(props.pageInfo.types == 1){
let sendInfo ={
id:val.data.runFlowId,
flowList:flowAry.value,
state:3
}
console.log("草稿提交审批--1-<",sendInfo)
draftsInitiateApproval(sendInfo)
.then((data:any) =>{
console.log("草稿提交审批---<",sendInfo,data)
if(data.code == 0){
ElMessage.success(data.msg || '提交成功!')
if(runstep.value){
runstep.value.gainRunFlowTask()
}
emits("getPageData");
closeDrawer()
}
})
}
}
}
//稿()
const saveEditFormInfo = (type: string,val?:any) => {
console.log("草稿提交审批--1-<",type,val)
if(type == "success"){
runstep.value.gainRunFlowTask()
emits("getPageData");
closeDrawer()
}
}
//
const anewSubmit = (type: string,val?:any) => {
if(type == "success"){
afreshRunWorkflow({id:val.data.flowkeys})
.then((data:any) => {
console.log("重新提交数据---<",data,runstep.value)
runstep.value.gainRunFlowTask()
})
.finally(() => {
emits("getPageData");
closeDrawer()
})
}
}
/**
@ 作者: 秦东
@ 时间: 2024-04-11 11:35:24
@ 功能: 申请修改
*/
//
const submitEdit = (type: string,val?:any) => {
// console("----->",type,val)
if(type == "success"){
runstep.value.gainRunFlowTask()
emits("getPageData");
closeDrawer()
}
}
</script>
<template>
<el-drawer
v-model="openOfClose"
title="查看表单内容"
:size="drawerWith"
:with-header="false"
:close-on-click-modal="false"
:close-on-press-escape="false"
:destroy-on-close="true"
>
<div v-if="props.pageInfo.types==1" class="common-layout">
<el-container>
<el-main>
<ak-form
ref="formEl"
v-loading="formLoading" element-loading-text="Loading..."
:form-data="formState.formData"
:type="props.tablePageClass"
:dict="formState.dict"
request-url="getFormContent"
add-url="saveFormContent"
edit-url="editFormContent"
:before-submit="beforeSubmit"
:close-app-submit="closeDrawer"
:change-key-val="changeKeyVal"
:anew-submit = "anewSubmit"
:save-edit-form-info="saveEditFormInfo"
:send-draft-submit= "sendDraftSubmit"
:after-submit="afterSubmit"
:submit-edit="submitEdit"
/>
<el-divider v-if="pageLog&&pageLog.length > 0" content-position="left">历史记录</el-divider>
<el-timeline style="width: 100%">
<el-timeline-item v-for="(item,index) in pageLog" :key="index" :timestamp="item.time+' 操作人:'+item.creater" placement="top">
<el-card>
<el-descriptions border>
<el-descriptions-item v-for="(mastItem,mastIndex) in item.masterdata" :key="mastIndex" :label="mastIndex">
{{mastItem}}
</el-descriptions-item>
</el-descriptions>
<el-tabs v-if="item.sunList" type="border-card" style="margin-top:20px;">
<el-tab-pane v-for="(sonItem,sonIndex) in item.sunList" :label="sonIndex" :key="sonIndex">
<el-descriptions v-for="(sonVal,sonIndex) in sonItem" :key="sonIndex" border>
<el-descriptions-item v-for="(sonCentor,sonKey) in sonVal" :key="sonKey" :label="sonKey"> {{sonCentor}}
</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
</el-tabs>
</el-card>
</el-timeline-item>
</el-timeline>
</el-main>
<el-aside width="350px" class="flowBox">
<el-header height="30px">
<div class="workFlowHead">
<el-text>审批流程</el-text>
<el-icon @click="closeDrawer"><Close /></el-icon>
</div>
</el-header>
<el-scrollbar class="scorllbarBox">
<RunFlowStep ref="runstep" v-model:flowary="flowAry" :flow-key="props.pageInfo.runFlowIdStr" :current-progress="currentProgress" @updatelist="drawerBeforeClose" />
</el-scrollbar>
</el-aside>
</el-container>
</div>
<div v-else class="common-layout">
<el-header height="30px">
<el-icon @click="closeDrawer"><Close /></el-icon>
</el-header>
<ak-form
ref="formEl"
v-loading="formLoading" element-loading-text="Loading..."
:form-data="formState.formData"
:type="props.tablePageClass"
:dict="formState.dict"
request-url="getFormContent"
add-url="saveFormContent"
edit-url="editFormContent"
:before-submit="beforeSubmit"
:close-app-submit="closeDrawer"
:change-key-val="changeKeyVal"
:anew-submit = "anewSubmit"
:after-submit="afterSubmit"
:save-edit-form-info="saveEditFormInfo"
:send-draft-submit= "sendDraftSubmit"
:submit-edit="submitEdit"
/>
<el-divider v-if="pageLog&&pageLog.length > 0" content-position="left">历史记录</el-divider>
<el-timeline style="width: 100%">
<el-timeline-item v-for="(item,index) in pageLog" :key="index" :timestamp="item.time+' 操作人:'+item.creater" placement="top">
<el-card>
<el-descriptions border>
<el-descriptions-item v-for="(mastItem,mastIndex) in item.masterdata" :key="mastIndex" :label="mastIndex">
{{mastItem}}
</el-descriptions-item>
</el-descriptions>
<el-tabs v-if="item.sunList" type="border-card" style="margin-top:20px;">
<el-tab-pane v-for="(sonItem,sonIndex) in item.sunList" :label="sonIndex" :key="sonIndex">
<el-descriptions v-for="(sonVal,sonIndex) in sonItem" :key="sonIndex" border>
<el-descriptions-item v-for="(sonCentor,sonKey) in sonVal" :key="sonKey" :label="sonKey"> {{sonCentor}}
</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
</el-tabs>
</el-card>
</el-timeline-item>
</el-timeline>
</div>
</el-drawer>
</template>
<style lang='scss' scoped>
.common-layout{
height: 100vh;
padding: 0 15px;
.el-main{
height: 100vh;
padding:0;
}
.flowBox{
height: 100vh;
border-left: 1px solid #ccc;
.scorllbarBox{
height: calc(100vh - 35px)
}
.workFlowHead{
display: flex;
align-items: center;
justify-content: space-between;
}
}
.el-header{
padding:0 10px;
line-height:30px;
text-align:right;
font-size:20px;
i{
cursor:pointer;
}
}
}
</style>

2
src/styles/workflowcss/workflow.css

@ -922,8 +922,6 @@ html {
@font-face {
font-family: IconFont;
src: url("//at.alicdn.com/t/font_135284_ph2thxxbzgf.eot");
src: url("//at.alicdn.com/t/font_135284_ph2thxxbzgf.eot?#iefix") format("embedded-opentype"), url("//at.alicdn.com/t/font_135284_ph2thxxbzgf.woff") format("woff"), url("//at.alicdn.com/t/font_135284_ph2thxxbzgf.ttf") format("truetype"), url("//at.alicdn.com/t/font_135284_ph2thxxbzgf.svg#IconFont") format("svg");
}
.iconfont {

2
src/styles/workflowcss/workflow.min.css

File diff suppressed because one or more lines are too long

4
src/styles/workflowcss/workflow.scss

@ -918,8 +918,8 @@ html {
@font-face {
font-family: IconFont;
src: url("//at.alicdn.com/t/font_135284_ph2thxxbzgf.eot");
src: url("//at.alicdn.com/t/font_135284_ph2thxxbzgf.eot?#iefix") format("embedded-opentype"), url("//at.alicdn.com/t/font_135284_ph2thxxbzgf.woff") format("woff"), url("//at.alicdn.com/t/font_135284_ph2thxxbzgf.ttf") format("truetype"), url("//at.alicdn.com/t/font_135284_ph2thxxbzgf.svg#IconFont") format("svg")
// src: url("//at.alicdn.com/t/font_135284_ph2thxxbzgf.eot");
// src: url("//at.alicdn.com/t/font_135284_ph2thxxbzgf.eot?#iefix") format("embedded-opentype"), url("//at.alicdn.com/t/font_135284_ph2thxxbzgf.woff") format("woff"), url("//at.alicdn.com/t/font_135284_ph2thxxbzgf.ttf") format("truetype"), url("//at.alicdn.com/t/font_135284_ph2thxxbzgf.svg#IconFont") format("svg")
}
.iconfont {

1
src/types/components.d.ts

@ -115,6 +115,7 @@ declare module '@vue/runtime-core' {
FormItem: typeof import('./../components/DesignForm/public/form/formItem.vue')['default']
FormPage: typeof import('./../components/DesignForm/app/formPage.vue')['default']
FormPageCont: typeof import('./../components/DesignForm/tableListPage/formPageCont.vue')['default']
FormPageContApp: typeof import('./../components/DesignForm/tableListPage/formPageContApp.vue')['default']
FormVersion: typeof import('./../components/DesignForm/formVersion.vue')['default']
FormWord: typeof import('./../components/workflow/dialog/formWord.vue')['default']
GithubCorner: typeof import('./../components/GithubCorner/index.vue')['default']

1
src/views/sysworkflow/lowcodepage/runApp/operationAction/AppEditPage.vue

@ -122,6 +122,7 @@ watch(()=>props.isOpen,(val:Boolean)=>{
:sign-code="props.taskInfo.signCode"
:version-id="props.taskInfo.versionIdStr"
add-url="addData"
@close-page="drawerBeforeClose"
/>
</el-drawer>
</template>

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

@ -4,9 +4,13 @@
@ 备注: 我创建的
-->
<script lang='ts' setup>
import { softDeletion,retractRunWorkFlow } from '@/api/taskapi/management'
import { gainAppAllTaskList } from "@/api/DesignForm/requestapi"
//
import FormPageCont from '@/components/DesignForm/tableListPage/formPageContApp.vue'
import TableFlow from '@/views/sysworkflow/lowcodepage/pageFlow/appTableFlow.vue'
const props = defineProps({
pickAppMenu:{
type:Object,
@ -22,6 +26,7 @@ const selectInfo = reactive<taskflowquery>({
class:1,
id:props.pickAppMenu.appkey
})
const operState = ref<number>(1) // 1234;5:
const loading = ref(false)
const searckFormRef = ref(ElForm);
const totals = ref<number>(0) //
@ -55,9 +60,121 @@ const getToDoList = () =>{
onMounted(() =>{
getToDoList()
})
const container = ref() //
const drawerWith = ref(); //
const openTaskDrawer = ref(false) //
/**
@ 作者: 秦东
@ 时间: 2024-04-03 13:24:06
@ 功能: 查看详细内容
*/
const tablePageClass = ref(1)
const lookPageInfoIsShow = ref(false)
const pageInfoCont = ref<any>()
const lookPageInfo = (val:any) => {
tablePageClass.value = 4;
pageInfoCont.value = val
drawerWith.value = container.value?.clientWidth
lookPageInfoIsShow.value = true;
}
/**
@ 作者: 秦东
@ 时间: 2024-04-05 11:29:50
@ 功能: 编辑表单内容
*/
const editInfo = (val:any) => {
console.log('修改数据!',val)
operState.value = 5;
tablePageClass.value = 2;
pageInfoCont.value = val
drawerWith.value = container.value?.clientWidth
lookPageInfoIsShow.value = true;
}
/**
@ 作者: 秦东
@ 时间: 2024-04-10 15:32:55
@ 功能: 提交审批
*/
const submitApproval = (val:any) => {
operState.value = 4
tablePageClass.value = 2;
pageInfoCont.value = val
drawerWith.value = container.value?.clientWidth
lookPageInfoIsShow.value = true;
}
/**
@ 作者: 秦东
@ 时间: 2024-04-11 09:36:59
@ 功能: 撤回申请
*/
const withdrawApplication = (val:any) => {
console.log("撤回申请", val);
let sendInfo = {
id: val.runFlowIdStr,
}
retractRunWorkFlow(sendInfo)
.then((data)=>{
ElMessage({
message: '撤回成功!',
type: 'success'
})
getToDoList()
})
}
/**
@ 作者: 秦东
@ 时间: 2024-04-11 11:17:42
@ 功能: 重新提交申请
*/
const afreshSendFlow = (val:any) => {
operState.value = 2
tablePageClass.value = 2;
pageInfoCont.value = val
drawerWith.value = container.value?.clientWidth
lookPageInfoIsShow.value = true;
}
/**
@ 作者: 秦东
@ 时间: 2024-04-11 11:19:21
@ 功能: 申请修改数据
*/
const editFormSendFlow = (val:any) => {
operState.value = 3
tablePageClass.value = 2;
pageInfoCont.value = val
drawerWith.value = container.value?.clientWidth
lookPageInfoIsShow.value = true;
}
const cancelEvent = (val:any) => {
console.log('cancel!',val)
}
/**
@ 作者: 秦东
@ 时间: 2024-04-03 13:13:56
@ 功能: 列表信息删除信息
*/
const confirmEvent = (val:any) => {
let sendData = {
id:[val.mastersKeyStr],
isTrue:2
}
softDeletion(sendData)
.then((data)=>{
console.log('cancel!',data)
ElNotification({
title: '温馨提示!',
message: data.mag,
type: 'success',
})
getToDoList()
})
}
</script>
<template>
<div ref="myappbox" class="app_box">
<div ref="container" class="app_box">
<div class="app-container">
<div class="search">
<div class="titleBox">
@ -106,7 +223,7 @@ onMounted(() =>{
草稿
</el-tag>
<el-tag
v-else-if="scope.row.status==2"
v-else-if="scope.row.status==2&&scope.row.types==1"
type="danger"
class="mx-1"
effect="plain"
@ -114,6 +231,15 @@ onMounted(() =>{
>
驳回
</el-tag>
<el-tag
v-else-if="scope.row.status==2&&scope.row.types!=1"
type="danger"
class="mx-1"
effect="plain"
round
>
发表
</el-tag>
<el-tag
v-else-if="scope.row.status==3"
type="success"
@ -166,16 +292,84 @@ onMounted(() =>{
</template>
</el-table-column>
<el-table-column fixed="right" align="center" label="操作" width="100" >
<el-table-column fixed="right" align="center" label="操作" width="200" >
<template #default="scope">
<el-tooltip
class="box-item"
effect="dark"
content="查看详情"
placement="top-end"
>
<el-button type="primary" size="small" class="fa fa-eye" @click="lookFlowInfo(scope.row,3)" />
</el-tooltip>
<el-button-group>
<el-tooltip
v-if="scope.row.types==1&&scope.row.status==1"
class="box-item"
effect="dark"
content="提交审批"
placement="top-end"
>
<el-button type="success" size="small" class="fa fa-send-o" @click="submitApproval(scope.row)" />
</el-tooltip>
<el-tooltip
v-if="scope.row.types==1&&scope.row.status==2"
class="box-item"
effect="dark"
content="重新申请"
placement="top-end"
>
<el-button type="warning" size="small" class="fa fa-retweet" @click="afreshSendFlow(scope.row)" />
</el-tooltip>
<el-tooltip
class="box-item"
effect="dark"
content="查看详情"
placement="top-end"
>
<el-button @click="lookPageInfo(scope.row)" type="primary" size="small" class="fa fa-eye" />
</el-tooltip>
<el-popconfirm
v-if="scope.row.types==1&&scope.row.isRetract"
confirm-button-text="确定"
cancel-button-text="取消"
:icon="QuestionFilled"
icon-color="#F56C6C"
title="您确定要撤回此次申请?一经撤回!需要此流程重新提交申请!"
@confirm="withdrawApplication (scope.row)"
@cancel="cancelEvent(scope.row)"
>
<template #reference>
<el-button size="small" class="fa fa-reply-all" />
</template>
</el-popconfirm>
<el-tooltip
v-if="scope.row.types==2"
class="box-item"
effect="dark"
content="编辑"
placement="top-end"
>
<el-button @click="editInfo(scope.row)" type="info" size="small" class="fa fa-edit" />
</el-tooltip>
<el-popconfirm
v-if="scope.row.status==2||scope.row.status==1"
confirm-button-text="确定"
cancel-button-text="取消"
:icon="QuestionFilled"
icon-color="#F56C6C"
title="您确定要删除此条记录?一经删除!数据将不可恢复!"
@confirm="confirmEvent(scope.row)"
@cancel="cancelEvent(scope.row)"
>
<template #reference>
<el-button type="danger" size="small" class="fa fa-trash-o" />
</template>
</el-popconfirm>
<el-tooltip
v-if="scope.row.types==1&&scope.row.status==4"
class="box-item"
effect="dark"
content="申请修改"
placement="top-end"
>
<el-button type="info" size="small" class="fa fa-edit" @click="editFormSendFlow(scope.row)" />
</el-tooltip>
</el-button-group>
</template>
</el-table-column>
</el-table>
@ -189,7 +383,10 @@ onMounted(() =>{
<FormPageCont v-model:is-show="lookPageInfoIsShow" :drawer-with="drawerWith" :page-info="pageInfoCont" :table-page-class="tablePageClass" :oper-state="operState" @getPageData="getToDoList" />
<TableFlow v-model:isopen="openTaskDrawer" :versionid="props.versionid" :versiontitle="props.versiontitle" :drawerwith="drawerWith" :pick-app-menu="pickAppMenu" @searchquery="getListData" />
</div>

229
src/views/sysworkflow/lowcodepage/runApp/regularPage/myCreate_20240616.vue

@ -0,0 +1,229 @@
<!--
@ 作者: 秦东
@ 时间: 2024-05-31 13:59:06
@ 备注: 我创建的
-->
<script lang='ts' setup>
import { gainAppAllTaskList } from "@/api/DesignForm/requestapi"
const props = defineProps({
pickAppMenu:{
type:Object,
default(){
return {}
}
}
});
const selectInfo = reactive<taskflowquery>({
page: 1,
pagesize: 20,
class:1,
id:props.pickAppMenu.appkey
})
const loading = ref(false)
const searckFormRef = ref(ElForm);
const totals = ref<number>(0) //
const taskFlowAry = ref<any>([]) //
//
const resetQuery = () =>{
searckFormRef.value.resetFields();
initData();
}
//
const initData = () =>{
selectInfo.page = 1;
selectInfo.pagesize = 15;
selectInfo.title = ""
selectInfo.class = 3;
selectInfo.state = 0;
}
/**
@ 作者: 秦东
@ 时间: 2024-06-07 09:28:35
@ 功能: 加载数据
*/
const getToDoList = () =>{
gainAppAllTaskList(selectInfo)
.then((data) =>{
console.log("加载数据--->",data)
totals.value = data.data.total
taskFlowAry.value = data.data.list
})
}
onMounted(() =>{
getToDoList()
})
</script>
<template>
<div ref="myappbox" class="app_box">
<div class="app-container">
<div class="search">
<div class="titleBox">
我创建的
</div>
<el-form ref="searckFormRef" :model="selectInfo" :inline="true">
<el-form-item label="任务标题" prop="name">
<el-input
v-model="selectInfo.title"
placeholder="请输入任务标题"
clearable
@keyup.enter="searchQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="getToDoList()"><i-ep-search />搜索</el-button>
<el-button @click="resetQuery()"><i-ep-refresh />重置</el-button>
</el-form-item>
</el-form>
</div>
<el-card shadow="never">
<el-table
v-loading="loading"
element-loading-text="Loading..."
highlight-current-row
:data="taskFlowAry"
border
class="table_box"
>
<el-table-column fixed label="标题" prop="title" width="500" />
<el-table-column label="创建人" prop="creater" width="200">
<template #default="scope">
{{ scope.row.createrInfo.name }}<el-text type="info">{{ scope.row.createrInfo.number }}</el-text>
</template>
</el-table-column>
<el-table-column label="发起日期" prop="createrTimeStr" align="center" width="300" />
<el-table-column label="状态" prop="status" align="center" width="220" >
<template #default="scope">
<el-tag
v-if="scope.row.status==1"
class="mx-1"
effect="plain"
round
>
草稿
</el-tag>
<el-tag
v-else-if="scope.row.status==2&&scope.row.types==1"
type="danger"
class="mx-1"
effect="plain"
round
>
驳回
</el-tag>
<el-tag
v-else-if="scope.row.status==2&&scope.row.types!=1"
type="danger"
class="mx-1"
effect="plain"
round
>
发表
</el-tag>
<el-tag
v-else-if="scope.row.status==3"
type="success"
class="mx-1"
effect="plain"
round
>
审批中
</el-tag>
<el-tag
v-else-if="scope.row.status==4"
type="info"
class="mx-1"
effect="plain"
round
>
归档
</el-tag>
<el-tag
v-else
type="info"
class="mx-1"
effect="plain"
round
>
删除
</el-tag>
</template>
</el-table-column>
<el-table-column label="任务性质" prop="currentStep" width="200" align="center">
<template #default="scope">
<el-tag
v-if="scope.row.types==1"
type="danger"
class="mx-1"
effect="plain"
round
>
流程任务
</el-tag>
<el-tag
v-else
class="mx-1"
effect="plain"
round
>
普通任务
</el-tag>
</template>
</el-table-column>
<el-table-column fixed="right" align="center" label="操作" width="100" >
<template #default="scope">
<el-tooltip
class="box-item"
effect="dark"
content="查看详情"
placement="top-end"
>
<el-button type="primary" size="small" class="fa fa-eye" @click="lookFlowInfo(scope.row,3)" />
</el-tooltip>
</template>
</el-table-column>
</el-table>
<pagination
v-model:total="totals"
v-model:page="selectInfo.page"
v-model:limit="selectInfo.pagesize"
@pagination="getToDoList"
/>
</el-card>
</div>
</div>
</template>
<style lang='scss' scoped>
.app_box{
width:100%;
overflow: hidden;
overflow-y: auto;
.search{
display: flex;
align-items: center;
justify-content: space-between;
}
.titleBox{
font-size: 20px;
margin-top: -20px;
}
}
.box-card {
width: 100%;
}
.table_box{
width: 100%;
height: calc(100vh - 260px);
}
</style>
Loading…
Cancel
Save