From a15371182ee7511ffdaa6f53d96b2103df0406a5 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期五, 18 十月 2024 15:00:08 +0800
Subject: [PATCH] 功能权限 ui授权 表单定义联调
---
/dev/null | 92 ---
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/api/system/role/api.js | 10
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue | 224 ++++++++
Source/plt-web/plt-web-ui/src/views/authority/ui/uiAuthorization/index.vue | 98 ++-
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue | 2
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-ui/src/views/authority/function/functionView/index.vue | 246 +++++++++
10 files changed, 1,265 insertions(+), 214 deletions(-)
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/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..fa92987
--- /dev/null
+++ b/Source/plt-web/plt-web-ui/src/views/authority/function/functionView/index.vue
@@ -0,0 +1,246 @@
+<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);
+ this.processChildren(res.data.data); // 澶勭悊姣忎釜鑺傜偣
+ this.uiTreeOption.defaultExpandedKeys = this.defaultExpandKeys;
+ this.uiTreeData = res.data.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.level < 2) {
+ // 榛樿鏍戣妭鐐瑰睍寮�涓ゅ眰鏁堟灉
+ this.defaultExpandKeys.push(child.id)
+ }
+ if (child.level == 1) {
+ child.icon = 'el-icon-s-promotion';
+ child.label = child.data.label + '锛�' + child.data.name + '锛�'
+ } else if (child.level == 2) {
+ child.icon = 'el-icon-s-order';
+ child.label = child.text
+ } else if (child.level == 3) {
+ child.icon = 'el-icon-office-building';
+ child.label = child.text
+ } else if (child.level == 4) {
+ child.icon = 'el-icon-document';
+ child.label = child.text
+ } else if (child.level == 5) {
+ child.icon = 'el-icon-s-tools';
+ child.label = child.text
+ }
+ this.processChildren(child); // 閫掑綊澶勭悊姣忎釜瀛愯妭鐐�
+ return child; // 鍙繑鍥炲瓙鑺傜偣鐨� attributes
+ });
+ }
+ },
+ saveHandler() {
+ const selectTreeList = this.$refs.uiTree.getCheckedNodes();
+ const selectParentList = this.$refs.uiTree.getHalfCheckedNodes();
+
+ console.log(selectTreeList);
+ console.log(selectParentList);
+
+ 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];
+ const params = {
+ roleId: this.nodeRow.oid,
+ roleData: data
+ }
+ saveRoleRight(params).then(res => {
+ console.log(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..d387f92 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,9 +107,11 @@
},
created() {
this.getTreeList();
- this.getTypeList()
+ // this.getUITree();
+ this.getTypeList();
},
methods: {
+
getTreeList() {
const loading = this.$loading({});
gridRoles().then(res => {
@@ -118,41 +121,69 @@
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) {
@@ -182,11 +213,13 @@
});
}
},
+
getTypeList() {
getBizTree().then(res => {
this.typeData = res.data.obj.children;
})
},
+
typeChange(data) {
this.contextData = [];
this.type = data;
@@ -202,10 +235,12 @@
}
this.getUITree();
},
+
contextChange(data) {
this.context = data;
this.getUITree();
},
+
saveHandler() {
const selectTreeList = this.$refs.uiTree.getCheckedNodes();
if (selectTreeList.length == 0) {
@@ -225,6 +260,7 @@
}
});
},
+
clearValue() {
this.$refs.uiTree.setCheckedNodes([]);
}
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