Răsfoiți Sursa

供方信息查询之查询

lijq 6 ani în urmă
părinte
comite
cc7c5b72ea

+ 66 - 0
src/dashoo.cn/backend/api/business/oilsupplier/selectbusiness/selectservice.go

@@ -0,0 +1,66 @@
+package selectbusiness
+
+import (
+	"strconv"
+
+	. "dashoo.cn/backend/api/mydb"
+	"dashoo.cn/utils"
+	"github.com/go-xorm/xorm"
+)
+
+type SelectService struct {
+	MyServiceBase
+}
+
+func GetSelectService(xormEngine *xorm.Engine) *SelectService {
+	s := new(SelectService)
+	s.DBE = xormEngine
+	return s
+}
+
+func (s *SelectService) GetMyPagingEntitiesWithOrderBytbl(supplierTableName, supplierCertTableName string, pageIndex, itemsPerPage int64, orderby string, asc bool, entitiesPtr interface{}, where string) (total int64) {
+	var resultsSlice []map[string][]byte
+
+	//获取总记录数
+	sqlCount := `select count(*) from ` + supplierTableName + ` a `
+	sqlCount += ` left join ` + supplierCertTableName + " b on b.SupplierId = a.Id"
+	sqlCount += ` where ` + where
+
+	var sql string
+	sql = `select a.*, b.Id as CertId, b.AccessCardNo, b.SupplierTypeCode, b.SupplierTypeName, b.InFlag, `
+	sql += ` b.WorkerTotal, `
+	sql += ` b.ContractNum, `
+	sql += ` b.UniversityNum, `
+	sql += ` b.TechnicalNum, `
+	sql += ` b.AboveProfNum, `
+	sql += ` b.MiddleProfNum, `
+	sql += ` b.NationalRegNum, `
+	sql += ` b.NationalCertTotal, `
+	sql += ` b.DesignerTotal, `
+	sql += ` b.SkillerTotal, `
+	sql += ` b.Status, `
+	sql += ` b.WorkflowId, `
+	sql += ` b.ApplyTime `
+	sql += ` from ` + supplierTableName + ` a `
+	sql += ` left join ` + supplierCertTableName + " b on b.SupplierId = a.Id"
+	sql += ` where ` + where
+	if asc {
+		sql += ` order by ` + orderby + ` ASC `
+	} else {
+		sql += ` order by ` + orderby + ` DESC `
+	}
+	sql += ` limit ` + utils.ToStr((pageIndex-1)*itemsPerPage) + "," + utils.ToStr(itemsPerPage)
+	s.DBE.SQL(sql).Find(entitiesPtr)
+
+	resultsSlice, _ = s.DBE.Query(sqlCount)
+
+	if len(resultsSlice) > 0 {
+		results := resultsSlice[0]
+		for _, value := range results {
+			total, _ = strconv.ParseInt(string(value), 10, 64)
+			break
+		}
+	}
+
+	return total
+}

+ 62 - 0
src/dashoo.cn/backend/api/controllers/oilsupplier/select.go

@@ -0,0 +1,62 @@
+package oilsupplier
+
+import (
+	//"encoding/json"
+	"fmt"
+
+	"dashoo.cn/backend/api/business/oilsupplier/selectbusiness"
+	"dashoo.cn/backend/api/business/oilsupplier/supplier"
+	. "dashoo.cn/backend/api/controllers"
+	"dashoo.cn/utils"
+)
+
+type SelectController struct {
+	BaseController
+}
+
+// @Title 获取所有
+// @Description
+// @Success 200 {object}
+// @router /getcompanylist [post]
+func (this *SelectController) GetTList() {
+
+	fmt.Print("进入")
+	// var model BadRecord.Badrecord
+	// var jsonBlob = this.Ctx.Input.RequestBody
+	// json.Unmarshal(jsonBlob, &model)
+
+	// //获取分页信息
+	page := this.GetPageInfoForm()
+	where := " 1=1"
+	orderby := "Id"
+	asc := false
+	Order := this.GetString("Order")
+	Prop := this.GetString("Prop")
+	if Order != "" && Prop != "" {
+		orderby = Prop
+		if Order == "asc" {
+			asc = true
+		}
+	}
+
+	// if model.Companyname != "" {
+	// 	where = where + " and CompanyName like '%" + model.Companyname + "%'"
+	// }
+	// if model.Categorycode != "" {
+	// 	where = where + " and Categorycode = '" + model.Categorycode + "'"
+	// }
+
+	svc := selectbusiness.GetSelectService(utils.DBE)
+	var list []supplier.OilSupplierView
+
+	total := svc.GetMyPagingEntitiesWithOrderBytbl(OilSupplierName, OilSupplierCertName, page.CurrentPage, page.Size, orderby, asc, &list, where)
+
+	var datainfo DataInfo
+	datainfo.Items = list
+	datainfo.CurrentItemCount = total
+	datainfo.PageIndex = page.CurrentPage
+	datainfo.ItemsPerPage = page.Size
+	this.Data["json"] = &datainfo
+	this.ServeJSON()
+
+}

+ 6 - 0
src/dashoo.cn/backend/api/routers/router.go

@@ -353,6 +353,12 @@ func init() {
 				&oilsupplier.BadRecordController{},
 			),
 		),
+		//统计查询
+		beego.NSNamespace("/select",
+			beego.NSInclude(
+				&oilsupplier.SelectController{},
+			),
+		),
 	)
 	beego.AddNamespace(ns)
 }

+ 10 - 0
src/dashoo.cn/frontend_web/src/api/oilsupplier/select.js

@@ -0,0 +1,10 @@
+export default {
+  getCompanyList (params, formdata, myAxios) {
+    return myAxios({
+      url: '/select/getcompanylist',
+      method: 'post',
+      params: params,
+      data: formdata
+    })
+  }
+}

+ 206 - 0
src/dashoo.cn/frontend_web/src/pages/select/companyselect/index.vue

@@ -0,0 +1,206 @@
+<template>
+  <div>
+    <!--顶部显示-->
+    <el-breadcrumb class="heading">
+      <el-breadcrumb-item :to="{ path: '/' }">平台首页</el-breadcrumb-item>
+      <el-breadcrumb-item>供方情况查询</el-breadcrumb-item>
+    </el-breadcrumb>
+
+    <!--内框顶部显示-->
+    <el-card class="box-card" style="height: calc(100vh - 115px);position:relative">
+      <div slot="header">
+        <span>
+          <i class="icon icon-table2"></i> 供方情况查询
+        </span>
+
+        <el-form
+          :model="searchForm"
+          ref="searchformRef"
+          :inline="true"
+          style="float: right;position:absolute;right:75px;top:10.5px"
+        >
+          <el-form-item label="企业名称">
+            <el-input size="mini" v-model="searchForm.SupplierName" placeholder="请输入内容"></el-input>
+          </el-form-item>
+
+          <el-form-item label="准入类别">
+            <el-select
+              size="mini"
+              style="width:150px"
+              v-model="searchForm.SupplierTypeName"
+              placeholder="请选择"
+            >
+              <el-option label="全部" value=""></el-option>
+              <el-option label="物资类" value="01"></el-option>
+              <el-option label="基建类" value="02"></el-option>
+              <el-option label="技术服务类" value="03"></el-option>
+            </el-select>
+          </el-form-item>
+
+          <el-form-item>
+            <el-dropdown
+              split-button
+              type="primary"
+              size="mini"
+              @click="initDatas($event)"
+              @command="searchCommand"
+            >
+              查询
+              <el-dropdown-menu slot="dropdown">
+                <el-dropdown-item command="clear">查询重置</el-dropdown-item>
+              </el-dropdown-menu>
+            </el-dropdown>
+          </el-form-item>
+        </el-form>
+      </div>
+
+      <!--内框表格显示-->
+      <el-table :data="entityList" border height="calc(100vh - 243px)"  style="width: 100%" @sort-change="orderby">
+        <!--内框表格剩余栏显示-->
+        <el-table-column label="准入证号" prop="AccessCardNo" sortable align="center"></el-table-column>
+        <el-table-column label="企业名称" prop="SupplierName" align="center"></el-table-column>
+        <el-table-column label="准入类别" prop="SupplierTypeName" align="center"></el-table-column>
+        <el-table-column label="法人代表" prop="LegalPerson" align="center"></el-table-column>
+        <el-table-column label="注册资金(万元)" prop="RegCapital" sortable align="center"></el-table-column>
+        <el-table-column label="移动电话" prop="Mobile" align="center"></el-table-column>
+        <el-table-column label="最后一次年审" prop="" align="center"></el-table-column>
+        <el-table-column label="有效期至" prop="ApplyTime" align="center">
+          <template slot-scope="scope">
+            {{ jstimehandle(scope.row.ApplyTime) }}
+          </template>
+        </el-table-column>
+        <el-table-column label="状态" prop="InFlag">
+          <template slot-scope="scope">
+            <el-alert v-if="scope.row.InFlag=='1'" :closable="false" style="background:rgba(255,255,255,0.2)"
+                      title="准入" type="success">
+            </el-alert>
+            <el-alert v-if="scope.row.InFlag=='2'" :closable="false" style="background:rgba(255,255,255,0.2)"
+                      title="暂停" type="warning">
+            </el-alert>
+            <el-alert v-if="scope.row.InFlag=='3'" :closable="false" style="background:rgba(255,255,255,0.2)"
+                      title="取消" type="error">
+            </el-alert>
+          </template>
+        </el-table-column>
+      </el-table>
+
+      <!-- 分页 -->
+      <el-pagination
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+        :current-page="currentPage"
+        :page-sizes="[10, 15, 20, 25]"
+        :page-size="size"
+        layout="total, sizes, prev, pager, next, jumper"
+        :total="currentItemCount"
+      ></el-pagination>
+    </el-card>
+  </div>
+</template>
+
+
+
+
+
+<script>
+import api from "@/api/oilsupplier/select";
+export default {
+  created() {
+    // 执行初始化方法
+    this.initDatas();
+  },
+  data() {
+    return {
+      // 定义列表数据
+      entityList: [],
+      // 分页参数
+      size: 10,
+      currentPage: 1,
+      currentItemCount: 0,
+      searchForm:{
+        SupplierName:"",
+        SupplierTypeName:""
+      },
+       //列表排序
+        Column: {
+          Order: '',
+          Prop: ''
+        },
+    };
+  },
+
+  methods: {
+     //列表排序功能
+      orderby(column) {
+        if (column.order == 'ascending') {
+          this.Column.Order = 'asc'
+        } else if (column.order == 'descending') {
+          this.Column.Order = 'desc'
+        }
+        this.Column.Prop = column.prop
+        this.initDatas()
+      },
+      jstimehandle(val) {
+        
+        if (val === '') {
+          return '----'
+        } else if (val === '0001-01-01T08:00:00+08:00') {
+          return '----'
+        } else if (val === '0001-01-01T00:00:00Z') {
+          return '----'
+        } else if (val === '5000-01-01T23:59:59+08:00') {
+          return '永久'
+        } else {
+          val = val.replace('T', ' ')
+          return val.substring(0, 10)
+        }
+      },
+    //初始化列表方法
+    initDatas(event) {
+      console.log(event);
+      if (event != null) {
+        this.currentPage = 1;
+      }
+      let params = {
+        _size: this.size,
+        _currentPage: this.currentPage,
+        Order: this.Column.Order,
+        Prop: this.Column.Prop,
+      };
+
+      api
+        .getCompanyList(params, this.searchForm, this.$axios)
+        .then(res => {
+          console.log(res.data.items);
+          this.entityList = res.data.items;
+          this.currentItemCount = res.data.currentItemCount;
+        })
+        .catch(err => {
+          console.error(err);
+        });
+    },
+    //分页方法
+    handleCurrentChange(value) {
+      this.currentPage = value;
+      this.initDatas();
+    },
+    handleSizeChange(value) {
+      this.size = value;
+      this.currentPage = 1;
+      this.initDatas();
+    },
+    searchCommand(command) {
+      if (command == "clear") {
+        this.clearSearch();
+      }
+    },
+    clearSearch() {
+      this.searchForm.SupplierTypeName = "";
+      this.searchForm.SupplierName = "";
+      this.currentPage = 1;
+      this.initDatas();
+    }
+  }
+};
+</script>
+

+ 1 - 0
src/dashoo.cn/frontend_web/src/pages/setting/qcdSettings.vue

@@ -433,6 +433,7 @@ export default {
     clearSearch() {
         this.searchForm.SearchSupplierTypeName="";
         this.searchForm.SearchName="";
+        this.currentPage = 1;
         this.initDatas()
       },
   }