From 8e93b46e605caf680b3731bf2838c739507cd575 Mon Sep 17 00:00:00 2001
From: wangting <wangting@vci-tech.com>
Date: 星期一, 06 一月 2025 16:10:23 +0800
Subject: [PATCH] 修改按钮中图标样式
---
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue | 1402 +++++++++++++++++++++++++++++-----------------------------
1 files changed, 702 insertions(+), 700 deletions(-)
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue
index 6d4bb28..46b249d 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue
@@ -2,41 +2,12 @@
<el-container v-loading="createViewLoading">
<el-aside>
<basic-container>
- <div ref="TreeBox" style="height: calc(100vh - 144px);!important;">
- <div class="headerCon">
- <el-button icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">鍒涘缓
- </el-button>
- <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editClickHandler">淇敼
- </el-button>
- <el-button icon="el-icon-delete" plain size="small" type="danger" @click="deleteClickHandler">鍒犻櫎
- </el-button>
- <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭
- </el-button>
- <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">瀵煎叆
- </el-button>
- <el-button class="miniBtn" icon="el-icon-circle-plus-outline" plain size="small"
- type="primary" @click="createViewClickHandler">鍒涘缓瑙嗗浘
- </el-button>
- <el-button class="miniBtn" icon="el-icon-circle-plus-outline" plain size="small"
- type="primary" @click="indexClickHandler">鍒涘缓绱㈠紩
- </el-button>
- <el-button icon="el-icon-menu" plain size="small" style="width: 82px;text-align: center;padding-left: 1px"
- type="primary" @click="checkClickHandler">涓�鑷存�ф鏌�
- </el-button>
- <el-button class="miniBtn" icon="el-icon-delete" plain size="small"
- type="danger" @click="checkClickHandler">鍒犻櫎鏁版嵁
- </el-button>
- <el-button class="smallBtn" plain size="small"
- type="danger" @click="checkClickHandler">鍒犻櫎鍏ㄩ儴绫诲瀷
- </el-button>
- <el-button class="smallBtn" plain size="small" type="primary" @click="checkViewClickHandler">鏌ョ湅浣跨敤鑼冨洿
- </el-button>
- </div>
+ <div ref="TreeBox" style="height: calc(100vh - 154px);!important;">
<!-- 宸︿晶鏍� -->
- <div style="height: calc(100vh - 330px);">
- <avue-tree ref="tree" :data="treeData" :option="treeOption" @node-click="nodeClick">
+ <div style="height: calc(100vh - 190px);">
+ <avue-tree ref="tree" v-loading="treeLoading" :data="treeData" :option="treeOption" @node-click="nodeClick">
<span slot-scope="{ node, data }" class="el-tree-node__label">
- <span style="font-size: 15px">
+ <span>
<i class="el-icon-s-promotion"></i>
{{ (node || {}).label }}
</span>
@@ -48,11 +19,47 @@
</el-aside>
<el-main>
<basic-container>
- <div style="display: flex;justify-content: center; height: 230px">
- <div class="descBox" style="max-height: 100px">
- <el-descriptions :column="1" border class="margin-top" size="medium" title="灞炴�т俊鎭�">
+ <div>
+ <el-button v-if="permissionList.addBtn" icon="el-icon-plus" plain size="small" type="primary"
+ @click="addClickHandler">鍒涘缓
+ </el-button>
+ <el-button v-if="permissionList.editBtn" icon="el-icon-edit" plain size="small" type="primary"
+ @click="editClickHandler">淇敼
+ </el-button>
+ <el-button v-if="permissionList.delBtn" icon="el-icon-delete" plain size="small" type="danger"
+ @click="deleteClickHandler">鍒犻櫎
+ </el-button>
+ <el-button v-if="permissionList.importBtn" icon="el-icon-upload2" plain size="small" type="primary"
+ @click="upLoadClickHandler">瀵煎叆
+ </el-button>
+ <el-button v-if="permissionList.exportBtn" icon="el-icon-download" plain size="small" type="primary"
+ @click="exportClickHandler">瀵煎嚭
+ </el-button>
+ <el-button v-if="permissionList.createViewBtn" icon="el-icon-circle-plus-outline" plain size="small"
+ type="primary" @click="createViewClickHandler">鍒涘缓瑙嗗浘
+ </el-button>
+ <el-button v-if="permissionList.createIndexBtn" icon="el-icon-circle-plus-outline" plain size="small"
+ type="primary" @click="indexClickHandler">鍒涘缓绱㈠紩
+ </el-button>
+ <el-button v-if="permissionList.consistencyCheckBtn" icon="el-icon-menu" plain size="small" type="primary"
+ @click="checkClickHandler">涓�鑷存�ф鏌�
+ </el-button>
+ <el-button v-if="permissionList.deleteDataBtn" icon="el-icon-delete" plain size="small" type="danger"
+ @click="checkClickHandler">鍒犻櫎鏁版嵁
+ </el-button>
+ <el-button v-if="permissionList.deleteEveryTypeBtn" icon="el-icon-delete" plain size="small" type="danger"
+ @click="checkClickHandler">鍒犻櫎鍏ㄩ儴绫诲瀷
+ </el-button>
+ <el-button v-if="permissionList.viewTheScopeBtn" icon="el-icon-view" plain size="small" type="primary"
+ @click="checkViewClickHandler">鏌ョ湅浣跨敤鑼冨洿
+ </el-button>
+ </div>
+ <div style="display: flex;justify-content:left;margin-top: 15px;">
+ <div class="descBox" style="width: 40%">
+ <el-descriptions :column="2" border class="margin-top" size="medium" title="灞炴�т俊鎭�">
<el-descriptions-item :contentStyle="descriptionOption.contentStyle"
- :labelStyle="descriptionOption.labelStyle">
+ :labelStyle="descriptionOption.labelStyle"
+ :span="12">
<template slot="label">
鍚嶇О
</template>
@@ -65,19 +72,29 @@
</template>
<el-tag v-if="nodeRow.name">{{ nodeRow.name }}</el-tag>
</el-descriptions-item>
- <el-descriptions-item :contentStyle="descriptionOption.contentStyle"
+ <el-descriptions-item :contentStyle="descriptionOption.contentStyle+';min-width: 100px;'"
:labelStyle="descriptionOption.labelStyle">
+ <template slot="label">
+ 鍥炬爣
+ </template>
+ <span class="avue-icon">
+ <icon-show :name="nodeRow.imageName"></icon-show>
+ </span>
+ </el-descriptions-item>
+ <el-descriptions-item :contentStyle="descriptionOption.contentStyle"
+ :labelStyle="descriptionOption.labelStyle"
+ :span="12">
<template slot="label">
瀹炵幇绫�
</template>
<el-tooltip v-if="nodeRow.implClass" :content="nodeRow.implClass" class="item" effect="dark"
placement="top-start">
- <el-tag style="max-width: 250px;overflow: hidden">{{ nodeRow.implClass }}
- </el-tag>
+ <el-tag style="max-width: 100%;overflow: hidden;display: block">{{ nodeRow.implClass }}</el-tag>
</el-tooltip>
</el-descriptions-item>
<el-descriptions-item :contentStyle="descriptionOption.contentStyle"
- :labelStyle="descriptionOption.labelStyle">
+ :labelStyle="descriptionOption.labelStyle"
+ :span="12">
<template slot="label">
鎻忚堪
</template>
@@ -85,7 +102,7 @@
</el-descriptions-item>
</el-descriptions>
</div>
- <div class="descBox">
+ <div class="descBox" style="width: 24%;">
<el-descriptions :column="1" border class="margin-top" size="medium" title="鐗堟湰瑙勫垯">
<el-descriptions-item :contentStyle="descriptionOption.contentStyle"
:labelStyle="descriptionOption.labelStyle">
@@ -137,7 +154,7 @@
</el-descriptions>
</div>
- <div class="descBox">
+ <div class="descBox" style="width: calc(36% - 40px);margin-right: 0">
<el-descriptions :column="1" border class="margin-top" size="medium" title="鐢熷懡鍛ㄦ湡">
<el-descriptions-item :contentStyle="descriptionOption.contentStyle"
:labelStyle="descriptionOption.labelStyle">
@@ -146,11 +163,21 @@
</template>
<el-tag v-if="nodeRow.lifeCycleId">{{ nodeRow.lifeCycleId }}</el-tag>
</el-descriptions-item>
+ <el-descriptions-item :contentStyle="descriptionOption.contentStyle"
+ :labelStyle="descriptionOption.labelStyle">
+ <template slot="label">
+ 澶囬�夌敓鍛藉懆鏈�
+ </template>
+ <div v-if="nodeRow.lifeCycleIds">
+ <el-tag v-for="item in nodeRow.lifeCycleIds.split(',')" style="margin-right: 5px;">{{ item }}</el-tag>
+ </div>
+
+ </el-descriptions-item>
</el-descriptions>
</div>
</div>
- <div style="margin-top: 30px">
- <h3>灞炴�у垪琛�</h3>
+ <div style="margin-top: 25px;position: relative">
+ <h3 style="margin: 0;position: absolute;top:0;z-index: 1000;">灞炴�у垪琛�</h3>
<avue-crud
:data="attrData"
:option="attrOption">
@@ -168,130 +195,110 @@
class="avue-dialog"
width="75%"
@close="addDialogClose">
- <el-form ref="form" :model="form" :rules="rules" label-width="95px">
+ <el-form ref="form" :model="form" :rules="rules" label-width="95px" size="small">
<div class="dialogForm">
- <div class="leftForm">
+ <div class="leftForm" style="width: 40%">
<el-form-item label="绫诲瀷鍚嶇О锛�" prop="id">
<el-input v-model="form.id" :readOnly="title === 'edit'"></el-input>
</el-form-item>
- <el-form-item label="鏍囩锛�">
- <el-input v-model="form.name"></el-input>
+ <el-row :span="24">
+ <el-col :span="12">
+ <el-form-item label="鏍囩锛�" prop="name">
+ <el-input v-model="form.name"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍥炬爣锛�" prop="imageName">
+ <input-icon v-model="form.imageName" placeholder="璇烽�夋嫨鍥炬爣"></input-icon>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-form-item label="缁ф壙鑷細" prop="fName">
+ <avue-input-tree v-model="form.fName"
+ :dic="inheritTreeData"
+ :disabled="title === 'add'"
+ :props="{label: 'id', value: 'id',children: 'children'}"
+ placeholder="璇烽�夋嫨涓氬姟绫诲瀷"></avue-input-tree>
</el-form-item>
- <el-form-item label="缁ф壙鑷細">
- <div style="display: flex;gap: 5px;align-items: center">
- <el-input v-model="form.fName" :readOnly="true"></el-input>
- <el-button :disabled="title === 'add'" plain size="small" style="margin-left: 5px;height: 30px"
- type="success"
- @click="inheritClickHandler">閫夋嫨
- </el-button>
- </div>
- </el-form-item>
- <el-form-item label="瀹炵幇绫伙細">
+ <el-form-item label="瀹炵幇绫伙細" prop="implClass">
<el-input v-model="form.implClass"></el-input>
</el-form-item>
- <el-form-item label="鎻忚堪">
+ <el-form-item label="鎻忚堪" prop="description">
<el-input v-model="form.description" :rows="2" type="textarea"></el-input>
</el-form-item>
</div>
- <div class="centerForm">
- <el-form-item label="鐗堟湰瑙勫垯锛�" label-width="110px" prop="revLevel">
- <el-select v-model="form.revLevel" @change="revLevelChange">
- <el-option label="涓嶅彲淇" value="0"></el-option>
- <el-option label="閲囩敤涓�绾х増鏈鐞�" value="1"></el-option>
- <el-option label="閲囩敤浜岀骇鐗堟湰绠$悊" value="2"></el-option>
- </el-select>
+ <div class="centerForm" style="width: 26%">
+ <el-form-item label="鐗堟湰瑙勫垯锛�" label-width="100px" prop="revLevel" style="margin-bottom: 10px;">
+ <el-radio v-model="form.revLevel" label="0" @input="revLevelChange">涓嶅彲淇</el-radio>
+ <br>
+ <el-radio v-model="form.revLevel" label="1" @input="revLevelChange">閲囩敤涓�绾х増鏈鐞�</el-radio>
+ <br>
+ <el-radio v-model="form.revLevel" label="2" @input="revLevelChange">閲囩敤浜岀骇鐗堟湰绠$悊</el-radio>
</el-form-item>
- <el-form-item v-if="form.revLevel !== '0'" label="鐗堟湰鍙疯鍒欙細" label-width="110px" prop="revisionRuleId">
- <div style="display: flex;gap: 5px;align-items: center">
- <el-input v-model="form.revisionRuleId" :readOnly="true"></el-input>
- <el-button :disabled="form.inputRevisionFlag" plain size="small" style="margin-left: 5px;height: 30px"
- type="success"
- @click="versionAddHandler">娣诲姞
- </el-button>
- <el-switch
- v-model="form.inputRevisionFlag"
- active-text="鎵嬪伐杈撳叆"
- style="width: 300px"
- @change="form.revisionRuleId = ''">
- </el-switch>
- </div>
+ <el-form-item v-if="form.revLevel !== '0'" label="鐗堟湰鍙疯鍒欙細" label-width="100px" prop="revisionRuleId"
+ style="margin-bottom: 5px;">
+ <avue-select v-model="form.revisionRuleId"
+ :dic="versionData"
+ :disabled="form.inputRevisionFlag"
+ :filterable="true"
+ :props="{label: 'id', value: 'id'}"
+ placeholder="璇烽�夋嫨鐗堟湰鍙疯鍒�"></avue-select>
+ <el-switch
+ v-model="form.inputRevisionFlag"
+ active-text="鎵嬪伐杈撳叆"
+ style="width: 300px"
+ @change="form.revisionRuleId = ''">
+ </el-switch>
</el-form-item>
- <el-form-item v-if="form.revLevel !== '0'" label="鍒嗛殧绗︼細" label-width="110px" prop="delimiter">
- <el-select v-model="form.delimiter" clearable>
- <el-option label="." value="."></el-option>
- <el-option label="-" value="-"></el-option>
- </el-select>
+ <el-form-item v-if="form.revLevel !== '0'" label="鍒嗛殧绗︼細" label-width="100px" prop="delimiter"
+ style="margin-bottom: 5px;">
+ <el-radio v-model="form.delimiter" label=""> </el-radio>
+ <el-radio v-model="form.delimiter" label=".">.</el-radio>
+ <el-radio v-model="form.delimiter" label="-">-</el-radio>
</el-form-item>
- <el-form-item v-if="form.revLevel !== '0' && form.revLevel !== '1'" label="鐗堟鍙疯鍒欙細" label-width="110px"
+ <el-form-item v-if="form.revLevel !== '0' && form.revLevel !== '1'" label="鐗堟鍙疯鍒欙細" label-width="100px"
prop="versionRule">
- <el-select v-model="form.versionRule" clearable>
- <el-option label="1.2.3..." value="0"></el-option>
- <el-option label="a.b.c..." value="1"></el-option>
- <el-option label="0.1.2..." value="2"></el-option>
- </el-select>
+ <el-radio v-model="form.versionRule" label="0">1.2.3...</el-radio>
+ <el-radio v-model="form.versionRule" label="1">a.b.c...</el-radio>
+ <el-radio v-model="form.versionRule" label="2">0.1.2...</el-radio>
</el-form-item>
</div>
- <div class="rightForm">
+ <div class="rightForm" style="width: 25%">
<el-form-item label="鐢熷懡鍛ㄦ湡锛�" label-width="138px" prop="lifeCycleId">
- <div style="display: flex;gap: 5px;align-items: center">
- <el-input v-model="form.lifeCycleId" :readOnly="true"></el-input>
- <el-button plain size="small" style="margin-left: 5px;height: 30px" type="success"
- @click="lifeAddHandler('input')">娣诲姞
- </el-button>
- </div>
+ <avue-select v-model="form.lifeCycleId"
+ :dic="lifeData"
+ :filterable="true"
+ :props="{label: 'id', value: 'id'}"
+ placeholder="璇烽�夋嫨鐢熷懡鍛ㄦ湡"></avue-select>
</el-form-item>
-
- <el-form-item label="澶囬�夌敓鍛藉懆鏈熷垪琛細" label-width="138px">
- <div style="display: flex; align-items: center">
- <div style="height: 200px; width: 280px; border: 1px solid #bdbbbb;overflow-y: auto">
- <!-- 鍐呭 -->
- <el-table
- :data="dialogLifeTable"
- :show-header="false"
- style="width: 100%">
- <el-table-column
- align="center"
- prop="id">
- </el-table-column>
- <el-table-column
- fixed="right"
- label="鎿嶄綔"
- width="60">
- <template slot-scope="scope">
- <el-button
- size="small"
- style="color:#F56C6C;"
- type="text"
- @click.native.prevent="dialogDeleteLifeTable(scope.$index)">
- 绉婚櫎
- </el-button>
- </template>
- </el-table-column>
- </el-table>
- </div>
- <el-button plain size="mini" style="margin-left: 5px" type="success"
- @click="lifeAddHandler('table')">娣诲姞
- </el-button>
-
- </div>
+ <el-form-item label="澶囬�夌敓鍛藉懆鏈熷垪琛細" label-width="138px" prop="subLifeCycleIdList">
+ <avue-select v-model="form.subLifeCycleIdList"
+ :dic="subLifeData"
+ :filterable="true"
+ :props="{label: 'id', value: 'id'}"
+ multiple
+ placeholder="璇烽�夋嫨鐢熷懡鍛ㄦ湡"
+ type="tree"
+ @change="subLifeChange"></avue-select>
</el-form-item>
</div>
</div>
</el-form>
<div class="bottomForm">
- <h3>灞炴�ф睜鍒楄〃</h3>
<avue-crud
:data="dialogAttrData"
:option="dialogAttrOption"
+ size="mini"
@row-del="dialogBottomAttrDel">
<template slot="menuLeft">
- <el-button icon="el-icon-plus" size="small" type="primary" @click="addDialogClickHandler">鍒涘缓</el-button>
+ <h3 style="display: inline-block;margin-right: 20px;margin-bottom: 10px;">灞炴�ф睜鍒楄〃</h3>
+ <el-button icon="el-icon-plus" size="mini" type="primary" @click="addDialogClickHandler">鍒涘缓</el-button>
</template>
</avue-crud>
</div>
<span slot="footer" class="dialog-footer">
- <el-button @click="addDialogClose">鍙� 娑�</el-button>
<el-button type="primary" @click="addDialogSavaHandler">纭� 瀹�</el-button>
+ <el-button @click="addDialogClose">鍙� 娑�</el-button>
</span>
</el-dialog>
@@ -321,89 +328,8 @@
>
</avue-crud>
<span slot="footer" class="dialog-footer">
- <el-button @click="dialogAttrClose">鍙� 娑�</el-button>
<el-button type="primary" @click="dialogAttrAddClickHandler">纭� 瀹�</el-button>
- </span>
- </el-dialog>
-
- <!-- 鐗堟湰鍙疯鍒欓�夋嫨 -->
- <el-dialog
- v-dialogDrag
- :visible.sync="dialogVersionVisible"
- append-to-body="true"
- class="avue-dialog"
- title="鐗堟湰鍙疯鍒�"
- width="60%"
- >
-
- <avue-crud
- :key="dialogVersionKey"
- ref="dialogAttrCrud"
- :data="dialogVersionData"
- :option="dialogVersionOption"
- :table-loading="dialogVersionLoading"
- @row-click="dialogVersionRowClick"
- @search-change="versionHandleSearch"
- @search-reset="versionHandleReset"
- >
- </avue-crud>
-
- <span slot="footer" class="dialog-footer">
- <el-button @click="dialogVersionVisible = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="dialogVersionAddClickHandler">纭� 瀹�</el-button>
- </span>
-
- </el-dialog>
-
- <!-- 鐢熷懡鍛ㄦ湡 -->
- <el-dialog
- v-dialogDrag
- :visible.sync="dialogLfeVisible"
- append-to-body="true"
- class="avue-dialog"
- title="鐢熷懡鍛ㄦ湡妯℃澘"
- width="60%"
- >
- <avue-crud
- :key="dialogLifeKey"
- ref="dialogAttrCrud"
- :data="dialogLifeData"
- :option="dialogLifeOption"
- :table-loading="dialogLifeLoading"
- @row-click="dialogLifeRowClick"
- @search-change="lifeHandleSearch"
- @search-reset="lifeHandleReset"
- >
- </avue-crud>
- <span slot="footer" class="dialog-footer">
- <el-button @click="dialogLfeVisible = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="dialogLifeAddClickHandler">纭� 瀹�</el-button>
- </span>
-
- </el-dialog>
-
- <!-- 缁ф壙鑷� -->
- <el-dialog
- v-dialogDrag
- :visible.sync="dialogInheritVisible"
- append-to-body="true"
- class="avue-dialog"
- title="缁ф壙涓氬姟绫诲瀷"
- width="30%"
- @close="inheritClose"
- >
- <avue-tree ref="inheritTree" v-model="treeForm" :data="inheritTreeData" :option="inheritTreeOption"
- @node-click="inheritNodeClick">
- <span slot-scope="{ node, data }" class="el-tree-node__label">
- <span style="font-size: 15px">
- <i class="el-icon-s-promotion"></i>
- {{ (node || {}).label }}
- </span>
- </span>
- </avue-tree>
- <span slot="footer" class="dialog-footer">
- <el-button @click="inheritClose">鍙� 娑�</el-button>
- <el-button type="primary" @click="inheritSaveClickHandler">纭� 瀹�</el-button>
+ <el-button @click="dialogAttrClose">鍙� 娑�</el-button>
</span>
</el-dialog>
@@ -446,12 +372,12 @@
:table-loading="conCheckLoading">
</avue-crud>
<span slot="footer" class="dialog-footer">
- <el-button @click="conCheckVisible = false">鍙� 娑�</el-button>
<el-button type="primary" @click="repairClickHandler">淇� 澶�</el-button>
+ <el-button @click="conCheckVisible = false">鍙� 娑�</el-button>
</span>
</el-dialog>
- <!-- 涓�鑷存�ф鏌� -->
+ <!-- 鏌ョ湅绱㈠紩 -->
<el-dialog
v-dialogDrag
:visible.sync="indexVisible"
@@ -459,8 +385,61 @@
class="avue-dialog"
title="绱㈠紩淇℃伅"
width="60%"
+ @close="indexDialogClose"
>
-
+ <div v-loading="indexLoading" style="display: flex;height: 500px;width: 100%">
+ <basic-container>
+ <div style="height: 390px">
+ <el-button plain size="mini" style="margin-bottom: 5px" type="danger"
+ @click="deleteIndexLeftTreeClickHandler">鍒犻櫎绱㈠紩
+ </el-button>
+ <avue-tree
+ :data="indexLeftData"
+ :option="indexLeftOption"
+ @node-click="indexLeftNodeClick"></avue-tree>
+ </div>
+ </basic-container>
+ <div style="padding: 20px;width: 75%">
+ <div>
+ <el-form ref="form" :model="indexForm" label-width="90px" size="mini">
+ <el-form-item label="绱㈠紩鍚嶇О锛�">
+ <el-input v-model="indexForm.name" :readOnly="indexFormRead"></el-input>
+ </el-form-item>
+ <el-form-item label="鎻忚堪锛�">
+ <el-input v-model="indexForm.desc"></el-input>
+ </el-form-item>
+ </el-form>
+ <div style="display: flex;justify-content: center">
+ <el-button plain size="mini" type="success" @click="rightIndexAddClick">澧炲姞</el-button>
+ <el-button plain size="mini" type="danger">鍒犻櫎</el-button>
+ </div>
+ </div>
+ <avue-crud
+ :data="indexData"
+ :option="indexOption"></avue-crud>
+ </div>
+ </div>
+ <el-dialog
+ v-dialogDrag
+ :visible.sync="indexAttrVisible"
+ append-to-body="true"
+ class="avue-dialog"
+ title="灞炴�т俊鎭�"
+ width="60%"
+ >
+ <avue-crud
+ :data="indexAttrData"
+ :option="indexAttrOption"
+ @row-click="indexAttrRowClick"></avue-crud>
+ <span slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="indexAttrClickAddHandler">纭� 瀹�</el-button>
+ <el-button @click="indexAttrVisible = false">鍙� 娑�</el-button>
+ </span>
+ </el-dialog>
+ <span slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="indexClickAddHandler">淇� 瀛�</el-button>
+ <el-button @click="indexDialogClose">鍙� 娑�</el-button>
+ </span>
</el-dialog>
</el-container>
@@ -478,18 +457,94 @@
getUsedBtmLinkList,
checkBtmConsistency,
executeRepair,
- getIndexByCondition
+ getIndexByCondition,
+ delIndex,
+ getAllAttributesByBtmId,
+ addIndex
} from "@/api/modeling/businessType/api"
import {gridAttribute} from "@/api/modeling/attributePool/api";
import func from "@/util/func";
import {getUsedVersionRuleList, getVersionRuleAllList} from "@/api/modeling/version/api";
import {gridLifeCycle} from "@/api/modeling/lifeCycle/api";
+import {mapGetters} from "vuex";
export default {
name: "index",
data() {
return {
- indexVisible:false,
+ indexLoading: false,
+ indexFormRead: false,
+ indexAttrRow: {},
+ indexAttrOption: {
+ ...basicOption,
+ height: 380,
+ highlightCurrentRow: true,
+ addBtn: false,
+ refreshBtn: false,
+ editBtn: false,
+ delBtn: false,
+ selection: false,
+ menu: false,
+ column: [
+ {
+ label: '灞炴�т俊鎭�',
+ prop: 'id',
+ sortable: true,
+ },
+ ]
+ },
+ indexAttrData: [],
+ indexData: [],
+ indexAttrVisible: false,
+ indexLeftNodeRow: {},
+ indexForm: {
+ name: '',
+ desc: ''
+ },
+ indexLeftData: [],
+ indexLeftOption: {
+ height: 'auto',
+ menu: false,
+ addBtn: false,
+ props: {
+ label: 'name',
+ value: 'id',
+ children: 'children',
+ },
+ },
+ indexOption: {
+ ...basicOption,
+ height: 280,
+ addBtn: false,
+ refreshBtn: false,
+ editBtn: false,
+ delBtn: false,
+ selection: false,
+ menu: false,
+ column: [
+ {
+ label: '涓氬姟绫诲瀷鍚嶇О',
+ prop: 'typeName',
+ sortable: true,
+ },
+ {
+ label: '绱㈠紩鍚嶇О',
+ prop: 'indexName',
+ sortable: true,
+ },
+ {
+ label: '灞炴�у悕绉�',
+ prop: 'attrNames',
+ sortable: true,
+ },
+ {
+ label: '鎻忚堪',
+ prop: 'desc',
+ sortable: true,
+ },
+ ]
+ },
+ indexVisible: false,
conDefaultCheckData: [], // 淇濈暀涓婁釜鎺ュ彛杩斿洖鐨勬暟鎹�
conCheckLoading: false,
conCheckOption: {
@@ -499,10 +554,12 @@
index: false,
selection: false,
refreshBtn: false,
+ header: false,
column: [
{
label: '绫诲瀷鍚�',
prop: 'id',
+ width: 250,
},
{
label: '鎿嶄綔',
@@ -511,6 +568,7 @@
{
label: '鐘舵��',
prop: 'status',
+ width: 250,
}
]
},
@@ -527,6 +585,7 @@
searchMenuSpan: 8,
refreshBtn: false,
selection: false,
+ header: false,
column: [
{
label: '鍚嶇О',
@@ -554,73 +613,11 @@
fileUrl: 'api/linkTypeController/impData',
createViewLoading: false, // 鍒涘缓瑙嗗浘
versionAddFlag: false,
- treeForm: {},
- inheritNodeRow: {},
- inheritTreeOption: {
- height: 'auto',
- defaultExpandAll: false,
- menu: false,
- addBtn: false,
- props: {
- label: 'id',
- value: 'id',
- children: 'children'
- }
- },
inheritTreeData: [],
- dialogInheritVisible: false,
- dialogLifeDefalutData: [], // 鏌ヨ閲嶇疆榛樿鏁版嵁
- lifeType: '',
- dialogLifeTable: [],
- dialogLifeSaveRow: {},
- dialogLifeKey: Math.random(),
- dialogLifeData: [],
- dialogLifeOption: {
- ...basicOption,
- addBtn: false,
- selection: false,
- refreshBtn: false,
- menu: false,
- height: 450,
- searchMenuSpan: 8,
- highlightCurrentRow: true,
- column: [
- {
- label: '鐢熷懡鍛ㄦ湡妯℃澘鍚�',
- prop: 'id',
- searchLabelWidth: 120,
- search: true
- }
- ]
- },
- dialogLifeLoading: false,
- dialogLfeVisible: false,
- dialogVersionDefalutData: [], // 鏌ヨ閲嶇疆榛樿鏁版嵁
- dialogSwitchValue: false,
- dialogVersionSaveRow: {},
- dialogVersionVisible: false,
- dialogVersionKey: Math.random(),
- dialogVersionData: [],
- dialogVersionOption: {
- ...basicOption,
- addBtn: false,
- selection: false,
- refreshBtn: false,
- menu: false,
- height: 450,
- searchMenuSpan: 8,
- highlightCurrentRow: true,
- // calcHeight: 100,
- column: [
- {
- label: '鐗堟湰鍙疯鍒�',
- prop: 'id',
- searchLabelWidth: 110,
- search: true
- }
- ]
- },
- dialogVersionLoading: false,
+ lifeData: [],//鐢熷懡鍛ㄦ湡涓嬫媺鏁版嵁
+ subLifeData: [],//澶囬�夌敓鍛藉懆鏈熶笅鎷夋暟鎹�
+ allLifeData: [],
+ versionData: [],//鐗堟湰瑙勫垯鏁版嵁
dialogAttrSelectList: [],
searchAttrParams: {},
dialogAttrLoading: false,
@@ -640,22 +637,29 @@
highlightCurrentRow: true,
height: 450,
searchMenuSpan: 8,
+ header: false,
+ selectable: function (row) {
+ return row.selectable;
+ },
column: [
{
label: '灞炴�у悕',
prop: 'id',
sortable: true,
search: true,
+ width: 260
},
{
label: '灞炴�х被鍨�',
prop: 'attributeDataType',
sortable: true,
+ width: 150,
},
{
label: '鍒濆鍊�',
prop: 'defaultValue',
sortable: true,
+ width: 200
},
{
label: '璇存槑',
@@ -672,6 +676,9 @@
{required: true, message: '璇疯緭绫诲瀷鍚嶇О', trigger: 'blur'},
{validator: this.validateEnglishOnly, trigger: 'blur'}
],
+ imageName: [
+ {required: true, message: '璇烽�夋嫨鍥炬爣', trigger: 'submit'},
+ ],
revLevel: [
{required: true, message: '璇烽�夋嫨鐗堟湰瑙勫垯', trigger: 'blur'},
],
@@ -685,30 +692,37 @@
editBtn: false,
refreshBtn: false,
selection: false,
- height: 210,
+ height: 220,
addBtn: false,
+ gridBtn: false,
+ columnBtn: false,
+ menuWidth: 100,
// index:false,
column: [
{
label: '灞炴�у悕',
prop: 'id',
sortable: true,
+ width: 260,
},
{
prop: 'btmTypeId',
label: '涓氬姟绫诲瀷',
- sortable: true
+ sortable: true,
+ width: 200
},
{
label: '灞炴�х被鍨�',
prop: 'attributeDataType',
sortable: true,
+ width: 150,
},
{
label: '鍒濆鍊�',
prop: 'defaultValue',
sortable: true,
+ width: 200,
},
{
label: '璇存槑',
@@ -732,22 +746,26 @@
{
prop: 'id',
label: '灞炴�у悕',
- sortable: true
+ sortable: true,
+ width: 260
},
{
prop: 'btmTypeId',
label: '涓氬姟绫诲瀷',
- sortable: true
+ sortable: true,
+ width: 200
},
{
prop: 'attributeDataType',
label: '灞炴�х被鍨�',
- sortable: true
+ sortable: true,
+ width: 150
},
{
prop: 'defaultValue',
label: '榛樿鍊�',
- sortable: true
+ sortable: true,
+ width: 200
},
{
prop: 'description',
@@ -762,13 +780,14 @@
fName: '', // 缁ф壙鑷�
implClass: '', // 瀹炵幇绫�
description: '', // 鎻忚堪
- revLevel: '', // 鐗堟湰瑙勫垯
+ revLevel: '2', // 鐗堟湰瑙勫垯
revisionRuleId: '',// 鐗堟湰鍙疯鍒�
inputRevisionFlag: false, // 鎵嬪伐杈撳叆,
delimiter: '', // 鍒嗛殧绗�
versionRule: '0', // 鐗堟鍙疯鍒�
lifeCycleId: '', // 鐢熷懡鍛ㄦ湡
subLifeCycleId: '', // 鐢熷懡鍛ㄦ湡澶囬�夊垪琛�,
+ subLifeCycleIdList: [],
apNameArray: "", // 灞炴�ф睜鍒楄〃鈥欙紝鈥樺垎闅�
},
nodeRow: {},
@@ -780,7 +799,8 @@
props: {
label: 'TreeName',
value: 'id',
- children: 'children'
+ children: 'children',
+ name: 'name'
}
},
treeData: [
@@ -791,24 +811,57 @@
}
],
descriptionOption: {
- labelStyle: 'text-align:center;width:100px;',
- contentStyle: 'max-width:200px;text-align:center;word-break;break-all;'
+ labelStyle: 'text-align:center;width:110px;',
+ contentStyle: 'min-width:200px;text-align:center;word-break:break-all;'
},
icons: {
id: 'el-icon-finished',
name: 'el-icon-tickets',
desc: 'el-icon-chat-line-square'
},
+ treeLoading: false
}
},
created() {
this.getTreeList();
+ this.getVersionList();
+ this.getLifeCycle();
},
- mounted() {
+ computed: {
+ ...mapGetters(["permission"]),
+ permissionList() {
+ return {
+ addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false),
+ delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false),
+ editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false),
+ exportBtn: this.vaildData(this.permission[this.$route.query.id].EXPORT, false),
+ importBtn: this.vaildData(this.permission[this.$route.query.id].IMPORT, false),
+ consistencyCheckBtn: this.vaildData(this.permission[this.$route.query.id].consistencyCheck, false),
+ createIndexBtn: this.vaildData(this.permission[this.$route.query.id].createIndex, false),
+ createViewBtn: this.vaildData(this.permission[this.$route.query.id].createView, false),
+ deleteDataBtn: this.vaildData(this.permission[this.$route.query.id].deleteData, false),
+ deleteEveryTypeBtn: this.vaildData(this.permission[this.$route.query.id].deleteEveryType, false),
+ viewTheScopeBtn: this.vaildData(this.permission[this.$route.query.id].viewTheScope, false),
+ };
+ },
+ },
+ watch: {
+ 'form.lifeCycleId': {
+ handler(newval) {
+ if (this.form.lifeCycleId) {
+ this.subLifeData = this.allLifeData.filter(item => {
+ return item.id != this.form.lifeCycleId
+ });
+ } else {
+ this.subLifeData = this.allLifeData
+ }
+ },
+ }
},
methods: {
//鏍戣〃鏌ヨ
getTreeList() {
+ this.treeLoading = true;
getBizTypes().then(res => {
const data = res.data.data.map(item => {
this.processChildren(item); // 澶勭悊姣忎釜鑺傜偣
@@ -816,8 +869,8 @@
return item.attributes; // 杩斿洖澶勭悊鍚庣殑 attributes
});
this.treeData[0].children = data;
- console.log(this.treeData);
this.inheritTreeData = data;
+ this.treeLoading = false;
});
},
@@ -837,7 +890,18 @@
this.attrData = row.attributes ? JSON.parse(row.attributes) : [];
this.nodeRow = row;
},
-
+ //鑾峰彇鐗堟湰瑙勫垯鏁版嵁
+ getVersionList() {
+ getVersionRuleAllList().then(res => {
+ this.versionData = res.data.data;
+ });
+ },
+ //鑾峰彇鐢熷懡鍛ㄦ湡鏁版嵁
+ getLifeCycle() {
+ gridLifeCycle().then(res => {
+ this.allLifeData = res.data.data;
+ });
+ },
// 鍒涘缓鎸夐挳
addClickHandler() {
if (func.isEmptyObject(this.nodeRow)) {
@@ -846,336 +910,20 @@
}
this.title = 'add';
this.form.fName = this.nodeRow.id === 'topNode' ? "" : this.nodeRow.id;
- console.log(this.nodeRow);
+ this.lifeData = this.allLifeData;
+ this.subLifeData = this.allLifeData;
this.form.inputRevisionFlag = JSON.parse(this.form.inputRevisionFlag); // 瀛楃涓瞗alse杞崲涓哄竷灏斿��
this.visible = true;
},
- // 鍏抽棴缁ф壙瀵硅瘽妗�
- inheritClose() {
- this.dialogInheritVisible = false;
- this.$refs.inheritTree.setCurrentKey(null); // 鍙栨秷褰撳墠閫変腑鐨勮妭鐐�
- },
-
- // 缁ф壙鎸夐挳
- inheritClickHandler() {
- this.dialogInheritVisible = true;
- },
-
- // 缁ф壙鏍戣鐐瑰嚮
- inheritNodeClick(row) {
- this.inheritNodeRow = row;
- },
-
- // 缁ф壙鏍戜繚瀛�
- inheritSaveClickHandler() {
- this.form.fName = this.inheritNodeRow.id;
- this.dialogInheritVisible = false;
- },
-
- // 瀵硅瘽妗� 灞炴�ф睜鍒楄〃澧炲姞鎸夐挳
- addDialogClickHandler() {
- this.dialogAttrLoading = true;
- this.attrPollDialogVisible = true;
- this.dialogAttrReload = Math.random(); // 寮哄埗鍒锋柊琛ㄦ牸 瑙e喅琛ㄦ牸閿欒
- this.getAttrDialogDta();
- },
-
- // 鏌ヨ灞炴�ф睜鍒楄〃鏁版嵁
- getAttrDialogDta() {
- gridAttribute(this.attrPage.currentPage, this.attrPage.pageSize, this.searchAttrParams).then(res => {
- const data = res.data.data;
- this.dialogAttrSaveData = data;
- this.attrPage.total = res.data.total;
- this.dialogAttrLoading = false;
- }).catch(err => {
- this.$message.error(err);
- });
- },
-
- // 鏂板灞炴�ф睜鍒楄〃鍏抽棴瀵硅瘽妗�
- dialogAttrClose() {
- this.attrPollDialogVisible = false;
- this.searchAttrParams = {};
- },
-
- // 娣诲姞灞炴�ф睜琛ㄦ牸閫夋嫨妗�
- dialogAttrSelectChange(row) {
- this.dialogAttrSelectList = row;
- },
-
- // 娣诲姞灞炴�ф睜 琛岀偣鍑�
- dialogAttrRowClickHandler(row) {
-
- func.rowClickHandler(
- row,
- this.$refs.dialogAttrCrud,
- this.attrLastIndex,
- (newIndex) => {
- this.attrLastIndex = newIndex;
- },
- () => {
- this.selectList = [];
- }
- );
- },
-
- //娣诲姞灞炴�ф睜 鏉℃暟
- attrSizeChange(val) {
- this.attrPage.pageSize = val;
- this.getAttrDialogDta()
- },
-
- //娣诲姞灞炴�ф睜 椤电爜
- attrCurrentChange(val) {
- this.attrPage.currentPage = val;
- this.getAttrDialogDta();
- },
-
- //娣诲姞灞炴�ф睜 鎼滅储
- attrHandleSearch(params, done) {
- if (func.isEmptyObject(params)) {
- this.searchAttrParams = {};
- } else {
- this.searchAttrParams = {
- "conditionMap[id]": "*" + params.id + "*"
- };
- }
-
- this.getAttrDialogDta();
- done();
- },
-
- //娣诲姞灞炴�ф睜 娓呯┖鎼滅储
- attrHandleReset() {
- this.searchAttrParams = {};
- this.getAttrDialogDta();
- },
-
- // 娣诲姞灞炴�ф睜 淇濆瓨
- dialogAttrAddClickHandler() {
- let hasDuplicate = false;
-
- // 鍏堝垱寤轰竴涓复鏃舵暟缁勬潵瀛樺偍涓嶉噸澶嶇殑椤�
- const newItems = [];
-
- this.dialogAttrSelectList.forEach(item => {
- const exists = this.dialogAttrData.some(existingItem => existingItem.id === item.id);
-
- if (exists) {
- hasDuplicate = true;
- return;
- }
-
- // 濡傛灉娌℃湁閲嶅椤癸紝鍒欏皢璇ラ」娣诲姞鍒颁复鏃舵暟缁勪腑
- newItems.push({
- id: item.id,
- attributeDataType: item.attributeDataType,
- defaultValue: item.defaultValue,
- description: item.description
- });
- });
-
- if (hasDuplicate) {
- this.$message.error('璇锋鏌ユ槸鍚︽湁娣诲姞閲嶅椤癸紒');
- } else {
- // 濡傛灉娌℃湁閲嶅椤癸紝灏嗘柊椤规坊鍔犲埌 dialogAttrData
- this.dialogAttrData.push(...newItems);
- this.attrPollDialogVisible = false;
- }
- },
-
- // 灞炴�ф睜鍒犻櫎
- dialogBottomAttrDel(form, index) {
- this.dialogAttrData.splice(index, 1);
- },
-
- // 鐗堟湰瑙勫垯绠$悊娣诲姞
- versionAddHandler() {
- this.dialogVersionVisible = true;
- this.dialogVersionKey = Math.random(); // 鎵撳紑鏃跺埛鏂拌〃鏍奸伩鍏嶈〃鏍奸敊琛�
- this.dialogVersionLoading = true;
- getVersionRuleAllList().then(res => {
- const data = res.data.data.map(item => {
- return {
- id: item.id
- }
- });
- this.dialogVersionData = data;
- this.dialogVersionDefalutData = data;
- this.dialogVersionLoading = false;
- }).catch(err => {
- this.$message.error(err)
- });
- },
-
- // 鐗堟湰瑙勫垯琛岀偣鍑�
- dialogVersionRowClick(row) {
- this.dialogVersionSaveRow = row;
- },
-
- // 鐗堟湰瑙勫垯鎼滅储
- versionHandleSearch(params, done) {
- const {id} = params;
-
- if (!params.id) {
- this.dialogVersionData = this.dialogVersionDefalutData;
- return done();
- }
- ;
-
- this.dialogVersionData = this.dialogVersionDefalutData.filter(item => {
- return item.id && item.id.includes(id);
- });
-
- done();
-
- },
-
- // 鐗堟湰绠$悊缃┖
- versionHandleReset() {
- this.dialogVersionData = this.dialogVersionDefalutData;
- },
-
- // 鐗堟湰鍙疯鍒欎繚瀛�
- dialogVersionAddClickHandler() {
- if (func.isEmptyObject(this.dialogVersionSaveRow)) {
- this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�');
- return;
- }
- this.form.revisionRuleId = this.dialogVersionSaveRow.id;
- this.dialogVersionVisible = false;
- },
-
- // 鐢熷懡鍛ㄦ湡鏂板
- lifeAddHandler(val) {
- this.dialogLfeVisible = true;
- this.dialogLifeKey = Math.random(); // 鎵撳紑鏃跺埛鏂拌〃鏍奸伩鍏嶈〃鏍奸敊琛�
- this.dialogLifeLoading = true;
- this.lifeType = val;
- gridLifeCycle().then(res => {
- const data = res.data.data.map(item => {
- return {
- id: item.id
- }
- });
- this.dialogLifeData = data;
- this.dialogLifeDefalutData = data;
- this.dialogLifeLoading = false
- }).catch(err => {
- this.$message.error(err)
- });
- },
-
- // 鐢熷懡鍛ㄦ湡琛岀偣鍑�
- dialogLifeRowClick(row) {
- this.dialogLifeSaveRow = row;
- },
-
- // 鐢熷懡鍛ㄦ湡淇濆瓨
- dialogLifeAddClickHandler() {
- if (func.isEmptyObject(this.dialogLifeSaveRow)) {
- this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�');
- return;
- }
- if (this.lifeType === 'input') {
- this.form.lifeCycleId = this.dialogLifeSaveRow.id;
- } else {
- const flag = this.dialogLifeTable.some(item => item.id === this.dialogLifeSaveRow.id);
-
- if (flag) {
- this.$message.error('宸插瓨鍦ㄧ浉鍚岀殑鏁版嵁锛岃娣诲姞鍏朵粬鏁版嵁');
- return;
- }
- this.dialogLifeTable.push(this.dialogLifeSaveRow);
- }
- this.dialogLfeVisible = false;
- },
-
- // 鐢熷懡鍛ㄦ湡澶囬�夊垪琛ㄧЩ闄�
- dialogDeleteLifeTable(index) {
- this.dialogLifeTable.splice(index, 1)
- },
-
- // 鐢熷懡鍛ㄦ湡鎼滅储
- lifeHandleSearch(params, done) {
- const {id} = params;
-
- if (!params.id) {
- this.dialogLifeData = this.dialogLifeDefalutData;
- return done();
- }
- ;
-
- this.dialogLifeData = this.dialogLifeDefalutData.filter(item => {
- return item.id && item.id.includes(id);
- });
-
- done();
-
- },
-
- // 鐢熷懡鍛ㄦ湡閲嶇疆
- lifeHandleReset() {
- this.dialogLifeData = this.dialogLifeDefalutData;
- },
-
- // 鍙兘杈撳叆鑻辨枃姝e垯鏍¢獙
- validateEnglishOnly(rule, value, callback) {
- if (!value) {
- return callback(new Error('璇疯緭鍏ョ被鍨嬪悕绉�'));
- }
- if (!/^[A-Za-z]+$/.test(value)) {
- return callback(new Error('鍙兘杈撳叆鑻辨枃瀛楁瘝'));
- }
- callback(); // 楠岃瘉閫氳繃
- },
-
- // 娓呯┖琛ㄥ崟
- resetForm() {
- const form = {
- id: '', // 绫诲瀷鍚嶇О
- name: '', // 鏍囩
- fName: '', // 缁ф壙鑷�
- implClass: '', // 瀹炵幇绫�
- description: '', // 鎻忚堪
- revLevel: '', // 鐗堟湰瑙勫垯
- revisionRuleId: '',// 鐗堟湰鍙疯鍒�
- inputRevisionFlag: 'false', // 鎵嬪伐杈撳叆
- delimiter: '', // 鍒嗛殧绗�
- versionRule: '0', // 鐗堟鍙疯鍒�
- lifeCycleId: '', // 鐢熷懡鍛ㄦ湡
- subLifeCycleId: '', // 鐢熷懡鍛ㄦ湡澶囬�夊垪琛�,
- apNameArray: "", // 灞炴�ф睜鍒楄〃鈥欙紝鈥樺垎闅�
- };
- this.dialogLifeTable = []; // 灏嗙敓鍛藉懆鏈熻〃鏍肩疆绌�
- this.dialogAttrData = []; // 灏嗗睘鎬ф睜琛ㄦ牸缃┖
- this.form = {...form};
- this.$refs.form.clearValidate();
- },
-
- // 鏂板缂栬緫瀵硅瘽妗嗗彇娑�
- addDialogClose() {
- this.resetForm();
- this.visible = false;
- },
-
- // 鐗堟湰瑙勫垯鍒囨崲 缃┖鍏朵粬鏉′欢
- revLevelChange() {
- this.form.versionRule = "";
- this.form.inputRevisionFlag = false;
- this.form.delimiter = "";
- this.form.versionRule = "0";
- this.form.revisionRuleId = "";
- },
-
// 鏂板缂栬緫淇濆瓨
addDialogSavaHandler() {
- if (!this.form.inputRevisionFlag && (!this.form.revisionRuleId || this.form.revisionRuleId === "")) {
+ if (this.form.revLevel !== '0' && !this.form.inputRevisionFlag && (!this.form.revisionRuleId || this.form.revisionRuleId === "")) {
this.$message.error('璇锋鏌ョ増鏈彿瑙勫垯涓嶈兘涓虹┖');
return;
}
- this.form.subLifeCycleId = this.dialogLifeTable ? this.dialogLifeTable.map(item => item.id).join(',') : "";
+ this.form.lifeCycleIds = this.form.subLifeCycleIdList.join(',');
+ this.form.subLifeCycleId = this.form.subLifeCycleIdList.join(',');
this.form.apNameArray = this.dialogAttrData ? this.dialogAttrData.map(item => item.id).join(',') : "";
this.$refs.form.validate((valid) => {
const saveFunction = this.title === 'add' ? addLifeCycle : updateLifeCycle;
@@ -1225,13 +973,194 @@
this.form = {...this.nodeRow};
this.form.inputRevisionFlag = JSON.parse(this.form.inputRevisionFlag); // 瀛楃涓瞗alse杞崲涓哄竷灏斿��
// this.form.fName = this.nodeRow.id === 'topNode' ? "" : this.nodeRow.id;
- this.dialogLifeTable = (this.nodeRow.lifeCycleIds && this.nodeRow.lifeCycleIds.trim())
- ? this.nodeRow.lifeCycleIds.split(',').map(item => ({id: item.trim()}))
- : [];
+ this.form.subLifeCycleIdList = this.nodeRow.lifeCycleIds ? this.nodeRow.lifeCycleIds.split(',') : [];
this.dialogAttrData = this.nodeRow.attributes ? JSON.parse(this.nodeRow.attributes) : [];
+
+ function processChildren(item, fName) {
+ if (item.children && item.children.length > 0) {
+ item.children = item.children.map(child => {
+ processChildren(child, fName); // 閫掑綊澶勭悊姣忎釜瀛愯妭鐐�
+ if (fName == child.id) {
+ child.disabled = true;
+ } else {
+ child.disabled = false;
+ }
+ return child;
+ });
+ }
+ };
+ const inheritTreeData = this.inheritTreeData.map(item => {
+ processChildren(item, this.form.id); // 澶勭悊姣忎釜鑺傜偣
+ if (this.form.id == item.id) {
+ item.disabled = true;
+ } else {
+ item.disabled = false;
+ }
+ return item;
+ });
+ this.inheritTreeData = inheritTreeData
this.title = 'edit';
this.visible = true;
- console.log(this.form);
+ },
+
+ subLifeChange(data) {
+ if (data.value.length == 0) {
+ this.lifeData = this.allLifeData
+ } else {
+ this.lifeData = this.allLifeData.filter(item => {
+ return !data.value.includes(item.id)
+ });
+ }
+ },
+ // 瀵硅瘽妗� 灞炴�ф睜鍒楄〃澧炲姞鎸夐挳
+ addDialogClickHandler() {
+ this.dialogAttrLoading = true;
+ this.attrPollDialogVisible = true;
+ this.dialogAttrReload = Math.random(); // 寮哄埗鍒锋柊琛ㄦ牸 瑙e喅琛ㄦ牸閿欒
+ this.getAttrDialogDta();
+ },
+
+ // 鏌ヨ灞炴�ф睜鍒楄〃鏁版嵁
+ getAttrDialogDta() {
+ gridAttribute(this.attrPage.currentPage, this.attrPage.pageSize, this.searchAttrParams).then(res => {
+ const data = res.data.data.map(item => {
+ item.selectable = !this.dialogAttrData.some(existingItem => existingItem.id === item.id);
+ return item;
+ });
+ this.dialogAttrSaveData = data;
+ this.attrPage.total = res.data.total;
+ this.dialogAttrLoading = false;
+ }).catch(err => {
+ this.$message.error(err);
+ });
+ },
+
+ // 鏂板灞炴�ф睜鍒楄〃鍏抽棴瀵硅瘽妗�
+ dialogAttrClose() {
+ this.attrPollDialogVisible = false;
+ this.searchAttrParams = {};
+ },
+
+ // 娣诲姞灞炴�ф睜琛ㄦ牸閫夋嫨妗�
+ dialogAttrSelectChange(row) {
+ this.dialogAttrSelectList = row;
+ },
+
+ // 娣诲姞灞炴�ф睜 琛岀偣鍑�
+ dialogAttrRowClickHandler(row) {
+ if (!row.selectable) {
+ return;
+ }
+ func.rowClickHandler(
+ row,
+ this.$refs.dialogAttrCrud,
+ this.attrLastIndex,
+ (newIndex) => {
+ this.attrLastIndex = newIndex;
+ },
+ () => {
+ this.dialogAttrSelectList = [row];
+ }
+ );
+ },
+
+ //娣诲姞灞炴�ф睜 鏉℃暟
+ attrSizeChange(val) {
+ this.attrPage.pageSize = val;
+ this.getAttrDialogDta()
+ },
+
+ //娣诲姞灞炴�ф睜 椤电爜
+ attrCurrentChange(val) {
+ this.attrPage.currentPage = val;
+ this.getAttrDialogDta();
+ },
+
+ //娣诲姞灞炴�ф睜 鎼滅储
+ attrHandleSearch(params, done) {
+ if (func.isEmptyObject(params)) {
+ this.searchAttrParams = {};
+ } else {
+ this.searchAttrParams = {
+ "conditionMap[id]": "*" + params.id + "*"
+ };
+ }
+
+ this.getAttrDialogDta();
+ done();
+ },
+
+ //娣诲姞灞炴�ф睜 娓呯┖鎼滅储
+ attrHandleReset() {
+ this.searchAttrParams = {};
+ this.getAttrDialogDta();
+ },
+
+ // 娣诲姞灞炴�ф睜 淇濆瓨
+ dialogAttrAddClickHandler() {
+ this.dialogAttrSelectList.forEach(item => {
+ this.dialogAttrData.push({
+ id: item.id,
+ attributeDataType: item.attributeDataType,
+ defaultValue: item.defaultValue,
+ description: item.description
+ });
+ });
+ this.attrPollDialogVisible = false;
+ },
+
+ // 灞炴�ф睜鍒犻櫎
+ dialogBottomAttrDel(form, index) {
+ this.dialogAttrData.splice(index, 1);
+ },
+
+ // 鍙兘杈撳叆鑻辨枃姝e垯鏍¢獙
+ validateEnglishOnly(rule, value, callback) {
+ if (!value) {
+ return callback(new Error('璇疯緭鍏ョ被鍨嬪悕绉�'));
+ }
+ if (!/^[A-Za-z]+$/.test(value)) {
+ return callback(new Error('鍙兘杈撳叆鑻辨枃瀛楁瘝'));
+ }
+ callback(); // 楠岃瘉閫氳繃
+ },
+
+ // 娓呯┖琛ㄥ崟
+ resetForm() {
+ const form = {
+ id: '', // 绫诲瀷鍚嶇О
+ name: '', // 鏍囩
+ fName: '', // 缁ф壙鑷�
+ implClass: '', // 瀹炵幇绫�
+ description: '', // 鎻忚堪
+ revLevel: '2', // 鐗堟湰瑙勫垯
+ revisionRuleId: '',// 鐗堟湰鍙疯鍒�
+ inputRevisionFlag: 'false', // 鎵嬪伐杈撳叆
+ delimiter: '', // 鍒嗛殧绗�
+ versionRule: '0', // 鐗堟鍙疯鍒�
+ lifeCycleId: '', // 鐢熷懡鍛ㄦ湡
+ subLifeCycleId: '', // 鐢熷懡鍛ㄦ湡澶囬�夊垪琛�,
+ subLifeCycleIdList: [],
+ lifeCycleIds: '',
+ apNameArray: "", // 灞炴�ф睜鍒楄〃鈥欙紝鈥樺垎闅�
+ };
+ this.dialogAttrData = []; // 灏嗗睘鎬ф睜琛ㄦ牸缃┖
+ this.form = {...form};
+ this.$refs.form.clearValidate();
+ },
+
+ // 鏂板缂栬緫瀵硅瘽妗嗗彇娑�
+ addDialogClose() {
+ this.resetForm();
+ this.visible = false;
+ },
+
+ // 鐗堟湰瑙勫垯鍒囨崲 缃┖鍏朵粬鏉′欢
+ revLevelChange() {
+ this.form.inputRevisionFlag = false;
+ this.form.delimiter = "";
+ this.form.versionRule = "0";
+ this.form.revisionRuleId = "";
},
// 鍒犻櫎鎸夐挳
@@ -1240,7 +1169,7 @@
this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�');
return;
}
- ;
+
this.$confirm('鎮ㄧ‘瀹氳鍒犻櫎鎵�閫夋嫨鐨勬暟鎹悧锛�', '鎻愮ず', {
confirmButtonText: '纭畾',
cancelButtonText: '鍙栨秷',
@@ -1305,9 +1234,9 @@
if (res.data.code === 200) {
this.checkViewVisible = true;
const data = res.data.data.map(item => {
- return{
- name:this.nodeRow.id,
- source:item
+ return {
+ name: this.nodeRow.id,
+ source: item
}
});
this.checkViewData = data;
@@ -1324,7 +1253,6 @@
this.checkViewData = this.checkViewDataSearch;
return done();
}
- ;
this.checkViewData = this.checkViewDataSearch.filter(item => {
return item.source && item.source.includes(source);
@@ -1340,12 +1268,14 @@
},
// 涓�鑷存�ф鏌ユ寜閽偣鍑�
- checkClickHandler(){
- checkBtmConsistency().then(res =>{
- if(res && res.data && res.data.data){
+ checkClickHandler() {
+ this.createViewLoading = true;
+ checkBtmConsistency().then(res => {
+ this.createViewLoading = false;
+ if (res && res.data && res.data.data) {
this.conCheckVisible = true;
this.conCheckLoading = true;
- if(res.data.code === 200){
+ if (res.data.code === 200) {
const data = res.data.data[0];
this.conDefaultCheckData = data; // 淇濈暀涓�浠藉師濮嬫暟鎹�
this.conCheckLoading = false;
@@ -1353,18 +1283,14 @@
Object.entries(data).forEach(([id, methods]) => {
let action;
- switch (methods) {
- case '_CREATE':
- action = '鍒涘缓琛�';
- break;
- case '_ADD':
- action = '澧炲姞鍒�';
- break;
- case '_DROP':
- action = '绉婚櫎鍒�';
- break;
- default:
- action = '鏈煡';
+ if (methods.includes('_CREATE')) {
+ action = methods.replace('_CREATE', '鍒涘缓琛�');
+ } else if (methods.includes('_ADD')) {
+ action = methods.replace('_ADD', '澧炲姞鍒�');
+ } else if (methods.includes('_DROP')) {
+ action = methods.replace('_DROP', '绉婚櫎鍒�');
+ } else {
+ action = '鏈煡';
}
outputData.push({
id: id,
@@ -1374,7 +1300,7 @@
})
this.conCheckData = outputData;
}
- }else {
+ } else {
this.$message.success(res.data.msg);
}
})
@@ -1395,17 +1321,129 @@
},
// 鍒涘缓绱㈠紩鎸夐挳鐐瑰嚮
- indexClickHandler(){
- if(func.isEmptyObject(this.nodeRow)){
+ indexClickHandler() {
+ if (func.isEmptyObject(this.nodeRow)) {
this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�');
return;
}
+ this.getLeftIndex();
+ this.indexVisible = true;
+ },
+
+ // 宸︿晶鏍戞洿鏂�
+ getLeftIndex() {
const params = {
- "conditionMap[typename]":this.nodeRow.id
+ "conditionMap[typename]": this.nodeRow.id
}
getIndexByCondition(params).then(res => {
- console.log(res);
+ if (res.data.code === 200) {
+ const data = res.data.data.map(item => {
+ return {
+ indexName: item.indexName,
+ name: `${item.indexName} ${item.attrNames}`,
+ id: item.oid
+ }
+ })
+ this.indexLeftData = data;
+ }
})
+ },
+
+ // 绱㈠紩宸︿晶鏍戠偣鍑�
+ indexLeftNodeClick(row) {
+ this.indexLeftNodeRow = row;
+ },
+
+ // 鍒犻櫎宸︿晶鏍戠储寮�
+ deleteIndexLeftTreeClickHandler() {
+ if (func.isEmptyObject(this.indexLeftNodeRow)) {
+ this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹繘琛屽垹闄�');
+ return;
+ }
+ const params = {
+ btmName: this.nodeRow.id,
+ indexName: this.indexLeftNodeRow.indexName
+ };
+ delIndex(params).then(res => {
+ if (res.data.code === 200) {
+ this.$message.success('鍒犻櫎绱㈠紩鎴愬姛');
+ this.getLeftIndex();
+ }
+ })
+ },
+
+ //鍙充晶琛ㄦ牸娣诲姞灞炴��
+ indexAttrClickAddHandler() {
+ if (func.isEmptyObject(this.indexAttrRow)) {
+ this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�');
+ return;
+ }
+ this.indexData.push(
+ {
+ typeName: this.nodeRow.id,
+ attrNames: this.indexAttrRow.id,
+ indexName: this.indexForm.name,
+ desc: this.indexForm.desc
+ }
+ )
+ this.indexFormRead = true;
+ this.indexAttrVisible = false;
+ },
+
+ // 鍙充晶灞炴�ц〃鏍艰鐐瑰嚮
+ indexAttrRowClick(row) {
+ this.indexAttrRow = row;
+ },
+
+ // 鍙充晶琛ㄦ牸澧炲姞
+ rightIndexAddClick() {
+ if (!this.indexForm.name) {
+ this.$message.error('璇疯緭鍏ョ储寮曞悕绉�');
+ return;
+ }
+
+ // 妫�鏌ユ槸鍚︿负鑻辨枃瀛楃
+ const englishRegex = /^[A-Za-z]+$/;
+ if (!englishRegex.test(this.indexForm.name)) {
+ this.$message.error('绱㈠紩鍚嶇О鍙兘鍖呭惈鑻辨枃瀛楃');
+ return;
+ }
+ this.indexLoading = true;
+ getAllAttributesByBtmId({btmId: this.nodeRow.id}).then(res => {
+ if (res.data.code === 200) {
+ const data = res.data.data.map(item => {
+ return {
+ id: item.id
+ }
+ })
+ this.indexAttrData = data;
+ }
+ this.indexLoading = false;
+ this.indexAttrVisible = true;
+ })
+ },
+
+ // 鍒涘缓淇濆瓨绱㈠紩
+ indexClickAddHandler() {
+ const params = {
+ typeName: this.nodeRow.id,
+ attrNames: this.indexData.map(item => item.attrNames).join(','),
+ indexName: this.indexForm.name,
+ }
+ addIndex([params]).then(res => {
+ this.$message.success('鍒涘缓鎴愬姛');
+ this.indexDialogClose();
+ }).catch(err => {
+ this.indexDialogClose();
+ })
+ },
+
+ // 绱㈠紩瀵硅瘽妗嗗彇娑�
+ indexDialogClose() {
+ this.indexFormRead = false;
+ this.indexForm = {};
+ this.indexData = [];
+ this.indexVisible = false;
}
}
}
@@ -1426,66 +1464,30 @@
width: 100%;
}
- .headerCon {
- .el-button {
- width: 82px;
- }
- }
-}
-
-.headerCon {
- display: flex;
- flex-wrap: wrap;
- margin-bottom: 5px;
-
- .el-button + .el-button {
- margin-left: 5px;
+ .el-tag {
+ line-height: 22px;
+ height: 24px;
}
- .el-button {
- margin-top: 5px;
+ .el-radio {
+ margin-right: 20px;
}
-}
-
-.headerCon > .el-button:nth-child(4) {
- margin-left: 0;
-}
-
-.headerCon > .el-button:nth-child(7) {
- margin-left: 0;
-}
-
-.headerCon > .el-button:nth-child(10) {
- margin-left: 0;
-}
-
-.miniBtn {
- width: 82px;
- text-align: center;
- padding-left: 7px;
-}
-
-.smallBtn {
- width: 82px;
- text-align: center;
- padding-left: 4.5px;
}
.descBox {
- width: 32%;
- margin-left: 20px;
+ margin-right: 20px;
}
.dialogForm {
display: flex;
- justify-content: space-around;
+ justify-content: space-between;
}
.dialogForm > div {
- width: 29%;
- border: 1px solid #eee;
- padding: 25px 20px 5px 10px; /* 涓� 鍙� 涓� 宸� */
- box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2); /* 娣诲姞闃村奖鏁堟灉 */
+ border: 1px solid #EBEEF5;
+ border-radius: 2px;
+ padding: 15px 20px 0 10px; /* 涓� 鍙� 涓� 宸� */
+ box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1); /* 娣诲姞闃村奖鏁堟灉 */
}
--
Gitblit v1.9.3