From 07ba00bbc814f67050c46f028c5b56966d269c46 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期五, 18 十月 2024 14:21:15 +0800
Subject: [PATCH] 处理树懒加载抖动,生命周期非编辑状态只读
---
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/plShow.vue | 136 +++++++++++++++++++++++---------------------
1 files changed, 71 insertions(+), 65 deletions(-)
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/plShow.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/plShow.vue
index ec8e858..a3f0c72 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/plShow.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/plShow.vue
@@ -14,30 +14,29 @@
@row-click="rowClickHandler">
<template slot="menuLeft">
<el-button icon="el-icon-plus" size="small" type="primary" @click="addHandler">鍒涘缓</el-button>
- <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editHandler">淇敼</el-button>
- <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">鍒犻櫎</el-button>
+ <!--<el-button icon="el-icon-edit" plain size="small" type="primary" @click="editHandler">淇敼</el-button>
+ <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">鍒犻櫎</el-button>-->
</template>
<template slot="menu" slot-scope="scope">
- <el-button icon="el-icon-edit" size="small" type="text" @click="rowEditBtnClick(scope.row)">缂栬緫
- </el-button>
- <el-button icon="el-icon-delete" size="small" type="text" @click="rowDeleteHandler(scope.row)">鍒犻櫎
- </el-button>
+ <el-button icon="el-icon-edit" size="small" type="text" @click="rowEditBtnClick(scope.row)">缂栬緫</el-button>
+ <el-button icon="el-icon-delete" size="small" type="text" @click="rowDeleteHandler(scope.row)">鍒犻櫎</el-button>
+ <el-button icon="el-icon-document-copy" size="small" type="text" @click="rowCloneHandler(scope.row)">鍏嬮殕</el-button>
</template>
<template slot="plIsOpen" slot-scope="{row}">
<el-tag v-if="row.plIsOpen === 1" type="success">鍚敤</el-tag>
<el-tag v-else type="danger">鏈惎鐢�</el-tag>
</template>
</avue-crud>
- <bottom-table :height="'280px'" :sourceData="selectList[0]" style="margin-top: 15px;"></bottom-table>
+ <bottom-table :sourceData="selectList[0]" :height="'280px'" style="margin-top: 15px;"></bottom-table>
<!-- 鍒涘缓缂栬緫鑷畾涔夊璇濇 -->
<el-dialog
v-dialogDrag
v-loading="dialogLoading"
- :close-on-click-modal="false"
:title="dialogType === 'add' ? ' 鍒涘缓 椤电' : '缂栬緫 椤电'"
:visible.sync="dialogVisible"
append-to-body="true"
class="avue-dialog"
+ :close-on-click-modal="false"
width="800px"
@close="dialogClose"
>
@@ -60,33 +59,31 @@
</el-col>
<el-col :span="12">
<el-form-item label="鏄惁鍚敤" prop="plIsOpen">
- <el-switch v-model="form.plIsOpen" :active-value="1" :inactive-value="0" active-color="#13ce66"
- inactive-color="#ff4949"></el-switch>
+ <el-switch v-model="form.plIsOpen" :active-value="1" :inactive-value="0" active-color="#13ce66" inactive-color="#ff4949"></el-switch>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="鏄剧ず琛ㄨ揪寮忥細" prop="plOpenExpression">
- <el-input v-model="form.plOpenExpression" :rows="3" type="textarea"></el-input>
+ <el-input type="textarea" :rows="3" v-model="form.plOpenExpression"></el-input>
</el-form-item>
<el-form-item label="鍥介檯鍖栨爣鍑嗭細" prop="plLabel">
- <el-input v-model="form.plLabel" :rows="1" type="textarea"></el-input>
+ <el-input type="textarea" :rows="1" v-model="form.plLabel"></el-input>
</el-form-item>
<el-form-item label="鎻忚堪锛�" prop="plDesc">
- <el-input v-model="form.plDesc" :rows="1" type="textarea"></el-input>
+ <el-input type="textarea" :rows="1" v-model="form.plDesc"></el-input>
</el-form-item>
<el-form-item label="UI瑙f瀽绫伙細" prop="plUIParser">
- <el-input v-model="form.plUIParser" :rows="2" type="textarea"></el-input>
+ <el-input type="textarea" :rows="2" v-model="form.plUIParser"></el-input>
</el-form-item>
<div class="tip">
- <div style="color: #D40000">绀轰緥锛歫ava_cs:xxx;java_bs:xxx;net_cs:xxx;net_bs:xxx;mobile_cs:xxx;mobile_bs:xxx;
- </div>
+ <div style="color: #D40000">绀轰緥锛歫ava_cs:xxx;java_bs:xxx;net_cs:xxx;net_bs:xxx;mobile_cs:xxx;mobile_bs:xxx;</div>
<div>1銆佺敤鑻辨枃鍗婅鍒嗗彿;鍒嗛殧鍚勭粍鍊笺��</div>
<div>2銆佹瘡缁勭敤鑻辨枃鍗婅鍐掑彿:鍒嗛殧鍗曚竴鎷撳睍灞炴�у悕绉板強灞炴�у�笺��</div>
<div>3銆佸叾涓殑xxx鏄悇绉嶈В鏋愮被鐨勫畬鏁寸被鍨嬪悕绉帮紙瀹屽叏闄愬畾鍚嶏級銆�</div>
<div>4銆佽緭鍏ユ椂锛屼笉瑕佹暡鍥炶溅鎹㈣銆�</div>
</div>
<el-form-item label="鎷撳睍灞炴�э細" prop="plExtAttr">
- <el-input v-model="form.plExtAttr" :rows="2" type="textarea"></el-input>
+ <el-input type="textarea" :rows="2" v-model="form.plExtAttr"></el-input>
</el-form-item>
<div class="tip">
<div style="color: #D40000">绀轰緥锛歟xt1:xx;ext2:xx;ext3:xxx;ext4:xxx;extn:xxx</div>
@@ -101,6 +98,7 @@
<el-button type="primary" @click="saveHandler">纭� 瀹�</el-button>
</span>
</el-dialog>
+ <clone-dialog ref="cloneDialog" :fromOid="fromOid" :sourceOId="sourceOId" type="tabPage" paramsType="ui"></clone-dialog>
</div>
</template>
@@ -114,53 +112,56 @@
} from "@/api/UI/uiDefine";
import func from "@/util/func";
import bottomTable from "./bottomTable/index";
+import cloneDialog from "@/views/modelingMenu/ui/uiDefine/rightRegion/cloneDialog";
export default {
- name: "plShow",
+name: "plShow",
props: {
uiDefineData: {
type: Object,
default: {}
},
},
- components: {bottomTable},
+ components:{bottomTable,cloneDialog},
data() {
return {
- uiDefineOid: '',
+ fromOid:'',
+ sourceOId:'',
+ uiDefineOid:'',
areaType: '',
tableLoading: false,
selectList: [],
option: {
...basicOption,
- height: '300px',
+ height:'300px',
addBtn: false,
editBtn: false,
delBtn: false,
- index: false,
- menuWidth: 160,
- align: 'left',
+ index:false,
+ menuWidth:220,
+ align:'left',
column: [{
label: '搴忓彿',
prop: 'plSeq',
- width: 60
+ width:50
}, {
label: '缂栫爜',
prop: 'plCode',
- width: 180
+ width:180
}, {
label: '鍚嶇О',
prop: 'plName',
- width: 200
+ width:200
}, {
label: '鏄惁鍚敤',
prop: 'plIsOpen',
- align: 'center',
+ align:'center',
width: 90
}, {
label: '鏄剧ず琛ㄨ揪寮�',
prop: 'plOpenExpression',
- overHidden: true,
- width: 300
+ overHidden:true,
+ width:300
}, {
label: 'UI瑙f瀽绫�',
prop: 'plUIParser'
@@ -180,12 +181,12 @@
plSeq: '',
plCode: '',
plName: '',
- plIsOpen: 0,
- plOpenExpression: '',
- plLabel: '',
- plUIParser: '',
- plExtAttr: '',
- plDesc: ''
+ plIsOpen:0,
+ plOpenExpression:'',
+ plLabel:'',
+ plUIParser:'',
+ plExtAttr:'',
+ plDesc:''
},
rules: {
plName: [{
@@ -207,38 +208,38 @@
}
},
watch: {
- uiDefineData: {
+ uiDefineData:{
handler(val) {
- if (val && val.plOId) {
+ if(val && val.plOId) {
if (val.plIsShowNavigator) {
this.areaType = '1';
- } else if (val.plIsShowForm) {
+ }else if(val.plIsShowForm){
this.areaType = '2'
- } else {
+ }else{
this.areaType = '3'
}
this.getTableList()
}
},
immediate: true,
- deep: true
+ deep:true
}
},
created() {
- this.uiDefineOid = this.$route.params.uiDefineOid;
+ this.uiDefineOid=this.$route.params.uiDefineOid;
},
methods: {
handleClick(tab, event) {
this.getTableList()
},
- getTableList() {
+ getTableList(){
const params = {
- contextId: this.uiDefineData.plOId,
- areaType: this.areaType
+ contextId:this.uiDefineData.plOId,
+ areaType:this.areaType
}
- getTabByContextIdAndType(params).then(res => {
+ getTabByContextIdAndType( params).then(res => {
this.data = res.data.data;
- this.selectList = [];
+ this.selectList=[];
this.$refs.crud.clearSelection();
this.tableLoading = false;
})
@@ -261,29 +262,29 @@
);
},
//鍒涘缓
- addHandler() {
- this.form = {
+ addHandler(){
+ this.form={
plSeq: '',
plCode: '',
plName: '',
- plIsOpen: 0,
- plOpenExpression: '',
- plLabel: '',
- plUIParser: '',
- plExtAttr: '',
- plDesc: ''
+ plIsOpen:0,
+ plOpenExpression:'',
+ plLabel:'',
+ plUIParser:'',
+ plExtAttr:'',
+ plDesc:''
};
this.dialogType = 'add';
this.dialogVisible = true;
},
- editHandler() {
- if (this.selectList.length != 0) {
+ editHandler(){
+ if(this.selectList.length!=0){
this.rowEditBtnClick(this.selectList[0]);
- } else {
+ }else {
this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹繘琛岀紪杈�');
}
},
- delHandler() {
+ delHandler(){
if (this.selectList.length <= 0) {
this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�');
return;
@@ -311,7 +312,7 @@
},
// 缂栬緫鎸夐挳
rowEditBtnClick(row) {
- this.form = row;
+ this.form=row;
this.dialogType = 'edit';
this.dialogVisible = true;
},
@@ -342,17 +343,17 @@
this.form = {
plName: '',
plCode: '',
- plDesc: '',
+ plDesc:'',
plIsShow: [],
}
},
// 淇濆瓨椤电
saveHandler() {
- this.$refs.form.validate((valid, done) => {
+ this.$refs.form.validate((valid,done) => {
if (valid) {
const params = {
- plAreaType: parseInt(this.areaType),
- plContextOId: this.uiDefineData.plOId,
+ plAreaType:parseInt(this.areaType),
+ plContextOId:this.uiDefineData.plOId,
...this.form
}
if (this.dialogType === 'add') {
@@ -377,12 +378,17 @@
}
});
},
+ rowCloneHandler(row) {
+ this.fromOid = this.uiDefineData.plOId;
+ this.sourceOId = row.plOId;
+ this.$refs.cloneDialog.openDialog(row);
+ },
}
}
</script>
<style scoped>
-.tip {
+.tip{
font-size: 12px;
color: #909399;
margin: -13px 0 10px 100px;
--
Gitblit v1.9.3