From 6ec0702c4e942b727388fe5182a0d9ee0afbda8c Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期一, 26 二月 2024 11:54:52 +0800
Subject: [PATCH] 接口基本信息添加下;下拉框
---
Source/UBCS-WEB/src/views/modeling/original.vue | 318 +++++++++++++++++++++++++++++++---------------------
1 files changed, 190 insertions(+), 128 deletions(-)
diff --git a/Source/UBCS-WEB/src/views/modeling/original.vue b/Source/UBCS-WEB/src/views/modeling/original.vue
index 6588c67..d555c5f 100644
--- a/Source/UBCS-WEB/src/views/modeling/original.vue
+++ b/Source/UBCS-WEB/src/views/modeling/original.vue
@@ -2,24 +2,42 @@
<el-container>
<el-main>
<basic-container>
- <avue-crud v-model="form" ref="crud" :option="option" :data="data" @on-load="onLoad" :page.sync="page"
- @refresh-change="refreshChange" @row-click="rowClick">
+ <avue-crud ref="crud" v-model="form" :data="data" :option="option" :page.sync="page"
+ :permission="permissionList"
+ style="height: calc(100vh - 148px)"
+ @on-load="onLoad" @refresh-change="refreshChange" @row-click="rowClick">
<template slot="radio" slot-scope="{row}">
<el-radio v-model="selectRow" :label="row.$index">
</el-radio>
</template>
<template slot="menu" slot-scope="{row,index}">
- <el-button icon="el-icon-edit" size="small" type="text" @click="updateSave(row,index)">缂栬緫</el-button>
- <el-button icon="el-icon-delete" size="small" type="text" @click="deleteSave(row,index)">鍒犻櫎</el-button>
+ <el-button v-if="permissionList.editBtn" icon="el-icon-edit" size="small" type="text"
+ @click="updateSave(row,index)">缂栬緫
+ </el-button>
+ <el-button v-if="permissionList.delBtn" icon="el-icon-delete" size="small" type="text"
+ @click="deleteSave(row,index)">鍒犻櫎
+ </el-button>
</template>
<template slot="menuLeft">
- <el-button size="small" type="primary" icon="el-icon-plus" @click="addSave">鏂� 澧�
- </el-button>
- <el-button size="small" plain type="primary" icon="el-icon-zoom-in" @click="applyRangeOpen">鏌ョ湅浣跨敤鑼冨洿
- </el-button>
- <el-input placeholder="鎸夊睘鎬ц嫳鏂囧悕绉版煡璇�" v-model="searchId" clearable prefix-icon="el-icon-search" class="attrSearch"
- size="small" @change="doSearch" type="text"></el-input>
- <el-button size="small" plain type="primary" icon="el-icon-search" @click="doSearch"> 鎼滅储</el-button>
+ <div>
+ <el-button v-if="permissionList.addBtn" icon="el-icon-plus" size="small" type="primary" @click="addSave">鏂� 澧�
+ </el-button>
+ <el-button v-if="permissionList.apply" icon="el-icon-zoom-in" plain size="small" type="primary"
+ @click="applyRangeOpen">鏌ョ湅浣跨敤鑼冨洿
+ </el-button>
+ <span style="width: 200px;display: inline-block">
+ <el-select slot="prepend" v-model="oriValue" placeholder="璇烽�夋嫨" size="small">
+ <el-option v-for="item in oriData" :key="item.prop" :label="item.label" :value="item.prop"
+ ></el-option>
+ </el-select>
+ </span>
+ <span>
+ <el-input v-model="searchId" class="attrSearch" clearable placeholder="璇疯緭鍏ュ唴瀹�"
+ prefix-icon="el-icon-search"
+ size="small" type="text" @change="doSearch"></el-input>
+ <el-button icon="el-icon-search" plain size="small" type="primary" @click="doSearch"> 鎼滅储</el-button>
+ </span>
+ </div>
</template>
<template slot="typeValue" slot-scope="{row}">
<el-tag>{{ row.typeValue }}</el-tag>
@@ -30,106 +48,109 @@
<avue-crud v-model="applyRange.model" :option="applyRange.option" :data="applyRange.data" class="applyRangeTable"
></avue-crud>
</el-dialog> -->
- <Versionpackage :rangeData="applyRangeData" ref="applyRange"></Versionpackage>
+ <Versionpackage ref="applyRange" :rangeData="applyRangeData"></Versionpackage>
</basic-container>
</el-main>
<el-aside>
<basic-container class="itemForm">
- <el-descriptions class="margin-top" :column="1" size="medium" border title="灞炴�ч」">
- <el-descriptions-item>
- <template slot="label">
- 灞炴�х紪鍙�
- </template>
- {{ itemForm.itemData.id }}
- </el-descriptions-item>
- <el-descriptions-item>
- <template slot="label">
- 灞炴�у悕绉�
- </template>
- {{ itemForm.itemData.name }}
- </el-descriptions-item>
- <el-descriptions-item>
- <template slot="label">
- 灞炴�х被鍨�
- </template>
- {{ itemForm.itemData.typeValue }}
- </el-descriptions-item>
- <el-descriptions-item>
- <template slot="label">
- 鏍囩
- </template>
- {{ itemForm.itemData.hashtag }}
- </el-descriptions-item>
- <el-descriptions-item>
- <template slot="label">
- 榛樿鍊�
- </template>
- {{ itemForm.itemData.defaultValue }}
- </el-descriptions-item>
- <el-descriptions-item>
- <template slot="label">
- 鍏佽涓虹┖
- </template>
- {{ itemForm.itemData.nullable }}
- </el-descriptions-item>
- <el-descriptions-item>
- <template slot="label">
- 闀垮害
- </template>
- {{ itemForm.itemData.maxLength }}
- </el-descriptions-item>
- <el-descriptions-item>
- <template slot="label">
- 鎻忚堪
- </template>
- {{ itemForm.itemData.description }}
- </el-descriptions-item>
- </el-descriptions>
- <div style="height:15px"></div>
- <el-descriptions class="margin-top" :column="1" size="medium" border title="灞炴�ч厤缃�"></el-descriptions>
- <el-tabs v-model="itemForm.activeName" @tab-click="handleClick" stretch="true" style="height:235px">
- <el-tab-pane label="鍙傜収" name="referTab">
- <el-descriptions class="margin-top" :column="1" size="medium" border>
- <el-descriptions-item>
- <template slot="label">
- 浣跨敤鍙傜収
- </template>
- {{ itemForm.itemData.referTypeValue ? '鏄�' : '鍚�' }}
- </el-descriptions-item>
- <el-descriptions-item>
- <template slot="label">
- 鍙傜収绫诲瀷
- </template>
- {{ itemForm.itemData.referTypeValue }}
- </el-descriptions-item>
- <el-descriptions-item>
- <template slot="label">
- 鍙傜収鍚嶇О
- </template>
- {{ itemForm.itemData.referToName }}
- </el-descriptions-item>
- </el-descriptions>
- </el-tab-pane>
- <el-tab-pane label="鏋氫妇" name="enumTab">
- <el-descriptions class="margin-top" :column="1" :size="small" border>
- <el-descriptions-item>
- <template slot="label">
- 浣跨敤鏋氫妇
- </template>
- {{ itemForm.itemData.usingDict ? '鏄�' : '鍚�' }}
- </el-descriptions-item>
- <el-descriptions-item>
- <template slot="label">
- 鏋氫妇绫诲瀷
- </template>
- {{ itemForm.itemData.dictValue }}
- </el-descriptions-item>
- </el-descriptions>
- </el-tab-pane>
- </el-tabs>
+ <div style="height: 44vh">
+ <el-descriptions :column="1" border class="margin-top" size="medium" title="灞炴�ч」">
+ <el-descriptions-item>
+ <template slot="label">
+ 灞炴�х紪鍙�
+ </template>
+ {{ itemForm.itemData.id }}
+ </el-descriptions-item>
+ <el-descriptions-item>
+ <template slot="label">
+ 灞炴�у悕绉�
+ </template>
+ {{ itemForm.itemData.name }}
+ </el-descriptions-item>
+ <el-descriptions-item>
+ <template slot="label">
+ 灞炴�х被鍨�
+ </template>
+ {{ itemForm.itemData.typeValue }}
+ </el-descriptions-item>
+ <!-- <el-descriptions-item>
+ <template slot="label">
+ 鏍囩
+ </template>
+ {{ itemForm.itemData.hashtag }}
+ </el-descriptions-item>-->
+ <el-descriptions-item>
+ <template slot="label">
+ 榛樿鍊�
+ </template>
+ {{ itemForm.itemData.defaultValue }}
+ </el-descriptions-item>
+ <el-descriptions-item>
+ <template slot="label">
+ 鍏佽涓虹┖
+ </template>
+ {{ 'true' == itemForm.itemData.nullable ? '鏄�' : '鍚�' }}
+ </el-descriptions-item>
+ <el-descriptions-item>
+ <template slot="label">
+ 闀垮害
+ </template>
+ {{ itemForm.itemData.maxLength }}
+ </el-descriptions-item>
+ <el-descriptions-item>
+ <template slot="label">
+ 鎻忚堪
+ </template>
+ {{ itemForm.itemData.description }}
+ </el-descriptions-item>
+ </el-descriptions>
+ </div>
+ <div style="height: 40vh">
+ <el-descriptions :column="1" border class="margin-top" size="medium" title="灞炴�ч厤缃�"></el-descriptions>
+ <el-tabs v-model="itemForm.activeName" stretch="true" style="height:235px" @tab-click="handleClick">
+ <el-tab-pane label="鍙傜収" name="referTab">
+ <el-descriptions :column="1" border class="margin-top" size="medium">
+ <el-descriptions-item>
+ <template slot="label">
+ 浣跨敤鍙傜収
+ </template>
+ {{ itemForm.itemData.referTypeValue ? '鏄�' : '鍚�' }}
+ </el-descriptions-item>
+ <el-descriptions-item>
+ <template slot="label">
+ 鍙傜収绫诲瀷
+ </template>
+ {{ itemForm.itemData.referTypeValue }}
+ </el-descriptions-item>
+ <el-descriptions-item>
+ <template slot="label">
+ 鍙傜収鍚嶇О
+ </template>
+ {{ itemForm.itemData.referToName }}
+ </el-descriptions-item>
+ </el-descriptions>
+ </el-tab-pane>
+ <el-tab-pane label="鏋氫妇" name="enumTab">
+ <el-descriptions :column="1" :size="small" border class="margin-top">
+ <el-descriptions-item>
+ <template slot="label">
+ 浣跨敤鏋氫妇
+ </template>
+ {{ itemForm.itemData.usingDict ? '鏄�' : '鍚�' }}
+ </el-descriptions-item>
+ <el-descriptions-item>
+ <template slot="label">
+ 鏋氫妇绫诲瀷
+ </template>
+ {{ itemForm.itemData.dictValue }}
+ </el-descriptions-item>
+ </el-descriptions>
+ </el-tab-pane>
+ </el-tabs>
+ </div>
</basic-container>
</el-aside>
- <originalAdd ref="originalAdd" @refreshTable="refreshChange" :attribute="editAttribute"></originalAdd>
+ <originalAdd ref="originalAdd" :attribute="editAttribute" @refreshTable="refreshChange"></originalAdd>
</el-container>
</template>
@@ -142,11 +163,28 @@
} from "@/api/omd/OmdAttribute";
import Versionpackage from "./Versionpackage.vue";
import {getDictionary} from "@/api/omd/enum";
+import {mapGetters} from "vuex";
export default {
name: "original",
data() {
return {
+ oriData: [
+ {
+ label: "灞炴�х紪鍙�",
+ prop: "id",
+ align: "left",
+ display: false,
+ width: 200,
+ required: true
+ }, {
+ label: "灞炴�у悕绉�",
+ prop: "name",
+ align: "left",
+ display: false
+ }
+ ],
+ oriValue: "id",
page: {
pageSize: 10,
currentPage: 1,
@@ -161,7 +199,8 @@
editAttribute: {},
applyRangeData: [],
option: {
- height: "550px",
+ height: 'auto',
+ calcHeight: 20,
headerAlign: "center",
border: true,
index: true,
@@ -174,7 +213,7 @@
addBtn: false,
editBtn: false,
delBtn: false,
- columnBtn:false,
+ columnBtn: false,
column: [{
label: "閫夋嫨",
prop: "radio",
@@ -193,12 +232,12 @@
prop: "name",
align: "left",
display: false
- }, {
+ },/* {
label: "鏍囩",
prop: "hashtag",
// hide: true,
display: false
- }, {
+ },*/ {
label: "鏄惁浣跨敤鏋氫妇",
prop: "usingDict",
type: "switch",
@@ -251,12 +290,23 @@
itemForm: {
itemData: {},
activeName: "referTab",
- enumInitFlag:false,
+ enumInitFlag: false,
referInitFlag: false,
form: {}
},
searchId: '',
};
+ },
+ computed: {
+ ...mapGetters(["permission"]),
+ permissionList() {
+ return {
+ addBtn: this.vaildData(this.permission.modeling_original.original_add, false),
+ apply: this.vaildData(this.permission.modeling_original.original_applyopen, false),
+ delBtn: this.vaildData(this.permission.modeling_original.original_delete, false),
+ editBtn: this.vaildData(this.permission.modeling_original.original_edit, false),
+ }
+ },
},
created() {
},
@@ -266,9 +316,11 @@
},
addSave() {
this.$refs.originalAdd.showSubmitDialog = true;
- this.$refs.originalAdd.attribute = {};
+ const newAttr = {};
+ newAttr.nullable = true;
+ this.$refs.originalAdd.attribute = newAttr;
},
- updateSave(row,index) {
+ updateSave(row, index) {
this.selectRow = index;
var json = JSON.stringify(row);
this.editAttribute = JSON.parse(json);
@@ -279,14 +331,21 @@
this.$refs.originalAdd.activeName = this.itemForm.activeName;
this.$refs.originalAdd.enumInitFlag = this.itemForm.enumInitFlag;
this.$refs.originalAdd.referInitFlag = this.itemForm.referInitFlag;
- this.refreshChange()
+ // this.refreshChange()
},
- deleteSave(row,index) {
- console.log(row);
- remove(row.oid).then(res => {
- this.$message.success("鍒犻櫎鎴愬姛");
+ deleteSave(row, index) {
+ this.$confirm("鍒犻櫎鍏冩暟鎹皢鏃犳硶琚仮澶�, 鏄惁缁х画?", "鎻愮ず", {
+ iconClass: 'el-icon-question',
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ showClose: true,
+ type: "warning"
+ }).then(() => {
+ remove(row.oid).then(res => {
+ this.$message.success("鍒犻櫎鎴愬姛");
+ this.refreshChange();
+ });
});
- this.refreshChange();
},
onLoad(page, params = {}) {
this.loading = true;
@@ -305,12 +364,12 @@
this.attribute = row;
this.checkUsingReferDict(row);
},
- checkUsingReferDict(row){
- if (row.referToId !== null && row.referToId !== ""){
+ checkUsingReferDict(row) {
+ if (row.referToId !== null && row.referToId !== "") {
this.itemForm.activeName = 'referTab';
this.itemForm.referInitFlag = true;
this.itemForm.enumInitFlag = false;
- }else if (row.usingDict === 'true'){
+ } else if (row.usingDict === 'true') {
this.itemForm.activeName = 'enumTab';
this.itemForm.referInitFlag = false;
this.itemForm.enumInitFlag = true;
@@ -319,7 +378,7 @@
this.itemForm.itemData.dictValue = this.editAttribute.dictValue;
this.$refs.originalAdd.dictEnums = res.data.data;
})
- }else {
+ } else {
this.itemForm.activeName = 'referTab';
this.itemForm.referInitFlag = true;
this.itemForm.enumInitFlag = false;
@@ -344,22 +403,25 @@
});
},
- doSearch(){
- var params = {"id_like":this.searchId};
- this.onLoad(this.page,params);
+ doSearch() {
+
+ var params = {[this.oriValue + "_like"]: this.searchId};
+ this.onLoad(this.page, params);
}
},
- components: { Versionpackage }
+ components: {Versionpackage}
}
</script>
<style lang="scss">
-.applyRangeTable>.el-card:nth-of-type(2)>.el-card__body>.avue-crud__menu {
+.applyRangeTable > .el-card:nth-of-type(2) > .el-card__body > .avue-crud__menu {
display: none !important;
}
+
.attrSearch {
- width:201px;
+ width: 201px;
}
+
.attrSearch > .el-input__inner {
width: 200px;
}
--
Gitblit v1.9.3