Przeglądaj źródła

Merge branch 'feature/Process.resetRange_add_script' into 'develop'

Merge of feature/【流程管理】流程重置处理人选择范围增加脚本 to develop

See merge request o2oa/o2oa!1306
蔡祥熠 5 lat temu
rodzic
commit
1c9690e8de

+ 13 - 3
o2web/source/x_component_process_ProcessDesigner/$Process/manual.html

@@ -280,9 +280,19 @@
             <tr>
                 <td class="editTableTitle">重置范围:</td>
                 <td class="editTableValue">
-                    <input class="editTableRadio" name="resetRange" text{($.resetRange=='all')?'checked':''} type="radio" value="all"/>所有人
-                    <input class="editTableRadio" name="resetRange" text{($.resetRange=='unit')?'checked':''} type="radio" value="unit"/>直接组织
-                    <input class="editTableRadio" name="resetRange" text{($.resetRange=='topUnit')?'checked':''} type="radio" value="topUnit"/>顶层组织
+                    <input class="editTableRadio" name="resetRange" text{($.resetRange=='all')?'checked':''} type="radio" value="all"
+                           onclick="if (this.checked){ $('text{$.id}resetRangeScriptTextTr').setStyle('display', 'none'); }"/>所有人
+                    <input class="editTableRadio" name="resetRange" text{($.resetRange=='unit')?'checked':''} type="radio" value="unit"
+                           onclick="if (this.checked){ $('text{$.id}resetRangeScriptTextTr').setStyle('display', 'none'); }"/>直接组织
+                    <input class="editTableRadio" name="resetRange" text{($.resetRange=='topUnit')?'checked':''} type="radio" value="topUnit"
+                           onclick="if (this.checked){ $('text{$.id}resetRangeScriptTextTr').setStyle('display', 'none'); }"/>顶层组织
+                    <input class="editTableRadio" name="resetRange" text{($.resetRange=='script')?'checked':''} type="radio" value="script"
+                           onclick="if (this.checked){ $('text{$.id}resetRangeScriptTextTr').setStyle('display', ''); }"/>脚本
+                </td>
+            </tr>
+            <tr id="text{$.id}resetRangeScriptTextTr" style="display: text{($.resetRange!=='script')?'none':''};">
+                <td colspan="2">
+                    <div class="MWFScriptText" name="resetRangeScriptText"></div>
                 </td>
             </tr>
         </table>

+ 13 - 1
o2web/source/x_component_process_Xform/Form.js

@@ -2794,11 +2794,19 @@ MWF.xApplication.process.Xform.Form = MWF.APPForm = new Class({
                 //     this.selectPeopleCompany(dlg, json.data, count)
                 // }.bind(this), null, this.businessData.task.identity);
                 break;
+            case "script" :
+                o2.Actions.load("x_processplatform_assemble_surface").ProcessAction.getActivity( this.businessData.work.activity,"manual",function (activityJson) {
+                    var scriptText = activityJson.data.activity.resetRangeScriptText;
+                    if( !scriptText )return;
+                    var resetRange = this.Macro.exec(activityJson.data.activity.resetRangeScriptText, this);
+                    this.selectPeopleUnit(dlg, "", count, resetRange);
+                }.bind(this))
+                break;
             default:
                 this.selectPeopleAll(dlg, count);
         }
     },
-    selectPeopleUnit: function (dlg, unit, count) {
+    selectPeopleUnit: function (dlg, unit, count, include) {
         var names = dlg.identityList || [];
         var areaNode = $("resetWork_selPeopleArea");
         var options = {
@@ -2817,6 +2825,10 @@ MWF.xApplication.process.Xform.Form = MWF.APPForm = new Class({
                 dlg.identityList = identityList;
             }.bind(this)
         };
+        if( include ){
+            options.noUnit = true;
+            options.include = typeOf(include)==="array" ? include : [include];
+        }
         MWF.xDesktop.requireApp("Selector", "package", function () {
             var selector = new MWF.O2Selector(this.app.content, options);
         }.bind(this));