wangkaiyue 6 năm trước cách đây
mục cha
commit
237421faec

+ 1 - 1
src/jfw/pay/dataExportPay.go

@@ -46,7 +46,7 @@ func (p *DataExportPayAction) SacnPay_WaitPay() error {
 		}
 		orderid := util.Int64All((*data)["id"])
 		orderMoney := util.IntAll((*data)["order_money"])
-		orderMoney = 1
+		//orderMoney = 1
 		pay_way := util.ObjToString((*data)["pay_way"])
 		realToken := public.GetWaitPayToken(orderid, orderMoney, code, pay_way, openid)
 		if realToken != token {

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 8 - 0
src/web/staticres/dataExport/jquery-confirm/jquery-confirm.min.css


+ 1075 - 0
src/web/staticres/dataExport/jquery-confirm/jquery-confirm.min.js

@@ -0,0 +1,1075 @@
+/*!
+ * jquery-confirm v3.1.0 (http://craftpip.github.io/jquery-confirm/)
+ * Author: Boniface Pereira
+ * Website: www.craftpip.com
+ * Contact: hey@craftpip.com
+ *
+ * Copyright 2013-2017 jquery-confirm
+ * Licensed under MIT (https://github.com/craftpip/jquery-confirm/blob/master/LICENSE)
+ */
+if (typeof jQuery === "undefined") {
+	throw new Error("jquery-confirm requires jQuery");
+}
+var jconfirm, Jconfirm;
+(function($, window) {
+	$.fn.confirm = function(options, option2) {
+		if (typeof options === "undefined") {
+			options = {};
+		}
+		if (typeof options === "string") {
+			options = {
+				content: options,
+				title: (option2) ? option2 : false
+			};
+		}
+		$(this).each(function() {
+			var $this = $(this);
+			$this.on("click", function(e) {
+				e.preventDefault();
+				var jcOption = $.extend({}, options);
+				if ($this.attr("data-title")) {
+					jcOption.title = $this.attr("data-title");
+				}
+				if ($this.attr("data-content")) {
+					jcOption.content = $this.attr("data-content");
+				}
+				if (typeof jcOption.buttons == "undefined") {
+					jcOption.buttons = {};
+				}
+				jcOption["$target"] = $this;
+				if ($this.attr("href") && Object.keys(jcOption.buttons).length == 0) {
+					var buttons = $.extend(true, {}, jconfirm.pluginDefaults.defaultButtons, (jconfirm.defaults || {}).defaultButtons ||
+						{});
+					var firstBtn = Object.keys(buttons)[0];
+					jcOption.buttons = buttons;
+					jcOption.buttons[firstBtn].action = function() {
+						location.href = $this.attr("href");
+					};
+				}
+				jcOption.closeIcon = false;
+				$.confirm(jcOption);
+			});
+		});
+		return $(this);
+	};
+	$.confirm = function(options, option2) {
+		if (typeof options === "undefined") {
+			options = {};
+		}
+		if (typeof options === "string") {
+			options = {
+				content: options,
+				title: (option2) ? option2 : false,
+			};
+		}
+		if (typeof options.buttons != "object") {
+			options.buttons = {};
+		}
+		if (Object.keys(options.buttons).length == 0) {
+			var buttons = $.extend(true, {}, jconfirm.pluginDefaults.defaultButtons, (jconfirm.defaults || {}).defaultButtons ||
+				{});
+			options.buttons = buttons;
+		}
+		return jconfirm(options);
+	};
+	$.alert = function(options, option2) {
+		if (typeof options === "undefined") {
+			options = {};
+		}
+		if (typeof options === "string") {
+			options = {
+				content: options,
+				title: (option2) ? option2 : false,
+			};
+		}
+		if (typeof options.buttons != "object") {
+			options.buttons = {};
+		}
+		if (Object.keys(options.buttons).length == 0) {
+			var buttons = $.extend(true, {}, jconfirm.pluginDefaults.defaultButtons, (jconfirm.defaults || {}).defaultButtons ||
+				{});
+			var firstBtn = Object.keys(buttons)[0];
+			options.buttons[firstBtn] = buttons[firstBtn];
+		}
+		return jconfirm(options);
+	};
+	$.dialog = function(options, option2) {
+		if (typeof options === "undefined") {
+			options = {};
+		}
+		if (typeof options === "string") {
+			options = {
+				content: options,
+				title: (option2) ? option2 : false,
+				closeIcon: function() {}
+			};
+		}
+		options.buttons = {};
+		if (typeof options.closeIcon == "undefined") {
+			options.closeIcon = function() {};
+		}
+		options.confirmKeys = [13];
+		return jconfirm(options);
+	};
+	jconfirm = function(options) {
+		if (typeof options === "undefined") {
+			options = {};
+		}
+		var pluginOptions = $.extend(true, {}, jconfirm.pluginDefaults);
+		if (jconfirm.defaults) {
+			pluginOptions = $.extend(true, pluginOptions, jconfirm.defaults);
+		}
+		pluginOptions = $.extend(true, {}, pluginOptions, options);
+		var instance = new Jconfirm(pluginOptions);
+		jconfirm.instances.push(instance);
+		return instance;
+	};
+	Jconfirm = function(options) {
+		$.extend(this, options);
+		this._init();
+	};
+	Jconfirm.prototype = {
+		_init: function() {
+			var that = this;
+			this._lastFocused = $("body").find(":focus");
+			this._id = Math.round(Math.random() * 99999);
+			setTimeout(function() {
+				that.open();
+			}, 0);
+		},
+		_buildHTML: function() {
+			var that = this;
+			this._parseAnimation(this.animation, "o");
+			this._parseAnimation(this.closeAnimation, "c");
+			this._parseBgDismissAnimation(this.backgroundDismissAnimation);
+			this._parseColumnClass(this.columnClass);
+			this._parseTheme(this.theme);
+			this._parseType(this.type);
+			var template = $(this.template);
+			template.find(".jconfirm-box").addClass(this.animationParsed).addClass(this.backgroundDismissAnimationParsed).addClass(
+				this.typeParsed);
+			if (this.typeAnimated) {
+				template.find(".jconfirm-box").addClass("jconfirm-type-animated");
+			}
+			if (this.useBootstrap) {
+				template.find(".jc-bs3-row").addClass(this.bootstrapClasses.row);
+				template.find(".jc-bs3-row").addClass(
+					"justify-content-md-center justify-content-sm-center justify-content-xs-center justify-content-lg-center");
+				template.find(".jconfirm-box-container").addClass(this.columnClassParsed);
+				if (this.containerFluid) {
+					template.find(".jc-bs3-container").addClass(this.bootstrapClasses.containerFluid);
+				} else {
+					template.find(".jc-bs3-container").addClass(this.bootstrapClasses.container);
+				}
+			} else {
+				template.find(".jconfirm-box").css("width", this.boxWidth);
+			}
+			if (this.titleClass) {
+				template.find(".jconfirm-title-c").addClass(this.titleClass);
+			}
+			template.addClass(this.themeParsed);
+			var ariaLabel = "jconfirm-box" + this._id;
+			template.find(".jconfirm-box").attr("aria-labelledby", ariaLabel).attr("tabindex", -1);
+			template.find(".jconfirm-content").attr("id", ariaLabel);
+			if (this.bgOpacity != null) {
+				template.find(".jconfirm-bg").css("opacity", this.bgOpacity);
+			}
+			if (this.rtl) {
+				template.addClass("jconfirm-rtl");
+			}
+			this.$el = template.appendTo(this.container);
+			this.$jconfirmBoxContainer = this.$el.find(".jconfirm-box-container");
+			this.$jconfirmBox = this.$body = this.$el.find(".jconfirm-box");
+			this.$jconfirmBg = this.$el.find(".jconfirm-bg");
+			this.$title = this.$el.find(".jconfirm-title");
+			this.$titleContainer = this.$el.find(".jconfirm-title-c");
+			this.$content = this.$el.find("div.jconfirm-content");
+			this.$contentPane = this.$el.find(".jconfirm-content-pane");
+			this.$icon = this.$el.find(".jconfirm-icon-c");
+			this.$closeIcon = this.$el.find(".jconfirm-closeIcon");
+			this.$btnc = this.$el.find(".jconfirm-buttons");
+			this.$scrollPane = this.$el.find(".jconfirm-scrollpane");
+			this._contentReady = $.Deferred();
+			this._modalReady = $.Deferred();
+			this.setTitle();
+			this.setIcon();
+			this._setButtons();
+			this._parseContent();
+			this.initDraggable();
+			if (this.isAjax) {
+				this.showLoading(false);
+			}
+			$.when(this._contentReady, this._modalReady).then(function() {
+				if (that.isAjaxLoading) {
+					setTimeout(function() {
+						that.isAjaxLoading = false;
+						that.setContent();
+						that.setTitle();
+						that.setIcon();
+						setTimeout(function() {
+							that.hideLoading(false);
+						}, 100);
+						if (typeof that.onContentReady == "function") {
+							that.onContentReady();
+						}
+					}, 50);
+				} else {
+					that.setContent();
+					that.setTitle();
+					that.setIcon();
+					if (typeof that.onContentReady == "function") {
+						that.onContentReady();
+					}
+				}
+				if (that.autoClose) {
+					that._startCountDown();
+				}
+			});
+			that._contentHash = this._hash(that.$content.html());
+			that._contentHeight = this.$content.height();
+			this._watchContent();
+			this.setDialogCenter();
+			if (this.animation == "none") {
+				this.animationSpeed = 1;
+				this.animationBounce = 1;
+			}
+			this.$body.css(this._getCSS(this.animationSpeed, this.animationBounce));
+			this.$contentPane.css(this._getCSS(this.animationSpeed, 1));
+			this.$jconfirmBg.css(this._getCSS(this.animationSpeed, 1));
+		},
+		_typePrefix: "jconfirm-type-",
+		typeParsed: "",
+		_parseType: function(type) {
+			this.typeParsed = this._typePrefix + type;
+		},
+		setType: function(type) {
+			var oldClass = this.typeParsed;
+			this._parseType(type);
+			this.$jconfirmBox.removeClass(oldClass).addClass(this.typeParsed);
+		},
+		themeParsed: "",
+		_themePrefix: "jconfirm-",
+		setTheme: function(theme) {
+			var previous = this.theme;
+			this.theme = theme || this.theme;
+			this._parseTheme(this.theme);
+			if (previous) {
+				this.$el.removeClass(previous);
+			}
+			this.$el.addClass(this.themeParsed);
+			this.theme = theme;
+		},
+		_parseTheme: function(theme) {
+			var that = this;
+			theme = theme.split(",");
+			$.each(theme, function(k, a) {
+				if (a.indexOf(that._themePrefix) == -1) {
+					theme[k] = that._themePrefix + $.trim(a);
+				}
+			});
+			this.themeParsed = theme.join(" ").toLowerCase();
+		},
+		backgroundDismissAnimationParsed: "",
+		_bgDismissPrefix: "jconfirm-hilight-",
+		_parseBgDismissAnimation: function(bgDismissAnimation) {
+			var animation = bgDismissAnimation.split(",");
+			var that = this;
+			$.each(animation, function(k, a) {
+				if (a.indexOf(that._bgDismissPrefix) == -1) {
+					animation[k] = that._bgDismissPrefix + $.trim(a);
+				}
+			});
+			this.backgroundDismissAnimationParsed = animation.join(" ").toLowerCase();
+		},
+		animationParsed: "",
+		closeAnimationParsed: "",
+		_animationPrefix: "jconfirm-animation-",
+		setAnimation: function(animation) {
+			this.animation = animation || this.animation;
+			this._parseAnimation(this.animation, "o");
+		},
+		_parseAnimation: function(animation, which) {
+			which = which || "o";
+			var animations = animation.split(",");
+			var that = this;
+			$.each(animations, function(k, a) {
+				if (a.indexOf(that._animationPrefix) == -1) {
+					animations[k] = that._animationPrefix + $.trim(a);
+				}
+			});
+			var a_string = animations.join(" ").toLowerCase();
+			if (which == "o") {
+				this.animationParsed = a_string;
+			} else {
+				this.closeAnimationParsed = a_string;
+			}
+			return a_string;
+		},
+		setCloseAnimation: function(closeAnimation) {
+			this.closeAnimation = closeAnimation || this.closeAnimation;
+			this._parseAnimation(this.closeAnimation, "c");
+		},
+		setAnimationSpeed: function(speed) {
+			this.animationSpeed = speed || this.animationSpeed;
+		},
+		columnClassParsed: "",
+		setColumnClass: function(colClass) {
+			this.columnClass = colClass || this.columnClass;
+			this._parseColumnClass(this.columnClass);
+			this.$jconfirmBoxContainer.addClass(this.columnClassParsed);
+		},
+		_parseColumnClass: function(colClass) {
+			colClass = colClass.toLowerCase();
+			var p;
+			switch (colClass) {
+				case "xl":
+				case "xlarge":
+					p = "col-md-12";
+					break;
+				case "l":
+				case "large":
+					p = "col-md-8 col-md-offset-2";
+					break;
+				case "m":
+				case "medium":
+					p = "col-md-6 col-md-offset-3";
+					break;
+				case "s":
+				case "small":
+					p = "col-md-4 col-md-offset-4";
+					break;
+				case "xs":
+				case "xsmall":
+					p = "col-md-2 col-md-offset-5";
+					break;
+				default:
+					p = colClass;
+			}
+			this.columnClassParsed = p;
+		},
+		initDraggable: function() {
+			var that = this;
+			var $t = this.$titleContainer;
+			this.resetDrag();
+			if (this.draggable) {
+				$t.addClass("jconfirm-hand");
+				$t.on("mousedown", function(e) {
+					that.mouseX = e.clientX;
+					that.mouseY = e.clientY;
+					that.isDrag = true;
+				});
+				$(window).on("mousemove." + this._id, function(e) {
+					if (that.isDrag) {
+						that.movingX = e.clientX - that.mouseX + that.initialX;
+						that.movingY = e.clientY - that.mouseY + that.initialY;
+						that.setDrag();
+					}
+				});
+				$(window).on("mouseup." + this._id, function() {
+					if (that.isDrag) {
+						that.isDrag = false;
+						that.initialX = that.movingX;
+						that.initialY = that.movingY;
+					}
+				});
+			}
+		},
+		resetDrag: function() {
+			this.isDrag = false;
+			this.initialX = 0;
+			this.initialY = 0;
+			this.movingX = 0;
+			this.movingY = 0;
+			this.movingXCurrent = 0;
+			this.movingYCurrent = 0;
+			this.mouseX = 0;
+			this.mouseY = 0;
+			this.$jconfirmBoxContainer.css("transform", "translate(" + 0 + "px, " + 0 + "px)");
+		},
+		setDrag: function() {
+			if (!this.draggable) {
+				return;
+			}
+			this.alignMiddle = false;
+			this._boxWidth = this.$jconfirmBox.outerWidth();
+			var ww = $(window).width();
+			var that = this;
+			if (that.movingX % 2 == 0 || that.movingY % 2 == 0) {
+				var tb = that._boxTopMargin - that.dragWindowGap;
+				console.log("mouse move", that.movingX, that.movingY);
+				if (tb + that.movingY < 0) {
+					that.movingY = -tb;
+				} else {
+					that.movingYCurrent = that.movingY;
+				}
+				var lb = (ww / 2) - that._boxWidth / 2;
+				var rb = (ww / 2) + (that._boxWidth / 2) - that._boxWidth;
+				rb -= that.dragWindowGap;
+				lb -= that.dragWindowGap;
+				if (lb + that.movingX < 0) {
+					that.movingX = -lb;
+				} else {
+					if (rb - that.movingX < 0) {
+						that.movingX = rb;
+					} else {
+						that.movingXCurrent = that.movingX;
+					}
+				}
+				that.$jconfirmBoxContainer.css("transform", "translate(" + that.movingX + "px, " + that.movingY + "px)");
+			}
+		},
+		_hash: function(a) {
+			return btoa((encodeURIComponent(a)));
+		},
+		_watchContent: function() {
+			var that = this;
+			if (this._timer) {
+				clearInterval(this._timer);
+			}
+			this._timer = setInterval(function() {
+				var now = that._hash(that.$content.html());
+				var nowHeight = that.$content.height();
+				if (that._contentHash != now || that._contentHeight != nowHeight) {
+					that._contentHash = now;
+					that._contentHeight = nowHeight;
+					that.setDialogCenter();
+					that._imagesLoaded();
+				}
+			}, this.watchInterval);
+		},
+		_hilightAnimating: false,
+		_hiLightModal: function() {
+			var that = this;
+			if (this._hilightAnimating) {
+				return;
+			}
+			that.$body.addClass("hilight");
+			var duration = 2;
+			this._hilightAnimating = true;
+			setTimeout(function() {
+				that._hilightAnimating = false;
+				that.$body.removeClass("hilight");
+			}, duration * 1000);
+		},
+		_bindEvents: function() {
+			var that = this;
+			this.boxClicked = false;
+			this.$scrollPane.click(function(e) {
+				if (!that.boxClicked) {
+					var buttonName = false;
+					var shouldClose = false;
+					var str;
+					if (typeof that.backgroundDismiss == "function") {
+						str = that.backgroundDismiss();
+					} else {
+						str = that.backgroundDismiss;
+					}
+					if (typeof str == "string" && typeof that.buttons[str] != "undefined") {
+						buttonName = str;
+						shouldClose = false;
+					} else {
+						if (typeof str == "undefined" || !!(str) == true) {
+							shouldClose = true;
+						} else {
+							shouldClose = false;
+						}
+					}
+					if (buttonName) {
+						var btnResponse = that.buttons[buttonName].action.apply(that);
+						shouldClose = (typeof btnResponse == "undefined") || !!(btnResponse);
+					}
+					if (shouldClose) {
+						that.close();
+					} else {
+						that._hiLightModal();
+					}
+				}
+				that.boxClicked = false;
+			});
+			this.$jconfirmBox.click(function(e) {
+				that.boxClicked = true;
+			});
+			setTimeout(function() {
+				$(window).on("keyup." + that._id, function(e) {
+					that.reactOnKey(e);
+				});
+			}, 10);
+			$(window).on("resize." + this._id, function() {
+				that.setDialogCenter(true);
+				setTimeout(function() {
+					that.resetDrag();
+				}, 100);
+			});
+		},
+		_cubic_bezier: "0.36, 0.55, 0.19",
+		_getCSS: function(speed, bounce) {
+			return {
+				"-webkit-transition-duration": speed / 1000 + "s",
+				"transition-duration": speed / 1000 + "s",
+				"-webkit-transition-timing-function": "cubic-bezier(" + this._cubic_bezier + ", " + bounce + ")",
+				"transition-timing-function": "cubic-bezier(" + this._cubic_bezier + ", " + bounce + ")"
+			};
+		},
+		_imagesLoaded: function() {
+			var that = this;
+			if (that.imageLoadInterval) {
+				clearInterval(that.imageLoadInterval);
+			}
+			$.each(this.$content.find("img:not(.loaded)"), function(i, a) {
+				that.imageLoadInterval = setInterval(function() {
+					var h = $(a).css("height");
+					if (h !== "0px") {
+						$(a).addClass("loaded");
+						clearInterval(that.imageLoadInterval);
+						that.setDialogCenter();
+					}
+				}, 40);
+			});
+		},
+		_setButtons: function() {
+			var that = this;
+			var total_buttons = 0;
+			if (typeof this.buttons !== "object") {
+				this.buttons = {};
+			}
+			$.each(this.buttons, function(key, button) {
+				total_buttons += 1;
+				if (typeof button === "function") {
+					that.buttons[key] = button = {
+						action: button
+					};
+				}
+				that.buttons[key].text = button.text || key;
+				that.buttons[key].btnClass = button.btnClass || "btn-default";
+				that.buttons[key].action = button.action || function() {};
+				that.buttons[key].keys = button.keys || [];
+				$.each(that.buttons[key].keys, function(i, a) {
+					that.buttons[key].keys[i] = a.toLowerCase();
+				});
+				var button_element = $('<button type="button" class="btn ' + that.buttons[key].btnClass + '">' + that.buttons[
+					key].text + "</button>").click(function(e) {
+					e.preventDefault();
+					var res = that.buttons[key].action.apply(that);
+					that.onAction(key);
+					that._stopCountDown();
+					if (typeof res === "undefined" || res) {
+						that.close();
+					}
+				});
+				that.buttons[key].el = button_element;
+				that.buttons[key].setText = function(text) {
+					button_element.html(text);
+				};
+				that.buttons[key].addClass = function(className) {
+					button_element.addClass(className);
+				};
+				that.buttons[key].removeClass = function(className) {
+					button_element.removeClass(className);
+				};
+				that.buttons[key].disable = function() {
+					button_element.prop("disabled", true);
+				};
+				that.buttons[key].enable = function() {
+					button_element.prop("disabled", false);
+				};
+				that.buttons[key].show = function() {
+					button_element.css("display", "");
+					that.setDialogCenter();
+				};
+				that.buttons[key].hide = function() {
+					button_element.css("display", "none");
+					that.setDialogCenter();
+				};
+				that["$_" + key] = that["$$" + key] = button_element;
+				that.$btnc.append(button_element);
+			});
+			if (total_buttons === 0) {
+				this.$btnc.hide();
+			}
+			if (this.closeIcon === null && total_buttons === 0) {
+				this.closeIcon = true;
+			}
+			if (this.closeIcon) {
+				if (this.closeIconClass) {
+					var closeHtml = '<i class="' + this.closeIconClass + '"></i>';
+					this.$closeIcon.html(closeHtml);
+				}
+				this.$closeIcon.click(function(e) {
+					e.preventDefault();
+					var buttonName = false;
+					var shouldClose = false;
+					var str;
+					if (typeof that.closeIcon == "function") {
+						str = that.closeIcon();
+					} else {
+						str = that.closeIcon;
+					}
+					if (typeof str == "string" && typeof that.buttons[str] != "undefined") {
+						buttonName = str;
+						shouldClose = false;
+					} else {
+						if (typeof str == "undefined" || !!(str) == true) {
+							shouldClose = true;
+						} else {
+							shouldClose = false;
+						}
+					}
+					if (buttonName) {
+						var btnResponse = that.buttons[buttonName].action.apply(that);
+						shouldClose = (typeof btnResponse == "undefined") || !!(btnResponse);
+					}
+					if (shouldClose) {
+						that.close();
+					}
+				});
+				this.$closeIcon.show();
+			} else {
+				this.$closeIcon.hide();
+			}
+		},
+		setTitle: function(string, force) {
+			force = force || false;
+			if (typeof string !== "undefined") {
+				if (typeof string == "string") {
+					this.title = string;
+				} else {
+					if (typeof string == "function") {
+						if (typeof string.promise == "function") {
+							console.error("Promise was returned from title function, this is not supported.");
+						}
+						var response = string();
+						if (typeof response == "string") {
+							this.title = response;
+						} else {
+							this.title = false;
+						}
+					} else {
+						this.title = false;
+					}
+				}
+			}
+			if (this.isAjaxLoading && !force) {
+				return;
+			}
+			this.$title.html(this.title || "");
+		},
+		setIcon: function(iconClass, force) {
+			force = force || false;
+			if (typeof iconClass !== "undefined") {
+				if (typeof iconClass == "string") {
+					this.icon = iconClass;
+				} else {
+					if (typeof iconClass === "function") {
+						var response = iconClass();
+						if (typeof response == "string") {
+							this.icon = response;
+						} else {
+							this.icon = false;
+						}
+					} else {
+						this.icon = false;
+					}
+				}
+			}
+			if (this.isAjaxLoading && !force) {
+				return;
+			}
+			this.$icon.html(this.icon ? '<i class="' + this.icon + '"></i>' : "");
+		},
+		setContentPrepend: function(string, force) {
+			this.contentParsed = string + this.contentParsed;
+			if (this.isAjaxLoading && !force) {
+				return;
+			}
+			this.$content.prepend(string);
+		},
+		setContentAppend: function(string, force) {
+			this.contentParsed = this.contentParsed + string;
+			if (this.isAjaxLoading && !force) {
+				return;
+			}
+			this.$content.append(string);
+		},
+		setContent: function(string, force) {
+			force = force || false;
+			var that = this;
+			this.contentParsed = (typeof string == "undefined") ? this.contentParsed : string;
+			if (this.isAjaxLoading && !force) {
+				return;
+			}
+			this.$content.html(this.contentParsed);
+			this.setDialogCenter();
+			setTimeout(function() {
+				that.$body.find("input[autofocus]:visible:first").focus();
+			}, 100);
+		},
+		loadingSpinner: false,
+		showLoading: function(disableButtons) {
+			this.loadingSpinner = true;
+			this.$jconfirmBox.addClass("loading");
+			if (disableButtons) {
+				this.$btnc.find("button").prop("disabled", true);
+			}
+			this.setDialogCenter();
+		},
+		hideLoading: function(enableButtons) {
+			this.loadingSpinner = false;
+			this.$jconfirmBox.removeClass("loading");
+			if (enableButtons) {
+				this.$btnc.find("button").prop("disabled", false);
+			}
+			this.setDialogCenter();
+		},
+		ajaxResponse: false,
+		contentParsed: "",
+		isAjax: false,
+		isAjaxLoading: false,
+		_parseContent: function() {
+			var that = this;
+			var e = "&nbsp;";
+			if (typeof this.content == "function") {
+				var res = this.content.apply(this);
+				if (typeof res == "string") {
+					this.content = res;
+				} else {
+					if (typeof res == "object" && typeof res.always == "function") {
+						this.isAjax = true;
+						this.isAjaxLoading = true;
+						res.always(function(data, status, xhr) {
+							that.ajaxResponse = {
+								data: data,
+								status: status,
+								xhr: xhr
+							};
+							that._contentReady.resolve(data, status, xhr);
+							if (typeof that.contentLoaded == "function") {
+								that.contentLoaded(data, status, xhr);
+							}
+						});
+						this.content = e;
+					} else {
+						this.content = e;
+					}
+				}
+			}
+			if (typeof this.content == "string" && this.content.substr(0, 4).toLowerCase() === "url:") {
+				this.isAjax = true;
+				this.isAjaxLoading = true;
+				var u = this.content.substring(4, this.content.length);
+				$.get(u).done(function(html) {
+					that.contentParsed = html;
+				}).always(function(data, status, xhr) {
+					that.ajaxResponse = {
+						data: data,
+						status: status,
+						xhr: xhr
+					};
+					that._contentReady.resolve(data, status, xhr);
+					if (typeof that.contentLoaded == "function") {
+						that.contentLoaded(data, status, xhr);
+					}
+				});
+			}
+			if (!this.content) {
+				this.content = e;
+			}
+			if (!this.isAjax) {
+				this.contentParsed = this.content;
+				this.setContent(this.contentParsed);
+				that._contentReady.resolve();
+			}
+		},
+		_stopCountDown: function() {
+			clearInterval(this.autoCloseInterval);
+			if (this.$cd) {
+				this.$cd.remove();
+			}
+		},
+		_startCountDown: function() {
+			var that = this;
+			var opt = this.autoClose.split("|");
+			if (opt.length !== 2) {
+				console.error("Invalid option for autoClose. example 'close|10000'");
+				return false;
+			}
+			var button_key = opt[0];
+			var time = parseInt(opt[1]);
+			if (typeof this.buttons[button_key] === "undefined") {
+				console.error("Invalid button key '" + button_key + "' for autoClose");
+				return false;
+			}
+			var seconds = time / 1000;
+			this.$cd = $('<span class="countdown"> (' + seconds + ")</span>").appendTo(this["$_" + button_key]);
+			this.autoCloseInterval = setInterval(function() {
+				that.$cd.html(" (" + (seconds -= 1) + ") ");
+				if (seconds === 0) {
+					that["$$" + button_key].trigger("click");
+					that._stopCountDown();
+				}
+			}, 1000);
+		},
+		_getKey: function(key) {
+			switch (key) {
+				case 192:
+					return "tilde";
+				case 13:
+					return "enter";
+				case 16:
+					return "shift";
+				case 9:
+					return "tab";
+				case 20:
+					return "capslock";
+				case 17:
+					return "ctrl";
+				case 91:
+					return "win";
+				case 18:
+					return "alt";
+				case 27:
+					return "esc";
+				case 32:
+					return "space";
+			}
+			var initial = String.fromCharCode(key);
+			if (/^[A-z0-9]+$/.test(initial)) {
+				return initial.toLowerCase();
+			} else {
+				return false;
+			}
+		},
+		reactOnKey: function(e) {
+			var that = this;
+			var a = $(".jconfirm");
+			if (a.eq(a.length - 1)[0] !== this.$el[0]) {
+				return false;
+			}
+			var key = e.which;
+			if (this.$content.find(":input").is(":focus") && /13|32/.test(key)) {
+				return false;
+			}
+			var keyChar = this._getKey(key);
+			if (keyChar === "esc" && this.escapeKey) {
+				if (this.escapeKey === true) {
+					this.$scrollPane.trigger("click");
+				} else {
+					if (typeof this.escapeKey === "string" || typeof this.escapeKey === "function") {
+						var buttonKey;
+						if (typeof this.escapeKey === "function") {
+							buttonKey = this.escapeKey();
+						} else {
+							buttonKey = this.escapeKey;
+						}
+						if (buttonKey) {
+							if (typeof this.buttons[buttonKey] === "undefined") {
+								console.warn("Invalid escapeKey, no buttons found with key " + buttonKey);
+							} else {
+								this["$_" + buttonKey].trigger("click");
+							}
+						}
+					}
+				}
+			}
+			$.each(this.buttons, function(key, button) {
+				if (button.keys.indexOf(keyChar) != -1) {
+					that["$_" + key].trigger("click");
+				}
+			});
+		},
+		_boxTopMargin: 0,
+		_boxBottomMargin: 0,
+		_boxWidth: 0,
+		setDialogCenter: function() {
+			var contentHeight;
+			var paneHeight;
+			var style;
+			contentHeight = 0;
+			paneHeight = 0;
+			if (this.$contentPane.css("display") != "none") {
+				contentHeight = this.$content.outerHeight() || 0;
+				paneHeight = this.$contentPane.height() || 0;
+			}
+			var children = this.$content.children();
+			if (children.length != 0) {
+				var marginTopChild = parseInt(children.eq(0).css("margin-top"));
+				if (marginTopChild) {
+					contentHeight += marginTopChild;
+				}
+			}
+			if (paneHeight == 0) {
+				paneHeight = contentHeight;
+			}
+			var windowHeight = window.innerHeight;
+			var boxHeight;
+			boxHeight = (this.$body.outerHeight() - paneHeight) + contentHeight;
+			var topMargin = (windowHeight - boxHeight) / 2;
+			if (boxHeight > (windowHeight - (this.offsetTop + this.offsetBottom)) || !this.alignMiddle) {
+				style = {
+					"margin-top": this.offsetTop,
+					"margin-bottom": this.offsetBottom
+				};
+				this._boxTopMargin = this.offsetTop;
+				this._boxBottomMargin = this.offsetBottom;
+				$("body").addClass("jconfirm-no-scroll-" + this._id);
+			} else {
+				style = {
+					"margin-top": topMargin,
+					"margin-bottom": this.offsetBottom,
+				};
+				this._boxTopMargin = topMargin;
+				this._boxBottomMargin = this.offsetBottom;
+				$("body").removeClass("jconfirm-no-scroll-" + this._id);
+			}
+			this.$contentPane.css({
+				height: contentHeight
+			}).scrollTop(0);
+			this.$body.css(style);
+			this.setDrag();
+		},
+		_unwatchContent: function() {
+			clearInterval(this._timer);
+		},
+		close: function() {
+			var that = this;
+			if (typeof this.onClose === "function") {
+				this.onClose();
+			}
+			this._unwatchContent();
+			clearInterval(this.imageLoadInterval);
+			$(window).unbind("resize." + this._id);
+			$(window).unbind("keyup." + this._id);
+			if (this.draggable) {
+				$(window).unbind("mousemove." + this._id);
+				$(window).unbind("mouseup." + this._id);
+				this.$titleContainer.unbind("mousedown");
+			}
+			$("body").removeClass("jconfirm-no-scroll-" + this._id);
+			this.$body.addClass(this.closeAnimationParsed);
+			this.$jconfirmBg.addClass("jconfirm-bg-h");
+			var closeTimer = (this.closeAnimation == "none") ? 1 : this.animationSpeed;
+			setTimeout(function() {
+				that.$el.remove();
+				if (that._lastFocused.length && $.contains(document, that._lastFocused[0])) {
+					var st = $(window).scrollTop();
+					var ot = that._lastFocused.offset().top;
+					var wh = $(window).height();
+					if (!(ot > st && ot < (st + wh))) {
+						var scrollTo = (ot - Math.round((wh / 3)));
+						if (that.scrollToPreviousElement && that.scrollToPreviousElementAnimate) {
+							$("html, body").animate({
+								scrollTop: scrollTo,
+							}, that.animationSpeed, "swing", function() {
+								that._lastFocused.focus();
+							});
+						} else {
+							if (that.scrollToPreviousElement) {
+								$("html, body").scrollTop(scrollTo);
+							} else {}
+						}
+					} else {
+						that._lastFocused.focus();
+					}
+				}
+				if (typeof that.onDestroy == "function") {
+					that.onDestroy();
+				}
+			}, closeTimer * 0.4);
+			return true;
+		},
+		open: function() {
+			this._buildHTML();
+			this._bindEvents();
+			this._open();
+			return true;
+		},
+		_open: function() {
+			var that = this;
+			if (typeof that.onOpenBefore == "function") {
+				that.onOpenBefore();
+			}
+			this.$body.removeClass(this.animationParsed);
+			this.$jconfirmBg.removeClass("jconfirm-bg-h");
+			this.$body.focus();
+			setTimeout(function() {
+				that.$body.css(that._getCSS(that.animationSpeed, 1));
+				that.$body.css({
+					"transition-property": that.$body.css("transition-property") + ", margin"
+				});
+				that._modalReady.resolve();
+				if (typeof that.onOpen === "function") {
+					that.onOpen();
+				}
+			}, this.animationSpeed);
+		},
+		isClosed: function() {
+			return this.$el.css("display") === "";
+		},
+		isOpen: function() {
+			return !this.isClosed();
+		},
+		toggle: function() {
+			if (!this.isOpen()) {
+				this.open();
+			} else {
+				this.close();
+			}
+		}
+	};
+	jconfirm.instances = [];
+	jconfirm.pluginDefaults = {
+		template: '<div class="jconfirm"><div class="jconfirm-bg jconfirm-bg-h"></div><div class="jconfirm-scrollpane"><div class="jc-bs3-container"><div class="jc-bs3-row"><div class="jconfirm-box-container"><div class="jconfirm-box" role="dialog" aria-labelledby="labelled" tabindex="-1"><div class="jconfirm-closeIcon">&times;</div><div class="jconfirm-title-c"><span class="jconfirm-icon-c"></span><span class="jconfirm-title"></span></div><div class="jconfirm-content-pane"><div class="jconfirm-content"></div></div><div class="jconfirm-buttons"></div><div class="jconfirm-clear"></div></div></div></div></div></div></div>',
+		title: "Hello",
+		titleClass: "",
+		type: "default",
+		typeAnimated: true,
+		draggable: false,
+		alignMiddle: true,
+		content: "Are you sure to continue?",
+		buttons: {},
+		defaultButtons: {
+			ok: {
+				action: function() {}
+			},
+			close: {
+				action: function() {}
+			},
+		},
+		contentLoaded: function() {},
+		icon: "",
+		bgOpacity: null,
+		theme: "light",
+		animation: "zoom",
+		closeAnimation: "scale",
+		animationSpeed: 400,
+		animationBounce: 1.2,
+		escapeKey: true,
+		rtl: false,
+		container: "body",
+		containerFluid: false,
+		backgroundDismiss: false,
+		backgroundDismissAnimation: "shake",
+		autoClose: false,
+		closeIcon: null,
+		closeIconClass: false,
+		watchInterval: 100,
+		columnClass: "col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3 col-xs-10 col-xs-offset-1",
+		boxWidth: "50%",
+		scrollToPreviousElement: true,
+		scrollToPreviousElementAnimate: true,
+		useBootstrap: true,
+		offsetTop: 50,
+		offsetBottom: 50,
+		dragWindowGap: 15,
+		bootstrapClasses: {
+			container: "container",
+			containerFluid: "container-fluid",
+			row: "row",
+		},
+		onContentReady: function() {},
+		onOpenBefore: function() {},
+		onOpen: function() {},
+		onClose: function() {},
+		onDestroy: function() {},
+		onAction: function() {}
+	};
+})(jQuery, window);

+ 10 - 1
src/web/staticres/dataExport/js/pageination.ie.js

@@ -229,15 +229,24 @@ var Page =
             mapF = function mapF(v, i) {
               return _this3.min + 1 + i;
             };
-
             show[0] = false;
           } // max
+          
+        
           if (this.max - this.min <= this.show) {
             show = [false, false];
           }
           this.contentArr = arr.map(mapF).filter(function(v) {
             return v > _this3.min && v < _this3.max;
           });
+        
+          if(this.min+1==this.contentArr[0]){
+        	show[0] = false;
+          }
+          
+          if(this.max-1==this.contentArr[this.contentArr.length-1]){
+        	show[1] = false;
+          }
           show.forEach(function(v, i) {
             _this3.otherDom[i + 1].style.display = v ? "inline-block" : "none";
             _this3.otherDom[i + 1].style.pointerEvents = "none";

+ 7 - 3
src/web/templates/pc/biddetail.html

@@ -292,7 +292,9 @@ function isWechat() {
 						<td class="preb-exam">审批结果</td>
 						{{end}}
 						{{if .T.obj.projectinfo.approvetime}}
+              {{if ne .T.obj.projectinfo.approvetime "0"}}
 						<td class="preb-exam">审批时间</td>
+              {{end}}
 						{{end}}
 						{{if .T.obj.projectinfo.approvenumber}}
 						<td class="preb-exam">审批文号</td>
@@ -315,9 +317,11 @@ function isWechat() {
 						</td>
 						{{end}}
 						{{if .T.obj.projectinfo.approvetime}}
-						<td class="preb-examcont">
-						<div class="spsj" id="spsj">{{.T.obj.projectinfo.approvetime}}</div>
-						</td>
+              {{if ne .T.obj.projectinfo.approvetime "0"}}
+  						<td class="preb-examcont">
+  						<div class="spsj" id="spsj">{{.T.obj.projectinfo.approvetime}}</div>
+  						</td>
+              {{end}}
 						{{end}}
 						{{if .T.obj.projectinfo.approvenumber}}
 						<td class="preb-examcont">

+ 7 - 3
src/web/templates/pc/biddetail_rec.html

@@ -282,7 +282,9 @@ function isWechat() {
 						<td class="preb-exam">审批结果</td>
 						{{end}}
 						{{if .T.obj.projectinfo.approvetime}}
+              {{if ne .T.obj.projectinfo.approvetime "0"}}
 						<td class="preb-exam">审批时间</td>
+              {{end}}
 						{{end}}
 						{{if .T.obj.projectinfo.approvenumber}}
 						<td class="preb-exam">审批文号</td>
@@ -305,9 +307,11 @@ function isWechat() {
 						</td>
 						{{end}}
 						{{if .T.obj.projectinfo.approvetime}}
-						<td class="preb-examcont">
-						<div class="spsj" id="spsj">{{.T.obj.projectinfo.approvetime}}</div>
-						</td>
+              {{if ne .T.obj.projectinfo.approvetime "0"}}
+  						<td class="preb-examcont">
+  						<div class="spsj" id="spsj">{{.T.obj.projectinfo.approvetime}}</div>
+  						</td>
+              {{end}}
 						{{end}}
 						{{if .T.obj.projectinfo.approvenumber}}
 						<td class="preb-examcont">

+ 3 - 0
src/web/templates/pc/createOrderPage.html

@@ -238,10 +238,13 @@
 				$(".email_check_ok").hide();
 			}
 		}).blur(function(){
+      console.log("xxx")
 			var email=$(".email_input").val().replace(/\s*/g,"");
 			if(!/\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}/.test(email)){
 				showEmailErr("邮箱格式不正确");
         finishEmailVerity=false;
+        $(".toPay").css("background-color","#ddd")
+				$(".toPay").attr("disabled","disabled");
 				return
 			}
 			$(".email_check_ok").show();

+ 10 - 5
src/web/templates/pc/myOrder.html

@@ -13,8 +13,8 @@
 		<link rel="stylesheet" type="text/css" href="{{Msg "seo" "cdn"}}/pccss/public-nav-1200.css?v={{Msg "seo" "version"}}" />
 		<script type="text/javascript" src="{{Msg "seo" "cdn"}}/js/public-nav.js?v={{Msg "seo" "version"}}"></script>
 
-		<link href="//cdn.bootcss.com/jquery-confirm/3.1.0/jquery-confirm.min.css" rel="stylesheet">
-		<script src="//cdn.bootcss.com/jquery-confirm/3.1.0/jquery-confirm.min.js"></script>
+		<link href="{{Msg "seo" "cdn"}}/dataExport/jquery-confirm/jquery-confirm.min.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+		<script src="{{Msg "seo" "cdn"}}/dataExport/jquery-confirm/jquery-confirm.min.js?v={{Msg "seo" "version"}}"></script>
 
 		<title>我的订单</title>
 		<style type="text/css">
@@ -230,6 +230,7 @@
 			var clickF = function clickF(number, type) {
 				var $Index = $(".tab-bar .tab li.active").index();
 				var $list = $(".list .item");
+        pageNum=number;
 				queryOrder($Index, $list, number);
 			};
 			var pageFlag = true;
@@ -434,9 +435,13 @@
 														text: '确认',
 														btnClass: 'btn-primary-0',
 														action: function() {
-															if (parent.children("li").length == 0) {
-																parent.html(noDataHtml);
-															}
+															//if (parent.children("li").length == 0) {
+															//	parent.html(noDataHtml);
+															//}
+                              var $Index = $(".tab-bar .tab li.active").index();
+                      				var $list = $(".list .item");
+                              
+                      				queryOrder($Index, $list, pageNum);
 														}
 													}
 												}

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác