From 11375c628c997b5e792eb0e34fa5cc7e4ec1f44c Mon Sep 17 00:00:00 2001
From: wangwanli <1020097250@qq.com>
Date: Wed, 10 Mar 2021 15:37:57 +0800
Subject: [PATCH] =?UTF-8?q?add:=20=E9=80=89=E6=8B=A9=E5=88=86=E9=85=8D?=
 =?UTF-8?q?=E4=BA=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../properties-assignment-controller.js       | 41 +++++++++++++++++--
 .../properties/assignment-popup.html          | 17 ++++++++
 i18n/en.json                                  |  6 +++
 i18n/zh-CN.json                               | 28 +++++++++----
 4 files changed, 80 insertions(+), 12 deletions(-)

diff --git a/editor-app/configuration/properties-assignment-controller.js b/editor-app/configuration/properties-assignment-controller.js
index 7121a62..efbb597 100644
--- a/editor-app/configuration/properties-assignment-controller.js
+++ b/editor-app/configuration/properties-assignment-controller.js
@@ -56,6 +56,7 @@ angular.module('flowableModeler').controller('FlowableAssignmentPopupCtrl',
             },
             static: {
                 assignee: undefined,
+                selectassignee: undefined,
                 candidateUsers: [],
                 candidateGroups: []
             }
@@ -79,6 +80,28 @@ angular.module('flowableModeler').controller('FlowableAssignmentPopupCtrl',
         }
     }
 
+    $scope.assignmentOptionsStatic = [
+        {
+            title: $translate.instant('PROPERTY.ASSIGNMENT.MYSELF'),
+            value: false,
+        },
+        {
+            title: $translate.instant('PROPERTY.ASSIGNMENT.DEPARTLEADER'),
+            value: false,
+        },
+        {
+            title: $translate.instant('PROPERTY.ASSIGNMENT.CHARGEMANAGER'),
+            value: false,
+        },
+        {
+            title: $translate.instant('PROPERTY.ASSIGNMENT.FINANCE'),
+            value: false,
+        },
+        {
+            title: $translate.instant('PROPERTY.ASSIGNMENT.PERSONNEL'),
+            value: false,
+        }
+    ]
     // fill the IDM area
     if (!$scope.assignmentOption) {
         // Default, first time opening the popup
@@ -107,12 +130,20 @@ angular.module('flowableModeler').controller('FlowableAssignmentPopupCtrl',
             }
         }
     }
-    
     //fill the static area
+    let selectAssignFlag = false
     if ($scope.assignment.assignee) {
-        $scope.popup.assignmentObject.static.assignee = $scope.assignment.assignee;
+        $scope.assignmentOptionsStatic.forEach((item)=>{
+            if ($scope.assignment.assignee === item.title) {
+                item.value = true
+                selectAssignFlag = true
+            }
+        })
     }
 
+    $scope.popup.assignmentObject.static.selectassignee = selectAssignFlag ? $scope.assignment.assignee : ""
+    $scope.popup.assignmentObject.static.assignee = selectAssignFlag ? "" : $scope.assignment.assignee
+
     if ($scope.assignment.candidateUsers && $scope.assignment.candidateUsers.length > 0) {
         for (var i = 0; i < $scope.assignment.candidateUsers.length; i++) {
             $scope.popup.assignmentObject.static.candidateUsers.push($scope.assignment.candidateUsers[i]);
@@ -395,7 +426,7 @@ angular.module('flowableModeler').controller('FlowableAssignmentPopupCtrl',
     $scope.allSteps = EDITOR.UTIL.collectSortedElementsFromPrecedingElements($scope.selectedShape);
 
     $scope.save = function () {
-
+        console.log($scope.popup.assignmentObject.static)
         handleAssignmentInput($scope.popup.assignmentObject.static);
 
         $scope.assignment.type = $scope.popup.assignmentObject.type;
@@ -428,7 +459,9 @@ angular.module('flowableModeler').controller('FlowableAssignmentPopupCtrl',
         if ('static' === $scope.popup.assignmentObject.type) { // IDM
             $scope.popup.assignmentObject.idm = undefined;
             $scope.assignment.idm = undefined;
-            $scope.assignment.assignee = $scope.popup.assignmentObject.static.assignee;
+            $scope.assignment.assignee = $scope.popup.assignmentObject.static.selectassignee || $scope.popup.assignmentObject.static.assignee;
+            // $scope.assignment.assignee = $scope.popup.assignmentObject.static.assignee;
+            $scope.assignment.selectassignee = $scope.popup.assignmentObject.static.selectassignee;
             $scope.assignment.candidateUsers = $scope.popup.assignmentObject.static.candidateUsers;
             $scope.assignment.candidateGroups = $scope.popup.assignmentObject.static.candidateGroups;
         }
diff --git a/editor-app/configuration/properties/assignment-popup.html b/editor-app/configuration/properties/assignment-popup.html
index 8089e45..fb59622 100644
--- a/editor-app/configuration/properties/assignment-popup.html
+++ b/editor-app/configuration/properties/assignment-popup.html
@@ -41,6 +41,23 @@
                         </div>
                     </div>
 
+                    <div class="form-group clearfix" ng-show="popup.assignmentObject.type != 'idm'">
+                        <div class="col-xs-12">
+                            <label>{{'PROPERTY.ASSIGNMENT.SELECTASSIGNEE' | translate}}</label>
+                        </div>
+                        <div class="col-xs-12">
+                            <select ng-model="popup.assignmentObject.static.selectassignee" id="assigneeFieldselect" class="form-control"
+                            placeholder="{{'PROPERTY.ASSIGNMENT.ASSIGNEE_PLACEHOLDER' | translate}}">
+                                <option value="">
+                                <option ng-selected="{{option.value}}"
+                                    ng-repeat="option in assignmentOptionsStatic" value="{{option.title}}">
+                                    {{option.title | translate}}
+                                </option>
+                            </select>
+                            
+                        </div>
+                    </div>
+
                     <div class="form-group clearfix" ng-show="popup.assignmentObject.type != 'idm'">
                         <div class="col-xs-12">
                             <label>{{'PROPERTY.ASSIGNMENT.CANDIDATE_USERS' | translate}}</label>
diff --git a/i18n/en.json b/i18n/en.json
index c14713a..9842fb3 100644
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -2689,8 +2689,14 @@
     "PROPERTY.ASSIGNMENT.TYPE.IDENTITYSTORE" : "Identity store",
     "PROPERTY.ASSIGNMENT.TYPE.STATIC" : "Fixed values",
     "PROPERTY.ASSIGNMENT.ASSIGNEE" : "Assignee",
+    "PROPERTY.ASSIGNMENT.SELECTASSIGNEE" : "Select Role",
     "PROPERTY.ASSIGNMENT.MATCHING" : "Use &uparrow; and &downarrow; to select and press Enter to confirm or use the mouse",
     "PROPERTY.ASSIGNMENT.ASSIGNEE_PLACEHOLDER" : "Enter an assignee",
+    "PROPERTY.ASSIGNMENT.MYSELF" : "Myself",
+    "PROPERTY.ASSIGNMENT.DEPARTLEADER" : "DEPARTLEADER",
+    "PROPERTY.ASSIGNMENT.CHARGEMANAGER" : "CHARGEMANAGER",
+    "PROPERTY.ASSIGNMENT.FINANCE" : "FINANCE",
+    "PROPERTY.ASSIGNMENT.PERSONNEL" : "PERSONNEL",
     "PROPERTY.ASSIGNMENT.EMPTY" : "No assignment selected",
     "PROPERTY.ASSIGNMENT.NONE" : "None ...",
     "PROPERTY.ASSIGNMENT.PLACEHOLDER-SEARCHUSER": "Search user",
diff --git a/i18n/zh-CN.json b/i18n/zh-CN.json
index 34cf102..dc0094c 100644
--- a/i18n/zh-CN.json
+++ b/i18n/zh-CN.json
@@ -64,13 +64,13 @@
       },
       "NAMEPACKAGE" : {
         "NAME" : {
-          "TITLE" : "鍚嶇О",
+          "TITLE" : "娴佺▼鍚嶇О",
           "DESCRIPTION" : "BPMN鍏冪礌鐨勬弿杩板悕绉�."
         }
       },
       "DOCUMENTATIONPACKAGE" : {
         "DOCUMENTATION" : {
-          "TITLE" : "鎻忚堪淇℃伅",
+          "TITLE" : "娴佺▼鎻忚堪",
           "DESCRIPTION" : "BPMN鍏冪礌鐨勬弿杩颁俊鎭�"
         }
       },
@@ -88,7 +88,7 @@
       },
       "PROCESS_VERSIONPACKAGE" : {
         "PROCESS_VERSION" : {
-          "TITLE" : "娴佺▼鐗堟湰瀛楃涓诧紙浠呭娉級",
+          "TITLE" : "澶囨敞娴佺▼鐗堟湰",
           "DESCRIPTION" : "鏂囨。鐨勭洰鐨勪负鐗堟湰鏍囪瘑"
         }
       },
@@ -130,7 +130,7 @@
       },
       "ASYNCHRONOUSDEFINITIONPACKAGE" : {
         "ASYNCHRONOUSDEFINITION" : {
-          "TITLE" : "寮傛",
+          "TITLE" : "鏄惁寮傛",
           "DESCRIPTION" : "瀹氫箟寮傛鐨勬椿鍔�"
         }
       },
@@ -142,7 +142,7 @@
       },
       "EXCLUSIVEDEFINITIONPACKAGE" : {
         "EXCLUSIVEDEFINITION" : {
-          "TITLE" : "鐙崰浠诲姟",
+          "TITLE" : "鏄惁鐙崰浠诲姟",
           "DESCRIPTION" : "瀹氫箟鎺掑畠鐨勬椿鍔�"
         }
       },
@@ -196,10 +196,16 @@
       },
       "PRIORITYDEFINITIONPACKAGE" : {
         "PRIORITYDEFINITION" : {
-          "TITLE" : "浼樺厛绾�",
+          "TITLE" : "浠诲姟浼樺厛绾�",
           "DESCRIPTION" : "鐢ㄦ埛浠诲姟鐨勪紭鍏堢骇"
         }
       },
+      "TASKIDVARIABLENAMEPACKAGE": {
+        "TASKIDVARIABLENAME": {
+          "TITLE": "閲嶆柊瀹氫箟浠诲姟ID",
+          "DESCRIPTION": "閲嶆柊瀹氫箟浠诲姟ID锛屽皢浠ユ浠诲姟ID瑕嗙洊涔嬪墠榛樿鐨勪换鍔D"
+        }
+      },
       "SERVICETASKCLASSPACKAGE" : {
         "SERVICETASKCLASS" : {
           "TITLE" : "绫�",
@@ -2468,9 +2474,15 @@
   "PROPERTY.ASSIGNMENT.TYPE" : "绫诲瀷",
   "PROPERTY.ASSIGNMENT.TYPE.IDENTITYSTORE" : "韬唤瀛樺偍",
   "PROPERTY.ASSIGNMENT.TYPE.STATIC" : "鍥哄畾鍊�",
-  "PROPERTY.ASSIGNMENT.ASSIGNEE" : "鍒嗛厤",
+  "PROPERTY.ASSIGNMENT.ASSIGNEE" : "杈撳叆鍒嗛厤浜�",
+  "PROPERTY.ASSIGNMENT.SELECTASSIGNEE" : "閫夋嫨瑙掕壊",
   "PROPERTY.ASSIGNMENT.MATCHING" : "浣跨敤 &uparrow; 鍜� &downarrow;閫夋嫨骞舵寜Enter纭鎴栦娇鐢ㄩ紶鏍�",
-  "PROPERTY.ASSIGNMENT.ASSIGNEE_PLACEHOLDER" : "杈撳叆鍒嗛厤浜�",
+  "PROPERTY.ASSIGNMENT.ASSIGNEE_PLACEHOLDER" : "閫夋嫨鍒嗛厤浜�",
+  "PROPERTY.ASSIGNMENT.MYSELF" : "鏈汉",
+  "PROPERTY.ASSIGNMENT.DEPARTLEADER" : "閮ㄩ棬棰嗗",
+  "PROPERTY.ASSIGNMENT.CHARGEMANAGER" : "涓績璐熻矗浜�",
+  "PROPERTY.ASSIGNMENT.FINANCE" : "璐㈠姟",
+  "PROPERTY.ASSIGNMENT.PERSONNEL" : "浜轰簨琛屾斂",
   "PROPERTY.ASSIGNMENT.EMPTY" : "鐐瑰嚮閫夋嫨鍒嗛厤浜�",
   "PROPERTY.ASSIGNMENT.NONE" : "鏈垎閰嶇粡鍔炰汉",
   "PROPERTY.ASSIGNMENT.PLACEHOLDER-SEARCHUSER": "鎼滅储鐢ㄦ埛",
-- 
2.17.1