lining 6 anni fa
parent
commit
c60c4b290e

+ 7 - 0
src/dashoo.cn/backend/api/business/paymentinfo/paymentinfo.go

@@ -0,0 +1,7 @@
+package paymentinfo
+
+type Paymentinfo struct {
+	SupplierTypeCode    string
+	SupplierTypeName    string
+	SupplierName        string
+}

+ 47 - 0
src/dashoo.cn/backend/api/business/paymentinfo/paymentinfoService.go

@@ -0,0 +1,47 @@
+package paymentinfo
+
+import (
+. "dashoo.cn/utils/db"
+"github.com/go-xorm/xorm"
+	"strconv"
+)
+
+type PaymentService struct {
+	ServiceBase
+}
+
+func GetPaymentService(xormEngine *xorm.Engine) *PaymentService {
+	s := new(PaymentService)
+	s.DBE = xormEngine
+	return s
+}
+
+func (s *PaymentService) GetPaymentinfoList(pageIndex, itemsPerPage int64, order string, asc bool, entitiesPtr interface{}, where string) (total int64) {
+	var err error
+	var resultsSlice []map[string][]byte
+	sqlconunt := "SELECT COUNT(c.Id) FROM OilSupplierCert c " +
+		"LEFT JOIN OilSupplier o ON c.SupplierId=o.Id where " + where
+
+	sql := "SELECT c.SupplierTypeCode, c.SupplierTypeName,o.SupplierName " +
+		"FROM OilSupplierCert c LEFT JOIN OilSupplier o ON c.SupplierId=o.Id "
+
+	resultsSlice, err = s.DBE.Query(sqlconunt)
+	if (asc) {
+		err = s.DBE.SQL(sql).Asc(order).Limit(int(itemsPerPage), (int(pageIndex)-1)*int(itemsPerPage)).Find(entitiesPtr)
+
+	} else {
+		err = s.DBE.SQL(sql).Desc(order).Limit(int(itemsPerPage), (int(pageIndex)-1)*int(itemsPerPage)).Find(entitiesPtr)
+	}
+	//err = s.DBE.S(sql).Where(where).Limit(int(itemsPerPage), (int(pageIndex)-1)*int(itemsPerPage)).Desc(order).Find(entitiesPtr)
+	LogError(err)
+	if len(resultsSlice) > 0 {
+		results := resultsSlice[0]
+		for _, value := range results {
+			total, err = strconv.ParseInt(string(value), 10, 64)
+			LogError(err)
+			break
+		}
+	}
+	return total
+
+}

+ 38 - 0
src/dashoo.cn/backend/api/controllers/oilsupplier/paymentinfo.go

@@ -0,0 +1,38 @@
+package oilsupplier
+
+import (
+	"dashoo.cn/backend/api/business/paymentinfo"
+	. "dashoo.cn/backend/api/controllers"
+	"dashoo.cn/utils"
+)
+
+type PaymentInfoController struct {
+	BaseController
+}
+
+// @Title 获取列表
+// @Description get user by token
+// @Success 200 {object} []suppliercert.OilSupplierCert
+// @router /list [get]
+func (this *PaymentInfoController) GetEntityList() {
+
+	//获取分页信息
+	page := this.GetPageInfoForm()
+	where := " 1=1 "
+	where = where + " and c.Status = '5'"
+	asc := false
+	//svc := suppliercert.GetOilSupplierCertService(utils.DBE)
+	//var list []suppliercert.OilSupplierCert
+
+	var paylist []paymentinfo.Paymentinfo
+	svc := paymentinfo.GetPaymentService(utils.DBE)
+	total := svc.GetPaymentinfoList( page.CurrentPage, page.Size, "c.Id", asc, &paylist, where)
+	//total := svc.GetPagingEntitiesWithOrderBytbl("", page.CurrentPage, page.Size, orderby, asc, &list, where)
+	var datainfo DataInfo
+	datainfo.Items = paylist
+	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

@@ -310,6 +310,12 @@ func init() {
 				&oilsupplier.AnnualAuditController{},
 			),
 		),
+		//缴费信息
+		beego.NSNamespace("/paymentinfo",
+			beego.NSInclude(
+				&oilsupplier.PaymentInfoController{},
+			),
+		),
 	)
 	beego.AddNamespace(ns)
 }

+ 9 - 0
src/dashoo.cn/frontend_web/src/api/oilsupplier/paymentinfo.js

@@ -0,0 +1,9 @@
+export default {
+  getList (CreateOn, params, myAxios) {
+    return myAxios({
+      url: '/paymentinfo/list?CreateOn=' + CreateOn,
+      method: 'GET',
+      params: params
+    })
+  }
+}

+ 453 - 0
src/dashoo.cn/frontend_web/src/pages/oilsupplier/paymentinfo/index.vue

@@ -0,0 +1,453 @@
+<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);">
+      <div slot="header">
+        <span>
+          <i class="icon icon-table2"></i> 缴费信息列表
+        </span>
+        <el-form ref="form" :inline="true" style="float: right; margin-top: -10px">
+          <el-form-item label="缴费日期">
+            <el-date-picker size="mini" style="width: 220px" v-model="CreateOn" type="daterange" range-separator="至"
+                            start-placeholder="生成日期" end-placeholder="结束日期"></el-date-picker>
+          </el-form-item>
+          <el-form-item label="缴费类别">
+            <el-select size="mini" style="width:100px" v-model="searchForm.SupplierTypeName" placeholder="准入类别">
+              <el-option label="物资类" value="01"></el-option>
+              <el-option label="技术服务类" value="03"></el-option>
+              <el-option label="基建类" value="02"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item>
+            <el-dropdown split-button type="primary" size="mini" @click="handleSearch" @command="searchCommand">
+              查询
+              <el-dropdown-menu slot="dropdown">
+                <el-dropdown-item command="search">高级查询</el-dropdown-item>
+                <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="操作" min-width="180" align="center" fixed>
+          <template slot-scope="scope">
+            <router-link :to="'/oilsupplier/annuaudit/' + scope.row.Id + '/operation'">
+              <el-button type="primary" plain title="查看详情" size="mini">打开</el-button>
+            </router-link>
+            <!-- <el-popover placement="top" title="提示">
+              <el-alert
+                title=""
+                description="确认要删除吗?"
+                type="warning"
+                :closable="false">
+              </el-alert>
+              <br/>
+              <div style="text-align: right; margin: 0">
+                <el-button type="primary" size="mini" @click="deleteEntity(scope.row)">删除</el-button>
+              </div>
+              <el-button :disabled="scope.row.Status != 0" slot="reference" type="primary" plain title="删除" style="margin-left:3px" size="mini">删除</el-button>
+            </el-popover> -->
+            <el-dropdown @command="MoreCmdClick">
+              <el-button size="mini" type="primary" plain style="margin-left:5px;">
+                更多<i class="el-icon-arrow-down el-icon--right"></i>
+              </el-button>
+              <el-dropdown-menu slot="dropdown">
+                <!--<el-dropdown-item :command="GetCommand('JiaoHe', scope.row)" v-if="scope.row.CheckStatus == 1">数据校核</el-dropdown-item>
+                <el-dropdown-item :command="GetCommand('ShenHe', scope.row)" v-if="scope.row.CheckStatus == 2">数据审核</el-dropdown-item>-->
+                <el-dropdown-item :command="GetCommand('History', scope.row)">审批历史</el-dropdown-item>
+                <el-dropdown-item :command="GetCommand('Delete', scope.row)" :disabled="scope.row.Status != 0" divided>
+                  删除数据
+                </el-dropdown-item>
+              </el-dropdown-menu>
+            </el-dropdown>
+          </template>
+        </el-table-column>
+
+        <!--<el-table-column v-for="column in tableColumns" :key="column.Id" :prop="column.prop" sortable min-width="100"-->
+                         <!--:label="column.label" align="center" show-overflow-tooltip>-->
+        <!--</el-table-column>-->
+        <el-table-column sortable min-width="120" align="center" show-overflow-tooltip prop="SupplierName" label="企业名称"></el-table-column>
+        <el-table-column sortable min-width="120" align="center" show-overflow-tooltip prop="SupplierTypeCode" label="缴费类型"></el-table-column>
+        <el-table-column sortable min-width="120" align="center" show-overflow-tooltip prop="SupplierTypeCode" label="缴费金额">
+
+        </el-table-column>
+        <!--<el-table-column sortable min-width="110" align="center" prop="Status" label="审核状态">-->
+          <!--<template slot-scope="scope">-->
+            <!--<el-alert v-if="scope.row.Status=='2'" :closable="false" style="background:rgba(255,255,255,0.2)"-->
+                      <!--title="初审未通过" type="warning">-->
+            <!--</el-alert>-->
+            <!--<el-alert v-if="scope.row.Status=='4'" :closable="false" style="background:rgba(255,255,255,0.2)"-->
+                      <!--title="审核未通过" type="error">-->
+            <!--</el-alert>-->
+            <!--<el-alert v-if="scope.row.Status=='0'" :closable="false" style="background:rgba(255,255,255,0.2)"-->
+                      <!--title="已申请" type="info">-->
+            <!--</el-alert>-->
+            <!--<el-alert v-if="scope.row.Status=='1'" :closable="false" style="background:rgba(255,255,255,0.2)"-->
+                      <!--title="初审通过" type="success">-->
+            <!--</el-alert>-->
+            <!--<el-alert v-if="scope.row.Status=='5'" :closable="false" style="background:rgba(255,255,255,0.2)"-->
+                      <!--title="已交费" type="success">-->
+            <!--</el-alert>-->
+            <!--<el-alert v-if="scope.row.Status=='3'" :closable="false" style="background:rgba(255,255,255,0.2)"-->
+                      <!--title="专业审核通过" type="success">-->
+            <!--</el-alert>-->
+          <!--</template>-->
+        <!--</el-table-column>-->
+        <!--<el-table-column prop="ApplyTime" sortable min-width="100" label="年审日期" align="center" show-overflow-tooltip>-->
+          <!--<template slot-scope="scope">-->
+            <!--{{ jstimehandle(scope.row.ApplyTime+'') }}-->
+          <!--</template>-->
+        <!--</el-table-column>-->
+        <!--<el-table-column prop="CreateOn" sortable min-width="100" label="申请日期" align="center" show-overflow-tooltip>-->
+          <!--<template slot-scope="scope">-->
+            <!--{{ jstimehandle(scope.row.CreateOn+'') }}-->
+          <!--</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>
+
+    <el-dialog title="高级查询" :visible.sync="dialogVisible" width="720px">
+      <el-form ref="searchForm" label-width="110px">
+        <el-row>
+
+          <!-- <el-col :span="12">
+            <el-form-item label="生成时间">
+              <el-date-picker size="mini" v-model="CreateOn" type="daterange" style="width:100%" range-separator="至"
+                start-placeholder="生成日期" end-placeholder="结束日期"></el-date-picker>
+            </el-form-item>
+          </el-col> -->
+          <!--
+          <el-col :span="12">
+            <el-form-item label="">
+              <el-input size="mini" v-model="searchForm.Id" style="width:100%" placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col> -->
+
+          <el-col :span="12">
+            <el-form-item label="推荐单位编码">
+              <el-input size="mini" v-model="searchForm.RecUnitId" style="width:100%" placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="准入证号">
+              <el-input size="mini" v-model="searchForm.AccessCardNo" style="width:100%" placeholder="请输入">
+              </el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="准入类别">
+              <el-input size="mini" v-model="searchForm.SupplierTypeName" style="width:100%" placeholder="请输入">
+              </el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="企业名称">
+              <el-input size="mini" v-model="searchForm.SupplierName" style="width:100%" placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <!--
+          <el-col :span="12">
+            <el-form-item label="工程项目名称">
+              <el-input size="mini" v-model="searchForm.ProjectName" style="width:100%" placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="履约执行情况">
+              <el-input size="mini" v-model="searchForm.Performance" style="width:100%" placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="准入范围">
+              <el-input size="mini" v-model="searchForm.WorkRange" style="width:100%" placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="施工队伍名称">
+              <el-input size="mini" v-model="searchForm.ConstructTeam" style="width:100%" placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col> -->
+          <!--
+          <el-col :span="12">
+            <el-form-item label="审核状态">
+              <el-select size="mini" v-model="searchform.Status" style="width:100%" placeholder="请选择">
+                <el-option label="已申请" value="0"></el-option>
+                <el-option label="初审通过" value="1"></el-option>
+                <el-option label="初审未通过" value="2"></el-option>
+                <el-option label="专业审核通过" value="3"></el-option>
+                <el-option label="审核未通过" value="4"></el-option>
+                <el-option label="已交费" value="5"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col> -->
+
+          <!-- <el-col :span="12">
+            <el-form-item label="录入员">
+              <el-input size="mini" v-model="searchForm.EnterUserName" style="width:100%" placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col> -->
+
+          <!-- <el-col :span="12">
+            <el-form-item label="年审日期">
+              <el-input size="mini" v-model="searchForm.ApplyTime" style="width:100%" placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col> -->
+
+          <!-- <el-col :span="12">
+            <el-form-item label="审核日期">
+              <el-input size="mini" v-model="searchForm.AuditDate" style="width:100%" placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col> -->
+          <!--
+          <el-col :span="12">
+            <el-form-item label="退回原因">
+              <el-input size="mini" v-model="searchForm.BackReason" style="width:100%" placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col> -->
+        </el-row>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="mini" @click="dialogVisible = false">取 消</el-button>
+        <el-button size="mini" type="primary" @click="handleSearch">查 询</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+<script>
+  import {
+    mapGetters
+  } from 'vuex'
+  import api from '@/api/oilsupplier/paymentinfo'
+
+  export default {
+    computed: {
+      ...mapGetters({
+        authUser: 'authUser'
+      })
+    },
+    name: 'annualaudit',
+
+    data () {
+      return {
+        historyVisible: false,
+        addshow: false,
+        dialogVisible: false,
+        delevisble: false,
+        // 列表数据
+        selectsupplierlist: [],
+        entityList: [],
+        // 分页参数
+        size: 10,
+        currentPage: 1,
+        currentItemCount: 0,
+        // 列表排序
+        Column: {
+          Order: '',
+          Prop: ''
+        },
+        // 工作流
+        entrydetail: {
+          process: 'oil_audit_apply',
+          business: '',
+          instance: ''
+        },
+        // 查询时间
+        CreateOn: [new Date(new Date().getTime() - 30 * 24 * 60 * 60 * 1000), new Date()],
+        // 查询项
+        searchFormReset: {},
+        entityForm: {
+          Id: '',
+          SupplierName: '',
+          SupplierId: '',
+          SupplierTypeName: ''
+        },
+        searchForm: {
+          Id: '',
+          RecUnitId: '',
+          AccessCardNo: '',
+          SupplierTypeName: '',
+          SupplierName: '',
+          Num: '',
+          ProjectName: '',
+          Performance: '',
+          WorkRange: '',
+          Status: '',
+          BackReason: '',
+          CreateOn: '',
+          CreateUserId: '',
+          CreateBy: '',
+          ModifiedOn: '',
+          ModifiedUserId: '',
+          ModifiedBy: ''
+
+        }
+      }
+    },
+    created () {
+      // 查询条件初始值备份
+      Object.assign(this.searchFormReset, this.searchForm)
+      // 查询列表
+      this.initDatas()
+      // this.getDictOptions()
+    },
+    methods: {
+      initDatas () {
+        // 分页及列表条件
+        let params = {
+          _currentPage: this.currentPage,
+          _size: this.size,
+          Order: this.Column.Order,
+          Prop: this.Column.Prop
+        }
+        let myCreateOn = []
+        // 解析时间
+        if (this.CreateOn.length === 2) {
+          this.CreateOn[1].setHours(23)
+          this.CreateOn[1].setMinutes(59)
+          this.CreateOn[1].setSeconds(59)
+          myCreateOn.push(this.formatDateTime(this.CreateOn[0]))
+          myCreateOn.push(this.formatDateTime(this.CreateOn[1]))
+        }
+        // 查询条件
+        Object.assign(params, this.searchForm)
+        // 访问接口
+        api.getList(myCreateOn.join(','), params, this.$axios).then(res => {
+          this.entityList = res.data.items
+          this.currentItemCount = res.data.currentItemCount
+          console.log(this.entityList, 'this.entityList')
+        }).catch(err => {
+          console.error(err)
+        })
+      },
+
+      getDictOptions () {
+        api.getDictList(this.$axios).then(res => {
+          // this.dictOptions.customerList = res.data.items['customerList']
+          // this.dictOptions.projectList = res.data.items['projectList']
+
+        }).catch(err => {
+          console.error(err)
+        })
+      },
+
+      searchCommand (command) {
+        if (command === 'search') {
+          this.dialogVisible = true
+        } else if (command === 'clear') {
+          this.clearSearch()
+        }
+      },
+      // 列表排序功能
+      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()
+      },
+      clearSearch () {
+        Object.assign(this.searchForm, this.searchFormReset)
+        // this.searchForm = this.searchFormReset;
+        this.CreateOn = ''
+        this.initDatas()
+      },
+      handleSearch () {
+        this.currentPage = 1
+        this.dialogVisible = false
+        this.initDatas()
+      },
+      handleCurrentChange (value) {
+        this.currentPage = value
+        this.initDatas()
+      },
+      handleSizeChange (value) {
+        this.size = value
+        this.currentPage = 1
+        this.initDatas()
+      },
+      deleteEntity (row) {
+        api.deleteEntity(row.Id, this.$axios).then(res => {
+          if (res.data.code === 0) {
+            this.initDatas()
+            this.$message({
+              type: 'success',
+              message: res.data.message
+            })
+          } else {
+            this.$message({
+              type: 'warning',
+              message: res.data.message
+            })
+          }
+        }).catch(err => {
+          console.error(err)
+        })
+      },
+
+      getvalues (val) {
+        this.entrydetail.business = val.Id
+        this.entrydetail.instance = val.WorkflowId
+        this.historyVisible = true
+      },
+
+      MoreCmdClick (cmd) {
+        if (cmd.Command === 'History') {
+          this.getvalues(cmd.row)
+        } else if (cmd.Command === 'Delete') {
+          this.deleteEntity(cmd.row)
+        }
+      },
+
+      GetCommand (cmdType, row) {
+        let cmd = {}
+        cmd.Command = cmdType
+        cmd.row = row
+        return cmd
+      },
+
+      jstimehandle (val) {
+        if (val === '') {
+          return '----'
+        } else if (val === '0001-01-01T08:00:00+08:00') {
+          return '----'
+        } else if (val === '5000-01-01T23:59:59+08:00') {
+          return '永久'
+        } else {
+          val = val.replace('T', ' ')
+          return val.substring(0, 10)
+        }
+      },
+
+      formatDateTime (date) {
+        var y = date.getFullYear()
+        var m = date.getMonth() + 1
+        m = m < 10 ? ('0' + m) : m
+        var d = date.getDate()
+        d = d < 10 ? ('0' + d) : d
+        var h = date.getHours()
+        var minute = date.getMinutes()
+        minute = minute < 10 ? ('0' + minute) : minute
+        return y + '-' + m + '-' + d + ' ' + h + ':' + minute
+      }
+    }
+  }
+</script>
+
+<style lang="scss">
+
+</style>