diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/container/EntityManagerContainer.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/container/EntityManagerContainer.java index 7378313c99e0cdadd21f042c8c95eb0ee014bb92..b4447f26b3ade580a6a8d48780533126b26d2ac4 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/container/EntityManagerContainer.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/container/EntityManagerContainer.java @@ -37,6 +37,7 @@ import com.x.base.core.entity.annotation.CheckRemoveType; import com.x.base.core.entity.annotation.RestrictFlag; import com.x.base.core.entity.tools.JpaObjectTools; import com.x.base.core.project.bean.WrapCopier; +import com.x.base.core.project.config.Config; import com.x.base.core.project.exception.ExceptionWhen; import com.x.base.core.project.gson.GsonPropertyObject; import com.x.base.core.project.tools.ListTools; @@ -156,10 +157,13 @@ public class EntityManagerContainer extends EntityManagerContainerBasic { private void checkIdFormat(JpaObject jpa) throws Exception { String value = jpa.getId(); - if (null == value || (!StringTools.UUID_REGEX.matcher(value).matches())) { - throw new Exception("check id error, class:" + jpa.getClass().getName() + ", field:id, value:" + value - + ", invalid format."); + if (StringUtils.isNotBlank(value) && ((StringUtils.isNotBlank(Config.general().getIdFormatCheckRegular()) + && value.matches(Config.general().getIdFormatCheckRegular())) + || StringTools.UUID_REGEX.matcher(value).matches())) { + return; } + throw new IllegalStateException("check id error, class:" + jpa.getClass().getName() + ", field:id, value:" + + value + ", invalid format."); } @SuppressWarnings("unchecked") diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/General.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/General.java index 4279e38d7d9b55b0f10d099e01f4e806ae471043..8acd013ea6390966e4ec2f62fd420f247f35d654 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/General.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/General.java @@ -35,6 +35,8 @@ public class General extends ConfigObject { private static final String DEFAULT_REFERERHEADCHECKREGULAR = ""; private static final String DEFAULT_ACCESSCONTROLALLOWORIGIN = ""; + private static final String DEFAULT_IDFORMATCHECKREGULAR = ""; + public static General defaultInstance() { General o = new General(); o.webSocketEnable = DEFAULT_WEBSOCKETENABLE; @@ -50,6 +52,7 @@ public class General extends ConfigObject { o.exposeJest = DEFAULT_EXPOSEJEST; o.refererHeadCheckRegular = DEFAULT_REFERERHEADCHECKREGULAR; o.accessControlAllowOrigin = DEFAULT_ACCESSCONTROLALLOWORIGIN; + o.idFormatCheckRegular = DEFAULT_IDFORMATCHECKREGULAR; o.attachmentConfig = new AttachmentConfig(); return o; } @@ -96,6 +99,13 @@ public class General extends ConfigObject { @FieldDescribe("附件上传限制大小或者类型.") private AttachmentConfig attachmentConfig; + @FieldDescribe("对象id格式校验正则表达式.") + private String idFormatCheckRegular = ""; + + public String getIdFormatCheckRegular() { + return this.idFormatCheckRegular; + } + public String getRefererHeadCheckRegular() { return (StringUtils.isBlank(refererHeadCheckRegular) ? DEFAULT_REFERERHEADCHECKREGULAR : this.refererHeadCheckRegular); diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/Message.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/Message.java index fe931c943781d2fb010b4269064f86aec1bdcf1c..0b62d4f0ea276d29e261fe8b2a36796621786257 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/Message.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/Message.java @@ -289,6 +289,7 @@ public class Message extends GsonPropertyObject { o.host = DEFAULT_HOST; o.port = DEFAULT_PORT; o.sslEnable = DEFAULT_SSLENABLE; + o.startTlsEnable = DEFAULT_STARTTLSENABLE; o.auth = DEFAULT_AUTH; o.from = DEFAULT_FROM; o.password = DEFAULT_PASSWORD; @@ -304,6 +305,7 @@ public class Message extends GsonPropertyObject { private static final String DEFAULT_HOST = ""; private static final Integer DEFAULT_PORT = 465; private static final Boolean DEFAULT_SSLENABLE = true; + private static final Boolean DEFAULT_STARTTLSENABLE = false; private static final Boolean DEFAULT_AUTH = true; private static final String DEFAULT_FROM = "admin@o2oa.net"; private static final String DEFAULT_PASSWORD = "password"; @@ -317,6 +319,9 @@ public class Message extends GsonPropertyObject { @FieldDescribe("smtp 使用ssl加密.") private Boolean sslEnable; + @FieldDescribe("smtp 启用升级到加密链接.") + private Boolean startTlsEnable; + @FieldDescribe("stmp启用认证.") private Boolean auth; @@ -338,6 +343,10 @@ public class Message extends GsonPropertyObject { return null == sslEnable ? DEFAULT_SSLENABLE : this.sslEnable; } + public Boolean getStartTlsEnable() { + return null == startTlsEnable ? DEFAULT_STARTTLSENABLE : this.startTlsEnable; + } + public Boolean getAuth() { return null == auth ? DEFAULT_AUTH : this.auth; } diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/Query.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/Query.java index 3f26db26ecfd92edf19e5e2dd2a39cf4f52b4964..9d5e667960a5be5674767ea52b05769a648297c1 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/Query.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/Query.java @@ -42,13 +42,13 @@ public class Query extends ConfigObject { private CrawlCms crawlCms; @FieldDescribe("抽取office中的文本.") - private Boolean extractOffice = true; + private Boolean extractOffice = false; @FieldDescribe("抽取pdf中的文本.") - private Boolean extractPdf = true; + private Boolean extractPdf = false; @FieldDescribe("抽取文本中的文本.") - private Boolean extractText = true; + private Boolean extractText = false; @FieldDescribe("抽取图像中的文本.") private Boolean extractImage = false; @@ -59,9 +59,9 @@ public class Query extends ConfigObject { @FieldDescribe("查询批次大小.") private Integer planQueryBatchSize = DEFAULT_PLANQUERYBATCHSIZE; - public static final Boolean DEFAULT_EXTRACTOFFICE = true; - public static final Boolean DEFAULT_EXTRACTPDF = true; - public static final Boolean DEFAULT_EXTRACTTEXT = true; + public static final Boolean DEFAULT_EXTRACTOFFICE = false; + public static final Boolean DEFAULT_EXTRACTPDF = false; + public static final Boolean DEFAULT_EXTRACTTEXT = false; public static final Boolean DEFAULT_EXTRACTIMAGE = false; public static final String DEFAULT_TESSLANGUAGE = "chi_sim"; public static final Integer DEFAULT_PLANQUERYBATCHSIZE = 500; @@ -115,7 +115,7 @@ public class Query extends ConfigObject { return o; } - public final static Boolean DEFAULT_ENABLE = true; + public final static Boolean DEFAULT_ENABLE = false; public final static String DEFAULT_CRON = "30 30 9,12,15,18 * * ?"; @@ -389,4 +389,4 @@ public class Query extends ConfigObject { public void setTessLanguage(String tessLanguage) { this.tessLanguage = tessLanguage; } -} \ No newline at end of file +} diff --git a/o2server/x_message_assemble_communicate/src/main/java/com/x/message/assemble/communicate/MailConsumeQueue.java b/o2server/x_message_assemble_communicate/src/main/java/com/x/message/assemble/communicate/MailConsumeQueue.java index 91d5b65cc0c19660eee1967fff87f1a7b99fe12f..f45bb88f345b6c9de3d3952f7f81c97c6960ff2a 100644 --- a/o2server/x_message_assemble_communicate/src/main/java/com/x/message/assemble/communicate/MailConsumeQueue.java +++ b/o2server/x_message_assemble_communicate/src/main/java/com/x/message/assemble/communicate/MailConsumeQueue.java @@ -97,6 +97,7 @@ public class MailConsumeQueue extends AbstractQueue { properties.put("mail.smtp.host", consumer.getHost()); properties.put("mail.smtp.port", consumer.getPort()); properties.put("mail.smtp.ssl.enable", consumer.getSslEnable()); + properties.put("mail.smtp.starttls.enable", consumer.getStartTlsEnable()); properties.put("mail.smtp.auth", consumer.getAuth()); Session session = Session.getInstance(properties, new javax.mail.Authenticator() { @Override diff --git a/o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/jaxrs/workcompleted/ActionRollback.java b/o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/jaxrs/workcompleted/ActionRollback.java index 63fc96e9171577aa484fdd60660568a40f1b69b8..bb0721f3d1d6fbbe0018524c91374c960bb30922 100644 --- a/o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/jaxrs/workcompleted/ActionRollback.java +++ b/o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/jaxrs/workcompleted/ActionRollback.java @@ -5,6 +5,7 @@ import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent.TimeUnit; +import com.x.processplatform.core.entity.content.*; import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.StringUtils; @@ -23,15 +24,6 @@ import com.x.base.core.project.jaxrs.WoId; import com.x.base.core.project.logger.Logger; import com.x.base.core.project.logger.LoggerFactory; import com.x.base.core.project.tools.ListTools; -import com.x.processplatform.core.entity.content.Attachment; -import com.x.processplatform.core.entity.content.Read; -import com.x.processplatform.core.entity.content.ReadCompleted; -import com.x.processplatform.core.entity.content.Review; -import com.x.processplatform.core.entity.content.TaskCompleted; -import com.x.processplatform.core.entity.content.Work; -import com.x.processplatform.core.entity.content.WorkCompleted; -import com.x.processplatform.core.entity.content.WorkLog; -import com.x.processplatform.core.entity.content.WorkStatus; import com.x.processplatform.core.entity.element.Application; import com.x.processplatform.core.entity.element.Process; import com.x.processplatform.core.entity.element.util.WorkLogTree; @@ -116,6 +108,7 @@ class ActionRollback extends BaseAction { emc.beginTransaction(Read.class); emc.beginTransaction(ReadCompleted.class); emc.beginTransaction(Review.class); + emc.beginTransaction(Record.class); Work work = createWork(business, workCompleted, workLog); emc.persist(work, CheckPersistType.all); @@ -134,6 +127,9 @@ class ActionRollback extends BaseAction { rollbackReview(business, work, nodes, emc.listEqual(Review.class, Review.job_FIELDNAME, work.getJob())); + rollbackRecord(business, work, nodes, workLog, + emc.listEqual(Record.class, Record.job_FIELDNAME, work.getJob())); + rollbackWorkLog(business, work, nodes, workLogs); rollbackAttachment(business, work, @@ -258,6 +254,20 @@ class ActionRollback extends BaseAction { } } + private void rollbackRecord(Business business, Work work, Nodes nodes, WorkLog workLog, + List list) throws Exception { + for (Record o : list) { + if (!nodes.containsWorkLogWithActivityToken(o.getFromActivityToken()) + || StringUtils.equals(o.getFromActivityToken(), workLog.getFromActivityToken())) { + business.entityManagerContainer().remove(o); + } else { + o.setCompleted(false); + o.setWorkCompleted(""); + o.setWork(work.getId()); + } + } + } + private void rollbackWorkLog(Business business, Work work, Nodes nodes, List list) throws Exception { for (WorkLog o : list) { if (!nodes.containsWorkLog(o)) { diff --git a/o2server/x_query_core_express/src/main/java/com/x/query/core/express/plan/Plan.java b/o2server/x_query_core_express/src/main/java/com/x/query/core/express/plan/Plan.java index 7feb3bbf799a3142cec966f4a01133c6c5586af9..afbf5c48b5bb79aef8d596e386a1b33da5529a5b 100644 --- a/o2server/x_query_core_express/src/main/java/com/x/query/core/express/plan/Plan.java +++ b/o2server/x_query_core_express/src/main/java/com/x/query/core/express/plan/Plan.java @@ -361,10 +361,10 @@ public abstract class Plan extends GsonPropertyObject { } public List fetchBundles() throws Exception { - // 先获取所有记录对应的job值作为返回的结果集 - List bundles = this.listBundle(); // 先进行字段调整 this.adjust(); + // 先获取所有记录对应的job值作为返回的结果集 + List bundles = this.listBundle(); this.group = this.findGroupSelectEntry(); this.orderList = this.listOrderSelectEntry(); if ((null != this.runtime.count) && (this.runtime.count > 0) && (this.runtime.count < bundles.size())) { diff --git a/o2web/source/o2_core/o2/xScript/ViewEnvironment.js b/o2web/source/o2_core/o2/xScript/ViewEnvironment.js index bc8dd74a690b522755ff74bc2682ff0e351dba3a..f4526d50d12298ab688b392f36df0e9a4489c628 100644 --- a/o2web/source/o2_core/o2/xScript/ViewEnvironment.js +++ b/o2web/source/o2_core/o2/xScript/ViewEnvironment.js @@ -125,13 +125,11 @@ * "李四@lisi@P" //人员识别名 * "cce8bc22-225a-4f85-8132-7374d546886e" //人员id * "lisi" //人员unique - * "李四" //人员名称,不重名时才有效 * * //包含下列属性的对象 * { "distinguishedName": "李四@lisi@P" } //人员识别名 * { "id": "cce8bc22-225a-4f85-8132-7374d546886e" } //人员id * { "unique": "lisi" } //人员unique - * { "name": "李四" } //人员名称,不重名时才有效 */ /** @@ -154,7 +152,7 @@ */ /** - * 在本API的this.org模块中,当使用身份作为检索参数的时候,允许使用身份的distinguishedName、name、id、unique属性值或包含这些属性的对象。 + * 在本API的this.org模块中,当使用身份作为检索参数的时候,允许使用身份的distinguishedName、id、unique属性值或包含这些属性的对象。 * @typedef {(String|Object)} IdentityFlag * @example * //以下均为合法参数 @@ -163,17 +161,15 @@ * "张三@903dbb04-085c-4bb1-9c24-3009bd5f7372@I" //身份识别名 * "903dbb04-085c-4bb1-9c24-3009bd5f7372" //身份id * "903dbb04-085c-4bb1-9c24-3009bd5f7372" //身份unique,系统默认的unique和id一致 - * "张三" //身份名称,有可能存在重名,需要精确匹配的请不要使用 * * //包含下列属性的对象 * { "distinguishedName": "张三@903dbb04-085c-4bb1-9c24-3009bd5f7372@I" } //身份识别名 * { "id": "903dbb04-085c-4bb1-9c24-3009bd5f7372" } //身份id * { "unique": "903dbb04-085c-4bb1-9c24-3009bd5f7372" } //身份unique,系统默认的unique和id一致 - * { "name": "张三" } //身份名称,有可能存在重名,需要精确匹配的请不要使用 */ /** - * 在本API的this.org模块中,当使用组织作为检索参数的时候,允许使用组织的distinguishedName、name、id、unique属性值或包含这些属性的对象。 + * 在本API的this.org模块中,当使用组织作为检索参数的时候,允许使用组织的distinguishedName、id、unique属性值或包含这些属性的对象。 * @typedef {(String|Object)} UnitFlag * @example * //以下均为合法参数 @@ -182,13 +178,11 @@ * "开发部@kfb@U" //组织标识名 * "cce8bc22-225a-4f85-8132-7374d546886e" //组织id * "kfb" //组织unique - * "开发部" //组织名称,有可能存在重名,需要精确匹配的请不要使用 * * //包含下列属性的对象 * { "distinguishedName": "开发部@kfb@U" } //组织标识名 - * { "id": "cce8bc22-225a-4f85-8132-7374d546886e" } //身份id + * { "id": "cce8bc22-225a-4f85-8132-7374d546886e" } //组织id * { "unique": "kfb" } //组织unique - * { "name": "开发部" } //组织名称,有可能存在重名,需要精确匹配的请不要使用 */ MWF.xScript = MWF.xScript || {}; @@ -768,7 +762,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory identity * @methodOf module:org * @static - * @param {IdentityFlag|IdentityFlag[]} name - 身份的distinguishedName、name、id、unique属性值,身份对象,或上述属性值和对象的数组。 + * @param {IdentityFlag|IdentityFlag[]} name - 身份的distinguishedName、id、unique属性值,身份对象,或上述属性值和对象的数组。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Promise|IdentityData|IdentityData[]} 当async为true时,返回 * {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise|Promise}。 @@ -810,7 +804,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory identity * @methodOf module:org * @static - * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、name、id、unique属性值,人员对象,或上述属性值和对象的数组。 + * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、id、unique属性值,人员对象,或上述属性值和对象的数组。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Promise|IdentityData[]} 当async为true时,返回 * {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise|Promise}。 @@ -852,7 +846,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory identity * @methodOf module:org * @static - * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、name、id、unique属性值,组织对象,或上述属性值和对象的数组。 + * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、id、unique属性值,组织对象,或上述属性值和对象的数组。 * @param {Boolean} [nested] true嵌套的所有身份成员;false直接身份成员;默认false。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Promise|IdentityData[]} 当async为true时,返回 @@ -916,7 +910,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory unit * @methodOf module:org * @static - * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、name、id、unique属性值,组织对象,或上述属性值和对象的数组。 + * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、id、unique属性值,组织对象,或上述属性值和对象的数组。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Promise|UnitData|UnitData[]} 当async为true时,返回 * {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise|Promise}。 @@ -959,7 +953,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory unit * @methodOf module:org * @static - * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、name、id、unique属性值,组织对象,或上述属性值和对象的数组。 + * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、id、unique属性值,组织对象,或上述属性值和对象的数组。 * @param {Boolean} [nested] true嵌套的所有下级组织;false直接下级组织;默认false。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Promise|UnitData[]} 当async为true时,返回 @@ -1008,7 +1002,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory unit * @methodOf module:org * @static - * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、name、id、unique属性值,组织对象,或上述属性值和对象的数组。 + * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、id、unique属性值,组织对象,或上述属性值和对象的数组。 * @param {Boolean} [nested] true嵌套的所有上级组织;false直接上级组织;默认false。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Promise|UnitData[]} 当async为true时,返回 @@ -1075,7 +1069,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory unit * @methodOf module:org * @static - * @param {IdentityFlag} name - 身份的distinguishedName、name、id、unique属性值,身份对象。 + * @param {IdentityFlag} name - 身份的distinguishedName、id、unique属性值,身份对象。 * @param {String|Number} [flag] 当值为数字的时候, 表示获取第几层的组织。
当值为字符串的时候,表示获取指定类型的组织。
当值为空的时候,表示获取直接所在组织。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Promise|UnitData|UnitData[]} 当async为true时,返回 @@ -1172,7 +1166,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory unit * @methodOf module:org * @static - * @param {IdentityFlag|IdentityFlag[]} name - 身份的distinguishedName、name、id、unique属性值,身份对象,或上述属性值和对象的数组。 + * @param {IdentityFlag|IdentityFlag[]} name - 身份的distinguishedName、id、unique属性值,身份对象,或上述属性值和对象的数组。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Promise|UnitData[]} 当async为true时,返回 * {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise|Promise}。 @@ -1213,7 +1207,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory unit * @methodOf module:org * @static - * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、name、id、unique属性值,人员对象,或上述属性值和对象的数组。 + * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、id、unique属性值,人员对象,或上述属性值和对象的数组。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Promise|UnitData[]} 当async为true时,返回 * {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise|Promise}。 @@ -1254,7 +1248,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory unit * @methodOf module:org * @static - * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、name、id、unique属性值,人员对象,或上述属性值和对象的数组。 + * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、id、unique属性值,人员对象,或上述属性值和对象的数组。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Promise|UnitData[]} 当async为true时,返回 * {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise|Promise}。 @@ -1338,7 +1332,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @methodOf module:org * @static * @param {String} dutyName 组织职务名称。 - * @param {IdentityFlag} identity 身份的distinguishedName、name、id、unique属性值,身份对象。 + * @param {IdentityFlag} identity 身份的distinguishedName、id、unique属性值,身份对象。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Promise|UnitData[]} 当async为true时,返回 * {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise|Promise}。 @@ -1420,7 +1414,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory person * @methodOf module:org * @static - * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、name、id、unique属性值,人员对象,或上述属性值和对象的数组。 + * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、id、unique属性值,人员对象,或上述属性值和对象的数组。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Promise|PersonData|PersonData[]} 当async为true时,返回 * {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise|Promise}。 @@ -1467,7 +1461,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory person * @methodOf module:org * @static - * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、name、id、unique属性值,人员对象,或上述属性值和对象的数组。 + * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、id、unique属性值,人员对象,或上述属性值和对象的数组。 * @param {Boolean} [nested] true嵌套的所有下级人员;false直接下级人员;默认false。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Promise|PersonData[]} 当async为true时,返回 @@ -1516,7 +1510,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory person * @methodOf module:org * @static - * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、name、id、unique属性值,人员对象,或上述属性值和对象的数组。 + * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、id、unique属性值,人员对象,或上述属性值和对象的数组。 * @param {Boolean} [nested] true嵌套的所有上级人员;false直接上级人员;默认false。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Promise|PersonData[]} 当async为true时,返回 @@ -1647,7 +1641,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory person * @methodOf module:org * @static - * @param {IdentityFlag|IdentityFlag[]} name - 身份的distinguishedName、name、id、unique属性值,身份对象,或上述属性值和对象的数组。 + * @param {IdentityFlag|IdentityFlag[]} name - 身份的distinguishedName、id、unique属性值,身份对象,或上述属性值和对象的数组。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Promise|PersonData[]} 当async为true时,返回 * {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise|Promise}。 @@ -1704,7 +1698,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory person * @methodOf module:org * @static - * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、name、id、unique属性值,组织对象,或上述属性值和对象的数组。 + * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、id、unique属性值,组织对象,或上述属性值和对象的数组。 * @param {Boolean} [nested] 是否嵌套获取组织以及下级组织的人员,true表示嵌套,flase表示获取直接组织。默认为false * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Promise|PersonData[]} 当async为true时,返回 @@ -1817,7 +1811,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @methodOf module:org * @static * @param {String} dutyName 组织职务名称。 - * @param {UnitFlag} unit 组织的distinguishedName、name、id、unique属性值,组织对象。 + * @param {UnitFlag} unit 组织的distinguishedName、id、unique属性值,组织对象。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Promise|IdentityData[]} 当async为true时,返回 * {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise|Promise}。 @@ -1859,7 +1853,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory duty * @methodOf module:org * @static - * @param {IdentityFlag|IdentityFlag[]} identity - 身份的distinguishedName、name、id、unique属性值,身份对象,或上述属性值和对象的数组。 + * @param {IdentityFlag|IdentityFlag[]} identity - 身份的distinguishedName、id、unique属性值,身份对象,或上述属性值和对象的数组。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Promise|String[]} 当async为true时,返回 * {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise|Promise}。 @@ -1899,7 +1893,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory duty * @methodOf module:org * @static - * @param {UnitFlag|UnitFlag[]} unit - 组织的distinguishedName、name、id、unique属性值,组织对象,或上述属性值和对象的数组。 + * @param {UnitFlag|UnitFlag[]} unit - 组织的distinguishedName、id、unique属性值,组织对象,或上述属性值和对象的数组。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Promise|String[]} 当async为true时,返回 * {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise|Promise}。 @@ -1939,7 +1933,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory duty * @methodOf module:org * @static - * @param {UnitFlag|UnitFlag[]} unit - 组织的distinguishedName、name、id、unique属性值,组织对象,或上述属性值和对象的数组。 + * @param {UnitFlag|UnitFlag[]} unit - 组织的distinguishedName、id、unique属性值,组织对象,或上述属性值和对象的数组。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Promise|Object[]} 当async为true时,返回 * {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise|Promise}。 @@ -2147,7 +2141,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory group * @methodOf module:org * @static - * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、name、id、unique属性值,人员对象,或上述属性值和对象的数组。 + * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、id、unique属性值,人员对象,或上述属性值和对象的数组。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Promise|GroupData[]} 当async为true时,返回 * {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise|Promise}。 @@ -2283,7 +2277,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory role * @methodOf module:org * @static - * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、name、id、unique属性值,人员对象,或上述属性值和对象的数组。 + * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、id、unique属性值,人员对象,或上述属性值和对象的数组。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Promise|RoleData[]} 当async为true时,返回 * {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise|Promise}。 @@ -2330,7 +2324,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory role * @methodOf module:org * @static - * @param {PersonFlag} name - 人员的distinguishedName、name、id、unique属性值,人员对象。 + * @param {PersonFlag} name - 人员的distinguishedName、id、unique属性值,人员对象。 * @param {RoleFlag|RoleFlag[]} roleList - 角色的distinguishedName、name、id、unique属性值,角色对象;或上述属性值和对象的数组。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Promise|Boolean} 当async为true时,返回 @@ -2426,7 +2420,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory personAttribute * @methodOf module:org * @static - * @param {PersonFlag} person - 人员的distinguishedName、name、id、unique属性值,人员对象。 + * @param {PersonFlag} person - 人员的distinguishedName、id、unique属性值,人员对象。 * @param {String} attr 属性名称。 * @param {String[]} values 属性值,必须为数组。 * @param {Function} [success] 执行成功的回调。 @@ -2470,7 +2464,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory personAttribute * @methodOf module:org * @static - * @param {PersonFlag} person - 人员的distinguishedName、name、id、unique属性值,人员对象。 + * @param {PersonFlag} person - 人员的distinguishedName、id、unique属性值,人员对象。 * @param {String} attr 属性名称。 * @param {String[]} values 属性值,必须为数组。 * @param {Function} [success] 执行成功的回调。 @@ -2514,7 +2508,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory personAttribute * @methodOf module:org * @static - * @param {PersonFlag} person - 人员的distinguishedName、name、id、unique属性值,人员对象。 + * @param {PersonFlag} person - 人员的distinguishedName、id、unique属性值,人员对象。 * @param {String} attr 属性名称。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {String[]} 当async为true时,返回 @@ -2557,7 +2551,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory personAttribute * @methodOf module:org * @static - * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、name、id、unique属性值,人员对象,或上述属性值和对象的数组。 + * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、id、unique属性值,人员对象,或上述属性值和对象的数组。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {String[]} 当async为true时,返回 * {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise|Promise}。 @@ -2598,7 +2592,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory personAttribute * @methodOf module:org * @static - * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、name、id、unique属性值,人员对象,或上述属性值和对象的数组。 + * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、id、unique属性值,人员对象,或上述属性值和对象的数组。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Object[]} 当async为true时,返回 * {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise|Promise}。 @@ -2647,7 +2641,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory unitAttribute * @methodOf module:org * @static - * @param {UnitFlag} unit - 组织的distinguishedName、name、id、unique属性值,组织对象。 + * @param {UnitFlag} unit - 组织的distinguishedName、id、unique属性值,组织对象。 * @param {String} attribute 属性名称。 * @param {String[]} valueArray 属性值,必须为数组。 * @param {Function} [success] 执行成功的回调。 @@ -2701,7 +2695,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory unitAttribute * @methodOf module:org * @static - * @param {UnitFlag} unit - 组织的distinguishedName、name、id、unique属性值,组织对象。 + * @param {UnitFlag} unit - 组织的distinguishedName、id、unique属性值,组织对象。 * @param {String} attribute 属性名称。 * @param {String[]} valueArray 属性值,必须为数组。 * @param {Function} [success] 执行成功的回调。 @@ -2754,7 +2748,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory unitAttribute * @methodOf module:org * @static - * @param {UnitFlag} unit - 组织的distinguishedName、name、id、unique属性值,组织对象。 + * @param {UnitFlag} unit - 组织的distinguishedName、id、unique属性值,组织对象。 * @param {String} attr 属性名称。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {String[]} 当async为true时,返回 @@ -2797,7 +2791,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory unitAttribute * @methodOf module:org * @static - * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、name、id、unique属性值,组织对象,或上述属性值和对象的数组。 + * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、id、unique属性值,组织对象,或上述属性值和对象的数组。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {String[]} 当async为true时,返回 * {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise|Promise}。 @@ -2838,7 +2832,7 @@ MWF.xScript.ViewEnvironment = function (ev) { * @o2membercategory unitAttribute * @methodOf module:org * @static - * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、name、id、unique属性值,组织对象,或上述属性值和对象的数组。 + * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、id、unique属性值,组织对象,或上述属性值和对象的数组。 * @param {(Boolean|Function)} [asyncOrCallback] 当参数为boolean,表示是否异步执行,默认为false。当参数为function,表示回调方法。 * @return {Object[]} 当async为true时,返回 * {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise|Promise}。 diff --git a/o2web/source/x_component_cms_FormDesigner/Module/Actionbar.js b/o2web/source/x_component_cms_FormDesigner/Module/Actionbar.js index 3dc170c0478ec1079348529e3d3688785c78f98b..58eada1f256129017462a00c2b82361720353f76 100644 --- a/o2web/source/x_component_cms_FormDesigner/Module/Actionbar.js +++ b/o2web/source/x_component_cms_FormDesigner/Module/Actionbar.js @@ -274,12 +274,36 @@ MWF.xApplication.cms.FormDesigner.Module.Actionbar = MWF.CMSFCActionbar = new Cl } }.bind(this)); }, + + getImagePath: function(img, iscustom){ + if( iscustom ){ + var style; + if( this.json.customIconStyle ){ + style = this.json.customIconStyle; + }else{ + style = (this.json.style || "default").indexOf("red") > -1 ? "red" : "blue"; + } + return this.path+""+this.options.style +"/custom/"+ style +"/"+ img; + }else{ + return this.path+""+this.options.style +"/tools/"+ (this.json.style || "default") +"/"+img; + } + }, + getImageOverPath: function(img_over, img, iscustom){ + if( iscustom ){ + var style_over = this.json.customIconOverStyle || "white"; + return this.path+""+this.options.style+"/custom/"+ style_over +"/"+img; + }else{ + return this.path+""+this.options.style+"/tools/"+ (this.json.style || "default") +"/"+ img_over; + } + }, setToolbars: function(tools, node){ tools.each(function(tool){ var actionNode = new Element("div", { "MWFnodetype": tool.type, - "MWFButtonImage": this.path+""+this.options.style +"/tools/"+ (this.json.style || "default") +"/"+tool.img, - "MWFButtonImageOver": this.path+""+this.options.style+"/tools/"+ (this.json.style || "default") +"/"+tool.img_over, + //"MWFButtonImage": this.path+""+this.options.style +"/tools/"+ (this.json.style || "default") +"/"+tool.img, + //"MWFButtonImageOver": this.path+""+this.options.style+"/tools/"+ (this.json.style || "default") +"/"+tool.img_over, + "MWFButtonImage": this.getImagePath(tool.img, tool.customImg), + "MWFButtonImageOver": this.getImageOverPath(tool.img_over, tool.img, tool.customImg), "title": tool.title, "MWFButtonAction": tool.action, "MWFButtonText": tool.text diff --git a/o2web/source/x_component_cms_FormDesigner/widget/ActionsEditor.js b/o2web/source/x_component_cms_FormDesigner/widget/ActionsEditor.js index b3fb46536ac7086d5a4c8048e33b2ea6122a1f64..175303798514d4fb3c27408d988c301a93ae4537 100644 --- a/o2web/source/x_component_cms_FormDesigner/widget/ActionsEditor.js +++ b/o2web/source/x_component_cms_FormDesigner/widget/ActionsEditor.js @@ -244,6 +244,7 @@ MWF.xApplication.cms.FormDesigner.widget.ActionsEditor.ButtonAction = new Class( var item = this.iconMenu.addMenuItem("", "click", function(ev){ var src = this.item.getElement("img").get("src"); _self.data.img = src.substr(src.lastIndexOf("/")+1, src.length); + _self.data.customImg = true; _self.iconNode.setStyle("background-image", "url("+src+")"); _self.editor.fireEvent("change"); ev.stopPropagation(); @@ -256,6 +257,7 @@ MWF.xApplication.cms.FormDesigner.widget.ActionsEditor.ButtonAction = new Class( var item = this.iconMenu.addMenuItem("", "click", function(ev){ var src = this.item.getElement("img").get("src"); _self.data.img = src.substr(src.lastIndexOf("/")+1, src.length); + _self.data.customImg = true; _self.iconNode.setStyle("background-image", "url("+src+")"); _self.editor.fireEvent("change"); ev.stopPropagation(); diff --git a/o2web/source/x_component_cms_Xform/Actionbar.js b/o2web/source/x_component_cms_Xform/Actionbar.js index cdaf3ea7d8e4dd6514dd753135720a1d2e036879..828470ec3155335d850b9ff48b688015305c94ca 100644 --- a/o2web/source/x_component_cms_Xform/Actionbar.js +++ b/o2web/source/x_component_cms_Xform/Actionbar.js @@ -135,6 +135,29 @@ MWF.xApplication.cms.Xform.Actionbar = MWF.CMSActionbar = new Class({ } }.bind(this)); }, + getImagePath: function(img, iscustom){ + var path = "../x_component_cms_FormDesigner/Module/Actionbar/"; + if( iscustom ){ + var style; + if( this.json.customIconStyle ){ + style = this.json.customIconStyle; + }else{ + style = (this.json.style || "default").indexOf("red") > -1 ? "red" : "blue"; + } + return path+""+this.form.options.style+"/custom/"+ style + "/" +img; + }else{ + return path+(this.options.style||"default") +"/tools/"+ (this.json.style || "default") +"/"+img + } + }, + getImageOverPath: function(img_over, img, iscustom){ + var path = "../x_component_cms_FormDesigner/Module/Actionbar/"; + if( iscustom ){ + var style_over = this.json.customIconOverStyle || "white"; + return path+""+this.form.options.style+"/custom/" + style_over + "/"+ img; + }else{ + return path+(this.options.style||"default")+"/tools/"+ (this.json.style || "default") +"/"+img_over; + } + }, setToolbars: function(tools, node, readonly, noCondition){ tools.each(function(tool){ var flag = true; @@ -162,8 +185,10 @@ MWF.xApplication.cms.Xform.Actionbar = MWF.CMSActionbar = new Class({ var actionNode = new Element("div", { "id": tool.id, "MWFnodetype": tool.type, - "MWFButtonImage": "../x_component_cms_FormDesigner/Module/Actionbar/"+(this.options.style||"default") +"/tools/"+ (this.json.style || "default") +"/"+tool.img, - "MWFButtonImageOver": "../x_component_cms_FormDesigner/Module/Actionbar/"+(this.options.style||"default")+"/tools/"+ (this.json.style || "default") +"/"+tool.img_over, + //"MWFButtonImage": "../x_component_cms_FormDesigner/Module/Actionbar/"+(this.options.style||"default") +"/tools/"+ (this.json.style || "default") +"/"+tool.img, + //"MWFButtonImageOver": "../x_component_cms_FormDesigner/Module/Actionbar/"+(this.options.style||"default")+"/tools/"+ (this.json.style || "default") +"/"+tool.img_over, + "MWFButtonImage": this.getImagePath(tool.img, tool.customImg), + "MWFButtonImageOver": this.getImageOverPath(tool.img_over, tool.img, tool.customImg), "title": tool.title, "MWFButtonAction": tool.action, "MWFButtonText": tool.text diff --git a/o2web/source/x_component_process_Application/$Main/default/view/snap/list_title.html b/o2web/source/x_component_process_Application/$Main/default/view/snap/list_title.html index be1103c5961bc1d28b099612f8a8956cf4313633..15e8203cf65d3477bdccfab7ba17c078aef7ac99 100644 --- a/o2web/source/x_component_process_Application/$Main/default/view/snap/list_title.html +++ b/o2web/source/x_component_process_Application/$Main/default/view/snap/list_title.html @@ -15,7 +15,7 @@
+ data-o2-events="click:selectAll">
diff --git a/o2web/source/x_component_process_Application/$Main/default/view/taskDone/list.html b/o2web/source/x_component_process_Application/$Main/default/view/taskDone/list.html index bb5e583a54a802c91a912714b6eed2f839daceb5..52d2e5325fcb781986abaa92e2f835f88fd6a5a8 100644 --- a/o2web/source/x_component_process_Application/$Main/default/view/taskDone/list.html +++ b/o2web/source/x_component_process_Application/$Main/default/view/taskDone/list.html @@ -6,6 +6,7 @@ + @@ -22,6 +23,7 @@ {{$.processName}} + {{$.activityName}} {{$.creatorPersonName}} {{$.creatorUnitName}} {{$.startTime}} diff --git a/o2web/source/x_component_process_Application/$Main/default/view/taskDone/list_title.html b/o2web/source/x_component_process_Application/$Main/default/view/taskDone/list_title.html index d9e91c16c2c62b07b6cae99b550728ab1649533a..639582242984d2381f9c969dcc1f2cc8e54119e7 100644 --- a/o2web/source/x_component_process_Application/$Main/default/view/taskDone/list_title.html +++ b/o2web/source/x_component_process_Application/$Main/default/view/taskDone/list_title.html @@ -5,6 +5,7 @@ + @@ -12,6 +13,7 @@ {{$.lp.subject}} {{$.lp.process}} + {{$.lp.activity}} {{$.lp.creator}} {{$.lp.createunit}} {{$.lp.startTime}} diff --git a/o2web/source/x_component_process_Application/Main.js b/o2web/source/x_component_process_Application/Main.js index e8dd2ef499270644af901b98edbac63af3f0b324..1f1022f38d987d51908322daa6c7206771fec633 100644 --- a/o2web/source/x_component_process_Application/Main.js +++ b/o2web/source/x_component_process_Application/Main.js @@ -13,12 +13,18 @@ MWF.xApplication.process.Application.Main = new Class({ "icon": "icon.png", "application": "", "id": "", + "navi" : "all", "title": MWF.xApplication.process.Application.LP.title }, onQueryLoad: function(){ this.lp = MWF.xApplication.process.Application.LP; this.action = o2.Actions.load("x_processplatform_assemble_surface"); - if (this.status) this.options.id = this.status.id; + if (this.status) { + this.options.id = this.status.id; + if(this.status.navi){ + this.options.navi = this.status.navi; + } + } this._loadCss(); }, loadApplication: function(callback){ @@ -30,7 +36,7 @@ MWF.xApplication.process.Application.Main = new Class({ var url = this.path+this.options.style+"/view/view.html"; this.content.loadHtml(url, {"bind": {"acl":this.acl,"lp": this.lp,"data":{"application" : this.application}}, "module": this}, function(){ this.setLayout(); - this.loadList("all"); + this.loadList(this.options.navi); if (callback) callback(); }.bind(this)); } @@ -1309,17 +1315,15 @@ MWF.xApplication.process.Application.Toolbar = new Class({ }); }else { - _self.action.WorkAction.manageDelete( data.id , function(){ + _self.action.WorkAction.delete( data.id , function(){ count++; if( dataList.length == count ){ _self.app.notice("成功删除"+count+"个工作。"); _self.explorer.refresh(); } }); - } - }.bind(this)); this.close(); diff --git a/o2web/source/x_component_process_FormDesigner/Module/Actionbar.js b/o2web/source/x_component_process_FormDesigner/Module/Actionbar.js index e0b8a287f52f7f7bd2911f22a18aa6d1954dd02e..2614622e4399989c597379a1298cdb9e0e193990 100644 --- a/o2web/source/x_component_process_FormDesigner/Module/Actionbar.js +++ b/o2web/source/x_component_process_FormDesigner/Module/Actionbar.js @@ -247,17 +247,32 @@ MWF.xApplication.process.FormDesigner.Module.Actionbar = MWF.FCActionbar = new C } }.bind(this)); }, + getImagePath: function(img, iscustom){ + if( iscustom ){ + var path = this.json.customIconStyle ? (this.json.customIconStyle+ "/") : ""; + return this.path+""+this.options.style +"/custom/"+path+img + }else{ + return this.path+""+this.options.style+"/tools/"+(this.json.style || "default")+"/"+img; + } + }, + getImageOverPath: function(img, iscustom){ + if( iscustom && this.json.customIconOverStyle ){ + return this.path+""+this.options.style +"/custom/"+this.json.customIconOverStyle+ "/" +img; + }else{ + return this.path+""+this.options.style+"/tools/"+this.json.iconOverStyle+"/"+img; + } + }, setToolbars: function(tools, node){ tools.each(function(tool){ var actionNode = new Element("div", { "MWFnodetype": tool.type, - "MWFButtonImage": this.path+""+this.options.style+"/tools/"+(this.json.style || "default")+"/"+tool.img, + "MWFButtonImage": this.getImagePath(tool.img, tool.customImg), "title": tool.title, "MWFButtonAction": tool.action, "MWFButtonText": tool.text }).inject(node); if( this.json.iconOverStyle ){ - actionNode.set("MWFButtonImageOver" , this.path+""+this.options.style+"/tools/"+this.json.iconOverStyle+"/"+tool.img ); + actionNode.set("MWFButtonImageOver" , this.getImageOverPath(tool.img, tool.customImg) ); } actionNode.isSystemTool = true; this.systemTools.push(actionNode); diff --git a/o2web/source/x_component_process_FormDesigner/widget/ActionsEditor.js b/o2web/source/x_component_process_FormDesigner/widget/ActionsEditor.js index 47a3a06f59a3952136623183bc1c9a67b0157591..0314b9665089a22c304b35ec5bd8c6916d02bc91 100644 --- a/o2web/source/x_component_process_FormDesigner/widget/ActionsEditor.js +++ b/o2web/source/x_component_process_FormDesigner/widget/ActionsEditor.js @@ -363,6 +363,7 @@ MWF.xApplication.process.FormDesigner.widget.ActionsEditor.ButtonAction = new Cl var item = this.iconMenu.addMenuItem("", "click", function(ev){ var src = this.item.getElement("img").get("src"); _self.data.img = src.substr(src.lastIndexOf("/")+1, src.length); + _self.data.customImg = true; _self.iconNode.setStyle("background-image", "url("+src+")"); _self.editor.fireEvent("change"); ev.stopPropagation(); diff --git a/o2web/source/x_component_process_Xform/Actionbar.js b/o2web/source/x_component_process_Xform/Actionbar.js index cf2be4eb8a5fab582b007b46bc39b76bfb36c0ea..f1268318655d3e189b32f763c0854d77fdc85471 100644 --- a/o2web/source/x_component_process_Xform/Actionbar.js +++ b/o2web/source/x_component_process_Xform/Actionbar.js @@ -201,6 +201,23 @@ MWF.xApplication.process.Xform.Actionbar = MWF.APPActionbar = new Class( }.bind(this)); }, + getImagePath: function(img, iscustom){ + var path = "../x_component_process_FormDesigner/Module/Actionbar/"; + if( iscustom ){ + var iconPath = this.json.customIconStyle ? (this.json.customIconStyle+ "/") : ""; + return path+""+this.form.options.style+"/custom/"+iconPath+img; + }else{ + return path+(this.options.style||"default") +"/tools/"+ (this.json.style || "default") +"/"+img; + } + }, + getImageOverPath: function(img, iscustom){ + var path = "../x_component_process_FormDesigner/Module/Actionbar/"; + if( iscustom && this.json.customIconOverStyle ){ + return path+""+this.form.options.style +"/custom/"+this.json.customIconOverStyle+ "/" +img + }else{ + return path+""+(this.options.style||"default")+"/tools/"+( this.json.iconOverStyle || "default" )+"/"+img; + } + }, setToolbarItem: function(tool, node, readonly, noCondition){ var path = "../x_component_process_FormDesigner/Module/Actionbar/"; var flag = true; @@ -235,13 +252,13 @@ MWF.xApplication.process.Xform.Actionbar = MWF.APPActionbar = new Class( "id": tool.id, "MWFnodetype": tool.type, //"MWFButtonImage": this.form.path+""+this.form.options.style+"/actionbar/"+tool.img, - "MWFButtonImage": path+(this.options.style||"default") +"/tools/"+ (this.json.style || "default") +"/"+tool.img, + "MWFButtonImage": this.getImagePath(tool.img, tool.customImg), "title": tool.title, "MWFButtonAction": tool.action, "MWFButtonText": tool.text }).inject(node); if( this.json.iconOverStyle ){ - actionNode.set("MWFButtonImageOver" , path+""+(this.options.style||"default")+"/tools/"+( this.json.iconOverStyle || "default" )+"/"+tool.img ); + actionNode.set("MWFButtonImageOver" , this.getImageOverPath(tool.img, tool.customImg) ); } if( tool.properties ){ actionNode.set(tool.properties); diff --git a/o2web/source/x_component_process_Xform/Htmleditor.js b/o2web/source/x_component_process_Xform/Htmleditor.js index eac9234e6bb55a9e7c4d197ddb62eee25ee6ac06..d4df924d50d4ca1bc85de4b2794fb9803d105f62 100644 --- a/o2web/source/x_component_process_Xform/Htmleditor.js +++ b/o2web/source/x_component_process_Xform/Htmleditor.js @@ -82,8 +82,9 @@ MWF.xApplication.process.Xform.Htmleditor = MWF.APPHtmleditor = new Class( this.fireEvent("afterLoad"); this.fieldModuleLoaded = true; } - }.bind(this)) + }.bind(this)); } + this.node.loadCss("../o2_lib/htmleditor/ckeditor4161/contents.css"); }else{ var config = Object.clone(this.json.editorProperties); if (this.json.config){ diff --git a/o2web/source/x_component_process_Xform/widget/OOXML.js b/o2web/source/x_component_process_Xform/widget/OOXML.js index a592e777109ee106d90a76701265abf20d394792..c427145edd367bc6cac4525c737b679f7c11b1bc 100644 --- a/o2web/source/x_component_process_Xform/widget/OOXML.js +++ b/o2web/source/x_component_process_Xform/widget/OOXML.js @@ -1080,9 +1080,11 @@ o2.xApplication.process.Xform.widget.OOXML.WordprocessingML = o2.OOXML.WML = new var bg = table.getStyle("background-color"); if (bg && bg!=="transparent"){ bg = this.getColorHex(bg); - var oo_shd = this.createEl(oo_doc, "shd"); - this.setAttrs(oo_shd, {"val": "clear", "color": "auto", "fill": bg}); - oo_tblPr.appendChild(oo_shd); + if (bg!=="transparent"){ + var oo_shd = this.createEl(oo_doc, "shd"); + this.setAttrs(oo_shd, {"val": "clear", "color": "auto", "fill": bg}); + oo_tblPr.appendChild(oo_shd); + } } @@ -1198,9 +1200,11 @@ o2.xApplication.process.Xform.widget.OOXML.WordprocessingML = o2.OOXML.WML = new var bg = td.getStyle("background-color"); if (bg && bg!=="transparent"){ bg = this.getColorHex(bg); - var oo_shd = this.createEl(oo_doc, "shd"); - this.setAttrs(oo_shd, {"val": "clear", "color": "auto", "fill": bg}); - oo_tcPr.appendChild(oo_shd); + if (bg!=="transparent"){ + var oo_shd = this.createEl(oo_doc, "shd"); + this.setAttrs(oo_shd, {"val": "clear", "color": "auto", "fill": bg}); + oo_tcPr.appendChild(oo_shd); + } } //单元格边距 diff --git a/o2web/source/x_component_query_Query/$Viewer/default/css.wcss b/o2web/source/x_component_query_Query/$Viewer/default/css.wcss index 022a05be0a0edfc319a9f41f666b2112184ca6e5..2dd751f1740b8817f658dc3fb15f2ecd6c28d02b 100644 --- a/o2web/source/x_component_query_Query/$Viewer/default/css.wcss +++ b/o2web/source/x_component_query_Query/$Viewer/default/css.wcss @@ -139,7 +139,7 @@ "overflow": "hidden", "float": "right", "cursor": "pointer", - "background": "url(../x_component_process_Application/$Viewer/default/icon/search.png) center center no-repeat", + "background": "url(../x_component_query_Query/$Viewer/default/icon/search.png) center center no-repeat", }, "searchSimpleInputNode": { "border": "0px", @@ -182,7 +182,7 @@ "viewFilterSearchIconNode": { "height": "24px", "width": "40px", - "background": "url("+"../x_component_process_Application/$Viewer/default/icon/search.png) center center no-repeat", + "background": "url("+"../x_component_query_Query/$Viewer/default/icon/search.png) center center no-repeat", "float": "right", "cursor": "pointer" }, @@ -203,7 +203,7 @@ "width": "20px", "height": "80px", "float": "right", - "background": "url("+"../x_component_process_Application/$Viewer/default/icon/back.png) center 5px no-repeat", + "background": "url("+"../x_component_query_Query/$Viewer/default/icon/back.png) center 5px no-repeat", "cursor": "pointer" }, "viewFilterSearchCustomContentNode": { @@ -237,7 +237,7 @@ "cursor": "pointer" }, "viewFilterSearchCustomAddIconNode": { - "background": "url("+"../x_component_process_Application/$Viewer/default/icon/right.png) center center no-repeat", + "background": "url("+"../x_component_query_Query/$Viewer/default/icon/right.png) center center no-repeat", "height": "80px" }, "viewFilterSearchCustomFilterContentNode": { @@ -325,11 +325,11 @@ "viewSearchFilterDeleteNode": { "width": "20px", "height": "19px", - "background": "url("+"../x_component_process_Application/$Viewer/default/icon/delFilter.png) center center no-repeat", + "background": "url("+"../x_component_query_Query/$Viewer/default/icon/delFilter.png) center center no-repeat", "float": "left" }, "viewSearchFilterDeleteNode_over": { - "background": "url("+"../x_component_process_Application/$Viewer/default/icon/delFilter_over.png) center center no-repeat" + "background": "url("+"../x_component_query_Query/$Viewer/default/icon/delFilter_over.png) center center no-repeat" }, "contentAreaNode": { //"padding": "0px 20px", @@ -361,7 +361,7 @@ "viewLoadingIconNode": { "height": "26px", "width": "28px", - "background": "url("+"../x_component_process_Application/$Viewer/default/icon/loading.gif) center center no-repeat", + "background": "url("+"../x_component_query_Query/$Viewer/default/icon/loading.gif) center center no-repeat", "float": "left" }, "viewLoadingTextNode": { @@ -433,7 +433,7 @@ "width": "20px", "height": "20px", "float": "right", - "background": "url("+"../x_component_process_Application/$Viewer/default/icon/close.png) center center no-repeat", + "background": "url("+"../x_component_query_Query/$Viewer/default/icon/close.png) center center no-repeat", "cursor": "pointer" }, "worksAreaContentNode": { diff --git a/o2web/source/x_component_query_Query/$Viewer/select/css.wcss b/o2web/source/x_component_query_Query/$Viewer/select/css.wcss index 9ffe52f341ba789699fa156f03c598e376e45a1a..7daaa7fa9c847f6470a736981532343b3b66711b 100644 --- a/o2web/source/x_component_query_Query/$Viewer/select/css.wcss +++ b/o2web/source/x_component_query_Query/$Viewer/select/css.wcss @@ -136,7 +136,7 @@ "overflow": "hidden", "float": "right", "cursor": "pointer", - "background": "url(../x_component_process_Application/$Viewer/default/icon/search.png) center center no-repeat", + "background": "url(../x_component_query_Query/$Viewer/default/icon/search.png) center center no-repeat", }, "searchSimpleInputNode": { "border": "0px", @@ -179,7 +179,7 @@ "viewFilterSearchIconNode": { "height": "24px", "width": "40px", - "background": "url("+"../x_component_process_Application/$Viewer/default/icon/search.png) center center no-repeat", + "background": "url("+"../x_component_query_Query/$Viewer/default/icon/search.png) center center no-repeat", "float": "right", "cursor": "pointer" }, @@ -200,7 +200,7 @@ "width": "20px", "height": "80px", "float": "right", - "background": "url("+"../x_component_process_Application/$Viewer/default/icon/back.png) center 5px no-repeat", + "background": "url("+"../x_component_query_Query/$Viewer/default/icon/back.png) center 5px no-repeat", "cursor": "pointer" }, "viewFilterSearchCustomContentNode": { @@ -234,7 +234,7 @@ "cursor": "pointer" }, "viewFilterSearchCustomAddIconNode": { - "background": "url("+"../x_component_process_Application/$Viewer/default/icon/right.png) center center no-repeat", + "background": "url("+"../x_component_query_Query/$Viewer/default/icon/right.png) center center no-repeat", "height": "80px" }, "viewFilterSearchCustomFilterContentNode": { @@ -323,11 +323,11 @@ "viewSearchFilterDeleteNode": { "width": "20px", "height": "19px", - "background": "url("+"../x_component_process_Application/$Viewer/default/icon/delFilter.png) center center no-repeat", + "background": "url("+"../x_component_query_Query/$Viewer/default/icon/delFilter.png) center center no-repeat", "float": "left" }, "viewSearchFilterDeleteNode_over": { - "background": "url("+"../x_component_process_Application/$Viewer/default/icon/delFilter_over.png) center center no-repeat" + "background": "url("+"../x_component_query_Query/$Viewer/default/icon/delFilter_over.png) center center no-repeat" }, "contentAreaNode": { //"padding": "0px 20px", @@ -359,7 +359,7 @@ "viewLoadingIconNode": { "height": "26px", "width": "28px", - "background": "url("+"../x_component_process_Application/$Viewer/default/icon/loading.gif) center center no-repeat", + "background": "url("+"../x_component_query_Query/$Viewer/default/icon/loading.gif) center center no-repeat", "float": "left" }, "viewLoadingTextNode": { @@ -431,7 +431,7 @@ "width": "20px", "height": "20px", "float": "right", - "background": "url("+"../x_component_process_Application/$Viewer/default/icon/close.png) center center no-repeat", + "background": "url("+"../x_component_query_Query/$Viewer/default/icon/close.png) center center no-repeat", "cursor": "pointer" }, "worksAreaContentNode": { diff --git a/o2web/source/x_component_query_Query/Statement.js b/o2web/source/x_component_query_Query/Statement.js index 61beb83e751aa56964d2f86f039e0f17c7dbdfa8..b245fadcf405de81408a4a32c81c3a7a3fe31cea 100644 --- a/o2web/source/x_component_query_Query/Statement.js +++ b/o2web/source/x_component_query_Query/Statement.js @@ -688,9 +688,12 @@ MWF.xApplication.query.Query.Statement = MWF.QStatement = new Class({ if ((/(^[1-9]\d*$)/.test(p))) p = p.toInt(); if (obj[p]) { obj = obj[p]; - } else { + } else if(obj[p] === undefined || obj[p] === null) { obj = ""; break; + } else { + obj = obj[p]; + break; } } return obj diff --git a/o2web/source/x_component_systemconfig/public/lp/en.js b/o2web/source/x_component_systemconfig/public/lp/en.js index c7b1d434c4fe85c0d7737359cb050f9f5fd71f96..e9bd5ff47132385058312fae33bc3827aa75d183 100644 --- a/o2web/source/x_component_systemconfig/public/lp/en.js +++ b/o2web/source/x_component_systemconfig/public/lp/en.js @@ -289,7 +289,7 @@ o2.xApplication.systemconfig.LP = { "initialPasswordType": { "mobileScript": "return person.getMobile().slice(-6)", "uniqueScript": "return person.getunique().slice(-6)", - "employeesScript": "return person.getEmployee()", + "employeeScript": "return person.getEmployee()", "pinyinScript": "return person.getPinyin()", "textInfo": "在下面的输入框中输入的密码,将作为新创建用户的初始密码。", 'scriptInfo': "在下面的编辑器中输入脚本,返回一个字符串值,作为新创建用户的初始密码。您可以使用person对象获取人员相关信息。如将人员姓名全拼作为初始密码,可使用脚本:return person.getPinyin()" @@ -583,8 +583,8 @@ o2.xApplication.systemconfig.LP = { "saveDatabaseConfigSuccess": "数据库配置保存成功,请重启服务器", "saveEntityConfigSuccess": "实体类配置保存成功,请重启服务器", - "dumpRestoreTools": "数据库备份回复工具", - "toolsInfo": "O2OA提供了数据备份和回复工具,修改数据库配置在大部分情况下都会影响到系统现有数据," + + "dumpRestoreTools": "数据库备份恢复工具", + "toolsInfo": "O2OA提供了数据备份和恢复工具,修改数据库配置在大部分情况下都会影响到系统现有数据," + "所以在修改数据库配置之前,建议您先使用O2OA的备份功能将系统数据进行备份,在修改完数据库配置后重启服务器,然后将备份的数据恢复到数据库。
" + "在您进行备份或恢复数据时,请勿离开本页面。您可以在另一个浏览器窗口中进行其它操作", @@ -1392,7 +1392,8 @@ o2.xApplication.systemconfig.LP = { "key": "通道名称", "type": "类型", "filter": "过滤器", - "loader": "加载器" + "loader": "加载器", + "startTlsEnable": "升级传输加密" }, "none": "无", "editConsumer": "编辑消息通道", @@ -1404,7 +1405,7 @@ o2.xApplication.systemconfig.LP = { "kafka": ['bootstrapServers', 'topic', 'securityProtocol', 'saslMechanism', 'saslMechanism', 'username', 'password'], "activemq": ['url', 'queueName', 'username', 'password'], "restful": ['url', 'method', 'internal'], - "mail": ['host', 'port', 'sslEnable', 'auth', 'from', 'password'], + "mail": ['host', 'port', 'sslEnable', 'auth', 'startTlsEnable', 'from', 'password'], "jdbc": ['driverClass', 'url', 'catalog', 'schema', 'table', 'username', 'password'], "table": ['table'], "hadoop": ['fsDefaultFS', 'path', 'username'] diff --git a/o2web/source/x_component_systemconfig/public/lp/zh-cn.js b/o2web/source/x_component_systemconfig/public/lp/zh-cn.js index 98a24f78cf0873fbe09800e7c7549468e1fbdf91..5bd93f81eb73ade34725effa6c4d95e354fcd50c 100644 --- a/o2web/source/x_component_systemconfig/public/lp/zh-cn.js +++ b/o2web/source/x_component_systemconfig/public/lp/zh-cn.js @@ -288,8 +288,8 @@ o2.xApplication.systemconfig.LP = { }, "initialPasswordType": { "mobileScript": "return person.getMobile().slice(-6)", - "uniqueScript": "return person.getunique().slice(-6)", - "employeesScript": "return person.getEmployee()", + "uniqueScript": "return person.getUnique().slice(-6)", + "employeeScript": "return person.getEmployee()", "pinyinScript": "return person.getPinyin()", "textInfo": "在下面的输入框中输入的密码,将作为新创建用户的初始密码。", 'scriptInfo': "在下面的编辑器中输入脚本,返回一个字符串值,作为新创建用户的初始密码。您可以使用person对象获取人员相关信息。如将人员姓名全拼作为初始密码,可使用脚本:return person.getPinyin()" @@ -583,8 +583,8 @@ o2.xApplication.systemconfig.LP = { "saveDatabaseConfigSuccess": "数据库配置保存成功,请重启服务器", "saveEntityConfigSuccess": "实体类配置保存成功,请重启服务器", - "dumpRestoreTools": "数据库备份回复工具", - "toolsInfo": "O2OA提供了数据备份和回复工具,修改数据库配置在大部分情况下都会影响到系统现有数据," + + "dumpRestoreTools": "数据库备份恢复工具", + "toolsInfo": "O2OA提供了数据备份和恢复工具,修改数据库配置在大部分情况下都会影响到系统现有数据," + "所以在修改数据库配置之前,建议您先使用O2OA的备份功能将系统数据进行备份,在修改完数据库配置后重启服务器,然后将备份的数据恢复到数据库。
" + "在您进行备份或恢复数据时,请勿离开本页面。您可以在另一个浏览器窗口中进行其它操作", @@ -1393,7 +1393,8 @@ o2.xApplication.systemconfig.LP = { "key": "通道名称", "type": "类型", "filter": "过滤器", - "loader": "加载器" + "loader": "加载器", + "startTlsEnable": "升级传输加密" }, "none": "无", "editConsumer": "编辑消息通道", @@ -1405,7 +1406,7 @@ o2.xApplication.systemconfig.LP = { "kafka": ['bootstrapServers', 'topic', 'securityProtocol', 'saslMechanism', 'saslMechanism', 'username', 'password'], "activemq": ['url', 'queueName', 'username', 'password'], "restful": ['url', 'method', 'internal'], - "mail": ['host', 'port', 'sslEnable', 'auth', 'from', 'password'], + "mail": ['host', 'port', 'sslEnable', 'auth', 'startTlsEnable', 'from', 'password'], "jdbc": ['driverClass', 'url', 'catalog', 'schema', 'table', 'username', 'password'], "table": ['table'], "hadoop": ['fsDefaultFS', 'path', 'username'] diff --git a/o2web/source/x_component_systemconfig/src/components/content/SecurityPasswordConfig/PersonPassword.vue b/o2web/source/x_component_systemconfig/src/components/content/SecurityPasswordConfig/PersonPassword.vue index d1f1dcbabc21096ca9a60313ed6912af03ae1130..b27133ec9e660079794e7e5135905d1680a62abb 100644 --- a/o2web/source/x_component_systemconfig/src/components/content/SecurityPasswordConfig/PersonPassword.vue +++ b/o2web/source/x_component_systemconfig/src/components/content/SecurityPasswordConfig/PersonPassword.vue @@ -4,12 +4,12 @@
{{lp._passwordConfig.newPersonPassword}}
{{lp._passwordConfig.newPersonPasswordInfo}}
- +
{{lp._passwordConfig.initialPasswordType.textInfo}}
- +
@@ -182,6 +182,7 @@ const savePasswordRuleConfig = async ()=>{ } const saveInitialPasswordConfig = async (type) => { + initialPasswordType.value = type; personData.value.extension.initialPasswordType = type || initialPasswordType.value; switch (initialPasswordType.value) { case 'text': diff --git a/o2web/source/x_component_systemconfig/src/components/content/ServerMessageConfig/ConsumerConfig.vue b/o2web/source/x_component_systemconfig/src/components/content/ServerMessageConfig/ConsumerConfig.vue index f1dcd6c48ac0746bafbaf0acb9e6e4b5eaa1d909..7de0ac261456248e51e277ab3ad868491f93d5bf 100644 --- a/o2web/source/x_component_systemconfig/src/components/content/ServerMessageConfig/ConsumerConfig.vue +++ b/o2web/source/x_component_systemconfig/src/components/content/ServerMessageConfig/ConsumerConfig.vue @@ -62,6 +62,7 @@ +
diff --git a/o2web/source/x_component_systemconfig/src/components/content/ServerMessageConfig/MessageTypeConfig.vue b/o2web/source/x_component_systemconfig/src/components/content/ServerMessageConfig/MessageTypeConfig.vue index 7b343861fdc0ae0f133502789a78b6fc164a1f61..a34f994e654a02bd1e9b5b250e23421ace5385bc 100644 --- a/o2web/source/x_component_systemconfig/src/components/content/ServerMessageConfig/MessageTypeConfig.vue +++ b/o2web/source/x_component_systemconfig/src/components/content/ServerMessageConfig/MessageTypeConfig.vue @@ -134,6 +134,7 @@ + diff --git a/o2web/source/x_component_systemconfig/src/components/content/ServerServersConfig/ServerTaskConfig.vue b/o2web/source/x_component_systemconfig/src/components/content/ServerServersConfig/ServerTaskConfig.vue index 6ba97ce14b2cd0e416cf8c4e1a17fe395e5b3ea9..069ba1c77aad9859930f7b5ae000b3cf9dc7d4fc 100644 --- a/o2web/source/x_component_systemconfig/src/components/content/ServerServersConfig/ServerTaskConfig.vue +++ b/o2web/source/x_component_systemconfig/src/components/content/ServerServersConfig/ServerTaskConfig.vue @@ -61,7 +61,7 @@ type="textarea" :input-style="{width: '310px'}" :options="{rows: 2, spellcheck: false, style: 'word-break: break-all;'}" - @changeConfig="(value)=>{const v = value.split(/\s*,\s*/g); generalData.attachmentConfig.fileTypeIncludes=v; saveConfig('general', 'attachmentConfig.fileTypeIncludes', v)}" + @changeConfig="(value)=>{const v = (value && !Array.isArray(value)) ? value.split(/\s*,\s*/g): (value||[]); generalData.attachmentConfig.fileTypeIncludes=v; saveConfig('general', 'attachmentConfig.fileTypeIncludes', v)}" >
{{lp._serversConfig.fileTypeIncludesInfo}}
@@ -76,7 +76,7 @@ type="textarea" :input-style="{width: '310px'}" :options="{rows: 2, spellcheck: false, style: 'word-break: break-all;'}" - @changeConfig="(value)=>{const v = value.split(/\s*,\s*/g); generalData.attachmentConfig.fileTypeExcludes=v; saveConfig('general', 'attachmentConfig.fileTypeExcludes', v)}" + @changeConfig="(value)=>{const v = (value && !Array.isArray(value)) ? value.split(/\s*,\s*/g): (value||[]); generalData.attachmentConfig.fileTypeExcludes=v; saveConfig('general', 'attachmentConfig.fileTypeExcludes', v)}" >
{{lp._serversConfig.fileTypeExcludesInfo}}
@@ -124,7 +124,7 @@ :config="generalData.scriptingBlockedClasses" :allowEditor="true" type="textarea" - @changeConfig="(value)=>{generalData.scriptingBlockedClasses=value; saveConfig('general', 'scriptingBlockedClasses', value.split(/\s*,\s*/g))}" + @changeConfig="(value)=>{const v = (value && !Array.isArray(value)) ? value.split(/\s*,\s*/g): (value||[]); generalData.scriptingBlockedClasses=v; saveConfig('general', 'scriptingBlockedClasses', v)}" > [ value1, value2 ] @@ -1018,7 +1018,7 @@ bind.org = { * @o2membercategory personAttribute * @methodOf module:server.org * @static - * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、name、id、unique属性值,人员对象,或上述属性值和对象的数组。 + * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、id、unique属性值,人员对象,或上述属性值和对象的数组。 * @return {String[]} 返回人员属性名称数组, * 如:
[ attributeName1, attributeName2 ]
* @o2syntax @@ -1058,7 +1058,7 @@ bind.org = { * @o2membercategory identity * @methodOf module:server.org * @static - * @param {IdentityFlag|IdentityFlag[]} name - 身份的distinguishedName、name、id、unique属性值,身份对象,或上述属性值和对象的数组。 + * @param {IdentityFlag|IdentityFlag[]} name - 身份的distinguishedName、id、unique属性值,身份对象,或上述属性值和对象的数组。 * @return {IdentityData|IdentityData[]} 返回身份,单个是Object,多个是Array。 * @o2ActionOut x_organization_assemble_express.IdentityAction.listObject|example=Identity|ignoreNoDescr=true|ignoreProps=[woUnitDutyList,woUnit,woGroupList] * @o2syntax @@ -1080,7 +1080,7 @@ bind.org = { * @o2membercategory identity * @methodOf module:server.org * @static - * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、name、id、unique属性值,人员对象,或上述属性值和对象的数组。 + * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、id、unique属性值,人员对象,或上述属性值和对象的数组。 * @return {IdentityData[]} 返回身份对象数组。 * @o2ActionOut x_organization_assemble_express.IdentityAction.listWithPersonObject|example=Identity * @o2syntax @@ -1100,7 +1100,7 @@ bind.org = { * @o2membercategory identity * @methodOf module:server.org * @static - * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、name、id、unique属性值,组织对象,或上述属性值和对象的数组。 + * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、id、unique属性值,组织对象,或上述属性值和对象的数组。 * @param {Boolean} [nested] true嵌套的所有身份成员;false直接身份成员;默认false。 * @return {IdentityData[]} 返回身份对象数组。 * @o2ActionOut x_organization_assemble_express.IdentityAction.listWithUnitSubNestedObject|example=Identity @@ -1130,7 +1130,7 @@ bind.org = { * @o2membercategory unit * @methodOf module:server.org * @static - * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、name、id、unique属性值,组织对象,或上述属性值和对象的数组。 + * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、id、unique属性值,组织对象,或上述属性值和对象的数组。 * @return {UnitData|UnitData[]} 单个是Object,多个是Array。 * @o2ActionOut x_organization_assemble_express.UnitAction.listObject|example=Unit * @o2syntax @@ -1153,7 +1153,7 @@ bind.org = { * @o2membercategory unit * @methodOf module:server.org * @static - * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、name、id、unique属性值,组织对象,或上述属性值和对象的数组。 + * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、id、unique属性值,组织对象,或上述属性值和对象的数组。 * @param {Boolean} [nested] true嵌套的所有下级组织;false直接下级组织;默认false。 * @return {UnitData[]} 返回组织数组。 * @o2ActionOut x_organization_assemble_express.UnitAction.listWithUnitSubNestedObject|example=Unit @@ -1179,7 +1179,7 @@ bind.org = { * @o2membercategory unit * @methodOf module:server.org * @static - * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、name、id、unique属性值,组织对象,或上述属性值和对象的数组。 + * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、id、unique属性值,组织对象,或上述属性值和对象的数组。 * @param {Boolean} [nested] true嵌套的所有上级组织;false直接上级组织;默认false。 * @return {UnitData[]} 返回组织数组。 * @o2ActionOut x_organization_assemble_express.UnitAction.listWithUnitSupNestedObject|example=Unit @@ -1207,7 +1207,7 @@ bind.org = { * @o2membercategory unit * @methodOf module:server.org * @static - * @param {IdentityFlag} name - 身份的distinguishedName、name、id、unique属性值,身份对象。 + * @param {IdentityFlag} name - 身份的distinguishedName、id、unique属性值,身份对象。 * @param {String|Number} [flag] 当值为数字的时候, 表示获取第几层的组织。
当值为字符串的时候,表示获取指定类型的组织。
当值为空的时候,表示获取直接所在组织。 * @return {UnitData|UnitData[]} 返回对应组织,单个为对象,多个为数组。 * @o2ActionOut x_organization_assemble_express.UnitAction.getWithIdentityWithLevelObject|example=Unit @@ -1252,7 +1252,7 @@ bind.org = { * @o2membercategory unit * @methodOf module:server.org * @static - * @param {IdentityFlag|IdentityFlag[]} name - 身份的distinguishedName、name、id、unique属性值,身份对象,或上述属性值和对象的数组。 + * @param {IdentityFlag|IdentityFlag[]} name - 身份的distinguishedName、id、unique属性值,身份对象,或上述属性值和对象的数组。 * @return {UnitData[]} 返回组织数组。 * @o2ActionOut x_organization_assemble_express.UnitAction.listWithIdentitySupNestedObject|example=Unit * @o2syntax @@ -1271,7 +1271,7 @@ bind.org = { * @o2membercategory unit * @methodOf module:server.org * @static - * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、name、id、unique属性值,人员对象,或上述属性值和对象的数组。 + * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、id、unique属性值,人员对象,或上述属性值和对象的数组。 * @return {UnitData[]} 返回组织数组。 * @o2ActionOut x_organization_assemble_express.UnitAction.listWithPersonObject|example=Unit * @o2syntax @@ -1290,7 +1290,7 @@ bind.org = { * @o2membercategory unit * @methodOf module:server.org * @static - * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、name、id、unique属性值,人员对象,或上述属性值和对象的数组。 + * @param {PersonFlag|PersonFlag[]} name - 人员的distinguishedName、id、unique属性值,人员对象,或上述属性值和对象的数组。 * @return {UnitData[]} 返回个人所在组织及所有上级组织。 * @o2ActionOut x_organization_assemble_express.UnitAction.listWithPersonSupNestedObject|example=Unit * @o2syntax @@ -1330,7 +1330,7 @@ bind.org = { * @methodOf module:server.org * @static * @param {String} dutyName 组织职务名称。 - * @param {IdentityFlag} identity 身份的distinguishedName、name、id、unique属性值,身份对象。 + * @param {IdentityFlag} identity 身份的distinguishedName、id、unique属性值,身份对象。 * @return {UnitData[]} 返回组织数组。 * @o2ActionOut x_organization_assemble_express.UnitAction.listWithUnitDutyObject|example=Unit * @o2syntax @@ -1352,7 +1352,7 @@ bind.org = { * @methodOf module:server.org * @static * @param {String} dutyName 组织职务名称。 - * @param {UnitFlag} unit 组织的distinguishedName、name、id、unique属性值,组织对象。 + * @param {UnitFlag} unit 组织的distinguishedName、id、unique属性值,组织对象。 * @return {IdentityData[]} 返回身份数组。 * @o2ActionOut x_organization_assemble_express.UnitDutyAction.getWithUnitWithName|example=Identity * @o2syntax @@ -1372,7 +1372,7 @@ bind.org = { * @o2membercategory duty * @methodOf module:server.org * @static - * @param {IdentityFlag|IdentityFlag[]} identity - 身份的distinguishedName、name、id、unique属性值,身份对象,或上述属性值和对象的数组。 + * @param {IdentityFlag|IdentityFlag[]} identity - 身份的distinguishedName、id、unique属性值,身份对象,或上述属性值和对象的数组。 * @return {String[]} 返回职务名称数组。 * @o2syntax * //返回职务名称数组。 @@ -1399,7 +1399,7 @@ bind.org = { * @o2membercategory duty * @methodOf module:server.org * @static - * @param {UnitFlag|UnitFlag[]} unit - 组织的distinguishedName、name、id、unique属性值,组织对象,或上述属性值和对象的数组。 + * @param {UnitFlag|UnitFlag[]} unit - 组织的distinguishedName、id、unique属性值,组织对象,或上述属性值和对象的数组。 * @return {String[]} 返回职务名称数组。 * @o2syntax * //返回职务名称数组。 @@ -1426,7 +1426,7 @@ bind.org = { * @o2membercategory duty * @methodOf module:server.org * @static - * @param {UnitFlag|UnitFlag[]} unit - 组织的distinguishedName、name、id、unique属性值,组织对象,或上述属性值和对象的数组。 + * @param {UnitFlag|UnitFlag[]} unit - 组织的distinguishedName、id、unique属性值,组织对象,或上述属性值和对象的数组。 * @return {Object[]} 返回职务数组 * @o2ActionOut x_organization_assemble_express.UnitDutyAction.listWithUnitObject|example=Duty * @o2syntax @@ -1452,7 +1452,7 @@ bind.org = { * @o2membercategory unitAttribute * @methodOf module:server.org * @static - * @param {UnitFlag} unit - 组织的distinguishedName、name、id、unique属性值,组织对象。 + * @param {UnitFlag} unit - 组织的distinguishedName、id、unique属性值,组织对象。 * @param {String} attribute 属性名称。 * @param {String[]} valueArray 属性值,必须为数组。 * @param {Function} [success] 执行成功的回调。 @@ -1472,7 +1472,7 @@ bind.org = { * @o2membercategory unitAttribute * @methodOf module:server.org * @static - * @param {UnitFlag} unit - 组织的distinguishedName、name、id、unique属性值,组织对象。 + * @param {UnitFlag} unit - 组织的distinguishedName、id、unique属性值,组织对象。 * @param {String} attribute 属性名称。 * @param {String[]} valueArray 属性值,必须为数组。 * @param {Function} [success] 执行成功的回调。 @@ -1492,7 +1492,7 @@ bind.org = { * @o2membercategory unitAttribute * @methodOf module:server.org * @static - * @param {UnitFlag} unit - 组织的distinguishedName、name、id、unique属性值,组织对象。 + * @param {UnitFlag} unit - 组织的distinguishedName、id、unique属性值,组织对象。 * @param {String} attr 属性名称。 * @return {String[]} 返回属性值数组, * 如:
[ value1, value2 ]
@@ -1519,7 +1519,7 @@ bind.org = { * @o2membercategory unitAttribute * @methodOf module:server.org * @static - * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、name、id、unique属性值,组织对象,或上述属性值和对象的数组。 + * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、id、unique属性值,组织对象,或上述属性值和对象的数组。 * @return {String[]} 返回组织属性名称数组, * 如:
[ attributeName1, attributeName2 ]
* @o2syntax @@ -1547,7 +1547,7 @@ bind.org = { * @o2membercategory unitAttribute * @methodOf module:server.org * @static - * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、name、id、unique属性值,组织对象,或上述属性值和对象的数组。 + * @param {UnitFlag|UnitFlag[]} name - 组织的distinguishedName、id、unique属性值,组织对象,或上述属性值和对象的数组。 * @return {Object[]} 返回组织属性对象数组,如: *
[{
      *    "name": "部门类别",
@@ -3353,6 +3353,12 @@ Object.defineProperties(bind.assignData, {"data": {
 //--------------------------------------------------------------
 //封装java对象data, 以兼容javascript对象
 (function (bind) {
+    Object.prototype.containsKey = function(key){
+        return Object.keys(this).indexOf(key)!==-1;
+    }
+    Object.prototype.put = function(key, value){
+        this[key] = value;
+    }
     var javaClass;
     try {
         javaClass = {
@@ -3405,7 +3411,8 @@ Object.defineProperties(bind.assignData, {"data": {
     function _setter(key, data, proxy) {
         return function (value) {
             proxy.proxyData[key] = createProxyData(value, proxy);
-            data[key] = value;
+            data.put(key, value);
+            // data[key] = value;
         }
     }
     function _addData(data, proxy) {
@@ -3413,7 +3420,8 @@ Object.defineProperties(bind.assignData, {"data": {
             if (proxy.hasOwnProperty(key)) {
                 proxy[key] = value;
             } else {
-                data[key] = value;
+                data.put(key, value);
+                //data[key] = value;
                 Object.defineProperty(proxy, key, {
                     configurable: true,
                     enumerable: true,
diff --git a/o2web/source/x_desktop/js/portal.js b/o2web/source/x_desktop/js/portal.js
index d369b02e91b453016ef6786cd6b98c35262f09b2..03c6e3986c8848ae8c6ff6ba3f9470b9c1f91048 100644
--- a/o2web/source/x_desktop/js/portal.js
+++ b/o2web/source/x_desktop/js/portal.js
@@ -30,10 +30,14 @@ layout.addReady(function(){
 
             layout.openApplication(null, appName, option||{}, m_status);
 
-            o2.xDesktop.getUserLayout(function(){
-                var style = layout.userLayout.flatStyle;
-                o2.loadCss("../o2_core/o2/xDesktop/$Default/"+style+"/style-skin.css");
-            });
+            if (layout.session.user.name === "anonymous"){
+                o2.loadCss("../o2_core/o2/xDesktop/$Default/blue/style-skin.css");
+            }else{
+                o2.xDesktop.getUserLayout(function(){
+                    var style = layout.userLayout.flatStyle;
+                    o2.loadCss("../o2_core/o2/xDesktop/$Default/"+style+"/style-skin.css");
+                });
+            }
         };
 
         // if (layout.session && layout.session.user){
diff --git a/o2web/source/x_desktop/js/work.js b/o2web/source/x_desktop/js/work.js
index ee013bed6aa8e05fa4fa7ed3624165e4a0fbdb51..a330d3e7282c4fc893e9d1d3b9a95f030b4a9dfb 100644
--- a/o2web/source/x_desktop/js/work.js
+++ b/o2web/source/x_desktop/js/work.js
@@ -112,10 +112,14 @@ layout.addReady(function(){
                 layout.openApplication(null, appName, option||{}, m_status);
             }
 
-            o2.xDesktop.getUserLayout(function(){
-                var style = layout.userLayout.flatStyle;
-                o2.loadCss("../o2_core/o2/xDesktop/$Default/"+style+"/style-skin.css");
-            });
+            if (layout.session.user.name === "anonymous"){
+                o2.loadCss("../o2_core/o2/xDesktop/$Default/blue/style-skin.css");
+            }else{
+                o2.xDesktop.getUserLayout(function(){
+                    var style = layout.userLayout.flatStyle;
+                    o2.loadCss("../o2_core/o2/xDesktop/$Default/"+style+"/style-skin.css");
+                });
+            }
         };
         if (layout.session && layout.session.user){
             _load();