|
|
@@ -517,87 +517,121 @@
|
|
|
<el-descriptions-item label="联系方式:">{{formJi.devContact}}</el-descriptions-item>
|
|
|
</el-descriptions>
|
|
|
</el-tab-pane>
|
|
|
- <el-tab-pane label="模型参数" style="height: 50vh;">
|
|
|
+ <el-tab-pane label="模型参数" style="height: 50vh;" :key="activeTabKey">
|
|
|
<div style="display: flex;justify-content: space-between;margin-right: 2%;align-items: center;background-color: #e9e9eb;;width: 100%;">
|
|
|
<div style="display: flex;align-items: center;margin-left: 1%;">
|
|
|
- <el-checkbox v-model="checked1" label="参数是否分组" size="large" />
|
|
|
- <el-button @click="addCan" style="margin-left: 10%;" type="success" size="mini" plain v-if="checked1">新增分组</el-button>
|
|
|
+ <el-checkbox v-model="checked1" label="参数是否分组" size="large" @change="gatherTable"/>
|
|
|
+ <el-button @click="showAddFenzu" style="margin-left: 10%;" type="success" size="mini" plain v-if="checked1">新增分组</el-button>
|
|
|
</div>
|
|
|
<div style="display: flex;justify-content: flex-end;margin-right: 1%;">
|
|
|
- <el-button @click="addCan" style="margin-left: 5%;" type="success" size="mini" plain>新增参数</el-button>
|
|
|
+ <el-button @click="addCan" style="margin-left: 5%;" type="success" size="mini" plain :disabled="selFen">新增参数</el-button>
|
|
|
<el-button @click="delAllCan" style="margin-top: 0%;" type="danger" size="mini" plain>删除</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div style="display: flex;">
|
|
|
- <div v-show="checked1" style="flex:1;margin-top:1%;width: 10%;background-color: #F2F6FC;height:45vh;">
|
|
|
- <el-tree :expand-on-click-node="false" ref="treeRef" :filter-node-method="filterNode" :current-node-key="currentNodeKey" class="treeLeft" :data="groupTreeData" @node-click="handleNodeClick" node-key="id" style="margin-top: 10%;background-color: transparent;" default-expand-all :key="valueKet">
|
|
|
-
|
|
|
- </el-tree>
|
|
|
- </div>
|
|
|
- <div style="width: 90%;flex: 1;">
|
|
|
- <el-table
|
|
|
- style="margin-top: 1%;width: 100%;margin-left: 1%;"
|
|
|
- :data="tableDataCan"
|
|
|
- :cell-style="{ textAlign: 'center',padding:'3px 0px' }"
|
|
|
- :header-cell-style="{ textAlign: 'center', }"
|
|
|
- :row-style="{ height: heightAll*0.01+'px',fontSize: '16px',textAlign:'center' }"
|
|
|
- border>
|
|
|
- <el-table-column prop="parName" label="*参数英文名">
|
|
|
- <template #default="scope" style="width: 120%;">
|
|
|
- <el-input v-model="scope.row.parEnname" style="width: 120%;margin-left: -10%;"/>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="parName" label="*参数名称">
|
|
|
- <template #default="scope">
|
|
|
- <el-input v-model="scope.row.parName" style="width: 120%;margin-left: -10%;"/>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="parType" label="*参数类型" >
|
|
|
- <template #default="scope">
|
|
|
- <el-input v-model="scope.row.parType" style="width: 120%;margin-left: -10%;"/>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="parLine" label="行号">
|
|
|
- <template #default="scope">
|
|
|
- <el-input v-model="scope.row.parLine" style="width: 120%;margin-left: -10%;"/>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="parNote" label="维度">
|
|
|
- <template #default="scope">
|
|
|
- <el-input v-model="scope.row.parDimen" style="width: 120%;margin-left: -10%;"/>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="parNote" label="表达式">
|
|
|
- <template #default="scope">
|
|
|
- <el-input v-model="scope.row.parExpr" style="width: 120%;margin-left: -10%;"/>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="parNote" label="*默认值">
|
|
|
- <template #default="scope">
|
|
|
- <el-input v-model="scope.row.parDefVal" style="width: 120%;margin-left: -10%;"/>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="parNote" label="参数范围">
|
|
|
- <template #default="scope">
|
|
|
- <el-input v-model="scope.row.parRange" style="width: 120%;margin-left: -10%;"/>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="parNote" label="版本号">
|
|
|
- <template #default="scope">
|
|
|
- <el-input v-model="scope.row.parVersion" style="width: 120%;margin-left: -10%;"/>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="parNote" label="操作" width="85">
|
|
|
- <template #default="scope">
|
|
|
- <el-button type="danger" @click="delCan(scope.$index)" text size="mini" style="margin-left: 0%;">删除</el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- </div>
|
|
|
+ <div v-if="checked1" style="margin-top:1%;width: 10%;background-color: #F2F6FC;height:45vh;">
|
|
|
+ <el-tree :expand-on-click-node="false" ref="treeRef" :filter-node-method="filterNode" :current-node-key="currentNodeKey" class="treeLeft"
|
|
|
+ :data="groupTreeData" @node-click="handleNodeClick" node-key="id" style="margin-left: 0%;margin-top: 1%;width: 100%;background-color: transparent;" default-expand-all :key="valueKet">
|
|
|
+ <template #default="{ node, data }">
|
|
|
+ <span style="justify-content: space-between;display: flex;width: 100%;align-items: center;margin-left: -10%;">
|
|
|
+ <div class="custom-tree-node" style="align-items: center;line-height: 1.5;">
|
|
|
+ <span style="">{{ node.label }}</span>
|
|
|
+ </div>
|
|
|
+ <div style="margin-right: 1%;position: absolute;left:78%;">
|
|
|
+ <el-dropdown trigger="hover" @click.stop v-if="currentNodeKey === data.mgid">
|
|
|
+ <el-icon><MoreFilled /></el-icon>
|
|
|
+ <!-- <svg-icon icon-class="zhankai"/> -->
|
|
|
+ <template #dropdown>
|
|
|
+ <el-dropdown-menu>
|
|
|
+ <el-dropdown-item style="display: flex;" @click="showEditFen">
|
|
|
+ <el-icon class="el-icon--right" style="color: black;">
|
|
|
+ <Connection />
|
|
|
+ </el-icon>
|
|
|
+ <div>
|
|
|
+ 编辑分组
|
|
|
+ </div>
|
|
|
+ </el-dropdown-item>
|
|
|
+ <divider/>
|
|
|
+ <el-dropdown-item style="display: flex;" @click="delFenZu" divided>
|
|
|
+ <el-icon class="el-icon--right" style="color: black;">
|
|
|
+ <CircleClose />
|
|
|
+ </el-icon>
|
|
|
+ <div>
|
|
|
+ 删除分组
|
|
|
+ </div>
|
|
|
+ </el-dropdown-item>
|
|
|
+ </el-dropdown-menu>
|
|
|
+ </template>
|
|
|
+ </el-dropdown>
|
|
|
+ </div>
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </el-tree>
|
|
|
+ </div>
|
|
|
+ <div style="width: 90%;flex: 1;">
|
|
|
+ <el-table
|
|
|
+ style="margin-top: 1%;width: 100%;margin-left: 1%;overflow: auto;"
|
|
|
+ :data="tableDataCan"
|
|
|
+ :cell-style="{ textAlign: 'center',padding:'3px 0px' }"
|
|
|
+ :header-cell-style="{ textAlign: 'center', }"
|
|
|
+ max-height="45vh"
|
|
|
+ :row-style="{ height: heightAll*0.01+'px',fontSize: '16px',textAlign:'center' }"
|
|
|
+ border>
|
|
|
+ <el-table-column prop="parName" label="*参数英文名">
|
|
|
+ <template #default="scope" style="width: 120%;">
|
|
|
+ <el-input v-model="scope.row.parEnname" style="width: 120%;margin-left: -10%;"/>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="parName" label="*参数名称">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-input v-model="scope.row.parName" style="width: 120%;margin-left: -10%;"/>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="parType" label="*参数类型" >
|
|
|
+ <template #default="scope">
|
|
|
+ <el-input v-model="scope.row.parType" style="width: 120%;margin-left: -10%;"/>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="parLine" label="行号">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-input v-model="scope.row.parLine" style="width: 120%;margin-left: -10%;"/>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="parNote" label="维度">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-input v-model="scope.row.parDimen" style="width: 120%;margin-left: -10%;"/>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="parNote" label="表达式">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-input v-model="scope.row.parExpr" style="width: 120%;margin-left: -10%;"/>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="parNote" label="*默认值">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-input v-model="scope.row.parDefVal" style="width: 120%;margin-left: -10%;"/>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="parNote" label="参数范围">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-input v-model="scope.row.parRange" style="width: 120%;margin-left: -10%;"/>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="parNote" label="版本号">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-input v-model="scope.row.parVersion" style="width: 120%;margin-left: -10%;"/>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="parNote" label="操作" width="85">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-button type="danger" @click="delCan(scope.$index, scope.row)" text size="mini" style="margin-left: 0%;">删除</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</el-tab-pane>
|
|
|
<el-tab-pane label="模型状态">Role</el-tab-pane>
|
|
|
- <el-tab-pane label="Task">Task</el-tab-pane>
|
|
|
</el-tabs>
|
|
|
<template #footer>
|
|
|
<span class="dialog-footer">
|
|
|
@@ -608,11 +642,35 @@
|
|
|
</span>
|
|
|
</template>
|
|
|
</el-dialog >
|
|
|
+ <el-dialog v-model="dialogVisibleFen" :title="titleFen" width="30%" @close="clearFromTree" destroy-on-close :key="tableKey">
|
|
|
+ <el-form :label-width="100" label-position="right" style="margin-left: 5%;margin-top: 2%;" :model="formTree" class="demo-form-inline" ref="formRefTree" :rules="rulesTree">
|
|
|
+ <el-form-item label="名称:" prop="parGroupName" style="">
|
|
|
+ <el-input v-model="formTree.parGroupName" @blur="handleBlur" style="width: 75%;" placeholder="" resize="none"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="组编码:" prop="parGroupCode" style="">
|
|
|
+ <el-input v-model="formTree.parGroupCode" style="width: 75%;" placeholder="" resize="none"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="说明:" prop="parGroupNote">
|
|
|
+ <el-input v-model="formTree.parGroupNote" style="width: 75%;" placeholder="" type="textarea" resize="none"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="排序:" prop="parGroupSort">
|
|
|
+ <el-input-number v-model="formTree.parGroupSort" :min="1" style="width: 50%;"/>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <template #footer>
|
|
|
+ <span class="dialog-footer">
|
|
|
+ <el-button size="mini" @click="dialogVisibleFen = false">取消</el-button>
|
|
|
+ <el-button type="primary" @click="submitFen" size="mini">
|
|
|
+ 提交
|
|
|
+ </el-button>
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script setup>
|
|
|
-import { getModelList,addModel,delMdid,getModelDetail,updateModel,modelFile,getParamsList,changePar,delAllPar,getModelParList } from "@/api/register/regCom";
|
|
|
+import { getModelList,addModel,delMdid,getModelDetail,updateModel,addGroup,getParamsList,changePar,delAllPar,getModelParList,delFen } from "@/api/register/regCom";
|
|
|
import { ref, onMounted, onUnmounted, nextTick } from 'vue';
|
|
|
import { Search } from '@element-plus/icons-vue'
|
|
|
import {
|
|
|
@@ -625,8 +683,13 @@ import { getToken } from "@/utils/auth";
|
|
|
import { fa } from "element-plus/es/locales.mjs";
|
|
|
import { column } from "element-plus/es/components/table-v2/src/common.mjs";
|
|
|
import { TRUE } from "sass";
|
|
|
+import { editGroup } from "../../../api/register/regCom";
|
|
|
+import pinyin from 'pinyin';
|
|
|
+
|
|
|
const { proxy } = getCurrentInstance();
|
|
|
+const dialogVisibleFen = ref(false)
|
|
|
const dragTableRef = ref()
|
|
|
+const isaddFen = ref(false)
|
|
|
const dialogVisible = ref(false)
|
|
|
const dialogVisibleDe = ref(false)
|
|
|
const dialogVisiblePei = ref(false)
|
|
|
@@ -638,7 +701,9 @@ const mdUnit = ref('')
|
|
|
const isElse = ref(false)
|
|
|
const elseLan = ref('')
|
|
|
const tableDataCan = ref([])
|
|
|
+const selFen = ref(true)
|
|
|
const groupTreeData = ref([])
|
|
|
+const parRow = ref({})
|
|
|
const formJi = ref({
|
|
|
name:'',
|
|
|
version:'',
|
|
|
@@ -666,6 +731,7 @@ const formJi = ref({
|
|
|
mdInNote:'',
|
|
|
mdOutNote:''
|
|
|
});
|
|
|
+const activeTabKey = ref(0)
|
|
|
const rulesJi = reactive({
|
|
|
name: [{ required: true, message: '必填', trigger: 'blur' }],
|
|
|
enname: [{ required: true, message: '必填', trigger: 'blur' }],
|
|
|
@@ -682,8 +748,21 @@ const rulesZu = reactive({
|
|
|
mdCPU: [{ required: true, message: '必填', trigger: 'blur' }],
|
|
|
});
|
|
|
const formRefZu = ref();
|
|
|
-const activeName = ref('first')
|
|
|
|
|
|
+const formTree = ref({
|
|
|
+ parGroupSort:1,
|
|
|
+ parGroupNote:'',
|
|
|
+ parGroupName:'',
|
|
|
+ parGroupCode:''
|
|
|
+});
|
|
|
+const rulesTree = reactive({
|
|
|
+ parGroupName: [{ required: true, message: '必填', trigger: 'blur' }],
|
|
|
+ parGroupSort: [{ required: true, message: '必填', trigger: 'blur' }],
|
|
|
+ parGroupCode: [{ required: true, message: '必填', trigger: 'blur' }],
|
|
|
+});
|
|
|
+const formRefTree = ref();
|
|
|
+const activeName = ref('first')
|
|
|
+const titleFen = ref('');
|
|
|
const upload = reactive({
|
|
|
// 是否显示弹出层(用户导入)
|
|
|
open: false,
|
|
|
@@ -790,19 +869,162 @@ const optionsEnv = ref([
|
|
|
const uploadRef = ref(null);
|
|
|
const fileList = ref([]);
|
|
|
const fileList1 = ref([]);
|
|
|
+const tableDataCanAll = ref([]);
|
|
|
const parForm = ref('')
|
|
|
+const currentNodeKey = ref('')
|
|
|
+const parTree = ref({})
|
|
|
onMounted(() => {
|
|
|
getModelListTable()
|
|
|
// addNewModel()
|
|
|
});
|
|
|
+
|
|
|
const handleChange = (file, files) => {
|
|
|
fileList.value = files;
|
|
|
};
|
|
|
const handleChange1 = (file, files) => {
|
|
|
fileList1.value = files;
|
|
|
};
|
|
|
-function delAllCan(){
|
|
|
+function getChineseInitials(str) {
|
|
|
+ if (!str || typeof str !== 'string') return '';
|
|
|
+
|
|
|
+ // 拆分字符串为字符数组
|
|
|
+ const chars = str.split('');
|
|
|
+ const result = chars.map(char => {
|
|
|
+ // 判断是否为中文(Unicode范围:\u4e00-\u9fa5)
|
|
|
+ if (/[\u4e00-\u9fa5]/.test(char)) {
|
|
|
+ // 获取中文首字母拼音(忽略多音字)
|
|
|
+ const pinyinArr = pinyin(char, {
|
|
|
+ style: pinyin.STYLE_FIRST_LETTER,
|
|
|
+ heteronym: false
|
|
|
+ });
|
|
|
+ return pinyinArr[0][0]; // 返回首字母
|
|
|
+ }
|
|
|
+ return char; // 非中文字符直接保留(若需忽略英文可改为空字符串)
|
|
|
+ });
|
|
|
+ return result.join('');
|
|
|
+}
|
|
|
+function handleBlur(){
|
|
|
+ formTree.value.parGroupCode = getChineseInitials(formTree.value.parGroupName)
|
|
|
+}
|
|
|
+function gatherTable(){
|
|
|
+ if(checked1.value===false){
|
|
|
+ var keyArray = []
|
|
|
+ tableDataCanAll.value.forEach(item=>{
|
|
|
+ keyArray.push(item.key)
|
|
|
+ })
|
|
|
+ tableDataCanAll.value.forEach(item=>{
|
|
|
+ tableDataCan.value.forEach(item2=>{
|
|
|
+ if(item2.key===item.key){
|
|
|
+ item = item2
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
+ tableDataCan.value.forEach(item=>{
|
|
|
+ if(!keyArray.includes(item.key)){
|
|
|
+ tableDataCanAll.value.push(item)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ currentNodeKey.value = null
|
|
|
+ selFen.value = true
|
|
|
+ tableDataCan.value = tableDataCanAll.value
|
|
|
+ }
|
|
|
+}
|
|
|
+function handleNodeClick(node, data){
|
|
|
+ var keyArray = []
|
|
|
+ selFen.value = false
|
|
|
+ tableDataCanAll.value.forEach(item=>{
|
|
|
+ keyArray.push(item.key)
|
|
|
+ })
|
|
|
+ tableDataCanAll.value.forEach(item=>{
|
|
|
+ tableDataCan.value.forEach(item2=>{
|
|
|
+ if(item2.key===item.key){
|
|
|
+ item = item2
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
+ tableDataCan.value.forEach(item=>{
|
|
|
+ if(!keyArray.includes(item.key)){
|
|
|
+ tableDataCanAll.value.push(item)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ parTree.value = data.data
|
|
|
+ tableDataCan.value = []
|
|
|
+ tableDataCanAll.value.forEach(item=>{
|
|
|
+ if(item.parGroup==data.data.parGroupCode){
|
|
|
+ tableDataCan.value.push(item)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ currentNodeKey.value = data.data.mgid
|
|
|
+}
|
|
|
+function submitFen(){
|
|
|
+ formTree.value.mdid = parForm.value.mdid
|
|
|
+ console.log(isaddFen.value)
|
|
|
+ if(isaddFen.value===true){
|
|
|
+ addGroup(formTree.value).then(res=>{
|
|
|
+ if(res.code===200){
|
|
|
+ var par = {
|
|
|
+ mdid:parForm.value.mdid
|
|
|
+ }
|
|
|
+ getModelParList(par).then(res1=>{
|
|
|
+ proxy.$modal.msgSuccess("新增成功");
|
|
|
+ groupTreeData.value = res1.data
|
|
|
+ groupTreeData.value.forEach((item, index, array) => {
|
|
|
+ item.label = item.parGroupName
|
|
|
+ item.value = item.parGroupCode
|
|
|
+ dialogVisibleFen.value = false
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ editGroup(formTree.value).then(res=>{
|
|
|
+ if(res.code===200){
|
|
|
+ var par = {
|
|
|
+ mdid:parForm.value.mdid
|
|
|
+ }
|
|
|
+ getModelParList(par).then(res1=>{
|
|
|
+ proxy.$modal.msgSuccess("修改成功");
|
|
|
+ groupTreeData.value = res1.data
|
|
|
+ groupTreeData.value.forEach((item, index, array) => {
|
|
|
+ item.label = item.parGroupName
|
|
|
+ item.value = item.parGroupCode
|
|
|
+ dialogVisibleFen.value = false
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
|
|
|
+}
|
|
|
+function showEditFen(){
|
|
|
+ isaddFen.value = false
|
|
|
+ dialogVisibleFen.value = true
|
|
|
+ formTree.value = parTree.value
|
|
|
+}
|
|
|
+function showAddFenzu(){
|
|
|
+ isaddFen.value = true
|
|
|
+ dialogVisibleFen.value = true
|
|
|
+}
|
|
|
+function delFenZu(){
|
|
|
+ proxy.$modal.confirm('是否确认删除所有参数?').then(function () {
|
|
|
+ return delFen(parTree.value.mgid);
|
|
|
+ }).then(() => {
|
|
|
+ var par = {
|
|
|
+ mdid:parForm.value.mdid
|
|
|
+ }
|
|
|
+ getModelParList(par).then(res1=>{
|
|
|
+ groupTreeData.value = res1.data
|
|
|
+ groupTreeData.value.forEach((item, index, array) => {
|
|
|
+ item.label = item.parGroupName
|
|
|
+ item.value = item.parGroupCode
|
|
|
+ dialogVisibleFen.value = false
|
|
|
+ })
|
|
|
+ })
|
|
|
+ proxy.$modal.msgSuccess("删除成功");
|
|
|
+ }).catch(() => {});
|
|
|
+}
|
|
|
+function delAllCan(){
|
|
|
proxy.$modal.confirm('是否确认删除所有参数?').then(function () {
|
|
|
return delAllPar(parForm.value.mdid);
|
|
|
}).then(() => {
|
|
|
@@ -811,12 +1033,11 @@ function delAllCan(){
|
|
|
}).catch(() => {});
|
|
|
}
|
|
|
function saveChangePar(){
|
|
|
- tableDataCan.value.forEach((item, index, array) => {
|
|
|
+ tableDataCanAll.value.forEach((item, index, array) => {
|
|
|
item.mdid = parForm.value.mdid
|
|
|
- item.parGroup = 'def'
|
|
|
item.parCate = 'int'
|
|
|
})
|
|
|
- changePar(tableDataCan.value).then(res=>{
|
|
|
+ changePar(tableDataCanAll.value).then(res=>{
|
|
|
if(res.code===200){
|
|
|
proxy.$modal.msgSuccess("修改成功");
|
|
|
dialogVisiblePei.value = false
|
|
|
@@ -826,6 +1047,7 @@ function saveChangePar(){
|
|
|
}
|
|
|
async function showPei(row){
|
|
|
dialogVisiblePei.value = true
|
|
|
+ parRow.value = row
|
|
|
var par = {
|
|
|
mdid:row.mdid
|
|
|
}
|
|
|
@@ -843,11 +1065,19 @@ async function showPei(row){
|
|
|
|
|
|
await getParamsList(par).then(res=>{
|
|
|
tableDataCan.value = res.data
|
|
|
+ tableDataCan.value.forEach(item=>{
|
|
|
+ item.key = Math.random()
|
|
|
+ })
|
|
|
})
|
|
|
-
|
|
|
+ tableDataCanAll.value = JSON.parse(JSON.stringify(tableDataCan.value))
|
|
|
}
|
|
|
-function delCan(index){
|
|
|
+function delCan(index,row){
|
|
|
tableDataCan.value.splice(index, 1)
|
|
|
+ tableDataCanAll.value.forEach((item,index,array)=>{
|
|
|
+ if(item.key===row.key){
|
|
|
+ array.splice(index,1)
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
function showDe(row){
|
|
|
dialogVisibleDe.value = true
|
|
|
@@ -862,8 +1092,11 @@ function showDe(row){
|
|
|
}
|
|
|
function addCan(){
|
|
|
tableDataCan.value.push({
|
|
|
- mdid:parForm.value.mdid
|
|
|
+ key:Math.random(),
|
|
|
+ mdid:parForm.value.mdid,
|
|
|
+ parGroup:parTree.value.parGroupCode
|
|
|
})
|
|
|
+ console.log(tableDataCan.value)
|
|
|
}
|
|
|
function downOut(){
|
|
|
var url = window.location.host + formJi.value.mdOutFile
|
|
|
@@ -995,6 +1228,9 @@ async function handleFileSuccess(response, file, fileList){
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
+function clearFromTree(){
|
|
|
+ formTree.value = {}
|
|
|
+}
|
|
|
function clearForm(){
|
|
|
tableDataCan.value = []
|
|
|
activeName.value = 'first'
|
|
|
@@ -1150,4 +1386,10 @@ const seledMo = ['primary','plain','plain','plain','plain','plain','plain']
|
|
|
align-items: center; /* 垂直居中 */
|
|
|
gap: 8px; /* 图标与文字间距 */
|
|
|
}
|
|
|
+:deep(.svg-icon) {
|
|
|
+ outline: none;
|
|
|
+}
|
|
|
+:deep(.svg-icon svg) {
|
|
|
+ stroke: none;
|
|
|
+}
|
|
|
</style>
|