Merge branch 'main' of http://192.168.65.198:3000/Front_Team/SPDM
This commit is contained in:
@@ -1,6 +1,14 @@
|
||||
<template>
|
||||
<div class="comp-content">
|
||||
<Dialog v-model="diaVisible" :diaTitle="`表名【${name}】字段设置`" width="90%" height="90%" show-footer @close="closeFun">
|
||||
<Dialog
|
||||
v-model="diaVisible"
|
||||
:diaTitle="`表名【${name}】字段设置`"
|
||||
top="2vh"
|
||||
width="98%"
|
||||
height="90%"
|
||||
show-footer
|
||||
@close="closeFun"
|
||||
>
|
||||
<div class="content">
|
||||
<div class="add-btn">
|
||||
<el-button type="primary" :icon="Plus" @click="addFun">新增字段</el-button>
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
<template>
|
||||
<span >{{ dictLabel }}</span>
|
||||
<span v-if="!editable" >{{ dictLabel }}</span>
|
||||
<span v-if="editable" >
|
||||
<el-select-v2 v-model="dictValue" :options="dictOptions" @change="onSelectChange" v-bind="$attrs">
|
||||
</el-select-v2>
|
||||
</span>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted, watchEffect } from 'vue';
|
||||
@@ -7,51 +11,76 @@ import { CommonStore } from '@/stores/common';
|
||||
|
||||
const commonStore = CommonStore();
|
||||
interface Props {
|
||||
value?: any;
|
||||
modelValue?: string;
|
||||
dictName?: any;
|
||||
options?: any;
|
||||
editable?: boolean;
|
||||
}
|
||||
|
||||
const props = withDefaults(defineProps<Props>(), {
|
||||
value: '',
|
||||
modelValue: '',
|
||||
dictName: '',
|
||||
options: () => [],
|
||||
editable: false,
|
||||
});
|
||||
const emits = defineEmits(['update:modelValue', 'ok']);
|
||||
|
||||
const dictValue:any = ref('');
|
||||
const dictLabel = ref('');
|
||||
const dictOptions:any = ref([]);
|
||||
onMounted(async() => {
|
||||
if (props.value && props.dictName) {
|
||||
if (props.dictName) {
|
||||
const res: any = await commonStore.getDictData(props.dictName);
|
||||
dictOptions.value = res.A;
|
||||
} else if (props.value && props.options) {
|
||||
} else if ( props.options) {
|
||||
dictOptions.value = props.options;
|
||||
}
|
||||
if (props.modelValue && props.modelValue.includes(',')) {
|
||||
dictValue.value = props.modelValue.split(',');
|
||||
} else {
|
||||
dictValue.value = props.modelValue;
|
||||
}
|
||||
calcDictLabelFun();
|
||||
});
|
||||
|
||||
const calcDictLabelFun = () => {
|
||||
const options = dictOptions.value || [];
|
||||
const dictValue = props.value;
|
||||
const value = dictValue.value;
|
||||
let label = '';
|
||||
if (dictValue && typeof dictValue === 'string') {
|
||||
if (dictValue.includes(',')) {
|
||||
const dictValueArr = dictValue.split(',');
|
||||
if (value && typeof value === 'string') {
|
||||
if (value.includes(',')) {
|
||||
const valueArr = value.split(',');
|
||||
const dicts:any = [];
|
||||
dictValueArr.forEach((value: any) => {
|
||||
valueArr.forEach((value: any) => {
|
||||
const dict = options.find((item: any) => item.value === value);
|
||||
dicts.push(dict);
|
||||
});
|
||||
label = dicts.map((dict:any) => dict.label).join(',');
|
||||
} else {
|
||||
const dict:any = options.find((item:any) => item.value === dictValue);
|
||||
const dict:any = options.find((item:any) => item.value === value);
|
||||
if (dict) {
|
||||
label = dict.label;
|
||||
}
|
||||
}
|
||||
} else if (Array.isArray(value)) {
|
||||
const valueArr = value;
|
||||
const dicts:any = [];
|
||||
valueArr.forEach((value: any) => {
|
||||
const dict = options.find((item: any) => item.value === value);
|
||||
dicts.push(dict);
|
||||
});
|
||||
label = dicts.map((dict:any) => dict.label).join(',');
|
||||
|
||||
}
|
||||
dictLabel.value = label;
|
||||
};
|
||||
|
||||
const onSelectChange = (val:any) => {
|
||||
let newVal = val;
|
||||
if (Array.isArray(val)) {
|
||||
newVal = val.join(',');
|
||||
}
|
||||
emits('update:modelValue', newVal);
|
||||
};
|
||||
watchEffect(() => {
|
||||
if (props.options && props.options.length > 0) {
|
||||
dictOptions.value = props.options;
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
<TreeCaseTable
|
||||
ref="loadcaseTableRef"
|
||||
:tableName="tableName"
|
||||
editMode
|
||||
showCheckbox
|
||||
:data="disposeTreeData(data)"
|
||||
:actionsWidth="95"
|
||||
@checkbox-change="checkboxChangeFun"
|
||||
v-bind="$attrs"
|
||||
>
|
||||
<template #leftOptions v-if="!readonly">
|
||||
<div>
|
||||
@@ -289,6 +289,7 @@ const displayModalFun = (nodeType: string, operationType: string, editRow?: any)
|
||||
// });
|
||||
// }
|
||||
if (operationType === 'add') {
|
||||
formData.value = {};
|
||||
if (isCategoryType(nodeType)) {
|
||||
formData.value.nodeType = null;
|
||||
} else {
|
||||
|
||||
@@ -1,115 +1,164 @@
|
||||
<template>
|
||||
<div class="comp-content comp-tree-case-table">
|
||||
<TreeTable ref="TreeTableRef" :tableName="tableName" :data="treeData" :editMode="editMode" v-bind="$attrs" >
|
||||
<TreeTable ref="TreeTableRef" :tableName="tableName" :data="treeData" :editMode="editMode" v-bind="$attrs">
|
||||
<!-- 任务类型 -->
|
||||
<template #nodeName="{ row }">
|
||||
<div class="node-name">
|
||||
<el-icon v-if="row.nodeType === NODE_TYPE.TASK" :size="16" class="blue"><Document /></el-icon>
|
||||
<el-icon v-else-if="row.nodeType === NODE_TYPE.PERFORMANCE" :size="16" class="blue"><Operation /></el-icon>
|
||||
<el-icon v-else :size="16" class="blue"><Folder /></el-icon>
|
||||
<el-icon v-if="row.nodeType === NODE_TYPE.TASK" :size="16" class="blue">
|
||||
<Document />
|
||||
</el-icon>
|
||||
<el-icon v-else-if="row.nodeType === NODE_TYPE.PERFORMANCE" :size="16" class="blue">
|
||||
<Operation />
|
||||
</el-icon>
|
||||
<el-icon v-else :size="16" class="blue">
|
||||
<Folder />
|
||||
</el-icon>
|
||||
<span class="name">{{ row.nodeName }}</span>
|
||||
</div>
|
||||
</template>
|
||||
<!-- 英文名 -->
|
||||
<template #englishName="{ row }">
|
||||
<TreeEditItem v-if="[NODE_TYPE.TASK, NODE_TYPE.PERFORMANCE].includes(row.nodeType)" :data="row.englishName" :editMode="editMode" />
|
||||
<template #englishName="{ row, column }">
|
||||
<TreeEditItem
|
||||
v-if="[NODE_TYPE.TASK, NODE_TYPE.PERFORMANCE].includes(row.nodeType)"
|
||||
:data="row[column.field]"
|
||||
:editMode="editMode"
|
||||
/>
|
||||
</template>
|
||||
<template #englishName-edit="{ row }">
|
||||
<el-input v-model="row.englishName" size="small" placeholder="请输入" />
|
||||
</template>
|
||||
<!-- 编码 -->
|
||||
<template #nodeCode="{ row }">
|
||||
<TreeEditItem v-if="[NODE_TYPE.TASK, NODE_TYPE.PERFORMANCE].includes(row.nodeType)" :data="row.nodeCode" :editMode="editMode" />
|
||||
<template #nodeCode="{ row, column }">
|
||||
<TreeEditItem
|
||||
v-if="[NODE_TYPE.TASK, NODE_TYPE.PERFORMANCE].includes(row.nodeType)"
|
||||
:data="row[column.field]"
|
||||
:editMode="editMode"
|
||||
/>
|
||||
</template>
|
||||
<template #nodeCode-edit="{ row }">
|
||||
<el-input v-model="row.nodeCode" size="small" placeholder="请输入" />
|
||||
</template>
|
||||
<!-- 计划开始时间 -->
|
||||
<template #beginTime="{ row }">
|
||||
<TreeEditItem v-if="[NODE_TYPE.TASK, NODE_TYPE.PERFORMANCE].includes(row.nodeType)" :data="row.beginTime" :editMode="editMode" />
|
||||
<TreeEditItem
|
||||
v-if="[NODE_TYPE.TASK, NODE_TYPE.PERFORMANCE].includes(row.nodeType)"
|
||||
:data="row.beginTime"
|
||||
:editMode="editMode"
|
||||
/>
|
||||
</template>
|
||||
<template #beginTime-edit="{ row }">
|
||||
<el-date-picker v-model="row.beginTime" type="datetime" placeholder="请选择" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" clearable />
|
||||
<el-date-picker
|
||||
v-model="row.beginTime"
|
||||
type="datetime"
|
||||
placeholder="请选择"
|
||||
format="YYYY-MM-DD HH:mm:ss"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
clearable
|
||||
/>
|
||||
</template>
|
||||
<!-- 计划结束时间 -->
|
||||
<template #endTime="{ row }">
|
||||
<TreeEditItem v-if="[NODE_TYPE.TASK, NODE_TYPE.PERFORMANCE].includes(row.nodeType)" :data="row.endTime" :editMode="editMode" />
|
||||
<TreeEditItem
|
||||
v-if="[NODE_TYPE.TASK, NODE_TYPE.PERFORMANCE].includes(row.nodeType)"
|
||||
:data="row.endTime"
|
||||
:editMode="editMode"
|
||||
/>
|
||||
</template>
|
||||
<template #endTime-edit="{ row }">
|
||||
<el-date-picker v-model="row.endTime" type="datetime" placeholder="请选择" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" clearable />
|
||||
<el-date-picker
|
||||
v-model="row.endTime"
|
||||
type="datetime"
|
||||
placeholder="请选择"
|
||||
format="YYYY-MM-DD HH:mm:ss"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
clearable
|
||||
/>
|
||||
</template>
|
||||
<!-- 达标方式 -->
|
||||
<template #method="{ row }">
|
||||
<TreeEditItem v-if="[NODE_TYPE.PERFORMANCE].includes(row.nodeType)" :data="row.method" :editMode="editMode" />
|
||||
</template>
|
||||
<template #method-edit="{ row }">
|
||||
<el-select v-model="row.method" size="small" placeholder="请选择" />
|
||||
</template>
|
||||
<template #nodeType="{ row ,column}">
|
||||
<TreeEditItem :data="row.nodeType" :editMode="editMode" >
|
||||
<dictLabel :value="row[column.field]" :options="allNodeTypeOptions"/>
|
||||
<template #method="{ row,column }">
|
||||
<TreeEditItem v-if="[NODE_TYPE.PERFORMANCE].includes(row.nodeType)" :data="row.nodeType" :editMode="editMode">
|
||||
<dictLabel v-model="row[column.field]" :options="methodOptions" />
|
||||
</TreeEditItem>
|
||||
</template>
|
||||
<template #performanceType="{ row ,column}">
|
||||
<TreeEditItem v-if="[NODE_TYPE.PERFORMANCE].includes(row.nodeType)" :data="row.performanceType" :editMode="editMode" >
|
||||
<dictLabel :value="row[column.field]" dictName="PERFORMANCE_TYPE"/>
|
||||
<template #method-edit="{ row,column }">
|
||||
<dictLabel v-model="row[column.field]" dictName="methodOptions" :editable="true" />
|
||||
</template>
|
||||
<template #nodeType="{ row, column }">
|
||||
<TreeEditItem :data="row.nodeType" :editMode="editMode">
|
||||
<dictLabel v-model="row[column.field]" :options="allNodeTypeOptions" />
|
||||
</TreeEditItem>
|
||||
</template>
|
||||
<template #performanceType-edit="{ row }">
|
||||
<el-select v-model="row.unit" size="small" placeholder="请选择" />
|
||||
<template #performanceType="{ row, column }">
|
||||
<TreeEditItem
|
||||
v-if="[NODE_TYPE.PERFORMANCE].includes(row.nodeType)"
|
||||
:data="row.performanceType"
|
||||
:editMode="editMode"
|
||||
>
|
||||
<dictLabel v-model="row[column.field]" dictName="PERFORMANCE_TYPE" />
|
||||
</TreeEditItem>
|
||||
</template>
|
||||
<template #performanceType-edit="{ row, column }">
|
||||
<dictLabel v-model="row[column.field]" dictName="PERFORMANCE_TYPE" :editable="true" />
|
||||
</template>
|
||||
<!-- 指标单位 -->
|
||||
<template #unit="{ row ,column}">
|
||||
<TreeEditItem v-if="[NODE_TYPE.PERFORMANCE].includes(row.nodeType)" :data="row.unit" :editMode="editMode" >
|
||||
<dictLabel :value="row[column.field]" dictName="PERFORMANCE_UNIT"/>
|
||||
<template #unit="{ row, column }">
|
||||
<TreeEditItem v-if="[NODE_TYPE.PERFORMANCE].includes(row.nodeType)" :data="row.unit" :editMode="editMode">
|
||||
<dictLabel v-model="row[column.field]" dictName="PERFORMANCE_UNIT" />
|
||||
</TreeEditItem>
|
||||
</template>
|
||||
<template #unit-edit="{ row }">
|
||||
<el-select v-model="row.unit" size="small" placeholder="请选择" />
|
||||
<template #unit-edit="{ row, column }">
|
||||
<dictLabel v-model="row[column.field]" dictName="PERFORMANCE_UNIT" :editable="true" />
|
||||
</template>
|
||||
<template #analyseSoftware="{ row ,column}">
|
||||
<TreeEditItem v-if="[NODE_TYPE.TASK].includes(row.nodeType)" :data="row.analyseSoftware" :editMode="editMode" >
|
||||
<dictLabel :value="row[column.field]" dictName="ANALYSIS_SOFTWARE"/>
|
||||
<template #analyseSoftware="{ row, column }">
|
||||
<TreeEditItem v-if="[NODE_TYPE.TASK].includes(row.nodeType)" :data="row.analyseSoftware" :editMode="editMode">
|
||||
<dictLabel v-model="row[column.field]" dictName="ANALYSIS_SOFTWARE" />
|
||||
</TreeEditItem>
|
||||
</template>
|
||||
<template #bCapacity="{ row ,column}">
|
||||
<TreeEditItem v-if="[NODE_TYPE.TASK].includes(row.nodeType)" :data="row.department" :editMode="editMode" >
|
||||
<dictLabel :value="row[column.field]" dictName="SIMULATION_CAPACITY"/>
|
||||
<template #analyseSoftware-edit="{ row, column }">
|
||||
<dictLabel v-model="row[column.field]" dictName="ANALYSIS_SOFTWARE" :editable="true" :multiple="true" />
|
||||
</template>
|
||||
<template #bCapacity="{ row, column }">
|
||||
<TreeEditItem v-if="[NODE_TYPE.TASK].includes(row.nodeType)" :data="row.department" :editMode="editMode">
|
||||
<dictLabel v-model="row[column.field]" dictName="SIMULATION_CAPACITY" />
|
||||
</TreeEditItem>
|
||||
</template>
|
||||
<template #bCapacity-edit="{ row }">
|
||||
<el-select v-model="row.department" size="small" placeholder="请选择" />
|
||||
<template #bCapacity-edit="{ row, column }">
|
||||
<dictLabel v-model="row[column.field]" dictName="SIMULATION_CAPACITY" :editable="true" />
|
||||
</template>
|
||||
<!-- 部 -->
|
||||
<template #department="{ row ,column}">
|
||||
<TreeEditItem v-if="[NODE_TYPE.TASK].includes(row.nodeType)" :data="row.department" :editMode="editMode" >
|
||||
<dictLabel :value="row[column.field]" dictName="DEPARTMENT_LIST"/>
|
||||
<template #department="{ row, column }">
|
||||
<TreeEditItem v-if="[NODE_TYPE.TASK].includes(row.nodeType)" :data="row.department" :editMode="editMode">
|
||||
<dictLabel v-model="row[column.field]" dictName="DEPARTMENT_LIST" />
|
||||
</TreeEditItem>
|
||||
</template>
|
||||
<template #department-edit="{ row }">
|
||||
<el-select v-model="row.department" size="small" placeholder="请选择" />
|
||||
<template #department-edit="{ row, column }">
|
||||
<dictLabel v-model="row[column.field]" dictName="DEPARTMENT_LIST" :editable="true" />
|
||||
</template>
|
||||
<!-- 科 -->
|
||||
<template #section="{ row,column }">
|
||||
<TreeEditItem v-if="[NODE_TYPE.TASK].includes(row.nodeType)" :data="row.section" :editMode="editMode" >
|
||||
<dictLabel :value="row[column.field]" dictName="SECTION_LIST"/>
|
||||
<template #section="{ row, column }">
|
||||
<TreeEditItem v-if="[NODE_TYPE.TASK].includes(row.nodeType)" :data="row.section" :editMode="editMode">
|
||||
<dictLabel v-model="row[column.field]" dictName="SECTION_LIST" />
|
||||
</TreeEditItem>
|
||||
</template>
|
||||
<template #section-edit="{ row }">
|
||||
<el-select v-model="row.section" size="small" placeholder="请选择" />
|
||||
<template #section-edit="{ row, column }">
|
||||
<dictLabel v-model="row[column.field]" dictName="SECTION_LIST" :editable="true" />
|
||||
</template>
|
||||
<!-- 组 -->
|
||||
<template #group="{ row,column }">
|
||||
<TreeEditItem v-if="[NODE_TYPE.TASK].includes(row.nodeType)" :data="row.group" :editMode="editMode" >
|
||||
<dictLabel :value="row[column.field]" dictName="GROUP_LIST"/>
|
||||
<template #group="{ row, column }">
|
||||
<TreeEditItem v-if="[NODE_TYPE.TASK].includes(row.nodeType)" :data="row.group" :editMode="editMode">
|
||||
<dictLabel v-model="row[column.field]" dictName="GROUP_LIST" />
|
||||
</TreeEditItem>
|
||||
</template>
|
||||
<template #group-edit="{ row }">
|
||||
<el-select v-model="row.group" size="small" placeholder="请选择" />
|
||||
<template #group-edit="{ row, column }">
|
||||
<dictLabel v-model="row[column.field]" dictName="GROUP_LIST" :editable="true" />
|
||||
</template>
|
||||
<!-- 描述 -->
|
||||
<template #description="{ row }">
|
||||
<TreeEditItem v-if="[NODE_TYPE.TASK, NODE_TYPE.PERFORMANCE].includes(row.nodeType)" :data="row.description" :editMode="editMode" />
|
||||
<TreeEditItem
|
||||
v-if="[NODE_TYPE.TASK, NODE_TYPE.PERFORMANCE].includes(row.nodeType)"
|
||||
:data="row.description"
|
||||
:editMode="editMode"
|
||||
/>
|
||||
</template>
|
||||
<template #description-edit="{ row }">
|
||||
<el-input v-model="row.description" size="small" placeholder="请输入" />
|
||||
@@ -134,7 +183,32 @@ import dictLabel from './dictLabel.vue';
|
||||
import { poolCategoryTypeOptions } from '@/components/loadCaseTable/utils/project';
|
||||
|
||||
const TreeTableRef = ref<any>();
|
||||
const { PERFORMANCE_UNIT } = useDict('PERFORMANCE_UNIT');
|
||||
const methodOptions = [
|
||||
{
|
||||
label: '>',
|
||||
value: '>',
|
||||
},
|
||||
{
|
||||
label: '≥',
|
||||
value: '≥',
|
||||
},
|
||||
{
|
||||
label: '<',
|
||||
value: '<',
|
||||
},
|
||||
{
|
||||
label: '≤',
|
||||
value: '≤',
|
||||
},
|
||||
{
|
||||
label: '[]',
|
||||
value: '[]',
|
||||
},
|
||||
{
|
||||
label: '--',
|
||||
value: '--',
|
||||
},
|
||||
];
|
||||
|
||||
interface Props {
|
||||
tableName: string;
|
||||
@@ -180,7 +254,7 @@ const removeFun = (data: any) => {
|
||||
};
|
||||
|
||||
const allNodeTypeOptions = computed(() => {
|
||||
const options:any = poolCategoryTypeOptions.value;
|
||||
const options: any = poolCategoryTypeOptions.value;
|
||||
return nodeTypeList.concat(options);
|
||||
|
||||
});
|
||||
@@ -196,12 +270,15 @@ defineExpose({
|
||||
.comp-tree-case-table {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
.node-name {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.blue {
|
||||
color: var(--el-color-primary);
|
||||
}
|
||||
|
||||
.name {
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@ const changeFun = () => {
|
||||
emit('update:modelValue', ids);
|
||||
const changeData: any[] = [];
|
||||
listData.value.forEach((item: any) => {
|
||||
if (choseList.value.includes(String(item.id))) {
|
||||
if (choseList.value.includes(String(item.userId))) {
|
||||
changeData.push(item);
|
||||
}
|
||||
});
|
||||
@@ -77,7 +77,7 @@ const changeFun = () => {
|
||||
emit('update:modelValue', choseList.value);
|
||||
let changeData: any = {};
|
||||
listData.value.some((item: any) => {
|
||||
if (choseList.value === String(item.id)) {
|
||||
if (choseList.value === String(item.userId)) {
|
||||
changeData = item;
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -91,8 +91,8 @@
|
||||
</div>
|
||||
</el-space>
|
||||
</div>
|
||||
<loadCaseTable v-show="currentTableType==='tree'" ref="treeTableRef" tableName="TASK_POOL" :modalTableNameList="['TASK_POOL_CATEGORY','TASK_POOL_TASK','TASK_POOL_PERFORMANCE']" :data="tableData" :loading="loading" > </loadCaseTable>
|
||||
<loadCaseTable v-show="currentTableType==='list'" ref="listTableRef" readonly tableName="TASK_POOL_LIST" :data="extractTableData" :loading="loading"> </loadCaseTable>
|
||||
<loadCaseTable v-show="currentTableType==='tree'" ref="treeTableRef" tableName="TASK_POOL" :modalTableNameList="['TASK_POOL_CATEGORY','TASK_POOL_TASK','TASK_POOL_PERFORMANCE']" :data="tableData" :loading="loading" :editMode="true" > </loadCaseTable>
|
||||
<loadCaseTable v-show="currentTableType==='list'" ref="listTableRef" readonly tableName="TASK_POOL_LIST" :data="extractTableData" :loading="loading" :editMode="false"> </loadCaseTable>
|
||||
<loadcase-pro-table
|
||||
v-if="false"
|
||||
ref="treeTableRef2"
|
||||
@@ -163,7 +163,7 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<loadCaseTable editMode="false" ref="treeTableRef" :loading="performanceLoading" readonly tableName="PERFORMANCE_POOL" :data="performanceData" > </loadCaseTable>
|
||||
<loadCaseTable :editMode="false" ref="treeTableRef" :loading="performanceLoading" readonly tableName="PERFORMANCE_POOL" :data="performanceData" > </loadCaseTable>
|
||||
<loadcase-pro-table
|
||||
v-if="false"
|
||||
ref="treeTableRef"
|
||||
|
||||
42
src/views/data/overview/components/info.vue
Normal file
42
src/views/data/overview/components/info.vue
Normal file
@@ -0,0 +1,42 @@
|
||||
<template>
|
||||
<el-drawer
|
||||
v-model="visible"
|
||||
title="属性信息"
|
||||
:size="400"
|
||||
:close-on-click-modal="false"
|
||||
@close="closeFun"
|
||||
>
|
||||
<div class="content">
|
||||
<TableForm ref="tableFormRef" tableName="DATA_OVERVIEW_FILE_INFO" showDisabled />
|
||||
</div>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="closeFun">关闭</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-drawer>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, watch } from 'vue';
|
||||
import TableForm from '@/components/common/table/tableForm.vue';
|
||||
|
||||
const emit = defineEmits(['update:modelValue']);
|
||||
const visible = ref(false);
|
||||
|
||||
interface Props {
|
||||
modelValue: boolean;
|
||||
}
|
||||
|
||||
const props = withDefaults(defineProps<Props>(), {
|
||||
modelValue: false,
|
||||
});
|
||||
|
||||
watch(() => props.modelValue, (val: boolean) => {
|
||||
visible.value = val;
|
||||
});
|
||||
|
||||
const closeFun = () => {
|
||||
emit('update:modelValue', false);
|
||||
};
|
||||
</script>
|
||||
43
src/views/data/overview/components/search.vue
Normal file
43
src/views/data/overview/components/search.vue
Normal file
@@ -0,0 +1,43 @@
|
||||
<template>
|
||||
<el-drawer
|
||||
v-model="visible"
|
||||
title="文件搜索"
|
||||
:size="400"
|
||||
:close-on-click-modal="false"
|
||||
@close="closeFun"
|
||||
>
|
||||
<div class="content">
|
||||
<TableForm ref="tableFormRef" tableName="DATA_OVERVIEW_SEARCH" />
|
||||
</div>
|
||||
<template #footer>
|
||||
<div>
|
||||
<el-button @click="closeFun">关闭</el-button>
|
||||
<el-button type="primary">搜索</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-drawer>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, watch } from 'vue';
|
||||
import TableForm from '@/components/common/table/tableForm.vue';
|
||||
|
||||
const emit = defineEmits(['update:modelValue']);
|
||||
const visible = ref(false);
|
||||
|
||||
interface Props {
|
||||
modelValue: boolean;
|
||||
}
|
||||
|
||||
const props = withDefaults(defineProps<Props>(), {
|
||||
modelValue: false,
|
||||
});
|
||||
|
||||
watch(() => props.modelValue, (val: boolean) => {
|
||||
visible.value = val;
|
||||
});
|
||||
|
||||
const closeFun = () => {
|
||||
emit('update:modelValue', false);
|
||||
};
|
||||
</script>
|
||||
@@ -26,7 +26,13 @@
|
||||
</div>
|
||||
</template>
|
||||
<template #table>
|
||||
<BaseTable tableName="DATA_OVERVIEW">
|
||||
<BaseTable
|
||||
tableName="DATA_OVERVIEW"
|
||||
:api="getDictionaryClassApi"
|
||||
showCheckbox
|
||||
@checkbox-all="checkboxChangeFun"
|
||||
@checkbox-change="checkboxChangeFun"
|
||||
>
|
||||
<template #leftOptions>
|
||||
<div>
|
||||
<el-dropdown trigger="click">
|
||||
@@ -53,10 +59,10 @@
|
||||
</el-dropdown-menu>
|
||||
</template>
|
||||
</el-dropdown>
|
||||
<el-button :icon="Edit" type="primary">重命名</el-button>
|
||||
<el-button :icon="Delete" type="danger">删除</el-button>
|
||||
<el-button :icon="Edit" type="primary" @click="renameFun">重命名</el-button>
|
||||
<el-button :icon="Delete" type="danger" @click="delFun">删除</el-button>
|
||||
<el-button :icon="Refresh">刷新</el-button>
|
||||
<el-button :icon="Warning">属性信息</el-button>
|
||||
<el-button :icon="Warning" @click="infoShow = true">属性信息</el-button>
|
||||
<el-button :icon="Search" @click="searchShow = true">搜索</el-button>
|
||||
</div>
|
||||
</template>
|
||||
@@ -65,7 +71,8 @@
|
||||
</FileTree>
|
||||
</div>
|
||||
<Configuration v-model="configurationShow" :dimensionId="currentDimension" />
|
||||
<SearchFile v-model="searchShow" />
|
||||
<FileSearch v-model="searchShow" />
|
||||
<FileInfo v-model="infoShow" />
|
||||
<projectInfoDialog
|
||||
ref="basePageFormRef"
|
||||
v-if="showProjectInfoDialog"
|
||||
@@ -82,15 +89,20 @@ import FileTree from '@/components/common/fileTreeTemp/index.vue';
|
||||
import { getSimulationNodeTreeApi, getAllTemplateApi } from '@/api/data/dimensionTemplate';
|
||||
import BaseTable from '@/components/common/table/baseTable.vue';
|
||||
import Configuration from './components/configuration.vue';
|
||||
import SearchFile from './components/search.vue';
|
||||
import FileSearch from './components/search.vue';
|
||||
import FileInfo from './components/info.vue';
|
||||
import { ElMessage } from 'element-plus';
|
||||
import ProjectInfoDialog from '@/components/project/projectInfoDialog.vue';
|
||||
import { CirclePlus, Upload, Search, Edit, Refresh, Delete, Warning } from '@element-plus/icons-vue';
|
||||
import { getDictionaryClassApi } from '@/api/system/systemData';
|
||||
|
||||
const currentDimension = ref(1);
|
||||
const templateList = ref<any>([]);
|
||||
const configurationShow = ref(false);
|
||||
const searchShow = ref(false);
|
||||
const infoShow = ref(false);
|
||||
const showProjectInfoDialog = ref(false);
|
||||
let chosenData: any[] = [];
|
||||
|
||||
onMounted(() => {
|
||||
getAllTemplateFun();
|
||||
@@ -104,6 +116,24 @@ const getAllTemplateFun = () => {
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
const renameFun = () => {
|
||||
if (chosenData.length !== 1) {
|
||||
ElMessage.warning('请选择一条数据操作');
|
||||
return;
|
||||
}
|
||||
};
|
||||
|
||||
const delFun = () => {
|
||||
if (chosenData.length === 0) {
|
||||
ElMessage.warning('请选择要删除的数据');
|
||||
return;
|
||||
}
|
||||
};
|
||||
|
||||
const checkboxChangeFun = (data: any) => {
|
||||
chosenData = data.records;
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
Reference in New Issue
Block a user