maxiaoshan 5 år sedan
förälder
incheckning
3aed0f9864

+ 1 - 0
src/main.go

@@ -30,6 +30,7 @@ func init() {
 	xweb.RootApp().AppConfig.CacheTemplates = false
 	xweb.AddAction(&front.Front{})
 	xweb.AddAction(&service.Service{})
+	xweb.AddAction(&service.Feedback{})
 	xweb.RootApp().AppConfig.SessionTimeout = 1 * time.Hour
 	xweb.RootApp().Logger.SetOutputLevel(4)
 	//xweb.AddTmplVar("add", func(a, b int) int { return a + b })

+ 79 - 0
src/service/feedback_service.go

@@ -0,0 +1,79 @@
+package service
+
+import (
+	qu "qfw/util"
+	"strings"
+
+	. "util"
+
+	"github.com/go-xweb/xweb"
+	"gopkg.in/mgo.v2/bson"
+)
+
+type Feedback struct {
+	*xweb.Action
+	feedbackList   xweb.Mapper `xweb:"/service/feedback/list"`   //反馈列表
+	feedbackDetail xweb.Mapper `xweb:"/service/feedback/detail"` //反馈信息详情
+}
+
+//反馈列表
+func (f *Feedback) FeedbackList() {
+	defer qu.Catch()
+	if f.Method() == "POST" {
+		start, _ := f.GetInteger("start")
+		limit, _ := f.GetInteger("length")
+		draw, _ := f.GetInteger("draw")
+		searchStr := f.GetString("search[value]")
+		search := strings.TrimSpace(searchStr)
+		//qu.Debug(start, limit, draw, search)
+		query := bson.M{}
+		if search != "" {
+			query["$or"] = []interface{}{
+				bson.M{"s_customername": bson.M{"$regex": search}},
+				bson.M{"s_tagname": bson.M{"$regex": search}},
+			}
+		}
+
+		data, _ := Mgo.Find("feedback", query, nil, nil, false, start, limit)
+		count := Mgo.Count("feedback", query)
+		f.ServeJson(map[string]interface{}{
+			"draw":            draw,
+			"data":            data,
+			"recordsFiltered": count,
+			"recordsTotal":    count,
+		})
+	} else {
+		f.Render("private/feedback_list.html")
+	}
+}
+
+//反馈信息详情
+func (f *Feedback) FeedbackDetail() {
+	defer qu.Catch()
+	if f.Method() == "POST" {
+		start, _ := f.GetInteger("start")
+		limit, _ := f.GetInteger("length")
+		draw, _ := f.GetInteger("draw")
+		searchStr := f.GetString("search[value]")
+		search := strings.TrimSpace(searchStr)
+		//qu.Debug(start, limit, draw, search)
+		query := bson.M{}
+		if search != "" {
+			query["$or"] = []interface{}{
+				bson.M{"s_customername": bson.M{"$regex": search}},
+				bson.M{"s_tagname": bson.M{"$regex": search}},
+			}
+		}
+
+		data, _ := Mgo.Find("feedback", query, nil, nil, false, start, limit)
+		count := Mgo.Count("feedback", query)
+		f.ServeJson(map[string]interface{}{
+			"draw":            draw,
+			"data":            data,
+			"recordsFiltered": count,
+			"recordsTotal":    count,
+		})
+	} else {
+		f.Render("private/feedback_detail.html")
+	}
+}

+ 1 - 7
src/service/privateservice.go

@@ -10,16 +10,10 @@ import (
 	"gopkg.in/mgo.v2/bson"
 )
 
-var Date_Short_Layout = "2006-01-02 15:04:05"
-
 type Service struct {
 	*xweb.Action
 	serviceList xweb.Mapper `xweb:"/service/private/list"` //查询所有任务
 
-	//feedback
-	feedbackList   xweb.Mapper `xweb:"/service/feedback/list"`   //反馈列表
-	feedbackDetail xweb.Mapper `xweb:"/service/feedback/detail"` //反馈信息详情
-
 	//rule
 	ruleList   xweb.Mapper `xweb:"/service/rule/list"`   //规则列表
 	ruleCreate xweb.Mapper `xweb:"/service/rule/create"` //规则新建
@@ -40,7 +34,7 @@ func (s *Service) RuleList() {
 		query := bson.M{}
 		if search != "" {
 			query["$or"] = []interface{}{
-				bson.M{"s_username": bson.M{"$regex": search}},
+				bson.M{"s_customername": bson.M{"$regex": search}},
 				bson.M{"s_tagname": bson.M{"$regex": search}},
 			}
 		}

+ 16 - 0
src/util/config.go

@@ -17,6 +17,7 @@ var (
 	ProvinceCitys map[string][]string    //省:[市1,市2]
 	CityDistricts map[string][]string    //市:[区1,区2]
 	BuyerClass    []string               //采购单位行业
+	MatchTypeMap  map[string]interface{} //匹配方式
 	//City            []string //市
 	//District        []string //区、县
 )
@@ -34,6 +35,7 @@ func InitOther() {
 	initCitys()
 	initInfoType()
 	initBuyerClass()
+	initMatchType()
 }
 
 func initCitys() {
@@ -85,3 +87,17 @@ func initBuyerClass() {
 		BuyerClass = append(BuyerClass, name)
 	}
 }
+
+func initMatchType() {
+	//map初始化
+	if MatchTypeMap == nil {
+		MatchTypeMap = make(map[string]interface{})
+	}
+	datas, _ := Mgo.Find("code_matchtype", `{}`, `{"_id":1}`, `{}`, false, -1, -1)
+	for _, data := range *datas {
+		name := data["name"].(string)
+		field := data["field"].(string)
+		MatchTypeMap[name] = field
+	}
+	//qu.Debug(InfoTypeArr, InfoTypeMap)
+}

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/web/res/time/css/wui.min.css


+ 10 - 9
src/web/templates/private/feedback_list.html

@@ -10,8 +10,7 @@
 			<small><!--<a class="btn btn-primary opr" opr="new">新增逻辑</a>--></small>
 		</h1>
 		<ol class="breadcrumb">
-		 <li><a href="#"><!--<i class="fa fa-dashboard"></i>--> 首页</a></li>
-      <li class="active"><a href="#">规则管理</a></li>
+		 <li><a href="#"><i class="fa fa-dashboard"></i> 首页</a></li>
       <li><a href="/service/feedback/list"><i class="active"></i> 反馈列表</a></li>
 		</ol>
     </section>
@@ -24,11 +23,11 @@
 					<table id="dataTable" class="table table-bordered table-striped">
 						<thead>
 							<tr>
-								<td>客户名称</td>
-								<td>规则名称</td>
-								<td>反馈意见</td>
-								<td>反馈数量</td>
-								<td>反馈时间</td>
+								<th>客户名称</th>
+								<th>规则名称</th>
+								<th>反馈意见</th>
+								<th>反馈数量</th>
+								<th>反馈时间</th>
 								<th class="hidden-xs">操作</th>
 							</tr>
 						</thead>
@@ -61,9 +60,11 @@ $(function () {
             "url": "/dist/js/dataTables.chinese.lang"
         },
 		"columns": [
-      { "data": "s_username"},
+      { "data": "s_customername"},
 			{ "data": "s_tagname"},
-			{ "data": "s_feedback"},
+			{ "data": "s_opinion",render:function(val){
+			  return "";
+			}},
       { "data": "s_feedbnum",render:function(val){
 			  return "";
 			}},

+ 2 - 2
src/web/templates/private/rule_create.html

@@ -292,8 +292,8 @@
 {{include "com/footer.html"}}
 <script>
     menuActive("/service/rule/list");
-    var app = angular.module('app',["wui.date"]);
-    let provice = {{.T.provice}}}
+    var app = angular.module('app',["wui.date"]);//时间插件
+    let provice = {{.T.provice}}
     console.dir(provice);
     $(function () {
         $('#keywords').DataTable({

+ 41 - 46
src/web/templates/private/rule_list.html

@@ -10,34 +10,27 @@
             <small><a href="/service/rule/create" class="btn btn-primary opr">新增规则</a></small>
         </h1>
         <ol class="breadcrumb">
-            <li><a href="/service/rule/list"><i class="fa fa-dashboard"></i> 规则列表</a></li>
+          <li><a href="#"><i class="fa fa-dashboard"></i> 首页</a></li>
+          <li><a href="/service/rule/list"> 规则列表</a></li>
         </ol>
     </section>
     <!-- Main content -->
     <section class="content">
         <div class="row">
             <div class="col-xs-12">
-
                 <div class="box">
                     <div class="box-body">
-                        <div style="padding-bottom:3px;float: right">
-                            <div class="col-lg-9">
-                                <input type="text" id="" name="" value="" class="form-control" placeholder="请输入搜索内容">
-                            </div>
-                            <div class="col-sm-1" style="padding-left:0px;padding-right:0px;">
-                                <button class="btn btn-default" onclick="search(0)">搜索</button>
-                            </div>
-                        </div>
                         <table id="dataTable" class="table table-bordered table-hover">
                             <thead>
                             <tr>
-                                <th style="text-align: center">编号</th>
-                                <th style="text-align: center">客户姓名</th>
-                                <th style="text-align: center">规则名称</th>
-                                <th style="text-align: center">销售经理</th>
-                                <th style="text-align: center">创建时间</th>
-                                <th style="text-align: center">修改时间</th>
-                                <th style="text-align: center">操作</th>
+                                <th>编号</th>
+                                <th>客户姓名</th>
+                                <th>规则名称</th>
+                                <th>销售经理</th>
+                                <th>创建时间</th>
+                                <th>修改时间</th>
+                                <th>操作</th>
+                                <th>查看</th>
                             </tr>
                             </thead>
                         </table>
@@ -57,10 +50,11 @@
         const myTable = $('#dataTable').DataTable({
             "paging": true,
             "lengthChange": false,
-            "searching": false,
+            "searching": true,
             "ordering": false,
             "info": true,
-            "autoWidth": true,
+            "autoWidth": false,
+            "serverSide": true,
             "ajax": {
                 "url": "/service/rule/list",
                 "type": "post",
@@ -83,35 +77,36 @@
                 });
             },
             "columns": [
-                {"data": null},
+                {"data": null,width:"5%"},
                 {"data": "s_customername"},
                 {"data": "s_tagname"},
-                {"data": "s_salesperson"},
-                {
-                    "data": "i_createtime", render: function (val) {
-                        var dt = new Date()
-                        dt.setTime(parseInt(val) * 1000)
-                        return dt.format("yyyy-MM-dd hh:mm:ss")
-                    }
-                },
-                {
-                    "data": "i_updatetime", render: function (val) {
-                        var dt = new Date()
-                        dt.setTime(parseInt(val) * 1000)
-                        return dt.format("yyyy-MM-dd hh:mm:ss")
-                    }
-                },
-                {
-                    "data": "_id", "width": "25%", render: function (val, a, row, pos) {
-                        tmp = '<div>' +
-                            '<a class="btn btn-sm btn-primary opr" opr="edit" row="' + pos.row + '" >编辑</a> ' +
-                            '<a class="btn btn-sm btn-danger opr" opr="start" onclick="start(\'' + row._id + '\')">删除</a> ' +
-                            '<a class="btn btn-sm btn-info opr" opr="stop" onclick="stop(\'' + row._id + '\')">预览</a> ' +
-                            '<a class="btn btn-sm btn-success opr" opr="del" onclick="del(\'' + val + '\')">导出</a>' +
-                            '</div>';
-                        return tmp
-                    }
-                }
+                {"data": "s_salesperson",width:"7%"},
+                {"data": "i_createtime",width:"9%", render: function (val) {
+                  var dt = new Date()
+                  dt.setTime(parseInt(val) * 1000)
+                  return dt.format("yyyy-MM-dd hh:mm:ss")
+                }},
+                {"data": "i_updatetime",width:"9%", render: function (val) {
+                  var dt = new Date()
+                  dt.setTime(parseInt(val) * 1000)
+                  return dt.format("yyyy-MM-dd hh:mm:ss")
+                }},
+                {"data": "_id",width:"19%",render: function (val, a, row, pos) {
+                  tmp = '<div>' +
+                      '<a class="btn btn-sm btn-primary opr" opr="edit" row="' + pos.row + '" >编辑</a>'+
+                      '<a class="btn btn-sm btn-danger opr" opr="start" onclick="start(\'' + row._id + '\')">删除</a>'+
+                      '<a class="btn btn-sm btn-success opr" opr="del" onclick="del(\'' + val + '\')">导出</a>'+
+                      '<a class="btn btn-sm btn-warning opr" opr="del" onclick="del(\'' + val + '\')">存档</a>'+
+                      '</div>';
+                  return tmp
+                }},
+                {"data": "_id",width:"13%", render: function (val, a, row, pos) {
+                  tmp = '<div>' +
+                       '<a class="btn btn-sm btn-info opr" opr="stop" onclick="stop(\'' + row._id + '\')">预览</a>'+
+                      '<a class="btn btn-sm btn-success opr" opr="del" onclick="del(\'' + val + '\')">变更历史</a>'+
+                      '</div>';
+                  return tmp
+                }}
             ]
         });
     });

Vissa filer visades inte eftersom för många filer har ändrats