Pārlūkot izejas kodu

Merge branch 'develop' of http://192.168.3.17/gitlab/zhanghongbo/qfw into develop

zhanghongbo 9 gadi atpakaļ
vecāks
revīzija
25d433ff92
67 mainītis faili ar 926 papildinājumiem un 1276 dzēšanām
  1. 11 14
      common/src/qfw/util/common.go
  2. 5 4
      common/src/qfw/util/credit/credit.go
  3. 4 3
      common/src/qfw/util/elastic/elasticutil_test.go
  4. 2 1
      common/src/qfw/util/encrypt_test.go
  5. 14 4
      common/src/qfw/util/image/imageutil.go
  6. 12 22
      common/src/qfw/util/mongodb/mongodbutil_test.go
  7. 5 3
      core/src/message.json
  8. 1 1
      core/src/qfw/active/activemanage.go
  9. 9 2
      core/src/qfw/coreutil/share.go
  10. 6 0
      core/src/qfw/front/webappointment.go
  11. 1 0
      core/src/qfw/manage/auditing.go
  12. 6 3
      core/src/qfw/manage/feedback.go
  13. 10 0
      core/src/qfw/member/bidmanage.go
  14. 3 3
      core/src/qfw/member/credit/creditdetail.go
  15. 7 10
      core/src/qfw/member/membermanager.go
  16. 10 0
      core/src/qfw/member/ordermanage.go
  17. 14 2
      core/src/qfw/search/searchService.go
  18. 4 0
      core/src/qfw/searchmarket/service.go
  19. 19 11
      core/src/qfw/yellowpage/yellowpagemanager.go
  20. 1 1
      core/src/timetask.json
  21. 133 37
      core/src/web/staticres/css/dev-qfw.css
  22. 29 22
      core/src/web/staticres/css/entcommunity.css
  23. 6 5
      core/src/web/staticres/css/enterprise.css
  24. 8 8
      core/src/web/staticres/css/index-new.css
  25. 1 0
      core/src/web/staticres/css/qfw.css
  26. 1 1
      core/src/web/staticres/css/swordfish.css
  27. BIN
      core/src/web/staticres/images/sina.png
  28. BIN
      core/src/web/staticres/images/starred.png
  29. BIN
      core/src/web/staticres/images/startgray.png
  30. BIN
      core/src/web/staticres/images/tbn7.png
  31. BIN
      core/src/web/staticres/images/tbn8.png
  32. BIN
      core/src/web/staticres/images/tbn9.png
  33. 13 9
      core/src/web/staticres/js/enterprise.js
  34. 9 7
      core/src/web/staticres/js/entportrait.js
  35. 46 15
      core/src/web/staticres/js/qfw.js
  36. 17 18
      core/src/web/staticres/js/relation.js
  37. 1 1
      core/src/web/templates/_err.html
  38. 11 0
      core/src/web/templates/common/errorhead.html
  39. 2 7
      core/src/web/templates/common/hotservice.html
  40. 1 1
      core/src/web/templates/common/login.html
  41. 10 8
      core/src/web/templates/common/memberleft.html
  42. 24 2
      core/src/web/templates/index.html
  43. 1 1
      core/src/web/templates/manage/web_regulationslist.html
  44. 1 1
      core/src/web/templates/manage/webexpresscontent.html
  45. 1 1
      core/src/web/templates/member/accountset/bindmail.html
  46. 1 1
      core/src/web/templates/member/accountset/bindphone.html
  47. 2 2
      core/src/web/templates/member/accountset/updatephone.html
  48. 1 1
      core/src/web/templates/member/credit/creditrule.html
  49. 3 3
      core/src/web/templates/member/credit/mycredit.html
  50. 4 0
      core/src/web/templates/member/editenterprise.html
  51. 34 19
      core/src/web/templates/search/enterpriseList.html
  52. 20 15
      core/src/web/templates/service/bid.html
  53. 0 1
      core/src/web/templates/service/demand.html
  54. 51 26
      core/src/web/templates/service/detail.html
  55. 0 2
      core/src/web/templates/service/list.html
  56. 42 14
      core/src/web/templates/service/viewsingledemand.html
  57. 7 8
      core/src/web/templates/swordfish/wxshare.html
  58. 111 90
      core/src/web/templates/yellowpage/enterpriseinfo.html
  59. 0 408
      core/src/web/templates/yellowpage/ungxenterpriseinfo.html
  60. 0 403
      core/src/web/templates/yellowpage/unrzenterpriseinfo.html
  61. 12 11
      credit/src/config.json
  62. 127 2
      credit/src/main.go
  63. 1 1
      credit/src/qfw/creditlog/creditlog.go
  64. 35 25
      credit/src/qfw/creditrpc/creditrpc.go
  65. 11 14
      credit/src/qfw/creditrpc/creditrpc_test.go
  66. 1 1
      weixin/src/config.json
  67. 4 1
      weixin/src/qfw/weixin/menu.go

+ 11 - 14
common/src/qfw/util/common.go

@@ -5,7 +5,9 @@ import (
 	cryptoRand "crypto/rand"
 	"encoding/hex"
 	"encoding/json"
+	"fmt"
 	"github.com/dchest/captcha"
+	"gopkg.in/mgo.v2/bson"
 	"io"
 	"log"
 	mathRand "math/rand"
@@ -37,20 +39,6 @@ func Sumstring(code string) (sum int) {
 	return
 }
 
-//捕获异常
-var Catch = func() {
-	if r := recover(); r != nil {
-		log.Println("[E]", r)
-		for skip := 1; ; skip++ {
-			_, file, line, ok := runtime.Caller(skip)
-			if !ok {
-				break
-			}
-			go log.Printf("====----", "%v,%v\n", file, line)
-		}
-	}
-}
-
 //获取随机数
 func GetRandom(n int) string {
 	var idChars = []byte("0123456789")
@@ -370,3 +358,12 @@ func InterfaceArrToint64Arr(arr []interface{}) []int64 {
 	}
 	return tmp
 }
+
+//根据bsonID转string
+func BsonIdToSId(uid interface{}) string {
+	if u, ok := uid.(string); ok {
+		return u
+	} else {
+		return fmt.Sprintf("%x", string(uid.(bson.ObjectId)))
+	}
+}

+ 5 - 4
common/src/qfw/util/credit/credit.go

@@ -30,8 +30,8 @@ const (
 	A_FXFWXQ = "a13" //分享服务
 	A_WCJY   = "a14" //完成交易
 	A_WCJYPJ = "a15" //完成交易评价
-	A_JYSCTS = "a63" //剑鱼首次推送
-	A_ALL    = "a64" //一次性积分任务完成
+	A_JYSCTS = "a61" //剑鱼首次推送
+	A_ALL    = "a62" //一次性积分任务完成
 
 	B_QD       = "b1" //签到
 	B_QD_T     = 7    //最高连续签到次数
@@ -59,7 +59,7 @@ func init() {
 	util.ReadConfig(&SysConfig)
 	CreditA = make(map[string]uint64)
 	//初始化一次性任务
-	for i := 1; i <= 64; i++ {
+	for i := 1; i <= 62; i++ {
 		CreditA["a"+fmt.Sprint(i)] = uint64(i)
 	}
 	Rc = rpc.RpcCall{Addr: SysConfig["creditRpc"].(string)}
@@ -121,7 +121,7 @@ func UpuserCreditA(code, userId string, credit_a int) (bool, int) {
 		ret = 1 << (tmp - 1)
 	}
 	n_credit_a := uint64(credit_a) + ret
-	b := mogo.Update("user", `{"_id":"`+userId+`"}`, `{"$set":{"credit_a":`+fmt.Sprint(int(n_credit_a))+`}}`, true, false)
+	b := mogo.Update("user", `{"_id":"`+userId+`"}`, &map[string]interface{}{"$set": &map[string]interface{}{"credit_a": int64(n_credit_a)}}, true, false)
 	return b, int(n_credit_a)
 }
 
@@ -181,6 +181,7 @@ func OutCreditB(userId, code, umid string, score int, param map[string]interface
 
 //更新积分和session
 func UpuserCreditSession(userId, code, dtype string, param map[string]interface{}, xb *xweb.Action) bool {
+	log.Println("更新积分和session", userId, code, dtype, param)
 	b := false
 	score := 0
 	util.Try(func() {

+ 4 - 3
common/src/qfw/util/elastic/elasticutil_test.go

@@ -7,7 +7,6 @@ import (
 	"log"
 	"qfw/util/mongodb"
 	"testing"
-	"time"
 )
 
 func Test_Find1(t *testing.T) {
@@ -180,8 +179,10 @@ func Test_first(t *testing.T) {
 
 func Test_date(t *testing.T) {
 	//"1448267541"
-	s := time.Now().UnixNano()
-	log.Println(s, time.Now().Unix(), fmt.Sprintf("%d", s)[4:12], 999999/60/60)
+	//s := time.Now().UnixNano()
+	//log.Println(s, time.Now().Unix(), fmt.Sprintf("%d", s)[4:12], 999999/60/60)
+	var n uint64 = 1
+	log.Println(n<<62, int(n<<62))
 }
 
 func Test_Getpage(t *testing.T) {

+ 2 - 1
common/src/qfw/util/encrypt_test.go

@@ -12,7 +12,8 @@ import (
 func TestEncrypt(t *testing.T) {
 	se := &SimpleEncrypt{Key: "topnet"}
 
-	log.Println(se.EncodeString("obEpLuH03fTYZ2e0xhJL3k7H6q48,ff,ff,swordfishaction"))
+	log.Println(se.EncodeString("oJULtwzXo6EFV1Ah-XeyRBimXGM8,ff,ff,swordfishaction"))
+	log.Println(se.DecodeString("GyUlIhEDDjcfWCAyIl4xBkgsERYiLAwZLCg9VkkSEkMWCEkHAwACCgMdBwcRDREdGwE="))
 }
 
 func Test_sim(t *testing.T) {

+ 14 - 4
common/src/qfw/util/image/imageutil.go

@@ -6,7 +6,7 @@ import (
 	"image/png"
 	"log"
 	"os"
-	"qfw/util"
+	"runtime"
 	"strings"
 )
 
@@ -21,6 +21,18 @@ func LoadImg(filepath string) (img image.Image, err error) {
 }
 
 func MakeResize(path string, newX, newY, quality int, t int) (newName string, err error) {
+	defer func() {
+		if r := recover(); r != nil {
+			log.Println("[E]", r)
+			for skip := 1; ; skip++ {
+				_, file, line, ok := runtime.Caller(skip)
+				if !ok {
+					break
+				}
+				go log.Printf("%v,%v\n", file, line)
+			}
+		}
+	}()
 	img, err := LoadImg(path)
 	if nil == err {
 		path := strings.Replace(strings.Replace(path, "\\\\", "\\", -1), "\\", "/", -1)
@@ -91,11 +103,9 @@ func MakeResize(path string, newX, newY, quality int, t int) (newName string, er
 			log.Println("生成缩略图出错", err)
 		}
 		return strings.Replace(s, "/", "", -1) + oname, err1
-	} else {
-		util.Catch()
 	}
-	return "", err
 
+	return "", err
 }
 
 //是否达到压缩条件

+ 12 - 22
common/src/qfw/util/mongodb/mongodbutil_test.go

@@ -17,16 +17,16 @@ func Test_orAnd(t *testing.T) {
 	}
 }
 func Test_FindByQuery(t *testing.T) {
-	InitMongodbPool(1, "192.168.56.101", "test")
+	InitMongodbPool(1, "192.168.3.18:27080", "spider")
 	//查找单个
 	//var ss = FindOne("test1", "{'_id':'553306bce30454598ff1bc14'}")
-	log.Println(FindOne("test1", M{"name": "32432423zzzz"}))
-	log.Println("count", Count("test1", M{"name": "zzzz"}))
+	//log.Println(FindOne("test1", M{"name": "32432423zzzz"}))
+	//log.Println("count", Count("test1", M{"name": "zzzz"}))
 	//obj := map[string]interface{}{"name": "ggg555g32423zzzz"}
 	//log.Println(Save("test1", &obj))
-	log.Println((*(FindById("test1", "55330b77e30454598ff1bd6d", "{'_id':0}"))))
+	//log.Println((*(FindById("test1", "55330b77e30454598ff1bd6d", "{'_id':0}"))))
 	//查询多个
-	log.Println(Find("test1", "{'_id':'55330b77e30454598ff1bd6d'}", nil, "{'_id':0,'name':'1'}", true, -1, -1))
+	//log.Println(Find("test1", "{'_id':'55330b77e30454598ff1bd6d'}", nil, "{'_id':0,'name':'1'}", true, -1, -1))
 	//log.Println(Find("test1", "{'name':{'$regex':'1ss$'}}", nil, "{'_id':0,'name':'1'}", false, 1, 2))
 	//统计
 	//log.Println(Count("test1", "{'name':{'$regex':'^1ss'}}"))
@@ -35,15 +35,10 @@ func Test_FindByQuery(t *testing.T) {
 	//删除
 	//log.Println(Del("test1", "{'name':'AAA'}"))
 	//更新
-	//log.Println(Update("test1", "{'name':'1ss'}", "{'$set':{'ss':'test','age':100}}", false, false))
-	b := make([]M, 2)
-	b[0] = M{
-		"name": "zzzz",
-	}
-	b[1] = M{
-		"name": "bbbb",
-	}
-	_ = b
+
+	b := Update("test1", "{'_id':'56a0917ee49c13d5314daa0f'}", &map[string]interface{}{"$set": &map[string]interface{}{"credit_a": int64(2305843009213693695)}}, true, false)
+	//b := Update("test1", "{'_id':'56a0917ee49c13d5314daa0f'}", &map[string]interface{}{"age": "1"}, true, false)
+	log.Println("ssssssss", b)
 	//批量插入
 	//log.Println(SaveBulk("test1", b...))
 }
@@ -75,14 +70,9 @@ func Test_findField(t *testing.T) {
 	InitMongodbPool(1, "192.168.3.18:27080", "qfw")
 	//log.Println(FindById("enterprise", "556d858ec2e875307286f863", `{"_id":1}`))
 	//log.Println(FindOne("identification", "{'o_identificationinfo.s_id':'12312312312312312x','i_identificationtype':2}"))
-	obj := FindOne("bidding_back", &map[string]interface{}{
-		"title": "2015新乡市卫河共产主义渠管理处西王村涵闸拆除回填工程结果公示",
-	})
-	if *obj != nil {
-		log.Println("11111")
-	} else {
-		log.Println("222")
-	}
+
+	log.Println((*FindById("user", "5668e447af537458a9000006", `{"credit_a":1}`))["credit_a"].(int64))
+
 }
 
 func Test_reg(t *testing.T) {

+ 5 - 3
core/src/message.json

@@ -1,13 +1,15 @@
 {
 	"weixinrpc":"127.0.0.1:82",
 	"swordfishaction":"/swordfish/page",
+	"signature":"/member/credit/myCredit",
 	"entsearchaction":"/search/enterprise/ent.html",
 	"lawsearchaction":"/law/qfw/index",
 	"msiteaction":"/ent/wsite/edit",
 	"indentify":{
 		"success":{
 			"result":"企业认证",
-			"detail":"您的企业已经成功通过实名认证!",
+			"detail":"您已经成功通过企业实名认证!您可以使用发布服务信息,查询企业信息,使用剑鱼招标订阅等多种功能!",
+			"wxdetail":"您已经通过了实名认证!",
 			"remark":"建议您在电脑端时用微信登录!"
 		},
 		"false":{
@@ -18,7 +20,7 @@
 	"pindentify":{
 		"success":{
 			"result":"个人认证",
-			"detail":"您已经成功通过实名认证,可以发布服务,等待接单",
+			"detail":"您已经成功通过个人实名认证!您可以使用发布服务信息,查询企业信息,使用剑鱼招标订阅等多种功能!",
 			"remark":"建议您在电脑端时用微信登录!"
 		},
 		"false":{
@@ -29,7 +31,7 @@
 	"oindentify":{
 		"success":{
 			"result":"机构认证",
-			"detail":"您的机构已经成功通过实名认证!",
+			"detail":"您已经成功通过机构实名认证!您可以使用发布服务信息,查询企业信息,使用剑鱼招标订阅等多种功能!",
 			"remark":"建议您在电脑端时用微信登录!"
 		},
 		"false":{

+ 1 - 1
core/src/qfw/active/activemanage.go

@@ -28,7 +28,7 @@ type Activemanage struct {
 func (a *Activemanage) Luckdraw(activecode, id string) error {
 	//userInfo := a.GetSession("userInfo").(*map[string]interface{})
 	openid := id //(*userInfo)["s_m_openid"].(string)
-	a.T["shareid"] = coreutil.FindMyShareId(openid)
+	a.T["shareid"] = coreutil.FindMyShareId(activecode, openid)
 	//
 	if activecode == "topcj" {
 		se := SimpleEncrypt{Key: "topnet2015topnet2015"}

+ 9 - 2
core/src/qfw/coreutil/share.go

@@ -3,18 +3,25 @@ package coreutil
 import (
 	"fmt"
 	"qfw/util/mongodb"
+	"time"
 )
 
 //取到分享者的shareid
-func FindMyShareId(openid string) string {
+func FindMyShareId(activecode, openid string) string {
 	//userInfo := a.GetSession("userInfo").(*map[string]interface{})
 	//openid := (*userInfo)["s_m_openid"].(string)
-	ret := mongodb.FindOne("person_share", "{'s_openid':'"+openid+"'}")
+	ret := mongodb.FindOne("person_share", "{'s_openid':'"+openid+"','s_businesscode':'"+activecode+"'}")
 	var shareid string
 	if (*ret)["i_shareid"] == nil {
 		id := GetShareId(TYPE_INVITE)
 		GetShareQR(id)
 		shareid = fmt.Sprintf("%d", id)
+		data := make(map[string]interface{})
+		data["s_openid"] = openid
+		data["s_businesscode"] = activecode
+		data["i_shareid"] = shareid
+		data["l_timestamp"] = time.Now().Unix()
+		mongodb.Save("person_share", data)
 	} else {
 		shareid = (*ret)["i_shareid"].(string)
 	}

+ 6 - 0
core/src/qfw/front/webappointment.go

@@ -8,6 +8,7 @@ import (
 	"github.com/dchest/captcha"
 	"github.com/go-xweb/xweb"
 	. "gopkg.in/mgo.v2/bson"
+	"log"
 	member "qfw/member"
 	. "qfw/util/mongodb"
 	msg "qfw/util/msg"
@@ -211,6 +212,11 @@ func doappointment(a *Appointment) (status string) {
 	fmt.Println("-----", tim.Unix())
 	data["l_createdate"] = time.Now().Unix()
 	data["l_timestamp"] = time.Now().Unix() //时间戳
+	userinfo := *a.GetSession("userInfo").(*map[string]interface{})
+	if userinfo["s_avatar"] != nil {
+		data["s_pic"] = userinfo["s_avatar"]
+	}
+	log.Println(data["s_pic"])
 	tm := time.Now().Unix()
 	id := Save("serviceorder", data)
 	if len(id) > 0 {

+ 1 - 0
core/src/qfw/manage/auditing.go

@@ -755,6 +755,7 @@ func (s *SystemManage) Updateaudit() error {
 						}
 						coreutil.SendManagerNotifyMsg(&qrpc.NotifyMsg{Openid: openid, Title: s_result, Detail: util.GetPropertie("freeze.manager", coreconfig.MessageConfig).(string), Remark: s_remark})
 					} else { //认证通知
+						s_detail = util.GetPropertie("ptcindentify.success.wxdetail", coreconfig.MessageConfig).(string)
 						coreutil.SendIdentifyTplMsg(&qrpc.NotifyMsg{Openid: openid, Remark: s_remark, Detail: s_detail, Result: s_result})
 					}
 				}()

+ 6 - 3
core/src/qfw/manage/feedback.go

@@ -8,11 +8,13 @@ import (
 	"fmt"
 	. "gopkg.in/mgo.v2/bson"
 	"qfw/coreutil"
+	"qfw/front"
 	"qfw/util"
 	. "qfw/util/mongodb"
 	. "qfw/util/msg"
 	qrpc "qfw/util/rpc"
 	"strings"
+	"time"
 )
 
 //后台处理反馈建议页面
@@ -135,6 +137,7 @@ func (s *SystemManage) Updateback() error {
 		data["s_auditid"] = s.GetSession("userId")
 		data["s_record"] = s.GetString("s_record")
 		data["l_editordate"] = s.GetString("l_editordate")
+		data["l_timestamp"] = time.Now().Unix()
 		data2 := map[string]interface{}{
 			"$set": data,
 		}
@@ -147,10 +150,10 @@ func (s *SystemManage) Updateback() error {
 				openid := (*f)["s_m_openid"].(string)
 				s_result := "意见反馈处理结果"
 				if len(title) > 20 {
-					title = title[:20] + "..."
+					title = front.SubstrByByte(title, 40) + "..."
 				}
-				s_detail := "以下是对你提交“" + title + "”意见的回复内容"
-				s_remark := s.GetString("s_opinion")
+				s_detail := "以下是对你提交“" + title + "”意见的回复结果"
+				s_remark := "  " + s.GetString("s_opinion")
 				go func() {
 					coreutil.SendManagerNotifyMsg(&qrpc.NotifyMsg{Openid: openid, Title: s_result, Detail: s_detail, Remark: s_remark})
 				}()

+ 10 - 0
core/src/qfw/member/bidmanage.go

@@ -207,12 +207,22 @@ func (d *BidManage) ChangeStatus() error {
 				param := make(map[string]interface{})
 				param["objid"] = wtb["s_userid"].(string)
 				credit_a := util.IntAll(d.GetSession("credit_a"))
+				//log.Println("选标", credit.AIsHasDo(credit.A_WCJY, credit_a), userId, param["objid"])
 				if credit.AIsHasDo(credit.A_WCJY, credit_a) {
 					credit.UpuserCreditSession(userId, credit.C_JY, "B", param, d.Action)
 				} else {
 					credit.UpuserCreditSession(userId, credit.A_WCJY, "A", nil, d.Action)
 					credit.UpuserCreditSession(userId, credit.C_JY, "B", param, d.Action)
 				}
+				//判断对方是否完成一次性任务
+				rr := *FindById("user", param["objid"].(string), nil)
+				if !credit.AIsHasDo(credit.A_WCJY, util.IntAll(rr["credit_a"])) {
+					b, credit_a, score, _ := credit.InCreditA(param["objid"].(string), credit.A_WCJY, util.IntAll(rr["credit_a"]))
+					if b {
+						d.Session().UpdateByCustomField("id", param["objid"].(string), "credit_a", credit_a)
+						d.Session().UpdateByCustomField("id", param["objid"].(string), "i_credit", util.IntAll(rr["i_credit"])+score)
+					}
+				}
 			}
 		}
 	}

+ 3 - 3
core/src/qfw/member/credit/creditdetail.go

@@ -171,7 +171,7 @@ func (c *credit) CreditList() error {
 		if currentPage == 1 {
 			count = mongodb.Count("creditlog", query)
 		}
-		r = *mongodb.Find("creditlog", query, `{"l_date":-1}`, nil, false, start, limit)
+		r = *mongodb.Find("creditlog", query, `{"l_datenm":-1}`, nil, false, start, limit)
 		for i := 0; i < len(r); i++ {
 			r[i]["index"] = (i + 1) + (currentPage-1)*limit
 			d := r[i]["l_date"]
@@ -202,7 +202,7 @@ func (c *credit) YaoqingByEmail() error {
 				//获取二维码随机数
 				userInfo := c.GetSession("userInfo").(*map[string]interface{})
 				openid := (*userInfo)["s_m_openid"].(string)
-				wxnum := cu.FindMyShareId(openid)
+				wxnum := cu.FindMyShareId("email", openid)
 				cu.SendMail("invitebyemail", s_email, nickName+":邀请你加入企明星", nickName, wxnum)
 				//邀请记录
 				yqmap := map[string]interface{}{}
@@ -210,7 +210,7 @@ func (c *credit) YaoqingByEmail() error {
 				yqmap["s_toemail"] = s_email
 				yqmap["i_wxnum"] = wxnum
 				yqmap["l_date"] = time.Now().Unix()
-				mongodb.Save("invite_log", yqmap)
+				mongodb.Save("invitebyemail_log", yqmap)
 				flag = true
 			}
 		}

+ 7 - 10
core/src/qfw/member/membermanager.go

@@ -1080,18 +1080,15 @@ func returnFront(m *Member, key string) error {
 }
 
 //更新cookie sessoin
-func UpdateCookieSession(action *xweb.Action, loginType string, flag bool, m map[string]interface{}) {
-	r := make(map[string]interface{})
-	if d, err := json.Marshal(m); err != nil || json.Unmarshal(d, &r) != nil {
-		return
-	}
+func UpdateCookieSession(action *xweb.Action, loginType string, flag bool, r map[string]interface{}) {
+	log.Println(r)
 	freeze := IntAll(r["i_freeze"])
 	action.Session().Set("i_freeze", freeze)
 	if r["s_nickname"] == nil || r["s_nickname"].(string) == "" {
 		bindweixin := "qmx-" + fmt.Sprintf("%d%d", time.Now().Local().Unix(), rand.Intn(99))
 		action.SetSession("nickName", bindweixin)
 		go func() {
-			Update("user", `{"_id":"`+r["_id"].(string)+`"}`, `{"$set":{"s_nickname":"`+bindweixin+`"}}`, false, false)
+			Update("user", `{"_id":"`+BsonIdToSId(r["_id"])+`"}`, `{"$set":{"s_nickname":"`+bindweixin+`"}}`, false, false)
 		}()
 	} else {
 		action.SetSession("nickName", r["s_nickname"])
@@ -1103,14 +1100,14 @@ func UpdateCookieSession(action *xweb.Action, loginType string, flag bool, m map
 	}
 	action.App.SessionManager.SetMaxAge(30 * time.Minute)
 	action.Session().SetMaxAge(30 * time.Minute)
-	action.Session().Set("id", r["_id"])
+	action.Session().Set("id", BsonIdToSId(r["_id"]))
 	action.Session().Set("identWay", IntAll(r["i_identificationway"]))
 	action.SetSession("loginName", r[loginType])
 	action.SetSession("loginType", loginType)
 	UpdateSession(action, r)
 	_, err := action.GetCookie("USER_INFO")
 	if flag || err == nil {
-		userInfo, _ := json.Marshal(map[string]interface{}{"loginId": r["_id"], "loginType": loginType})
+		userInfo, _ := json.Marshal(map[string]interface{}{"loginId": BsonIdToSId(r["_id"]), "loginType": loginType})
 		cookie_userName := &http.Cookie{Name: "USER_INFO", Value: base64.StdEncoding.EncodeToString(userInfo), Path: "/", Expires: time.Now().AddDate(0, 0, 7)}
 		action.SetCookie(cookie_userName)
 	}
@@ -1123,7 +1120,7 @@ func UpdateSession(action *xweb.Action, r map[string]interface{}) {
 		if r["s_nickname"] != nil && r["s_nickname"].(string) != "" {
 			setSessMap["nickName"] = r["s_nickname"]
 		}
-		setSessMap["userId"] = r["_id"]
+		setSessMap["userId"] = BsonIdToSId(r["_id"])
 		setSessMap["s_m_openid"] = r["s_m_openid"]
 		setSessMap["userType"] = IntAllDef(r["i_type"], 2)
 		setSessMap["userInfo"] = &r
@@ -1163,7 +1160,7 @@ func UpdateSession(action *xweb.Action, r map[string]interface{}) {
 		action.SetSession("identWay", IntAll(r["i_identificationway"]))   //认证状态
 		action.SetSession("opLocDistrict", r["opLocDistrict"])            //行政区划代码
 		**/
-		action.Session().UpdateByCustomField("id", r["_id"], "", &setSessMap)
+		action.Session().UpdateByCustomField("id", BsonIdToSId(r["_id"]), "", &setSessMap)
 	}, func(e interface{}) {
 		log.Println("登录报错", e)
 	})

+ 10 - 0
core/src/qfw/member/ordermanage.go

@@ -78,12 +78,22 @@ func (o *OrderManage) ChangeStatus() error {
 			param["objid"] = (*r)["s_editorid"]
 			credit_a := util.IntAll(o.GetSession("credit_a"))
 			userId := util.ObjToString(o.GetSession("userId"))
+			//log.Println("预约", credit.AIsHasDo(credit.A_WCJY, credit_a), userId, param["objid"])
 			if credit.AIsHasDo(credit.A_WCJY, credit_a) {
 				credit.UpuserCreditSession(userId, credit.C_JY, "B", param, o.Action)
 			} else {
 				credit.UpuserCreditSession(userId, credit.A_WCJY, "A", nil, o.Action)
 				credit.UpuserCreditSession(userId, credit.C_JY, "B", param, o.Action)
 			}
+			//判断对方是否完成一次性任务
+			rr := *FindById("user", param["objid"].(string), nil)
+			if !credit.AIsHasDo(credit.A_WCJY, util.IntAll(rr["credit_a"])) {
+				b, credit_a, score, _ := credit.InCreditA(param["objid"].(string), credit.A_WCJY, util.IntAll(rr["credit_a"]))
+				if b {
+					o.Session().UpdateByCustomField("id", param["objid"].(string), "credit_a", credit_a)
+					o.Session().UpdateByCustomField("id", param["objid"].(string), "i_credit", util.IntAll(rr["i_credit"])+score)
+				}
+			}
 		}
 
 	}

+ 14 - 2
core/src/qfw/search/searchService.go

@@ -187,6 +187,18 @@ func (n *Search) GetEnterpriseList(reqType, param /*参数*/ string) error {
 //即时搜索
 func (n *Search) Sim() error {
 	keyword := n.GetString("words")
+	//查询送积分
+	userId := ObjToString(n.GetSession("userId"))
+	if len(userId) > 0 && len(keyword) > 0 {
+		credit_a := IntAll(n.GetSession("credit_a"))
+		if credit.AIsHasDo(credit.A_QYCX, credit_a) {
+			credit.UpuserCreditSession(userId, credit.B_QYCX, "B", nil, n.Action)
+		} else {
+			credit.UpuserCreditSession(userId, credit.A_QYCX, "A", nil, n.Action)
+			credit.UpuserCreditSession(userId, credit.B_QYCX, "B", nil, n.Action)
+		}
+	}
+
 	str := `{
 	          "match": {
 	            "enterprise.EntName": {
@@ -324,7 +336,7 @@ func searhWebContentent(querymap map[string]string, n *Search, reqType string) (
 						      }
 						    }
 						  }
-						,"_source":["_id","EntName","RegOrgName","RegNo","EntType","LeRep","EstDate","OpLocDistrictName","OpStateName","s_servicenames","s_action","OpLocDistrict"]
+						,"_source":["_id","EntName","RegOrgName","RegNo","EntType","LeRep","EstDate","OpLocDistrictName","RegCap","OpStateName","OpState","s_servicenames","s_action","OpLocDistrict"]
 						,"from":0,
 						"size":` + fmt.Sprintf("%v", perPage) + `,
 						  "sort": [{"_score": "desc"},{"OpSint":"desc"},{"RegCap":"desc"}]
@@ -469,7 +481,7 @@ func searhWebContentent(querymap map[string]string, n *Search, reqType string) (
 			"s_synopsis":{"force_source": true},
 			"stock":{"force_source": true}
         }
-    },"_source":["_id","EntName","RegOrgName","RegNo","EntType","LeRep","EstDate","OpLocDistrictName","OpStateName","s_servicenames","s_action","OpLocDistrict","s_submitid"]
+    },"_source":["_id","EntName","RegOrgName","RegNo","EntType","LeRep","EstDate","OpLocDistrictName","RegCap","OpStateName","OpState","s_servicenames","s_action","OpLocDistrict","s_submitid"]
 	,"from":` + fmt.Sprintf("%v", ((currentPage-1)*perPage)) + `,
 	"size":` + fmt.Sprintf("%v", perPage) +
 			`,"sort":[` + sort + `] }`

+ 4 - 0
core/src/qfw/searchmarket/service.go

@@ -256,6 +256,10 @@ func (s *Service) Comment() error {
 					params["l_timeappend"] = time.Now().Unix()
 					params["l_timereply"] = time.Now().Unix()
 					params["s_nickname"] = s_nickname
+					userinfo := *s.GetSession("userInfo").(*map[string]interface{})
+					if userinfo["s_avatar"] != nil {
+						params["s_pic"] = userinfo["s_avatar"]
+					}
 					rs := mongo.Save("comment", params)
 					if rs != "" {
 						if s_demand == "1" {

+ 19 - 11
core/src/qfw/yellowpage/yellowpagemanager.go

@@ -13,6 +13,7 @@ import (
 	cf "qfw/coreconfig"
 	"qfw/mobile"
 	"qfw/util"
+	"qfw/util/credit"
 	. "qfw/util/mongodb"
 	"qfw/util/redis"
 	"strconv"
@@ -42,7 +43,7 @@ func FormatDate(src *interface{}) string {
 
 func GetEntInfo(id string) interface{} {
 	res := FindById("enterprise", id, `{"RegNo":1, "EntName":1, "EntType":1, "EntTypeName":1, "OpLocDistrict":1, "LeRep":1, "LegCerNO":1, "Tel":1, "Dom":1, "OpScope":1, "OpFrom":1, "OpTo":1, "RegCap":1, "EstDate":1, "CompForm":1, "CompFormName":1, "OpState":1, "OpStateName":1, "RegOrgName":1, "IssBLicDate":1, "Timestamp":1, "s_synopsis":1, "SourceType":1, "NB_email":1,"IndustryPhyName":1,"investor":1,"alterInfo":1, "s_enturl, "i_province":1, "i_city":1, "i_area":1,"s_action":1,"s_persion":1,"s_mobile":1,"s_address":1,"s_avatar":1,"s_microwebsite":1,"s_qq":1,"s_submitid":1,"s_email":1}`)
-	if res != nil {
+	if res != nil && len(*res) > 0 {
 		id := (*res)["s_submitid"]
 		if id != nil {
 			ud := FindById("user", id.(string), `{"i_comauthenttype":1}`)
@@ -116,9 +117,6 @@ func GetEntInfo(id string) interface{} {
 				}
 			}
 		}
-		for _, v := range alterInfo {
-			log.Println(v["AltAf"])
-		}
 		(*res)["alterInfo"] = alterInfo
 		return *res
 	}
@@ -128,15 +126,19 @@ func GetEntInfo(id string) interface{} {
 //企业黄查询结果
 func (yp *Yellowpage) EnterpriseInfo(id string) error {
 	id = strings.Split(id, "#")[0]
-	if ret, err := redis.GetBytes("enterprise", id); err == nil && false {
+	if ret, err := redis.GetBytes("enterprise", id); err == nil {
 		return yp.SetBody(*ret)
 	} else {
-		yp.T["res"] = GetEntInfo(id)
-		contentuser, erruser := yp.Render4Cache("/yellowpage/enterpriseinfo.html", &yp.T)
-		if erruser == nil {
-			redis.PutBytes("enterprise", id, &contentuser, 7*ONEDAY)
+		if info := GetEntInfo(id); info != nil {
+			yp.T["res"] = info
+			contentuser, erruser := yp.Render4Cache("/yellowpage/enterpriseinfo.html", &yp.T)
+			if erruser == nil {
+				redis.PutBytes("enterprise", "enterpriseInfo_"+id, &contentuser, 7*ONEDAY)
+			}
+			return yp.SetBody(contentuser)
+		} else {
+			return yp.Render("/_error.html")
 		}
-		return yp.SetBody(contentuser)
 	}
 }
 
@@ -272,6 +274,13 @@ func (yp *Yellowpage) GetRelation() error {
 			redis.Put("other", "relation-"+regNo, relation, 7*ONEDAY)
 		}
 		yp.ServeJson(M{"flag": true, "relation": relation})
+		r := relation.(map[string]interface{})
+		var links *[]map[string]interface{}
+		if d, err := json.Marshal(r["links"]); err == nil && json.Unmarshal(d, &links) == nil && len(*links) > 0 {
+			if credit.AIsHasDo(credit.A_CKGXW, util.IntAll(yp.GetSession("credit_a"))) {
+				credit.UpuserCreditSession(yp.GetSession("userId").(string), credit.A_CKGXW, "A", nil, yp.Action)
+			}
+		}
 	} else {
 		yp.ServeJson(M{"flag": false})
 	}
@@ -310,7 +319,6 @@ func makeRelation(mnregno, mnname string) interface{} {
 
 	for el := ls.Front(); el != nil; el = el.Next() {
 		v, _ := el.Value.([]string)
-		log.Println(v)
 		//加投资人
 		if _, ok := node[v[1]]; !ok {
 			node[v[1]] = map[string]string{

+ 1 - 1
core/src/timetask.json

@@ -1 +1 @@
-{"comment":{"c_rate":720,"commentrate":900},"market":{"demand":{"attr":["i_hits","i_bids","i_status"],"timepoint":"2016-01-20 17:03:33"},"service":{"attr":["i_hits","i_sales","i_comments","i_score","i_appcounts"],"timepoint":"2016-01-20 17:03:33"}},"marketisstart":true,"marketrate":300}
+{"comment":{"c_rate":720,"commentrate":900},"market":{"demand":{"attr":["i_hits","i_bids","i_status"],"timepoint":"2016-01-22 08:55:02"},"service":{"attr":["i_hits","i_sales","i_comments","i_score","i_appcounts"],"timepoint":"2016-01-22 08:55:02"}},"marketisstart":true,"marketrate":300}

+ 133 - 37
core/src/web/staticres/css/dev-qfw.css

@@ -2,7 +2,7 @@
 body {
 	padding-top: 0px;
 	font-family: tahoma, arial, 'Hiragino Sans GB', 'Microsoft YaHei', 宋体, sans-serif;
-	color: #666;
+	color: #4e5051;
 }
 .h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6{
 	font-family: tahoma, arial, 'Hiragino Sans GB', 'Microsoft YaHei', 宋体, sans-serif;
@@ -21,6 +21,10 @@ ul li {
 a{
 	cursor: pointer;
 }
+.overflow-hidden{
+	overflow: hidden;
+	height: 100%;
+}
 .font-size-20{
 	font-size: 20px;
 }
@@ -121,29 +125,29 @@ a{
 	border:1px solid #E5E6E9 !important;
 }
 .a-border {
-	border: 1px solid #ddd !important;
+	border: 1px solid #e5e6e9 !important;
 }
 
 .a-border-l {
-	border-left: 1px solid #ddd !important;
+	border-left: 1px solid #e5e6e9 !important;
 }
 
 .a-border-r {
-	border-right: 1px solid #ddd !important;
+	border-right: 1px solid #e5e6e9 !important;
 }
 
 .a-border-t {
-	border-top: 1px solid #ddd !important;
+	border-top: 1px solid #e5e6e9 !important;
 }
 
 .a-border-b {
-	border-bottom: 1px solid #ddd !important;
+	border-bottom: 1px solid #e5e6e9 !important;
 }
 
 .a-border-t-only {
 	border-radius: 0px !important;
 	border: none !important;
-	border-top: 1px solid #ddd !important;
+	border-top: 1px solid #e5e6e9 !important;
 	box-shadow: none !important;
 }
 /*新样式*/
@@ -1125,7 +1129,7 @@ a{
 }
  .b-menu div{
 	height:35px;
-	width:103px;
+	width:104px;
 	text-align:center;
 	cursor:pointer;
 }
@@ -1274,7 +1278,20 @@ a{
 	color: #999999;
 	font-size: 13px;
 }
+.graystar1 {
+	background: url(/images/startgray.png) no-repeat 0 0;
+	width: 127px;
+	height: 10px;
+	margin-top: 0px;
+}
 
+.greenstar1 {
+	background: url(/images/starred.png) no-repeat 0 0;
+	height: 10px;
+	margin-top: -5px;
+	background-position: 0px -1px;
+	width: 34%;
+}
 .a-servicedetail .gray-star {
 	background: url(/images/u019.png) no-repeat 0 0;
 	width: 127px;
@@ -1357,6 +1374,7 @@ a{
 	line-height: 40px;
 	text-align: center;
 	font-size: 13px;
+	    border-radius: 0;
 }
 
 .a-servicedetail .d_fwfl>a:hover {
@@ -1407,23 +1425,28 @@ a{
 
 .a-servicedetail .d_pjlb {
 	font-size: 12px;
+	word-wrap: break-word;
+}
+.a-servicedetail .pson{
 	border-bottom: 1px solid #f7f6f4;
 	padding: 20px 0px 20px 10px;
-	height: 100px;
-	word-wrap: break-word;
+	clear: both;
+	float: left;
 }
 .a-servicedetail .d_pjlb div.first {
 	float: left;
 }
 .a-servicedetail textarea {
-	width: 90%;
+	width: 100%;
 }
 
 .a-servicedetail .d_pjlb_zj {
+	clear:both;
 	margin-top: 10px;
 	background-color: #f7f6f4;
 	padding: 5px;
     word-wrap: break-word;
+	margin-left:104px;
 }
 
 .a-servicedetail .d_service_jl {
@@ -1663,6 +1686,9 @@ style="color:#D03102;margin-right:5px;"
 .g-comment textarea{
 	width: 90%;
 }
+.m-comment{
+	margin-top:-4px;
+}
 .m-comment li a{
 	display:block;
 	height:26px;
@@ -1766,9 +1792,7 @@ style="color:#D03102;margin-right:5px;"
 	border: 1px solid #F5DC99;
 }
 .m-detailintroduction{
-	width:925px;
 	background:#FFF;
-	padding:15px;
 }
 .f-d.u-overflow img,.m-detailintroduction img{
 	max-width:100%;
@@ -2126,22 +2150,24 @@ style="color:#D03102;margin-right:5px;"
 	margin-right:20px;
 }
 .u-loadmore{
+	top:45px;
+	clear:both;
 	display: block;
-    cursor: pointer;
-    background: #f7f6f4;
-    height: 37px;
-    color: #51545b;
-    font-weight: 700;
-    line-height: 37px;
-    text-align: center;
-    margin: 30px auto 40px;
-    text-decoration: none;
-    font-size: 14px;
-    position: relative;
-    z-index: 5;
-    -webkit-transition: all ease .7s;
-    -moz-transition: all ease .7s;
-    transition: all ease .7s;
+	cursor: pointer;
+	background: #f7f6f4;
+	height: 37px;
+	color: #51545b;
+	font-weight: 700;
+	line-height: 37px;
+	text-align: center;
+	margin: 30px auto 40px;
+	text-decoration: none;
+	font-size: 14px;
+	position: relative;
+	z-index: 5;
+	-webkit-transition: all ease .7s;
+	-moz-transition: all ease .7s;
+	transition: all ease .7s;
 }
 .u-loadmore:hover{
 	 background: #e1e2e5;
@@ -2237,14 +2263,14 @@ style="color:#D03102;margin-right:5px;"
 	top: 0px;
 }
 .b-top{
-	min-height: 25px;
+	height: 25px;
 	line-height: 25px;
 	padding-right: 87px;
 	background-color: #464645;
 	font-size: 12px;
-	font-family: "SimSun";
+	font-family: tahoma, arial, 'Hiragino Sans GB', 宋体, sans-serif;
 }
-.b-top>div,.b-content{
+.b-top>div{
 	max-width: 1200px;
 	margin: auto;
 }
@@ -2261,7 +2287,7 @@ style="color:#D03102;margin-right:5px;"
 	margin-right: 5px;
 	background-color: #A0A0A0;
 	text-align: center;
-	padding: 3px 9px;
+	padding: 2px 9px;
 	position: relative;
 }
 .b-top i{
@@ -2269,7 +2295,7 @@ style="color:#D03102;margin-right:5px;"
 	left: 0px;
 }
 .b-top i.fuwushichang{
-	left: 3px;
+	left: 2px;
 	top: 3px;
 }
 .b-top i.qiyeshequ{
@@ -2279,15 +2305,14 @@ style="color:#D03102;margin-right:5px;"
 .b-top i.jianyu{
 	font-size: 16px;
 	left: 3px;
-	top: 1px;
 }
 .b-top i.weiguanwang1{
-	left: 4px;
+	left: 3.5px;
 	top: 1px;
 	font-size: 14px
 }
 .b-top i.zhengcefagui{
-	left: 4.5px;
+	left: 4px;
 	top: 2px;
 }
 .b-nav{
@@ -2456,7 +2481,9 @@ style="color:#D03102;margin-right:5px;"
 	height: 35px;
 }
 .b-content{
-	padding: 15px 0px 15px 0px;
+	padding: 0px;
+	margin: 15px auto;
+	max-width: 1200px;
 }
 .b-left{
 	background-color: #FFFFFF;
@@ -2500,6 +2527,75 @@ style="color:#D03102;margin-right:5px;"
 	width: 200px;
 	height: 180px;
 }
+.b-pcshare{
+	margin-top: 10px;
+	font-size: 16px;
+	color: #A0A0A0;
+	cursor: pointer;
+	position: relative;
+}
+.b-pcshare .bdsharebuttonbox{
+	display: none;	
+}
+.bd_weixin_popup{
+	opacity: 0;
+	visibility: hidden;
+}
+.b-pcshare-content{
+	position: absolute;
+	left: -1px;
+	top: 0px;
+	cursor: auto;
+	background-color: #ffffff;
+	font-size: 14px;
+	padding: 20px 0px;
+	border: 1px solid #e5e6e9;
+	color: #666;
+	z-index: 1;
+	display: none;
+}
+.b-pcshare-content img{
+	width: 19px;
+	height: 19px;
+	margin-right: 10px;
+}
+.b-pcshare-content>div:first-child>span:last-of-type{
+	position: relative;
+	width: 100px;
+	height: 100px;
+}
+.b-pcshare-content>div:first-child>span:last-of-type>table{
+	-ms-transform: scale(0.5,0.5);
+	-moz-transform: scale(0.5,0.5);
+	-webkit-transform: scale(0.5,0.5);
+	-o-transform: scale(0.5,0.5);
+	position: absolute;
+	left: -50px;
+	top: -55px;
+}
+.b-pcshare-content>div:first-child>span:last-of-type{
+	cursor: auto;
+	margin-bottom: 0px;
+}
+.b-pcshare-content>div:last-child>span:last-of-type{
+	margin-bottom: 0px;
+}
+.b-pcshare-content>div:last-child>span{
+	cursor: pointer;
+}
+.b-pcshare-content>div>span{
+	display: block;
+	margin-bottom: 15px;
+}
+.b-pcshare-content>div{
+	float: left;
+	display: inline-block;
+	vertical-align: top;
+	padding: 10px 20px;
+}
+.b-disabled{
+	color: #A0A0A0;
+}
 /*认证完第一次登录 end*/
 /*分辨率小于1200的时候调整布局,算上滚动条1217*/
 @media (max-width: 1217px) {

+ 29 - 22
core/src/web/staticres/css/entcommunity.css

@@ -34,6 +34,10 @@ a:focus, a:hover{
 .ttcon ul li:hover{
 	color: #16a086;
 }
+.entlist-page .entlist-allclaify{
+	color: #16a086;
+	font-weight: bold;
+}
 .entlist-page .nav-tabs{
 	background-color: #f7f8fa;
 	margin-top: 20px;
@@ -108,18 +112,16 @@ a:focus, a:hover{
 .entinfo-page .b-com-head .b-com-first{
 	line-height: 25px;
 }
-.entinfo-page .b-com-head .b-com-first>.b-microwebsite,.entinfo-page .b-com-head .b-com-first a{
+.entinfo-page .b-com-head .b-com-first a{
 	color: #16a086;
 }
-.entinfo-page .b-com-head .b-com-first>.b-microwebsite{
-	margin-left: 10px;
-}
 .entinfo-page .b-com-head .b-com-title{
 	font-size: 18px;
 	font-weight: bold;
 	margin-right: 5px;
 }
 .entinfo-page .b-com-head .b-com-second{
+	height: 29px;
 	line-height: 29px;
 }
 .entinfo-page .b-com-head .b-com-second .glyphicon{
@@ -187,13 +189,6 @@ a:focus, a:hover{
     z-index:1003; 
     overflow: auto; 	
 }
-.entinfo-share{
-	margin-top: 10px;
-	font-size: 16px;
-	color: #A0A0A0;
-	width: 60px;
-	cursor: pointer;
-}
 .ent-tab{
 	height: 50px;
 	background-color: #F6F8FA;
@@ -290,6 +285,10 @@ a:focus, a:hover{
 	display: inline-block;
 	margin-bottom: 5px;
 }
+.entinfo-basicinfo .entinfo-round>div>div>span.entinfo-disabled{
+	background-color: #f0f0f0;
+	color: #a0a0a0;
+}
 .entinfo-basicinfo .entinfo-round>div>div>span:nth-child(2){
 	text-overflow: ellipsis;
 	overflow: hidden;
@@ -330,13 +329,14 @@ a:focus, a:hover{
 }
 /*注册资本*/
 .entinfo-basicinfo .entinfo-regcap{
-	right: 405px;
+	right: 400px;
 	top: 107px;
 	text-align: right;
 }
 .entinfo-basicinfo .entinfo-regcap>img{
 	width: 36px;
 	height: 36.5px;
+	right: -40px !important;
 }
 .entinfo-basicinfo .entinfo-regcap-round{
 	top: 120px;
@@ -378,7 +378,7 @@ a:focus, a:hover{
 .entinfo-basicinfo .entinfo-entscale>img{
 	width: 50.5px;
 	height: 43.5px;
-	left: -45px;
+	left: -50px;
 }
 .entinfo-basicinfo .entinfo-entscale-round{
 	top: 330px;
@@ -414,23 +414,28 @@ a:focus, a:hover{
 }
 /*营业期限*/
 .entinfo-basicinfo .entinfo-operperiod{
-	left: 300px;
+	left: 310px;
 	top: -28px;
 }
 .entinfo-basicinfo .entinfo-operperiod>img{
 	width: 49.5px;
 	height: 49.5px;
-	left: -45px;
+	left: -50px;
 }
 .entinfo-basicinfo .entinfo-operperiod-round{
 	top: 10px;
 	right: 100px;
 }
 /*股东信息*/
-.entinfo-shareholderinfo li{
+.entinfo-shareholderinfo .b-com-content>div{
 	margin-right: 40px;
 	margin-bottom: 20px;
 	text-align: center;
+	word-wrap: break-word;
+	display: inline-block;
+	word-break: normal;
+	width: 100px;
+	vertical-align: top;
 }
 .entinfo-shareholderinfo img{
 	width: 80px;
@@ -439,13 +444,10 @@ a:focus, a:hover{
 	border-radius: 50%;
 	margin-bottom: 10px;
 }
-.entinfo-shareholderinfo li>span{
+.entinfo-shareholderinfo .b-com-content>div>span{
 	display: block;
-	width: 100px;
-	word-wrap: break-word; 
-	word-break: normal;
 }
-.entinfo-shareholderinfo li>span:last-child{
+.entinfo-shareholderinfo .b-com-content>div>span:last-child{
 	color: #A0A0A0;
 }
 /********************关系网**********************/
@@ -544,6 +546,9 @@ a:focus, a:hover{
 	width: 110px;
 	height: 101px;
 }
+.ent-table td.ent-servicepaging{
+	padding-bottom: 0px !important;
+}
 /**************变更信息**********************/
 .ent-alterinfo li{
 	width: 100%;
@@ -621,7 +626,6 @@ a:focus, a:hover{
 }
 .ent-layout-up .b-com-content{
 	padding-top: 30px;
-	padding-bottom: 30px;
 }
 .ent-layout-down .b-com-content{
 	padding: 30px 20px;
@@ -641,6 +645,9 @@ a:focus, a:hover{
 	height: 25px;
 	color: #FFFFFF;
 }
+.ent-table{
+	margin-bottom: 0px;
+}
 .ent-table td{
 	padding: 15px 0px !important;
 	border-top: none !important;

+ 6 - 5
core/src/web/staticres/css/enterprise.css

@@ -1,7 +1,7 @@
 /*========================企业名片列表页样式========================*/
 .qfw-row { margin-left: 0px; margin-right: 0px;}
 #titleactionimgs  img{margin-left:15px;width:18px;height:18px;}
-#titleactionimgs  h3{font-family: "微软雅黑 Regular", "微软雅黑";font-weight: normal;}
+#titleactionimgs  h3{font-weight: normal;}
 .qfw-p-margintop{margin-top:5px;background-color: #fff;}
 .qfw-row-marginbottom{margin-bottom:10px;}
 span.highlight {
@@ -22,7 +22,7 @@ span.highlight {
 .rowsolid-bottom{
 	border-bottom:1px solid #CCCCCC;	
 }
-.rowFltt .qfw-text-more{position:absolute;right:10px;top:7px;cursor:pointer;color: #16a086;}
+.rowFltt .qfw-text-more{position:absolute;right:10px;top:2px;font-weight:bold;cursor:pointer;color: #16a086;}
 .tt{
 	width:90px;
 	padding-left: 15px;
@@ -39,7 +39,6 @@ span.highlight {
 }
 .ttcon{
 	width:85%;
-	font-size:12px;
 	vertical-align:top
 }
 .ttcon ul{
@@ -59,12 +58,14 @@ span.highlight {
 	max-width:180px;
 	height: 35px;
 	font-size: 14px;
-	color: #555;
+	color: #a0a0a0;
 	background-color: #fff;
 	border: 1px solid #ccc;
 	margin-right: 15px;
 }
-
+.sel-checked{
+	color: inherit;
+}
 /******注册资本、认证*******/
 #navs {position:relative}
 #navs .renzheng {position:absolute;right:10px;bottom:0px;}

+ 8 - 8
core/src/web/staticres/css/index-new.css

@@ -74,7 +74,7 @@ a:focus, a:hover{
 	
 }
 .index-new-row>ul>li a {
-    font-family: '宋体 Regular', '宋体';
+    font-family: tahoma, arial, 'Hiragino Sans GB', 宋体, sans-serif;
     font-size: 12px;
     color: #4E5051;
 	}
@@ -123,7 +123,7 @@ a:focus, a:hover{
     font-size: 16px;
 }
 .a-com-servcename{
-    font-family: '宋体 Regular', '宋体';
+    font-family: tahoma, arial, 'Hiragino Sans GB', 宋体, sans-serif;
     font-size: 12px;
     color: #FF5A5F;
 	padding:5px 0px;
@@ -133,7 +133,7 @@ a:focus, a:hover{
 	margin-bottom:30px;
 }
 .index-new-rmxq-name div,.index-new-rmxq-name a{
-    font-family: '宋体 Regular', '宋体';
+    font-family: tahoma, arial, 'Hiragino Sans GB', 宋体, sans-serif;
     font-size: 12px;
     color: #A0A0A0;
 }
@@ -204,14 +204,14 @@ a:focus, a:hover{
 }
 .a-index  .index-new-xwzx-con .index-new-xwzx-date{
 	width:70px;
-    font-family: '宋体 Regular', '宋体';
+    font-family: tahoma, arial, 'Hiragino Sans GB', 宋体, sans-serif;
     font-size: 12px;
     color: #A0A0A0;
 }
 .a-index  .index-new-xwzx-con .index-new-xwzx-content{
 	height:40px;
 	width:200px;
-    font-family: '宋体 Regular', '宋体';
+    font-family: tahoma, arial, 'Hiragino Sans GB', 宋体, sans-serif;
     font-size: 12px;
     color: #A0A0A0;
 	overflow:hidden;
@@ -392,7 +392,7 @@ a:focus, a:hover{
 	left:10px;
 }
 .index-new-rmfw-nameent a {
-    font-family: '宋体 Regular', 宋体;
+    font-family: tahoma, arial, 'Hiragino Sans GB', 宋体, sans-serif;
     font-size: 12px;
     color: rgb(160, 160, 160);
 }
@@ -604,7 +604,7 @@ a:focus, a:hover{
 }
 .index-new-tg-con>ul>li>span:nth-child(2){
 	display:inline-block;
-	width:330px;
+	width:320px;
 	padding-left:10px;
 	padding-right: 10px;
 	color:#4E5051;
@@ -613,7 +613,7 @@ a:focus, a:hover{
 	text-overflow: ellipsis;
 }
 .index-new-tg-con>ul>li>span:nth-child(3){
-	font-family: '宋体 Regular', '宋体';
+	font-family: tahoma, arial, 'Hiragino Sans GB', 宋体, sans-serif;
 	color:#A0A0A0;
 	font-size:12px;
 }

+ 1 - 0
core/src/web/staticres/css/qfw.css

@@ -482,6 +482,7 @@ a.new_red:hover, a.new_red:active {
 	background-color: transparent;
 	border: 1px solid #FF5A5F;
 	color: #FF5A5F;
+	box-shadow: none;
 }
 .btn-sm, .btn-group-sm > .btn{
 	padding-top: 3px;

+ 1 - 1
core/src/web/staticres/css/swordfish.css

@@ -155,7 +155,7 @@ a:focus, a:hover{
 	display: inline-block;
 }
 .swordfish-panel-c-t>div>span{
-	font-family: "SimSun";
+	font-family: tahoma, arial, 'Hiragino Sans GB', 宋体, sans-serif;
 	font-size: 12px;
 	color: #A0A0A0;
 	margin-left: 10px;

BIN
core/src/web/staticres/images/sina.png


BIN
core/src/web/staticres/images/starred.png


BIN
core/src/web/staticres/images/startgray.png


BIN
core/src/web/staticres/images/tbn7.png


BIN
core/src/web/staticres/images/tbn8.png


BIN
core/src/web/staticres/images/tbn9.png


+ 13 - 9
core/src/web/staticres/js/enterprise.js

@@ -93,6 +93,11 @@ function setLocation(entsel,serviceloc){
 	 sel3 = entsel.substring(0,6);
 	}
 	$.cxSelect.setVal(sel1,sel2,sel3);
+	$("#city_china select").each(function(){
+		if($(this).find("option:selected").index() > 0){
+			$(this).addClass("sel-checked");
+		}
+	});
 	if(serviceloc){	
 		//添加编辑服务中的省
 		$("#servicecity_china .province option").each(function(){
@@ -175,7 +180,7 @@ function makeFl(){
 		    var val = chf1;
 			if (val !=""){
 			if (val == tmp[i][1]){
-			str+="<li name='"+ad+"' value='"+tmp[i][1]+"' class='text-primary'>"+tmp[i][0]+"</li>"
+			str+="<li name='"+ad+"' value='"+tmp[i][1]+"' class='entlist-allclaify'>"+tmp[i][0]+"</li>"
 			var j ="J"
 			if (val > j || val == "D" || val == "E" || val == "F" || val == "G"  ){
 			$("#c_hfl").next().find("small").text("收起<")
@@ -186,7 +191,7 @@ function makeFl(){
 			str+="<li name='"+ad+"' value='"+tmp[i][1]+"'>"+tmp[i][0]+"</li>"
 			}
 			}else{
-			str+="<li name='"+ad+"' value='"+tmp[i][1]+"' "+(i==0?"class='text-primary'":"")+">"+tmp[i][0]+"</li>"
+			str+="<li name='"+ad+"' value='"+tmp[i][1]+"' "+(i==0?"class='entlist-allclaify'":"")+">"+tmp[i][0]+"</li>"
 			}
 			
 		}
@@ -203,12 +208,12 @@ function makeFl(){
 			var livtemp= tmp[i][1]+"";
 			if (val !=""){
 			if (val == tmp[i][1]){
-			str+="<li name='"+ad+"' value='"+livtemp+"' class='text-primary'>"+tmp[i][0]+"</li>"
+			str+="<li name='"+ad+"' value='"+livtemp+"' class='entlist-allclaify'>"+tmp[i][0]+"</li>"
 			}else{
 			str+="<li name='"+ad+"' value='"+livtemp+"'>"+tmp[i][0]+"</li>"
 			}
 			}else{
-			str+="<li name='"+ad+"' value='"+livtemp+"' "+(i==0?"class='text-primary'":"")+">"+tmp[i][0]+"</li>"
+			str+="<li name='"+ad+"' value='"+livtemp+"' "+(i==0?"class='entlist-allclaify'":"")+">"+tmp[i][0]+"</li>"
 			}
 			
 		}
@@ -218,13 +223,12 @@ function makeFl(){
 }
 function less(obj){
 	pred=$(obj).prev()
-	obj=$(obj).find("small")
-	var text=obj.text()
-	if(text=="更多>"){
-		obj.text("收起<")
+	var text=$(obj).text()
+	if(text=="更多"){
+		$(obj).text("收起")
 		pred.removeClass("less")
 	}else{
-		obj.text("更多>")
+		$(obj).text("更多")
 		pred.addClass("less")
 	}
 	

+ 9 - 7
core/src/web/staticres/js/entportrait.js

@@ -1,7 +1,6 @@
 var entType = "企业";
 var relation = null;
 var serviceList = null;
-with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];
 //解析服务列表
 $(function(){
 	//联系地址
@@ -46,7 +45,7 @@ $(function(){
 			serviceList = new ServiceList();
 		}
 	});
-	new ServiceList();
+	pcShare();
 });
 //显示地图
 function showMap(){
@@ -70,12 +69,12 @@ function b_afterLogin(flag){
 //加载关系网
 function initRelation(){
 	if(isLogined){
+		$("#entrelation-limit,#entrelation-nologin").addClass("hide");
 		$.post("/member/getRelation",{regNo:regNo,entName:entName},function(r){
 			if(r.flag == false){
-				$("#entrelation-nologin").addClass("hide");
 				$("#entrelation-limit,#entrelation-noauthe").removeClass("hide");
 				$("#entrelation-infovis").hide();
-			}else if(r.flag == true && (r == null || typeof(r) == "undefined" || typeof(r.links) == "undefined" || r.links.length == 0 || typeof(r.nodes) == "undefined" || r.nodes.length <= 1)){
+			}else if(r.flag == true && (r == null || typeof(r) == "undefined" || typeof(r.relation.links) == "undefined" || r.relation.links.length == 0 || typeof(r.relation.nodes) == "undefined" || r.relation.nodes.length <= 1)){
 				relation = "";
 				$("#entrelation-infovis").hide();
 				$("#entrelation-findnull").removeClass("hide");
@@ -102,19 +101,22 @@ function ServiceList(){
 		paging = new Paging("serviceListPaging","/front/findServiceByEntId",{entId:entId},6,function(r){
 			if(r.length == 0){
 				$("#serviceList").next(".ent-findnull").removeClass("hide");
+				$("#serviceList").remove();
+				return;
 			}
 			var html = '';
 			for(var i=0;i<r.length;i++){
 				html += '<tr>'
 						+'<td rowspan="2" width="120"><img src="'+(r[i].s_images==""?"null":r[i].s_images)+'" onerror="this.src=\'/images/services/default.png\'"></td>'
 						+'<td class="b-com-name"><a href="/market/detail/'+r[i]._id+'.html">'+r[i].s_name+'</a></td>'
-						+'<td width="100" class="text-center">报价:<font class="text-primary">'+(r[i].s_pricemy==0?"面议":r[i].f_price+"元")+'</font></td>'
+						+'<td width="100" class="text-center">报价:<font class="text-primary">'+(r[i].s_pricemy==1?"面议":r[i].f_price+"元")+'</font></td>'
 						+'<td width="100" class="text-center">评价:<font class="text-primary">'+r[i].i_comments+'</font></td>'
-						+'<tr>'
+						+'</tr><tr>'
 						+'<td>'+r[i].s_introduction+'</td>'
 						+'</tr>';
 			}
-			$("#serviceList").html(html);
+			$("#serviceListPaging").parent().prevAll().remove();
+			$("#serviceListPaging").parent().before(html);
 		});
 	});
 }

+ 46 - 15
core/src/web/staticres/js/qfw.js

@@ -445,12 +445,6 @@ function isNullObj(obj){
 //根据id去后台查询评论个数、投标状态
 function advertAjaxRqe(position){
 	var data = "position="+position;
-	$("#hotService ul").each(function(){
-		var id = $(this).attr("data-id");
-		if(id != ""){
-			data += "&serviceId="+id;
-		}
-	});
 	$("#hotDemand>div").each(function(){
 		var id = $(this).attr("data-id");
 		if(id != ""){
@@ -459,15 +453,6 @@ function advertAjaxRqe(position){
 	});
 	if(data != ""){
 		$.post("/front/advertAjaxRqe",data,function(r){
-			if(r.service){
-				var service = r.service;
-				for(var i in service){
-					$('#hotService [data-id="'+service[i].id+'"]>.a-com-last').children("font").text(service[i].comments?service[i].comments:0);
-					if(service[i].online == "y"){
-						$('#hotService [data-id="'+service[i].id+'"]>.a-com-name>i').addClass("text-primary")
-					}
-				}
-			}
 			if(r.demand){
 				var demand = r.demand;
 				for(var i in demand){
@@ -492,4 +477,50 @@ function advertAjaxRqe(position){
 			}
 		});
 	}
+}
+//页面中分享功能
+function pcShare(){
+	this.flag = false;
+	var thisClass = this;
+	$("body").click(function(e){
+		if(e.target.id == "pcShare"){
+			$("#pcShare-content").show();
+			if(!thisClass.flag){
+				$("#pcShare-content").after('<div class="bdsharebuttonbox"><a href="#" id="bds_weixin" data-cmd="weixin" title="分享到微信">微信扫码</a><a href="#" id="bds_tsina" data-cmd="tsina" title="分享到新浪微博">新浪微博"</a><a href="#" id="bds_tqq" data-cmd="tqq" title="分享到腾讯微博">腾讯微博</a><a href="#" id="bds_qzone" data-cmd="qzone" title="分享到QQ空间">QQ空间</a><a href="#" id="bds_douban" data-cmd="douban" title="分享到豆瓣网">豆瓣</a></div>');
+				loadJS("http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion="+~(-new Date()/36e5),function(){
+					var interval = setInterval(function(){
+						if($("#bdshare_weixin_qrcode_dialog").length == 1){
+							clearInterval(interval);
+							$("#share-weixin").append($("#bdshare_weixin_qrcode_dialog").find("table"));
+							$("#bdshare_weixin_qrcode_dialog").remove();
+						}else{
+							document.getElementById('bds_weixin').click();
+						}
+					},500);
+					setTimeout(function(){
+						clearInterval(interval);
+					},60000);
+				});
+				$("#share-tsina").click(function(e){
+					document.getElementById('bds_tsina').click();
+					$("#pcShare-content").hide();
+				});
+				$("#share-tqq").click(function(e){
+					document.getElementById('bds_tqq').click();
+					$("#pcShare-content").hide();
+				});
+				$("#share-qzone").click(function(e){
+					document.getElementById('bds_qzone').click();
+					$("#pcShare-content").hide();
+				});
+				$("#share-douban").click(function(e){
+					document.getElementById('bds_douban').click();
+					$("#pcShare-content").hide();
+				});
+				thisClass.flag = true;
+			}
+		}else if(e.target.id != "pcShare-content" && $(e.target).parents(".b-pcshare-content").attr("id") != "pcShare-content" && !$(e.target).hasClass("bdsharebuttonbox") && !$(e.target).parent().hasClass("bdsharebuttonbox")){
+			$("#pcShare-content").hide();
+		}
+	});
 }

+ 17 - 18
core/src/web/staticres/js/relation.js

@@ -17,23 +17,21 @@ function Relation(legcerNo,regNo,data){
 }
 Relation.prototype.init = function(){
 	var thisClass = this;
-	$(function(){
-		$("#entrelation-fullscreen").bind("click",function(){
-			thisClass.initFullScreen();
-		});
-		thisClass.w = $("#entrelation").width();
-		thisClass.h = $("#entrelation").height();
-		$("#entrelation-infovis").width(thisClass.w).append(
-			'<div class="entrelation-controlls hidden-sm hidden-xs">'
-				+'<div class="entrelation-item">'
-					+'<div id="entrelation-fullscreen" class="entrelation-box" title_pos="left"><div class="entrelation-fullscreen"></div></div>'
-				+'</div>'
+	thisClass.w = $("#entrelation").width();
+	thisClass.h = $("#entrelation").height();
+	$("#entrelation-infovis").width(thisClass.w).append(
+		'<div class="entrelation-controlls hidden-sm hidden-xs">'
+			+'<div class="entrelation-item">'
+				+'<div id="entrelation-fullscreen" class="entrelation-box" title_pos="left"><div class="entrelation-fullscreen"></div></div>'
 			+'</div>'
-		);
-		if($(".entrelation-controlls").length>0){
-			$(".entrelation-controlls").css({left:$("#entrelation").width()-$(".entrelation-controlls").width()});
-		}
+		+'</div>'
+	);
+	$("#entrelation-fullscreen").click(function(){
+		thisClass.initFullScreen();
 	});
+	if($(".entrelation-controlls").length>0){
+		$(".entrelation-controlls").css({left:$("#entrelation").width()-$(".entrelation-controlls").width()});
+	}
 	//处理全屏
 	$(document).on('webkitfullscreenchange mozfullscreenchange msfullscreenchange fullscreenchange', function(){
 	    if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement){
@@ -80,9 +78,10 @@ Relation.prototype.init = function(){
 	htmls= htmls+ "<div style='margin:10px 0px;' class='hidden-sm hidden-xs'><span class='text-muted'>提示:点击鼠标右键可以删除不想看的节点。</span></div>";
 	htmls= htmls+"</div>"
 	$("#entrelation").append(htmls);
-	this.dataProcess();
-	this.makeRelation();
-	this.redraw();
+	try{	
+		this.dataProcess();
+		this.makeRelation();	
+	}catch(e){}
 }
 Relation.prototype.dataProcess = function(){
 	var reg = new RegExp(/(有限公司|有限责任公司|股份有限公司|总公司|分公司|公司|事务所|合伙企业)$|\(.*\)|\(.*\)/g);

+ 1 - 1
core/src/web/templates/_err.html

@@ -11,7 +11,7 @@
 			</div>
 			<div class="col-lg-6 col-md-6 col-sm-6" style="padding-top: 100px;padding-bottom: 50px;">
 				<div style="padding-left: 55px;"><h4><strong class="text-muted">网络错误,页面找不到</strong></h4></div>
-				<div id="alink" class="text-center" style="width:300px;margin-top:30px;"><h4 style="display:inline-block;"><a href="{{.T.refer}}"><img s1="reload.png" s2="u170.png" src="/images/reload.png" style="width:18px;margin-right:5px;">刷新页面</a> | </h4><h4 style="display:inline-block"><a href="/"><img s1="home1.png" s2="home2.png" src="/images/home1.png" style="width:18px;margin-right:5px;">返回首页</a></h4></div>
+				<div id="alink" class="text-center" style="width:300px;margin-top:30px;"><h5 style="display:inline-block;"><a href="{{.T.refer}}"><img s1="reload.png" s2="u170.png" src="/images/reload.png" style="width:18px;margin-right:5px;">刷新页面</a> | </h5><h5 style="display:inline-block"><a href="/"><img s1="home1.png" s2="home2.png" src="/images/home1.png" style="width:18px;margin-right:5px;">返回首页</a></h5></div>
 			</div>
 		</div>
 	</div>

+ 11 - 0
core/src/web/templates/common/errorhead.html

@@ -1,3 +1,14 @@
+<style>
+body{
+	background-color: #f0f0f0;
+}
+.b-content{
+	background-color: #ffffff;
+}
+h5 a{
+	color: #a0a0a0;
+}
+</style>
 <div class="b-head">
 	{{include "/common/top.html"}}
 	<div class="b-nav">

+ 2 - 7
core/src/web/templates/common/hotservice.html

@@ -2,7 +2,7 @@
 <div id="hotService">
 	{{$s:=(Ad "service-right-01" 4)}}
 	{{range $k,$v := $s}}
-	<ul class="a-com-ul-block a-com-ul-blocknew" data-id="{{$v.s_id}}">
+	<ul class="a-com-ul-block a-com-ul-blocknew" data-id="{{$v.s_id}}" style="height: 233px;">
 		<li class="a-com-first"><a href="{{$v.s_link}}"><img{{if $v.s_picalt}} alt="{{$v.s_picalt}}"{{end}} src="{{if $v.s_pic}}{{$v.s_pic}}{{else}}null{{end}} " width=250 height=230 onerror="this.src='/images/u166.png'"></a></li>
 		<li class="a-com-second">
 			<div>
@@ -14,9 +14,4 @@
 		</li>
 	</ul>
 	{{end}}
-</div>
-<script type="text/javascript">
-$(function(){
-	advertAjaxRqe("hotService");
-});
-</script>
+</div>

+ 1 - 1
core/src/web/templates/common/login.html

@@ -284,7 +284,7 @@ function afterLoginSkip(data,flag){
 					<div class="login wxlogin hidden-xs col-md-5">
 						<div class="text-muted" style="margin-top:5px;font-weight: 700;color:#000;font-size: 14px;">微信扫码登录</div>
 						<img alt="加载中.." style="width:124px;height:127px;margin:20px;" id="wxPic" class="border">
-						<div class="text-muted" style="line-height: 22px;margin-top:5px;font-family: '宋体 Regular', 宋体;font-size: 12px;color: rgb(160, 160, 160);">使用微信扫描登录<br/>新用户自动注册</div>
+						<div class="text-muted" style="line-height: 22px;margin-top:5px;font-family: tahoma, arial, 'Hiragino Sans GB', 宋体, sans-serif;;font-size: 12px;color: rgb(160, 160, 160);">使用微信扫描登录<br/>新用户自动注册</div>
 					</div>
 					<div class="login col-md-7" style="border-left:1px solid #F0F0F0;">
 						<form class="form-horizontal loginForm" method="post" style="width:220px;margin-left: 40px;">

+ 10 - 8
core/src/web/templates/common/memberleft.html

@@ -83,7 +83,7 @@
 					<img class="img-circle" src="{{$s_avatar}}" onerror="this.className='img-circle defaultHeadImg';this.src='/images/image_radius_bg.png'">
 				{{end}}
 			</div>
-			<div><span class="member-loginName cursor-pointer" onclick="window.location.href = '/member/show/memberindex'">{{session "nickName"}}</span></div>
+			<div><span style="line-height:30px" class="member-loginName cursor-pointer" onclick="window.location.href = '/member/show/memberindex'">{{session "nickName"}}</span></div>
 			<div>
 			{{if session "credit_qd"}}
 				{{if eq (session "credit_qd") "y"}}
@@ -99,9 +99,9 @@
 	</a>
 	<a class="list-group-item" style="padding:10px 2px">
 	<div style="width:198px;height:40px;text-align:center;">
-		<div style="float:left;width:90px;border-right:1px">
+		<div onclick="creditModel(1)" style="float:left;width:90px;border-right:1px">
 			<div>积分</div>
-			<div><i class="glyphicon jinbi" style="width:25px;color:red;font-size:18px"></i>{{session "i_credit"}}</div>
+			<div><i class="glyphicon jinbi" style="width:25px;color:red;font-size:18px"></i><span style="font-weight:normal;">{{session "i_credit"}}</span></div>
 		</div>
 		<div style="height:40px;float:left;width:1px;background-color:#DDDDDD"></div>
 		<div style="float:left;width:105px;">
@@ -111,19 +111,21 @@
 				{{$identType := session "identType"}}
 				{{if eq 1 $identType}}
 					{{if eq 1 $identWay}}
-					<i class="glyphicon qyrz" style="width:25px;color:red;font-size:18px;margin-right:0px;"></i>已认证企业
+					<i class="glyphicon qyrz" style="width:25px;color:red;font-size:18px;margin-right:0px;"></i><span style="font-weight:normal;">已认证企业</span>
 					{{end}}
 				{{else if eq 2 $identType}}
 					{{if eq 1 $identWay}}
-					<i class="glyphicon grrz" style="width:25px;color:red;font-size:18px;margin-right:0px;"></i>已认证个人
+					<i class="glyphicon grrz" style="width:25px;color:red;font-size:18px;margin-right:0px;"></i><span style="font-weight:normal;">已认证个人</span>
 					{{end}}
 				{{else if eq 3 $identType}}
 					{{if eq 1 $identWay}}
-					<i class="glyphicon jgrz" style="width:25px;color:red;font-size:18px;margin-right:0px;"></i>已认证机构
+					<i class="glyphicon jgrz" style="width:25px;color:red;font-size:18px;margin-right:0px;"></i><span style="font-weight:normal;">已认证机构</span>
 					{{end}}
+				{{else}}
+				<i class="glyphicon grrz" style="width:25px;color:red;font-size:18px;margin-right:0px;"></i><span style="font-weight:normal;">未认证</span>
 				{{end}}
 			{{else}}
-				<i class="glyphicon grrz" style="width:25px;color:red;font-size:18px;margin-right:0px;"></i>未认证
+				<i class="glyphicon grrz" style="width:25px;color:red;font-size:18px;margin-right:0px;"></i><span style="font-weight:normal;">未认证</span>
 			{{end}}
 			</div>
 		</div>
@@ -143,7 +145,7 @@
 			</div>
 			<div>
 				<div><img style="padding:45px" src="/images/creditchengzhang.png"></img></div>
-				<div style="padding:0px 100px 20px 200px"><button  style="width:200px" class="btn btn-primary" onclick="toMyCredit()">开启成长旅</button></div>
+				<div style="padding:0px 100px 20px 200px"><button  style="width:200px" class="btn btn-primary" onclick="toMyCredit()">开启成长旅</button></div>
 			</div>
 		</div>
 	</div>

+ 24 - 2
core/src/web/templates/index.html

@@ -115,7 +115,7 @@
 	</div>
 	
 	<div class="a-panel a-rmxq">
-		<div class="a-com-title index-new-rmxq-title" style="margin-bottom:0px;border-top:0px;"><font><a id="indexHotDemand">热门需求</a></font><span class="hidden-xs">成为服务商,马上参与投标</span><span style="float:right;margin-top:10px;"><a href="/market/demand/add.html" class="index-new-fbfw-a">发布需求</a>|<a  href="/market/0/list.html" class="index-new-fbfw-a">更多>></a></span></div>
+		<div class="a-com-title index-new-rmxq-title" style="margin-bottom:0px;border-top:0px;"><font><a id="indexHotDemand">热门需求</a></font><span class="hidden-xs">成为服务商,马上参与投标</span><span style="float:right;margin-top:10px;"><a href="/market/demand/add.html" class="index-new-fbfw-a">发布需求</a>|<a  href="/market/0/list_eyJjX2ZidGltZSI6IiIsImNfZnd0eXBlIjoiMCIsImNfcnp0eXBlIjoiIiwiY19zZWFyY2h0eXBlIjoiZGVtYW5kIiwiY19zb3J0dHlwZSI6IiIsImNfeHF0eXBlIjoiIiwiY2l0eSI6IiIsImNpdHlObyI6IiIsImN1cnJlbnRQYWdlIjoiMSIsInBlclBhZ2UiOiIiLCJxdWVyeSI6IiJ9.html" class="index-new-fbfw-a">更多>></a></span></div>
 		<div class="row index-new-rmxq-list" id="hotDemand">
 			{{$s:=(Ad "index-center-05" 4)}}
 			{{range $k,$v := $s}}
@@ -251,7 +251,7 @@
 		<ul>
 		{{range $k,$v:=.T.sfdata}}
 		{{ if lt $k 8}}
-		<li><span></span><span><a target="_blank" href="{{index $v "href"}}"/>{{index $v "title"}}</a></span><span style="float:right;">{{if (index $v "publishtime")}}{{index $v "publishtime"}}{{else}}------{{end}}</span></li>
+		<li><span></span><span><a target="_blank" href="javascript:void(0);" class="reload" src="{{index $v "href"}}"/>{{index $v "title"}}</a></span><span style="float:right;">{{if (index $v "publishtime")}}{{index $v "publishtime"}}{{else}}------{{end}}</span></li>
 		{{if ge $k 3}}
 		{{if lt $k 4}}
 		</ul>
@@ -309,6 +309,28 @@
 </div>
 {{include "/common/bottom.html"}}
 <script>
+$(function(){
+var areload=$("a.reload");
+areload.click(function(){
+	var h=$(this).attr("src");
+	open_window(h);
+	return false;
+})
+})
+function redirect(link){ 
+	if(!/^http/.test(link)){
+		link="http://"+link
+	}
+	window.location.href="/visit/redirect?url="+escape(link)
+
+}
+function open_window(link){
+	if(!/^http/.test(link)){
+		link="http://"+link
+	}
+    var arg = '\u003cscript\u003elocation.replace("'+link+'")\u003c/script\u003e';
+    window.open('javascript:window.name;', arg);
+}
 $(".bmzhsk").mouseover(function(){
 	$(".index-new-bmrzqy").addClass("hidden");
 	$(".index-new-bmjy").addClass("hidden");

+ 1 - 1
core/src/web/templates/manage/web_regulationslist.html

@@ -56,7 +56,7 @@
 		  {{range $k,$v:=.T.data}}
 			  <tr>
 			  <td>
-			  <div style="margin-top:10px;font-weight: bold;font-size:16px;"><a target="_blank"  href="/front/webregulationscontent/{{index $v "_id"}}.html">{{index $v "s_title"}}</a></div><div style=" font-size:12px; color:#666666; margin:15px 0px 5px 0; font-family: SimSun; font-weight: 400; font-style:normal;"><span style="">发布日期:{{index $v "l_createdate"}}</span> | <span>所属类别:{{index $v "s_code"}}</span></div>
+			  <div style="margin-top:10px;font-weight: bold;font-size:16px;"><a target="_blank"  href="/front/webregulationscontent/{{index $v "_id"}}.html">{{index $v "s_title"}}</a></div><div style=" font-size:12px; color:#666666; margin:15px 0px 5px 0; font-family: tahoma, arial, 'Hiragino Sans GB', 宋体, sans-serif; font-weight: 400; font-style:normal;"><span style="">发布日期:{{index $v "l_createdate"}}</span> | <span>所属类别:{{index $v "s_code"}}</span></div>
 			  <div style=" font-size:14px;line-height:24px;color: #000000; width:80%; padding: 5px 0px;">{{if eq (index $v "s_content") ""}}{{index $v "s_mbcontent"}}......{{else}}{{index $v "s_content"}}{{end}}</div>
 			  </td>
 			  </tr>

+ 1 - 1
core/src/web/templates/manage/webexpresscontent.html

@@ -62,7 +62,7 @@ $(document).ready(function(){
 	     <!--<div class="col-md-3 logoDiv" style=" height:80px; width:200px;">
 			<a href="/"><img alt="" class="hidden-xs img-responsive" src="/images/header_logo.png"  style="width:200px; margin:10px 30px 30px 15px;"></a>
         </div>
-		<div class="col-md-2" ><p style="font-size:28px; color:#999999; font-weight:bold; font-family:'微软雅黑 Bold', '微软雅黑'; margin-top:20px;
+		<div class="col-md-2" ><p style="font-size:28px; color:#999999; font-weight:bold; margin-top:20px;
 		 border-left:1px solid #333333; padding-left:20px; margin-left:15px;">新闻资讯</p></div>
         <div class="col-md-6 text-left" style=" margin-top:20px;">
 		<div style="margin:5px" class="input-group pull-right" id="search"><input type="text" id="searchtext" value=""  data-original-title="Search" class="form-control" placeholder="请输入检索条件..." style=" border:2px solid #DD4814; border-radius: 4px;"><span class="input-group-btn"><a href="/manage/web_newexpresslist" class="btn" data-original-title="Search" id="searchtip" type="button" style=" border-radius: 4px;margin-left:5px; background-color:#DD4814; color:#FFFFFF; width:80px; font-weight:bold;">查询</a></span></div>

+ 1 - 1
core/src/web/templates/member/accountset/bindmail.html

@@ -97,7 +97,7 @@
 					<label class="col-md-1 control-label">验证码</label>
 					<div class="input-group col-md-4 checkCodeId">
 						<input type="text" name="identCode" class="form-control" onkeyup="rePlaceUnDigital(this)" datatype="n6" maxlength="6" nullmsg="请输入邮箱验证码" errormsg="邮箱验证码格式错误" ajaxurl="/front/ajaxReq?oprType=checkIdentCode">
-						<span class="input-group-addon"><div id="sendIdentCodeBtn" class="sendIdentCodeBtn">获取邮箱验证码</div></span>
+						<span id="sendIdentCodeBtn" class="input-group-addon" style="width:96px;">获取邮箱验证码</span>
 					</div>
 					<div class="col-md-7"><span class="Validform_checktip">请输入邮箱验证码</span></div>
 				</div>

+ 1 - 1
core/src/web/templates/member/accountset/bindphone.html

@@ -71,7 +71,7 @@
 					<label class="col-md-1 control-label">验证码</label>
 					<div class="input-group col-md-4 checkCodeId">
 						<input type="text" name="identCode" class="form-control" onkeyup="rePlaceUnDigital(this)" datatype="n6" maxlength="6" nullmsg="请输入短信验证码" errormsg="请输入短信验证码" ajaxurl="/front/ajaxReq?oprType=checkIdentCode">
-						<span class="input-group-addon"><div id="sendIdentCodeBtn" class="sendIdentCodeBtn">获取短信验证码</div></span>
+						<span id="sendIdentCodeBtn" class="input-group-addon" style="width:96px;">获取短信验证码</span>
 					</div>
 					<div class="col-md-7"><span class="Validform_checktip">请输入短信验证码</span></div>
 				</div>

+ 2 - 2
core/src/web/templates/member/accountset/updatephone.html

@@ -78,7 +78,7 @@
 						<label class="col-md-2 control-label">短信验证码</label>
 						<div class="input-group col-md-4 checkCodeId">
 							<input type="text" class="form-control" name="oldIdentCode" onkeyup="rePlaceUnDigital(this)" datatype="n6" maxlength="6" nullmsg="请输入短信验证码" errormsg="短信验证码格式错误" ajaxurl="/front/ajaxReq?oprType=checkOldIdentCode">
-							<span class="input-group-addon"><div class="sendIdentCodeBtn" id="sendIdentCodeBtn_old">获取短信验证码</div></span>
+							<span id="sendIdentCodeBtn_old" class="input-group-addon" style="width:96px;">获取短信验证码</span>
 						</div>
 						<div class="col-md-6"><span class="Validform_checktip">请输入短信验证码</span></div>
 					</div>
@@ -126,7 +126,7 @@
 						<label class="col-md-2 control-label">短信验证码</label>
 						<div class="input-group col-md-4 checkCodeId">
 							<input type="text" class="form-control" name="newIdentCode" onkeyup="rePlaceUnDigital(this)" datatype="n6" maxlength="6" nullmsg="请输入短信验证码" errormsg="短信验证码格式错误" ajaxurl="/front/ajaxReq?oprType=checkIdentCode">
-							<span class="input-group-addon"><div id="sendIdentCodeBtn_new" class="sendIdentCodeBtn">获取短信验证码</div></span>
+							<span id="sendIdentCodeBtn_new" class="input-group-addon" style="width:96px;">获取短信验证码</span>
 						</div>
 						<div class="col-md-6"><span class="Validform_checktip">请输入短信验证码</span></div>
 					</div>

+ 1 - 1
core/src/web/templates/member/credit/creditrule.html

@@ -58,7 +58,7 @@
 	<div class="member-right">
 		<div class="member-panel">
 			<div class="panel-title-out">
-				<i class="glyphicon jinbi" style="color:#FF5A5F;"></i><span>积分规则</span>
+				<i class="glyphicon jinbi"></i><span>积分规则</span>
 			</div>
 			<div class="a-line"></div>	
 			<div class="credit-explain">积分获取方法与计算规则</div>

+ 3 - 3
core/src/web/templates/member/credit/mycredit.html

@@ -65,7 +65,7 @@
 	<div class="member-right">
 		<div class="member-panel">
 			<div class="panel-title-out">
-				<i class="glyphicon zhanghao"></i><span>我的积分</span>
+				<i class="glyphicon jinbi"></i><span>我的积分</span>
 			</div>	
 			<div class="panel-body message a-border-t-only"  >	
 				<ul class="nav nav-tabs msgheader" style="margin-top:10px;position:relative">
@@ -240,7 +240,7 @@
 								{{end}}
 							</tr>
 							<tr class="rowtwo">
-								<td width="60%" style="text-indent: 7em;">完成5次企业查询,得50积</td>
+								<td width="60%" style="text-indent: 7em;">完成5次企业查询,得50积</td>
 								{{if .T.B_QYCX.A }}
 								<td width="10%" align="center"><span class="ok-sign bootstrap-glyphicon glyphicon-ok-sign"></span><span style="padding:0 13px">{{.T.B_QYCX.B}}/{{.T.B_QYCX.C}}</span></td>
 								<td width="30%" style="padding:110px"></td>
@@ -363,7 +363,7 @@ $(function(){
 		checkContent("list_"+_v)
 	})
 	var AAll="{{.T.AAll}}"//一次性任务完成,位置切换
-	if (AAll==true){
+	if (AAll=="true"){
 		rcrw=$("#rcrw").html();
 		csrw=$("#csrw").html();
 		$("#rcrw").html(csrw);

+ 4 - 0
core/src/web/templates/member/editenterprise.html

@@ -239,6 +239,10 @@ function btnSaveForm(){
 		url: "/member/yellowpage/dosave/enterprise",
 		ajaxPost:true,
 		callback:function(data){
+		if(data == null || data == "" || typeof(data.info) == "undefined"){
+			window.location.href = "/";
+			return;
+		}
    		alert(data.info);		
 		window.location.href="/member/yellowpage/show/enterprise/"+ $entid;	
 		}

+ 34 - 19
core/src/web/templates/search/enterpriseList.html

@@ -17,7 +17,7 @@
 		<!--查询条件-->
 		<div class="border container-fluid hidden-sm hidden-xs" >
 			<div class="rowFl rowFltt">
-				<div class="tt lineb qfw-p-margintop" >&nbsp;所&nbsp;在&nbsp;地:</div>
+				<div class="tt lineb qfw-p-margintop" ><b>&nbsp;所&nbsp;在&nbsp;地:</b></div>
 				<div id="city_china" class="lineb ttcon" >
 					<select class="sel province cxselect yselect" disabled="disabled" id="c_province" name="province"></select>
 					<select class="sel city cxselect yselect" disabled="disabled" id="c_city" name="city"></select>
@@ -26,12 +26,12 @@
 				<!--<div class="rowFlTip"><span class="text-primary lineb marginLeft qfw-p-margintoplist"><span class="glyphicon biaojidizhi icon_default text-primary" style="width:20px;"></span><small style="color:#999999;">目前系统有河南、广西、黑龙江、青海、西藏、安徽、山西和湖北的官方企业数据,更多数据持续加入中...</small></span></div>-->
 			</div>
 			<div class="rowFl rowFltt" >
-				<div class="tt lineb">行业类别:</div>
+				<div class="tt lineb"><b>行业类别:</b></div>
 				<div class="lineb ttcon less" id="c_hfl"></div>
-				<div class="qfw-text-more" onClick="less(this)"><small>更多></small></div>
+				<div class="qfw-text-more" onClick="less(this)">更多</div>
 			</div>
 			<div class="rowFl ">
-				<div class="tt lineb">注册资本:</div>
+				<div class="tt lineb"><b>注册资本:</b></div>
 				<div class="lineb ttcon less" id="c_zb"></div>
 			</div>
 		</div>
@@ -60,12 +60,23 @@
 											{{index $v "EntName"}}
 										{{end}}
 									</b></a>
-									{{if index $v "OpStateName"}}
-									<span class="{{if eq (index $v "OpStateName") "注销" "吊销"}}ent-status-r{{else}}ent-status-g{{end}}">
+									{{if index $v "OpState"}}
+									<span class="{{if eq (index $v "OpState") "07" "08" "11"}}ent-status-r{{else}}ent-status-g{{end}}">
 									<script>
+										var OpState = {{index $v "OpState"}};
 										var OpStateName = {{index $v "OpStateName"}};
-										if(OpStateName.length > 2){
-											OpStateName = OpStateName.substring(0,2);
+										if(OpState == "07"){
+											OpStateName = "注销";
+										}else if(OpState == "08"){
+											OpStateName = "撤销";
+										}else if(OpState == "11"){
+											OpStateName = "吊销";
+										}else if(OpState == "06"){
+											OpStateName = "存续";
+										}else{
+											if(OpStateName.length > 2){
+												OpStateName = OpStateName.substring(0,2);
+											}
 										}
 										document.write(OpStateName);
 									</script>
@@ -73,7 +84,7 @@
 									{{end}}
 									{{ if index $v "s_action"}}
 										{{ if eq (index $v "s_action") "01"}}
-											<span class="glyphicon qyrz   margin-l-10 jhtb"></span><span class="lineb " ><small> 已认证企业 </small></span>
+											<span class="glyphicon qyrz   margin-l-10 jhtb"></span><span class="lineb " ><small>&nbsp;已认证企业&nbsp;</small></span>
 											{{ if $v.i_comauthenttype }}
 													{{ if eq $v.i_comauthenttype 2}}
 														<span class="glyphicon mprz   margin-r-10 jhtbtype"></span><span class="lineb " ><small style="margin-right:5px;">名片认证</small></span>					
@@ -91,24 +102,28 @@
 											<span class="glyphicon jgrz   margin-l-10 jhtb"></span><span class="lineb " ><small> 已认证机构</small></span>
 										{{end}}
 									{{end}}
-									<div>
-										<span>注册号:<small  class="lineb " >{{index $v "RegNo"}}</small></span>
+									<div class="margin-t-10">
+										<span><font class="b-disabled">注册号:</font><font  class="lineb " >{{index $v "RegNo"}}</font></span>
 										{{if index $v "EntType"}}
 											{{if eq $v.EntType "9600"}}
-												<span class="margin-l-15">经营者:<small  class="lineb " >{{index $v "LeRep"}}</small></span>
+												<span class="margin-l-15"><font class="b-disabled">经营者:</font><font  class="lineb " >{{index $v "LeRep"}}</font></span>
 											{{else if eq $v.EntType "5810"}}
-												<span class="margin-l-15">负责人:<small  class="lineb " >{{index $v "LeRep"}}</small></span>
+												<span class="margin-l-15"><font class="b-disabled">负责人:</font><font  class="lineb " >{{index $v "LeRep"}}</font></span>
 											{{else}}
-												<span class="margin-l-15">法定代表人:<small  class="lineb " >{{index $v "LeRep"}}</small></span>
+												<span class="margin-l-15"><font class="b-disabled">法定代表人:</font><font  class="lineb " >{{index $v "LeRep"}}</font></span>
+											{{end}}
+										{{end}}
+										{{if index $v "RegCap"}}
+											{{if and (ne $v.EntType "9600") (ne $v.EntType "5810")}}
+												<span class="margin-l-15"><font class="b-disabled">注册资本:</font><font  class="lineb " ><script>var d1={{$v.EntType}};d1=d1?d1:0; var lenD1=(d1+"").length ;if(lenD1>4&&(d1+"").indexOf(".")>-1&&(lenD1-(d1+"").indexOf("."))>4){document.write(d1.toFixed(4))}else{document.write(d1)}</script>万元</font></span>
 											{{end}}
 										{{end}}
 										<br>
-										<span>成立日期:<small  class="lineb " >{{index $v "EstDate"}}</small></span>
-										<span class="margin-l-15">所在地:<small  class="lineb " >{{index $v "OpLocDistrictName"}}</small></span>
+										<span><font class="b-disabled">成立日期:</font><font  class="lineb " >{{index $v "EstDate"}}</font></span>
+										<span class="margin-l-15"><font class="b-disabled">所在地:</font><font  class="lineb " >{{index $v "OpLocDistrictName"}}</font></span>
 									</div>
-									{{if $v.s_servicenames}}<div>产品服务:<small  class="lineb ">{{Html (Replace $v.s_servicenames "," "" 1)}}</small></div>{{end}}
-									{{if $v.stock }}<div>股东:<small  class="lineb ">{{index $v "stock"}}</small></div>{{end}}
-									{{if $v.OpScope }}<div>经营范围:<small  class="lineb ">{{index $v "OpScope"}}</small></div>{{end}}
+									{{if $v.stock }}<div><font class="b-disabled">股东:</font><font  class="lineb ">{{index $v "stock"}}</font></div>{{end}}
+									{{if $v.OpScope }}<div><font class="b-disabled">经营范围:</font><font  class="lineb ">{{index $v "OpScope"}}</font></div>{{end}}
 								</div>
 							</div>
 						</div>

+ 20 - 15
core/src/web/templates/service/bid.html

@@ -8,9 +8,9 @@
 					<h4 class="modal-title" id="bidModalLabel"><b>参与投标</b></h4>
 				</div>
 				<div class="modal-body g-modal-body">
-					<p class="text-muted u-font">{{.T.demandInfo.s_name}}</p>
-					<p class="text-muted">
-						<span id="bid-publishPerson">发布人:</span>
+					<p class="text-default u-font" style="color:#A0A0A0;font-size:13px;padding-left:8px; ">发布人:{{.T.demandInfo.s_name}}</p>
+					<p class="text-default">
+						<span id="bid-publishPerson" style="border-left: 3px solid #FF5A5F;    padding-left: 5px;">发布人:</span>
 						<span class="pull-right">
 							已有
 							<span class="text-primary">{{if .T.demandInfo.i_bids}}{{.T.demandInfo.i_bids}}{{else}}0{{end}}</span>
@@ -19,17 +19,20 @@
 					</p>
 					<div class="g-tbform">
 						<div class="form-group">
-							<label class="col-sm-2 control-label text-muted">联系人</label>
-							<div class="col-sm-7">
+							<label class="col-sm-2 control-label text-default"><span style="color:red;">*</span> 联系人</label>
+							<div class="col-sm-5">
 								<input type="text" class="form-control" name="s_person" datatype="*" nullmsg="请输入联系人" maxlength="10"/>
 							</div>
-							<div class="col-sm-3">
-								<span class="Validform_checktip"></span>
+							<div class="col-sm-4">
+									<span class="checkbox-inline" style=" padding-left:10px;">
+											<input type="radio" name="i_sex" id="man" value="1" checked="checked">先生</span>
+									<span class="checkbox-inline" style=" padding-left:10px;">
+					 		<input type="radio" name="i_sex" id="woman" value="0"> 女士</span>
 							</div>
 						</div>
 						<div class="form-group">
-							<label class="col-sm-2 control-label text-muted">联系方式</label>
-							<div class="col-sm-7">
+							<label class="col-sm-2 control-label text-default"><span style="color:red;">*</span>联系方式</label>
+							<div class="col-sm-5">
 								<input type="text" class="form-control" name="s_phone" maxlength="11" onKeyUp="rePlaceUnDigital(this)" datatype="m" nullmsg="请输入电话" errormsg="手机号码格式错误"/>
 							</div>
 							<div class="col-sm-3">
@@ -37,23 +40,25 @@
 							</div>
 						</div>
 						<div class="form-group">
-							<label class="col-sm-2 control-label text-muted">报价</label>
-							<div class="col-sm-7">
+							<label class="col-sm-2 control-label text-default">报价</label>
+							<div class="col-sm-5">
 								<input type="text" class="form-control" ignore="ignore" datatype="f" name="f_price" nullmsg="请输入报价" errormsg="格式错误" maxlength="9"/>
 							</div>
 							<div class="col-sm-3">
-								<span class="Validform_checktip"></span>
+									<span class="checkbox-inline" style=" padding-left:10px;">
+										<input type="checkbox" name="i_price" value=-1 />面议
+									</span>
 							</div>
 						</div>
 						<div class="form-group">
-							<label class="col-sm-2 control-label text-muted">备注</label>
-							<div class="col-sm-7">
+							<label class="col-sm-2 control-label text-default">备注</label>
+							<div class="col-sm-10">
 								<textarea class="form-control" name="s_remarks" rows="4"></textarea>
 							</div>
 							<div class="col-sm-3"></div>
 						</div>
 						<div class="form-group">
-							<label class="col-sm-2 control-label text-muted" >验证码</label>
+							<label class="col-sm-2 control-label text-default" ><span style="color:red;">*</span>验证码</label>
 							<div class="col-sm-7 input-group checkCodeId" id="checkCodeId">
 								<input type="text" name="checkCodeId" class="form-control inputxt" maxlength="4" onKeyUp="rePlaceUnDigital(this)" datatype="n4" nullmsg="请输入验证码" errormsg="验证码格式错误" aria-describedby="checkCodeId">
 							    <span class="input-group-addon" id="checkCodeId">

+ 0 - 1
core/src/web/templates/service/demand.html

@@ -23,7 +23,6 @@
 </style>
 <head>
 <body>
-	{{include "/common/login.html"}}
 	{{include "/common/indexhead.html"}}
 	<div class="container-fluid a-content">
 		<div class="g-demand-main">

+ 51 - 26
core/src/web/templates/service/detail.html

@@ -16,7 +16,6 @@
 	}
 	body{
 			background-color:#F0F0F0;
-			font-family:"微软雅黑","宋体"
 		}
 	.container-fluid .a-content{
 		margin-top:10px;
@@ -48,7 +47,6 @@
 <body>
 	<img src="{{.T.sinfo.s_shareimg}}" style="width:0px;height:0px;"/>
 	<!-- 审核头部 -->
-	{{include "/common/login.html"}}
 	{{include "/common/indexhead.html"}}
 	<div class="container-fluid a-content">
 		<div class="a-c-left a-servicedetail" >
@@ -153,15 +151,15 @@
 			
 			{{if .T.status }}
 				{{if eq .T.status "comment"}}
-			<a type="button" class="btn text-muted">评价服务</a>
+			<a type="button" class="btn text-muted btnactive" style="margin-left: 15px;">评价服务</a>
 				{{end}}
 				{{if eq .T.status "appendcomment"}}
-			<a type="button" class="btn text-muted">追加评价</a>
+			<a type="button" class="btn text-muted btnactive" style="margin-left: 15px;">追加评价</a>
 				{{end}}
 			{{end}}
 			  
 		</div>
-		<div class="f-content u-overflow">
+		<div class="f-content u-overflow" style="background:#FFF;padding:20px 10px;float: left;width:100%;">
 		
 		{{if eq .T.isComment 0}}	
 		<!--添加详情-->
@@ -230,7 +228,7 @@
 				<strong class="f-floatl">
 					评分:
 				</strong>
-				<ul class="m-comment f-floatl">
+				<ul class="m-comment f-floatl" >
 					<li><a title="很不满意"></a></li>
 					<li><a title="不满意"></a></li>
 					<li><a title="一般"></a></li>
@@ -242,21 +240,35 @@
 		</div>
 			{{end}}
 			{{if eq .T.status "appendcomment"}}
-		<div class="margin-15">
+			<script>
+				var score={{.T.commentm.score}};
+				$(function(){
+					if(score==3){
+						$("#zpflower img").attr("src","/images/yflower.png");
+					}else if (score<3){
+						$("#zpflower img").attr("src","/images/bflower.png");
+					}
+					$(".f-content.u-overflow").css("padding-bottom","0px;");
+				});
+			</script>
+		<div class="margin-15" style="margin-bottom:10px;">
 			<div class="d_pjlb">
-				<div>
-					<span class="dspan">{{.T.commentm.s_nickname}}</span>
+				<div style="float:left;" id="zpflower">
+						<img  style="margin-top:-5px;margin-right:10px;" src="/images/rflower.png" />
 				</div>
-				<div>
-					<span>{{.T.commentm.s_comment}}</span>&nbsp;&nbsp;
+				<div style="float:left;">
+					<div>
+					<div class="graystar1"><div class="greenstar1" style="width: 100%;"></div></div>
 				</div>
-				
 				<div>
-				<span class="dspan">{{.T.sinfo.s_name}}</span>&nbsp;&nbsp;<span id="de-time"></span></div>
+					<span>{{.T.commentm.s_comment}}</span>&nbsp;&nbsp;
+				</div>				
 				<input type="hidden" id="s_orderid" value="{{.T.s_orderid}}"/>
 				<input type="hidden" id="s_serviceid" value="{{.T.sinfo._id}}"/>
 				<input type="hidden" id="s_type" value="append"/>
-				<textarea class="form-control" rows="6" id="s_append"></textarea>
+				</div>
+				<div style="clear:both;">&nbsp;</div>
+				<textarea class="form-control" rows="6" id="s_append" style="height:240px;"></textarea>
 				<script>$(function(){$("#de-time").text(getLocalTime({{.T.commentm.l_timestamp}}))})</script>
 			</div>
 			<div class="g-comment">
@@ -273,7 +285,7 @@
 		</div>
 		{{if .T.status }}
 			{{if eq .T.status "comment" "appendcomment"}}
-				<div class="row text-center padding-20">
+				<div class="row text-center padding-20" style="background:#FFF;width:925px;margin:0px auto;">
 					<button class="btn btn-primary u-w123 margin-t-10" id="commentbtn">发表评论</button>
 				</div>
 			{{end}}
@@ -409,9 +421,20 @@ function getComment(n,start){
 		success:function(s){
 			for(var i=0;i<s.length;i++){
 				var str="<div class='d_pjlb'>";
-				str+="<div class='first' style='margin-right:20px;'><img style='margin-top:13px;' src='/images/rflower.png'  /></div>"
-				str+="<div class='first'><div><img src='/images/u885.png'/></div><div><span  class=\"dspan\">"+s[i]["s_nickname"].substring(0,2)+"***</span></div></div>";
-				str+="<div class='first' style='width:722px;padding:5px 0 0 30px;'><div style='margin-bottom:10px;'>星星</div><div><span style='font-size:13px;'>"+s[i]["s_comment"]+"</span></div>&nbsp;&nbsp;"
+				var img="<img style='margin-top:13px;' src='/images/rflower.png'  />";
+				var pic ="<img style='border-radius:37px;' width=37 src='/images/u885.png'/>";
+				if (s[i]["s_pic"] && s[i]["s_pic"]!=""){
+					pic="<img width=37 style='border-radius:37px;' src="+s[i]["s_pic"]+"/>";
+				}
+				var style=parseInt(s[i]["i_score"])/5*100+"";
+				if (parseInt(s[i]["i_score"])==3){
+					img="<img style='margin-top:13px;' src='/images/yflower.png'  />";
+				}else if(parseInt(s[i]["i_score"])<3){
+					img="<img style='margin-top:13px;' src='/images/bflower.png'  />";
+				}
+				str+="<div class='pson'><div class='first' style='margin-right:20px;'>"+img+"</div>";
+				str+="<div class='first'><div>"+pic+"</div><div><span  class=\"dspan\">"+s[i]["s_nickname"].substring(0,2)+"***</span></div></div>";
+				str+="<div class='first' style='width:722px;padding:5px 0 0 30px;'><div style='margin-bottom:10px;'> <div class='graystar1'><div class='greenstar1' style='width: "+style+"%;'></div></div></div><div><span style='font-size:13px;'>"+s[i]["s_comment"]+"</span></div>&nbsp;&nbsp;"
 				if(isSelf==1 && s[i]["s_reply"]==""){
 					str+="<a style=\"color:#3a87ad;\" class=\"f-reply\" onclick=\"sreply(this)\">回复</a>";
 				}
@@ -420,15 +443,16 @@ function getComment(n,start){
 				str+="</div>";
 				if(s[i]["s_reply"]&&s[i]["s_reply"]!=""){
 					str+="<div class=\"d_pjlb_zj\"> <span class=\"dspan margin-l-15\">&nbsp;&nbsp;服务商回复:</span>";
-					str+="<span>"+s[i]["s_reply"]+"</span>&nbsp;&nbsp;&nbsp;&nbsp;--<span>"+getLocalTime(s[i]["l_timereply"])+"</span></div>";
+					str+="<span>"+s[i]["s_reply"]+"</span>&nbsp;&nbsp;&nbsp;&nbsp;--<span></span></div>";
 				}
 				if(s[i]["s_append"]&&s[i]["s_append"]!=""){
 					str+="<div class=\"d_pjlb_zj\">";
 					str+="<span class=\"dspan margin-l-15\">追加:</span>";
-					str+="<span>"+s[i]["s_append"]+"</span>&nbsp;&nbsp;&nbsp;&nbsp;--<span>"+getLocalTime(s[i]["l_timeappend"])+"</span>";
+					str+="<span>"+s[i]["s_append"]+"</span>&nbsp;&nbsp;&nbsp;&nbsp;<span></span>";
 					str+="</div>";
 				}
-				str+="<input name=\"s_id\" type=\"hidden\" value='"+s[i]["_id"]+"'></input>"
+				str+="<input name=\"s_id\" type=\"hidden\" value='"+s[i]["_id"]+"'></input>";
+				str+="</div>";
 				$("#commentinfo").append(str);
 			}
 			if(s.length<4){
@@ -444,11 +468,11 @@ function sreply(n){
 	if($("#g-reply").length!=0){
 		$("#g-reply").remove();
 	}
-	var after="<div id=\"g-reply\" style=\"text-align:right;\"><textarea id=\"s_reply\" style=\"width:100%;\" class=\"form-control\" rows=\"6\"></textarea> <button style=\"margin: 5px 0 0 0; width: 85px;\" id=\"replybtn\" class=\"btn btn-primary\">发送</button> </div>"
+	var after="<div id=\"g-reply\" style=\"text-align:right;\"><textarea id=\"s_reply\" style=\"width:87%;margin-left:108px;\" class=\"form-control\" rows=\"6\"></textarea> <button style=\"margin: 5px 0 0 0; width: 85px;\" id=\"replybtn\" class=\"btn btn-primary\">发送</button> </div>"
 	$(n).parent().after(after);
 	$("#replybtn").click(function(){
 		var data={};
-		id=$("#g-reply").parent().find("input[name=s_id]").val();
+		id=$("#g-reply").parent().parent().find("input[name=s_id]").val();
 		data["s_reply"]=$("#s_reply").val();
 		data["sid"]=id;
 		if(data["s_reply"]==""){
@@ -469,7 +493,7 @@ function sreply(n){
 					if(rs["f"]=="y"){
 						 var str="";
 							str+="<div class=\"d_pjlb_zj\"> <span class=\"dspan margin-l-15\">&nbsp;&nbsp;服务商回复:</span>";
-							str+="<span>"+rs["content"]+"</span>&nbsp;&nbsp;&nbsp;&nbsp;--<span>"+getLocalTime(rs["l_timereply"])+"</span></div>";
+							str+="<span>"+rs["content"]+"</span>&nbsp;&nbsp;&nbsp;&nbsp;--<span></span></div>";
 							$("#g-reply").parent().append(str);
 							$("#g-reply").prev().find("a").remove();
 							$("#g-reply").remove();
@@ -550,8 +574,9 @@ function comment(){
 					var s_servicename = r[i].s_servicename;
 					var l_createdate = r[i].l_createdate;
 					var src="/images/u885.png";
-					if(r[i].s_img && r[i].s_img==""){
-						src=r[i].s_img;
+					console.log(r[i]);
+					if (r[i]["s_pic"] && r[i]["s_pic"]!=""){
+						src=r[i]["s_pic"];
 					}
 					var tx="<div style='margin-right:50px;'><img height=34 class='radius' style='margin-bottom:10px;margin-right:-15px;'  src="+src+"  /></div>"
 					html+= '<tr class="fonttwo a-border-b"><td>'+tx+s_linkman+'</td><td>'+s_servicename+'</td><td>'+l_createdate+'</td></tr>'

+ 0 - 2
core/src/web/templates/service/list.html

@@ -7,7 +7,6 @@
 <style>
 	body{
 		background-color:#F0F0F0;
-		font-family:"Microsoft YaHei","SimSun"
 	}
 	.list-new-list{
 		max-width: 940px;
@@ -59,7 +58,6 @@
 <link href="/css/index-new.css" rel="stylesheet">
 </head>
 <body >
-{{include "/common/login.html"}}
 {{include "/common/indexhead.html"}}
 
 								

+ 42 - 14
core/src/web/templates/service/viewsingledemand.html

@@ -6,6 +6,9 @@
 			#bdshare_weixin_qrcode_dialog{
 		    height: 330px !important;
 			}
+			.g-tbform .text-default{
+				color:#666;
+			}
 		</style>
 		    {{include "/common/inc.html"}}
     <!-- extra CSS -->
@@ -19,9 +22,9 @@
   <body>
 <img src="{{.T.demandInfo.s_shareimg}}" style="width:0px;height:0px;"/>
 
-    {{include "/common/login.html"}}
 	{{include "/common/indexhead.html"}}
     <div class="container-fluid a-content">
+		
       <div class="a-c-left" style="background:#FFF;margin-top:10px;width:940px;">
         <div class="container" style="padding:30px 30px 30px 60px;width:100%;">
 					<div class="hidden-xs col-sm-4" >
@@ -44,13 +47,14 @@
 							{{else if eq .T.demandInfo.i_status 2}}
 							<img src="/images/u252.png"/>
 							{{else if eq .T.demandInfo.i_status 3}}
-							<span class="a-bg-gray">任务超时</span>
+							<span class="a-bg-gray a-bg-gray-new">任务超时</span>
 							{{else if eq .T.demandInfo.i_status 4}}
-							<span class="a-bg-gray">已撤销</span>
+							<span class="a-bg-gray  a-bg-gray-new">已撤销</span>
 							{{end}}
 				 			{{if .T.edit}}
 							<span>
-								<a style="font-size:14px;color:#3a87ad;font-weight:400;" href="/market/demand/{{.T.demandInfo._id}}.html">编辑</a>
+								<!-- <a class="btn btn-primary" style="font-size:14px;font-weight:400;float:right;" onclick="remove1('{{.T.demandInfo._id}}');">删除</a> -->
+								<a class="btn btn-primary" style="font-size:14px;font-weight:400;float:right;margin-right:5px;" href="/market/demand/{{.T.demandInfo._id}}.html">编辑</a>
 							</span>
 				 			{{end}}
 						</div>
@@ -175,8 +179,8 @@
 							{{if .T.myDemand}}
 							<td width="30%">服务商名称</td>
 							<td width="10%" align="center">报价(元)</td>
-							<td width="20%" align="center">联系人/手机号</td>
-							<td width="20%" align="center">备注</td>
+							<td width="20%" align="center">联系人/联系方式</td>
+							<td width="20%" align="center">备注信息</td>
 							<td	width="10%" align="center">状态</td>
 							<td width="10%" align="center">操作</td>
 							{{else}}
@@ -205,6 +209,7 @@
 	<script charset="utf-8" src="/js/paging.js"></script>
 	<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdPic":"http://test.qimingxing.info/upload/2015/10/27/2015102708191301041479.jpg","bdStyle":"0","bdSize":"16","onAfterClick":function(){alert(1);$.post("/member/credit/inCreditAjx",{"param":"fx"},function(r){})}},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
 	<script>
+		
 		loginBackType = -1;
 		$(function(){
 			$(".m-title span").click(function(e){
@@ -237,27 +242,31 @@
 					html += '<tr data-id="'+_id+'" data-demandid="'+r[i].s_demandid+'" class="a-border-b">'
 								+'<td><div><a title="'+r[i].s_enterprisename+'" target="_brank" href="/enterprise/'+r[i].s_enterpriseid+'.html">'+r[i].s_enterprisename+'</a></div></td>';
 					if(isMyDemand){
-						html += '<td align="center"><div><span title="'+r[i].f_price+'">'+r[i].f_price+'</span></div></td>'
+						var price=r[i].f_price;
+						if (r[i].f_price==0){
+							price="面议";
+						}
+						html += '<td align="center"><div><span  class="price" title="'+r[i].f_price+'">'+price+'</span></div></td>'
 								+'<td align="center"><div><span title="'+r[i].s_person+'/'+r[i].s_phone+'">'+r[i].s_person+'/'+r[i].s_phone+'</span></div></td>'
 						  		+'<td align="center"><div><span title="'+r[i].s_remarks+'">'+r[i].s_remarks+'</span></div></td>';
 					}
 					html += '<td class="a-table-status" align="center">';
 					if("{{.T.demandInfo.i_status}}" == 3){
-						html += '<span class="a-bg-gray">任务超时</span>';
+						html += '<div class="d-bg-gray">任务超时</div>';
 					}else{
 						var i_status = r[i].i_status;
 						switch(i_status){
 							case 1:
-								html += '<span class="a-bg-blue">等待选标</span>';
+								html += '<div class="d-bg-blue">等待选标</div>';
 								break;
 							case 2:
-								html += '<span class="a-bg-gray">已拒绝</span>';
+								html += '<div class="d-bg-gray">已拒绝</div>';
 								break;
 							case 3:
-								html += '<span class="a-bg-green">已接受</span>';
+								html += '<div class="d-bg-green">已接受</div>';
 								break;
 							case 4:
-								html += '<span class="a-bg-gray">未采纳</span>';
+								html += '<div class="d-bg-gray">未采纳</div>';
 								break;
 							case 5:
 								html += '<span class="a-bg-red">已评价</span>';
@@ -266,10 +275,10 @@
 								html += '<span class="a-bg-red">已追评</span>';
 								break;
 							case 7:
-								html+= '<span class="a-bg-gray">已撤销</span>';
+								html+= '<div class="d-bg-gray">已撤销</div>';
 								break;
 							case 8:
-								html+= '<span class="a-bg-gray">已撤销</span>';
+								html+= '<div class="d-bg-gray">已</div>';
 								break;
 							default:
 								html += '&nbsp';
@@ -451,11 +460,30 @@
 					}
 					str+="<input name=\"s_id\" type=\"hidden\" value='"+s[i]["_id"]+"'/>"
 					$("#commentinfo").append(str);
+					
 				}
 			}
 		})
 }
 {{end}}
+function remove1(id){
+	var data={
+		"id":id
+	}
+	$.ajax({
+		url:"/member/bidManage/revoke",
+		method:"post",
+		data:data,
+		success:function(n){
+			if (n.result=="y"){
+				alert("删除成功");
+				window.location.href="/";
+			}else{
+				alert("删除失败");
+			}
+		}
+	});
+}
 	</script>
 	{{include "/common/bottom.html"}}
   </body>

+ 7 - 8
core/src/web/templates/swordfish/wxshare.html

@@ -15,13 +15,12 @@
 <body style="margin:0px;">
 <div style="width: 100%;height: 603px; margin: 0 auto;background: url(/wxswordfish/images/share-cj.png) no-repeat top center;overflow: hidden;background-size: 375px 603px">
 </div>
-<div style="max-width:375px; margin:auto;">
-<div style="float:left;">
-<img src="/front/weixinshare/{{.T.shareid}}" style="width:80px; height:80px;vertical-align:middle;" />
-</div>
-<div style="float:left;line-height:30px;margin-top:10px;width:75%;">
- 长按图片识别二维码<br/>回复“抽奖”,有机会抽取iPad mini
-</div>
-</div>
+<table align=center width=100%>
+	<tr>
+		<td width=80><img src="/front/weixinshare/{{.T.shareid}}" style="width:80px; height:80px;" /></td>
+		<td style="word-break:break-all;word-wrap:break-word;line-height:22px;max-width:210px;">
+ 长按图片识别二维码<br/>回复“抽奖”,有机会抽取iPad mini</td>
+	</tr>
+</table>
 </body>
 </html>

+ 111 - 90
core/src/web/templates/yellowpage/enterpriseinfo.html

@@ -28,7 +28,6 @@
 				</script>
 				</span>
 				{{end}}
-				{{if .T.res.s_microwebsite}}<span class="b-microwebsite"><i class="glyphicon weiguanwang"></i><a href="/ent/wsite/preview/{{.T.res.entid}}">微官网</a></span>{{end}}
 			</div>
 			<div class="b-com-second">
 				{{if .T.res.EntName }}
@@ -50,7 +49,7 @@
 			</div>
 			<div class="b-com-last">
 				{{if .T.res.s_persion}}<span class="glyphicon ren2"></span>{{.T.res.s_persion}}<span class="margin-r-15"></span>{{end}}
-				{{if .T.res.s_mobile}}<span class="glyphicon shouji"></span>{{.T.res.s_mobile}}<span class="margin-r-15"></span>{{end}}
+				{{if or .T.res.s_mobile .T.res.Tel}}<span class="glyphicon shouji"></span>{{if .T.res.s_mobile}}{{.T.res.s_mobile}}{{else if .T.res.Tel}}{{.T.res.Tel}}{{end}}<span class="margin-r-15"></span>{{end}}
 				{{if .T.res.s_qq}}
 					<span class="glyphicon qq1"></span>
 					<script type="text/javascript">
@@ -76,24 +75,39 @@
 				{{end}}
 				{{if .T.res.s_enturl}}<span class="glyphicon wangzhi1"></span>{{.T.res.s_enturl}}{{end}}
 				<br>
-				{{if or .T.res.i_province .T.res.i_city .T.res.i_area .T.res.s_address}}
+				{{if or .T.res.i_province .T.res.i_city .T.res.i_area .T.res.s_address .T.res.Dom}}
 					<span class="glyphicon dizhi margin-0"></span>
 					<span id="city_china">
+						{{if or .T.res.i_province .T.res.i_city .T.res.i_area .T.res.s_address}}
 						<select class="province cxselect select hide" id="provincesel" name="province" data-first-title="全国"></select>								
 						<select class="city cxselect select hide" id="citysel" name="city" data-first-title="选择市"></select>
 						<select class="area cxselect select hide" id="areasel" name="area" data-first-title="选择县"></select>
+						{{else if .T.res.Dom}}
+							{{.T.res.Dom}}
+						{{end}}
 					</span>
-					<input id="location" type="hidden">
-					<input id="cityname" type="hidden">
-					{{if .T.res.s_address}}
+					<input id="location" type="hidden" value="{{if .T.res.Dom}}{{.T.res.Dom}}{{end}}">
+					<input id="cityname" type="hidden" value="">
+					{{if or .T.res.s_address}}
 					<a href="javascript:void(0)" onclick="showMap()">查看详细地图</a>
 					{{end}}
 				{{end}}
 			</div>
 		</div>
-		<div class="entinfo-share">
-			<span class="glyphicon fenxiang"></span>分享
-			<div class="bdsharebuttonbox"><a href="#" id="bds_weixin" data-cmd="weixin" title="分享到微信">微信扫码</a><a href="#" id="bds_tsina" data-cmd="tsina" title="分享到新浪微博">新浪微博"</a><a href="#" id="bds_tqq" data-cmd="tqq" title="分享到腾讯微博">腾讯微博</a><a href="#" id="bds_qzone" data-cmd="qzone" title="分享到QQ空间">QQ空间</a><a href="#" id="bds_douban" data-cmd="douban" title="分享到豆瓣网">豆瓣</a></div>
+		<div class="b-pcshare">
+			<span id="pcShare"><span class="glyphicon fenxiang"></span>分享</span>
+			<div class="b-pcshare-content" id="pcShare-content">
+				<div class="text-center">
+					<span><img src="/images/wx.png">微信扫码</span>
+					<span id="share-weixin"></span>
+				</div>
+				<div class="a-border-l">
+					<span id="share-tsina"><img src="/images/sina.png">新浪微博</span>
+					<span id="share-tqq"><img src="/images/wb.png">腾讯微博</span>
+					<span id="share-qzone"><img src="/images/kj.png">QQ空间</span>
+					<span id="share-douban"><img src="/images/db.png">豆瓣</span>
+				</div>
+			</div>
 		</div>
 	</div>
 	<!--切换-->
@@ -135,97 +149,91 @@
 								</div>
 								<br><img src="/images/entcommunity/triangle.png">
 							</span>
-							<div><span>注册号</span><span>{{if .T.res.RegNo}}{{.T.res.RegNo}}{{end}}</span></div>
-							<div><span>行业</span><span>{{if .T.res.IndustryPhyName}}{{.T.res.IndustryPhyName}}{{end}}</span></div>
+							{{if .T.res.RegNo}}<div><span>注册号</span><span>{{.T.res.RegNo}}</span></div>{{end}}
+							{{if .T.res.IndustryPhyName}}<div><span>行业</span><span>{{.T.res.IndustryPhyName}}</span></div>{{end}}
 						</div>
 						<!--成立日期-->
-						{{if .T.res.EstDate}}
 						<div class="entinfo-estdate">
 							<div>
-								<span>成立日期</span>
-								<span>{{.T.res.EstDate}}</span>
+								<span{{if not .T.res.EstDate}} class="entinfo-disabled"{{end}}>成立日期</span>
+								<span>{{if .T.res.EstDate}}{{.T.res.EstDate}}{{end}}</span>
 							</div>
 							<img src="/images/entcommunity/chenglirizi.png">
 						</div>
 						<a class="entinfo-estdate-round"></a>
-						{{end}}
 						<!--注册资本-->
-						{{if .T.res.RegCap}}
-							{{if and (ne .T.res.EntType "9600") (ne .T.res.EntType "5810")}}
-							 <div class="entinfo-regcap">
-								<div>
+						<div class="entinfo-regcap">
+							<div>
+							{{if .T.res.RegCap}}
+								{{if and (ne .T.res.EntType "9600") (ne .T.res.EntType "5810")}}
 									<span>注册资本</span>
 									<span><script>var d1={{.T.res.RegCap}};d1=d1?d1:0; var lenD1=(d1+"").length ;if(lenD1>4&&(d1+"").indexOf(".")>-1&&(lenD1-(d1+"").indexOf("."))>4){document.write(d1.toFixed(4))}else{document.write(d1)}</script>万元</span>
-								</div>
-								<img src="/images/entcommunity/zhuceziben.png">
+								{{else}}
+									<span class="entinfo-disabled">注册资本</span>
+									<span></span>
+								{{end}}
+							{{else}}
+								<span class="entinfo-disabled">注册资本</span>
+								<span></span>
+							{{end}}
 							</div>
-							<a class="entinfo-regcap-round"></a>
-						    {{end}}
-						{{end}}
+							<img src="/images/entcommunity/zhuceziben.png">
+						</div>
+						<a class="entinfo-regcap-round"></a>
 						<!--公司类型-->
-						{{if .T.res.EntTypeName}}
-						  	<div class="entinfo-enttype">
-								<div>
-									<span>公司类型</span>
-									<span>{{.T.res.EntTypeName}}</span>
-								</div>
-								<img src="/images/entcommunity/gongsileixing.png">
+					  	<div class="entinfo-enttype">
+							<div>
+								<span{{if not .T.res.EntTypeName}} class="entinfo-disabled"{{end}}>公司类型</span>
+								<span>{{if .T.res.EntTypeName}}{{.T.res.EntTypeName}}{{end}}</span>
 							</div>
-							<a class="entinfo-enttype-round"></a>
-						{{end}}
+							<img src="/images/entcommunity/gongsileixing.png">
+						</div>
+						<a class="entinfo-enttype-round"></a>
 						<!--法定代表人-->
-						{{if .T.res.LeRep}}
-						  	<div class="entinfo-lerep">
-								<div>
-									<span>{{.T.res.EntTypeLabel}}</span>
-									<span>{{.T.res.LeRep}}</span>
-								</div>
-								<img src="/images/entcommunity/ren.png">
+					  	<div class="entinfo-lerep">
+							<div>
+								<span{{if not .T.res.LeRep}} class="entinfo-disabled"{{end}}>{{if .T.res.EntTypeLabel}}{{.T.res.EntTypeLabel}}{{else}}无{{end}}</span>
+								<span>{{if .T.res.LeRep}}{{.T.res.LeRep}}{{end}}</span>
 							</div>
-							<a class="entinfo-lerep-round"></a>
-						{{end}}
+							<img src="/images/entcommunity/ren.png">
+						</div>
+						<a class="entinfo-lerep-round"></a>
 						<!--公司规模-->
 					  	<div class="entinfo-entscale">
 							<img src="/images/entcommunity/rens.png">
 							<div>
-								<span>公司规模</span>
+								<span class="entinfo-disabled">公司规模</span>
 								<span></span>
 							</div>
 						</div>
 						<a class="entinfo-entscale-round"></a>
 						<!--登记机关-->
-						{{if .T.res.RegOrgName}}
-						  	<div class="entinfo-regorgname">
-								<img src="/images/entcommunity/dengjijiguan.png">
-								<div>
-									<span>登记机关</span>
-									<span>{{.T.res.RegOrgName}}</span>
-								</div>
+					  	<div class="entinfo-regorgname">
+							<img src="/images/entcommunity/dengjijiguan.png">
+							<div>
+								<span{{if not .T.res.RegOrgName}} class="entinfo-disabled"{{end}}>登记机关</span>
+								<span>{{if .T.res.RegOrgName}}{{.T.res.RegOrgName}}{{end}}</span>
 							</div>
-							<a class="entinfo-regorgname-round"></a>
-						{{end}}
+						</div>
+						<a class="entinfo-regorgname-round"></a>
 						<!--地址-->
-						{{if .T.res.Dom}}
-						  	<div class="entinfo-dom">
-								<img src="/images/entcommunity/dizhi.png">
-								<div>
-									<span>地址</span>
-									<span>{{.T.res.Dom}}</span>
-								</div>
+					  	<div class="entinfo-dom">
+							<img src="/images/entcommunity/dizhi.png">
+							<div>
+								<span{{if not .T.res.Dom}} class="entinfo-disabled"{{end}}>地址</span>
+								<span>{{if .T.res.Dom}}{{.T.res.Dom}}{{end}}</span>
 							</div>
-							<a class="entinfo-dom-round"></a>
-						{{end}}
+						</div>
+						<a class="entinfo-dom-round"></a>
 						<!--营业期限-->
-						{{if .T.res.OpFrom}}
 						<div class="entinfo-operperiod">
 							<img src="/images/entcommunity/shijian.png">
 							<div>
-								<span>营业期限</span>
-								<span>自{{.T.res.OpFrom}}{{if .T.res.OpTo}}至{{.T.res.OpTo}}{{end}}</span>
+								<span{{if and (not .T.res.OpFrom) (not .T.res.OpTo)}} class="entinfo-disabled"{{end}}>营业期限</span>
+								<span>{{if .T.res.OpFrom}}自{{.T.res.OpFrom}}{{end}}{{if .T.res.OpTo}}至{{.T.res.OpTo}}{{else}}至长期{{end}}</span>
 							</div>
 						</div>
 						<a class="entinfo-operperiod-round"></a>
-						{{end}}
 					</div>
 				</div>
 			</div>
@@ -236,22 +244,20 @@
 					<span><span class="bootstrap-glyphicon glyphicon-menu-right"></span></span>股东信息
 				</div>
 				<div class="b-com-content">
-					<ul>
-						{{range $k,$v := .T.res.investor}}
-						{{if $v.InvType}}
-						<li>
-							{{if eq $v.InvType "20" "21" "22"}}
-							<img src="/images/entcommunity/ziranren.png">
-							{{else}}
-							<img src="/images/entcommunity/faren.png">
-							{{end}}
-							<span><b>{{$v.InvTypeName}}</b></span>
-							<span>{{$v.Inv}}</span>
-						</li>
-						{{end}}
+					{{range $k,$v := .T.res.investor}}
+					{{if $v.InvType}}
+					<div>
+						{{if eq $v.InvType "20" "21" "22"}}
+						<img src="/images/entcommunity/ziranren.png">
+						{{else}}
+						<img src="/images/entcommunity/faren.png">
 						{{end}}
-						<div class="clearfix"></div>
-					</ul>
+						<span><b>{{$v.InvTypeName}}</b></span>
+						<span><script>document.write({{$v.Inv}}.replace(/\s/gm,""));</script></span>
+					</div>
+					{{end}}
+					{{end}}
+					<span class="clearfix"></span>
 				</div>
 			</div>
 			{{end}}
@@ -283,11 +289,12 @@
 			</div>
 		</div>
 		<div class="hide">
+		{{if or .T.res.OpScope .T.res.s_synopsis}}
 			<div class="ent-layout-up">
 				<div class="b-com-title">
 					<span class="glyphicon jianzhu"></span>公司简介
 				</div>
-				<div class="b-com-content"></div>
+				<div class="b-com-content margin-0"></div>
 			</div>
 			<div class="ent-layout-down">
 				{{if .T.res.OpScope}}
@@ -303,14 +310,20 @@
 				<div class="b-com-content">{{.T.res.s_synopsis}}</div>
 				{{end}}
 			</div>
+			{{else}}
+			<div class="ent-findnull">
+				<img src="/images/findnull.png" class="b-findnull">
+				<h4>抱歉,未找到相关数据!</h4>
+			</div>
+			{{end}}
 		</div>
 		<div class="ent-alterinfo hide">
+		{{if gt (len .T.res.alterInfo) 0}}
 			<div class="ent-layout-up">
 				<div class="b-com-title">
 					<span class="glyphicon jianzhu"></span>变更信息
 				</div>
 				<div class="b-com-content">
-				{{if gt (len .T.res.alterInfo) 0}}
 					<ul>
 					{{range $k,$v := .T.res.alterInfo}}
 						<li>
@@ -329,21 +342,29 @@
 						</li>
 					{{end}}
 						<li>
-							<div></div>
 							<div>
+								<div></div>
+								<div></div>
+								<div></div>
+								<a></a>
+							</div>
+							<div>
+								<div></div>
+								<div></div>
+								<div></div>
 								<a></a>
 							</div>
 						</li>
 						<div class="clearfix"></div>
 					</ul>
-				{{else}}
-					<div class="ent-findnull">
-						<img src="/images/findnull.png" class="b-findnull">
-						<h4>抱歉,未找到相关数据!</h4>
-					</div>
-				{{end}}
 				</div>
 			</div>
+			{{else}}
+			<div class="ent-findnull">
+				<img src="/images/findnull.png" class="b-findnull">
+				<h4>抱歉,未找到相关数据!</h4>
+			</div>
+		{{end}}
 		</div>
 		<div class="hide">
 			<div class="ent-findnull">
@@ -354,7 +375,7 @@
 		<div class="hide ent-service">
 			<table class="table ent-table" id="serviceList">
 				<tr>
-					<td colspan="4" class="text-center" id="serviceListPaging"></td>
+					<td colspan="4" class="text-center ent-servicepaging" id="serviceListPaging"></td>
 				</tr>
 			</table>
 			<div class="ent-findnull hide">

+ 0 - 408
core/src/web/templates/yellowpage/ungxenterpriseinfo.html

@@ -1,408 +0,0 @@
-<html>
-<head>
-<title>{{.T.res.EntName}}_企业信息_企明星</title>
-<meta name="msvalidate.01" content="D5F3ADC7EB4E65FFB8BF943AD56DD1F7" />
-{{include "/common/inc.html"}}
-<meta name="Keywords" content="{{.T.res.EntName}},{{.T.res.EntName}}地址,{{.T.res.EntName}}怎么样"/>
-<meta name="Description" content="{{.T.res.OpScope}}"/>
-<link href="/css/enterprise.css" rel="stylesheet">
-<script src="/js/geocoder.js"></script>
-<script type="text/javascript" src="http://api.map.baidu.com/getscript?v=2&ak=AFd8b176f363f23e6a23d516f4cfb742&services=&t=20150522093217"></script>  
-<script src="/js/jquery.cxselect.js"></script>
-<script src="/js/qfwtable.js"></script>
-
-</head>
-<body>
-<div class="hidden-xs">{{include "/common/head.html"}}</div>
-<div id="entinfobg">	
-<div class="a-content">
-	<!--标题-->
-	<div id="titleactionimgs" class="row qfw-row">
-		<div>
-		<h3>
-		{{if .T.res.EntName }}
-			{{.T.res.EntName}}
-			{{if .T.res.s_qq}}
-				<script type="text/javascript">
-				    var online = new Array();
-				</script>
-				<script type= "text/javascript" src="http://webpresence.qq.com/getonline?Type=1&{{.T.res.s_qq}}:"></script>
-				<script type="text/javascript">
-					var imgSrc = "";
-			        if(online[0] == 1) {
-						imgSrc = "/images/qq_online.gif";
-			        }else{
-						imgSrc = "/images/qq_offline.gif";
-					}
-					document.write('<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin={{.T.res.s_qq}}&site=qq&menu=yes"><img src="'+imgSrc+'" alt="点击这里给我发消息" title="点击这里给我发消息" border="0" /></a>');
-				</script>
-			{{end}}
-			{{if .T.res.s_microwebsite}}<span class="microwebsite visible-xs-inline"><i class="glyphicon weiguanwang"></i><a href="/ent/wsite/preview/{{.T.res.entid}}">微官网</a></span>{{end}}
-		{{end}}
-		</h3>		
-		<!--企业认证图标--> 
-		{{if .T.res.EntName }}
-			{{if .T.res.s_action}}
-				{{$identaction:=.T.res.s_action}}		
-				{{if eq $identaction "01"}}
-					<span class="glyphicon qyrz   margin-l-10 jhtb"></span> <span class="identactionType">已认证企业 </span> 
-						{{ if .T.res.i_comauthenttype }}
-								{{ if eq .T.res.i_comauthenttype 2}}
-									<span class="glyphicon mprz   margin-r-10 jhtbtype"></span><span class="lineb " ><small style="color:#fff;margin-right:5px;">名片认证</small></span>					
-								{{else if eq .T.res.i_comauthenttype 1}}
-									<span class="glyphicon yyzzrz   margin-r-10 jhtbtype"></span><span class="lineb " ><small style="color:#fff;margin-left:3px;margin-right:5px;">营业执照认证</small></span>
-								{{else if eq .T.res.i_comauthenttype 3}}
-									<span class="glyphicon yjrz   margin-r-10 jhtbtype"></span><span class="lineb " ><small style="color:#fff;margin-right:5px;">年报邮箱认证</small></span>
-								{{end}}
-						{{else}}
-								<span class="glyphicon yyzzrz   margin-r-10 jhtbtype"></span><span class="lineb " ><small style="color:#fff;margin-left:3px;margin-right:5px;">营业执照认证</small></span>
-						{{end}}
-				{{else if eq $identaction "02"}}
-					<span class="glyphicon grrz   margin-l-10 jhtb"></span> <span class="identactionType">已认证个人</span>
-				{{else if eq $identaction "03"}}
-					<span class="glyphicon jgrz   margin-l-10 jhtb"></span> <span class="identactionType">已认证机构</span>
-				{{end}}
-			{{end}}
-		{{end}}
-		</div>
-	</div>
-	
-	<!--企业名片-->
-	{{if .T.res.s_persion}}	
-	<div class="row qfw-row qfw-p-margintop">
-		<div class="col-lg-12 border" id="our">
-			<div class="qfw-entinfo-padding41">
-				<h4><span class="glyphicon lianxiwomen icon_gray icon_large"></span>
-				<b>{{if .T.res.s_action}}  {{if eq .T.res.s_action "02"}}商家名片{{else if eq .T.res.s_action "01"}}企业名片{{else if eq .T.res.s_action "03"}}机构名片{{end}}{{end}}</b></h4>
-				<hr>
-				<!--企业名片详细信息-->				
-				{{if .T.res.s_persion }}
-				<div class="tablediv"> 
-					<div class="rowcontent"> 
-						<div class="one"><span class="glyphicon lianxiren icon_gray"></span></div> 
-						<div class="two" style="letter-spacing: 5px;">联系人:</div> 
-						<div class="three"><span class="span999">{{.T.res.s_persion}}</span></div>
-					</div> 
-				</div>
-				{{end}}
-				{{if .T.res.s_mobile }}
-				<div class="tablediv"> 
-					<div class="rowcontent"> 
-						<div class="one"><span class="glyphicon lianxidianhua icon_gray"></span></div> 
-						<div class="two">联系电话:</div> 
-						<div class="three"><span class="span999">{{.T.res.s_mobile}}</span></div>
-					</div> 
-				</div>
-				{{end}}
-				{{if .T.res.s_enturl }}
-				<div class="tablediv"> 
-					<div class="rowcontent"> 
-						<div class="one"><span class="glyphicon wangzhi icon_gray"></span></div> 
-						<div class="two">
-						{{if .T.res.s_action}}
-							{{if eq .T.res.s_action "01"}}
-								企业网站:
-							{{else if eq .T.res.s_action "02"}}
-								商家网站:
-							{{else if eq .T.res.s_action "03"}}
-								机构网站:
-							{{else}}
-							企业网站:
-							{{end}}
-						{{else}}
-						企业网站:
-						{{end}}
-						</div> 
-						<div class="three"><span class="span999">{{.T.res.s_enturl}}</span></div>
-					</div> 
-				</div>
-				{{end}}
-				{{if .T.res.s_qq }}
-				<div class="tablediv"> 
-					<div class="rowcontent"> 
-						<div class="one"><span class="glyphicon qq icon_gray"></span></div> 
-						<div class="two">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Q&nbsp;Q:</div> 
-						<div class="three"><span class="span999">{{.T.res.s_qq}}</span></div>
-					</div> 
-				</div>
-				{{end}}
-				{{if .T.res.s_weixin }}
-				<div class="tablediv"> 
-					<div class="rowcontent"> 
-						<div class="one"><span class="glyphicon weixinhao icon_gray"></span></div> 
-						<div class="two" style="letter-spacing: 5px;">微信号:</div> 
-						<div class="three"><span class="span999">{{.T.res.s_weixin}}</span>
-						{{if .T.res.s_weixinbarcode}}
-						&nbsp;&nbsp;&nbsp;&nbsp;<a href="#" class="text-primary " onClick="viewBarCode({{.T.res.s_weixinbarcode}});">扫一扫</a>
-						{{end}}
-						</div>
-					</div> 
-				</div>
-				{{end}}
-				{{if or .T.res.i_province .T.res.i_city .T.res.i_area .T.res.s_address  }}
-				<div class="tablediv"> 
-					<div class="rowcontent"> 
-						<div class="one"><span class="glyphicon lianxidizhi icon_gray"></span></div> 
-						<div class="two">联系地址:</div> 
-						<div class="three">
-							<span class="span999" id="city_china">
-								<select  class="province cxselect select" id="provincesel" name="province" data-first-title="全国"></select>								
-								<select class="city cxselect select" id="citysel" name="city" data-first-title="选择市"></select>
-								<select class="area cxselect select" id="areasel" name="area" data-first-title="选择县"></select>
-							</span>
-							
-							<input id="location"  type="hidden">
-							<input id="cityname"  type="hidden">
-							{{if .T.res.s_address}}
-							<span class="glyphicon biaojidizhi icon_default text-primary" ></span> 	
-							<a href = "javascript:void(0)" onclick = "document.getElementById('mapshowdiv').style.display='block';document.getElementById('closeshowmap').style.display='block';document.getElementById('fade').style.display='block';">查看详细地图</a>
-							{{end}}
-						</div>
-					</div> 
-				</div>
-				{{end}}
-				{{if .T.res.s_synopsis}}
-				<div class="tablediv"> 
-					<div class="rowcontent"> 
-						<div class="one" style="vertical-align: top;"><span class="glyphicon falvshengming icon_gray"></span> </div> 
-						<div class="two" style="vertical-align: top;">
-						{{if .T.res.s_action}}
-							{{if eq .T.res.s_action "01"}}
-								企业介绍:
-							{{else if eq .T.res.s_action "02"}}
-								商家介绍:
-							{{else if eq .T.res.s_action "03"}}
-								机构介绍:
-							{{else}}
-							企业介绍:
-							{{end}}
-						{{else}}
-						企业介绍:
-						{{end}}
-						</div> 
-						<div class="three">{{.T.res.s_synopsis}}</div>
-					</div> 
-				</div>
-				{{end}}
-				
-				
-			</div>
-		</div>
-	</div>	
-	<!--显示地图信息-->
-	<div id="mapshowdiv" class="white_content"></div>
-	<a href = "javascript:void(0)" onclick = "document.getElementById('mapshowdiv').style.display='none';document.getElementById('closeshowmap').style.display='none';document.getElementById('fade').style.display='none';"><div id="closeshowmap" class="closeshowmap">X</div></a>
-	<div id="fade" class="black_overlay"></div> 	
-	{{end}}	
-	
-	<!--产品服务-->	
-	<div class="row qfw-row qfw-p-margintop " style="display:none;" id="service">
-		<div class="col-lg-12 border" >
-			<div class="qfw-entinfo-padding41">
-				<h4><span class="glyphicon fuwu icon_gray icon_large"></span>
-				<b>产品服务</b></h4>
-				<hr>
-				<div class="service_list" id="service_list">
-					<table style="width:100%;" class="text-muted mt"><tbody></tbody></table>
-					<div class="text-muted mt">该公司暂未发布服务信息</div>
-				</div>
-				<div class="op1 text-center" id="loadMore" onClick="loadMore()" >加载更多</div>
-			</div>
-		</div>
-	</div>
-	<!--公示信息-->
-	<div class="row qfw-row qfw-p-margintop" id="gs">
-		<div class="col-lg-12 border" >
-			<div class="qfw-entinfo-padding41">
-				<h4><span class="glyphicon gongshixinxi icon_gray icon_large"></span>
-				<b>公示信息</b>&nbsp{{if .T.res.gs }}<font id="qggs" style="font-size:12px;"><small>(来源:<a href="http://gsxt.saic.gov.cn/" rel="nofollow" style="text-decoration: underline;color: #0099FF;">全国企业信用信息公示系统</a>)</small></font>{{end}}</h4>
-				<hr>
-				{{if .T.res.gs }}
-				{{if .T.res.RegNo }}
-				    <div class="tablediv"> 
-						<div class="rowcontent"> 
-							<div class="one"><span class="glyphicon zhucehao icon_gray"></span></div> 
-							<div class="two">注册号:<span class="span999">{{.T.res.RegNo}}</span></div> 
-						</div> 
-					</div>
-				{{end}}
-				{{if .T.res.EntTypeName }}
-				  	<div class="tablediv"> 
-						<div class="rowcontent"> 
-							<div class="one"><span class="glyphicon qiyeleixing icon_gray"></span></div> 
-							<div class="two">类型: <span class="span999">{{.T.res.EntTypeName}}</span> </div> 
-						</div> 
-					</div>
-				{{end}}
-				{{if .T.res.LeRep }}
-				    <div class="tablediv"> 
-						<div class="rowcontent"> 
-							<div class="one"><span class="glyphicon faren icon_gray"></span></div> 
-							<div class="two">{{.T.res.EntTypeLabel}}:<span class="span999">{{.T.res.LeRep}}</span> </div> 
-						</div> 
-					</div>
-				{{end}}
-				{{if .T.res.RegCap }}
-					{{if and (ne .T.res.EntType "9600") (ne .T.res.EntType "5810")}}
-					 <div class="tablediv"> 
-						<div class="rowcontent"> 
-							<div class="one"><span class="glyphicon zican icon_gray"></span></div> 
-							<div class="two">注册资本:<span class="span999"><script>var d1={{.T.res.RegCap}};d1=d1?d1:0; var lenD1=(d1+"").length ;if(lenD1>4&&(d1+"").indexOf(".")>-1&&(lenD1-(d1+"").indexOf("."))>4){document.write(d1.toFixed(4))}else{document.write(d1)}</script> 万元</span></div> 
-						</div> 
-					</div>
-				    {{end}}
-				{{end}}
-				{{if .T.res.EstDate }}
-				  	<div class="tablediv"> 
-						<div class="rowcontent"> 
-							<div class="one"><span class="glyphicon riqi icon_gray"></span></div> 
-							<div class="two">成立日期:<span class="span999">{{.T.res.EstDate}}</span></div> 
-						</div> 
-					</div>
-				{{end}}
-				{{if .T.res.Dom }}
-				  	<div class="tablediv"> 
-						<div class="rowcontent"> 
-							<div class="one"><span class="glyphicon zhusuo icon_gray"></span></div> 
-							<div class="two">住所: <span class="span999">{{.T.res.Dom}} </span></div> 
-						</div> 
-					</div>
-				{{end}}
-				{{if .T.res.OpStateName }}
-				 	<div class="tablediv"> 
-						<div class="rowcontent"> 
-							<div class="one"><span class="glyphicon dengjizhuangtai icon_gray"></span></div> 
-							<div class="two">登记状态:<span class="span999">{{.T.res.OpStateName}}</span></div> 
-						</div> 
-					</div>
-				{{end}}
-				{{if .T.res.OpFrom }}
-					<div class="tablediv"> 
-					    <div class="rowcontent"> 
-					        <div class="one"><span class="glyphicon riqi icon_gray"></span></div> 
-					        <div class="two">营业期限:<span class="span999">自{{.T.res.OpFrom}}
-							{{if .T.res.OpTo }}至{{.T.res.OpTo }}{{end}}</span></div> 
-					    </div> 
-			       </div>
-				{{end}}
-				{{if .T.res.OpScope }}
-				   <div class="tablediv"> 
-					    <div class="rowcontent"> 
-					        <div class="one"><span class="glyphicon jingyingfanwei icon_gray"></span></div> 
-					        <div class="two">经营范围:<span class="span999">{{.T.res.OpScope}}</span></div> 
-					    </div> 
-			       </div>
-				{{end}}
-				{{if .T.res.RegOrgName }}
-					<div class="tablediv"> 
-						<div class="rowcontent"> 
-							<div class="one"><span class="glyphicon dengjijiguan icon_gray"></span></div> 
-							<div class="two">登记机关:<span class="span999">{{.T.res.RegOrgName}}</span> </div> 
-						</div> 
-					</div>
-				{{end}}
-				{{if .T.res.IssBLicDate }}
-					<div class="tablediv"> 
-						<div class="rowcontent"> 
-							<div class="one"><span class="glyphicon riqi icon_gray"></span></div> 
-							<div class="two">核准日期:<span class="span999">{{.T.res.IssBLicDate}} </span> </div> 
-						</div> 
-					</div>
-			 	{{end}}				
-				{{end}}
-			</div>
-		</div>
-	</div>	
-	<!--关系网-->
-	<div class="row qfw-row qfw-p-margintop">
-			<div class="col-lg-12 border" >
-			<div class="qfw-entinfo-padding41">
-				<h4><span class="glyphicon guanxiwang icon_gray icon_large"></span>
-				<b>关系网</b></h4>
-				<hr>
-				<div class="text-primary text-center" id="gxlogin">
-					<span class="text-muted">扫码登录认证后,即可查看企业股东信息,投资关系,公司关系脉络图等内容<br><a  href="javascript:void(0)" class="btn btn-primary login a-com-login margin-t-10">扫码登录</a></span><br>
-				</div>
-			</div>
-		</div>
-	
-	</div>
-</div>
-</div>
-
-
-
-<!--弹出窗口显示上传的图片-->
-<div class="modal fade" id="myModal" tabindex="-1" role="dialog" 
-   aria-labelledby="myModalLabel" aria-hidden="true">
-   <div class="modal-dialog mimg">
-        <div class="modal-content" style="width:400px;">
-         <div class="modal-header">
-            <button type="button" class="close" data-dismiss="modal" style="margin-top: -10px;"
-               aria-hidden="true">×
-            </button>
-         </div>
-         <div class="modal-body" id="viewImgs" onclick="hideImgs()" style="cursor:pointer;text-align: center;" >
-            
-         </div>
-      </div><!-- /.modal-content -->
-   </div><!-- /.modal-dialog -->
-</div><!-- /.modal -->
-
-<!--右侧导航菜单-->
-{{include "/common/rightnavbtn.html"}}
-<!--右侧导航菜单-->
-{{include "/common/bottom.html"}}
-</body>
-<script type="text/javascript">
-$(function(){
-	$("#gxlogin .a-com-login").click(function(){
-		loginModalShow();
-	});
-	setNavbarActive(2);
-});
-
-
-var entsel="",btempwords,chf1,czb;
-
-//企业信息ID
- var id = {{.T.res._id}}
-//公式信息的变量
-var $gs = {{.T.res.gs}};
-var $relationlen=0
-//服务模板
-var template_content = "<tr><td><div class='row service_row'> "
-+"<div class='col-sm-1'><div style='width:120px; height:120px; background-color:#eee;'><img class='hidden-xs' src='${s_images}' style='width:120px;height:120px'></div></div>"
-+" <div class='col-sm-9'>"
-+"<div class='linebser service_des'><div class='servicename text-primary'><a class='text-primary' target='_blank' onclick='clickservicename(\"${_id}\",\"${s_isshow}\")'>${s_name}</a></div><div class='text-muted'>${s_introduction}</div></div>"
-+"</div></td><tr>"
-
-//注册号
-var regno="{{.T.res.RegNo}}";
-
-var legcerno = "{{.T.res.LegCerNO}}";
-var lerep="{{.T.res.LeRep}}";
-//联系地址
-var province = {{.T.res.i_province}};
-var city = {{.T.res.i_city}};
-var area = {{.T.res.i_area}};
-var as1="{{.T.res.s_address}}";
-var $chiancity= false,$listent=false;
-{{if or .T.res.i_province .T.res.i_city .T.res.i_area .T.res.s_address  }}
-	$chiancity= true;
-{{end}}
-
-var $resdata = {{.T.res.data}};
-var $entid = {{.T.res._id}};
-//定义默认的郑州经纬度
-var ptlat=113.69884285509,  ptlng=34.791342526551;
-
-//调用回调函数重新加载页面
-function publicCallBack(){
-	//location.reload();
-	window.location.href="/enterprise/"+$entid+".html"
-}
-</script>
-<script src="/js/qfw-frontenterprise.js"></script>
-
-</html>

+ 0 - 403
core/src/web/templates/yellowpage/unrzenterpriseinfo.html

@@ -1,403 +0,0 @@
-<html>
-<head>
-<title>{{.T.res.EntName}}_企业信息_企明星</title>
-<meta name="msvalidate.01" content="D5F3ADC7EB4E65FFB8BF943AD56DD1F7" />
-{{include "/common/inc.html"}}
-<meta name="Keywords" content="{{.T.res.EntName}},{{.T.res.EntName}}地址,{{.T.res.EntName}}怎么样"/>
-<meta name="Description" content="{{.T.res.OpScope}}"/>
-<link href="/css/enterprise.css" rel="stylesheet">
-<script src="/js/geocoder.js"></script>
-<script type="text/javascript" src="http://api.map.baidu.com/getscript?v=2&ak=AFd8b176f363f23e6a23d516f4cfb742&services=&t=20150522093217"></script>  
-<script src="/js/jquery.cxselect.js"></script>
-<script src="/js/qfwtable.js"></script>
-
-</head>
-<body>
-<div class="hidden-xs">{{include "/common/head.html"}}</div>
-<div id="entinfobg">	
-<div class="a-content">
-	<!--标题-->
-	<div id="titleactionimgs" class="row qfw-row">
-		<div>
-		<h3>
-		{{if .T.res.EntName }}
-			{{.T.res.EntName}}
-			{{if .T.res.s_qq}}
-				<script type="text/javascript">
-				    var online = new Array();
-				</script>
-				<script type= "text/javascript" src="http://webpresence.qq.com/getonline?Type=1&{{.T.res.s_qq}}:"></script>
-				<script type="text/javascript">
-					var imgSrc = "";
-			        if(online[0] == 1) {
-						imgSrc = "/images/qq_online.gif";
-			        }else{
-						imgSrc = "/images/qq_offline.gif";
-					}
-					document.write('<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin={{.T.res.s_qq}}&site=qq&menu=yes"><img src="'+imgSrc+'" alt="点击这里给我发消息" title="点击这里给我发消息" border="0" /></a>');
-				</script>
-			{{end}}			
-			{{if .T.res.s_microwebsite}}<span class="microwebsite visible-xs-inline"><i class="glyphicon weiguanwang"></i><a href="/ent/wsite/preview/{{.T.res.entid}}">微官网</a></span>{{end}}
-		{{end}}
-		</h3>		
-		<!--企业认证图标--> 
-		{{if .T.res.EntName }}
-			{{if .T.res.s_action}}
-				{{$identaction:=.T.res.s_action}}		
-				{{if eq $identaction "01"}}
-					<span class="glyphicon qyrz   margin-l-10 jhtb"></span> <span class="identactionType">已认证企业</span>
-						{{ if .T.res.i_comauthenttype }}
-								{{ if eq .T.res.i_comauthenttype 2}}
-									<span class="glyphicon mprz   margin-r-10 jhtbtype"></span><span class="lineb " ><small style="color:#fff;margin-right:5px;">名片认证</small></span>					
-								{{else if eq .T.res.i_comauthenttype 1}}
-									<span class="glyphicon yyzzrz   margin-r-10 jhtbtype"></span><span class="lineb " ><small style="color:#fff;margin-left:3px;margin-right:5px;">营业执照认证</small></span>
-								{{else if eq .T.res.i_comauthenttype 3}}
-									<span class="glyphicon yjrz   margin-r-10 jhtbtype"></span><span class="lineb " ><small style="color:#fff;margin-right:5px;">年报邮箱认证</small></span>
-								{{end}}
-						{{else}}
-								<span class="glyphicon yyzzrz   margin-r-10 jhtbtype"></span><span class="lineb " ><small style="color:#fff;margin-left:3px;margin-right:5px;">营业执照认证</small></span>
-						{{end}}
-				{{else if eq $identaction "02"}}
-					<span class="glyphicon grrz   margin-l-10 jhtb"></span> <span class="identactionType">已认证个人</span>
-				{{else if eq $identaction "03"}}
-					<span class="glyphicon jgrz   margin-l-10 jhtb"></span> <span class="identactionType">已认证机构</span>
-				{{end}}
-			{{end}}
-		{{end}}
-		</div>
-	</div>
-	
-	<!--企业名片-->
-	{{if .T.res.s_persion}}	
-	<div class="row qfw-row qfw-p-margintop">
-		<div class="col-lg-12 border" id="our">
-			<div class="qfw-entinfo-padding41">
-				<h4><span class="glyphicon lianxiwomen icon_gray icon_large"></span>
-				<b>{{if .T.res.s_action}}  {{if eq .T.res.s_action "02"}}商家名片{{else if eq .T.res.s_action "01"}}企业名片{{else if eq .T.res.s_action "03"}}机构名片{{end}}{{end}}</b></h4>
-				<hr>
-				<!--企业名片详细信息-->				
-				{{if .T.res.s_persion }}
-				<div class="tablediv"> 
-					<div class="rowcontent"> 
-						<div class="one"><span class="glyphicon lianxiren icon_gray"></span></div> 
-						<div class="two" style="letter-spacing: 5px;">联系人:</div> 
-						<div class="three"><span class="span999">{{.T.res.s_persion}}</span></div>
-					</div> 
-				</div>
-				{{end}}
-				{{if .T.res.s_mobile }}
-				<div class="tablediv"> 
-					<div class="rowcontent"> 
-						<div class="one"><span class="glyphicon lianxidianhua icon_gray"></span></div> 
-						<div class="two">联系电话:</div> 
-						<div class="three"><span class="span999">{{.T.res.s_mobile}}</span></div>
-					</div> 
-				</div>
-				{{end}}
-				{{if .T.res.s_enturl }}
-				<div class="tablediv"> 
-					<div class="rowcontent"> 
-						<div class="one"><span class="glyphicon wangzhi icon_gray"></span></div> 
-						<div class="two">
-						{{if .T.res.s_action}}
-							{{if eq .T.res.s_action "01"}}
-								企业网站:
-							{{else if eq .T.res.s_action "02"}}
-								商家网站:
-							{{else if eq .T.res.s_action "03"}}
-								机构网站:
-							{{else}}
-							企业网站:
-							{{end}}
-						{{else}}
-						企业网站:
-						{{end}}
-						</div> 
-						<div class="three"><span class="span999">{{.T.res.s_enturl}}</span></div>
-					</div> 
-				</div>
-				{{end}}
-				{{if .T.res.s_qq }}
-				<div class="tablediv"> 
-					<div class="rowcontent"> 
-						<div class="one"><span class="glyphicon qq icon_gray"></span></div> 
-						<div class="two">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Q&nbsp;Q:</div> 
-						<div class="three"><span class="span999">{{.T.res.s_qq}}</span></div>
-					</div> 
-				</div>
-				{{end}}
-				{{if .T.res.s_weixin }}
-				<div class="tablediv"> 
-					<div class="rowcontent"> 
-						<div class="one"><span class="glyphicon weixinhao icon_gray"></span></div> 
-						<div class="two" style="letter-spacing: 5px;">微信号:</div> 
-						<div class="three"><span class="span999">{{.T.res.s_weixin}}</span>
-						{{if .T.res.s_weixinbarcode}}
-						&nbsp;&nbsp;&nbsp;&nbsp;<a href="#" class="text-primary " onClick="viewBarCode({{.T.res.s_weixinbarcode}});">扫一扫</a>
-						{{end}}
-						</div>
-					</div> 
-				</div>
-				{{end}}
-				{{if or .T.res.i_province .T.res.i_city .T.res.i_area .T.res.s_address  }}
-				<div class="tablediv"> 
-					<div class="rowcontent"> 
-						<div class="one"><span class="glyphicon lianxidizhi icon_gray"></span></div> 
-						<div class="two">联系地址:</div> 
-						<div class="three">
-							<span class="span999" id="city_china">
-								<select  class="province cxselect select" id="provincesel" name="province" data-first-title="全国"></select>								
-								<select class="city cxselect select" id="citysel" name="city" data-first-title="选择市"></select>
-								<select class="area cxselect select" id="areasel" name="area" data-first-title="选择县"></select>
-							</span>
-							
-							<input id="location"  type="hidden">
-							<input id="cityname"  type="hidden">
-							{{if .T.res.s_address}}
-							<span class="glyphicon biaojidizhi icon_default text-primary" ></span> 	
-							<a href = "javascript:void(0)" onclick = "document.getElementById('mapshowdiv').style.display='block';document.getElementById('closeshowmap').style.display='block';document.getElementById('fade').style.display='block';">查看详细地图</a>
-							{{end}}
-						</div>
-					</div> 
-				</div>
-				{{end}}
-				{{if .T.res.s_synopsis}}
-				<div class="tablediv"> 
-					<div class="rowcontent"> 
-						<div class="one" style="vertical-align: top;"><span class="glyphicon falvshengming icon_gray"></span> </div> 
-						<div class="two" style="vertical-align: top;">
-						{{if .T.res.s_action}}
-							{{if eq .T.res.s_action "01"}}
-								企业介绍:
-							{{else if eq .T.res.s_action "02"}}
-								商家介绍:
-							{{else if eq .T.res.s_action "03"}}
-								机构介绍:
-							{{else}}
-							企业介绍:
-							{{end}}
-						{{else}}
-						企业介绍:
-						{{end}}
-						</div> 
-						<div class="three">{{.T.res.s_synopsis}}</div>
-					</div> 
-				</div>
-				{{end}}
-				
-				
-			</div>
-		</div>
-	</div>	
-	<!--显示地图信息-->
-	<div id="mapshowdiv" class="white_content"></div>
-	<a href = "javascript:void(0)" onclick = "document.getElementById('mapshowdiv').style.display='none';document.getElementById('closeshowmap').style.display='none';document.getElementById('fade').style.display='none';"><div id="closeshowmap" class="closeshowmap">X</div></a>
-	<div id="fade" class="black_overlay"></div> 	
-	{{end}}	
-	
-	<!--产品服务-->	
-	<div class="row qfw-row qfw-p-margintop " style="display:none;" id="service">
-		<div class="col-lg-12 border" >
-			<div class="qfw-entinfo-padding41">
-				<h4><span class="glyphicon fuwu icon_gray icon_large"></span>
-				<b>产品服务</b></h4>
-				<hr>
-				<div class="service_list" id="service_list">
-					<table style="width:100%;" class="text-muted mt"><tbody></tbody></table>
-					<div class="text-muted mt">该公司暂未发布服务信息</div>
-				</div>
-				<div class="op1 text-center" id="loadMore" onClick="loadMore()" >加载更多</div>
-			</div>
-		</div>
-	</div>
-	<!--公示信息-->
-	<div class="row qfw-row qfw-p-margintop" id="gs">
-		<div class="col-lg-12 border" >
-			<div class="qfw-entinfo-padding41">
-				<h4><span class="glyphicon gongshixinxi icon_gray icon_large"></span>
-				<b>公示信息</b>&nbsp{{if .T.res.gs }}<font id="qggs" style="font-size:12px;"><small>(来源:<a href="http://gsxt.saic.gov.cn/"  rel="nofollow" style="text-decoration: underline;color: #0099FF;">全国企业信用信息公示系统</a>)</small></font>{{end}}</h4>
-				<hr>
-				{{if .T.res.gs }}
-				{{if .T.res.RegNo }}
-				    <div class="tablediv"> 
-						<div class="rowcontent"> 
-							<div class="one"><span class="glyphicon zhucehao icon_gray"></span></div> 
-							<div class="two">注册号:<span class="span999">{{.T.res.RegNo}}</span></div> 
-						</div> 
-					</div>
-				{{end}}
-				{{if .T.res.EntTypeName }}
-				  	<div class="tablediv"> 
-						<div class="rowcontent"> 
-							<div class="one"><span class="glyphicon qiyeleixing icon_gray"></span></div> 
-							<div class="two">类型: <span class="span999">{{.T.res.EntTypeName}}</span> </div> 
-						</div> 
-					</div>
-				{{end}}
-				{{if .T.res.LeRep }}
-				    <div class="tablediv"> 
-						<div class="rowcontent"> 
-							<div class="one"><span class="glyphicon faren icon_gray"></span></div> 
-							<div class="two">{{.T.res.EntTypeLabel}}:<span class="span999">{{.T.res.LeRep}}</span> </div> 
-						</div> 
-					</div>
-				{{end}}
-				{{if .T.res.RegCap }}
-					{{if and (ne .T.res.EntType "9600") (ne .T.res.EntType "5810")}}
-					 <div class="tablediv"> 
-						<div class="rowcontent"> 
-							<div class="one"><span class="glyphicon zican icon_gray"></span></div> 
-							<div class="two">注册资本:<span class="span999"><script>var d1={{.T.res.RegCap}};d1=d1?d1:0; var lenD1=(d1+"").length ;if(lenD1>4&&(d1+"").indexOf(".")>-1&&(lenD1-(d1+"").indexOf("."))>4){document.write(d1.toFixed(4))}else{document.write(d1)}</script> 万元</span></div> 
-						</div> 
-					</div>
-				    {{end}}
-				{{end}}
-				{{if .T.res.EstDate }}
-				  	<div class="tablediv"> 
-						<div class="rowcontent"> 
-							<div class="one"><span class="glyphicon riqi icon_gray"></span></div> 
-							<div class="two">成立日期:<span class="span999">{{.T.res.EstDate}}</span></div> 
-						</div> 
-					</div>
-				{{end}}
-				{{if .T.res.Dom }}
-				  	<div class="tablediv"> 
-						<div class="rowcontent"> 
-							<div class="one"><span class="glyphicon zhusuo icon_gray"></span></div> 
-							<div class="two">住所: <span class="span999">{{.T.res.Dom}} </span></div> 
-						</div> 
-					</div>
-				{{end}}
-				{{if .T.res.OpStateName }}
-				 	<div class="tablediv"> 
-						<div class="rowcontent"> 
-							<div class="one"><span class="glyphicon dengjizhuangtai icon_gray"></span></div> 
-							<div class="two">登记状态:<span class="span999">{{.T.res.OpStateName}}</span></div> 
-						</div> 
-					</div>
-				{{end}}
-				{{if .T.res.OpFrom }}
-					<div class="tablediv"> 
-					    <div class="rowcontent"> 
-					        <div class="one"><span class="glyphicon riqi icon_gray"></span></div> 
-					        <div class="two">营业期限:<span class="span999">自{{.T.res.OpFrom}}
-							{{if .T.res.OpTo }}至{{.T.res.OpTo }}{{end}}</span></div> 
-					    </div> 
-			       </div>
-				{{end}}
-				{{if .T.res.OpScope }}
-				   <div class="tablediv"> 
-					    <div class="rowcontent"> 
-					        <div class="one"><span class="glyphicon jingyingfanwei icon_gray"></span></div> 
-					        <div class="two">经营范围:<span class="span999">{{.T.res.OpScope}}</span></div> 
-					    </div> 
-			       </div>
-				{{end}}
-				{{if .T.res.RegOrgName }}
-					<div class="tablediv"> 
-						<div class="rowcontent"> 
-							<div class="one"><span class="glyphicon dengjijiguan icon_gray"></span></div> 
-							<div class="two">登记机关:<span class="span999">{{.T.res.RegOrgName}}</span> </div> 
-						</div> 
-					</div>
-				{{end}}
-				{{if .T.res.IssBLicDate }}
-					<div class="tablediv"> 
-						<div class="rowcontent"> 
-							<div class="one"><span class="glyphicon riqi icon_gray"></span></div> 
-							<div class="two">核准日期:<span class="span999">{{.T.res.IssBLicDate}} </span> </div> 
-						</div> 
-					</div>
-			 	{{end}}				
-				{{end}}
-			</div>
-		</div>
-	</div>	
-	<!--关系网-->
-	<div class="row qfw-row qfw-p-margintop">
-			<div class="col-lg-12 border" >
-			<div class="qfw-entinfo-padding41">
-				<h4><span class="glyphicon guanxiwang icon_gray icon_large"></span>
-				<b>关系网</b></h4>
-				<hr>
-				<div class="text-primary text-center" id="gxlogin">
-					<span class="text-muted">认证后即可查看企业股东信息,投资关系,公司关系脉络图等内容<br><a  href="javascript:void(0)" class="btn btn-primary login a-com-login margin-t-10">认证</a></span>
-				</div>
-			</div>
-		</div>
-	
-	</div>
-</div>
-</div>
-
-
-
-<!--弹出窗口显示上传的图片-->
-<div class="modal fade" id="myModal" tabindex="-1" role="dialog" 
-   aria-labelledby="myModalLabel" aria-hidden="true">
-   <div class="modal-dialog mimg">
-        <div class="modal-content" style="width:400px;">
-         <div class="modal-header">
-            <button type="button" class="close" data-dismiss="modal" style="margin-top: -10px;"
-               aria-hidden="true">×
-            </button>
-         </div>
-         <div class="modal-body" id="viewImgs" onclick="hideImgs()" style="cursor:pointer;text-align: center;" >
-            
-         </div>
-      </div><!-- /.modal-content -->
-   </div><!-- /.modal-dialog -->
-</div><!-- /.modal -->
-
-<!--右侧导航菜单-->
-{{include "/common/rightnavbtn.html"}}
-<!--右侧导航菜单-->
-
-{{include "/common/bottom.html"}}
-</body>
-<script type="text/javascript">
-$(function(){
-	$("#gxlogin .a-com-login").click(function(){
-		window.location.href="/member/accountset/index";
-	});
-	setNavbarActive(2);
-});
-
-
-var entsel="",btempwords,chf1,czb;
-
-//企业信息ID
- var id = {{.T.res._id}}
-//公式信息的变量
-var $gs = {{.T.res.gs}};
-var $relationlen=0
-//服务模板
-var template_content = "<tr><td><div class='row service_row'> "
-+"<div class='col-sm-1'><div style='width:120px; height:120px; background-color:#eee;'><img class='hidden-xs' src='${s_images}' style='width:120px;height:120px'></div></div>"
-+" <div class='col-sm-9'>"
-+"<div class='linebser service_des'><div class='servicename text-primary'><a class='text-primary' target='_blank' onclick='clickservicename(\"${_id}\",\"${s_isshow}\")'>${s_name}</a></div><div class='text-muted'>${s_introduction}</div></div>"
-+"</div></td><tr>"
-
-//注册号
-var regno="{{.T.res.RegNo}}";
-
-var legcerno = "{{.T.res.LegCerNO}}";
-var lerep="{{.T.res.LeRep}}";
-//联系地址
-var province = {{.T.res.i_province}};
-var city = {{.T.res.i_city}};
-var area = {{.T.res.i_area}};
-var as1="{{.T.res.s_address}}";
-var $chiancity= false,$listent=false;
-{{if or .T.res.i_province .T.res.i_city .T.res.i_area .T.res.s_address  }}
-	$chiancity= true;
-{{end}}
-
-var $resdata = {{.T.res.data}};
-var $entid = {{.T.res._id}};
-//定义默认的郑州经纬度
-var ptlat=113.69884285509,  ptlng=34.791342526551;
-</script>
-<script src="/js/qfw-frontenterprise.js"></script>
-
-</html>

+ 12 - 11
credit/src/config.json

@@ -9,7 +9,7 @@
     "rpcPort": "8765",
     "weixinrpc": "127.0.0.1:82",
     "num": {
-        "a1": 50,
+        "a1": 2000,
         "a2": 100,
         "a3": 50,
         "a4": 50,
@@ -24,7 +24,7 @@
         "a13": 50,
         "a14": 100,
         "a15": 80,
-        "a64": 1001,
+        "a62": 1001,
         "b1": 10,
         "b1_1": 10,
         "b1_n": 7,
@@ -60,15 +60,15 @@
         "txt_a6": "收藏名片",
         "txt_a7": "收藏服务",
         "txt_a8": "使用剑鱼",
-        "txt_a9": "使用企业查询",
-        "txt_a10": "发服务",
-        "txt_a11": "发需求",
+        "txt_a9": "首次使用企业查询",
+        "txt_a10": "首次发服务",
+        "txt_a11": "首次发需求",
         "txt_a12": "查看关系网",
-        "txt_a13": "分享服务",
-        "txt_a14": "完成交易",
-        "txt_a15": "完成交易评价",
-		"txt_a63": "剑鱼首次推送",
-        "txt_a64": "完成一次性所有任务",
+        "txt_a13": "首次分享服务",
+        "txt_a14": "完成首次交易",
+        "txt_a15": "完成首次交易评价",
+		"txt_a61": "剑鱼首次推送",
+        "txt_a62": "完成一次性所有任务",
         "txt_b1": "签到",
         "txt_b2": "企业查询",
         "txt_b3": "发服务",
@@ -94,5 +94,6 @@
     "saveLogDuration": 1,
     "checkGiveDuration": 30,
     "swordfish_tipBeforeDays": "3,1",
-    "swordfish_subHour": 18
+    "swordfish_subHour": 16,
+	"timerHM":"24,s,21"
 }

+ 127 - 2
credit/src/main.go

@@ -27,6 +27,8 @@ var SysConfig map[string]interface{}
 var swordfish_subHour int
 var swordfish_tipBeforeDays []int
 var swordfish_dueTitle, swordfish_due, swordfish_closeTitle, swordfish_close, swordfish_payTitle, swordfish_pay string
+var duration_hour time.Duration = 24 * time.Hour
+var minutes = 0
 
 func init() {
 	util.ReadConfig(&SysConfig)
@@ -64,6 +66,21 @@ func init() {
 
 	creditlog.Smtp = SysConfig["smtp"].(map[string]interface{})
 
+	timerHM := util.ObjToString(SysConfig["timerHM"])
+	if timerHM != "" {
+		timerHMS := strings.Split(timerHM, ",")
+		tmp, _ := strconv.Atoi(timerHMS[0])
+		switch timerHMS[1] {
+		case "h":
+			duration_hour = time.Duration(tmp) * time.Hour
+		case "m":
+			duration_hour = time.Duration(tmp) * time.Minute
+		case "s":
+			duration_hour = time.Duration(tmp) * time.Second
+		}
+		minutes, _ = strconv.Atoi(timerHMS[2])
+	}
+
 }
 
 func main() {
@@ -106,7 +123,7 @@ func quartz() {
 	//每天一次检查剑鱼积分
 	//有一张增值服务表,记录服务代码、服务起始日期、服务截止日期、服务类型按月、服务数量、是否自动扣费(扣费走rpc调用)、记录是否过期
 
-	TimerSwordFish()
+	//TimerSwordFishFromUser()
 
 	//定时任务转赠积分24后无人接收即退回,本月不做了
 	/**
@@ -138,7 +155,113 @@ func quartz() {
 	**/
 }
 
+//剑鱼定时扣分逻辑
+/**
+** 根据user表来处理
+**/
+func TimerSwordFishFromUser() {
+	go func() {
+		for {
+			now := time.Now()
+			// 计算下一个零点
+			next := now.Add(duration_hour)
+			next = time.Date(next.Year(), next.Month(), next.Day(), swordfish_subHour, minutes, 0, 0, next.Location())
+			next64 := next.Unix()
+			t := time.NewTimer(next.Sub(now))
+			<-t.C
+			/*执行逻辑*/
+			log.Println("执行定时任务...")
+			util.Try(func() {
+				session := mongodb.GetMgoConn()
+				defer mongodb.DestoryMongoConn(session)
+				coll := session.DB("qfw").C("user")
+				for code, typeName := range map[string]string{
+					"A1": "tender",
+					"A2": "bid",
+				} {
+					query := coll.Find(&map[string]interface{}{
+						"o_msgset." + typeName + ".l_enddate": map[string]interface{}{
+							"$gte": next64 - 600,
+							"$lte": next64 + int64(swordfish_tipBeforeDays[0]*24*3600) + 7200,
+						},
+						"o_msgset." + typeName + ".i_status":       1,
+						"o_msgset." + typeName + ".i_switchstatus": 1,
+					}).Iter()
+
+					for tmp := make(map[string]interface{}); query.Next(tmp); {
+						log.Println(tmp)
+						util.Try(func() {
+							tmpCode := tmp["o_msgset"].(map[string]interface{})[typeName].(map[string]interface{})
+							endDate := tmpCode["l_enddate"].(int64)
+							sub64 := (endDate - next64) / 86400
+							if sub64 == 0 {
+								//自动扣费
+								doSubCreditByUser(util.BsonIdToSId(tmp["_id"]), tmp["s_m_openid"].(string), typeName, code, &next, tmp)
+							} else {
+								//提示
+								for _, v := range swordfish_tipBeforeDays {
+									if int64(v) == sub64 {
+										creditrpc.SendMsgWebAndWx(swordfish_dueTitle, fmt.Sprintf(swordfish_due, v), util.BsonIdToSId(tmp["_id"]), tmp["s_m_openid"].(string))
+									}
+								}
+							}
+						}, func(e interface{}) {})
+						tmp = make(map[string]interface{})
+					}
+				}
+			}, func(e interface{}) {
+				log.Println("定时任务,扣剑鱼积分时报错", e)
+			})
+			TimerSwordFishFromUser()
+			break
+		}
+	}()
+}
+
+//自动扣费
+func doSubCreditByUser(userId, umid, typeName, code string, next *time.Time, user map[string]interface{}) {
+	//是否生效和是否启用
+	util.Try(func() {
+		i_credit := util.IntAllDef(user["i_credit"], 0)
+		bsub := false
+		codeNum := creditrpc.Score[code]
+		restNum := i_credit + codeNum
+		if i_credit > 0 && restNum > -1 {
+			bsub = true
+		}
+		if bsub { //扣分操作
+			newDate := next.AddDate(0, 1, 0)
+			creditDoc := map[string]interface{}{
+				"s_uid":     userId,
+				"s_umid":    umid,
+				"s_code":    code,
+				"i_type":    0, //是扣
+				"l_date":    next.Unix(),
+				"l_enddate": newDate.Unix(),
+				"i_score":   codeNum,
+				"s_type":    typeName,
+			}
+			if creditlog.Save(creditDoc) {
+				//发送微信通知扣积分成功
+				creditrpc.SendMsgWebAndWx(swordfish_payTitle, fmt.Sprintf(swordfish_pay, -codeNum, restNum, util.FormatDate(&newDate, util.Date_Full_Layout)), userId, umid)
+			}
+		} else { //暂停操作
+			//更新操作
+			if mongodb.Update("user", `{"_id":"`+userId+`"}`, `{"$set":{"o_msgset.`+typeName+`.i_status":0}}`, false, false) {
+				//暂停通知,因积分不够
+				creditrpc.SendMsgWebAndWx(swordfish_closeTitle, swordfish_close, userId, umid)
+			}
+		}
+	}, func(e interface{}) {
+		log.Println("查询用户剑鱼状态出错,", e)
+	})
+}
+
 //剑鱼定时扣分逻辑,提前三天提示积分不够、扣积分发通知,下午18点执行
+/**
+** 根据creditlog表来处理
+**/
+/**
 func TimerSwordFish() {
 	go func() {
 		for {
@@ -149,7 +272,7 @@ func TimerSwordFish() {
 			next64 := next.Unix()
 			t := time.NewTimer(next.Sub(now))
 			<-t.C
-			/*执行逻辑*/
+			//执行逻辑
 			util.Try(func() {
 				session := mongodb.GetMgoConn()
 				defer mongodb.DestoryMongoConn(session)
@@ -249,3 +372,5 @@ func doSubCredit(userId, umid, typeName, code string, next *time.Time) {
 
 	}
 }
+
+**/

+ 1 - 1
credit/src/qfw/creditlog/creditlog.go

@@ -24,7 +24,7 @@ var Smtp map[string]interface{}
 //对map的同步
 var lock sync.Mutex
 
-func AddLog(logs map[string]interface{}) {
+func AddLog_BACK(logs map[string]interface{}) {
 	lock.Lock()
 	arr = append(arr, logs)
 	lock.Unlock()

+ 35 - 25
credit/src/qfw/creditrpc/creditrpc.go

@@ -60,6 +60,8 @@ func (c *CreditRpc) InCreadit(param *qrpc.CreditData, replay *int) error {
 			}
 		}
 	}()
+	lock := GetMutex(param.Uid)
+	lock.Lock()
 	//a类为即时保存
 	//b、c、d、e为定时保存
 	log.Println("---请求", param)
@@ -73,6 +75,7 @@ func (c *CreditRpc) InCreadit(param *qrpc.CreditData, replay *int) error {
 			"s_operation": Message["txt_"+param.Code],
 			"i_type":      1,
 			"l_date":      time.Now().Unix(),
+			"l_datenm":    time.Now().UnixNano() / 1000000,
 		}
 		i_scorenow := getCreditById(param.Uid)
 		switch first {
@@ -91,8 +94,6 @@ func (c *CreditRpc) InCreadit(param *qrpc.CreditData, replay *int) error {
 		case "b":
 			key := param.Code + "_" + param.Uid
 			//[0/1,time,alltimes] //是否完成,次数,总次数,
-			lock := GetMutex(param.Uid)
-			lock.Lock()
 			if param.Code == "b1" { //签到
 				now := time.Now()
 				daykey := key + "_" + fmt.Sprintf("%d", now.Day())
@@ -114,8 +115,9 @@ func (c *CreditRpc) InCreadit(param *qrpc.CreditData, replay *int) error {
 							creditDoc["i_scorenow"] = i_scorenow + Score[param.Code+"_1"] + int(thist)*Score[param.Code]
 							redis.Put(consts.RedisDB, key, newobj, GetSubSecond(int(newobj[2]-thist)))
 							redis.Put(consts.RedisDB, daykey, true, GetSubSecond(1))
-							creditlog.AddLog(creditDoc)
-							*replay = creditDoc["i_score"].(int)
+							if creditlog.Save(creditDoc) {
+								*replay = creditDoc["i_score"].(int)
+							}
 						} else {
 							//不是连续签到
 							bcon = false
@@ -133,8 +135,9 @@ func (c *CreditRpc) InCreadit(param *qrpc.CreditData, replay *int) error {
 						creditDoc["i_scorenow"] = i_scorenow + Score[param.Code+"_1"]
 						redis.Put(consts.RedisDB, key, newobj, GetSubSecond(int(newobj[2])))
 						redis.Put(consts.RedisDB, daykey, true, GetSubSecond(1))
-						creditlog.AddLog(creditDoc)
-						*replay = creditDoc["i_score"].(int)
+						if creditlog.Save(creditDoc) {
+							*replay = creditDoc["i_score"].(int)
+						}
 					}
 				}
 			} else {
@@ -149,8 +152,9 @@ func (c *CreditRpc) InCreadit(param *qrpc.CreditData, replay *int) error {
 						redis.Put(consts.RedisDB, key, newobj, GetSubSecond(1))
 						creditDoc["i_score"] = Score[param.Code]
 						creditDoc["i_scorenow"] = i_scorenow + Score[param.Code]
-						creditlog.AddLog(creditDoc)
-						*replay = creditDoc["i_score"].(int)
+						if creditlog.Save(creditDoc) {
+							*replay = creditDoc["i_score"].(int)
+						}
 					}
 				} else {
 					times := Score[param.Code+"_n"]
@@ -162,15 +166,12 @@ func (c *CreditRpc) InCreadit(param *qrpc.CreditData, replay *int) error {
 					creditDoc["i_score"] = Score[param.Code]
 					creditDoc["i_scorenow"] = i_scorenow + Score[param.Code]
 					redis.Put(consts.RedisDB, key, newobj, GetSubSecond(1))
-					creditlog.AddLog(creditDoc)
-					*replay = creditDoc["i_score"].(int)
+					if creditlog.Save(creditDoc) {
+						*replay = creditDoc["i_score"].(int)
+					}
 				}
 			}
-			lock.Unlock()
-			//
 		case "c":
-			lock := GetMutex(param.Uid)
-			lock.Lock()
 			if param.Code == "c1" { //交易
 				objid := param.OtherParam["objid"]
 				if objid != nil {
@@ -186,13 +187,16 @@ func (c *CreditRpc) InCreadit(param *qrpc.CreditData, replay *int) error {
 							"i_type":      1,
 							"s_sourceid":  param.Uid,
 							"l_date":      time.Now().Unix(),
+							"l_datenm":    time.Now().UnixNano() / 1000000,
 							"i_score":     Score[param.Code],
 							"i_scorenow":  i_scorenow + Score[param.Code],
 						}
-						creditlog.AddLog(creditDoc)
-						creditlog.AddLog(newDoc)
+						//creditlog.AddLog(creditDoc)
+						//creditlog.AddLog(newDoc)
 						redis.Put(consts.RedisDB, key, true, GetSubSecond(1))
-						*replay = creditDoc["i_score"].(int)
+						if creditlog.Save(creditDoc) && creditlog.Save(newDoc) {
+							*replay = creditDoc["i_score"].(int)
+						}
 					}
 				}
 			} else if param.Code == "c2" { //评价
@@ -203,29 +207,33 @@ func (c *CreditRpc) InCreadit(param *qrpc.CreditData, replay *int) error {
 						creditDoc["i_score"] = Score[param.Code]
 						creditDoc["i_scorenow"] = i_scorenow + Score[param.Code]
 						creditDoc["o_param"] = param.OtherParam
-						creditlog.AddLog(creditDoc)
+						if creditlog.Save(creditDoc) {
+							*replay = creditDoc["i_score"].(int)
+						}
 						redis.Put(consts.RedisDB, key, true, GetSubSecond(1))
-						*replay = creditDoc["i_score"].(int)
+
 					}
 				}
 			} else {
 				creditDoc["i_score"] = Score[param.Code]
 				creditDoc["i_scorenow"] = i_scorenow + Score[param.Code]
 				creditDoc["o_param"] = param.OtherParam
-				creditlog.AddLog(creditDoc)
-				*replay = creditDoc["i_score"].(int)
+				if creditlog.Save(creditDoc) {
+					*replay = creditDoc["i_score"].(int)
+				}
 			}
-			lock.Unlock()
 		default: //定时任务
 			sc := util.If(param.Num > 0, param.Num, Score[param.Code]).(int)
 			if sc > 0 {
 				creditDoc["i_score"] = sc
 				creditDoc["i_scorenow"] = i_scorenow + sc
-				creditlog.AddLog(creditDoc)
-				*replay = creditDoc["i_score"].(int)
+				if creditlog.Save(creditDoc) {
+					*replay = creditDoc["i_score"].(int)
+				}
 			}
 		}
 	}
+	lock.Unlock()
 	return nil
 }
 
@@ -256,6 +264,7 @@ func (c *CreditRpc) OutCreadit(param *qrpc.CreditData, replay *int) error {
 			"s_operation": Message["txt_"+param.Code],
 			"i_type":      0,
 			"l_date":      now.Unix(),
+			"l_datenm":    time.Now().UnixNano() / 1000000,
 		}
 		if param.OtherParam != nil && param.OtherParam["i_way"] != nil {
 			creditDoc["i_way"] = param.OtherParam["i_way"]
@@ -263,7 +272,7 @@ func (c *CreditRpc) OutCreadit(param *qrpc.CreditData, replay *int) error {
 		var newDate time.Time
 		switch first {
 		case "A":
-			newDate = GetTimeByNow(now, Hour).AddDate(0, 1, 1)
+			newDate = GetTimeByNow(now, Hour).AddDate(0, 1, 0)
 			creditDoc["l_enddate"] = newDate.Unix()
 			creditDoc["i_valid"] = 1
 			if param.OtherParam != nil {
@@ -319,6 +328,7 @@ func SendManagerNotifyMsg(p *qrpc.NotifyMsg) {
 		}
 	}()
 	client, err := rpc.DialHTTP("tcp", Rpcserver)
+	defer client.Close()
 	if err != nil {
 		log.Println(err.Error())
 		return

+ 11 - 14
credit/src/qfw/creditrpc/creditrpc_test.go

@@ -2,22 +2,19 @@ package creditrpc
 
 import (
 	"log"
-	"net/rpc"
-	r "qfw/util/rpc"
+
 	"testing"
 )
 
-func Test_rpc(t *testing.T) {
-	log.Println("----------")
-	dd := r.CreditData{
-		Code: "ddddd",
-	}
-	var repl int
-	clent, _ := rpc.DialHTTP("tcp", "127.0.0.1:8765")
-	clent.Call("CreditRpc.InCreadit", &dd, &repl)
+func Test(t *testing.T) {
+	tmp := uint64(1)
+	var ret uint64
+	for k := 2; k < 13; k++ {
 
-	log.Println(repl)
-	clent.Close()
-	c := make(chan bool, 1)
-	<-c
+		ret = 1 << (uint64(k) - 1)
+		tmp += ret
+		log.Println(k, int(tmp), int(ret))
+	}
+	log.Println(tmp)
+	//log.Println(uint64(int(tmp))&(1<<8), (1 << 8))
 }

+ 1 - 1
weixin/src/config.json

@@ -27,7 +27,7 @@
                 "identifytplid":"oGxkPyaV42z3KWykt58Tow9mBe_ImJvi8R3ajorVWOY",
                 "offLinemsgtplid":"ExIeyFfoDNVJXhRDq09JbsjH_zbEJCB6gw6rxcV7atw",
                 "msgnotifytplid":"b7iuAMiTCIolnPhTdueKBVYThEMf2D-Bh2M_9v3J-68",
-                "managernotifytplid":"dplgu5Q644vzPdqcPXY7RqgItS3eXACmU1XDl27CvTA"
+                "managernotifytplid":"DIwMrPQToOhGfa6ZAQCCrqquzbLKajiXsKY0K_lQtWQ"
         },"activity":{
                 "activitycode":"topcj",
                 "title":"企明星新年抽奖活动进行中",

+ 4 - 1
weixin/src/qfw/weixin/menu.go

@@ -32,7 +32,7 @@ func CreateMenu(rw http.ResponseWriter, r *http.Request) {
 	menu.Buttons[1].SubButtons[2].Key = "oidentification"
 
 	menu.Buttons[2].Name = "会员服务"
-	menu.Buttons[2].SubButtons = make([]MenuButton, 3)
+	menu.Buttons[2].SubButtons = make([]MenuButton, 4)
 	menu.Buttons[2].SubButtons[0].Name = "微官网"
 	menu.Buttons[2].SubButtons[0].Type = MenuButtonTypeKey
 	menu.Buttons[2].SubButtons[0].Key = "msite" //"http://" + wf.SysConfig.Domain + "/weixin/site/edit" //微官网编辑
@@ -43,6 +43,9 @@ func CreateMenu(rw http.ResponseWriter, r *http.Request) {
 	menu.Buttons[2].SubButtons[2].Name = "法规查询"
 	menu.Buttons[2].SubButtons[2].Type = MenuButtonTypeUrl
 	menu.Buttons[2].SubButtons[2].Url = fmt.Sprintf(urlstr, "lawsearchaction")
+	menu.Buttons[2].SubButtons[3].Name = "签到"
+	menu.Buttons[2].SubButtons[3].Type = MenuButtonTypeUrl
+	menu.Buttons[2].SubButtons[3].Url = fmt.Sprintf(urlstr, "signature")
 
 	//menu.Buttons[2].SubButtons[3].Name = "领取红包"
 	//menu.Buttons[2].SubButtons[3].Type = MenuButtonTypeUrl