|
|
@@ -20,14 +20,6 @@
|
|
|
</el-card>
|
|
|
</el-col>
|
|
|
<el-col :lg="20" :xs="24">
|
|
|
- <!-- <div class="mb-[10px]">
|
|
|
- <el-card shadow="hover" class="text-center">
|
|
|
- <el-radio-group v-model="tab" @change="changeTab(tab)">
|
|
|
- <el-radio-button value="running">运行中</el-radio-button>
|
|
|
- <el-radio-button value="finish">已完成</el-radio-button>
|
|
|
- </el-radio-group>
|
|
|
- </el-card>
|
|
|
- </div>-->
|
|
|
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
|
|
|
<div v-show="showSearch" class="mb-[10px]">
|
|
|
<el-card shadow="hover">
|
|
|
@@ -154,8 +146,8 @@
|
|
|
</el-table>
|
|
|
</el-dialog>
|
|
|
<!-- 流程变量开始 -->
|
|
|
- <el-dialog v-model="variableVisible" draggable title="流程变量" width="60%" :close-on-click-modal="false">
|
|
|
- <el-card v-loading="variableLoading" class="box-card">
|
|
|
+ <el-dialog v-model="variableVisible" v-if="variableVisible" draggable title="流程变量" width="60%" :close-on-click-modal="false">
|
|
|
+ <el-card v-loading="variableLoading">
|
|
|
<template #header>
|
|
|
<div class="clearfix">
|
|
|
<span
|
|
|
@@ -167,6 +159,19 @@
|
|
|
<VueJsonPretty :data="formatToJsonObject(variables)" />
|
|
|
</div>
|
|
|
</el-card>
|
|
|
+ <el-card v-loading="variableLoading">
|
|
|
+ <el-form ref="ruleFormRef" :model="form" :inline="true" :rules="rules" label-width="120px">
|
|
|
+ <el-form-item label="变量KEY" prop="key">
|
|
|
+ <el-input v-model="form.key" placeholder="请输入变量KEY" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="变量值" prop="value">
|
|
|
+ <el-input v-model="form.value" placeholder="请输入变量值" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" @click="handleVariable(ruleFormRef)">确认</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </el-card>
|
|
|
</el-dialog>
|
|
|
<!-- 流程变量结束 -->
|
|
|
|
|
|
@@ -176,7 +181,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
-import { pageByRunning, pageByFinish, deleteByInstanceIds, instanceVariable, invalid } from '@/api/workflow/instance';
|
|
|
+import { pageByRunning, pageByFinish, deleteByInstanceIds, instanceVariable, invalid, updateVariable } from '@/api/workflow/instance';
|
|
|
import { categoryTree } from '@/api/workflow/category';
|
|
|
import { CategoryTreeVO } from '@/api/workflow/category/types';
|
|
|
import { FlowInstanceQuery, FlowInstanceVO } from '@/api/workflow/instance/types';
|
|
|
@@ -185,6 +190,7 @@ import { RouterJumpVo } from '@/api/workflow/workflowCommon/types';
|
|
|
import VueJsonPretty from 'vue-json-pretty';
|
|
|
import 'vue-json-pretty/lib/styles.css';
|
|
|
import UserSelect from '@/components/UserSelect/index.vue';
|
|
|
+import { ElForm, FormInstance } from 'element-plus';
|
|
|
//审批记录组件
|
|
|
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
|
|
const { wf_business_status } = toRefs<any>(proxy?.useDict('wf_business_status'));
|
|
|
@@ -192,7 +198,12 @@ const queryFormRef = ref<ElFormInstance>();
|
|
|
const categoryTreeRef = ref<ElTreeInstance>();
|
|
|
import { ref } from 'vue';
|
|
|
import { UserVO } from '@/api/system/user/types';
|
|
|
-
|
|
|
+const form = ref<Record<string, any>>({
|
|
|
+ instanceId: undefined,
|
|
|
+ key: undefined,
|
|
|
+ value: undefined
|
|
|
+});
|
|
|
+const ruleFormRef = ref<FormInstance>();
|
|
|
const userSelectRef = ref<InstanceType<typeof UserSelect>>();
|
|
|
// 遮罩层
|
|
|
const loading = ref(true);
|
|
|
@@ -208,6 +219,8 @@ const multiple = ref(true);
|
|
|
const showSearch = ref(true);
|
|
|
// 总条数
|
|
|
const total = ref(0);
|
|
|
+// 实例id
|
|
|
+const instanceId = ref(undefined);
|
|
|
|
|
|
// 流程变量是否显示
|
|
|
const variableVisible = ref(false);
|
|
|
@@ -378,12 +391,16 @@ const handleView = (row) => {
|
|
|
|
|
|
//查询流程变量
|
|
|
const handleInstanceVariable = async (row: FlowInstanceVO) => {
|
|
|
+ instanceId.value = row.id;
|
|
|
variableLoading.value = true;
|
|
|
variableVisible.value = true;
|
|
|
processDefinitionName.value = row.flowName;
|
|
|
const data = await instanceVariable(row.id);
|
|
|
variables.value = data.data.variable;
|
|
|
variableLoading.value = false;
|
|
|
+ form.value.instanceId = undefined;
|
|
|
+ form.value.key = undefined;
|
|
|
+ form.value.value = undefined;
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
@@ -414,6 +431,36 @@ const userSelectCallBack = (data: UserVO[]) => {
|
|
|
queryParams.value.createByIds = selectUserIds.value;
|
|
|
}
|
|
|
};
|
|
|
+const rules = reactive<Record<string, any>>({
|
|
|
+ key: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: '请输入KEY',
|
|
|
+ trigger: 'blur'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ value: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: '请输入变量值',
|
|
|
+ trigger: 'blur'
|
|
|
+ }
|
|
|
+ ]
|
|
|
+});
|
|
|
+
|
|
|
+const handleVariable = async (formEl: FormInstance | undefined) => {
|
|
|
+ await formEl.validate(async (valid, fields) => {
|
|
|
+ if (valid) {
|
|
|
+ form.value.instanceId = instanceId.value;
|
|
|
+ await proxy?.$modal.confirm('是否确认提交?');
|
|
|
+ await updateVariable(form.value);
|
|
|
+ proxy?.$modal.msgSuccess('操作成功');
|
|
|
+ variableVisible.value = false;
|
|
|
+ await handleQuery();
|
|
|
+ }
|
|
|
+ });
|
|
|
+};
|
|
|
+
|
|
|
onMounted(() => {
|
|
|
getProcessInstanceRunningList();
|
|
|
getTreeselect();
|