楼主,你换种组织机构选择的方式看看:
修改【业务模型\业务系统\产品OA\信息发布\基类\信息发布】中,
注释掉function TISSUEBASICINFO.SelectRange: Boolean;方法的代码,用下面的代码替换。
需要引用资源:【业务模型\系统空间\系统运行库\系统核心库】
function TISSUEBASICINFO.SelectRange: Boolean;
var
ASourceURLs, ASelectedURLs: TStrings; //lSelectOrgURLs
lSelectOrgURLs: TOrgURLs;
lCanSelectKinds: TBizObjectKinds;
i: integer;
begin
if not RangeDataSet.Active then
RangeDataSet.Open;
ASourceURLs := TStringList.Create;
ASelectedURLs := TStringList.Create;
lSelectOrgURLs := TOrgURLs.Create;
try
//TDataSetUtils.GetDataSetIDValues(RangeDataSet, 'FRANGEURL', ASourceURLs);
ASourceURLs.Add('Org:\Root');
lCanSelectKinds := [TBizObjectKind.boOrgan, TBizObjectKind.boDept, TBizObjectKind.boPositionMember, TBizObjectKind.boPersonMember,
TBizObjectKind.boWorkGroup, TBizObjectKind.boWorkGroupMember];
{Result := TOrgSelectSearchDialog.StaticExecute(Context, ASourceURLs, TResultType.rtURLList,
ASelectedURLs, nil, DoExpendProp, Graphics.clYellow, lCanSelectKinds, True);}
Result := TSystemCore.SystemInterface.SelectOrgUnits(Context, '选择', nil, lSelectOrgURLs, False,
[TOrgUnitKind.boPersonMember, TOrgUnitKind.boWorkGroupMember]);
for i := 0 to lSelectOrgURLs.Count - 1 do
begin
ASelectedURLs.Add(lSelectOrgURLs.items.BizURL.URL);
end;
if Result then
begin
DoAddMemberToDataSet(ASelectedURLs);
ChangeRangeText;
end;
finally
ASourceURLs.Free;
ASelectedURLs.Free;
lSelectOrgURLs.Free;
end;
end; |