From 0e818b766656ea54f516c1bb3b5987c985de80a9 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期五, 18 十月 2024 16:56:12 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue | 32 Source/plt-web/plt-web-ui/src/api/authority/ui/uiAuthor.js | 2 Source/plt-web/plt-web-ui/src/components/flow-cycle/components/Toolbar.vue | 14 Source/plt-web/plt-web-ui/src/views/authority/ui/uiAuthorization/index.vue | 121 +++- Source/plt-web/plt-web-ui/src/components/flow-cycle/flowchartEditor.vue | 11 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/linkType/index.vue | 28 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/lifeCycle/index.vue | 33 - Source/plt-web/plt-web-ui/src/api/UI/formDefine/api.js | 745 +++++++++++++++++++++++-- Source/plt-web/plt-web-ui/src/api/authority/functionView/api.js | 28 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java | 4 Source/plt-web/plt-web-ui/src/App.vue | 17 /dev/null | 92 --- Source/plt-web/plt-web-ui/src/api/system/role/api.js | 10 Source/plt-web/plt-web-ui/src/components/flow-cycle/components/ContextMenu.vue | 46 Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue | 224 ++++++ Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue | 2 Source/plt-web/plt-web-ui/src/views/authority/function/functionView/index.vue | 244 ++++++++ Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue | 32 - 18 files changed, 1,343 insertions(+), 342 deletions(-) diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java index b60237c..d065a32 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java @@ -599,7 +599,7 @@ List<String> authList = new ArrayList<>(); for (FunctionInfo functionInfo : moduleListByParentId) { if(authMap.containsKey(functionInfo.id)){ - authList.add(functionInfo.id); +// authList.add(functionInfo.id); getChildAuthNode(functionInfo, authMap, authList); } } @@ -735,7 +735,7 @@ FunctionInfo[] funcInfos = platformClientUtil.getFrameworkService().getModuleListByParentId(funcObj.id, false); for(int i=0;i<funcInfos.length;i++){ if(authMap.containsKey(funcInfos[i].id)){ - authList.add(funcInfos[i].id); +// authList.add(funcInfos[i].id); getChildAuthNode(funcInfos[i], authMap, authList); } } diff --git a/Source/plt-web/plt-web-ui/src/App.vue b/Source/plt-web/plt-web-ui/src/App.vue index ea51abd..b83a1ca 100644 --- a/Source/plt-web/plt-web-ui/src/App.vue +++ b/Source/plt-web/plt-web-ui/src/App.vue @@ -125,4 +125,21 @@ .el-dialog__footer{ border-top: 1px solid #e9e7e7; } +/***鎸夐挳妗�****/ +.headerCon { + display: flex; + flex-wrap: wrap; + margin-bottom: 5px; + .el-button { + min-width: 60px; + padding-left: 9.5px; + margin-left: 0; + margin-right: 5px; + margin-bottom: 5px; + } +} +/***闅愯棌鏍戞噿鍔犺浇鏃惰妭鐐逛笂鐨刲oading锛岄槻姝㈣妭鐐规姈鍔�*****/ +.el-tree .el-tree-node__loading-icon{ + display: none !important; +} </style> diff --git a/Source/plt-web/plt-web-ui/src/api/UI/formDefine/api.js b/Source/plt-web/plt-web-ui/src/api/UI/formDefine/api.js index 8eb5d60..6384a78 100644 --- a/Source/plt-web/plt-web-ui/src/api/UI/formDefine/api.js +++ b/Source/plt-web/plt-web-ui/src/api/UI/formDefine/api.js @@ -68,65 +68,688 @@ }) } -// 琛ㄥ崟鎺ュ彛娴嬭瘯鏁版嵁 -const obj = { - "itemAddFilter": "", - "itemBat": "", - "itemCols": "1", - "itemCtrlDisplyCol": "", - "itemCtrlDisplyCondition": "", - "itemCustomClass": "", - "itemCut": "", - "itemDateFormat": "", - "itemDbl": "", - "itemEQ": "", - "itemEditCondition": "", - "itemEditableProgram": "", - "itemField": "specialty", - "itemFieldWidth": "", - "itemFieldWidthList": [], - "itemHrefConf": "", - "itemHrefFields": "", - "itemHttpPathField": "", - "itemHttpVolumnPath": "", - "itemImgWH": "", - "itemInObj": "", - "itemIsEditable": "0", - "itemIsHidden": "1", - "itemIsHttpSave": "0", - "itemIsNavigatorExpand": "", - "itemIsRequired": "0", - "itemIsShowFolder": "", - "itemKeyFieldList": [], - "itemKeyFields": "", - "itemListTable": "", - "itemListTxt": "", - "itemListVal": "", - "itemName": "涓撲笟", - "itemOR": "", - "itemOutFieldList": [], - "itemOutFields": "", - "itemOutType": "", - "itemPageSize": "", - "itemParentFolderName": "", - "itemQtName": "", - "itemQueryRefFields": "", - "itemQuerySql": "", - "itemRight": "", - "itemRows": "", - "itemScript": "", - "itemSearchFieldList": [], - "itemSelectoutFieldList": [], - "itemSeniorQueryBOS": [], - "itemSeniorQueryCols": "", - "itemSeniorQueryColsCounts": "", - "itemShowExpression": "", - "itemStyle": "", - "itemTips": "", - "itemTrim": "", - "itemTxf": "", - "itemType": "text", - "itemTypeText": "鍗曡鏂囨湰妗�", - "itemValue": "", - "itemValueList": [] +const obj ={ + "id": "",// 淇敼鏃跺�欏繀浼� + "prm": { + "formQtName": "", // 琛ㄥ崟鍚嶇О瀵瑰簲涓嬮潰瑙嗗浘鍚嶇О + "prmItemList": [ + { + "itemAddFilter": "", + "itemBat": "", + "itemCols": "0", + "itemCtrlDisplyCol": "", + "itemCtrlDisplyCondition": "", + "itemCustomClass": "", + "itemCut": "", + "itemDateFormat": "", + "itemDbl": "", + "itemEQ": "", + "itemEditCondition": "", + "itemEditableProgram": "", + "itemField": "anticollaboration", + "itemFieldWidth": "", + "itemFieldWidthList": [], + "itemHrefConf": "", + "itemHrefFields": "", + "itemHttpPathField": "", + "itemHttpVolumnPath": "", + "itemImgWH": "", + "itemInObj": "", + "itemIsEditable": "1", + "itemIsHidden": "0", + "itemIsHttpSave": "0", + "itemIsNavigatorExpand": "", + "itemIsRequired": "0", + "itemIsShowFolder": "", + "itemKeyFieldList": [], + "itemKeyFields": "", + "itemListTable": "", + "itemListTxt": "", + "itemListVal": "", + "itemName": "鍙嶅崗浣滄爣璇�", + "itemOR": "", + "itemOutFieldList": [], + "itemOutFields": "", + "itemOutType": "", + "itemPageSize": "", + "itemParentFolderName": "", + "itemQtName": "", + "itemQueryRefFields": "", + "itemQuerySql": "", + "itemRight": "", + "itemRows": "", + "itemScript": "", + "itemSearchFieldList": [], + "itemSelectoutFieldList": [], + "itemSeniorQueryBOS": [], + "itemSeniorQueryCols": "", + "itemSeniorQueryColsCounts": "", + "itemShowExpression": "", + "itemStyle": "", + "itemTips": "", + "itemTrim": "", + "itemTxf": "", + "itemType": "text", + "itemTypeText": "鍗曡鏂囨湰妗�", + "itemValue": "N", + "itemValueList": [] + }, + { + "itemAddFilter": "", + "itemBat": "", + "itemCols": "0", + "itemCtrlDisplyCol": "", + "itemCtrlDisplyCondition": "", + "itemCustomClass": "", + "itemCut": "", + "itemDateFormat": "", + "itemDbl": "", + "itemEQ": "", + "itemEditCondition": "", + "itemEditableProgram": "", + "itemField": "holistic", + "itemFieldWidth": "", + "itemFieldWidthList": [], + "itemHrefConf": "", + "itemHrefFields": "", + "itemHttpPathField": "", + "itemHttpVolumnPath": "", + "itemImgWH": "", + "itemInObj": "", + "itemIsEditable": "1", + "itemIsHidden": "0", + "itemIsHttpSave": "0", + "itemIsNavigatorExpand": "", + "itemIsRequired": "0", + "itemIsShowFolder": "", + "itemKeyFieldList": [], + "itemKeyFields": "", + "itemListTable": "", + "itemListTxt": "", + "itemListVal": "", + "itemName": "鏁翠綋鎬�", + "itemOR": "", + "itemOutFieldList": [], + "itemOutFields": "", + "itemOutType": "", + "itemPageSize": "", + "itemParentFolderName": "", + "itemQtName": "", + "itemQueryRefFields": "", + "itemQuerySql": "", + "itemRight": "", + "itemRows": "", + "itemScript": "", + "itemSearchFieldList": [], + "itemSelectoutFieldList": [], + "itemSeniorQueryBOS": [], + "itemSeniorQueryCols": "", + "itemSeniorQueryColsCounts": "", + "itemShowExpression": "", + "itemStyle": "", + "itemTips": "", + "itemTrim": "", + "itemTxf": "", + "itemType": "text", + "itemTypeText": "鍗曡鏂囨湰妗�", + "itemValue": "N", + "itemValueList": [] + }, + { + "itemAddFilter": "", + "itemBat": "", + "itemCols": "0", + "itemCtrlDisplyCol": "", + "itemCtrlDisplyCondition": "", + "itemCustomClass": "", + "itemCut": "", + "itemDateFormat": "", + "itemDbl": "", + "itemEQ": "", + "itemEditCondition": "", + "itemEditableProgram": "", + "itemField": "isproductbring", + "itemFieldWidth": "", + "itemFieldWidthList": [], + "itemHrefConf": "", + "itemHrefFields": "", + "itemHttpPathField": "", + "itemHttpVolumnPath": "", + "itemImgWH": "", + "itemInObj": "", + "itemIsEditable": "1", + "itemIsHidden": "0", + "itemIsHttpSave": "0", + "itemIsNavigatorExpand": "", + "itemIsRequired": "0", + "itemIsShowFolder": "", + "itemKeyFieldList": [], + "itemKeyFields": "", + "itemListTable": "", + "itemListTxt": "", + "itemListVal": "", + "itemName": "鎴愬搧甯︽潵", + "itemOR": "", + "itemOutFieldList": [], + "itemOutFields": "", + "itemOutType": "", + "itemPageSize": "", + "itemParentFolderName": "", + "itemQtName": "", + "itemQueryRefFields": "", + "itemQuerySql": "", + "itemRight": "", + "itemRows": "", + "itemScript": "", + "itemSearchFieldList": [], + "itemSelectoutFieldList": [], + "itemSeniorQueryBOS": [], + "itemSeniorQueryCols": "", + "itemSeniorQueryColsCounts": "", + "itemShowExpression": "", + "itemStyle": "", + "itemTips": "", + "itemTrim": "", + "itemTxf": "", + "itemType": "text", + "itemTypeText": "鍗曡鏂囨湰妗�", + "itemValue": "N", + "itemValueList": [] + }, + { + "itemAddFilter": "", + "itemBat": "", + "itemCols": "0", + "itemCtrlDisplyCol": "", + "itemCtrlDisplyCondition": "", + "itemCustomClass": "", + "itemCut": "", + "itemDateFormat": "", + "itemDbl": "", + "itemEQ": "", + "itemEditCondition": "", + "itemEditableProgram": "", + "itemField": "isforging", + "itemFieldWidth": "", + "itemFieldWidthList": [], + "itemHrefConf": "", + "itemHrefFields": "", + "itemHttpPathField": "", + "itemHttpVolumnPath": "", + "itemImgWH": "", + "itemInObj": "", + "itemIsEditable": "1", + "itemIsHidden": "0", + "itemIsHttpSave": "0", + "itemIsNavigatorExpand": "", + "itemIsRequired": "0", + "itemIsShowFolder": "", + "itemKeyFieldList": [], + "itemKeyFields": "", + "itemListTable": "", + "itemListTxt": "", + "itemListVal": "", + "itemName": "鏄惁閿婚摳浠�", + "itemOR": "", + "itemOutFieldList": [], + "itemOutFields": "", + "itemOutType": "", + "itemPageSize": "", + "itemParentFolderName": "", + "itemQtName": "", + "itemQueryRefFields": "", + "itemQuerySql": "", + "itemRight": "", + "itemRows": "", + "itemScript": "", + "itemSearchFieldList": [], + "itemSelectoutFieldList": [], + "itemSeniorQueryBOS": [], + "itemSeniorQueryCols": "", + "itemSeniorQueryColsCounts": "", + "itemShowExpression": "", + "itemStyle": "", + "itemTips": "", + "itemTrim": "", + "itemTxf": "", + "itemType": "text", + "itemTypeText": "鍗曡鏂囨湰妗�", + "itemValue": "", + "itemValueList": [] + }, + { + "itemAddFilter": "", + "itemBat": "", + "itemCols": "1", + "itemCtrlDisplyCol": "", + "itemCtrlDisplyCondition": "", + "itemCustomClass": "", + "itemCut": "", + "itemDateFormat": "", + "itemDbl": "", + "itemEQ": "", + "itemEditCondition": "", + "itemEditableProgram": "", + "itemField": "processremark", + "itemFieldWidth": "", + "itemFieldWidthList": [], + "itemHrefConf": "", + "itemHrefFields": "", + "itemHttpPathField": "", + "itemHttpVolumnPath": "", + "itemImgWH": "", + "itemInObj": "", + "itemIsEditable": "1", + "itemIsHidden": "1", + "itemIsHttpSave": "0", + "itemIsNavigatorExpand": "", + "itemIsRequired": "0", + "itemIsShowFolder": "", + "itemKeyFieldList": [], + "itemKeyFields": "", + "itemListTable": "", + "itemListTxt": "", + "itemListVal": "", + "itemName": "宸ヨ壓澶囨敞", + "itemOR": "", + "itemOutFieldList": [], + "itemOutFields": "", + "itemOutType": "", + "itemPageSize": "", + "itemParentFolderName": "", + "itemQtName": "", + "itemQueryRefFields": "", + "itemQuerySql": "", + "itemRight": "", + "itemRows": "", + "itemScript": "", + "itemSearchFieldList": [], + "itemSelectoutFieldList": [], + "itemSeniorQueryBOS": [], + "itemSeniorQueryCols": "", + "itemSeniorQueryColsCounts": "", + "itemShowExpression": "", + "itemStyle": "", + "itemTips": "", + "itemTrim": "", + "itemTxf": "", + "itemType": "text", + "itemTypeText": "鍗曡鏂囨湰妗�", + "itemValue": "", + "itemValueList": [] + }, + { + "itemAddFilter": "", + "itemBat": "", + "itemCols": "1", + "itemCtrlDisplyCol": "", + "itemCtrlDisplyCondition": "", + "itemCustomClass": "", + "itemCut": "", + "itemDateFormat": "", + "itemDbl": "", + "itemEQ": "", + "itemEditCondition": "", + "itemEditableProgram": "", + "itemField": "materialtype", + "itemFieldWidth": "", + "itemFieldWidthList": [], + "itemHrefConf": "", + "itemHrefFields": "", + "itemHttpPathField": "", + "itemHttpVolumnPath": "", + "itemImgWH": "", + "itemInObj": "", + "itemIsEditable": "1", + "itemIsHidden": "1", + "itemIsHttpSave": "0", + "itemIsNavigatorExpand": "", + "itemIsRequired": "0", + "itemIsShowFolder": "", + "itemKeyFieldList": [], + "itemKeyFields": "", + "itemListTable": "", + "itemListTxt": "", + "itemListVal": "", + "itemName": "鐗╂枡绫诲瀷", + "itemOR": "", + "itemOutFieldList": [], + "itemOutFields": "", + "itemOutType": "", + "itemPageSize": "", + "itemParentFolderName": "", + "itemQtName": "", + "itemQueryRefFields": "", + "itemQuerySql": "", + "itemRight": "", + "itemRows": "", + "itemScript": "", + "itemSearchFieldList": [], + "itemSelectoutFieldList": [], + "itemSeniorQueryBOS": [], + "itemSeniorQueryCols": "", + "itemSeniorQueryColsCounts": "", + "itemShowExpression": "", + "itemStyle": "", + "itemTips": "", + "itemTrim": "", + "itemTxf": "", + "itemType": "text", + "itemTypeText": "鍗曡鏂囨湰妗�", + "itemValue": "", + "itemValueList": [] + }, + { + "itemAddFilter": "", + "itemBat": "", + "itemCols": "1", + "itemCtrlDisplyCol": "", + "itemCtrlDisplyCondition": "", + "itemCustomClass": "", + "itemCut": "", + "itemDateFormat": "", + "itemDbl": "", + "itemEQ": "", + "itemEditCondition": "", + "itemEditableProgram": "", + "itemField": "iscruxpart", + "itemFieldWidth": "", + "itemFieldWidthList": [], + "itemHrefConf": "", + "itemHrefFields": "", + "itemHttpPathField": "", + "itemHttpVolumnPath": "", + "itemImgWH": "", + "itemInObj": "", + "itemIsEditable": "1", + "itemIsHidden": "1", + "itemIsHttpSave": "0", + "itemIsNavigatorExpand": "", + "itemIsRequired": "0", + "itemIsShowFolder": "", + "itemKeyFieldList": [], + "itemKeyFields": "", + "itemListTable": "", + "itemListTxt": "", + "itemListVal": "", + "itemName": "鏄惁鍏抽敭浠�", + "itemOR": "", + "itemOutFieldList": [], + "itemOutFields": "", + "itemOutType": "", + "itemPageSize": "", + "itemParentFolderName": "", + "itemQtName": "", + "itemQueryRefFields": "", + "itemQuerySql": "", + "itemRight": "", + "itemRows": "", + "itemScript": "", + "itemSearchFieldList": [], + "itemSelectoutFieldList": [], + "itemSeniorQueryBOS": [], + "itemSeniorQueryCols": "", + "itemSeniorQueryColsCounts": "", + "itemShowExpression": "", + "itemStyle": "", + "itemTips": "", + "itemTrim": "", + "itemTxf": "", + "itemType": "select", + "itemTypeText": "涓嬫媺鑿滃崟", + "itemValue": "N", + "itemValueList": [ + "鍚N}", + "鏄瘂Y}" + ] + }, + { + "itemAddFilter": "", + "itemBat": "", + "itemCols": "1", + "itemCtrlDisplyCol": "", + "itemCtrlDisplyCondition": "", + "itemCustomClass": "", + "itemCut": "", + "itemDateFormat": "", + "itemDbl": "", + "itemEQ": "", + "itemEditCondition": "", + "itemEditableProgram": "", + "itemField": "isimportantpart", + "itemFieldWidth": "", + "itemFieldWidthList": [], + "itemHrefConf": "", + "itemHrefFields": "", + "itemHttpPathField": "", + "itemHttpVolumnPath": "", + "itemImgWH": "", + "itemInObj": "", + "itemIsEditable": "1", + "itemIsHidden": "1", + "itemIsHttpSave": "0", + "itemIsNavigatorExpand": "", + "itemIsRequired": "0", + "itemIsShowFolder": "", + "itemKeyFieldList": [], + "itemKeyFields": "", + "itemListTable": "", + "itemListTxt": "", + "itemListVal": "", + "itemName": "鏄惁閲嶈浠�", + "itemOR": "", + "itemOutFieldList": [], + "itemOutFields": "", + "itemOutType": "", + "itemPageSize": "", + "itemParentFolderName": "", + "itemQtName": "", + "itemQueryRefFields": "", + "itemQuerySql": "", + "itemRight": "", + "itemRows": "", + "itemScript": "", + "itemSearchFieldList": [], + "itemSelectoutFieldList": [], + "itemSeniorQueryBOS": [], + "itemSeniorQueryCols": "", + "itemSeniorQueryColsCounts": "", + "itemShowExpression": "", + "itemStyle": "", + "itemTips": "", + "itemTrim": "", + "itemTxf": "", + "itemType": "select", + "itemTypeText": "涓嬫媺鑿滃崟", + "itemValue": "N", + "itemValueList": [ + "鏄瘂Y}", + "鍚N}" + ] + } + ], + "showCols": "2" +}, + "typeFlag": 0, // 涓氬姟绫诲瀷0 or 閾炬帴绫诲瀷1 + "typeFlagText": "涓氬姟绫诲瀷鐨勮〃鍗�",// 涓氬姟绫诲瀷鏄剧ず鍊� + "typeName": "ppart",// 涓氬姟绫诲瀷鍚� + "viName": "ppartProp_test3", // 瑙嗗浘鍚嶇О + "viType": 1, // 瑙嗗浘绫诲瀷 + "viTypeText": "琛ㄥ崟" // 瑙嗗浘涓枃鍚嶇О } + +const dataForm = { + "id": "", + "prm": { + "formQtName": "", + "prmItemList": [ + { + "itemAddFilter": "", + "itemBat": "", + "itemCols": "", + "itemCtrlDisplyCol": "", + "itemCtrlDisplyCondition": "", + "itemCustomClass": "", + "itemCut": "", + "itemDateFormat": "", + "itemDbl": "3", + "itemEQ": "", + "itemEditCondition": "", + "itemEditableProgram": "", + "itemField": "", + "itemFieldWidth": "150,150,100,80,80,80,100,100,100,100,50,100,250", + "itemFieldWidthList": [ + { + "attributes": {}, + "key": "code", + "value": "150" + }, + { + "attributes": {}, + "key": "partoid.name", + "value": "150" + }, + { + "attributes": {}, + "key": "validity", + "value": "100" + }, + { + "attributes": {}, + "key": "lcstatus", + "value": "80" + }, + { + "attributes": {}, + "key": "additionalunit", + "value": "80" + }, + { + "attributes": {}, + "key": "distributeunittwo", + "value": "80" + }, + { + "attributes": {}, + "key": "anticollaboration", + "value": "100" + }, + { + "attributes": {}, + "key": "holistic", + "value": "100" + }, + { + "attributes": {}, + "key": "scale", + "value": "100" + }, + { + "attributes": {}, + "key": "source", + "value": "100" + }, + { + "attributes": {}, + "key": "isforging", + "value": "50" + }, + { + "attributes": {}, + "key": "isproductbring", + "value": "100" + }, + { + "attributes": {}, + "key": "processremark", + "value": "250" + } + ], + "itemHrefConf": "", + "itemHrefFields": "", + "itemHttpPathField": "", + "itemHttpVolumnPath": "", + "itemImgWH": "0,0", + "itemInObj": "A5791895-83D1-D63F-40C4-26705FF3A2BB", + "itemIsEditable": "", + "itemIsHidden": "", + "itemIsHttpSave": "", + "itemIsNavigatorExpand": "false", + "itemIsRequired": "", + "itemIsShowFolder": "false", + "itemKeyFieldList": null, + "itemKeyFields": "", + "itemListTable": "", + "itemListTxt": "", + "itemListVal": "", + "itemName": "", + "itemOR": "", + "itemOutFieldList": [ + "code", + "partoid.name", + "validity", + "lcstatus", + "additionalunit", + "distributeunittwo", + "anticollaboration", + "holistic", + "scale", + "source", + "isforging", + "isproductbring", + "processremark" + ], + "itemOutFields": "code,partoid.name,validity,lcstatus,additionalunit,distributeunittwo,anticollaboration,holistic,scale,source,isforging,isproductbring,processremark", + "itemOutType": "", + "itemPageSize": "", + "itemParentFolderName": "", + "itemQtName": "queryppartbypbom", + "itemQueryRefFields": "", + "itemQuerySql": "", + "itemRight": "", + "itemRows": "", + "itemScript": "", + "itemSearchFieldList": [ + "code", + "partoid.name", + "validity", + "lcstatus", + "additionalunit", + "distributeunittwo", + "anticollaboration", + "holistic", + "scale", + "source", + "isforging", + "isproductbring", + "processremark" + ], + "itemSelectoutFieldList": [ + "produceroute", + "hotsurfaceroute" + ], + "itemSeniorQueryBOS": [], + "itemSeniorQueryCols": "", + "itemSeniorQueryColsCounts": "", + "itemShowExpression": "", + "itemStyle": "", + "itemTips": "", + "itemTrim": "", + "itemTxf": "", + "itemType": "", + "itemTypeText": "", + "itemValue": "", + "itemValueList": [] + } + ], + "showCols": "3" + }, + "typeFlag": 0, + "typeFlagText": "涓氬姟绫诲瀷鐨勮〃鏍�", + "typeName": "ppart", + "viName": "ppart_auditlist_test", + "viType": 0, + "viTypeText": "琛ㄦ牸" +} + + diff --git a/Source/plt-web/plt-web-ui/src/api/authority/functionView/api.js b/Source/plt-web/plt-web-ui/src/api/authority/functionView/api.js new file mode 100644 index 0000000..b915c0f --- /dev/null +++ b/Source/plt-web/plt-web-ui/src/api/authority/functionView/api.js @@ -0,0 +1,28 @@ +import request from '@/router/axios'; + +// 瑙掕壊鏍戞煡璇㈡帴鍙� +export function getSysModelAuthTreeMenuByPID(params) { + return request({ + url: "/api/hmSysModConfigController/getSysModelAuthTreeMenuByPID", + method: "get", + params + }); +} + +// 鏍戣鎺堟潈鐨勬暟鎹帴鍙� +export function getSysModelAuth(params) { + return request({ + url: "/api/hmSysModConfigController/getSysModelAuth", + method: "get", + params + }); +} + +// 鎺堟潈淇濆瓨 +export function saveRoleRight(params) { + return request({ + url: "/api/hmSysModConfigController/saveRoleRight", + method: "post", + data:params + }); +} diff --git a/Source/plt-web/plt-web-ui/src/api/authority/ui/uiAuthor.js b/Source/plt-web/plt-web-ui/src/api/authority/ui/uiAuthor.js index 9d3b1dc..5ff7ca9 100644 --- a/Source/plt-web/plt-web-ui/src/api/authority/ui/uiAuthor.js +++ b/Source/plt-web/plt-web-ui/src/api/authority/ui/uiAuthor.js @@ -17,3 +17,5 @@ data: params }) } + + diff --git a/Source/plt-web/plt-web-ui/src/api/system/role/api.js b/Source/plt-web/plt-web-ui/src/api/system/role/api.js index caccba5..95c0bbe 100644 --- a/Source/plt-web/plt-web-ui/src/api/system/role/api.js +++ b/Source/plt-web/plt-web-ui/src/api/system/role/api.js @@ -70,3 +70,13 @@ data:formData }); } + +// 閫氳繃瑙掕壊id鏌ヨ鎺堟潈淇℃伅 +export function getRightListByRoleId(params) { + return request({ + url: "/api/uiManagerController/getRightListByRoleId", + method: "get", + params + }); +} + diff --git a/Source/plt-web/plt-web-ui/src/components/flow-cycle/components/ContextMenu.vue b/Source/plt-web/plt-web-ui/src/components/flow-cycle/components/ContextMenu.vue index 1b66514..f999664 100644 --- a/Source/plt-web/plt-web-ui/src/components/flow-cycle/components/ContextMenu.vue +++ b/Source/plt-web/plt-web-ui/src/components/flow-cycle/components/ContextMenu.vue @@ -48,32 +48,34 @@ background: #fff; border-radius: 4px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); + padding: 5px; } +::v-deep { + .contextMenu .command.disable .item { + color: rgba(0, 0, 0, 0.25); + cursor: auto; + } -.contextMenu .command.disable .item { - color: rgba(0, 0, 0, 0.25); - cursor: auto; -} + .contextMenu .command.disable .item:hover { + background: #fff; + } -.contextMenu .command.disable .item:hover { - background: #fff; -} + .contextMenu .item { + display: flex; + align-items: center; + padding: 5px 12px; + cursor: pointer; + transition: all 0.3s; + user-select: none; + } -.contextMenu .item { - display: flex; - align-items: center; - padding: 5px 12px; - cursor: pointer; - transition: all 0.3s; - user-select: none; -} + .contextMenu .item:hover { + background: #e6f7ff; + } -.contextMenu .item:hover { - background: #e6f7ff; -} - -.contextMenu .item i { - margin-right: 8px; - margin-top: 3px; + .contextMenu .item i { + margin-right: 8px; + margin-top: 3px; + } } </style> diff --git a/Source/plt-web/plt-web-ui/src/components/flow-cycle/components/Toolbar.vue b/Source/plt-web/plt-web-ui/src/components/flow-cycle/components/Toolbar.vue index f656817..5b882e2 100644 --- a/Source/plt-web/plt-web-ui/src/components/flow-cycle/components/Toolbar.vue +++ b/Source/plt-web/plt-web-ui/src/components/flow-cycle/components/Toolbar.vue @@ -17,19 +17,15 @@ <!-- <toolbar-button command="toFront" icon="to-front" text="鍚戜笂涓�灞�" /> --> <!-- <toolbar-button command="addGroup" icon="group" text="缂栫粍" /> --> <!-- <toolbar-button command="unGroup" icon="ungroup" text="鍙栨秷缂栫粍" /> --> - <toolbar-button command="selectAll" icon="select-all" text="鍏ㄩ��"/> - <toolbar-button command="multiSelect" icon="select" text="妗嗛��"/> + <toolbar-button v-show="disabledBtn" command="selectAll" icon="select-all" text="鍏ㄩ��"/> + <toolbar-button v-shof="disabledBtn" command="multiSelect" icon="select" text="妗嗛��"/> <div v-if="disabledBtn" class="split"></div> - <toolbar-button command="delete" text="鍒犻櫎"/> - <toolbar-button command="clear" icon="clear" text="娓呯┖鐢诲竷"/> + <toolbar-button v-show="disabledBtn" command="delete" text="鍒犻櫎"/> + <toolbar-button v-show="disabledBtn" command="clear" icon="clear" text="娓呯┖鐢诲竷"/> </template> <template> <div class="split"></div> - <toolbar-button - command="downloadImage" - icon="image" - text="涓嬭浇鍥惧儚" - /> + <toolbar-button command="downloadImage" icon="image" text="涓嬭浇鍥惧儚"/> </template> <!-- <el-button>{{this.$store}}</el-button>--> <el-button :disabled="!disabledBtn" icon="el-icon-check" plain size="small" type="success" diff --git a/Source/plt-web/plt-web-ui/src/components/flow-cycle/flowchartEditor.vue b/Source/plt-web/plt-web-ui/src/components/flow-cycle/flowchartEditor.vue index 7e2245e..15b1954 100644 --- a/Source/plt-web/plt-web-ui/src/components/flow-cycle/flowchartEditor.vue +++ b/Source/plt-web/plt-web-ui/src/components/flow-cycle/flowchartEditor.vue @@ -23,6 +23,7 @@ <p>{{ item.name }}: {{ item.value }}</p> </template> </div> + <div v-if="!disabledBtn" class="mask"></div> </div> <div class="vfe-chart-panel"> @@ -129,7 +130,6 @@ }, // 澶勭悊鍥捐〃鏁版嵁鏇存敼鐨勪簨浠� onAfterChange(e) { - console.log(e) try { // if('edit' === this.$store.state.flow.type){ // this.$refs.flowChart.propsAPI.remove(e.item); @@ -172,7 +172,6 @@ this.currentSelectedLine = currentEdge; } }, - // 涓嬭浇鍥剧墖 _downloadImage(data, filename = "flowchart.png") { const a = document.createElement("a"); @@ -264,6 +263,14 @@ margin: 0; } } + .mask{ + opacity: 0.3; + position: absolute; + width: 100%; + height: 100%; + left: 0; + top:0; + } } .vfe-chart-sidebar { diff --git a/Source/plt-web/plt-web-ui/src/views/authority/function/fuctionView/index.vue b/Source/plt-web/plt-web-ui/src/views/authority/function/fuctionView/index.vue deleted file mode 100644 index 308c333..0000000 --- a/Source/plt-web/plt-web-ui/src/views/authority/function/fuctionView/index.vue +++ /dev/null @@ -1,92 +0,0 @@ -<template> - <el-container> - - <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="delClickHandler">鍒犻櫎 - </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="smallBtn" plain size="small" type="primary" - @click="checkViewClickHandler">鏌ョ湅浣跨敤鑼冨洿 - </el-button> - </div> - <!-- 宸︿晶鏍� --> - <div style="height: calc(100vh - 280px);"> - <avue-tree :data="treeData" :option="treeOption" @node-click="nodeClick"> - <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> - </div> - </div> - </basic-container> - </el-aside> - - <el-main> - <basic-container> - </basic-container> - </el-main> - - </el-container> -</template> - -<script> -export default { - name: "index" -} -</script> - -<style lang="scss" scoped> -::v-deep { - .el-scrollbar__wrap { - overflow: auto !important; - } - .headerCon{ - .el-button{ - width: 82px; - } - } -} - -.headerCon { - display: flex; - flex-wrap: wrap; - margin-bottom: 5px; - - .el-button + .el-button { - margin-left: 5px; - } - - .el-button { - margin-top: 5px; - } -} - -.headerCon > .el-button:nth-child(4) { - margin-left: 0; -} - -.headerCon > .el-button:nth-child(7) { - margin-left: 0; -} - - -.smallBtn { - width: 82px; - text-align: center; - padding-left: 4.5px; -} - -</style> diff --git a/Source/plt-web/plt-web-ui/src/views/authority/function/functionView/index.vue b/Source/plt-web/plt-web-ui/src/views/authority/function/functionView/index.vue new file mode 100644 index 0000000..4bef6c2 --- /dev/null +++ b/Source/plt-web/plt-web-ui/src/views/authority/function/functionView/index.vue @@ -0,0 +1,244 @@ +<template> + <el-container> + <el-aside> + <basic-container> + <div ref="TreeBox" style="height: calc(100vh - 154px);!important;"> + <!-- 宸︿晶鏍� --> + <div style="height: calc(100vh - 195px);"> + <avue-tree :data="treeData" :option="treeOption" @node-click="nodeClick"> + <span slot-scope="{ node, data }" class="el-tree-node__label"> + <span style="font-size: 15px"> + <i class="el-icon-user-solid"></i> + {{ (node || {}).label }} + </span> + </span> + </avue-tree> + </div> + </div> + </basic-container> + </el-aside> + + <el-main> + <basic-container v-loading="treeLoading"> + <h3 style="margin: 0 0 10px 0">鍔熻兘鏉冮檺閰嶇疆</h3> + <div> + <el-button icon="el-icon-place" plain size="small" type="primary" @click="saveHandler">鎺堟潈</el-button> + <el-button icon="el-icon-close" plain size="small" style="margin-right: 40px;" type="primary" + @click="clearValue">閲嶇疆 + </el-button> + </div> + <div style="height: calc(100vh - 232px);margin-top: 10px;"> + <avue-tree ref="uiTree" :data="uiTreeData" :node-key="id" :option="uiTreeOption"> + <span slot-scope="{ node, data }" class="el-tree-node__label"> + <span style="font-size: 15px"> + <i :class="data.icon"></i> + {{ (node || {}).label }} + </span> + </span> + </avue-tree> + </div> + </basic-container> + </el-main> + + </el-container> +</template> + +<script> +import {gridRoles} from "@/api/system/role/api"; +import {getSysModelAuthTreeMenuByPID, getSysModelAuth, saveRoleRight} from "@/api/authority/functionView/api" + +export default { + name: "index", + data() { + return { + treeLoading: false, + type: '',//涓氬姟绫诲瀷 + context: '',//UI涓婁笅鏂嘽ode + treeOption: { + menu: false, + addBtn: false, + props: { + label: 'name', + value: 'oid', + children: 'children' + } + }, + nodeRow: {}, + treeData: [], + defaultExpandKeys: [], + uiTreeOption: { + defaultExpandedKeys: this.defaultExpandKeys, + multiple: true, + menu: false, + addBtn: false, + filter: false, + props: { + label: 'name', + value: 'id', + children: 'children' + } + }, + uiTreeData: [], + typeData: [], + contextData: [] + } + }, + created() { + this.getTreeList(); + this.getUITree(); + }, + methods: { + getTreeList() { + const loading = this.$loading({}); + gridRoles().then(res => { + this.treeData = res.data.data; + loading.close(); + }).catch(error => { + loading.close(); + }) + }, + // 瑙掕壊鐐瑰嚮 + nodeClick(row) { + this.nodeRow = row; + this.treeLoading = true; + getSysModelAuth({roleId: row.oid}).then(res => { + const data = res.data.data; + this.$refs.uiTree.setCheckedKeys(data); + this.treeLoading = false; + }) + }, + getUITree() { + this.treeLoading = true; + const params = { + // 'conditionMap[roleId]': this.nodeRow.oid, + 'conditionMap[type]': this.type, + 'conditionMap[context]': this.context, + 'conditionMap[showCheckbox]': true + } + this.defaultExpandKeys = ['root']; + getSysModelAuthTreeMenuByPID(params).then(res => { + console.log(res); + let data= [{ + attributes: {}, + checked: false, + expanded: true, + data: "root", + childType: 1, + icon: 'el-icon-s-home', + id: 'root', + name:'鍔熻兘妯″潡', + children: res.data.data + }]; + this.processChildren(data[0]); // 澶勭悊姣忎釜鑺傜偣 + this.uiTreeOption.defaultExpandedKeys = this.defaultExpandKeys; + this.uiTreeData = data; + this.treeLoading = false; + }).catch(error => { + this.treeLoading = false; + }) + }, + //澶勭悊鏍� + processChildren(item) { + if (item.children && item.children.length > 0) { + item.children = item.children.map(child => { + if (!child.childType) { + // 榛樿鏍戣妭鐐瑰睍寮�,鏈�瀛愮骇涓嶅睍寮� + this.defaultExpandKeys.push(child.id) + } + child.icon = 'el-icon-s-promotion'; + if (child.childType == 1) { + child.icon = 'el-icon-document'; + } else if (child.childType == 2) { + child.icon = 'el-icon-s-tools'; + } + this.processChildren(child); // 閫掑綊澶勭悊姣忎釜瀛愯妭鐐� + return child; // 鍙繑鍥炲瓙鑺傜偣鐨� attributes + }); + } + }, + saveHandler() { + const selectTreeList = this.$refs.uiTree.getCheckedNodes(); + const selectParentList = this.$refs.uiTree.getHalfCheckedNodes(); + + if (selectTreeList.length == 0) { + this.$message.error("璇烽�夋嫨鍔熻兘妯″潡"); + return; + } + const formData = selectTreeList.map(item => { + return { + parentId: item.childType === 2 ? item.funcId : item.parentId, + id: item.id, + type: (!item.childType || item.childType === 1) ? 1 : 2, + number: item.childType === 2 ? item.sort : '' + } + }) + const parentData = selectParentList.map(item => { + return { + parentId: item.parentId, + id: item.id, + type: (!item.childType || item.childType === 1) ? 1 : 2, + number: '' + } + }) + const data = [...parentData,...formData]; + data.shift(); + const params = { + roleId: this.nodeRow.oid, + roleData: data + } + saveRoleRight(params).then(res => { + if (res.data.code === 200) { + this.$message.success("鎺堟潈鎴愬姛"); + } + }); + }, + clearValue() { + this.$refs.uiTree.setCheckedNodes([]); + } + } +} +</script> + +<style lang="scss" scoped> +::v-deep { + .el-scrollbar__wrap { + overflow: auto !important; + } + + .headerCon { + .el-button { + width: 82px; + } + } +} + +.headerCon { + display: flex; + flex-wrap: wrap; + margin-bottom: 5px; + + .el-button + .el-button { + margin-left: 5px; + } + + .el-button { + margin-top: 5px; + } +} + +.headerCon > .el-button:nth-child(4) { + margin-left: 0; +} + +.headerCon > .el-button:nth-child(7) { + margin-left: 0; +} + + +.smallBtn { + width: 82px; + text-align: center; + padding-left: 4.5px; +} + +</style> diff --git a/Source/plt-web/plt-web-ui/src/views/authority/ui/uiAuthorization/index.vue b/Source/plt-web/plt-web-ui/src/views/authority/ui/uiAuthorization/index.vue index 3fb919b..4214755 100644 --- a/Source/plt-web/plt-web-ui/src/views/authority/ui/uiAuthorization/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/authority/ui/uiAuthorization/index.vue @@ -19,7 +19,7 @@ </el-aside> <el-main> - <basic-container> + <basic-container v-loading="treeLoading"> <h3 style="margin: 0 0 10px 0">UI鏉冮檺閰嶇疆</h3> <div> <el-button icon="el-icon-place" plain size="small" type="primary" @click="saveHandler">鎺堟潈</el-button> @@ -49,7 +49,7 @@ </el-select> </div> <div style="height: calc(100vh - 232px);margin-top: 10px;"> - <avue-tree ref="uiTree" :data="uiTreeData" :option="uiTreeOption"> + <avue-tree ref="uiTree" :data="uiTreeData" :node-key="oid" :option="uiTreeOption"> <span slot-scope="{ node, data }" class="el-tree-node__label"> <span style="font-size: 15px"> <i :class="data.icon"></i> @@ -65,7 +65,7 @@ </template> <script> -import {gridRoles} from "@/api/system/role/api"; +import {gridRoles, getRightListByRoleId} from "@/api/system/role/api"; import {getUIAuthor, authorizedUI} from "@/api/authority/ui/uiAuthor"; import {getBizTree, gridUIContextData} from "@/api/UI/uiDefine"; @@ -73,6 +73,7 @@ name: "index", data() { return { + treeLoading: false, type: '',//涓氬姟绫诲瀷 context: '',//UI涓婁笅鏂嘽ode treeOption: { @@ -106,7 +107,8 @@ }, created() { this.getTreeList(); - this.getTypeList() + // this.getUITree(); + this.getTypeList(); }, methods: { getTreeList() { @@ -118,46 +120,72 @@ loading.close(); }) }, + // 瑙掕壊鐐瑰嚮 nodeClick(row) { this.nodeRow = row; this.getUITree(); + // const params = { + // roleId: row.oid + // } + // getRightListByRoleId(params).then(res => { + // const data = res.data.data.map(item => item.funcId); + // console.log(data); + // this.$refs.uiTree.setCheckedKeys(data); + // }) }, + getUITree() { - if (this.nodeRow && this.nodeRow.oid) { - const loading = this.$loading({}); - const params = { - 'conditionMap[roleId]': this.nodeRow.oid, - 'conditionMap[type]': this.type, - 'conditionMap[context]': this.context, - 'conditionMap[showCheckbox]': true - } - this.defaultExpandKeys = ['root']; - getUIAuthor(params).then(res => { - this.processChildren(res.data.data[0]); // 澶勭悊姣忎釜鑺傜偣 - this.uiTreeOption.defaultExpandedKeys = this.defaultExpandKeys; - this.uiTreeData = [{ - attributes: {}, - checked: false, - expanded: true, - data: "root", - level: 0, - icon: 'el-icon-s-home', - oid: res.data.data[0].oid, - label: res.data.data[0].text, - children: res.data.data[0].children - }]; - loading.close(); - }).catch(error => { - loading.close(); - }) + this.treeLoading = true; + const params = { + 'conditionMap[roleId]': this.nodeRow.oid, + 'conditionMap[type]': this.type, + 'conditionMap[context]': this.context, + 'conditionMap[showCheckbox]': true } + this.defaultExpandKeys = ['root']; + getUIAuthor(params).then(res => { + this.processChildren(res.data.data[0]); // 澶勭悊姣忎釜鑺傜偣 + this.uiTreeOption.defaultExpandedKeys = this.defaultExpandKeys; + this.uiTreeData = [{ + attributes: {}, + checked: false, + expanded: true, + data: "root", + level: 0, + icon: 'el-icon-s-home', + oid: res.data.data[0].oid, + label: res.data.data[0].text, + children: res.data.data[0].children + }]; + const checkedData = this.findCheckedOids(res.data.data[0]); + this.$refs.uiTree.setCheckedKeys(checkedData); + + this.treeLoading = false; + }).catch(error => { + this.treeLoading = false; + }) }, + + // 鏌ユ壘宸查�夋嫨鑺傜偣 + findCheckedOids(obj, result = []) { + if (obj.checked === true) { + result.push(obj.oid); + } + // 濡傛灉鏈� children锛屽垯缁х画閬嶅巻 + if (obj.children && obj.children.length > 0) { + obj.children.forEach(child => { + this.findCheckedOids(child, result); + }); + } + return result; + }, + //澶勭悊鏍� processChildren(item) { if (item.children && item.children.length > 0) { item.children = item.children.map(child => { - if (child.level < 2) { + if (child.level < 3) { // 榛樿鏍戣妭鐐瑰睍寮�涓ゅ眰鏁堟灉 this.defaultExpandKeys.push(child.oid) } @@ -182,11 +210,13 @@ }); } }, + getTypeList() { getBizTree().then(res => { this.typeData = res.data.obj.children; }) }, + typeChange(data) { this.contextData = []; this.type = data; @@ -202,21 +232,45 @@ } this.getUITree(); }, + contextChange(data) { this.context = data; this.getUITree(); }, + saveHandler() { const selectTreeList = this.$refs.uiTree.getCheckedNodes(); + const selectParentList = this.$refs.uiTree.getHalfCheckedNodes(); if (selectTreeList.length == 0) { this.$message.error("璇烽�夋嫨鍔熻兘妯″潡"); return; } + const selectTreeData = selectTreeList.map(item => { + return { + checked: true, + expanded: true, + data:item.data, + level: item.level, + oid: item.oid, + text: item.text + } + }) + const parentData = selectParentList.map(item => { + return { + checked: false, + expanded: true, + data:item.data, + level: item.level, + oid: item.oid, + text: item.text + } + }) + const data = [...parentData,...selectTreeData]; const formData = { roleId: this.nodeRow.oid, type: this.type, context: this.context, - selectTreeList: selectTreeList + selectTreeList: data } authorizedUI(formData).then(res => { if (res.data.success) { @@ -225,6 +279,7 @@ } }); }, + clearValue() { this.$refs.uiTree.setCheckedNodes([]); } 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 03c0301..761693e 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 @@ -1656,38 +1656,6 @@ .el-form-item .el-select { width: 100%; } - - .headerCon { - .el-button { - width: 82px; - } - } -} - -.headerCon { - display: flex; - flex-wrap: wrap; - margin-bottom: 5px; - - .el-button + .el-button { - margin-left: 5px; - } - - .el-button { - margin-top: 5px; - } -} - -.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; } .descBox { diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/lifeCycle/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/lifeCycle/index.vue index 142b70c..a9a4804 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/lifeCycle/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/lifeCycle/index.vue @@ -1,6 +1,6 @@ <template> <el-container> - <el-aside width="15.7%"> + <el-aside> <basic-container> <div ref="TreeBox" style="height: calc(100vh - 144px);!important;"> <div class="headerCon"> @@ -14,8 +14,7 @@ </el-button> <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="uploadClickHandler">瀵煎叆 </el-button> - <el-button class="smallBtn" plain size="small" type="primary" - @click="checkViewClickHandler">鏌ョ湅浣跨敤鑼冨洿 + <el-button class="smallBtn" plain size="small" type="primary" @click="checkViewClickHandler">鏌ョ湅浣跨敤鑼冨洿 </el-button> </div> <!-- 宸︿晶鏍� --> @@ -421,35 +420,7 @@ .el-scrollbar__wrap { overflow: auto !important; } - .headerCon{ - .el-button { - width: 65px; - padding-left: 9.5px; - } - } } - -.headerCon { - display: flex; - flex-wrap: wrap; - margin-bottom: 5px; - - .el-button + .el-button { - margin-left: 5px; - } - - .el-button { - margin-top: 5px; - } -} - -.headerCon > .el-button:nth-child(4) { - margin-left: 0; -} - -//.headerCon > .el-button:nth-child(6) { -// margin-left: 0; -//} .smallBtn { width: 77px !important; diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/linkType/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/linkType/index.vue index 66319a6..122f429 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/linkType/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/linkType/index.vue @@ -1154,34 +1154,6 @@ .el-form-item .el-select { width: 100%; } - - .headerCon { - .el-button { - width: 82px; - } - } -} - -.headerCon { - display: flex; - flex-wrap: wrap; - margin-bottom: 5px; - - .el-button + .el-button { - margin-left: 5px; - } - - .el-button { - margin-top: 5px; - } -} - -.headerCon > .el-button:nth-child(4) { - margin-left: 0; -} - -.headerCon > .el-button:nth-child(7) { - margin-left: 0; } .dialogForm { diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue index de71674..017da53 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue @@ -58,7 +58,64 @@ <el-form-item :class="['hiddenLabel', { 'active-border': activeItem.text === item.text }]" :label="item.text + '锛�'" style="padding-left: 5px" @click.native="formItemClick(item,index)"> - <el-input v-model="item.value" :placeholder="item.text" size="mini"></el-input> + <el-input + v-if="item.itemType === 'text' || + item.itemType === 'custom' || + item.itemType === 'customform'|| + item.itemType === 'hidden' || + item.itemType === 'specialCharacter'" + v-model="item.value" :placeholder="item.text" + size="mini"></el-input> + + <div v-if="item.itemType === 'textbtn'" style="display: flex;align-items: center"> + <el-input v-model="item.value" :placeholder="item.text" size="mini"></el-input> + <el-button icon="el-icon-edit" plain size="mini" style="height: 28px;" + type="primary"></el-button> + </div> + + <el-input + v-if="item.itemType === 'textarea' || item.itemType === 'richtext' || item.itemType === 'webeditor'" + v-model="item.value" + :placeholder="item.text" + :rows="2" + type="textarea"> + </el-input> + + <el-input-number v-if="item.itemType === 'number'" v-model="item.value" :max="99999" + :min="1"></el-input-number> + <el-input v-if="item.itemType === 'password'" v-model="input" placeholder="璇疯緭鍏ュ瘑鐮�" + show-password></el-input> + <el-radio v-if="item.itemType === 'radio'" v-model="item.value"></el-radio> + <el-checkbox v-if="item.itemType === 'checkbox'" v-model="item.value"></el-checkbox> + <el-select v-if="item.itemType === 'select' || item.itemType === 'multiselect'" + v-model="item.value" :disabled="true" placeholder="璇烽�夋嫨" size="mini"> + </el-select> + <el-date-picker + v-if="item.itemType === 'date' || item.itemType === 'datetime'" + v-model="item.value" + :placeholder="item.itemType === 'date' ? '璇烽�夋嫨鏃ユ湡' : '璇烽�夋嫨鏃ユ湡鏃堕棿'" + type="date"> + </el-date-picker> + + <el-time-select + v-if="item.itemType === 'time'" + v-model="item.value" + :picker-options="{ + start: '08:30', + step: '00:15', + end: '18:30' + }" + placeholder="閫夋嫨鏃堕棿"> + </el-time-select> + <el-button v-if="item.itemType === 'file'" + v-model="item.value" plain size="mini" type="primary"> + 涓婁紶鏂囦欢 + </el-button> + <el-button v-if="item.itemType === 'multiFile'" + v-model="item.value" plain size="mini" type="primary"> + 澶氭枃浠朵笂浼� + </el-button> + </el-form-item> </el-col> </el-row> @@ -79,14 +136,14 @@ <el-aside width="25%"> <basic-container> - <div style="height: 700px; overflow-y: auto;padding-right: 10px"> + <div style="height: 660px; overflow-y: auto;padding-right: 10px"> <h3>璁剧疆</h3> <el-form ref="form" :model="form" :rules="rules" label-position="left" label-width="85px"> <el-row style="border-bottom: 1px solid #878585;padding-bottom: 10px"> <el-col :span="24"> <el-form-item label="浣跨敤瀛楁"> <div style="display: flex"> - <el-input v-model="form.text" placeholder="璇疯緭鍏ヤ娇鐢ㄥ瓧娈�" size="mini"></el-input> + <el-input v-model="form.text" :readonly="true" placeholder="璇疯緭鍏ヤ娇鐢ㄥ瓧娈�" size="mini"></el-input> <el-checkbox v-model="form.itemIsEditable" style="margin-left: 5px; margin-right: 5px">鍙 </el-checkbox> <el-checkbox v-model="form.itemIsRequired" style="margin-left: 5px;margin-right: 0px">蹇呭~ @@ -103,7 +160,7 @@ <el-col :span="12"> <el-form-item class="rightLabel" label="鏄剧ず绫诲瀷"> - <el-select v-model="form.itemType" placeholder="璇烽�夋嫨绫诲瀷" size="mini"> + <el-select v-model="form.itemType" placeholder="璇烽�夋嫨绫诲瀷" size="mini" @change="itemTypeChange"> <el-option v-for="(item,index) in showSelectList" :key="index" :label="item.label" :value="item.value"></el-option> </el-select> @@ -264,7 +321,7 @@ <el-form-item> <div style="height: 150px; width: 100%; border: 1px solid #bdbbbb;overflow-y: auto"> <el-table - :data="form.itemValueList" + :data="form.itemKeyValueList" :highlight-current-row="true" :show-header="false" border @@ -334,6 +391,10 @@ </el-form> </div> + <div style="display: flex;justify-content: right"> + <el-button plain size="mini" style="margin-top: 10px" type="success" @click="asideFormHandler">搴旂敤 + </el-button> + </div> </basic-container> </el-aside> </div> @@ -353,8 +414,12 @@ <el-row style="border-bottom: 1px solid #878585;padding-bottom: 10px"> <el-col :span="24"> <el-form-item label="浣跨敤瀛楁"> - <div style="display: flex"> - <el-input v-model="customForm.text" placeholder="璇疯緭鍏ヤ娇鐢ㄥ瓧娈�" size="mini"></el-input> + <div style="display: flex;align-items: center"> + <div style="display: flex;align-items: center"> + <el-input v-model="customForm.text" placeholder="璇疯緭鍏ヤ娇鐢ㄥ瓧娈�" size="mini"></el-input> + <el-button plain size="mini" style="margin-left: 3px" type="success" @click="customTextHandler">閫夋嫨 + </el-button> + </div> <el-checkbox v-model="customForm.itemIsEditable" style="margin-left: 5px; margin-right: 5px">鍙 </el-checkbox> <el-checkbox v-model="customForm.itemIsRequired" style="margin-left: 5px;margin-right: 0px">蹇呭~ @@ -513,7 +578,8 @@ </el-row> - <el-row style="margin-top: 10px;border-bottom: 1px solid #878585;padding-bottom: 10px"> + <el-row v-if="customForm.itemType ? customOptionTypeStatus : true" + style="margin-top: 10px;border-bottom: 1px solid #878585;padding-bottom: 10px"> <h4>閫夐」鍒楄〃</h4> <el-col :span="12"> <el-form-item label="鍚嶇О"> @@ -531,7 +597,7 @@ <el-form-item> <div style="height: 150px; width: 100%; border: 1px solid #bdbbbb;overflow-y: auto"> <el-table - :data="customForm.itemValueList" + :data="customForm.itemKeyValueList" :highlight-current-row="true" :show-header="false" border @@ -582,7 +648,7 @@ </el-form-item> </el-col> </el-row> - <el-row style="margin-top: 10px"> + <el-row v-if="customForm.itemType ? customItemStyleTypeStatus : true" style="margin-top: 10px"> <el-col :span="24" style="height: 90px"> <el-form-item label="闄勫姞灞炴��"> <el-input @@ -599,14 +665,14 @@ </el-form> <span slot="footer" class="dialog-footer"> <el-button @click="customVisible = false">鍙� 娑�</el-button> - <el-button type="primary">纭� 瀹�</el-button> + <el-button type="primary" @click="customSaveHandler">纭� 瀹�</el-button> </span> </el-dialog> </el-dialog> </template> <script> -import {getTreeAttributes} from "@/api/UI/formDefine/api"; +import {getTreeAttributes, savePortalVI} from "@/api/UI/formDefine/api"; import func from "@/util/func"; export default { @@ -620,6 +686,11 @@ treeRadio: { type: String, default: "" + }, + editRow: { + type: Object, + default: () => { + } } }, data() { @@ -633,7 +704,8 @@ optionValue: '' }, customForm: { - itemValueList: [], + itemKeyValueList: [], + itemCols: '1' }, customLoading: false, customVisible: false, @@ -732,7 +804,7 @@ form: {}, topForm: { columnNumber: 8, - showColumn: '', + showColumn: '3', viName: '', position: '' }, @@ -769,7 +841,15 @@ itemStyleTypeStatus() { const types = ['hidden', 'webeditor', 'radio', 'checkbox']; return !types.includes(this.form.itemType); // 涓嶅睍绀� - } + }, + customOptionTypeStatus() { + const types = ['radio', 'checkbox', 'select']; + return types.includes(this.customForm.itemType); // 灞曠ず + }, + customItemStyleTypeStatus() { + const types = ['hidden', 'webeditor', 'radio', 'checkbox']; + return !types.includes(this.customForm.itemType); // 涓嶅睍绀� + }, }, created() { // this.getTreeList(); @@ -778,7 +858,9 @@ // 鍏抽棴瀵硅瘽妗� closeDialog() { this.formList = []; - + this.form = {}; + this.activeItem = {}; + this.topForm.viName = ""; }, getTreeList() { @@ -810,6 +892,7 @@ const params = { text: data.text, oid: data.oid, + itemType: 'text' } const isDuplicate = this.formList.some(item => item.text === data.text); @@ -825,6 +908,8 @@ this.activeItem = item; this.activeItemIndex = index; this.form = {...item}; + // console.log(item,index); + this.topForm.position = index += 1; }, // 璁剧疆鏄剧ず琛屾暟 @@ -931,18 +1016,18 @@ // 閫夐」娣诲姞 optionAddClickHandler(val) { - let optionObj, itemValueList; + let optionObj, itemKeyValueList; if (val === 'dialog') { optionObj = this.customOptionObj; - itemValueList = this.customForm.itemValueList; + itemKeyValueList = this.customForm.itemKeyValueList; } else { if (func.isEmptyObject(this.activeItem)) { this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹繘琛屾坊鍔犻�夐」'); return; } optionObj = this.optionObj; - itemValueList = this.form.itemValueList; + itemKeyValueList = this.form.itemKeyValueList; } if (!optionObj.optionName) { @@ -960,7 +1045,7 @@ value: optionObj.optionValue }; - itemValueList.push(params); + itemKeyValueList.push(params); }, // 閫夐」鍒犻櫎 @@ -983,8 +1068,103 @@ this.$message.error('椤甸潰涓嶈兘涓虹┖'); return; } - this.visible = false; - this.$message.success('淇濆瓨鎴愬姛'); + this.formList = this.formList.map(item => { + return { + ...item, + itemField: item.text // 灏唅temField璧嬪�间负text锛屽洜涓哄繕璁扮埗缁勪欢涓轰粈涔堝湪缂栬緫鍥炲~鏃舵妸itemField璧嬪�间负text浜� + }; + }); + const params = { + id: this.editRow.id,// 淇敼鏃跺�欏繀浼� + typeFlag: this.treeRadio, // 涓氬姟绫诲瀷0 or 閾炬帴绫诲瀷1 + typeFlagText: this.treeRadio === '0' ? '涓氬姟绫诲瀷鐨勮〃鍗�' : '閾炬帴绫诲瀷鐨勮〃鍗�',// 涓氬姟绫诲瀷鏄剧ず鍊� + typeName: this.treeRadio === '0' ? this.TreeNodeRow.id : this.TreeNodeRow.name, // 涓氬姟绫诲瀷鍚� or 閾炬帴绫诲瀷鍚� + viName: this.topForm.viName, // 瑙嗗浘鍚嶇О + viType: 1, // 瑙嗗浘绫诲瀷 + viTypeText: "琛ㄥ崟", // 瑙嗗浘涓枃鍚嶇О + prm: { + formQtName: '', // 鏌ヨ妯℃澘鍚嶇О + showCols: this.topForm.showColumn, + prmItemList: this.formList + }, + } + console.log(params); + savePortalVI(params).then(res => { + console.log(res); + if(res.data.code === 200){ + this.$message.success(res.data.obj); + this.visible = false; + this.closeDialog(); + } + }) + // this.visible = false; + // this.$message.success('淇濆瓨鎴愬姛'); + }, + + // 淇敼鏄剧ず绫诲瀷 + itemTypeChange(val) { + if (val) { + this.clearFormBottom(); + } + if (!this.form.text) { + this.$message.error('璇峰湪鍙充晶閫夋嫨鏁版嵁鍚庤繘琛屾搷浣滐紒'); + return; + } + const targetObject = this.formList.find(item => item.text === this.form.text); + + if (targetObject) { + targetObject.itemType = val; + } + this.form.itemType = val; + }, + + // 鑷畾涔夌粍浠朵繚瀛� + customSaveHandler() { + if (!this.customForm.text) { + this.$message.error('璇烽�夋嫨浣跨敤瀛楁'); + return; + } + if (!this.customForm.itemType) { + this.$message.error('璇烽�夋嫨鏄剧ず绫诲瀷'); + return; + } + this.formList.push(this.customForm); + this.customVisible = false; + }, + + // 鑷畾涔夊璇濇鍏抽棴 + closeCustomDialog() { + this.customForm = { + itemKeyValueList: [], + itemType: 'text', + itemCols: '1' + }; + }, + + // 娓呯┖涓嶅悓绫诲瀷琛ㄥ崟涓嬫柟缁戝畾鍊� + clearFormBottom() { + this.optionObj = {}; + this.form.itemKeyValueList = []; + this.form.itemListTable = this.form.itemListTxt = this.form.itemListVal = this.form.itemStyle = ""; + }, + + // 鑷畾涔夎〃鍗曚娇鐢ㄥ瓧娈甸�夋嫨 + customTextHandler() { + + }, + + // 鍙充晶琛ㄥ崟搴旂敤鎸夐挳 + asideFormHandler() { + + }, + + customClearFormBottom() { + this.optionObj = {}; + this.form.itemKeyValueList = []; + this.form.itemListTable = ""; + this.form.itemListTxt = ""; + this.form.itemListVal = ""; + this.form.itemStyle = ""; } } } diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue index 6350b43..cbfdc6b 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue @@ -454,7 +454,7 @@ formSelectClickHandler() { this.selectFormVisible = true; const params = { - 'conditionMap[typeName]': this.TreeNodeRow.attributes.id, + 'conditionMap[typeName]': this.TreeNodeRow.id, 'conditionMap[viType]': 'Form', 'conditionMap[viTypeFlag]': this.treeRadio === '0' ? 'BtmType' : this.treeRadio === '1' ? 'LinkType' : '', } diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue index ac5f61b..37201c5 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue @@ -28,7 +28,8 @@ <div v-if="!tableStatus" style="display: flex;justify-content: left;margin-top: 15px"> <el-button icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">澧炲姞</el-button> <el-button icon="el-icon-delete" plain size="small" type="danger" @click="deleteClickHandler">鍒犻櫎</el-button> - <el-button icon="el-icon-document-add" plain size="small" type="primary">鍏嬮殕</el-button> + <el-button icon="el-icon-document-add" plain size="small" type="primary" @click="copyClickHandler">鍏嬮殕 + </el-button> <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">瀵煎叆</el-button> <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭 </el-button> @@ -71,7 +72,7 @@ </avue-crud> </basic-container> </el-main> - <form-dialog ref="formDialog" :TreeNodeRow="this.nodeRow" :treeRadio="treeRadio"></form-dialog> + <form-dialog ref="formDialog" :TreeNodeRow="this.nodeRow" :treeRadio="treeRadio" :editRow="editRow"></form-dialog> <table-dialog ref="tableDialog" :TreeNodeRow="this.nodeRow" :treeRadio="treeRadio" @updataTable="getRightPortalVIDatas"></table-dialog> <!-- 瀵煎叆 --> @@ -117,7 +118,7 @@ addBtn: false, editBtn: false, delBtn: false, - calcHeight:-60, + calcHeight: -60, column: [ { label: '涓氬姟鍚嶇О', @@ -147,7 +148,8 @@ } }, dbClickList: [], - defaultData: [], // 鐢ㄤ簬鏌ヨ鎭㈠鍘熷鍊� + defaultData: [], // 鐢ㄤ簬鏌ヨ鎭㈠鍘熷鍊�, + editRow:{}, } }, created() { @@ -166,6 +168,7 @@ return; } if (this.tableRadio === "0") { + this.editRow.id = ""; this.$refs.formDialog.visible = true; this.$refs.formDialog.getTreeList(); } else { @@ -202,6 +205,7 @@ return item.attributes; // 杩斿洖澶勭悊鍚庣殑 attributes }); this.treeData = data; + this.treeLoading = false; }); } else { gridLink().then(res => { @@ -321,7 +325,7 @@ id: row.id, viType: row.viType }; - + this.editRow = row; getPortalVIById(params).then(res => { if (res.data.code === 200) { const data = res.data.obj.prm.prmItemList; @@ -337,6 +341,7 @@ this.$refs.formDialog.getTreeList(); this.$refs.formDialog.topForm.viName = res.data.obj.viName; this.$refs.formDialog.topForm.columnNumber = this.getValueBasedOnInput(res.data.obj.prm.showCols); + this.$refs.formDialog.topForm.showColumn = res.data.obj.prm.showCols; this.$refs.formDialog.visible = true; } @@ -398,8 +403,8 @@ }) }, - rowDeleteHandler(row){ - deleteByIds({ids:row.id}).then(res => { + rowDeleteHandler(row) { + deleteByIds({ids: row.id}).then(res => { if (res.data.code === 200) { this.$message.success('鍒犻櫎鎴愬姛'); this.getRightPortalVIDatas(); @@ -447,6 +452,19 @@ // 瀵煎叆 upLoadClickHandler() { this.$refs.upload.visible = true; + }, + + // 瀵煎嚭 + copyClickHandler() { + if (this.selectList.length <= 0) { + this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�'); + return; + } + + if (this.selectList.length > 1) { + this.$message.error('鍙兘閫夋嫨涓�鏉℃暟鎹�'); + return; + } } } } -- Gitblit v1.9.3