update:更改vuex-table按钮,审核流程
This commit is contained in:
@@ -2,15 +2,12 @@
|
||||
NODE_ENV=development
|
||||
VITE_APP_ENV=development
|
||||
VITE_API_BASE_URL=/
|
||||
VITE_API_HTTP_URL=http://192.168.65.80:7100
|
||||
VITE_API_WS_BASE_URL=/ws
|
||||
VITE_API_WS_URL=ws://192.168.65.80:7100
|
||||
VITE_API_IMAGE_PREVIEW_URL=http://192.168.65.73:7104
|
||||
VITE_API_FILE_PREVIEW_URL=http://192.168.65.161/preview/onlinePreview
|
||||
VITE_API_FILE_URL=http://192.168.65.73:7104
|
||||
# 开发环境接口地址
|
||||
# VITE_API_HTTP_URL=http://192.168.65.73:7100
|
||||
# 戴琼瑶本地接口地址
|
||||
# VITE_API_HTTP_URL=http://192.168.65.53:8080
|
||||
# 顾龙成本地接口地址
|
||||
VITE_API_HTTP_URL=http://192.168.65.73:7103
|
||||
|
||||
VITE_API_PREFIX_APPROVE=/
|
||||
VITE_API_PREFIX_CAPABILITY=/
|
||||
|
||||
@@ -3,6 +3,8 @@ NODE_ENV=production
|
||||
VITE_APP_ENV=production
|
||||
VITE_API_BASE_URL=/api/simulation
|
||||
VITE_API_HTTP_URL=http://192.168.65.80:7100
|
||||
VITE_API_WS_BASE_URL=/ws/simulation
|
||||
VITE_API_WS_URL=ws://192.168.65.80:7100
|
||||
VITE_API_IMAGE_PREVIEW_URL=http://192.168.65.73:7104
|
||||
VITE_API_FILE_PREVIEW_URL=http://192.168.65.161/preview/onlinePreview
|
||||
VITE_API_FILE_URL=http://192.168.65.73:7104
|
||||
|
||||
@@ -3,6 +3,8 @@ NODE_ENV=test
|
||||
VITE_APP_ENV=test
|
||||
VITE_API_BASE_URL=/api/simulation
|
||||
VITE_API_HTTP_URL=http://192.168.65.80:7100
|
||||
VITE_API_WS_BASE_URL=/ws/simulation
|
||||
VITE_API_WS_URL=ws://192.168.65.80:7100
|
||||
VITE_API_IMAGE_PREVIEW_URL=http://192.168.65.73:7104
|
||||
VITE_API_FILE_PREVIEW_URL=http://192.168.65.161/preview/onlinePreview
|
||||
VITE_API_FILE_URL=http://192.168.65.73:7104
|
||||
|
||||
@@ -13,10 +13,9 @@ const service = axios.create({
|
||||
|
||||
service.interceptors.request.use(
|
||||
(config) => {
|
||||
config.headers['idCode'] = 'vu0151d';
|
||||
config.headers['sessionId'] = '';
|
||||
config.headers['company'] = 'carsafe';
|
||||
config.headers['jobNumber'] = 2;
|
||||
// TODO 待接入CID用户数据
|
||||
config.headers['userId'] = '198023476487';
|
||||
config.headers['tenantId'] = '1979091834410176514';
|
||||
return config;
|
||||
},
|
||||
(error) => {
|
||||
|
||||
14
src/api/system/systemApprove.ts
Normal file
14
src/api/system/systemApprove.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { get } from '@/api/request';
|
||||
|
||||
const env = import.meta.env;
|
||||
const PREFIX = env.VITE_API_PREFIX_SYSTEM;
|
||||
|
||||
// 查询流程模版
|
||||
export const systemApproveQueryApproveFlowTempalteApi = (params: any) => {
|
||||
return get(`${PREFIX}systemApprove/queryApproveFlowTempalte`, params);
|
||||
};
|
||||
|
||||
// 流程状态
|
||||
export const systemQueryApproveFlowStatusApi = (params: any) => {
|
||||
return get(`${PREFIX}systemApprove/queryApproveFlowStatus`, params);
|
||||
};
|
||||
184
src/components/common/approvalProcess/index.vue
Normal file
184
src/components/common/approvalProcess/index.vue
Normal file
@@ -0,0 +1,184 @@
|
||||
<template>
|
||||
<div class="comp-content">
|
||||
<el-drawer
|
||||
v-model="visible"
|
||||
:size="400"
|
||||
title="审核状态"
|
||||
:close-on-click-modal="false"
|
||||
@close="closeFun"
|
||||
>
|
||||
<div class="content">
|
||||
<div class="step-list">
|
||||
<div v-for="(item, index) in stepList" :key="index" class="step-item" :class="{ active: index <= currentIndex }">
|
||||
<div class="left">
|
||||
<div class="pic">
|
||||
<el-icon :size="18"><CircleCheck class="icon" /></el-icon>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="item">
|
||||
<el-tag v-if="item.nodeStatus === 2" type="success">{{ NODE_STATUS[item.nodeStatus] }}</el-tag>
|
||||
<el-tag v-if="item.nodeStatus === 1" type="warning">{{ NODE_STATUS[item.nodeStatus] }}</el-tag>
|
||||
<el-tag v-if="item.nodeStatus === 0" type="info">{{ NODE_STATUS[item.nodeStatus] }}</el-tag>
|
||||
</div>
|
||||
<div class="item">{{ item.nodeName }}:{{ item.nodeUserName }}</div>
|
||||
<div v-if=" item.showTime" class="item">操作时间:{{ item.showTime }}</div>
|
||||
<div v-if="item.approveDesc" class="des">
|
||||
<div class="tip">
|
||||
审核人添加了评论:
|
||||
</div>
|
||||
<div class="text">
|
||||
{{ item.approveDesc }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, watch } from 'vue';
|
||||
import { CircleCheck } from '@element-plus/icons-vue';
|
||||
import { systemQueryApproveFlowStatusApi } from '@/api/system/systemApprove';
|
||||
|
||||
// TODO 接入字典
|
||||
const NODE_STATUS: any = {
|
||||
'0': '未审批',
|
||||
'1': '审批中',
|
||||
'2': '已完成',
|
||||
};
|
||||
|
||||
interface Props {
|
||||
modelValue: boolean;
|
||||
flowId: string;
|
||||
}
|
||||
|
||||
const props = withDefaults(defineProps<Props>(), {
|
||||
modelValue: false,
|
||||
flowId: '',
|
||||
});
|
||||
|
||||
watch(() => props.modelValue, (val: boolean) => {
|
||||
visible.value = val;
|
||||
if (val) {
|
||||
getDetailDataFun();
|
||||
} else {
|
||||
currentIndex.value = 0;
|
||||
stepList.value = [];
|
||||
}
|
||||
});
|
||||
|
||||
const emit = defineEmits(['update:modelValue']);
|
||||
|
||||
const stepList = ref<any>([]);
|
||||
|
||||
const visible = ref(false);
|
||||
const currentIndex = ref(0);
|
||||
|
||||
const getDetailDataFun = () => {
|
||||
const params = {
|
||||
flowId: props.flowId,
|
||||
};
|
||||
systemQueryApproveFlowStatusApi(params).then((res: any) => {
|
||||
if (res.code === 200) {
|
||||
res.data.forEach((item: any, index: number) => {
|
||||
if (item.nodeStatus > 0) {
|
||||
currentIndex.value = index;
|
||||
}
|
||||
});
|
||||
stepList.value = res.data;
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
const closeFun = () => {
|
||||
emit('update:modelValue', false);
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.comp-content {
|
||||
.content {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
.step-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.step-item {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
padding-bottom: 10px;
|
||||
&:last-child {
|
||||
::after {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
&.active {
|
||||
.left {
|
||||
&::after {
|
||||
background-color: var(--el-color-success);
|
||||
}
|
||||
.pic {
|
||||
.icon {
|
||||
color: var(--el-color-success);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.left {
|
||||
position: relative;
|
||||
&::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 50%;
|
||||
bottom: -10px;
|
||||
margin-left: -1px;
|
||||
width: 2px;
|
||||
background-color: var(--el-text-color-disabled);
|
||||
}
|
||||
.pic {
|
||||
position: relative;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
z-index: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: var(--el-bg-color);
|
||||
.icon {
|
||||
color: var(--el-text-color-disabled);
|
||||
}
|
||||
}
|
||||
}
|
||||
.right {
|
||||
flex: 1;
|
||||
padding: 0 10px 10px;
|
||||
.item {
|
||||
font-size: 14px;
|
||||
color: var(--el-text-color-regular);
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.des {
|
||||
padding: 5px 10px;
|
||||
border-radius: 4px;
|
||||
font-size: 14px;
|
||||
background-color: var(--el-bg-color-page);
|
||||
.tip {
|
||||
color: var(--el-text-color-regular);
|
||||
font-size: 12px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.text {
|
||||
color: var(--el-text-color-regular);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
75
src/components/common/approveList/index.vue
Normal file
75
src/components/common/approveList/index.vue
Normal file
@@ -0,0 +1,75 @@
|
||||
<template>
|
||||
<div class="comp-content">
|
||||
<el-select-v2
|
||||
class="select"
|
||||
v-model="choseData"
|
||||
:options="listData"
|
||||
placeholder="请选择"
|
||||
filterable
|
||||
clearable
|
||||
@change="changeFun"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { ref, onMounted, watch } from 'vue';
|
||||
import { systemApproveQueryApproveFlowTempalteApi } from '@/api/system/systemApprove';
|
||||
|
||||
interface Props {
|
||||
modelValue: string;
|
||||
}
|
||||
|
||||
const props = withDefaults(defineProps<Props>(), {
|
||||
modelValue: '',
|
||||
});
|
||||
const listData = ref<any>([]);
|
||||
const choseData = ref<any>('');
|
||||
|
||||
const emit = defineEmits(['update:modelValue', 'change']);
|
||||
|
||||
watch(() => props.modelValue, (val: any) => {
|
||||
choseData.value = val;
|
||||
console.log(val);
|
||||
}, { deep: true, immediate: true });
|
||||
|
||||
onMounted(() => {
|
||||
getlistDataFun();
|
||||
});
|
||||
|
||||
const getlistDataFun = () => {
|
||||
const params = {};
|
||||
systemApproveQueryApproveFlowTempalteApi(params).then((res: any) => {
|
||||
if (res.code === 200) {
|
||||
const build = res.data.map((item: any) => {
|
||||
return {
|
||||
value: item.templateId,
|
||||
label: item.templateName,
|
||||
};
|
||||
});
|
||||
listData.value = build;
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
const changeFun = () => {
|
||||
emit('update:modelValue', choseData.value);
|
||||
let changeData: any = {};
|
||||
listData.value.some((item: any) => {
|
||||
if (choseData.value === String(item.id)) {
|
||||
changeData = item;
|
||||
return true;
|
||||
}
|
||||
});
|
||||
emit('change', changeData);
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.comp-content {
|
||||
width: 100%;
|
||||
.select {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,14 +1,15 @@
|
||||
<template>
|
||||
<div class="comp-content">
|
||||
<!-- <el-dialog
|
||||
<el-dialog
|
||||
:title="diaTitle"
|
||||
@open="openFun"
|
||||
v-bind="$attrs"
|
||||
>
|
||||
<template v-for="(name) in Object.keys($slots)" :key="name" #[name]="scope">
|
||||
<slot :name="name" v-bind="scope" />
|
||||
</template>
|
||||
</el-dialog> -->
|
||||
<vxe-modal
|
||||
</el-dialog>
|
||||
<!-- <vxe-modal
|
||||
:title="diaTitle"
|
||||
show-zoom
|
||||
resize
|
||||
@@ -17,7 +18,7 @@
|
||||
<template v-for="(name) in Object.keys($slots)" :key="name" #[name]="scope">
|
||||
<slot :name="name" v-bind="scope" />
|
||||
</template>
|
||||
</vxe-modal>
|
||||
</vxe-modal> -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -29,4 +30,9 @@ interface Props {
|
||||
withDefaults(defineProps<Props>(), {
|
||||
diaTitle: '',
|
||||
});
|
||||
|
||||
const emit = defineEmits(['show']);
|
||||
const openFun = () => { // 兼容vxe-modal
|
||||
emit('show');
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -111,6 +111,12 @@
|
||||
:disabled="item.disabled && showDisabled"
|
||||
@change="(val: any) => changeFun(item.key, val)"
|
||||
/>
|
||||
<ApproveList
|
||||
v-if="item.inputMode === 'approveList'"
|
||||
v-model="formData[item.key]"
|
||||
:disabled="item.disabled && showDisabled"
|
||||
@change="(val: any) => changeFun(item.key, val)"
|
||||
/>
|
||||
</template>
|
||||
<slot v-else :name="`form-${item.key}`" :row="formData">插槽</slot>
|
||||
</template>
|
||||
@@ -121,6 +127,7 @@ import MultipleSelect from './multipleSelect.vue';
|
||||
import UploadImg from './uploadImg.vue';
|
||||
import UserSelect from '@/components/common/userSelect/index.vue';
|
||||
import ProjectSelect from '@/components/common/projectSelect/index.vue';
|
||||
import ApproveList from '@/components/common/approveList/index.vue';
|
||||
|
||||
interface Props {
|
||||
item: any;
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
<el-option label="项目" value="projectSelect" />
|
||||
<el-option label="人员(多选)" value="userSelectMultiple" />
|
||||
<el-option label="项目(多选)" value="projectSelectMultiple" />
|
||||
<el-option label="审核模版" value="approveList" />
|
||||
<el-option label="插槽" value="slot" />
|
||||
</el-select>
|
||||
</template>
|
||||
|
||||
@@ -17,9 +17,11 @@
|
||||
table-name="NODE_TASK_MEMBER_LIST"
|
||||
>
|
||||
</BaseTable>
|
||||
<template #rightfoot>
|
||||
<el-button @click="closeFun">取消</el-button>
|
||||
<el-button @click="updateMemberList">完成</el-button>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="closeFun">取消</el-button>
|
||||
<el-button @click="updateMemberList">完成</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
</template>
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
:confirm-closable="false"
|
||||
:height="300"
|
||||
@show="onShowFun"
|
||||
@confirm="onConfirmFun"
|
||||
>
|
||||
<template #default>
|
||||
<el-form ref="formRef" :rules="rules" :model="form" label-width="120">
|
||||
@@ -31,6 +30,11 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button type="primary" @click="onConfirmFun">确定</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
:confirm-closable="false"
|
||||
:diaTitle="mode === 'add' ? $t('知识库.新增') : $t('知识库.编辑')"
|
||||
@show="onShowFun"
|
||||
@confirm="onConfirmFun"
|
||||
>
|
||||
<template #default>
|
||||
<el-form ref='formRef' :rules="rules" :model="form" labelWidth="80">
|
||||
@@ -16,6 +15,11 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button type="primary" @click="onConfirmFun">确定</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
:confirm-closable="false"
|
||||
:diaTitle="$t('工况库.导入Excel')"
|
||||
@show="onShowFun"
|
||||
@confirm="onConfirmFun"
|
||||
>
|
||||
<template #default>
|
||||
<el-form ref="formRef" :model="form" label-width="auto" :rules="rules">
|
||||
@@ -40,9 +39,13 @@
|
||||
>
|
||||
<el-input v-model="form.poolName"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
</template>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button type="primary" @click="onConfirmFun">确定</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
:diaTitle="mode === 'add' ? $t('知识库.新增') : $t('知识库.编辑')"
|
||||
:confirm-closable="false"
|
||||
@show="onShowFun"
|
||||
@confirm="onConfirmFun"
|
||||
>
|
||||
<template #default>
|
||||
<el-form ref='formRef' :rules="rules" :model="form" labelWidth="80">
|
||||
@@ -16,6 +15,11 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button type="primary" @click="onConfirmFun">确定</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
show-confirm-button
|
||||
:diaTitle="$t('知识库.上传')"
|
||||
@show="onShowFun"
|
||||
@confirm="onConfirmFun"
|
||||
:confirm-closable="false"
|
||||
>
|
||||
<template #default>
|
||||
@@ -20,6 +19,11 @@
|
||||
</template>
|
||||
</TableForm>
|
||||
</template>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button type="primary" @click="onConfirmFun">确定</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<template>
|
||||
<Dialog v-model="diaVisible" diaTitle="数据分析" width="90%" height="90%" @close="closeFun">
|
||||
<Dialog v-model="diaVisible" diaTitle="数据分析" width="90%" height="90%">
|
||||
<div class="content">
|
||||
|
||||
<div class="filter-analysis-content">
|
||||
<el-checkbox class="check-all" v-model="checkAll" label="全选" value="all" @change="checkAllChangeFn" />
|
||||
|
||||
@@ -13,14 +12,10 @@
|
||||
:value="item.value"
|
||||
@change="checkChangeFn(item.value)"
|
||||
/>
|
||||
|
||||
</template>
|
||||
|
||||
</el-checkbox-group>
|
||||
</div>
|
||||
|
||||
<div class="check-table-content">
|
||||
|
||||
<div class="loadcase-table-content">
|
||||
<BaseTable
|
||||
v-if="checkTableName"
|
||||
@@ -31,15 +26,11 @@
|
||||
hidePagination
|
||||
></BaseTable>
|
||||
</div>
|
||||
|
||||
<template v-for="item in analysisTypeList" :key="item.value">
|
||||
<div class="analysis-type-content" v-show="checkAnalysisList.includes(item.value)">
|
||||
|
||||
<div class="analysis-type-content-title">
|
||||
<div class="title-item">{{ getTitleFn(item.value) }}</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="analysis-type-content-item" v-if="checktableData.length">
|
||||
<template v-if="item.value === 'model'">
|
||||
<modelFileResult v-if="showComponents" :check-task-info="checktableData" :cloumn-width="cloumnWidth">
|
||||
@@ -52,7 +43,6 @@
|
||||
:cloumn-width="cloumnWidth"
|
||||
></calculationFileResult>
|
||||
</template>
|
||||
|
||||
<template v-if="item.value === 'numericalResult'">
|
||||
<performanceAnalysis
|
||||
v-if="showComponents"
|
||||
@@ -61,14 +51,16 @@
|
||||
></performanceAnalysis>
|
||||
</template>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="closeFun">关闭</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
|
||||
@@ -164,7 +164,6 @@
|
||||
:height="'90%'"
|
||||
:confirm-closable="false"
|
||||
:zIndex="3000"
|
||||
@close="closeFun"
|
||||
>
|
||||
<div class="compare-container">
|
||||
<div class="compare-container-left">
|
||||
@@ -213,6 +212,11 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="closeFun">关闭</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
<Dialog
|
||||
v-model="diaPngVisible"
|
||||
@@ -221,7 +225,6 @@
|
||||
:height="'90%'"
|
||||
:confirm-closable="false"
|
||||
:zIndex="3000"
|
||||
@close="closePngFun"
|
||||
>
|
||||
<div class="compare-container">
|
||||
<div class="compare-container-left">
|
||||
@@ -264,6 +267,11 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="closePngFun">关闭</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
<analysisDataDialog v-if="loadcaseAnalysisVisable" @close="closeAnalysisFn" :analysis-data="selectAnalysisData"></analysisDataDialog>
|
||||
|
||||
|
||||
@@ -8,8 +8,6 @@
|
||||
show-confirm-button
|
||||
:confirm-closable="false"
|
||||
:zIndex="3000"
|
||||
@close="closeFun"
|
||||
@confirm="confirmFun"
|
||||
>
|
||||
<div class="form">
|
||||
<el-form ref="formRef" :model="formData" label-width="auto">
|
||||
@@ -18,7 +16,12 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="closeFun">关闭</el-button>
|
||||
<el-button type="primary" @click="confirmFun">确定</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -40,9 +40,11 @@
|
||||
show-footer
|
||||
>
|
||||
<TableForm ref="tableFormRef" tableName="MODEL_TRAINING_LIST" />
|
||||
<template #rightfoot>
|
||||
<el-button @click="closeFun">取消</el-button>
|
||||
<el-button type="primary" @click="confirmFun">确认</el-button>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="closeFun">取消</el-button>
|
||||
<el-button type="primary" @click="confirmFun">确认</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
</div>
|
||||
|
||||
@@ -255,9 +255,11 @@
|
||||
</el-checkbox-group>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #rightfoot>
|
||||
<el-button @click="closeDataSetFun">取消</el-button>
|
||||
<el-button type="primary" @click="confirmSetColumnFun">确认</el-button>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="closeDataSetFun">取消</el-button>
|
||||
<el-button type="primary" @click="confirmSetColumnFun">确认</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
<!-- <Dialog
|
||||
@@ -285,10 +287,15 @@
|
||||
<el-button type="primary" @click="disposeData">确认</el-button>
|
||||
</template>
|
||||
</Dialog> -->
|
||||
<Dialog v-model="allLogVisible" diaTitle="全部日志" :width="800" :height="500" @close="closeDataSetFun" show-footer>
|
||||
<Dialog v-model="allLogVisible" diaTitle="全部日志" :width="800" :height="500" show-footer>
|
||||
<el-scrollbar ref="allLogScrollbar" class="all-log-container">
|
||||
<div v-for="(lineHtml, idx) in allLogLinesHtml" :key="idx" class="log-item" v-html="lineHtml" />
|
||||
</el-scrollbar>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="closeDataSetFun">取消</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button @click="closeFn">取消</el-button>
|
||||
<el-button @click="onConfirmFun" type="primary">确定</el-button>
|
||||
<el-button type="primary" @click="onConfirmFun">确定</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
|
||||
@@ -27,14 +27,12 @@
|
||||
<el-button type="primary">上传参数文件</el-button>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
</template>
|
||||
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button @click="closeFn">取消</el-button>
|
||||
<el-button @click="onConfirmFun" type="primary">确定</el-button>
|
||||
<el-button type="primary" @click="onConfirmFun">确定</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
|
||||
@@ -16,11 +16,10 @@
|
||||
|
||||
</el-form>
|
||||
</template>
|
||||
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button @click="closeFn">取消</el-button>
|
||||
<el-button @click="onConfirmFun" type="primary">确定</el-button>
|
||||
<el-button type="primary" @click="onConfirmFun">确定</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
:diaTitle="mode === 'add' ? $t('知识库.新增') : $t('知识库.编辑')"
|
||||
:confirm-closable="false"
|
||||
@show="onShowFun"
|
||||
@confirm="onConfirmFun"
|
||||
>
|
||||
<template #default>
|
||||
<el-form ref='formRef' :rules="rules" :model="form" labelWidth="80">
|
||||
@@ -40,6 +39,11 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button type="primary" @click="onConfirmFun">确定</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
show-confirm-button
|
||||
:diaTitle="$t('知识库.上传')"
|
||||
@show="onShowFun"
|
||||
@confirm="onConfirmFun"
|
||||
:confirm-closable="false"
|
||||
>
|
||||
<template #default>
|
||||
@@ -54,6 +53,11 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button type="primary" @click="onConfirmFun">确定</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -10,9 +10,11 @@
|
||||
show-footer
|
||||
>
|
||||
<TableForm ref="tableFormRef" tableName="SIMULATION_FLOW_LIB_LIST" />
|
||||
<template #rightfoot>
|
||||
<el-button @click="closeFun">取消</el-button>
|
||||
<el-button @click="confirmFun" :loading="loadingInterface">完成</el-button>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="closeFun">取消</el-button>
|
||||
<el-button type="primary" @click="confirmFun" :loading="loadingInterface">确定</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
</div>
|
||||
|
||||
@@ -7,8 +7,6 @@
|
||||
showFooter
|
||||
show-confirm-button
|
||||
:confirm-closable="false"
|
||||
@close="closeFun"
|
||||
@confirm="confirmFun"
|
||||
>
|
||||
<div class="form">
|
||||
<el-form ref="formRef" :model="formData" label-width="auto">
|
||||
@@ -17,7 +15,12 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="closeFun">取消</el-button>
|
||||
<el-button type="primary" @click="confirmFun">确定</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -1,55 +1,59 @@
|
||||
<template>
|
||||
<div class="info-grid">
|
||||
<table class="info-table">
|
||||
<tr>
|
||||
<td>项目名称</td>
|
||||
<td>{{ nodeInfo.nodeName }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>项目经理</td>
|
||||
<td>{{ nodeInfo.pMemberNames }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>项目状态</td>
|
||||
<td>
|
||||
<span :class="['status-badge', 'status-' + nodeInfo.status]">
|
||||
{{ nodeInfo.status }}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>计划开始时间</td>
|
||||
<td>{{ nodeInfo.beginTime }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>当前阶段</td>
|
||||
<td :class="{ 'empty-value': !nodeInfo.currentStage }">
|
||||
{{ nodeInfo.currentStage || '未设置' }}
|
||||
</td>
|
||||
</tr>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>项目名称</td>
|
||||
<td>{{ nodeInfo.nodeName }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>项目经理</td>
|
||||
<td>{{ nodeInfo.pMemberNames }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>项目状态</td>
|
||||
<td>
|
||||
<span :class="['status-badge', 'status-' + nodeInfo.status]">
|
||||
{{ nodeInfo.status }}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>计划开始时间</td>
|
||||
<td>{{ nodeInfo.beginTime }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>当前阶段</td>
|
||||
<td :class="{ 'empty-value': !nodeInfo.currentStage }">
|
||||
{{ nodeInfo.currentStage || '未设置' }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table class="info-table">
|
||||
<tr>
|
||||
<td>项目代号</td>
|
||||
<td>{{ nodeInfo.nodeCode }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>创建人</td>
|
||||
<td>{{ nodeInfo.creator }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>创建时间</td>
|
||||
<td>{{ nodeInfo.createTime }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>计划结束时间</td>
|
||||
<td>{{ nodeInfo.endTime }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>备注</td>
|
||||
<td>{{ nodeInfo.description }}</td>
|
||||
</tr>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>项目代号</td>
|
||||
<td>{{ nodeInfo.nodeCode }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>创建人</td>
|
||||
<td>{{ nodeInfo.creator }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>创建时间</td>
|
||||
<td>{{ nodeInfo.createTime }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>计划结束时间</td>
|
||||
<td>{{ nodeInfo.endTime }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>备注</td>
|
||||
<td>{{ nodeInfo.description }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- <el-descriptions title="" :column="2" border>
|
||||
@@ -214,4 +218,4 @@ watch(
|
||||
color: #8d99ae !important;
|
||||
font-style: italic;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@@ -35,8 +35,6 @@
|
||||
:diaTitle="isEditDialog?'编辑':'上传文件'"
|
||||
:width="500"
|
||||
:height="500"
|
||||
@cancel="dialogVisible=false"
|
||||
@confirm="confirmUploadFun"
|
||||
show-confirm-button
|
||||
show-cancel-button
|
||||
show-footer
|
||||
@@ -44,6 +42,12 @@
|
||||
<div class="content">
|
||||
<TableForm ref="tableFormRef" tableName="NODE_DETAIL_FILE" />
|
||||
</div>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="dialogVisible=false">取消</el-button>
|
||||
<el-button type="primary" @click="confirmUploadFun">确定</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
|
||||
</template>
|
||||
|
||||
@@ -7,19 +7,16 @@
|
||||
<taskInfo ref="taskInfoRef" v-if="activeTab === 'info'" :task-id="taskId" :task-info="currentTaskInfo">
|
||||
</taskInfo>
|
||||
</div>
|
||||
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="性能指标" name="performance">
|
||||
<div class="task-tab-content">
|
||||
<taskPerformance ref="taskPerformanceRef" v-if="activeTab === 'performance'" :task-id="taskId">
|
||||
</taskPerformance>
|
||||
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="结果图片" name="resultImage">
|
||||
<div class="task-tab-content">
|
||||
<resultImage v-if="activeTab === 'resultImage'" :task-id="taskId"></resultImage>
|
||||
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="曲线查看" name="curveView">
|
||||
@@ -50,7 +47,6 @@
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -24,11 +24,13 @@
|
||||
</div>
|
||||
</template>
|
||||
</BaseTable>
|
||||
<template #rightfoot>
|
||||
<el-button @click="closeNodeListFun">取消</el-button>
|
||||
<el-button @click="changeStepFun('pre')" v-if="props.dialogType === 'create'">上一步</el-button>
|
||||
<el-button @click="changeStepFun('next')" v-if="props.dialogType === 'create'">下一步</el-button>
|
||||
<el-button @click="addOrEditNode">完成</el-button>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="closeNodeListFun">取消</el-button>
|
||||
<el-button @click="changeStepFun('pre')" v-if="props.dialogType === 'create'">上一步</el-button>
|
||||
<el-button @click="changeStepFun('next')" v-if="props.dialogType === 'create'">下一步</el-button>
|
||||
<el-button @click="addOrEditNode">完成</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
<Dialog
|
||||
@@ -66,9 +68,11 @@
|
||||
<el-input type="textarea" v-model="nodeForm.description" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #rightfoot>
|
||||
<el-button @click="nodeFormVisible = false">取消</el-button>
|
||||
<el-button @click="addOrEditOneNodeFun">确认</el-button>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="nodeFormVisible = false">取消</el-button>
|
||||
<el-button @click="addOrEditOneNodeFun">确认</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
</div>
|
||||
|
||||
@@ -30,11 +30,13 @@
|
||||
</div>
|
||||
</template>
|
||||
</BaseTable>
|
||||
<template #rightfoot>
|
||||
<el-button @click="closeNodeListFun">取消</el-button>
|
||||
<el-button @click="changeStepFun('pre')" v-if="props.dialogType === 'create'">上一步</el-button>
|
||||
<el-button @click="changeStepFun('next')" v-if="props.dialogType === 'create'">下一步</el-button>
|
||||
<el-button @click="addOrEditNode">完成</el-button>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="closeNodeListFun">取消</el-button>
|
||||
<el-button @click="changeStepFun('pre')" v-if="props.dialogType === 'create'">上一步</el-button>
|
||||
<el-button @click="changeStepFun('next')" v-if="props.dialogType === 'create'">下一步</el-button>
|
||||
<el-button @click="addOrEditNode">完成</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
<Dialog
|
||||
@@ -73,9 +75,11 @@
|
||||
<el-input type="textarea" v-model="nodeForm.description" />
|
||||
</el-form-item>
|
||||
</el-form>-->
|
||||
<template #rightfoot>
|
||||
<el-button @click="nodeFormVisible = false">取消</el-button>
|
||||
<el-button @click="addOrEditOneNodeFun">确认</el-button>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="nodeFormVisible = false">取消</el-button>
|
||||
<el-button @click="addOrEditOneNodeFun">确认</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
</div>
|
||||
|
||||
@@ -59,10 +59,11 @@
|
||||
</el-form-item>
|
||||
</el-form> -->
|
||||
<TableForm ref="tableFormRef" tableName="NODE_LIST_LEVEL1" />
|
||||
|
||||
<template #rightfoot>
|
||||
<el-button @click="closeFun">取消</el-button>
|
||||
<el-button @click="addOrEditProject" :loading="loadingInterface">完成</el-button>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="closeFun">取消</el-button>
|
||||
<el-button @click="addOrEditProject" :loading="loadingInterface">完成</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
</div>
|
||||
|
||||
@@ -117,12 +117,13 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<template #rightfoot>
|
||||
<el-button @click="closeFun">取消</el-button>
|
||||
<el-button @click="prePageFun" v-if="props.dialogType === 'create'">上一步</el-button>
|
||||
<el-button @click="addOrEditTaskFun">完成</el-button>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="closeFun">取消</el-button>
|
||||
<el-button @click="prePageFun" v-if="props.dialogType === 'create'">上一步</el-button>
|
||||
<el-button @click="addOrEditTaskFun">完成</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
</template>
|
||||
|
||||
@@ -34,9 +34,11 @@
|
||||
</div>
|
||||
</template>
|
||||
</BaseTable>
|
||||
<template #rightfoot>
|
||||
<el-button @click="closeFun">取消</el-button>
|
||||
<el-button type="primary" @click="closeFun">确认</el-button>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="closeFun">取消</el-button>
|
||||
<el-button type="primary" @click="closeFun">确认</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
</template>
|
||||
|
||||
@@ -121,9 +121,11 @@
|
||||
|
||||
</template> -->
|
||||
</BaseTable>
|
||||
<template #rightfoot>
|
||||
<el-button @click="closeFun">取消</el-button>
|
||||
<el-button :loading="loadingInterface" @click="confirmFun">确认</el-button>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="closeFun">取消</el-button>
|
||||
<el-button :loading="loadingInterface" @click="confirmFun">确认</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
|
||||
@@ -347,4 +349,4 @@ onMounted(async() => {
|
||||
font-weight: bold;
|
||||
margin:0 4px;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@@ -177,9 +177,11 @@
|
||||
</el-form>
|
||||
<!-- <TableForm ref="tableFormRef" tableName="SIMULATION_TASK_DEMAND_CONFIRM" >
|
||||
</TableForm> -->
|
||||
<template #rightfoot>
|
||||
<el-button @click="closeSendFun">取消</el-button>
|
||||
<el-button @click="sendTaskConfirmFun">确认</el-button>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="closeSendFun">取消</el-button>
|
||||
<el-button @click="sendTaskConfirmFun">确认</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
<attachments :demandId="demandInfo.id" v-model:visible="attachmentsVisible" ></attachments>
|
||||
|
||||
@@ -50,9 +50,11 @@
|
||||
@load="formLoad"
|
||||
>
|
||||
</TableForm>
|
||||
<template #rightfoot>
|
||||
<el-button @click="closeFun">取消</el-button>
|
||||
<el-button type="primary" @click="confirmFun">确认</el-button>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="closeFun">取消</el-button>
|
||||
<el-button type="primary" @click="confirmFun">确认</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
</div>
|
||||
|
||||
@@ -47,9 +47,11 @@
|
||||
@load="formLoad"
|
||||
>
|
||||
</TableForm>
|
||||
<template #rightfoot>
|
||||
<el-button @click="closeFun">取消</el-button>
|
||||
<el-button type="primary" @click="confirmFun">确认</el-button>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="closeFun">取消</el-button>
|
||||
<el-button type="primary" @click="confirmFun">确认</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
</div>
|
||||
|
||||
@@ -99,9 +99,11 @@
|
||||
@load="loadTableForm"
|
||||
>
|
||||
</TableForm>
|
||||
<template #rightfoot>
|
||||
<el-button @click="closeFun">取消</el-button>
|
||||
<el-button :loading="loadingInterface" type="primary" @click="confirmFun">确认</el-button>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="closeFun">取消</el-button>
|
||||
<el-button :loading="loadingInterface" type="primary" @click="confirmFun">确认</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
</div>
|
||||
|
||||
@@ -28,6 +28,11 @@ export default defineConfig(({ mode }) => {
|
||||
changeOrigin: true,
|
||||
rewrite: (path) => path.replace(/^\/api/, ''),
|
||||
},
|
||||
'/ws': {
|
||||
target: env.VITE_API_WS_URL,
|
||||
changeOrigin: true,
|
||||
ws: true,
|
||||
},
|
||||
'/local7101': {
|
||||
target: 'http://192.168.65.199:7101', // 李东洋
|
||||
// target: 'http://192.168.65.161/api/simulation/project', // 开发环境
|
||||
|
||||
Reference in New Issue
Block a user