From f9b749d2ae804869b09d035de44ba1ce71214dc1 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期五, 22 三月 2024 10:01:58 +0800 Subject: [PATCH] top区域和menu区域事件 --- Source/ProjectWeb/src/components/dynamic-components/dynamic-button.vue | 35 +++++- Source/ProjectWeb/src/components/dynamic-components/dynamic-table-form.vue | 2 Source/ProjectWeb/src/views/base/uiDefineVO.js | 171 ++++++++++++++++++++++++++++++++++ Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue | 1 Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue | 43 +++++--- 5 files changed, 224 insertions(+), 28 deletions(-) diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-button.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-button.vue index 1c26a42..fdd3e1a 100644 --- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-button.vue +++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-button.vue @@ -18,7 +18,7 @@ :icon="item.paramVOS.webUiButtonIcon ? item.paramVOS.webUiButtonIcon : (item.paramVOS.webUiButtonMethods === 'edit' ? 'el-icon-edit' : (item.paramVOS.webUiButtonMethods === 'delete' ? 'el-icon-delete' : ''))" :type="item.paramVOS.webUiButtonType || 'text'" plain size="small" - @click="buttonClick(item,scope)"> + @click="buttonClick(item)"> {{ item.name }} </el-button> <!-- 琛ㄦ牸鍐呮寜閽搷浣滃璇濇琛ㄥ崟 --> @@ -29,7 +29,7 @@ <el-button v-for="item in basicButtonList" :key="item.oid" :icon="item.paramVOS.webUiButtonIcon" - :type="(item.paramVOS.webUiButtonType !== 'text' ? item.paramVOS.buttonType : 'primary') || 'primary'" + :type="(item.paramVOS.webUiButtonType !== 'text' ? item.paramVOS.webUiButtonType : 'primary') || 'primary'" plain size="small" @click="buttonClick(item)"> @@ -56,6 +56,9 @@ type: Object, }, butttonList: { + type: Array + }, + selectList: { type: Array } }, @@ -228,15 +231,11 @@ }, computed: { basicButtonList() { - // const basicColumn = this.butttonList.filter(item => item.id !== 'launchworkflow'); // 棣栧厛杩囨护鍑烘潵鍩虹琛ㄥ崟浜嬩欢鐨勬寜閽� const basicColumn = this.butttonList; if (this.type === 'form') { - return basicColumn; - } else if (this.type === 'table') { - const top = basicColumn.filter(item => item.paramVOS.webUiButtonLocation === 'top' || func.isEmpty(item.paramVOS.webUiButtonLocation)); // 杩囨护鍑烘潵琛ㄦ牸涓婇潰鍖哄煙灞曠ず鐨勬寜閽� const menu = basicColumn.filter(item => item.paramVOS.webUiButtonLocation === 'menu'); // 杩囨护鍑烘潵鎿嶄綔鏍忓睍绀虹殑鎸夐挳 @@ -256,12 +255,30 @@ } function handleEdit() { - this.visible = true; - this.$refs.dynamicForm.form = this.scope.row; + const location = item.paramVOS.webUiButtonLocation; + if (location === 'menu') { + this.visible = true; + this.$refs.dynamicForm.form = this.scope.row; + } else if (location === 'top' && this.selectList.length === 1) { + this.visible = true; + this.$refs.dynamicForm.form = this.selectList[0]; + } else { + const messageText = this.selectList.length > 1 ? '鍙兘閫夋嫨涓�鏉℃暟鎹繘琛岀紪杈戯紒' : '璇烽�夋嫨涓�鏉℃暟鎹繘琛岀紪杈戯紒'; + this.$message.warning(messageText); + } } function handleDelete() { - this.$message.success('鍒犻櫎鎴愬姛锛�'); + const location = item.paramVOS.webUiButtonLocation; + if (location === 'top') { + if (this.selectList.length <= 0) { + this.$message.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹紒') + } else { + this.$message.success('鍒犻櫎鎴愬姛锛�'); + } + } else if (location === 'menu') { + this.$message.success('鍒犻櫎鎴愬姛锛�'); + } } const methodHandlers = { diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue index d3fcc57..15682f8 100644 --- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue +++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue @@ -59,7 +59,6 @@ } }, mounted() { - // console.log('componentVO--',this.componentVO.tableDefineVO.cols[0]) }, computed: { option() { diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table-form.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table-form.vue index 226164f..1fe34cf 100644 --- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table-form.vue +++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table-form.vue @@ -4,7 +4,7 @@ <avue-form v-model="form" :option="option" @submit="submitHandler" @reset-change="changeHandler"> <template v-for="item in slotData" :slot="item.prop + 'Label'"> <span> - <span>{{ item.label }} </span> + <span>{{ item.label }}</span> <el-tooltip v-if="item.keyAttr" class="item" diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue index 8da8fb6..eebd67d 100644 --- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue +++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue @@ -1,22 +1,23 @@ <template> <div class="UI-dynamic" :id="'UI-dynamic-'+areasName+componentVO.oid"> - <avue-crud v-model="form" - ref="dataTable" - :data="tableList" - :option="option" - :page.sync="page" - :table-loading="loading"> - <!--top鍖哄煙鎸夐挳--> - <template slot="menuLeft" slot-scope="scope"> - <dynamic-button LocationType="top" type="table":butttonList="componentVO.buttons" ></dynamic-button> - </template> + <avue-crud v-model="form" + ref="dataTable" + :data="tableList" + :option="option" + :page.sync="page" + :table-loading="loading" + @selection-change="selectChange"> + <!--top鍖哄煙鎸夐挳--> + <template slot="menuLeft" slot-scope="scope"> + <dynamic-button LocationType="top" type="table":butttonList="componentVO.buttons" :selectList="selectList"></dynamic-button> + </template> - <!--menu鍖哄煙鎸夐挳--> - <template slot="menu" slot-scope="scope"> - <dynamic-button :scope="scope" LocationType="menu" type="table":butttonList="componentVO.buttons" ></dynamic-button> - </template> - </avue-crud> - </div> + <!--menu鍖哄煙鎸夐挳--> + <template slot="menu" slot-scope="scope"> + <dynamic-button :scope="scope" LocationType="menu" type="table":butttonList="componentVO.buttons" :selectList="selectList"></dynamic-button> + </template> + </avue-crud> + </div> </template> <script> @@ -48,6 +49,11 @@ //鎵�鍦ㄥ尯鍩熸槸鍚﹀凡鏄剧ず锛岄拡瀵箃ab鍜宑ollapse type: Boolean, default: true + }, + dataStore:{ + //寮圭獥鏃舵寜閽墍灞炲尯鍩熼�変腑鏁版嵁 + type:Array, + default: [] }, }, data() { @@ -462,12 +468,14 @@ addBtn: false, editBtn: false, delBtn: false, + selection:true, height: '100%', calcHeight: 15, indexFixed: false, menuFixed: false, column: [], }, + selectList:[] } }, computed: { @@ -520,6 +528,9 @@ } }, methods: { + selectChange(row){ + this.selectList = row; + } } } </script> diff --git a/Source/ProjectWeb/src/views/base/uiDefineVO.js b/Source/ProjectWeb/src/views/base/uiDefineVO.js index 90aee0a..01477f5 100644 --- a/Source/ProjectWeb/src/views/base/uiDefineVO.js +++ b/Source/ProjectWeb/src/views/base/uiDefineVO.js @@ -52,7 +52,176 @@ "pkComponent": "2D6D571B-BB6E-677D-9764-191BC5D5D3F1", "pkParentOid": "", "url": "RefreshAction" - } + }, + { + "actionVO": { + "actionCls": "", + "actionUsedType": "business", + "bsUrl": "BaseEditAction#doAction", + "createTime": "2013-11-09 10:32:41.000", + "creator": "eddieliu", + "csClass": "plm.uif.actions.client.EditAction", + "description": "淇敼涓氬姟瀵硅薄", + "id": "edit", + "lastModifier": "developer", + "lastModifyTime": "2013-11-09 10:32:41.000", + "licensors": null, + "name": "淇敼", + "oid": "F8534EFE-130B-0CB3-D477-2AC7B19B7DC4" + }, + "areaType": "tab", + "authorization": true, + "children": null, + "createTime": "2022-07-18 17:30:52.000", + "creator": "developer", + "csUrl": "plm.uif.actions.client.EditAction", + "description": "", + "displayMode": "textandimage", + "hidden": false, + "iconPath": "", + "id": "edit", + "lastModifier": "developer", + "lastModifyTime": "2022-07-18 17:30:52.000", + "name": "淇敼", + "oid": "43F34DC1-C229-359B-AED3-38CA9E7D1534", + "orderNum": 1, + "paramVOS": { + "owner": "true", + "context": "CreateAuditQuestionDocume", + "type": "document", + 'webUiButtonLocation': 'top', + 'webUiButtonMethods': 'edit', + }, + "pkComponent": "E00C3C31-D27F-E3AC-6C2B-1882EE8B6FEE", + "pkParentOid": "", + "url": "BaseEditAction#doAction" + }, + { + "actionVO": { + "actionCls": "", + "actionUsedType": "business", + "bsUrl": "BaseEditAction#doAction", + "createTime": "2013-11-09 10:32:41.000", + "creator": "eddieliu", + "csClass": "plm.uif.actions.client.EditAction", + "description": "淇敼涓氬姟瀵硅薄", + "id": "edit", + "lastModifier": "developer", + "lastModifyTime": "2013-11-09 10:32:41.000", + "licensors": null, + "name": "淇敼", + "oid": "F8534EFE-130B-0CB3-D477-2AC7B19B7DC4" + }, + "areaType": "tab", + "authorization": true, + "children": null, + "createTime": "2022-07-18 17:30:52.000", + "creator": "developer", + "csUrl": "plm.uif.actions.client.EditAction", + "description": "", + "displayMode": "textandimage", + "hidden": false, + "iconPath": "", + "id": "edit", + "lastModifier": "developer", + "lastModifyTime": "2022-07-18 17:30:52.000", + "name": "淇敼", + "oid": "43F34DC1-C229-359B-AED3-38CA9E7D1534", + "orderNum": 1, + "paramVOS": { + "owner": "true", + "context": "CreateAuditQuestionDocume", + "type": "document", + 'webUiButtonLocation': 'menu', + 'webUiButtonMethods': 'edit', + }, + "pkComponent": "E00C3C31-D27F-E3AC-6C2B-1882EE8B6FEE", + "pkParentOid": "", + "url": "BaseEditAction#doAction" + }, + { + "actionVO": { + "actionCls": "", + "actionUsedType": "business", + "bsUrl": "", + "createTime": "2021-12-03 15:28:19.000", + "creator": "developer", + "csClass": "net=VCI.Plugin.631.Actions.dll", + "description": "鍒犻櫎宸ヨ壓闂", + "id": "deleteprocessquestion", + "lastModifier": "developer", + "lastModifyTime": "2021-12-03 15:28:19.000", + "licensors": null, + "name": "鍒犻櫎宸ヨ壓闂", + "oid": "FD73DF30-7269-8A85-1B62-B92435000280" + }, + "areaType": "tab", + "authorization": true, + "children": null, + "createTime": "2022-07-18 17:30:52.000", + "creator": "developer", + "csUrl": "net=VCI.Plugin.631.Actions.dll", + "description": "", + "displayMode": "textandimage", + "hidden": false, + "iconPath": "", + "id": "deleteprocessquestion", + "lastModifier": "developer", + "lastModifyTime": "2022-07-18 17:30:52.000", + "name": "鍒犻櫎", + "oid": "BE973D4A-CB99-10FC-3E31-F3010259F823", + "orderNum": 2, + "paramVOS": { + "owner": "true", + 'webUiButtonLocation': 'menu', + 'webUiButtonType': 'text', + 'webUiButtonMethods': 'delete' + }, + "pkComponent": "E00C3C31-D27F-E3AC-6C2B-1882EE8B6FEE", + "pkParentOid": "", + "url": "" + }, + { + "actionVO": { + "actionCls": "", + "actionUsedType": "business", + "bsUrl": "", + "createTime": "2021-12-03 15:28:19.000", + "creator": "developer", + "csClass": "net=VCI.Plugin.631.Actions.dll", + "description": "鍒犻櫎宸ヨ壓闂", + "id": "deleteprocessquestion", + "lastModifier": "developer", + "lastModifyTime": "2021-12-03 15:28:19.000", + "licensors": null, + "name": "鍒犻櫎宸ヨ壓闂", + "oid": "FD73DF30-7269-8A85-1B62-B92435000280" + }, + "areaType": "tab", + "authorization": true, + "children": null, + "createTime": "2022-07-18 17:30:52.000", + "creator": "developer", + "csUrl": "net=VCI.Plugin.631.Actions.dll", + "description": "", + "displayMode": "textandimage", + "hidden": false, + "iconPath": "", + "id": "deleteprocessquestion", + "lastModifier": "developer", + "lastModifyTime": "2022-07-18 17:30:52.000", + "name": "鍒犻櫎", + "oid": "BE973D4A-CB99-10FC-3E31-F3010259F823", + "orderNum": 2, + "paramVOS": { + "owner": "true", + 'webUiButtonLocation': 'top', + 'webUiButtonMethods': 'delete' + }, + "pkComponent": "E00C3C31-D27F-E3AC-6C2B-1882EE8B6FEE", + "pkParentOid": "", + "url": "" + }, ], "checkInBy": null, "checkInTime": null, -- Gitblit v1.9.3